aboutsummaryrefslogtreecommitdiff
blob: 8c3f0fada97abd179133134a769d316ef58239db (plain)
ofshex dumpascii
0000 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 70 68 70 0a 3c 3f 70 68 70 0a 2f 2a 0a 20 2a 20 54 #!/usr/bin/env.php.<?php./*..*.T
0020 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 43 6f 6d 70 6f 73 65 72 2e 0a 20 2a his.file.is.part.of.Composer...*
0040 0a 20 2a 20 28 63 29 20 4e 69 6c 73 20 41 64 65 72 6d 61 6e 6e 20 3c 6e 61 64 65 72 6d 61 6e 40 ..*.(c).Nils.Adermann.<naderman@
0060 6e 61 64 65 72 6d 61 6e 2e 64 65 3e 0a 20 2a 20 20 20 20 20 4a 6f 72 64 69 20 42 6f 67 67 69 61 naderman.de>..*.....Jordi.Boggia
0080 6e 6f 20 3c 6a 2e 62 6f 67 67 69 61 6e 6f 40 73 65 6c 64 2e 62 65 3e 0a 20 2a 0a 20 2a 20 46 6f no.<j.boggiano@seld.be>..*..*.Fo
00a0 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 61 6e 64 20 6c 69 63 65 6e 73 65 r.the.full.copyright.and.license
00c0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 76 69 65 77 0a 20 2a 20 74 68 65 .information,.please.view..*.the
00e0 20 6c 69 63 65 6e 73 65 20 74 68 61 74 20 69 73 20 6c 6f 63 61 74 65 64 20 61 74 20 74 68 65 20 .license.that.is.located.at.the.
0100 62 6f 74 74 6f 6d 20 6f 66 20 74 68 69 73 20 66 69 6c 65 2e 0a 20 2a 2f 0a 0a 2f 2f 20 41 76 6f bottom.of.this.file...*/..//.Avo
0120 69 64 20 41 50 43 20 63 61 75 73 69 6e 67 20 72 61 6e 64 6f 6d 20 66 61 74 61 6c 20 65 72 72 6f id.APC.causing.random.fatal.erro
0140 72 73 20 70 65 72 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 6f 6d 70 6f 73 rs.per.https://github.com/compos
0160 65 72 2f 63 6f 6d 70 6f 73 65 72 2f 69 73 73 75 65 73 2f 32 36 34 0a 69 66 20 28 65 78 74 65 6e er/composer/issues/264.if.(exten
0180 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 61 70 63 27 29 20 26 26 20 66 69 6c 74 65 72 5f 76 61 72 sion_loaded('apc').&&.filter_var
01a0 28 69 6e 69 5f 67 65 74 28 27 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 27 29 2c 20 46 49 4c 54 (ini_get('apc.enable_cli'),.FILT
01c0 45 52 5f 56 41 4c 49 44 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 20 26 26 20 66 69 6c 74 65 72 5f 76 ER_VALIDATE_BOOLEAN).&&.filter_v
01e0 61 72 28 69 6e 69 5f 67 65 74 28 27 61 70 63 2e 63 61 63 68 65 5f 62 79 5f 64 65 66 61 75 6c 74 ar(ini_get('apc.cache_by_default
0200 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 29 20 7b 0a '),.FILTER_VALIDATE_BOOLEAN)).{.
0220 20 20 20 20 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 70 68 70 76 65 72 73 69 ....if.(version_compare(phpversi
0240 6f 6e 28 27 61 70 63 27 29 2c 20 27 33 2e 30 2e 31 32 27 2c 20 27 3e 3d 27 29 29 20 7b 0a 20 20 on('apc'),.'3.0.12',.'>=')).{...
0260 20 20 20 20 20 20 69 6e 69 5f 73 65 74 28 27 61 70 63 2e 63 61 63 68 65 5f 62 79 5f 64 65 66 61 ......ini_set('apc.cache_by_defa
0280 75 6c 74 27 2c 20 30 29 3b 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 66 ult',.0);.....}.else.{.........f
02a0 77 72 69 74 65 28 53 54 44 45 52 52 2c 20 27 57 61 72 6e 69 6e 67 3a 20 41 50 43 20 3c 3d 20 33 write(STDERR,.'Warning:.APC.<=.3
02c0 2e 30 2e 31 32 20 6d 61 79 20 63 61 75 73 65 20 66 61 74 61 6c 20 65 72 72 6f 72 73 20 77 68 65 .0.12.may.cause.fatal.errors.whe
02e0 6e 20 72 75 6e 6e 69 6e 67 20 63 6f 6d 70 6f 73 65 72 20 63 6f 6d 6d 61 6e 64 73 2e 27 2e 50 48 n.running.composer.commands.'.PH
0300 50 5f 45 4f 4c 29 3b 0a 20 20 20 20 20 20 20 20 66 77 72 69 74 65 28 53 54 44 45 52 52 2c 20 27 P_EOL);.........fwrite(STDERR,.'
0320 55 70 64 61 74 65 20 41 50 43 2c 20 6f 72 20 73 65 74 20 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c Update.APC,.or.set.apc.enable_cl
0340 69 20 6f 72 20 61 70 63 2e 63 61 63 68 65 5f 62 79 5f 64 65 66 61 75 6c 74 20 74 6f 20 30 20 69 i.or.apc.cache_by_default.to.0.i
0360 6e 20 79 6f 75 72 20 70 68 70 2e 69 6e 69 2e 27 2e 50 48 50 5f 45 4f 4c 29 3b 0a 20 20 20 20 7d n.your.php.ini.'.PHP_EOL);.....}
0380 0a 7d 0a 0a 50 68 61 72 3a 3a 6d 61 70 50 68 61 72 28 27 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 .}..Phar::mapPhar('composer.phar
03a0 27 29 3b 0a 72 65 71 75 69 72 65 20 27 70 68 61 72 3a 2f 2f 63 6f 6d 70 6f 73 65 72 2e 70 68 61 ');.require.'phar://composer.pha
03c0 72 2f 62 69 6e 2f 63 6f 6d 70 6f 73 65 72 27 3b 0a 0a 5f 5f 48 41 4c 54 5f 43 4f 4d 50 49 4c 45 r/bin/composer';..__HALT_COMPILE
03e0 52 28 29 3b 20 3f 3e 0d 0a a8 95 00 00 f8 01 00 00 11 00 00 00 01 00 0d 00 00 00 63 6f 6d 70 6f R();.?>....................compo
0400 73 65 72 2e 70 68 61 72 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 41 75 74 ser.phar....+...src/Composer/Aut
0420 6f 6c 6f 61 64 2f 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 2e 70 68 70 fc 63 00 00 41 oload/AutoloadGenerator.php.c..A
0440 5b bc 5d fc 63 00 00 ca c7 76 60 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f [.].c....v`........+...src/Compo
0460 73 65 72 2f 41 75 74 6f 6c 6f 61 64 2f 43 6c 61 73 73 4d 61 70 47 65 6e 65 72 61 74 6f 72 2e 70 ser/Autoload/ClassMapGenerator.p
0480 68 70 a8 12 00 00 41 5b bc 5d a8 12 00 00 09 99 66 11 b6 01 00 00 00 00 00 00 16 00 00 00 73 72 hp....A[.]......f.............sr
04a0 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 61 63 68 65 2e 70 68 70 e7 13 00 00 41 5b bc 5d e7 13 00 00 c/Composer/Cache.php....A[.]....
04c0 b3 9b ee 1d b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d ............%...src/Composer/Com
04e0 6d 61 6e 64 2f 41 62 6f 75 74 43 6f 6d 6d 61 6e 64 2e 70 68 70 d8 02 00 00 41 5b bc 5d d8 02 00 mand/AboutCommand.php....A[.]...
0500 00 f6 f7 3b 87 b6 01 00 00 00 00 00 00 27 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f ...;.........'...src/Composer/Co
0520 6d 6d 61 6e 64 2f 41 72 63 68 69 76 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 9e 14 00 00 41 5b bc 5d mmand/ArchiveCommand.php....A[.]
0540 9e 14 00 00 19 6c 47 0f b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 .....lG.........$...src/Composer
0560 2f 43 6f 6d 6d 61 6e 64 2f 42 61 73 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 dc 0b 00 00 41 5b bc 5d /Command/BaseCommand.php....A[.]
0580 dc 0b 00 00 67 f4 1a 31 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 ....g..1............src/Composer
05a0 2f 43 6f 6d 6d 61 6e 64 2f 42 61 73 65 44 65 70 65 6e 64 65 6e 63 79 43 6f 6d 6d 61 6e 64 2e 70 /Command/BaseDependencyCommand.p
05c0 68 70 f1 18 00 00 41 5b bc 5d f1 18 00 00 58 67 46 f0 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 hp....A[.]....XgF.........1...sr
05e0 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 43 68 65 63 6b 50 6c 61 74 66 6f 72 6d c/Composer/Command/CheckPlatform
0600 52 65 71 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 09 0f 00 00 41 5b bc 5d 09 0f 00 00 2a de af 54 b6 ReqsCommand.php....A[.]....*..T.
0620 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f .......*...src/Composer/Command/
0640 43 6c 65 61 72 43 61 63 68 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 b5 05 00 00 41 5b bc 5d b5 05 00 ClearCacheCommand.php....A[.]...
0660 00 76 ff 79 83 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f .v.y.........&...src/Composer/Co
0680 6d 6d 61 6e 64 2f 43 6f 6e 66 69 67 43 6f 6d 6d 61 6e 64 2e 70 68 70 15 4d 00 00 41 5b bc 5d 15 mmand/ConfigCommand.php.M..A[.].
06a0 4d 00 00 db 3d 04 79 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f M...=.y........-...src/Composer/
06c0 43 6f 6d 6d 61 6e 64 2f 43 72 65 61 74 65 50 72 6f 6a 65 63 74 43 6f 6d 6d 61 6e 64 2e 70 68 70 Command/CreateProjectCommand.php
06e0 df 35 00 00 41 5b bc 5d df 35 00 00 fc 90 5f f7 b6 01 00 00 00 00 00 00 27 00 00 00 73 72 63 2f .5..A[.].5...._.........'...src/
0700 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 44 65 70 65 6e 64 73 43 6f 6d 6d 61 6e 64 2e Composer/Command/DependsCommand.
0720 70 68 70 f8 02 00 00 41 5b bc 5d f8 02 00 00 aa 65 11 e1 b6 01 00 00 00 00 00 00 28 00 00 00 73 php....A[.].....e..........(...s
0740 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 44 69 61 67 6e 6f 73 65 43 6f 6d 6d rc/Composer/Command/DiagnoseComm
0760 61 6e 64 2e 70 68 70 e5 4d 00 00 41 5b bc 5d e5 4d 00 00 13 68 c7 d4 b6 01 00 00 00 00 00 00 2c and.php.M..A[.].M...h..........,
0780 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 44 75 6d 70 41 75 74 6f ...src/Composer/Command/DumpAuto
07a0 6c 6f 61 64 43 6f 6d 6d 61 6e 64 2e 70 68 70 4c 0c 00 00 41 5b bc 5d 4c 0c 00 00 b0 45 b2 f9 b6 loadCommand.phpL...A[.]L....E...
07c0 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f .......$...src/Composer/Command/
07e0 45 78 65 63 43 6f 6d 6d 61 6e 64 2e 70 68 70 ef 07 00 00 41 5b bc 5d ef 07 00 00 58 72 9c be b6 ExecCommand.php....A[.]....Xr...
0800 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f .......&...src/Composer/Command/
0820 47 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 2e 70 68 70 7a 09 00 00 41 5b bc 5d 7a 09 00 00 b3 e7 e5 GlobalCommand.phpz...A[.]z......
0840 3f b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e ?........$...src/Composer/Comman
0860 64 2f 48 6f 6d 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 04 0f 00 00 41 5b bc 5d 04 0f 00 00 71 4c 42 d/HomeCommand.php....A[.]....qLB
0880 8e b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e .........$...src/Composer/Comman
08a0 64 2f 49 6e 69 74 43 6f 6d 6d 61 6e 64 2e 70 68 70 af 51 00 00 41 5b bc 5d af 51 00 00 9c c1 09 d/InitCommand.php.Q..A[.].Q.....
08c0 b4 b6 01 00 00 00 00 00 00 27 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e .........'...src/Composer/Comman
08e0 64 2f 49 6e 73 74 61 6c 6c 43 6f 6d 6d 61 6e 64 2e 70 68 70 54 14 00 00 41 5b bc 5d 54 14 00 00 d/InstallCommand.phpT...A[.]T...
0900 de f9 f5 9b b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d ............(...src/Composer/Com
0920 6d 61 6e 64 2f 4c 69 63 65 6e 73 65 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 82 0e 00 00 41 5b bc 5d mand/LicensesCommand.php....A[.]
0940 82 0e 00 00 b1 73 27 0e b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 .....s'.........(...src/Composer
0960 2f 43 6f 6d 6d 61 6e 64 2f 4f 75 74 64 61 74 65 64 43 6f 6d 6d 61 6e 64 2e 70 68 70 0f 0c 00 00 /Command/OutdatedCommand.php....
0980 41 5b bc 5d 0f 0c 00 00 d8 a7 14 63 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 A[.].......c........)...src/Comp
09a0 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 50 72 6f 68 69 62 69 74 73 43 6f 6d 6d 61 6e 64 2e 70 68 oser/Command/ProhibitsCommand.ph
09c0 70 12 03 00 00 41 5b bc 5d 12 03 00 00 5f a4 e9 53 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 p....A[.]...._..S........&...src
09e0 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 52 65 6d 6f 76 65 43 6f 6d 6d 61 6e 64 2e /Composer/Command/RemoveCommand.
0a00 70 68 70 e1 18 00 00 41 5b bc 5d e1 18 00 00 bd ed 9d 29 b6 01 00 00 00 00 00 00 27 00 00 00 73 php....A[.].......)........'...s
0a20 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 52 65 71 75 69 72 65 43 6f 6d 6d 61 rc/Composer/Command/RequireComma
0a40 6e 64 2e 70 68 70 22 27 00 00 41 5b bc 5d 22 27 00 00 fc a4 d8 b2 b6 01 00 00 00 00 00 00 29 00 nd.php"'..A[.]"'..............).
0a60 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 52 75 6e 53 63 72 69 70 74 ..src/Composer/Command/RunScript
0a80 43 6f 6d 6d 61 6e 64 2e 70 68 70 3d 0f 00 00 41 5b bc 5d 3d 0f 00 00 72 ba 6d dc b6 01 00 00 00 Command.php=...A[.]=...r.m......
0aa0 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 53 63 72 69 ...+...src/Composer/Command/Scri
0ac0 70 74 41 6c 69 61 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 af 05 00 00 41 5b bc 5d af 05 00 00 3f 3d ptAliasCommand.php....A[.]....?=
0ae0 10 d1 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 ..........&...src/Composer/Comma
0b00 6e 64 2f 53 65 61 72 63 68 43 6f 6d 6d 61 6e 64 2e 70 68 70 55 09 00 00 41 5b bc 5d 55 09 00 00 nd/SearchCommand.phpU...A[.]U...
0b20 85 df 0f 0f b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d ............*...src/Composer/Com
0b40 6d 61 6e 64 2f 53 65 6c 66 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 2e 70 68 70 3b 33 00 00 41 5b mand/SelfUpdateCommand.php;3..A[
0b60 bc 5d 3b 33 00 00 6b f0 98 6d b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .];3..k..m........$...src/Compos
0b80 65 72 2f 43 6f 6d 6d 61 6e 64 2f 53 68 6f 77 43 6f 6d 6d 61 6e 64 2e 70 68 70 68 71 00 00 41 5b er/Command/ShowCommand.phphq..A[
0ba0 bc 5d 68 71 00 00 2b 61 5f 11 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .]hq..+a_.........&...src/Compos
0bc0 65 72 2f 43 6f 6d 6d 61 6e 64 2f 53 74 61 74 75 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 96 15 00 00 er/Command/StatusCommand.php....
0be0 41 5b bc 5d 96 15 00 00 f9 1c 6a d8 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 A[.]......j.........(...src/Comp
0c00 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 53 75 67 67 65 73 74 73 43 6f 6d 6d 61 6e 64 2e 70 68 70 oser/Command/SuggestsCommand.php
0c20 f2 0d 00 00 41 5b bc 5d f2 0d 00 00 ed 41 00 c7 b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f ....A[.].....A..........&...src/
0c40 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 2e 70 Composer/Command/UpdateCommand.p
0c60 68 70 f1 23 00 00 41 5b bc 5d f1 23 00 00 70 5c 46 19 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 hp.#..A[.].#..p\F.........(...sr
0c80 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 6d 61 6e 64 2f 56 61 6c 69 64 61 74 65 43 6f 6d 6d 61 c/Composer/Command/ValidateComma
0ca0 6e 64 2e 70 68 70 80 14 00 00 41 5b bc 5d 80 14 00 00 cd c3 90 ee b6 01 00 00 00 00 00 00 19 00 nd.php....A[.]..................
0cc0 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6d 70 6f 73 65 72 2e 70 68 70 4e 0b 00 00 41 ..src/Composer/Composer.phpN...A
0ce0 5b bc 5d 4e 0b 00 00 21 c7 03 e7 b6 01 00 00 00 00 00 00 17 00 00 00 73 72 63 2f 43 6f 6d 70 6f [.]N...!...............src/Compo
0d00 73 65 72 2f 43 6f 6e 66 69 67 2e 70 68 70 68 24 00 00 41 5b bc 5d 68 24 00 00 bb 89 1d c1 b6 01 ser/Config.phph$..A[.]h$........
0d20 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 43 6f 6e 66 69 67 2f 43 6f ......-...src/Composer/Config/Co
0d40 6e 66 69 67 53 6f 75 72 63 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 0e 02 00 00 41 5b bc 5d 0e nfigSourceInterface.php....A[.].
0d60 02 00 00 b3 0c 5b 2f b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f .....[/........(...src/Composer/
0d80 43 6f 6e 66 69 67 2f 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 2e 70 68 70 b2 13 00 00 41 Config/JsonConfigSource.php....A
0da0 5b bc 5d b2 13 00 00 51 69 c3 62 b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f [.]....Qi.b........$...src/Compo
0dc0 73 65 72 2f 43 6f 6e 73 6f 6c 65 2f 41 70 70 6c 69 63 61 74 69 6f 6e 2e 70 68 70 fd 36 00 00 41 ser/Console/Application.php.6..A
0de0 5b bc 5d fd 36 00 00 f2 7c 2d 0f b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f [.].6...|-.........,...src/Compo
0e00 73 65 72 2f 43 6f 6e 73 6f 6c 65 2f 48 74 6d 6c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 2e ser/Console/HtmlOutputFormatter.
0e20 70 68 70 33 06 00 00 41 5b bc 5d 33 06 00 00 da 81 45 75 b6 01 00 00 00 00 00 00 2d 00 00 00 73 php3...A[.]3.....Eu........-...s
0e40 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 44 rc/Composer/DependencyResolver/D
0e60 65 63 69 73 69 6f 6e 73 2e 70 68 70 27 10 00 00 41 5b bc 5d 27 10 00 00 b9 d4 8e bc b6 01 00 00 ecisions.php'...A[.]'...........
0e80 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 ....1...src/Composer/DependencyR
0ea0 65 73 6f 6c 76 65 72 2f 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 2e 70 68 70 02 17 00 00 41 5b bc esolver/DefaultPolicy.php....A[.
0ec0 5d 02 17 00 00 f5 dd 76 7f b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 ]......v........./...src/Compose
0ee0 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 47 65 6e 65 72 69 63 52 75 6c 65 r/DependencyResolver/GenericRule
0f00 2e 70 68 70 b5 03 00 00 41 5b bc 5d b5 03 00 00 19 e1 ab a4 b6 01 00 00 00 00 00 00 3e 00 00 00 .php....A[.]................>...
0f20 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f src/Composer/DependencyResolver/
0f40 4f 70 65 72 61 74 69 6f 6e 2f 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 43 02 Operation/InstallOperation.phpC.
0f60 00 00 41 5b bc 5d 43 02 00 00 b4 5c f5 2a b6 01 00 00 00 00 00 00 49 00 00 00 73 72 63 2f 43 6f ..A[.]C....\.*........I...src/Co
0f80 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 61 74 mposer/DependencyResolver/Operat
0fa0 69 6f 6e 2f 4d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 2e ion/MarkAliasInstalledOperation.
0fc0 70 68 70 f7 02 00 00 41 5b bc 5d f7 02 00 00 ef ce e0 f7 b6 01 00 00 00 00 00 00 4b 00 00 00 73 php....A[.]................K...s
0fe0 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f rc/Composer/DependencyResolver/O
1000 70 65 72 61 74 69 6f 6e 2f 4d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 peration/MarkAliasUninstalledOpe
1020 72 61 74 69 6f 6e 2e 70 68 70 fd 02 00 00 41 5b bc 5d fd 02 00 00 19 33 23 86 b6 01 00 00 00 00 ration.php....A[.].....3#.......
1040 00 00 40 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 ..@...src/Composer/DependencyRes
1060 6f 6c 76 65 72 2f 4f 70 65 72 61 74 69 6f 6e 2f 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 olver/Operation/OperationInterfa
1080 63 65 2e 70 68 70 d3 00 00 00 41 5b bc 5d d3 00 00 00 d9 e2 26 e4 b6 01 00 00 00 00 00 00 3d 00 ce.php....A[.]......&.........=.
10a0 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 ..src/Composer/DependencyResolve
10c0 72 2f 4f 70 65 72 61 74 69 6f 6e 2f 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 b9 r/Operation/SolverOperation.php.
10e0 01 00 00 41 5b bc 5d b9 01 00 00 26 a2 65 0a b6 01 00 00 00 00 00 00 40 00 00 00 73 72 63 2f 43 ...A[.]....&.e.........@...src/C
1100 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 61 omposer/DependencyResolver/Opera
1120 74 69 6f 6e 2f 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 49 02 00 00 41 tion/UninstallOperation.phpI...A
1140 5b bc 5d 49 02 00 00 46 fb c2 c9 b6 01 00 00 00 00 00 00 3d 00 00 00 73 72 63 2f 43 6f 6d 70 6f [.]I...F...........=...src/Compo
1160 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 4f 70 65 72 61 74 69 6f 6e ser/DependencyResolver/Operation
1180 2f 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 2e 70 68 70 68 03 00 00 41 5b bc 5d 68 03 00 00 /UpdateOperation.phph...A[.]h...
11a0 f6 53 d5 5d b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 .S.]........3...src/Composer/Dep
11c0 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 2e endencyResolver/PolicyInterface.
11e0 70 68 70 ad 01 00 00 41 5b bc 5d ad 01 00 00 18 9f 8b 52 b6 01 00 00 00 00 00 00 28 00 00 00 73 php....A[.].......R........(...s
1200 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 50 rc/Composer/DependencyResolver/P
1220 6f 6f 6c 2e 70 68 70 af 22 00 00 41 5b bc 5d af 22 00 00 6d bd 0d 09 b6 01 00 00 00 00 00 00 2b ool.php."..A[.]."..m...........+
1240 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 ...src/Composer/DependencyResolv
1260 65 72 2f 50 72 6f 62 6c 65 6d 2e 70 68 70 fa 17 00 00 41 5b bc 5d fa 17 00 00 16 5d 44 35 b6 01 er/Problem.php....A[.].....]D5..
1280 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 ......+...src/Composer/Dependenc
12a0 79 52 65 73 6f 6c 76 65 72 2f 52 65 71 75 65 73 74 2e 70 68 70 83 04 00 00 41 5b bc 5d 83 04 00 yResolver/Request.php....A[.]...
12c0 00 e5 56 50 84 b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 ..VP.........(...src/Composer/De
12e0 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 2e 70 68 70 3f 19 00 00 41 5b bc pendencyResolver/Rule.php?...A[.
1300 5d 3f 19 00 00 ac 91 9c fc b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 ]?...............1...src/Compose
1320 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 32 4c 69 74 65 72 61 r/DependencyResolver/Rule2Litera
1340 6c 73 2e 70 68 70 18 05 00 00 41 5b bc 5d 18 05 00 00 74 5a c5 c9 b6 01 00 00 00 00 00 00 2b 00 ls.php....A[.]....tZ..........+.
1360 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 ..src/Composer/DependencyResolve
1380 72 2f 52 75 6c 65 53 65 74 2e 70 68 70 aa 0a 00 00 41 5b bc 5d aa 0a 00 00 5f ce 82 1b b6 01 00 r/RuleSet.php....A[.]...._......
13a0 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 .....4...src/Composer/Dependency
13c0 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 2e 70 68 70 ca 1e 00 Resolver/RuleSetGenerator.php...
13e0 00 41 5b bc 5d ca 1e 00 00 44 a6 f5 5a b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d .A[.]....D..Z........3...src/Com
1400 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 53 65 74 poser/DependencyResolver/RuleSet
1420 49 74 65 72 61 74 6f 72 2e 70 68 70 11 06 00 00 41 5b bc 5d 11 06 00 00 9b 43 fc 24 b6 01 00 00 Iterator.php....A[.].....C.$....
1440 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 ....2...src/Composer/DependencyR
1460 65 73 6f 6c 76 65 72 2f 52 75 6c 65 57 61 74 63 68 43 68 61 69 6e 2e 70 68 70 69 01 00 00 41 5b esolver/RuleWatchChain.phpi...A[
1480 bc 5d 69 01 00 00 68 ef 9a 2c b6 01 00 00 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .]i...h..,........2...src/Compos
14a0 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 52 75 6c 65 57 61 74 63 68 47 er/DependencyResolver/RuleWatchG
14c0 72 61 70 68 2e 70 68 70 e1 06 00 00 41 5b bc 5d e1 06 00 00 89 72 f4 76 b6 01 00 00 00 00 00 00 raph.php....A[.].....r.v........
14e0 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 1...src/Composer/DependencyResol
1500 76 65 72 2f 52 75 6c 65 57 61 74 63 68 4e 6f 64 65 2e 70 68 70 05 04 00 00 41 5b bc 5d 05 04 00 ver/RuleWatchNode.php....A[.]...
1520 00 8f 47 64 37 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 ..Gd7........*...src/Composer/De
1540 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 53 6f 6c 76 65 72 2e 70 68 70 9d 3a 00 00 41 pendencyResolver/Solver.php.:..A
1560 5b bc 5d 9d 3a 00 00 e6 af c9 70 b6 01 00 00 00 00 00 00 36 00 00 00 73 72 63 2f 43 6f 6d 70 6f [.].:.....p........6...src/Compo
1580 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f 53 6f 6c 76 65 72 42 75 67 ser/DependencyResolver/SolverBug
15a0 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 99 01 00 00 41 5b bc 5d 99 01 00 00 58 12 67 36 b6 01 00 Exception.php....A[.]....X.g6...
15c0 00 00 00 00 00 3b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 .....;...src/Composer/Dependency
15e0 52 65 73 6f 6c 76 65 72 2f 53 6f 6c 76 65 72 50 72 6f 62 6c 65 6d 73 45 78 63 65 70 74 69 6f 6e Resolver/SolverProblemsException
1600 2e 70 68 70 f4 07 00 00 41 5b bc 5d f4 07 00 00 d7 7c c5 a6 b6 01 00 00 00 00 00 00 2f 00 00 00 .php....A[.].....|........../...
1620 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 2f src/Composer/DependencyResolver/
1640 54 72 61 6e 73 61 63 74 69 6f 6e 2e 70 68 70 d7 13 00 00 41 5b bc 5d d7 13 00 00 56 6d ec 9f b6 Transaction.php....A[.]....Vm...
1660 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 .......-...src/Composer/Download
1680 65 72 2f 41 72 63 68 69 76 65 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 c6 09 00 00 41 5b bc 5d er/ArchiveDownloader.php....A[.]
16a0 c6 09 00 00 47 20 73 30 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 ....G.s0........1...src/Composer
16c0 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 72 66 61 63 /Downloader/ChangeReportInterfac
16e0 65 2e 70 68 70 cc 00 00 00 41 5b bc 5d cc 00 00 00 af e0 a8 bf b6 01 00 00 00 00 00 00 2b 00 00 e.php....A[.]................+..
1700 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 44 6f 77 6e 6c 6f 61 .src/Composer/Downloader/Downloa
1720 64 4d 61 6e 61 67 65 72 2e 70 68 70 60 15 00 00 41 5b bc 5d 60 15 00 00 23 cf 58 14 b6 01 00 00 dManager.php`...A[.]`...#.X.....
1740 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f ..../...src/Composer/Downloader/
1760 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 ca 01 00 00 41 5b bc 5d ca DownloaderInterface.php....A[.].
1780 01 00 00 67 73 21 6c b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ...gs!l........3...src/Composer/
17a0 44 6f 77 6e 6c 6f 61 64 65 72 2f 44 76 63 73 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 Downloader/DvcsDownloaderInterfa
17c0 63 65 2e 70 68 70 d1 00 00 00 41 5b bc 5d d1 00 00 00 26 c1 9c bf b6 01 00 00 00 00 00 00 2a 00 ce.php....A[.]....&...........*.
17e0 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 46 69 6c 65 44 6f ..src/Composer/Downloader/FileDo
1800 77 6e 6c 6f 61 64 65 72 2e 70 68 70 47 1c 00 00 41 5b bc 5d 47 1c 00 00 e4 11 4f d0 b6 01 00 00 wnloader.phpG...A[.]G.....O.....
1820 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f ..../...src/Composer/Downloader/
1840 46 69 6c 65 73 79 73 74 65 6d 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 0a 01 00 00 41 5b bc 5d 0a FilesystemException.php....A[.].
1860 01 00 00 2e 2d 1e 8b b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ....-..........,...src/Composer/
1880 44 6f 77 6e 6c 6f 61 64 65 72 2f 46 6f 73 73 69 6c 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 82 Downloader/FossilDownloader.php.
18a0 0b 00 00 41 5b bc 5d 82 0b 00 00 dc 81 49 69 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 ...A[.]......Ii........)...src/C
18c0 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 47 69 74 44 6f 77 6e 6c 6f 61 64 65 72 omposer/Downloader/GitDownloader
18e0 2e 70 68 70 b3 36 00 00 41 5b bc 5d b3 36 00 00 a6 dc 28 39 b6 01 00 00 00 00 00 00 2a 00 00 00 .php.6..A[.].6....(9........*...
1900 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 47 7a 69 70 44 6f 77 6e src/Composer/Downloader/GzipDown
1920 6c 6f 61 64 65 72 2e 70 68 70 f3 06 00 00 41 5b bc 5d f3 06 00 00 7d da 6f c2 b6 01 00 00 00 00 loader.php....A[.]....}.o.......
1940 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 48 67 ..(...src/Composer/Downloader/Hg
1960 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 94 08 00 00 41 5b bc 5d 94 08 00 00 df 69 73 cc b6 01 Downloader.php....A[.].....is...
1980 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 ......*...src/Composer/Downloade
19a0 72 2f 50 61 74 68 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 e9 14 00 00 41 5b bc 5d e9 14 00 00 r/PathDownloader.php....A[.]....
19c0 24 b2 46 51 b6 01 00 00 00 00 00 00 30 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 $.FQ........0...src/Composer/Dow
19e0 6e 6c 6f 61 64 65 72 2f 50 65 61 72 50 61 63 6b 61 67 65 45 78 74 72 61 63 74 6f 72 2e 70 68 70 nloader/PearPackageExtractor.php
1a00 75 1b 00 00 41 5b bc 5d 75 1b 00 00 7a 84 15 87 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f u...A[.]u...z...............src/
1a20 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 50 65 72 66 6f 72 63 65 44 6f 77 6e Composer/Downloader/PerforceDown
1a40 6c 6f 61 64 65 72 2e 70 68 70 9e 07 00 00 41 5b bc 5d 9e 07 00 00 d6 fc f1 39 b6 01 00 00 00 00 loader.php....A[.].......9......
1a60 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 50 68 ..*...src/Composer/Downloader/Ph
1a80 61 72 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 e5 00 00 00 41 5b bc 5d e5 00 00 00 de c9 1f e7 arDownloader.php....A[.]........
1aa0 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 ........)...src/Composer/Downloa
1ac0 64 65 72 2f 52 61 72 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 9e 07 00 00 41 5b bc 5d 9e 07 00 der/RarDownloader.php....A[.]...
1ae0 00 36 09 33 55 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f .6.3U........)...src/Composer/Do
1b00 77 6e 6c 6f 61 64 65 72 2f 53 76 6e 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 47 14 00 00 41 5b wnloader/SvnDownloader.phpG...A[
1b20 bc 5d 47 14 00 00 4d 23 6a 1d b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .]G...M#j.........)...src/Compos
1b40 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 54 61 72 44 6f 77 6e 6c 6f 61 64 65 72 2e 70 68 70 e3 er/Downloader/TarDownloader.php.
1b60 00 00 00 41 5b bc 5d e3 00 00 00 cd 92 58 3f b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 ...A[.]......X?............src/C
1b80 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 54 72 61 6e 73 70 6f 72 74 45 78 63 65 omposer/Downloader/TransportExce
1ba0 70 74 69 6f 6e 2e 70 68 70 3d 02 00 00 41 5b bc 5d 3d 02 00 00 5a ce c8 de b6 01 00 00 00 00 00 ption.php=...A[.]=...Z..........
1bc0 00 39 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 56 63 73 .9...src/Composer/Downloader/Vcs
1be0 43 61 70 61 62 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 d4 00 CapableDownloaderInterface.php..
1c00 00 00 41 5b bc 5d d4 00 00 00 60 a7 f4 f6 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f ..A[.]....`...........)...src/Co
1c20 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 2e mposer/Downloader/VcsDownloader.
1c40 70 68 70 a1 16 00 00 41 5b bc 5d a1 16 00 00 28 09 e0 3e b6 01 00 00 00 00 00 00 28 00 00 00 73 php....A[.]....(..>........(...s
1c60 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 58 7a 44 6f 77 6e 6c 6f 61 rc/Composer/Downloader/XzDownloa
1c80 64 65 72 2e 70 68 70 a7 04 00 00 41 5b bc 5d a7 04 00 00 57 24 3b e1 b6 01 00 00 00 00 00 00 29 der.php....A[.]....W$;.........)
1ca0 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 44 6f 77 6e 6c 6f 61 64 65 72 2f 5a 69 70 44 6f ...src/Composer/Downloader/ZipDo
1cc0 77 6e 6c 6f 61 64 65 72 2e 70 68 70 6b 15 00 00 41 5b bc 5d 6b 15 00 00 d2 6f 94 ce b6 01 00 00 wnloader.phpk...A[.]k....o......
1ce0 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 45 76 65 6e 74 44 69 73 70 61 74 ....&...src/Composer/EventDispat
1d00 63 68 65 72 2f 45 76 65 6e 74 2e 70 68 70 a0 02 00 00 41 5b bc 5d a0 02 00 00 b1 99 6a ef b6 01 cher/Event.php....A[.]......j...
1d20 00 00 00 00 00 00 30 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 45 76 65 6e 74 44 69 73 70 ......0...src/Composer/EventDisp
1d40 61 74 63 68 65 72 2f 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2e 70 68 70 24 34 00 00 41 5b atcher/EventDispatcher.php$4..A[
1d60 bc 5d 24 34 00 00 01 78 8b 40 b6 01 00 00 00 00 00 00 39 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .]$4...x.@........9...src/Compos
1d80 65 72 2f 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2f 45 76 65 6e 74 53 75 62 73 63 72 69 62 er/EventDispatcher/EventSubscrib
1da0 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 a9 00 00 00 41 5b bc 5d a9 00 00 00 68 b7 01 30 b6 erInterface.php....A[.]....h..0.
1dc0 01 00 00 00 00 00 00 39 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 45 76 65 6e 74 44 69 73 .......9...src/Composer/EventDis
1de0 70 61 74 63 68 65 72 2f 53 63 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e patcher/ScriptExecutionException
1e00 2e 70 68 70 76 00 00 00 41 5b bc 5d 76 00 00 00 77 5a 38 53 b6 01 00 00 00 00 00 00 29 00 00 00 .phpv...A[.]v...wZ8S........)...
1e20 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 4e 6f 53 73 6c 45 78 63 65 src/Composer/Exception/NoSslExce
1e40 70 74 69 6f 6e 2e 70 68 70 66 00 00 00 41 5b bc 5d 66 00 00 00 cb ed 4d 9d b6 01 00 00 00 00 00 ption.phpf...A[.]f.....M........
1e60 00 18 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 46 61 63 74 6f 72 79 2e 70 68 70 5f 3d 00 .....src/Composer/Factory.php_=.
1e80 00 41 5b bc 5d 5f 3d 00 00 78 22 10 c5 b6 01 00 00 00 00 00 00 1a 00 00 00 73 72 63 2f 43 6f 6d .A[.]_=..x"..............src/Com
1ea0 70 6f 73 65 72 2f 49 4f 2f 42 61 73 65 49 4f 2e 70 68 70 dd 10 00 00 41 5b bc 5d dd 10 00 00 7f poser/IO/BaseIO.php....A[.].....
1ec0 a2 e2 ba b6 01 00 00 00 00 00 00 1c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 4f 2f 42 ...............src/Composer/IO/B
1ee0 75 66 66 65 72 49 4f 2e 70 68 70 be 06 00 00 41 5b bc 5d be 06 00 00 58 7e 64 1e b6 01 00 00 00 ufferIO.php....A[.]....X~d......
1f00 00 00 00 1d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 4f 2f 43 6f 6e 73 6f 6c 65 49 4f .......src/Composer/IO/ConsoleIO
1f20 2e 70 68 70 37 17 00 00 41 5b bc 5d 37 17 00 00 a5 10 3c c8 b6 01 00 00 00 00 00 00 1f 00 00 00 .php7...A[.]7.....<.............
1f40 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 4f 2f 49 4f 49 6e 74 65 72 66 61 63 65 2e 70 68 70 ec src/Composer/IO/IOInterface.php.
1f60 05 00 00 41 5b bc 5d ec 05 00 00 00 d5 9d 0e b6 01 00 00 00 00 00 00 1a 00 00 00 73 72 63 2f 43 ...A[.]....................src/C
1f80 6f 6d 70 6f 73 65 72 2f 49 4f 2f 4e 75 6c 6c 49 4f 2e 70 68 70 c0 04 00 00 41 5b bc 5d c0 04 00 omposer/IO/NullIO.php....A[.]...
1fa0 00 46 60 73 ca b6 01 00 00 00 00 00 00 1a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e .F`s.............src/Composer/In
1fc0 73 74 61 6c 6c 65 72 2e 70 68 70 da 9e 00 00 41 5b bc 5d da 9e 00 00 be 67 ab 89 b6 01 00 00 00 staller.php....A[.].....g.......
1fe0 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 42 69 ...*...src/Composer/Installer/Bi
2000 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 0a 12 00 00 41 5b bc 5d 0a 12 00 00 74 a4 7b naryInstaller.php....A[.]....t.{
2020 f8 b6 01 00 00 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c .........2...src/Composer/Instal
2040 6c 65 72 2f 42 69 6e 61 72 79 50 72 65 73 65 6e 63 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 cb ler/BinaryPresenceInterface.php.
2060 00 00 00 41 5b bc 5d cb 00 00 00 c0 35 9a a8 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 ...A[.].....5..............src/C
2080 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 omposer/Installer/InstallationMa
20a0 6e 61 67 65 72 2e 70 68 70 2d 17 00 00 41 5b bc 5d 2d 17 00 00 be 7d 8c 37 b6 01 00 00 00 00 00 nager.php-...A[.]-....}.7.......
20c0 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 49 6e 73 74 .)...src/Composer/Installer/Inst
20e0 61 6c 6c 65 72 45 76 65 6e 74 2e 70 68 70 0e 06 00 00 41 5b bc 5d 0e 06 00 00 6c d4 7a 69 b6 01 allerEvent.php....A[.]....l.zi..
2100 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 ......*...src/Composer/Installer
2120 2f 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 73 2e 70 68 70 de 00 00 00 41 5b bc 5d de 00 00 00 /InstallerEvents.php....A[.]....
2140 ec 9f 40 47 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 ..@G........-...src/Composer/Ins
2160 74 61 6c 6c 65 72 2f 49 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 e3 02 00 taller/InstallerInterface.php...
2180 00 41 5b bc 5d e3 02 00 00 5e 83 93 ca b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d .A[.]....^...........+...src/Com
21a0 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 4c 69 62 72 61 72 79 49 6e 73 74 61 6c 6c 65 72 poser/Installer/LibraryInstaller
21c0 2e 70 68 70 25 14 00 00 41 5b bc 5d 25 14 00 00 0c bb 8f cc b6 01 00 00 00 00 00 00 2f 00 00 00 .php%...A[.]%.............../...
21e0 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 4d 65 74 61 70 61 63 6b 61 src/Composer/Installer/Metapacka
2200 67 65 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 ca 07 00 00 41 5b bc 5d ca 07 00 00 d9 74 69 b7 b6 geInstaller.php....A[.].....ti..
2220 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 .......(...src/Composer/Installe
2240 72 2f 4e 6f 6f 70 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 2b 05 00 00 41 5b bc 5d 2b 05 00 00 c0 r/NoopInstaller.php+...A[.]+....
2260 b7 4d 7d b6 01 00 00 00 00 00 00 27 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 .M}........'...src/Composer/Inst
2280 61 6c 6c 65 72 2f 50 61 63 6b 61 67 65 45 76 65 6e 74 2e 70 68 70 65 03 00 00 41 5b bc 5d 65 03 aller/PackageEvent.phpe...A[.]e.
22a0 00 00 3b b0 20 1a b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 ..;...........(...src/Composer/I
22c0 6e 73 74 61 6c 6c 65 72 2f 50 61 63 6b 61 67 65 45 76 65 6e 74 73 2e 70 68 70 b8 01 00 00 41 5b nstaller/PackageEvents.php....A[
22e0 bc 5d b8 01 00 00 64 62 d8 73 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .]....db.s............src/Compos
2300 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 50 65 61 72 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 er/Installer/PearBinaryInstaller
2320 2e 70 68 70 f8 0c 00 00 41 5b bc 5d f8 0c 00 00 2a eb 95 6b b6 01 00 00 00 00 00 00 28 00 00 00 .php....A[.]....*..k........(...
2340 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 50 65 61 72 49 6e 73 74 61 src/Composer/Installer/PearInsta
2360 6c 6c 65 72 2e 70 68 70 a2 07 00 00 41 5b bc 5d a2 07 00 00 c8 82 b6 d1 b6 01 00 00 00 00 00 00 ller.php....A[.]................
2380 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 2f 50 6c 75 67 69 *...src/Composer/Installer/Plugi
23a0 6e 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 8b 06 00 00 41 5b bc 5d 8b 06 00 00 0f d2 58 38 b6 01 nInstaller.php....A[.]......X8..
23c0 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e 73 74 61 6c 6c 65 72 ......+...src/Composer/Installer
23e0 2f 50 72 6f 6a 65 63 74 49 6e 73 74 61 6c 6c 65 72 2e 70 68 70 1d 06 00 00 41 5b bc 5d 1d 06 00 /ProjectInstaller.php....A[.]...
2400 00 2a 30 40 50 b6 01 00 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 49 6e .*0@P........4...src/Composer/In
2420 73 74 61 6c 6c 65 72 2f 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 staller/SuggestedPackagesReporte
2440 72 2e 70 68 70 3a 07 00 00 41 5b bc 5d 3a 07 00 00 82 b4 55 56 b6 01 00 00 00 00 00 00 1e 00 00 r.php:...A[.]:.....UV...........
2460 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 4a 73 6f 6e 2f 4a 73 6f 6e 46 69 6c 65 2e 70 68 70 5b .src/Composer/Json/JsonFile.php[
2480 14 00 00 41 5b bc 5d 5b 14 00 00 b0 90 cb 99 b6 01 00 00 00 00 00 00 23 00 00 00 73 72 63 2f 43 ...A[.][...............#...src/C
24a0 6f 6d 70 6f 73 65 72 2f 4a 73 6f 6e 2f 4a 73 6f 6e 46 6f 72 6d 61 74 74 65 72 2e 70 68 70 62 06 omposer/Json/JsonFormatter.phpb.
24c0 00 00 41 5b bc 5d 62 06 00 00 12 dd 4e 9a b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f ..A[.]b.....N.........%...src/Co
24e0 6d 70 6f 73 65 72 2f 4a 73 6f 6e 2f 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 2e 70 68 70 c0 mposer/Json/JsonManipulator.php.
2500 33 00 00 41 5b bc 5d c0 33 00 00 90 99 a0 7f b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 3..A[.].3..............-...src/C
2520 6f 6d 70 6f 73 65 72 2f 4a 73 6f 6e 2f 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 omposer/Json/JsonValidationExcep
2540 74 69 6f 6e 2e 70 68 70 5c 01 00 00 41 5b bc 5d 5c 01 00 00 2e 58 f3 dc b6 01 00 00 00 00 00 00 tion.php\...A[.]\....X..........
2560 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 6c 69 61 73 50 61 %...src/Composer/Package/AliasPa
2580 63 6b 61 67 65 2e 70 68 70 a7 17 00 00 41 5b bc 5d a7 17 00 00 d5 94 52 99 b6 01 00 00 00 00 00 ckage.php....A[.]......R........
25a0 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 .7...src/Composer/Package/Archiv
25c0 65 72 2f 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6c 74 65 72 2e 70 68 70 09 02 00 00 er/ArchivableFilesFilter.php....
25e0 41 5b bc 5d 09 02 00 00 79 59 2b a6 b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 A[.]....yY+.........7...src/Comp
2600 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 41 72 63 68 69 76 61 62 6c 65 oser/Package/Archiver/Archivable
2620 46 69 6c 65 73 46 69 6e 64 65 72 2e 70 68 70 de 05 00 00 41 5b bc 5d de 05 00 00 0c b2 b2 b9 b6 FilesFinder.php....A[.].........
2640 01 00 00 00 00 00 00 30 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f .......0...src/Composer/Package/
2660 41 72 63 68 69 76 65 72 2f 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 2e 70 68 70 dd 0c 00 00 41 Archiver/ArchiveManager.php....A
2680 5b bc 5d dd 0c 00 00 ed 3c b4 42 b6 01 00 00 00 00 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f [.].....<.B........3...src/Compo
26a0 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 41 72 63 68 69 76 65 72 49 6e 74 ser/Package/Archiver/ArchiverInt
26c0 65 72 66 61 63 65 2e 70 68 70 07 01 00 00 41 5b bc 5d 07 01 00 00 f1 b4 3e 0b b6 01 00 00 00 00 erface.php....A[.]......>.......
26e0 00 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 ..3...src/Composer/Package/Archi
2700 76 65 72 2f 42 61 73 65 45 78 63 6c 75 64 65 46 69 6c 74 65 72 2e 70 68 70 96 06 00 00 41 5b bc ver/BaseExcludeFilter.php....A[.
2720 5d 96 06 00 00 79 b6 3d c6 b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 ]....y.=.........7...src/Compose
2740 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 43 6f 6d 70 6f 73 65 72 45 78 63 6c 75 r/Package/Archiver/ComposerExclu
2760 64 65 46 69 6c 74 65 72 2e 70 68 70 1f 01 00 00 41 5b bc 5d 1f 01 00 00 8b 53 5a 30 b6 01 00 00 deFilter.php....A[.].....SZ0....
2780 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 ....2...src/Composer/Package/Arc
27a0 68 69 76 65 72 2f 47 69 74 45 78 63 6c 75 64 65 46 69 6c 74 65 72 2e 70 68 70 72 03 00 00 41 5b hiver/GitExcludeFilter.phpr...A[
27c0 bc 5d 72 03 00 00 33 91 4d 68 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .]r...3.Mh........1...src/Compos
27e0 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 2f 48 67 45 78 63 6c 75 64 65 46 69 6c er/Package/Archiver/HgExcludeFil
2800 74 65 72 2e 70 68 70 0b 05 00 00 41 5b bc 5d 0b 05 00 00 0d 95 a6 53 b6 01 00 00 00 00 00 00 2e ter.php....A[.].......S.........
2820 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 41 72 63 68 69 76 65 72 ...src/Composer/Package/Archiver
2840 2f 50 68 61 72 41 72 63 68 69 76 65 72 2e 70 68 70 3f 06 00 00 41 5b bc 5d 3f 06 00 00 ae 97 09 /PharArchiver.php?...A[.]?......
2860 75 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 u........-...src/Composer/Packag
2880 65 2f 41 72 63 68 69 76 65 72 2f 5a 69 70 41 72 63 68 69 76 65 72 2e 70 68 70 bd 04 00 00 41 5b e/Archiver/ZipArchiver.php....A[
28a0 bc 5d bd 04 00 00 56 c0 82 a8 b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .]....V...........$...src/Compos
28c0 65 72 2f 50 61 63 6b 61 67 65 2f 42 61 73 65 50 61 63 6b 61 67 65 2e 70 68 70 11 0e 00 00 41 5b er/Package/BasePackage.php....A[
28e0 bc 5d 11 0e 00 00 44 7c 9f c8 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .]....D|..........*...src/Compos
2900 65 72 2f 50 61 63 6b 61 67 65 2f 43 6f 6d 70 61 72 65 72 2f 43 6f 6d 70 61 72 65 72 2e 70 68 70 er/Package/Comparer/Comparer.php
2920 52 08 00 00 41 5b bc 5d 52 08 00 00 cf d8 b3 ee b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f R...A[.]R...............(...src/
2940 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 Composer/Package/CompletePackage
2960 2e 70 68 70 fc 06 00 00 41 5b bc 5d fc 06 00 00 fe 4d cb b6 b6 01 00 00 00 00 00 00 31 00 00 00 .php....A[.].....M..........1...
2980 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 43 6f 6d 70 6c 65 74 65 50 61 63 src/Composer/Package/CompletePac
29a0 6b 61 67 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 f5 01 00 00 41 5b bc 5d f5 01 00 00 a6 ca 81 kageInterface.php....A[.].......
29c0 f2 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 .........+...src/Composer/Packag
29e0 65 2f 44 75 6d 70 65 72 2f 41 72 72 61 79 44 75 6d 70 65 72 2e 70 68 70 57 0c 00 00 41 5b bc 5d e/Dumper/ArrayDumper.phpW...A[.]
2a00 57 0c 00 00 bf e9 c1 a6 b6 01 00 00 00 00 00 00 1d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 W...................src/Composer
2a20 2f 50 61 63 6b 61 67 65 2f 4c 69 6e 6b 2e 70 68 70 88 05 00 00 41 5b bc 5d 88 05 00 00 e5 b6 59 /Package/Link.php....A[.]......Y
2a40 ab b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 .........7...src/Composer/Packag
2a60 65 2f 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2f 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 e/LinkConstraint/EmptyConstraint
2a80 2e 70 68 70 82 01 00 00 41 5b bc 5d 82 01 00 00 0e e9 7e 8b b6 01 00 00 00 00 00 00 3f 00 00 00 .php....A[.]......~.........?...
2aa0 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 69 6e 6b 43 6f 6e 73 74 72 61 src/Composer/Package/LinkConstra
2ac0 69 6e 74 2f 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 64 int/LinkConstraintInterface.phpd
2ae0 01 00 00 41 5b bc 5d 64 01 00 00 a4 f4 4c 6e b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 ...A[.]d.....Ln........7...src/C
2b00 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2f 4d omposer/Package/LinkConstraint/M
2b20 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 82 01 00 00 41 5b bc 5d 82 01 00 00 f3 62 ultiConstraint.php....A[.].....b
2b40 60 fd b6 01 00 00 00 00 00 00 3a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 `.........:...src/Composer/Packa
2b60 67 65 2f 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2f 53 70 65 63 69 66 69 63 43 6f 6e 73 74 72 ge/LinkConstraint/SpecificConstr
2b80 61 69 6e 74 2e 70 68 70 69 01 00 00 41 5b bc 5d 69 01 00 00 de 94 9a 25 b6 01 00 00 00 00 00 00 aint.phpi...A[.]i......%........
2ba0 39 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 69 6e 6b 43 6f 6e 9...src/Composer/Package/LinkCon
2bc0 73 74 72 61 69 6e 74 2f 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 58 01 00 straint/VersionConstraint.phpX..
2be0 00 41 5b bc 5d 58 01 00 00 02 7d 60 79 b6 01 00 00 00 00 00 00 2b 00 00 00 73 72 63 2f 43 6f 6d .A[.]X....}`y........+...src/Com
2c00 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 41 72 72 61 79 4c 6f 61 64 65 72 poser/Package/Loader/ArrayLoader
2c20 2e 70 68 70 4e 1e 00 00 41 5b bc 5d 4e 1e 00 00 e2 03 51 ac b6 01 00 00 00 00 00 00 37 00 00 00 .phpN...A[.]N.....Q.........7...
2c40 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 49 6e 76 61 src/Composer/Package/Loader/Inva
2c60 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 45 02 00 00 41 5b bc 5d 45 lidPackageException.phpE...A[.]E
2c80 02 00 00 78 62 13 be b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ...xb..........*...src/Composer/
2ca0 50 61 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 4a 73 6f 6e 4c 6f 61 64 65 72 2e 70 68 70 f9 01 00 Package/Loader/JsonLoader.php...
2cc0 00 41 5b bc 5d f9 01 00 00 21 7e 88 7b b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d .A[.]....!~.{......../...src/Com
2ce0 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 4c 6f 61 64 65 72 49 6e 74 65 72 poser/Package/Loader/LoaderInter
2d00 66 61 63 65 2e 70 68 70 b2 00 00 00 41 5b bc 5d b2 00 00 00 a6 7d fa ce b6 01 00 00 00 00 00 00 face.php....A[.].....}..........
2d20 31 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 1...src/Composer/Package/Loader/
2d40 52 6f 6f 74 50 61 63 6b 61 67 65 4c 6f 61 64 65 72 2e 70 68 70 f3 19 00 00 41 5b bc 5d f3 19 00 RootPackageLoader.php....A[.]...
2d60 00 6c 94 2e d8 b6 01 00 00 00 00 00 00 35 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 .l...........5...src/Composer/Pa
2d80 63 6b 61 67 65 2f 4c 6f 61 64 65 72 2f 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 ckage/Loader/ValidatingArrayLoad
2da0 65 72 2e 70 68 70 28 3e 00 00 41 5b bc 5d 28 3e 00 00 06 84 b4 50 b6 01 00 00 00 00 00 00 1f 00 er.php(>..A[.](>.....P..........
2dc0 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 4c 6f 63 6b 65 72 2e 70 68 ..src/Composer/Package/Locker.ph
2de0 70 a5 21 00 00 41 5b bc 5d a5 21 00 00 2f 3d 78 f6 b6 01 00 00 00 00 00 00 20 00 00 00 73 72 63 p.!..A[.].!../=x.............src
2e00 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 50 61 63 6b 61 67 65 2e 70 68 70 c9 1a 00 /Composer/Package/Package.php...
2e20 00 41 5b bc 5d c9 1a 00 00 63 c3 8f 68 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d .A[.]....c..h........)...src/Com
2e40 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 2e 70 poser/Package/PackageInterface.p
2e60 68 70 5c 08 00 00 41 5b bc 5d 5c 08 00 00 78 e5 70 a8 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 hp\...A[.]\...x.p.........)...sr
2e80 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 52 6f 6f 74 41 6c 69 61 73 50 61 63 6b c/Composer/Package/RootAliasPack
2ea0 61 67 65 2e 70 68 70 1f 09 00 00 41 5b bc 5d 1f 09 00 00 09 5f 80 f8 b6 01 00 00 00 00 00 00 24 age.php....A[.]....._..........$
2ec0 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 52 6f 6f 74 50 61 63 6b ...src/Composer/Package/RootPack
2ee0 61 67 65 2e 70 68 70 11 05 00 00 41 5b bc 5d 11 05 00 00 02 8e ce 5f b6 01 00 00 00 00 00 00 2d age.php....A[.]......._........-
2f00 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 52 6f 6f 74 50 61 63 6b ...src/Composer/Package/RootPack
2f20 61 67 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 b9 03 00 00 41 5b bc 5d b9 03 00 00 22 6d 61 56 ageInterface.php....A[.]...."maV
2f40 b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 ......../...src/Composer/Package
2f60 2f 56 65 72 73 69 6f 6e 2f 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 2e 70 68 70 cf 1d 00 00 41 /Version/VersionGuesser.php....A
2f80 5b bc 5d cf 1d 00 00 cc c2 df 04 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f [.]....................src/Compo
2fa0 73 65 72 2f 50 61 63 6b 61 67 65 2f 56 65 72 73 69 6f 6e 2f 56 65 72 73 69 6f 6e 50 61 72 73 65 ser/Package/Version/VersionParse
2fc0 72 2e 70 68 70 a5 05 00 00 41 5b bc 5d a5 05 00 00 f4 b4 16 e0 b6 01 00 00 00 00 00 00 30 00 00 r.php....A[.]................0..
2fe0 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 61 63 6b 61 67 65 2f 56 65 72 73 69 6f 6e 2f 56 65 .src/Composer/Package/Version/Ve
3000 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2e 70 68 70 4b 0c 00 00 41 5b bc 5d 4b 0c 00 00 b2 3c 0f rsionSelector.phpK...A[.]K....<.
3020 c8 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e .........-...src/Composer/Plugin
3040 2f 43 61 70 61 62 69 6c 69 74 79 2f 43 61 70 61 62 69 6c 69 74 79 2e 70 68 70 57 00 00 00 41 5b /Capability/Capability.phpW...A[
3060 bc 5d 57 00 00 00 e6 5f a8 31 b6 01 00 00 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .]W...._.1........2...src/Compos
3080 65 72 2f 50 6c 75 67 69 6e 2f 43 61 70 61 62 69 6c 69 74 79 2f 43 6f 6d 6d 61 6e 64 50 72 6f 76 er/Plugin/Capability/CommandProv
30a0 69 64 65 72 2e 70 68 70 97 00 00 00 41 5b bc 5d 97 00 00 00 fb 4f e2 3e b6 01 00 00 00 00 00 00 ider.php....A[.].....O.>........
30c0 1f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 43 61 70 61 62 6c 65 2e ....src/Composer/Plugin/Capable.
30e0 70 68 70 7f 00 00 00 41 5b bc 5d 7f 00 00 00 c6 71 15 2b b6 01 00 00 00 00 00 00 24 00 00 00 73 php....A[.].....q.+........$...s
3100 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 2e rc/Composer/Plugin/CommandEvent.
3120 70 68 70 e2 02 00 00 41 5b bc 5d e2 02 00 00 b3 c6 c7 57 b6 01 00 00 00 00 00 00 24 00 00 00 73 php....A[.].......W........$...s
3140 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 50 6c 75 67 69 6e 45 76 65 6e 74 73 2e rc/Composer/Plugin/PluginEvents.
3160 70 68 70 f6 00 00 00 41 5b bc 5d f6 00 00 00 e1 31 3d 7a b6 01 00 00 00 00 00 00 27 00 00 00 73 php....A[.].....1=z........'...s
3180 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 rc/Composer/Plugin/PluginInterfa
31a0 63 65 2e 70 68 70 f4 00 00 00 41 5b bc 5d f4 00 00 00 29 27 2a d8 b6 01 00 00 00 00 00 00 25 00 ce.php....A[.]....)'*.........%.
31c0 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 50 6c 75 67 69 6e 4d 61 6e 61 ..src/Composer/Plugin/PluginMana
31e0 67 65 72 2e 70 68 70 aa 24 00 00 41 5b bc 5d aa 24 00 00 6d 89 83 e4 b6 01 00 00 00 00 00 00 2a ger.php.$..A[.].$..m...........*
3200 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 50 72 65 43 6f 6d 6d 61 6e ...src/Composer/Plugin/PreComman
3220 64 52 75 6e 45 76 65 6e 74 2e 70 68 70 f5 01 00 00 41 5b bc 5d f5 01 00 00 3a f0 64 1e b6 01 00 dRunEvent.php....A[.]....:.d....
3240 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 50 6c 75 67 69 6e 2f 50 72 65 .....,...src/Composer/Plugin/Pre
3260 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2e 70 68 70 60 02 00 00 41 5b bc 5d 60 02 00 FileDownloadEvent.php`...A[.]`..
3280 00 00 39 2d ce b6 01 00 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 51 75 ..9-.........4...src/Composer/Qu
32a0 65 73 74 69 6f 6e 2f 53 74 72 69 63 74 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f estion/StrictConfirmationQuestio
32c0 6e 2e 70 68 70 1e 05 00 00 41 5b bc 5d 1e 05 00 00 27 2e b3 e8 b6 01 00 00 00 00 00 00 2b 00 00 n.php....A[.]....'...........+..
32e0 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 41 72 72 61 79 52 65 .src/Composer/Repository/ArrayRe
3300 70 6f 73 69 74 6f 72 79 2e 70 68 70 13 0e 00 00 41 5b bc 5d 13 0e 00 00 e9 cc 74 00 b6 01 00 00 pository.php....A[.]......t.....
3320 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f ........src/Composer/Repository/
3340 41 72 74 69 66 61 63 74 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 ed 08 00 00 41 5b bc 5d ed 08 ArtifactRepository.php....A[.]..
3360 00 00 71 39 4f 53 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 ..q9OS........*...src/Composer/R
3380 65 70 6f 73 69 74 6f 72 79 2f 42 61 73 65 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 8a 0f 00 00 epository/BaseRepository.php....
33a0 41 5b bc 5d 8a 0f 00 00 13 e4 dd f7 b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 A[.]....................src/Comp
33c0 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f oser/Repository/ComposerReposito
33e0 72 79 2e 70 68 70 87 54 00 00 41 5b bc 5d 87 54 00 00 8e f7 08 c6 b6 01 00 00 00 00 00 00 2f 00 ry.php.T..A[.].T............../.
3400 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 43 6f 6d 70 6f 73 ..src/Composer/Repository/Compos
3420 69 74 65 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 3b 08 00 00 41 5b bc 5d 3b 08 00 00 a4 af 53 iteRepository.php;...A[.];.....S
3440 1f b6 01 00 00 00 00 00 00 3b 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 .........;...src/Composer/Reposi
3460 74 6f 72 79 2f 43 6f 6e 66 69 67 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 tory/ConfigurableRepositoryInter
3480 66 61 63 65 2e 70 68 70 85 00 00 00 41 5b bc 5d 85 00 00 00 b1 9f 5f 1c b6 01 00 00 00 00 00 00 face.php....A[.]......_.........
34a0 30 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 46 69 6c 65 0...src/Composer/Repository/File
34c0 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 70 05 00 00 41 5b bc 5d 70 05 00 00 systemRepository.phpp...A[.]p...
34e0 23 18 f9 7f b6 01 00 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 #...........4...src/Composer/Rep
3500 6f 73 69 74 6f 72 79 2f 49 6e 73 74 61 6c 6c 65 64 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 ository/InstalledArrayRepository
3520 2e 70 68 70 a3 00 00 00 41 5b bc 5d a3 00 00 00 2f f6 7e 3e b6 01 00 00 00 00 00 00 39 00 00 00 .php....A[.]..../.~>........9...
3540 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 49 6e 73 74 61 6c 6c 65 src/Composer/Repository/Installe
3560 64 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 a3 00 00 00 41 5b bc dFilesystemRepository.php....A[.
3580 5d a3 00 00 00 56 0a 95 5f b6 01 00 00 00 00 00 00 38 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 ]....V.._........8...src/Compose
35a0 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 r/Repository/InstalledRepository
35c0 49 6e 74 65 72 66 61 63 65 2e 70 68 70 87 00 00 00 41 5b bc 5d 87 00 00 00 18 a3 39 70 b6 01 00 Interface.php....A[.]......9p...
35e0 00 00 00 00 00 36 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 .....6...src/Composer/Repository
3600 2f 49 6e 76 61 6c 69 64 52 65 70 6f 73 69 74 6f 72 79 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6e /InvalidRepositoryException.phpn
3620 00 00 00 41 5b bc 5d 6e 00 00 00 e0 93 eb 98 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 ...A[.]n...............-...src/C
3640 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 61 63 6b 61 67 65 52 65 70 6f 73 69 omposer/Repository/PackageReposi
3660 74 6f 72 79 2e 70 68 70 6a 03 00 00 41 5b bc 5d 6a 03 00 00 a5 f4 f2 cc b6 01 00 00 00 00 00 00 tory.phpj...A[.]j...............
3680 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 61 74 68 *...src/Composer/Repository/Path
36a0 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 f5 0b 00 00 41 5b bc 5d f5 0b 00 00 ec 5b 72 3d b6 01 Repository.php....A[.].....[r=..
36c0 00 00 00 00 00 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 ......2...src/Composer/Repositor
36e0 79 2f 50 65 61 72 2f 42 61 73 65 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 2e 70 68 70 49 05 00 00 y/Pear/BaseChannelReader.phpI...
3700 41 5b bc 5d 49 05 00 00 63 08 36 b3 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 A[.]I...c.6.........,...src/Comp
3720 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 43 68 61 6e 6e 65 6c 49 6e 66 6f oser/Repository/Pear/ChannelInfo
3740 2e 70 68 70 c4 01 00 00 41 5b bc 5d c4 01 00 00 3a 54 2a c9 b6 01 00 00 00 00 00 00 2e 00 00 00 .php....A[.]....:T*.............
3760 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 43 68 61 src/Composer/Repository/Pear/Cha
3780 6e 6e 65 6c 52 65 61 64 65 72 2e 70 68 70 ed 06 00 00 41 5b bc 5d ed 06 00 00 3f c8 59 54 b6 01 nnelReader.php....A[.]....?.YT..
37a0 00 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 ......4...src/Composer/Repositor
37c0 79 2f 50 65 61 72 2f 43 68 61 6e 6e 65 6c 52 65 73 74 31 30 52 65 61 64 65 72 2e 70 68 70 ae 09 y/Pear/ChannelRest10Reader.php..
37e0 00 00 41 5b bc 5d ae 09 00 00 99 d6 db fa b6 01 00 00 00 00 00 00 34 00 00 00 73 72 63 2f 43 6f ..A[.]................4...src/Co
3800 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 43 68 61 6e 6e 65 6c 52 65 mposer/Repository/Pear/ChannelRe
3820 73 74 31 31 52 65 61 64 65 72 2e 70 68 70 26 09 00 00 41 5b bc 5d 26 09 00 00 f2 55 62 08 b6 01 st11Reader.php&...A[.]&....Ub...
3840 00 00 00 00 00 00 35 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 ......5...src/Composer/Repositor
3860 79 2f 50 65 61 72 2f 44 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 71 y/Pear/DependencyConstraint.phpq
3880 02 00 00 41 5b bc 5d 71 02 00 00 39 0e 17 3d b6 01 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 ...A[.]q...9..=......../...src/C
38a0 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 44 65 70 65 6e 64 65 6e omposer/Repository/Pear/Dependen
38c0 63 79 49 6e 66 6f 2e 70 68 70 71 01 00 00 41 5b bc 5d 71 01 00 00 66 ba 54 f2 b6 01 00 00 00 00 cyInfo.phpq...A[.]q...f.T.......
38e0 00 00 38 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 ..8...src/Composer/Repository/Pe
3900 61 72 2f 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 2e 70 68 70 85 16 ar/PackageDependencyParser.php..
3920 00 00 41 5b bc 5d 85 16 00 00 f7 24 4c 69 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f ..A[.].....$Li........,...src/Co
3940 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 50 61 63 6b 61 67 65 49 6e mposer/Repository/Pear/PackageIn
3960 66 6f 2e 70 68 70 b0 03 00 00 41 5b bc 5d b0 03 00 00 9f 0d b8 0c b6 01 00 00 00 00 00 00 2c 00 fo.php....A[.]................,.
3980 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 50 65 61 72 2f 52 ..src/Composer/Repository/Pear/R
39a0 65 6c 65 61 73 65 49 6e 66 6f 2e 70 68 70 92 01 00 00 41 5b bc 5d 92 01 00 00 6f 93 8a c3 b6 01 eleaseInfo.php....A[.]....o.....
39c0 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 ......*...src/Composer/Repositor
39e0 79 2f 50 65 61 72 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 aa 16 00 00 41 5b bc 5d aa 16 00 00 y/PearRepository.php....A[.]....
3a00 29 9f 83 7d b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 )..}............src/Composer/Rep
3a20 6f 73 69 74 6f 72 79 2f 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 e5 1f ository/PlatformRepository.php..
3a40 00 00 41 5b bc 5d e5 1f 00 00 bb 47 f7 e5 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f ..A[.].....G..........-...src/Co
3a60 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 mposer/Repository/RepositoryFact
3a80 6f 72 79 2e 70 68 70 60 12 00 00 41 5b bc 5d 60 12 00 00 4b be 64 75 b6 01 00 00 00 00 00 00 2f ory.php`...A[.]`...K.du......../
3aa0 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 52 65 70 6f 73 ...src/Composer/Repository/Repos
3ac0 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 2e 70 68 70 db 01 00 00 41 5b bc 5d db 01 00 00 92 11 itoryInterface.php....A[.]......
3ae0 e2 c1 b6 01 00 00 00 00 00 00 2d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 ..........-...src/Composer/Repos
3b00 69 74 6f 72 79 2f 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 2e 70 68 70 32 0a 00 00 41 itory/RepositoryManager.php2...A
3b20 5b bc 5d 32 0a 00 00 e1 85 35 23 b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f [.]2.....5#........7...src/Compo
3b40 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 52 65 70 6f 73 69 74 6f 72 79 53 65 63 75 72 69 74 ser/Repository/RepositorySecurit
3b60 79 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6f 00 00 00 41 5b bc 5d 6f 00 00 00 70 d5 ab aa b6 01 yException.phpo...A[.]o...p.....
3b80 00 00 00 00 00 00 2f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 ....../...src/Composer/Repositor
3ba0 79 2f 56 63 73 2f 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 2e 70 68 70 95 20 00 00 41 5b bc y/Vcs/BitbucketDriver.php....A[.
3bc0 5d 95 20 00 00 24 a9 52 e7 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 ]....$.R.........,...src/Compose
3be0 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 46 6f 73 73 69 6c 44 72 69 76 65 72 2e 70 68 r/Repository/Vcs/FossilDriver.ph
3c00 70 b3 13 00 00 41 5b bc 5d b3 13 00 00 d0 43 6b 03 b6 01 00 00 00 00 00 00 32 00 00 00 73 72 63 p....A[.].....Ck.........2...src
3c20 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 47 69 74 42 69 74 62 /Composer/Repository/Vcs/GitBitb
3c40 75 63 6b 65 74 44 72 69 76 65 72 2e 70 68 70 eb 05 00 00 41 5b bc 5d eb 05 00 00 9c b4 bd 58 b6 ucketDriver.php....A[.].......X.
3c60 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f .......)...src/Composer/Reposito
3c80 72 79 2f 56 63 73 2f 47 69 74 44 72 69 76 65 72 2e 70 68 70 75 12 00 00 41 5b bc 5d 75 12 00 00 ry/Vcs/GitDriver.phpu...A[.]u...
3ca0 7d dd 73 21 b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 }.s!........,...src/Composer/Rep
3cc0 6f 73 69 74 6f 72 79 2f 56 63 73 2f 47 69 74 48 75 62 44 72 69 76 65 72 2e 70 68 70 7d 29 00 00 ository/Vcs/GitHubDriver.php})..
3ce0 41 5b bc 5d 7d 29 00 00 ea a6 78 ae b6 01 00 00 00 00 00 00 2c 00 00 00 73 72 63 2f 43 6f 6d 70 A[.]})....x.........,...src/Comp
3d00 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 47 69 74 4c 61 62 44 72 69 76 65 72 oser/Repository/Vcs/GitLabDriver
3d20 2e 70 68 70 5d 25 00 00 41 5b bc 5d 5d 25 00 00 73 c7 f8 0d b6 01 00 00 00 00 00 00 31 00 00 00 .php]%..A[.]]%..s...........1...
3d40 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 48 67 42 69 src/Composer/Repository/Vcs/HgBi
3d60 74 62 75 63 6b 65 74 44 72 69 76 65 72 2e 70 68 70 e5 05 00 00 41 5b bc 5d e5 05 00 00 40 29 89 tbucketDriver.php....A[.]....@).
3d80 4c b6 01 00 00 00 00 00 00 28 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 L........(...src/Composer/Reposi
3da0 74 6f 72 79 2f 56 63 73 2f 48 67 44 72 69 76 65 72 2e 70 68 70 42 12 00 00 41 5b bc 5d 42 12 00 tory/Vcs/HgDriver.phpB...A[.]B..
3dc0 00 bb 7f 83 ee b6 01 00 00 00 00 00 00 2e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 .................src/Composer/Re
3de0 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 50 65 72 66 6f 72 63 65 44 72 69 76 65 72 2e 70 68 70 f9 pository/Vcs/PerforceDriver.php.
3e00 09 00 00 41 5b bc 5d f9 09 00 00 26 bd 74 d9 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 ...A[.]....&.t.........)...src/C
3e20 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 53 76 6e 44 72 69 76 65 72 omposer/Repository/Vcs/SvnDriver
3e40 2e 70 68 70 a4 1c 00 00 41 5b bc 5d a4 1c 00 00 1e 11 1f 0c b6 01 00 00 00 00 00 00 29 00 00 00 .php....A[.]................)...
3e60 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 2f 56 63 73 44 src/Composer/Repository/Vcs/VcsD
3e80 72 69 76 65 72 2e 70 68 70 e6 0a 00 00 41 5b bc 5d e6 0a 00 00 65 d7 af 2d b6 01 00 00 00 00 00 river.php....A[.]....e..-.......
3ea0 00 32 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 .2...src/Composer/Repository/Vcs
3ec0 2f 56 63 73 44 72 69 76 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 f7 02 00 00 41 5b bc 5d f7 /VcsDriverInterface.php....A[.].
3ee0 02 00 00 c7 58 5b 89 b6 01 00 00 00 00 00 00 29 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ....X[.........)...src/Composer/
3f00 52 65 70 6f 73 69 74 6f 72 79 2f 56 63 73 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 d9 2a 00 00 Repository/VcsRepository.php.*..
3f20 41 5b bc 5d d9 2a 00 00 7e c1 a3 66 b6 01 00 00 00 00 00 00 31 00 00 00 73 72 63 2f 43 6f 6d 70 A[.].*..~..f........1...src/Comp
3f40 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 56 65 72 73 69 6f 6e 43 61 63 68 65 49 6e 74 65 oser/Repository/VersionCacheInte
3f60 72 66 61 63 65 2e 70 68 70 94 00 00 00 41 5b bc 5d 94 00 00 00 41 3f 52 ef b6 01 00 00 00 00 00 rface.php....A[.]....A?R........
3f80 00 33 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 52 65 70 6f 73 69 74 6f 72 79 2f 57 72 69 .3...src/Composer/Repository/Wri
3fa0 74 61 62 6c 65 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 2e 70 68 70 0f 03 00 00 41 5b bc 5d tableArrayRepository.php....A[.]
3fc0 0f 03 00 00 be 47 17 2a b6 01 00 00 00 00 00 00 37 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 .....G.*........7...src/Composer
3fe0 2f 52 65 70 6f 73 69 74 6f 72 79 2f 57 72 69 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e /Repository/WritableRepositoryIn
4000 74 65 72 66 61 63 65 2e 70 68 70 89 01 00 00 41 5b bc 5d 89 01 00 00 91 2f 73 ef b6 01 00 00 00 terface.php....A[.]...../s......
4020 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 63 72 69 70 74 2f 43 6f 6d 6d 61 ...$...src/Composer/Script/Comma
4040 6e 64 45 76 65 6e 74 2e 70 68 70 57 00 00 00 41 5b bc 5d 57 00 00 00 a3 56 5a 74 b6 01 00 00 00 ndEvent.phpW...A[.]W....VZt.....
4060 00 00 00 1d 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 63 72 69 70 74 2f 45 76 65 6e 74 .......src/Composer/Script/Event
4080 2e 70 68 70 ba 04 00 00 41 5b bc 5d ba 04 00 00 f2 9d bb a4 b6 01 00 00 00 00 00 00 24 00 00 00 .php....A[.]................$...
40a0 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 63 72 69 70 74 2f 50 61 63 6b 61 67 65 45 76 65 6e 74 src/Composer/Script/PackageEvent
40c0 2e 70 68 70 9c 00 00 00 41 5b bc 5d 9c 00 00 00 a7 ff c9 0d b6 01 00 00 00 00 00 00 24 00 00 00 .php....A[.]................$...
40e0 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 63 72 69 70 74 2f 53 63 72 69 70 74 45 76 65 6e 74 73 src/Composer/Script/ScriptEvents
4100 2e 70 68 70 50 04 00 00 41 5b bc 5d 50 04 00 00 87 8f 04 b6 b6 01 00 00 00 00 00 00 20 00 00 00 .phpP...A[.]P...................
4120 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 53 65 6c 66 55 70 64 61 74 65 2f 4b 65 79 73 2e 70 68 70 src/Composer/SelfUpdate/Keys.php
4140 9d 01 00 00 41 5b bc 5d 9d 01 00 00 0b ee ca 4e b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f ....A[.].......N........$...src/
4160 43 6f 6d 70 6f 73 65 72 2f 53 65 6c 66 55 70 64 61 74 65 2f 56 65 72 73 69 6f 6e 73 2e 70 68 70 Composer/SelfUpdate/Versions.php
4180 ec 05 00 00 41 5b bc 5d ec 05 00 00 cd b5 91 83 b6 01 00 00 00 00 00 00 20 00 00 00 73 72 63 2f ....A[.]....................src/
41a0 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 41 75 74 68 48 65 6c 70 65 72 2e 70 68 70 cb 03 00 00 Composer/Util/AuthHelper.php....
41c0 41 5b bc 5d cb 03 00 00 3e 7a 78 96 b6 01 00 00 00 00 00 00 1f 00 00 00 73 72 63 2f 43 6f 6d 70 A[.]....>zx.............src/Comp
41e0 6f 73 65 72 2f 55 74 69 6c 2f 42 69 74 62 75 63 6b 65 74 2e 70 68 70 2a 15 00 00 41 5b bc 5d 2a oser/Util/Bitbucket.php*...A[.]*
4200 15 00 00 2c 4c 9a 6b b6 01 00 00 00 00 00 00 24 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ...,L.k........$...src/Composer/
4220 55 74 69 6c 2f 43 6f 6d 70 6f 73 65 72 4d 69 72 72 6f 72 2e 70 68 70 b1 04 00 00 41 5b bc 5d b1 Util/ComposerMirror.php....A[.].
4240 04 00 00 ad bd f8 d8 b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ...............%...src/Composer/
4260 55 74 69 6c 2f 43 6f 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 2e 70 68 70 f7 13 00 00 41 5b bc 5d Util/ConfigValidator.php....A[.]
4280 f7 13 00 00 76 95 cd 04 b6 01 00 00 00 00 00 00 22 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 ....v..........."...src/Composer
42a0 2f 55 74 69 6c 2f 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 bb 04 00 00 41 5b bc 5d bb 04 /Util/ErrorHandler.php....A[.]..
42c0 00 00 4f 9b 72 6b b6 01 00 00 00 00 00 00 20 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 ..O.rk............src/Composer/U
42e0 74 69 6c 2f 46 69 6c 65 73 79 73 74 65 6d 2e 70 68 70 72 2f 00 00 41 5b bc 5d 72 2f 00 00 1b d2 til/Filesystem.phpr/..A[.]r/....
4300 5e 6a b6 01 00 00 00 00 00 00 19 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f ^j............src/Composer/Util/
4320 47 69 74 2e 70 68 70 ed 2d 00 00 41 5b bc 5d ed 2d 00 00 50 eb 11 2e b6 01 00 00 00 00 00 00 1c Git.php.-..A[.].-..P............
4340 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 47 69 74 48 75 62 2e 70 68 70 7c ...src/Composer/Util/GitHub.php|
4360 0d 00 00 41 5b bc 5d 7c 0d 00 00 60 30 74 fc b6 01 00 00 00 00 00 00 1c 00 00 00 73 72 63 2f 43 ...A[.]|...`0t.............src/C
4380 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 47 69 74 4c 61 62 2e 70 68 70 ac 0d 00 00 41 5b bc 5d ac omposer/Util/GitLab.php....A[.].
43a0 0d 00 00 42 33 0b eb b6 01 00 00 00 00 00 00 18 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f ...B3..............src/Composer/
43c0 55 74 69 6c 2f 48 67 2e 70 68 70 be 07 00 00 41 5b bc 5d be 07 00 00 4c d3 0c 9d b6 01 00 00 00 Util/Hg.php....A[.]....L........
43e0 00 00 00 1f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 49 6e 69 48 65 6c 70 .......src/Composer/Util/IniHelp
4400 65 72 2e 70 68 70 68 02 00 00 41 5b bc 5d 68 02 00 00 3b 46 08 50 b6 01 00 00 00 00 00 00 24 00 er.phph...A[.]h...;F.P........$.
4420 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 4e 6f 50 72 6f 78 79 50 61 74 74 65 ..src/Composer/Util/NoProxyPatte
4440 72 6e 2e 70 68 70 be 06 00 00 41 5b bc 5d be 06 00 00 5a 2b b0 6d b6 01 00 00 00 00 00 00 23 00 rn.php....A[.]....Z+.m........#.
4460 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 50 61 63 6b 61 67 65 53 6f 72 74 65 ..src/Composer/Util/PackageSorte
4480 72 2e 70 68 70 de 05 00 00 41 5b bc 5d de 05 00 00 ea d7 ec 59 b6 01 00 00 00 00 00 00 1e 00 00 r.php....A[.].......Y...........
44a0 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 50 65 72 66 6f 72 63 65 2e 70 68 70 b8 .src/Composer/Util/Perforce.php.
44c0 32 00 00 41 5b bc 5d b8 32 00 00 c1 73 26 7d b6 01 00 00 00 00 00 00 1e 00 00 00 73 72 63 2f 43 2..A[.].2...s&}............src/C
44e0 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 50 6c 61 74 66 6f 72 6d 2e 70 68 70 fc 04 00 00 41 5b bc omposer/Util/Platform.php....A[.
4500 5d fc 04 00 00 73 ad 66 e7 b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 ]....s.f.........%...src/Compose
4520 72 2f 55 74 69 6c 2f 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2e 70 68 70 6c 0c 00 00 41 5b r/Util/ProcessExecutor.phpl...A[
4540 bc 5d 6c 0c 00 00 6d 37 5f 9a b6 01 00 00 00 00 00 00 26 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .]l...m7_.........&...src/Compos
4560 65 72 2f 55 74 69 6c 2f 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2e 70 68 70 f8 6e 00 00 er/Util/RemoteFilesystem.php.n..
4580 41 5b bc 5d f8 6e 00 00 3f 9b 1a 7b b6 01 00 00 00 00 00 00 1e 00 00 00 73 72 63 2f 43 6f 6d 70 A[.].n..?..{............src/Comp
45a0 6f 73 65 72 2f 55 74 69 6c 2f 53 69 6c 65 6e 63 65 72 2e 70 68 70 e9 02 00 00 41 5b bc 5d e9 02 oser/Util/Silencer.php....A[.]..
45c0 00 00 93 56 6a 66 b6 01 00 00 00 00 00 00 21 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 ...Vjf........!...src/Composer/U
45e0 74 69 6c 2f 53 70 64 78 4c 69 63 65 6e 73 65 2e 70 68 70 03 01 00 00 41 5b bc 5d 03 01 00 00 be til/SpdxLicense.php....A[.].....
4600 37 0a f1 b6 01 00 00 00 00 00 00 2a 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 7..........*...src/Composer/Util
4620 2f 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 2e 70 68 70 06 10 00 00 41 5b bc /StreamContextFactory.php....A[.
4640 5d 06 10 00 00 43 c9 85 f9 b6 01 00 00 00 00 00 00 19 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 ]....C...............src/Compose
4660 72 2f 55 74 69 6c 2f 53 76 6e 2e 70 68 70 2c 14 00 00 41 5b bc 5d 2c 14 00 00 cc 0d 9e c4 b6 01 r/Util/Svn.php,...A[.],.........
4680 00 00 00 00 00 00 1f 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 54 6c 73 48 ..........src/Composer/Util/TlsH
46a0 65 6c 70 65 72 2e 70 68 70 4c 0a 00 00 41 5b bc 5d 4c 0a 00 00 22 0c 69 1e b6 01 00 00 00 00 00 elper.phpL...A[.]L...".i........
46c0 00 19 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 55 72 6c 2e 70 68 70 a3 07 .....src/Composer/Util/Url.php..
46e0 00 00 41 5b bc 5d a3 07 00 00 33 9c c9 dc b6 01 00 00 00 00 00 00 19 00 00 00 73 72 63 2f 43 6f ..A[.]....3...............src/Co
4700 6d 70 6f 73 65 72 2f 55 74 69 6c 2f 5a 69 70 2e 70 68 70 b4 05 00 00 41 5b bc 5d b4 05 00 00 b0 mposer/Util/Zip.php....A[.].....
4720 04 b3 b6 b6 01 00 00 00 00 00 00 1e 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 65 72 2f 58 64 65 62 ...............src/Composer/Xdeb
4740 75 67 48 61 6e 64 6c 65 72 2e 70 68 70 f0 01 00 00 41 5b bc 5d f0 01 00 00 7a d3 66 7e b6 01 00 ugHandler.php....A[.]....z.f~...
4760 00 00 00 00 00 11 00 00 00 73 72 63 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 b9 01 00 00 41 5b .........src/bootstrap.php....A[
4780 bc 5d b9 01 00 00 15 49 7d 9c b6 01 00 00 00 00 00 00 25 00 00 00 73 72 63 2f 43 6f 6d 70 6f 73 .].....I}.........%...src/Compos
47a0 65 72 2f 41 75 74 6f 6c 6f 61 64 2f 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 93 34 00 00 41 er/Autoload/ClassLoader.php.4..A
47c0 5b bc 5d 93 34 00 00 b2 7a 8d 96 b6 01 00 00 00 00 00 00 23 00 00 00 72 65 73 2f 63 6f 6d 70 6f [.].4...z..........#...res/compo
47e0 73 65 72 2d 72 65 70 6f 73 69 74 6f 72 79 2d 73 63 68 65 6d 61 2e 6a 73 6f 6e f0 0f 00 00 41 5b ser-repository-schema.json....A[
4800 bc 5d f0 0f 00 00 81 47 d0 e0 b6 01 00 00 00 00 00 00 18 00 00 00 72 65 73 2f 63 6f 6d 70 6f 73 .].....G..............res/compos
4820 65 72 2d 73 63 68 65 6d 61 2e 6a 73 6f 6e 1b 98 00 00 41 5b bc 5d 1b 98 00 00 1c d6 fd 20 b6 01 er-schema.json....A[.]..........
4840 00 00 00 00 00 00 36 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c ......6...vendor/composer/spdx-l
4860 69 63 65 6e 73 65 73 2f 72 65 73 2f 73 70 64 78 2d 65 78 63 65 70 74 69 6f 6e 73 2e 6a 73 6f 6e icenses/res/spdx-exceptions.json
4880 25 0a 00 00 41 5b bc 5d 25 0a 00 00 ef 42 f0 07 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 %...A[.]%....B..........4...vend
48a0 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 63 65 6e 73 65 73 2f 72 65 73 2f 73 70 or/composer/spdx-licenses/res/sp
48c0 64 78 2d 6c 69 63 65 6e 73 65 73 2e 6a 73 6f 6e d3 98 00 00 41 5b bc 5d d3 98 00 00 49 64 a4 f7 dx-licenses.json....A[.]....Id..
48e0 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f ........4...vendor/symfony/conso
4900 6c 65 2f 52 65 73 6f 75 72 63 65 73 2f 62 69 6e 2f 68 69 64 64 65 6e 69 6e 70 75 74 2e 65 78 65 le/Resources/bin/hiddeninput.exe
4920 00 24 00 00 41 5b bc 5d 00 24 00 00 95 8d a5 76 b6 01 00 00 00 00 00 00 26 00 00 00 76 65 6e 64 .$..A[.].$.....v........&...vend
4940 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 41 70 70 6c 69 63 61 74 69 6f 6e 2e 70 or/symfony/console/Application.p
4960 68 70 3d 58 00 00 41 5b bc 5d 3d 58 00 00 8f 20 53 92 b6 01 00 00 00 00 00 00 2a 00 00 00 76 65 hp=X..A[.]=X....S.........*...ve
4980 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 43 6f 6d 6d 61 6e 64 2f 43 6f 6d ndor/symfony/console/Command/Com
49a0 6d 61 6e 64 2e 70 68 70 ee 22 00 00 41 5b bc 5d ee 22 00 00 78 b0 6a d5 b6 01 00 00 00 00 00 00 mand.php."..A[.]."..x.j.........
49c0 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 43 6f 6d 6d 61 ....vendor/symfony/console/Comma
49e0 6e 64 2f 48 65 6c 70 43 6f 6d 6d 61 6e 64 2e 70 68 70 d8 07 00 00 41 5b bc 5d d8 07 00 00 a6 da nd/HelpCommand.php....A[.]......
4a00 2d 3a b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e -:............vendor/symfony/con
4a20 73 6f 6c 65 2f 43 6f 6d 6d 61 6e 64 2f 4c 69 73 74 43 6f 6d 6d 61 6e 64 2e 70 68 70 5a 08 00 00 sole/Command/ListCommand.phpZ...
4a40 41 5b bc 5d 5a 08 00 00 bb 77 04 60 b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 73 A[.]Z....w.`........(...vendor/s
4a60 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 2e 70 68 70 ymfony/console/ConsoleEvents.php
4a80 e9 00 00 00 41 5b bc 5d e9 00 00 00 52 db d4 65 b6 01 00 00 00 00 00 00 3c 00 00 00 76 65 6e 64 ....A[.]....R..e........<...vend
4aa0 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 41 70 or/symfony/console/Descriptor/Ap
4ac0 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 2e 70 68 70 d0 08 00 00 41 5b bc 5d plicationDescription.php....A[.]
4ae0 d0 08 00 00 99 8e 35 b0 b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f ......5.........0...vendor/symfo
4b00 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 44 65 73 63 72 69 70 74 6f 72 ny/console/Descriptor/Descriptor
4b20 2e 70 68 70 8f 07 00 00 41 5b bc 5d 8f 07 00 00 bf 4e 0f 95 b6 01 00 00 00 00 00 00 39 00 00 00 .php....A[.].....N..........9...
4b40 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f vendor/symfony/console/Descripto
4b60 72 2f 44 65 73 63 72 69 70 74 6f 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 fc 00 00 00 41 5b bc r/DescriptorInterface.php....A[.
4b80 5d fc 00 00 00 b1 51 07 b5 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 ].....Q..........4...vendor/symf
4ba0 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 4a 73 6f 6e 44 65 73 63 72 ony/console/Descriptor/JsonDescr
4bc0 69 70 74 6f 72 2e 70 68 70 dc 0d 00 00 41 5b bc 5d dc 0d 00 00 2a fb 9d c9 b6 01 00 00 00 00 00 iptor.php....A[.]....*..........
4be0 00 38 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 .8...vendor/symfony/console/Desc
4c00 72 69 70 74 6f 72 2f 4d 61 72 6b 64 6f 77 6e 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 b6 0e 00 riptor/MarkdownDescriptor.php...
4c20 00 41 5b bc 5d b6 0e 00 00 b7 d4 3b dd b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f .A[.]......;.........4...vendor/
4c40 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 44 65 73 63 72 69 70 74 6f 72 2f 54 65 78 74 44 symfony/console/Descriptor/TextD
4c60 65 73 63 72 69 70 74 6f 72 2e 70 68 70 bc 1e 00 00 41 5b bc 5d bc 1e 00 00 f2 e7 06 24 b6 01 00 escriptor.php....A[.].......$...
4c80 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f .....3...vendor/symfony/console/
4ca0 44 65 73 63 72 69 70 74 6f 72 2f 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 2e 70 68 70 01 1c 00 00 Descriptor/XmlDescriptor.php....
4cc0 41 5b bc 5d 01 1c 00 00 7f 62 7b 3c b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 A[.].....b{<........4...vendor/s
4ce0 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 76 65 6e 74 2f 43 6f 6e 73 6f 6c 65 43 6f 6d 6d ymfony/console/Event/ConsoleComm
4d00 61 6e 64 45 76 65 6e 74 2e 70 68 70 b0 01 00 00 41 5b bc 5d b0 01 00 00 07 21 00 c8 b6 01 00 00 andEvent.php....A[.].....!......
4d20 00 00 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 ....-...vendor/symfony/console/E
4d40 76 65 6e 74 2f 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 2e 70 68 70 c5 02 00 00 41 5b bc 5d c5 02 00 vent/ConsoleEvent.php....A[.]...
4d60 00 d2 78 db 5c b6 01 00 00 00 00 00 00 36 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ..x.\........6...vendor/symfony/
4d80 63 6f 6e 73 6f 6c 65 2f 45 76 65 6e 74 2f 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 console/Event/ConsoleExceptionEv
4da0 65 6e 74 2e 70 68 70 12 03 00 00 41 5b bc 5d 12 03 00 00 e1 16 32 e9 b6 01 00 00 00 00 00 00 36 ent.php....A[.]......2.........6
4dc0 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 76 65 6e 74 2f ...vendor/symfony/console/Event/
4de0 43 6f 6e 73 6f 6c 65 54 65 72 6d 69 6e 61 74 65 45 76 65 6e 74 2e 70 68 70 7a 02 00 00 41 5b bc ConsoleTerminateEvent.phpz...A[.
4e00 5d 7a 02 00 00 b3 2c ee 4c b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 ]z....,.L........=...vendor/symf
4e20 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 43 6f 6d 6d 61 6e 64 4e 6f 74 ony/console/Exception/CommandNot
4e40 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 d4 01 00 00 41 5b bc 5d d4 01 00 00 c8 f7 FoundException.php....A[.]......
4e60 20 4c b6 01 00 00 00 00 00 00 37 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e .L........7...vendor/symfony/con
4e80 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 sole/Exception/ExceptionInterfac
4ea0 65 2e 70 68 70 66 00 00 00 41 5b bc 5d 66 00 00 00 a1 41 42 aa b6 01 00 00 00 00 00 00 3d 00 00 e.phpf...A[.]f....AB.........=..
4ec0 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f .vendor/symfony/console/Exceptio
4ee0 6e 2f 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 a6 00 n/InvalidArgumentException.php..
4f00 00 00 41 5b bc 5d a6 00 00 00 d6 cc bd 5a b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 ..A[.].......Z........;...vendor
4f20 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c /symfony/console/Exception/Inval
4f40 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 a6 00 00 00 41 5b bc 5d a6 00 00 idOptionException.php....A[.]...
4f60 00 13 cb d7 48 b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ....H........3...vendor/symfony/
4f80 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e 2f 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e console/Exception/LogicException
4fa0 2e 70 68 70 92 00 00 00 41 5b bc 5d 92 00 00 00 cd 4f 5c 65 b6 01 00 00 00 00 00 00 35 00 00 00 .php....A[.].....O\e........5...
4fc0 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 45 78 63 65 70 74 69 6f 6e vendor/symfony/console/Exception
4fe0 2f 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 96 00 00 00 41 5b bc 5d 96 00 00 /RuntimeException.php....A[.]...
5000 00 d9 ed 2c 36 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ...,6........4...vendor/symfony/
5020 63 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 72 2f 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 console/Formatter/OutputFormatte
5040 72 2e 70 68 70 36 0e 00 00 41 5b bc 5d 36 0e 00 00 3f 3d a8 04 b6 01 00 00 00 00 00 00 3d 00 00 r.php6...A[.]6...?=..........=..
5060 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 .vendor/symfony/console/Formatte
5080 72 2f 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 8c 01 r/OutputFormatterInterface.php..
50a0 00 00 41 5b bc 5d 8c 01 00 00 f2 f1 f1 c0 b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 ..A[.]................9...vendor
50c0 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 72 2f 4f 75 74 70 75 /symfony/console/Formatter/Outpu
50e0 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 2e 70 68 70 46 10 00 00 41 5b bc 5d 46 10 00 00 1d tFormatterStyle.phpF...A[.]F....
5100 f0 a6 b4 b6 01 00 00 00 00 00 00 42 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f ...........B...vendor/symfony/co
5120 6e 73 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 72 2f 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 nsole/Formatter/OutputFormatterS
5140 74 79 6c 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 84 01 00 00 41 5b bc 5d 84 01 00 00 f7 bd 10 tyleInterface.php....A[.].......
5160 47 b6 01 00 00 00 00 00 00 3e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 G........>...vendor/symfony/cons
5180 6f 6c 65 2f 46 6f 72 6d 61 74 74 65 72 2f 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 ole/Formatter/OutputFormatterSty
51a0 6c 65 53 74 61 63 6b 2e 70 68 70 40 05 00 00 41 5b bc 5d 40 05 00 00 47 a8 fd 55 b6 01 00 00 00 leStack.php@...A[.]@...G..U.....
51c0 00 00 00 36 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 ...6...vendor/symfony/console/He
51e0 6c 70 65 72 2f 44 65 62 75 67 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 2e 70 68 70 79 08 00 lper/DebugFormatterHelper.phpy..
5200 00 41 5b bc 5d 79 08 00 00 cc 38 c6 d0 b6 01 00 00 00 00 00 00 32 00 00 00 76 65 6e 64 6f 72 2f .A[.]y....8..........2...vendor/
5220 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 44 65 73 63 72 69 70 74 6f symfony/console/Helper/Descripto
5240 72 48 65 6c 70 65 72 2e 70 68 70 77 05 00 00 41 5b bc 5d 77 05 00 00 7c a6 01 43 b6 01 00 00 00 rHelper.phpw...A[.]w...|..C.....
5260 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 .......vendor/symfony/console/He
5280 6c 70 65 72 2f 44 69 61 6c 6f 67 48 65 6c 70 65 72 2e 70 68 70 03 1f 00 00 41 5b bc 5d 03 1f 00 lper/DialogHelper.php....A[.]...
52a0 00 b9 dc c3 5f b6 01 00 00 00 00 00 00 31 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ...._........1...vendor/symfony/
52c0 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 2e 70 console/Helper/FormatterHelper.p
52e0 68 70 64 04 00 00 41 5b bc 5d 64 04 00 00 a7 d7 2c b8 b6 01 00 00 00 00 00 00 28 00 00 00 76 65 hpd...A[.]d.....,.........(...ve
5300 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 48 65 6c 70 ndor/symfony/console/Helper/Help
5320 65 72 2e 70 68 70 ab 07 00 00 41 5b bc 5d ab 07 00 00 21 90 a7 97 b6 01 00 00 00 00 00 00 31 00 er.php....A[.]....!...........1.
5340 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f ..vendor/symfony/console/Helper/
5360 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 e5 00 00 00 41 5b bc 5d e5 00 00 00 1f HelperInterface.php....A[.].....
5380 8a a0 18 b6 01 00 00 00 00 00 00 2b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f ...........+...vendor/symfony/co
53a0 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 48 65 6c 70 65 72 53 65 74 2e 70 68 70 ca 07 00 00 41 5b nsole/Helper/HelperSet.php....A[
53c0 bc 5d ca 07 00 00 e1 cf 57 22 b6 01 00 00 00 00 00 00 32 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .]......W"........2...vendor/sym
53e0 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 49 6e 70 75 74 41 77 61 72 65 48 65 fony/console/Helper/InputAwareHe
5400 6c 70 65 72 2e 70 68 70 63 01 00 00 41 5b bc 5d 63 01 00 00 06 cc f8 83 b6 01 00 00 00 00 00 00 lper.phpc...A[.]c...............
5420 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 /...vendor/symfony/console/Helpe
5440 72 2f 50 72 6f 63 65 73 73 48 65 6c 70 65 72 2e 70 68 70 d3 09 00 00 41 5b bc 5d d3 09 00 00 a9 r/ProcessHelper.php....A[.].....
5460 77 82 52 b6 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f w.R........-...vendor/symfony/co
5480 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 50 72 6f 67 72 65 73 73 42 61 72 2e 70 68 70 6c 25 00 00 nsole/Helper/ProgressBar.phpl%..
54a0 41 5b bc 5d 6c 25 00 00 20 64 ed db b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 A[.]l%...d..........0...vendor/s
54c0 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 50 72 6f 67 72 65 73 73 48 65 ymfony/console/Helper/ProgressHe
54e0 6c 70 65 72 2e 70 68 70 5d 1b 00 00 41 5b bc 5d 5d 1b 00 00 f9 bb 89 58 b6 01 00 00 00 00 00 00 lper.php]...A[.]]......X........
5500 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 3...vendor/symfony/console/Helpe
5520 72 2f 50 72 6f 67 72 65 73 73 49 6e 64 69 63 61 74 6f 72 2e 70 68 70 4e 14 00 00 41 5b bc 5d 4e r/ProgressIndicator.phpN...A[.]N
5540 14 00 00 ff a7 b3 6c b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e ......l........0...vendor/symfon
5560 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 2e y/console/Helper/QuestionHelper.
5580 70 68 70 6c 1d 00 00 41 5b bc 5d 6c 1d 00 00 4e 74 08 f3 b6 01 00 00 00 00 00 00 37 00 00 00 76 phpl...A[.]l...Nt..........7...v
55a0 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 53 79 6d endor/symfony/console/Helper/Sym
55c0 66 6f 6e 79 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 2e 70 68 70 96 0a 00 00 41 5b bc 5d 96 0a fonyQuestionHelper.php....A[.]..
55e0 00 00 2d 0c d8 1a b6 01 00 00 00 00 00 00 27 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ..-...........'...vendor/symfony
5600 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 54 61 62 6c 65 2e 70 68 70 c4 2a 00 00 41 5b bc /console/Helper/Table.php.*..A[.
5620 5d c4 2a 00 00 be 99 d8 54 b6 01 00 00 00 00 00 00 2b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 ].*.....T........+...vendor/symf
5640 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 54 61 62 6c 65 43 65 6c 6c 2e 70 68 70 ony/console/Helper/TableCell.php
5660 81 03 00 00 41 5b bc 5d 81 03 00 00 e5 16 56 5e b6 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 ....A[.]......V^........-...vend
5680 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 54 61 62 6c 65 48 or/symfony/console/Helper/TableH
56a0 65 6c 70 65 72 2e 70 68 70 0e 0c 00 00 41 5b bc 5d 0e 0c 00 00 9b 75 f4 99 b6 01 00 00 00 00 00 elper.php....A[.].....u.........
56c0 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 .0...vendor/symfony/console/Help
56e0 65 72 2f 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 2e 70 68 70 ca 00 00 00 41 5b bc 5d ca 00 00 er/TableSeparator.php....A[.]...
5700 00 61 7a 1f 1c b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .az..........,...vendor/symfony/
5720 63 6f 6e 73 6f 6c 65 2f 48 65 6c 70 65 72 2f 54 61 62 6c 65 53 74 79 6c 65 2e 70 68 70 20 0a 00 console/Helper/TableStyle.php...
5740 00 41 5b bc 5d 20 0a 00 00 5f cd 49 22 b6 01 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 2f .A[.]...._.I"........*...vendor/
5760 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 41 72 67 76 49 6e 70 75 74 2e symfony/console/Input/ArgvInput.
5780 70 68 70 0f 16 00 00 41 5b bc 5d 0f 16 00 00 d7 f6 86 9b b6 01 00 00 00 00 00 00 2b 00 00 00 76 php....A[.]................+...v
57a0 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 41 72 72 61 endor/symfony/console/Input/Arra
57c0 79 49 6e 70 75 74 2e 70 68 70 29 0b 00 00 41 5b bc 5d 29 0b 00 00 a5 d1 06 43 b6 01 00 00 00 00 yInput.php)...A[.])......C......
57e0 00 00 26 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 ..&...vendor/symfony/console/Inp
5800 75 74 2f 49 6e 70 75 74 2e 70 68 70 a3 0b 00 00 41 5b bc 5d a3 0b 00 00 13 66 a1 3f b6 01 00 00 ut/Input.php....A[.].....f.?....
5820 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 ........vendor/symfony/console/I
5840 6e 70 75 74 2f 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 2e 70 68 70 12 06 00 00 41 5b bc 5d 12 06 nput/InputArgument.php....A[.]..
5860 00 00 44 0d a3 06 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ..D...........4...vendor/symfony
5880 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 61 /console/Input/InputAwareInterfa
58a0 63 65 2e 70 68 70 98 00 00 00 41 5b bc 5d 98 00 00 00 ad 0f 4f b0 b6 01 00 00 00 00 00 00 30 00 ce.php....A[.]......O.........0.
58c0 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 ..vendor/symfony/console/Input/I
58e0 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 2e 70 68 70 86 19 00 00 41 5b bc 5d 86 19 00 00 a4 55 nputDefinition.php....A[.].....U
5900 29 a4 b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e )........./...vendor/symfony/con
5920 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 a3 03 00 sole/Input/InputInterface.php...
5940 00 41 5b bc 5d a3 03 00 00 c6 42 8c 27 b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f .A[.].....B.'........,...vendor/
5960 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 49 6e 70 75 74 4f 70 74 69 6f symfony/console/Input/InputOptio
5980 6e 2e 70 68 70 14 0c 00 00 41 5b bc 5d 14 0c 00 00 5c a2 dc 3d b6 01 00 00 00 00 00 00 2c 00 00 n.php....A[.]....\..=........,..
59a0 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 49 6e 70 75 74 2f 53 74 .vendor/symfony/console/Input/St
59c0 72 69 6e 67 49 6e 70 75 74 2e 70 68 70 9a 06 00 00 41 5b bc 5d 9a 06 00 00 9e b5 0d e8 b6 01 00 ringInput.php....A[.]...........
59e0 00 00 00 00 00 1e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f .........vendor/symfony/console/
5a00 4c 49 43 45 4e 53 45 29 04 00 00 41 5b bc 5d 29 04 00 00 4e 55 4e bd b6 01 00 00 00 00 00 00 2f LICENSE)...A[.])...NUN........./
5a20 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4c 6f 67 67 65 72 ...vendor/symfony/console/Logger
5a40 2f 43 6f 6e 73 6f 6c 65 4c 6f 67 67 65 72 2e 70 68 70 30 09 00 00 41 5b bc 5d 30 09 00 00 85 8d /ConsoleLogger.php0...A[.]0.....
5a60 0d b8 b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e ..........0...vendor/symfony/con
5a80 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 2e 70 68 70 5f 01 sole/Output/BufferedOutput.php_.
5aa0 00 00 41 5b bc 5d 5f 01 00 00 8b a0 3e 50 b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 ..A[.]_.....>P......../...vendor
5ac0 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 43 6f 6e 73 6f 6c 65 4f /symfony/console/Output/ConsoleO
5ae0 75 74 70 75 74 2e 70 68 70 b1 07 00 00 41 5b bc 5d b1 07 00 00 6e ec 21 66 b6 01 00 00 00 00 00 utput.php....A[.]....n.!f.......
5b00 00 38 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 .8...vendor/symfony/console/Outp
5b20 75 74 2f 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 e0 00 00 ut/ConsoleOutputInterface.php...
5b40 00 41 5b bc 5d e0 00 00 00 87 86 c6 ca b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f .A[.]................,...vendor/
5b60 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 4e 75 6c 6c 4f 75 74 70 75 symfony/console/Output/NullOutpu
5b80 74 2e 70 68 70 cf 03 00 00 41 5b bc 5d cf 03 00 00 ae 98 8b 5a b6 01 00 00 00 00 00 00 28 00 00 t.php....A[.].......Z........(..
5ba0 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 4f .vendor/symfony/console/Output/O
5bc0 75 74 70 75 74 2e 70 68 70 98 09 00 00 41 5b bc 5d 98 09 00 00 30 70 04 08 b6 01 00 00 00 00 00 utput.php....A[.]....0p.........
5be0 00 31 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 .1...vendor/symfony/console/Outp
5c00 75 74 2f 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 2e 70 68 70 17 03 00 00 41 5b bc 5d 17 03 ut/OutputInterface.php....A[.]..
5c20 00 00 00 ec 06 26 b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 .....&............vendor/symfony
5c40 2f 63 6f 6e 73 6f 6c 65 2f 4f 75 74 70 75 74 2f 53 74 72 65 61 6d 4f 75 74 70 75 74 2e 70 68 70 /console/Output/StreamOutput.php
5c60 9d 06 00 00 41 5b bc 5d 9d 06 00 00 c4 92 4f e7 b6 01 00 00 00 00 00 00 32 00 00 00 76 65 6e 64 ....A[.]......O.........2...vend
5c80 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 51 75 65 73 74 69 6f 6e 2f 43 68 6f 69 or/symfony/console/Question/Choi
5ca0 63 65 51 75 65 73 74 69 6f 6e 2e 70 68 70 78 0a 00 00 41 5b bc 5d 78 0a 00 00 57 16 80 21 b6 01 ceQuestion.phpx...A[.]x...W..!..
5cc0 00 00 00 00 00 00 38 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 ......8...vendor/symfony/console
5ce0 2f 51 75 65 73 74 69 6f 6e 2f 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 2e 70 /Question/ConfirmationQuestion.p
5d00 68 70 e8 02 00 00 41 5b bc 5d e8 02 00 00 2f 1d d4 8f b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 hp....A[.]..../...........,...ve
5d20 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 51 75 65 73 74 69 6f 6e 2f 51 75 ndor/symfony/console/Question/Qu
5d40 65 73 74 69 6f 6e 2e 70 68 70 ce 09 00 00 41 5b bc 5d ce 09 00 00 6c 46 0f 10 b6 01 00 00 00 00 estion.php....A[.]....lF........
5d60 00 00 20 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 68 65 ......vendor/symfony/console/She
5d80 6c 6c 2e 70 68 70 e6 0f 00 00 41 5b bc 5d e6 0f 00 00 bc 58 d2 41 b6 01 00 00 00 00 00 00 2c 00 ll.php....A[.].....X.A........,.
5da0 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 74 79 6c 65 2f 4f ..vendor/symfony/console/Style/O
5dc0 75 74 70 75 74 53 74 79 6c 65 2e 70 68 70 5c 05 00 00 41 5b bc 5d 5c 05 00 00 77 d7 a4 04 b6 01 utputStyle.php\...A[.]\...w.....
5de0 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 ....../...vendor/symfony/console
5e00 2f 53 74 79 6c 65 2f 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 cf 03 00 00 41 5b bc /Style/StyleInterface.php....A[.
5e20 5d cf 03 00 00 26 6e c5 d1 b6 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 ]....&n..........-...vendor/symf
5e40 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 53 74 79 6c 65 2f 53 79 6d 66 6f 6e 79 53 74 79 6c 65 2e 70 ony/console/Style/SymfonyStyle.p
5e60 68 70 e4 1f 00 00 41 5b bc 5d e4 1f 00 00 ad e5 20 28 b6 01 00 00 00 00 00 00 33 00 00 00 76 65 hp....A[.].......(........3...ve
5e80 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 2f 54 65 73 74 65 72 2f 41 70 70 6c ndor/symfony/console/Tester/Appl
5ea0 69 63 61 74 69 6f 6e 54 65 73 74 65 72 2e 70 68 70 cf 05 00 00 41 5b bc 5d cf 05 00 00 73 9e 39 icationTester.php....A[.]....s.9
5ec0 69 b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 i......../...vendor/symfony/cons
5ee0 6f 6c 65 2f 54 65 73 74 65 72 2f 43 6f 6d 6d 61 6e 64 54 65 73 74 65 72 2e 70 68 70 aa 06 00 00 ole/Tester/CommandTester.php....
5f00 41 5b bc 5d aa 06 00 00 ac 4b 0c 7a b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 73 A[.].....K.z........(...vendor/s
5f20 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 42 75 66 66 65 72 69 6e 67 4c 6f 67 67 65 72 2e 70 68 70 ymfony/debug/BufferingLogger.php
5f40 74 01 00 00 41 5b bc 5d 74 01 00 00 3d 00 68 dc b6 01 00 00 00 00 00 00 1e 00 00 00 76 65 6e 64 t...A[.]t...=.h.............vend
5f60 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 44 65 62 75 67 2e 70 68 70 2c 03 00 00 41 5b or/symfony/debug/Debug.php,...A[
5f80 bc 5d 2c 03 00 00 cb 7e 8e 2e b6 01 00 00 00 00 00 00 29 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .],....~..........)...vendor/sym
5fa0 66 6f 6e 79 2f 64 65 62 75 67 2f 44 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 b5 fony/debug/DebugClassLoader.php.
5fc0 1d 00 00 41 5b bc 5d b5 1d 00 00 31 72 45 d3 b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f ...A[.]....1rE.........%...vendo
5fe0 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 r/symfony/debug/ErrorHandler.php
6000 1d 48 00 00 41 5b bc 5d 1d 48 00 00 b9 3a 44 23 b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 .H..A[.].H...:D#........9...vend
6020 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 43 6c 61 73 73 or/symfony/debug/Exception/Class
6040 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 96 01 00 00 41 5b bc 5d 96 01 00 NotFoundException.php....A[.]...
6060 00 69 89 e6 f4 b6 01 00 00 00 00 00 00 38 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .i...........8...vendor/symfony/
6080 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 debug/Exception/ContextErrorExce
60a0 70 74 69 6f 6e 2e 70 68 70 98 01 00 00 41 5b bc 5d 98 01 00 00 2d 0a 64 32 b6 01 00 00 00 00 00 ption.php....A[.]....-.d2.......
60c0 00 31 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 .1...vendor/symfony/debug/Except
60e0 69 6f 6e 2f 44 75 6d 6d 79 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 02 01 00 00 41 5b bc 5d 02 01 ion/DummyException.php....A[.]..
6100 00 00 ae 2b c3 ea b6 01 00 00 00 00 00 00 36 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ...+..........6...vendor/symfony
6120 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 /debug/Exception/FatalErrorExcep
6140 74 69 6f 6e 2e 70 68 70 0e 07 00 00 41 5b bc 5d 0e 07 00 00 1b 17 99 c4 b6 01 00 00 00 00 00 00 tion.php....A[.]................
6160 36 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6...vendor/symfony/debug/Excepti
6180 6f 6e 2f 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 2e 70 68 70 57 02 00 00 41 5b on/FatalThrowableError.phpW...A[
61a0 bc 5d 57 02 00 00 3f e0 e8 4b b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .]W...?..K........3...vendor/sym
61c0 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 46 6c 61 74 74 65 6e 45 78 63 65 fony/debug/Exception/FlattenExce
61e0 70 74 69 6f 6e 2e 70 68 70 bc 16 00 00 41 5b bc 5d bc 16 00 00 11 15 0c d7 b6 01 00 00 00 00 00 ption.php....A[.]...............
6200 00 37 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 .7...vendor/symfony/debug/Except
6220 69 6f 6e 2f 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 7e 00 00 00 ion/OutOfMemoryException.php~...
6240 41 5b bc 5d 7e 00 00 00 eb a8 6f e2 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 A[.]~.....o.........=...vendor/s
6260 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 55 6e 64 65 66 69 6e 65 64 ymfony/debug/Exception/Undefined
6280 46 75 6e 63 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 9a 01 00 00 41 5b bc 5d 9a 01 00 FunctionException.php....A[.]...
62a0 00 81 f1 4a c0 b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ...J.........;...vendor/symfony/
62c0 64 65 62 75 67 2f 45 78 63 65 70 74 69 6f 6e 2f 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 45 debug/Exception/UndefinedMethodE
62e0 78 63 65 70 74 69 6f 6e 2e 70 68 70 98 01 00 00 41 5b bc 5d 98 01 00 00 6e f6 ea d8 b6 01 00 00 xception.php....A[.]....n.......
6300 00 00 00 00 29 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 45 78 63 ....)...vendor/symfony/debug/Exc
6320 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 2e 70 68 70 29 33 00 00 41 5b bc 5d 29 33 00 00 81 68 35 eptionHandler.php)3..A[.])3...h5
6340 3d b6 01 00 00 00 00 00 00 49 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 =........I...vendor/symfony/debu
6360 67 2f 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2f 43 6c 61 73 73 4e 6f 74 46 6f 75 6e g/FatalErrorHandler/ClassNotFoun
6380 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 41 12 00 00 41 5b bc 5d 41 12 dFatalErrorHandler.phpA...A[.]A.
63a0 00 00 cf a4 b9 6c b6 01 00 00 00 00 00 00 45 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 .....l........E...vendor/symfony
63c0 2f 64 65 62 75 67 2f 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2f 46 61 74 61 6c 45 72 /debug/FatalErrorHandler/FatalEr
63e0 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 03 01 00 00 41 5b bc 5d 03 rorHandlerInterface.php....A[.].
6400 01 00 00 c4 b9 42 56 b6 01 00 00 00 00 00 00 4d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e .....BV........M...vendor/symfon
6420 79 2f 64 65 62 75 67 2f 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2f 55 6e 64 65 66 69 y/debug/FatalErrorHandler/Undefi
6440 6e 65 64 46 75 6e 63 74 69 6f 6e 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 2e 70 68 70 nedFunctionFatalErrorHandler.php
6460 78 08 00 00 41 5b bc 5d 78 08 00 00 7e f2 22 7f b6 01 00 00 00 00 00 00 4b 00 00 00 76 65 6e 64 x...A[.]x...~.".........K...vend
6480 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c or/symfony/debug/FatalErrorHandl
64a0 65 72 2f 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 er/UndefinedMethodFatalErrorHand
64c0 6c 65 72 2e 70 68 70 4f 05 00 00 41 5b bc 5d 4f 05 00 00 8d 9e a6 2a b6 01 00 00 00 00 00 00 1c ler.phpO...A[.]O......*.........
64e0 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 2f 4c 49 43 45 4e 53 45 29 ...vendor/symfony/debug/LICENSE)
6500 04 00 00 41 5b bc 5d 29 04 00 00 4e 55 4e bd b6 01 00 00 00 00 00 00 3a 00 00 00 76 65 6e 64 6f ...A[.])...NUN.........:...vendo
6520 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 2f 45 78 63 65 70 74 69 6f 6e 2f 45 r/symfony/filesystem/Exception/E
6540 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 70 69 00 00 00 41 5b bc 5d 69 00 00 xceptionInterface.phpi...A[.]i..
6560 00 24 20 ff 9b b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .$...........=...vendor/symfony/
6580 66 69 6c 65 73 79 73 74 65 6d 2f 45 78 63 65 70 74 69 6f 6e 2f 46 69 6c 65 4e 6f 74 46 6f 75 6e filesystem/Exception/FileNotFoun
65a0 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 bc 01 00 00 41 5b bc 5d bc 01 00 00 70 ed 5c b6 b6 01 dException.php....A[.]....p.\...
65c0 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 ......3...vendor/symfony/filesys
65e0 74 65 6d 2f 45 78 63 65 70 74 69 6f 6e 2f 49 4f 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 87 01 00 tem/Exception/IOException.php...
6600 00 41 5b bc 5d 87 01 00 00 80 fc 23 d1 b6 01 00 00 00 00 00 00 3c 00 00 00 76 65 6e 64 6f 72 2f .A[.]......#.........<...vendor/
6620 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 2f 45 78 63 65 70 74 69 6f 6e 2f 49 4f 45 symfony/filesystem/Exception/IOE
6640 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 70 a6 00 00 00 41 5b bc 5d a6 00 00 xceptionInterface.php....A[.]...
6660 00 6a d9 77 4d b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .j.wM........(...vendor/symfony/
6680 66 69 6c 65 73 79 73 74 65 6d 2f 46 69 6c 65 73 79 73 74 65 6d 2e 70 68 70 63 34 00 00 41 5b bc filesystem/Filesystem.phpc4..A[.
66a0 5d 63 34 00 00 8b d7 40 fe b6 01 00 00 00 00 00 00 21 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 ]c4....@.........!...vendor/symf
66c0 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d 2f 4c 49 43 45 4e 53 45 29 04 00 00 41 5b bc 5d 29 04 ony/filesystem/LICENSE)...A[.]).
66e0 00 00 4e 55 4e bd b6 01 00 00 00 00 00 00 29 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 ..NUN.........)...vendor/symfony
6700 2f 66 69 6c 65 73 79 73 74 65 6d 2f 4c 6f 63 6b 48 61 6e 64 6c 65 72 2e 70 68 70 f6 05 00 00 41 /filesystem/LockHandler.php....A
6720 5b bc 5d f6 05 00 00 9f 5a b5 31 b6 01 00 00 00 00 00 00 31 00 00 00 76 65 6e 64 6f 72 2f 73 79 [.].....Z.1........1...vendor/sy
6740 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 41 62 73 74 72 61 63 74 41 64 61 mfony/finder/Adapter/AbstractAda
6760 70 74 65 72 2e 70 68 70 5c 0b 00 00 41 5b bc 5d 5c 0b 00 00 68 19 88 42 b6 01 00 00 00 00 00 00 pter.php\...A[.]\...h..B........
6780 35 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 41 64 61 70 74 65 5...vendor/symfony/finder/Adapte
67a0 72 2f 41 62 73 74 72 61 63 74 46 69 6e 64 41 64 61 70 74 65 72 2e 70 68 70 8f 19 00 00 41 5b bc r/AbstractFindAdapter.php....A[.
67c0 5d 8f 19 00 00 48 43 80 2f b6 01 00 00 00 00 00 00 32 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 ]....HC./........2...vendor/symf
67e0 6f 6e 79 2f 66 69 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 41 64 61 70 74 65 72 49 6e 74 65 72 66 ony/finder/Adapter/AdapterInterf
6800 61 63 65 2e 70 68 70 9b 03 00 00 41 5b bc 5d 9b 03 00 00 4d 07 fe 1b b6 01 00 00 00 00 00 00 30 ace.php....A[.]....M...........0
6820 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 41 64 61 70 74 65 72 ...vendor/symfony/finder/Adapter
6840 2f 42 73 64 46 69 6e 64 41 64 61 70 74 65 72 2e 70 68 70 33 07 00 00 41 5b bc 5d 33 07 00 00 37 /BsdFindAdapter.php3...A[.]3...7
6860 35 24 b7 b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 5$.........0...vendor/symfony/fi
6880 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 47 6e 75 46 69 6e 64 41 64 61 70 74 65 72 2e 70 68 70 15 nder/Adapter/GnuFindAdapter.php.
68a0 07 00 00 41 5b bc 5d 15 07 00 00 9f 1c 60 5d b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f ...A[.]......`]........,...vendo
68c0 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 41 64 61 70 74 65 72 2f 50 68 70 41 64 61 70 r/symfony/finder/Adapter/PhpAdap
68e0 74 65 72 2e 70 68 70 f4 07 00 00 41 5b bc 5d f4 07 00 00 de 64 e8 3b b6 01 00 00 00 00 00 00 2f ter.php....A[.].....d.;......../
6900 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 43 6f 6d 70 61 72 61 ...vendor/symfony/finder/Compara
6920 74 6f 72 2f 43 6f 6d 70 61 72 61 74 6f 72 2e 70 68 70 8d 03 00 00 41 5b bc 5d 8d 03 00 00 be fc tor/Comparator.php....A[.]......
6940 9c b5 b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e ..........3...vendor/symfony/fin
6960 64 65 72 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 2e 70 68 der/Comparator/DateComparator.ph
6980 70 23 03 00 00 41 5b bc 5d 23 03 00 00 16 b0 1f ce b6 01 00 00 00 00 00 00 35 00 00 00 76 65 6e p#...A[.]#...............5...ven
69a0 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 43 6f 6d 70 61 72 61 74 6f 72 2f 4e 75 dor/symfony/finder/Comparator/Nu
69c0 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 2e 70 68 70 7c 03 00 00 41 5b bc 5d 7c 03 00 00 49 54 mberComparator.php|...A[.]|...IT
69e0 c7 cd b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e ..........9...vendor/symfony/fin
6a00 64 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 41 63 63 65 73 73 44 65 6e 69 65 64 45 78 63 65 70 74 der/Exception/AccessDeniedExcept
6a20 69 6f 6e 2e 70 68 70 84 00 00 00 41 5b bc 5d 84 00 00 00 bd be 73 9c b6 01 00 00 00 00 00 00 3b ion.php....A[.]......s.........;
6a40 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 63 65 70 74 69 ...vendor/symfony/finder/Excepti
6a60 6f 6e 2f 41 64 61 70 74 65 72 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 ac 02 on/AdapterFailureException.php..
6a80 00 00 41 5b bc 5d ac 02 00 00 77 1e 18 52 b6 01 00 00 00 00 00 00 36 00 00 00 76 65 6e 64 6f 72 ..A[.]....w..R........6...vendor
6aa0 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 63 65 70 74 69 6f 6e 2f 45 78 63 65 70 74 /symfony/finder/Exception/Except
6ac0 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 70 84 00 00 00 41 5b bc 5d 84 00 00 00 1c 47 7a 2d ionInterface.php....A[.].....Gz-
6ae0 b6 01 00 00 00 00 00 00 41 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 ........A...vendor/symfony/finde
6b00 72 2f 45 78 63 65 70 74 69 6f 6e 2f 4f 70 65 72 61 74 69 6f 6e 4e 6f 74 50 65 72 6d 69 74 65 64 r/Exception/OperationNotPermited
6b20 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 29 01 00 00 41 5b bc 5d 29 01 00 00 78 1f a7 65 b6 01 00 Exception.php)...A[.])...x..e...
6b40 00 00 00 00 00 40 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 .....@...vendor/symfony/finder/E
6b60 78 63 65 70 74 69 6f 6e 2f 53 68 65 6c 6c 43 6f 6d 6d 61 6e 64 46 61 69 6c 75 72 65 45 78 63 65 xception/ShellCommandFailureExce
6b80 70 74 69 6f 6e 2e 70 68 70 ba 02 00 00 41 5b bc 5d ba 02 00 00 98 fe 15 98 b6 01 00 00 00 00 00 ption.php....A[.]...............
6ba0 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 70 72 65 ./...vendor/symfony/finder/Expre
6bc0 73 73 69 6f 6e 2f 45 78 70 72 65 73 73 69 6f 6e 2e 70 68 70 07 06 00 00 41 5b bc 5d 07 06 00 00 ssion/Expression.php....A[.]....
6be0 69 a5 3a c5 b6 01 00 00 00 00 00 00 29 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 i.:.........)...vendor/symfony/f
6c00 69 6e 64 65 72 2f 45 78 70 72 65 73 73 69 6f 6e 2f 47 6c 6f 62 2e 70 68 70 66 04 00 00 41 5b bc inder/Expression/Glob.phpf...A[.
6c20 5d 66 04 00 00 44 de 63 6a b6 01 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 ]f...D.cj........*...vendor/symf
6c40 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 70 72 65 73 73 69 6f 6e 2f 52 65 67 65 78 2e 70 68 70 04 ony/finder/Expression/Regex.php.
6c60 0f 00 00 41 5b bc 5d 04 0f 00 00 fc 28 c3 cf b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f ...A[.].....(..........3...vendo
6c80 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 45 78 70 72 65 73 73 69 6f 6e 2f 56 61 6c 75 r/symfony/finder/Expression/Valu
6ca0 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 cd 01 00 00 41 5b bc 5d cd 01 00 00 5c 70 34 86 b6 01 eInterface.php....A[.]....\p4...
6cc0 00 00 00 00 00 00 20 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f ..........vendor/symfony/finder/
6ce0 46 69 6e 64 65 72 2e 70 68 70 63 2e 00 00 41 5b bc 5d 63 2e 00 00 3a 88 35 67 b6 01 00 00 00 00 Finder.phpc...A[.]c...:.5g......
6d00 00 00 1e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 47 6c 6f 62 ......vendor/symfony/finder/Glob
6d20 2e 70 68 70 4c 05 00 00 41 5b bc 5d 4c 05 00 00 6a cd 39 d7 b6 01 00 00 00 00 00 00 37 00 00 00 .phpL...A[.]L...j.9.........7...
6d40 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 43 vendor/symfony/finder/Iterator/C
6d60 75 73 74 6f 6d 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 5d 02 00 00 41 5b bc 5d 5d ustomFilterIterator.php]...A[.]]
6d80 02 00 00 ce 6f c5 c6 b6 01 00 00 00 00 00 00 3a 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e ....o..........:...vendor/symfon
6da0 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 44 61 74 65 52 61 6e 67 65 46 69 6c 74 65 y/finder/Iterator/DateRangeFilte
6dc0 72 49 74 65 72 61 74 6f 72 2e 70 68 70 78 02 00 00 41 5b bc 5d 78 02 00 00 0f f4 03 50 b6 01 00 rIterator.phpx...A[.]x......P...
6de0 00 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 .....;...vendor/symfony/finder/I
6e00 74 65 72 61 74 6f 72 2f 44 65 70 74 68 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 terator/DepthRangeFilterIterator
6e20 2e 70 68 70 ee 01 00 00 41 5b bc 5d ee 01 00 00 fc cd 9d 71 b6 01 00 00 00 00 00 00 41 00 00 00 .php....A[.].......q........A...
6e40 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 45 vendor/symfony/finder/Iterator/E
6e60 78 63 6c 75 64 65 44 69 72 65 63 74 6f 72 79 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 xcludeDirectoryFilterIterator.ph
6e80 70 ed 05 00 00 41 5b bc 5d ed 05 00 00 6e 05 f5 48 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e p....A[.]....n..H........4...ven
6ea0 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 46 69 6c 65 dor/symfony/finder/Iterator/File
6ec0 50 61 74 68 73 49 74 65 72 61 74 6f 72 2e 70 68 70 23 06 00 00 41 5b bc 5d 23 06 00 00 47 3f 54 PathsIterator.php#...A[.]#...G?T
6ee0 bd b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 .........9...vendor/symfony/find
6f00 65 72 2f 49 74 65 72 61 74 6f 72 2f 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 er/Iterator/FileTypeFilterIterat
6f20 6f 72 2e 70 68 70 5a 02 00 00 41 5b bc 5d 5a 02 00 00 28 1a 26 f8 b6 01 00 00 00 00 00 00 3c 00 or.phpZ...A[.]Z...(.&.........<.
6f40 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 ..vendor/symfony/finder/Iterator
6f60 2f 46 69 6c 65 63 6f 6e 74 65 6e 74 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 35 02 /FilecontentFilterIterator.php5.
6f80 00 00 41 5b bc 5d 35 02 00 00 9a ed 1f 14 b6 01 00 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 ..A[.]5...............9...vendor
6fa0 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 46 69 6c 65 6e 61 6d /symfony/finder/Iterator/Filenam
6fc0 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 72 01 00 00 41 5b bc 5d 72 01 00 00 74 eFilterIterator.phpr...A[.]r...t
6fe0 08 1a 75 b6 01 00 00 00 00 00 00 31 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 ..u........1...vendor/symfony/fi
7000 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 nder/Iterator/FilterIterator.php
7020 c3 02 00 00 41 5b bc 5d c3 02 00 00 9a 2b b5 de b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 ....A[.].....+..........=...vend
7040 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 4d 75 6c 74 69 or/symfony/finder/Iterator/Multi
7060 70 6c 65 50 63 72 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 2d 05 00 00 41 5b bc plePcreFilterIterator.php-...A[.
7080 5d 2d 05 00 00 ba ce d2 5f b6 01 00 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 ]-......_........5...vendor/symf
70a0 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 50 61 74 68 46 69 6c 74 65 72 49 74 ony/finder/Iterator/PathFilterIt
70c0 65 72 61 74 6f 72 2e 70 68 70 d0 01 00 00 41 5b bc 5d d0 01 00 00 12 82 08 63 b6 01 00 00 00 00 erator.php....A[.].......c......
70e0 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 ..=...vendor/symfony/finder/Iter
7100 61 74 6f 72 2f 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 2e ator/RecursiveDirectoryIterator.
7120 70 68 70 15 09 00 00 41 5b bc 5d 15 09 00 00 eb 5d ed bb b6 01 00 00 00 00 00 00 3a 00 00 00 76 php....A[.].....]..........:...v
7140 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 53 69 endor/symfony/finder/Iterator/Si
7160 7a 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 2e 70 68 70 65 02 00 00 41 5b bc zeRangeFilterIterator.phpe...A[.
7180 5d 65 02 00 00 9f 92 e1 e9 b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 ]e...............3...vendor/symf
71a0 6f 6e 79 2f 66 69 6e 64 65 72 2f 49 74 65 72 61 74 6f 72 2f 53 6f 72 74 61 62 6c 65 49 74 65 72 ony/finder/Iterator/SortableIter
71c0 61 74 6f 72 2e 70 68 70 2b 06 00 00 41 5b bc 5d 2b 06 00 00 f5 dd cb 20 b6 01 00 00 00 00 00 00 ator.php+...A[.]+...............
71e0 1d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 4c 49 43 45 4e 53 ....vendor/symfony/finder/LICENS
7200 45 29 04 00 00 41 5b bc 5d 29 04 00 00 4e 55 4e bd b6 01 00 00 00 00 00 00 27 00 00 00 76 65 6e E)...A[.])...NUN.........'...ven
7220 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 68 65 6c 6c 2f 43 6f 6d 6d 61 6e 64 dor/symfony/finder/Shell/Command
7240 2e 70 68 70 3e 0b 00 00 41 5b bc 5d 3e 0b 00 00 5f 7e 75 0c b6 01 00 00 00 00 00 00 25 00 00 00 .php>...A[.]>..._~u.........%...
7260 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 68 65 6c 6c 2f 53 68 65 6c vendor/symfony/finder/Shell/Shel
7280 6c 2e 70 68 70 72 04 00 00 41 5b bc 5d 72 04 00 00 fe 1d 70 4e b6 01 00 00 00 00 00 00 25 00 00 l.phpr...A[.]r.....pN........%..
72a0 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 2f 53 70 6c 46 69 6c 65 49 6e .vendor/symfony/finder/SplFileIn
72c0 66 6f 2e 70 68 70 06 03 00 00 41 5b bc 5d 06 03 00 00 fe 00 ed f9 b6 01 00 00 00 00 00 00 27 00 fo.php....A[.]................'.
72e0 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 2f ..vendor/symfony/polyfill-ctype/
7300 43 74 79 70 65 2e 70 68 70 48 09 00 00 41 5b bc 5d 48 09 00 00 b3 9d d5 dd b6 01 00 00 00 00 00 Ctype.phpH...A[.]H..............
7320 00 25 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 .%...vendor/symfony/polyfill-cty
7340 70 65 2f 4c 49 43 45 4e 53 45 29 04 00 00 41 5b bc 5d 29 04 00 00 b4 60 65 30 b6 01 00 00 00 00 pe/LICENSE)...A[.])....`e0......
7360 00 00 2b 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 ..+...vendor/symfony/polyfill-ct
7380 79 70 65 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 49 03 00 00 41 5b bc 5d 49 03 00 00 8f 44 21 ype/bootstrap.phpI...A[.]I....D!
73a0 65 b6 01 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 e........(...vendor/symfony/poly
73c0 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 4c 49 43 45 4e 53 45 29 04 00 00 41 5b bc 5d 29 04 00 fill-mbstring/LICENSE)...A[.])..
73e0 00 1f 93 5c aa b6 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f ...\.........-...vendor/symfony/
7400 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 4d 62 73 74 72 69 6e 67 2e 70 68 70 f5 45 polyfill-mbstring/Mbstring.php.E
7420 00 00 41 5b bc 5d f5 45 00 00 17 4b 22 dc b6 01 00 00 00 00 00 00 40 00 00 00 76 65 6e 64 6f 72 ..A[.].E...K".........@...vendor
7440 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 52 65 73 6f 75 /symfony/polyfill-mbstring/Resou
7460 72 63 65 73 2f 75 6e 69 64 61 74 61 2f 6c 6f 77 65 72 43 61 73 65 2e 70 68 70 f7 40 00 00 41 5b rces/unidata/lowerCase.php.@..A[
7480 bc 5d f7 40 00 00 f5 10 9e d8 b6 01 00 00 00 00 00 00 46 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d .].@..............F...vendor/sym
74a0 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 52 65 73 6f 75 72 63 65 73 fony/polyfill-mbstring/Resources
74c0 2f 75 6e 69 64 61 74 61 2f 74 69 74 6c 65 43 61 73 65 52 65 67 65 78 70 2e 70 68 70 e3 17 00 00 /unidata/titleCaseRegexp.php....
74e0 41 5b bc 5d e3 17 00 00 f6 79 5f 95 b6 01 00 00 00 00 00 00 40 00 00 00 76 65 6e 64 6f 72 2f 73 A[.].....y_.........@...vendor/s
7500 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 52 65 73 6f 75 72 63 ymfony/polyfill-mbstring/Resourc
7520 65 73 2f 75 6e 69 64 61 74 61 2f 75 70 70 65 72 43 61 73 65 2e 70 68 70 66 41 00 00 41 5b bc 5d es/unidata/upperCase.phpfA..A[.]
7540 66 41 00 00 da 66 94 df b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f fA...f..............vendor/symfo
7560 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 2f 62 6f 6f 74 73 74 72 61 70 2e 70 ny/polyfill-mbstring/bootstrap.p
7580 68 70 82 11 00 00 41 5b bc 5d 82 11 00 00 c0 91 a0 8a b6 01 00 00 00 00 00 00 37 00 00 00 76 65 hp....A[.]................7...ve
75a0 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f 6e 2f 45 ndor/symfony/process/Exception/E
75c0 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 70 66 00 00 00 41 5b bc 5d 66 00 00 xceptionInterface.phpf...A[.]f..
75e0 00 5d f6 3e 54 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f .].>T........=...vendor/symfony/
7600 70 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e process/Exception/InvalidArgumen
7620 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 a8 00 00 00 41 5b bc 5d a8 00 00 00 d0 c0 2b 5f b6 01 tException.php....A[.]......+_..
7640 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 ......3...vendor/symfony/process
7660 2f 45 78 63 65 70 74 69 6f 6e 2f 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 94 00 00 /Exception/LogicException.php...
7680 00 41 5b bc 5d 94 00 00 00 20 b3 e3 f1 b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e 64 6f 72 2f .A[.]................;...vendor/
76a0 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f 6e 2f 50 72 6f 63 65 73 symfony/process/Exception/Proces
76c0 73 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 78 03 00 00 41 5b bc 5d 78 03 00 00 sFailedException.phpx...A[.]x...
76e0 a8 cc 7a 79 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 ..zy........=...vendor/symfony/p
7700 72 6f 63 65 73 73 2f 45 78 63 65 70 74 69 6f 6e 2f 50 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 rocess/Exception/ProcessTimedOut
7720 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 1f 04 00 00 41 5b bc 5d 1f 04 00 00 7f ef 0e ab b6 01 00 Exception.php....A[.]...........
7740 00 00 00 00 00 35 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f .....5...vendor/symfony/process/
7760 45 78 63 65 70 74 69 6f 6e 2f 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 98 00 Exception/RuntimeException.php..
7780 00 00 41 5b bc 5d 98 00 00 00 a2 1b d8 3a b6 01 00 00 00 00 00 00 2b 00 00 00 76 65 6e 64 6f 72 ..A[.].......:........+...vendor
77a0 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 /symfony/process/ExecutableFinde
77c0 72 2e 70 68 70 9d 04 00 00 41 5b bc 5d 9d 04 00 00 fb 75 73 80 b6 01 00 00 00 00 00 00 1e 00 00 r.php....A[.].....us............
77e0 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 4c 49 43 45 4e 53 45 29 .vendor/symfony/process/LICENSE)
7800 04 00 00 41 5b bc 5d 29 04 00 00 4e 55 4e bd b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f ...A[.])...NUN.............vendo
7820 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 r/symfony/process/PhpExecutableF
7840 69 6e 64 65 72 2e 70 68 70 cf 04 00 00 41 5b bc 5d cf 04 00 00 ce 25 68 1c b6 01 00 00 00 00 00 inder.php....A[.].....%h........
7860 00 25 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 68 70 50 .%...vendor/symfony/process/PhpP
7880 72 6f 63 65 73 73 2e 70 68 70 fc 03 00 00 41 5b bc 5d fc 03 00 00 87 6a fb fc b6 01 00 00 00 00 rocess.php....A[.].....j........
78a0 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 69 70 ......vendor/symfony/process/Pip
78c0 65 73 2f 41 62 73 74 72 61 63 74 50 69 70 65 73 2e 70 68 70 bd 07 00 00 41 5b bc 5d bd 07 00 00 es/AbstractPipes.php....A[.]....
78e0 e6 18 86 01 b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 ............/...vendor/symfony/p
7900 72 6f 63 65 73 73 2f 50 69 70 65 73 2f 50 69 70 65 73 49 6e 74 65 72 66 61 63 65 2e 70 68 70 44 rocess/Pipes/PipesInterface.phpD
7920 01 00 00 41 5b bc 5d 44 01 00 00 76 d8 ee a1 b6 01 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f ...A[.]D...v...........*...vendo
7940 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 69 70 65 73 2f 55 6e 69 78 50 69 70 65 r/symfony/process/Pipes/UnixPipe
7960 73 2e 70 68 70 3e 08 00 00 41 5b bc 5d 3e 08 00 00 aa 95 69 72 b6 01 00 00 00 00 00 00 2d 00 00 s.php>...A[.]>.....ir........-..
7980 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 69 70 65 73 2f 57 69 .vendor/symfony/process/Pipes/Wi
79a0 6e 64 6f 77 73 50 69 70 65 73 2e 70 68 70 70 0c 00 00 41 5b bc 5d 70 0c 00 00 e2 55 7e c9 b6 01 ndowsPipes.phpp...A[.]p....U~...
79c0 00 00 00 00 00 00 22 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 ......"...vendor/symfony/process
79e0 2f 50 72 6f 63 65 73 73 2e 70 68 70 b7 52 00 00 41 5b bc 5d b7 52 00 00 8a 18 60 d5 b6 01 00 00 /Process.php.R..A[.].R....`.....
7a00 00 00 00 00 29 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 65 73 73 2f 50 ....)...vendor/symfony/process/P
7a20 72 6f 63 65 73 73 42 75 69 6c 64 65 72 2e 70 68 70 e2 0a 00 00 41 5b bc 5d e2 0a 00 00 86 1e 4d rocessBuilder.php....A[.]......M
7a40 b6 b6 01 00 00 00 00 00 00 27 00 00 00 76 65 6e 64 6f 72 2f 73 79 6d 66 6f 6e 79 2f 70 72 6f 63 .........'...vendor/symfony/proc
7a60 65 73 73 2f 50 72 6f 63 65 73 73 55 74 69 6c 73 2e 70 68 70 51 06 00 00 41 5b bc 5d 51 06 00 00 ess/ProcessUtils.phpQ...A[.]Q...
7a80 62 2d 24 6d b6 01 00 00 00 00 00 00 1c 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f 6a 73 6f 6e b-$m............vendor/seld/json
7aa0 6c 69 6e 74 2f 4c 49 43 45 4e 53 45 22 04 00 00 41 5b bc 5d 22 04 00 00 61 83 73 79 b6 01 00 00 lint/LICENSE"...A[.]"...a.sy....
7ac0 00 00 00 00 40 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 ....@...vendor/seld/jsonlint/src
7ae0 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e 74 2f 44 75 70 6c 69 63 61 74 65 4b 65 79 45 78 63 65 70 /Seld/JsonLint/DuplicateKeyExcep
7b00 74 69 6f 6e 2e 70 68 70 2a 01 00 00 41 5b bc 5d 2a 01 00 00 19 95 70 f1 b6 01 00 00 00 00 00 00 tion.php*...A[.]*.....p.........
7b20 35 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 5...vendor/seld/jsonlint/src/Sel
7b40 64 2f 4a 73 6f 6e 4c 69 6e 74 2f 4a 73 6f 6e 50 61 72 73 65 72 2e 70 68 70 38 32 00 00 41 5b bc d/JsonLint/JsonParser.php82..A[.
7b60 5d 38 32 00 00 aa c3 5a 74 b6 01 00 00 00 00 00 00 30 00 00 00 76 65 6e 64 6f 72 2f 73 65 6c 64 ]82....Zt........0...vendor/seld
7b80 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e 74 2f 4c 65 78 65 /jsonlint/src/Seld/JsonLint/Lexe
7ba0 72 2e 70 68 70 06 0f 00 00 41 5b bc 5d 06 0f 00 00 25 ff 33 4e b6 01 00 00 00 00 00 00 3b 00 00 r.php....A[.]....%.3N........;..
7bc0 00 76 65 6e 64 6f 72 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a .vendor/seld/jsonlint/src/Seld/J
7be0 73 6f 6e 4c 69 6e 74 2f 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 1e 01 00 00 sonLint/ParsingException.php....
7c00 41 5b bc 5d 1e 01 00 00 89 b2 10 f1 b6 01 00 00 00 00 00 00 34 00 00 00 76 65 6e 64 6f 72 2f 73 A[.]................4...vendor/s
7c20 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c 69 6e 74 2f 55 eld/jsonlint/src/Seld/JsonLint/U
7c40 6e 64 65 66 69 6e 65 64 2e 70 68 70 3e 00 00 00 41 5b bc 5d 3e 00 00 00 ff 71 9f 9f b6 01 00 00 ndefined.php>...A[.]>....q......
7c60 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f ....(...vendor/justinrainbow/jso
7c80 6e 2d 73 63 68 65 6d 61 2f 4c 49 43 45 4e 53 45 20 04 00 00 41 5b bc 5d 20 04 00 00 ba e7 06 a9 n-schema/LICENSE....A[.]........
7ca0 b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 ............vendor/justinrainbow
7cc0 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 64 65 6d 6f 2f 64 65 6d 6f 2e 70 68 70 f1 01 00 00 41 5b /json-schema/demo/demo.php....A[
7ce0 bc 5d f1 01 00 00 66 1b 12 43 b6 01 00 00 00 00 00 00 4e 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 .]....f..C........N...vendor/jus
7d00 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 tinrainbow/json-schema/src/JsonS
7d20 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 chema/Constraints/BaseConstraint
7d40 2e 70 68 70 a1 09 00 00 41 5b bc 5d a1 09 00 00 86 77 cc 6c b6 01 00 00 00 00 00 00 54 00 00 00 .php....A[.].....w.l........T...
7d60 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 vendor/justinrainbow/json-schema
7d80 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 43 6f 6c 6c /src/JsonSchema/Constraints/Coll
7da0 65 63 74 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 8f 0a 00 00 41 5b bc 5d 8f 0a 00 00 ectionConstraint.php....A[.]....
7dc0 cd e8 d3 af b6 01 00 00 00 00 00 00 4a 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 ............J...vendor/justinrai
7de0 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f nbow/json-schema/src/JsonSchema/
7e00 43 6f 6e 73 74 72 61 69 6e 74 73 2f 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 a7 0d 00 00 41 5b Constraints/Constraint.php....A[
7e20 bc 5d a7 0d 00 00 9b 56 d8 18 b6 01 00 00 00 00 00 00 53 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 .].....V..........S...vendor/jus
7e40 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 tinrainbow/json-schema/src/JsonS
7e60 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 chema/Constraints/ConstraintInte
7e80 72 66 61 63 65 2e 70 68 70 bc 01 00 00 41 5b bc 5d bc 01 00 00 ff 20 51 9c b6 01 00 00 00 00 00 rface.php....A[.]......Q........
7ea0 00 4e 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 .N...vendor/justinrainbow/json-s
7ec0 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 chema/src/JsonSchema/Constraints
7ee0 2f 45 6e 75 6d 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 5d 03 00 00 41 5b bc 5d 5d 03 00 00 56 /EnumConstraint.php]...A[.]]...V
7f00 8e 55 3c b6 01 00 00 00 00 00 00 47 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e .U<........G...vendor/justinrain
7f20 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 bow/json-schema/src/JsonSchema/C
7f40 6f 6e 73 74 72 61 69 6e 74 73 2f 46 61 63 74 6f 72 79 2e 70 68 70 e3 0c 00 00 41 5b bc 5d e3 0c onstraints/Factory.php....A[.]..
7f60 00 00 e1 30 3b 16 b6 01 00 00 00 00 00 00 50 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 ...0;.........P...vendor/justinr
7f80 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d ainbow/json-schema/src/JsonSchem
7fa0 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 46 6f 72 6d 61 74 43 6f 6e 73 74 72 61 69 6e 74 2e 70 a/Constraints/FormatConstraint.p
7fc0 68 70 85 14 00 00 41 5b bc 5d 85 14 00 00 93 54 9c da b6 01 00 00 00 00 00 00 50 00 00 00 76 65 hp....A[.].....T..........P...ve
7fe0 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 ndor/justinrainbow/json-schema/s
8000 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 4e 75 6d 62 65 72 rc/JsonSchema/Constraints/Number
8020 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 87 09 00 00 41 5b bc 5d 87 09 00 00 ef 9b 18 28 b6 01 Constraint.php....A[.].......(..
8040 00 00 00 00 00 00 50 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a ......P...vendor/justinrainbow/j
8060 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 son-schema/src/JsonSchema/Constr
8080 61 69 6e 74 73 2f 4f 62 6a 65 63 74 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 c3 11 00 00 41 5b aints/ObjectConstraint.php....A[
80a0 bc 5d c3 11 00 00 a9 c5 bc 78 b6 01 00 00 00 00 00 00 50 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 .].......x........P...vendor/jus
80c0 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 tinrainbow/json-schema/src/JsonS
80e0 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 53 63 68 65 6d 61 43 6f 6e 73 74 72 61 69 chema/Constraints/SchemaConstrai
8100 6e 74 2e 70 68 70 30 09 00 00 41 5b bc 5d 30 09 00 00 d7 6a b4 98 b6 01 00 00 00 00 00 00 50 00 nt.php0...A[.]0....j..........P.
8120 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 ..vendor/justinrainbow/json-sche
8140 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 53 74 ma/src/JsonSchema/Constraints/St
8160 72 69 6e 67 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 7f 04 00 00 41 5b bc 5d 7f 04 00 00 a5 77 ringConstraint.php....A[.].....w
8180 9a 87 b6 01 00 00 00 00 00 00 58 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 ..........X...vendor/justinrainb
81a0 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f ow/json-schema/src/JsonSchema/Co
81c0 6e 73 74 72 61 69 6e 74 73 2f 54 79 70 65 43 68 65 63 6b 2f 4c 6f 6f 73 65 54 79 70 65 43 68 65 nstraints/TypeCheck/LooseTypeChe
81e0 63 6b 2e 70 68 70 61 04 00 00 41 5b bc 5d 61 04 00 00 0b 09 71 c3 b6 01 00 00 00 00 00 00 59 00 ck.phpa...A[.]a.....q.........Y.
8200 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 ..vendor/justinrainbow/json-sche
8220 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 54 79 ma/src/JsonSchema/Constraints/Ty
8240 70 65 43 68 65 63 6b 2f 53 74 72 69 63 74 54 79 70 65 43 68 65 63 6b 2e 70 68 70 97 02 00 00 41 peCheck/StrictTypeCheck.php....A
8260 5b bc 5d 97 02 00 00 34 7e be a0 b6 01 00 00 00 00 00 00 5c 00 00 00 76 65 6e 64 6f 72 2f 6a 75 [.]....4~..........\...vendor/ju
8280 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e stinrainbow/json-schema/src/Json
82a0 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 54 79 70 65 43 68 65 63 6b 2f 54 79 70 Schema/Constraints/TypeCheck/Typ
82c0 65 43 68 65 63 6b 49 6e 74 65 72 66 61 63 65 2e 70 68 70 89 01 00 00 41 5b bc 5d 89 01 00 00 93 eCheckInterface.php....A[.].....
82e0 b5 2b 6a b6 01 00 00 00 00 00 00 4e 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e .+j........N...vendor/justinrain
8300 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 43 bow/json-schema/src/JsonSchema/C
8320 6f 6e 73 74 72 61 69 6e 74 73 2f 54 79 70 65 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 26 0f 00 onstraints/TypeConstraint.php&..
8340 00 41 5b bc 5d 26 0f 00 00 34 98 a9 54 b6 01 00 00 00 00 00 00 53 00 00 00 76 65 6e 64 6f 72 2f .A[.]&...4..T........S...vendor/
8360 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 justinrainbow/json-schema/src/Js
8380 6f 6e 53 63 68 65 6d 61 2f 43 6f 6e 73 74 72 61 69 6e 74 73 2f 55 6e 64 65 66 69 6e 65 64 43 6f onSchema/Constraints/UndefinedCo
83a0 6e 73 74 72 61 69 6e 74 2e 70 68 70 61 22 00 00 41 5b bc 5d 61 22 00 00 8f 4d d9 eb b6 01 00 00 nstraint.phpa"..A[.]a"...M......
83c0 00 00 00 00 46 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f ....F...vendor/justinrainbow/jso
83e0 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 6e 74 69 74 79 2f 4a n-schema/src/JsonSchema/Entity/J
8400 73 6f 6e 50 6f 69 6e 74 65 72 2e 70 68 70 e8 06 00 00 41 5b bc 5d e8 06 00 00 06 7b 4e 96 b6 01 sonPointer.php....A[.].....{N...
8420 00 00 00 00 00 00 50 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a ......P...vendor/justinrainbow/j
8440 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 son-schema/src/JsonSchema/Except
8460 69 6f 6e 2f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 2e 70 68 70 49 00 00 00 41 5b ion/ExceptionInterface.phpI...A[
8480 bc 5d 49 00 00 00 25 7c 19 b0 b6 01 00 00 00 00 00 00 56 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 .]I...%|..........V...vendor/jus
84a0 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 tinrainbow/json-schema/src/JsonS
84c0 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 chema/Exception/InvalidArgumentE
84e0 78 63 65 70 74 69 6f 6e 2e 70 68 70 95 00 00 00 41 5b bc 5d 95 00 00 00 8b e0 47 05 b6 01 00 00 xception.php....A[.]......G.....
8500 00 00 00 00 54 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f ....T...vendor/justinrainbow/jso
8520 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f n-schema/src/JsonSchema/Exceptio
8540 6e 2f 49 6e 76 61 6c 69 64 43 6f 6e 66 69 67 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6c 00 00 00 n/InvalidConfigException.phpl...
8560 41 5b bc 5d 6c 00 00 00 41 21 4c d7 b6 01 00 00 00 00 00 00 54 00 00 00 76 65 6e 64 6f 72 2f 6a A[.]l...A!L.........T...vendor/j
8580 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f ustinrainbow/json-schema/src/Jso
85a0 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c 69 64 53 63 68 65 6d 61 45 nSchema/Exception/InvalidSchemaE
85c0 78 63 65 70 74 69 6f 6e 2e 70 68 70 6c 00 00 00 41 5b bc 5d 6c 00 00 00 e8 32 f7 fe b6 01 00 00 xception.phpl...A[.]l....2......
85e0 00 00 00 00 5d 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f ....]...vendor/justinrainbow/jso
8600 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f n-schema/src/JsonSchema/Exceptio
8620 6e 2f 49 6e 76 61 6c 69 64 53 63 68 65 6d 61 4d 65 64 69 61 54 79 70 65 45 78 63 65 70 74 69 6f n/InvalidSchemaMediaTypeExceptio
8640 6e 2e 70 68 70 75 00 00 00 41 5b bc 5d 75 00 00 00 3d 68 e7 07 b6 01 00 00 00 00 00 00 57 00 00 n.phpu...A[.]u...=h..........W..
8660 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d .vendor/justinrainbow/json-schem
8680 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 49 6e 76 61 6c a/src/JsonSchema/Exception/Inval
86a0 69 64 53 6f 75 72 63 65 55 72 69 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 77 00 00 00 41 5b bc 5d idSourceUriException.phpw...A[.]
86c0 77 00 00 00 4e 2d f2 5b b6 01 00 00 00 00 00 00 53 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 w...N-.[........S...vendor/justi
86e0 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 nrainbow/json-schema/src/JsonSch
8700 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 4a 73 6f 6e 44 65 63 6f 64 69 6e 67 45 78 63 65 70 74 ema/Exception/JsonDecodingExcept
8720 69 6f 6e 2e 70 68 70 de 02 00 00 41 5b bc 5d de 02 00 00 5c b8 0d 0a b6 01 00 00 00 00 00 00 57 ion.php....A[.]....\...........W
8740 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 ...vendor/justinrainbow/json-sch
8760 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 52 65 73 ema/src/JsonSchema/Exception/Res
8780 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 6f 00 00 00 41 5b ourceNotFoundException.phpo...A[
87a0 bc 5d 6f 00 00 00 70 ed db f9 b6 01 00 00 00 00 00 00 4e 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 .]o...p...........N...vendor/jus
87c0 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 tinrainbow/json-schema/src/JsonS
87e0 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e chema/Exception/RuntimeException
8800 2e 70 68 70 85 00 00 00 41 5b bc 5d 85 00 00 00 08 25 85 97 b6 01 00 00 00 00 00 00 5e 00 00 00 .php....A[.].....%..........^...
8820 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 vendor/justinrainbow/json-schema
8840 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 55 6e 72 65 73 6f /src/JsonSchema/Exception/Unreso
8860 6c 76 61 62 6c 65 4a 73 6f 6e 50 6f 69 6e 74 65 72 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 80 00 lvableJsonPointerException.php..
8880 00 00 41 5b bc 5d 80 00 00 00 75 2d 23 31 b6 01 00 00 00 00 00 00 52 00 00 00 76 65 6e 64 6f 72 ..A[.]....u-#1........R...vendor
88a0 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a /justinrainbow/json-schema/src/J
88c0 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f 6e 2f 55 72 69 52 65 73 6f 6c 76 65 72 45 sonSchema/Exception/UriResolverE
88e0 78 63 65 70 74 69 6f 6e 2e 70 68 70 6a 00 00 00 41 5b bc 5d 6a 00 00 00 e5 1a 3e 8f b6 01 00 00 xception.phpj...A[.]j.....>.....
8900 00 00 00 00 51 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f ....Q...vendor/justinrainbow/jso
8920 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 45 78 63 65 70 74 69 6f n-schema/src/JsonSchema/Exceptio
8940 6e 2f 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 66 00 00 00 41 5b bc n/ValidationException.phpf...A[.
8960 5d 66 00 00 00 ac a4 84 fe b6 01 00 00 00 00 00 00 4b 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 ]f...............K...vendor/just
8980 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 inrainbow/json-schema/src/JsonSc
89a0 68 65 6d 61 2f 49 74 65 72 61 74 6f 72 2f 4f 62 6a 65 63 74 49 74 65 72 61 74 6f 72 2e 70 68 70 hema/Iterator/ObjectIterator.php
89c0 fe 05 00 00 41 5b bc 5d fe 05 00 00 4d 8f 84 f5 b6 01 00 00 00 00 00 00 3b 00 00 00 76 65 6e 64 ....A[.]....M...........;...vend
89e0 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 or/justinrainbow/json-schema/src
8a00 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 52 66 63 33 33 33 39 2e 70 68 70 a0 02 00 00 41 5b bc 5d a0 /JsonSchema/Rfc3339.php....A[.].
8a20 02 00 00 66 34 f7 b3 b6 01 00 00 00 00 00 00 41 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e ...f4..........A...vendor/justin
8a40 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 rainbow/json-schema/src/JsonSche
8a60 6d 61 2f 53 63 68 65 6d 61 53 74 6f 72 61 67 65 2e 70 68 70 9c 0d 00 00 41 5b bc 5d 9c 0d 00 00 ma/SchemaStorage.php....A[.]....
8a80 02 e5 66 4f b6 01 00 00 00 00 00 00 4a 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 ..fO........J...vendor/justinrai
8aa0 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f nbow/json-schema/src/JsonSchema/
8ac0 53 63 68 65 6d 61 53 74 6f 72 61 67 65 49 6e 74 65 72 66 61 63 65 2e 70 68 70 01 01 00 00 41 5b SchemaStorageInterface.php....A[
8ae0 bc 5d 01 01 00 00 6f 8a 2b 7d b6 01 00 00 00 00 00 00 54 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 .]....o.+}........T...vendor/jus
8b00 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 tinrainbow/json-schema/src/JsonS
8b20 63 68 65 6d 61 2f 55 72 69 2f 52 65 74 72 69 65 76 65 72 73 2f 41 62 73 74 72 61 63 74 52 65 74 chema/Uri/Retrievers/AbstractRet
8b40 72 69 65 76 65 72 2e 70 68 70 e1 00 00 00 41 5b bc 5d e1 00 00 00 5b fe 41 81 b6 01 00 00 00 00 riever.php....A[.]....[.A.......
8b60 00 00 47 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d ..G...vendor/justinrainbow/json-
8b80 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f 52 65 74 72 69 65 schema/src/JsonSchema/Uri/Retrie
8ba0 76 65 72 73 2f 43 75 72 6c 2e 70 68 70 a5 04 00 00 41 5b bc 5d a5 04 00 00 d4 a7 4c 62 b6 01 00 vers/Curl.php....A[.]......Lb...
8bc0 00 00 00 00 00 52 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 .....R...vendor/justinrainbow/js
8be0 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f 52 65 74 on-schema/src/JsonSchema/Uri/Ret
8c00 72 69 65 76 65 72 73 2f 46 69 6c 65 47 65 74 43 6f 6e 74 65 6e 74 73 2e 70 68 70 25 05 00 00 41 rievers/FileGetContents.php%...A
8c20 5b bc 5d 25 05 00 00 35 22 10 a0 b6 01 00 00 00 00 00 00 52 00 00 00 76 65 6e 64 6f 72 2f 6a 75 [.]%...5"..........R...vendor/ju
8c40 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e stinrainbow/json-schema/src/Json
8c60 53 63 68 65 6d 61 2f 55 72 69 2f 52 65 74 72 69 65 76 65 72 73 2f 50 72 65 64 65 66 69 6e 65 64 Schema/Uri/Retrievers/Predefined
8c80 41 72 72 61 79 2e 70 68 70 2c 02 00 00 41 5b bc 5d 2c 02 00 00 31 95 35 fe b6 01 00 00 00 00 00 Array.php,...A[.],...1.5........
8ca0 00 58 00 00 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 .X...vendor/justinrainbow/json-s
8cc0 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f 52 65 74 72 69 65 76 chema/src/JsonSchema/Uri/Retriev
8ce0 65 72 73 2f 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 ae 00 00 ers/UriRetrieverInterface.php...
8d00 00 41 5b bc 5d ae 00 00 00 ff 8b c1 e5 b6 01 00 00 00 00 00 00 43 00 00 00 76 65 6e 64 6f 72 2f .A[.]................C...vendor/
8d20 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 justinrainbow/json-schema/src/Js
8d40 6f 6e 53 63 68 65 6d 61 2f 55 72 69 2f 55 72 69 52 65 73 6f 6c 76 65 72 2e 70 68 70 05 0b 00 00 onSchema/Uri/UriResolver.php....
8d60 41 5b bc 5d 05 0b 00 00 a3 9f 29 e0 b6 01 00 00 00 00 00 00 44 00 00 00 76 65 6e 64 6f 72 2f 6a A[.]......).........D...vendor/j
8d80 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f ustinrainbow/json-schema/src/Jso
8da0 6e 53 63 68 65 6d 61 2f 55 72 69 2f 55 72 69 52 65 74 72 69 65 76 65 72 2e 70 68 70 46 14 00 00 nSchema/Uri/UriRetriever.phpF...
8dc0 41 5b bc 5d 46 14 00 00 a8 49 61 44 b6 01 00 00 00 00 00 00 48 00 00 00 76 65 6e 64 6f 72 2f 6a A[.]F....IaD........H...vendor/j
8de0 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 2f 4a 73 6f ustinrainbow/json-schema/src/Jso
8e00 6e 53 63 68 65 6d 61 2f 55 72 69 52 65 73 6f 6c 76 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 nSchema/UriResolverInterface.php
8e20 83 00 00 00 41 5b bc 5d 83 00 00 00 12 4a 80 1f b6 01 00 00 00 00 00 00 49 00 00 00 76 65 6e 64 ....A[.].....J..........I...vend
8e40 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 63 or/justinrainbow/json-schema/src
8e60 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 /JsonSchema/UriRetrieverInterfac
8e80 65 2e 70 68 70 85 00 00 00 41 5b bc 5d 85 00 00 00 ed e6 1b 65 b6 01 00 00 00 00 00 00 3d 00 00 e.php....A[.].......e........=..
8ea0 00 76 65 6e 64 6f 72 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d .vendor/justinrainbow/json-schem
8ec0 61 2f 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 2f 56 61 6c 69 64 61 74 6f 72 2e 70 68 70 76 05 a/src/JsonSchema/Validator.phpv.
8ee0 00 00 41 5b bc 5d 76 05 00 00 f5 cd 05 67 b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 ..A[.]v......g........%...vendor
8f00 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 63 65 6e 73 65 73 2f 4c 49 43 45 4e 53 45 1c /composer/spdx-licenses/LICENSE.
8f20 04 00 00 41 5b bc 5d 1c 04 00 00 06 42 68 ed b6 01 00 00 00 00 00 00 32 00 00 00 76 65 6e 64 6f ...A[.].....Bh.........2...vendo
8f40 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 63 65 6e 73 65 73 2f 73 72 63 2f 53 70 64 r/composer/spdx-licenses/src/Spd
8f60 78 4c 69 63 65 6e 73 65 73 2e 70 68 70 48 14 00 00 41 5b bc 5d 48 14 00 00 cd 89 54 04 b6 01 00 xLicenses.phpH...A[.]H.....T....
8f80 00 00 00 00 00 1e 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f .........vendor/composer/semver/
8fa0 4c 49 43 45 4e 53 45 1c 04 00 00 41 5b bc 5d 1c 04 00 00 06 42 68 ed b6 01 00 00 00 00 00 00 29 LICENSE....A[.].....Bh.........)
8fc0 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 43 6f ...vendor/composer/semver/src/Co
8fe0 6d 70 61 72 61 74 6f 72 2e 70 68 70 02 04 00 00 41 5b bc 5d 02 04 00 00 77 6c 83 ef b6 01 00 00 mparator.php....A[.]....wl......
9000 00 00 00 00 3c 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 ....<...vendor/composer/semver/s
9020 72 63 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 41 62 73 74 72 61 63 74 43 6f 6e 73 74 72 61 69 6e 74 rc/Constraint/AbstractConstraint
9040 2e 70 68 70 ee 02 00 00 41 5b bc 5d ee 02 00 00 d5 ad 77 2d b6 01 00 00 00 00 00 00 34 00 00 00 .php....A[.]......w-........4...
9060 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 43 6f 6e 73 74 vendor/composer/semver/src/Const
9080 72 61 69 6e 74 2f 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 aa 0c 00 00 41 5b bc 5d aa 0c 00 00 raint/Constraint.php....A[.]....
90a0 c7 4f 37 b2 b6 01 00 00 00 00 00 00 3d 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f .O7.........=...vendor/composer/
90c0 73 65 6d 76 65 72 2f 73 72 63 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 43 6f 6e 73 74 72 61 69 6e 74 semver/src/Constraint/Constraint
90e0 49 6e 74 65 72 66 61 63 65 2e 70 68 70 df 00 00 00 41 5b bc 5d df 00 00 00 30 43 2c 87 b6 01 00 Interface.php....A[.]....0C,....
9100 00 00 00 00 00 39 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f .....9...vendor/composer/semver/
9120 73 72 63 2f 43 6f 6e 73 74 72 61 69 6e 74 2f 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 2e 70 src/Constraint/EmptyConstraint.p
9140 68 70 e9 01 00 00 41 5b bc 5d e9 01 00 00 21 2d d8 99 b6 01 00 00 00 00 00 00 39 00 00 00 76 65 hp....A[.]....!-..........9...ve
9160 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 43 6f 6e 73 74 72 61 ndor/composer/semver/src/Constra
9180 69 6e 74 2f 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 2e 70 68 70 31 05 00 00 41 5b bc 5d 31 int/MultiConstraint.php1...A[.]1
91a0 05 00 00 ed a0 78 55 b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 .....xU........%...vendor/compos
91c0 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 53 65 6d 76 65 72 2e 70 68 70 76 06 00 00 41 5b bc 5d er/semver/src/Semver.phpv...A[.]
91e0 76 06 00 00 8b d7 c8 9b b6 01 00 00 00 00 00 00 2c 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f v...............,...vendor/compo
9200 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 2f 56 65 72 73 69 6f 6e 50 61 72 73 65 72 2e 70 68 70 ser/semver/src/VersionParser.php
9220 af 2a 00 00 41 5b bc 5d af 2a 00 00 5a 1b d2 93 b6 01 00 00 00 00 00 00 21 00 00 00 76 65 6e 64 .*..A[.].*..Z...........!...vend
9240 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 63 61 2d 62 75 6e 64 6c 65 2f 4c 49 43 45 4e 53 45 1c 04 00 or/composer/ca-bundle/LICENSE...
9260 00 41 5b bc 5d 1c 04 00 00 2a 21 5e 60 b6 01 00 00 00 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 2f .A[.]....*!^`........*...vendor/
9280 63 6f 6d 70 6f 73 65 72 2f 63 61 2d 62 75 6e 64 6c 65 2f 73 72 63 2f 43 61 42 75 6e 64 6c 65 2e composer/ca-bundle/src/CaBundle.
92a0 70 68 70 b1 1c 00 00 41 5b bc 5d b1 1c 00 00 e0 0b 11 93 b6 01 00 00 00 00 00 00 26 00 00 00 76 php....A[.]................&...v
92c0 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 72 2f 4c 49 endor/composer/xdebug-handler/LI
92e0 43 45 4e 53 45 29 04 00 00 41 5b bc 5d 29 04 00 00 23 d4 3b 5e b6 01 00 00 00 00 00 00 30 00 00 CENSE)...A[.])...#.;^........0..
9300 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 72 2f .vendor/composer/xdebug-handler/
9320 73 72 63 2f 50 68 70 43 6f 6e 66 69 67 2e 70 68 70 b4 02 00 00 41 5b bc 5d b4 02 00 00 2a 44 92 src/PhpConfig.php....A[.]....*D.
9340 00 b6 01 00 00 00 00 00 00 2e 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 .............vendor/composer/xde
9360 62 75 67 2d 68 61 6e 64 6c 65 72 2f 73 72 63 2f 50 72 6f 63 65 73 73 2e 70 68 70 02 09 00 00 41 bug-handler/src/Process.php....A
9380 5b bc 5d 02 09 00 00 60 e7 ee c8 b6 01 00 00 00 00 00 00 2d 00 00 00 76 65 6e 64 6f 72 2f 63 6f [.]....`...........-...vendor/co
93a0 6d 70 6f 73 65 72 2f 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 72 2f 73 72 63 2f 53 74 61 74 75 73 mposer/xdebug-handler/src/Status
93c0 2e 70 68 70 0f 0a 00 00 41 5b bc 5d 0f 0a 00 00 b2 17 82 b2 b6 01 00 00 00 00 00 00 34 00 00 00 .php....A[.]................4...
93e0 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 72 2f 73 vendor/composer/xdebug-handler/s
9400 72 63 2f 58 64 65 62 75 67 48 61 6e 64 6c 65 72 2e 70 68 70 13 21 00 00 41 5b bc 5d 13 21 00 00 rc/XdebugHandler.php.!..A[.].!..
9420 32 7c bf 43 b6 01 00 00 00 00 00 00 16 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 4c 2|.C............vendor/psr/log/L
9440 49 43 45 4e 53 45 3d 04 00 00 41 5b bc 5d 3d 04 00 00 70 b1 8e 4f b6 01 00 00 00 00 00 00 29 00 ICENSE=...A[.]=...p..O........).
9460 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 41 62 73 74 72 61 63 ..vendor/psr/log/Psr/Log/Abstrac
9480 74 4c 6f 67 67 65 72 2e 70 68 70 3b 04 00 00 41 5b bc 5d 3b 04 00 00 f1 3e 33 5b b6 01 00 00 00 tLogger.php;...A[.];....>3[.....
94a0 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 49 6e ...3...vendor/psr/log/Psr/Log/In
94c0 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 2e 70 68 70 60 00 00 00 41 5b validArgumentException.php`...A[
94e0 bc 5d 60 00 00 00 20 88 58 31 b6 01 00 00 00 00 00 00 23 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 .]`.....X1........#...vendor/psr
9500 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4c 6f 67 4c 65 76 65 6c 2e 70 68 70 fb 00 00 00 41 5b bc /log/Psr/Log/LogLevel.php....A[.
9520 5d fb 00 00 00 6a f0 f1 38 b6 01 00 00 00 00 00 00 2f 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f ]....j..8......../...vendor/psr/
9540 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4c 6f 67 67 65 72 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 log/Psr/Log/LoggerAwareInterface
9560 2e 70 68 70 7c 00 00 00 41 5b bc 5d 7c 00 00 00 24 13 a3 88 b6 01 00 00 00 00 00 00 2b 00 00 00 .php|...A[.]|...$...........+...
9580 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4c 6f 67 67 65 72 41 77 61 vendor/psr/log/Psr/Log/LoggerAwa
95a0 72 65 54 72 61 69 74 2e 70 68 70 a7 00 00 00 41 5b bc 5d a7 00 00 00 54 bd fa 42 b6 01 00 00 00 reTrait.php....A[.]....T..B.....
95c0 00 00 00 2a 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 4c 6f ...*...vendor/psr/log/Psr/Log/Lo
95e0 67 67 65 72 49 6e 74 65 72 66 61 63 65 2e 70 68 70 c8 02 00 00 41 5b bc 5d c8 02 00 00 9a 1f 78 ggerInterface.php....A[.]......x
9600 1d b6 01 00 00 00 00 00 00 26 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f .........&...vendor/psr/log/Psr/
9620 4c 6f 67 2f 4c 6f 67 67 65 72 54 72 61 69 74 2e 70 68 70 6b 04 00 00 41 5b bc 5d 6b 04 00 00 a3 Log/LoggerTrait.phpk...A[.]k....
9640 7d 89 92 b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 }..........%...vendor/psr/log/Ps
9660 72 2f 4c 6f 67 2f 4e 75 6c 6c 4c 6f 67 67 65 72 2e 70 68 70 a0 00 00 00 41 5b bc 5d a0 00 00 00 r/Log/NullLogger.php....A[.]....
9680 c6 44 69 af b6 01 00 00 00 00 00 00 33 00 00 00 76 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 .Di.........3...vendor/psr/log/P
96a0 73 72 2f 4c 6f 67 2f 54 65 73 74 2f 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 54 65 73 74 2e sr/Log/Test/LoggerInterfaceTest.
96c0 70 68 70 6a 0d 00 00 41 5b bc 5d 6a 0d 00 00 4e ff 11 74 b6 01 00 00 00 00 00 00 2a 00 00 00 76 phpj...A[.]j...N..t........*...v
96e0 65 6e 64 6f 72 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 2f 54 65 73 74 2f 54 65 73 74 4c endor/psr/log/Psr/Log/Test/TestL
9700 6f 67 67 65 72 2e 70 68 70 3c 08 00 00 41 5b bc 5d 3c 08 00 00 fe 28 e5 49 b6 01 00 00 00 00 00 ogger.php<...A[.]<....(.I.......
9720 00 13 00 00 00 76 65 6e 64 6f 72 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 82 00 00 00 41 5b bc 5d .....vendor/autoload.php....A[.]
9740 82 00 00 00 c4 2d eb 25 b6 01 00 00 00 00 00 00 27 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f .....-.%........'...vendor/compo
9760 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 70 64 00 00 00 41 ser/autoload_namespaces.phpd...A
9780 5b bc 5d 64 00 00 00 5a a1 a6 48 b6 01 00 00 00 00 00 00 21 00 00 00 76 65 6e 64 6f 72 2f 63 6f [.]d...Z..H........!...vendor/co
97a0 6d 70 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 70 f7 04 00 00 41 5b bc 5d mposer/autoload_psr4.php....A[.]
97c0 f7 04 00 00 c5 2a 9a 16 b6 01 00 00 00 00 00 00 25 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f .....*..........%...vendor/compo
97e0 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 64 00 00 00 41 5b bc ser/autoload_classmap.phpd...A[.
9800 5d 64 00 00 00 5a a1 a6 48 b6 01 00 00 00 00 00 00 22 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 ]d...Z..H........"...vendor/comp
9820 6f 73 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 1f 01 00 00 41 5b bc 5d 1f oser/autoload_files.php....A[.].
9840 01 00 00 a5 00 a0 ae b6 01 00 00 00 00 00 00 21 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 ...............!...vendor/compos
9860 65 72 2f 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 49 07 00 00 41 5b bc 5d 49 07 00 00 er/autoload_real.phpI...A[.]I...
9880 c8 29 fc 83 b6 01 00 00 00 00 00 00 23 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f .)..........#...vendor/composer/
98a0 61 75 74 6f 6c 6f 61 64 5f 73 74 61 74 69 63 2e 70 68 70 a7 0a 00 00 41 5b bc 5d a7 0a 00 00 71 autoload_static.php....A[.]....q
98c0 08 96 d9 b6 01 00 00 00 00 00 00 1f 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 43 ...............vendor/composer/C
98e0 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 a8 18 00 00 41 5b bc 5d a8 18 00 00 78 e4 e4 60 b6 01 lassLoader.php....A[.]....x..`..
9900 00 00 00 00 00 00 28 00 00 00 76 65 6e 64 6f 72 2f 63 6f 6d 70 6f 73 65 72 2f 63 61 2d 62 75 6e ......(...vendor/composer/ca-bun
9920 64 6c 65 2f 72 65 73 2f 63 61 63 65 72 74 2e 70 65 6d 55 6b 03 00 41 5b bc 5d 55 6b 03 00 94 4a dle/res/cacert.pemUk..A[.]Uk...J
9940 cc b8 b6 01 00 00 00 00 00 00 0c 00 00 00 62 69 6e 2f 63 6f 6d 70 6f 73 65 72 ca 06 00 00 41 5b ..............bin/composer....A[
9960 bc 5d ca 06 00 00 ff ea 50 17 b6 01 00 00 00 00 00 00 07 00 00 00 4c 49 43 45 4e 53 45 2e 04 00 .]......P.............LICENSE...
9980 00 41 5b bc 5d 2e 04 00 00 20 d5 08 03 b6 01 00 00 00 00 00 00 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a .A[.]................<?php......
99a0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 ......namespace.Composer\Autoloa
99c0 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d d;..use.Composer\Config;.use.Com
99e0 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 poser\EventDispatcher\EventDispa
9a00 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 49 6e tcher;.use.Composer\Installer\In
9a20 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c stallationManager;.use.Composer\
9a40 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 IO\IOInterface;.use.Composer\Pac
9a60 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c kage\AliasPackage;.use.Composer\
9a80 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f Package\PackageInterface;.use.Co
9aa0 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 mposer\Repository\InstalledRepos
9ac0 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 itoryInterface;.use.Composer\Uti
9ae0 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 l\Filesystem;.use.Composer\Scrip
9b00 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 t\ScriptEvents;.use.Composer\Uti
9b20 6c 5c 50 61 63 6b 61 67 65 53 6f 72 74 65 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 75 74 6f l\PackageSorter;......class.Auto
9b40 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 76 65 6e loadGenerator.{....private.$even
9b60 74 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 0a tDispatcher;.....private.$io;...
9b80 0a 0a 70 72 69 76 61 74 65 20 24 64 65 76 4d 6f 64 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a ..private.$devMode.=.false;.....
9ba0 70 72 69 76 61 74 65 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d private.$classMapAuthoritative.=
9bc0 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 61 70 63 75 20 3d 20 66 61 6c 73 .false;.....private.$apcu.=.fals
9be0 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 75 6e 53 63 72 69 70 74 73 20 3d 20 66 61 6c e;.....private.$runScripts.=.fal
9c00 73 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 se;..public.function.__construct
9c20 28 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 (EventDispatcher.$eventDispatche
9c40 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 r,.IOInterface.$io.=.null).{.$th
9c60 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 24 65 76 65 6e 74 44 69 73 70 is->eventDispatcher.=.$eventDisp
9c80 61 74 63 68 65 72 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 70 75 62 6c atcher;.$this->io.=.$io;.}..publ
9ca0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 4d 6f 64 65 28 24 64 65 76 4d 6f 64 65 20 ic.function.setDevMode($devMode.
9cc0 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 3d 20 28 62 6f 6f 6c =.true).{.$this->devMode.=.(bool
9ce0 29 20 24 64 65 76 4d 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ).$devMode;.}........public.func
9d00 74 69 6f 6e 20 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 63 tion.setClassMapAuthoritative($c
9d20 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 lassMapAuthoritative).{.$this->c
9d40 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 28 62 6f 6f 6c 29 20 24 63 lassMapAuthoritative.=.(bool).$c
9d60 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 lassMapAuthoritative;.}.......pu
9d80 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 70 63 75 28 24 61 70 63 75 29 0a 7b 0a 24 blic.function.setApcu($apcu).{.$
9da0 74 68 69 73 2d 3e 61 70 63 75 20 3d 20 28 62 6f 6f 6c 29 20 24 61 70 63 75 3b 0a 7d 0a 0a 0a 0a this->apcu.=.(bool).$apcu;.}....
9dc0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 75 6e 53 63 72 69 70 74 73 ...public.function.setRunScripts
9de0 28 24 72 75 6e 53 63 72 69 70 74 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 75 ($runScripts.=.true).{.$this->ru
9e00 6e 53 63 72 69 70 74 73 20 3d 20 28 62 6f 6f 6c 29 20 24 72 75 6e 53 63 72 69 70 74 73 3b 0a 7d nScripts.=.(bool).$runScripts;.}
9e20 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 75 6d 70 28 43 6f 6e 66 69 67 20 24 63 ..public.function.dump(Config.$c
9e40 6f 6e 66 69 67 2c 20 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 onfig,.InstalledRepositoryInterf
9e60 61 63 65 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 ace.$localRepo,.PackageInterface
9e80 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 2c 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 .$mainPackage,.InstallationManag
9ea0 65 72 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 24 74 61 72 67 65 74 er.$installationManager,.$target
9ec0 44 69 72 2c 20 24 73 63 61 6e 50 73 72 30 50 61 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 65 2c 20 Dir,.$scanPsr0Packages.=.false,.
9ee0 24 73 75 66 66 69 78 20 3d 20 27 27 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 $suffix.=.'').{.if.($this->class
9f00 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 20 7b 0a 0a 20 24 73 63 61 6e 50 73 72 30 50 MapAuthoritative).{...$scanPsr0P
9f20 61 63 6b 61 67 65 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 75 6e ackages.=.true;.}.if.($this->run
9f40 53 63 72 69 70 74 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 Scripts).{.$this->eventDispatche
9f60 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a r->dispatchScript(ScriptEvents::
9f80 50 52 45 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 2c 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 PRE_AUTOLOAD_DUMP,.$this->devMod
9fa0 65 2c 20 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 28 0a 27 6f 70 74 69 6d 69 7a 65 27 20 3d 3e e,.array(),.array(.'optimize'.=>
9fc0 20 28 62 6f 6f 6c 29 20 24 73 63 61 6e 50 73 72 30 50 61 63 6b 61 67 65 73 2c 0a 29 29 3b 0a 7d .(bool).$scanPsr0Packages,.));.}
9fe0 0a 0a 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 ..$filesystem.=.new.Filesystem()
a000 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 ;.$filesystem->ensureDirectoryEx
a020 69 73 74 73 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 29 ists($config->get('vendor-dir'))
a040 3b 0a 0a 20 0a 20 0a 20 24 62 61 73 65 50 61 74 68 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d ;.......$basePath.=.$filesystem-
a060 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 72 65 61 6c 70 61 74 68 28 72 65 61 6c 70 61 74 68 >normalizePath(realpath(realpath
a080 28 67 65 74 63 77 64 28 29 29 29 29 3b 0a 24 76 65 6e 64 6f 72 50 61 74 68 20 3d 20 24 66 69 6c (getcwd())));.$vendorPath.=.$fil
a0a0 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 72 65 61 6c 70 61 74 68 28 esystem->normalizePath(realpath(
a0c0 72 65 61 6c 70 61 74 68 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 realpath($config->get('vendor-di
a0e0 72 27 29 29 29 29 3b 0a 24 75 73 65 47 6c 6f 62 61 6c 49 6e 63 6c 75 64 65 50 61 74 68 20 3d 20 r'))));.$useGlobalIncludePath.=.
a100 28 62 6f 6f 6c 29 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 75 73 65 2d 69 6e 63 6c 75 64 65 (bool).$config->get('use-include
a120 2d 70 61 74 68 27 29 3b 0a 24 70 72 65 70 65 6e 64 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 24 63 -path');.$prependAutoloader.=.$c
a140 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 72 65 70 65 6e 64 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 onfig->get('prepend-autoloader')
a160 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 27 66 61 6c 73 65 27 20 3a 20 27 74 72 75 65 27 3b 0a 24 .===.false.?.'false'.:.'true';.$
a180 74 61 72 67 65 74 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 50 61 74 68 2e 27 2f 27 2e 24 74 61 72 targetDir.=.$vendorPath.'/'.$tar
a1a0 67 65 74 44 69 72 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 getDir;.$filesystem->ensureDirec
a1c0 74 6f 72 79 45 78 69 73 74 73 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 0a 24 76 65 6e 64 6f 72 toryExists($targetDir);..$vendor
a1e0 50 61 74 68 43 6f 64 65 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 PathCode.=.$filesystem->findShor
a200 74 65 73 74 50 61 74 68 43 6f 64 65 28 72 65 61 6c 70 61 74 68 28 24 74 61 72 67 65 74 44 69 72 testPathCode(realpath($targetDir
a220 29 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 74 72 75 65 29 3b 0a 24 76 65 6e 64 6f 72 50 61 ),.$vendorPath,.true);.$vendorPa
a240 74 68 43 6f 64 65 35 32 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5f 5f 44 49 52 5f 5f 27 thCode52.=.str_replace('__DIR__'
a260 2c 20 27 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 27 2c 20 24 76 65 6e 64 6f 72 50 61 ,.'dirname(__FILE__)',.$vendorPa
a280 74 68 43 6f 64 65 29 3b 0a 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 thCode);.$vendorPathToTargetDirC
a2a0 6f 64 65 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 ode.=.$filesystem->findShortestP
a2c0 61 74 68 43 6f 64 65 28 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 72 65 61 6c 70 61 74 68 28 24 74 athCode($vendorPath,.realpath($t
a2e0 61 72 67 65 74 44 69 72 29 2c 20 74 72 75 65 29 3b 0a 0a 24 61 70 70 42 61 73 65 44 69 72 43 6f argetDir),.true);..$appBaseDirCo
a300 64 65 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 de.=.$filesystem->findShortestPa
a320 74 68 43 6f 64 65 28 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 62 61 73 65 50 61 74 68 2c 20 74 thCode($vendorPath,.$basePath,.t
a340 72 75 65 29 3b 0a 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 20 3d 20 73 74 72 5f 72 65 70 6c rue);.$appBaseDirCode.=.str_repl
a360 61 63 65 28 27 5f 5f 44 49 52 5f 5f 27 2c 20 27 24 76 65 6e 64 6f 72 44 69 72 27 2c 20 24 61 70 ace('__DIR__',.'$vendorDir',.$ap
a380 70 42 61 73 65 44 69 72 43 6f 64 65 29 3b 0a 0a 24 6e 61 6d 65 73 70 61 63 65 73 46 69 6c 65 20 pBaseDirCode);..$namespacesFile.
a3a0 3d 20 3c 3c 3c 45 4f 46 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 =.<<<EOF.<?php..//.autoload_name
a3c0 73 70 61 63 65 73 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 spaces.php.@generated.by.Compose
a3e0 72 0a 0a 5c 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 r..\$vendorDir.=.$vendorPathCode
a400 35 32 3b 0a 5c 24 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 3b 52;.\$baseDir.=.$appBaseDirCode;
a420 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 0a 45 4f 46 3b 0a 0a 24 70 73 72 34 46 69 6c 65 ..return.array(..EOF;..$psr4File
a440 20 3d 20 3c 3c 3c 45 4f 46 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 5f 70 73 72 .=.<<<EOF.<?php..//.autoload_psr
a460 34 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 5c 24 4.php.@generated.by.Composer..\$
a480 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 35 32 3b 0a 5c vendorDir.=.$vendorPathCode52;.\
a4a0 24 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 3b 0a 0a 72 65 74 $baseDir.=.$appBaseDirCode;..ret
a4c0 75 72 6e 20 61 72 72 61 79 28 0a 0a 45 4f 46 3b 0a 0a 0a 20 24 70 61 63 6b 61 67 65 4d 61 70 20 urn.array(..EOF;....$packageMap.
a4e0 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 61 63 6b 61 67 65 4d 61 70 28 24 69 6e 73 74 61 6c =.$this->buildPackageMap($instal
a500 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 2c 20 24 6c 6f lationManager,.$mainPackage,.$lo
a520 63 61 6c 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 29 calRepo->getCanonicalPackages())
a540 3b 0a 24 61 75 74 6f 6c 6f 61 64 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 41 75 74 6f 6c ;.$autoloads.=.$this->parseAutol
a560 6f 61 64 73 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 2c 20 oads($packageMap,.$mainPackage,.
a580 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 3d 3d 3d 20 66 61 6c 73 65 29 3b 0a 0a 0a 20 66 6f $this->devMode.===.false);....fo
a5a0 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 70 73 72 2d 30 27 5d 20 61 73 20 24 6e reach.($autoloads['psr-0'].as.$n
a5c0 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 73 29 20 7b 0a 24 65 78 70 6f 72 74 65 64 50 amespace.=>.$paths).{.$exportedP
a5e0 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 68 73 20 aths.=.array();.foreach.($paths.
a600 61 73 20 24 70 61 74 68 29 20 7b 0a 24 65 78 70 6f 72 74 65 64 50 61 74 68 73 5b 5d 20 3d 20 24 as.$path).{.$exportedPaths[].=.$
a620 74 68 69 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 this->getPathCode($filesystem,.$
a640 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 70 61 74 68 29 3b 0a 7d basePath,.$vendorPath,.$path);.}
a660 0a 24 65 78 70 6f 72 74 65 64 50 72 65 66 69 78 20 3d 20 76 61 72 5f 65 78 70 6f 72 74 28 24 6e .$exportedPrefix.=.var_export($n
a680 61 6d 65 73 70 61 63 65 2c 20 74 72 75 65 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 73 46 69 6c 65 amespace,.true);.$namespacesFile
a6a0 20 2e 3d 20 22 20 20 20 20 24 65 78 70 6f 72 74 65 64 50 72 65 66 69 78 20 3d 3e 20 22 3b 0a 24 ..=."....$exportedPrefix.=>.";.$
a6c0 6e 61 6d 65 73 70 61 63 65 73 46 69 6c 65 20 2e 3d 20 22 61 72 72 61 79 28 22 2e 69 6d 70 6c 6f namespacesFile..=."array(".implo
a6e0 64 65 28 27 2c 20 27 2c 20 24 65 78 70 6f 72 74 65 64 50 61 74 68 73 29 2e 22 29 2c 5c 6e 22 3b de(',.',.$exportedPaths)."),\n";
a700 0a 7d 0a 24 6e 61 6d 65 73 70 61 63 65 73 46 69 6c 65 20 2e 3d 20 22 29 3b 5c 6e 22 3b 0a 0a 0a .}.$namespacesFile..=.");\n";...
a720 20 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 70 73 72 2d 34 27 5d 20 61 73 .foreach.($autoloads['psr-4'].as
a740 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 73 29 20 7b 0a 24 65 78 70 6f 72 74 .$namespace.=>.$paths).{.$export
a760 65 64 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 edPaths.=.array();.foreach.($pat
a780 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 65 78 70 6f 72 74 65 64 50 61 74 68 73 5b 5d 20 hs.as.$path).{.$exportedPaths[].
a7a0 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 28 24 66 69 6c 65 73 79 73 74 65 6d =.$this->getPathCode($filesystem
a7c0 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 70 61 74 68 29 ,.$basePath,.$vendorPath,.$path)
a7e0 3b 0a 7d 0a 24 65 78 70 6f 72 74 65 64 50 72 65 66 69 78 20 3d 20 76 61 72 5f 65 78 70 6f 72 74 ;.}.$exportedPrefix.=.var_export
a800 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 74 72 75 65 29 3b 0a 24 70 73 72 34 46 69 6c 65 20 2e 3d ($namespace,.true);.$psr4File..=
a820 20 22 20 20 20 20 24 65 78 70 6f 72 74 65 64 50 72 65 66 69 78 20 3d 3e 20 22 3b 0a 24 70 73 72 ."....$exportedPrefix.=>.";.$psr
a840 34 46 69 6c 65 20 2e 3d 20 22 61 72 72 61 79 28 22 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 4File..=."array(".implode(',.',.
a860 24 65 78 70 6f 72 74 65 64 50 61 74 68 73 29 2e 22 29 2c 5c 6e 22 3b 0a 7d 0a 24 70 73 72 34 46 $exportedPaths)."),\n";.}.$psr4F
a880 69 6c 65 20 2e 3d 20 22 29 3b 5c 6e 22 3b 0a 0a 24 63 6c 61 73 73 6d 61 70 46 69 6c 65 20 3d 20 ile..=.");\n";..$classmapFile.=.
a8a0 3c 3c 3c 45 4f 46 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d <<<EOF.<?php..//.autoload_classm
a8c0 61 70 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 5c ap.php.@generated.by.Composer..\
a8e0 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 35 32 3b 0a $vendorDir.=.$vendorPathCode52;.
a900 5c 24 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 3b 0a 0a 72 65 \$baseDir.=.$appBaseDirCode;..re
a920 74 75 72 6e 20 61 72 72 61 79 28 0a 0a 45 4f 46 3b 0a 0a 0a 20 24 74 61 72 67 65 74 44 69 72 4c turn.array(..EOF;....$targetDirL
a940 6f 61 64 65 72 20 3d 20 6e 75 6c 6c 3b 0a 24 6d 61 69 6e 41 75 74 6f 6c 6f 61 64 20 3d 20 24 6d oader.=.null;.$mainAutoload.=.$m
a960 61 69 6e 50 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 3b 0a 69 66 20 28 24 ainPackage->getAutoload();.if.($
a980 6d 61 69 6e 50 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 20 26 26 20 21 mainPackage->getTargetDir().&&.!
a9a0 65 6d 70 74 79 28 24 6d 61 69 6e 41 75 74 6f 6c 6f 61 64 5b 27 70 73 72 2d 30 27 5d 29 29 20 7b empty($mainAutoload['psr-0'])).{
a9c0 0a 24 6c 65 76 65 6c 73 20 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 66 69 6c 65 73 79 73 .$levels.=.substr_count($filesys
a9e0 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 6d 61 69 6e 50 61 63 6b 61 67 65 2d tem->normalizePath($mainPackage-
aa00 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 2c 20 27 2f 27 29 20 2b 20 31 3b 0a 24 70 72 65 >getTargetDir()),.'/').+.1;.$pre
aa20 66 69 78 65 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6d 61 70 28 fixes.=.implode(',.',.array_map(
aa40 66 75 6e 63 74 69 6f 6e 20 28 24 70 72 65 66 69 78 29 20 7b 0a 72 65 74 75 72 6e 20 76 61 72 5f function.($prefix).{.return.var_
aa60 65 78 70 6f 72 74 28 24 70 72 65 66 69 78 2c 20 74 72 75 65 29 3b 0a 7d 2c 20 61 72 72 61 79 5f export($prefix,.true);.},.array_
aa80 6b 65 79 73 28 24 6d 61 69 6e 41 75 74 6f 6c 6f 61 64 5b 27 70 73 72 2d 30 27 5d 29 29 29 3b 0a keys($mainAutoload['psr-0'])));.
aaa0 24 62 61 73 65 44 69 72 46 72 6f 6d 54 61 72 67 65 74 44 69 72 43 6f 64 65 20 3d 20 24 66 69 6c $baseDirFromTargetDirCode.=.$fil
aac0 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 24 74 esystem->findShortestPathCode($t
aae0 61 72 67 65 74 44 69 72 2c 20 24 62 61 73 65 50 61 74 68 2c 20 74 72 75 65 29 3b 0a 0a 24 74 61 argetDir,.$basePath,.true);..$ta
ab00 72 67 65 74 44 69 72 4c 6f 61 64 65 72 20 3d 20 3c 3c 3c 45 4f 46 0a 0a 20 20 20 20 70 75 62 6c rgetDirLoader.=.<<<EOF......publ
ab20 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 6c 6f 61 64 28 5c 24 63 6c ic.static.function.autoload(\$cl
ab40 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 5c 24 64 69 72 20 3d 20 24 62 61 73 65 ass).....{.........\$dir.=.$base
ab60 44 69 72 46 72 6f 6d 54 61 72 67 65 74 44 69 72 43 6f 64 65 20 2e 20 27 2f 27 3b 0a 20 20 20 20 DirFromTargetDirCode...'/';.....
ab80 20 20 20 20 5c 24 70 72 65 66 69 78 65 73 20 3d 20 61 72 72 61 79 28 24 70 72 65 66 69 78 65 73 ....\$prefixes.=.array($prefixes
aba0 29 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 5c 24 70 72 65 66 69 78 65 73 20 61 );.........foreach.(\$prefixes.a
abc0 73 20 5c 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 30 20 s.\$prefix).{.............if.(0.
abe0 21 3d 3d 20 73 74 72 70 6f 73 28 5c 24 63 6c 61 73 73 2c 20 5c 24 70 72 65 66 69 78 29 29 20 7b !==.strpos(\$class,.\$prefix)).{
ac00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 20 20 20 20 20 .................continue;......
ac20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5c 24 70 61 74 68 20 3d 20 5c 24 .......}.............\$path.=.\$
ac40 64 69 72 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 61 72 72 61 79 5f 73 6c 69 63 65 28 65 dir...implode('/',.array_slice(e
ac60 78 70 6c 6f 64 65 28 27 5c 5c 5c 5c 27 2c 20 5c 24 63 6c 61 73 73 29 2c 20 24 6c 65 76 65 6c 73 xplode('\\\\',.\$class),.$levels
ac80 29 29 2e 27 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 5c 24 70 61 )).'.php';.............if.(!\$pa
aca0 74 68 20 3d 20 73 74 72 65 61 6d 5f 72 65 73 6f 6c 76 65 5f 69 6e 63 6c 75 64 65 5f 70 61 74 68 th.=.stream_resolve_include_path
acc0 28 5c 24 70 61 74 68 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 (\$path)).{.................retu
ace0 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 rn.false;.............}.........
ad00 20 20 20 20 72 65 71 75 69 72 65 20 5c 24 70 61 74 68 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ....require.\$path;.............
ad20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 45 .return.true;.........}.....}..E
ad40 4f 46 3b 0a 7d 0a 0a 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 65 OF;.}..$blacklist.=.null;.if.(!e
ad60 6d 70 74 79 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c mpty($autoloads['exclude-from-cl
ad80 61 73 73 6d 61 70 27 5d 29 29 20 7b 0a 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 27 7b 28 27 20 2e assmap'])).{.$blacklist.=.'{('..
ada0 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 61 75 74 6f 6c 6f 61 64 73 5b 27 65 78 63 6c 75 64 .implode('|',.$autoloads['exclud
adc0 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 5d 29 20 2e 20 27 29 7d 27 3b 0a 7d 0a 0a 0a 20 e-from-classmap'])...')}';.}....
ade0 24 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 73 63 61 6e 50 73 $classMap.=.array();.if.($scanPs
ae00 72 30 50 61 63 6b 61 67 65 73 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 54 6f 53 63 61 6e 20 r0Packages).{.$namespacesToScan.
ae20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 70 73 =.array();....foreach.(array('ps
ae40 72 2d 30 27 2c 20 27 70 73 72 2d 34 27 29 20 61 73 20 24 70 73 72 54 79 70 65 29 20 7b 0a 66 6f r-0',.'psr-4').as.$psrType).{.fo
ae60 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 24 70 73 72 54 79 70 65 5d 20 61 73 20 24 reach.($autoloads[$psrType].as.$
ae80 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 73 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 namespace.=>.$paths).{.$namespac
aea0 65 73 54 6f 53 63 61 6e 5b 24 6e 61 6d 65 73 70 61 63 65 5d 5b 5d 20 3d 20 61 72 72 61 79 28 27 esToScan[$namespace][].=.array('
aec0 70 61 74 68 73 27 20 3d 3e 20 24 70 61 74 68 73 2c 20 27 74 79 70 65 27 20 3d 3e 20 24 70 73 72 paths'.=>.$paths,.'type'.=>.$psr
aee0 54 79 70 65 29 3b 0a 7d 0a 7d 0a 0a 6b 72 73 6f 72 74 28 24 6e 61 6d 65 73 70 61 63 65 73 54 6f Type);.}.}..krsort($namespacesTo
af00 53 63 61 6e 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 70 61 63 65 73 54 6f 53 63 Scan);..foreach.($namespacesToSc
af20 61 6e 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 67 72 6f 75 70 73 29 20 7b 0a 66 an.as.$namespace.=>.$groups).{.f
af40 6f 72 65 61 63 68 20 28 24 67 72 6f 75 70 73 20 61 73 20 24 67 72 6f 75 70 29 20 7b 0a 66 6f 72 oreach.($groups.as.$group).{.for
af60 65 61 63 68 20 28 24 67 72 6f 75 70 5b 27 70 61 74 68 73 27 5d 20 61 73 20 24 64 69 72 29 20 7b each.($group['paths'].as.$dir).{
af80 0a 24 64 69 72 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 .$dir.=.$filesystem->normalizePa
afa0 74 68 28 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 th($filesystem->isAbsolutePath($
afc0 64 69 72 29 20 3f 20 24 64 69 72 20 3a 20 24 62 61 73 65 50 61 74 68 2e 27 2f 27 2e 24 64 69 72 dir).?.$dir.:.$basePath.'/'.$dir
afe0 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 );.if.(!is_dir($dir)).{.continue
b000 3b 0a 7d 0a 0a 24 6e 61 6d 65 73 70 61 63 65 46 69 6c 74 65 72 20 3d 20 24 6e 61 6d 65 73 70 61 ;.}..$namespaceFilter.=.$namespa
b020 63 65 20 3d 3d 3d 20 27 27 20 3f 20 6e 75 6c 6c 20 3a 20 24 6e 61 6d 65 73 70 61 63 65 3b 0a 24 ce.===.''.?.null.:.$namespace;.$
b040 63 6c 61 73 73 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 61 64 64 43 6c 61 73 73 4d 61 70 43 6f 64 classMap.=.$this->addClassMapCod
b060 65 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f e($filesystem,.$basePath,.$vendo
b080 72 50 61 74 68 2c 20 24 64 69 72 2c 20 24 62 6c 61 63 6b 6c 69 73 74 2c 20 24 6e 61 6d 65 73 70 rPath,.$dir,.$blacklist,.$namesp
b0a0 61 63 65 46 69 6c 74 65 72 2c 20 24 63 6c 61 73 73 4d 61 70 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a aceFilter,.$classMap);.}.}.}.}..
b0c0 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 63 6c 61 73 73 6d 61 70 27 5d 20 foreach.($autoloads['classmap'].
b0e0 61 73 20 24 64 69 72 29 20 7b 0a 24 63 6c 61 73 73 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 61 64 as.$dir).{.$classMap.=.$this->ad
b100 64 43 6c 61 73 73 4d 61 70 43 6f 64 65 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 dClassMapCode($filesystem,.$base
b120 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 64 69 72 2c 20 24 62 6c 61 63 6b 6c Path,.$vendorPath,.$dir,.$blackl
b140 69 73 74 2c 20 6e 75 6c 6c 2c 20 24 63 6c 61 73 73 4d 61 70 29 3b 0a 7d 0a 0a 6b 73 6f 72 74 28 ist,.null,.$classMap);.}..ksort(
b160 24 63 6c 61 73 73 4d 61 70 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6c 61 73 73 4d 61 70 20 61 $classMap);.foreach.($classMap.a
b180 73 20 24 63 6c 61 73 73 20 3d 3e 20 24 63 6f 64 65 29 20 7b 0a 24 63 6c 61 73 73 6d 61 70 46 69 s.$class.=>.$code).{.$classmapFi
b1a0 6c 65 20 2e 3d 20 27 20 20 20 20 27 2e 76 61 72 5f 65 78 70 6f 72 74 28 24 63 6c 61 73 73 2c 20 le..=.'....'.var_export($class,.
b1c0 74 72 75 65 29 2e 27 20 3d 3e 20 27 2e 24 63 6f 64 65 3b 0a 7d 0a 24 63 6c 61 73 73 6d 61 70 46 true).'.=>.'.$code;.}.$classmapF
b1e0 69 6c 65 20 2e 3d 20 22 29 3b 5c 6e 22 3b 0a 0a 69 66 20 28 21 24 73 75 66 66 69 78 29 20 7b 0a ile..=.");\n";..if.(!$suffix).{.
b200 69 66 20 28 21 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 75 74 6f 6c 6f 61 64 65 72 2d 73 75 if.(!$config->get('autoloader-su
b220 66 66 69 78 27 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 76 65 6e 64 6f 72 50 61 74 ffix').&&.is_readable($vendorPat
b240 68 2e 27 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d h.'/autoload.php')).{.$content.=
b260 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 76 65 6e 64 6f 72 50 61 74 68 2e 27 .file_get_contents($vendorPath.'
b280 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 /autoload.php');.if.(preg_match(
b2a0 27 7b 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 28 5b 5e 3a 5c 73 5d 2b '{ComposerAutoloaderInit([^:\s]+
b2c0 29 3a 3a 7d 27 2c 20 24 63 6f 6e 74 65 6e 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 73 75 66 )::}',.$content,.$match)).{.$suf
b2e0 66 69 78 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 73 75 66 66 fix.=.$match[1];.}.}..if.(!$suff
b300 69 78 29 20 7b 0a 24 73 75 66 66 69 78 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 75 ix).{.$suffix.=.$config->get('au
b320 74 6f 6c 6f 61 64 65 72 2d 73 75 66 66 69 78 27 29 20 3f 3a 20 6d 64 35 28 75 6e 69 71 69 64 28 toloader-suffix').?:.md5(uniqid(
b340 27 27 2c 20 74 72 75 65 29 29 3b 0a 7d 0a 7d 0a 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e '',.true));.}.}..file_put_conten
b360 74 73 28 24 74 61 72 67 65 74 44 69 72 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 ts($targetDir.'/autoload_namespa
b380 63 65 73 2e 70 68 70 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 73 46 69 6c 65 29 3b 0a 66 69 6c 65 ces.php',.$namespacesFile);.file
b3a0 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 61 72 67 65 74 44 69 72 2e 27 2f 61 75 74 6f 6c _put_contents($targetDir.'/autol
b3c0 6f 61 64 5f 70 73 72 34 2e 70 68 70 27 2c 20 24 70 73 72 34 46 69 6c 65 29 3b 0a 66 69 6c 65 5f oad_psr4.php',.$psr4File);.file_
b3e0 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 61 72 67 65 74 44 69 72 2e 27 2f 61 75 74 6f 6c 6f put_contents($targetDir.'/autolo
b400 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 27 2c 20 24 63 6c 61 73 73 6d 61 70 46 69 6c 65 29 ad_classmap.php',.$classmapFile)
b420 3b 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 50 61 74 68 20 3d 20 24 74 61 72 67 65 74 ;.$includePathFilePath.=.$target
b440 44 69 72 2e 27 2f 69 6e 63 6c 75 64 65 5f 70 61 74 68 73 2e 70 68 70 27 3b 0a 69 66 20 28 24 69 Dir.'/include_paths.php';.if.($i
b460 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 43 6f 6e 74 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e ncludePathFileContents.=.$this->
b480 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 46 69 6c 65 28 24 70 61 63 6b 61 67 65 4d 61 70 2c getIncludePathsFile($packageMap,
b4a0 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 .$filesystem,.$basePath,.$vendor
b4c0 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 35 32 2c 20 24 61 70 70 42 61 73 Path,.$vendorPathCode52,.$appBas
b4e0 65 44 69 72 43 6f 64 65 29 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 eDirCode)).{.file_put_contents($
b500 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 50 61 74 68 2c 20 24 69 6e 63 6c 75 64 65 50 61 74 includePathFilePath,.$includePat
b520 68 46 69 6c 65 43 6f 6e 74 65 6e 74 73 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 69 6c 65 5f 65 hFileContents);.}.elseif.(file_e
b540 78 69 73 74 73 28 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 50 61 74 68 29 29 20 7b 0a 75 xists($includePathFilePath)).{.u
b560 6e 6c 69 6e 6b 28 24 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 50 61 74 68 29 3b 0a 7d 0a 24 nlink($includePathFilePath);.}.$
b580 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 50 61 74 68 20 3d 20 24 74 61 72 67 65 74 44 69 includeFilesFilePath.=.$targetDi
b5a0 72 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 27 3b 0a 69 66 20 28 24 69 6e r.'/autoload_files.php';.if.($in
b5c0 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 43 6f 6e 74 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e cludeFilesFileContents.=.$this->
b5e0 67 65 74 49 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 28 24 61 75 74 6f 6c 6f 61 64 73 5b 27 getIncludeFilesFile($autoloads['
b600 66 69 6c 65 73 27 5d 2c 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c files'],.$filesystem,.$basePath,
b620 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 35 32 2c .$vendorPath,.$vendorPathCode52,
b640 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 29 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f .$appBaseDirCode)).{.file_put_co
b660 6e 74 65 6e 74 73 28 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 50 61 74 68 2c 20 24 69 ntents($includeFilesFilePath,.$i
b680 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 43 6f 6e 74 65 6e 74 73 29 3b 0a 7d 20 65 6c 73 65 ncludeFilesFileContents);.}.else
b6a0 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 6c if.(file_exists($includeFilesFil
b6c0 65 50 61 74 68 29 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 69 ePath)).{.unlink($includeFilesFi
b6e0 6c 65 50 61 74 68 29 3b 0a 7d 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 61 lePath);.}.file_put_contents($ta
b700 72 67 65 74 44 69 72 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 73 74 61 74 69 63 2e 70 68 70 27 2c 20 rgetDir.'/autoload_static.php',.
b720 24 74 68 69 73 2d 3e 67 65 74 53 74 61 74 69 63 46 69 6c 65 28 24 73 75 66 66 69 78 2c 20 24 74 $this->getStaticFile($suffix,.$t
b740 61 72 67 65 74 44 69 72 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 62 61 73 65 50 61 74 68 argetDir,.$vendorPath,.$basePath
b760 2c 20 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 29 29 3b 0a 66 69 6c 65 5f 70 75 74 5f ,.$staticPhpVersion));.file_put_
b780 63 6f 6e 74 65 6e 74 73 28 24 76 65 6e 64 6f 72 50 61 74 68 2e 27 2f 61 75 74 6f 6c 6f 61 64 2e contents($vendorPath.'/autoload.
b7a0 70 68 70 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 46 69 6c 65 28 24 76 65 php',.$this->getAutoloadFile($ve
b7c0 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 2c 20 24 73 75 66 66 69 78 ndorPathToTargetDirCode,.$suffix
b7e0 29 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 61 72 67 65 74 44 69 72 ));.file_put_contents($targetDir
b800 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 27 2c 20 24 74 68 69 73 2d 3e 67 65 .'/autoload_real.php',.$this->ge
b820 74 41 75 74 6f 6c 6f 61 64 52 65 61 6c 46 69 6c 65 28 74 72 75 65 2c 20 28 62 6f 6f 6c 29 20 24 tAutoloadRealFile(true,.(bool).$
b840 69 6e 63 6c 75 64 65 50 61 74 68 46 69 6c 65 43 6f 6e 74 65 6e 74 73 2c 20 24 74 61 72 67 65 74 includePathFileContents,.$target
b860 44 69 72 4c 6f 61 64 65 72 2c 20 28 62 6f 6f 6c 29 20 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 46 DirLoader,.(bool).$includeFilesF
b880 69 6c 65 43 6f 6e 74 65 6e 74 73 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 2c 20 24 61 ileContents,.$vendorPathCode,.$a
b8a0 70 70 42 61 73 65 44 69 72 43 6f 64 65 2c 20 24 73 75 66 66 69 78 2c 20 24 75 73 65 47 6c 6f 62 ppBaseDirCode,.$suffix,.$useGlob
b8c0 61 6c 49 6e 63 6c 75 64 65 50 61 74 68 2c 20 24 70 72 65 70 65 6e 64 41 75 74 6f 6c 6f 61 64 65 alIncludePath,.$prependAutoloade
b8e0 72 2c 20 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 29 29 3b 0a 0a 24 74 68 69 73 2d 3e r,.$staticPhpVersion));..$this->
b900 73 61 66 65 43 6f 70 79 28 5f 5f 44 49 52 5f 5f 2e 27 2f 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 safeCopy(__DIR__.'/ClassLoader.p
b920 68 70 27 2c 20 24 74 61 72 67 65 74 44 69 72 2e 27 2f 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 hp',.$targetDir.'/ClassLoader.ph
b940 70 27 29 3b 0a 24 74 68 69 73 2d 3e 73 61 66 65 43 6f 70 79 28 5f 5f 44 49 52 5f 5f 2e 27 2f 2e p');.$this->safeCopy(__DIR__.'/.
b960 2e 2f 2e 2e 2f 2e 2e 2f 4c 49 43 45 4e 53 45 27 2c 20 24 74 61 72 67 65 74 44 69 72 2e 27 2f 4c ./../../LICENSE',.$targetDir.'/L
b980 49 43 45 4e 53 45 27 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 ICENSE');..if.($this->runScripts
b9a0 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 ).{.$this->eventDispatcher->disp
b9c0 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 41 55 atchScript(ScriptEvents::POST_AU
b9e0 54 4f 4c 4f 41 44 5f 44 55 4d 50 2c 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 2c 20 61 72 72 TOLOAD_DUMP,.$this->devMode,.arr
ba00 61 79 28 29 2c 20 61 72 72 61 79 28 0a 27 6f 70 74 69 6d 69 7a 65 27 20 3d 3e 20 28 62 6f 6f 6c ay(),.array(.'optimize'.=>.(bool
ba20 29 20 24 73 63 61 6e 50 73 72 30 50 61 63 6b 61 67 65 73 2c 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 ).$scanPsr0Packages,.));.}..retu
ba40 72 6e 20 63 6f 75 6e 74 28 24 63 6c 61 73 73 4d 61 70 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 rn.count($classMap);.}..private.
ba60 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6c 61 73 73 4d 61 70 43 6f 64 65 28 24 66 69 6c 65 73 79 function.addClassMapCode($filesy
ba80 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 64 stem,.$basePath,.$vendorPath,.$d
baa0 69 72 2c 20 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 6e 75 6c 6c 2c 20 24 6e 61 6d 65 73 70 61 63 ir,.$blacklist.=.null,.$namespac
bac0 65 46 69 6c 74 65 72 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 63 6c 61 73 73 4d 61 70 20 eFilter.=.null,.array.$classMap.
bae0 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 6e =.array()).{.foreach.($this->gen
bb00 65 72 61 74 65 43 6c 61 73 73 4d 61 70 28 24 64 69 72 2c 20 24 62 6c 61 63 6b 6c 69 73 74 2c 20 erateClassMap($dir,.$blacklist,.
bb20 24 6e 61 6d 65 73 70 61 63 65 46 69 6c 74 65 72 29 20 61 73 20 24 63 6c 61 73 73 20 3d 3e 20 24 $namespaceFilter).as.$class.=>.$
bb40 70 61 74 68 29 20 7b 0a 24 70 61 74 68 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 path).{.$pathCode.=.$this->getPa
bb60 74 68 43 6f 64 65 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 thCode($filesystem,.$basePath,.$
bb80 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 70 61 74 68 29 2e 22 2c 5c 6e 22 3b 0a 69 66 20 28 21 69 vendorPath,.$path).",\n";.if.(!i
bba0 73 73 65 74 28 24 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a 24 63 6c 61 73 sset($classMap[$class])).{.$clas
bbc0 73 4d 61 70 5b 24 63 6c 61 73 73 5d 20 3d 20 24 70 61 74 68 43 6f 64 65 3b 0a 7d 20 65 6c 73 65 sMap[$class].=.$pathCode;.}.else
bbe0 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 20 26 26 20 24 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 if.($this->io.&&.$classMap[$clas
bc00 73 5d 20 21 3d 3d 20 24 70 61 74 68 43 6f 64 65 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 s].!==.$pathCode.&&.!preg_match(
bc20 27 7b 2f 28 74 65 73 74 7c 66 69 78 74 75 72 65 7c 65 78 61 6d 70 6c 65 7c 73 74 75 62 29 73 3f '{/(test|fixture|example|stub)s?
bc40 2f 7d 69 27 2c 20 73 74 72 74 72 28 24 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 2e 27 20 /}i',.strtr($classMap[$class].'.
bc60 27 2e 24 70 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 '.$path,.'\\',.'/'))).{.$this->i
bc80 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 27 3c 77 61 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 o->writeError(.'<warning>Warning
bca0 3a 20 41 6d 62 69 67 75 6f 75 73 20 63 6c 61 73 73 20 72 65 73 6f 6c 75 74 69 6f 6e 2c 20 22 27 :.Ambiguous.class.resolution,."'
bcc0 2e 24 63 6c 61 73 73 2e 27 22 27 2e 0a 27 20 77 61 73 20 66 6f 75 6e 64 20 69 6e 20 62 6f 74 68 .$class.'"'..'.was.found.in.both
bce0 20 22 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 24 76 65 6e 64 6f 72 44 69 ."'.str_replace(array('$vendorDi
bd00 72 20 2e 20 5c 27 27 2c 20 22 27 2c 5c 6e 22 29 2c 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 50 r...\'',."',\n"),.array($vendorP
bd20 61 74 68 2c 20 27 27 29 2c 20 24 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 29 2e 27 22 20 ath,.''),.$classMap[$class]).'".
bd40 61 6e 64 20 22 27 2e 24 70 61 74 68 2e 27 22 2c 20 74 68 65 20 66 69 72 73 74 20 77 69 6c 6c 20 and."'.$path.'",.the.first.will.
bd60 62 65 20 75 73 65 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 be.used.</warning>'.);.}.}..retu
bd80 72 6e 20 24 63 6c 61 73 73 4d 61 70 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f rn.$classMap;.}..private.functio
bda0 6e 20 67 65 6e 65 72 61 74 65 43 6c 61 73 73 4d 61 70 28 24 64 69 72 2c 20 24 62 6c 61 63 6b 6c n.generateClassMap($dir,.$blackl
bdc0 69 73 74 20 3d 20 6e 75 6c 6c 2c 20 24 6e 61 6d 65 73 70 61 63 65 46 69 6c 74 65 72 20 3d 20 6e ist.=.null,.$namespaceFilter.=.n
bde0 75 6c 6c 2c 20 24 73 68 6f 77 41 6d 62 69 67 75 6f 75 73 57 61 72 6e 69 6e 67 20 3d 20 74 72 75 ull,.$showAmbiguousWarning.=.tru
be00 65 29 0a 7b 0a 72 65 74 75 72 6e 20 43 6c 61 73 73 4d 61 70 47 65 6e 65 72 61 74 6f 72 3a 3a 63 e).{.return.ClassMapGenerator::c
be20 72 65 61 74 65 4d 61 70 28 24 64 69 72 2c 20 24 62 6c 61 63 6b 6c 69 73 74 2c 20 24 73 68 6f 77 reateMap($dir,.$blacklist,.$show
be40 41 6d 62 69 67 75 6f 75 73 57 61 72 6e 69 6e 67 20 3f 20 24 74 68 69 73 2d 3e 69 6f 20 3a 20 6e AmbiguousWarning.?.$this->io.:.n
be60 75 6c 6c 2c 20 24 6e 61 6d 65 73 70 61 63 65 46 69 6c 74 65 72 29 3b 0a 7d 0a 0a 70 75 62 6c 69 ull,.$namespaceFilter);.}..publi
be80 63 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 50 61 63 6b 61 67 65 4d 61 70 28 49 6e 73 74 61 c.function.buildPackageMap(Insta
bea0 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 llationManager.$installationMana
bec0 67 65 72 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 6d 61 69 6e 50 61 63 6b 61 ger,.PackageInterface.$mainPacka
bee0 67 65 2c 20 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 29 0a 7b 0a 0a 20 24 70 61 63 6b 61 67 ge,.array.$packages).{...$packag
bf00 65 4d 61 70 20 3d 20 61 72 72 61 79 28 61 72 72 61 79 28 24 6d 61 69 6e 50 61 63 6b 61 67 65 2c eMap.=.array(array($mainPackage,
bf20 20 27 27 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 .''));..foreach.($packages.as.$p
bf40 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f ackage).{.if.($package.instanceo
bf60 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 74 f.AliasPackage).{.continue;.}.$t
bf80 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a his->validatePackage($package);.
bfa0 0a 24 70 61 63 6b 61 67 65 4d 61 70 5b 5d 20 3d 20 61 72 72 61 79 28 0a 24 70 61 63 6b 61 67 65 .$packageMap[].=.array(.$package
bfc0 2c 0a 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 67 65 74 49 6e 73 74 61 ,.$installationManager->getInsta
bfe0 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 2c 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 llPath($package),.);.}..return.$
c000 70 61 63 6b 61 67 65 4d 61 70 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 packageMap;.}.......protected.fu
c020 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e nction.validatePackage(PackageIn
c040 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 61 75 74 6f 6c 6f 61 64 20 3d 20 terface.$package).{.$autoload.=.
c060 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 3b 0a 69 66 20 28 21 65 6d $package->getAutoload();.if.(!em
c080 70 74 79 28 24 61 75 74 6f 6c 6f 61 64 5b 27 70 73 72 2d 34 27 5d 29 20 26 26 20 6e 75 6c 6c 20 pty($autoload['psr-4']).&&.null.
c0a0 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 20 7b 0a !==.$package->getTargetDir()).{.
c0c0 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 70 61 $name.=.$package->getName();.$pa
c0e0 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 74 68 72 6f 77 20 6e 65 77 ckage->getTargetDir();.throw.new
c100 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 50 53 52 2d .\InvalidArgumentException("PSR-
c120 34 20 61 75 74 6f 6c 6f 61 64 69 6e 67 20 69 73 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 4.autoloading.is.incompatible.wi
c140 74 68 20 74 68 65 20 74 61 72 67 65 74 2d 64 69 72 20 70 72 6f 70 65 72 74 79 2c 20 72 65 6d 6f th.the.target-dir.property,.remo
c160 76 65 20 74 68 65 20 74 61 72 67 65 74 2d 64 69 72 20 69 6e 20 70 61 63 6b 61 67 65 20 27 24 6e ve.the.target-dir.in.package.'$n
c180 61 6d 65 27 2e 22 29 3b 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 28 24 61 75 74 6f 6c 6f 61 64 5b ame'.");.}.if.(!empty($autoload[
c1a0 27 70 73 72 2d 34 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 5b 'psr-4'])).{.foreach.($autoload[
c1c0 27 70 73 72 2d 34 27 5d 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 64 69 72 73 29 'psr-4'].as.$namespace.=>.$dirs)
c1e0 20 7b 0a 69 66 20 28 24 6e 61 6d 65 73 70 61 63 65 20 21 3d 3d 20 27 27 20 26 26 20 27 5c 5c 27 .{.if.($namespace.!==.''.&&.'\\'
c200 20 21 3d 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 2d 31 29 29 20 7b 0a 74 .!==.substr($namespace,.-1)).{.t
c220 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 hrow.new.\InvalidArgumentExcepti
c240 6f 6e 28 22 70 73 72 2d 34 20 6e 61 6d 65 73 70 61 63 65 73 20 6d 75 73 74 20 65 6e 64 20 77 69 on("psr-4.namespaces.must.end.wi
c260 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 74 6f 72 2c 20 27 24 6e 61 6d 65 th.a.namespace.separator,.'$name
c280 73 70 61 63 65 27 20 64 6f 65 73 20 6e 6f 74 2c 20 75 73 65 20 27 24 6e 61 6d 65 73 70 61 63 65 space'.does.not,.use.'$namespace
c2a0 5c 5c 27 2e 22 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 \\'.");.}.}.}.}..........public.
c2c0 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 28 61 72 72 61 79 20 24 70 function.parseAutoloads(array.$p
c2e0 61 63 6b 61 67 65 4d 61 70 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 6d 61 69 ackageMap,.PackageInterface.$mai
c300 6e 50 61 63 6b 61 67 65 2c 20 24 66 69 6c 74 65 72 4f 75 74 52 65 71 75 69 72 65 44 65 76 50 61 nPackage,.$filterOutRequireDevPa
c320 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6d 61 69 6e 50 61 63 6b 61 67 65 4d 61 ckages.=.false).{.$mainPackageMa
c340 70 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 70 61 63 6b 61 67 65 4d 61 70 29 3b 0a 69 66 p.=.array_shift($packageMap);.if
c360 20 28 24 66 69 6c 74 65 72 4f 75 74 52 65 71 75 69 72 65 44 65 76 50 61 63 6b 61 67 65 73 29 20 .($filterOutRequireDevPackages).
c380 7b 0a 24 70 61 63 6b 61 67 65 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 50 61 63 {.$packageMap.=.$this->filterPac
c3a0 6b 61 67 65 4d 61 70 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 kageMap($packageMap,.$mainPackag
c3c0 65 29 3b 0a 7d 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 20 3d 20 24 74 68 69 73 2d e);.}.$sortedPackageMap.=.$this-
c3e0 3e 73 6f 72 74 50 61 63 6b 61 67 65 4d 61 70 28 24 70 61 63 6b 61 67 65 4d 61 70 29 3b 0a 24 73 >sortPackageMap($packageMap);.$s
c400 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 5b 5d 20 3d 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 ortedPackageMap[].=.$mainPackage
c420 4d 61 70 3b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 Map;.array_unshift($packageMap,.
c440 24 6d 61 69 6e 50 61 63 6b 61 67 65 4d 61 70 29 3b 0a 0a 24 70 73 72 30 20 3d 20 24 74 68 69 73 $mainPackageMap);..$psr0.=.$this
c460 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 54 79 70 65 28 24 70 61 63 6b 61 67 65 4d 61 70 ->parseAutoloadsType($packageMap
c480 2c 20 27 70 73 72 2d 30 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 3b 0a 24 70 73 72 34 20 ,.'psr-0',.$mainPackage);.$psr4.
c4a0 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 54 79 70 65 28 24 70 61 63 =.$this->parseAutoloadsType($pac
c4c0 6b 61 67 65 4d 61 70 2c 20 27 70 73 72 2d 34 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 3b kageMap,.'psr-4',.$mainPackage);
c4e0 0a 24 63 6c 61 73 73 6d 61 70 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 .$classmap.=.$this->parseAutoloa
c500 64 73 54 79 70 65 28 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 73 6f 72 74 65 64 50 61 63 6b dsType(array_reverse($sortedPack
c520 61 67 65 4d 61 70 29 2c 20 27 63 6c 61 73 73 6d 61 70 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 ageMap),.'classmap',.$mainPackag
c540 65 29 3b 0a 24 66 69 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 e);.$files.=.$this->parseAutoloa
c560 64 73 54 79 70 65 28 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 2c 20 27 66 69 6c 65 73 dsType($sortedPackageMap,.'files
c580 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 3b 0a 24 65 78 63 6c 75 64 65 20 3d 20 24 74 68 ',.$mainPackage);.$exclude.=.$th
c5a0 69 73 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 54 79 70 65 28 24 73 6f 72 74 65 64 50 61 is->parseAutoloadsType($sortedPa
c5c0 63 6b 61 67 65 4d 61 70 2c 20 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 ckageMap,.'exclude-from-classmap
c5e0 27 2c 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 3b 0a 0a 6b 72 73 6f 72 74 28 24 70 73 72 30 29 ',.$mainPackage);..krsort($psr0)
c600 3b 0a 6b 72 73 6f 72 74 28 24 70 73 72 34 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a ;.krsort($psr4);..return.array(.
c620 27 70 73 72 2d 30 27 20 3d 3e 20 24 70 73 72 30 2c 0a 27 70 73 72 2d 34 27 20 3d 3e 20 24 70 73 'psr-0'.=>.$psr0,.'psr-4'.=>.$ps
c640 72 34 2c 0a 27 63 6c 61 73 73 6d 61 70 27 20 3d 3e 20 24 63 6c 61 73 73 6d 61 70 2c 0a 27 66 69 r4,.'classmap'.=>.$classmap,.'fi
c660 6c 65 73 27 20 3d 3e 20 24 66 69 6c 65 73 2c 0a 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c les'.=>.$files,.'exclude-from-cl
c680 61 73 73 6d 61 70 27 20 3d 3e 20 24 65 78 63 6c 75 64 65 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a assmap'.=>.$exclude,.);.}.......
c6a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 4c 6f 61 64 65 72 28 61 72 .public.function.createLoader(ar
c6c0 72 61 79 20 24 61 75 74 6f 6c 6f 61 64 73 29 0a 7b 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 ray.$autoloads).{.$loader.=.new.
c6e0 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 6f 6c ClassLoader();..if.(isset($autol
c700 6f 61 64 73 5b 27 70 73 72 2d 30 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f oads['psr-0'])).{.foreach.($auto
c720 6c 6f 61 64 73 5b 27 70 73 72 2d 30 27 5d 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 loads['psr-0'].as.$namespace.=>.
c740 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 61 64 64 28 24 6e 61 6d 65 73 70 61 63 65 $path).{.$loader->add($namespace
c760 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 6f 6c 6f ,.$path);.}.}..if.(isset($autolo
c780 61 64 73 5b 27 70 73 72 2d 34 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c ads['psr-4'])).{.foreach.($autol
c7a0 6f 61 64 73 5b 27 70 73 72 2d 34 27 5d 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 oads['psr-4'].as.$namespace.=>.$
c7c0 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 61 64 64 50 73 72 34 28 24 6e 61 6d 65 73 70 path).{.$loader->addPsr4($namesp
c7e0 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 ace,.$path);.}.}..if.(isset($aut
c800 6f 6c 6f 61 64 73 5b 27 63 6c 61 73 73 6d 61 70 27 5d 29 29 20 7b 0a 24 62 6c 61 63 6b 6c 69 73 oloads['classmap'])).{.$blacklis
c820 74 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 61 75 74 6f 6c 6f 61 64 73 5b t.=.null;.if.(!empty($autoloads[
c840 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 5d 29 29 20 7b 0a 24 62 6c 'exclude-from-classmap'])).{.$bl
c860 61 63 6b 6c 69 73 74 20 3d 20 27 7b 28 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 61 acklist.=.'{('...implode('|',.$a
c880 75 74 6f 6c 6f 61 64 73 5b 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 utoloads['exclude-from-classmap'
c8a0 5d 29 20 2e 20 27 29 7d 27 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 ])...')}';.}..foreach.($autoload
c8c0 73 5b 27 63 6c 61 73 73 6d 61 70 27 5d 20 61 73 20 24 64 69 72 29 20 7b 0a 74 72 79 20 7b 0a 24 s['classmap'].as.$dir).{.try.{.$
c8e0 6c 6f 61 64 65 72 2d 3e 61 64 64 43 6c 61 73 73 4d 61 70 28 24 74 68 69 73 2d 3e 67 65 6e 65 72 loader->addClassMap($this->gener
c900 61 74 65 43 6c 61 73 73 4d 61 70 28 24 64 69 72 2c 20 24 62 6c 61 63 6b 6c 69 73 74 2c 20 6e 75 ateClassMap($dir,.$blacklist,.nu
c920 6c 6c 2c 20 66 61 6c 73 65 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 ll,.false));.}.catch.(\RuntimeEx
c940 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 ception.$e).{.$this->io->writeEr
c960 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 ror('<warning>'.$e->getMessage()
c980 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c .'</warning>');.}.}.}..return.$l
c9a0 6f 61 64 65 72 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 oader;.}..protected.function.get
c9c0 49 6e 63 6c 75 64 65 50 61 74 68 73 46 69 6c 65 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 4d IncludePathsFile(array.$packageM
c9e0 61 70 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 ap,.Filesystem.$filesystem,.$bas
ca00 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 ePath,.$vendorPath,.$vendorPathC
ca20 6f 64 65 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 29 0a 7b 0a 24 69 6e 63 6c 75 64 65 ode,.$appBaseDirCode).{.$include
ca40 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b Paths.=.array();..foreach.($pack
ca60 61 67 65 4d 61 70 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 6c 69 73 74 28 24 70 61 63 6b 61 67 65 ageMap.as.$item).{.list($package
ca80 2c 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 20 3d 20 24 69 74 65 6d 3b 0a 0a 69 66 20 28 6e 75 ,.$installPath).=.$item;..if.(nu
caa0 6c 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 20 ll.!==.$package->getTargetDir().
cac0 26 26 20 73 74 72 6c 65 6e 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 &&.strlen($package->getTargetDir
cae0 28 29 29 20 3e 20 30 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 73 75 62 73 74 72 ()).>.0).{.$installPath.=.substr
cb00 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c 20 30 2c 20 2d 73 74 72 6c 65 6e 28 27 2f 27 2e 24 70 ($installPath,.0,.-strlen('/'.$p
cb20 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 29 29 3b 0a 7d 0a 0a 66 6f 72 ackage->getTargetDir()));.}..for
cb40 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 each.($package->getIncludePaths(
cb60 29 20 61 73 20 24 69 6e 63 6c 75 64 65 50 61 74 68 29 20 7b 0a 24 69 6e 63 6c 75 64 65 50 61 74 ).as.$includePath).{.$includePat
cb80 68 20 3d 20 74 72 69 6d 28 24 69 6e 63 6c 75 64 65 50 61 74 68 2c 20 27 2f 27 29 3b 0a 24 69 6e h.=.trim($includePath,.'/');.$in
cba0 63 6c 75 64 65 50 61 74 68 73 5b 5d 20 3d 20 65 6d 70 74 79 28 24 69 6e 73 74 61 6c 6c 50 61 74 cludePaths[].=.empty($installPat
cbc0 68 29 20 3f 20 24 69 6e 63 6c 75 64 65 50 61 74 68 20 3a 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 h).?.$includePath.:.$installPath
cbe0 2e 27 2f 27 2e 24 69 6e 63 6c 75 64 65 50 61 74 68 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 69 6e .'/'.$includePath;.}.}..if.(!$in
cc00 63 6c 75 64 65 50 61 74 68 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 69 6e 63 6c 75 64 cludePaths).{.return;.}..$includ
cc20 65 50 61 74 68 73 43 6f 64 65 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 63 6c 75 ePathsCode.=.'';.foreach.($inclu
cc40 64 65 50 61 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 dePaths.as.$path).{.$includePath
cc60 73 43 6f 64 65 20 2e 3d 20 22 20 20 20 20 22 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 sCode..=."...."...$this->getPath
cc80 43 6f 64 65 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 Code($filesystem,.$basePath,.$ve
cca0 6e 64 6f 72 50 61 74 68 2c 20 24 70 61 74 68 29 20 2e 20 22 2c 5c 6e 22 3b 0a 7d 0a 0a 72 65 74 ndorPath,.$path)...",\n";.}..ret
ccc0 75 72 6e 20 3c 3c 3c 45 4f 46 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 69 6e 63 6c 75 64 65 5f 70 61 74 urn.<<<EOF.<?php..//.include_pat
cce0 68 73 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 5c hs.php.@generated.by.Composer..\
cd00 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 3b 0a 5c 24 $vendorDir.=.$vendorPathCode;.\$
cd20 62 61 73 65 44 69 72 20 3d 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 3b 0a 0a 72 65 74 75 baseDir.=.$appBaseDirCode;..retu
cd40 72 6e 20 61 72 72 61 79 28 0a 24 69 6e 63 6c 75 64 65 50 61 74 68 73 43 6f 64 65 29 3b 0a 0a 45 rn.array(.$includePathsCode);..E
cd60 4f 46 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 OF;.}..protected.function.getInc
cd80 6c 75 64 65 46 69 6c 65 73 46 69 6c 65 28 61 72 72 61 79 20 24 66 69 6c 65 73 2c 20 46 69 6c 65 ludeFilesFile(array.$files,.File
cda0 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 system.$filesystem,.$basePath,.$
cdc0 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 2c 20 24 61 70 vendorPath,.$vendorPathCode,.$ap
cde0 70 42 61 73 65 44 69 72 43 6f 64 65 29 0a 7b 0a 24 66 69 6c 65 73 43 6f 64 65 20 3d 20 27 27 3b pBaseDirCode).{.$filesCode.=.'';
ce00 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 65 73 20 61 73 20 24 66 69 6c 65 49 64 65 6e 74 69 66 .foreach.($files.as.$fileIdentif
ce20 69 65 72 20 3d 3e 20 24 66 75 6e 63 74 69 6f 6e 46 69 6c 65 29 20 7b 0a 24 66 69 6c 65 73 43 6f ier.=>.$functionFile).{.$filesCo
ce40 64 65 20 2e 3d 20 27 20 20 20 20 27 20 2e 20 76 61 72 5f 65 78 70 6f 72 74 28 24 66 69 6c 65 49 de..=.'....'...var_export($fileI
ce60 64 65 6e 74 69 66 69 65 72 2c 20 74 72 75 65 29 20 2e 20 27 20 3d 3e 20 27 0a 2e 20 24 74 68 69 dentifier,.true)...'.=>.'...$thi
ce80 73 2d 3e 67 65 74 50 61 74 68 43 6f 64 65 28 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 s->getPathCode($filesystem,.$bas
cea0 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 66 75 6e 63 74 69 6f 6e 46 69 6c ePath,.$vendorPath,.$functionFil
cec0 65 29 20 2e 20 22 2c 5c 6e 22 3b 0a 7d 0a 0a 69 66 20 28 21 24 66 69 6c 65 73 43 6f 64 65 29 20 e)...",\n";.}..if.(!$filesCode).
cee0 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 3c 3c 3c 45 4f 46 {.return.false;.}..return.<<<EOF
cf00 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 20 40 67 .<?php..//.autoload_files.php.@g
cf20 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 5c 24 76 65 6e 64 6f 72 44 69 enerated.by.Composer..\$vendorDi
cf40 72 20 3d 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 3b 0a 5c 24 62 61 73 65 44 69 72 20 3d r.=.$vendorPathCode;.\$baseDir.=
cf60 20 24 61 70 70 42 61 73 65 44 69 72 43 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 .$appBaseDirCode;..return.array(
cf80 0a 24 66 69 6c 65 73 43 6f 64 65 29 3b 0a 0a 45 4f 46 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 .$filesCode);..EOF;.}..protected
cfa0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 74 68 43 6f 64 65 28 46 69 6c 65 73 79 73 74 65 6d .function.getPathCode(Filesystem
cfc0 20 24 66 69 6c 65 73 79 73 74 65 6d 2c 20 24 62 61 73 65 50 61 74 68 2c 20 24 76 65 6e 64 6f 72 .$filesystem,.$basePath,.$vendor
cfe0 50 61 74 68 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 24 66 69 6c 65 73 79 73 74 65 6d 2d Path,.$path).{.if.(!$filesystem-
d000 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 70 61 74 68 29 29 20 7b 0a 24 70 61 74 68 20 >isAbsolutePath($path)).{.$path.
d020 3d 20 24 62 61 73 65 50 61 74 68 20 2e 20 27 2f 27 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 24 70 61 =.$basePath...'/'...$path;.}.$pa
d040 74 68 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 th.=.$filesystem->normalizePath(
d060 24 70 61 74 68 29 3b 0a 0a 24 62 61 73 65 44 69 72 20 3d 20 27 27 3b 0a 69 66 20 28 73 74 72 70 $path);..$baseDir.=.'';.if.(strp
d080 6f 73 28 24 70 61 74 68 2e 27 2f 27 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2e 27 2f 27 29 20 3d os($path.'/',.$vendorPath.'/').=
d0a0 3d 3d 20 30 29 20 7b 0a 24 70 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 73 74 ==.0).{.$path.=.substr($path,.st
d0c0 72 6c 65 6e 28 24 76 65 6e 64 6f 72 50 61 74 68 29 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 27 rlen($vendorPath));.$baseDir.=.'
d0e0 24 76 65 6e 64 6f 72 44 69 72 27 3b 0a 0a 69 66 20 28 24 70 61 74 68 20 21 3d 3d 20 66 61 6c 73 $vendorDir';..if.($path.!==.fals
d100 65 29 20 7b 0a 24 62 61 73 65 44 69 72 20 2e 3d 20 22 20 2e 20 22 3b 0a 7d 0a 7d 20 65 6c 73 65 e).{.$baseDir..=."...";.}.}.else
d120 20 7b 0a 24 70 61 74 68 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a .{.$path.=.$filesystem->normaliz
d140 65 50 61 74 68 28 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 ePath($filesystem->findShortestP
d160 61 74 68 28 24 62 61 73 65 50 61 74 68 2c 20 24 70 61 74 68 2c 20 74 72 75 65 29 29 3b 0a 69 66 ath($basePath,.$path,.true));.if
d180 20 28 21 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 .(!$filesystem->isAbsolutePath($
d1a0 70 61 74 68 29 29 20 7b 0a 24 62 61 73 65 44 69 72 20 3d 20 27 24 62 61 73 65 44 69 72 20 2e 20 path)).{.$baseDir.=.'$baseDir...
d1c0 27 3b 0a 24 70 61 74 68 20 3d 20 27 2f 27 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 7d 0a 0a 69 66 20 ';.$path.=.'/'...$path;.}.}..if.
d1e0 28 73 74 72 70 6f 73 28 24 70 61 74 68 2c 20 27 2e 70 68 61 72 27 29 20 21 3d 3d 20 66 61 6c 73 (strpos($path,.'.phar').!==.fals
d200 65 29 20 7b 0a 24 62 61 73 65 44 69 72 20 3d 20 22 27 70 68 61 72 3a 2f 2f 27 20 2e 20 22 20 2e e).{.$baseDir.=."'phar://'..."..
d220 20 24 62 61 73 65 44 69 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 62 61 73 65 44 69 72 20 2e 20 .$baseDir;.}..return.$baseDir...
d240 28 28 24 70 61 74 68 20 21 3d 3d 20 66 61 6c 73 65 29 20 3f 20 76 61 72 5f 65 78 70 6f 72 74 28 (($path.!==.false).?.var_export(
d260 24 70 61 74 68 2c 20 74 72 75 65 29 20 3a 20 22 22 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 $path,.true).:."");.}..protected
d280 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 6c 6f 61 64 46 69 6c 65 28 24 76 65 6e 64 6f .function.getAutoloadFile($vendo
d2a0 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 2c 20 24 73 75 66 66 69 78 29 0a 7b rPathToTargetDirCode,.$suffix).{
d2c0 0a 24 6c 61 73 74 43 68 61 72 20 3d 20 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 .$lastChar.=.$vendorPathToTarget
d2e0 44 69 72 43 6f 64 65 5b 73 74 72 6c 65 6e 28 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 DirCode[strlen($vendorPathToTarg
d300 65 74 44 69 72 43 6f 64 65 29 20 2d 20 31 5d 3b 0a 69 66 20 28 22 27 22 20 3d 3d 3d 20 24 6c 61 etDirCode).-.1];.if.("'".===.$la
d320 73 74 43 68 61 72 20 7c 7c 20 27 22 27 20 3d 3d 3d 20 24 6c 61 73 74 43 68 61 72 29 20 7b 0a 24 stChar.||.'"'.===.$lastChar).{.$
d340 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 20 3d 20 73 75 62 73 vendorPathToTargetDirCode.=.subs
d360 74 72 28 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 2c 20 30 tr($vendorPathToTargetDirCode,.0
d380 2c 20 2d 31 29 2e 27 2f 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 27 2e 24 6c 61 73 74 ,.-1).'/autoload_real.php'.$last
d3a0 43 68 61 72 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 65 6e 64 6f 72 50 61 74 68 54 6f 54 61 72 67 Char;.}.else.{.$vendorPathToTarg
d3c0 65 74 44 69 72 43 6f 64 65 20 2e 3d 20 22 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c etDirCode..=."...'/autoload_real
d3e0 2e 70 68 70 27 22 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 3c 3c 3c 41 55 54 4f 4c 4f 41 44 0a 3c 3f .php'";.}..return.<<<AUTOLOAD.<?
d400 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 2e 70 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 php..//.autoload.php.@generated.
d420 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 24 76 65 6e 64 6f by.Composer..require_once.$vendo
d440 72 50 61 74 68 54 6f 54 61 72 67 65 74 44 69 72 43 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 43 6f rPathToTargetDirCode;..return.Co
d460 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 24 73 75 66 66 69 78 3a 3a 67 65 74 mposerAutoloaderInit$suffix::get
d480 4c 6f 61 64 65 72 28 29 3b 0a 0a 41 55 54 4f 4c 4f 41 44 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 Loader();..AUTOLOAD;.}..protecte
d4a0 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 6c 6f 61 64 52 65 61 6c 46 69 6c 65 28 24 d.function.getAutoloadRealFile($
d4c0 75 73 65 43 6c 61 73 73 4d 61 70 2c 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 2c 20 24 74 useClassMap,.$useIncludePath,.$t
d4e0 61 72 67 65 74 44 69 72 4c 6f 61 64 65 72 2c 20 24 75 73 65 49 6e 63 6c 75 64 65 46 69 6c 65 73 argetDirLoader,.$useIncludeFiles
d500 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 2c 20 24 61 70 70 42 61 73 65 44 69 72 43 6f ,.$vendorPathCode,.$appBaseDirCo
d520 64 65 2c 20 24 73 75 66 66 69 78 2c 20 24 75 73 65 47 6c 6f 62 61 6c 49 6e 63 6c 75 64 65 50 61 de,.$suffix,.$useGlobalIncludePa
d540 74 68 2c 20 24 70 72 65 70 65 6e 64 41 75 74 6f 6c 6f 61 64 65 72 2c 20 24 73 74 61 74 69 63 50 th,.$prependAutoloader,.$staticP
d560 68 70 56 65 72 73 69 6f 6e 20 3d 20 37 30 30 30 30 29 0a 7b 0a 24 66 69 6c 65 20 3d 20 3c 3c 3c hpVersion.=.70000).{.$file.=.<<<
d580 48 45 41 44 45 52 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 HEADER.<?php..//.autoload_real.p
d5a0 68 70 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 63 6c 61 73 73 hp.@generated.by.Composer..class
d5c0 20 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 24 73 75 66 66 69 78 0a 7b .ComposerAutoloaderInit$suffix.{
d5e0 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 5c 24 6c 6f 61 64 65 72 3b 0a 0a 20 .....private.static.\$loader;...
d600 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6c ...public.static.function.loadCl
d620 61 73 73 4c 6f 61 64 65 72 28 5c 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 assLoader(\$class).....{........
d640 20 69 66 20 28 27 43 6f 6d 70 6f 73 65 72 5c 5c 41 75 74 6f 6c 6f 61 64 5c 5c 43 6c 61 73 73 4c .if.('Composer\\Autoload\\ClassL
d660 6f 61 64 65 72 27 20 3d 3d 3d 20 5c 24 63 6c 61 73 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 oader'.===.\$class).{...........
d680 20 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 43 6c 61 73 73 4c 6f 61 64 65 ..require.__DIR__...'/ClassLoade
d6a0 72 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 r.php';.........}.....}......pub
d6c0 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 61 64 65 72 28 29 0a lic.static.function.getLoader().
d6e0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a ....{.........if.(null.!==.self:
d700 3a 5c 24 6c 6f 61 64 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 :\$loader).{.............return.
d720 73 65 6c 66 3a 3a 5c 24 6c 6f 61 64 65 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 self::\$loader;.........}.......
d740 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 27 ...spl_autoload_register(array('
d760 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 24 73 75 66 66 69 78 27 2c 20 ComposerAutoloaderInit$suffix',.
d780 27 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 27 29 2c 20 74 72 75 65 2c 20 24 70 72 65 70 65 'loadClassLoader'),.true,.$prepe
d7a0 6e 64 41 75 74 6f 6c 6f 61 64 65 72 29 3b 0a 20 20 20 20 20 20 20 20 73 65 6c 66 3a 3a 5c 24 6c ndAutoloader);.........self::\$l
d7c0 6f 61 64 65 72 20 3d 20 5c 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 5c 5c 43 6f 6d 70 6f 73 65 oader.=.\$loader.=.new.\\Compose
d7e0 72 5c 5c 41 75 74 6f 6c 6f 61 64 5c 5c 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 20 20 20 20 r\\Autoload\\ClassLoader();.....
d800 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 61 72 72 61 ....spl_autoload_unregister(arra
d820 79 28 27 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 24 73 75 66 66 69 78 y('ComposerAutoloaderInit$suffix
d840 27 2c 20 27 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 27 29 29 3b 0a 0a 0a 48 45 41 44 45 52 ',.'loadClassLoader'));...HEADER
d860 3b 0a 0a 69 66 20 28 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 29 20 7b 0a 24 66 69 6c 65 20 ;..if.($useIncludePath).{.$file.
d880 2e 3d 20 3c 3c 3c 27 49 4e 43 4c 55 44 45 5f 50 41 54 48 27 0a 20 20 20 20 20 20 20 20 24 69 6e .=.<<<'INCLUDE_PATH'.........$in
d8a0 63 6c 75 64 65 50 61 74 68 73 20 3d 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 cludePaths.=.require.__DIR__...'
d8c0 2f 69 6e 63 6c 75 64 65 5f 70 61 74 68 73 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 24 69 6e /include_paths.php';.........$in
d8e0 63 6c 75 64 65 50 61 74 68 73 5b 5d 20 3d 20 67 65 74 5f 69 6e 63 6c 75 64 65 5f 70 61 74 68 28 cludePaths[].=.get_include_path(
d900 29 3b 0a 20 20 20 20 20 20 20 20 73 65 74 5f 69 6e 63 6c 75 64 65 5f 70 61 74 68 28 69 6d 70 6c );.........set_include_path(impl
d920 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 69 6e 63 6c 75 64 65 50 61 74 68 ode(PATH_SEPARATOR,.$includePath
d940 73 29 29 3b 0a 0a 0a 49 4e 43 4c 55 44 45 5f 50 41 54 48 3b 0a 7d 0a 0a 24 66 69 6c 65 20 2e 3d s));...INCLUDE_PATH;.}..$file..=
d960 20 3c 3c 3c 53 54 41 54 49 43 5f 49 4e 49 54 0a 20 20 20 20 20 20 20 20 5c 24 75 73 65 53 74 61 .<<<STATIC_INIT.........\$useSta
d980 74 69 63 4c 6f 61 64 65 72 20 3d 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 24 73 ticLoader.=.PHP_VERSION_ID.>=.$s
d9a0 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 20 26 26 20 21 64 65 66 69 6e 65 64 28 27 48 48 56 taticPhpVersion.&&.!defined('HHV
d9c0 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 M_VERSION').&&.(!function_exists
d9e0 28 27 7a 65 6e 64 5f 6c 6f 61 64 65 72 5f 66 69 6c 65 5f 65 6e 63 6f 64 65 64 27 29 20 7c 7c 20 ('zend_loader_file_encoded').||.
da00 21 7a 65 6e 64 5f 6c 6f 61 64 65 72 5f 66 69 6c 65 5f 65 6e 63 6f 64 65 64 28 29 29 3b 0a 20 20 !zend_loader_file_encoded());...
da20 20 20 20 20 20 20 69 66 20 28 5c 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 29 20 7b 0a 20 ......if.(\$useStaticLoader).{..
da40 20 20 20 20 20 20 20 20 20 20 20 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 5f 5f 44 49 52 5f 5f 20 ...........require_once.__DIR__.
da60 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 73 74 61 74 69 63 2e 70 68 70 27 3b 0a 0a 20 20 20 20 20 ..'/autoload_static.php';.......
da80 20 20 20 20 20 20 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 5c 43 6f 6d 70 6f 73 65 72 5c .......call_user_func(\Composer\
daa0 41 75 74 6f 6c 6f 61 64 5c 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 24 73 75 66 66 Autoload\ComposerStaticInit$suff
dac0 69 78 3a 3a 67 65 74 49 6e 69 74 69 61 6c 69 7a 65 72 28 5c 24 6c 6f 61 64 65 72 29 29 3b 0a 20 ix::getInitializer(\$loader));..
dae0 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 0a 53 54 41 54 49 43 5f 49 4e 49 54 3b 0a 0a 69 .......}.else.{..STATIC_INIT;..i
db00 66 20 28 21 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 f.(!$this->classMapAuthoritative
db20 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 27 50 53 52 30 34 27 0a 20 20 20 20 20 20 20 20 ).{.$file..=.<<<'PSR04'.........
db40 20 20 20 20 24 6d 61 70 20 3d 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 ....$map.=.require.__DIR__...'/a
db60 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 utoload_namespaces.php';........
db80 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 .....foreach.($map.as.$namespace
dba0 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f .=>.$path).{.................$lo
dbc0 61 64 65 72 2d 3e 73 65 74 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 20 20 ader->set($namespace,.$path);...
dbe0 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 61 70 20 3d 20 ..........}..............$map.=.
dc00 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 require.__DIR__...'/autoload_psr
dc20 34 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6d 61 4.php';.............foreach.($ma
dc40 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 20 20 20 20 p.as.$namespace.=>.$path).{.....
dc60 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 65 74 50 73 72 34 28 24 6e 61 ............$loader->setPsr4($na
dc80 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a mespace,.$path);.............}..
dca0 0a 50 53 52 30 34 3b 0a 7d 0a 0a 69 66 20 28 24 75 73 65 43 6c 61 73 73 4d 61 70 29 20 7b 0a 24 .PSR04;.}..if.($useClassMap).{.$
dcc0 66 69 6c 65 20 2e 3d 20 3c 3c 3c 27 43 4c 41 53 53 4d 41 50 27 0a 20 20 20 20 20 20 20 20 20 20 file..=.<<<'CLASSMAP'...........
dce0 20 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 ..$classMap.=.require.__DIR__...
dd00 27 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 '/autoload_classmap.php';.......
dd20 20 20 20 20 20 20 69 66 20 28 24 63 6c 61 73 73 4d 61 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ......if.($classMap).{..........
dd40 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 61 64 64 43 6c 61 73 73 4d 61 70 28 24 63 6c 61 .......$loader->addClassMap($cla
dd60 73 73 4d 61 70 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 43 4c 41 53 53 4d 41 50 3b ssMap);.............}..CLASSMAP;
dd80 0a 7d 0a 0a 24 66 69 6c 65 20 2e 3d 20 22 20 20 20 20 20 20 20 20 7d 5c 6e 5c 6e 22 3b 0a 0a 69 .}..$file..=."........}\n\n";..i
dda0 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 f.($this->classMapAuthoritative)
ddc0 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 27 43 4c 41 53 53 4d 41 50 41 55 54 48 4f 52 49 54 .{.$file..=.<<<'CLASSMAPAUTHORIT
dde0 41 54 49 56 45 27 0a 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 65 74 43 6c 61 73 73 ATIVE'.........$loader->setClass
de00 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 74 72 75 65 29 3b 0a 0a 43 4c 41 53 53 4d 41 MapAuthoritative(true);..CLASSMA
de20 50 41 55 54 48 4f 52 49 54 41 54 49 56 45 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 70 PAUTHORITATIVE;.}..if.($this->ap
de40 63 75 29 20 7b 0a 24 61 70 63 75 50 72 65 66 69 78 20 3d 20 73 75 62 73 74 72 28 62 61 73 65 36 cu).{.$apcuPrefix.=.substr(base6
de60 34 5f 65 6e 63 6f 64 65 28 6d 64 35 28 75 6e 69 71 69 64 28 27 27 2c 20 74 72 75 65 29 2c 20 74 4_encode(md5(uniqid('',.true),.t
de80 72 75 65 29 29 2c 20 30 2c 20 2d 33 29 3b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 41 50 43 55 0a rue)),.0,.-3);.$file..=.<<<APCU.
dea0 20 20 20 20 20 20 20 20 5c 24 6c 6f 61 64 65 72 2d 3e 73 65 74 41 70 63 75 50 72 65 66 69 78 28 ........\$loader->setApcuPrefix(
dec0 27 24 61 70 63 75 50 72 65 66 69 78 27 29 3b 0a 0a 41 50 43 55 3b 0a 7d 0a 0a 69 66 20 28 24 75 '$apcuPrefix');..APCU;.}..if.($u
dee0 73 65 47 6c 6f 62 61 6c 49 6e 63 6c 75 64 65 50 61 74 68 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 seGlobalIncludePath).{.$file..=.
df00 3c 3c 3c 27 49 4e 43 4c 55 44 45 50 41 54 48 27 0a 20 20 20 20 20 20 20 20 24 6c 6f 61 64 65 72 <<<'INCLUDEPATH'.........$loader
df20 2d 3e 73 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 68 28 74 72 75 65 29 3b 0a 0a 49 4e 43 4c ->setUseIncludePath(true);..INCL
df40 55 44 45 50 41 54 48 3b 0a 7d 0a 0a 69 66 20 28 24 74 61 72 67 65 74 44 69 72 4c 6f 61 64 65 72 UDEPATH;.}..if.($targetDirLoader
df60 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 52 45 47 49 53 54 45 52 5f 54 41 52 47 45 54 5f ).{.$file..=.<<<REGISTER_TARGET_
df80 44 49 52 5f 41 55 54 4f 4c 4f 41 44 0a 20 20 20 20 20 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 DIR_AUTOLOAD.........spl_autoloa
dfa0 64 5f 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 27 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f d_register(array('ComposerAutolo
dfc0 61 64 65 72 49 6e 69 74 24 73 75 66 66 69 78 27 2c 20 27 61 75 74 6f 6c 6f 61 64 27 29 2c 20 74 aderInit$suffix',.'autoload'),.t
dfe0 72 75 65 2c 20 74 72 75 65 29 3b 0a 0a 0a 52 45 47 49 53 54 45 52 5f 54 41 52 47 45 54 5f 44 49 rue,.true);...REGISTER_TARGET_DI
e000 52 5f 41 55 54 4f 4c 4f 41 44 3b 0a 7d 0a 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 52 45 47 49 53 R_AUTOLOAD;.}..$file..=.<<<REGIS
e020 54 45 52 5f 4c 4f 41 44 45 52 0a 20 20 20 20 20 20 20 20 5c 24 6c 6f 61 64 65 72 2d 3e 72 65 67 TER_LOADER.........\$loader->reg
e040 69 73 74 65 72 28 24 70 72 65 70 65 6e 64 41 75 74 6f 6c 6f 61 64 65 72 29 3b 0a 0a 0a 52 45 47 ister($prependAutoloader);...REG
e060 49 53 54 45 52 5f 4c 4f 41 44 45 52 3b 0a 0a 69 66 20 28 24 75 73 65 49 6e 63 6c 75 64 65 46 69 ISTER_LOADER;..if.($useIncludeFi
e080 6c 65 73 29 20 7b 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 49 4e 43 4c 55 44 45 5f 46 49 4c 45 53 les).{.$file..=.<<<INCLUDE_FILES
e0a0 0a 20 20 20 20 20 20 20 20 69 66 20 28 5c 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 29 20 .........if.(\$useStaticLoader).
e0c0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 5c 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 20 3d 20 43 {.............\$includeFiles.=.C
e0e0 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 omposer\Autoload\ComposerStaticI
e100 6e 69 74 24 73 75 66 66 69 78 3a 3a 5c 24 66 69 6c 65 73 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 nit$suffix::\$files;.........}.e
e120 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 5c 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 lse.{.............\$includeFiles
e140 20 3d 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f .=.require.__DIR__...'/autoload_
e160 66 69 6c 65 73 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 66 6f files.php';.........}.........fo
e180 72 65 61 63 68 20 28 5c 24 69 6e 63 6c 75 64 65 46 69 6c 65 73 20 61 73 20 5c 24 66 69 6c 65 49 reach.(\$includeFiles.as.\$fileI
e1a0 64 65 6e 74 69 66 69 65 72 20 3d 3e 20 5c 24 66 69 6c 65 29 20 7b 0a 20 20 20 20 20 20 20 20 20 dentifier.=>.\$file).{..........
e1c0 20 20 20 63 6f 6d 70 6f 73 65 72 52 65 71 75 69 72 65 24 73 75 66 66 69 78 28 5c 24 66 69 6c 65 ...composerRequire$suffix(\$file
e1e0 49 64 65 6e 74 69 66 69 65 72 2c 20 5c 24 66 69 6c 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a Identifier,.\$file);.........}..
e200 0a 49 4e 43 4c 55 44 45 5f 46 49 4c 45 53 3b 0a 7d 0a 0a 24 66 69 6c 65 20 2e 3d 20 3c 3c 3c 4d .INCLUDE_FILES;.}..$file..=.<<<M
e220 45 54 48 4f 44 5f 46 4f 4f 54 45 52 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 5c 24 6c 6f ETHOD_FOOTER.........return.\$lo
e240 61 64 65 72 3b 0a 20 20 20 20 7d 0a 0a 4d 45 54 48 4f 44 5f 46 4f 4f 54 45 52 3b 0a 0a 24 66 69 ader;.....}..METHOD_FOOTER;..$fi
e260 6c 65 20 2e 3d 20 24 74 61 72 67 65 74 44 69 72 4c 6f 61 64 65 72 3b 0a 0a 69 66 20 28 24 75 73 le..=.$targetDirLoader;..if.($us
e280 65 49 6e 63 6c 75 64 65 46 69 6c 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 20 2e 20 eIncludeFiles).{.return.$file...
e2a0 3c 3c 3c 46 4f 4f 54 45 52 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 6f 73 65 72 52 65 <<<FOOTER.}..function.composerRe
e2c0 71 75 69 72 65 24 73 75 66 66 69 78 28 5c 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 5c quire$suffix(\$fileIdentifier,.\
e2e0 24 66 69 6c 65 29 0a 7b 0a 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 5c 24 47 4c 4f 42 41 4c 53 $file).{.....if.(empty(\$GLOBALS
e300 5b 27 5f 5f 63 6f 6d 70 6f 73 65 72 5f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 27 5d 5b 5c 24 ['__composer_autoload_files'][\$
e320 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 71 75 fileIdentifier])).{.........requ
e340 69 72 65 20 5c 24 66 69 6c 65 3b 0a 0a 20 20 20 20 20 20 20 20 5c 24 47 4c 4f 42 41 4c 53 5b 27 ire.\$file;..........\$GLOBALS['
e360 5f 5f 63 6f 6d 70 6f 73 65 72 5f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 27 5d 5b 5c 24 66 69 __composer_autoload_files'][\$fi
e380 6c 65 49 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 46 leIdentifier].=.true;.....}.}..F
e3a0 4f 4f 54 45 52 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 20 2e 20 3c 3c 3c 46 4f 4f 54 OOTER;.}..return.$file...<<<FOOT
e3c0 45 52 0a 7d 0a 0a 46 4f 4f 54 45 52 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 ER.}..FOOTER;.}..protected.funct
e3e0 69 6f 6e 20 67 65 74 53 74 61 74 69 63 46 69 6c 65 28 24 73 75 66 66 69 78 2c 20 24 74 61 72 67 ion.getStaticFile($suffix,.$targ
e400 65 74 44 69 72 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 24 62 61 73 65 50 61 74 68 2c 20 26 etDir,.$vendorPath,.$basePath,.&
e420 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e 29 0a 7b 0a 24 73 74 61 74 69 63 50 68 70 56 $staticPhpVersion).{.$staticPhpV
e440 65 72 73 69 6f 6e 20 3d 20 35 30 36 30 30 3b 0a 0a 24 66 69 6c 65 20 3d 20 3c 3c 3c 48 45 41 44 ersion.=.50600;..$file.=.<<<HEAD
e460 45 52 0a 3c 3f 70 68 70 0a 0a 2f 2f 20 61 75 74 6f 6c 6f 61 64 5f 73 74 61 74 69 63 2e 70 68 70 ER.<?php..//.autoload_static.php
e480 20 40 67 65 6e 65 72 61 74 65 64 20 62 79 20 43 6f 6d 70 6f 73 65 72 0a 0a 6e 61 6d 65 73 70 61 .@generated.by.Composer..namespa
e4a0 63 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 3b 0a 0a 63 6c 61 73 73 20 43 6f 6d ce.Composer\Autoload;..class.Com
e4c0 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 24 73 75 66 66 69 78 0a 7b 0a 0a 48 45 41 44 45 52 poserStaticInit$suffix.{..HEADER
e4e0 3b 0a 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a ;..$loader.=.new.ClassLoader();.
e500 0a 24 6d 61 70 20 3d 20 72 65 71 75 69 72 65 20 24 74 61 72 67 65 74 44 69 72 20 2e 20 27 2f 61 .$map.=.require.$targetDir...'/a
e520 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 61 63 65 73 2e 70 68 70 27 3b 0a 66 6f 72 65 61 63 68 utoload_namespaces.php';.foreach
e540 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b .($map.as.$namespace.=>.$path).{
e560 0a 24 6c 6f 61 64 65 72 2d 3e 73 65 74 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 .$loader->set($namespace,.$path)
e580 3b 0a 7d 0a 0a 24 6d 61 70 20 3d 20 72 65 71 75 69 72 65 20 24 74 61 72 67 65 74 44 69 72 20 2e ;.}..$map.=.require.$targetDir..
e5a0 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e 70 68 70 27 3b 0a 66 6f 72 65 61 63 68 20 28 .'/autoload_psr4.php';.foreach.(
e5c0 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 $map.as.$namespace.=>.$path).{.$
e5e0 6c 6f 61 64 65 72 2d 3e 73 65 74 50 73 72 34 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 loader->setPsr4($namespace,.$pat
e600 68 29 3b 0a 7d 0a 0a 24 63 6c 61 73 73 4d 61 70 20 3d 20 72 65 71 75 69 72 65 20 24 74 61 72 67 h);.}..$classMap.=.require.$targ
e620 65 74 44 69 72 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 63 6c 61 73 73 6d 61 70 2e 70 68 70 27 etDir...'/autoload_classmap.php'
e640 3b 0a 69 66 20 28 24 63 6c 61 73 73 4d 61 70 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 61 64 64 43 ;.if.($classMap).{.$loader->addC
e660 6c 61 73 73 4d 61 70 28 24 63 6c 61 73 73 4d 61 70 29 3b 0a 7d 0a 0a 24 66 69 6c 65 73 79 73 74 lassMap($classMap);.}..$filesyst
e680 65 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 0a 24 76 65 6e 64 6f 72 50 em.=.new.Filesystem();..$vendorP
e6a0 61 74 68 43 6f 64 65 20 3d 20 27 20 3d 3e 20 27 20 2e 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e athCode.=.'.=>.'...$filesystem->
e6c0 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 72 65 61 6c 70 61 74 68 28 24 74 findShortestPathCode(realpath($t
e6e0 61 72 67 65 74 44 69 72 29 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c 20 74 72 75 65 2c 20 74 72 argetDir),.$vendorPath,.true,.tr
e700 75 65 29 20 2e 20 22 20 2e 20 27 2f 22 3b 0a 24 76 65 6e 64 6f 72 50 68 61 72 50 61 74 68 43 6f ue)..."...'/";.$vendorPharPathCo
e720 64 65 20 3d 20 27 20 3d 3e 20 5c 27 70 68 61 72 3a 2f 2f 5c 27 20 2e 20 27 20 2e 20 24 66 69 6c de.=.'.=>.\'phar://\'...'...$fil
e740 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 72 65 esystem->findShortestPathCode(re
e760 61 6c 70 61 74 68 28 24 74 61 72 67 65 74 44 69 72 29 2c 20 24 76 65 6e 64 6f 72 50 61 74 68 2c alpath($targetDir),.$vendorPath,
e780 20 74 72 75 65 2c 20 74 72 75 65 29 20 2e 20 22 20 2e 20 27 2f 22 3b 0a 24 61 70 70 42 61 73 65 .true,.true)..."...'/";.$appBase
e7a0 44 69 72 43 6f 64 65 20 3d 20 27 20 3d 3e 20 27 20 2e 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e DirCode.=.'.=>.'...$filesystem->
e7c0 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 72 65 61 6c 70 61 74 68 28 24 74 findShortestPathCode(realpath($t
e7e0 61 72 67 65 74 44 69 72 29 2c 20 24 62 61 73 65 50 61 74 68 2c 20 74 72 75 65 2c 20 74 72 75 65 argetDir),.$basePath,.true,.true
e800 29 20 2e 20 22 20 2e 20 27 2f 22 3b 0a 24 61 70 70 42 61 73 65 44 69 72 50 68 61 72 43 6f 64 65 )..."...'/";.$appBaseDirPharCode
e820 20 3d 20 27 20 3d 3e 20 5c 27 70 68 61 72 3a 2f 2f 5c 27 20 2e 20 27 20 2e 20 24 66 69 6c 65 73 .=.'.=>.\'phar://\'...'...$files
e840 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 72 65 61 6c ystem->findShortestPathCode(real
e860 70 61 74 68 28 24 74 61 72 67 65 74 44 69 72 29 2c 20 24 62 61 73 65 50 61 74 68 2c 20 74 72 75 path($targetDir),.$basePath,.tru
e880 65 2c 20 74 72 75 65 29 20 2e 20 22 20 2e 20 27 2f 22 3b 0a 0a 24 61 62 73 6f 6c 75 74 65 56 65 e,.true)..."...'/";..$absoluteVe
e8a0 6e 64 6f 72 50 61 74 68 43 6f 64 65 20 3d 20 27 20 3d 3e 20 27 20 2e 20 73 75 62 73 74 72 28 76 ndorPathCode.=.'.=>.'...substr(v
e8c0 61 72 5f 65 78 70 6f 72 74 28 72 74 72 69 6d 28 24 76 65 6e 64 6f 72 44 69 72 2c 20 27 5c 5c 2f ar_export(rtrim($vendorDir,.'\\/
e8e0 27 29 20 2e 20 27 2f 27 2c 20 74 72 75 65 29 2c 20 30 2c 20 2d 31 29 3b 0a 24 61 62 73 6f 6c 75 ')...'/',.true),.0,.-1);.$absolu
e900 74 65 56 65 6e 64 6f 72 50 68 61 72 50 61 74 68 43 6f 64 65 20 3d 20 27 20 3d 3e 20 27 20 2e 20 teVendorPharPathCode.=.'.=>.'...
e920 73 75 62 73 74 72 28 76 61 72 5f 65 78 70 6f 72 74 28 72 74 72 69 6d 28 27 70 68 61 72 3a 2f 2f substr(var_export(rtrim('phar://
e940 27 20 2e 20 24 76 65 6e 64 6f 72 44 69 72 2c 20 27 5c 5c 2f 27 29 20 2e 20 27 2f 27 2c 20 74 72 '...$vendorDir,.'\\/')...'/',.tr
e960 75 65 29 2c 20 30 2c 20 2d 31 29 3b 0a 24 61 62 73 6f 6c 75 74 65 41 70 70 42 61 73 65 44 69 72 ue),.0,.-1);.$absoluteAppBaseDir
e980 43 6f 64 65 20 3d 20 27 20 3d 3e 20 27 20 2e 20 73 75 62 73 74 72 28 76 61 72 5f 65 78 70 6f 72 Code.=.'.=>.'...substr(var_expor
e9a0 74 28 72 74 72 69 6d 28 24 62 61 73 65 44 69 72 2c 20 27 5c 5c 2f 27 29 20 2e 20 27 2f 27 2c 20 t(rtrim($baseDir,.'\\/')...'/',.
e9c0 74 72 75 65 29 2c 20 30 2c 20 2d 31 29 3b 0a 24 61 62 73 6f 6c 75 74 65 41 70 70 42 61 73 65 44 true),.0,.-1);.$absoluteAppBaseD
e9e0 69 72 50 68 61 72 43 6f 64 65 20 3d 20 27 20 3d 3e 20 27 20 2e 20 73 75 62 73 74 72 28 76 61 72 irPharCode.=.'.=>.'...substr(var
ea00 5f 65 78 70 6f 72 74 28 72 74 72 69 6d 28 27 70 68 61 72 3a 2f 2f 27 20 2e 20 24 62 61 73 65 44 _export(rtrim('phar://'...$baseD
ea20 69 72 2c 20 27 5c 5c 2f 27 29 20 2e 20 27 2f 27 2c 20 74 72 75 65 29 2c 20 30 2c 20 2d 31 29 3b ir,.'\\/')...'/',.true),.0,.-1);
ea40 0a 0a 24 69 6e 69 74 69 61 6c 69 7a 65 72 20 3d 20 27 27 3b 0a 24 70 72 65 66 69 78 20 3d 20 22 ..$initializer.=.'';.$prefix.=."
ea60 5c 30 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 5c \0Composer\Autoload\ClassLoader\
ea80 30 22 3b 0a 24 70 72 65 66 69 78 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 0";.$prefixLen.=.strlen($prefix)
eaa0 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 61 72 67 65 74 44 69 72 20 2e 20 27 ;.if.(file_exists($targetDir...'
eac0 2f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 27 29 29 20 7b 0a 24 6d 61 70 73 20 3d /autoload_files.php')).{.$maps.=
eae0 20 61 72 72 61 79 28 27 66 69 6c 65 73 27 20 3d 3e 20 72 65 71 75 69 72 65 20 24 74 61 72 67 65 .array('files'.=>.require.$targe
eb00 74 44 69 72 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 2e 70 68 70 27 29 3b 0a 7d tDir...'/autoload_files.php');.}
eb20 20 65 6c 73 65 20 7b 0a 24 6d 61 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 66 6f 72 65 .else.{.$maps.=.array();.}..fore
eb40 61 63 68 20 28 28 61 72 72 61 79 29 20 24 6c 6f 61 64 65 72 20 61 73 20 24 70 72 6f 70 20 3d 3e ach.((array).$loader.as.$prop.=>
eb60 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 76 61 6c 75 65 20 26 26 20 30 20 3d 3d 3d 20 73 .$value).{.if.($value.&&.0.===.s
eb80 74 72 70 6f 73 28 24 70 72 6f 70 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 24 6d 61 70 73 5b 73 trpos($prop,.$prefix)).{.$maps[s
eba0 75 62 73 74 72 28 24 70 72 6f 70 2c 20 24 70 72 65 66 69 78 4c 65 6e 29 5d 20 3d 20 24 76 61 6c ubstr($prop,.$prefixLen)].=.$val
ebc0 75 65 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 70 73 20 61 73 20 24 70 72 6f 70 ue;.}.}..foreach.($maps.as.$prop
ebe0 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 .=>.$value).{.if.(count($value).
ec00 3e 20 33 32 37 36 37 29 20 7b 0a 0a 20 0a 20 24 73 74 61 74 69 63 50 68 70 56 65 72 73 69 6f 6e >.32767).{.....$staticPhpVersion
ec20 20 3d 20 37 30 30 30 30 3b 0a 7d 0a 24 76 61 6c 75 65 20 3d 20 73 74 72 74 72 28 0a 76 61 72 5f .=.70000;.}.$value.=.strtr(.var_
ec40 65 78 70 6f 72 74 28 24 76 61 6c 75 65 2c 20 74 72 75 65 29 2c 0a 61 72 72 61 79 28 0a 24 61 62 export($value,.true),.array(.$ab
ec60 73 6f 6c 75 74 65 56 65 6e 64 6f 72 50 61 74 68 43 6f 64 65 20 3d 3e 20 24 76 65 6e 64 6f 72 50 soluteVendorPathCode.=>.$vendorP
ec80 61 74 68 43 6f 64 65 2c 0a 24 61 62 73 6f 6c 75 74 65 56 65 6e 64 6f 72 50 68 61 72 50 61 74 68 athCode,.$absoluteVendorPharPath
eca0 43 6f 64 65 20 3d 3e 20 24 76 65 6e 64 6f 72 50 68 61 72 50 61 74 68 43 6f 64 65 2c 0a 24 61 62 Code.=>.$vendorPharPathCode,.$ab
ecc0 73 6f 6c 75 74 65 41 70 70 42 61 73 65 44 69 72 43 6f 64 65 20 3d 3e 20 24 61 70 70 42 61 73 65 soluteAppBaseDirCode.=>.$appBase
ece0 44 69 72 43 6f 64 65 2c 0a 24 61 62 73 6f 6c 75 74 65 41 70 70 42 61 73 65 44 69 72 50 68 61 72 DirCode,.$absoluteAppBaseDirPhar
ed00 43 6f 64 65 20 3d 3e 20 24 61 70 70 42 61 73 65 44 69 72 50 68 61 72 43 6f 64 65 2c 0a 29 0a 29 Code.=>.$appBaseDirPharCode,.).)
ed20 3b 0a 24 76 61 6c 75 65 20 3d 20 6c 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f ;.$value.=.ltrim(preg_replace('/
ed40 5e 20 2a 2f 6d 27 2c 20 27 20 20 20 20 24 30 24 30 27 2c 20 24 76 61 6c 75 65 29 29 3b 0a 0a 24 ^.*/m',.'....$0$0',.$value));..$
ed60 66 69 6c 65 20 2e 3d 20 73 70 72 69 6e 74 66 28 22 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 file..=.sprintf("....public.stat
ed80 69 63 20 24 25 73 20 3d 20 25 73 3b 5c 6e 5c 6e 22 2c 20 24 70 72 6f 70 2c 20 24 76 61 6c 75 65 ic.$%s.=.%s;\n\n",.$prop,.$value
eda0 29 3b 0a 69 66 20 28 27 66 69 6c 65 73 27 20 21 3d 3d 20 24 70 72 6f 70 29 20 7b 0a 24 69 6e 69 );.if.('files'.!==.$prop).{.$ini
edc0 74 69 61 6c 69 7a 65 72 20 2e 3d 20 22 20 20 20 20 20 20 20 20 20 20 20 20 5c 24 6c 6f 61 64 65 tializer..=."............\$loade
ede0 72 2d 3e 24 70 72 6f 70 20 3d 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 24 73 75 r->$prop.=.ComposerStaticInit$su
ee00 66 66 69 78 3a 3a 5c 24 24 70 72 6f 70 3b 5c 6e 22 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 ffix::\$$prop;\n";.}.}..return.$
ee20 66 69 6c 65 20 2e 20 3c 3c 3c 49 4e 49 54 49 41 4c 49 5a 45 52 0a 20 20 20 20 70 75 62 6c 69 63 file...<<<INITIALIZER.....public
ee40 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 69 74 69 61 6c 69 7a 65 72 28 .static.function.getInitializer(
ee60 43 6c 61 73 73 4c 6f 61 64 65 72 20 5c 24 6c 6f 61 64 65 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 ClassLoader.\$loader).....{.....
ee80 20 20 20 20 72 65 74 75 72 6e 20 5c 43 6c 6f 73 75 72 65 3a 3a 62 69 6e 64 28 66 75 6e 63 74 69 ....return.\Closure::bind(functi
eea0 6f 6e 20 28 29 20 75 73 65 20 28 5c 24 6c 6f 61 64 65 72 29 20 7b 0a 24 69 6e 69 74 69 61 6c 69 on.().use.(\$loader).{.$initiali
eec0 7a 65 72 0a 20 20 20 20 20 20 20 20 7d 2c 20 6e 75 6c 6c 2c 20 43 6c 61 73 73 4c 6f 61 64 65 72 zer.........},.null,.ClassLoader
eee0 3a 3a 63 6c 61 73 73 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 49 4e 49 54 49 41 4c 49 5a 45 52 3b 0a ::class);.....}.}..INITIALIZER;.
ef00 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 41 75 74 6f 6c }..protected.function.parseAutol
ef20 6f 61 64 73 54 79 70 65 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 24 74 79 70 oadsType(array.$packageMap,.$typ
ef40 65 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 e,.PackageInterface.$mainPackage
ef60 29 0a 7b 0a 24 61 75 74 6f 6c 6f 61 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 ).{.$autoloads.=.array();..forea
ef80 63 68 20 28 24 70 61 63 6b 61 67 65 4d 61 70 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 6c 69 73 74 ch.($packageMap.as.$item).{.list
efa0 28 24 70 61 63 6b 61 67 65 2c 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 20 3d 20 24 69 74 65 6d ($package,.$installPath).=.$item
efc0 3b 0a 0a 24 61 75 74 6f 6c 6f 61 64 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f ;..$autoload.=.$package->getAuto
efe0 6c 6f 61 64 28 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 26 26 20 24 70 load();.if.($this->devMode.&&.$p
f000 61 63 6b 61 67 65 20 3d 3d 3d 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 20 7b 0a 24 61 75 74 6f ackage.===.$mainPackage).{.$auto
f020 6c 6f 61 64 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 5f 72 65 63 75 72 73 69 76 65 28 24 61 75 load.=.array_merge_recursive($au
f040 74 6f 6c 6f 61 64 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 toload,.$package->getDevAutoload
f060 28 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 61 75 74 6f 6c 6f 61 64 5b 24 ());.}....if.(!isset($autoload[$
f080 74 79 70 65 5d 29 20 7c 7c 20 21 69 73 5f 61 72 72 61 79 28 24 61 75 74 6f 6c 6f 61 64 5b 24 74 type]).||.!is_array($autoload[$t
f0a0 79 70 65 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d ype])).{.continue;.}.if.(null.!=
f0c0 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 20 26 26 20 24 70 =.$package->getTargetDir().&&.$p
f0e0 61 63 6b 61 67 65 20 21 3d 3d 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 20 7b 0a 24 69 6e 73 74 ackage.!==.$mainPackage).{.$inst
f100 61 6c 6c 50 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c 20 30 allPath.=.substr($installPath,.0
f120 2c 20 2d 73 74 72 6c 65 6e 28 27 2f 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 ,.-strlen('/'.$package->getTarge
f140 74 44 69 72 28 29 29 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 5b tDir()));.}..foreach.($autoload[
f160 24 74 79 70 65 5d 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 73 29 20 $type].as.$namespace.=>.$paths).
f180 7b 0a 66 6f 72 65 61 63 68 20 28 28 61 72 72 61 79 29 20 24 70 61 74 68 73 20 61 73 20 24 70 61 {.foreach.((array).$paths.as.$pa
f1a0 74 68 29 20 7b 0a 69 66 20 28 28 24 74 79 70 65 20 3d 3d 3d 20 27 66 69 6c 65 73 27 20 7c 7c 20 th).{.if.(($type.===.'files'.||.
f1c0 24 74 79 70 65 20 3d 3d 3d 20 27 63 6c 61 73 73 6d 61 70 27 20 7c 7c 20 24 74 79 70 65 20 3d 3d $type.===.'classmap'.||.$type.==
f1e0 3d 20 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 27 29 20 26 26 20 24 70 =.'exclude-from-classmap').&&.$p
f200 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 20 26 26 20 21 69 73 5f 72 65 ackage->getTargetDir().&&.!is_re
f220 61 64 61 62 6c 65 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 2e 27 2f 27 2e 24 70 61 74 68 29 29 20 adable($installPath.'/'.$path)).
f240 7b 0a 0a 20 69 66 20 28 24 70 61 63 6b 61 67 65 20 3d 3d 3d 20 24 6d 61 69 6e 50 61 63 6b 61 67 {...if.($package.===.$mainPackag
f260 65 29 20 7b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c e).{.$targetDir.=.str_replace('\
f280 5c 3c 64 69 72 73 65 70 5c 5c 3e 27 2c 20 27 5b 5c 5c 5c 5c 2f 5d 27 2c 20 70 72 65 67 5f 71 75 \<dirsep\\>',.'[\\\\/]',.preg_qu
f2a0 6f 74 65 28 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 2f 27 2c 20 27 5c 5c 27 29 ote(str_replace(array('/',.'\\')
f2c0 2c 20 27 3c 64 69 72 73 65 70 3e 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 ,.'<dirsep>',.$package->getTarge
f2e0 74 44 69 72 28 29 29 29 29 3b 0a 24 70 61 74 68 20 3d 20 6c 74 72 69 6d 28 70 72 65 67 5f 72 65 tDir())));.$path.=.ltrim(preg_re
f300 70 6c 61 63 65 28 27 7b 5e 27 2e 24 74 61 72 67 65 74 44 69 72 2e 27 7d 27 2c 20 27 27 2c 20 6c place('{^'.$targetDir.'}',.'',.l
f320 74 72 69 6d 28 24 70 61 74 68 2c 20 27 5c 5c 2f 27 29 29 2c 20 27 5c 5c 2f 27 29 3b 0a 7d 20 65 trim($path,.'\\/')),.'\\/');.}.e
f340 6c 73 65 20 7b 0a 0a 20 24 70 61 74 68 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 lse.{...$path.=.$package->getTar
f360 67 65 74 44 69 72 28 29 20 2e 20 27 2f 27 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 7d 0a 0a 69 66 20 getDir()...'/'...$path;.}.}..if.
f380 28 24 74 79 70 65 20 3d 3d 3d 20 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 ($type.===.'exclude-from-classma
f3a0 70 27 29 20 7b 0a 0a 20 24 70 61 74 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 2f p').{...$path.=.preg_replace('{/
f3c0 2b 7d 27 2c 20 27 2f 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 74 72 69 6d 28 73 74 72 74 72 28 +}',.'/',.preg_quote(trim(strtr(
f3e0 24 70 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 2c 20 27 2f 27 29 29 29 3b 0a 0a 0a 20 24 70 $path,.'\\',.'/'),.'/')));....$p
f400 61 74 68 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2a 5c 5c 2a 27 2c 20 27 2e 2b 3f ath.=.str_replace('\\*\\*',.'.+?
f420 27 2c 20 24 70 61 74 68 29 3b 0a 24 70 61 74 68 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 ',.$path);.$path.=.str_replace('
f440 5c 5c 2a 27 2c 20 27 5b 5e 2f 5d 2b 3f 27 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 20 24 75 70 64 69 \\*',.'[^/]+?',.$path);....$updi
f460 72 20 3d 20 6e 75 6c 6c 3b 0a 24 70 61 74 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 r.=.null;.$path.=.preg_replace_c
f480 61 6c 6c 62 61 63 6b 28 0a 27 7b 5e 28 28 3f 3a 28 3f 3a 5c 5c 5c 5c 5c 5c 2e 29 7b 31 2c 32 7d allback(.'{^((?:(?:\\\\\\.){1,2}
f4a0 2b 2f 29 2b 29 7d 27 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 75 73 65 +/)+)}',.function.($matches).use
f4c0 20 28 26 24 75 70 64 69 72 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b .(&$updir).{.if.(isset($matches[
f4e0 31 5d 29 29 20 7b 0a 0a 20 24 75 70 64 69 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 1])).{...$updir.=.str_replace('\
f500 5c 2e 27 2c 20 27 2e 27 2c 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 \.',.'.',.$matches[1]);.}..retur
f520 6e 20 27 27 3b 0a 7d 2c 0a 24 70 61 74 68 0a 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 69 6e 73 n.'';.},.$path.);.if.(empty($ins
f540 74 61 6c 6c 50 61 74 68 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 73 74 72 74 tallPath)).{.$installPath.=.strt
f560 72 28 67 65 74 63 77 64 28 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 24 72 65 73 6f r(getcwd(),.'\\',.'/');.}..$reso
f580 6c 76 65 64 50 61 74 68 20 3d 20 72 65 61 6c 70 61 74 68 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 lvedPath.=.realpath($installPath
f5a0 20 2e 20 27 2f 27 20 2e 20 24 75 70 64 69 72 29 3b 0a 24 61 75 74 6f 6c 6f 61 64 73 5b 5d 20 3d ...'/'...$updir);.$autoloads[].=
f5c0 20 70 72 65 67 5f 71 75 6f 74 65 28 73 74 72 74 72 28 24 72 65 73 6f 6c 76 65 64 50 61 74 68 2c .preg_quote(strtr($resolvedPath,
f5e0 20 27 5c 5c 27 2c 20 27 2f 27 29 29 20 2e 20 27 2f 27 20 2e 20 24 70 61 74 68 3b 0a 63 6f 6e 74 .'\\',.'/'))...'/'...$path;.cont
f600 69 6e 75 65 3b 0a 7d 0a 0a 24 72 65 6c 61 74 69 76 65 50 61 74 68 20 3d 20 65 6d 70 74 79 28 24 inue;.}..$relativePath.=.empty($
f620 69 6e 73 74 61 6c 6c 50 61 74 68 29 20 3f 20 28 65 6d 70 74 79 28 24 70 61 74 68 29 20 3f 20 27 installPath).?.(empty($path).?.'
f640 2e 27 20 3a 20 24 70 61 74 68 29 20 3a 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 2e 27 2f 27 2e 24 .'.:.$path).:.$installPath.'/'.$
f660 70 61 74 68 3b 0a 0a 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 27 66 69 6c 65 73 27 29 20 7b 0a path;..if.($type.===.'files').{.
f680 24 61 75 74 6f 6c 6f 61 64 73 5b 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 49 64 65 6e 74 69 66 $autoloads[$this->getFileIdentif
f6a0 69 65 72 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 5d 20 3d 20 24 72 65 6c 61 74 69 76 ier($package,.$path)].=.$relativ
f6c0 65 50 61 74 68 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 79 70 65 ePath;.continue;.}.elseif.($type
f6e0 20 3d 3d 3d 20 27 63 6c 61 73 73 6d 61 70 27 29 20 7b 0a 24 61 75 74 6f 6c 6f 61 64 73 5b 5d 20 .===.'classmap').{.$autoloads[].
f700 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 61 =.$relativePath;.continue;.}..$a
f720 75 74 6f 6c 6f 61 64 73 5b 24 6e 61 6d 65 73 70 61 63 65 5d 5b 5d 20 3d 20 24 72 65 6c 61 74 69 utoloads[$namespace][].=.$relati
f740 76 65 50 61 74 68 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 75 74 6f 6c 6f 61 64 73 vePath;.}.}.}..return.$autoloads
f760 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 49 ;.}..protected.function.getFileI
f780 64 65 6e 74 69 66 69 65 72 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b dentifier(PackageInterface.$pack
f7a0 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 6d 64 35 28 24 70 61 63 6b 61 67 age,.$path).{.return.md5($packag
f7c0 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 27 3a 27 20 2e 20 24 70 61 74 68 29 3b 0a 7d 0a 0a e->getName()...':'...$path);.}..
f7e0 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 .......protected.function.filter
f800 50 61 63 6b 61 67 65 4d 61 70 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 4d 61 70 2c 20 50 61 PackageMap(array.$packageMap,.Pa
f820 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 6d 61 69 6e 50 61 63 6b 61 67 65 29 0a 7b 0a 24 ckageInterface.$mainPackage).{.$
f840 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 6e 63 6c 75 64 65 20 3d 20 61 packages.=.array();.$include.=.a
f860 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 4d 61 70 20 61 73 rray();..foreach.($packageMap.as
f880 20 24 69 74 65 6d 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 69 74 65 6d 5b 30 5d 3b 0a 24 .$item).{.$package.=.$item[0];.$
f8a0 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 70 61 63 name.=.$package->getName();.$pac
f8c0 6b 61 67 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 24 61 64 64 kages[$name].=.$package;.}..$add
f8e0 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 .=.function.(PackageInterface.$p
f900 61 63 6b 61 67 65 29 20 75 73 65 20 28 26 24 61 64 64 2c 20 24 70 61 63 6b 61 67 65 73 2c 20 26 ackage).use.(&$add,.$packages,.&
f920 24 69 6e 63 6c 75 64 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 $include).{.foreach.($package->g
f940 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 74 61 72 67 65 74 etRequires().as.$link).{.$target
f960 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 69 66 20 28 21 69 73 73 65 .=.$link->getTarget();.if.(!isse
f980 74 28 24 69 6e 63 6c 75 64 65 5b 24 74 61 72 67 65 74 5d 29 29 20 7b 0a 24 69 6e 63 6c 75 64 65 t($include[$target])).{.$include
f9a0 5b 24 74 61 72 67 65 74 5d 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 [$target].=.true;.if.(isset($pac
f9c0 6b 61 67 65 73 5b 24 74 61 72 67 65 74 5d 29 29 20 7b 0a 24 61 64 64 28 24 70 61 63 6b 61 67 65 kages[$target])).{.$add($package
f9e0 73 5b 24 74 61 72 67 65 74 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 3b 0a 24 61 64 64 28 24 6d 61 69 6e s[$target]);.}.}.}.};.$add($main
fa00 50 61 63 6b 61 67 65 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 0a Package);..return.array_filter(.
fa20 24 70 61 63 6b 61 67 65 4d 61 70 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 69 74 65 6d 29 20 75 73 $packageMap,.function.($item).us
fa40 65 20 28 24 69 6e 63 6c 75 64 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 69 74 65 6d 5b e.($include).{.$package.=.$item[
fa60 30 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 0];.foreach.($package->getNames(
fa80 29 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 63 6c 75 64 65 ).as.$name).{.if.(isset($include
faa0 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 [$name])).{.return.true;.}.}..re
fac0 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 turn.false;.}.);.}..........prot
fae0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 50 61 63 6b 61 67 65 4d 61 70 28 61 72 ected.function.sortPackageMap(ar
fb00 72 61 79 20 24 70 61 63 6b 61 67 65 4d 61 70 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 ray.$packageMap).{.$packages.=.a
fb20 72 72 61 79 28 29 3b 0a 24 70 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 rray();.$paths.=.array();..forea
fb40 63 68 20 28 24 70 61 63 6b 61 67 65 4d 61 70 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 6c 69 73 74 ch.($packageMap.as.$item).{.list
fb60 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 20 3d 20 24 69 74 65 6d 3b 0a 24 6e 61 6d 65 ($package,.$path).=.$item;.$name
fb80 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 70 61 63 6b 61 67 65 .=.$package->getName();.$package
fba0 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 24 70 61 74 68 73 5b 24 6e 61 6d s[$name].=.$package;.$paths[$nam
fbc0 65 5d 20 3d 20 24 70 61 74 68 3b 0a 7d 0a 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 73 20 3d e].=.$path;.}..$sortedPackages.=
fbe0 20 50 61 63 6b 61 67 65 53 6f 72 74 65 72 3a 3a 73 6f 72 74 50 61 63 6b 61 67 65 73 28 24 70 61 .PackageSorter::sortPackages($pa
fc00 63 6b 61 67 65 73 29 3b 0a 0a 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 20 3d 20 61 ckages);...$sortedPackageMap.=.a
fc20 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 rray();..foreach.($sortedPackage
fc40 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 s.as.$package).{.$name.=.$packag
fc60 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 4d 61 70 5b e->getName();.$sortedPackageMap[
fc80 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 73 5b 24 6e 61 6d 65 5d 2c 20 24 70 61 74 ].=.array($packages[$name],.$pat
fca0 68 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 6f 72 74 65 64 50 61 63 hs[$name]);.}..return.$sortedPac
fcc0 6b 61 67 65 4d 61 70 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 kageMap;.}........protected.func
fce0 74 69 6f 6e 20 73 61 66 65 43 6f 70 79 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 0a tion.safeCopy($source,.$target).
fd00 7b 0a 24 73 6f 75 72 63 65 20 3d 20 66 6f 70 65 6e 28 24 73 6f 75 72 63 65 2c 20 27 72 27 29 3b {.$source.=.fopen($source,.'r');
fd20 0a 24 74 61 72 67 65 74 20 3d 20 66 6f 70 65 6e 28 24 74 61 72 67 65 74 2c 20 27 77 2b 27 29 3b .$target.=.fopen($target,.'w+');
fd40 0a 0a 73 74 72 65 61 6d 5f 63 6f 70 79 5f 74 6f 5f 73 74 72 65 61 6d 28 24 73 6f 75 72 63 65 2c ..stream_copy_to_stream($source,
fd60 20 24 74 61 72 67 65 74 29 3b 0a 66 63 6c 6f 73 65 28 24 73 6f 75 72 63 65 29 3b 0a 66 63 6c 6f .$target);.fclose($source);.fclo
fd80 73 65 28 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a se($target);.}.}.<?php..........
fda0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c ........namespace.Composer\Autol
fdc0 6f 61 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 oad;..use.Symfony\Component\Find
fde0 65 72 5c 46 69 6e 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 er\Finder;.use.Composer\IO\IOInt
fe00 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 erface;.use.Composer\Util\Filesy
fe20 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 61 73 73 4d 61 70 47 65 6e 65 72 stem;........class.ClassMapGener
fe40 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 ator.{.......public.static.funct
fe60 69 6f 6e 20 64 75 6d 70 28 24 64 69 72 73 2c 20 24 66 69 6c 65 29 0a 7b 0a 24 6d 61 70 73 20 3d ion.dump($dirs,.$file).{.$maps.=
fe80 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 64 69 .array();..foreach.($dirs.as.$di
fea0 72 29 20 7b 0a 24 6d 61 70 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6d 61 70 73 2c 20 r).{.$maps.=.array_merge($maps,.
fec0 73 74 61 74 69 63 3a 3a 63 72 65 61 74 65 4d 61 70 28 24 64 69 72 29 29 3b 0a 7d 0a 0a 66 69 6c static::createMap($dir));.}..fil
fee0 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 2c 20 73 70 72 69 6e 74 66 28 27 3c e_put_contents($file,.sprintf('<
ff00 3f 70 68 70 20 72 65 74 75 72 6e 20 25 73 3b 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 24 6d 61 ?php.return.%s;',.var_export($ma
ff20 70 73 2c 20 74 72 75 65 29 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ps,.true)));.}.............publi
ff40 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 4d 61 70 28 24 70 61 74 c.static.function.createMap($pat
ff60 68 2c 20 24 62 6c 61 63 6b 6c 69 73 74 20 3d 20 6e 75 6c 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 h,.$blacklist.=.null,.IOInterfac
ff80 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 2c 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 6e 75 6c 6c 29 e.$io.=.null,.$namespace.=.null)
ffa0 0a 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 70 61 74 68 29 29 20 7b 0a 69 66 20 28 69 .{.if.(is_string($path)).{.if.(i
ffc0 73 5f 66 69 6c 65 28 24 70 61 74 68 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 61 72 72 61 79 28 6e s_file($path)).{.$path.=.array(n
ffe0 65 77 20 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 28 24 70 61 74 68 29 29 3b 0a 7d 20 65 6c 73 65 69 ew.\SplFileInfo($path));.}.elsei
10000 66 20 28 69 73 5f 64 69 72 28 24 70 61 74 68 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 46 69 6e 64 f.(is_dir($path)).{.$path.=.Find
10020 65 72 3a 3a 63 72 65 61 74 65 28 29 2d 3e 66 69 6c 65 73 28 29 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e er::create()->files()->followLin
10040 6b 73 28 29 2d 3e 6e 61 6d 65 28 27 2f 5c 2e 28 70 68 70 7c 69 6e 63 7c 68 68 29 24 2f 27 29 2d ks()->name('/\.(php|inc|hh)$/')-
10060 3e 69 6e 28 24 70 61 74 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c >in($path);.}.else.{.throw.new.\
10080 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 73 63 61 RuntimeException(.'Could.not.sca
100a0 6e 20 66 6f 72 20 63 6c 61 73 73 65 73 20 69 6e 73 69 64 65 20 22 27 2e 24 70 61 74 68 2e 0a 27 n.for.classes.inside."'.$path..'
100c0 22 20 77 68 69 63 68 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 65 61 72 20 74 6f 20 62 65 20 61 20 ".which.does.not.appear.to.be.a.
100e0 66 69 6c 65 20 6e 6f 72 20 61 20 66 6f 6c 64 65 72 27 0a 29 3b 0a 7d 0a 7d 0a 0a 24 6d 61 70 20 file.nor.a.folder'.);.}.}..$map.
10100 3d 20 61 72 72 61 79 28 29 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c =.array();.$filesystem.=.new.Fil
10120 65 73 79 73 74 65 6d 28 29 3b 0a 24 63 77 64 20 3d 20 72 65 61 6c 70 61 74 68 28 67 65 74 63 77 esystem();.$cwd.=.realpath(getcw
10140 64 28 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 68 20 61 73 20 24 66 69 6c 65 29 20 d());..foreach.($path.as.$file).
10160 7b 0a 24 66 69 6c 65 50 61 74 68 20 3d 20 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 {.$filePath.=.$file->getPathname
10180 28 29 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 70 61 74 68 69 6e 66 6f 28 24 66 69 6c 65 ();.if.(!in_array(pathinfo($file
101a0 50 61 74 68 2c 20 50 41 54 48 49 4e 46 4f 5f 45 58 54 45 4e 53 49 4f 4e 29 2c 20 61 72 72 61 79 Path,.PATHINFO_EXTENSION),.array
101c0 28 27 70 68 70 27 2c 20 27 69 6e 63 27 2c 20 27 68 68 27 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 ('php',.'inc',.'hh'))).{.continu
101e0 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 41 62 73 6f 6c 75 e;.}..if.(!$filesystem->isAbsolu
10200 74 65 50 61 74 68 28 24 66 69 6c 65 50 61 74 68 29 29 20 7b 0a 24 66 69 6c 65 50 61 74 68 20 3d tePath($filePath)).{.$filePath.=
10220 20 24 63 77 64 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 50 61 74 68 3b 0a 24 66 69 6c 65 50 61 .$cwd...'/'...$filePath;.$filePa
10240 74 68 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 th.=.$filesystem->normalizePath(
10260 24 66 69 6c 65 50 61 74 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 69 6c 65 50 61 74 68 20 3d $filePath);.}.else.{.$filePath.=
10280 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5c 5c 5c 5c 2f 5d 7b 32 2c 7d 7d 27 2c 20 27 .preg_replace('{[\\\\/]{2,}}',.'
102a0 2f 27 2c 20 24 66 69 6c 65 50 61 74 68 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 62 6c 61 63 6b 6c /',.$filePath);.}....if.($blackl
102c0 69 73 74 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 24 62 6c 61 63 6b 6c 69 73 74 2c 20 73 74 ist.&&.preg_match($blacklist,.st
102e0 72 74 72 28 72 65 61 6c 70 61 74 68 28 24 66 69 6c 65 50 61 74 68 29 2c 20 27 5c 5c 27 2c 20 27 rtr(realpath($filePath),.'\\',.'
10300 2f 27 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 20 69 66 20 28 24 62 6c 61 63 6b /'))).{.continue;.}...if.($black
10320 6c 69 73 74 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 24 62 6c 61 63 6b 6c 69 73 74 2c 20 73 list.&&.preg_match($blacklist,.s
10340 74 72 74 72 28 24 66 69 6c 65 50 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 29 29 20 7b 0a 63 trtr($filePath,.'\\',.'/'))).{.c
10360 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 63 6c 61 73 73 65 73 20 3d 20 73 65 6c 66 3a 3a 66 69 6e ontinue;.}..$classes.=.self::fin
10380 64 43 6c 61 73 73 65 73 28 24 66 69 6c 65 50 61 74 68 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 dClasses($filePath);..foreach.($
103a0 63 6c 61 73 73 65 73 20 61 73 20 24 63 6c 61 73 73 29 20 7b 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 classes.as.$class).{...if.(null.
103c0 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 20 26 26 20 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 !==.$namespace.&&.0.!==.strpos($
103e0 63 6c 61 73 73 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a class,.$namespace)).{.continue;.
10400 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 6d 61 70 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a 24 }..if.(!isset($map[$class])).{.$
10420 6d 61 70 5b 24 63 6c 61 73 73 5d 20 3d 20 24 66 69 6c 65 50 61 74 68 3b 0a 7d 20 65 6c 73 65 69 map[$class].=.$filePath;.}.elsei
10440 66 20 28 24 69 6f 20 26 26 20 24 6d 61 70 5b 24 63 6c 61 73 73 5d 20 21 3d 3d 20 24 66 69 6c 65 f.($io.&&.$map[$class].!==.$file
10460 50 61 74 68 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 2f 28 74 65 73 74 7c 66 69 78 Path.&&.!preg_match('{/(test|fix
10480 74 75 72 65 7c 65 78 61 6d 70 6c 65 7c 73 74 75 62 29 73 3f 2f 7d 69 27 2c 20 73 74 72 74 72 28 ture|example|stub)s?/}i',.strtr(
104a0 24 6d 61 70 5b 24 63 6c 61 73 73 5d 2e 27 20 27 2e 24 66 69 6c 65 50 61 74 68 2c 20 27 5c 5c 27 $map[$class].'.'.$filePath,.'\\'
104c0 2c 20 27 2f 27 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 27 3c 77 61 ,.'/'))).{.$io->writeError(.'<wa
104e0 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 41 6d 62 69 67 75 6f 75 73 20 63 6c 61 73 73 20 72 rning>Warning:.Ambiguous.class.r
10500 65 73 6f 6c 75 74 69 6f 6e 2c 20 22 27 2e 24 63 6c 61 73 73 2e 27 22 27 2e 0a 27 20 77 61 73 20 esolution,."'.$class.'"'..'.was.
10520 66 6f 75 6e 64 20 69 6e 20 62 6f 74 68 20 22 27 2e 24 6d 61 70 5b 24 63 6c 61 73 73 5d 2e 27 22 found.in.both."'.$map[$class].'"
10540 20 61 6e 64 20 22 27 2e 24 66 69 6c 65 50 61 74 68 2e 27 22 2c 20 74 68 65 20 66 69 72 73 74 20 .and."'.$filePath.'",.the.first.
10560 77 69 6c 6c 20 62 65 20 75 73 65 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 0a 29 3b 0a 7d 0a 7d 0a will.be.used.</warning>'.);.}.}.
10580 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 70 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 }..return.$map;.}.........privat
105a0 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 43 6c 61 73 73 65 73 28 24 70 e.static.function.findClasses($p
105c0 61 74 68 29 0a 7b 0a 24 65 78 74 72 61 54 79 70 65 73 20 3d 20 50 48 50 5f 56 45 52 53 49 4f 4e ath).{.$extraTypes.=.PHP_VERSION
105e0 5f 49 44 20 3c 20 35 30 34 30 30 20 3f 20 27 27 20 3a 20 27 7c 74 72 61 69 74 27 3b 0a 69 66 20 _ID.<.50400.?.''.:.'|trait';.if.
10600 28 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 76 65 72 73 (defined('HHVM_VERSION').&&.vers
10620 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 48 48 56 4d 5f 56 45 52 53 49 4f 4e 2c 20 27 33 2e 33 27 2c ion_compare(HHVM_VERSION,.'3.3',
10640 20 27 3e 3d 27 29 29 20 7b 0a 24 65 78 74 72 61 54 79 70 65 73 20 2e 3d 20 27 7c 65 6e 75 6d 27 .'>=')).{.$extraTypes..=.'|enum'
10660 3b 0a 7d 0a 0a 0a 20 0a 20 24 63 6f 6e 74 65 6e 74 73 20 3d 20 40 70 68 70 5f 73 74 72 69 70 5f ;.}......$contents.=.@php_strip_
10680 77 68 69 74 65 73 70 61 63 65 28 24 70 61 74 68 29 3b 0a 69 66 20 28 21 24 63 6f 6e 74 65 6e 74 whitespace($path);.if.(!$content
106a0 73 29 20 7b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 70 61 74 68 29 29 20 7b 0a s).{.if.(!file_exists($path)).{.
106c0 24 6d 65 73 73 61 67 65 20 3d 20 27 46 69 6c 65 20 61 74 20 22 25 73 22 20 64 6f 65 73 20 6e 6f $message.=.'File.at."%s".does.no
106e0 74 20 65 78 69 73 74 2c 20 63 68 65 63 6b 20 79 6f 75 72 20 63 6c 61 73 73 6d 61 70 20 64 65 66 t.exist,.check.your.classmap.def
10700 69 6e 69 74 69 6f 6e 73 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f 72 65 61 64 61 62 6c initions';.}.elseif.(!is_readabl
10720 65 28 24 70 61 74 68 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 46 69 6c 65 20 61 74 20 e($path)).{.$message.=.'File.at.
10740 22 25 73 22 20 69 73 20 6e 6f 74 20 72 65 61 64 61 62 6c 65 2c 20 63 68 65 63 6b 20 69 74 73 20 "%s".is.not.readable,.check.its.
10760 70 65 72 6d 69 73 73 69 6f 6e 73 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 27 20 3d 3d 3d 20 74 permissions';.}.elseif.(''.===.t
10780 72 69 6d 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 61 74 68 29 29 29 20 7b rim(file_get_contents($path))).{
107a0 0a 0a 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 ...return.array();.}.else.{.$mes
107c0 73 61 67 65 20 3d 20 27 46 69 6c 65 20 61 74 20 22 25 73 22 20 63 6f 75 6c 64 20 6e 6f 74 20 62 sage.=.'File.at."%s".could.not.b
107e0 65 20 70 61 72 73 65 64 20 61 73 20 50 48 50 2c 20 69 74 20 6d 61 79 20 62 65 20 62 69 6e 61 72 e.parsed.as.PHP,.it.may.be.binar
10800 79 20 6f 72 20 63 6f 72 72 75 70 74 65 64 27 3b 0a 7d 0a 24 65 72 72 6f 72 20 3d 20 65 72 72 6f y.or.corrupted';.}.$error.=.erro
10820 72 5f 67 65 74 5f 6c 61 73 74 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 65 72 72 6f 72 5b 27 r_get_last();.if.(isset($error['
10840 6d 65 73 73 61 67 65 27 5d 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 50 48 50 5f 45 4f message'])).{.$message..=.PHP_EO
10860 4c 20 2e 20 27 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 65 73 73 61 67 65 20 6d 61 79 20 62 L...'The.following.message.may.b
10880 65 20 68 65 6c 70 66 75 6c 3a 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 24 65 72 72 6f 72 5b 27 e.helpful:'...PHP_EOL...$error['
108a0 6d 65 73 73 61 67 65 27 5d 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 message'];.}.throw.new.\RuntimeE
108c0 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 24 6d 65 73 73 61 67 65 2c 20 24 70 61 74 68 xception(sprintf($message,.$path
108e0 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5c 62 28 3f 3a ));.}....if.(!preg_match('{\b(?:
10900 63 6c 61 73 73 7c 69 6e 74 65 72 66 61 63 65 27 2e 24 65 78 74 72 61 54 79 70 65 73 2e 27 29 5c class|interface'.$extraTypes.')\
10920 73 7d 69 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 s}i',.$contents)).{.return.array
10940 28 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 ();.}....$contents.=.preg_replac
10960 65 28 27 7b 3c 3c 3c 5b 20 5c 74 5d 2a 28 5b 5c 27 22 5d 3f 29 28 5c 77 2b 29 5c 5c 31 28 3f 3a e('{<<<[.\t]*([\'"]?)(\w+)\\1(?:
10980 5c 72 5c 6e 7c 5c 6e 7c 5c 72 29 28 3f 3a 2e 2a 3f 29 28 3f 3a 5c 72 5c 6e 7c 5c 6e 7c 5c 72 29 \r\n|\n|\r)(?:.*?)(?:\r\n|\n|\r)
109a0 28 3f 3a 5c 73 2a 29 5c 5c 32 28 3f 3d 5c 73 2b 7c 5b 3b 2c 2e 29 5d 29 7d 73 27 2c 20 27 6e 75 (?:\s*)\\2(?=\s+|[;,.)])}s',.'nu
109c0 6c 6c 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 20 24 63 6f 6e 74 65 6e 74 73 20 3d 20 70 ll',.$contents);...$contents.=.p
109e0 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 22 5b 5e 22 5c 5c 5c 5c 5d 2a 2b 28 5c 5c 5c 5c 2e 5b reg_replace('{"[^"\\\\]*+(\\\\.[
10a00 5e 22 5c 5c 5c 5c 5d 2a 2b 29 2a 2b 22 7c 5c 27 5b 5e 5c 27 5c 5c 5c 5c 5d 2a 2b 28 5c 5c 5c 5c ^"\\\\]*+)*+"|\'[^\'\\\\]*+(\\\\
10a20 2e 5b 5e 5c 27 5c 5c 5c 5c 5d 2a 2b 29 2a 2b 5c 27 7d 73 27 2c 20 27 6e 75 6c 6c 27 2c 20 24 63 .[^\'\\\\]*+)*+\'}s',.'null',.$c
10a40 6f 6e 74 65 6e 74 73 29 3b 0a 0a 20 69 66 20 28 73 75 62 73 74 72 28 24 63 6f 6e 74 65 6e 74 73 ontents);...if.(substr($contents
10a60 2c 20 30 2c 20 32 29 20 21 3d 3d 20 27 3c 3f 27 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 ,.0,.2).!==.'<?').{.$contents.=.
10a80 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 2e 2b 3f 3c 5c 3f 7d 73 27 2c 20 27 3c 3f 27 2c preg_replace('{^.+?<\?}s',.'<?',
10aa0 20 24 63 6f 6e 74 65 6e 74 73 2c 20 31 2c 20 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 29 3b 0a 69 .$contents,.1,.$replacements);.i
10ac0 66 20 28 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e f.($replacements.===.0).{.return
10ae0 20 61 72 72 61 79 28 29 3b 0a 7d 0a 7d 0a 0a 20 24 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 .array();.}.}...$contents.=.preg
10b00 5f 72 65 70 6c 61 63 65 28 27 7b 5c 3f 3e 28 3f 3a 5b 5e 3c 5d 2b 2b 7c 3c 28 3f 21 5c 3f 29 29 _replace('{\?>(?:[^<]++|<(?!\?))
10b20 2a 2b 3c 5c 3f 7d 73 27 2c 20 27 3f 3e 3c 3f 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 20 *+<\?}s',.'?><?',.$contents);...
10b40 24 70 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 63 6f 6e 74 65 6e 74 73 2c 20 27 3f 3e 27 29 3b $pos.=.strrpos($contents,.'?>');
10b60 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d .if.(false.!==.$pos.&&.false.===
10b80 20 73 74 72 70 6f 73 28 73 75 62 73 74 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 24 70 6f 73 29 2c .strpos(substr($contents,.$pos),
10ba0 20 27 3c 3f 27 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 73 75 62 73 74 72 28 24 63 6f .'<?')).{.$contents.=.substr($co
10bc0 6e 74 65 6e 74 73 2c 20 30 2c 20 24 70 6f 73 29 3b 0a 7d 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d ntents,.0,.$pos);.}...if.(preg_m
10be0 61 74 63 68 28 27 7b 28 3c 5c 3f 29 28 3f 21 28 70 68 70 7c 68 68 29 29 7d 69 27 2c 20 24 63 6f atch('{(<\?)(?!(php|hh))}i',.$co
10c00 6e 74 65 6e 74 73 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c ntents)).{.$contents.=.preg_repl
10c20 61 63 65 28 27 7b 2f 2f 2e 2a 20 7c 20 2f 5c 2a 28 3f 3a 5b 5e 2a 5d 2b 2b 7c 5c 2a 28 3f 21 2f ace('{//.*.|./\*(?:[^*]++|\*(?!/
10c40 29 29 2a 5c 2a 2f 7d 78 27 2c 20 27 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 7d 0a 0a 70 72 ))*\*/}x',.'',.$contents);.}..pr
10c60 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 3a 0a eg_match_all('{.............(?:.
10c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5c 62 28 3f 3c 21 5b 5c 24 3a 3e 5d 29 28 3f .................\b(?<![\$:>])(?
10ca0 50 3c 74 79 70 65 3e 63 6c 61 73 73 7c 69 6e 74 65 72 66 61 63 65 27 2e 24 65 78 74 72 61 54 79 P<type>class|interface'.$extraTy
10cc0 70 65 73 2e 27 29 20 5c 73 2b 2b 20 28 3f 50 3c 6e 61 6d 65 3e 5b 61 2d 7a 41 2d 5a 5f 5c 78 37 pes.').\s++.(?P<name>[a-zA-Z_\x7
10ce0 66 2d 5c 78 66 66 3a 5d 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 5c 78 37 66 2d 5c 78 66 66 3a 5c 2d 5d f-\xff:][a-zA-Z0-9_\x7f-\xff:\-]
10d00 2a 2b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 5c 62 28 3f 3c 21 5b 5c 24 3a 3e *+)................|.\b(?<![\$:>
10d20 5d 29 28 3f 50 3c 6e 73 3e 6e 61 6d 65 73 70 61 63 65 29 20 28 3f 50 3c 6e 73 6e 61 6d 65 3e 5c ])(?P<ns>namespace).(?P<nsname>\
10d40 73 2b 2b 5b 61 2d 7a 41 2d 5a 5f 5c 78 37 66 2d 5c 78 66 66 5d 5b 61 2d 7a 41 2d 5a 30 2d 39 5f s++[a-zA-Z_\x7f-\xff][a-zA-Z0-9_
10d60 5c 78 37 66 2d 5c 78 66 66 5d 2a 2b 28 3f 3a 5c 73 2a 2b 5c 5c 5c 5c 5c 73 2a 2b 5b 61 2d 7a 41 \x7f-\xff]*+(?:\s*+\\\\\s*+[a-zA
10d80 2d 5a 5f 5c 78 37 66 2d 5c 78 66 66 5d 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 5c 78 37 66 2d 5c 78 66 -Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xf
10da0 66 5d 2a 2b 29 2a 2b 29 3f 20 5c 73 2a 2b 20 5b 5c 7b 3b 5d 0a 20 20 20 20 20 20 20 20 20 20 20 f]*+)*+)?.\s*+.[\{;]............
10dc0 20 29 0a 20 20 20 20 20 20 20 20 7d 69 78 27 2c 20 24 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 .).........}ix',.$contents,.$mat
10de0 63 68 65 73 29 3b 0a 0a 24 63 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6e 61 6d ches);..$classes.=.array();.$nam
10e00 65 73 70 61 63 65 20 3d 20 27 27 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 2c 20 24 6c 65 6e 20 espace.=.'';..for.($i.=.0,.$len.
10e20 3d 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 65 73 5b 27 74 79 70 65 27 5d 29 3b 20 24 69 20 3c 20 =.count($matches['type']);.$i.<.
10e40 24 6c 65 6e 3b 20 24 69 2b 2b 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 $len;.$i++).{.if.(!empty($matche
10e60 73 5b 27 6e 73 27 5d 5b 24 69 5d 29 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 73 74 72 s['ns'][$i])).{.$namespace.=.str
10e80 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 20 27 2c 20 22 5c 74 22 2c 20 22 5c 72 22 2c 20 _replace(array('.',."\t",."\r",.
10ea0 22 5c 6e 22 29 2c 20 27 27 2c 20 24 6d 61 74 63 68 65 73 5b 27 6e 73 6e 61 6d 65 27 5d 5b 24 69 "\n"),.'',.$matches['nsname'][$i
10ec0 5d 29 20 2e 20 27 5c 5c 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 6d 61 74 ])...'\\';.}.else.{.$name.=.$mat
10ee0 63 68 65 73 5b 27 6e 61 6d 65 27 5d 5b 24 69 5d 3b 0a 0a 20 69 66 20 28 24 6e 61 6d 65 20 3d 3d ches['name'][$i];...if.($name.==
10f00 3d 20 27 65 78 74 65 6e 64 73 27 20 7c 7c 20 24 6e 61 6d 65 20 3d 3d 3d 20 27 69 6d 70 6c 65 6d =.'extends'.||.$name.===.'implem
10f20 65 6e 74 73 27 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 24 6e 61 6d 65 5b 30 ents').{.continue;.}.if.($name[0
10f40 5d 20 3d 3d 3d 20 27 3a 27 29 20 7b 0a 0a 20 24 6e 61 6d 65 20 3d 20 27 78 68 70 27 2e 73 75 62 ].===.':').{...$name.=.'xhp'.sub
10f60 73 74 72 28 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 2d 27 2c 20 27 3a 27 29 2c str(str_replace(array('-',.':'),
10f80 20 61 72 72 61 79 28 27 5f 27 2c 20 27 5f 5f 27 29 2c 20 24 6e 61 6d 65 29 2c 20 31 29 3b 0a 7d .array('_',.'__'),.$name),.1);.}
10fa0 20 65 6c 73 65 69 66 20 28 24 6d 61 74 63 68 65 73 5b 27 74 79 70 65 27 5d 5b 24 69 5d 20 3d 3d .elseif.($matches['type'][$i].==
10fc0 3d 20 27 65 6e 75 6d 27 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 24 6e 61 6d 65 20 3d 20 72 74 72 69 =.'enum').{.........$name.=.rtri
10fe0 6d 28 24 6e 61 6d 65 2c 20 27 3a 27 29 3b 0a 7d 0a 24 63 6c 61 73 73 65 73 5b 5d 20 3d 20 6c 74 m($name,.':');.}.$classes[].=.lt
11000 72 69 6d 28 24 6e 61 6d 65 73 70 61 63 65 20 2e 20 24 6e 61 6d 65 2c 20 27 5c 5c 27 29 3b 0a 7d rim($namespace...$name,.'\\');.}
11020 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6c 61 73 73 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a .}..return.$classes;.}.}.<?php..
11040 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 3b 0a 0a 75 ..........namespace.Composer;..u
11060 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 se.Composer\IO\IOInterface;.use.
11080 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f Composer\Util\Filesystem;.use.Co
110a0 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e mposer\Util\Silencer;.use.Symfon
110c0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a y\Component\Finder\Finder;......
110e0 0a 63 6c 61 73 73 20 43 61 63 68 65 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 .class.Cache.{.private.static.$c
11100 61 63 68 65 43 6f 6c 6c 65 63 74 65 64 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 acheCollected.=.false;.private.$
11120 69 6f 3b 0a 70 72 69 76 61 74 65 20 24 72 6f 6f 74 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 61 62 io;.private.$root;.private.$enab
11140 6c 65 64 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 77 68 69 74 65 6c 69 73 74 3b 0a led.=.true;.private.$whitelist;.
11160 70 72 69 76 61 74 65 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c private.$filesystem;........publ
11180 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 ic.function.__construct(IOInterf
111a0 61 63 65 20 24 69 6f 2c 20 24 63 61 63 68 65 44 69 72 2c 20 24 77 68 69 74 65 6c 69 73 74 20 3d ace.$io,.$cacheDir,.$whitelist.=
111c0 20 27 61 2d 7a 30 2d 39 2e 27 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 .'a-z0-9.',.Filesystem.$filesyst
111e0 65 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 em.=.null).{.$this->io.=.$io;.$t
11200 68 69 73 2d 3e 72 6f 6f 74 20 3d 20 72 74 72 69 6d 28 24 63 61 63 68 65 44 69 72 2c 20 27 2f 5c his->root.=.rtrim($cacheDir,.'/\
11220 5c 27 29 20 2e 20 27 2f 27 3b 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 20 3d 20 24 77 \')...'/';.$this->whitelist.=.$w
11240 68 69 74 65 6c 69 73 74 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 66 hitelist;.$this->filesystem.=.$f
11260 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 0a ilesystem.?:.new.Filesystem();..
11280 69 66 20 28 21 73 65 6c 66 3a 3a 69 73 55 73 61 62 6c 65 28 24 63 61 63 68 65 44 69 72 29 29 20 if.(!self::isUsable($cacheDir)).
112a0 7b 0a 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 72 65 74 75 72 {.$this->enabled.=.false;..retur
112c0 6e 3b 0a 7d 0a 0a 69 66 20 28 0a 28 21 69 73 5f 64 69 72 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 n;.}..if.(.(!is_dir($this->root)
112e0 20 26 26 20 21 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 6d 6b 64 69 72 27 2c 20 24 74 68 .&&.!Silencer::call('mkdir',.$th
11300 69 73 2d 3e 72 6f 6f 74 2c 20 30 37 37 37 2c 20 74 72 75 65 29 29 0a 7c 7c 20 21 69 73 5f 77 72 is->root,.0777,.true)).||.!is_wr
11320 69 74 61 62 6c 65 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 69 itable($this->root).).{.$this->i
11340 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 43 61 6e 6e 6f 74 20 63 o->writeError('<warning>Cannot.c
11360 72 65 61 74 65 20 63 61 63 68 65 20 64 69 72 65 63 74 6f 72 79 20 27 20 2e 20 24 74 68 69 73 2d reate.cache.directory.'...$this-
11380 3e 72 6f 6f 74 20 2e 20 27 2c 20 6f 72 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6e 6f 74 20 77 >root...',.or.directory.is.not.w
113a0 72 69 74 61 62 6c 65 2e 20 50 72 6f 63 65 65 64 69 6e 67 20 77 69 74 68 6f 75 74 20 63 61 63 68 ritable..Proceeding.without.cach
113c0 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 20 3d 20 e</warning>');.$this->enabled.=.
113e0 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 false;.}.}..public.static.functi
11400 6f 6e 20 69 73 55 73 61 62 6c 65 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 21 70 72 65 on.isUsable($path).{.return.!pre
11420 67 5f 6d 61 74 63 68 28 27 7b 28 5e 7c 5b 5c 5c 5c 5c 2f 5d 29 28 5c 24 6e 75 6c 6c 7c 6e 75 6c g_match('{(^|[\\\\/])(\$null|nul
11440 7c 4e 55 4c 7c 2f 64 65 76 2f 6e 75 6c 6c 29 28 5b 5c 5c 5c 5c 2f 5d 7c 24 29 7d 27 2c 20 24 70 |NUL|/dev/null)([\\\\/]|$)}',.$p
11460 61 74 68 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 45 6e 61 62 6c ath);.}..public.function.isEnabl
11480 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 3b 0a 7d 0a ed().{.return.$this->enabled;.}.
114a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 28 29 0a 7b 0a 72 65 74 .public.function.getRoot().{.ret
114c0 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 urn.$this->root;.}..public.funct
114e0 69 6f 6e 20 72 65 61 64 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 ion.read($file).{.if.($this->ena
11500 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b bled).{.$file.=.preg_replace('{[
11520 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 ^'.$this->whitelist.']}i',.'-',.
11540 24 66 69 6c 65 29 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 72 $file);.if.(file_exists($this->r
11560 6f 6f 74 20 2e 20 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 oot...$file)).{.$this->io->write
11580 45 72 72 6f 72 28 27 52 65 61 64 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 Error('Reading.'.$this->root...$
115a0 66 69 6c 65 2e 27 20 66 72 6f 6d 20 63 61 63 68 65 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 file.'.from.cache',.true,.IOInte
115c0 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 72 65 74 75 72 6e 20 66 69 6c 65 5f 67 65 74 5f rface::DEBUG);..return.file_get_
115e0 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d contents($this->root...$file);.}
11600 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .}..return.false;.}..public.func
11620 74 69 6f 6e 20 77 72 69 74 65 28 24 66 69 6c 65 2c 20 24 63 6f 6e 74 65 6e 74 73 29 0a 7b 0a 69 tion.write($file,.$contents).{.i
11640 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d 20 70 72 65 f.($this->enabled).{.$file.=.pre
11660 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 g_replace('{[^'.$this->whitelist
11680 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d .']}i',.'-',.$file);..$this->io-
116a0 3e 77 72 69 74 65 45 72 72 6f 72 28 27 57 72 69 74 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 72 6f >writeError('Writing.'.$this->ro
116c0 6f 74 20 2e 20 24 66 69 6c 65 2e 27 20 69 6e 74 6f 20 63 61 63 68 65 27 2c 20 74 72 75 65 2c 20 ot...$file.'.into.cache',.true,.
116e0 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 74 72 79 20 7b 0a 72 65 74 75 IOInterface::DEBUG);..try.{.retu
11700 72 6e 20 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 rn.file_put_contents($this->root
11720 20 2e 20 24 66 69 6c 65 2c 20 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c ...$file,.$contents);.}.catch.(\
11740 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e ErrorException.$e).{.$this->io->
11760 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 46 61 69 6c 65 64 20 74 6f 20 77 writeError('<warning>Failed.to.w
11780 72 69 74 65 20 69 6e 74 6f 20 63 61 63 68 65 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 rite.into.cache:.'.$e->getMessag
117a0 65 28 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 e().'</warning>',.true,.IOInterf
117c0 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 66 ace::DEBUG);.if.(preg_match('{^f
117e0 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 5c 28 5c 29 3a 20 4f 6e 6c 79 20 28 5b 30 2d 39 ile_put_contents\(\):.Only.([0-9
11800 5d 2b 29 20 6f 66 20 28 5b 30 2d 39 5d 2b 29 20 62 79 74 65 73 20 77 72 69 74 74 65 6e 7d 27 2c ]+).of.([0-9]+).bytes.written}',
11820 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 24 6d 29 29 20 7b 0a 0a 20 75 6e 6c 69 .$e->getMessage(),.$m)).{...unli
11840 6e 6b 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 0a 24 6d 65 73 73 61 nk($this->root...$file);..$messa
11860 67 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 3c 77 61 72 6e 69 6e 67 3e 57 72 69 74 69 6e 67 20 ge.=.sprintf(.'<warning>Writing.
11880 25 31 24 73 20 69 6e 74 6f 20 63 61 63 68 65 20 66 61 69 6c 65 64 20 61 66 74 65 72 20 25 32 24 %1$s.into.cache.failed.after.%2$
118a0 75 20 6f 66 20 25 33 24 75 20 62 79 74 65 73 20 77 72 69 74 74 65 6e 2c 20 6f 6e 6c 79 20 25 34 u.of.%3$u.bytes.written,.only.%4
118c0 24 75 20 62 79 74 65 73 20 6f 66 20 66 72 65 65 20 73 70 61 63 65 20 61 76 61 69 6c 61 62 6c 65 $u.bytes.of.free.space.available
118e0 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 </warning>',.$this->root...$file
11900 2c 0a 24 6d 5b 31 5d 2c 0a 24 6d 5b 32 5d 2c 0a 40 64 69 73 6b 5f 66 72 65 65 5f 73 70 61 63 65 ,.$m[1],.$m[2],.@disk_free_space
11920 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 64 69 72 6e 61 6d 65 28 24 66 69 6c 65 29 29 0a 29 ($this->root...dirname($file)).)
11940 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 ;..$this->io->writeError($messag
11960 65 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a e);..return.false;.}..throw.$e;.
11980 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 }.}..return.false;.}.....public.
119a0 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 46 72 6f 6d 28 24 66 69 6c 65 2c 20 24 73 6f 75 72 63 65 function.copyFrom($file,.$source
119c0 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 ).{.if.($this->enabled).{.$file.
119e0 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 =.preg_replace('{[^'.$this->whit
11a00 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 24 74 68 69 73 2d elist.']}i',.'-',.$file);.$this-
11a20 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 >filesystem->ensureDirectoryExis
11a40 74 73 28 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 29 ts(dirname($this->root...$file))
11a60 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 73 6f 75 72 63 65 29 29 20 7b 0a ;..if.(!file_exists($source)).{.
11a80 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e $this->io->writeError('<error>'.
11aa0 24 73 6f 75 72 63 65 2e 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c 20 63 61 6e 20 6e 6f $source.'.does.not.exist,.can.no
11ac0 74 20 77 72 69 74 65 20 69 6e 74 6f 20 63 61 63 68 65 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 20 t.write.into.cache</error>');.}.
11ae0 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a elseif.($this->io->isDebug()).{.
11b00 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 57 72 69 74 69 6e 67 20 27 $this->io->writeError('Writing.'
11b20 2e 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2e 27 20 69 6e 74 6f 20 63 61 63 68 .$this->root...$file.'.into.cach
11b40 65 20 66 72 6f 6d 20 27 2e 24 73 6f 75 72 63 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 6f 70 e.from.'.$source);.}..return.cop
11b60 79 28 24 73 6f 75 72 63 65 2c 20 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b y($source,.$this->root...$file);
11b80 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .}..return.false;.}.....public.f
11ba0 75 6e 63 74 69 6f 6e 20 63 6f 70 79 54 6f 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 29 0a 7b unction.copyTo($file,.$target).{
11bc0 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d 20 70 .if.($this->enabled).{.$file.=.p
11be0 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 reg_replace('{[^'.$this->whiteli
11c00 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 66 69 6c 65 5f st.']}i',.'-',.$file);.if.(file_
11c20 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 29 20 7b 0a 74 exists($this->root...$file)).{.t
11c40 72 79 20 7b 0a 74 6f 75 63 68 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2c 20 ry.{.touch($this->root...$file,.
11c60 66 69 6c 65 6d 74 69 6d 65 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 2c 20 filemtime($this->root...$file),.
11c80 74 69 6d 65 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f time());.}.catch.(\ErrorExceptio
11ca0 6e 20 24 65 29 20 7b 0a 0a 20 0a 20 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 74 6f 75 63 n.$e).{.....Silencer::call('touc
11cc0 68 27 2c 20 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a 24 74 68 h',.$this->root...$file);.}..$th
11ce0 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 52 65 61 64 69 6e 67 20 27 2e 24 74 is->io->writeError('Reading.'.$t
11d00 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2e 27 20 66 72 6f 6d 20 63 61 63 68 65 27 2c his->root...$file.'.from.cache',
11d20 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 72 65 74 .true,.IOInterface::DEBUG);..ret
11d40 75 72 6e 20 63 6f 70 79 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 2c 20 24 74 urn.copy($this->root...$file,.$t
11d60 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 arget);.}.}..return.false;.}..pu
11d80 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 63 49 73 4e 65 63 65 73 73 61 72 79 28 29 0a 7b 0a blic.function.gcIsNecessary().{.
11da0 72 65 74 75 72 6e 20 28 21 73 65 6c 66 3a 3a 24 63 61 63 68 65 43 6f 6c 6c 65 63 74 65 64 20 26 return.(!self::$cacheCollected.&
11dc0 26 20 21 6d 74 5f 72 61 6e 64 28 30 2c 20 35 30 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 &.!mt_rand(0,.50));.}..public.fu
11de0 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 nction.remove($file).{.if.($this
11e00 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 ->enabled).{.$file.=.preg_replac
11e20 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 e('{[^'.$this->whitelist.']}i',.
11e40 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 '-',.$file);.if.(file_exists($th
11e60 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 is->root...$file)).{.return.$thi
11e80 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e 72 6f 6f s->filesystem->unlink($this->roo
11ea0 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d t...$file);.}.}..return.false;.}
11ec0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 28 29 0a 7b 0a 69 66 20 28 ..public.function.clear().{.if.(
11ee0 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 $this->enabled).{.$this->filesys
11f00 74 65 6d 2d 3e 65 6d 70 74 79 44 69 72 65 63 74 6f 72 79 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 tem->emptyDirectory($this->root)
11f20 3b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a ;.return.true;.}..return.false;.
11f40 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 63 28 24 74 74 6c 2c 20 24 6d 61 78 }..public.function.gc($ttl,.$max
11f60 53 69 7a 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 65 Size).{.if.($this->enabled).{.$e
11f80 78 70 69 72 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 29 3b 0a 24 65 78 70 69 72 65 xpire.=.new.\DateTime();.$expire
11fa0 2d 3e 6d 6f 64 69 66 79 28 27 2d 27 2e 24 74 74 6c 2e 27 20 73 65 63 6f 6e 64 73 27 29 3b 0a 0a ->modify('-'.$ttl.'.seconds');..
11fc0 24 66 69 6e 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6e 64 65 72 28 29 2d 3e 64 61 $finder.=.$this->getFinder()->da
11fe0 74 65 28 27 75 6e 74 69 6c 20 27 2e 24 65 78 70 69 72 65 2d 3e 66 6f 72 6d 61 74 28 27 59 2d 6d te('until.'.$expire->format('Y-m
12000 2d 64 20 48 3a 69 3a 73 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6e 64 65 72 20 61 73 -d.H:i:s'));.foreach.($finder.as
12020 20 24 66 69 6c 65 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c .$file).{.$this->filesystem->unl
12040 69 6e 6b 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 3b 0a 7d 0a 0a 24 74 ink($file->getPathname());.}..$t
12060 6f 74 61 6c 53 69 7a 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 73 69 otalSize.=.$this->filesystem->si
12080 7a 65 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 3b 0a 69 66 20 28 24 74 6f 74 61 6c 53 69 7a 65 20 ze($this->root);.if.($totalSize.
120a0 3e 20 24 6d 61 78 53 69 7a 65 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 74 68 69 73 2d >.$maxSize).{.$iterator.=.$this-
120c0 3e 67 65 74 46 69 6e 64 65 72 28 29 2d 3e 73 6f 72 74 42 79 41 63 63 65 73 73 65 64 54 69 6d 65 >getFinder()->sortByAccessedTime
120e0 28 29 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 3b 0a 77 68 69 6c 65 20 28 24 74 6f 74 61 6c ()->getIterator();.while.($total
12100 53 69 7a 65 20 3e 20 24 6d 61 78 53 69 7a 65 20 26 26 20 24 69 74 65 72 61 74 6f 72 2d 3e 76 61 Size.>.$maxSize.&&.$iterator->va
12120 6c 69 64 28 29 29 20 7b 0a 24 66 69 6c 65 70 61 74 68 20 3d 20 24 69 74 65 72 61 74 6f 72 2d 3e lid()).{.$filepath.=.$iterator->
12140 63 75 72 72 65 6e 74 28 29 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 3b 0a 24 74 6f 74 61 6c current()->getPathname();.$total
12160 53 69 7a 65 20 2d 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 73 69 7a 65 28 Size.-=.$this->filesystem->size(
12180 24 66 69 6c 65 70 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 $filepath);.$this->filesystem->u
121a0 6e 6c 69 6e 6b 28 24 66 69 6c 65 70 61 74 68 29 3b 0a 24 69 74 65 72 61 74 6f 72 2d 3e 6e 65 78 nlink($filepath);.$iterator->nex
121c0 74 28 29 3b 0a 7d 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 63 61 63 68 65 43 6f 6c 6c 65 63 74 65 64 20 t();.}.}..self::$cacheCollected.
121e0 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 =.true;..return.true;.}..return.
12200 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 68 61 31 28 24 false;.}..public.function.sha1($
12220 66 69 6c 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 file).{.if.($this->enabled).{.$f
12240 69 6c 65 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e ile.=.preg_replace('{[^'.$this->
12260 77 68 69 74 65 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 whitelist.']}i',.'-',.$file);.if
12280 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c .(file_exists($this->root...$fil
122a0 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 68 61 31 5f 66 69 6c 65 28 24 74 68 69 73 2d 3e 72 6f e)).{.return.sha1_file($this->ro
122c0 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a ot...$file);.}.}..return.false;.
122e0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 68 61 32 35 36 28 24 66 69 6c 65 29 }..public.function.sha256($file)
12300 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 64 29 20 7b 0a 24 66 69 6c 65 20 3d .{.if.($this->enabled).{.$file.=
12320 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 27 2e 24 74 68 69 73 2d 3e 77 68 69 74 65 .preg_replace('{[^'.$this->white
12340 6c 69 73 74 2e 27 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 66 69 6c 65 29 3b 0a 69 66 20 28 66 69 6c list.']}i',.'-',.$file);.if.(fil
12360 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 29 20 7b e_exists($this->root...$file)).{
12380 0a 72 65 74 75 72 6e 20 68 61 73 68 5f 66 69 6c 65 28 27 73 68 61 32 35 36 27 2c 20 24 74 68 69 .return.hash_file('sha256',.$thi
123a0 73 2d 3e 72 6f 6f 74 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 s->root...$file);.}.}..return.fa
123c0 6c 73 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 lse;.}..protected.function.getFi
123e0 6e 64 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 46 69 6e 64 65 72 3a 3a 63 72 65 61 74 65 28 29 nder().{.return.Finder::create()
12400 2d 3e 69 6e 28 24 74 68 69 73 2d 3e 72 6f 6f 74 29 2d 3e 66 69 6c 65 73 28 29 3b 0a 7d 0a 7d 0a ->in($this->root)->files();.}.}.
12420 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
12440 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ser\Command;..use.Symfony\Compon
12460 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 ent\Console\Input\InputInterface
12480 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
124a0 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 Output\OutputInterface;.....clas
124c0 73 20 41 62 6f 75 74 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 s.AboutCommand.extends.BaseComma
124e0 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 nd.{.protected.function.configur
12500 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 61 62 6f 75 74 27 29 0a 2d e().{.$this.->setName('about').-
12520 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 74 68 65 20 73 68 6f 72 74 >setDescription('Shows.the.short
12540 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 43 6f 6d 70 6f 73 65 72 2e 27 29 0a 2d .information.about.Composer.').-
12560 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f >setHelp(.<<<EOT.<info>php.compo
12580 73 65 72 2e 70 68 61 72 20 61 62 6f 75 74 3c 2f 69 6e 66 6f 3e 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a ser.phar.about</info>.EOT.).;.}.
125a0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 .protected.function.execute(Inpu
125c0 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 tInterface.$input,.OutputInterfa
125e0 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 ce.$output).{.$this->getIO()->wr
12600 69 74 65 28 0a 3c 3c 3c 45 4f 54 0a 3c 69 6e 66 6f 3e 43 6f 6d 70 6f 73 65 72 20 2d 20 44 65 70 ite(.<<<EOT.<info>Composer.-.Dep
12620 65 6e 64 65 6e 63 79 20 4d 61 6e 61 67 65 72 20 66 6f 72 20 50 48 50 3c 2f 69 6e 66 6f 3e 0a 3c endency.Manager.for.PHP</info>.<
12640 63 6f 6d 6d 65 6e 74 3e 43 6f 6d 70 6f 73 65 72 20 69 73 20 61 20 64 65 70 65 6e 64 65 6e 63 79 comment>Composer.is.a.dependency
12660 20 6d 61 6e 61 67 65 72 20 74 72 61 63 6b 69 6e 67 20 6c 6f 63 61 6c 20 64 65 70 65 6e 64 65 6e .manager.tracking.local.dependen
12680 63 69 65 73 20 6f 66 20 79 6f 75 72 20 70 72 6f 6a 65 63 74 73 20 61 6e 64 20 6c 69 62 72 61 72 cies.of.your.projects.and.librar
126a0 69 65 73 2e 0a 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 ies..See.https://getcomposer.org
126c0 2f 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 3c 2f 63 6f 6d 6d 65 6e 74 /.for.more.information.</comment
126e0 3e 0a 45 4f 54 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a >.EOT.);..return.0;.}.}.<?php...
12700 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d .........namespace.Composer\Comm
12720 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 and;..use.Composer\Factory;.use.
12740 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d Composer\IO\IOInterface;.use.Com
12760 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f poser\Config;.use.Composer\Compo
12780 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d ser;.use.Composer\Repository\Com
127a0 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 positeRepository;.use.Composer\R
127c0 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 epository\RepositoryFactory;.use
127e0 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3b 0a 75 .Composer\Script\ScriptEvents;.u
12800 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b se.Composer\Plugin\CommandEvent;
12820 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 .use.Composer\Plugin\PluginEvent
12840 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b s;.use.Composer\Util\Filesystem;
12860 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 .use.Symfony\Component\Console\I
12880 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c nput\InputArgument;.use.Symfony\
128a0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 Component\Console\Input\InputInt
128c0 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f erface;.use.Symfony\Component\Co
128e0 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d nsole\Input\InputOption;.use.Sym
12900 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 fony\Component\Console\Output\Ou
12920 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 63 68 69 tputInterface;.......class.Archi
12940 76 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a veCommand.extends.BaseCommand.{.
12960 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b protected.function.configure().{
12980 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 61 72 63 68 69 76 65 27 29 0a 2d 3e 73 65 .$this.->setName('archive').->se
129a0 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 43 72 65 61 74 65 73 20 61 6e 20 61 72 63 68 69 76 65 tDescription('Creates.an.archive
129c0 20 6f 66 20 74 68 69 73 20 63 6f 6d 70 6f 73 65 72 20 70 61 63 6b 61 67 65 2e 27 29 0a 2d 3e 73 .of.this.composer.package.').->s
129e0 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 etDefinition(array(.new.InputArg
12a00 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a ument('package',.InputArgument::
12a20 4f 50 54 49 4f 4e 41 4c 2c 20 27 54 68 65 20 70 61 63 6b 61 67 65 20 74 6f 20 61 72 63 68 69 76 OPTIONAL,.'The.package.to.archiv
12a40 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 e.instead.of.the.current.project
12a60 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 2c '),.new.InputArgument('version',
12a80 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 41 20 76 65 72 .InputArgument::OPTIONAL,.'A.ver
12aa0 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 74 6f 20 66 69 6e 64 20 74 68 65 20 70 61 63 6b sion.constraint.to.find.the.pack
12ac0 61 67 65 20 74 6f 20 61 72 63 68 69 76 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f age.to.archive'),.new.InputOptio
12ae0 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 66 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 n('format',.'f',.InputOption::VA
12b00 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 72 65 73 LUE_REQUIRED,.'Format.of.the.res
12b20 75 6c 74 69 6e 67 20 61 72 63 68 69 76 65 3a 20 74 61 72 20 6f 72 20 7a 69 70 27 29 2c 0a 6e 65 ulting.archive:.tar.or.zip'),.ne
12b40 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 69 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 w.InputOption('dir',.null,.Input
12b60 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 57 72 69 74 65 20 74 Option::VALUE_REQUIRED,.'Write.t
12b80 68 65 20 61 72 63 68 69 76 65 20 74 6f 20 74 68 69 73 20 64 69 72 65 63 74 6f 72 79 27 29 2c 0a he.archive.to.this.directory'),.
12ba0 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 69 6c 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e new.InputOption('file',.null,.In
12bc0 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 57 72 69 74 putOption::VALUE_REQUIRED,.'Writ
12be0 65 20 74 68 65 20 61 72 63 68 69 76 65 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e 20 66 69 6c e.the.archive.with.the.given.fil
12c00 65 20 6e 61 6d 65 2e 27 0a 2e 27 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 66 6f 72 6d 61 74 e.name.'..'.Note.that.the.format
12c20 20 77 69 6c 6c 20 62 65 20 61 70 70 65 6e 64 65 64 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f .will.be.appended.'),.new.InputO
12c40 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 66 69 6c 74 65 72 73 27 2c 20 66 61 6c 73 65 2c 20 49 ption('ignore-filters',.false,.I
12c60 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 67 6e 6f 72 65 20 nputOption::VALUE_NONE,.'Ignore.
12c80 66 69 6c 74 65 72 73 20 77 68 65 6e 20 73 61 76 69 6e 67 20 70 61 63 6b 61 67 65 27 29 2c 0a 29 filters.when.saving.package'),.)
12ca0 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 61 72 ).->setHelp(.<<<EOT.The.<info>ar
12cc0 63 68 69 76 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 63 72 65 61 74 65 73 20 61 6e 20 chive</info>.command.creates.an.
12ce0 61 72 63 68 69 76 65 20 6f 66 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 66 6f 72 6d 61 74 0a archive.of.the.specified.format.
12d00 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 66 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f containing.the.files.and.directo
12d20 72 69 65 73 20 6f 66 20 74 68 65 20 43 6f 6d 70 6f 73 65 72 20 70 72 6f 6a 65 63 74 20 6f 72 20 ries.of.the.Composer.project.or.
12d40 74 68 65 20 73 70 65 63 69 66 69 65 64 0a 70 61 63 6b 61 67 65 20 69 6e 20 74 68 65 20 73 70 65 the.specified.package.in.the.spe
12d60 63 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 61 6e 64 20 77 72 69 74 65 73 20 69 74 20 74 6f 20 cified.version.and.writes.it.to.
12d80 74 68 65 20 73 70 65 63 69 66 69 65 64 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 3c 69 6e 66 6f 3e the.specified.directory...<info>
12da0 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 61 72 63 68 69 76 65 20 5b 2d 2d 66 6f 72 php.composer.phar.archive.[--for
12dc0 6d 61 74 3d 7a 69 70 5d 20 5b 2d 2d 64 69 72 3d 2f 66 6f 6f 5d 20 5b 70 61 63 6b 61 67 65 20 5b mat=zip].[--dir=/foo].[package.[
12de0 76 65 72 73 69 6f 6e 5d 5d 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 version]]</info>..Read.more.at.h
12e00 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c ttps://getcomposer.org/doc/03-cl
12e20 69 2e 6d 64 23 61 72 63 68 69 76 65 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 i.md#archive.EOT.).;.}..protecte
12e40 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 d.function.execute(InputInterfac
12e60 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 e.$input,.OutputInterface.$outpu
12e80 74 29 0a 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f t).{.$config.=.Factory::createCo
12ea0 6e 66 69 67 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f nfig();.$composer.=.$this->getCo
12ec0 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 3b 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a mposer(false);.if.($composer).{.
12ee0 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 $commandEvent.=.new.CommandEvent
12f00 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 61 72 63 68 69 76 65 (PluginEvents::COMMAND,.'archive
12f20 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 65 76 65 6e 74 44 69 73 70 61 ',.$input,.$output);.$eventDispa
12f40 74 63 68 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 tcher.=.$composer->getEventDispa
12f60 74 63 68 65 72 28 29 3b 0a 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 tcher();.$eventDispatcher->dispa
12f80 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 tch($commandEvent->getName(),.$c
12fa0 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e ommandEvent);.$eventDispatcher->
12fc0 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 dispatchScript(ScriptEvents::PRE
12fe0 5f 41 52 43 48 49 56 45 5f 43 4d 44 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 _ARCHIVE_CMD);.}..if.(null.===.$
13000 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 29 20 7b 0a 24 69 input->getOption('format')).{.$i
13020 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 24 63 6f 6e 66 69 nput->setOption('format',.$confi
13040 67 2d 3e 67 65 74 28 27 61 72 63 68 69 76 65 2d 66 6f 72 6d 61 74 27 29 29 3b 0a 7d 0a 69 66 20 g->get('archive-format'));.}.if.
13060 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 69 72 (null.===.$input->getOption('dir
13080 27 29 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 64 69 72 27 2c 20 24 ')).{.$input->setOption('dir',.$
130a0 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 72 63 68 69 76 65 2d 64 69 72 27 29 29 3b 0a 7d 0a 0a config->get('archive-dir'));.}..
130c0 24 72 65 74 75 72 6e 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 28 0a 24 74 $returnCode.=.$this->archive(.$t
130e0 68 69 73 2d 3e 67 65 74 49 4f 28 29 2c 0a 24 63 6f 6e 66 69 67 2c 0a 24 69 6e 70 75 74 2d 3e 67 his->getIO(),.$config,.$input->g
13100 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 etArgument('package'),.$input->g
13120 65 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 etArgument('version'),.$input->g
13140 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f etOption('format'),.$input->getO
13160 70 74 69 6f 6e 28 27 64 69 72 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 ption('dir'),.$input->getOption(
13180 27 66 69 6c 65 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 'file'),.$input->getOption('igno
131a0 72 65 2d 66 69 6c 74 65 72 73 27 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 0a 29 3b 0a 0a 69 66 20 28 re-filters'),.$composer.);..if.(
131c0 30 20 3d 3d 3d 20 24 72 65 74 75 72 6e 43 6f 64 65 20 26 26 20 24 63 6f 6d 70 6f 73 65 72 29 20 0.===.$returnCode.&&.$composer).
131e0 7b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 {.$composer->getEventDispatcher(
13200 29 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a )->dispatchScript(ScriptEvents::
13220 50 4f 53 54 5f 41 52 43 48 49 56 45 5f 43 4d 44 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 POST_ARCHIVE_CMD);.}..return.$re
13240 74 75 72 6e 43 6f 64 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 turnCode;.}..protected.function.
13260 61 72 63 68 69 76 65 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 archive(IOInterface.$io,.Config.
13280 24 63 6f 6e 66 69 67 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 6e 75 6c 6c 2c 20 24 76 $config,.$packageName.=.null,.$v
132a0 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 66 6f 72 6d 61 74 20 3d 20 27 74 61 72 27 2c 20 ersion.=.null,.$format.=.'tar',.
132c0 24 64 65 73 74 20 3d 20 27 2e 27 2c 20 24 66 69 6c 65 4e 61 6d 65 20 3d 20 6e 75 6c 6c 2c 20 24 $dest.=.'.',.$fileName.=.null,.$
132e0 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 2c 20 43 6f 6d 70 6f 73 65 72 20 ignoreFilters.=.false,.Composer.
13300 24 63 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 $composer.=.null).{.if.($compose
13320 72 29 20 7b 0a 24 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 r).{.$archiveManager.=.$composer
13340 2d 3e 67 65 74 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a ->getArchiveManager();.}.else.{.
13360 24 66 61 63 74 6f 72 79 20 3d 20 6e 65 77 20 46 61 63 74 6f 72 79 3b 0a 24 64 6f 77 6e 6c 6f 61 $factory.=.new.Factory;.$downloa
13380 64 4d 61 6e 61 67 65 72 20 3d 20 24 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 44 6f 77 6e 6c dManager.=.$factory->createDownl
133a0 6f 61 64 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 61 72 63 68 69 oadManager($io,.$config);.$archi
133c0 76 65 4d 61 6e 61 67 65 72 20 3d 20 24 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 41 72 63 68 veManager.=.$factory->createArch
133e0 69 76 65 4d 61 6e 61 67 65 72 28 24 63 6f 6e 66 69 67 2c 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e iveManager($config,.$downloadMan
13400 61 67 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 7b 0a 24 70 ager);.}..if.($packageName).{.$p
13420 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 73 65 6c 65 63 74 50 61 63 6b 61 67 65 28 24 69 ackage.=.$this->selectPackage($i
13440 6f 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 0a 69 66 20 o,.$packageName,.$version);..if.
13460 28 21 24 70 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 7d 20 65 6c 73 65 (!$package).{.return.1;.}.}.else
13480 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 .{.$package.=.$this->getComposer
134a0 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 ()->getPackage();.}..$io->writeE
134c0 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 43 72 65 61 74 69 6e 67 20 74 68 65 20 61 72 63 68 69 76 65 rror('<info>Creating.the.archive
134e0 20 69 6e 74 6f 20 22 27 2e 24 64 65 73 74 2e 27 22 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 24 70 61 .into."'.$dest.'".</info>');.$pa
13500 63 6b 61 67 65 50 61 74 68 20 3d 20 24 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 2d 3e 61 72 63 ckagePath.=.$archiveManager->arc
13520 68 69 76 65 28 24 70 61 63 6b 61 67 65 2c 20 24 66 6f 72 6d 61 74 2c 20 24 64 65 73 74 2c 20 24 hive($package,.$format,.$dest,.$
13540 66 69 6c 65 4e 61 6d 65 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 29 3b 0a 24 66 73 20 3d fileName,.$ignoreFilters);.$fs.=
13560 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 3b 0a 24 73 68 6f 72 74 50 61 74 68 20 3d 20 24 66 .new.Filesystem;.$shortPath.=.$f
13580 73 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 67 65 74 63 77 64 28 29 2c 20 24 70 s->findShortestPath(getcwd(),.$p
135a0 61 63 6b 61 67 65 50 61 74 68 2c 20 74 72 75 65 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 ackagePath,.true);..$io->writeEr
135c0 72 6f 72 28 27 43 72 65 61 74 65 64 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 69 6f 2d 3e 77 72 ror('Created:.',.false);.$io->wr
135e0 69 74 65 28 73 74 72 6c 65 6e 28 24 73 68 6f 72 74 50 61 74 68 29 20 3c 20 73 74 72 6c 65 6e 28 ite(strlen($shortPath).<.strlen(
13600 24 70 61 63 6b 61 67 65 50 61 74 68 29 20 3f 20 24 73 68 6f 72 74 50 61 74 68 20 3a 20 24 70 61 $packagePath).?.$shortPath.:.$pa
13620 63 6b 61 67 65 50 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 70 72 6f 74 65 63 ckagePath);..return.0;.}..protec
13640 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 50 61 63 6b 61 67 65 28 49 4f 49 6e 74 ted.function.selectPackage(IOInt
13660 65 72 66 61 63 65 20 24 69 6f 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 65 72 73 69 erface.$io,.$packageName,.$versi
13680 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 on.=.null).{.$io->writeError('<i
136a0 6e 66 6f 3e 53 65 61 72 63 68 69 6e 67 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 nfo>Searching.for.the.specified.
136c0 70 61 63 6b 61 67 65 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 package.</info>');..if.($compose
136e0 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 29 20 7b r.=.$this->getComposer(false)).{
13700 0a 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f .$localRepo.=.$composer->getRepo
13720 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 sitoryManager()->getLocalReposit
13740 6f 72 79 28 29 3b 0a 24 72 65 70 6f 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f ory();.$repo.=.new.CompositeRepo
13760 73 69 74 6f 72 79 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 6c 6f 63 61 6c 52 sitory(array_merge(array($localR
13780 65 70 6f 29 2c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 epo),.$composer->getRepositoryMa
137a0 6e 61 67 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 29 29 3b 0a 7d 20 nager()->getRepositories()));.}.
137c0 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 52 65 70 6f 73 20 3d 20 52 65 70 6f 73 69 74 6f 72 else.{.$defaultRepos.=.Repositor
137e0 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 74 68 69 73 2d 3e 67 65 yFactory::defaultRepos($this->ge
13800 74 49 4f 28 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 63 6f 6d 70 tIO());.$io->writeError('No.comp
13820 6f 73 65 72 2e 6a 73 6f 6e 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 oser.json.found.in.the.current.d
13840 69 72 65 63 74 6f 72 79 2c 20 73 65 61 72 63 68 69 6e 67 20 70 61 63 6b 61 67 65 73 20 66 72 6f irectory,.searching.packages.fro
13860 6d 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 m.'...implode(',.',.array_keys($
13880 64 65 66 61 75 6c 74 52 65 70 6f 73 29 29 29 3b 0a 24 72 65 70 6f 20 3d 20 6e 65 77 20 43 6f 6d defaultRepos)));.$repo.=.new.Com
138a0 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 64 65 66 61 75 6c 74 52 65 70 6f 73 29 3b positeRepository($defaultRepos);
138c0 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 72 65 70 6f 2d 3e 66 69 6e 64 50 61 63 6b 61 .}..$packages.=.$repo->findPacka
138e0 67 65 73 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 0a 69 66 ges($packageName,.$version);..if
13900 20 28 63 6f 75 6e 74 28 24 70 61 63 6b 61 67 65 73 29 20 3e 20 31 29 20 7b 0a 24 70 61 63 6b 61 .(count($packages).>.1).{.$packa
13920 67 65 20 3d 20 72 65 73 65 74 28 24 70 61 63 6b 61 67 65 73 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 ge.=.reset($packages);.$io->writ
13940 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 46 6f 75 6e 64 20 6d 75 6c 74 69 70 6c 65 20 6d 61 74 eError('<info>Found.multiple.mat
13960 63 68 65 73 2c 20 73 65 6c 65 63 74 65 64 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 ches,.selected.'.$package->getPr
13980 65 74 74 79 53 74 72 69 6e 67 28 29 2e 27 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 24 69 6f 2d 3e 77 ettyString().'.</info>');.$io->w
139a0 72 69 74 65 45 72 72 6f 72 28 27 41 6c 74 65 72 6e 61 74 69 76 65 73 20 77 65 72 65 20 27 2e 69 riteError('Alternatives.were.'.i
139c0 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 mplode(',.',.array_map(function.
139e0 28 24 70 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e ($p).{.return.$p->getPrettyStrin
13a00 67 28 29 3b 0a 7d 2c 20 24 70 61 63 6b 61 67 65 73 29 29 2e 27 2e 27 29 3b 0a 24 69 6f 2d 3e 77 g();.},.$packages)).'.');.$io->w
13a20 72 69 74 65 45 72 72 6f 72 28 27 3c 63 6f 6d 6d 65 6e 74 3e 50 6c 65 61 73 65 20 75 73 65 20 61 riteError('<comment>Please.use.a
13a40 20 6d 6f 72 65 20 73 70 65 63 69 66 69 63 20 63 6f 6e 73 74 72 61 69 6e 74 20 74 6f 20 70 69 63 .more.specific.constraint.to.pic
13a60 6b 20 61 20 64 69 66 66 65 72 65 6e 74 20 70 61 63 6b 61 67 65 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e k.a.different.package.</comment>
13a80 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 24 70 61 63 6b ');.}.elseif.($packages).{.$pack
13aa0 61 67 65 20 3d 20 72 65 73 65 74 28 24 70 61 63 6b 61 67 65 73 29 3b 0a 24 69 6f 2d 3e 77 72 69 age.=.reset($packages);.$io->wri
13ac0 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 46 6f 75 6e 64 20 61 6e 20 65 78 61 63 74 20 6d 61 teError('<info>Found.an.exact.ma
13ae0 74 63 68 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 tch.'.$package->getPrettyString(
13b00 29 2e 27 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 ).'.</info>');.}.else.{.$io->wri
13b20 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 teError('<error>Could.not.find.a
13b40 20 70 61 63 6b 61 67 65 20 6d 61 74 63 68 69 6e 67 20 27 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 .package.matching.'.$packageName
13b60 2e 27 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a .'.</error>');..return.false;.}.
13b80 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a .return.$package;.}.}.<?php.....
13ba0 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e .......namespace.Composer\Comman
13bc0 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 d;..use.Composer\Composer;.use.C
13be0 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e omposer\Config;.use.Composer\Con
13c00 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 sole\Application;.use.Composer\F
13c20 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 actory;.use.Composer\IO\IOInterf
13c40 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 4e 75 6c 6c 49 4f 3b 0a 75 73 65 ace;.use.Composer\IO\NullIO;.use
13c60 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 72 65 43 6f 6d 6d 61 6e 64 52 75 6e 45 76 .Composer\Plugin\PreCommandRunEv
13c80 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 ent;.use.Composer\Plugin\PluginE
13ca0 76 65 6e 74 73 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e vents;.use.Symfony\Component\Con
13cc0 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 sole\Input\InputInterface;.use.S
13ce0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c ymfony\Component\Console\Output\
13d00 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d OutputInterface;.use.Symfony\Com
13d20 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a ponent\Console\Command\Command;.
13d40 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 42 61 73 65 43 6f 6d 6d 61 6e .......abstract.class.BaseComman
13d60 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 d.extends.Command.{....private.$
13d80 63 6f 6d 70 6f 73 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 0a composer;.....private.$io;......
13da0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 28 24 72 ..public.function.getComposer($r
13dc0 65 71 75 69 72 65 64 20 3d 20 74 72 75 65 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 equired.=.true,.$disablePlugins.
13de0 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 6f =.null).{.if.(null.===.$this->co
13e00 6d 70 6f 73 65 72 29 20 7b 0a 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e mposer).{.$application.=.$this->
13e20 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 69 66 20 28 24 61 70 70 6c 69 63 61 74 69 getApplication();.if.($applicati
13e40 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 70 70 6c 69 63 61 74 69 6f 6e 29 20 7b 0a 0a 24 74 on.instanceof.Application).{..$t
13e60 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 his->composer.=.$application->ge
13e80 74 43 6f 6d 70 6f 73 65 72 28 24 72 65 71 75 69 72 65 64 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 tComposer($required,.$disablePlu
13ea0 67 69 6e 73 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 72 65 71 75 69 72 65 64 29 20 7b 0a 74 68 gins);.}.elseif.($required).{.th
13ec0 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 43 6f 75 6c row.new.\RuntimeException(.'Coul
13ee0 64 20 6e 6f 74 20 63 72 65 61 74 65 20 61 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 d.not.create.a.Composer\Composer
13f00 20 69 6e 73 74 61 6e 63 65 2c 20 79 6f 75 20 6d 75 73 74 20 69 6e 6a 65 63 74 20 27 2e 0a 27 6f .instance,.you.must.inject.'..'o
13f20 6e 65 20 69 66 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6e 6f 74 20 75 73 65 64 20 77 ne.if.this.command.is.not.used.w
13f40 69 74 68 20 61 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 ith.a.Composer\Console\Applicati
13f60 6f 6e 20 69 6e 73 74 61 6e 63 65 27 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 on.instance'.);.}.}..return.$thi
13f80 73 2d 3e 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 s->composer;.}.....public.functi
13fa0 6f 6e 20 73 65 74 43 6f 6d 70 6f 73 65 72 28 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 on.setComposer(Composer.$compose
13fc0 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 r).{.$this->composer.=.$composer
13fe0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 43 6f 6d ;.}.....public.function.resetCom
14000 70 6f 73 65 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c poser().{.$this->composer.=.null
14020 3b 0a 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 72 65 73 65 74 ;.$this->getApplication()->reset
14040 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e Composer();.}.........public.fun
14060 63 74 69 6f 6e 20 69 73 50 72 6f 78 79 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 ction.isProxyCommand().{.return.
14080 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 false;.}.....public.function.get
140a0 49 4f 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 6f 29 20 7b IO().{.if.(null.===.$this->io).{
140c0 0a 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 .$application.=.$this->getApplic
140e0 61 74 69 6f 6e 28 29 3b 0a 69 66 20 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 6e 73 74 61 6e ation();.if.($application.instan
14100 63 65 6f 66 20 41 70 70 6c 69 63 61 74 69 6f 6e 29 20 7b 0a 0a 24 74 68 69 73 2d 3e 69 6f 20 3d ceof.Application).{..$this->io.=
14120 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 49 4f 28 29 3b 0a 7d 20 65 6c 73 65 20 7b .$application->getIO();.}.else.{
14140 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 6e 65 77 20 4e 75 6c 6c 49 4f 28 29 3b 0a 7d 0a 7d 0a 0a .$this->io.=.new.NullIO();.}.}..
14160 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 return.$this->io;.}.....public.f
14180 75 6e 63 74 69 6f 6e 20 73 65 74 49 4f 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b unction.setIO(IOInterface.$io).{
141a0 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 .$this->io.=.$io;.}.....protecte
141c0 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 49 6e 70 75 74 49 6e 74 65 72 d.function.initialize(InputInter
141e0 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 face.$input,.OutputInterface.$ou
14200 74 70 75 74 29 0a 7b 0a 0a 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 24 69 6e 70 tput).{...$disablePlugins.=.$inp
14220 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 70 6c 75 ut->hasParameterOption('--no-plu
14240 67 69 6e 73 27 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f gins');.$composer.=.$this->getCo
14260 6d 70 6f 73 65 72 28 66 61 6c 73 65 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a mposer(false,.$disablePlugins);.
14280 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6d 70 6f if.(null.===.$composer).{.$compo
142a0 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 47 6c 6f 62 61 6c 28 24 74 68 69 ser.=.Factory::createGlobal($thi
142c0 73 2d 3e 67 65 74 49 4f 28 29 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 7d 0a s->getIO(),.$disablePlugins);.}.
142e0 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 70 72 65 43 6f 6d 6d 61 6e 64 52 75 6e 45 if.($composer).{.$preCommandRunE
14300 76 65 6e 74 20 3d 20 6e 65 77 20 50 72 65 43 6f 6d 6d 61 6e 64 52 75 6e 45 76 65 6e 74 28 50 6c vent.=.new.PreCommandRunEvent(Pl
14320 75 67 69 6e 45 76 65 6e 74 73 3a 3a 50 52 45 5f 43 4f 4d 4d 41 4e 44 5f 52 55 4e 2c 20 24 69 6e uginEvents::PRE_COMMAND_RUN,.$in
14340 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 24 63 6f 6d 70 6f 73 65 put,.$this->getName());.$compose
14360 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 r->getEventDispatcher()->dispatc
14380 68 28 24 70 72 65 43 6f 6d 6d 61 6e 64 52 75 6e 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 h($preCommandRunEvent->getName()
143a0 2c 20 24 70 72 65 43 6f 6d 6d 61 6e 64 52 75 6e 45 76 65 6e 74 29 3b 0a 7d 0a 0a 69 66 20 28 74 ,.$preCommandRunEvent);.}..if.(t
143c0 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 rue.===.$input->hasParameterOpti
143e0 6f 6e 28 61 72 72 61 79 28 27 2d 2d 6e 6f 2d 61 6e 73 69 27 29 29 20 26 26 20 24 69 6e 70 75 74 on(array('--no-ansi')).&&.$input
14400 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 20 7b 0a 24 69 ->hasOption('no-progress')).{.$i
14420 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 2c 20 74 nput->setOption('no-progress',.t
14440 72 75 65 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 24 69 6e 70 rue);.}..parent::initialize($inp
14460 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 ut,.$output);.}...........protec
14480 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 65 72 72 65 64 49 6e 73 74 61 6c 6c ted.function.getPreferredInstall
144a0 4f 70 74 69 6f 6e 73 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 49 6e 70 75 74 49 6e 74 Options(Config.$config,.InputInt
144c0 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 24 6b 65 65 70 56 63 73 52 65 71 75 69 72 65 73 50 erface.$input,.$keepVcsRequiresP
144e0 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 72 65 66 65 72 53 6f referSource.=.false).{.$preferSo
14500 75 72 63 65 20 3d 20 66 61 6c 73 65 3b 0a 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c 73 urce.=.false;.$preferDist.=.fals
14520 65 3b 0a 0a 73 77 69 74 63 68 20 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 72 65 66 65 72 e;..switch.($config->get('prefer
14540 72 65 64 2d 69 6e 73 74 61 6c 6c 27 29 29 20 7b 0a 63 61 73 65 20 27 73 6f 75 72 63 65 27 3a 0a red-install')).{.case.'source':.
14560 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 $preferSource.=.true;.break;.cas
14580 65 20 27 64 69 73 74 27 3a 0a 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 74 72 75 65 3b 0a 62 72 e.'dist':.$preferDist.=.true;.br
145a0 65 61 6b 3b 0a 63 61 73 65 20 27 61 75 74 6f 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 0a 20 62 72 65 eak;.case.'auto':.default:...bre
145c0 61 6b 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 ak;.}..if.($input->getOption('pr
145e0 65 66 65 72 2d 73 6f 75 72 63 65 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 efer-source').||.$input->getOpti
14600 6f 6e 28 27 70 72 65 66 65 72 2d 64 69 73 74 27 29 20 7c 7c 20 28 24 6b 65 65 70 56 63 73 52 65 on('prefer-dist').||.($keepVcsRe
14620 71 75 69 72 65 73 50 72 65 66 65 72 53 6f 75 72 63 65 20 26 26 20 24 69 6e 70 75 74 2d 3e 68 61 quiresPreferSource.&&.$input->ha
14640 73 4f 70 74 69 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 29 20 26 26 20 24 69 6e 70 75 74 2d 3e 67 sOption('keep-vcs').&&.$input->g
14660 65 74 4f 70 74 69 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 29 29 29 20 7b 0a 24 70 72 65 66 65 72 etOption('keep-vcs'))).{.$prefer
14680 53 6f 75 72 63 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 Source.=.$input->getOption('pref
146a0 65 72 2d 73 6f 75 72 63 65 27 29 20 7c 7c 20 28 24 6b 65 65 70 56 63 73 52 65 71 75 69 72 65 73 er-source').||.($keepVcsRequires
146c0 50 72 65 66 65 72 53 6f 75 72 63 65 20 26 26 20 24 69 6e 70 75 74 2d 3e 68 61 73 4f 70 74 69 6f PreferSource.&&.$input->hasOptio
146e0 6e 28 27 6b 65 65 70 2d 76 63 73 27 29 20 26 26 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 n('keep-vcs').&&.$input->getOpti
14700 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 29 29 3b 0a 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 24 on('keep-vcs'));.$preferDist.=.$
14720 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 64 69 73 74 27 29 3b input->getOption('prefer-dist');
14740 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 2c 20 .}..return.array($preferSource,.
14760 24 70 72 65 66 65 72 44 69 73 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a $preferDist);.}.}.<?php.........
14780 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a ...namespace.Composer\Command;..
147a0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c use.Composer\DependencyResolver\
147c0 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b Pool;.use.Composer\Package\Link;
147e0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 .use.Composer\Package\PackageInt
14800 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c erface;.use.Composer\Repository\
14820 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 ArrayRepository;.use.Composer\Re
14840 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 pository\CompositeRepository;.us
14860 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 e.Composer\Repository\PlatformRe
14880 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 pository;.use.Composer\Repositor
148a0 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 y\RepositoryFactory;.use.Compose
148c0 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f r\Plugin\CommandEvent;.use.Compo
148e0 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 53 79 6d ser\Plugin\PluginEvents;.use.Sym
14900 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 fony\Component\Console\Formatter
14920 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f \OutputFormatterStyle;.use.Compo
14940 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 ser\Package\Version\VersionParse
14960 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 r;.use.Symfony\Component\Console
14980 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f \Helper\Table;.use.Symfony\Compo
149a0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 nent\Console\Input\InputArgument
149c0 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
149e0 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e Input\InputInterface;.use.Symfon
14a00 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f y\Component\Console\Input\InputO
14a20 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ption;.use.Symfony\Component\Con
14a40 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a sole\Output\OutputInterface;....
14a60 0a 0a 0a 63 6c 61 73 73 20 42 61 73 65 44 65 70 65 6e 64 65 6e 63 79 43 6f 6d 6d 61 6e 64 20 65 ...class.BaseDependencyCommand.e
14a80 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 63 6f 6e 73 74 20 41 52 47 55 4d xtends.BaseCommand.{.const.ARGUM
14aa0 45 4e 54 5f 50 41 43 4b 41 47 45 20 3d 20 27 70 61 63 6b 61 67 65 27 3b 0a 63 6f 6e 73 74 20 41 ENT_PACKAGE.=.'package';.const.A
14ac0 52 47 55 4d 45 4e 54 5f 43 4f 4e 53 54 52 41 49 4e 54 20 3d 20 27 63 6f 6e 73 74 72 61 69 6e 74 RGUMENT_CONSTRAINT.=.'constraint
14ae0 27 3b 0a 63 6f 6e 73 74 20 4f 50 54 49 4f 4e 5f 52 45 43 55 52 53 49 56 45 20 3d 20 27 72 65 63 ';.const.OPTION_RECURSIVE.=.'rec
14b00 75 72 73 69 76 65 27 3b 0a 63 6f 6e 73 74 20 4f 50 54 49 4f 4e 5f 54 52 45 45 20 3d 20 27 74 72 ursive';.const.OPTION_TREE.=.'tr
14b20 65 65 27 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6c 6f 72 73 3b 0a 0a 0a 0a 0a 70 72 6f ee';..protected.$colors;.....pro
14b40 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 tected.function.configure().{.$t
14b60 68 69 73 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e his->setDefinition(array(.new.In
14b80 70 75 74 41 72 67 75 6d 65 6e 74 28 73 65 6c 66 3a 3a 41 52 47 55 4d 45 4e 54 5f 50 41 43 4b 41 putArgument(self::ARGUMENT_PACKA
14ba0 47 45 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c 20 27 50 61 GE,.InputArgument::REQUIRED,.'Pa
14bc0 63 6b 61 67 65 20 74 6f 20 69 6e 73 70 65 63 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 ckage.to.inspect'),.new.InputArg
14be0 75 6d 65 6e 74 28 73 65 6c 66 3a 3a 41 52 47 55 4d 45 4e 54 5f 43 4f 4e 53 54 52 41 49 4e 54 2c ument(self::ARGUMENT_CONSTRAINT,
14c00 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 4f 70 74 69 6f .InputArgument::OPTIONAL,.'Optio
14c20 6e 61 6c 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 27 2c 20 27 2a 27 29 2c 0a 6e nal.version.constraint',.'*'),.n
14c40 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 4f 50 54 49 4f 4e 5f 52 45 43 55 ew.InputOption(self::OPTION_RECU
14c60 52 53 49 56 45 2c 20 27 72 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e RSIVE,.'r',.InputOption::VALUE_N
14c80 4f 4e 45 2c 20 27 52 65 63 75 72 73 69 76 65 6c 79 20 72 65 73 6f 6c 76 65 73 20 75 70 20 74 6f ONE,.'Recursively.resolves.up.to
14ca0 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 .the.root.package'),.new.InputOp
14cc0 74 69 6f 6e 28 73 65 6c 66 3a 3a 4f 50 54 49 4f 4e 5f 54 52 45 45 2c 20 27 74 27 2c 20 49 6e 70 tion(self::OPTION_TREE,.'t',.Inp
14ce0 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 69 6e 74 73 20 74 68 utOption::VALUE_NONE,.'Prints.th
14d00 65 20 72 65 73 75 6c 74 73 20 61 73 20 61 20 6e 65 73 74 65 64 20 74 72 65 65 27 29 2c 0a 29 29 e.results.as.a.nested.tree'),.))
14d20 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 ;.}..........protected.function.
14d40 64 6f 45 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c doExecute(InputInterface.$input,
14d60 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 69 6e 76 65 72 .OutputInterface.$output,.$inver
14d80 74 65 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 ted.=.false).{...$composer.=.$th
14da0 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 is->getComposer();.$commandEvent
14dc0 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 .=.new.CommandEvent(PluginEvents
14de0 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 69 6e ::COMMAND,.$this->getName(),.$in
14e00 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 put,.$output);.$composer->getEve
14e20 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e ntDispatcher()->dispatch($comman
14e40 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 dEvent->getName(),.$commandEvent
14e60 29 3b 0a 0a 0a 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 3d 20 24 63 6f 6d 70 );....$platformOverrides.=.$comp
14e80 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 6d oser->getConfig()->get('platform
14ea0 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 24 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 65 77 ').?:.array();.$repository.=.new
14ec0 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 0a 6e 65 77 20 .CompositeRepository(array(.new.
14ee0 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 24 63 6f 6d 70 6f 73 65 72 2d ArrayRepository(array($composer-
14f00 3e 67 65 74 50 61 63 6b 61 67 65 28 29 29 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 >getPackage())),.$composer->getR
14f20 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f epositoryManager()->getLocalRepo
14f40 73 69 74 6f 72 79 28 29 2c 0a 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 sitory(),.new.PlatformRepository
14f60 28 61 72 72 61 79 28 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 2c 0a 29 (array(),.$platformOverrides),.)
14f80 29 3b 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 );.$pool.=.new.Pool();.$pool->ad
14fa0 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 0a 0a 20 6c 69 73 dRepository($repository);....lis
14fc0 74 28 24 6e 65 65 64 6c 65 2c 20 24 74 65 78 74 43 6f 6e 73 74 72 61 69 6e 74 29 20 3d 20 61 72 t($needle,.$textConstraint).=.ar
14fe0 72 61 79 5f 70 61 64 28 0a 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 69 6e 70 75 74 2d 3e 67 65 ray_pad(.explode(':',.$input->ge
15000 74 41 72 67 75 6d 65 6e 74 28 73 65 6c 66 3a 3a 41 52 47 55 4d 45 4e 54 5f 50 41 43 4b 41 47 45 tArgument(self::ARGUMENT_PACKAGE
15020 29 29 2c 0a 32 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 73 65 6c 66 3a )),.2,.$input->getArgument(self:
15040 3a 41 52 47 55 4d 45 4e 54 5f 43 4f 4e 53 54 52 41 49 4e 54 29 0a 29 3b 0a 0a 0a 20 24 70 61 63 :ARGUMENT_CONSTRAINT).);....$pac
15060 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 73 74 72 74 kages.=.$pool->whatProvides(strt
15080 6f 6c 6f 77 65 72 28 24 6e 65 65 64 6c 65 29 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 70 61 63 olower($needle));.if.(empty($pac
150a0 6b 61 67 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 kages)).{.throw.new.\InvalidArgu
150c0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 75 6c 64 20 6e 6f 74 mentException(sprintf('Could.not
150e0 20 66 69 6e 64 20 70 61 63 6b 61 67 65 20 22 25 73 22 20 69 6e 20 79 6f 75 72 20 70 72 6f 6a 65 .find.package."%s".in.your.proje
15100 63 74 27 2c 20 24 6e 65 65 64 6c 65 29 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 21 24 72 65 70 ct',.$needle));.}......if.(!$rep
15120 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 65 65 64 6c 65 2c 20 24 74 ository->findPackage($needle,.$t
15140 65 78 74 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 52 65 70 6f 73 20 extConstraint)).{.$defaultRepos.
15160 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 =.new.CompositeRepository(Reposi
15180 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 74 68 69 73 2d toryFactory::defaultRepos($this-
151a0 3e 67 65 74 49 4f 28 29 29 29 3b 0a 69 66 20 28 24 6d 61 74 63 68 20 3d 20 24 64 65 66 61 75 6c >getIO()));.if.($match.=.$defaul
151c0 74 52 65 70 6f 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 65 65 64 6c 65 2c 20 24 74 65 tRepos->findPackage($needle,.$te
151e0 78 74 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 61 64 xtConstraint)).{.$repository->ad
15200 64 52 65 70 6f 73 69 74 6f 72 79 28 6e 65 77 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 dRepository(new.ArrayRepository(
15220 61 72 72 61 79 28 63 6c 6f 6e 65 20 24 6d 61 74 63 68 29 29 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 6e array(clone.$match)));.}.}....$n
15240 65 65 64 6c 65 73 20 3d 20 61 72 72 61 79 28 24 6e 65 65 64 6c 65 29 3b 0a 69 66 20 28 24 69 6e eedles.=.array($needle);.if.($in
15260 76 65 72 74 65 64 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 verted).{.foreach.($packages.as.
15280 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 6e 65 65 64 6c 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 $package).{.$needles.=.array_mer
152a0 67 65 28 24 6e 65 65 64 6c 65 73 2c 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 ge($needles,.array_map(function.
152c0 28 4c 69 6e 6b 20 24 6c 69 6e 6b 29 20 7b 0a 72 65 74 75 72 6e 20 24 6c 69 6e 6b 2d 3e 67 65 74 (Link.$link).{.return.$link->get
152e0 54 61 72 67 65 74 28 29 3b 0a 7d 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 Target();.},.$package->getReplac
15300 65 73 28 29 29 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 27 2a 27 20 21 3d 3d 20 24 74 65 78 74 es()));.}.}....if.('*'.!==.$text
15320 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e Constraint).{.$versionParser.=.n
15340 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 ew.VersionParser();.$constraint.
15360 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e =.$versionParser->parseConstrain
15380 74 73 28 24 74 65 78 74 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 ts($textConstraint);.}.else.{.$c
153a0 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 20 24 72 65 6e 64 65 72 54 72 onstraint.=.null;.}....$renderTr
153c0 65 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 4f 50 54 ee.=.$input->getOption(self::OPT
153e0 49 4f 4e 5f 54 52 45 45 29 3b 0a 24 72 65 63 75 72 73 69 76 65 20 3d 20 24 72 65 6e 64 65 72 54 ION_TREE);.$recursive.=.$renderT
15400 72 65 65 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 4f ree.||.$input->getOption(self::O
15420 50 54 49 4f 4e 5f 52 45 43 55 52 53 49 56 45 29 3b 0a 0a 0a 20 24 72 65 73 75 6c 74 73 20 3d 20 PTION_RECURSIVE);....$results.=.
15440 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 44 65 70 65 6e 64 65 6e 74 73 28 24 6e 65 65 64 $repository->getDependents($need
15460 6c 65 73 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 69 6e 76 65 72 74 65 64 2c 20 24 72 65 les,.$constraint,.$inverted,.$re
15480 63 75 72 73 69 76 65 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 72 65 73 75 6c 74 73 29 29 20 7b cursive);.if.(empty($results)).{
154a0 0a 24 65 78 74 72 61 20 3d 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 .$extra.=.(null.!==.$constraint)
154c0 20 3f 20 73 70 72 69 6e 74 66 28 27 20 69 6e 20 76 65 72 73 69 6f 6e 73 20 25 73 6d 61 74 63 68 .?.sprintf('.in.versions.%smatch
154e0 69 6e 67 20 25 73 27 2c 20 24 69 6e 76 65 72 74 65 64 20 3f 20 27 6e 6f 74 20 27 20 3a 20 27 27 ing.%s',.$inverted.?.'not.'.:.''
15500 2c 20 24 74 65 78 74 43 6f 6e 73 74 72 61 69 6e 74 29 20 3a 20 27 27 3b 0a 24 74 68 69 73 2d 3e ,.$textConstraint).:.'';.$this->
15520 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 3c 69 getIO()->writeError(sprintf(.'<i
15540 6e 66 6f 3e 54 68 65 72 65 20 69 73 20 6e 6f 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 nfo>There.is.no.installed.packag
15560 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 22 25 73 22 25 73 3c 2f 69 6e 66 6f 3e 27 2c 0a 24 e.depending.on."%s"%s</info>',.$
15580 6e 65 65 64 6c 65 2c 0a 24 65 78 74 72 61 0a 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 72 65 needle,.$extra.));.}.elseif.($re
155a0 6e 64 65 72 54 72 65 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 53 74 79 6c 65 73 28 24 6f nderTree).{.$this->initStyles($o
155c0 75 74 70 75 74 29 3b 0a 24 72 6f 6f 74 20 3d 20 24 70 61 63 6b 61 67 65 73 5b 30 5d 3b 0a 24 74 utput);.$root.=.$packages[0];.$t
155e0 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 3c 69 6e his->getIO()->write(sprintf('<in
15600 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 25 73 20 25 73 27 2c 20 24 72 6f 6f 74 2d 3e 67 65 74 50 fo>%s</info>.%s.%s',.$root->getP
15620 72 65 74 74 79 4e 61 6d 65 28 29 2c 20 24 72 6f 6f 74 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 rettyName(),.$root->getPrettyVer
15640 73 69 6f 6e 28 29 2c 20 24 72 6f 6f 74 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 sion(),.$root->getDescription())
15660 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 54 72 65 65 28 24 72 65 73 75 6c 74 73 29 3b 0a 7d );.$this->printTree($results);.}
15680 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 54 61 62 6c 65 28 24 6f 75 74 70 75 .else.{.$this->printTable($outpu
156a0 74 2c 20 24 72 65 73 75 6c 74 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 0a t,.$results);.}..return.0;.}....
156c0 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 54 61 62 6c ....protected.function.printTabl
156e0 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 72 65 73 75 e(OutputInterface.$output,.$resu
15700 6c 74 73 29 0a 7b 0a 24 74 61 62 6c 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 6f 75 62 6c 65 lts).{.$table.=.array();.$double
15720 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 64 6f 20 7b 0a 24 71 75 65 75 65 20 3d 20 61 72 72 61 79 s.=.array();.do.{.$queue.=.array
15740 28 29 3b 0a 24 72 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 ();.$rows.=.array();.foreach.($r
15760 65 73 75 6c 74 73 20 61 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 0a 0a 0a 0a 6c 69 73 74 28 24 70 esults.as.$result).{.....list($p
15780 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 24 63 68 69 6c 64 72 65 6e 29 20 3d 20 24 72 65 73 ackage,.$link,.$children).=.$res
157a0 75 6c 74 3b 0a 24 75 6e 69 71 75 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6c 69 6e 6b 3b 0a 69 ult;.$unique.=.(string).$link;.i
157c0 66 20 28 69 73 73 65 74 28 24 64 6f 75 62 6c 65 73 5b 24 75 6e 69 71 75 65 5d 29 29 20 7b 0a 63 f.(isset($doubles[$unique])).{.c
157e0 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 64 6f 75 62 6c 65 73 5b 24 75 6e 69 71 75 65 5d 20 3d 20 74 ontinue;.}.$doubles[$unique].=.t
15800 72 75 65 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 28 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 rue;.$version.=.(strpos($package
15820 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 27 4e 6f 20 76 65 72 73 69 6f ->getPrettyVersion(),.'No.versio
15840 6e 20 73 65 74 27 29 20 3d 3d 3d 20 30 29 20 3f 20 27 2d 27 20 3a 20 24 70 61 63 6b 61 67 65 2d n.set').===.0).?.'-'.:.$package-
15860 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 72 6f 77 73 5b 5d 20 3d 20 61 >getPrettyVersion();.$rows[].=.a
15880 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 20 rray($package->getPrettyName(),.
158a0 24 76 65 72 73 69 6f 6e 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 $version,.$link->getDescription(
158c0 29 2c 20 73 70 72 69 6e 74 66 28 27 25 73 20 28 25 73 29 27 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 ),.sprintf('%s.(%s)',.$link->get
158e0 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 Target(),.$link->getPrettyConstr
15900 61 69 6e 74 28 29 29 29 3b 0a 69 66 20 28 24 63 68 69 6c 64 72 65 6e 29 20 7b 0a 24 71 75 65 75 aint()));.if.($children).{.$queu
15920 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 71 75 65 75 65 2c 20 24 63 68 69 6c 64 72 65 e.=.array_merge($queue,.$childre
15940 6e 29 3b 0a 7d 0a 7d 0a 24 72 65 73 75 6c 74 73 20 3d 20 24 71 75 65 75 65 3b 0a 24 74 61 62 6c n);.}.}.$results.=.$queue;.$tabl
15960 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 6f 77 73 2c 20 24 74 61 62 6c 65 29 3b 0a e.=.array_merge($rows,.$table);.
15980 7d 20 77 68 69 6c 65 20 28 21 65 6d 70 74 79 28 24 72 65 73 75 6c 74 73 29 29 3b 0a 0a 0a 20 24 }.while.(!empty($results));....$
159a0 72 65 6e 64 65 72 65 72 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 6f 75 74 70 75 74 29 3b 0a 24 renderer.=.new.Table($output);.$
159c0 72 65 6e 64 65 72 65 72 2d 3e 73 65 74 53 74 79 6c 65 28 27 63 6f 6d 70 61 63 74 27 29 3b 0a 24 renderer->setStyle('compact');.$
159e0 72 65 6e 64 65 72 65 72 53 74 79 6c 65 20 3d 20 24 72 65 6e 64 65 72 65 72 2d 3e 67 65 74 53 74 rendererStyle.=.$renderer->getSt
15a00 79 6c 65 28 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 2d 3e 73 65 74 56 65 72 74 69 63 yle();.$rendererStyle->setVertic
15a20 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 alBorderChar('');.$rendererStyle
15a40 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 27 25 73 20 20 27 ->setCellRowContentFormat('%s..'
15a60 29 3b 0a 24 72 65 6e 64 65 72 65 72 2d 3e 73 65 74 52 6f 77 73 28 24 74 61 62 6c 65 29 2d 3e 72 );.$renderer->setRows($table)->r
15a80 65 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 ender();.}.......protected.funct
15aa0 69 6f 6e 20 69 6e 69 74 53 74 79 6c 65 73 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 ion.initStyles(OutputInterface.$
15ac0 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 output).{.$this->colors.=.array(
15ae0 0a 27 67 72 65 65 6e 27 2c 0a 27 79 65 6c 6c 6f 77 27 2c 0a 27 63 79 61 6e 27 2c 0a 27 6d 61 67 .'green',.'yellow',.'cyan',.'mag
15b00 65 6e 74 61 27 2c 0a 27 62 6c 75 65 27 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 enta',.'blue',.);..foreach.($thi
15b20 73 2d 3e 63 6f 6c 6f 72 73 20 61 73 20 24 63 6f 6c 6f 72 29 20 7b 0a 24 73 74 79 6c 65 20 3d 20 s->colors.as.$color).{.$style.=.
15b40 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 24 63 6f 6c 6f 72 29 new.OutputFormatterStyle($color)
15b60 3b 0a 24 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2d 3e 73 65 74 53 74 ;.$output->getFormatter()->setSt
15b80 79 6c 65 28 24 63 6f 6c 6f 72 2c 20 24 73 74 79 6c 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a yle($color,.$style);.}.}........
15ba0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 54 72 65 65 28 24 72 .protected.function.printTree($r
15bc0 65 73 75 6c 74 73 2c 20 24 70 72 65 66 69 78 20 3d 20 27 27 2c 20 24 6c 65 76 65 6c 20 3d 20 31 esults,.$prefix.=.'',.$level.=.1
15be0 29 0a 7b 0a 24 63 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 72 65 73 75 6c 74 73 29 3b 0a 24 69 ).{.$count.=.count($results);.$i
15c00 64 78 20 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 73 20 61 73 20 24 72 65 dx.=.0;.foreach.($results.as.$re
15c20 73 75 6c 74 29 20 7b 0a 0a 0a 0a 0a 0a 6c 69 73 74 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e sult).{......list($package,.$lin
15c40 6b 2c 20 24 63 68 69 6c 64 72 65 6e 29 20 3d 20 24 72 65 73 75 6c 74 3b 0a 0a 24 63 6f 6c 6f 72 k,.$children).=.$result;..$color
15c60 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 24 6c 65 76 65 6c 20 25 20 63 6f 75 6e 74 28 .=.$this->colors[$level.%.count(
15c80 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 29 5d 3b 0a 24 70 72 65 76 43 6f 6c 6f 72 20 3d 20 24 74 $this->colors)];.$prevColor.=.$t
15ca0 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 28 24 6c 65 76 65 6c 20 2d 20 31 29 20 25 20 63 6f 75 6e 74 his->colors[($level.-.1).%.count
15cc0 28 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 29 5d 3b 0a 24 69 73 4c 61 73 74 20 3d 20 28 2b 2b 24 ($this->colors)];.$isLast.=.(++$
15ce0 69 64 78 20 3d 3d 20 24 63 6f 75 6e 74 29 3b 0a 24 76 65 72 73 69 6f 6e 54 65 78 74 20 3d 20 28 idx.==.$count);.$versionText.=.(
15d00 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f strpos($package->getPrettyVersio
15d20 6e 28 29 2c 20 27 4e 6f 20 76 65 72 73 69 6f 6e 20 73 65 74 27 29 20 3d 3d 3d 20 30 29 20 3f 20 n(),.'No.version.set').===.0).?.
15d40 27 27 20 3a 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 ''.:.$package->getPrettyVersion(
15d60 29 3b 0a 24 70 61 63 6b 61 67 65 54 65 78 74 20 3d 20 72 74 72 69 6d 28 73 70 72 69 6e 74 66 28 );.$packageText.=.rtrim(sprintf(
15d80 27 3c 25 73 3e 25 73 3c 2f 25 31 24 73 3e 20 25 73 27 2c 20 24 63 6f 6c 6f 72 2c 20 24 70 61 63 '<%s>%s</%1$s>.%s',.$color,.$pac
15da0 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 20 24 76 65 72 73 69 6f 6e 54 kage->getPrettyName(),.$versionT
15dc0 65 78 74 29 29 3b 0a 24 6c 69 6e 6b 54 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 20 3c ext));.$linkText.=.sprintf('%s.<
15de0 25 73 3e 25 73 3c 2f 25 32 24 73 3e 20 25 73 27 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 44 65 73 63 %s>%s</%2$s>.%s',.$link->getDesc
15e00 72 69 70 74 69 6f 6e 28 29 2c 20 24 70 72 65 76 43 6f 6c 6f 72 2c 20 24 6c 69 6e 6b 2d 3e 67 65 ription(),.$prevColor,.$link->ge
15e20 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 tTarget(),.$link->getPrettyConst
15e40 72 61 69 6e 74 28 29 29 3b 0a 24 63 69 72 63 75 6c 61 72 57 61 72 6e 20 3d 20 24 63 68 69 6c 64 raint());.$circularWarn.=.$child
15e60 72 65 6e 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 27 28 63 69 72 63 75 6c 61 72 20 64 65 70 65 6e ren.===.false.?.'(circular.depen
15e80 64 65 6e 63 79 20 61 62 6f 72 74 65 64 20 68 65 72 65 29 27 20 3a 20 27 27 3b 0a 24 74 68 69 73 dency.aborted.here)'.:.'';.$this
15ea0 2d 3e 77 72 69 74 65 54 72 65 65 4c 69 6e 65 28 72 74 72 69 6d 28 73 70 72 69 6e 74 66 28 22 25 ->writeTreeLine(rtrim(sprintf("%
15ec0 73 25 73 25 73 20 28 25 73 29 20 25 73 22 2c 20 24 70 72 65 66 69 78 2c 20 24 69 73 4c 61 73 74 s%s%s.(%s).%s",.$prefix,.$isLast
15ee0 20 3f 20 27 e2 94 94 e2 94 80 e2 94 80 27 20 3a 20 27 e2 94 9c e2 94 80 e2 94 80 27 2c 20 24 70 .?.'.........'.:.'.........',.$p
15f00 61 63 6b 61 67 65 54 65 78 74 2c 20 24 6c 69 6e 6b 54 65 78 74 2c 20 24 63 69 72 63 75 6c 61 72 ackageText,.$linkText,.$circular
15f20 57 61 72 6e 29 29 29 3b 0a 69 66 20 28 24 63 68 69 6c 64 72 65 6e 29 20 7b 0a 24 74 68 69 73 2d Warn)));.if.($children).{.$this-
15f40 3e 70 72 69 6e 74 54 72 65 65 28 24 63 68 69 6c 64 72 65 6e 2c 20 24 70 72 65 66 69 78 20 2e 20 >printTree($children,.$prefix...
15f60 28 24 69 73 4c 61 73 74 20 3f 20 27 20 20 20 27 20 3a 20 27 e2 94 82 20 20 27 29 2c 20 24 6c 65 ($isLast.?.'...'.:.'.....'),.$le
15f80 76 65 6c 20 2b 20 31 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f vel.+.1);.}.}.}..private.functio
15fa0 6e 20 77 72 69 74 65 54 72 65 65 4c 69 6e 65 28 24 6c 69 6e 65 29 0a 7b 0a 24 69 6f 20 3d 20 24 n.writeTreeLine($line).{.$io.=.$
15fc0 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 21 24 69 6f 2d 3e 69 73 44 65 63 6f 72 this->getIO();.if.(!$io->isDecor
15fe0 61 74 65 64 28 29 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 ated()).{.$line.=.str_replace(ar
16000 72 61 79 28 27 e2 94 94 27 2c 20 27 e2 94 9c 27 2c 20 27 e2 94 80 e2 94 80 27 2c 20 27 e2 94 82 ray('...',.'...',.'......',.'...
16020 27 29 2c 20 61 72 72 61 79 28 27 60 2d 27 2c 20 27 7c 2d 27 2c 20 27 2d 27 2c 20 27 7c 27 29 2c '),.array('`-',.'|-',.'-',.'|'),
16040 20 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 6c 69 6e 65 29 3b 0a 7d .$line);.}..$io->write($line);.}
16060 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
16080 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 mposer\Command;..use.Composer\Pa
160a0 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 ckage\Link;.use.Composer\Package
160c0 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c \PackageInterface;.use.Composer\
160e0 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 Semver\Constraint\Constraint;.us
16100 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 e.Symfony\Component\Console\Help
16120 65 72 5c 54 61 62 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c er\Table;.use.Symfony\Component\
16140 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 Console\Input\InputInterface;.us
16160 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
16180 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f t\InputOption;.use.Symfony\Compo
161a0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 nent\Console\Output\OutputInterf
161c0 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 ace;.use.Composer\Repository\Pla
161e0 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 63 6c 61 73 73 20 43 68 65 63 6b 50 6c 61 tformRepository;..class.CheckPla
16200 74 66 6f 72 6d 52 65 71 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d tformReqsCommand.extends.BaseCom
16220 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 mand.{.protected.function.config
16240 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 4e 61 6d 65 28 27 63 68 65 63 6b 2d 70 6c ure().{.$this->setName('check-pl
16260 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 atform-reqs').->setDescription('
16280 43 68 65 63 6b 20 74 68 61 74 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 Check.that.platform.requirements
162a0 20 61 72 65 20 73 61 74 69 73 66 69 65 64 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f .are.satisfied.').->setDefinitio
162c0 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 n(array(.new.InputOption('no-dev
162e0 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.null,.InputOption::VALUE_NONE
16300 2c 20 27 44 69 73 61 62 6c 65 73 20 63 68 65 63 6b 69 6e 67 20 6f 66 20 72 65 71 75 69 72 65 2d ,.'Disables.checking.of.require-
16320 64 65 76 20 70 61 63 6b 61 67 65 73 20 72 65 71 75 69 72 65 6d 65 6e 74 73 2e 27 29 2c 0a 29 29 dev.packages.requirements.'),.))
16340 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 43 68 65 63 6b 73 20 74 68 61 74 20 79 .->setHelp(.<<<EOT.Checks.that.y
16360 6f 75 72 20 50 48 50 20 61 6e 64 20 65 78 74 65 6e 73 69 6f 6e 73 20 76 65 72 73 69 6f 6e 73 20 our.PHP.and.extensions.versions.
16380 6d 61 74 63 68 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 match.the.platform.requirements.
163a0 6f 66 20 74 68 65 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 2e 0a 0a 55 6e 6c 69 of.the.installed.packages...Unli
163c0 6b 65 20 75 70 64 61 74 65 2f 69 6e 73 74 61 6c 6c 2c 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 ke.update/install,.this.command.
163e0 77 69 6c 6c 20 69 67 6e 6f 72 65 20 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 20 73 65 74 74 will.ignore.config.platform.sett
16400 69 6e 67 73 20 61 6e 64 20 63 68 65 63 6b 20 74 68 65 20 72 65 61 6c 20 70 6c 61 74 66 6f 72 6d ings.and.check.the.real.platform
16420 20 70 61 63 6b 61 67 65 73 20 73 6f 20 79 6f 75 20 63 61 6e 20 62 65 20 63 65 72 74 61 69 6e 20 .packages.so.you.can.be.certain.
16440 79 6f 75 20 68 61 76 65 20 74 68 65 20 72 65 71 75 69 72 65 64 20 70 6c 61 74 66 6f 72 6d 20 64 you.have.the.required.platform.d
16460 65 70 65 6e 64 65 6e 63 69 65 73 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 ependencies...<info>php.composer
16480 2e 70 68 61 72 20 63 68 65 63 6b 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 3c 2f 69 6e 66 6f 3e .phar.check-platform-reqs</info>
164a0 0a 0a 45 4f 54 0a 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 ..EOT.);.}..protected.function.e
164c0 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 xecute(InputInterface.$input,.Ou
164e0 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6d 70 6f 73 tputInterface.$output).{.$compos
16500 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 0a 24 72 65 71 er.=.$this->getComposer();..$req
16520 75 69 72 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d uires.=.$composer->getPackage()-
16540 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f >getRequires();.if.($input->getO
16560 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 20 7b 0a 24 64 65 70 65 6e 64 65 6e 63 69 65 73 ption('no-dev')).{.$dependencies
16580 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 72 28 29 2d 3e 67 65 74 4c 6f .=.$composer->getLocker()->getLo
165a0 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f ckedRepository(!$input->getOptio
165c0 6e 28 27 6e 6f 2d 64 65 76 27 29 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 20 65 n('no-dev'))->getPackages();.}.e
165e0 6c 73 65 20 7b 0a 24 64 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d lse.{.$dependencies.=.$composer-
16600 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 >getRepositoryManager()->getLoca
16620 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 0a 20 lRepository()->getPackages();...
16640 69 66 20 28 21 24 64 65 70 65 6e 64 65 6e 63 69 65 73 29 20 7b 0a 24 64 65 70 65 6e 64 65 6e 63 if.(!$dependencies).{.$dependenc
16660 69 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 72 28 29 2d 3e 67 65 ies.=.$composer->getLocker()->ge
16680 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 74 72 75 65 29 2d 3e 67 65 74 50 61 63 6b tLockedRepository(true)->getPack
166a0 61 67 65 73 28 29 3b 0a 7d 0a 24 72 65 71 75 69 72 65 73 20 2b 3d 20 24 63 6f 6d 70 6f 73 65 72 ages();.}.$requires.+=.$composer
166c0 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 ->getPackage()->getDevRequires()
166e0 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 ;.}.foreach.($requires.as.$requi
16700 72 65 20 3d 3e 20 24 6c 69 6e 6b 29 20 7b 0a 24 72 65 71 75 69 72 65 73 5b 24 72 65 71 75 69 72 re.=>.$link).{.$requires[$requir
16720 65 5d 20 3d 20 61 72 72 61 79 28 24 6c 69 6e 6b 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 e].=.array($link);.}..foreach.($
16740 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 66 6f 72 65 dependencies.as.$package).{.fore
16760 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 ach.($package->getRequires().as.
16780 24 72 65 71 75 69 72 65 20 3d 3e 20 24 6c 69 6e 6b 29 20 7b 0a 24 72 65 71 75 69 72 65 73 5b 24 $require.=>.$link).{.$requires[$
167a0 72 65 71 75 69 72 65 5d 5b 5d 20 3d 20 24 6c 69 6e 6b 3b 0a 7d 0a 7d 0a 0a 6b 73 6f 72 74 28 24 require][].=.$link;.}.}..ksort($
167c0 72 65 71 75 69 72 65 73 29 3b 0a 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 20 3d 20 6e 65 77 20 requires);..$platformRepo.=.new.
167e0 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 61 72 72 61 PlatformRepository(array(),.arra
16800 79 28 29 29 3b 0a 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 73 20 3d y());.$currentPlatformPackages.=
16820 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 24 .$platformRepo->getPackages();.$
16840 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 20 3d 20 61 72 72 61 currentPlatformPackageMap.=.arra
16860 79 28 29 3b 0a 0a 0a 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f y();.....foreach.($currentPlatfo
16880 72 6d 50 61 63 6b 61 67 65 73 20 61 73 20 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 rmPackages.as.$currentPlatformPa
168a0 63 6b 61 67 65 29 20 7b 0a 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 ckage).{.$currentPlatformPackage
168c0 4d 61 70 5b 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 2d 3e 67 65 74 Map[$currentPlatformPackage->get
168e0 4e 61 6d 65 28 29 5d 20 3d 20 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 Name()].=.$currentPlatformPackag
16900 65 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 65 78 69 74 e;.}..$results.=.array();..$exit
16920 43 6f 64 65 20 3d 20 30 3b 0a 0a 0a 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 Code.=.0;.....foreach.($requires
16940 20 61 73 20 24 72 65 71 75 69 72 65 20 3d 3e 20 24 6c 69 6e 6b 73 29 20 7b 0a 69 66 20 28 70 72 .as.$require.=>.$links).{.if.(pr
16960 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 eg_match(PlatformRepository::PLA
16980 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 72 65 71 75 69 72 65 29 29 20 TFORM_PACKAGE_REGEX,.$require)).
169a0 7b 0a 69 66 20 28 69 73 73 65 74 28 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b {.if.(isset($currentPlatformPack
169c0 61 67 65 4d 61 70 5b 24 72 65 71 75 69 72 65 5d 29 29 20 7b 0a 24 70 61 73 73 20 3d 20 74 72 75 ageMap[$require])).{.$pass.=.tru
169e0 65 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 e;.$version.=.$currentPlatformPa
16a00 63 6b 61 67 65 4d 61 70 5b 24 72 65 71 75 69 72 65 5d 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 ckageMap[$require]->getVersion()
16a20 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 ;..foreach.($links.as.$link).{.i
16a40 66 20 28 21 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 f.(!$link->getConstraint()->matc
16a60 68 65 73 28 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 76 65 72 73 69 6f 6e hes(new.Constraint('=',.$version
16a80 29 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 24 63 75 72 72 65 ))).{.$results[].=.array(.$curre
16aa0 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 5b 24 72 65 71 75 69 72 65 5d 2d 3e ntPlatformPackageMap[$require]->
16ac0 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 getPrettyName(),.$currentPlatfor
16ae0 6d 50 61 63 6b 61 67 65 4d 61 70 5b 24 72 65 71 75 69 72 65 5d 2d 3e 67 65 74 50 72 65 74 74 79 mPackageMap[$require]->getPretty
16b00 56 65 72 73 69 6f 6e 28 29 2c 0a 24 6c 69 6e 6b 2c 0a 27 3c 65 72 72 6f 72 3e 66 61 69 6c 65 64 Version(),.$link,.'<error>failed
16b20 3c 2f 65 72 72 6f 72 3e 27 2c 0a 29 3b 0a 24 70 61 73 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 65 </error>',.);.$pass.=.false;..$e
16b40 78 69 74 43 6f 64 65 20 3d 20 6d 61 78 28 24 65 78 69 74 43 6f 64 65 2c 20 31 29 3b 0a 7d 0a 7d xitCode.=.max($exitCode,.1);.}.}
16b60 0a 0a 69 66 20 28 24 70 61 73 73 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 ..if.($pass).{.$results[].=.arra
16b80 79 28 0a 24 63 75 72 72 65 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 5b 24 72 y(.$currentPlatformPackageMap[$r
16ba0 65 71 75 69 72 65 5d 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 24 63 75 72 72 65 equire]->getPrettyName(),.$curre
16bc0 6e 74 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 4d 61 70 5b 24 72 65 71 75 69 72 65 5d 2d 3e ntPlatformPackageMap[$require]->
16be0 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 6e 75 6c 6c 2c 0a 27 3c 69 6e 66 6f getPrettyVersion(),.null,.'<info
16c00 3e 73 75 63 63 65 73 73 3c 2f 69 6e 66 6f 3e 27 2c 0a 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a >success</info>',.);.}.}.else.{.
16c20 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 24 72 65 71 75 69 72 65 2c 0a 27 6e $results[].=.array(.$require,.'n
16c40 2f 61 27 2c 0a 24 6c 69 6e 6b 73 5b 30 5d 2c 0a 27 3c 65 72 72 6f 72 3e 6d 69 73 73 69 6e 67 3c /a',.$links[0],.'<error>missing<
16c60 2f 65 72 72 6f 72 3e 27 2c 0a 29 3b 0a 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 6d 61 78 28 24 65 /error>',.);..$exitCode.=.max($e
16c80 78 69 74 43 6f 64 65 2c 20 32 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 xitCode,.2);.}.}.}..$this->print
16ca0 54 61 62 6c 65 28 24 6f 75 74 70 75 74 2c 20 24 72 65 73 75 6c 74 73 29 3b 0a 0a 72 65 74 75 72 Table($output,.$results);..retur
16cc0 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 n.$exitCode;.}..protected.functi
16ce0 6f 6e 20 70 72 69 6e 74 54 61 62 6c 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f on.printTable(OutputInterface.$o
16d00 75 74 70 75 74 2c 20 24 72 65 73 75 6c 74 73 29 0a 7b 0a 24 74 61 62 6c 65 20 3d 20 61 72 72 61 utput,.$results).{.$table.=.arra
16d20 79 28 29 3b 0a 24 72 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 y();.$rows.=.array();.foreach.($
16d40 72 65 73 75 6c 74 73 20 61 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 0a 0a 0a 6c 69 73 74 28 24 70 results.as.$result).{....list($p
16d60 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6c 69 6e 6b 2c latformPackage,.$version,.$link,
16d80 20 24 73 74 61 74 75 73 29 20 3d 20 24 72 65 73 75 6c 74 3b 0a 24 72 6f 77 73 5b 5d 20 3d 20 61 .$status).=.$result;.$rows[].=.a
16da0 72 72 61 79 28 0a 24 70 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 2c 0a 24 76 65 72 73 69 6f 6e rray(.$platformPackage,.$version
16dc0 2c 0a 24 6c 69 6e 6b 20 3f 20 73 70 72 69 6e 74 66 28 27 25 73 20 25 73 20 25 73 20 28 25 73 29 ,.$link.?.sprintf('%s.%s.%s.(%s)
16de0 27 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 65 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 ',.$link->getSource(),.$link->ge
16e00 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 tDescription(),.$link->getTarget
16e20 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 (),.$link->getPrettyConstraint()
16e40 29 20 3a 20 27 27 2c 0a 24 73 74 61 74 75 73 2c 0a 29 3b 0a 7d 0a 24 74 61 62 6c 65 20 3d 20 61 ).:.'',.$status,.);.}.$table.=.a
16e60 72 72 61 79 5f 6d 65 72 67 65 28 24 72 6f 77 73 2c 20 24 74 61 62 6c 65 29 3b 0a 0a 0a 20 24 72 rray_merge($rows,.$table);....$r
16e80 65 6e 64 65 72 65 72 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 6f 75 74 70 75 74 29 3b 0a 24 72 enderer.=.new.Table($output);.$r
16ea0 65 6e 64 65 72 65 72 2d 3e 73 65 74 53 74 79 6c 65 28 27 63 6f 6d 70 61 63 74 27 29 3b 0a 24 72 enderer->setStyle('compact');.$r
16ec0 65 6e 64 65 72 65 72 53 74 79 6c 65 20 3d 20 24 72 65 6e 64 65 72 65 72 2d 3e 67 65 74 53 74 79 endererStyle.=.$renderer->getSty
16ee0 6c 65 28 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 2d 3e 73 65 74 56 65 72 74 69 63 61 le();.$rendererStyle->setVertica
16f00 6c 42 6f 72 64 65 72 43 68 61 72 28 27 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 2d lBorderChar('');.$rendererStyle-
16f20 3e 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 27 25 73 20 20 27 29 >setCellRowContentFormat('%s..')
16f40 3b 0a 24 72 65 6e 64 65 72 65 72 2d 3e 73 65 74 52 6f 77 73 28 24 74 61 62 6c 65 29 2d 3e 72 65 ;.$renderer->setRows($table)->re
16f60 6e 64 65 72 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d nder();.}.}.<?php............nam
16f80 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f espace.Composer\Command;..use.Co
16fa0 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f mposer\Cache;.use.Composer\Facto
16fc0 72 79 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ry;.use.Symfony\Component\Consol
16fe0 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 e\Input\InputInterface;.use.Symf
17000 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 ony\Component\Console\Output\Out
17020 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 65 61 72 43 61 63 putInterface;.....class.ClearCac
17040 68 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a heCommand.extends.BaseCommand.{.
17060 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b protected.function.configure().{
17080 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 63 6c 65 61 72 2d 63 61 63 68 65 27 29 0a .$this.->setName('clear-cache').
170a0 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 63 6c 65 61 72 63 61 63 68 65 27 29 ->setAliases(array('clearcache')
170c0 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 43 6c 65 61 72 73 20 63 6f 6d 70 6f ).->setDescription('Clears.compo
170e0 73 65 72 5c 27 73 20 69 6e 74 65 72 6e 61 6c 20 70 61 63 6b 61 67 65 20 63 61 63 68 65 2e 27 29 ser\'s.internal.package.cache.')
17100 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 63 6c 65 .->setHelp(.<<<EOT.The.<info>cle
17120 61 72 2d 63 61 63 68 65 3c 2f 69 6e 66 6f 3e 20 64 65 6c 65 74 65 73 20 61 6c 6c 20 63 61 63 68 ar-cache</info>.deletes.all.cach
17140 65 64 20 70 61 63 6b 61 67 65 73 20 66 72 6f 6d 20 63 6f 6d 70 6f 73 65 72 27 73 0a 63 61 63 68 ed.packages.from.composer's.cach
17160 65 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 e.directory...Read.more.at.https
17180 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 ://getcomposer.org/doc/03-cli.md
171a0 23 63 6c 65 61 72 2d 63 61 63 68 65 2d 63 6c 65 61 72 63 61 63 68 65 2d 0a 45 4f 54 0a 29 0a 3b #clear-cache-clearcache-.EOT.).;
171c0 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 .}..protected.function.execute(I
171e0 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 nputInterface.$input,.OutputInte
17200 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f rface.$output).{.$config.=.Facto
17220 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d ry::createConfig();.$io.=.$this-
17240 3e 67 65 74 49 4f 28 29 3b 0a 0a 24 63 61 63 68 65 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 0a >getIO();..$cachePaths.=.array(.
17260 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 20 3d 3e 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 'cache-vcs-dir'.=>.$config->get(
17280 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 2c 0a 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 'cache-vcs-dir'),.'cache-repo-di
172a0 72 27 20 3d 3e 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 r'.=>.$config->get('cache-repo-d
172c0 69 72 27 29 2c 0a 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 64 69 72 27 20 3d 3e 20 24 63 6f 6e 66 ir'),.'cache-files-dir'.=>.$conf
172e0 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 64 69 72 27 29 2c 0a 27 63 61 63 ig->get('cache-files-dir'),.'cac
17300 68 65 2d 64 69 72 27 20 3d 3e 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 64 he-dir'.=>.$config->get('cache-d
17320 69 72 27 29 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 61 63 68 65 50 61 74 68 73 20 61 ir'),.);..foreach.($cachePaths.a
17340 73 20 24 6b 65 79 20 3d 3e 20 24 63 61 63 68 65 50 61 74 68 29 20 7b 0a 24 63 61 63 68 65 50 61 s.$key.=>.$cachePath).{.$cachePa
17360 74 68 20 3d 20 72 65 61 6c 70 61 74 68 28 24 63 61 63 68 65 50 61 74 68 29 3b 0a 69 66 20 28 21 th.=.realpath($cachePath);.if.(!
17380 24 63 61 63 68 65 50 61 74 68 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 3c $cachePath).{.$io->writeError("<
173a0 69 6e 66 6f 3e 43 61 63 68 65 20 64 69 72 65 63 74 6f 72 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 info>Cache.directory.does.not.ex
173c0 69 73 74 20 28 24 6b 65 79 29 3a 20 24 63 61 63 68 65 50 61 74 68 3c 2f 69 6e 66 6f 3e 22 29 3b ist.($key):.$cachePath</info>");
173e0 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 ..continue;.}.$cache.=.new.Cache
17400 28 24 69 6f 2c 20 24 63 61 63 68 65 50 61 74 68 29 3b 0a 69 66 20 28 21 24 63 61 63 68 65 2d 3e ($io,.$cachePath);.if.(!$cache->
17420 69 73 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 isEnabled()).{.$io->writeError("
17440 3c 69 6e 66 6f 3e 43 61 63 68 65 20 69 73 20 6e 6f 74 20 65 6e 61 62 6c 65 64 20 28 24 6b 65 79 <info>Cache.is.not.enabled.($key
17460 29 3a 20 24 63 61 63 68 65 50 61 74 68 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 0a 63 6f 6e 74 69 6e 75 ):.$cachePath</info>");..continu
17480 65 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 3c 69 6e 66 6f 3e 43 6c 65 e;.}..$io->writeError("<info>Cle
174a0 61 72 69 6e 67 20 63 61 63 68 65 20 28 24 6b 65 79 29 3a 20 24 63 61 63 68 65 50 61 74 68 3c 2f aring.cache.($key):.$cachePath</
174c0 69 6e 66 6f 3e 22 29 3b 0a 24 63 61 63 68 65 2d 3e 63 6c 65 61 72 28 29 3b 0a 7d 0a 0a 24 69 6f info>");.$cache->clear();.}..$io
174e0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 41 6c 6c 20 63 61 63 68 65 73 20 63 ->writeError('<info>All.caches.c
17500 6c 65 61 72 65 64 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 7d leared.</info>');..return.0;.}.}
17520 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
17540 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c oser\Command;..use.Composer\Util
17560 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c \Platform;.use.Composer\Util\Sil
17580 65 6e 63 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e encer;.use.Symfony\Component\Con
175a0 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 sole\Input\InputInterface;.use.S
175c0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 ymfony\Component\Console\Input\I
175e0 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e nputArgument;.use.Symfony\Compon
17600 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 ent\Console\Input\InputOption;.u
17620 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 se.Symfony\Component\Console\Out
17640 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 put\OutputInterface;.use.Compose
17660 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 5c 4a 73 r\Config;.use.Composer\Config\Js
17680 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 onConfigSource;.use.Composer\Fac
176a0 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 tory;.use.Composer\IO\IOInterfac
176c0 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 e;.use.Composer\Json\JsonFile;.u
176e0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 se.Composer\Semver\VersionParser
17700 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 ;.use.Composer\Package\BasePacka
17720 67 65 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 66 69 67 43 6f 6d 6d 61 6e 64 20 65 78 74 ge;......class.ConfigCommand.ext
17740 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 ends.BaseCommand.{....protected.
17760 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 46 69 $config;.....protected.$configFi
17780 6c 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 3b le;.....protected.$configSource;
177a0 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 3b 0a .....protected.$authConfigFile;.
177c0 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 3b ....protected.$authConfigSource;
177e0 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 .....protected.function.configur
17800 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 63 6f 6e 66 69 67 27 29 0a e().{.$this.->setName('config').
17820 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 65 74 73 20 63 6f 6e 66 69 67 20 6f 70 ->setDescription('Sets.config.op
17840 74 69 6f 6e 73 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a tions.').->setDefinition(array(.
17860 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 2c 20 27 67 27 2c 20 49 new.InputOption('global',.'g',.I
17880 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 70 70 6c 79 20 63 nputOption::VALUE_NONE,.'Apply.c
178a0 6f 6d 6d 61 6e 64 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 20 66 69 6c 65 ommand.to.the.global.config.file
178c0 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 65 64 69 74 6f 72 27 2c 20 27 65 '),.new.InputOption('editor',.'e
178e0 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 70 65 ',.InputOption::VALUE_NONE,.'Ope
17900 6e 20 65 64 69 74 6f 72 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 75 74 n.editor'),.new.InputOption('aut
17920 68 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 h',.'a',.InputOption::VALUE_NONE
17940 2c 20 27 41 66 66 65 63 74 20 61 75 74 68 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 28 6f 6e 6c 79 ,.'Affect.auth.config.file.(only
17960 20 75 73 65 64 20 66 6f 72 20 2d 2d 65 64 69 74 6f 72 29 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 .used.for.--editor)'),.new.Input
17980 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f Option('unset',.null,.InputOptio
179a0 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 6e 73 65 74 20 74 68 65 20 67 69 76 65 6e 20 n::VALUE_NONE,.'Unset.the.given.
179c0 73 65 74 74 69 6e 67 2d 6b 65 79 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 setting-key'),.new.InputOption('
179e0 6c 69 73 74 27 2c 20 27 6c 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e list',.'l',.InputOption::VALUE_N
17a00 4f 4e 45 2c 20 27 4c 69 73 74 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 65 74 74 69 6e 67 ONE,.'List.configuration.setting
17a20 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 69 6c 65 27 2c 20 27 66 27 s'),.new.InputOption('file',.'f'
17a40 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 ,.InputOption::VALUE_REQUIRED,.'
17a60 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 63 68 6f 6f 73 65 20 61 20 64 69 66 66 65 72 65 6e If.you.want.to.choose.a.differen
17a80 74 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 72 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 27 29 t.composer.json.or.config.json')
17aa0 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 62 73 6f 6c 75 74 65 27 2c 20 6e 75 ,.new.InputOption('absolute',.nu
17ac0 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 ll,.InputOption::VALUE_NONE,.'Re
17ae0 74 75 72 6e 73 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 73 20 77 68 65 6e 20 66 65 74 63 68 69 turns.absolute.paths.when.fetchi
17b00 6e 67 20 2a 2d 64 69 72 20 63 6f 6e 66 69 67 20 76 61 6c 75 65 73 20 69 6e 73 74 65 61 64 20 6f ng.*-dir.config.values.instead.o
17b20 66 20 72 65 6c 61 74 69 76 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 f.relative'),.new.InputArgument(
17b40 27 73 65 74 74 69 6e 67 2d 6b 65 79 27 2c 20 6e 75 6c 6c 2c 20 27 53 65 74 74 69 6e 67 20 6b 65 'setting-key',.null,.'Setting.ke
17b60 79 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 73 65 74 74 69 6e 67 2d y'),.new.InputArgument('setting-
17b80 76 61 6c 75 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 2c value',.InputArgument::IS_ARRAY,
17ba0 20 27 53 65 74 74 69 6e 67 20 76 61 6c 75 65 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 .'Setting.value'),.)).->setHelp(
17bc0 0a 3c 3c 3c 45 4f 54 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 61 6c 6c 6f 77 73 20 79 6f 75 20 .<<<EOT.This.command.allows.you.
17be0 74 6f 20 65 64 69 74 20 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 73 65 74 74 69 6e 67 73 to.edit.composer.config.settings
17c00 20 61 6e 64 20 72 65 70 6f 73 69 74 6f 72 69 65 73 0a 69 6e 20 65 69 74 68 65 72 20 74 68 65 20 .and.repositories.in.either.the.
17c20 6c 6f 63 61 6c 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 6f 72 20 74 68 65 20 local.composer.json.file.or.the.
17c40 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c 65 2e 0a 0a 41 64 64 69 74 69 global.config.json.file...Additi
17c60 6f 6e 61 6c 6c 79 20 69 74 20 6c 65 74 73 20 79 6f 75 20 65 64 69 74 20 6d 6f 73 74 20 70 72 6f onally.it.lets.you.edit.most.pro
17c80 70 65 72 74 69 65 73 20 69 6e 20 74 68 65 20 6c 6f 63 61 6c 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 perties.in.the.local.composer.js
17ca0 6f 6e 2e 0a 0a 54 6f 20 73 65 74 20 61 20 63 6f 6e 66 69 67 20 73 65 74 74 69 6e 67 3a 0a 0a 20 on...To.set.a.config.setting:...
17cc0 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 ...<comment>%command.full_name%.
17ce0 62 69 6e 2d 64 69 72 20 62 69 6e 2f 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 54 6f 20 72 65 61 64 20 bin-dir.bin/</comment>..To.read.
17d00 61 20 63 6f 6e 66 69 67 20 73 65 74 74 69 6e 67 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e a.config.setting:......<comment>
17d20 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 62 69 6e 2d 64 69 72 3c 2f 63 6f 6d %command.full_name%.bin-dir</com
17d40 6d 65 6e 74 3e 0a 20 20 20 20 4f 75 74 70 75 74 73 3a 20 3c 69 6e 66 6f 3e 62 69 6e 3c 2f 69 6e ment>.....Outputs:.<info>bin</in
17d60 66 6f 3e 0a 0a 54 6f 20 65 64 69 74 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 2e 6a fo>..To.edit.the.global.config.j
17d80 73 6f 6e 20 66 69 6c 65 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 son.file:......<comment>%command
17da0 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 67 6c 6f 62 61 6c 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a .full_name%.--global</comment>..
17dc0 54 6f 20 61 64 64 20 61 20 72 65 70 6f 73 69 74 6f 72 79 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 To.add.a.repository:......<comme
17de0 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 72 65 70 6f 73 69 74 6f 72 nt>%command.full_name%.repositor
17e00 69 65 73 2e 66 6f 6f 20 76 63 73 20 68 74 74 70 73 3a 2f 2f 62 61 72 2e 63 6f 6d 3c 2f 63 6f 6d ies.foo.vcs.https://bar.com</com
17e20 6d 65 6e 74 3e 0a 0a 54 6f 20 72 65 6d 6f 76 65 20 61 20 72 65 70 6f 73 69 74 6f 72 79 20 28 72 ment>..To.remove.a.repository.(r
17e40 65 70 6f 20 69 73 20 61 20 73 68 6f 72 74 20 61 6c 69 61 73 20 66 6f 72 20 72 65 70 6f 73 69 74 epo.is.a.short.alias.for.reposit
17e60 6f 72 69 65 73 29 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 ories):......<comment>%command.f
17e80 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 75 6e 73 65 74 20 72 65 70 6f 2e 66 6f 6f 3c 2f 63 6f 6d 6d ull_name%.--unset.repo.foo</comm
17ea0 65 6e 74 3e 0a 0a 54 6f 20 64 69 73 61 62 6c 65 20 70 61 63 6b 61 67 69 73 74 3a 0a 0a 20 20 20 ent>..To.disable.packagist:.....
17ec0 20 3c 63 6f 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 72 65 .<comment>%command.full_name%.re
17ee0 70 6f 2e 70 61 63 6b 61 67 69 73 74 20 66 61 6c 73 65 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 59 6f po.packagist.false</comment>..Yo
17f00 75 20 63 61 6e 20 61 6c 74 65 72 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 69 6e 20 74 68 65 20 u.can.alter.repositories.in.the.
17f20 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c 65 20 62 79 20 70 61 73 73 69 global.config.json.file.by.passi
17f40 6e 67 20 69 6e 20 74 68 65 0a 3c 69 6e 66 6f 3e 2d 2d 67 6c 6f 62 61 6c 3c 2f 69 6e 66 6f 3e 20 ng.in.the.<info>--global</info>.
17f60 6f 70 74 69 6f 6e 2e 0a 0a 54 6f 20 65 64 69 74 20 74 68 65 20 66 69 6c 65 20 69 6e 20 61 6e 20 option...To.edit.the.file.in.an.
17f80 65 78 74 65 72 6e 61 6c 20 65 64 69 74 6f 72 3a 0a 0a 20 20 20 20 3c 63 6f 6d 6d 65 6e 74 3e 25 external.editor:......<comment>%
17fa0 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 65 64 69 74 6f 72 3c 2f 63 6f 6d command.full_name%.--editor</com
17fc0 6d 65 6e 74 3e 0a 0a 54 6f 20 63 68 6f 6f 73 65 20 79 6f 75 72 20 65 64 69 74 6f 72 20 79 6f 75 ment>..To.choose.your.editor.you
17fe0 20 63 61 6e 20 73 65 74 20 74 68 65 20 22 45 44 49 54 4f 52 22 20 65 6e 76 20 76 61 72 69 61 62 .can.set.the."EDITOR".env.variab
18000 6c 65 2e 0a 0a 54 6f 20 67 65 74 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6e 66 69 67 75 72 61 74 le...To.get.a.list.of.configurat
18020 69 6f 6e 20 76 61 6c 75 65 73 20 69 6e 20 74 68 65 20 66 69 6c 65 3a 0a 0a 20 20 20 20 3c 63 6f ion.values.in.the.file:......<co
18040 6d 6d 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 6c 69 73 74 mment>%command.full_name%.--list
18060 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c 77 61 79 73 20 70 61 73 73 20 </comment>..You.can.always.pass.
18080 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 6f 70 74 69 6f 6e 2e 20 41 73 20 61 6e 20 65 78 61 6d more.than.one.option..As.an.exam
180a0 70 6c 65 2c 20 69 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 65 64 69 74 20 74 68 65 0a 67 6c 6f ple,.if.you.want.to.edit.the.glo
180c0 62 61 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f 6e 20 66 69 6c 65 2e 0a 0a 20 20 20 20 3c 63 6f 6d 6d bal.config.json.file.......<comm
180e0 65 6e 74 3e 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 65 64 69 74 6f 72 ent>%command.full_name%.--editor
18100 20 2d 2d 67 6c 6f 62 61 6c 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 .--global</comment>..Read.more.a
18120 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 t.https://getcomposer.org/doc/03
18140 2d 63 6c 69 2e 6d 64 23 63 6f 6e 66 69 67 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f -cli.md#config.EOT.).;.}.....pro
18160 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 49 6e 70 75 74 tected.function.initialize(Input
18180 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 Interface.$input,.OutputInterfac
181a0 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 e.$output).{.parent::initialize(
181c0 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 $input,.$output);..if.($input->g
181e0 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 29 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 etOption('global').&&.null.!==.$
18200 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 69 6c 65 27 29 29 20 7b 0a 74 68 72 6f input->getOption('file')).{.thro
18220 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 2d 2d 66 69 6c 65 20 w.new.\RuntimeException('--file.
18240 61 6e 64 20 2d 2d 67 6c 6f 62 61 6c 20 63 61 6e 20 6e 6f 74 20 62 65 20 63 6f 6d 62 69 6e 65 64 and.--global.can.not.be.combined
18260 27 29 3b 0a 7d 0a 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 74 68 ');.}..$io.=.$this->getIO();.$th
18280 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 is->config.=.Factory::createConf
182a0 69 67 28 24 69 6f 29 3b 0a 0a 0a 20 0a 20 24 63 6f 6e 66 69 67 46 69 6c 65 20 3d 20 24 69 6e 70 ig($io);......$configFile.=.$inp
182c0 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 29 0a 3f 20 28 24 74 68 69 73 ut->getOption('global').?.($this
182e0 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 20 2e 20 27 2f 63 6f 6e 66 69 67 ->config->get('home')...'/config
18300 2e 6a 73 6f 6e 27 29 0a 3a 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 69 .json').:.($input->getOption('fi
18320 6c 65 27 29 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 le').?:.Factory::getComposerFile
18340 28 29 29 3b 0a 0a 0a 20 69 66 20 28 0a 28 24 63 6f 6e 66 69 67 46 69 6c 65 20 3d 3d 3d 20 27 63 ());....if.(.($configFile.===.'c
18360 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 20 7c 7c 20 24 63 6f 6e 66 69 67 46 69 6c 65 20 3d 3d 3d omposer.json'.||.$configFile.===
18380 20 27 2e 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 0a 26 26 20 21 66 69 6c 65 5f 65 78 69 .'./composer.json').&&.!file_exi
183a0 73 74 73 28 24 63 6f 6e 66 69 67 46 69 6c 65 29 0a 26 26 20 72 65 61 6c 70 61 74 68 28 67 65 74 sts($configFile).&&.realpath(get
183c0 63 77 64 28 29 29 20 3d 3d 3d 20 72 65 61 6c 70 61 74 68 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 cwd()).===.realpath($this->confi
183e0 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 29 0a 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e g->get('home')).).{.file_put_con
18400 74 65 6e 74 73 28 24 63 6f 6e 66 69 67 46 69 6c 65 2c 20 22 7b 5c 6e 7d 5c 6e 22 29 3b 0a 7d 0a tents($configFile,."{\n}\n");.}.
18420 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c .$this->configFile.=.new.JsonFil
18440 65 28 24 63 6f 6e 66 69 67 46 69 6c 65 2c 20 6e 75 6c 6c 2c 20 24 69 6f 29 3b 0a 24 74 68 69 73 e($configFile,.null,.$io);.$this
18460 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 ->configSource.=.new.JsonConfigS
18480 6f 75 72 63 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 29 3b 0a 0a 24 61 75 74 68 ource($this->configFile);..$auth
184a0 43 6f 6e 66 69 67 46 69 6c 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 ConfigFile.=.$input->getOption('
184c0 67 6c 6f 62 61 6c 27 29 0a 3f 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 global').?.($this->config->get('
184e0 68 6f 6d 65 27 29 20 2e 20 27 2f 61 75 74 68 2e 6a 73 6f 6e 27 29 0a 3a 20 64 69 72 6e 61 6d 65 home')...'/auth.json').:.dirname
18500 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6e 66 69 67 46 69 6c 65 29 29 20 2e 20 27 2f 61 75 74 68 (realpath($configFile))...'/auth
18520 2e 6a 73 6f 6e 27 3b 0a 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 20 3d .json';..$this->authConfigFile.=
18540 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2c 20 6e .new.JsonFile($authConfigFile,.n
18560 75 6c 6c 2c 20 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 ull,.$io);.$this->authConfigSour
18580 63 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 24 74 68 69 73 2d ce.=.new.JsonConfigSource($this-
185a0 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2c 20 74 72 75 65 29 3b 0a 0a 0a 20 69 66 20 28 24 >authConfigFile,.true);....if.($
185c0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 29 20 26 26 20 21 24 input->getOption('global').&&.!$
185e0 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 74 6f this->configFile->exists()).{.to
18600 75 63 68 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 uch($this->configFile->getPath()
18620 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 77 72 69 74 65 28 61 72 72 61 );.$this->configFile->write(arra
18640 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 6e 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 74 29 29 y('config'.=>.new.\ArrayObject))
18660 3b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 63 68 6d 6f 64 27 2c 20 24 74 68 69 73 2d ;.Silencer::call('chmod',.$this-
18680 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 2c 20 30 36 30 30 29 3b 0a 7d >configFile->getPath(),.0600);.}
186a0 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 29 .if.($input->getOption('global')
186c0 20 26 26 20 21 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2d 3e 65 78 69 73 .&&.!$this->authConfigFile->exis
186e0 74 73 28 29 29 20 7b 0a 74 6f 75 63 68 28 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 ts()).{.touch($this->authConfigF
18700 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 ile->getPath());.$this->authConf
18720 69 67 46 69 6c 65 2d 3e 77 72 69 74 65 28 61 72 72 61 79 28 27 62 69 74 62 75 63 6b 65 74 2d 6f igFile->write(array('bitbucket-o
18740 61 75 74 68 27 20 3d 3e 20 6e 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 74 2c 20 27 67 69 74 68 auth'.=>.new.\ArrayObject,.'gith
18760 75 62 2d 6f 61 75 74 68 27 20 3d 3e 20 6e 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 74 2c 20 27 ub-oauth'.=>.new.\ArrayObject,.'
18780 67 69 74 6c 61 62 2d 6f 61 75 74 68 27 20 3d 3e 20 6e 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 gitlab-oauth'.=>.new.\ArrayObjec
187a0 74 2c 20 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 20 3d 3e 20 6e 65 77 20 5c 41 72 72 61 79 4f t,.'gitlab-token'.=>.new.\ArrayO
187c0 62 6a 65 63 74 2c 20 27 68 74 74 70 2d 62 61 73 69 63 27 20 3d 3e 20 6e 65 77 20 5c 41 72 72 61 bject,.'http-basic'.=>.new.\Arra
187e0 79 4f 62 6a 65 63 74 29 29 3b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 63 68 6d 6f 64 yObject));.Silencer::call('chmod
18800 27 2c 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2d 3e 67 65 74 50 61 74 ',.$this->authConfigFile->getPat
18820 68 28 29 2c 20 30 36 30 30 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 63 6f 6e 66 69 h(),.0600);.}..if.(!$this->confi
18840 67 46 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 gFile->exists()).{.throw.new.\Ru
18860 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 69 6c 65 20 22 25 73 ntimeException(sprintf('File."%s
18880 22 20 63 61 6e 6e 6f 74 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 ".cannot.be.found.in.the.current
188a0 20 64 69 72 65 63 74 6f 72 79 27 2c 20 24 63 6f 6e 66 69 67 46 69 6c 65 29 29 3b 0a 7d 0a 7d 0a .directory',.$configFile));.}.}.
188c0 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 ....protected.function.execute(I
188e0 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 nputInterface.$input,.OutputInte
18900 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 rface.$output).{...if.($input->g
18920 65 74 4f 70 74 69 6f 6e 28 27 65 64 69 74 6f 72 27 29 29 20 7b 0a 24 65 64 69 74 6f 72 20 3d 20 etOption('editor')).{.$editor.=.
18940 65 73 63 61 70 65 73 68 65 6c 6c 63 6d 64 28 67 65 74 65 6e 76 28 27 45 44 49 54 4f 52 27 29 29 escapeshellcmd(getenv('EDITOR'))
18960 3b 0a 69 66 20 28 21 24 65 64 69 74 6f 72 29 20 7b 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a ;.if.(!$editor).{.if.(Platform::
18980 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 65 64 69 74 6f 72 20 3d 20 27 6e 6f 74 65 70 61 isWindows()).{.$editor.=.'notepa
189a0 64 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 65 64 69 d';.}.else.{.foreach.(array('edi
189c0 74 6f 72 27 2c 20 27 76 69 6d 27 2c 20 27 76 69 27 2c 20 27 6e 61 6e 6f 27 2c 20 27 70 69 63 6f tor',.'vim',.'vi',.'nano',.'pico
189e0 27 2c 20 27 65 64 27 29 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 65 78 ',.'ed').as.$candidate).{.if.(ex
18a00 65 63 28 27 77 68 69 63 68 20 27 2e 24 63 61 6e 64 69 64 61 74 65 29 29 20 7b 0a 24 65 64 69 74 ec('which.'.$candidate)).{.$edit
18a20 6f 72 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a or.=.$candidate;.break;.}.}.}.}.
18a40 0a 24 66 69 6c 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 75 74 68 .$file.=.$input->getOption('auth
18a60 27 29 20 3f 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2d 3e 67 65 74 50 ').?.$this->authConfigFile->getP
18a80 61 74 68 28 29 20 3a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 67 65 74 50 61 ath().:.$this->configFile->getPa
18aa0 74 68 28 29 3b 0a 73 79 73 74 65 6d 28 24 65 64 69 74 6f 72 20 2e 20 27 20 27 20 2e 20 24 66 69 th();.system($editor...'.'...$fi
18ac0 6c 65 20 2e 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 3f 20 27 27 le...(Platform::isWindows().?.''
18ae0 20 3a 20 27 20 3e 20 60 74 74 79 60 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 69 .:.'.>.`tty`'));..return.0;.}..i
18b00 66 20 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 29 29 f.(!$input->getOption('global'))
18b20 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 63 .{.$this->config->merge($this->c
18b40 6f 6e 66 69 67 46 69 6c 65 2d 3e 72 65 61 64 28 29 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 onfigFile->read());.$this->confi
18b60 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 24 74 68 69 73 g->merge(array('config'.=>.$this
18b80 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 20 3f 20 24 74 68 ->authConfigFile->exists().?.$th
18ba0 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 46 69 6c 65 2d 3e 72 65 61 64 28 29 20 3a 20 61 72 72 is->authConfigFile->read().:.arr
18bc0 61 79 28 29 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 ay()));.}....if.($input->getOpti
18be0 6f 6e 28 27 6c 69 73 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 69 73 74 43 6f 6e 66 69 67 75 on('list')).{.$this->listConfigu
18c00 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 61 6c 6c 28 29 2c 20 24 74 68 ration($this->config->all(),.$th
18c20 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 72 61 77 28 29 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 72 65 is->config->raw(),.$output);..re
18c40 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 73 65 74 74 69 6e 67 4b 65 79 20 3d 20 24 69 6e 70 75 74 2d turn.0;.}..$settingKey.=.$input-
18c60 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 65 74 74 69 6e 67 2d 6b 65 79 27 29 3b 0a 69 66 20 >getArgument('setting-key');.if.
18c80 28 21 24 73 65 74 74 69 6e 67 4b 65 79 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 20 (!$settingKey).{.return.0;.}....
18ca0 69 66 20 28 61 72 72 61 79 28 29 20 21 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d if.(array().!==.$input->getArgum
18cc0 65 6e 74 28 27 73 65 74 74 69 6e 67 2d 76 61 6c 75 65 27 29 20 26 26 20 24 69 6e 70 75 74 2d 3e ent('setting-value').&&.$input->
18ce0 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 getOption('unset')).{.throw.new.
18d00 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 63 61 6e 20 6e 6f 74 20 63 \RuntimeException('You.can.not.c
18d20 6f 6d 62 69 6e 65 20 61 20 73 65 74 74 69 6e 67 20 76 61 6c 75 65 20 77 69 74 68 20 2d 2d 75 6e ombine.a.setting.value.with.--un
18d40 73 65 74 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 61 72 72 61 79 28 29 20 3d 3d 3d 20 24 69 6e 70 set');.}....if.(array().===.$inp
18d60 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 65 74 74 69 6e 67 2d 76 61 6c 75 65 27 29 ut->getArgument('setting-value')
18d80 20 26 26 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 .&&.!$input->getOption('unset'))
18da0 20 7b 0a 24 70 72 6f 70 65 72 74 69 65 73 20 3d 20 61 72 72 61 79 28 27 6e 61 6d 65 27 2c 20 27 .{.$properties.=.array('name',.'
18dc0 74 79 70 65 27 2c 20 27 64 65 73 63 72 69 70 74 69 6f 6e 27 2c 20 27 68 6f 6d 65 70 61 67 65 27 type',.'description',.'homepage'
18de0 2c 20 27 76 65 72 73 69 6f 6e 27 2c 20 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 ,.'version',.'minimum-stability'
18e00 2c 20 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 2c 20 27 6b 65 79 77 6f 72 64 73 27 2c 20 27 ,.'prefer-stable',.'keywords',.'
18e20 6c 69 63 65 6e 73 65 27 2c 20 27 65 78 74 72 61 27 29 3b 0a 24 72 61 77 44 61 74 61 20 3d 20 24 license',.'extra');.$rawData.=.$
18e40 74 68 69 73 2d 3e 63 6f 6e 66 69 67 46 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 24 64 61 74 61 20 this->configFile->read();.$data.
18e60 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 61 6c 6c 28 29 3b 0a 69 66 20 28 70 72 65 67 =.$this->config->all();.if.(preg
18e80 5f 6d 61 74 63 68 28 27 2f 5e 72 65 70 6f 73 3f 28 3f 3a 69 74 6f 72 69 65 73 29 3f 28 3f 3a 5c _match('/^repos?(?:itories)?(?:\
18ea0 2e 28 2e 2b 29 29 3f 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 61 74 63 68 65 73 .(.+))?/',.$settingKey,.$matches
18ec0 29 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 20 7c 7c 20 )).{.if.(!isset($matches[1]).||.
18ee0 24 6d 61 74 63 68 65 73 5b 31 5d 20 3d 3d 3d 20 27 27 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 69 $matches[1].===.'').{.$value.=.i
18f00 73 73 65 74 28 24 64 61 74 61 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 29 20 3f 20 24 64 sset($data['repositories']).?.$d
18f20 61 74 61 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d ata['repositories'].:.array();.}
18f40 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 61 74 61 5b 27 72 65 70 6f 73 69 .else.{.if.(!isset($data['reposi
18f60 74 6f 72 69 65 73 27 5d 5b 24 6d 61 74 63 68 65 73 5b 31 5d 5d 29 29 20 7b 0a 74 68 72 6f 77 20 tories'][$matches[1]])).{.throw.
18f80 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 new.\InvalidArgumentException('T
18fa0 68 65 72 65 20 69 73 20 6e 6f 20 27 2e 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 20 72 65 70 6f 73 here.is.no.'.$matches[1].'.repos
18fc0 69 74 6f 72 79 20 64 65 66 69 6e 65 64 27 29 3b 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 24 64 61 itory.defined');.}..$value.=.$da
18fe0 74 61 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 24 6d 61 74 63 68 65 73 5b 31 5d 5d 3b ta['repositories'][$matches[1]];
19000 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 73 74 72 70 6f 73 28 24 73 65 74 74 69 6e 67 4b 65 79 2c .}.}.elseif.(strpos($settingKey,
19020 20 27 2e 27 29 29 20 7b 0a 24 62 69 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 73 .'.')).{.$bits.=.explode('.',.$s
19040 65 74 74 69 6e 67 4b 65 79 29 3b 0a 69 66 20 28 24 62 69 74 73 5b 30 5d 20 3d 3d 3d 20 27 65 78 ettingKey);.if.($bits[0].===.'ex
19060 74 72 61 27 29 20 7b 0a 24 64 61 74 61 20 3d 20 24 72 61 77 44 61 74 61 3b 0a 7d 20 65 6c 73 65 tra').{.$data.=.$rawData;.}.else
19080 20 7b 0a 24 64 61 74 61 20 3d 20 24 64 61 74 61 5b 27 63 6f 6e 66 69 67 27 5d 3b 0a 7d 0a 24 6d .{.$data.=.$data['config'];.}.$m
190a0 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 69 74 73 20 61 73 20 atch.=.false;.foreach.($bits.as.
190c0 24 62 69 74 29 20 7b 0a 24 6b 65 79 20 3d 20 69 73 73 65 74 28 24 6b 65 79 29 20 3f 20 24 6b 65 $bit).{.$key.=.isset($key).?.$ke
190e0 79 2e 27 2e 27 2e 24 62 69 74 20 3a 20 24 62 69 74 3b 0a 24 6d 61 74 63 68 20 3d 20 66 61 6c 73 y.'.'.$bit.:.$bit;.$match.=.fals
19100 65 3b 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 24 6b 65 79 5d 29 29 20 7b 0a 24 6d 61 e;.if.(isset($data[$key])).{.$ma
19120 74 63 68 20 3d 20 74 72 75 65 3b 0a 24 64 61 74 61 20 3d 20 24 64 61 74 61 5b 24 6b 65 79 5d 3b tch.=.true;.$data.=.$data[$key];
19140 0a 75 6e 73 65 74 28 24 6b 65 79 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 6d 61 74 63 68 29 20 .unset($key);.}.}..if.(!$match).
19160 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 73 {.throw.new.\RuntimeException($s
19180 65 74 74 69 6e 67 4b 65 79 2e 27 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2e 27 29 3b 0a 7d ettingKey.'.is.not.defined.');.}
191a0 0a 0a 24 76 61 6c 75 65 20 3d 20 24 64 61 74 61 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 ..$value.=.$data;.}.elseif.(isse
191c0 74 28 24 64 61 74 61 5b 27 63 6f 6e 66 69 67 27 5d 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 t($data['config'][$settingKey]))
191e0 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 24 .{.$value.=.$this->config->get($
19200 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 settingKey,.$input->getOption('a
19220 62 73 6f 6c 75 74 65 27 29 20 3f 20 30 20 3a 20 43 6f 6e 66 69 67 3a 3a 52 45 4c 41 54 49 56 45 bsolute').?.0.:.Config::RELATIVE
19240 5f 50 41 54 48 53 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 73 65 74 _PATHS);.}.elseif.(in_array($set
19260 74 69 6e 67 4b 65 79 2c 20 24 70 72 6f 70 65 72 74 69 65 73 2c 20 74 72 75 65 29 20 26 26 20 69 tingKey,.$properties,.true).&&.i
19280 73 73 65 74 28 24 72 61 77 44 61 74 61 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 20 7b 0a 24 sset($rawData[$settingKey])).{.$
192a0 76 61 6c 75 65 20 3d 20 24 72 61 77 44 61 74 61 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 3b 0a 7d value.=.$rawData[$settingKey];.}
192c0 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 .else.{.throw.new.\RuntimeExcept
192e0 69 6f 6e 28 24 73 65 74 74 69 6e 67 4b 65 79 2e 27 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 ion($settingKey.'.is.not.defined
19300 27 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 ');.}..if.(is_array($value)).{.$
19320 76 61 6c 75 65 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a value.=.json_encode($value);.}..
19340 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 24 76 61 6c 75 65 2c 20 74 72 $this->getIO()->write($value,.tr
19360 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 0a 72 65 74 75 72 6e ue,.IOInterface::QUIET);..return
19380 20 30 3b 0a 7d 0a 0a 24 76 61 6c 75 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 .0;.}..$values.=.$input->getArgu
193a0 6d 65 6e 74 28 27 73 65 74 74 69 6e 67 2d 76 61 6c 75 65 27 29 3b 20 0a 0a 24 62 6f 6f 6c 65 61 ment('setting-value');...$boolea
193c0 6e 56 61 6c 69 64 61 74 6f 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 nValidator.=.function.($val).{.r
193e0 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 61 72 72 61 79 28 27 74 72 75 65 eturn.in_array($val,.array('true
19400 27 2c 20 27 66 61 6c 73 65 27 2c 20 27 31 27 2c 20 27 30 27 29 2c 20 74 72 75 65 29 3b 0a 7d 3b ',.'false',.'1',.'0'),.true);.};
19420 0a 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 .$booleanNormalizer.=.function.(
19440 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 $val).{.return.$val.!==.'false'.
19460 26 26 20 28 62 6f 6f 6c 29 20 24 76 61 6c 3b 0a 7d 3b 0a 0a 0a 20 24 75 6e 69 71 75 65 43 6f 6e &&.(bool).$val;.};....$uniqueCon
19480 66 69 67 56 61 6c 75 65 73 20 3d 20 61 72 72 61 79 28 0a 27 70 72 6f 63 65 73 73 2d 74 69 6d 65 figValues.=.array(.'process-time
194a0 6f 75 74 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 6e 75 6d 65 72 69 63 27 2c 20 27 69 6e 74 out'.=>.array('is_numeric',.'int
194c0 76 61 6c 27 29 2c 0a 27 75 73 65 2d 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 20 3d 3e 20 61 72 72 val'),.'use-include-path'.=>.arr
194e0 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f ay($booleanValidator,.$booleanNo
19500 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 75 73 65 2d 67 69 74 68 75 62 2d 61 70 69 27 20 3d 3e 20 61 rmalizer),.'use-github-api'.=>.a
19520 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e rray($booleanValidator,.$boolean
19540 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 70 72 65 66 65 72 72 65 64 2d 69 6e 73 74 61 6c 6c 27 Normalizer),.'preferred-install'
19560 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 .=>.array(.function.($val).{.ret
19580 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 61 72 72 61 79 28 27 61 75 74 6f 27 2c urn.in_array($val,.array('auto',
195a0 20 27 73 6f 75 72 63 65 27 2c 20 27 64 69 73 74 27 29 2c 20 74 72 75 65 29 3b 0a 7d 2c 0a 66 75 .'source',.'dist'),.true);.},.fu
195c0 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 2c 0a nction.($val).{.return.$val;.},.
195e0 29 2c 0a 27 73 74 6f 72 65 2d 61 75 74 68 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 ),.'store-auths'.=>.array(.funct
19600 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 76 61 ion.($val).{.return.in_array($va
19620 6c 2c 20 61 72 72 61 79 28 27 74 72 75 65 27 2c 20 27 66 61 6c 73 65 27 2c 20 27 70 72 6f 6d 70 l,.array('true',.'false',.'promp
19640 74 27 29 2c 20 74 72 75 65 29 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b t'),.true);.},.function.($val).{
19660 0a 69 66 20 28 27 70 72 6f 6d 70 74 27 20 3d 3d 3d 20 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e .if.('prompt'.===.$val).{.return
19680 20 27 70 72 6f 6d 70 74 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 20 21 3d 3d 20 27 66 .'prompt';.}..return.$val.!==.'f
196a0 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 6e 6f 74 alse'.&&.(bool).$val;.},.),.'not
196c0 69 66 79 2d 6f 6e 2d 69 6e 73 74 61 6c 6c 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 ify-on-install'.=>.array($boolea
196e0 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c nValidator,.$booleanNormalizer),
19700 0a 27 76 65 6e 64 6f 72 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e .'vendor-dir'.=>.array('is_strin
19720 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 g',.function.($val).{.return.$va
19740 6c 3b 0a 7d 29 2c 0a 27 62 69 6e 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 l;.}),.'bin-dir'.=>.array('is_st
19760 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 ring',.function.($val).{.return.
19780 24 76 61 6c 3b 0a 7d 29 2c 0a 27 61 72 63 68 69 76 65 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 $val;.}),.'archive-dir'.=>.array
197a0 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a ('is_string',.function.($val).{.
197c0 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 61 72 63 68 69 76 65 2d 66 6f 72 6d 61 74 return.$val;.}),.'archive-format
197e0 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e '.=>.array('is_string',.function
19800 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 64 61 74 61 .($val).{.return.$val;.}),.'data
19820 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 -dir'.=>.array('is_string',.func
19840 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 tion.($val).{.return.$val;.}),.'
19860 63 61 63 68 65 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c cache-dir'.=>.array('is_string',
19880 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a .function.($val).{.return.$val;.
198a0 7d 29 2c 0a 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 }),.'cache-files-dir'.=>.array('
198c0 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 is_string',.function.($val).{.re
198e0 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 20 turn.$val;.}),.'cache-repo-dir'.
19900 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 =>.array('is_string',.function.(
19920 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 63 61 63 68 65 2d $val).{.return.$val;.}),.'cache-
19940 76 63 73 2d 64 69 72 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 vcs-dir'.=>.array('is_string',.f
19960 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 unction.($val).{.return.$val;.})
19980 2c 0a 27 63 61 63 68 65 2d 74 74 6c 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 6e 75 6d 65 72 ,.'cache-ttl'.=>.array('is_numer
199a0 69 63 27 2c 20 27 69 6e 74 76 61 6c 27 29 2c 0a 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 74 74 6c ic',.'intval'),.'cache-files-ttl
199c0 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 6e 75 6d 65 72 69 63 27 2c 20 27 69 6e 74 76 61 6c '.=>.array('is_numeric',.'intval
199e0 27 29 2c 0a 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 27 20 3d 3e 20 61 72 72 '),.'cache-files-maxsize'.=>.arr
19a00 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 70 72 65 ay(.function.($val).{.return.pre
19a20 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 73 2a 28 5b 30 2d 39 2e 5d 2b 29 5c 73 2a 28 3f 3a 28 5b 6b g_match('/^\s*([0-9.]+)\s*(?:([k
19a40 6d 67 5d 29 28 3f 3a 69 3f 62 29 3f 29 3f 5c 73 2a 24 2f 69 27 2c 20 24 76 61 6c 29 20 3e 20 30 mg])(?:i?b)?)?\s*$/i',.$val).>.0
19a60 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 ;.},.function.($val).{.return.$v
19a80 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 62 69 6e 2d 63 6f 6d 70 61 74 27 20 3d 3e 20 61 72 72 61 79 28 al;.},.),.'bin-compat'.=>.array(
19aa0 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 .function.($val).{.return.in_arr
19ac0 61 79 28 24 76 61 6c 2c 20 61 72 72 61 79 28 27 61 75 74 6f 27 2c 20 27 66 75 6c 6c 27 29 29 3b ay($val,.array('auto',.'full'));
19ae0 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 .},.function.($val).{.return.$va
19b00 6c 3b 0a 7d 2c 0a 29 2c 0a 27 64 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 27 20 3d 3e 20 61 72 l;.},.),.'discard-changes'.=>.ar
19b20 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 6e ray(.function.($val).{.return.in
19b40 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 61 72 72 61 79 28 27 73 74 61 73 68 27 2c 20 27 74 72 75 _array($val,.array('stash',.'tru
19b60 65 27 2c 20 27 66 61 6c 73 65 27 2c 20 27 31 27 2c 20 27 30 27 29 2c 20 74 72 75 65 29 3b 0a 7d e',.'false',.'1',.'0'),.true);.}
19b80 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 69 66 20 28 27 73 74 61 73 68 27 20 ,.function.($val).{.if.('stash'.
19ba0 3d 3d 3d 20 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 27 73 74 61 73 68 27 3b 0a 7d 0a 0a 72 ===.$val).{.return.'stash';.}..r
19bc0 65 74 75 72 6e 20 24 76 61 6c 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 eturn.$val.!==.'false'.&&.(bool)
19be0 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 61 75 74 6f 6c 6f 61 64 65 72 2d 73 75 66 66 69 78 27 .$val;.},.),.'autoloader-suffix'
19c00 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 .=>.array('is_string',.function.
19c20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 20 3d 3d 3d 20 27 6e 75 6c 6c 27 20 ($val).{.return.$val.===.'null'.
19c40 3f 20 6e 75 6c 6c 20 3a 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 73 6f 72 74 2d 70 61 63 6b 61 67 65 ?.null.:.$val;.}),.'sort-package
19c60 73 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 s'.=>.array($booleanValidator,.$
19c80 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 6f 70 74 69 6d 69 7a 65 2d 61 75 booleanNormalizer),.'optimize-au
19ca0 74 6f 6c 6f 61 64 65 72 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 toloader'.=>.array($booleanValid
19cc0 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 63 6c 61 73 ator,.$booleanNormalizer),.'clas
19ce0 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f smap-authoritative'.=>.array($bo
19d00 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a oleanValidator,.$booleanNormaliz
19d20 65 72 29 2c 0a 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 20 3d 3e 20 61 72 72 61 79 28 er),.'apcu-autoloader'.=>.array(
19d40 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 $booleanValidator,.$booleanNorma
19d60 6c 69 7a 65 72 29 2c 0a 27 70 72 65 70 65 6e 64 2d 61 75 74 6f 6c 6f 61 64 65 72 27 20 3d 3e 20 lizer),.'prepend-autoloader'.=>.
19d80 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 array($booleanValidator,.$boolea
19da0 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 20 3d 3e 20 61 nNormalizer),.'disable-tls'.=>.a
19dc0 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e rray($booleanValidator,.$boolean
19de0 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 73 65 63 75 72 65 2d 68 74 74 70 27 20 3d 3e 20 61 72 Normalizer),.'secure-http'.=>.ar
19e00 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e ray($booleanValidator,.$booleanN
19e20 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 63 61 66 69 6c 65 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 ormalizer),.'cafile'.=>.array(.f
19e40 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 66 69 6c 65 5f 65 78 69 unction.($val).{.return.file_exi
19e60 73 74 73 28 24 76 61 6c 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 76 61 6c 29 3b 0a sts($val).&&.is_readable($val);.
19e80 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c },.function.($val).{.return.$val
19ea0 20 3d 3d 3d 20 27 6e 75 6c 6c 27 20 3f 20 6e 75 6c 6c 20 3a 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c .===.'null'.?.null.:.$val;.},.),
19ec0 0a 27 63 61 70 61 74 68 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 .'capath'.=>.array(.function.($v
19ee0 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 5f 64 69 72 28 24 76 61 6c 29 20 26 26 20 69 73 5f al).{.return.is_dir($val).&&.is_
19f00 72 65 61 64 61 62 6c 65 28 24 76 61 6c 29 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 readable($val);.},.function.($va
19f20 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 20 3d 3d 3d 20 27 6e 75 6c 6c 27 20 3f 20 6e 75 l).{.return.$val.===.'null'.?.nu
19f40 6c 6c 20 3a 20 24 76 61 6c 3b 0a 7d 2c 0a 29 2c 0a 27 67 69 74 68 75 62 2d 65 78 70 6f 73 65 2d ll.:.$val;.},.),.'github-expose-
19f60 68 6f 73 74 6e 61 6d 65 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 hostname'.=>.array($booleanValid
19f80 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 27 68 74 61 63 ator,.$booleanNormalizer),.'htac
19fa0 63 65 73 73 2d 70 72 6f 74 65 63 74 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e 56 cess-protect'.=>.array($booleanV
19fc0 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a 29 alidator,.$booleanNormalizer),.)
19fe0 3b 0a 24 6d 75 6c 74 69 43 6f 6e 66 69 67 56 61 6c 75 65 73 20 3d 20 61 72 72 61 79 28 0a 27 67 ;.$multiConfigValues.=.array(.'g
1a000 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 ithub-protocols'.=>.array(.funct
1a020 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 6c ion.($vals).{.if.(!is_array($val
1a040 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 61 72 72 61 79 20 65 78 70 65 63 74 65 64 27 3b 0a 7d s)).{.return.'array.expected';.}
1a060 0a 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 73 20 61 73 20 24 76 61 6c 29 20 7b 0a 69 66 20 28 ..foreach.($vals.as.$val).{.if.(
1a080 21 69 6e 5f 61 72 72 61 79 28 24 76 61 6c 2c 20 61 72 72 61 79 28 27 67 69 74 27 2c 20 27 68 74 !in_array($val,.array('git',.'ht
1a0a0 74 70 73 27 2c 20 27 73 73 68 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 76 61 6c 69 64 20 70 tps',.'ssh'))).{.return.'valid.p
1a0c0 72 6f 74 6f 63 6f 6c 73 20 69 6e 63 6c 75 64 65 3a 20 67 69 74 2c 20 68 74 74 70 73 2c 20 73 73 rotocols.include:.git,.https,.ss
1a0e0 68 27 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f h';.}.}..return.true;.},.functio
1a100 6e 20 28 24 76 61 6c 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 73 3b 0a 7d 2c 0a 29 2c 0a n.($vals).{.return.$vals;.},.),.
1a120 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 'github-domains'.=>.array(.funct
1a140 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 6c ion.($vals).{.if.(!is_array($val
1a160 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 61 72 72 61 79 20 65 78 70 65 63 74 65 64 27 3b 0a 7d s)).{.return.'array.expected';.}
1a180 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c ..return.true;.},.function.($val
1a1a0 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 73 3b 0a 7d 2c 0a 29 2c 0a 27 67 69 74 6c 61 62 s).{.return.$vals;.},.),.'gitlab
1a1c0 2d 64 6f 6d 61 69 6e 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 -domains'.=>.array(.function.($v
1a1e0 61 6c 73 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 6c 73 29 29 20 7b 0a 72 als).{.if.(!is_array($vals)).{.r
1a200 65 74 75 72 6e 20 27 61 72 72 61 79 20 65 78 70 65 63 74 65 64 27 3b 0a 7d 0a 0a 72 65 74 75 72 eturn.'array.expected';.}..retur
1a220 6e 20 74 72 75 65 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 72 65 n.true;.},.function.($vals).{.re
1a240 74 75 72 6e 20 24 76 61 6c 73 3b 0a 7d 2c 0a 29 2c 0a 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 turn.$vals;.},.),.);..if.($input
1a260 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 20 26 26 20 28 69 73 73 65 74 28 24 ->getOption('unset').&&.(isset($
1a280 75 6e 69 71 75 65 43 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 uniqueConfigValues[$settingKey])
1a2a0 20 7c 7c 20 69 73 73 65 74 28 24 6d 75 6c 74 69 43 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 73 65 .||.isset($multiConfigValues[$se
1a2c0 74 74 69 6e 67 4b 65 79 5d 29 29 29 20 7b 0a 69 66 20 28 24 73 65 74 74 69 6e 67 4b 65 79 20 3d ttingKey]))).{.if.($settingKey.=
1a2e0 3d 3d 20 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 20 26 26 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 ==.'disable-tls'.&&.$this->confi
1a300 67 2d 3e 67 65 74 28 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e g->get('disable-tls')).{.$this->
1a320 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 59 6f 75 20 61 getIO()->writeError('<info>You.a
1a340 72 65 20 6e 6f 77 20 72 75 6e 6e 69 6e 67 20 43 6f 6d 70 6f 73 65 72 20 77 69 74 68 20 53 53 4c re.now.running.Composer.with.SSL
1a360 2f 54 4c 53 20 70 72 6f 74 65 63 74 69 6f 6e 20 65 6e 61 62 6c 65 64 2e 3c 2f 69 6e 66 6f 3e 27 /TLS.protection.enabled.</info>'
1a380 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 );.}..$this->configSource->remov
1a3a0 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 0a 72 65 eConfigSetting($settingKey);..re
1a3c0 74 75 72 6e 20 30 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 75 6e 69 71 75 65 43 6f 6e 66 69 turn.0;.}.if.(isset($uniqueConfi
1a3e0 67 56 61 6c 75 65 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e gValues[$settingKey])).{.$this->
1a400 68 61 6e 64 6c 65 53 69 6e 67 6c 65 56 61 6c 75 65 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 handleSingleValue($settingKey,.$
1a420 75 6e 69 71 75 65 43 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 2c uniqueConfigValues[$settingKey],
1a440 20 24 76 61 6c 75 65 73 2c 20 27 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 27 29 3b 0a 0a .$values,.'addConfigSetting');..
1a460 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 6d 75 6c 74 69 43 6f 6e 66 return.0;.}.if.(isset($multiConf
1a480 69 67 56 61 6c 75 65 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d igValues[$settingKey])).{.$this-
1a4a0 3e 68 61 6e 64 6c 65 4d 75 6c 74 69 56 61 6c 75 65 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 >handleMultiValue($settingKey,.$
1a4c0 6d 75 6c 74 69 43 6f 6e 66 69 67 56 61 6c 75 65 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 2c 20 multiConfigValues[$settingKey],.
1a4e0 24 76 61 6c 75 65 73 2c 20 27 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 27 29 3b 0a 0a 72 $values,.'addConfigSetting');..r
1a500 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 20 24 75 6e 69 71 75 65 50 72 6f 70 73 20 3d 20 61 72 72 eturn.0;.}....$uniqueProps.=.arr
1a520 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c ay(.'name'.=>.array('is_string',
1a540 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a .function.($val).{.return.$val;.
1a560 7d 29 2c 0a 27 74 79 70 65 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c }),.'type'.=>.array('is_string',
1a580 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a .function.($val).{.return.$val;.
1a5a0 7d 29 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 61 72 72 61 79 28 27 69 73 5f 73 }),.'description'.=>.array('is_s
1a5c0 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e tring',.function.($val).{.return
1a5e0 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 68 6f 6d 65 70 61 67 65 27 20 3d 3e 20 61 72 72 61 79 28 27 .$val;.}),.'homepage'.=>.array('
1a600 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b 0a 72 65 is_string',.function.($val).{.re
1a620 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 61 72 72 61 turn.$val;.}),.'version'.=>.arra
1a640 79 28 27 69 73 5f 73 74 72 69 6e 67 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 7b y('is_string',.function.($val).{
1a660 0a 72 65 74 75 72 6e 20 24 76 61 6c 3b 0a 7d 29 2c 0a 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 .return.$val;.}),.'minimum-stabi
1a680 6c 69 74 79 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 29 20 lity'.=>.array(.function.($val).
1a6a0 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 {.return.isset(BasePackage::$sta
1a6c0 62 69 6c 69 74 69 65 73 5b 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 6e 6f 72 6d 61 6c 69 7a bilities[VersionParser::normaliz
1a6e0 65 53 74 61 62 69 6c 69 74 79 28 24 76 61 6c 29 5d 29 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 eStability($val)]);.},.function.
1a700 28 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 6e ($val).{.return.VersionParser::n
1a720 6f 72 6d 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 24 76 61 6c 29 3b 0a 7d 2c 0a 29 2c 0a 27 ormalizeStability($val);.},.),.'
1a740 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 20 3d 3e 20 61 72 72 61 79 28 24 62 6f 6f 6c 65 61 6e prefer-stable'.=>.array($boolean
1a760 56 61 6c 69 64 61 74 6f 72 2c 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a 65 72 29 2c 0a Validator,.$booleanNormalizer),.
1a780 29 3b 0a 24 6d 75 6c 74 69 50 72 6f 70 73 20 3d 20 61 72 72 61 79 28 0a 27 6b 65 79 77 6f 72 64 );.$multiProps.=.array(.'keyword
1a7a0 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a s'.=>.array(.function.($vals).{.
1a7c0 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 76 61 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 if.(!is_array($vals)).{.return.'
1a7e0 61 72 72 61 79 20 65 78 70 65 63 74 65 64 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b array.expected';.}..return.true;
1a800 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 .},.function.($vals).{.return.$v
1a820 61 6c 73 3b 0a 7d 2c 0a 29 2c 0a 27 6c 69 63 65 6e 73 65 27 20 3d 3e 20 61 72 72 61 79 28 0a 66 als;.},.),.'license'.=>.array(.f
1a840 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 73 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 unction.($vals).{.if.(!is_array(
1a860 24 76 61 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 61 72 72 61 79 20 65 78 70 65 63 74 65 64 $vals)).{.return.'array.expected
1a880 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 ';.}..return.true;.},.function.(
1a8a0 24 76 61 6c 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 73 3b 0a 7d 2c 0a 29 2c 0a 29 3b 0a $vals).{.return.$vals;.},.),.);.
1a8c0 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 67 6c 6f 62 61 6c 27 29 .if.($input->getOption('global')
1a8e0 20 26 26 20 28 69 73 73 65 74 28 24 75 6e 69 71 75 65 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 .&&.(isset($uniqueProps[$setting
1a900 4b 65 79 5d 29 20 7c 7c 20 69 73 73 65 74 28 24 6d 75 6c 74 69 50 72 6f 70 73 5b 24 73 65 74 74 Key]).||.isset($multiProps[$sett
1a920 69 6e 67 4b 65 79 5d 29 20 7c 7c 20 73 75 62 73 74 72 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 ingKey]).||.substr($settingKey,.
1a940 30 2c 20 36 29 20 3d 3d 3d 20 27 65 78 74 72 61 2e 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 0,.6).===.'extra.')).{.throw.new
1a960 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 .\InvalidArgumentException('The.
1a980 27 2e 24 73 65 74 74 69 6e 67 4b 65 79 2e 27 20 70 72 6f 70 65 72 74 79 20 63 61 6e 20 6e 6f 74 '.$settingKey.'.property.can.not
1a9a0 20 62 65 20 73 65 74 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 66 69 67 2e 6a 73 6f .be.set.in.the.global.config.jso
1a9c0 6e 20 66 69 6c 65 2e 20 55 73 65 20 60 63 6f 6d 70 6f 73 65 72 20 67 6c 6f 62 61 6c 20 63 6f 6e n.file..Use.`composer.global.con
1a9e0 66 69 67 60 20 74 6f 20 61 70 70 6c 79 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68 65 20 67 6c 6f fig`.to.apply.changes.to.the.glo
1aa00 62 61 6c 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 bal.composer.json');.}.if.($inpu
1aa20 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 20 26 26 20 28 69 73 73 65 74 28 t->getOption('unset').&&.(isset(
1aa40 24 75 6e 69 71 75 65 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 20 7c 7c 20 69 73 $uniqueProps[$settingKey]).||.is
1aa60 73 65 74 28 24 6d 75 6c 74 69 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 29 20 set($multiProps[$settingKey]))).
1aa80 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 50 72 6f {.$this->configSource->removePro
1aaa0 70 65 72 74 79 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d perty($settingKey);..return.0;.}
1aac0 0a 69 66 20 28 69 73 73 65 74 28 24 75 6e 69 71 75 65 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 .if.(isset($uniqueProps[$setting
1aae0 4b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 53 69 6e 67 6c 65 56 61 6c 75 Key])).{.$this->handleSingleValu
1ab00 65 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 75 6e 69 71 75 65 50 72 6f 70 73 5b 24 73 65 74 e($settingKey,.$uniqueProps[$set
1ab20 74 69 6e 67 4b 65 79 5d 2c 20 24 76 61 6c 75 65 73 2c 20 27 61 64 64 50 72 6f 70 65 72 74 79 27 tingKey],.$values,.'addProperty'
1ab40 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 6d 75 6c 74 69 );..return.0;.}.if.(isset($multi
1ab60 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 68 61 Props[$settingKey])).{.$this->ha
1ab80 6e 64 6c 65 4d 75 6c 74 69 56 61 6c 75 65 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 75 6c ndleMultiValue($settingKey,.$mul
1aba0 74 69 50 72 6f 70 73 5b 24 73 65 74 74 69 6e 67 4b 65 79 5d 2c 20 24 76 61 6c 75 65 73 2c 20 27 tiProps[$settingKey],.$values,.'
1abc0 61 64 64 50 72 6f 70 65 72 74 79 27 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 20 69 addProperty');..return.0;.}....i
1abe0 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 72 65 70 6f 73 3f 28 3f 3a 69 74 6f 72 69 65 f.(preg_match('/^repos?(?:itorie
1ac00 73 29 3f 5c 2e 28 2e 2b 29 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 61 74 63 68 s)?\.(.+)/',.$settingKey,.$match
1ac20 65 73 29 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e es)).{.if.($input->getOption('un
1ac40 73 65 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 set')).{.$this->configSource->re
1ac60 6d 6f 76 65 52 65 70 6f 73 69 74 6f 72 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 0a 72 65 moveRepository($matches[1]);..re
1ac80 74 75 72 6e 20 30 3b 0a 7d 0a 0a 69 66 20 28 32 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 turn.0;.}..if.(2.===.count($valu
1aca0 65 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 52 es)).{.$this->configSource->addR
1acc0 65 70 6f 73 69 74 6f 72 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 61 72 72 61 79 28 0a 27 74 epository($matches[1],.array(.'t
1ace0 79 70 65 27 20 3d 3e 20 24 76 61 6c 75 65 73 5b 30 5d 2c 0a 27 75 72 6c 27 20 3d 3e 20 24 76 61 ype'.=>.$values[0],.'url'.=>.$va
1ad00 6c 75 65 73 5b 31 5d 2c 0a 29 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 69 66 20 28 31 lues[1],.));..return.0;.}..if.(1
1ad20 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 .===.count($values)).{.$value.=.
1ad40 73 74 72 74 6f 6c 6f 77 65 72 28 24 76 61 6c 75 65 73 5b 30 5d 29 3b 0a 69 66 20 28 74 72 75 65 strtolower($values[0]);.if.(true
1ad60 20 3d 3d 3d 20 24 62 6f 6f 6c 65 61 6e 56 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 75 65 29 29 20 .===.$booleanValidator($value)).
1ad80 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 62 6f 6f 6c 65 61 6e 4e 6f 72 6d 61 6c 69 7a {.if.(false.===.$booleanNormaliz
1ada0 65 72 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 er($value)).{.$this->configSourc
1adc0 65 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 66 61 e->addRepository($matches[1],.fa
1ade0 6c 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 61 6c lse);..return.0;.}.}.else.{.$val
1ae00 75 65 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 76 61 6c 75 65 73 ue.=.JsonFile::parseJson($values
1ae20 5b 30 5d 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 52 65 [0]);.$this->configSource->addRe
1ae40 70 6f 73 69 74 6f 72 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 24 76 61 6c 75 65 29 3b 0a 0a pository($matches[1],.$value);..
1ae60 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d return.0;.}.}..throw.new.\Runtim
1ae80 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 70 61 73 73 20 74 68 65 20 74 79 eException('You.must.pass.the.ty
1aea0 70 65 20 61 6e 64 20 61 20 75 72 6c 2e 20 45 78 61 6d 70 6c 65 3a 20 70 68 70 20 63 6f 6d 70 6f pe.and.a.url..Example:.php.compo
1aec0 73 65 72 2e 70 68 61 72 20 63 6f 6e 66 69 67 20 72 65 70 6f 73 69 74 6f 72 69 65 73 2e 66 6f 6f ser.phar.config.repositories.foo
1aee0 20 76 63 73 20 68 74 74 70 73 3a 2f 2f 62 61 72 2e 63 6f 6d 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 .vcs.https://bar.com');.}....if.
1af00 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 65 78 74 72 61 5c 2e 28 2e 2b 29 2f 27 2c 20 24 73 (preg_match('/^extra\.(.+)/',.$s
1af20 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 24 69 6e 70 ettingKey,.$matches)).{.if.($inp
1af40 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 24 74 68 69 73 2d ut->getOption('unset')).{.$this-
1af60 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 28 24 73 >configSource->removeProperty($s
1af80 65 74 74 69 6e 67 4b 65 79 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 74 68 69 73 2d ettingKey);..return.0;.}..$this-
1afa0 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 50 72 6f 70 65 72 74 79 28 24 73 65 74 74 >configSource->addProperty($sett
1afc0 69 6e 67 4b 65 79 2c 20 24 76 61 6c 75 65 73 5b 30 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a ingKey,.$values[0]);..return.0;.
1afe0 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 70 6c 61 74 66 6f 72 6d 5c }....if.(preg_match('/^platform\
1b000 2e 28 2e 2b 29 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 61 74 63 68 65 73 29 29 .(.+)/',.$settingKey,.$matches))
1b020 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 .{.if.($input->getOption('unset'
1b040 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 )).{.$this->configSource->remove
1b060 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 0a 72 65 74 ConfigSetting($settingKey);..ret
1b080 75 72 6e 20 30 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 urn.0;.}..$this->configSource->a
1b0a0 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 76 61 ddConfigSetting($settingKey,.$va
1b0c0 6c 75 65 73 5b 30 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 69 66 20 28 24 73 65 74 74 lues[0]);..return.0;.}.if.($sett
1b0e0 69 6e 67 4b 65 79 20 3d 3d 3d 20 27 70 6c 61 74 66 6f 72 6d 27 20 26 26 20 24 69 6e 70 75 74 2d ingKey.===.'platform'.&&.$input-
1b100 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f >getOption('unset')).{.$this->co
1b120 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 nfigSource->removeConfigSetting(
1b140 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 20 69 66 $settingKey);..return.0;.}....if
1b160 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 28 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 .(preg_match('/^(bitbucket-oauth
1b180 7c 67 69 74 68 75 62 2d 6f 61 75 74 68 7c 67 69 74 6c 61 62 2d 6f 61 75 74 68 7c 67 69 74 6c 61 |github-oauth|gitlab-oauth|gitla
1b1a0 62 2d 74 6f 6b 65 6e 7c 68 74 74 70 2d 62 61 73 69 63 29 5c 2e 28 2e 2b 29 2f 27 2c 20 24 73 65 b-token|http-basic)\.(.+)/',.$se
1b1c0 74 74 69 6e 67 4b 65 79 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 ttingKey,.$matches)).{.if.($inpu
1b1e0 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 6e 73 65 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e t->getOption('unset')).{.$this->
1b200 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 authConfigSource->removeConfigSe
1b220 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 tting($matches[1].'.'.$matches[2
1b240 5d 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 65 6d 6f 76 65 43 ]);.$this->configSource->removeC
1b260 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 onfigSetting($matches[1].'.'.$ma
1b280 74 63 68 65 73 5b 32 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 69 66 20 28 24 6d 61 tches[2]);..return.0;.}..if.($ma
1b2a0 74 63 68 65 73 5b 31 5d 20 3d 3d 3d 20 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 27 29 20 tches[1].===.'bitbucket-oauth').
1b2c0 7b 0a 69 66 20 28 32 20 21 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 74 68 {.if.(2.!==.count($values)).{.th
1b2e0 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 45 78 70 65 63 row.new.\RuntimeException('Expec
1b300 74 65 64 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 20 28 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 2c ted.two.arguments.(consumer-key,
1b320 20 63 6f 6e 73 75 6d 65 72 2d 73 65 63 72 65 74 29 2c 20 67 6f 74 20 27 2e 63 6f 75 6e 74 28 24 .consumer-secret),.got.'.count($
1b340 76 61 6c 75 65 73 29 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d values));.}.$this->configSource-
1b360 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d >removeConfigSetting($matches[1]
1b380 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f .'.'.$matches[2]);.$this->authCo
1b3a0 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 nfigSource->addConfigSetting($ma
1b3c0 74 63 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 61 72 72 61 79 28 tches[1].'.'.$matches[2],.array(
1b3e0 27 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 27 20 3d 3e 20 24 76 61 6c 75 65 73 5b 30 5d 2c 20 27 63 'consumer-key'.=>.$values[0],.'c
1b400 6f 6e 73 75 6d 65 72 2d 73 65 63 72 65 74 27 20 3d 3e 20 24 76 61 6c 75 65 73 5b 31 5d 29 29 3b onsumer-secret'.=>.$values[1]));
1b420 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6d 61 74 63 68 65 73 5b 31 5d 2c .}.elseif.(in_array($matches[1],
1b440 20 61 72 72 61 79 28 27 67 69 74 68 75 62 2d 6f 61 75 74 68 27 2c 20 27 67 69 74 6c 61 62 2d 6f .array('github-oauth',.'gitlab-o
1b460 61 75 74 68 27 2c 20 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 29 2c 20 74 72 75 65 29 29 20 7b auth',.'gitlab-token'),.true)).{
1b480 0a 69 66 20 28 31 20 21 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 74 68 72 .if.(1.!==.count($values)).{.thr
1b4a0 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 6f 6f 20 6d 61 ow.new.\RuntimeException('Too.ma
1b4c0 6e 79 20 61 72 67 75 6d 65 6e 74 73 2c 20 65 78 70 65 63 74 65 64 20 6f 6e 6c 79 20 6f 6e 65 20 ny.arguments,.expected.only.one.
1b4e0 74 6f 6b 65 6e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e token');.}.$this->configSource->
1b500 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 5b 31 5d 2e removeConfigSetting($matches[1].
1b520 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e '.'.$matches[2]);.$this->authCon
1b540 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 figSource->addConfigSetting($mat
1b560 63 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 24 76 61 6c 75 65 73 ches[1].'.'.$matches[2],.$values
1b580 5b 30 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6d 61 74 63 68 65 73 5b 31 5d 20 3d 3d 3d 20 [0]);.}.elseif.($matches[1].===.
1b5a0 27 68 74 74 70 2d 62 61 73 69 63 27 29 20 7b 0a 69 66 20 28 32 20 21 3d 3d 20 63 6f 75 6e 74 28 'http-basic').{.if.(2.!==.count(
1b5c0 24 76 61 6c 75 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 $values)).{.throw.new.\RuntimeEx
1b5e0 63 65 70 74 69 6f 6e 28 27 45 78 70 65 63 74 65 64 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 73 20 ception('Expected.two.arguments.
1b600 28 75 73 65 72 6e 61 6d 65 2c 20 70 61 73 73 77 6f 72 64 29 2c 20 67 6f 74 20 27 2e 63 6f 75 6e (username,.password),.got.'.coun
1b620 74 28 24 76 61 6c 75 65 73 29 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 t($values));.}.$this->configSour
1b640 63 65 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6d 61 74 63 68 65 73 ce->removeConfigSetting($matches
1b660 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 [1].'.'.$matches[2]);.$this->aut
1b680 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 hConfigSource->addConfigSetting(
1b6a0 24 6d 61 74 63 68 65 73 5b 31 5d 2e 27 2e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 61 72 72 $matches[1].'.'.$matches[2],.arr
1b6c0 61 79 28 27 75 73 65 72 6e 61 6d 65 27 20 3d 3e 20 24 76 61 6c 75 65 73 5b 30 5d 2c 20 27 70 61 ay('username'.=>.$values[0],.'pa
1b6e0 73 73 77 6f 72 64 27 20 3d 3e 20 24 76 61 6c 75 65 73 5b 31 5d 29 29 3b 0a 7d 0a 0a 72 65 74 75 ssword'.=>.$values[1]));.}..retu
1b700 72 6e 20 30 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 73 63 72 rn.0;.}....if.(preg_match('/^scr
1b720 69 70 74 73 5c 2e 28 2e 2b 29 2f 27 2c 20 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 24 6d 61 74 63 ipts\.(.+)/',.$settingKey,.$matc
1b740 68 65 73 29 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 hes)).{.if.($input->getOption('u
1b760 6e 73 65 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 72 nset')).{.$this->configSource->r
1b780 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 28 24 73 65 74 74 69 6e 67 4b 65 79 29 3b 0a 0a 72 65 74 emoveProperty($settingKey);..ret
1b7a0 75 72 6e 20 30 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 urn.0;.}..$this->configSource->a
1b7c0 64 64 50 72 6f 70 65 72 74 79 28 24 73 65 74 74 69 6e 67 4b 65 79 2c 20 63 6f 75 6e 74 28 24 76 ddProperty($settingKey,.count($v
1b7e0 61 6c 75 65 73 29 20 3e 20 31 20 3f 20 24 76 61 6c 75 65 73 20 3a 20 24 76 61 6c 75 65 73 5b 30 alues).>.1.?.$values.:.$values[0
1b800 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 ]);..return.0;.}..throw.new.\Inv
1b820 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 53 65 74 74 69 6e 67 20 27 alidArgumentException('Setting.'
1b840 2e 24 73 65 74 74 69 6e 67 4b 65 79 2e 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 6f 72 .$settingKey.'.does.not.exist.or
1b860 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 69 73 20 63 6f 6d 6d 61 6e .is.not.supported.by.this.comman
1b880 64 27 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c d');.}..protected.function.handl
1b8a0 65 53 69 6e 67 6c 65 56 61 6c 75 65 28 24 6b 65 79 2c 20 61 72 72 61 79 20 24 63 61 6c 6c 62 61 eSingleValue($key,.array.$callba
1b8c0 63 6b 73 2c 20 61 72 72 61 79 20 24 76 61 6c 75 65 73 2c 20 24 6d 65 74 68 6f 64 29 0a 7b 0a 6c cks,.array.$values,.$method).{.l
1b8e0 69 73 74 28 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 29 20 3d 20 24 ist($validator,.$normalizer).=.$
1b900 63 61 6c 6c 62 61 63 6b 73 3b 0a 69 66 20 28 31 20 21 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 callbacks;.if.(1.!==.count($valu
1b920 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 es)).{.throw.new.\RuntimeExcepti
1b940 6f 6e 28 27 59 6f 75 20 63 61 6e 20 6f 6e 6c 79 20 70 61 73 73 20 6f 6e 65 20 76 61 6c 75 65 2e on('You.can.only.pass.one.value.
1b960 20 45 78 61 6d 70 6c 65 3a 20 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 63 6f 6e 66 .Example:.php.composer.phar.conf
1b980 69 67 20 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 20 33 30 30 27 29 3b 0a 7d 0a 0a 69 66 20 ig.process-timeout.300');.}..if.
1b9a0 28 74 72 75 65 20 21 3d 3d 20 24 76 61 6c 69 64 61 74 69 6f 6e 20 3d 20 24 76 61 6c 69 64 61 74 (true.!==.$validation.=.$validat
1b9c0 6f 72 28 24 76 61 6c 75 65 73 5b 30 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e or($values[0])).{.throw.new.\Run
1b9e0 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 22 25 73 22 20 69 73 20 timeException(sprintf(.'"%s".is.
1ba00 61 6e 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 27 2e 28 24 76 61 6c 69 64 61 74 69 6f 6e 20 3f an.invalid.value'.($validation.?
1ba20 20 27 20 28 27 2e 24 76 61 6c 69 64 61 74 69 6f 6e 2e 27 29 27 20 3a 20 27 27 29 2c 0a 24 76 61 .'.('.$validation.')'.:.''),.$va
1ba40 6c 75 65 73 5b 30 5d 0a 29 29 3b 0a 7d 0a 0a 24 6e 6f 72 6d 61 6c 69 7a 65 64 56 61 6c 75 65 20 lues[0].));.}..$normalizedValue.
1ba60 3d 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 28 24 76 61 6c 75 65 73 5b 30 5d 29 3b 0a 0a 69 66 20 28 =.$normalizer($values[0]);..if.(
1ba80 24 6b 65 79 20 3d 3d 3d 20 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 29 20 7b 0a 69 66 20 28 21 24 $key.===.'disable-tls').{.if.(!$
1baa0 6e 6f 72 6d 61 6c 69 7a 65 64 56 61 6c 75 65 20 26 26 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 normalizedValue.&&.$this->config
1bac0 2d 3e 67 65 74 28 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 67 ->get('disable-tls')).{.$this->g
1bae0 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 59 6f 75 20 61 72 etIO()->writeError('<info>You.ar
1bb00 65 20 6e 6f 77 20 72 75 6e 6e 69 6e 67 20 43 6f 6d 70 6f 73 65 72 20 77 69 74 68 20 53 53 4c 2f e.now.running.Composer.with.SSL/
1bb20 54 4c 53 20 70 72 6f 74 65 63 74 69 6f 6e 20 65 6e 61 62 6c 65 64 2e 3c 2f 69 6e 66 6f 3e 27 29 TLS.protection.enabled.</info>')
1bb40 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6e 6f 72 6d 61 6c 69 7a 65 64 56 61 6c 75 65 20 26 26 20 ;.}.elseif.($normalizedValue.&&.
1bb60 21 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 61 62 6c 65 2d 74 6c 73 !$this->config->get('disable-tls
1bb80 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 ')).{.$this->getIO()->writeError
1bba0 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 6e 6f 77 20 72 75 6e 6e 69 6e 67 20 43 ('<warning>You.are.now.running.C
1bbc0 6f 6d 70 6f 73 65 72 20 77 69 74 68 20 53 53 4c 2f 54 4c 53 20 70 72 6f 74 65 63 74 69 6f 6e 20 omposer.with.SSL/TLS.protection.
1bbe0 64 69 73 61 62 6c 65 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 disabled.</warning>');.}.}..retu
1bc00 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 rn.call_user_func(array($this->c
1bc20 6f 6e 66 69 67 53 6f 75 72 63 65 2c 20 24 6d 65 74 68 6f 64 29 2c 20 24 6b 65 79 2c 20 24 6e 6f onfigSource,.$method),.$key,.$no
1bc40 72 6d 61 6c 69 7a 65 64 56 61 6c 75 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e rmalizedValue);.}..protected.fun
1bc60 63 74 69 6f 6e 20 68 61 6e 64 6c 65 4d 75 6c 74 69 56 61 6c 75 65 28 24 6b 65 79 2c 20 61 72 72 ction.handleMultiValue($key,.arr
1bc80 61 79 20 24 63 61 6c 6c 62 61 63 6b 73 2c 20 61 72 72 61 79 20 24 76 61 6c 75 65 73 2c 20 24 6d ay.$callbacks,.array.$values,.$m
1bca0 65 74 68 6f 64 29 0a 7b 0a 6c 69 73 74 28 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 6e 6f 72 6d 61 ethod).{.list($validator,.$norma
1bcc0 6c 69 7a 65 72 29 20 3d 20 24 63 61 6c 6c 62 61 63 6b 73 3b 0a 69 66 20 28 74 72 75 65 20 21 3d lizer).=.$callbacks;.if.(true.!=
1bce0 3d 20 24 76 61 6c 69 64 61 74 69 6f 6e 20 3d 20 24 76 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 75 =.$validation.=.$validator($valu
1bd00 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 es)).{.throw.new.\RuntimeExcepti
1bd20 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 25 73 20 69 73 20 61 6e 20 69 6e 76 61 6c 69 64 20 76 61 on(sprintf(.'%s.is.an.invalid.va
1bd40 6c 75 65 27 2e 28 24 76 61 6c 69 64 61 74 69 6f 6e 20 3f 20 27 20 28 27 2e 24 76 61 6c 69 64 61 lue'.($validation.?.'.('.$valida
1bd60 74 69 6f 6e 2e 27 29 27 20 3a 20 27 27 29 2c 0a 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 76 61 6c tion.')'.:.''),.json_encode($val
1bd80 75 65 73 29 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e ues).));.}..return.call_user_fun
1bda0 63 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 2c 20 24 6d 65 c(array($this->configSource,.$me
1bdc0 74 68 6f 64 29 2c 20 24 6b 65 79 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 28 24 76 61 6c 75 65 73 thod),.$key,.$normalizer($values
1bde0 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f ));.}..........protected.functio
1be00 6e 20 6c 69 73 74 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 61 72 72 61 79 20 24 63 6f 6e 74 65 n.listConfiguration(array.$conte
1be20 6e 74 73 2c 20 61 72 72 61 79 20 24 72 61 77 43 6f 6e 74 65 6e 74 73 2c 20 4f 75 74 70 75 74 49 nts,.array.$rawContents,.OutputI
1be40 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 nterface.$output,.$k.=.null).{.$
1be60 6f 72 69 67 4b 20 3d 20 24 6b 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 origK.=.$k;.$io.=.$this->getIO()
1be80 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 65 6e 74 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 ;.foreach.($contents.as.$key.=>.
1bea0 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 6b 20 3d 3d 3d 20 6e 75 6c 6c 20 26 26 20 21 69 6e $value).{.if.($k.===.null.&&.!in
1bec0 5f 61 72 72 61 79 28 24 6b 65 79 2c 20 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 2c 20 27 72 65 _array($key,.array('config',.'re
1bee0 70 6f 73 69 74 6f 72 69 65 73 27 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 72 positories'))).{.continue;.}..$r
1bf00 61 77 56 61 6c 20 3d 20 69 73 73 65 74 28 24 72 61 77 43 6f 6e 74 65 6e 74 73 5b 24 6b 65 79 5d awVal.=.isset($rawContents[$key]
1bf20 29 20 3f 20 24 72 61 77 43 6f 6e 74 65 6e 74 73 5b 24 6b 65 79 5d 20 3a 20 6e 75 6c 6c 3b 0a 0a ).?.$rawContents[$key].:.null;..
1bf40 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 20 26 26 20 28 21 69 73 5f 6e 75 6d if.(is_array($value).&&.(!is_num
1bf60 65 72 69 63 28 6b 65 79 28 24 76 61 6c 75 65 29 29 20 7c 7c 20 28 24 6b 65 79 20 3d 3d 3d 20 27 eric(key($value)).||.($key.===.'
1bf80 72 65 70 6f 73 69 74 6f 72 69 65 73 27 20 26 26 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6b 29 29 29 20 repositories'.&&.null.===.$k))).
1bfa0 7b 0a 24 6b 20 2e 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 63 6f 6e 66 69 67 5c 2e {.$k..=.preg_replace('{^config\.
1bfc0 7d 27 2c 20 27 27 2c 20 24 6b 65 79 20 2e 20 27 2e 27 29 3b 0a 24 74 68 69 73 2d 3e 6c 69 73 74 }',.'',.$key...'.');.$this->list
1bfe0 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 76 61 6c 75 65 2c 20 24 72 61 77 56 61 6c 2c 20 24 Configuration($value,.$rawVal,.$
1c000 6f 75 74 70 75 74 2c 20 24 6b 29 3b 0a 24 6b 20 3d 20 24 6f 72 69 67 4b 3b 0a 0a 63 6f 6e 74 69 output,.$k);.$k.=.$origK;..conti
1c020 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a nue;.}..if.(is_array($value)).{.
1c040 24 76 61 6c 75 65 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 $value.=.array_map(function.($va
1c060 6c 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 5f 61 72 72 61 79 28 24 76 61 6c 29 20 3f 20 6a 73 6f l).{.return.is_array($val).?.jso
1c080 6e 5f 65 6e 63 6f 64 65 28 24 76 61 6c 29 20 3a 20 24 76 61 6c 3b 0a 7d 2c 20 24 76 61 6c 75 65 n_encode($val).:.$val;.},.$value
1c0a0 29 3b 0a 0a 24 76 61 6c 75 65 20 3d 20 27 5b 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 );..$value.=.'['.implode(',.',.$
1c0c0 76 61 6c 75 65 29 2e 27 5d 27 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 62 6f 6f 6c 28 24 76 61 6c 75 value).']';.}..if.(is_bool($valu
1c0e0 65 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 76 61 72 5f 65 78 70 6f 72 74 28 24 76 61 6c 75 65 e)).{.$value.=.var_export($value
1c100 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 61 77 56 61 ,.true);.}..if.(is_string($rawVa
1c120 6c 29 20 26 26 20 24 72 61 77 56 61 6c 20 21 3d 20 24 76 61 6c 75 65 29 20 7b 0a 24 69 6f 2d 3e l).&&.$rawVal.!=.$value).{.$io->
1c140 77 72 69 74 65 28 27 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 6b 20 2e 20 24 6b 65 79 20 2e write('[<comment>'...$k...$key..
1c160 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 20 3c 69 6e 66 6f 3e 27 20 2e 20 24 72 61 77 56 61 6c 20 .'</comment>].<info>'...$rawVal.
1c180 2e 20 27 20 28 27 20 2e 20 24 76 61 6c 75 65 20 2e 20 27 29 3c 2f 69 6e 66 6f 3e 27 2c 20 74 72 ..'.('...$value...')</info>',.tr
1c1a0 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 20 65 6c 73 65 20 ue,.IOInterface::QUIET);.}.else.
1c1c0 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 6b 20 2e {.$io->write('[<comment>'...$k..
1c1e0 20 24 6b 65 79 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 20 3c 69 6e 66 6f 3e 27 20 2e 20 24 .$key...'</comment>].<info>'...$
1c200 76 61 6c 75 65 20 2e 20 27 3c 2f 69 6e 66 6f 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 value...'</info>',.true,.IOInter
1c220 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a face::QUIET);.}.}.}.}.<?php.....
1c240 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e .......namespace.Composer\Comman
1c260 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d d;..use.Composer\Config;.use.Com
1c280 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 poser\Factory;.use.Composer\Inst
1c2a0 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 50 72 aller;.use.Composer\Installer\Pr
1c2c0 6f 6a 65 63 74 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 ojectInstaller;.use.Composer\Ins
1c2e0 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 taller\InstallationManager;.use.
1c300 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 53 75 67 67 65 73 74 65 64 50 61 63 6b Composer\Installer\SuggestedPack
1c320 61 67 65 73 52 65 70 6f 72 74 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f agesReporter;.use.Composer\IO\IO
1c340 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c Interface;.use.Composer\Package\
1c360 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 BasePackage;.use.Composer\Depend
1c380 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c encyResolver\Pool;.use.Composer\
1c3a0 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 49 6e 73 DependencyResolver\Operation\Ins
1c3c0 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b tallOperation;.use.Composer\Pack
1c3e0 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 3b 0a 75 73 65 age\Version\VersionSelector;.use
1c400 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a .Composer\Package\AliasPackage;.
1c420 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f use.Composer\Repository\Reposito
1c440 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f ryFactory;.use.Composer\Reposito
1c460 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 ry\CompositeRepository;.use.Comp
1c480 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f oser\Repository\PlatformReposito
1c4a0 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 ry;.use.Composer\Repository\Inst
1c4c0 61 6c 6c 65 64 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 alledFilesystemRepository;.use.C
1c4e0 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3b 0a 75 73 65 omposer\Script\ScriptEvents;.use
1c500 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 53 79 6d .Composer\Util\Silencer;.use.Sym
1c520 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 fony\Component\Console\Input\Inp
1c540 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e utArgument;.use.Symfony\Componen
1c560 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a t\Console\Input\InputInterface;.
1c580 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
1c5a0 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d put\InputOption;.use.Symfony\Com
1c5c0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 ponent\Console\Output\OutputInte
1c5e0 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e rface;.use.Symfony\Component\Fin
1c600 64 65 72 5c 46 69 6e 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 der\Finder;.use.Composer\Json\Js
1c620 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 5c 4a 73 6f 6e onFile;.use.Composer\Config\Json
1c640 43 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c ConfigSource;.use.Composer\Util\
1c660 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 Filesystem;.use.Composer\Package
1c680 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a \Version\VersionParser;.........
1c6a0 0a 63 6c 61 73 73 20 43 72 65 61 74 65 50 72 6f 6a 65 63 74 43 6f 6d 6d 61 6e 64 20 65 78 74 65 .class.CreateProjectCommand.exte
1c6c0 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 nds.BaseCommand.{....protected.$
1c6e0 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 3b 0a 0a 70 72 6f 74 suggestedPackagesReporter;..prot
1c700 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 ected.function.configure().{.$th
1c720 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 27 29 0a 2d is.->setName('create-project').-
1c740 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 43 72 65 61 74 65 73 20 6e 65 77 20 70 72 6f >setDescription('Creates.new.pro
1c760 6a 65 63 74 20 66 72 6f 6d 20 61 20 70 61 63 6b 61 67 65 20 69 6e 74 6f 20 67 69 76 65 6e 20 64 ject.from.a.package.into.given.d
1c780 69 72 65 63 74 6f 72 79 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 irectory.').->setDefinition(arra
1c7a0 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 2c 20 y(.new.InputArgument('package',.
1c7c0 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 50 61 63 6b 61 67 InputArgument::OPTIONAL,.'Packag
1c7e0 65 20 6e 61 6d 65 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 27 29 2c 0a 6e 65 77 20 49 6e e.name.to.be.installed'),.new.In
1c800 70 75 74 41 72 67 75 6d 65 6e 74 28 27 64 69 72 65 63 74 6f 72 79 27 2c 20 49 6e 70 75 74 41 72 putArgument('directory',.InputAr
1c820 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 44 69 72 65 63 74 6f 72 79 20 77 68 65 gument::OPTIONAL,.'Directory.whe
1c840 72 65 20 74 68 65 20 66 69 6c 65 73 20 73 68 6f 75 6c 64 20 62 65 20 63 72 65 61 74 65 64 27 29 re.the.files.should.be.created')
1c860 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 2c 20 49 ,.new.InputArgument('version',.I
1c880 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 56 65 72 73 69 6f 6e nputArgument::OPTIONAL,.'Version
1c8a0 2c 20 77 69 6c 6c 20 64 65 66 61 75 6c 74 20 74 6f 20 6c 61 74 65 73 74 27 29 2c 0a 6e 65 77 20 ,.will.default.to.latest'),.new.
1c8c0 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 2c 20 27 73 27 2c 20 49 6e InputOption('stability',.'s',.In
1c8e0 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 4d 69 6e 69 putOption::VALUE_REQUIRED,.'Mini
1c900 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 20 61 6c 6c 6f 77 65 64 20 28 75 6e 6c 65 73 73 20 61 20 mum-stability.allowed.(unless.a.
1c920 76 65 72 73 69 6f 6e 20 69 73 20 73 70 65 63 69 66 69 65 64 29 2e 27 29 2c 0a 6e 65 77 20 49 6e version.is.specified).'),.new.In
1c940 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 2c 20 6e 75 6c 6c 2c putOption('prefer-source',.null,
1c960 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 .InputOption::VALUE_NONE,.'Force
1c980 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 73 6f 75 72 s.installation.from.package.sour
1c9a0 63 65 73 20 77 68 65 6e 20 70 6f 73 73 69 62 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 56 43 53 ces.when.possible,.including.VCS
1c9c0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e .information.'),.new.InputOption
1c9e0 28 27 70 72 65 66 65 72 2d 64 69 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f ('prefer-dist',.null,.InputOptio
1ca00 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 n::VALUE_NONE,.'Forces.installat
1ca20 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 64 69 73 74 20 65 76 65 6e 20 66 6f 72 20 64 ion.from.package.dist.even.for.d
1ca40 65 76 20 76 65 72 73 69 6f 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 ev.versions.'),.new.InputOption(
1ca60 27 72 65 70 6f 73 69 74 6f 72 79 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 'repository',.null,.InputOption:
1ca80 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 50 69 63 6b 20 61 20 64 69 66 66 65 72 65 :VALUE_REQUIRED,.'Pick.a.differe
1caa0 6e 74 20 72 65 70 6f 73 69 74 6f 72 79 20 28 61 73 20 75 72 6c 20 6f 72 20 6a 73 6f 6e 20 63 6f nt.repository.(as.url.or.json.co
1cac0 6e 66 69 67 29 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 70 61 63 6b 61 67 65 2e 27 29 nfig).to.look.for.the.package.')
1cae0 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 2d 75 72 ,.new.InputOption('repository-ur
1cb00 6c 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 l',.null,.InputOption::VALUE_REQ
1cb20 55 49 52 45 44 2c 20 27 44 45 50 52 45 43 41 54 45 44 3a 20 55 73 65 20 2d 2d 72 65 70 6f 73 69 UIRED,.'DEPRECATED:.Use.--reposi
1cb40 74 6f 72 79 20 69 6e 73 74 65 61 64 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e tory.instead.'),.new.InputOption
1cb60 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 ('dev',.null,.InputOption::VALUE
1cb80 5f 4e 4f 4e 45 2c 20 27 45 6e 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 _NONE,.'Enables.installation.of.
1cba0 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 20 28 65 6e 61 62 6c 65 64 20 62 79 require-dev.packages.(enabled.by
1cbc0 20 64 65 66 61 75 6c 74 2c 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 66 6f 72 20 42 43 29 2e 27 .default,.only.present.for.BC).'
1cbe0 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c ),.new.InputOption('no-dev',.nul
1cc00 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 l,.InputOption::VALUE_NONE,.'Dis
1cc20 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 72 65 71 75 69 72 65 2d 64 65 ables.installation.of.require-de
1cc40 76 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 v.packages.'),.new.InputOption('
1cc60 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 no-custom-installers',.null,.Inp
1cc80 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 45 50 52 45 43 41 54 45 utOption::VALUE_NONE,.'DEPRECATE
1cca0 44 3a 20 55 73 65 20 6e 6f 2d 70 6c 75 67 69 6e 73 20 69 6e 73 74 65 61 64 2e 27 29 2c 0a 6e 65 D:.Use.no-plugins.instead.'),.ne
1ccc0 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 6e 75 6c 6c w.InputOption('no-scripts',.null
1cce0 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 57 68 65 74 ,.InputOption::VALUE_NONE,.'Whet
1cd00 68 65 72 20 74 6f 20 70 72 65 76 65 6e 74 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 her.to.prevent.execution.of.all.
1cd20 64 65 66 69 6e 65 64 20 73 63 72 69 70 74 73 20 69 6e 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b defined.scripts.in.the.root.pack
1cd40 61 67 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 age.'),.new.InputOption('no-prog
1cd60 72 65 73 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f ress',.null,.InputOption::VALUE_
1cd80 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 20 70 72 NONE,.'Do.not.output.download.pr
1cda0 6f 67 72 65 73 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 ogress.'),.new.InputOption('no-s
1cdc0 65 63 75 72 65 2d 68 74 74 70 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a ecure-http',.null,.InputOption::
1cde0 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 20 74 68 65 20 73 65 63 75 72 65 2d VALUE_NONE,.'Disable.the.secure-
1ce00 68 74 74 70 20 63 6f 6e 66 69 67 20 6f 70 74 69 6f 6e 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 77 http.config.option.temporarily.w
1ce20 68 69 6c 65 20 69 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 hile.installing.the.root.package
1ce40 2e 20 55 73 65 20 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 2e 20 55 73 69 6e 67 20 74 68 ..Use.at.your.own.risk..Using.th
1ce60 69 73 20 66 6c 61 67 20 69 73 20 61 20 62 61 64 20 69 64 65 61 2e 27 29 2c 0a 6e 65 77 20 49 6e is.flag.is.a.bad.idea.'),.new.In
1ce80 70 75 74 4f 70 74 69 6f 6e 28 27 6b 65 65 70 2d 76 63 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 putOption('keep-vcs',.null,.Inpu
1cea0 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 57 68 65 74 68 65 72 20 74 6f tOption::VALUE_NONE,.'Whether.to
1cec0 20 70 72 65 76 65 6e 74 20 64 65 6c 65 74 69 6e 67 20 74 68 65 20 76 63 73 20 66 6f 6c 64 65 72 .prevent.deleting.the.vcs.folder
1cee0 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 6d 6f 76 65 2d 76 63 73 .'),.new.InputOption('remove-vcs
1cf00 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.null,.InputOption::VALUE_NONE
1cf20 2c 20 27 57 68 65 74 68 65 72 20 74 6f 20 66 6f 72 63 65 20 64 65 6c 65 74 69 6f 6e 20 6f 66 20 ,.'Whether.to.force.deletion.of.
1cf40 74 68 65 20 76 63 73 20 66 6f 6c 64 65 72 20 77 69 74 68 6f 75 74 20 70 72 6f 6d 70 74 69 6e 67 the.vcs.folder.without.prompting
1cf60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 69 6e 73 74 61 6c 6c .'),.new.InputOption('no-install
1cf80 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.null,.InputOption::VALUE_NONE
1cfa0 2c 20 27 57 68 65 74 68 65 72 20 74 6f 20 73 6b 69 70 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 ,.'Whether.to.skip.installation.
1cfc0 6f 66 20 74 68 65 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a of.the.package.dependencies.'),.
1cfe0 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d new.InputOption('ignore-platform
1d000 2d 72 65 71 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 -reqs',.null,.InputOption::VALUE
1d020 5f 4e 4f 4e 45 2c 20 27 49 67 6e 6f 72 65 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d _NONE,.'Ignore.platform.requirem
1d040 65 6e 74 73 20 28 70 68 70 20 26 20 65 78 74 2d 20 70 61 63 6b 61 67 65 73 29 2e 27 29 2c 0a 29 ents.(php.&.ext-.packages).'),.)
1d060 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 63 72 ).->setHelp(.<<<EOT.The.<info>cr
1d080 65 61 74 65 2d 70 72 6f 6a 65 63 74 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 63 72 65 61 eate-project</info>.command.crea
1d0a0 74 65 73 20 61 20 6e 65 77 20 70 72 6f 6a 65 63 74 20 66 72 6f 6d 20 61 20 67 69 76 65 6e 0a 70 tes.a.new.project.from.a.given.p
1d0c0 61 63 6b 61 67 65 20 69 6e 74 6f 20 61 20 6e 65 77 20 64 69 72 65 63 74 6f 72 79 2e 20 49 66 20 ackage.into.a.new.directory..If.
1d0e0 65 78 65 63 75 74 65 64 20 77 69 74 68 6f 75 74 20 70 61 72 61 6d 73 20 61 6e 64 20 69 6e 20 61 executed.without.params.and.in.a
1d100 20 64 69 72 65 63 74 6f 72 79 0a 77 69 74 68 20 61 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 .directory.with.a.composer.json.
1d120 66 69 6c 65 20 69 74 20 69 6e 73 74 61 6c 6c 73 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 66 6f file.it.installs.the.packages.fo
1d140 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 72 6f 6a 65 63 74 2e 0a 0a 59 6f 75 20 63 61 6e 20 r.the.current.project...You.can.
1d160 75 73 65 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 62 6f 6f 74 73 74 72 61 70 20 6e 65 use.this.command.to.bootstrap.ne
1d180 77 20 70 72 6f 6a 65 63 74 73 20 6f 72 20 73 65 74 75 70 20 61 20 63 6c 65 61 6e 0a 76 65 72 73 w.projects.or.setup.a.clean.vers
1d1a0 69 6f 6e 2d 63 6f 6e 74 72 6f 6c 6c 65 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 6f 72 20 ion-controlled.installation.for.
1d1c0 64 65 76 65 6c 6f 70 65 72 73 20 6f 66 20 79 6f 75 72 20 70 72 6f 6a 65 63 74 2e 0a 0a 3c 69 6e developers.of.your.project...<in
1d1e0 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 63 72 65 61 74 65 2d 70 72 6f 6a fo>php.composer.phar.create-proj
1d200 65 63 74 20 76 65 6e 64 6f 72 2f 70 72 6f 6a 65 63 74 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 ect.vendor/project.target-direct
1d220 6f 72 79 20 5b 76 65 72 73 69 6f 6e 5d 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c ory.[version]</info>..You.can.al
1d240 73 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 76 65 72 73 69 6f 6e 20 77 69 74 68 20 74 68 65 20 so.specify.the.version.with.the.
1d260 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 75 73 69 6e 67 20 3d 20 6f 72 20 3a 20 61 73 20 73 65 70 package.name.using.=.or.:.as.sep
1d280 61 72 61 74 6f 72 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 arator...<info>php.composer.phar
1d2a0 20 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 20 76 65 6e 64 6f 72 2f 70 72 6f 6a 65 63 74 3a 76 .create-project.vendor/project:v
1d2c0 65 72 73 69 6f 6e 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 3c 2f 69 6e 66 6f 3e 0a 0a ersion.target-directory</info>..
1d2e0 54 6f 20 69 6e 73 74 61 6c 6c 20 75 6e 73 74 61 62 6c 65 20 70 61 63 6b 61 67 65 73 2c 20 65 69 To.install.unstable.packages,.ei
1d300 74 68 65 72 20 73 70 65 63 69 66 79 20 74 68 65 20 76 65 72 73 69 6f 6e 20 79 6f 75 20 77 61 6e ther.specify.the.version.you.wan
1d320 74 2c 20 6f 72 20 75 73 65 20 74 68 65 0a 2d 2d 73 74 61 62 69 6c 69 74 79 3d 64 65 76 20 28 77 t,.or.use.the.--stability=dev.(w
1d340 68 65 72 65 20 64 65 76 20 63 61 6e 20 62 65 20 6f 6e 65 20 6f 66 20 52 43 2c 20 62 65 74 61 2c here.dev.can.be.one.of.RC,.beta,
1d360 20 61 6c 70 68 61 20 6f 72 20 64 65 76 29 2e 0a 0a 54 6f 20 73 65 74 75 70 20 61 20 64 65 76 65 .alpha.or.dev)...To.setup.a.deve
1d380 6c 6f 70 65 72 20 77 6f 72 6b 61 62 6c 65 20 76 65 72 73 69 6f 6e 20 79 6f 75 20 73 68 6f 75 6c loper.workable.version.you.shoul
1d3a0 64 20 63 72 65 61 74 65 20 74 68 65 20 70 72 6f 6a 65 63 74 20 75 73 69 6e 67 20 74 68 65 20 73 d.create.the.project.using.the.s
1d3c0 6f 75 72 63 65 0a 63 6f 6e 74 72 6f 6c 6c 65 64 20 63 6f 64 65 20 62 79 20 61 70 70 65 6e 64 69 ource.controlled.code.by.appendi
1d3e0 6e 67 20 74 68 65 20 3c 69 6e 66 6f 3e 27 2d 2d 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 3c 2f ng.the.<info>'--prefer-source'</
1d400 69 6e 66 6f 3e 20 66 6c 61 67 2e 0a 0a 54 6f 20 69 6e 73 74 61 6c 6c 20 61 20 70 61 63 6b 61 67 info>.flag...To.install.a.packag
1d420 65 20 66 72 6f 6d 20 61 6e 6f 74 68 65 72 20 72 65 70 6f 73 69 74 6f 72 79 20 74 68 61 6e 20 74 e.from.another.repository.than.t
1d440 68 65 20 64 65 66 61 75 6c 74 20 6f 6e 65 20 79 6f 75 0a 63 61 6e 20 70 61 73 73 20 74 68 65 20 he.default.one.you.can.pass.the.
1d460 3c 69 6e 66 6f 3e 27 2d 2d 72 65 70 6f 73 69 74 6f 72 79 3d 68 74 74 70 73 3a 2f 2f 6d 79 72 65 <info>'--repository=https://myre
1d480 70 6f 73 69 74 6f 72 79 2e 6f 72 67 27 3c 2f 69 6e 66 6f 3e 20 66 6c 61 67 2e 0a 0a 52 65 61 64 pository.org'</info>.flag...Read
1d4a0 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 .more.at.https://getcomposer.org
1d4c0 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 0a 45 4f /doc/03-cli.md#create-project.EO
1d4e0 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 T.).;.}..protected.function.exec
1d500 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 ute(InputInterface.$input,.Outpu
1d520 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 tInterface.$output).{.$config.=.
1d540 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a 24 69 6f 20 3d 20 24 Factory::createConfig();.$io.=.$
1d560 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 6c 69 73 74 28 24 70 72 65 66 65 72 53 6f 75 72 this->getIO();..list($preferSour
1d580 63 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 ce,.$preferDist).=.$this->getPre
1d5a0 66 65 72 72 65 64 49 6e 73 74 61 6c 6c 4f 70 74 69 6f 6e 73 28 24 63 6f 6e 66 69 67 2c 20 24 69 ferredInstallOptions($config,.$i
1d5c0 6e 70 75 74 2c 20 74 72 75 65 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 nput,.true);..if.($input->getOpt
1d5e0 69 6f 6e 28 27 64 65 76 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c ion('dev')).{.$io->writeError('<
1d600 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 70 72 65 63 warning>You.are.using.the.deprec
1d620 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 64 65 76 22 2e 20 44 65 76 20 70 61 63 6b 61 67 65 73 20 ated.option."dev"..Dev.packages.
1d640 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 20 6e 6f 77 2e 3c 2f 77 are.installed.by.default.now.</w
1d660 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 arning>');.}.if.($input->getOpti
1d680 6f 6e 28 27 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 29 29 20 7b 0a 24 69 on('no-custom-installers')).{.$i
1d6a0 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 o->writeError('<warning>You.are.
1d6c0 75 73 69 6e 67 20 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 6e 6f 2d using.the.deprecated.option."no-
1d6e0 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 22 2e 20 55 73 65 20 22 6e 6f 2d 70 6c 75 67 custom-installers"..Use."no-plug
1d700 69 6e 73 22 20 69 6e 73 74 65 61 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 69 6e 70 75 ins".instead.</warning>');.$inpu
1d720 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 2c 20 74 72 75 65 29 t->setOption('no-plugins',.true)
1d740 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 50 72 6f 6a 65 63 ;.}..return.$this->installProjec
1d760 74 28 0a 24 69 6f 2c 0a 24 63 6f 6e 66 69 67 2c 0a 24 69 6e 70 75 74 2c 0a 24 69 6e 70 75 74 2d t(.$io,.$config,.$input,.$input-
1d780 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 29 2c 0a 24 69 6e 70 75 74 2d >getArgument('package'),.$input-
1d7a0 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 64 69 72 65 63 74 6f 72 79 27 29 2c 0a 24 69 6e 70 75 >getArgument('directory'),.$inpu
1d7c0 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 29 2c 0a 24 69 6e 70 75 t->getArgument('version'),.$inpu
1d7e0 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 29 2c 0a 24 70 72 65 66 t->getOption('stability'),.$pref
1d800 65 72 53 6f 75 72 63 65 2c 0a 24 70 72 65 66 65 72 44 69 73 74 2c 0a 21 24 69 6e 70 75 74 2d 3e erSource,.$preferDist,.!$input->
1d820 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 getOption('no-dev'),.$input->get
1d840 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 27 29 20 3f 3a 20 24 69 6e 70 75 74 2d 3e Option('repository').?:.$input->
1d860 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 2d 75 72 6c 27 29 2c 0a 24 69 6e getOption('repository-url'),.$in
1d880 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 2c 0a 24 69 put->getOption('no-plugins'),.$i
1d8a0 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 29 2c 0a 24 nput->getOption('no-scripts'),.$
1d8c0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 2c input->getOption('no-progress'),
1d8e0 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 69 6e 73 74 61 6c 6c 27 29 .$input->getOption('no-install')
1d900 2c 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 ,.$input->getOption('ignore-plat
1d920 66 6f 72 6d 2d 72 65 71 73 27 29 2c 0a 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 form-reqs'),.!$input->getOption(
1d940 27 6e 6f 2d 73 65 63 75 72 65 2d 68 74 74 70 27 29 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 'no-secure-http').);.}..public.f
1d960 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 50 72 6f 6a 65 63 74 28 49 4f 49 6e 74 65 72 66 61 unction.installProject(IOInterfa
1d980 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 49 6e 70 75 74 49 6e 74 ce.$io,.Config.$config,.InputInt
1d9a0 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 64 69 erface.$input,.$packageName,.$di
1d9c0 72 65 63 74 6f 72 79 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 rectory.=.null,.$packageVersion.
1d9e0 3d 20 6e 75 6c 6c 2c 20 24 73 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 2c 20 24 =.null,.$stability.=.'stable',.$
1da00 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 2c 20 24 70 72 65 66 65 72 44 69 73 preferSource.=.false,.$preferDis
1da20 74 20 3d 20 66 61 6c 73 65 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 67 65 73 20 3d t.=.false,.$installDevPackages.=
1da40 20 66 61 6c 73 65 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 .false,.$repository.=.null,.$dis
1da60 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 2c 20 24 6e 6f 53 63 72 69 70 74 73 20 ablePlugins.=.false,.$noScripts.
1da80 3d 20 66 61 6c 73 65 2c 20 24 6e 6f 50 72 6f 67 72 65 73 73 20 3d 20 66 61 6c 73 65 2c 20 24 6e =.false,.$noProgress.=.false,.$n
1daa0 6f 49 6e 73 74 61 6c 6c 20 3d 20 66 61 6c 73 65 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 oInstall.=.false,.$ignorePlatfor
1dac0 6d 52 65 71 73 20 3d 20 66 61 6c 73 65 2c 20 24 73 65 63 75 72 65 48 74 74 70 20 3d 20 74 72 75 mReqs.=.false,.$secureHttp.=.tru
1dae0 65 29 0a 7b 0a 24 6f 6c 64 43 77 64 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 0a 0a 20 24 69 6f 2d e).{.$oldCwd.=.getcwd();....$io-
1db00 3e 6c 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 63 6f 6e 66 69 67 29 3b 0a 0a 24 74 >loadConfiguration($config);..$t
1db20 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 20 3d his->suggestedPackagesReporter.=
1db40 20 6e 65 77 20 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 28 24 .new.SuggestedPackagesReporter($
1db60 69 6f 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 io);..if.($packageName.!==.null)
1db80 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 46 72 6f 6d 56 63 73 20 3d 20 24 74 68 69 73 2d 3e 69 6e .{.$installedFromVcs.=.$this->in
1dba0 73 74 61 6c 6c 52 6f 6f 74 50 61 63 6b 61 67 65 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 stallRootPackage($io,.$config,.$
1dbc0 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 64 69 72 65 63 74 6f 72 79 2c 20 24 70 61 63 6b 61 67 packageName,.$directory,.$packag
1dbe0 65 56 65 72 73 69 6f 6e 2c 20 24 73 74 61 62 69 6c 69 74 79 2c 20 24 70 72 65 66 65 72 53 6f 75 eVersion,.$stability,.$preferSou
1dc00 72 63 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 rce,.$preferDist,.$installDevPac
1dc20 6b 61 67 65 73 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 kages,.$repository,.$disablePlug
1dc40 69 6e 73 2c 20 24 6e 6f 53 63 72 69 70 74 73 2c 20 24 6e 6f 50 72 6f 67 72 65 73 73 2c 20 24 69 ins,.$noScripts,.$noProgress,.$i
1dc60 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 2c 20 24 73 65 63 75 72 65 48 74 74 70 29 3b gnorePlatformReqs,.$secureHttp);
1dc80 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 46 72 6f 6d 56 63 73 20 3d 20 66 61 .}.else.{.$installedFromVcs.=.fa
1dca0 6c 73 65 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 lse;.}..$composer.=.Factory::cre
1dcc0 61 74 65 28 24 69 6f 2c 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b ate($io,.null,.$disablePlugins);
1dce0 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 .$composer->getDownloadManager()
1dd00 2d 3e 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 21 24 6e 6f 50 72 6f 67 72 65 73 73 ->setOutputProgress(!$noProgress
1dd20 29 3b 0a 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 0a 69 66 20 );..$fs.=.new.Filesystem();..if.
1dd40 28 24 6e 6f 53 63 72 69 70 74 73 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 0a 20 24 63 6f 6d 70 ($noScripts.===.false).{...$comp
1dd60 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 oser->getEventDispatcher()->disp
1dd80 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 52 4f atchScript(ScriptEvents::POST_RO
1dda0 4f 54 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 50 OT_PACKAGE_INSTALL,.$installDevP
1ddc0 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6d 70 6f 73 ackages);.}....$config.=.$compos
1dde0 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 6c 69 73 74 28 24 70 72 65 66 65 72 53 6f 75 er->getConfig();.list($preferSou
1de00 72 63 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 rce,.$preferDist).=.$this->getPr
1de20 65 66 65 72 72 65 64 49 6e 73 74 61 6c 6c 4f 70 74 69 6f 6e 73 28 24 63 6f 6e 66 69 67 2c 20 24 eferredInstallOptions($config,.$
1de40 69 6e 70 75 74 29 3b 0a 0a 0a 20 69 66 20 28 24 6e 6f 49 6e 73 74 61 6c 6c 20 3d 3d 3d 20 66 61 input);....if.($noInstall.===.fa
1de60 6c 73 65 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d 20 49 6e 73 74 61 6c 6c 65 72 3a 3a 63 lse).{.$installer.=.Installer::c
1de80 72 65 61 74 65 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 reate($io,.$composer);.$installe
1dea0 72 2d 3e 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 r->setPreferSource($preferSource
1dec0 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 72 44 69 73 74 29 0a 2d ).->setPreferDist($preferDist).-
1dee0 3e 73 65 74 44 65 76 4d 6f 64 65 28 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 67 65 73 29 >setDevMode($installDevPackages)
1df00 0a 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 21 24 6e 6f 53 63 72 69 70 74 73 29 0a 2d 3e .->setRunScripts(!$noScripts).->
1df20 73 65 74 49 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 setIgnorePlatformRequirements($i
1df40 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 0a 2d 3e 73 65 74 53 75 67 67 65 73 74 65 gnorePlatformReqs).->setSuggeste
1df60 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 28 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 dPackagesReporter($this->suggest
1df80 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 29 0a 2d 3e 73 65 74 4f 70 74 69 6d 69 7a edPackagesReporter).->setOptimiz
1dfa0 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 6f 70 74 69 6d 69 eAutoloader($config->get('optimi
1dfc0 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 29 0a 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 ze-autoloader')).->setClassMapAu
1dfe0 74 68 6f 72 69 74 61 74 69 76 65 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 6c 61 73 73 6d thoritative($config->get('classm
1e000 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 29 0a 2d 3e 73 65 74 41 70 63 75 41 75 74 ap-authoritative')).->setApcuAut
1e020 6f 6c 6f 61 64 65 72 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 70 63 75 2d 61 75 74 6f 6c oloader($config->get('apcu-autol
1e040 6f 61 64 65 72 27 29 29 3b 0a 0a 69 66 20 28 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 20 oader'));..if.($disablePlugins).
1e060 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 28 29 3b 0a {.$installer->disablePlugins();.
1e080 7d 0a 0a 24 73 74 61 74 75 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 72 75 6e 28 29 3b 0a }..$status.=.$installer->run();.
1e0a0 69 66 20 28 30 20 21 3d 3d 20 24 73 74 61 74 75 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 73 74 61 if.(0.!==.$status).{.return.$sta
1e0c0 74 75 73 3b 0a 7d 0a 7d 0a 0a 24 68 61 73 56 63 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 46 72 tus;.}.}..$hasVcs.=.$installedFr
1e0e0 6f 6d 56 63 73 3b 0a 69 66 20 28 0a 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 omVcs;.if.(.!$input->getOption('
1e100 6b 65 65 70 2d 76 63 73 27 29 0a 26 26 20 24 69 6e 73 74 61 6c 6c 65 64 46 72 6f 6d 56 63 73 0a keep-vcs').&&.$installedFromVcs.
1e120 26 26 20 28 0a 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 6d 6f 76 65 2d 76 &&.(.$input->getOption('remove-v
1e140 63 73 27 29 0a 7c 7c 20 21 24 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 0a 7c 7c cs').||.!$io->isInteractive().||
1e160 20 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 27 3c 69 6e 66 6f 3e 44 6f 20 .$io->askConfirmation('<info>Do.
1e180 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 6d 6f 76 65 20 74 68 65 20 65 78 69 73 74 69 6e 67 20 you.want.to.remove.the.existing.
1e1a0 56 43 53 20 28 2e 67 69 74 2c 20 2e 73 76 6e 2e 2e 29 20 68 69 73 74 6f 72 79 3f 3c 2f 69 6e 66 VCS.(.git,..svn..).history?</inf
1e1c0 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 59 2c 6e 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 20 o>.[<comment>Y,n</comment>]?.',.
1e1e0 74 72 75 65 29 0a 29 0a 29 20 7b 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 46 69 6e 64 65 72 true).).).{.$finder.=.new.Finder
1e200 28 29 3b 0a 24 66 69 6e 64 65 72 2d 3e 64 65 70 74 68 28 30 29 2d 3e 64 69 72 65 63 74 6f 72 69 ();.$finder->depth(0)->directori
1e220 65 73 28 29 2d 3e 69 6e 28 67 65 74 63 77 64 28 29 29 2d 3e 69 67 6e 6f 72 65 56 43 53 28 66 61 es()->in(getcwd())->ignoreVCS(fa
1e240 6c 73 65 29 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 66 61 6c 73 65 29 3b 0a 66 6f 72 lse)->ignoreDotFiles(false);.for
1e260 65 61 63 68 20 28 61 72 72 61 79 28 27 2e 73 76 6e 27 2c 20 27 5f 73 76 6e 27 2c 20 27 43 56 53 each.(array('.svn',.'_svn',.'CVS
1e280 27 2c 20 27 5f 64 61 72 63 73 27 2c 20 27 2e 61 72 63 68 2d 70 61 72 61 6d 73 27 2c 20 27 2e 6d ',.'_darcs',.'.arch-params',.'.m
1e2a0 6f 6e 6f 74 6f 6e 65 27 2c 20 27 2e 62 7a 72 27 2c 20 27 2e 67 69 74 27 2c 20 27 2e 68 67 27 2c onotone',.'.bzr',.'.git',.'.hg',
1e2c0 20 27 2e 66 73 6c 63 6b 6f 75 74 27 2c 20 27 5f 46 4f 53 53 49 4c 5f 27 29 20 61 73 20 24 76 63 .'.fslckout',.'_FOSSIL_').as.$vc
1e2e0 73 4e 61 6d 65 29 20 7b 0a 24 66 69 6e 64 65 72 2d 3e 6e 61 6d 65 28 24 76 63 73 4e 61 6d 65 29 sName).{.$finder->name($vcsName)
1e300 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 64 69 72 73 20 3d 20 69 74 65 72 61 74 6f 72 5f 74 6f 5f 61 ;.}..try.{.$dirs.=.iterator_to_a
1e320 72 72 61 79 28 24 66 69 6e 64 65 72 29 3b 0a 75 6e 73 65 74 28 24 66 69 6e 64 65 72 29 3b 0a 66 rray($finder);.unset($finder);.f
1e340 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 64 69 72 29 20 7b 0a 69 66 20 28 21 24 66 oreach.($dirs.as.$dir).{.if.(!$f
1e360 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 29 20 7b 0a 74 68 72 6f s->removeDirectory($dir)).{.thro
1e380 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e w.new.\RuntimeException('Could.n
1e3a0 6f 74 20 72 65 6d 6f 76 65 20 27 2e 24 64 69 72 29 3b 0a 7d 0a 7d 0a 7d 20 63 61 74 63 68 20 28 ot.remove.'.$dir);.}.}.}.catch.(
1e3c0 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 \Exception.$e).{.$io->writeError
1e3e0 28 27 3c 65 72 72 6f 72 3e 41 6e 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20 77 68 69 6c 65 ('<error>An.error.occurred.while
1e400 20 72 65 6d 6f 76 69 6e 67 20 74 68 65 20 56 43 53 20 6d 65 74 61 64 61 74 61 3a 20 27 2e 24 65 .removing.the.VCS.metadata:.'.$e
1e420 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 0a 24 ->getMessage().'</error>');.}..$
1e440 68 61 73 56 63 73 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 68 61 73 56 63 hasVcs.=.false;.}....if.(!$hasVc
1e460 73 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 s).{.$package.=.$composer->getPa
1e480 63 6b 61 67 65 28 29 3b 0a 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 20 3d 20 6e 65 77 20 4a 73 6f ckage();.$configSource.=.new.Jso
1e4a0 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 27 63 6f 6d 70 nConfigSource(new.JsonFile('comp
1e4c0 6f 73 65 72 2e 6a 73 6f 6e 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 42 61 73 65 50 61 63 6b 61 oser.json'));.foreach.(BasePacka
1e4e0 67 65 3a 3a 24 73 75 70 70 6f 72 74 65 64 4c 69 6e 6b 54 79 70 65 73 20 61 73 20 24 74 79 70 65 ge::$supportedLinkTypes.as.$type
1e500 20 3d 3e 20 24 6d 65 74 61 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e .=>.$meta).{.foreach.($package->
1e520 7b 27 67 65 74 27 2e 24 6d 65 74 61 5b 27 6d 65 74 68 6f 64 27 5d 7d 28 29 20 61 73 20 24 6c 69 {'get'.$meta['method']}().as.$li
1e540 6e 6b 29 20 7b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 nk).{.if.($link->getPrettyConstr
1e560 61 69 6e 74 28 29 20 3d 3d 3d 20 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 29 20 7b 0a 24 63 6f aint().===.'self.version').{.$co
1e580 6e 66 69 67 53 6f 75 72 63 65 2d 3e 61 64 64 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 6c 69 6e 6b nfigSource->addLink($type,.$link
1e5a0 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 ->getTarget(),.$package->getPret
1e5c0 74 79 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6e 6f 53 63 tyVersion());.}.}.}.}..if.($noSc
1e5e0 72 69 70 74 73 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 2d 3e ripts.===.false).{...$composer->
1e600 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 53 63 getEventDispatcher()->dispatchSc
1e620 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 43 52 45 41 54 45 5f 50 ript(ScriptEvents::POST_CREATE_P
1e640 52 4f 4a 45 43 54 5f 43 4d 44 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 67 65 73 29 ROJECT_CMD,.$installDevPackages)
1e660 3b 0a 7d 0a 0a 63 68 64 69 72 28 24 6f 6c 64 43 77 64 29 3b 0a 24 76 65 6e 64 6f 72 43 6f 6d 70 ;.}..chdir($oldCwd);.$vendorComp
1e680 6f 73 65 72 44 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 oserDir.=.$config->get('vendor-d
1e6a0 69 72 27 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 27 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 76 65 ir').'/composer';.if.(is_dir($ve
1e6c0 6e 64 6f 72 43 6f 6d 70 6f 73 65 72 44 69 72 29 20 26 26 20 24 66 73 2d 3e 69 73 44 69 72 45 6d ndorComposerDir).&&.$fs->isDirEm
1e6e0 70 74 79 28 24 76 65 6e 64 6f 72 43 6f 6d 70 6f 73 65 72 44 69 72 29 29 20 7b 0a 53 69 6c 65 6e pty($vendorComposerDir)).{.Silen
1e700 63 65 72 3a 3a 63 61 6c 6c 28 27 72 6d 64 69 72 27 2c 20 24 76 65 6e 64 6f 72 43 6f 6d 70 6f 73 cer::call('rmdir',.$vendorCompos
1e720 65 72 44 69 72 29 3b 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 erDir);.$vendorDir.=.$config->ge
1e740 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 76 65 6e t('vendor-dir');.if.(is_dir($ven
1e760 64 6f 72 44 69 72 29 20 26 26 20 24 66 73 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 76 65 6e 64 dorDir).&&.$fs->isDirEmpty($vend
1e780 6f 72 44 69 72 29 29 20 7b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 72 6d 64 69 72 27 orDir)).{.Silencer::call('rmdir'
1e7a0 2c 20 24 76 65 6e 64 6f 72 44 69 72 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a ,.$vendorDir);.}.}..return.0;.}.
1e7c0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 52 6f 6f 74 50 .protected.function.installRootP
1e7e0 61 63 6b 61 67 65 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 ackage(IOInterface.$io,.Config.$
1e800 63 6f 6e 66 69 67 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 64 69 72 65 63 74 6f 72 79 config,.$packageName,.$directory
1e820 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c .=.null,.$packageVersion.=.null,
1e840 20 24 73 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 2c 20 24 70 72 65 66 65 72 53 .$stability.=.'stable',.$preferS
1e860 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 2c 20 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c ource.=.false,.$preferDist.=.fal
1e880 73 65 2c 20 24 69 6e 73 74 61 6c 6c 44 65 76 50 61 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 65 2c se,.$installDevPackages.=.false,
1e8a0 20 24 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 .$repository.=.null,.$disablePlu
1e8c0 67 69 6e 73 20 3d 20 66 61 6c 73 65 2c 20 24 6e 6f 53 63 72 69 70 74 73 20 3d 20 66 61 6c 73 65 gins.=.false,.$noScripts.=.false
1e8e0 2c 20 24 6e 6f 50 72 6f 67 72 65 73 73 20 3d 20 66 61 6c 73 65 2c 20 24 69 67 6e 6f 72 65 50 6c ,.$noProgress.=.false,.$ignorePl
1e900 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 66 61 6c 73 65 2c 20 24 73 65 63 75 72 65 48 74 74 70 20 atformReqs.=.false,.$secureHttp.
1e920 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 21 24 73 65 63 75 72 65 48 74 74 70 29 20 7b 0a 24 63 =.true).{.if.(!$secureHttp).{.$c
1e940 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 61 onfig->merge(array('config'.=>.a
1e960 72 72 61 79 28 27 73 65 63 75 72 65 2d 68 74 74 70 27 20 3d 3e 20 66 61 6c 73 65 29 29 29 3b 0a rray('secure-http'.=>.false)));.
1e980 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 }..if.(null.===.$repository).{.$
1e9a0 73 6f 75 72 63 65 52 65 70 6f 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 sourceRepo.=.new.CompositeReposi
1e9c0 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 tory(RepositoryFactory::defaultR
1e9e0 65 70 6f 73 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 epos($io,.$config));.}.else.{.$s
1ea00 6f 75 72 63 65 52 65 70 6f 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 66 ourceRepo.=.RepositoryFactory::f
1ea20 72 6f 6d 53 74 72 69 6e 67 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 73 69 74 romString($io,.$config,.$reposit
1ea40 6f 72 79 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 ory,.true);.}..$parser.=.new.Ver
1ea60 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 70 sionParser();.$requirements.=.$p
1ea80 61 72 73 65 72 2d 3e 70 61 72 73 65 4e 61 6d 65 56 65 72 73 69 6f 6e 50 61 69 72 73 28 61 72 72 arser->parseNameVersionPairs(arr
1eaa0 61 79 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 29 3b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f ay($packageName));.$name.=.strto
1eac0 6c 6f 77 65 72 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 5b 30 5d 5b 27 6e 61 6d 65 27 5d 29 3b lower($requirements[0]['name']);
1eae0 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 26 26 20 69 73 73 65 74 28 24 .if.(!$packageVersion.&&.isset($
1eb00 72 65 71 75 69 72 65 6d 65 6e 74 73 5b 30 5d 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 requirements[0]['version'])).{.$
1eb20 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 5b 30 packageVersion.=.$requirements[0
1eb40 5d 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 73 ]['version'];.}..if.(null.===.$s
1eb60 74 61 62 69 6c 69 74 79 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 5e tability).{.if.(preg_match('{^[^
1eb80 2c 5c 73 5d 2a 3f 40 28 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 61 72 72 61 79 5f 6b 65 79 ,\s]*?@('.implode('|',.array_key
1eba0 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 2e 27 29 s(BasePackage::$stabilities)).')
1ebc0 24 7d 69 27 2c 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 29 20 $}i',.$packageVersion,.$match)).
1ebe0 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 20 65 6c 73 65 {.$stability.=.$match[1];.}.else
1ec00 20 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 .{.$stability.=.VersionParser::p
1ec20 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 29 3b 0a arseStability($packageVersion);.
1ec40 7d 0a 7d 0a 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a }.}..$stability.=.VersionParser:
1ec60 3a 6e 6f 72 6d 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 24 73 74 61 62 69 6c 69 74 79 29 3b :normalizeStability($stability);
1ec80 0a 0a 69 66 20 28 21 69 73 73 65 74 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 ..if.(!isset(BasePackage::$stabi
1eca0 6c 69 74 69 65 73 5b 24 73 74 61 62 69 6c 69 74 79 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 lities[$stability])).{.throw.new
1ecc0 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 .\InvalidArgumentException('Inva
1ece0 6c 69 64 20 73 74 61 62 69 6c 69 74 79 20 70 72 6f 76 69 64 65 64 20 28 27 2e 24 73 74 61 62 69 lid.stability.provided.('.$stabi
1ed00 6c 69 74 79 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 3a 20 27 2e 69 6d 70 6c 6f lity.'),.must.be.one.of:.'.implo
1ed20 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a de(',.',.array_keys(BasePackage:
1ed40 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 29 3b 0a 7d 0a 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 :$stabilities)));.}..$pool.=.new
1ed60 20 50 6f 6f 6c 28 24 73 74 61 62 69 6c 69 74 79 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 .Pool($stability);.$pool->addRep
1ed80 6f 73 69 74 6f 72 79 28 24 73 6f 75 72 63 65 52 65 70 6f 29 3b 0a 0a 24 70 68 70 56 65 72 73 69 ository($sourceRepo);..$phpVersi
1eda0 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 70 72 65 74 74 79 50 68 70 56 65 72 73 69 6f 6e 20 3d 20 6e on.=.null;.$prettyPhpVersion.=.n
1edc0 75 6c 6c 3b 0a 69 66 20 28 21 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 20 7b ull;.if.(!$ignorePlatformReqs).{
1ede0 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 .$platformOverrides.=.$config->g
1ee00 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 0a 20 24 70 6c et('platform').?:.array();...$pl
1ee20 61 74 66 6f 72 6d 20 3d 20 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 atform.=.new.PlatformRepository(
1ee40 61 72 72 61 79 28 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 3b 0a 24 70 array(),.$platformOverrides);.$p
1ee60 68 70 50 61 63 6b 61 67 65 20 3d 20 24 70 6c 61 74 66 6f 72 6d 2d 3e 66 69 6e 64 50 61 63 6b 61 hpPackage.=.$platform->findPacka
1ee80 67 65 28 27 70 68 70 27 2c 20 27 2a 27 29 3b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 24 70 ge('php',.'*');.$phpVersion.=.$p
1eea0 68 70 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 24 70 72 65 74 74 79 hpPackage->getVersion();.$pretty
1eec0 50 68 70 56 65 72 73 69 6f 6e 20 3d 20 24 70 68 70 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 PhpVersion.=.$phpPackage->getPre
1eee0 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 ttyVersion();.}....$versionSelec
1ef00 74 6f 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 28 24 70 6f 6f 6c 29 tor.=.new.VersionSelector($pool)
1ef20 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 ;.$package.=.$versionSelector->f
1ef40 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 2c 20 24 70 61 63 6b 61 67 65 indBestCandidate($name,.$package
1ef60 56 65 72 73 69 6f 6e 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 73 74 61 62 69 6c 69 74 79 Version,.$phpVersion,.$stability
1ef80 29 3b 0a 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 );..if.(!$package).{.$errorMessa
1efa0 67 65 20 3d 20 22 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 70 61 63 6b 61 67 65 20 24 6e 61 ge.=."Could.not.find.package.$na
1efc0 6d 65 20 77 69 74 68 20 22 20 2e 20 28 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3f 20 22 me.with."...($packageVersion.?."
1efe0 76 65 72 73 69 6f 6e 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 22 20 3a 20 22 73 74 61 62 version.$packageVersion".:."stab
1f000 69 6c 69 74 79 20 24 73 74 61 62 69 6c 69 74 79 22 29 3b 0a 69 66 20 28 24 70 68 70 56 65 72 73 ility.$stability");.if.($phpVers
1f020 69 6f 6e 20 26 26 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 73 ion.&&.$versionSelector->findBes
1f040 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 2c 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f tCandidate($name,.$packageVersio
1f060 6e 2c 20 6e 75 6c 6c 2c 20 24 73 74 61 62 69 6c 69 74 79 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 n,.null,.$stability)).{.throw.ne
1f080 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 w.\InvalidArgumentException($err
1f0a0 6f 72 4d 65 73 73 61 67 65 20 2e 27 20 69 6e 20 61 20 76 65 72 73 69 6f 6e 20 69 6e 73 74 61 6c orMessage..'.in.a.version.instal
1f0c0 6c 61 62 6c 65 20 75 73 69 6e 67 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e 20 27 2e 24 lable.using.your.PHP.version.'.$
1f0e0 70 72 65 74 74 79 50 68 70 56 65 72 73 69 6f 6e 2e 27 2e 27 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 prettyPhpVersion.'.');.}..throw.
1f100 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 24 65 new.\InvalidArgumentException($e
1f120 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 27 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d rrorMessage..'.');.}..if.(null.=
1f140 3d 3d 20 24 64 69 72 65 63 74 6f 72 79 29 20 7b 0a 24 70 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 ==.$directory).{.$parts.=.explod
1f160 65 28 22 2f 22 2c 20 24 6e 61 6d 65 2c 20 32 29 3b 0a 24 64 69 72 65 63 74 6f 72 79 20 3d 20 67 e("/",.$name,.2);.$directory.=.g
1f180 65 74 63 77 64 28 29 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 etcwd()...DIRECTORY_SEPARATOR...
1f1a0 61 72 72 61 79 5f 70 6f 70 28 24 70 61 72 74 73 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 75 6e 63 array_pop($parts);.}....if.(func
1f1c0 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 63 6e 74 6c 5f 61 73 79 6e 63 5f 73 69 67 6e 61 6c 73 tion_exists('pcntl_async_signals
1f1e0 27 29 29 20 7b 0a 40 6d 6b 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 2c 20 30 37 37 37 2c 20 74 ')).{.@mkdir($directory,.0777,.t
1f200 72 75 65 29 3b 0a 69 66 20 28 24 72 65 61 6c 44 69 72 20 3d 20 72 65 61 6c 70 61 74 68 28 24 64 rue);.if.($realDir.=.realpath($d
1f220 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 70 63 6e 74 6c 5f 61 73 79 6e 63 5f 73 69 67 6e 61 6c 73 irectory)).{.pcntl_async_signals
1f240 28 74 72 75 65 29 3b 0a 70 63 6e 74 6c 5f 73 69 67 6e 61 6c 28 53 49 47 49 4e 54 2c 20 66 75 6e (true);.pcntl_signal(SIGINT,.fun
1f260 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 72 65 61 6c 44 69 72 29 20 7b 0a 24 66 73 20 3d 20 ction.().use.($realDir).{.$fs.=.
1f280 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e 72 65 6d 6f 76 65 44 69 72 new.Filesystem();.$fs->removeDir
1f2a0 65 63 74 6f 72 79 28 24 72 65 61 6c 44 69 72 29 3b 0a 65 78 69 74 28 31 33 30 29 3b 0a 7d 29 3b ectory($realDir);.exit(130);.});
1f2c0 0a 7d 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 49 6e 73 .}.}..$io->writeError('<info>Ins
1f2e0 74 61 6c 6c 69 6e 67 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 talling.'...$package->getName().
1f300 2e 20 27 20 28 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 ..'.('...$package->getFullPretty
1f320 56 65 72 73 69 6f 6e 28 66 61 6c 73 65 29 20 2e 20 27 29 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 69 Version(false)...')</info>');..i
1f340 66 20 28 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 f.($disablePlugins).{.$io->write
1f360 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 50 6c 75 67 69 6e 73 20 68 61 76 65 20 62 65 65 6e 20 64 Error('<info>Plugins.have.been.d
1f380 69 73 61 62 6c 65 64 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 isabled.</info>');.}..if.($packa
1f3a0 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 ge.instanceof.AliasPackage).{.$p
1f3c0 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b ackage.=.$package->getAliasOf();
1f3e0 0a 7d 0a 0a 24 64 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 44 6f 77 6e 6c 6f 61 64 4d .}..$dm.=.$this->createDownloadM
1f400 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 64 6d 2d 3e 73 65 74 50 72 anager($io,.$config);.$dm->setPr
1f420 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 29 0a 2d 3e 73 65 74 50 eferSource($preferSource).->setP
1f440 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 65 72 44 69 73 74 29 0a 2d 3e 73 65 74 4f 75 74 70 referDist($preferDist).->setOutp
1f460 75 74 50 72 6f 67 72 65 73 73 28 21 24 6e 6f 50 72 6f 67 72 65 73 73 29 3b 0a 0a 24 70 72 6f 6a utProgress(!$noProgress);..$proj
1f480 65 63 74 49 6e 73 74 61 6c 6c 65 72 20 3d 20 6e 65 77 20 50 72 6f 6a 65 63 74 49 6e 73 74 61 6c ectInstaller.=.new.ProjectInstal
1f4a0 6c 65 72 28 24 64 69 72 65 63 74 6f 72 79 2c 20 24 64 6d 29 3b 0a 24 69 6d 20 3d 20 24 74 68 69 ler($directory,.$dm);.$im.=.$thi
1f4c0 73 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a s->createInstallationManager();.
1f4e0 24 69 6d 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 24 70 72 6f 6a 65 63 74 49 6e 73 74 61 6c $im->addInstaller($projectInstal
1f500 6c 65 72 29 3b 0a 24 69 6d 2d 3e 69 6e 73 74 61 6c 6c 28 6e 65 77 20 49 6e 73 74 61 6c 6c 65 64 ler);.$im->install(new.Installed
1f520 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 28 6e 65 77 20 4a 73 6f 6e 46 69 6c FilesystemRepository(new.JsonFil
1f540 65 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 29 29 2c 20 6e 65 77 20 49 6e 73 74 61 6c 6c 4f e('php://memory')),.new.InstallO
1f560 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 24 69 6d 2d 3e 6e 6f 74 69 66 79 peration($package));.$im->notify
1f580 49 6e 73 74 61 6c 6c 73 28 24 69 6f 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 Installs($io);....$this->suggest
1f5a0 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 2d 3e 61 64 64 53 75 67 67 65 73 74 69 6f edPackagesReporter->addSuggestio
1f5c0 6e 73 46 72 6f 6d 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 24 69 6e 73 74 61 nsFromPackage($package);..$insta
1f5e0 6c 6c 65 64 46 72 6f 6d 56 63 73 20 3d 20 27 73 6f 75 72 63 65 27 20 3d 3d 3d 20 24 70 61 63 6b lledFromVcs.=.'source'.===.$pack
1f600 61 67 65 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 3b 0a 0a 24 age->getInstallationSource();..$
1f620 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 43 72 65 61 74 65 64 20 70 72 io->writeError('<info>Created.pr
1f640 6f 6a 65 63 74 20 69 6e 20 27 20 2e 20 24 64 69 72 65 63 74 6f 72 79 20 2e 20 27 3c 2f 69 6e 66 oject.in.'...$directory...'</inf
1f660 6f 3e 27 29 3b 0a 63 68 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 0a 24 5f 53 45 52 56 o>');.chdir($directory);..$_SERV
1f680 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 52 4f 4f 54 5f 56 45 52 53 49 4f 4e 27 5d 20 3d 20 24 70 ER['COMPOSER_ROOT_VERSION'].=.$p
1f6a0 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 70 75 74 65 ackage->getPrettyVersion();.pute
1f6c0 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 52 4f 4f 54 5f 56 45 52 53 49 4f 4e 3d 27 2e 24 5f 53 45 nv('COMPOSER_ROOT_VERSION='.$_SE
1f6e0 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 52 4f 4f 54 5f 56 45 52 53 49 4f 4e 27 5d 29 3b 0a RVER['COMPOSER_ROOT_VERSION']);.
1f700 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 65 64 46 72 6f 6d 56 63 73 3b 0a 7d 0a 0a 70 72 .return.$installedFromVcs;.}..pr
1f720 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 44 6f 77 6e 6c 6f 61 64 4d otected.function.createDownloadM
1f740 61 6e 61 67 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 anager(IOInterface.$io,.Config.$
1f760 63 6f 6e 66 69 67 29 0a 7b 0a 24 66 61 63 74 6f 72 79 20 3d 20 6e 65 77 20 46 61 63 74 6f 72 79 config).{.$factory.=.new.Factory
1f780 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 44 6f 77 6e ();..return.$factory->createDown
1f7a0 6c 6f 61 64 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 70 72 loadManager($io,.$config);.}..pr
1f7c0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 61 74 otected.function.createInstallat
1f7e0 69 6f 6e 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 73 74 61 6c ionManager().{.return.new.Instal
1f800 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a lationManager();.}.}.<?php......
1f820 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 ......namespace.Composer\Command
1f840 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 ;..use.Symfony\Component\Console
1f860 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f \Input\InputInterface;.use.Symfo
1f880 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 ny\Component\Console\Output\Outp
1f8a0 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 70 65 6e 64 73 43 6f utInterface;.....class.DependsCo
1f8c0 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 44 65 70 65 6e 64 65 6e 63 79 43 6f 6d 6d mmand.extends.BaseDependencyComm
1f8e0 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 and.{....protected.function.conf
1f900 69 67 75 72 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 63 6f 6e 66 69 67 75 72 65 28 29 3b 0a 0a igure().{.parent::configure();..
1f920 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 64 65 70 65 6e 64 73 27 29 0a 2d 3e 73 65 74 $this.->setName('depends').->set
1f940 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 77 68 79 27 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 Aliases(array('why')).->setDescr
1f960 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 77 68 69 63 68 20 70 61 63 6b 61 67 65 73 20 63 61 75 iption('Shows.which.packages.cau
1f980 73 65 20 74 68 65 20 67 69 76 65 6e 20 70 61 63 6b 61 67 65 20 74 6f 20 62 65 20 69 6e 73 74 61 se.the.given.package.to.be.insta
1f9a0 6c 6c 65 64 2e 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 44 69 73 70 6c 61 lled.').->setHelp(.<<<EOT.Displa
1f9c0 79 73 20 64 65 74 61 69 6c 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 77 68 ys.detailed.information.about.wh
1f9e0 65 72 65 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 72 65 66 65 72 65 6e 63 65 64 2e 0a 0a 3c 69 ere.a.package.is.referenced...<i
1fa00 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 64 65 70 65 6e 64 73 20 63 6f nfo>php.composer.phar.depends.co
1fa20 6d 70 6f 73 65 72 2f 63 6f 6d 70 6f 73 65 72 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 mposer/composer</info>..Read.mor
1fa40 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 e.at.https://getcomposer.org/doc
1fa60 2f 30 33 2d 63 6c 69 2e 6d 64 23 64 65 70 65 6e 64 73 2d 77 68 79 2d 0a 45 4f 54 0a 29 0a 3b 0a /03-cli.md#depends-why-.EOT.).;.
1fa80 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 }.........protected.function.exe
1faa0 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 cute(InputInterface.$input,.Outp
1fac0 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 70 61 utInterface.$output).{.return.pa
1fae0 72 65 6e 74 3a 3a 64 6f 45 78 65 63 75 74 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c rent::doExecute($input,.$output,
1fb00 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 .false);.}.}.<?php............na
1fb20 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 mespace.Composer\Command;..use.C
1fb40 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 omposer\Composer;.use.Composer\F
1fb60 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 actory;.use.Composer\Config;.use
1fb80 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 .Composer\Downloader\TransportEx
1fba0 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 ception;.use.Composer\Repository
1fbc0 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 \PlatformRepository;.use.Compose
1fbe0 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f r\Plugin\CommandEvent;.use.Compo
1fc00 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d ser\Plugin\PluginEvents;.use.Com
1fc20 70 6f 73 65 72 5c 55 74 69 6c 5c 43 6f 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 3b 0a 75 73 65 20 poser\Util\ConfigValidator;.use.
1fc40 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 49 6e 69 48 65 6c 70 65 72 3b 0a 75 73 65 20 43 6f 6d Composer\Util\IniHelper;.use.Com
1fc60 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 poser\Util\ProcessExecutor;.use.
1fc80 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a Composer\Util\RemoteFilesystem;.
1fca0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 use.Composer\Util\StreamContextF
1fcc0 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 5c actory;.use.Composer\SelfUpdate\
1fce0 4b 65 79 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 5c 56 65 Keys;.use.Composer\SelfUpdate\Ve
1fd00 72 73 69 6f 6e 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 4e 75 6c 6c 49 4f 3b 0a rsions;.use.Composer\IO\NullIO;.
1fd20 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
1fd40 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c put\InputInterface;.use.Symfony\
1fd60 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 Component\Console\Output\OutputI
1fd80 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 69 61 67 6e 6f 73 65 43 6f 6d 6d nterface;.....class.DiagnoseComm
1fda0 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 70 72 6f 74 65 and.extends.BaseCommand.{..prote
1fdc0 63 74 65 64 20 24 72 66 73 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b cted.$rfs;...protected.$process;
1fde0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 65 78 69 74 43 6f 64 65 20 3d 20 30 3b 0a 0a 70 72 6f ...protected.$exitCode.=.0;..pro
1fe00 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 tected.function.configure().{.$t
1fe20 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 64 69 61 67 6e 6f 73 65 27 29 0a 2d 3e 73 65 74 44 his.->setName('diagnose').->setD
1fe40 65 73 63 72 69 70 74 69 6f 6e 28 27 44 69 61 67 6e 6f 73 65 73 20 74 68 65 20 73 79 73 74 65 6d escription('Diagnoses.the.system
1fe60 20 74 6f 20 69 64 65 6e 74 69 66 79 20 63 6f 6d 6d 6f 6e 20 65 72 72 6f 72 73 2e 27 29 0a 2d 3e .to.identify.common.errors.').->
1fe80 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 64 69 61 67 6e 6f setHelp(.<<<EOT.The.<info>diagno
1fea0 73 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 63 68 65 63 6b 73 20 63 6f 6d 6d 6f 6e 20 se</info>.command.checks.common.
1fec0 65 72 72 6f 72 73 20 74 6f 20 68 65 6c 70 20 64 65 62 75 67 67 69 6e 67 20 70 72 6f 62 6c 65 6d errors.to.help.debugging.problem
1fee0 73 2e 0a 0a 54 68 65 20 70 72 6f 63 65 73 73 20 65 78 69 74 20 63 6f 64 65 20 77 69 6c 6c 20 62 s...The.process.exit.code.will.b
1ff00 65 20 31 20 69 6e 20 63 61 73 65 20 6f 66 20 77 61 72 6e 69 6e 67 73 20 61 6e 64 20 32 20 66 6f e.1.in.case.of.warnings.and.2.fo
1ff20 72 20 65 72 72 6f 72 73 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f r.errors...Read.more.at.https://
1ff40 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 64 69 getcomposer.org/doc/03-cli.md#di
1ff60 61 67 6e 6f 73 65 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 agnose.EOT.).;.}.....protected.f
1ff80 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 unction.execute(InputInterface.$
1ffa0 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a input,.OutputInterface.$output).
1ffc0 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 {.$composer.=.$this->getComposer
1ffe0 28 66 61 6c 73 65 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a (false);.$io.=.$this->getIO();..
20000 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d if.($composer).{.$commandEvent.=
20020 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a .new.CommandEvent(PluginEvents::
20040 43 4f 4d 4d 41 4e 44 2c 20 27 64 69 61 67 6e 6f 73 65 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 COMMAND,.'diagnose',.$input,.$ou
20060 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 tput);.$composer->getEventDispat
20080 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e cher()->dispatch($commandEvent->
200a0 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 69 6f 2d getName(),.$commandEvent);..$io-
200c0 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 3a 20 >write('Checking.composer.json:.
200e0 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 ',.false);.$this->outputResult($
20100 74 68 69 73 2d 3e 63 68 65 63 6b 43 6f 6d 70 6f 73 65 72 53 63 68 65 6d 61 28 29 29 3b 0a 7d 0a this->checkComposerSchema());.}.
20120 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6d .if.($composer).{.$config.=.$com
20140 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f poser->getConfig();.}.else.{.$co
20160 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a nfig.=.Factory::createConfig();.
20180 7d 0a 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 }..$config->merge(array('config'
201a0 20 3d 3e 20 61 72 72 61 79 28 27 73 65 63 75 72 65 2d 68 74 74 70 27 20 3d 3e 20 66 61 6c 73 65 .=>.array('secure-http'.=>.false
201c0 29 29 29 3b 0a 24 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 )));.$config->prohibitUrlByConfi
201e0 67 28 27 68 74 74 70 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c 20 6e g('http://repo.packagist.org',.n
20200 65 77 20 4e 75 6c 6c 49 4f 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 46 61 63 74 6f 72 ew.NullIO);..$this->rfs.=.Factor
20220 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 2c 20 24 y::createRemoteFilesystem($io,.$
20240 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 config);.$this->process.=.new.Pr
20260 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 ocessExecutor($io);..$io->write(
20280 27 43 68 65 63 6b 69 6e 67 20 70 6c 61 74 66 6f 72 6d 20 73 65 74 74 69 6e 67 73 3a 20 27 2c 20 'Checking.platform.settings:.',.
202a0 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 false);.$this->outputResult($thi
202c0 73 2d 3e 63 68 65 63 6b 50 6c 61 74 66 6f 72 6d 28 29 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 s->checkPlatform());..$io->write
202e0 28 27 43 68 65 63 6b 69 6e 67 20 67 69 74 20 73 65 74 74 69 6e 67 73 3a 20 27 2c 20 66 61 6c 73 ('Checking.git.settings:.',.fals
20300 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 e);.$this->outputResult($this->c
20320 68 65 63 6b 47 69 74 28 29 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e heckGit());..$io->write('Checkin
20340 67 20 68 74 74 70 20 63 6f 6e 6e 65 63 74 69 76 69 74 79 20 74 6f 20 70 61 63 6b 61 67 69 73 74 g.http.connectivity.to.packagist
20360 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 :.',.false);.$this->outputResult
20380 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 28 27 68 74 74 70 27 2c 20 24 63 6f 6e 66 69 ($this->checkHttp('http',.$confi
203a0 67 29 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 68 74 74 70 73 g));..$io->write('Checking.https
203c0 20 63 6f 6e 6e 65 63 74 69 76 69 74 79 20 74 6f 20 70 61 63 6b 61 67 69 73 74 3a 20 27 2c 20 66 .connectivity.to.packagist:.',.f
203e0 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 alse);.$this->outputResult($this
20400 2d 3e 63 68 65 63 6b 48 74 74 70 28 27 68 74 74 70 73 27 2c 20 24 63 6f 6e 66 69 67 29 29 3b 0a ->checkHttp('https',.$config));.
20420 0a 24 6f 70 74 73 20 3d 20 73 74 72 65 61 6d 5f 63 6f 6e 74 65 78 74 5f 67 65 74 5f 6f 70 74 69 .$opts.=.stream_context_get_opti
20440 6f 6e 73 28 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6e ons(StreamContextFactory::getCon
20460 74 65 78 74 28 27 68 74 74 70 3a 2f 2f 65 78 61 6d 70 6c 65 2e 6f 72 67 27 29 29 3b 0a 69 66 20 text('http://example.org'));.if.
20480 28 21 65 6d 70 74 79 28 24 6f 70 74 73 5b 27 68 74 74 70 27 5d 5b 27 70 72 6f 78 79 27 5d 29 29 (!empty($opts['http']['proxy']))
204a0 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 48 54 54 50 20 70 72 6f .{.$io->write('Checking.HTTP.pro
204c0 78 79 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 xy:.',.false);.$this->outputResu
204e0 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 50 72 6f 78 79 28 29 29 3b 0a 24 69 6f lt($this->checkHttpProxy());.$io
20500 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 48 54 54 50 20 70 72 6f 78 79 20 73 75 70 ->write('Checking.HTTP.proxy.sup
20520 70 6f 72 74 20 66 6f 72 20 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 3a 20 27 2c 20 66 61 6c port.for.request_fulluri:.',.fal
20540 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e se);.$this->outputResult($this->
20560 63 68 65 63 6b 48 74 74 70 50 72 6f 78 79 46 75 6c 6c 55 72 69 52 65 71 75 65 73 74 50 61 72 61 checkHttpProxyFullUriRequestPara
20580 6d 28 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 48 54 54 50 53 m());.$io->write('Checking.HTTPS
205a0 20 70 72 6f 78 79 20 73 75 70 70 6f 72 74 20 66 6f 72 20 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 .proxy.support.for.request_fullu
205c0 72 69 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 ri:.',.false);.$this->outputResu
205e0 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 48 74 74 70 73 50 72 6f 78 79 46 75 6c 6c 55 72 69 lt($this->checkHttpsProxyFullUri
20600 52 65 71 75 65 73 74 50 61 72 61 6d 28 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 6f 61 75 74 68 20 3d RequestParam());.}..if.($oauth.=
20620 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 6f 61 75 74 68 27 29 29 20 7b .$config->get('github-oauth')).{
20640 0a 66 6f 72 65 61 63 68 20 28 24 6f 61 75 74 68 20 61 73 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 .foreach.($oauth.as.$domain.=>.$
20660 74 6f 6b 65 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 27 2e token).{.$io->write('Checking.'.
20680 24 64 6f 6d 61 69 6e 2e 27 20 6f 61 75 74 68 20 61 63 63 65 73 73 3a 20 27 2c 20 66 61 6c 73 65 $domain.'.oauth.access:.',.false
206a0 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 );.$this->outputResult($this->ch
206c0 65 63 6b 47 69 74 68 75 62 4f 61 75 74 68 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 29 29 eckGithubOauth($domain,.$token))
206e0 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e ;.}.}.else.{.$io->write('Checkin
20700 67 20 67 69 74 68 75 62 2e 63 6f 6d 20 72 61 74 65 20 6c 69 6d 69 74 3a 20 27 2c 20 66 61 6c 73 g.github.com.rate.limit:.',.fals
20720 65 29 3b 0a 74 72 79 20 7b 0a 24 72 61 74 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 47 69 74 68 e);.try.{.$rate.=.$this->getGith
20740 75 62 52 61 74 65 4c 69 6d 69 74 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 29 3b 0a 69 66 20 28 21 ubRateLimit('github.com');.if.(!
20760 69 73 5f 61 72 72 61 79 28 24 72 61 74 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 is_array($rate)).{.$this->output
20780 52 65 73 75 6c 74 28 24 72 61 74 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 31 30 20 3e 20 24 72 Result($rate);.}.elseif.(10.>.$r
207a0 61 74 65 5b 27 72 65 6d 61 69 6e 69 6e 67 27 5d 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 ate['remaining']).{.$io->write('
207c0 3c 77 61 72 6e 69 6e 67 3e 57 41 52 4e 49 4e 47 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 69 <warning>WARNING</warning>');.$i
207e0 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 0a 27 3c 63 6f 6d 6d 65 6e 74 3e 47 69 74 68 o->write(sprintf(.'<comment>Gith
20800 75 62 20 68 61 73 20 61 20 72 61 74 65 20 6c 69 6d 69 74 20 6f 6e 20 74 68 65 69 72 20 41 50 49 ub.has.a.rate.limit.on.their.API
20820 2e 20 27 0a 2e 20 27 59 6f 75 20 63 75 72 72 65 6e 74 6c 79 20 68 61 76 65 20 3c 6f 70 74 69 6f ..'...'You.currently.have.<optio
20840 6e 73 3d 62 6f 6c 64 3e 25 75 3c 2f 6f 70 74 69 6f 6e 73 3d 62 6f 6c 64 3e 20 27 0a 2e 20 27 6f ns=bold>%u</options=bold>.'...'o
20860 75 74 20 6f 66 20 3c 6f 70 74 69 6f 6e 73 3d 62 6f 6c 64 3e 25 75 3c 2f 6f 70 74 69 6f 6e 73 3d ut.of.<options=bold>%u</options=
20880 62 6f 6c 64 3e 20 72 65 71 75 65 73 74 73 20 6c 65 66 74 2e 27 20 2e 20 50 48 50 5f 45 4f 4c 0a bold>.requests.left.'...PHP_EOL.
208a0 2e 20 27 53 65 65 20 68 74 74 70 73 3a 2f 2f 64 65 76 65 6c 6f 70 65 72 2e 67 69 74 68 75 62 2e ..'See.https://developer.github.
208c0 63 6f 6d 2f 76 33 2f 23 72 61 74 65 2d 6c 69 6d 69 74 69 6e 67 20 61 6e 64 20 61 6c 73 6f 27 20 com/v3/#rate-limiting.and.also'.
208e0 2e 20 50 48 50 5f 45 4f 4c 0a 2e 20 27 20 20 20 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 ..PHP_EOL...'....https://getcomp
20900 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f oser.org/doc/articles/troublesho
20920 6f 74 69 6e 67 2e 6d 64 23 61 70 69 2d 72 61 74 65 2d 6c 69 6d 69 74 2d 61 6e 64 2d 6f 61 75 74 oting.md#api-rate-limit-and-oaut
20940 68 2d 74 6f 6b 65 6e 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 0a 24 72 61 74 65 5b 27 72 65 6d 61 h-tokens</comment>',.$rate['rema
20960 69 6e 69 6e 67 27 5d 2c 0a 24 72 61 74 65 5b 27 6c 69 6d 69 74 27 5d 0a 29 29 3b 0a 7d 20 65 6c ining'],.$rate['limit'].));.}.el
20980 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 74 72 75 65 29 3b 0a se.{.$this->outputResult(true);.
209a0 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 }.}.catch.(\Exception.$e).{.if.(
209c0 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e $e.instanceof.TransportException
209e0 20 26 26 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 3d 20 34 30 31 29 20 7b 0a 24 74 68 .&&.$e->getCode().===.401).{.$th
20a00 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 54 68 65 20 6f is->outputResult('<comment>The.o
20a20 61 75 74 68 20 74 6f 6b 65 6e 20 66 6f 72 20 67 69 74 68 75 62 2e 63 6f 6d 20 73 65 65 6d 73 20 auth.token.for.github.com.seems.
20a40 69 6e 76 61 6c 69 64 2c 20 72 75 6e 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d 2d invalid,.run."composer.config.--
20a60 67 6c 6f 62 61 6c 20 2d 2d 75 6e 73 65 74 20 67 69 74 68 75 62 2d 6f 61 75 74 68 2e 67 69 74 68 global.--unset.github-oauth.gith
20a80 75 62 2e 63 6f 6d 22 20 74 6f 20 72 65 6d 6f 76 65 20 69 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 ub.com".to.remove.it</comment>')
20aa0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 ;.}.else.{.$this->outputResult($
20ac0 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 e);.}.}.}..$io->write('Checking.
20ae0 64 69 73 6b 20 66 72 65 65 20 73 70 61 63 65 3a 20 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 disk.free.space:.',.false);.$thi
20b00 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 44 69 73 6b s->outputResult($this->checkDisk
20b20 53 70 61 63 65 28 24 63 6f 6e 66 69 67 29 29 3b 0a 0a 69 66 20 28 27 70 68 61 72 3a 27 20 3d 3d Space($config));..if.('phar:'.==
20b40 3d 20 73 75 62 73 74 72 28 5f 5f 46 49 4c 45 5f 5f 2c 20 30 2c 20 35 29 29 20 7b 0a 24 69 6f 2d =.substr(__FILE__,.0,.5)).{.$io-
20b60 3e 77 72 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 70 75 62 6b 65 79 73 3a 20 27 2c 20 66 61 6c >write('Checking.pubkeys:.',.fal
20b80 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 74 68 69 73 2d 3e se);.$this->outputResult($this->
20ba0 63 68 65 63 6b 50 75 62 4b 65 79 73 28 24 63 6f 6e 66 69 67 29 29 3b 0a 0a 24 69 6f 2d 3e 77 72 checkPubKeys($config));..$io->wr
20bc0 69 74 65 28 27 43 68 65 63 6b 69 6e 67 20 63 6f 6d 70 6f 73 65 72 20 76 65 72 73 69 6f 6e 3a 20 ite('Checking.composer.version:.
20be0 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 ',.false);.$this->outputResult($
20c00 74 68 69 73 2d 3e 63 68 65 63 6b 56 65 72 73 69 6f 6e 28 24 63 6f 6e 66 69 67 29 29 3b 0a 7d 0a this->checkVersion($config));.}.
20c20 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 43 6f 6d 70 6f 73 65 72 20 76 65 .$io->write(sprintf('Composer.ve
20c40 72 73 69 6f 6e 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 43 rsion:.<comment>%s</comment>',.C
20c60 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 29 29 3b 0a 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 omposer::VERSION));..$platformOv
20c80 65 72 72 69 64 65 73 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 6d errides.=.$config->get('platform
20ca0 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 20 3d 20 6e ').?:.array();.$platformRepo.=.n
20cc0 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 24 ew.PlatformRepository(array(),.$
20ce0 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 3b 0a 24 70 68 70 50 6b 67 20 3d 20 24 70 platformOverrides);.$phpPkg.=.$p
20d00 6c 61 74 66 6f 72 6d 52 65 70 6f 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 27 70 68 70 27 2c 20 latformRepo->findPackage('php',.
20d20 27 2a 27 29 3b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 24 70 68 70 50 6b 67 2d 3e 67 65 74 '*');.$phpVersion.=.$phpPkg->get
20d40 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 PrettyVersion();.if.(false.!==.s
20d60 74 72 70 6f 73 28 24 70 68 70 50 6b 67 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2c trpos($phpPkg->getDescription(),
20d80 20 27 6f 76 65 72 72 69 64 64 65 6e 27 29 29 20 7b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 2e 3d .'overridden')).{.$phpVersion..=
20da0 20 27 20 2d 20 27 20 2e 20 24 70 68 70 50 6b 67 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e .'.-.'...$phpPkg->getDescription
20dc0 28 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 50 48 50 20 76 ();.}..$io->write(sprintf('PHP.v
20de0 65 72 73 69 6f 6e 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 ersion:.<comment>%s</comment>',.
20e00 24 70 68 70 56 65 72 73 69 6f 6e 29 29 3b 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 $phpVersion));..if.(defined('PHP
20e20 5f 42 49 4e 41 52 59 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 _BINARY')).{.$io->write(sprintf(
20e40 27 50 48 50 20 62 69 6e 61 72 79 20 70 61 74 68 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 'PHP.binary.path:.<comment>%s</c
20e60 6f 6d 6d 65 6e 74 3e 27 2c 20 50 48 50 5f 42 49 4e 41 52 59 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 omment>',.PHP_BINARY));.}..retur
20e80 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 n.$this->exitCode;.}..private.fu
20ea0 6e 63 74 69 6f 6e 20 63 68 65 63 6b 43 6f 6d 70 6f 73 65 72 53 63 68 65 6d 61 28 29 0a 7b 0a 24 nction.checkComposerSchema().{.$
20ec0 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 43 6f 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 28 validator.=.new.ConfigValidator(
20ee0 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 6c 69 73 74 28 24 65 72 72 6f 72 73 2c 20 2c $this->getIO());.list($errors,.,
20f00 20 24 77 61 72 6e 69 6e 67 73 29 20 3d 20 24 76 61 6c 69 64 61 74 6f 72 2d 3e 76 61 6c 69 64 61 .$warnings).=.$validator->valida
20f20 74 65 28 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 29 3b 0a te(Factory::getComposerFile());.
20f40 0a 69 66 20 28 24 65 72 72 6f 72 73 20 7c 7c 20 24 77 61 72 6e 69 6e 67 73 29 20 7b 0a 24 6d 65 .if.($errors.||.$warnings).{.$me
20f60 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 0a 27 65 72 72 6f 72 27 20 3d 3e 20 24 65 72 72 6f ssages.=.array(.'error'.=>.$erro
20f80 72 73 2c 0a 27 77 61 72 6e 69 6e 67 27 20 3d 3e 20 24 77 61 72 6e 69 6e 67 73 2c 0a 29 3b 0a 0a rs,.'warning'.=>.$warnings,.);..
20fa0 24 6f 75 74 70 75 74 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 73 $output.=.'';.foreach.($messages
20fc0 20 61 73 20 24 73 74 79 6c 65 20 3d 3e 20 24 6d 73 67 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 .as.$style.=>.$msgs).{.foreach.(
20fe0 24 6d 73 67 73 20 61 73 20 24 6d 73 67 29 20 7b 0a 24 6f 75 74 70 75 74 20 2e 3d 20 27 3c 27 20 $msgs.as.$msg).{.$output..=.'<'.
21000 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 20 2e 20 24 6d 73 67 20 2e 20 27 3c 2f 27 20 2e 20 24 ..$style...'>'...$msg...'</'...$
21020 73 74 79 6c 65 20 2e 20 27 3e 27 20 2e 20 50 48 50 5f 45 4f 4c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 style...'>'...PHP_EOL;.}.}..retu
21040 72 6e 20 72 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 rn.rtrim($output);.}..return.tru
21060 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 47 69 74 28 e;.}..private.function.checkGit(
21080 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 ).{.$this->process->execute('git
210a0 20 63 6f 6e 66 69 67 20 63 6f 6c 6f 72 2e 75 69 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 69 66 20 .config.color.ui',.$output);.if.
210c0 28 73 74 72 74 6f 6c 6f 77 65 72 28 74 72 69 6d 28 24 6f 75 74 70 75 74 29 29 20 3d 3d 3d 20 27 (strtolower(trim($output)).===.'
210e0 61 6c 77 61 79 73 27 29 20 7b 0a 72 65 74 75 72 6e 20 27 3c 63 6f 6d 6d 65 6e 74 3e 59 6f 75 72 always').{.return.'<comment>Your
21100 20 67 69 74 20 63 6f 6c 6f 72 2e 75 69 20 73 65 74 74 69 6e 67 20 69 73 20 73 65 74 20 74 6f 20 .git.color.ui.setting.is.set.to.
21120 61 6c 77 61 79 73 2c 20 74 68 69 73 20 69 73 20 6b 6e 6f 77 6e 20 74 6f 20 63 72 65 61 74 65 20 always,.this.is.known.to.create.
21140 69 73 73 75 65 73 2e 20 55 73 65 20 22 67 69 74 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c issues..Use."git.config.--global
21160 20 63 6f 6c 6f 72 2e 75 69 20 74 72 75 65 22 20 74 6f 20 73 65 74 20 69 74 20 63 6f 72 72 65 63 .color.ui.true".to.set.it.correc
21180 74 6c 79 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b tly.</comment>';.}..return.true;
211a0 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 48 74 74 70 28 24 .}..private.function.checkHttp($
211c0 70 72 6f 74 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 72 65 73 75 6c 74 proto,.Config.$config).{.$result
211e0 20 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 43 6f 6e 6e 65 63 74 69 76 69 74 79 28 29 3b 0a 69 .=.$this->checkConnectivity();.i
21200 66 20 28 24 72 65 73 75 6c 74 20 21 3d 3d 20 74 72 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 f.($result.!==.true).{.return.$r
21220 65 73 75 6c 74 3b 0a 7d 0a 0a 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 20 66 61 6c 73 65 3b 0a 24 esult;.}..$disableTls.=.false;.$
21240 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 70 72 6f 74 6f 20 3d 3d 3d result.=.array();.if.($proto.===
21260 20 27 68 74 74 70 73 27 20 26 26 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 61 62 6c .'https'.&&.$config->get('disabl
21280 65 2d 74 6c 73 27 29 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 24 64 69 73 61 62 6c 65 54 6c 73 20 e-tls').===.true).{.$disableTls.
212a0 3d 20 74 72 75 65 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 27 3c 77 61 72 6e 69 6e 67 3e 43 6f =.true;.$result[].=.'<warning>Co
212c0 6d 70 6f 73 65 72 20 69 73 20 63 6f 6e 66 69 67 75 72 65 64 20 74 6f 20 64 69 73 61 62 6c 65 20 mposer.is.configured.to.disable.
212e0 53 53 4c 2f 54 4c 53 20 70 72 6f 74 65 63 74 69 6f 6e 2e 20 54 68 69 73 20 77 69 6c 6c 20 6c 65 SSL/TLS.protection..This.will.le
21300 61 76 65 20 72 65 6d 6f 74 65 20 48 54 54 50 53 20 72 65 71 75 65 73 74 73 20 76 75 6c 6e 65 72 ave.remote.HTTPS.requests.vulner
21320 61 62 6c 65 20 74 6f 20 4d 61 6e 2d 49 6e 2d 54 68 65 2d 4d 69 64 64 6c 65 20 61 74 74 61 63 6b able.to.Man-In-The-Middle.attack
21340 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 3b 0a 7d 0a 69 66 20 28 24 70 72 6f 74 6f 20 3d 3d 3d 20 s.</warning>';.}.if.($proto.===.
21360 27 68 74 74 70 73 27 20 26 26 20 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 'https'.&&.!extension_loaded('op
21380 65 6e 73 73 6c 27 29 20 26 26 20 21 24 64 69 73 61 62 6c 65 54 6c 73 29 20 7b 0a 24 72 65 73 75 enssl').&&.!$disableTls).{.$resu
213a0 6c 74 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 43 6f 6d 70 6f 73 65 72 20 69 73 20 63 6f 6e 66 69 lt[].=.'<error>Composer.is.confi
213c0 67 75 72 65 64 20 74 6f 20 75 73 65 20 53 53 4c 2f 54 4c 53 20 70 72 6f 74 65 63 74 69 6f 6e 20 gured.to.use.SSL/TLS.protection.
213e0 62 75 74 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6e 6f 74 but.the.openssl.extension.is.not
21400 20 61 76 61 69 6c 61 62 6c 65 2e 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 .available.</error>';.}..try.{.$
21420 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 70 61 63 6b 61 67 69 73 this->rfs->getContents('packagis
21440 74 2e 6f 72 67 27 2c 20 24 70 72 6f 74 6f 20 2e 20 27 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 t.org',.$proto...'://repo.packag
21460 69 73 74 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2e 6a 73 6f 6e 27 2c 20 66 61 6c 73 65 29 3b 0a ist.org/packages.json',.false);.
21480 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 }.catch.(TransportException.$e).
214a0 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 2d 3e 67 65 74 4d 65 {.if.(false.!==.strpos($e->getMe
214c0 73 73 61 67 65 28 29 2c 20 27 63 61 66 69 6c 65 27 29 29 20 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 ssage(),.'cafile')).{.$result[].
214e0 3d 20 27 3c 65 72 72 6f 72 3e 5b 27 20 2e 20 67 65 74 5f 63 6c 61 73 73 28 24 65 29 20 2e 20 27 =.'<error>['...get_class($e)...'
21500 5d 20 27 20 2e 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 27 3c 2f 65 72 72 6f ].'...$e->getMessage()...'</erro
21520 72 3e 27 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 55 6e 61 62 6c 65 20 r>';.$result[].=.'<error>Unable.
21540 74 6f 20 6c 6f 63 61 74 65 20 61 20 76 61 6c 69 64 20 43 41 20 63 65 72 74 69 66 69 63 61 74 65 to.locate.a.valid.CA.certificate
21560 20 66 69 6c 65 2e 20 59 6f 75 20 6d 75 73 74 20 73 65 74 20 61 20 76 61 6c 69 64 20 5c 27 63 61 .file..You.must.set.a.valid.\'ca
21580 66 69 6c 65 5c 27 20 6f 70 74 69 6f 6e 2e 3c 2f 65 72 72 6f 72 3e 27 3b 0a 24 72 65 73 75 6c 74 file\'.option.</error>';.$result
215a0 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 59 6f 75 20 63 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 [].=.'<error>You.can.alternative
215c0 6c 79 20 64 69 73 61 62 6c 65 20 74 68 69 73 20 65 72 72 6f 72 2c 20 61 74 20 79 6f 75 72 20 6f ly.disable.this.error,.at.your.o
215e0 77 6e 20 72 69 73 6b 2c 20 62 79 20 65 6e 61 62 6c 69 6e 67 20 74 68 65 20 5c 27 64 69 73 61 62 wn.risk,.by.enabling.the.\'disab
21600 6c 65 2d 74 6c 73 5c 27 20 6f 70 74 69 6f 6e 2e 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 20 65 6c 73 le-tls\'.option.</error>';.}.els
21620 65 20 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 72 65 73 75 6c 74 2c 20 27 5b 27 20 2e e.{.array_unshift($result,.'['..
21640 20 67 65 74 5f 63 6c 61 73 73 28 24 65 29 20 2e 20 27 5d 20 27 20 2e 20 24 65 2d 3e 67 65 74 4d .get_class($e)...'].'...$e->getM
21660 65 73 73 61 67 65 28 29 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 72 65 73 75 6c essage());.}.}..if.(count($resul
21680 74 29 20 3e 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 72 65 74 t).>.0).{.return.$result;.}..ret
216a0 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 urn.true;.}..private.function.ch
216c0 65 63 6b 48 74 74 70 50 72 6f 78 79 28 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 eckHttpProxy().{.$result.=.$this
216e0 2d 3e 63 68 65 63 6b 43 6f 6e 6e 65 63 74 69 76 69 74 79 28 29 3b 0a 69 66 20 28 24 72 65 73 75 ->checkConnectivity();.if.($resu
21700 6c 74 20 21 3d 3d 20 74 72 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d lt.!==.true).{.return.$result;.}
21720 0a 0a 24 70 72 6f 74 6f 63 6f 6c 20 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 ..$protocol.=.extension_loaded('
21740 6f 70 65 6e 73 73 6c 27 29 20 3f 20 27 68 74 74 70 73 27 20 3a 20 27 68 74 74 70 27 3b 0a 74 72 openssl').?.'https'.:.'http';.tr
21760 79 20 7b 0a 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 74 68 69 73 2d 3e 72 y.{.$json.=.json_decode($this->r
21780 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c fs->getContents('packagist.org',
217a0 20 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 27 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e .$protocol...'://repo.packagist.
217c0 6f 72 67 2f 70 61 63 6b 61 67 65 73 2e 6a 73 6f 6e 27 2c 20 66 61 6c 73 65 29 2c 20 74 72 75 65 org/packages.json',.false),.true
217e0 29 3b 0a 24 68 61 73 68 20 3d 20 72 65 73 65 74 28 24 6a 73 6f 6e 5b 27 70 72 6f 76 69 64 65 72 );.$hash.=.reset($json['provider
21800 2d 69 6e 63 6c 75 64 65 73 27 5d 29 3b 0a 24 68 61 73 68 20 3d 20 24 68 61 73 68 5b 27 73 68 61 -includes']);.$hash.=.$hash['sha
21820 32 35 36 27 5d 3b 0a 24 70 61 74 68 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 25 68 61 73 256'];.$path.=.str_replace('%has
21840 68 25 27 2c 20 24 68 61 73 68 2c 20 6b 65 79 28 24 6a 73 6f 6e 5b 27 70 72 6f 76 69 64 65 72 2d h%',.$hash,.key($json['provider-
21860 69 6e 63 6c 75 64 65 73 27 5d 29 29 3b 0a 24 70 72 6f 76 69 64 65 72 20 3d 20 24 74 68 69 73 2d includes']));.$provider.=.$this-
21880 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 >rfs->getContents('packagist.org
218a0 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 27 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 ',.$protocol...'://repo.packagis
218c0 74 2e 6f 72 67 2f 27 2e 24 70 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a 0a 69 66 20 28 68 61 73 68 t.org/'.$path,.false);..if.(hash
218e0 28 27 73 68 61 32 35 36 27 2c 20 24 70 72 6f 76 69 64 65 72 29 20 21 3d 3d 20 24 68 61 73 68 29 ('sha256',.$provider).!==.$hash)
21900 20 7b 0a 72 65 74 75 72 6e 20 27 49 74 20 73 65 65 6d 73 20 74 68 61 74 20 79 6f 75 72 20 70 72 .{.return.'It.seems.that.your.pr
21920 6f 78 79 20 69 73 20 6d 6f 64 69 66 79 69 6e 67 20 68 74 74 70 20 74 72 61 66 66 69 63 20 6f 6e oxy.is.modifying.http.traffic.on
21940 20 74 68 65 20 66 6c 79 27 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e .the.fly';.}.}.catch.(\Exception
21960 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 .$e).{.return.$e;.}..return.true
21980 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 ;.}.........private.function.che
219a0 63 6b 48 74 74 70 50 72 6f 78 79 46 75 6c 6c 55 72 69 52 65 71 75 65 73 74 50 61 72 61 6d 28 29 ckHttpProxyFullUriRequestParam()
219c0 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 43 6f 6e 6e 65 63 74 .{.$result.=.$this->checkConnect
219e0 69 76 69 74 79 28 29 3b 0a 69 66 20 28 24 72 65 73 75 6c 74 20 21 3d 3d 20 74 72 75 65 29 20 7b ivity();.if.($result.!==.true).{
21a00 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 24 75 72 6c 20 3d 20 27 68 74 74 70 .return.$result;.}..$url.=.'http
21a20 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2e 6a ://repo.packagist.org/packages.j
21a40 73 6f 6e 27 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 son';.try.{.$this->rfs->getConte
21a60 6e 74 73 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 nts('packagist.org',.$url,.false
21a80 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 );.}.catch.(TransportException.$
21aa0 65 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e e).{.try.{.$this->rfs->getConten
21ac0 74 73 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 2c ts('packagist.org',.$url,.false,
21ae0 20 61 72 72 61 79 28 27 68 74 74 70 27 20 3d 3e 20 61 72 72 61 79 28 27 72 65 71 75 65 73 74 5f .array('http'.=>.array('request_
21b00 66 75 6c 6c 75 72 69 27 20 3d 3e 20 66 61 6c 73 65 29 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 fulluri'.=>.false)));.}.catch.(T
21b20 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 27 ransportException.$e).{.return.'
21b40 55 6e 61 62 6c 65 20 74 6f 20 61 73 73 65 73 73 20 74 68 65 20 73 69 74 75 61 74 69 6f 6e 2c 20 Unable.to.assess.the.situation,.
21b60 6d 61 79 62 65 20 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 20 69 73 20 64 6f 77 6e 20 28 27 2e 24 maybe.packagist.org.is.down.('.$
21b80 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 e->getMessage().')';.}..return.'
21ba0 49 74 20 73 65 65 6d 73 20 74 68 65 72 65 20 69 73 20 61 20 70 72 6f 62 6c 65 6d 20 77 69 74 68 It.seems.there.is.a.problem.with
21bc0 20 79 6f 75 72 20 70 72 6f 78 79 20 73 65 72 76 65 72 2c 20 74 72 79 20 73 65 74 74 69 6e 67 20 .your.proxy.server,.try.setting.
21be0 74 68 65 20 22 48 54 54 50 5f 50 52 4f 58 59 5f 52 45 51 55 45 53 54 5f 46 55 4c 4c 55 52 49 22 the."HTTP_PROXY_REQUEST_FULLURI"
21c00 20 61 6e 64 20 22 48 54 54 50 53 5f 50 52 4f 58 59 5f 52 45 51 55 45 53 54 5f 46 55 4c 4c 55 52 .and."HTTPS_PROXY_REQUEST_FULLUR
21c20 49 22 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 20 74 6f 20 22 66 61 6c I".environment.variables.to."fal
21c40 73 65 22 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a se"';.}..return.true;.}.........
21c60 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 48 74 74 70 73 50 72 6f 78 79 private.function.checkHttpsProxy
21c80 46 75 6c 6c 55 72 69 52 65 71 75 65 73 74 50 61 72 61 6d 28 29 0a 7b 0a 24 72 65 73 75 6c 74 20 FullUriRequestParam().{.$result.
21ca0 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 43 6f 6e 6e 65 63 74 69 76 69 74 79 28 29 3b 0a 69 66 =.$this->checkConnectivity();.if
21cc0 20 28 24 72 65 73 75 6c 74 20 21 3d 3d 20 74 72 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 .($result.!==.true).{.return.$re
21ce0 73 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 sult;.}..if.(!extension_loaded('
21d00 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 59 6f 75 20 6e 65 65 64 20 74 68 openssl')).{.return.'You.need.th
21d20 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 6e 73 74 61 6c 6c 65 64 20 66 6f e.openssl.extension.installed.fo
21d40 72 20 74 68 69 73 20 63 68 65 63 6b 27 3b 0a 7d 0a 0a 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a r.this.check';.}..$url.=.'https:
21d60 2f 2f 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 53 65 6c 64 61 65 6b 2f 6a //api.github.com/repos/Seldaek/j
21d80 73 6f 6e 6c 69 6e 74 2f 7a 69 70 62 61 6c 6c 2f 31 2e 30 2e 30 27 3b 0a 74 72 79 20 7b 0a 24 74 sonlint/zipball/1.0.0';.try.{.$t
21da0 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 67 69 74 68 75 62 2e 63 6f his->rfs->getContents('github.co
21dc0 6d 27 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 m',.$url,.false);.}.catch.(Trans
21de0 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d portException.$e).{.try.{.$this-
21e00 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 2c 20 >rfs->getContents('github.com',.
21e20 24 75 72 6c 2c 20 66 61 6c 73 65 2c 20 61 72 72 61 79 28 27 68 74 74 70 27 20 3d 3e 20 61 72 72 $url,.false,.array('http'.=>.arr
21e40 61 79 28 27 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 72 69 27 20 3d 3e 20 66 61 6c 73 65 29 29 29 ay('request_fulluri'.=>.false)))
21e60 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 ;.}.catch.(TransportException.$e
21e80 29 20 7b 0a 72 65 74 75 72 6e 20 27 55 6e 61 62 6c 65 20 74 6f 20 61 73 73 65 73 73 20 74 68 65 ).{.return.'Unable.to.assess.the
21ea0 20 73 69 74 75 61 74 69 6f 6e 2c 20 6d 61 79 62 65 20 67 69 74 68 75 62 20 69 73 20 64 6f 77 6e .situation,.maybe.github.is.down
21ec0 20 28 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 27 3b 0a 7d 0a 0a 72 65 74 .('.$e->getMessage().')';.}..ret
21ee0 75 72 6e 20 27 49 74 20 73 65 65 6d 73 20 74 68 65 72 65 20 69 73 20 61 20 70 72 6f 62 6c 65 6d urn.'It.seems.there.is.a.problem
21f00 20 77 69 74 68 20 79 6f 75 72 20 70 72 6f 78 79 20 73 65 72 76 65 72 2c 20 74 72 79 20 73 65 74 .with.your.proxy.server,.try.set
21f20 74 69 6e 67 20 74 68 65 20 22 48 54 54 50 53 5f 50 52 4f 58 59 5f 52 45 51 55 45 53 54 5f 46 55 ting.the."HTTPS_PROXY_REQUEST_FU
21f40 4c 4c 55 52 49 22 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 74 6f 20 22 LLURI".environment.variable.to."
21f60 66 61 6c 73 65 22 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 false"';.}..return.true;.}..priv
21f80 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 47 69 74 68 75 62 4f 61 75 74 68 28 24 64 ate.function.checkGithubOauth($d
21fa0 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 omain,.$token).{.$result.=.$this
21fc0 2d 3e 63 68 65 63 6b 43 6f 6e 6e 65 63 74 69 76 69 74 79 28 29 3b 0a 69 66 20 28 24 72 65 73 75 ->checkConnectivity();.if.($resu
21fe0 6c 74 20 21 3d 3d 20 74 72 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d lt.!==.true).{.return.$result;.}
22000 0a 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 ..$this->getIO()->setAuthenticat
22020 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 2c 20 27 78 2d 6f 61 75 74 68 2d 62 61 ion($domain,.$token,.'x-oauth-ba
22040 73 69 63 27 29 3b 0a 74 72 79 20 7b 0a 24 75 72 6c 20 3d 20 24 64 6f 6d 61 69 6e 20 3d 3d 3d 20 sic');.try.{.$url.=.$domain.===.
22060 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 3f 20 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 27 2e 24 64 'github.com'.?.'https://api.'.$d
22080 6f 6d 61 69 6e 2e 27 2f 27 20 3a 20 27 68 74 74 70 73 3a 2f 2f 27 2e 24 64 6f 6d 61 69 6e 2e 27 omain.'/'.:.'https://'.$domain.'
220a0 2f 61 70 69 2f 76 33 2f 27 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 /api/v3/';..return.$this->rfs->g
220c0 65 74 43 6f 6e 74 65 6e 74 73 28 24 64 6f 6d 61 69 6e 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 2c etContents($domain,.$url,.false,
220e0 20 61 72 72 61 79 28 0a 27 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 65 27 20 3d 3e 20 .array(.'retry-auth-failure'.=>.
22100 66 61 6c 73 65 2c 0a 29 29 20 3f 20 74 72 75 65 20 3a 20 27 55 6e 65 78 70 65 63 74 65 64 20 65 false,.)).?.true.:.'Unexpected.e
22120 72 72 6f 72 27 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b rror';.}.catch.(\Exception.$e).{
22140 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 .if.($e.instanceof.TransportExce
22160 70 74 69 6f 6e 20 26 26 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 3d 20 34 30 31 29 20 ption.&&.$e->getCode().===.401).
22180 7b 0a 72 65 74 75 72 6e 20 27 3c 63 6f 6d 6d 65 6e 74 3e 54 68 65 20 6f 61 75 74 68 20 74 6f 6b {.return.'<comment>The.oauth.tok
221a0 65 6e 20 66 6f 72 20 27 2e 24 64 6f 6d 61 69 6e 2e 27 20 73 65 65 6d 73 20 69 6e 76 61 6c 69 64 en.for.'.$domain.'.seems.invalid
221c0 2c 20 72 75 6e 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 ,.run."composer.config.--global.
221e0 2d 2d 75 6e 73 65 74 20 67 69 74 68 75 62 2d 6f 61 75 74 68 2e 27 2e 24 64 6f 6d 61 69 6e 2e 27 --unset.github-oauth.'.$domain.'
22200 22 20 74 6f 20 72 65 6d 6f 76 65 20 69 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 3b 0a 7d 0a 0a 72 65 ".to.remove.it</comment>';.}..re
22220 74 75 72 6e 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 turn.$e;.}.}........private.func
22240 74 69 6f 6e 20 67 65 74 47 69 74 68 75 62 52 61 74 65 4c 69 6d 69 74 28 24 64 6f 6d 61 69 6e 2c tion.getGithubRateLimit($domain,
22260 20 24 74 6f 6b 65 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 .$token.=.null).{.$result.=.$thi
22280 73 2d 3e 63 68 65 63 6b 43 6f 6e 6e 65 63 74 69 76 69 74 79 28 29 3b 0a 69 66 20 28 24 72 65 73 s->checkConnectivity();.if.($res
222a0 75 6c 74 20 21 3d 3d 20 74 72 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a ult.!==.true).{.return.$result;.
222c0 7d 0a 0a 69 66 20 28 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d }..if.($token).{.$this->getIO()-
222e0 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b >setAuthentication($domain,.$tok
22300 65 6e 2c 20 27 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 29 3b 0a 7d 0a 0a 24 75 72 6c 20 3d 20 en,.'x-oauth-basic');.}..$url.=.
22320 24 64 6f 6d 61 69 6e 20 3d 3d 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 3f 20 27 68 74 74 70 $domain.===.'github.com'.?.'http
22340 73 3a 2f 2f 61 70 69 2e 27 2e 24 64 6f 6d 61 69 6e 2e 27 2f 72 61 74 65 5f 6c 69 6d 69 74 27 20 s://api.'.$domain.'/rate_limit'.
22360 3a 20 27 68 74 74 70 73 3a 2f 2f 27 2e 24 64 6f 6d 61 69 6e 2e 27 2f 61 70 69 2f 72 61 74 65 5f :.'https://'.$domain.'/api/rate_
22380 6c 69 6d 69 74 27 3b 0a 24 6a 73 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 limit';.$json.=.$this->rfs->getC
223a0 6f 6e 74 65 6e 74 73 28 24 64 6f 6d 61 69 6e 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 2c 20 61 72 ontents($domain,.$url,.false,.ar
223c0 72 61 79 28 27 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 65 27 20 3d 3e 20 66 61 6c 73 ray('retry-auth-failure'.=>.fals
223e0 65 29 29 3b 0a 24 64 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6a 73 6f 6e 2c 20 e));.$data.=.json_decode($json,.
22400 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 5b 27 72 65 73 6f 75 72 63 65 73 27 true);..return.$data['resources'
22420 5d 5b 27 63 6f 72 65 27 5d 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 ]['core'];.}..private.function.c
22440 68 65 63 6b 44 69 73 6b 53 70 61 63 65 28 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 6d 69 6e 53 70 61 heckDiskSpace($config).{.$minSpa
22460 63 65 46 72 65 65 20 3d 20 31 30 32 34 20 2a 20 31 30 32 34 3b 0a 69 66 20 28 28 28 24 64 66 20 ceFree.=.1024.*.1024;.if.((($df.
22480 3d 20 40 64 69 73 6b 5f 66 72 65 65 5f 73 70 61 63 65 28 24 64 69 72 20 3d 20 24 63 6f 6e 66 69 =.@disk_free_space($dir.=.$confi
224a0 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 29 29 20 21 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 g->get('home'))).!==.false.&&.$d
224c0 66 20 3c 20 24 6d 69 6e 53 70 61 63 65 46 72 65 65 29 0a 7c 7c 20 28 28 24 64 66 20 3d 20 40 64 f.<.$minSpaceFree).||.(($df.=.@d
224e0 69 73 6b 5f 66 72 65 65 5f 73 70 61 63 65 28 24 64 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 isk_free_space($dir.=.$config->g
22500 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 29 29 20 21 3d 3d 20 66 61 6c 73 65 20 26 26 20 et('vendor-dir'))).!==.false.&&.
22520 24 64 66 20 3c 20 24 6d 69 6e 53 70 61 63 65 46 72 65 65 29 0a 29 20 7b 0a 72 65 74 75 72 6e 20 $df.<.$minSpaceFree).).{.return.
22540 27 3c 65 72 72 6f 72 3e 54 68 65 20 64 69 73 6b 20 68 6f 73 74 69 6e 67 20 27 2e 24 64 69 72 2e '<error>The.disk.hosting.'.$dir.
22560 27 20 69 73 20 66 75 6c 6c 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 '.is.full</error>';.}..return.tr
22580 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 50 75 62 ue;.}..private.function.checkPub
225a0 4b 65 79 73 28 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 68 6f 6d 65 20 3d 20 24 63 6f 6e 66 69 67 2d Keys($config).{.$home.=.$config-
225c0 3e 67 65 74 28 27 68 6f 6d 65 27 29 3b 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b >get('home');.$errors.=.array();
225e0 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 69 66 20 28 66 69 6c 65 .$io.=.$this->getIO();..if.(file
22600 5f 65 78 69 73 74 73 28 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 74 61 67 73 2e 70 75 62 27 29 20 _exists($home.'/keys.tags.pub').
22620 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 64 65 76 2e &&.file_exists($home.'/keys.dev.
22640 70 75 62 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 7d 0a 0a 69 66 20 28 pub')).{.$io->write('');.}..if.(
22660 66 69 6c 65 5f 65 78 69 73 74 73 28 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 74 61 67 73 2e 70 75 file_exists($home.'/keys.tags.pu
22680 62 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 54 61 67 73 20 50 75 62 6c 69 63 20 4b b')).{.$io->write('Tags.Public.K
226a0 65 79 20 46 69 6e 67 65 72 70 72 69 6e 74 3a 20 27 20 2e 20 4b 65 79 73 3a 3a 66 69 6e 67 65 72 ey.Fingerprint:.'...Keys::finger
226c0 70 72 69 6e 74 28 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 74 61 67 73 2e 70 75 62 27 29 29 3b 0a print($home.'/keys.tags.pub'));.
226e0 7d 20 65 6c 73 65 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 4d 69 73 }.else.{.$errors[].=.'<error>Mis
22700 73 69 6e 67 20 70 75 62 6b 65 79 20 66 6f 72 20 74 61 67 73 20 76 65 72 69 66 69 63 61 74 69 6f sing.pubkey.for.tags.verificatio
22720 6e 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 n</error>';.}..if.(file_exists($
22740 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 64 65 76 2e 70 75 62 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 home.'/keys.dev.pub')).{.$io->wr
22760 69 74 65 28 27 44 65 76 20 50 75 62 6c 69 63 20 4b 65 79 20 46 69 6e 67 65 72 70 72 69 6e 74 3a ite('Dev.Public.Key.Fingerprint:
22780 20 27 20 2e 20 4b 65 79 73 3a 3a 66 69 6e 67 65 72 70 72 69 6e 74 28 24 68 6f 6d 65 2e 27 2f 6b .'...Keys::fingerprint($home.'/k
227a0 65 79 73 2e 64 65 76 2e 70 75 62 27 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 72 72 6f 72 73 eys.dev.pub'));.}.else.{.$errors
227c0 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 3e 4d 69 73 73 69 6e 67 20 70 75 62 6b 65 79 20 66 6f 72 20 [].=.'<error>Missing.pubkey.for.
227e0 64 65 76 20 76 65 72 69 66 69 63 61 74 69 6f 6e 3c 2f 65 72 72 6f 72 3e 27 3b 0a 7d 0a 0a 69 66 dev.verification</error>';.}..if
22800 20 28 24 65 72 72 6f 72 73 29 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d 20 27 3c 65 72 72 6f 72 .($errors).{.$errors[].=.'<error
22820 3e 52 75 6e 20 63 6f 6d 70 6f 73 65 72 20 73 65 6c 66 2d 75 70 64 61 74 65 20 2d 2d 75 70 64 61 >Run.composer.self-update.--upda
22840 74 65 2d 6b 65 79 73 20 74 6f 20 73 65 74 20 74 68 65 6d 20 75 70 3c 2f 65 72 72 6f 72 3e 27 3b te-keys.to.set.them.up</error>';
22860 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 72 72 6f 72 73 20 3f 3a 20 74 72 75 65 3b 0a 7d 0a 0a 70 .}..return.$errors.?:.true;.}..p
22880 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 56 65 72 73 69 6f 6e 28 24 63 6f rivate.function.checkVersion($co
228a0 6e 66 69 67 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 43 6f nfig).{.$result.=.$this->checkCo
228c0 6e 6e 65 63 74 69 76 69 74 79 28 29 3b 0a 69 66 20 28 24 72 65 73 75 6c 74 20 21 3d 3d 20 74 72 nnectivity();.if.($result.!==.tr
228e0 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f ue).{.return.$result;.}..$versio
22900 6e 73 55 74 69 6c 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 73 28 24 63 6f 6e 66 69 67 2c 20 24 nsUtil.=.new.Versions($config,.$
22920 74 68 69 73 2d 3e 72 66 73 29 3b 0a 24 6c 61 74 65 73 74 20 3d 20 24 76 65 72 73 69 6f 6e 73 55 this->rfs);.$latest.=.$versionsU
22940 74 69 6c 2d 3e 67 65 74 4c 61 74 65 73 74 28 29 3b 0a 0a 69 66 20 28 43 6f 6d 70 6f 73 65 72 3a til->getLatest();..if.(Composer:
22960 3a 56 45 52 53 49 4f 4e 20 21 3d 3d 20 24 6c 61 74 65 73 74 5b 27 76 65 72 73 69 6f 6e 27 5d 20 :VERSION.!==.$latest['version'].
22980 26 26 20 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 20 21 3d 3d 20 27 40 70 61 63 6b 61 &&.Composer::VERSION.!==.'@packa
229a0 67 65 5f 76 65 72 73 69 6f 6e 40 27 29 20 7b 0a 72 65 74 75 72 6e 20 27 3c 63 6f 6d 6d 65 6e 74 ge_version@').{.return.'<comment
229c0 3e 59 6f 75 20 61 72 65 20 6e 6f 74 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 6c 61 74 65 73 74 20 >You.are.not.running.the.latest.
229e0 27 2e 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 28 29 2e 27 20 '.$versionsUtil->getChannel().'.
22a00 76 65 72 73 69 6f 6e 2c 20 72 75 6e 20 60 63 6f 6d 70 6f 73 65 72 20 73 65 6c 66 2d 75 70 64 61 version,.run.`composer.self-upda
22a20 74 65 60 20 74 6f 20 75 70 64 61 74 65 20 28 27 2e 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 te`.to.update.('.Composer::VERSI
22a40 4f 4e 2e 27 20 3d 3e 20 27 2e 24 6c 61 74 65 73 74 5b 27 76 65 72 73 69 6f 6e 27 5d 2e 27 29 3c ON.'.=>.'.$latest['version'].')<
22a60 2f 63 6f 6d 6d 65 6e 74 3e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a /comment>';.}..return.true;.}...
22a80 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 75 74 70 75 74 52 65 73 75 6c 74 28 ..private.function.outputResult(
22aa0 24 72 65 73 75 6c 74 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b $result).{.$io.=.$this->getIO();
22ac0 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 24 69 6f 2d 3e 77 72 .if.(true.===.$result).{.$io->wr
22ae0 69 74 65 28 27 3c 69 6e 66 6f 3e 4f 4b 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 3b ite('<info>OK</info>');..return;
22b00 0a 7d 0a 0a 24 68 61 64 45 72 72 6f 72 20 3d 20 66 61 6c 73 65 3b 0a 24 68 61 64 57 61 72 6e 69 .}..$hadError.=.false;.$hadWarni
22b20 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 72 65 73 75 6c 74 20 69 6e 73 74 61 6e 63 65 ng.=.false;.if.($result.instance
22b40 6f 66 20 5c 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 27 3c 65 72 72 of.\Exception).{.$result.=.'<err
22b60 6f 72 3e 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 72 65 73 75 6c 74 29 2e 27 5d 20 27 2e 24 72 or>['.get_class($result).'].'.$r
22b80 65 73 75 6c 74 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 3b 0a esult->getMessage().'</error>';.
22ba0 7d 0a 0a 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 0a 20 24 68 61 64 45 72 72 6f 72 20 3d }..if.(!$result).{...$hadError.=
22bc0 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 72 .true;.}.else.{.if.(!is_array($r
22be0 65 73 75 6c 74 29 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 24 72 65 73 75 6c esult)).{.$result.=.array($resul
22c00 74 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 20 61 73 20 24 6d 65 73 73 61 t);.}.foreach.($result.as.$messa
22c20 67 65 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6d 65 73 73 ge).{.if.(false.!==.strpos($mess
22c40 61 67 65 2c 20 27 3c 65 72 72 6f 72 3e 27 29 29 20 7b 0a 24 68 61 64 45 72 72 6f 72 20 3d 20 74 age,.'<error>')).{.$hadError.=.t
22c60 72 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 rue;.}.elseif.(false.!==.strpos(
22c80 24 6d 65 73 73 61 67 65 2c 20 27 3c 77 61 72 6e 69 6e 67 3e 27 29 29 20 7b 0a 24 68 61 64 57 61 $message,.'<warning>')).{.$hadWa
22ca0 72 6e 69 6e 67 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 68 61 64 45 72 72 rning.=.true;.}.}.}..if.($hadErr
22cc0 6f 72 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 46 41 49 4c 3c 2f 65 or).{.$io->write('<error>FAIL</e
22ce0 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 20 3d 20 6d 61 78 28 24 rror>');.$this->exitCode.=.max($
22d00 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 2c 20 32 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 68 this->exitCode,.2);.}.elseif.($h
22d20 61 64 57 61 72 6e 69 6e 67 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 77 61 72 6e 69 6e adWarning).{.$io->write('<warnin
22d40 67 3e 57 41 52 4e 49 4e 47 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 65 78 g>WARNING</warning>');.$this->ex
22d60 69 74 43 6f 64 65 20 3d 20 6d 61 78 28 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 2c 20 31 29 itCode.=.max($this->exitCode,.1)
22d80 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 73 75 6c 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 ;.}..if.($result).{.foreach.($re
22da0 73 75 6c 74 20 61 73 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 sult.as.$message).{.$io->write($
22dc0 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f message);.}.}.}..private.functio
22de0 6e 20 63 68 65 63 6b 50 6c 61 74 66 6f 72 6d 28 29 0a 7b 0a 24 6f 75 74 70 75 74 20 3d 20 27 27 n.checkPlatform().{.$output.=.''
22e00 3b 0a 24 6f 75 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 73 67 2c 20 24 73 74 79 6c 65 29 ;.$out.=.function.($msg,.$style)
22e20 20 75 73 65 20 28 26 24 6f 75 74 70 75 74 29 20 7b 0a 24 6f 75 74 70 75 74 20 2e 3d 20 27 3c 27 .use.(&$output).{.$output..=.'<'
22e40 2e 24 73 74 79 6c 65 2e 27 3e 27 2e 24 6d 73 67 2e 27 3c 2f 27 2e 24 73 74 79 6c 65 2e 27 3e 27 .$style.'>'.$msg.'</'.$style.'>'
22e60 2e 50 48 50 5f 45 4f 4c 3b 0a 7d 3b 0a 0a 0a 20 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 .PHP_EOL;.};....$errors.=.array(
22e80 29 3b 0a 24 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 69 73 70 6c 61 79 );.$warnings.=.array();.$display
22ea0 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 69 6e 69 4d 65 73 73 61 67 65 IniMessage.=.false;..$iniMessage
22ec0 20 3d 20 50 48 50 5f 45 4f 4c 2e 50 48 50 5f 45 4f 4c 2e 49 6e 69 48 65 6c 70 65 72 3a 3a 67 65 .=.PHP_EOL.PHP_EOL.IniHelper::ge
22ee0 74 4d 65 73 73 61 67 65 28 29 3b 0a 24 69 6e 69 4d 65 73 73 61 67 65 20 2e 3d 20 50 48 50 5f 45 tMessage();.$iniMessage..=.PHP_E
22f00 4f 4c 2e 27 49 66 20 79 6f 75 20 63 61 6e 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 65 20 69 6e OL.'If.you.can.not.modify.the.in
22f20 69 20 66 69 6c 65 2c 20 79 6f 75 20 63 61 6e 20 61 6c 73 6f 20 72 75 6e 20 60 70 68 70 20 2d 64 i.file,.you.can.also.run.`php.-d
22f40 20 6f 70 74 69 6f 6e 3d 76 61 6c 75 65 60 20 74 6f 20 6d 6f 64 69 66 79 20 69 6e 69 20 76 61 6c .option=value`.to.modify.ini.val
22f60 75 65 73 20 6f 6e 20 74 68 65 20 66 6c 79 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 2d 64 20 6d ues.on.the.fly..You.can.use.-d.m
22f80 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 2e 27 3b 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f ultiple.times.';..if.(!function_
22fa0 65 78 69 73 74 73 28 27 6a 73 6f 6e 5f 64 65 63 6f 64 65 27 29 29 20 7b 0a 24 65 72 72 6f 72 73 exists('json_decode')).{.$errors
22fc0 5b 27 6a 73 6f 6e 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 ['json'].=.true;.}..if.(!extensi
22fe0 6f 6e 5f 6c 6f 61 64 65 64 28 27 50 68 61 72 27 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 70 68 on_loaded('Phar')).{.$errors['ph
23000 61 72 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c ar'].=.true;.}..if.(!extension_l
23020 6f 61 64 65 64 28 27 66 69 6c 74 65 72 27 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 66 69 6c 74 oaded('filter')).{.$errors['filt
23040 65 72 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c er'].=.true;.}..if.(!extension_l
23060 6f 61 64 65 64 28 27 68 61 73 68 27 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 68 61 73 68 27 5d oaded('hash')).{.$errors['hash']
23080 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 .=.true;.}..if.(!extension_loade
230a0 64 28 27 69 63 6f 6e 76 27 29 20 26 26 20 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 d('iconv').&&.!extension_loaded(
230c0 27 6d 62 73 74 72 69 6e 67 27 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 69 63 6f 6e 76 5f 6d 62 'mbstring')).{.$errors['iconv_mb
230e0 73 74 72 69 6e 67 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 66 69 6c 74 65 72 5f string'].=.true;.}..if.(!filter_
23100 76 61 72 28 69 6e 69 5f 67 65 74 28 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 27 29 2c 20 var(ini_get('allow_url_fopen'),.
23120 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 29 20 7b 0a 24 65 72 72 FILTER_VALIDATE_BOOLEAN)).{.$err
23140 6f 72 73 5b 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 27 5d 20 3d 20 74 72 75 65 3b 0a 7d ors['allow_url_fopen'].=.true;.}
23160 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 69 6f 6e 43 75 62 65 20 ..if.(extension_loaded('ionCube.
23180 4c 6f 61 64 65 72 27 29 20 26 26 20 69 6f 6e 63 75 62 65 5f 6c 6f 61 64 65 72 5f 69 76 65 72 73 Loader').&&.ioncube_loader_ivers
231a0 69 6f 6e 28 29 20 3c 20 34 30 30 30 39 29 20 7b 0a 24 65 72 72 6f 72 73 5b 27 69 6f 6e 63 75 62 ion().<.40009).{.$errors['ioncub
231c0 65 27 5d 20 3d 20 69 6f 6e 63 75 62 65 5f 6c 6f 61 64 65 72 5f 76 65 72 73 69 6f 6e 28 29 3b 0a e'].=.ioncube_loader_version();.
231e0 7d 0a 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 33 30 32 29 20 7b }..if.(PHP_VERSION_ID.<.50302).{
23200 0a 24 65 72 72 6f 72 73 5b 27 70 68 70 27 5d 20 3d 20 50 48 50 5f 56 45 52 53 49 4f 4e 3b 0a 7d .$errors['php'].=.PHP_VERSION;.}
23220 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 65 72 72 6f 72 73 5b 27 70 68 70 27 5d 29 20 26 26 20 ..if.(!isset($errors['php']).&&.
23240 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 33 30 34 29 20 7b 0a 24 77 61 72 6e 69 PHP_VERSION_ID.<.50304).{.$warni
23260 6e 67 73 5b 27 70 68 70 27 5d 20 3d 20 50 48 50 5f 56 45 52 53 49 4f 4e 3b 0a 7d 0a 0a 69 66 20 ngs['php'].=.PHP_VERSION;.}..if.
23280 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b (!extension_loaded('openssl')).{
232a0 0a 24 65 72 72 6f 72 73 5b 27 6f 70 65 6e 73 73 6c 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 .$errors['openssl'].=.true;.}..i
232c0 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 f.(extension_loaded('openssl').&
232e0 26 20 4f 50 45 4e 53 53 4c 5f 56 45 52 53 49 4f 4e 5f 4e 55 4d 42 45 52 20 3c 20 30 78 31 30 30 &.OPENSSL_VERSION_NUMBER.<.0x100
23300 30 31 30 30 66 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 6f 70 65 6e 73 73 6c 5f 76 65 72 73 0100f).{.$warnings['openssl_vers
23320 69 6f 6e 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 64 65 66 69 6e 65 64 28 27 48 ion'].=.true;.}..if.(!defined('H
23340 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 HVM_VERSION').&&.!extension_load
23360 65 64 28 27 61 70 63 75 27 29 20 26 26 20 66 69 6c 74 65 72 5f 76 61 72 28 69 6e 69 5f 67 65 74 ed('apcu').&&.filter_var(ini_get
23380 28 27 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 ('apc.enable_cli'),.FILTER_VALID
233a0 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 61 70 63 5f 63 ATE_BOOLEAN)).{.$warnings['apc_c
233c0 6c 69 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c li'].=.true;.}..if.(!extension_l
233e0 6f 61 64 65 64 28 27 7a 6c 69 62 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 7a 6c 69 62 oaded('zlib')).{.$warnings['zlib
23400 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 6f 62 5f 73 74 61 72 74 28 29 3b 0a 70 68 70 69 6e 66 '].=.true;.}..ob_start();.phpinf
23420 6f 28 49 4e 46 4f 5f 47 45 4e 45 52 41 4c 29 3b 0a 24 70 68 70 69 6e 66 6f 20 3d 20 6f 62 5f 67 o(INFO_GENERAL);.$phpinfo.=.ob_g
23440 65 74 5f 63 6c 65 61 6e 28 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 43 6f 6e et_clean();.if.(preg_match('{Con
23460 66 69 67 75 72 65 20 43 6f 6d 6d 61 6e 64 28 3f 3a 20 2a 3c 2f 74 64 3e 3c 74 64 20 63 6c 61 73 figure.Command(?:.*</td><td.clas
23480 73 3d 22 76 22 3e 7c 20 2a 3d 3e 20 2a 29 28 2e 2a 3f 29 28 3f 3a 3c 2f 74 64 3e 7c 24 29 7d 6d s="v">|.*=>.*)(.*?)(?:</td>|$)}m
234a0 27 2c 20 24 70 68 70 69 6e 66 6f 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6e 66 69 67 75 ',.$phpinfo,.$match)).{.$configu
234c0 72 65 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 re.=.$match[1];..if.(false.!==.s
234e0 74 72 70 6f 73 28 24 63 6f 6e 66 69 67 75 72 65 2c 20 27 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 trpos($configure,.'--enable-sigc
23500 68 69 6c 64 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 73 69 67 63 68 69 6c 64 27 5d 20 hild')).{.$warnings['sigchild'].
23520 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 =.true;.}..if.(false.!==.strpos(
23540 24 63 6f 6e 66 69 67 75 72 65 2c 20 27 2d 2d 77 69 74 68 2d 63 75 72 6c 77 72 61 70 70 65 72 73 $configure,.'--with-curlwrappers
23560 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 63 75 72 6c 77 72 61 70 70 65 72 73 27 5d 20 ')).{.$warnings['curlwrappers'].
23580 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 66 69 6c 74 65 72 5f 76 61 72 28 69 6e 69 5f =.true;.}.}..if.(filter_var(ini_
235a0 67 65 74 28 27 78 64 65 62 75 67 2e 70 72 6f 66 69 6c 65 72 5f 65 6e 61 62 6c 65 64 27 29 2c 20 get('xdebug.profiler_enabled'),.
235c0 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 29 20 7b 0a 24 77 61 72 FILTER_VALIDATE_BOOLEAN)).{.$war
235e0 6e 69 6e 67 73 5b 27 78 64 65 62 75 67 5f 70 72 6f 66 69 6c 65 27 5d 20 3d 20 74 72 75 65 3b 0a nings['xdebug_profile'].=.true;.
23600 7d 20 65 6c 73 65 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 78 64 65 62 }.elseif.(extension_loaded('xdeb
23620 75 67 27 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 27 78 64 65 62 75 67 5f 6c 6f 61 64 65 64 ug')).{.$warnings['xdebug_loaded
23640 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 65 72 72 6f 72 73 '].=.true;.}..if.(!empty($errors
23660 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 65 72 72 6f 72 73 20 61 73 20 24 65 72 72 6f 72 20 )).{.foreach.($errors.as.$error.
23680 3d 3e 20 24 63 75 72 72 65 6e 74 29 20 7b 0a 73 77 69 74 63 68 20 28 24 65 72 72 6f 72 29 20 7b =>.$current).{.switch.($error).{
236a0 0a 63 61 73 65 20 27 6a 73 6f 6e 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 .case.'json':.$text.=.PHP_EOL."T
236c0 68 65 20 6a 73 6f 6e 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 22 2e 50 he.json.extension.is.missing.".P
236e0 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 6e 73 74 61 6c 6c 20 69 74 20 6f 72 20 HP_EOL;.$text..=."Install.it.or.
23700 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 74 68 6f 75 74 20 2d 2d 64 69 73 61 62 6c 65 2d recompile.php.without.--disable-
23720 6a 73 6f 6e 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 70 68 61 72 27 3a 0a 24 74 65 78 json";.break;..case.'phar':.$tex
23740 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 70 68 61 72 20 65 78 74 65 6e 73 69 6f 6e 20 t.=.PHP_EOL."The.phar.extension.
23760 69 73 20 6d 69 73 73 69 6e 67 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 is.missing.".PHP_EOL;.$text..=."
23780 49 6e 73 74 61 6c 6c 20 69 74 20 6f 72 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 74 68 Install.it.or.recompile.php.with
237a0 6f 75 74 20 2d 2d 64 69 73 61 62 6c 65 2d 70 68 61 72 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 out.--disable-phar";.break;..cas
237c0 65 20 27 66 69 6c 74 65 72 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 e.'filter':.$text.=.PHP_EOL."The
237e0 20 66 69 6c 74 65 72 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 22 2e 50 .filter.extension.is.missing.".P
23800 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 6e 73 74 61 6c 6c 20 69 74 20 6f 72 20 HP_EOL;.$text..=."Install.it.or.
23820 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 74 68 6f 75 74 20 2d 2d 64 69 73 61 62 6c 65 2d recompile.php.without.--disable-
23840 66 69 6c 74 65 72 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 68 61 73 68 27 3a 0a 24 74 filter";.break;..case.'hash':.$t
23860 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 68 61 73 68 20 65 78 74 65 6e 73 69 6f ext.=.PHP_EOL."The.hash.extensio
23880 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d n.is.missing.".PHP_EOL;.$text..=
238a0 20 22 49 6e 73 74 61 6c 6c 20 69 74 20 6f 72 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 ."Install.it.or.recompile.php.wi
238c0 74 68 6f 75 74 20 2d 2d 64 69 73 61 62 6c 65 2d 68 61 73 68 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 thout.--disable-hash";.break;..c
238e0 61 73 65 20 27 69 63 6f 6e 76 5f 6d 62 73 74 72 69 6e 67 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 ase.'iconv_mbstring':.$text.=.PH
23900 50 5f 45 4f 4c 2e 22 54 68 65 20 69 63 6f 6e 76 20 4f 52 20 6d 62 73 74 72 69 6e 67 20 65 78 74 P_EOL."The.iconv.OR.mbstring.ext
23920 65 6e 73 69 6f 6e 20 69 73 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 62 6f 74 68 20 61 72 65 20 ension.is.required.and.both.are.
23940 6d 69 73 73 69 6e 67 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 6e 73 missing.".PHP_EOL;.$text..=."Ins
23960 74 61 6c 6c 20 65 69 74 68 65 72 20 6f 66 20 74 68 65 6d 20 6f 72 20 72 65 63 6f 6d 70 69 6c 65 tall.either.of.them.or.recompile
23980 20 70 68 70 20 77 69 74 68 6f 75 74 20 2d 2d 64 69 73 61 62 6c 65 2d 69 63 6f 6e 76 22 3b 0a 62 .php.without.--disable-iconv";.b
239a0 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 6e 69 63 6f 64 65 27 3a 0a 24 74 65 78 74 20 3d 20 50 reak;..case.'unicode':.$text.=.P
239c0 48 50 5f 45 4f 4c 2e 22 54 68 65 20 64 65 74 65 63 74 5f 75 6e 69 63 6f 64 65 20 73 65 74 74 69 HP_EOL."The.detect_unicode.setti
239e0 6e 67 20 6d 75 73 74 20 62 65 20 64 69 73 61 62 6c 65 64 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 ng.must.be.disabled.".PHP_EOL;.$
23a00 74 65 78 74 20 2e 3d 20 22 41 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 74 68 text..=."Add.the.following.to.th
23a20 65 20 65 6e 64 20 6f 66 20 79 6f 75 72 20 60 70 68 70 2e 69 6e 69 60 3a 22 2e 50 48 50 5f 45 4f e.end.of.your.`php.ini`:".PHP_EO
23a40 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 20 20 64 65 74 65 63 74 5f 75 6e 69 63 6f 64 65 20 L;.$text..=."....detect_unicode.
23a60 3d 20 4f 66 66 22 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 75 =.Off";.$displayIniMessage.=.tru
23a80 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 73 75 68 6f 73 69 6e 27 3a 0a 24 74 65 78 74 e;.break;..case.'suhosin':.$text
23aa0 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 73 75 68 6f 73 69 6e 2e 65 78 65 63 75 74 6f 72 .=.PHP_EOL."The.suhosin.executor
23ac0 2e 69 6e 63 6c 75 64 65 2e 77 68 69 74 65 6c 69 73 74 20 73 65 74 74 69 6e 67 20 69 73 20 69 6e .include.whitelist.setting.is.in
23ae0 63 6f 72 72 65 63 74 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 41 64 64 correct.".PHP_EOL;.$text..=."Add
23b00 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 79 6f 75 .the.following.to.the.end.of.you
23b20 72 20 60 70 68 70 2e 69 6e 69 60 20 6f 72 20 73 75 68 6f 73 69 6e 2e 69 6e 69 20 28 45 78 61 6d r.`php.ini`.or.suhosin.ini.(Exam
23b40 70 6c 65 20 70 61 74 68 20 5b 66 6f 72 20 44 65 62 69 61 6e 5d 3a 20 2f 65 74 63 2f 70 68 70 35 ple.path.[for.Debian]:./etc/php5
23b60 2f 63 6c 69 2f 63 6f 6e 66 2e 64 2f 73 75 68 6f 73 69 6e 2e 69 6e 69 29 3a 22 2e 50 48 50 5f 45 /cli/conf.d/suhosin.ini):".PHP_E
23b80 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 20 20 73 75 68 6f 73 69 6e 2e 65 78 65 63 75 74 OL;.$text..=."....suhosin.execut
23ba0 6f 72 2e 69 6e 63 6c 75 64 65 2e 77 68 69 74 65 6c 69 73 74 20 3d 20 70 68 61 72 20 22 2e 24 63 or.include.whitelist.=.phar.".$c
23bc0 75 72 72 65 6e 74 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 75 urrent;.$displayIniMessage.=.tru
23be0 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 70 68 70 27 3a 0a 24 74 65 78 74 20 3d 20 50 e;.break;..case.'php':.$text.=.P
23c00 48 50 5f 45 4f 4c 2e 22 59 6f 75 72 20 50 48 50 20 28 7b 24 63 75 72 72 65 6e 74 7d 29 20 69 73 HP_EOL."Your.PHP.({$current}).is
23c20 20 74 6f 6f 20 6f 6c 64 2c 20 79 6f 75 20 6d 75 73 74 20 75 70 67 72 61 64 65 20 74 6f 20 50 48 .too.old,.you.must.upgrade.to.PH
23c40 50 20 35 2e 33 2e 32 20 6f 72 20 68 69 67 68 65 72 2e 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 P.5.3.2.or.higher.";.break;..cas
23c60 65 20 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 e.'allow_url_fopen':.$text.=.PHP
23c80 5f 45 4f 4c 2e 22 54 68 65 20 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 20 73 65 74 74 69 6e _EOL."The.allow_url_fopen.settin
23ca0 67 20 69 73 20 69 6e 63 6f 72 72 65 63 74 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 g.is.incorrect.".PHP_EOL;.$text.
23cc0 2e 3d 20 22 41 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 74 68 65 20 65 6e 64 .=."Add.the.following.to.the.end
23ce0 20 6f 66 20 79 6f 75 72 20 60 70 68 70 2e 69 6e 69 60 3a 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 .of.your.`php.ini`:".PHP_EOL;.$t
23d00 65 78 74 20 2e 3d 20 22 20 20 20 20 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 20 3d 20 4f 6e ext..=."....allow_url_fopen.=.On
23d20 22 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 72 ";.$displayIniMessage.=.true;.br
23d40 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 6f 6e 63 75 62 65 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 eak;..case.'ioncube':.$text.=.PH
23d60 50 5f 45 4f 4c 2e 22 59 6f 75 72 20 69 6f 6e 43 75 62 65 20 4c 6f 61 64 65 72 20 65 78 74 65 6e P_EOL."Your.ionCube.Loader.exten
23d80 73 69 6f 6e 20 28 24 63 75 72 72 65 6e 74 29 20 69 73 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 sion.($current).is.incompatible.
23da0 77 69 74 68 20 50 68 61 72 20 66 69 6c 65 73 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 with.Phar.files.".PHP_EOL;.$text
23dc0 20 2e 3d 20 22 55 70 67 72 61 64 65 20 74 6f 20 69 6f 6e 43 75 62 65 20 34 2e 30 2e 39 20 6f 72 ..=."Upgrade.to.ionCube.4.0.9.or
23de0 20 68 69 67 68 65 72 20 6f 72 20 72 65 6d 6f 76 65 20 74 68 69 73 20 6c 69 6e 65 20 28 70 61 74 .higher.or.remove.this.line.(pat
23e00 68 20 6d 61 79 20 62 65 20 64 69 66 66 65 72 65 6e 74 29 20 66 72 6f 6d 20 79 6f 75 72 20 60 70 h.may.be.different).from.your.`p
23e20 68 70 2e 69 6e 69 60 20 74 6f 20 64 69 73 61 62 6c 65 20 69 74 3a 22 2e 50 48 50 5f 45 4f 4c 3b hp.ini`.to.disable.it:".PHP_EOL;
23e40 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 20 20 7a 65 6e 64 5f 65 78 74 65 6e 73 69 6f 6e 20 3d 20 .$text..=."....zend_extension.=.
23e60 2f 75 73 72 2f 6c 69 62 2f 70 68 70 35 2f 32 30 30 39 30 36 32 36 2b 6c 66 73 2f 69 6f 6e 63 75 /usr/lib/php5/20090626+lfs/ioncu
23e80 62 65 5f 6c 6f 61 64 65 72 5f 6c 69 6e 5f 35 2e 33 2e 73 6f 22 3b 0a 24 64 69 73 70 6c 61 79 49 be_loader_lin_5.3.so";.$displayI
23ea0 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 niMessage.=.true;.break;..case.'
23ec0 6f 70 65 6e 73 73 6c 27 3a 0a 24 74 65 78 74 20 3d 20 50 48 50 5f 45 4f 4c 2e 22 54 68 65 20 6f openssl':.$text.=.PHP_EOL."The.o
23ee0 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2c 20 77 68 69 penssl.extension.is.missing,.whi
23f00 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 73 65 63 75 72 65 20 48 54 54 50 53 20 74 72 61 6e 73 ch.means.that.secure.HTTPS.trans
23f20 66 65 72 73 20 61 72 65 20 69 6d 70 6f 73 73 69 62 6c 65 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 fers.are.impossible.".PHP_EOL;.$
23f40 74 65 78 74 20 2e 3d 20 22 49 66 20 70 6f 73 73 69 62 6c 65 20 79 6f 75 20 73 68 6f 75 6c 64 20 text..=."If.possible.you.should.
23f60 65 6e 61 62 6c 65 20 69 74 20 6f 72 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 74 68 20 enable.it.or.recompile.php.with.
23f80 2d 2d 77 69 74 68 2d 6f 70 65 6e 73 73 6c 22 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 24 6f 75 74 28 24 --with-openssl";.break;.}.$out($
23fa0 74 65 78 74 2c 20 27 65 72 72 6f 72 27 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 2e 3d 20 50 48 text,.'error');.}..$output..=.PH
23fc0 50 5f 45 4f 4c 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 77 61 72 6e 69 6e 67 73 29 29 P_EOL;.}..if.(!empty($warnings))
23fe0 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 77 61 72 6e 69 6e 67 73 20 61 73 20 24 77 61 72 6e 69 6e .{.foreach.($warnings.as.$warnin
24000 67 20 3d 3e 20 24 63 75 72 72 65 6e 74 29 20 7b 0a 73 77 69 74 63 68 20 28 24 77 61 72 6e 69 6e g.=>.$current).{.switch.($warnin
24020 67 29 20 7b 0a 63 61 73 65 20 27 61 70 63 5f 63 6c 69 27 3a 0a 24 74 65 78 74 20 3d 20 22 54 68 g).{.case.'apc_cli':.$text.=."Th
24040 65 20 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 20 73 65 74 74 69 6e 67 20 69 73 20 69 6e 63 6f e.apc.enable_cli.setting.is.inco
24060 72 72 65 63 74 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 41 64 64 20 74 rrect.".PHP_EOL;.$text..=."Add.t
24080 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 79 6f 75 72 20 he.following.to.the.end.of.your.
240a0 60 70 68 70 2e 69 6e 69 60 3a 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 `php.ini`:".PHP_EOL;.$text..=.".
240c0 20 61 70 63 2e 65 6e 61 62 6c 65 5f 63 6c 69 20 3d 20 4f 66 66 22 3b 0a 24 64 69 73 70 6c 61 79 .apc.enable_cli.=.Off";.$display
240e0 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 IniMessage.=.true;.break;..case.
24100 27 7a 6c 69 62 27 3a 0a 24 74 65 78 74 20 3d 20 27 54 68 65 20 7a 6c 69 62 20 65 78 74 65 6e 73 'zlib':.$text.=.'The.zlib.extens
24120 69 6f 6e 20 69 73 20 6e 6f 74 20 6c 6f 61 64 65 64 2c 20 74 68 69 73 20 63 61 6e 20 73 6c 6f 77 ion.is.not.loaded,.this.can.slow
24140 20 64 6f 77 6e 20 43 6f 6d 70 6f 73 65 72 20 61 20 6c 6f 74 2e 27 2e 50 48 50 5f 45 4f 4c 3b 0a .down.Composer.a.lot.'.PHP_EOL;.
24160 24 74 65 78 74 20 2e 3d 20 27 49 66 20 70 6f 73 73 69 62 6c 65 2c 20 65 6e 61 62 6c 65 20 69 74 $text..=.'If.possible,.enable.it
24180 20 6f 72 20 72 65 63 6f 6d 70 69 6c 65 20 70 68 70 20 77 69 74 68 20 2d 2d 77 69 74 68 2d 7a 6c .or.recompile.php.with.--with-zl
241a0 69 62 27 2e 50 48 50 5f 45 4f 4c 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 ib'.PHP_EOL;.$displayIniMessage.
241c0 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 73 69 67 63 68 69 6c 64 27 3a =.true;.break;..case.'sigchild':
241e0 0a 24 74 65 78 74 20 3d 20 22 50 48 50 20 77 61 73 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 .$text.=."PHP.was.compiled.with.
24200 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 20 77 68 69 63 68 20 63 61 6e 20 63 61 75 73 --enable-sigchild.which.can.caus
24220 65 20 69 73 73 75 65 73 20 6f 6e 20 73 6f 6d 65 20 70 6c 61 74 66 6f 72 6d 73 2e 22 2e 50 48 50 e.issues.on.some.platforms.".PHP
24240 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 52 65 63 6f 6d 70 69 6c 65 20 69 74 20 77 69 74 _EOL;.$text..=."Recompile.it.wit
24260 68 6f 75 74 20 74 68 69 73 20 66 6c 61 67 20 69 66 20 70 6f 73 73 69 62 6c 65 2c 20 73 65 65 20 hout.this.flag.if.possible,.see.
24280 61 6c 73 6f 3a 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 20 68 74 74 70 also:".PHP_EOL;.$text..=."..http
242a0 73 3a 2f 2f 62 75 67 73 2e 70 68 70 2e 6e 65 74 2f 62 75 67 2e 70 68 70 3f 69 64 3d 32 32 39 39 s://bugs.php.net/bug.php?id=2299
242c0 39 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 63 75 72 6c 77 72 61 70 70 65 72 73 27 3a 9";.break;..case.'curlwrappers':
242e0 0a 24 74 65 78 74 20 3d 20 22 50 48 50 20 77 61 73 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 .$text.=."PHP.was.compiled.with.
24300 2d 2d 77 69 74 68 2d 63 75 72 6c 77 72 61 70 70 65 72 73 20 77 68 69 63 68 20 77 69 6c 6c 20 63 --with-curlwrappers.which.will.c
24320 61 75 73 65 20 69 73 73 75 65 73 20 77 69 74 68 20 48 54 54 50 20 61 75 74 68 65 6e 74 69 63 61 ause.issues.with.HTTP.authentica
24340 74 69 6f 6e 20 61 6e 64 20 47 69 74 48 75 62 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 tion.and.GitHub.".PHP_EOL;.$text
24360 20 2e 3d 20 22 20 52 65 63 6f 6d 70 69 6c 65 20 69 74 20 77 69 74 68 6f 75 74 20 74 68 69 73 20 ..=.".Recompile.it.without.this.
24380 66 6c 61 67 20 69 66 20 70 6f 73 73 69 62 6c 65 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 flag.if.possible";.break;..case.
243a0 27 70 68 70 27 3a 0a 24 74 65 78 74 20 3d 20 22 59 6f 75 72 20 50 48 50 20 28 7b 24 63 75 72 72 'php':.$text.=."Your.PHP.({$curr
243c0 65 6e 74 7d 29 20 69 73 20 71 75 69 74 65 20 6f 6c 64 2c 20 75 70 67 72 61 64 69 6e 67 20 74 6f ent}).is.quite.old,.upgrading.to
243e0 20 50 48 50 20 35 2e 33 2e 34 20 6f 72 20 68 69 67 68 65 72 20 69 73 20 72 65 63 6f 6d 6d 65 6e .PHP.5.3.4.or.higher.is.recommen
24400 64 65 64 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 43 6f 6d 70 6f 73 ded.".PHP_EOL;.$text..=.".Compos
24420 65 72 20 77 6f 72 6b 73 20 77 69 74 68 20 35 2e 33 2e 32 2b 20 66 6f 72 20 6d 6f 73 74 20 70 65 er.works.with.5.3.2+.for.most.pe
24440 6f 70 6c 65 2c 20 62 75 74 20 74 68 65 72 65 20 6d 69 67 68 74 20 62 65 20 65 64 67 65 20 63 61 ople,.but.there.might.be.edge.ca
24460 73 65 20 69 73 73 75 65 73 2e 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 6f 70 65 6e 73 se.issues.";.break;..case.'opens
24480 73 6c 5f 76 65 72 73 69 6f 6e 27 3a 0a 0a 20 24 6f 70 65 6e 73 73 6c 56 65 72 73 69 6f 6e 20 3d sl_version':...$opensslVersion.=
244a0 20 73 74 72 73 74 72 28 74 72 69 6d 28 73 74 72 73 74 72 28 4f 50 45 4e 53 53 4c 5f 56 45 52 53 .strstr(trim(strstr(OPENSSL_VERS
244c0 49 4f 4e 5f 54 45 58 54 2c 20 27 20 27 29 29 2c 20 27 20 27 2c 20 74 72 75 65 29 3b 0a 24 6f 70 ION_TEXT,.'.')),.'.',.true);.$op
244e0 65 6e 73 73 6c 56 65 72 73 69 6f 6e 20 3d 20 24 6f 70 65 6e 73 73 6c 56 65 72 73 69 6f 6e 20 3f ensslVersion.=.$opensslVersion.?
24500 3a 20 4f 50 45 4e 53 53 4c 5f 56 45 52 53 49 4f 4e 5f 54 45 58 54 3b 0a 0a 24 74 65 78 74 20 3d :.OPENSSL_VERSION_TEXT;..$text.=
24520 20 22 54 68 65 20 4f 70 65 6e 53 53 4c 20 6c 69 62 72 61 72 79 20 28 7b 24 6f 70 65 6e 73 73 6c ."The.OpenSSL.library.({$openssl
24540 56 65 72 73 69 6f 6e 7d 29 20 75 73 65 64 20 62 79 20 50 48 50 20 64 6f 65 73 20 6e 6f 74 20 73 Version}).used.by.PHP.does.not.s
24560 75 70 70 6f 72 74 20 54 4c 53 76 31 2e 32 20 6f 72 20 54 4c 53 76 31 2e 31 2e 22 2e 50 48 50 5f upport.TLSv1.2.or.TLSv1.1.".PHP_
24580 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 49 66 20 70 6f 73 73 69 62 6c 65 20 79 6f 75 20 73 EOL;.$text..=."If.possible.you.s
245a0 68 6f 75 6c 64 20 75 70 67 72 61 64 65 20 4f 70 65 6e 53 53 4c 20 74 6f 20 76 65 72 73 69 6f 6e hould.upgrade.OpenSSL.to.version
245c0 20 31 2e 30 2e 31 20 6f 72 20 61 62 6f 76 65 2e 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 .1.0.1.or.above.";.break;..case.
245e0 27 78 64 65 62 75 67 5f 6c 6f 61 64 65 64 27 3a 0a 24 74 65 78 74 20 3d 20 22 54 68 65 20 78 64 'xdebug_loaded':.$text.=."The.xd
24600 65 62 75 67 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6c 6f 61 64 65 64 2c 20 74 68 69 73 20 63 ebug.extension.is.loaded,.this.c
24620 61 6e 20 73 6c 6f 77 20 64 6f 77 6e 20 43 6f 6d 70 6f 73 65 72 20 61 20 6c 69 74 74 6c 65 2e 22 an.slow.down.Composer.a.little."
24640 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 20 44 69 73 61 62 6c 69 6e 67 20 69 .PHP_EOL;.$text..=.".Disabling.i
24660 74 20 77 68 65 6e 20 75 73 69 6e 67 20 43 6f 6d 70 6f 73 65 72 20 69 73 20 72 65 63 6f 6d 6d 65 t.when.using.Composer.is.recomme
24680 6e 64 65 64 2e 22 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 78 64 65 62 75 67 5f 70 72 6f nded.";.break;..case.'xdebug_pro
246a0 66 69 6c 65 27 3a 0a 24 74 65 78 74 20 3d 20 22 54 68 65 20 78 64 65 62 75 67 2e 70 72 6f 66 69 file':.$text.=."The.xdebug.profi
246c0 6c 65 72 5f 65 6e 61 62 6c 65 64 20 73 65 74 74 69 6e 67 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 ler_enabled.setting.is.enabled,.
246e0 74 68 69 73 20 63 61 6e 20 73 6c 6f 77 20 64 6f 77 6e 20 43 6f 6d 70 6f 73 65 72 20 61 20 6c 6f this.can.slow.down.Composer.a.lo
24700 74 2e 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 74 65 78 74 20 2e 3d 20 22 41 64 64 20 74 68 65 20 66 t.".PHP_EOL;.$text..=."Add.the.f
24720 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 79 6f 75 72 20 60 70 68 70 ollowing.to.the.end.of.your.`php
24740 2e 69 6e 69 60 20 74 6f 20 64 69 73 61 62 6c 65 20 69 74 3a 22 2e 50 48 50 5f 45 4f 4c 3b 0a 24 .ini`.to.disable.it:".PHP_EOL;.$
24760 74 65 78 74 20 2e 3d 20 22 20 20 78 64 65 62 75 67 2e 70 72 6f 66 69 6c 65 72 5f 65 6e 61 62 6c text..=."..xdebug.profiler_enabl
24780 65 64 20 3d 20 30 22 3b 0a 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 20 3d 20 74 72 ed.=.0";.$displayIniMessage.=.tr
247a0 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 24 6f 75 74 28 24 74 65 78 74 2c 20 27 63 6f 6d 6d 65 6e ue;.break;.}.$out($text,.'commen
247c0 74 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 64 69 73 70 6c 61 79 49 6e 69 4d 65 73 73 61 67 65 t');.}.}..if.($displayIniMessage
247e0 29 20 7b 0a 24 6f 75 74 28 24 69 6e 69 4d 65 73 73 61 67 65 2c 20 27 63 6f 6d 6d 65 6e 74 27 29 ).{.$out($iniMessage,.'comment')
24800 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 21 24 77 61 72 6e 69 6e 67 73 20 26 26 20 21 24 65 72 72 6f ;.}..return.!$warnings.&&.!$erro
24820 72 73 20 3f 20 74 72 75 65 20 3a 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 rs.?.true.:.$output;.}........pr
24840 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 43 6f 6e 6e 65 63 74 69 76 69 74 79 ivate.function.checkConnectivity
24860 28 29 0a 7b 0a 69 66 20 28 21 69 6e 69 5f 67 65 74 28 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 ().{.if.(!ini_get('allow_url_fop
24880 65 6e 27 29 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 27 3c 69 6e 66 6f 3e 53 6b 69 70 70 65 64 en')).{.$result.=.'<info>Skipped
248a0 20 62 65 63 61 75 73 65 20 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 20 69 73 20 6d 69 73 73 .because.allow_url_fopen.is.miss
248c0 69 6e 67 2e 3c 2f 69 6e 66 6f 3e 27 3b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a ing.</info>';.return.$result;.}.
248e0 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a .return.true;.}.}.<?php.........
24900 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a ...namespace.Composer\Command;..
24920 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 use.Composer\Plugin\CommandEvent
24940 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e ;.use.Composer\Plugin\PluginEven
24960 74 73 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ts;.use.Symfony\Component\Consol
24980 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 e\Input\InputInterface;.use.Symf
249a0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 ony\Component\Console\Input\Inpu
249c0 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 tOption;.use.Symfony\Component\C
249e0 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a onsole\Output\OutputInterface;..
24a00 0a 0a 0a 63 6c 61 73 73 20 44 75 6d 70 41 75 74 6f 6c 6f 61 64 43 6f 6d 6d 61 6e 64 20 65 78 74 ...class.DumpAutoloadCommand.ext
24a20 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e ends.BaseCommand.{.protected.fun
24a40 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e ction.configure().{.$this.->setN
24a60 61 6d 65 28 27 64 75 6d 70 2d 61 75 74 6f 6c 6f 61 64 27 29 0a 2d 3e 73 65 74 41 6c 69 61 73 65 ame('dump-autoload').->setAliase
24a80 73 28 61 72 72 61 79 28 27 64 75 6d 70 61 75 74 6f 6c 6f 61 64 27 29 29 0a 2d 3e 73 65 74 44 65 s(array('dumpautoload')).->setDe
24aa0 73 63 72 69 70 74 69 6f 6e 28 27 44 75 6d 70 73 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 2e scription('Dumps.the.autoloader.
24ac0 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e ').->setDefinition(array(.new.In
24ae0 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e putOption('no-scripts',.null,.In
24b00 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 6b 69 70 73 20 74 68 putOption::VALUE_NONE,.'Skips.th
24b20 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 73 63 72 69 70 74 73 20 64 65 66 69 6e e.execution.of.all.scripts.defin
24b40 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 2e 27 29 2c 0a 6e 65 77 ed.in.composer.json.file.'),.new
24b60 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 27 2c 20 27 6f 27 2c 20 49 6e .InputOption('optimize',.'o',.In
24b80 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 70 74 69 6d 69 7a 65 putOption::VALUE_NONE,.'Optimize
24ba0 73 20 50 53 52 30 20 61 6e 64 20 50 53 52 34 20 70 61 63 6b 61 67 65 73 20 74 6f 20 62 65 20 6c s.PSR0.and.PSR4.packages.to.be.l
24bc0 6f 61 64 65 64 20 77 69 74 68 20 63 6c 61 73 73 6d 61 70 73 20 74 6f 6f 2c 20 67 6f 6f 64 20 66 oaded.with.classmaps.too,.good.f
24be0 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f or.production.'),.new.InputOptio
24c00 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 2c 20 27 61 27 2c n('classmap-authoritative',.'a',
24c20 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 75 74 6f 6c .InputOption::VALUE_NONE,.'Autol
24c40 6f 61 64 20 63 6c 61 73 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6c 61 73 73 6d 61 70 20 6f 6e oad.classes.from.the.classmap.on
24c60 6c 79 2e 20 49 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 60 2d 2d 6f 70 74 69 6d 69 ly..Implicitly.enables.`--optimi
24c80 7a 65 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 27 2c 20 ze`.'),.new.InputOption('apcu',.
24ca0 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 null,.InputOption::VALUE_NONE,.'
24cc0 55 73 65 20 41 50 43 75 20 74 6f 20 63 61 63 68 65 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e Use.APCu.to.cache.found/not-foun
24ce0 64 20 63 6c 61 73 73 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e d.classes.'),.new.InputOption('n
24d00 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 o-dev',.null,.InputOption::VALUE
24d20 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 61 75 74 6f 6c 6f 61 64 2d 64 65 76 20 72 75 _NONE,.'Disables.autoload-dev.ru
24d40 6c 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 3c 69 6e les.'),.)).->setHelp(.<<<EOT.<in
24d60 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 64 75 6d 70 2d 61 75 74 6f 6c 6f fo>php.composer.phar.dump-autolo
24d80 61 64 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f ad</info>..Read.more.at.https://
24da0 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 64 75 getcomposer.org/doc/03-cli.md#du
24dc0 6d 70 2d 61 75 74 6f 6c 6f 61 64 2d 64 75 6d 70 61 75 74 6f 6c 6f 61 64 2d 0a 45 4f 54 0a 29 0a mp-autoload-dumpautoload-.EOT.).
24de0 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 ;.}..protected.function.execute(
24e00 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 InputInterface.$input,.OutputInt
24e20 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 erface.$output).{.$composer.=.$t
24e40 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 his->getComposer();..$commandEve
24e60 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e nt.=.new.CommandEvent(PluginEven
24e80 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 64 75 6d 70 2d 61 75 74 6f 6c 6f 61 64 27 2c 20 24 69 ts::COMMAND,.'dump-autoload',.$i
24ea0 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 nput,.$output);.$composer->getEv
24ec0 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 entDispatcher()->dispatch($comma
24ee0 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e ndEvent->getName(),.$commandEven
24f00 74 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 3d 20 24 63 6f 6d t);..$installationManager.=.$com
24f20 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b poser->getInstallationManager();
24f40 0a 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f .$localRepo.=.$composer->getRepo
24f60 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 sitoryManager()->getLocalReposit
24f80 6f 72 79 28 29 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 ory();.$package.=.$composer->get
24fa0 50 61 63 6b 61 67 65 28 29 3b 0a 24 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e Package();.$config.=.$composer->
24fc0 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 0a 24 6f 70 74 69 6d 69 7a 65 20 3d 20 24 69 6e 70 75 74 getConfig();..$optimize.=.$input
24fe0 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 27 29 20 7c 7c 20 24 63 6f 6e 66 ->getOption('optimize').||.$conf
25000 69 67 2d 3e 67 65 74 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a ig->get('optimize-autoloader');.
25020 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 $authoritative.=.$input->getOpti
25040 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 20 7c 7c 20 on('classmap-authoritative').||.
25060 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 $config->get('classmap-authorita
25080 74 69 76 65 27 29 3b 0a 24 61 70 63 75 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f tive');.$apcu.=.$input->getOptio
250a0 6e 28 27 61 70 63 75 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 70 63 75 2d n('apcu').||.$config->get('apcu-
250c0 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 0a 69 66 20 28 24 61 75 74 68 6f 72 69 74 61 74 69 76 autoloader');..if.($authoritativ
250e0 65 29 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 e).{.$this->getIO()->writeError(
25100 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 69 6e 67 20 6f 70 74 69 6d 69 7a 65 64 20 61 75 74 6f '<info>Generating.optimized.auto
25120 6c 6f 61 64 20 66 69 6c 65 73 20 28 61 75 74 68 6f 72 69 74 61 74 69 76 65 29 3c 2f 69 6e 66 6f load.files.(authoritative)</info
25140 3e 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6f 70 74 69 6d 69 7a 65 29 >',.false);.}.elseif.($optimize)
25160 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c .{.$this->getIO()->writeError('<
25180 69 6e 66 6f 3e 47 65 6e 65 72 61 74 69 6e 67 20 6f 70 74 69 6d 69 7a 65 64 20 61 75 74 6f 6c 6f info>Generating.optimized.autolo
251a0 61 64 20 66 69 6c 65 73 3c 2f 69 6e 66 6f 3e 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 ad.files</info>',.false);.}.else
251c0 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c .{.$this->getIO()->writeError('<
251e0 69 6e 66 6f 3e 47 65 6e 65 72 61 74 69 6e 67 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c 65 73 3c 2f info>Generating.autoload.files</
25200 69 6e 66 6f 3e 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 67 65 6e 65 72 61 74 6f 72 20 3d 20 info>',.false);.}..$generator.=.
25220 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 $composer->getAutoloadGenerator(
25240 29 3b 0a 24 67 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 21 24 69 6e 70 75 );.$generator->setDevMode(!$inpu
25260 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 3b 0a 24 67 65 6e 65 72 61 t->getOption('no-dev'));.$genera
25280 74 6f 72 2d 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 61 tor->setClassMapAuthoritative($a
252a0 75 74 68 6f 72 69 74 61 74 69 76 65 29 3b 0a 24 67 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 41 70 uthoritative);.$generator->setAp
252c0 63 75 28 24 61 70 63 75 29 3b 0a 24 67 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 52 75 6e 53 63 72 cu($apcu);.$generator->setRunScr
252e0 69 70 74 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 ipts(!$input->getOption('no-scri
25300 70 74 73 27 29 29 3b 0a 24 6e 75 6d 62 65 72 4f 66 43 6c 61 73 73 65 73 20 3d 20 24 67 65 6e 65 pts'));.$numberOfClasses.=.$gene
25320 72 61 74 6f 72 2d 3e 64 75 6d 70 28 24 63 6f 6e 66 69 67 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 2c rator->dump($config,.$localRepo,
25340 20 24 70 61 63 6b 61 67 65 2c 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c .$package,.$installationManager,
25360 20 27 63 6f 6d 70 6f 73 65 72 27 2c 20 24 6f 70 74 69 6d 69 7a 65 29 3b 0a 0a 69 66 20 28 24 61 .'composer',.$optimize);..if.($a
25380 75 74 68 6f 72 69 74 61 74 69 76 65 29 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e uthoritative).{.$this->getIO()->
253a0 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 65 64 20 overwriteError('<info>Generated.
253c0 6f 70 74 69 6d 69 7a 65 64 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c 65 73 20 28 61 75 74 68 6f 72 optimized.autoload.files.(author
253e0 69 74 61 74 69 76 65 29 20 63 6f 6e 74 61 69 6e 69 6e 67 20 27 2e 20 24 6e 75 6d 62 65 72 4f 66 itative).containing.'..$numberOf
25400 43 6c 61 73 73 65 73 20 2e 27 20 63 6c 61 73 73 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 Classes..'.classes</info>');.}.e
25420 6c 73 65 69 66 20 28 24 6f 70 74 69 6d 69 7a 65 29 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f lseif.($optimize).{.$this->getIO
25440 28 29 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 ()->overwriteError('<info>Genera
25460 74 65 64 20 6f 70 74 69 6d 69 7a 65 64 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c 65 73 20 63 6f 6e ted.optimized.autoload.files.con
25480 74 61 69 6e 69 6e 67 20 27 2e 20 24 6e 75 6d 62 65 72 4f 66 43 6c 61 73 73 65 73 20 2e 27 20 63 taining.'..$numberOfClasses..'.c
254a0 6c 61 73 73 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d lasses</info>');.}.else.{.$this-
254c0 3e 67 65 74 49 4f 28 29 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e >getIO()->overwriteError('<info>
254e0 47 65 6e 65 72 61 74 65 64 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c 65 73 20 63 6f 6e 74 61 69 6e Generated.autoload.files.contain
25500 69 6e 67 20 27 2e 20 24 6e 75 6d 62 65 72 4f 66 43 6c 61 73 73 65 73 20 2e 27 20 63 6c 61 73 73 ing.'..$numberOfClasses..'.class
25520 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 7d 0a 3c 3f es</info>');.}..return.0;.}.}.<?
25540 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
25560 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e r\Command;..use.Symfony\Componen
25580 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a t\Console\Input\InputInterface;.
255a0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
255c0 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d put\InputOption;.use.Symfony\Com
255e0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 ponent\Console\Output\OutputInte
25600 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e rface;.use.Symfony\Component\Con
25620 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 0a 0a 0a 0a 63 6c sole\Input\InputArgument;.....cl
25640 61 73 73 20 45 78 65 63 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d ass.ExecCommand.extends.BaseComm
25660 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 and.{.protected.function.configu
25680 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 65 78 65 63 27 29 0a 2d re().{.$this.->setName('exec').-
256a0 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 45 78 65 63 75 74 65 73 20 61 20 76 65 6e 64 >setDescription('Executes.a.vend
256c0 6f 72 65 64 20 62 69 6e 61 72 79 2f 73 63 72 69 70 74 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e ored.binary/script.').->setDefin
256e0 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6c 69 ition(array(.new.InputOption('li
25700 73 74 27 2c 20 27 6c 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e st',.'l',.InputOption::VALUE_NON
25720 45 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 62 69 6e 61 72 79 27 2c 20 E),.new.InputArgument('binary',.
25740 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 54 68 65 20 62 69 InputArgument::OPTIONAL,.'The.bi
25760 6e 61 72 79 20 74 6f 20 72 75 6e 2c 20 65 2e 67 2e 20 70 68 70 75 6e 69 74 27 29 2c 0a 6e 65 77 nary.to.run,.e.g..phpunit'),.new
25780 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 0a 27 61 72 67 73 27 2c 0a 49 6e 70 75 74 41 72 67 .InputArgument(.'args',.InputArg
257a0 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a ument::IS_ARRAY.|.InputArgument:
257c0 3a 4f 50 54 49 4f 4e 41 4c 2c 0a 27 41 72 67 75 6d 65 6e 74 73 20 74 6f 20 70 61 73 73 20 74 6f :OPTIONAL,.'Arguments.to.pass.to
257e0 20 74 68 65 20 62 69 6e 61 72 79 2e 20 55 73 65 20 3c 69 6e 66 6f 3e 2d 2d 3c 2f 69 6e 66 6f 3e .the.binary..Use.<info>--</info>
25800 20 74 6f 20 73 65 70 61 72 61 74 65 20 66 72 6f 6d 20 63 6f 6d 70 6f 73 65 72 20 61 72 67 75 6d .to.separate.from.composer.argum
25820 65 6e 74 73 27 0a 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 45 78 ents'.),.)).->setHelp(.<<<EOT.Ex
25840 65 63 75 74 65 73 20 61 20 76 65 6e 64 6f 72 65 64 20 62 69 6e 61 72 79 2f 73 63 72 69 70 74 2e ecutes.a.vendored.binary/script.
25860 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 ..................Read.more.at.h
25880 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c ttps://getcomposer.org/doc/03-cl
258a0 69 2e 6d 64 23 65 78 65 63 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 i.md#exec.EOT.).;.}..protected.f
258c0 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 unction.execute(InputInterface.$
258e0 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a input,.OutputInterface.$output).
25900 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 {.$composer.=.$this->getComposer
25920 28 29 3b 0a 24 62 69 6e 44 69 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 ();.$binDir.=.$composer->getConf
25940 69 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 64 69 72 27 29 3b 0a 69 66 20 28 24 69 6e 70 75 74 ig()->get('bin-dir');.if.($input
25960 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 69 73 74 27 29 20 7c 7c 20 21 24 69 6e 70 75 74 2d 3e ->getOption('list').||.!$input->
25980 67 65 74 41 72 67 75 6d 65 6e 74 28 27 62 69 6e 61 72 79 27 29 29 20 7b 0a 24 62 69 6e 73 20 3d getArgument('binary')).{.$bins.=
259a0 20 67 6c 6f 62 28 24 62 69 6e 44 69 72 20 2e 20 27 2f 2a 27 29 3b 0a 24 62 69 6e 73 20 3d 20 61 .glob($binDir...'/*');.$bins.=.a
259c0 72 72 61 79 5f 6d 65 72 67 65 28 24 62 69 6e 73 2c 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 rray_merge($bins,.array_map(func
259e0 74 69 6f 6e 20 28 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 22 24 65 20 28 6c 6f 63 61 6c 29 22 3b tion.($e).{.return."$e.(local)";
25a00 0a 7d 2c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 .},.$composer->getPackage()->get
25a20 42 69 6e 61 72 69 65 73 28 29 29 29 3b 0a 0a 69 66 20 28 21 24 62 69 6e 73 29 20 7b 0a 74 68 72 Binaries()));..if.(!$bins).{.thr
25a40 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 4e 6f 20 62 69 6e ow.new.\RuntimeException("No.bin
25a60 61 72 69 65 73 20 66 6f 75 6e 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 72 20 aries.found.in.composer.json.or.
25a80 69 6e 20 62 69 6e 2d 64 69 72 20 28 24 62 69 6e 44 69 72 29 22 29 3b 0a 7d 0a 0a 24 74 68 69 73 in.bin-dir.($binDir)");.}..$this
25aa0 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 0a 3c 3c 3c 45 4f 54 0a 3c 63 6f 6d 6d 65 6e ->getIO()->write(.<<<EOT.<commen
25ac0 74 3e 41 76 61 69 6c 61 62 6c 65 20 62 69 6e 61 72 69 65 73 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 0a t>Available.binaries:</comment>.
25ae0 45 4f 54 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 62 69 6e 73 20 61 73 20 24 62 69 6e 29 20 EOT.);..foreach.($bins.as.$bin).
25b00 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 70 72 65 76 69 6f 75 73 42 69 6e 29 20 26 26 20 24 {...if.(isset($previousBin).&&.$
25b20 62 69 6e 20 3d 3d 3d 20 24 70 72 65 76 69 6f 75 73 42 69 6e 2e 27 2e 62 61 74 27 29 20 7b 0a 63 bin.===.$previousBin.'.bat').{.c
25b40 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 72 65 76 69 6f 75 73 42 69 6e 20 3d 20 24 62 69 6e 3b ontinue;.}..$previousBin.=.$bin;
25b60 0a 24 62 69 6e 20 3d 20 62 61 73 65 6e 61 6d 65 28 24 62 69 6e 29 3b 0a 24 74 68 69 73 2d 3e 67 .$bin.=.basename($bin);.$this->g
25b80 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 0a 3c 3c 3c 45 4f 54 0a 3c 69 6e 66 6f 3e 2d 20 24 62 etIO()->write(.<<<EOT.<info>-.$b
25ba0 69 6e 3c 2f 69 6e 66 6f 3e 0a 45 4f 54 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a in</info>.EOT.);.}..return.0;.}.
25bc0 0a 24 62 69 6e 61 72 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 .$binary.=.$input->getArgument('
25be0 62 69 6e 61 72 79 27 29 3b 0a 0a 24 64 69 73 70 61 74 63 68 65 72 20 3d 20 24 63 6f 6d 70 6f 73 binary');..$dispatcher.=.$compos
25c00 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 3b 0a 24 64 69 73 70 61 er->getEventDispatcher();.$dispa
25c20 74 63 68 65 72 2d 3e 61 64 64 4c 69 73 74 65 6e 65 72 28 27 5f 5f 65 78 65 63 5f 63 6f 6d 6d 61 tcher->addListener('__exec_comma
25c40 6e 64 27 2c 20 24 62 69 6e 61 72 79 29 3b 0a 69 66 20 28 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 nd',.$binary);.if.($output->getV
25c60 65 72 62 6f 73 69 74 79 28 29 20 3d 3d 3d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a erbosity().===.OutputInterface::
25c80 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 VERBOSITY_NORMAL).{.$output->set
25ca0 56 65 72 62 6f 73 69 74 79 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f Verbosity(OutputInterface::VERBO
25cc0 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 69 73 70 61 74 63 68 SITY_QUIET);.}..return.$dispatch
25ce0 65 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 27 5f 5f 65 78 65 63 5f 63 6f 6d 6d 61 er->dispatchScript('__exec_comma
25d00 6e 64 27 2c 20 74 72 75 65 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 nd',.true,.$input->getArgument('
25d20 61 72 67 73 27 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 args'));.}.}.<?php............na
25d40 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 mespace.Composer\Command;..use.C
25d60 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 omposer\Factory;.use.Composer\Ut
25d80 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f il\Filesystem;.use.Symfony\Compo
25da0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 nent\Console\Input\InputInterfac
25dc0 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 e;.use.Symfony\Component\Console
25de0 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e \Input\InputArgument;.use.Symfon
25e00 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 53 74 72 69 6e 67 y\Component\Console\Input\String
25e20 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e Input;.use.Symfony\Component\Con
25e40 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a sole\Output\OutputInterface;....
25e60 0a 63 6c 61 73 73 20 47 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 .class.GlobalCommand.extends.Bas
25e80 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f eCommand.{.protected.function.co
25ea0 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 67 6c 6f nfigure().{.$this.->setName('glo
25ec0 62 61 6c 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 41 6c 6c 6f 77 73 20 72 bal').->setDescription('Allows.r
25ee0 75 6e 6e 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f unning.commands.in.the.global.co
25f00 6d 70 6f 73 65 72 20 64 69 72 20 28 24 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 29 2e 27 29 0a 2d mposer.dir.($COMPOSER_HOME).').-
25f20 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 >setDefinition(array(.new.InputA
25f40 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 2d 6e 61 6d 65 27 2c 20 49 6e 70 75 74 41 72 67 rgument('command-name',.InputArg
25f60 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c 20 27 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 ument::REQUIRED,.''),.new.InputA
25f80 72 67 75 6d 65 6e 74 28 27 61 72 67 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 rgument('args',.InputArgument::I
25fa0 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 S_ARRAY.|.InputArgument::OPTIONA
25fc0 4c 2c 20 27 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 55 73 65 L,.''),.)).->setHelp(.<<<EOT.Use
25fe0 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 61 73 20 61 20 77 72 61 70 70 65 72 20 74 6f 20 72 75 .this.command.as.a.wrapper.to.ru
26000 6e 20 6f 74 68 65 72 20 43 6f 6d 70 6f 73 65 72 20 63 6f 6d 6d 61 6e 64 73 0a 77 69 74 68 69 6e n.other.Composer.commands.within
26020 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 74 65 78 74 20 6f 66 20 43 4f 4d 50 4f 53 45 52 5f .the.global.context.of.COMPOSER_
26040 48 4f 4d 45 2e 0a 0a 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 74 6f 20 69 6e 73 74 61 HOME...You.can.use.this.to.insta
26060 6c 6c 20 43 4c 49 20 75 74 69 6c 69 74 69 65 73 20 67 6c 6f 62 61 6c 6c 79 2c 20 61 6c 6c 20 79 ll.CLI.utilities.globally,.all.y
26080 6f 75 20 6e 65 65 64 0a 69 73 20 74 6f 20 61 64 64 20 74 68 65 20 43 4f 4d 50 4f 53 45 52 5f 48 ou.need.is.to.add.the.COMPOSER_H
260a0 4f 4d 45 2f 76 65 6e 64 6f 72 2f 62 69 6e 20 64 69 72 20 74 6f 20 79 6f 75 72 20 50 41 54 48 20 OME/vendor/bin.dir.to.your.PATH.
260c0 65 6e 76 20 76 61 72 2e 0a 0a 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 20 69 73 20 63 3a 5c 55 73 env.var...COMPOSER_HOME.is.c:\Us
260e0 65 72 73 5c 3c 75 73 65 72 3e 5c 41 70 70 44 61 74 61 5c 52 6f 61 6d 69 6e 67 5c 43 6f 6d 70 6f ers\<user>\AppData\Roaming\Compo
26100 73 65 72 20 6f 6e 20 57 69 6e 64 6f 77 73 0a 61 6e 64 20 2f 68 6f 6d 65 2f 3c 75 73 65 72 3e 2f ser.on.Windows.and./home/<user>/
26120 2e 63 6f 6d 70 6f 73 65 72 20 6f 6e 20 75 6e 69 78 20 73 79 73 74 65 6d 73 2e 0a 0a 49 66 20 79 .composer.on.unix.systems...If.y
26140 6f 75 72 20 73 79 73 74 65 6d 20 75 73 65 73 20 66 72 65 65 64 65 73 6b 74 6f 70 2e 6f 72 67 20 our.system.uses.freedesktop.org.
26160 73 74 61 6e 64 61 72 64 73 2c 20 74 68 65 6e 20 69 74 20 77 69 6c 6c 20 66 69 72 73 74 20 63 68 standards,.then.it.will.first.ch
26180 65 63 6b 0a 58 44 47 5f 43 4f 4e 46 49 47 5f 48 4f 4d 45 20 6f 72 20 64 65 66 61 75 6c 74 20 74 eck.XDG_CONFIG_HOME.or.default.t
261a0 6f 20 2f 68 6f 6d 65 2f 3c 75 73 65 72 3e 2f 2e 63 6f 6e 66 69 67 2f 63 6f 6d 70 6f 73 65 72 0a o./home/<user>/.config/composer.
261c0 0a 4e 6f 74 65 3a 20 54 68 69 73 20 70 61 74 68 20 6d 61 79 20 76 61 72 79 20 64 65 70 65 6e 64 .Note:.This.path.may.vary.depend
261e0 69 6e 67 20 6f 6e 20 63 75 73 74 6f 6d 69 7a 61 74 69 6f 6e 73 20 74 6f 20 62 69 6e 2d 64 69 72 ing.on.customizations.to.bin-dir
26200 20 69 6e 0a 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 72 20 74 68 65 20 65 6e 76 69 72 6f 6e .in.composer.json.or.the.environ
26220 6d 65 6e 74 61 6c 20 76 61 72 69 61 62 6c 65 20 43 4f 4d 50 4f 53 45 52 5f 42 49 4e 5f 44 49 52 mental.variable.COMPOSER_BIN_DIR
26240 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f ...Read.more.at.https://getcompo
26260 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 67 6c 6f 62 61 6c 0a 45 4f 54 ser.org/doc/03-cli.md#global.EOT
26280 0a 29 0a 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 49 6e 70 75 .).;.}..public.function.run(Inpu
262a0 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 tInterface.$input,.OutputInterfa
262c0 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 0a 20 24 74 6f 6b 65 6e 73 20 3d 20 70 72 65 67 5f 73 ce.$output).{...$tokens.=.preg_s
262e0 70 6c 69 74 28 27 7b 5c 73 2b 7d 27 2c 20 24 69 6e 70 75 74 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 plit('{\s+}',.$input->__toString
26300 28 29 29 3b 0a 24 61 72 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 ());.$args.=.array();.foreach.($
26320 74 6f 6b 65 6e 73 20 61 73 20 24 74 6f 6b 65 6e 29 20 7b 0a 69 66 20 28 24 74 6f 6b 65 6e 20 26 tokens.as.$token).{.if.($token.&
26340 26 20 24 74 6f 6b 65 6e 5b 30 5d 20 21 3d 3d 20 27 2d 27 29 20 7b 0a 24 61 72 67 73 5b 5d 20 3d &.$token[0].!==.'-').{.$args[].=
26360 20 24 74 6f 6b 65 6e 3b 0a 69 66 20 28 63 6f 75 6e 74 28 24 61 72 67 73 29 20 3e 3d 20 32 29 20 .$token;.if.(count($args).>=.2).
26380 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 61 72 67 {.break;.}.}.}....if.(count($arg
263a0 73 29 20 3c 20 32 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 72 75 6e 28 24 69 6e s).<.2).{.return.parent::run($in
263c0 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 66 69 67 20 3d 20 46 61 put,.$output);.}....$config.=.Fa
263e0 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 29 3b 0a 24 68 6f 6d 65 20 3d 20 24 ctory::createConfig();.$home.=.$
26400 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 3b 0a 0a 69 66 20 28 21 69 73 5f 64 69 config->get('home');..if.(!is_di
26420 72 28 24 68 6f 6d 65 29 29 20 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d r($home)).{.$fs.=.new.Filesystem
26440 28 29 3b 0a 24 66 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 ();.$fs->ensureDirectoryExists($
26460 68 6f 6d 65 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 68 6f 6d 65 29 29 20 7b 0a 74 68 72 home);.if.(!is_dir($home)).{.thr
26480 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 ow.new.\RuntimeException('Could.
264a0 6e 6f 74 20 63 72 65 61 74 65 20 68 6f 6d 65 20 64 69 72 65 63 74 6f 72 79 27 29 3b 0a 7d 0a 7d not.create.home.directory');.}.}
264c0 0a 0a 74 72 79 20 7b 0a 63 68 64 69 72 28 24 68 6f 6d 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c ..try.{.chdir($home);.}.catch.(\
264e0 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 Exception.$e).{.throw.new.\Runti
26500 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 73 77 69 74 63 68 20 74 6f meException('Could.not.switch.to
26520 20 68 6f 6d 65 20 64 69 72 65 63 74 6f 72 79 20 22 27 2e 24 68 6f 6d 65 2e 27 22 27 2c 20 30 2c .home.directory."'.$home.'"',.0,
26540 20 24 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 72 .$e);.}.$this->getIO()->writeErr
26560 6f 72 28 27 3c 69 6e 66 6f 3e 43 68 61 6e 67 65 64 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 or('<info>Changed.current.direct
26580 6f 72 79 20 74 6f 20 27 2e 24 68 6f 6d 65 2e 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 0a 20 24 69 ory.to.'.$home.'</info>');....$i
265a0 6e 70 75 74 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 49 6e 70 75 74 28 70 72 65 67 5f 72 65 70 6c nput.=.new.StringInput(preg_repl
265c0 61 63 65 28 27 7b 5c 62 67 28 3f 3a 6c 28 3f 3a 6f 28 3f 3a 62 28 3f 3a 61 28 3f 3a 6c 29 3f 29 ace('{\bg(?:l(?:o(?:b(?:a(?:l)?)
265e0 3f 29 3f 29 3f 29 3f 5c 62 7d 27 2c 20 27 27 2c 20 24 69 6e 70 75 74 2d 3e 5f 5f 74 6f 53 74 72 ?)?)?)?\b}',.'',.$input->__toStr
26600 69 6e 67 28 29 2c 20 31 29 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f ing(),.1));.$this->getApplicatio
26620 6e 28 29 2d 3e 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 n()->resetComposer();..return.$t
26640 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 72 75 6e 28 24 69 6e 70 75 his->getApplication()->run($inpu
26660 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 t,.$output);.}.....public.functi
26680 6f 6e 20 69 73 50 72 6f 78 79 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 on.isProxyCommand().{.return.tru
266a0 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 e;.}.}.<?php............namespac
266c0 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 e.Composer\Command;..use.Compose
266e0 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 r\Package\CompletePackageInterfa
26700 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f ce;.use.Composer\Repository\Repo
26720 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 sitoryInterface;.use.Composer\Re
26740 70 6f 73 69 74 6f 72 79 5c 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f pository\ArrayRepository;.use.Co
26760 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 mposer\Repository\RepositoryFact
26780 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b ory;.use.Composer\Util\Platform;
267a0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 .use.Composer\Util\ProcessExecut
267c0 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c or;.use.Symfony\Component\Consol
267e0 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f e\Input\InputArgument;.use.Symfo
26800 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 ny\Component\Console\Input\Input
26820 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f Option;.use.Symfony\Component\Co
26840 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 nsole\Input\InputInterface;.use.
26860 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 Symfony\Component\Console\Output
26880 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 6f 6d 65 \OutputInterface;.....class.Home
268a0 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a Command.extends.BaseCommand.{...
268c0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a .protected.function.configure().
268e0 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 62 72 6f 77 73 65 27 29 0a 2d 3e 73 65 {.$this.->setName('browse').->se
26900 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 68 6f 6d 65 27 29 29 0a 2d 3e 73 65 74 44 65 73 tAliases(array('home')).->setDes
26920 63 72 69 70 74 69 6f 6e 28 27 4f 70 65 6e 73 20 74 68 65 20 70 61 63 6b 61 67 65 5c 27 73 20 72 cription('Opens.the.package\'s.r
26940 65 70 6f 73 69 74 6f 72 79 20 55 52 4c 20 6f 72 20 68 6f 6d 65 70 61 67 65 20 69 6e 20 79 6f 75 epository.URL.or.homepage.in.you
26960 72 20 62 72 6f 77 73 65 72 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 r.browser.').->setDefinition(arr
26980 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 ay(.new.InputArgument('packages'
269a0 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 2c 20 27 50 61 63 6b ,.InputArgument::IS_ARRAY,.'Pack
269c0 61 67 65 28 73 29 20 74 6f 20 62 72 6f 77 73 65 20 74 6f 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 age(s).to.browse.to.'),.new.Inpu
269e0 74 4f 70 74 69 6f 6e 28 27 68 6f 6d 65 70 61 67 65 27 2c 20 27 48 27 2c 20 49 6e 70 75 74 4f 70 tOption('homepage',.'H',.InputOp
26a00 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 70 65 6e 20 74 68 65 20 68 6f 6d 65 tion::VALUE_NONE,.'Open.the.home
26a20 70 61 67 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 55 page.instead.of.the.repository.U
26a40 52 4c 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 68 6f 77 27 2c 20 27 RL.'),.new.InputOption('show',.'
26a60 73 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 6e s',.InputOption::VALUE_NONE,.'On
26a80 6c 79 20 73 68 6f 77 20 74 68 65 20 68 6f 6d 65 70 61 67 65 20 6f 72 20 72 65 70 6f 73 69 74 6f ly.show.the.homepage.or.reposito
26aa0 72 79 20 55 52 4c 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a ry.URL.'),.)).->setHelp(.<<<EOT.
26ac0 54 68 65 20 68 6f 6d 65 20 63 6f 6d 6d 61 6e 64 20 6f 70 65 6e 73 20 6f 72 20 73 68 6f 77 73 20 The.home.command.opens.or.shows.
26ae0 61 20 70 61 63 6b 61 67 65 27 73 20 72 65 70 6f 73 69 74 6f 72 79 20 55 52 4c 20 6f 72 0a 68 6f a.package's.repository.URL.or.ho
26b00 6d 65 70 61 67 65 20 69 6e 20 79 6f 75 72 20 64 65 66 61 75 6c 74 20 62 72 6f 77 73 65 72 2e 0a mepage.in.your.default.browser..
26b20 0a 54 6f 20 6f 70 65 6e 20 74 68 65 20 68 6f 6d 65 70 61 67 65 20 62 79 20 64 65 66 61 75 6c 74 .To.open.the.homepage.by.default
26b40 2c 20 75 73 65 20 2d 48 20 6f 72 20 2d 2d 68 6f 6d 65 70 61 67 65 2e 0a 54 6f 20 73 68 6f 77 20 ,.use.-H.or.--homepage..To.show.
26b60 69 6e 73 74 65 61 64 20 6f 66 20 6f 70 65 6e 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 6f instead.of.open.the.repository.o
26b80 72 20 68 6f 6d 65 70 61 67 65 20 55 52 4c 2c 20 75 73 65 20 2d 73 20 6f 72 20 2d 2d 73 68 6f 77 r.homepage.URL,.use.-s.or.--show
26ba0 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f ...Read.more.at.https://getcompo
26bc0 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 62 72 6f 77 73 65 2d 68 6f 6d ser.org/doc/03-cli.md#browse-hom
26be0 65 0a 45 4f 54 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f e.EOT.);.}.....protected.functio
26c00 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c n.execute(InputInterface.$input,
26c20 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 72 65 70 .OutputInterface.$output).{.$rep
26c40 6f 73 20 3d 20 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 52 65 70 6f 73 28 29 3b 0a 24 os.=.$this->initializeRepos();.$
26c60 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 72 65 74 75 72 6e 20 3d 20 30 io.=.$this->getIO();.$return.=.0
26c80 3b 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 ;..$packages.=.$input->getArgume
26ca0 6e 74 28 27 70 61 63 6b 61 67 65 73 27 29 3b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 73 29 20 nt('packages');.if.(!$packages).
26cc0 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 70 61 63 6b 61 67 65 20 73 70 {.$io->writeError('No.package.sp
26ce0 65 63 69 66 69 65 64 2c 20 6f 70 65 6e 69 6e 67 20 68 6f 6d 65 70 61 67 65 20 66 6f 72 20 74 68 ecified,.opening.homepage.for.th
26d00 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 27 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 e.root.package');.$packages.=.ar
26d20 72 61 79 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 50 61 63 ray($this->getComposer()->getPac
26d40 6b 61 67 65 28 29 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 kage()->getName());.}..foreach.(
26d60 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 7b 0a 24 68 61 $packages.as.$packageName).{.$ha
26d80 6e 64 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 24 70 61 63 6b 61 67 65 45 78 69 73 74 73 20 3d 20 ndled.=.false;.$packageExists.=.
26da0 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 20 61 73 20 24 72 65 70 6f 29 false;.foreach.($repos.as.$repo)
26dc0 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 .{.foreach.($repo->findPackages(
26de0 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 $packageName).as.$package).{.$pa
26e00 63 6b 61 67 65 45 78 69 73 74 73 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 ckageExists.=.true;.if.($package
26e20 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 .instanceof.CompletePackageInter
26e40 66 61 63 65 20 26 26 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 50 61 63 6b 61 67 65 28 24 70 61 face.&&.$this->handlePackage($pa
26e60 63 6b 61 67 65 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 68 6f 6d 65 70 61 ckage,.$input->getOption('homepa
26e80 67 65 27 29 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 68 6f 77 27 29 29 ge'),.$input->getOption('show'))
26ea0 29 20 7b 0a 24 68 61 6e 64 6c 65 64 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 20 32 3b 0a 7d 0a ).{.$handled.=.true;.break.2;.}.
26ec0 7d 0a 7d 0a 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 45 78 69 73 74 73 29 20 7b 0a 24 72 65 74 }.}..if.(!$packageExists).{.$ret
26ee0 75 72 6e 20 3d 20 31 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 urn.=.1;.$io->writeError('<warni
26f00 6e 67 3e 50 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 27 20 6e 6f 74 20 ng>Package.'.$packageName.'.not.
26f20 66 6f 75 6e 64 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 68 61 6e 64 found</warning>');.}..if.(!$hand
26f40 6c 65 64 29 20 7b 0a 24 72 65 74 75 72 6e 20 3d 20 31 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 led).{.$return.=.1;.$io->writeEr
26f60 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 ror('<warning>'.($input->getOpti
26f80 6f 6e 28 27 68 6f 6d 65 70 61 67 65 27 29 20 3f 20 27 49 6e 76 61 6c 69 64 20 6f 72 20 6d 69 73 on('homepage').?.'Invalid.or.mis
26fa0 73 69 6e 67 20 68 6f 6d 65 70 61 67 65 27 20 3a 20 27 49 6e 76 61 6c 69 64 20 6f 72 20 6d 69 73 sing.homepage'.:.'Invalid.or.mis
26fc0 73 69 6e 67 20 72 65 70 6f 73 69 74 6f 72 79 20 55 52 4c 27 29 2e 27 20 66 6f 72 20 27 2e 24 70 sing.repository.URL').'.for.'.$p
26fe0 61 63 6b 61 67 65 4e 61 6d 65 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 0a 72 ackageName.'</warning>');.}.}..r
27000 65 74 75 72 6e 20 24 72 65 74 75 72 6e 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 eturn.$return;.}..private.functi
27020 6f 6e 20 68 61 6e 64 6c 65 50 61 63 6b 61 67 65 28 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 on.handlePackage(CompletePackage
27040 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 73 68 6f 77 48 6f 6d 65 70 61 67 Interface.$package,.$showHomepag
27060 65 2c 20 24 73 68 6f 77 4f 6e 6c 79 29 0a 7b 0a 24 73 75 70 70 6f 72 74 20 3d 20 24 70 61 63 6b e,.$showOnly).{.$support.=.$pack
27080 61 67 65 2d 3e 67 65 74 53 75 70 70 6f 72 74 28 29 3b 0a 24 75 72 6c 20 3d 20 69 73 73 65 74 28 age->getSupport();.$url.=.isset(
270a0 24 73 75 70 70 6f 72 74 5b 27 73 6f 75 72 63 65 27 5d 29 20 3f 20 24 73 75 70 70 6f 72 74 5b 27 $support['source']).?.$support['
270c0 73 6f 75 72 63 65 27 5d 20 3a 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 source'].:.$package->getSourceUr
270e0 6c 28 29 3b 0a 69 66 20 28 21 24 75 72 6c 20 7c 7c 20 24 73 68 6f 77 48 6f 6d 65 70 61 67 65 29 l();.if.(!$url.||.$showHomepage)
27100 20 7b 0a 24 75 72 6c 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 48 6f 6d 65 70 61 67 65 28 .{.$url.=.$package->getHomepage(
27120 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 75 72 6c 20 7c 7c 20 21 66 69 6c 74 65 72 5f 76 61 72 28 24 );.}..if.(!$url.||.!filter_var($
27140 75 72 6c 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 29 29 20 7b 0a 72 65 74 url,.FILTER_VALIDATE_URL)).{.ret
27160 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 73 68 6f 77 4f 6e 6c 79 29 20 7b 0a 24 urn.false;.}..if.($showOnly).{.$
27180 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 3c 69 this->getIO()->write(sprintf('<i
271a0 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 24 75 72 6c 29 29 3b 0a 7d 20 65 6c 73 65 20 7b nfo>%s</info>',.$url));.}.else.{
271c0 0a 24 74 68 69 73 2d 3e 6f 70 65 6e 42 72 6f 77 73 65 72 28 24 75 72 6c 29 3b 0a 7d 0a 0a 72 65 .$this->openBrowser($url);.}..re
271e0 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 turn.true;.}.......private.funct
27200 69 6f 6e 20 6f 70 65 6e 42 72 6f 77 73 65 72 28 24 75 72 6c 29 0a 7b 0a 24 75 72 6c 20 3d 20 50 ion.openBrowser($url).{.$url.=.P
27220 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 3b 0a 0a 24 rocessExecutor::escape($url);..$
27240 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 74 process.=.new.ProcessExecutor($t
27260 68 69 73 2d 3e 67 65 74 49 4f 28 29 29 3b 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 his->getIO());.if.(Platform::isW
27280 69 6e 64 6f 77 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 indows()).{.return.$process->exe
272a0 63 75 74 65 28 27 73 74 61 72 74 20 22 77 65 62 22 20 65 78 70 6c 6f 72 65 72 20 22 27 20 2e 20 cute('start."web".explorer."'...
272c0 24 75 72 6c 20 2e 20 27 22 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 24 6c 69 6e 75 78 20 $url...'"',.$output);.}..$linux.
272e0 3d 20 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 77 68 69 63 68 20 78 64 67 2d 6f =.$process->execute('which.xdg-o
27300 70 65 6e 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 6f 73 78 20 3d 20 24 70 72 6f 63 65 73 73 2d pen',.$output);.$osx.=.$process-
27320 3e 65 78 65 63 75 74 65 28 27 77 68 69 63 68 20 6f 70 65 6e 27 2c 20 24 6f 75 74 70 75 74 29 3b >execute('which.open',.$output);
27340 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6c 69 6e 75 78 29 20 7b 0a 24 70 72 6f 63 65 73 73 2d 3e ..if.(0.===.$linux).{.$process->
27360 65 78 65 63 75 74 65 28 27 78 64 67 2d 6f 70 65 6e 20 27 20 2e 20 24 75 72 6c 2c 20 24 6f 75 74 execute('xdg-open.'...$url,.$out
27380 70 75 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 30 20 3d 3d 3d 20 24 6f 73 78 29 20 7b 0a 24 70 put);.}.elseif.(0.===.$osx).{.$p
273a0 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 6f 70 65 6e 20 27 20 2e 20 24 75 72 6c 2c 20 rocess->execute('open.'...$url,.
273c0 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 $output);.}.else.{.$this->getIO(
273e0 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 73 75 69 74 61 62 6c 65 20 62 72 6f 77 73 )->writeError('No.suitable.brows
27400 65 72 20 6f 70 65 6e 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 66 6f 75 6e 64 2c 20 6f 70 65 6e 20 79 er.opening.command.found,.open.y
27420 6f 75 72 73 65 6c 66 3a 20 27 20 2e 20 24 75 72 6c 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ourself:.'...$url);.}.}.........
27440 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 52 65 70 6f 73 private.function.initializeRepos
27460 28 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f ().{.$composer.=.$this->getCompo
27480 73 65 72 28 66 61 6c 73 65 29 3b 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 72 65 ser(false);..if.($composer).{.re
274a0 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 61 72 72 61 79 28 6e 65 77 20 41 72 72 61 turn.array_merge(.array(new.Arra
274c0 79 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 yRepository(array($composer->get
274e0 50 61 63 6b 61 67 65 28 29 29 29 29 2c 20 0a 20 61 72 72 61 79 28 24 63 6f 6d 70 6f 73 65 72 2d Package()))),...array($composer-
27500 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 >getRepositoryManager()->getLoca
27520 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 29 2c 20 0a 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 lRepository()),...$composer->get
27540 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f RepositoryManager()->getReposito
27560 72 69 65 73 28 29 20 0a 20 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 52 65 70 6f 73 69 74 6f 72 79 ries()...);.}..return.Repository
27580 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 74 68 69 73 2d 3e 67 65 74 Factory::defaultRepos($this->get
275a0 49 4f 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 IO());.}.}.<?php............name
275c0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d space.Composer\Command;..use.Com
275e0 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 poser\DependencyResolver\Pool;.u
27600 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 se.Composer\Factory;.use.Compose
27620 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 r\Json\JsonFile;.use.Composer\Pa
27640 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c ckage\BasePackage;.use.Composer\
27660 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 Package\Version\VersionParser;.u
27680 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 se.Composer\Package\Version\Vers
276a0 69 6f 6e 53 65 6c 65 63 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 ionSelector;.use.Composer\Reposi
276c0 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f tory\CompositeRepository;.use.Co
276e0 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 mposer\Repository\PlatformReposi
27700 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 tory;.use.Composer\Repository\Re
27720 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 positoryFactory;.use.Composer\Ut
27740 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c il\ProcessExecutor;.use.Symfony\
27760 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 41 72 72 61 79 49 6e 70 Component\Console\Input\ArrayInp
27780 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ut;.use.Symfony\Component\Consol
277a0 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 e\Input\InputInterface;.use.Symf
277c0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 ony\Component\Console\Input\Inpu
277e0 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 tOption;.use.Symfony\Component\C
27800 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 onsole\Output\OutputInterface;.u
27820 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 65 se.Symfony\Component\Process\Exe
27840 63 75 74 61 62 6c 65 46 69 6e 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f cutableFinder;.use.Symfony\Compo
27860 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 nent\Process\Process;......class
27880 20 49 6e 69 74 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 .InitCommand.extends.BaseCommand
278a0 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 73 3b 0a 0a 0a 70 72 69 76 61 74 65 20 .{..protected.$repos;...private.
278c0 24 67 69 74 43 6f 6e 66 69 67 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 6f 6f 6c 73 3b 0a 0a 0a $gitConfig;...private.$pools;...
278e0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 ..protected.function.configure()
27900 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 69 6e 69 74 27 29 0a 2d 3e 73 65 74 .{.$this.->setName('init').->set
27920 44 65 73 63 72 69 70 74 69 6f 6e 28 27 43 72 65 61 74 65 73 20 61 20 62 61 73 69 63 20 63 6f 6d Description('Creates.a.basic.com
27940 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 69 6e 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 poser.json.file.in.current.direc
27960 74 6f 72 79 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e tory.').->setDefinition(array(.n
27980 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 ew.InputOption('name',.null,.Inp
279a0 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 4e 61 6d 65 20 utOption::VALUE_REQUIRED,.'Name.
279c0 6f 66 20 74 68 65 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f of.the.package'),.new.InputOptio
279e0 6e 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 n('description',.null,.InputOpti
27a00 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 44 65 73 63 72 69 70 74 69 6f 6e on::VALUE_REQUIRED,.'Description
27a20 20 6f 66 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 .of.package'),.new.InputOption('
27a40 61 75 74 68 6f 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 author',.null,.InputOption::VALU
27a60 45 5f 52 45 51 55 49 52 45 44 2c 20 27 41 75 74 68 6f 72 20 6e 61 6d 65 20 6f 66 20 70 61 63 6b E_REQUIRED,.'Author.name.of.pack
27a80 61 67 65 27 29 2c 0a 0a 20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 74 79 70 65 27 2c age'),...new.InputOption('type',
27aa0 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4f 50 54 49 4f 4e .null,.InputOption::VALUE_OPTION
27ac0 41 4c 2c 20 27 54 79 70 65 20 6f 66 20 70 61 63 6b 61 67 65 20 28 65 2e 67 2e 20 6c 69 62 72 61 AL,.'Type.of.package.(e.g..libra
27ae0 72 79 2c 20 70 72 6f 6a 65 63 74 2c 20 6d 65 74 61 70 61 63 6b 61 67 65 2c 20 63 6f 6d 70 6f 73 ry,.project,.metapackage,.compos
27b00 65 72 2d 70 6c 75 67 69 6e 29 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 68 er-plugin)'),.new.InputOption('h
27b20 6f 6d 65 70 61 67 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c omepage',.null,.InputOption::VAL
27b40 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 48 6f 6d 65 70 61 67 65 20 6f 66 20 70 61 63 6b 61 67 UE_REQUIRED,.'Homepage.of.packag
27b60 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 69 72 65 27 2c 20 e'),.new.InputOption('require',.
27b80 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 null,.InputOption::VALUE_IS_ARRA
27ba0 59 20 7c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c Y.|.InputOption::VALUE_REQUIRED,
27bc0 20 27 50 61 63 6b 61 67 65 20 74 6f 20 72 65 71 75 69 72 65 20 77 69 74 68 20 61 20 76 65 72 73 .'Package.to.require.with.a.vers
27be0 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 2c 20 65 2e 67 2e 20 66 6f 6f 2f 62 61 72 3a 31 2e 30 ion.constraint,.e.g..foo/bar:1.0
27c00 2e 30 20 6f 72 20 66 6f 6f 2f 62 61 72 3d 31 2e 30 2e 30 20 6f 72 20 22 66 6f 6f 2f 62 61 72 20 .0.or.foo/bar=1.0.0.or."foo/bar.
27c20 31 2e 30 2e 30 22 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 69 1.0.0"'),.new.InputOption('requi
27c40 72 65 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 re-dev',.null,.InputOption::VALU
27c60 45 5f 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f E_IS_ARRAY.|.InputOption::VALUE_
27c80 52 45 51 55 49 52 45 44 2c 20 27 50 61 63 6b 61 67 65 20 74 6f 20 72 65 71 75 69 72 65 20 66 6f REQUIRED,.'Package.to.require.fo
27ca0 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 77 69 74 68 20 61 20 76 65 72 73 69 6f 6e 20 63 6f 6e r.development.with.a.version.con
27cc0 73 74 72 61 69 6e 74 2c 20 65 2e 67 2e 20 66 6f 6f 2f 62 61 72 3a 31 2e 30 2e 30 20 6f 72 20 66 straint,.e.g..foo/bar:1.0.0.or.f
27ce0 6f 6f 2f 62 61 72 3d 31 2e 30 2e 30 20 6f 72 20 22 66 6f 6f 2f 62 61 72 20 31 2e 30 2e 30 22 27 oo/bar=1.0.0.or."foo/bar.1.0.0"'
27d00 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 2c 20 ),.new.InputOption('stability',.
27d20 27 73 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 's',.InputOption::VALUE_REQUIRED
27d40 2c 20 27 4d 69 6e 69 6d 75 6d 20 73 74 61 62 69 6c 69 74 79 20 28 65 6d 70 74 79 20 6f 72 20 6f ,.'Minimum.stability.(empty.or.o
27d60 6e 65 20 6f 66 3a 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 ne.of:.'.implode(',.',.array_key
27d80 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 2e 27 29 s(BasePackage::$stabilities)).')
27da0 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6c 69 63 65 6e 73 65 27 2c 20 27 '),.new.InputOption('license',.'
27dc0 6c 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c l',.InputOption::VALUE_REQUIRED,
27de0 20 27 4c 69 63 65 6e 73 65 20 6f 66 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 .'License.of.package'),.new.Inpu
27e00 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 tOption('repository',.null,.Inpu
27e20 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 20 7c 20 49 6e 70 75 74 4f tOption::VALUE_REQUIRED.|.InputO
27e40 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 2c 20 27 41 64 64 20 63 75 73 74 ption::VALUE_IS_ARRAY,.'Add.cust
27e60 6f 6d 20 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 65 69 74 68 65 72 20 62 79 20 55 52 4c 20 6f om.repositories,.either.by.URL.o
27e80 72 20 75 73 69 6e 67 20 4a 53 4f 4e 20 61 72 72 61 79 73 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 r.using.JSON.arrays'),.)).->setH
27ea0 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 69 6e 69 74 3c 2f 69 6e 66 6f elp(.<<<EOT.The.<info>init</info
27ec0 3e 20 63 6f 6d 6d 61 6e 64 20 63 72 65 61 74 65 73 20 61 20 62 61 73 69 63 20 63 6f 6d 70 6f 73 >.command.creates.a.basic.compos
27ee0 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 0a 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 er.json.file.in.the.current.dire
27f00 63 74 6f 72 79 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 ctory...<info>php.composer.phar.
27f20 69 6e 69 74 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a init</info>..Read.more.at.https:
27f40 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 //getcomposer.org/doc/03-cli.md#
27f60 69 6e 69 74 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e init.EOT.).;.}.....protected.fun
27f80 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e ction.execute(InputInterface.$in
27fa0 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a put,.OutputInterface.$output).{.
27fc0 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 24 77 68 69 74 65 6c 69 73 $io.=.$this->getIO();..$whitelis
27fe0 74 20 3d 20 61 72 72 61 79 28 27 6e 61 6d 65 27 2c 20 27 64 65 73 63 72 69 70 74 69 6f 6e 27 2c t.=.array('name',.'description',
28000 20 27 61 75 74 68 6f 72 27 2c 20 27 74 79 70 65 27 2c 20 27 68 6f 6d 65 70 61 67 65 27 2c 20 27 .'author',.'type',.'homepage',.'
28020 72 65 71 75 69 72 65 27 2c 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 2c 20 27 73 74 61 62 69 6c require',.'require-dev',.'stabil
28040 69 74 79 27 2c 20 27 6c 69 63 65 6e 73 65 27 29 3b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 ity',.'license');.$options.=.arr
28060 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 5f 69 6e 74 65 72 73 65 63 74 5f 6b 65 79 28 24 69 ay_filter(array_intersect_key($i
28080 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 2c 20 61 72 72 61 79 5f 66 6c 69 70 28 24 nput->getOptions(),.array_flip($
280a0 77 68 69 74 65 6c 69 73 74 29 29 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e whitelist)));..if.(isset($option
280c0 73 5b 27 61 75 74 68 6f 72 27 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 61 75 74 68 6f 72 s['author'])).{.$options['author
280e0 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 41 75 74 68 6f 72 73 28 24 6f 70 74 69 s'].=.$this->formatAuthors($opti
28100 6f 6e 73 5b 27 61 75 74 68 6f 72 27 5d 29 3b 0a 75 6e 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 ons['author']);.unset($options['
28120 61 75 74 68 6f 72 27 5d 29 3b 0a 7d 0a 0a 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 24 69 author']);.}..$repositories.=.$i
28140 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 69 nput->getOption('repository');.i
28160 66 20 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 f.($repositories).{.$config.=.Fa
28180 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 29 3b 0a 66 6f 72 65 61 63 ctory::createConfig($io);.foreac
281a0 68 20 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 24 6f 70 h.($repositories.as.$repo).{.$op
281c0 74 69 6f 6e 73 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 5d 20 3d 20 52 65 70 6f 73 69 tions['repositories'][].=.Reposi
281e0 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 63 6f 6e 66 69 67 46 72 6f 6d 53 74 72 69 6e 67 28 24 69 toryFactory::configFromString($i
28200 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 o,.$config,.$repo);.}.}..if.(iss
28220 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 73 74 61 62 69 6c 69 74 79 27 5d 29 29 20 7b 0a 24 6f 70 et($options['stability'])).{.$op
28240 74 69 6f 6e 73 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 20 3d 20 24 6f 70 tions['minimum-stability'].=.$op
28260 74 69 6f 6e 73 5b 27 73 74 61 62 69 6c 69 74 79 27 5d 3b 0a 75 6e 73 65 74 28 24 6f 70 74 69 6f tions['stability'];.unset($optio
28280 6e 73 5b 27 73 74 61 62 69 6c 69 74 79 27 5d 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 5b 27 72 ns['stability']);.}..$options['r
282a0 65 71 75 69 72 65 27 5d 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 equire'].=.isset($options['requi
282c0 72 65 27 5d 29 20 3f 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 52 65 71 75 69 72 65 6d 65 6e 74 re']).?.$this->formatRequirement
282e0 73 28 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 27 5d 29 20 3a 20 6e 65 77 20 5c 73 74 s($options['require']).:.new.\st
28300 64 43 6c 61 73 73 3b 0a 69 66 20 28 61 72 72 61 79 28 29 20 3d 3d 3d 20 24 6f 70 74 69 6f 6e 73 dClass;.if.(array().===.$options
28320 5b 27 72 65 71 75 69 72 65 27 5d 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 ['require']).{.$options['require
28340 27 5d 20 3d 20 6e 65 77 20 5c 73 74 64 43 6c 61 73 73 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 '].=.new.\stdClass;.}..if.(isset
28360 28 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 29 29 20 7b 0a 24 6f 70 ($options['require-dev'])).{.$op
28380 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 20 3d 20 24 74 68 69 73 2d 3e 66 6f tions['require-dev'].=.$this->fo
283a0 72 6d 61 74 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 rmatRequirements($options['requi
283c0 72 65 2d 64 65 76 27 5d 29 3b 0a 69 66 20 28 61 72 72 61 79 28 29 20 3d 3d 3d 20 24 6f 70 74 69 re-dev']);.if.(array().===.$opti
283e0 6f 6e 73 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 ons['require-dev']).{.$options['
28400 72 65 71 75 69 72 65 2d 64 65 76 27 5d 20 3d 20 6e 65 77 20 5c 73 74 64 43 6c 61 73 73 3b 0a 7d require-dev'].=.new.\stdClass;.}
28420 0a 7d 0a 0a 24 66 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 46 61 63 74 6f 72 79 .}..$file.=.new.JsonFile(Factory
28440 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 29 3b 0a 24 6a 73 6f 6e 20 3d 20 24 66 ::getComposerFile());.$json.=.$f
28460 69 6c 65 2d 3e 65 6e 63 6f 64 65 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 24 69 6e 70 ile->encode($options);..if.($inp
28480 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 ut->isInteractive()).{.$io->writ
284a0 65 45 72 72 6f 72 28 61 72 72 61 79 28 27 27 2c 20 24 6a 73 6f 6e 2c 20 27 27 29 29 3b 0a 69 66 eError(array('',.$json,.''));.if
284c0 20 28 21 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 27 44 6f 20 79 6f 75 20 .(!$io->askConfirmation('Do.you.
284e0 63 6f 6e 66 69 72 6d 20 67 65 6e 65 72 61 74 69 6f 6e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 confirm.generation.[<comment>yes
28500 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 20 74 72 75 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 </comment>]?.',.true)).{.$io->wr
28520 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 43 6f 6d 6d 61 6e 64 20 61 62 6f 72 74 65 64 iteError('<error>Command.aborted
28540 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 7d 0a 0a 24 66 69 6c </error>');..return.1;.}.}..$fil
28560 65 2d 3e 77 72 69 74 65 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d e->write($options);..if.($input-
28580 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 26 26 20 69 73 5f 64 69 72 28 27 2e 67 69 74 >isInteractive().&&.is_dir('.git
285a0 27 29 29 20 7b 0a 24 69 67 6e 6f 72 65 46 69 6c 65 20 3d 20 72 65 61 6c 70 61 74 68 28 27 2e 67 ')).{.$ignoreFile.=.realpath('.g
285c0 69 74 69 67 6e 6f 72 65 27 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 69 67 6e 6f itignore');..if.(false.===.$igno
285e0 72 65 46 69 6c 65 29 20 7b 0a 24 69 67 6e 6f 72 65 46 69 6c 65 20 3d 20 72 65 61 6c 70 61 74 68 reFile).{.$ignoreFile.=.realpath
28600 28 27 2e 27 29 20 2e 20 27 2f 2e 67 69 74 69 67 6e 6f 72 65 27 3b 0a 7d 0a 0a 69 66 20 28 21 24 ('.')...'/.gitignore';.}..if.(!$
28620 74 68 69 73 2d 3e 68 61 73 56 65 6e 64 6f 72 49 67 6e 6f 72 65 28 24 69 67 6e 6f 72 65 46 69 6c this->hasVendorIgnore($ignoreFil
28640 65 29 29 20 7b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b e)).{.$question.=.'Would.you.lik
28660 65 20 74 68 65 20 3c 69 6e 66 6f 3e 76 65 6e 64 6f 72 3c 2f 69 6e 66 6f 3e 20 64 69 72 65 63 74 e.the.<info>vendor</info>.direct
28680 6f 72 79 20 61 64 64 65 64 20 74 6f 20 79 6f 75 72 20 3c 69 6e 66 6f 3e 2e 67 69 74 69 67 6e 6f ory.added.to.your.<info>.gitigno
286a0 72 65 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 re</info>.[<comment>yes</comment
286c0 3e 5d 3f 20 27 3b 0a 0a 69 66 20 28 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e >]?.';..if.($io->askConfirmation
286e0 28 24 71 75 65 73 74 69 6f 6e 2c 20 74 72 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 56 ($question,.true)).{.$this->addV
28700 65 6e 64 6f 72 49 67 6e 6f 72 65 28 24 69 67 6e 6f 72 65 46 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d 0a endorIgnore($ignoreFile);.}.}.}.
28720 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 6f 20 .$question.=.'Would.you.like.to.
28740 69 6e 73 74 61 6c 6c 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6e 6f 77 20 5b 3c 63 6f 6d 6d 65 install.dependencies.now.[<comme
28760 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 3b 0a 69 66 20 28 24 69 6e 70 75 74 nt>yes</comment>]?.';.if.($input
28780 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 44 ->isInteractive().&&.$this->hasD
287a0 65 70 65 6e 64 65 6e 63 69 65 73 28 24 6f 70 74 69 6f 6e 73 29 20 26 26 20 24 69 6f 2d 3e 61 73 ependencies($options).&&.$io->as
287c0 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 74 72 75 65 29 29 20 kConfirmation($question,.true)).
287e0 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 6f 75 {.$this->installDependencies($ou
28800 74 70 75 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 tput);.}..return.0;.}.....protec
28820 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 74 65 72 61 63 74 28 49 6e 70 75 74 49 6e 74 65 72 ted.function.interact(InputInter
28840 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 face.$input,.OutputInterface.$ou
28860 74 70 75 74 29 0a 7b 0a 24 67 69 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 47 69 74 43 6f 6e 66 tput).{.$git.=.$this->getGitConf
28880 69 67 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 66 6f 72 ig();.$io.=.$this->getIO();.$for
288a0 6d 61 74 74 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e matter.=.$this->getHelperSet()->
288c0 67 65 74 28 27 66 6f 72 6d 61 74 74 65 72 27 29 3b 0a 0a 0a 20 24 72 65 70 6f 73 69 74 6f 72 69 get('formatter');....$repositori
288e0 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 70 6f 73 69 74 6f es.=.$input->getOption('reposito
28900 72 79 27 29 3b 0a 69 66 20 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 20 7b 0a 24 63 6f 6e 66 ry');.if.($repositories).{.$conf
28920 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 29 3b ig.=.Factory::createConfig($io);
28940 0a 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 28 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f .$repos.=.array(new.PlatformRepo
28960 73 69 74 6f 72 79 29 3b 0a 24 63 72 65 61 74 65 44 65 66 61 75 6c 74 50 61 63 6b 61 67 69 73 74 sitory);.$createDefaultPackagist
28980 52 65 70 6f 20 3d 20 74 72 75 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 69 74 6f 72 Repo.=.true;.foreach.($repositor
289a0 69 65 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 52 65 ies.as.$repo).{.$repoConfig.=.Re
289c0 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 63 6f 6e 66 69 67 46 72 6f 6d 53 74 72 69 6e positoryFactory::configFromStrin
289e0 67 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 29 3b 0a 69 66 20 28 0a 28 69 73 g($io,.$config,.$repo);.if.(.(is
28a00 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 70 61 63 6b 61 67 69 73 74 27 5d 29 20 26 26 set($repoConfig['packagist']).&&
28a20 20 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 3d 3d 20 61 72 72 61 79 28 27 70 61 63 6b 61 67 69 73 .$repoConfig.===.array('packagis
28a40 74 27 20 3d 3e 20 66 61 6c 73 65 29 29 0a 7c 7c 20 28 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e t'.=>.false)).||.(isset($repoCon
28a60 66 69 67 5b 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 5d 29 20 26 26 20 24 72 65 70 6f 43 6f fig['packagist.org']).&&.$repoCo
28a80 6e 66 69 67 20 3d 3d 3d 20 61 72 72 61 79 28 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 20 3d nfig.===.array('packagist.org'.=
28aa0 3e 20 66 61 6c 73 65 29 29 0a 29 20 7b 0a 24 63 72 65 61 74 65 44 65 66 61 75 6c 74 50 61 63 6b >.false)).).{.$createDefaultPack
28ac0 61 67 69 73 74 52 65 70 6f 20 3d 20 66 61 6c 73 65 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 agistRepo.=.false;.continue;.}.$
28ae0 72 65 70 6f 73 5b 5d 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 63 72 65 repos[].=.RepositoryFactory::cre
28b00 61 74 65 52 65 70 6f 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 43 6f 6e 66 69 ateRepo($io,.$config,.$repoConfi
28b20 67 29 3b 0a 7d 0a 0a 69 66 20 28 24 63 72 65 61 74 65 44 65 66 61 75 6c 74 50 61 63 6b 61 67 69 g);.}..if.($createDefaultPackagi
28b40 73 74 52 65 70 6f 29 20 7b 0a 24 72 65 70 6f 73 5b 5d 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 46 stRepo).{.$repos[].=.RepositoryF
28b60 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 70 6f 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c actory::createRepo($io,.$config,
28b80 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 27 63 6f 6d 70 6f 73 65 72 27 2c 0a 27 75 .array(.'type'.=>.'composer',.'u
28ba0 72 6c 27 20 3d 3e 20 27 68 74 74 70 73 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f rl'.=>.'https://repo.packagist.o
28bc0 72 67 27 2c 0a 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 rg',.));.}..$this->repos.=.new.C
28be0 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 73 29 3b 0a 75 6e 73 65 ompositeRepository($repos);.unse
28c00 74 28 24 72 65 70 6f 73 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 t($repos,.$config,.$repositories
28c20 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 27 2c );.}..$io->writeError(array(.'',
28c40 0a 24 66 6f 72 6d 61 74 74 65 72 2d 3e 66 6f 72 6d 61 74 42 6c 6f 63 6b 28 27 57 65 6c 63 6f 6d .$formatter->formatBlock('Welcom
28c60 65 20 74 6f 20 74 68 65 20 43 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 67 65 6e 65 72 61 74 e.to.the.Composer.config.generat
28c80 6f 72 27 2c 20 27 62 67 3d 62 6c 75 65 3b 66 67 3d 77 68 69 74 65 27 2c 20 74 72 75 65 29 2c 0a or',.'bg=blue;fg=white',.true),.
28ca0 27 27 2c 0a 29 29 3b 0a 0a 0a 20 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 '',.));....$io->writeError(array
28cc0 28 0a 27 27 2c 0a 27 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 67 75 69 64 65 20 79 (.'',.'This.command.will.guide.y
28ce0 6f 75 20 74 68 72 6f 75 67 68 20 63 72 65 61 74 69 6e 67 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 ou.through.creating.your.compose
28d00 72 2e 6a 73 6f 6e 20 63 6f 6e 66 69 67 2e 27 2c 0a 27 27 2c 0a 29 29 3b 0a 0a 24 63 77 64 20 3d r.json.config.',.'',.));..$cwd.=
28d20 20 72 65 61 6c 70 61 74 68 28 22 2e 22 29 3b 0a 0a 69 66 20 28 21 24 6e 61 6d 65 20 3d 20 24 69 .realpath(".");..if.(!$name.=.$i
28d40 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 27 29 29 20 7b 0a 24 6e 61 6d 65 nput->getOption('name')).{.$name
28d60 20 3d 20 62 61 73 65 6e 61 6d 65 28 24 63 77 64 29 3b 0a 24 6e 61 6d 65 20 3d 20 70 72 65 67 5f .=.basename($cwd);.$name.=.preg_
28d80 72 65 70 6c 61 63 65 28 27 7b 28 3f 3a 28 5b 61 2d 7a 5d 29 28 5b 41 2d 5a 5d 29 7c 28 5b 41 2d replace('{(?:([a-z])([A-Z])|([A-
28da0 5a 5d 29 28 5b 41 2d 5a 5d 5b 61 2d 7a 5d 29 29 7d 27 2c 20 27 5c 5c 31 5c 5c 33 2d 5c 5c 32 5c Z])([A-Z][a-z]))}',.'\\1\\3-\\2\
28dc0 5c 34 27 2c 20 24 6e 61 6d 65 29 3b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 \4',.$name);.$name.=.strtolower(
28de0 24 6e 61 6d 65 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d $name);.if.(!empty($_SERVER['COM
28e00 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 56 45 4e 44 4f 52 27 5d 29 29 20 7b 0a 24 6e 61 6d 65 POSER_DEFAULT_VENDOR'])).{.$name
28e20 20 3d 20 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 56 45 .=.$_SERVER['COMPOSER_DEFAULT_VE
28e40 4e 44 4f 52 27 5d 20 2e 20 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 NDOR']...'/'...$name;.}.elseif.(
28e60 69 73 73 65 74 28 24 67 69 74 5b 27 67 69 74 68 75 62 2e 75 73 65 72 27 5d 29 29 20 7b 0a 24 6e isset($git['github.user'])).{.$n
28e80 61 6d 65 20 3d 20 24 67 69 74 5b 27 67 69 74 68 75 62 2e 75 73 65 72 27 5d 20 2e 20 27 2f 27 20 ame.=.$git['github.user']...'/'.
28ea0 2e 20 24 6e 61 6d 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 ..$name;.}.elseif.(!empty($_SERV
28ec0 45 52 5b 27 55 53 45 52 4e 41 4d 45 27 5d 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 5f 53 45 52 ER['USERNAME'])).{.$name.=.$_SER
28ee0 56 45 52 5b 27 55 53 45 52 4e 41 4d 45 27 5d 20 2e 20 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d VER['USERNAME']...'/'...$name;.}
28f00 20 65 6c 73 65 69 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 55 53 45 52 27 5d .elseif.(!empty($_SERVER['USER']
28f20 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 5f 53 45 52 56 45 52 5b 27 55 53 45 52 27 5d 20 2e 20 )).{.$name.=.$_SERVER['USER']...
28f40 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 67 65 74 5f 63 75 72 72 65 '/'...$name;.}.elseif.(get_curre
28f60 6e 74 5f 75 73 65 72 28 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 67 65 74 5f 63 75 72 72 65 6e 74 nt_user()).{.$name.=.get_current
28f80 5f 75 73 65 72 28 29 20 2e 20 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a _user()...'/'...$name;.}.else.{.
28fa0 0a 20 24 6e 61 6d 65 20 2e 3d 20 27 2f 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 0a 24 6e 61 6d 65 20 ..$name..=.'/'...$name;.}.$name.
28fc0 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 =.strtolower($name);.}.else.{.if
28fe0 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 2f 5b 61 .(!preg_match('{^[a-z0-9_.-]+/[a
29000 2d 7a 30 2d 39 5f 2e 2d 5d 2b 24 7d 44 27 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 -z0-9_.-]+$}D',.$name)).{.throw.
29020 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 0a 27 new.\InvalidArgumentException(.'
29040 54 68 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 27 2e 24 6e 61 6d 65 2e 27 20 69 73 20 69 6e The.package.name.'.$name.'.is.in
29060 76 61 6c 69 64 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 6c 6f 77 65 72 63 61 73 65 20 61 6e valid,.it.should.be.lowercase.an
29080 64 20 68 61 76 65 20 61 20 76 65 6e 64 6f 72 20 6e 61 6d 65 2c 20 61 20 66 6f 72 77 61 72 64 20 d.have.a.vendor.name,.a.forward.
290a0 73 6c 61 73 68 2c 20 61 6e 64 20 61 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 2c 20 6d 61 74 63 68 slash,.and.a.package.name,.match
290c0 69 6e 67 3a 20 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 2f 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 27 0a ing:.[a-z0-9_.-]+/[a-z0-9_.-]+'.
290e0 29 3b 0a 7d 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 );.}.}..$name.=.$io->askAndValid
29100 61 74 65 28 0a 27 50 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 3c 76 65 6e 64 6f 72 3e 2f 3c 6e 61 ate(.'Package.name.(<vendor>/<na
29120 6d 65 3e 29 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 6e 61 6d 65 2e 27 3c 2f 63 6f 6d 6d 65 6e me>).[<comment>'.$name.'</commen
29140 74 3e 5d 3a 20 27 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 75 73 65 20 28 24 t>]:.',.function.($value).use.($
29160 6e 61 6d 65 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 72 name).{.if.(null.===.$value).{.r
29180 65 74 75 72 6e 20 24 6e 61 6d 65 3b 0a 7d 0a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 eturn.$name;.}..if.(!preg_match(
291a0 27 7b 5e 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 2f 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 24 7d 44 27 '{^[a-z0-9_.-]+/[a-z0-9_.-]+$}D'
291c0 2c 20 24 76 61 6c 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 ,.$value)).{.throw.new.\InvalidA
291e0 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 0a 27 54 68 65 20 70 61 63 6b 61 67 65 20 6e rgumentException(.'The.package.n
29200 61 6d 65 20 27 2e 24 76 61 6c 75 65 2e 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 69 74 20 73 68 ame.'.$value.'.is.invalid,.it.sh
29220 6f 75 6c 64 20 62 65 20 6c 6f 77 65 72 63 61 73 65 20 61 6e 64 20 68 61 76 65 20 61 20 76 65 6e ould.be.lowercase.and.have.a.ven
29240 64 6f 72 20 6e 61 6d 65 2c 20 61 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 2c 20 61 6e 64 20 61 dor.name,.a.forward.slash,.and.a
29260 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 2c 20 6d 61 74 63 68 69 6e 67 3a 20 5b 61 2d 7a 30 2d 39 .package.name,.matching:.[a-z0-9
29280 5f 2e 2d 5d 2b 2f 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 27 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e _.-]+/[a-z0-9_.-]+'.);.}..return
292a0 20 24 76 61 6c 75 65 3b 0a 7d 2c 0a 6e 75 6c 6c 2c 0a 24 6e 61 6d 65 0a 29 3b 0a 24 69 6e 70 75 .$value;.},.null,.$name.);.$inpu
292c0 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 27 2c 20 24 6e 61 6d 65 29 3b 0a 0a 24 64 t->setOption('name',.$name);..$d
292e0 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 escription.=.$input->getOption('
29300 64 65 73 63 72 69 70 74 69 6f 6e 27 29 20 3f 3a 20 66 61 6c 73 65 3b 0a 24 64 65 73 63 72 69 70 description').?:.false;.$descrip
29320 74 69 6f 6e 20 3d 20 24 69 6f 2d 3e 61 73 6b 28 0a 27 44 65 73 63 72 69 70 74 69 6f 6e 20 5b 3c tion.=.$io->ask(.'Description.[<
29340 63 6f 6d 6d 65 6e 74 3e 27 2e 24 64 65 73 63 72 69 70 74 69 6f 6e 2e 27 3c 2f 63 6f 6d 6d 65 6e comment>'.$description.'</commen
29360 74 3e 5d 3a 20 27 2c 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e t>]:.',.$description.);.$input->
29380 73 65 74 4f 70 74 69 6f 6e 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 2c 20 24 64 65 73 63 72 69 setOption('description',.$descri
293a0 70 74 69 6f 6e 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 75 74 68 6f 72 20 3d 20 ption);..if.(null.===.$author.=.
293c0 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 75 74 68 6f 72 27 29 29 20 7b 0a 69 $input->getOption('author')).{.i
293e0 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 f.(!empty($_SERVER['COMPOSER_DEF
29400 41 55 4c 54 5f 41 55 54 48 4f 52 27 5d 29 29 20 7b 0a 24 61 75 74 68 6f 72 5f 6e 61 6d 65 20 3d AULT_AUTHOR'])).{.$author_name.=
29420 20 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 41 55 54 48 .$_SERVER['COMPOSER_DEFAULT_AUTH
29440 4f 52 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 67 69 74 5b 27 75 73 65 72 OR'];.}.elseif.(isset($git['user
29460 2e 6e 61 6d 65 27 5d 29 29 20 7b 0a 24 61 75 74 68 6f 72 5f 6e 61 6d 65 20 3d 20 24 67 69 74 5b .name'])).{.$author_name.=.$git[
29480 27 75 73 65 72 2e 6e 61 6d 65 27 5d 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 'user.name'];.}..if.(!empty($_SE
294a0 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 45 4d 41 49 4c 27 5d 29 29 RVER['COMPOSER_DEFAULT_EMAIL']))
294c0 20 7b 0a 24 61 75 74 68 6f 72 5f 65 6d 61 69 6c 20 3d 20 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d .{.$author_email.=.$_SERVER['COM
294e0 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 45 4d 41 49 4c 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 POSER_DEFAULT_EMAIL'];.}.elseif.
29500 28 69 73 73 65 74 28 24 67 69 74 5b 27 75 73 65 72 2e 65 6d 61 69 6c 27 5d 29 29 20 7b 0a 24 61 (isset($git['user.email'])).{.$a
29520 75 74 68 6f 72 5f 65 6d 61 69 6c 20 3d 20 24 67 69 74 5b 27 75 73 65 72 2e 65 6d 61 69 6c 27 5d uthor_email.=.$git['user.email']
29540 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 6f 72 5f 6e 61 6d 65 29 20 26 26 20 ;.}..if.(isset($author_name).&&.
29560 69 73 73 65 74 28 24 61 75 74 68 6f 72 5f 65 6d 61 69 6c 29 29 20 7b 0a 24 61 75 74 68 6f 72 20 isset($author_email)).{.$author.
29580 3d 20 73 70 72 69 6e 74 66 28 27 25 73 20 3c 25 73 3e 27 2c 20 24 61 75 74 68 6f 72 5f 6e 61 6d =.sprintf('%s.<%s>',.$author_nam
295a0 65 2c 20 24 61 75 74 68 6f 72 5f 65 6d 61 69 6c 29 3b 0a 7d 0a 7d 0a 0a 24 73 65 6c 66 20 3d 20 e,.$author_email);.}.}..$self.=.
295c0 24 74 68 69 73 3b 0a 24 61 75 74 68 6f 72 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 $this;.$author.=.$io->askAndVali
295e0 64 61 74 65 28 0a 27 41 75 74 68 6f 72 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 61 75 74 68 6f date(.'Author.[<comment>'.$autho
29600 72 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 2c 20 6e 20 74 6f 20 73 6b 69 70 5d 3a 20 27 2c 0a 66 75 r.'</comment>,.n.to.skip]:.',.fu
29620 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 75 73 65 20 28 24 73 65 6c 66 2c 20 24 61 75 74 nction.($value).use.($self,.$aut
29640 68 6f 72 29 20 7b 0a 69 66 20 28 24 76 61 6c 75 65 20 3d 3d 3d 20 27 6e 27 20 7c 7c 20 24 76 61 hor).{.if.($value.===.'n'.||.$va
29660 6c 75 65 20 3d 3d 3d 20 27 6e 6f 27 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 76 61 6c 75 65 lue.===.'no').{.return;.}.$value
29680 20 3d 20 24 76 61 6c 75 65 20 3f 3a 20 24 61 75 74 68 6f 72 3b 0a 24 61 75 74 68 6f 72 20 3d 20 .=.$value.?:.$author;.$author.=.
296a0 24 73 65 6c 66 2d 3e 70 61 72 73 65 41 75 74 68 6f 72 53 74 72 69 6e 67 28 24 76 61 6c 75 65 29 $self->parseAuthorString($value)
296c0 3b 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 25 73 20 3c 25 73 3e 27 2c 20 24 61 75 ;..return.sprintf('%s.<%s>',.$au
296e0 74 68 6f 72 5b 27 6e 61 6d 65 27 5d 2c 20 24 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c 27 5d 29 3b thor['name'],.$author['email']);
29700 0a 7d 2c 0a 6e 75 6c 6c 2c 0a 24 61 75 74 68 6f 72 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 .},.null,.$author.);.$input->set
29720 4f 70 74 69 6f 6e 28 27 61 75 74 68 6f 72 27 2c 20 24 61 75 74 68 6f 72 29 3b 0a 0a 24 6d 69 6e Option('author',.$author);..$min
29740 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f imumStability.=.$input->getOptio
29760 6e 28 27 73 74 61 62 69 6c 69 74 79 27 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 24 6d 69 6e 69 6d 75 6d n('stability').?:.null;.$minimum
29780 53 74 61 62 69 6c 69 74 79 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 Stability.=.$io->askAndValidate(
297a0 0a 27 4d 69 6e 69 6d 75 6d 20 53 74 61 62 69 6c 69 74 79 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 2e .'Minimum.Stability.[<comment>'.
297c0 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 20 $minimumStability.'</comment>]:.
297e0 27 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 75 73 65 20 28 24 6d 69 6e 69 6d ',.function.($value).use.($minim
29800 75 6d 53 74 61 62 69 6c 69 74 79 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c umStability).{.if.(null.===.$val
29820 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 3b 0a ue).{.return.$minimumStability;.
29840 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 }..if.(!isset(BasePackage::$stab
29860 69 6c 69 74 69 65 73 5b 24 76 61 6c 75 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 ilities[$value])).{.throw.new.\I
29880 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 0a 27 49 6e 76 61 6c 69 nvalidArgumentException(.'Invali
298a0 64 20 6d 69 6e 69 6d 75 6d 20 73 74 61 62 69 6c 69 74 79 20 22 27 2e 24 76 61 6c 75 65 2e 27 22 d.minimum.stability."'.$value.'"
298c0 2e 20 4d 75 73 74 20 62 65 20 65 6d 70 74 79 20 6f 72 20 6f 6e 65 20 6f 66 3a 20 27 2e 0a 69 6d ..Must.be.empty.or.one.of:.'..im
298e0 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 42 61 73 65 50 61 63 6b 61 plode(',.',.array_keys(BasePacka
29900 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 ge::$stabilities)).);.}..return.
29920 24 76 61 6c 75 65 3b 0a 7d 2c 0a 6e 75 6c 6c 2c 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 $value;.},.null,.$minimumStabili
29940 74 79 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 ty.);.$input->setOption('stabili
29960 74 79 27 2c 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 29 3b 0a 0a 24 74 79 70 65 20 ty',.$minimumStability);..$type.
29980 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 74 79 70 65 27 29 20 3f 3a 20 66 =.$input->getOption('type').?:.f
299a0 61 6c 73 65 3b 0a 24 74 79 70 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 28 0a 27 50 61 63 6b 61 67 65 alse;.$type.=.$io->ask(.'Package
299c0 20 54 79 70 65 20 28 65 2e 67 2e 20 6c 69 62 72 61 72 79 2c 20 70 72 6f 6a 65 63 74 2c 20 6d 65 .Type.(e.g..library,.project,.me
299e0 74 61 70 61 63 6b 61 67 65 2c 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 29 20 5b 3c 63 6f tapackage,.composer-plugin).[<co
29a00 6d 6d 65 6e 74 3e 27 2e 24 74 79 70 65 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 20 27 2c 0a 24 mment>'.$type.'</comment>]:.',.$
29a20 74 79 70 65 0a 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 74 79 70 65 27 type.);.$input->setOption('type'
29a40 2c 20 24 74 79 70 65 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 69 63 65 6e 73 65 ,.$type);..if.(null.===.$license
29a60 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 69 63 65 6e 73 65 27 29 29 .=.$input->getOption('license'))
29a80 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 .{.if.(!empty($_SERVER['COMPOSER
29aa0 5f 44 45 46 41 55 4c 54 5f 4c 49 43 45 4e 53 45 27 5d 29 29 20 7b 0a 24 6c 69 63 65 6e 73 65 20 _DEFAULT_LICENSE'])).{.$license.
29ac0 3d 20 24 5f 53 45 52 56 45 52 5b 27 43 4f 4d 50 4f 53 45 52 5f 44 45 46 41 55 4c 54 5f 4c 49 43 =.$_SERVER['COMPOSER_DEFAULT_LIC
29ae0 45 4e 53 45 27 5d 3b 0a 7d 0a 7d 0a 0a 24 6c 69 63 65 6e 73 65 20 3d 20 24 69 6f 2d 3e 61 73 6b ENSE'];.}.}..$license.=.$io->ask
29b00 28 0a 27 4c 69 63 65 6e 73 65 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 6c 69 63 65 6e 73 65 2e (.'License.[<comment>'.$license.
29b20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 20 27 2c 0a 24 6c 69 63 65 6e 73 65 0a 29 3b 0a 24 69 6e '</comment>]:.',.$license.);.$in
29b40 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 6c 69 63 65 6e 73 65 27 2c 20 24 6c 69 63 65 6e put->setOption('license',.$licen
29b60 73 65 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 27 27 2c 20 se);..$io->writeError(array('',.
29b80 27 44 65 66 69 6e 65 20 79 6f 75 72 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 2c 20 27 27 29 'Define.your.dependencies.',.'')
29ba0 29 3b 0a 0a 0a 20 24 72 65 70 6f 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 28 29 );....$repos.=.$this->getRepos()
29bc0 3b 0a 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 24 6d 69 6e 69 6d 75 6d ;.$preferredStability.=.$minimum
29be0 53 74 61 62 69 6c 69 74 79 20 3f 3a 20 27 73 74 61 62 6c 65 27 3b 0a 24 70 68 70 56 65 72 73 69 Stability.?:.'stable';.$phpVersi
29c00 6f 6e 20 3d 20 24 72 65 70 6f 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 27 70 68 70 27 2c 20 on.=.$repos->findPackage('php',.
29c20 27 2a 27 29 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 24 71 75 65 73 '*')->getPrettyVersion();..$ques
29c40 74 69 6f 6e 20 3d 20 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 6f 20 64 65 66 69 6e 65 tion.=.'Would.you.like.to.define
29c60 20 79 6f 75 72 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 28 72 65 71 75 69 72 65 29 20 69 6e 74 .your.dependencies.(require).int
29c80 65 72 61 63 74 69 76 65 6c 79 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e eractively.[<comment>yes</commen
29ca0 74 3e 5d 3f 20 27 3b 0a 24 72 65 71 75 69 72 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 t>]?.';.$require.=.$input->getOp
29cc0 74 69 6f 6e 28 27 72 65 71 75 69 72 65 27 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d tion('require');.$requirements.=
29ce0 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 72 65 71 75 69 72 65 20 7c 7c 20 24 69 6f 2d 3e 61 .array();.if.($require.||.$io->a
29d00 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 74 72 75 65 29 29 skConfirmation($question,.true))
29d20 20 7b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d .{.$requirements.=.$this->determ
29d40 69 6e 65 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c ineRequirements($input,.$output,
29d60 20 24 72 65 71 75 69 72 65 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 .$require,.$phpVersion,.$preferr
29d80 65 64 53 74 61 62 69 6c 69 74 79 29 3b 0a 7d 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f edStability);.}.$input->setOptio
29da0 6e 28 27 72 65 71 75 69 72 65 27 2c 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 0a 24 71 n('require',.$requirements);..$q
29dc0 75 65 73 74 69 6f 6e 20 3d 20 27 57 6f 75 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 6f 20 64 65 66 uestion.=.'Would.you.like.to.def
29de0 69 6e 65 20 79 6f 75 72 20 64 65 76 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 28 72 65 71 75 69 ine.your.dev.dependencies.(requi
29e00 72 65 2d 64 65 76 29 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 5b 3c 63 6f 6d 6d 65 6e 74 3e re-dev).interactively.[<comment>
29e20 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 3b 0a 24 72 65 71 75 69 72 65 44 65 76 20 3d yes</comment>]?.';.$requireDev.=
29e40 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 65 71 75 69 72 65 2d 64 65 76 27 .$input->getOption('require-dev'
29e60 29 3b 0a 24 64 65 76 52 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 );.$devRequirements.=.array();.i
29e80 66 20 28 24 72 65 71 75 69 72 65 44 65 76 20 7c 7c 20 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 f.($requireDev.||.$io->askConfir
29ea0 6d 61 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 74 72 75 65 29 29 20 7b 0a 24 64 65 76 52 mation($question,.true)).{.$devR
29ec0 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 52 65 equirements.=.$this->determineRe
29ee0 71 75 69 72 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 72 65 71 quirements($input,.$output,.$req
29f00 75 69 72 65 44 65 76 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 uireDev,.$phpVersion,.$preferred
29f20 53 74 61 62 69 6c 69 74 79 29 3b 0a 7d 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 Stability);.}.$input->setOption(
29f40 27 72 65 71 75 69 72 65 2d 64 65 76 27 2c 20 24 64 65 76 52 65 71 75 69 72 65 6d 65 6e 74 73 29 'require-dev',.$devRequirements)
29f60 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 41 ;.}.......public.function.parseA
29f80 75 74 68 6f 72 53 74 72 69 6e 67 28 24 61 75 74 68 6f 72 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f uthorString($author).{.if.(preg_
29fa0 6d 61 74 63 68 28 27 2f 5e 28 3f 50 3c 6e 61 6d 65 3e 5b 2d 20 2e 2c 5c 70 7b 4c 7d 5c 70 7b 4e match('/^(?P<name>[-..,\p{L}\p{N
29fc0 7d 5c 70 7b 4d 6e 7d 5c 27 e2 80 99 22 28 29 5d 2b 29 20 3c 28 3f 50 3c 65 6d 61 69 6c 3e 2e 2b }\p{Mn}\'..."()]+).<(?P<email>.+
29fe0 3f 29 3e 24 2f 75 27 2c 20 24 61 75 74 68 6f 72 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 69 66 20 ?)>$/u',.$author,.$match)).{.if.
2a000 28 24 74 68 69 73 2d 3e 69 73 56 61 6c 69 64 45 6d 61 69 6c 28 24 6d 61 74 63 68 5b 27 65 6d 61 ($this->isValidEmail($match['ema
2a020 69 6c 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e il'])).{.return.array(.'name'.=>
2a040 20 74 72 69 6d 28 24 6d 61 74 63 68 5b 27 6e 61 6d 65 27 5d 29 2c 0a 27 65 6d 61 69 6c 27 20 3d .trim($match['name']),.'email'.=
2a060 3e 20 24 6d 61 74 63 68 5b 27 65 6d 61 69 6c 27 5d 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 >.$match['email'],.);.}.}..throw
2a080 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 0a .new.\InvalidArgumentException(.
2a0a0 27 49 6e 76 61 6c 69 64 20 61 75 74 68 6f 72 20 73 74 72 69 6e 67 2e 20 20 4d 75 73 74 20 62 65 'Invalid.author.string...Must.be
2a0c0 20 69 6e 20 74 68 65 20 66 6f 72 6d 61 74 3a 20 27 2e 0a 27 4a 6f 68 6e 20 53 6d 69 74 68 20 3c .in.the.format:.'..'John.Smith.<
2a0e0 6a 6f 68 6e 40 65 78 61 6d 70 6c 65 2e 63 6f 6d 3e 27 0a 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 john@example.com>'.);.}..protect
2a100 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 29 0a ed.function.findPackages($name).
2a120 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 28 29 2d 3e 73 65 61 72 {.return.$this->getRepos()->sear
2a140 63 68 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e ch($name);.}..protected.function
2a160 20 67 65 74 52 65 70 6f 73 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 72 65 70 6f 73 29 .getRepos().{.if.(!$this->repos)
2a180 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 .{.$this->repos.=.new.CompositeR
2a1a0 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 61 72 72 61 79 28 6e 65 77 epository(array_merge(.array(new
2a1c0 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 29 2c 0a 52 65 70 6f 73 69 74 6f 72 79 .PlatformRepository),.Repository
2a1e0 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 74 68 69 73 2d 3e 67 65 74 Factory::defaultRepos($this->get
2a200 49 4f 28 29 29 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 IO()).));.}..return.$this->repos
2a220 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e ;.}..protected.function.determin
2a240 65 52 65 71 75 69 72 65 6d 65 6e 74 73 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e eRequirements(InputInterface.$in
2a260 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 72 put,.OutputInterface.$output,.$r
2a280 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 20 3d equires.=.array(),.$phpVersion.=
2a2a0 20 6e 75 6c 6c 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 .null,.$preferredStability.=.'st
2a2c0 61 62 6c 65 27 2c 20 24 63 68 65 63 6b 50 72 6f 76 69 64 65 64 56 65 72 73 69 6f 6e 73 20 3d 20 able',.$checkProvidedVersions.=.
2a2e0 74 72 75 65 29 0a 7b 0a 69 66 20 28 24 72 65 71 75 69 72 65 73 29 20 7b 0a 24 72 65 71 75 69 72 true).{.if.($requires).{.$requir
2a300 65 73 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 52 65 71 75 69 72 65 6d 65 6e 74 es.=.$this->normalizeRequirement
2a320 73 28 24 72 65 71 75 69 72 65 73 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b s($requires);.$result.=.array();
2a340 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 .$io.=.$this->getIO();..foreach.
2a360 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 6d 65 6e 74 29 20 7b 0a 69 66 ($requires.as.$requirement).{.if
2a380 20 28 21 69 73 73 65 74 28 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 76 65 72 73 69 6f 6e 27 5d .(!isset($requirement['version']
2a3a0 29 29 20 7b 0a 0a 20 6c 69 73 74 28 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 20 3d 20 24 )).{...list($name,.$version).=.$
2a3c0 74 68 69 73 2d 3e 66 69 6e 64 42 65 73 74 56 65 72 73 69 6f 6e 41 6e 64 4e 61 6d 65 46 6f 72 50 this->findBestVersionAndNameForP
2a3e0 61 63 6b 61 67 65 28 24 69 6e 70 75 74 2c 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d ackage($input,.$requirement['nam
2a400 65 27 5d 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 e'],.$phpVersion,.$preferredStab
2a420 69 6c 69 74 79 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 76 65 72 73 69 6f 6e 27 5d 20 ility);.$requirement['version'].
2a440 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 0a 0a 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d =.$version;....$requirement['nam
2a460 65 27 5d 20 3d 20 24 6e 61 6d 65 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 e'].=.$name;..$io->writeError(sp
2a480 72 69 6e 74 66 28 0a 27 55 73 69 6e 67 20 76 65 72 73 69 6f 6e 20 3c 69 6e 66 6f 3e 25 73 3c 2f rintf(.'Using.version.<info>%s</
2a4a0 69 6e 66 6f 3e 20 66 6f 72 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 0a 24 72 65 71 info>.for.<info>%s</info>',.$req
2a4c0 75 69 72 65 6d 65 6e 74 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 0a 24 72 65 71 75 69 72 65 6d 65 6e uirement['version'],.$requiremen
2a4e0 74 5b 27 6e 61 6d 65 27 5d 0a 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 6c 69 73 74 28 24 6e t['name'].));.}.else.{...list($n
2a500 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 42 65 73 74 ame,.$version).=.$this->findBest
2a520 56 65 72 73 69 6f 6e 41 6e 64 4e 61 6d 65 46 6f 72 50 61 63 6b 61 67 65 28 24 69 6e 70 75 74 2c VersionAndNameForPackage($input,
2a540 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 2c 20 24 70 68 70 56 65 72 73 69 .$requirement['name'],.$phpVersi
2a560 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 2c 20 24 63 68 65 63 6b 50 on,.$preferredStability,.$checkP
2a580 72 6f 76 69 64 65 64 56 65 72 73 69 6f 6e 73 20 3f 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 rovidedVersions.?.$requirement['
2a5a0 76 65 72 73 69 6f 6e 27 5d 20 3a 20 6e 75 6c 6c 2c 20 27 64 65 76 27 29 3b 0a 0a 0a 20 24 72 65 version'].:.null,.'dev');....$re
2a5c0 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 0a 24 72 quirement['name'].=.$name;.}..$r
2a5e0 65 73 75 6c 74 5b 5d 20 3d 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 20 2e esult[].=.$requirement['name']..
2a600 20 27 20 27 20 2e 20 24 72 65 71 75 69 72 65 6d 65 6e 74 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a .'.'...$requirement['version'];.
2a620 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 50 61 }..return.$result;.}..$versionPa
2a640 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 69 6f 20 rser.=.new.VersionParser();.$io.
2a660 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 77 68 69 6c 65 20 28 6e 75 6c 6c 20 21 3d =.$this->getIO();.while.(null.!=
2a680 3d 20 24 70 61 63 6b 61 67 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 28 27 53 65 61 72 63 68 20 66 6f =.$package.=.$io->ask('Search.fo
2a6a0 72 20 61 20 70 61 63 6b 61 67 65 3a 20 27 29 29 20 7b 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 74 r.a.package:.')).{.$matches.=.$t
2a6c0 68 69 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 69 66 his->findPackages($package);..if
2a6e0 20 28 63 6f 75 6e 74 28 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 65 78 61 63 74 4d 61 74 63 68 .(count($matches)).{.$exactMatch
2a700 20 3d 20 6e 75 6c 6c 3b 0a 24 63 68 6f 69 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 .=.null;.$choices.=.array();.for
2a720 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 20 61 73 20 24 70 6f 73 69 74 69 6f 6e 20 3d 3e 20 24 each.($matches.as.$position.=>.$
2a740 66 6f 75 6e 64 50 61 63 6b 61 67 65 29 20 7b 0a 24 61 62 61 6e 64 6f 6e 65 64 20 3d 20 27 27 3b foundPackage).{.$abandoned.=.'';
2a760 0a 69 66 20 28 69 73 73 65 74 28 24 66 6f 75 6e 64 50 61 63 6b 61 67 65 5b 27 61 62 61 6e 64 6f .if.(isset($foundPackage['abando
2a780 6e 65 64 27 5d 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 66 6f 75 6e 64 50 61 ned'])).{.if.(is_string($foundPa
2a7a0 63 6b 61 67 65 5b 27 61 62 61 6e 64 6f 6e 65 64 27 5d 29 29 20 7b 0a 24 72 65 70 6c 61 63 65 6d ckage['abandoned'])).{.$replacem
2a7c0 65 6e 74 20 3d 20 73 70 72 69 6e 74 66 28 27 55 73 65 20 25 73 20 69 6e 73 74 65 61 64 27 2c 20 ent.=.sprintf('Use.%s.instead',.
2a7e0 24 66 6f 75 6e 64 50 61 63 6b 61 67 65 5b 27 61 62 61 6e 64 6f 6e 65 64 27 5d 29 3b 0a 7d 20 65 $foundPackage['abandoned']);.}.e
2a800 6c 73 65 20 7b 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 20 3d 20 27 4e 6f 20 72 65 70 6c 61 63 65 lse.{.$replacement.=.'No.replace
2a820 6d 65 6e 74 20 77 61 73 20 73 75 67 67 65 73 74 65 64 27 3b 0a 7d 0a 24 61 62 61 6e 64 6f 6e 65 ment.was.suggested';.}.$abandone
2a840 64 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 77 61 72 6e 69 6e 67 3e 41 62 61 6e 64 6f 6e 65 64 2e d.=.sprintf('<warning>Abandoned.
2a860 20 25 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 24 72 65 70 6c 61 63 65 6d 65 6e 74 29 3b 0a .%s.</warning>',.$replacement);.
2a880 7d 0a 0a 24 63 68 6f 69 63 65 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 20 3c 69 6e 66 6f 3e }..$choices[].=.sprintf('.<info>
2a8a0 25 35 73 3c 2f 69 6e 66 6f 3e 20 25 73 20 25 73 27 2c 20 22 5b 24 70 6f 73 69 74 69 6f 6e 5d 22 %5s</info>.%s.%s',."[$position]"
2a8c0 2c 20 24 66 6f 75 6e 64 50 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2c 20 24 61 62 61 6e 64 6f ,.$foundPackage['name'],.$abando
2a8e0 6e 65 64 29 3b 0a 69 66 20 28 24 66 6f 75 6e 64 50 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 20 ned);.if.($foundPackage['name'].
2a900 3d 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 65 78 61 63 74 4d 61 74 63 68 20 3d 20 74 72 ===.$package).{.$exactMatch.=.tr
2a920 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 65 78 61 63 74 4d 61 74 ue;.break;.}.}....if.(!$exactMat
2a940 63 68 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 27 2c ch).{.$io->writeError(array(.'',
2a960 0a 73 70 72 69 6e 74 66 28 27 46 6f 75 6e 64 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 .sprintf('Found.<info>%s</info>.
2a980 70 61 63 6b 61 67 65 73 20 6d 61 74 63 68 69 6e 67 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f packages.matching.<info>%s</info
2a9a0 3e 27 2c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 65 73 29 2c 20 24 70 61 63 6b 61 67 65 29 2c 0a >',.count($matches),.$package),.
2a9c0 27 27 2c 0a 29 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 63 68 6f 69 63 65 '',.));..$io->writeError($choice
2a9e0 73 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 0a 24 76 61 6c 69 64 s);.$io->writeError('');..$valid
2aa00 61 74 6f 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 73 65 6c 65 63 74 69 6f 6e 29 20 75 73 65 ator.=.function.($selection).use
2aa20 20 28 24 6d 61 74 63 68 65 73 2c 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 20 7b 0a 69 66 .($matches,.$versionParser).{.if
2aa40 20 28 27 27 20 3d 3d 3d 20 24 73 65 6c 65 63 74 69 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 .(''.===.$selection).{.return.fa
2aa60 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 73 65 6c 65 63 74 69 6f lse;.}..if.(is_numeric($selectio
2aa80 6e 29 20 26 26 20 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 28 69 6e 74 29 20 24 73 65 6c 65 n).&&.isset($matches[(int).$sele
2aaa0 63 74 69 6f 6e 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 28 ction])).{.$package.=.$matches[(
2aac0 69 6e 74 29 20 24 73 65 6c 65 63 74 69 6f 6e 5d 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 int).$selection];..return.$packa
2aae0 67 65 5b 27 6e 61 6d 65 27 5d 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b ge['name'];.}..if.(preg_match('{
2ab00 5e 5c 73 2a 28 3f 50 3c 6e 61 6d 65 3e 5b 5c 53 2f 5d 2b 29 28 3f 3a 5c 73 2b 28 3f 50 3c 76 65 ^\s*(?P<name>[\S/]+)(?:\s+(?P<ve
2ab20 72 73 69 6f 6e 3e 5c 53 2b 29 29 3f 5c 73 2a 24 7d 27 2c 20 24 73 65 6c 65 63 74 69 6f 6e 2c 20 rsion>\S+))?\s*$}',.$selection,.
2ab40 24 70 61 63 6b 61 67 65 4d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 70 $packageMatches)).{.if.(isset($p
2ab60 61 63 6b 61 67 65 4d 61 74 63 68 65 73 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 0a 0a 0a ackageMatches['version'])).{....
2ab80 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 .$versionParser->parseConstraint
2aba0 73 28 24 70 61 63 6b 61 67 65 4d 61 74 63 68 65 73 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 0a s($packageMatches['version']);..
2abc0 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 4d 61 74 63 68 65 73 5b 27 6e 61 6d 65 27 5d 2e 27 return.$packageMatches['name'].'
2abe0 20 27 2e 24 70 61 63 6b 61 67 65 4d 61 74 63 68 65 73 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d .'.$packageMatches['version'];.}
2ac00 0a 0a 0a 20 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 4d 61 74 63 68 65 73 5b 27 6e 61 6d 65 ....return.$packageMatches['name
2ac20 27 5d 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 74 '];.}..throw.new.\Exception('Not
2ac40 20 61 20 76 61 6c 69 64 20 73 65 6c 65 63 74 69 6f 6e 27 29 3b 0a 7d 3b 0a 0a 24 70 61 63 6b 61 .a.valid.selection');.};..$packa
2ac60 67 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 0a 27 45 6e 74 65 72 ge.=.$io->askAndValidate(.'Enter
2ac80 20 70 61 63 6b 61 67 65 20 23 20 74 6f 20 61 64 64 2c 20 6f 72 20 74 68 65 20 63 6f 6d 70 6c 65 .package.#.to.add,.or.the.comple
2aca0 74 65 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 6c 69 73 te.package.name.if.it.is.not.lis
2acc0 74 65 64 3a 20 27 2c 0a 24 76 61 6c 69 64 61 74 6f 72 2c 0a 33 2c 0a 66 61 6c 73 65 0a 29 3b 0a ted:.',.$validator,.3,.false.);.
2ace0 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 20 26 26 20 66 }....if.(false.!==.$package.&&.f
2ad00 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 2c 20 27 20 27 29 29 20 alse.===.strpos($package,.'.')).
2ad20 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 69 6e 70 75 74 29 {.$validator.=.function.($input)
2ad40 20 7b 0a 24 69 6e 70 75 74 20 3d 20 74 72 69 6d 28 24 69 6e 70 75 74 29 3b 0a 0a 72 65 74 75 72 .{.$input.=.trim($input);..retur
2ad60 6e 20 24 69 6e 70 75 74 20 3f 3a 20 66 61 6c 73 65 3b 0a 7d 3b 0a 0a 24 63 6f 6e 73 74 72 61 69 n.$input.?:.false;.};..$constrai
2ad80 6e 74 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 0a 27 45 6e 74 65 72 nt.=.$io->askAndValidate(.'Enter
2ada0 20 74 68 65 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 74 6f 20 72 65 71 75 69 .the.version.constraint.to.requi
2adc0 72 65 20 28 6f 72 20 6c 65 61 76 65 20 62 6c 61 6e 6b 20 74 6f 20 75 73 65 20 74 68 65 20 6c 61 re.(or.leave.blank.to.use.the.la
2ade0 74 65 73 74 20 76 65 72 73 69 6f 6e 29 3a 20 27 2c 0a 24 76 61 6c 69 64 61 74 6f 72 2c 0a 33 2c test.version):.',.$validator,.3,
2ae00 0a 66 61 6c 73 65 0a 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 63 6f 6e 73 74 72 .false.);..if.(false.===.$constr
2ae20 61 69 6e 74 29 20 7b 0a 6c 69 73 74 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 aint).{.list($name,.$constraint)
2ae40 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 42 65 73 74 56 65 72 73 69 6f 6e 41 6e 64 4e 61 6d 65 .=.$this->findBestVersionAndName
2ae60 46 6f 72 50 61 63 6b 61 67 65 28 24 69 6e 70 75 74 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 70 68 ForPackage($input,.$package,.$ph
2ae80 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 29 3b 0a pVersion,.$preferredStability);.
2aea0 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 55 73 69 6e 67 .$io->writeError(sprintf(.'Using
2aec0 20 76 65 72 73 69 6f 6e 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 66 6f 72 20 3c 69 6e .version.<info>%s</info>.for.<in
2aee0 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2c 0a 24 70 61 63 fo>%s</info>',.$constraint,.$pac
2af00 6b 61 67 65 0a 29 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 20 2e 3d 20 27 20 27 2e 24 63 6f 6e kage.));.}..$package..=.'.'.$con
2af20 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 61 63 6b 61 straint;.}..if.(false.!==.$packa
2af40 67 65 29 20 7b 0a 24 72 65 71 75 69 72 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a ge).{.$requires[].=.$package;.}.
2af60 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 }.}..return.$requires;.}..protec
2af80 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 41 75 74 68 6f 72 73 28 24 61 75 74 68 ted.function.formatAuthors($auth
2afa0 6f 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 70 61 72 73 65 41 or).{.return.array($this->parseA
2afc0 75 74 68 6f 72 53 74 72 69 6e 67 28 24 61 75 74 68 6f 72 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 uthorString($author));.}..protec
2afe0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 52 65 71 75 69 72 65 6d 65 6e 74 73 28 ted.function.formatRequirements(
2b000 61 72 72 61 79 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 0a 7b 0a 24 72 65 71 75 69 72 65 73 array.$requirements).{.$requires
2b020 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 .=.array();.$requirements.=.$thi
2b040 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 72 65 71 75 69 72 s->normalizeRequirements($requir
2b060 65 6d 65 6e 74 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 ements);.foreach.($requirements.
2b080 61 73 20 24 72 65 71 75 69 72 65 6d 65 6e 74 29 20 7b 0a 24 72 65 71 75 69 72 65 73 5b 24 72 65 as.$requirement).{.$requires[$re
2b0a0 71 75 69 72 65 6d 65 6e 74 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 72 65 71 75 69 72 65 6d 65 6e quirement['name']].=.$requiremen
2b0c0 74 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 t['version'];.}..return.$require
2b0e0 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 47 69 74 43 s;.}..protected.function.getGitC
2b100 6f 6e 66 69 67 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 69 onfig().{.if.(null.!==.$this->gi
2b120 74 43 6f 6e 66 69 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 43 6f 6e 66 tConfig).{.return.$this->gitConf
2b140 69 67 3b 0a 7d 0a 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 45 78 65 63 75 74 61 62 6c 65 46 ig;.}..$finder.=.new.ExecutableF
2b160 69 6e 64 65 72 28 29 3b 0a 24 67 69 74 42 69 6e 20 3d 20 24 66 69 6e 64 65 72 2d 3e 66 69 6e 64 inder();.$gitBin.=.$finder->find
2b180 28 27 67 69 74 27 29 3b 0a 0a 0a 20 69 66 20 28 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 27 53 ('git');....if.(method_exists('S
2b1a0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 ymfony\Component\Process\Process
2b1c0 27 2c 20 27 66 72 6f 6d 53 68 65 6c 6c 43 6f 6d 6d 61 6e 64 6c 69 6e 65 27 29 29 20 7b 0a 24 63 ',.'fromShellCommandline')).{.$c
2b1e0 6d 64 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 28 61 72 72 61 79 28 24 67 69 74 42 69 6e 2c 20 md.=.new.Process(array($gitBin,.
2b200 27 63 6f 6e 66 69 67 27 2c 20 27 2d 6c 27 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6d 64 20 'config',.'-l'));.}.else.{.$cmd.
2b220 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 28 73 70 72 69 6e 74 66 28 27 25 73 20 63 6f 6e 66 69 67 =.new.Process(sprintf('%s.config
2b240 20 2d 6c 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 67 .-l',.ProcessExecutor::escape($g
2b260 69 74 42 69 6e 29 29 29 3b 0a 7d 0a 24 63 6d 64 2d 3e 72 75 6e 28 29 3b 0a 0a 69 66 20 28 24 63 itBin)));.}.$cmd->run();..if.($c
2b280 6d 64 2d 3e 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 67 69 74 md->isSuccessful()).{.$this->git
2b2a0 43 6f 6e 66 69 67 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c Config.=.array();.preg_match_all
2b2c0 28 27 7b 5e 28 5b 5e 3d 5d 2b 29 3d 28 2e 2a 29 24 7d 6d 27 2c 20 24 63 6d 64 2d 3e 67 65 74 4f ('{^([^=]+)=(.*)$}m',.$cmd->getO
2b2e0 75 74 70 75 74 28 29 2c 20 24 6d 61 74 63 68 65 73 2c 20 50 52 45 47 5f 53 45 54 5f 4f 52 44 45 utput(),.$matches,.PREG_SET_ORDE
2b300 52 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 20 61 73 20 24 6d 61 74 63 68 29 R);.foreach.($matches.as.$match)
2b320 20 7b 0a 24 74 68 69 73 2d 3e 67 69 74 43 6f 6e 66 69 67 5b 24 6d 61 74 63 68 5b 31 5d 5d 20 3d .{.$this->gitConfig[$match[1]].=
2b340 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 .$match[2];.}..return.$this->git
2b360 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 43 6f 6e 66 Config;.}..return.$this->gitConf
2b380 69 67 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ig.=.array();.}.................
2b3a0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 56 65 6e 64 6f 72 49 67 6e .protected.function.hasVendorIgn
2b3c0 6f 72 65 28 24 69 67 6e 6f 72 65 46 69 6c 65 2c 20 24 76 65 6e 64 6f 72 20 3d 20 27 76 65 6e 64 ore($ignoreFile,.$vendor.=.'vend
2b3e0 6f 72 27 29 0a 7b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 69 67 6e 6f 72 65 46 or').{.if.(!file_exists($ignoreF
2b400 69 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 61 74 74 65 72 ile)).{.return.false;.}..$patter
2b420 6e 20 3d 20 73 70 72 69 6e 74 66 28 27 7b 5e 2f 3f 25 73 28 2f 5c 2a 3f 29 3f 24 7d 27 2c 20 70 n.=.sprintf('{^/?%s(/\*?)?$}',.p
2b440 72 65 67 5f 71 75 6f 74 65 28 24 76 65 6e 64 6f 72 29 29 3b 0a 0a 24 6c 69 6e 65 73 20 3d 20 66 reg_quote($vendor));..$lines.=.f
2b460 69 6c 65 28 24 69 67 6e 6f 72 65 46 69 6c 65 2c 20 46 49 4c 45 5f 49 47 4e 4f 52 45 5f 4e 45 57 ile($ignoreFile,.FILE_IGNORE_NEW
2b480 5f 4c 49 4e 45 53 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 73 20 61 73 20 24 6c 69 6e _LINES);.foreach.($lines.as.$lin
2b4a0 65 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 74 74 65 72 6e 2c 20 24 6c e).{.if.(preg_match($pattern,.$l
2b4c0 69 6e 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e ine)).{.return.true;.}.}..return
2b4e0 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6e 6f .false;.}..protected.function.no
2b500 72 6d 61 6c 69 7a 65 52 65 71 75 69 72 65 6d 65 6e 74 73 28 61 72 72 61 79 20 24 72 65 71 75 69 rmalizeRequirements(array.$requi
2b520 72 65 6d 65 6e 74 73 29 0a 7b 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e rements).{.$parser.=.new.Version
2b540 50 61 72 73 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 72 73 65 72 2d 3e 70 61 72 73 65 Parser();..return.$parser->parse
2b560 4e 61 6d 65 56 65 72 73 69 6f 6e 50 61 69 72 73 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 3b NameVersionPairs($requirements);
2b580 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 56 65 6e 64 6f 72 .}..protected.function.addVendor
2b5a0 49 67 6e 6f 72 65 28 24 69 67 6e 6f 72 65 46 69 6c 65 2c 20 24 76 65 6e 64 6f 72 20 3d 20 27 2f Ignore($ignoreFile,.$vendor.=.'/
2b5c0 76 65 6e 64 6f 72 2f 27 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 22 22 3b 0a 69 66 20 28 vendor/').{.$contents.=."";.if.(
2b5e0 66 69 6c 65 5f 65 78 69 73 74 73 28 24 69 67 6e 6f 72 65 46 69 6c 65 29 29 20 7b 0a 24 63 6f 6e file_exists($ignoreFile)).{.$con
2b600 74 65 6e 74 73 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 69 67 6e 6f 72 tents.=.file_get_contents($ignor
2b620 65 46 69 6c 65 29 3b 0a 0a 69 66 20 28 22 5c 6e 22 20 21 3d 3d 20 73 75 62 73 74 72 28 24 63 6f eFile);..if.("\n".!==.substr($co
2b640 6e 74 65 6e 74 73 2c 20 30 2c 20 2d 31 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 2e 3d 20 22 ntents,.0,.-1)).{.$contents..=."
2b660 5c 6e 22 3b 0a 7d 0a 7d 0a 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 69 67 6e \n";.}.}..file_put_contents($ign
2b680 6f 72 65 46 69 6c 65 2c 20 24 63 6f 6e 74 65 6e 74 73 20 2e 20 24 76 65 6e 64 6f 72 2e 20 22 5c oreFile,.$contents...$vendor.."\
2b6a0 6e 22 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c n");.}..protected.function.isVal
2b6c0 69 64 45 6d 61 69 6c 28 24 65 6d 61 69 6c 29 0a 7b 0a 0a 20 69 66 20 28 21 66 75 6e 63 74 69 6f idEmail($email).{...if.(!functio
2b6e0 6e 5f 65 78 69 73 74 73 28 27 66 69 6c 74 65 72 5f 76 61 72 27 29 29 20 7b 0a 72 65 74 75 72 6e n_exists('filter_var')).{.return
2b700 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c .true;.}....if.(PHP_VERSION_ID.<
2b720 20 35 30 33 30 33 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e .50303).{.return.true;.}..return
2b740 20 66 61 6c 73 65 20 21 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 65 6d 61 69 6c 2c 20 46 49 .false.!==.filter_var($email,.FI
2b760 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 45 4d 41 49 4c 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 LTER_VALIDATE_EMAIL);.}..private
2b780 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6f 6f 6c 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 .function.getPool(InputInterface
2b7a0 20 24 69 6e 70 75 74 2c 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 6e 75 6c .$input,.$minimumStability.=.nul
2b7c0 6c 29 0a 7b 0a 24 6b 65 79 20 3d 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3f 3a l).{.$key.=.$minimumStability.?:
2b7e0 20 27 64 65 66 61 75 6c 74 27 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 .'default';..if.(!isset($this->p
2b800 6f 6f 6c 73 5b 24 6b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 73 5b 24 6b 65 79 ools[$key])).{.$this->pools[$key
2b820 5d 20 3d 20 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 24 6d 69 6e 69 6d 75 6d 53 74 61 ].=.$pool.=.new.Pool($minimumSta
2b840 62 69 6c 69 74 79 20 3f 3a 20 24 74 68 69 73 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 bility.?:.$this->getMinimumStabi
2b860 6c 69 74 79 28 24 69 6e 70 75 74 29 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 lity($input));.$pool->addReposit
2b880 6f 72 79 28 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 ory($this->getRepos());.}..retur
2b8a0 6e 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 73 5b 24 6b 65 79 5d 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 n.$this->pools[$key];.}..private
2b8c0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 49 6e .function.getMinimumStability(In
2b8e0 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 29 0a 7b 0a 69 66 20 28 24 69 6e 70 75 putInterface.$input).{.if.($inpu
2b900 74 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 27 29 29 20 7b 0a 72 65 74 t->hasOption('stability')).{.ret
2b920 75 72 6e 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 61 62 69 6c 69 74 79 urn.$input->getOption('stability
2b940 27 29 20 3f 3a 20 27 73 74 61 62 6c 65 27 3b 0a 7d 0a 0a 24 66 69 6c 65 20 3d 20 46 61 63 74 6f ').?:.'stable';.}..$file.=.Facto
2b960 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 69 66 20 28 69 73 5f 66 69 ry::getComposerFile();.if.(is_fi
2b980 6c 65 28 24 66 69 6c 65 29 20 26 26 20 69 73 5f 72 65 61 64 61 62 6c 65 28 24 66 69 6c 65 29 20 le($file).&&.is_readable($file).
2b9a0 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6d 70 6f 73 65 72 20 3d 20 6a 73 6f 6e 5f 64 65 63 &&.is_array($composer.=.json_dec
2b9c0 6f 64 65 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 29 2c 20 74 72 ode(file_get_contents($file),.tr
2b9e0 75 65 29 29 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6d 70 6f 73 65 72 5b 27 6d 69 ue))).{.if.(!empty($composer['mi
2ba00 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f nimum-stability'])).{.return.$co
2ba20 6d 70 6f 73 65 72 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 3b 0a 7d 0a 7d mposer['minimum-stability'];.}.}
2ba40 0a 0a 72 65 74 75 72 6e 20 27 73 74 61 62 6c 65 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ..return.'stable';.}............
2ba60 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 42 65 73 74 56 65 72 ....private.function.findBestVer
2ba80 73 69 6f 6e 41 6e 64 4e 61 6d 65 46 6f 72 50 61 63 6b 61 67 65 28 49 6e 70 75 74 49 6e 74 65 72 sionAndNameForPackage(InputInter
2baa0 66 61 63 65 20 24 69 6e 70 75 74 2c 20 24 6e 61 6d 65 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c face.$input,.$name,.$phpVersion,
2bac0 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 2c .$preferredStability.=.'stable',
2bae0 20 24 72 65 71 75 69 72 65 64 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 6d 69 6e 69 6d .$requiredVersion.=.null,.$minim
2bb00 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 24 76 65 72 73 69 6f 6e umStability.=.null).{...$version
2bb20 53 65 6c 65 63 74 6f 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 28 24 Selector.=.new.VersionSelector($
2bb40 74 68 69 73 2d 3e 67 65 74 50 6f 6f 6c 28 24 69 6e 70 75 74 2c 20 24 6d 69 6e 69 6d 75 6d 53 74 this->getPool($input,.$minimumSt
2bb60 61 62 69 6c 69 74 79 29 29 3b 0a 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d ability));.$ignorePlatformReqs.=
2bb80 20 24 69 6e 70 75 74 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 .$input->hasOption('ignore-platf
2bba0 6f 72 6d 2d 72 65 71 73 27 29 20 26 26 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 orm-reqs').&&.$input->getOption(
2bbc0 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 3b 0a 0a 0a 20 69 66 20 28 'ignore-platform-reqs');....if.(
2bbe0 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 20 7b 0a 24 70 68 70 56 65 72 73 69 $ignorePlatformReqs).{.$phpVersi
2bc00 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 76 65 72 73 69 6f on.=.null;.}..$package.=.$versio
2bc20 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 nSelector->findBestCandidate($na
2bc40 6d 65 2c 20 24 72 65 71 75 69 72 65 64 56 65 72 73 69 6f 6e 2c 20 24 70 68 70 56 65 72 73 69 6f me,.$requiredVersion,.$phpVersio
2bc60 6e 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 29 3b 0a 0a 69 66 20 28 21 24 n,.$preferredStability);..if.(!$
2bc80 70 61 63 6b 61 67 65 29 20 7b 0a 0a 20 0a 20 69 66 20 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f package).{.....if.($ignorePlatfo
2bca0 72 6d 52 65 71 73 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 rmReqs.&&.preg_match(PlatformRep
2bcc0 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c ository::PLATFORM_PACKAGE_REGEX,
2bce0 20 24 6e 61 6d 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 .$name)).{.return.array($name,.$
2bd00 72 65 71 75 69 72 65 64 56 65 72 73 69 6f 6e 20 3f 3a 20 27 2a 27 29 3b 0a 7d 0a 0a 0a 20 69 66 requiredVersion.?:.'*');.}....if
2bd20 20 28 24 70 68 70 56 65 72 73 69 6f 6e 20 26 26 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f .($phpVersion.&&.$versionSelecto
2bd40 72 2d 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 2c 20 24 72 65 71 r->findBestCandidate($name,.$req
2bd60 75 69 72 65 64 56 65 72 73 69 6f 6e 2c 20 6e 75 6c 6c 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 uiredVersion,.null,.$preferredSt
2bd80 61 62 69 6c 69 74 79 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 ability)).{.throw.new.\InvalidAr
2bda0 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 50 61 63 6b 61 67 gumentException(sprintf(.'Packag
2bdc0 65 20 25 73 20 61 74 20 76 65 72 73 69 6f 6e 20 25 73 20 68 61 73 20 61 20 50 48 50 20 72 65 71 e.%s.at.version.%s.has.a.PHP.req
2bde0 75 69 72 65 6d 65 6e 74 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 79 6f 75 72 20 uirement.incompatible.with.your.
2be00 50 48 50 20 76 65 72 73 69 6f 6e 20 28 25 73 29 27 2c 0a 24 6e 61 6d 65 2c 0a 24 72 65 71 75 69 PHP.version.(%s)',.$name,.$requi
2be20 72 65 64 56 65 72 73 69 6f 6e 2c 0a 24 70 68 70 56 65 72 73 69 6f 6e 0a 29 29 3b 0a 7d 0a 0a 20 redVersion,.$phpVersion.));.}...
2be40 69 66 20 28 24 72 65 71 75 69 72 65 64 56 65 72 73 69 6f 6e 20 26 26 20 24 76 65 72 73 69 6f 6e if.($requiredVersion.&&.$version
2be60 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 6e 61 6d Selector->findBestCandidate($nam
2be80 65 2c 20 6e 75 6c 6c 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 64 e,.null,.$phpVersion,.$preferred
2bea0 53 74 61 62 69 6c 69 74 79 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 Stability)).{.throw.new.\Invalid
2bec0 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 43 6f 75 6c ArgumentException(sprintf(.'Coul
2bee0 64 20 6e 6f 74 20 66 69 6e 64 20 70 61 63 6b 61 67 65 20 25 73 20 69 6e 20 61 20 76 65 72 73 69 d.not.find.package.%s.in.a.versi
2bf00 6f 6e 20 6d 61 74 63 68 69 6e 67 20 25 73 27 2c 0a 24 6e 61 6d 65 2c 0a 24 72 65 71 75 69 72 65 on.matching.%s',.$name,.$require
2bf20 64 56 65 72 73 69 6f 6e 0a 29 29 3b 0a 7d 0a 0a 20 69 66 20 28 24 70 68 70 56 65 72 73 69 6f 6e dVersion.));.}...if.($phpVersion
2bf40 20 26 26 20 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 73 74 43 61 .&&.$versionSelector->findBestCa
2bf60 6e 64 69 64 61 74 65 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 ndidate($name)).{.throw.new.\Inv
2bf80 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 alidArgumentException(sprintf(.'
2bfa0 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 70 61 63 6b 61 67 65 20 25 73 20 69 6e 20 61 6e 79 Could.not.find.package.%s.in.any
2bfc0 20 76 65 72 73 69 6f 6e 20 6d 61 74 63 68 69 6e 67 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 .version.matching.your.PHP.versi
2bfe0 6f 6e 20 28 25 73 29 27 2c 0a 24 6e 61 6d 65 2c 0a 24 70 68 70 56 65 72 73 69 6f 6e 0a 29 29 3b on.(%s)',.$name,.$phpVersion.));
2c000 0a 7d 0a 0a 0a 20 24 73 69 6d 69 6c 61 72 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 53 69 6d 69 .}....$similar.=.$this->findSimi
2c020 6c 61 72 28 24 6e 61 6d 65 29 3b 0a 69 66 20 28 24 73 69 6d 69 6c 61 72 29 20 7b 0a 0a 20 69 66 lar($name);.if.($similar).{...if
2c040 20 28 24 72 65 71 75 69 72 65 64 56 65 72 73 69 6f 6e 20 3d 3d 3d 20 6e 75 6c 6c 20 26 26 20 69 .($requiredVersion.===.null.&&.i
2c060 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 73 69 6d 69 6c 61 72 2c 20 74 72 75 65 29 29 20 n_array($name,.$similar,.true)).
2c080 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 {.throw.new.\InvalidArgumentExce
2c0a0 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 ption(sprintf(.'Could.not.find.a
2c0c0 20 76 65 72 73 69 6f 6e 20 6f 66 20 70 61 63 6b 61 67 65 20 25 73 20 6d 61 74 63 68 69 6e 67 20 .version.of.package.%s.matching.
2c0e0 79 6f 75 72 20 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 20 28 25 73 29 2e 20 52 65 71 your.minimum-stability.(%s)..Req
2c100 75 69 72 65 20 69 74 20 77 69 74 68 20 61 6e 20 65 78 70 6c 69 63 69 74 20 76 65 72 73 69 6f 6e uire.it.with.an.explicit.version
2c120 20 63 6f 6e 73 74 72 61 69 6e 74 20 61 6c 6c 6f 77 69 6e 67 20 69 74 73 20 64 65 73 69 72 65 64 .constraint.allowing.its.desired
2c140 20 73 74 61 62 69 6c 69 74 79 2e 27 2c 0a 24 6e 61 6d 65 2c 0a 24 74 68 69 73 2d 3e 67 65 74 4d .stability.',.$name,.$this->getM
2c160 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 24 69 6e 70 75 74 29 0a 29 29 3b 0a 7d 0a 0a 74 inimumStability($input).));.}..t
2c180 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 hrow.new.\InvalidArgumentExcepti
2c1a0 6f 6e 28 73 70 72 69 6e 74 66 28 0a 22 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 70 61 63 6b on(sprintf(."Could.not.find.pack
2c1c0 61 67 65 20 25 73 2e 5c 6e 5c 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 22 20 2e 20 28 63 6f 75 age.%s.\n\nDid.you.mean."...(cou
2c1e0 6e 74 28 24 73 69 6d 69 6c 61 72 29 20 3e 20 31 20 3f 20 27 6f 6e 65 20 6f 66 20 74 68 65 73 65 nt($similar).>.1.?.'one.of.these
2c200 27 20 3a 20 27 74 68 69 73 27 29 20 2e 20 22 3f 5c 6e 20 20 20 20 25 73 22 2c 0a 24 6e 61 6d 65 '.:.'this')..."?\n....%s",.$name
2c220 2c 0a 69 6d 70 6c 6f 64 65 28 22 5c 6e 20 20 20 20 22 2c 20 24 73 69 6d 69 6c 61 72 29 0a 29 29 ,.implode("\n....",.$similar).))
2c240 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 ;.}..throw.new.\InvalidArgumentE
2c260 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 66 69 6e xception(sprintf(.'Could.not.fin
2c280 64 20 61 20 6d 61 74 63 68 69 6e 67 20 76 65 72 73 69 6f 6e 20 6f 66 20 70 61 63 6b 61 67 65 20 d.a.matching.version.of.package.
2c2a0 25 73 2e 20 43 68 65 63 6b 20 74 68 65 20 70 61 63 6b 61 67 65 20 73 70 65 6c 6c 69 6e 67 2c 20 %s..Check.the.package.spelling,.
2c2c0 79 6f 75 72 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 61 6e 64 20 74 68 61 74 your.version.constraint.and.that
2c2e0 20 74 68 65 20 70 61 63 6b 61 67 65 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 61 20 73 .the.package.is.available.in.a.s
2c300 74 61 62 69 6c 69 74 79 20 77 68 69 63 68 20 6d 61 74 63 68 65 73 20 79 6f 75 72 20 6d 69 6e 69 tability.which.matches.your.mini
2c320 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 20 28 25 73 29 2e 27 2c 0a 24 6e 61 6d 65 2c 0a 24 74 68 mum-stability.(%s).',.$name,.$th
2c340 69 73 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 24 69 6e 70 75 74 29 0a is->getMinimumStability($input).
2c360 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 70 61 63 6b 61 67 65 2d 3e 67 ));.}..return.array(.$package->g
2c380 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 etPrettyName(),.$versionSelector
2c3a0 2d 3e 66 69 6e 64 52 65 63 6f 6d 6d 65 6e 64 65 64 52 65 71 75 69 72 65 56 65 72 73 69 6f 6e 28 ->findRecommendedRequireVersion(
2c3c0 24 70 61 63 6b 61 67 65 29 2c 0a 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f $package),.);.}..private.functio
2c3e0 6e 20 66 69 6e 64 53 69 6d 69 6c 61 72 28 24 70 61 63 6b 61 67 65 29 0a 7b 0a 74 72 79 20 7b 0a n.findSimilar($package).{.try.{.
2c400 24 72 65 73 75 6c 74 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 2d 3e 73 65 61 72 63 68 28 $results.=.$this->repos->search(
2c420 24 70 61 63 6b 61 67 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 $package);.}.catch.(\Exception.$
2c440 65 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 73 69 6d 69 6c 61 e).{...return.array();.}.$simila
2c460 72 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 rPackages.=.array();..foreach.($
2c480 72 65 73 75 6c 74 73 20 61 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 24 73 69 6d 69 6c 61 72 50 61 results.as.$result).{.$similarPa
2c4a0 63 6b 61 67 65 73 5b 24 72 65 73 75 6c 74 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 6c 65 76 65 6e 73 ckages[$result['name']].=.levens
2c4c0 68 74 65 69 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 73 75 6c 74 5b 27 6e 61 6d 65 27 5d 29 htein($package,.$result['name'])
2c4e0 3b 0a 7d 0a 61 73 6f 72 74 28 24 73 69 6d 69 6c 61 72 50 61 63 6b 61 67 65 73 29 3b 0a 0a 72 65 ;.}.asort($similarPackages);..re
2c500 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 61 72 72 61 79 5f 73 6c 69 63 65 28 24 73 69 6d turn.array_keys(array_slice($sim
2c520 69 6c 61 72 50 61 63 6b 61 67 65 73 2c 20 30 2c 20 35 29 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 ilarPackages,.0,.5));.}..private
2c540 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 6f .function.installDependencies($o
2c560 75 74 70 75 74 29 0a 7b 0a 74 72 79 20 7b 0a 24 69 6e 73 74 61 6c 6c 43 6f 6d 6d 61 6e 64 20 3d utput).{.try.{.$installCommand.=
2c580 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 66 69 6e 64 28 27 .$this->getApplication()->find('
2c5a0 69 6e 73 74 61 6c 6c 27 29 3b 0a 24 69 6e 73 74 61 6c 6c 43 6f 6d 6d 61 6e 64 2d 3e 72 75 6e 28 install');.$installCommand->run(
2c5c0 6e 65 77 20 41 72 72 61 79 49 6e 70 75 74 28 61 72 72 61 79 28 29 29 2c 20 24 6f 75 74 70 75 74 new.ArrayInput(array()),.$output
2c5e0 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 );.}.catch.(\Exception.$e).{.$th
2c600 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 43 6f 75 6c 64 20 6e is->getIO()->writeError('Could.n
2c620 6f 74 20 69 6e 73 74 61 6c 6c 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 20 52 75 6e 20 60 63 6f ot.install.dependencies..Run.`co
2c640 6d 70 6f 73 65 72 20 69 6e 73 74 61 6c 6c 60 20 74 6f 20 73 65 65 20 6d 6f 72 65 20 69 6e 66 6f mposer.install`.to.see.more.info
2c660 72 6d 61 74 69 6f 6e 2e 27 29 3b 0a 7d 0a 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 rmation.');.}..}..private.functi
2c680 6f 6e 20 68 61 73 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 on.hasDependencies($options).{.$
2c6a0 72 65 71 75 69 72 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 requires.=.(array).$options['req
2c6c0 75 69 72 65 27 5d 3b 0a 24 64 65 76 52 65 71 75 69 72 65 73 20 3d 20 69 73 73 65 74 28 24 6f 70 uire'];.$devRequires.=.isset($op
2c6e0 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 29 20 3f 20 28 61 72 72 61 79 29 20 tions['require-dev']).?.(array).
2c700 24 6f 70 74 69 6f 6e 73 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 20 3a 20 61 72 72 61 79 28 $options['require-dev'].:.array(
2c720 29 3b 0a 0a 72 65 74 75 72 6e 20 21 65 6d 70 74 79 28 24 72 65 71 75 69 72 65 73 29 20 7c 7c 20 );..return.!empty($requires).||.
2c740 21 65 6d 70 74 79 28 24 64 65 76 52 65 71 75 69 72 65 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a !empty($devRequires);.}.}.<?php.
2c760 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f ...........namespace.Composer\Co
2c780 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a mmand;..use.Composer\Installer;.
2c7a0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 use.Composer\Plugin\CommandEvent
2c7c0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e ;.use.Composer\Plugin\PluginEven
2c7e0 74 73 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ts;.use.Symfony\Component\Consol
2c800 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 e\Input\InputInterface;.use.Symf
2c820 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 ony\Component\Console\Input\Inpu
2c840 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 tOption;.use.Symfony\Component\C
2c860 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 onsole\Input\InputArgument;.use.
2c880 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 Symfony\Component\Console\Output
2c8a0 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 \OutputInterface;........class.I
2c8c0 6e 73 74 61 6c 6c 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e nstallCommand.extends.BaseComman
2c8e0 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 d.{.protected.function.configure
2c900 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 69 6e 73 74 61 6c 6c 27 29 0a ().{.$this.->setName('install').
2c920 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 69 27 29 29 0a 2d 3e 73 65 74 44 65 ->setAliases(array('i')).->setDe
2c940 73 63 72 69 70 74 69 6f 6e 28 27 49 6e 73 74 61 6c 6c 73 20 74 68 65 20 70 72 6f 6a 65 63 74 20 scription('Installs.the.project.
2c960 64 65 70 65 6e 64 65 6e 63 69 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e 6c dependencies.from.the.composer.l
2c980 6f 63 6b 20 66 69 6c 65 20 69 66 20 70 72 65 73 65 6e 74 2c 20 6f 72 20 66 61 6c 6c 73 20 62 61 ock.file.if.present,.or.falls.ba
2c9a0 63 6b 20 6f 6e 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 27 29 0a 2d 3e 73 65 74 ck.on.the.composer.json.').->set
2c9c0 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f Definition(array(.new.InputOptio
2c9e0 6e 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 n('prefer-source',.null,.InputOp
2ca00 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c tion::VALUE_NONE,.'Forces.instal
2ca20 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 73 6f 75 72 63 65 73 20 77 68 65 6e lation.from.package.sources.when
2ca40 20 70 6f 73 73 69 62 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 56 43 53 20 69 6e 66 6f 72 6d 61 .possible,.including.VCS.informa
2ca60 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 tion.'),.new.InputOption('prefer
2ca80 2d 64 69 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 -dist',.null,.InputOption::VALUE
2caa0 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 6f 6d _NONE,.'Forces.installation.from
2cac0 20 70 61 63 6b 61 67 65 20 64 69 73 74 20 65 76 65 6e 20 66 6f 72 20 64 65 76 20 76 65 72 73 69 .package.dist.even.for.dev.versi
2cae0 6f 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 72 79 2d 72 75 6e ons.'),.new.InputOption('dry-run
2cb00 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.null,.InputOption::VALUE_NONE
2cb20 2c 20 27 4f 75 74 70 75 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 62 75 74 20 77 69 ,.'Outputs.the.operations.but.wi
2cb40 6c 6c 20 6e 6f 74 20 65 78 65 63 75 74 65 20 61 6e 79 74 68 69 6e 67 20 28 69 6d 70 6c 69 63 69 ll.not.execute.anything.(implici
2cb60 74 6c 79 20 65 6e 61 62 6c 65 73 20 2d 2d 76 65 72 62 6f 73 65 29 2e 27 29 2c 0a 6e 65 77 20 49 tly.enables.--verbose).'),.new.I
2cb80 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 nputOption('dev',.null,.InputOpt
2cba0 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 45 6e 61 62 6c 65 73 20 69 6e 73 74 61 6c ion::VALUE_NONE,.'Enables.instal
2cbc0 6c 61 74 69 6f 6e 20 6f 66 20 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 20 28 lation.of.require-dev.packages.(
2cbe0 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 enabled.by.default,.only.present
2cc00 20 66 6f 72 20 42 43 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f .for.BC).'),.new.InputOption('no
2cc20 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f -dev',.null,.InputOption::VALUE_
2cc40 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 NONE,.'Disables.installation.of.
2cc60 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 require-dev.packages.'),.new.Inp
2cc80 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 2c utOption('no-custom-installers',
2cca0 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 .null,.InputOption::VALUE_NONE,.
2ccc0 27 44 45 50 52 45 43 41 54 45 44 3a 20 55 73 65 20 6e 6f 2d 70 6c 75 67 69 6e 73 20 69 6e 73 74 'DEPRECATED:.Use.no-plugins.inst
2cce0 65 61 64 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 61 75 74 6f ead.'),.new.InputOption('no-auto
2cd00 6c 6f 61 64 65 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 loader',.null,.InputOption::VALU
2cd20 45 5f 4e 4f 4e 45 2c 20 27 53 6b 69 70 73 20 61 75 74 6f 6c 6f 61 64 65 72 20 67 65 6e 65 72 61 E_NONE,.'Skips.autoloader.genera
2cd40 74 69 6f 6e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 tion'),.new.InputOption('no-scri
2cd60 70 74 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e pts',.null,.InputOption::VALUE_N
2cd80 4f 4e 45 2c 20 27 53 6b 69 70 73 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c ONE,.'Skips.the.execution.of.all
2cda0 20 73 63 72 69 70 74 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f .scripts.defined.in.composer.jso
2cdc0 6e 20 66 69 6c 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 n.file.'),.new.InputOption('no-p
2cde0 72 6f 67 72 65 73 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c rogress',.null,.InputOption::VAL
2ce00 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 UE_NONE,.'Do.not.output.download
2ce20 20 70 72 6f 67 72 65 73 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e .progress.'),.new.InputOption('n
2ce40 6f 2d 73 75 67 67 65 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 o-suggest',.null,.InputOption::V
2ce60 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 73 68 6f 77 20 70 61 63 6b 61 67 65 20 ALUE_NONE,.'Do.not.show.package.
2ce80 73 75 67 67 65 73 74 69 6f 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 suggestions.'),.new.InputOption(
2cea0 27 76 65 72 62 6f 73 65 27 2c 20 27 76 7c 76 76 7c 76 76 76 27 2c 20 49 6e 70 75 74 4f 70 74 69 'verbose',.'v|vv|vvv',.InputOpti
2cec0 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 73 20 6d 6f 72 65 20 64 65 74 61 on::VALUE_NONE,.'Shows.more.deta
2cee0 69 6c 73 20 69 6e 63 6c 75 64 69 6e 67 20 6e 65 77 20 63 6f 6d 6d 69 74 73 20 70 75 6c 6c 65 64 ils.including.new.commits.pulled
2cf00 20 69 6e 20 77 68 65 6e 20 75 70 64 61 74 69 6e 67 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e .in.when.updating.packages.'),.n
2cf20 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 ew.InputOption('optimize-autoloa
2cf40 64 65 72 27 2c 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f der',.'o',.InputOption::VALUE_NO
2cf60 4e 45 2c 20 27 4f 70 74 69 6d 69 7a 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 72 69 6e 67 20 NE,.'Optimize.autoloader.during.
2cf80 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 6d 70 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 autoloader.dump'),.new.InputOpti
2cfa0 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 2c 20 27 61 27 on('classmap-authoritative',.'a'
2cfc0 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 75 74 6f ,.InputOption::VALUE_NONE,.'Auto
2cfe0 6c 6f 61 64 20 63 6c 61 73 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6c 61 73 73 6d 61 70 20 6f load.classes.from.the.classmap.o
2d000 6e 6c 79 2e 20 49 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 60 2d 2d 6f 70 74 69 6d nly..Implicitly.enables.`--optim
2d020 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 ize-autoloader`.'),.new.InputOpt
2d040 69 6f 6e 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 ion('apcu-autoloader',.null,.Inp
2d060 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 73 65 20 41 50 43 75 20 utOption::VALUE_NONE,.'Use.APCu.
2d080 74 6f 20 63 61 63 68 65 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 to.cache.found/not-found.classes
2d0a0 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 .'),.new.InputOption('ignore-pla
2d0c0 74 66 6f 72 6d 2d 72 65 71 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a tform-reqs',.null,.InputOption::
2d0e0 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 67 6e 6f 72 65 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 VALUE_NONE,.'Ignore.platform.req
2d100 75 69 72 65 6d 65 6e 74 73 20 28 70 68 70 20 26 20 65 78 74 2d 20 70 61 63 6b 61 67 65 73 29 2e uirements.(php.&.ext-.packages).
2d120 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 '),.new.InputArgument('packages'
2d140 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 ,.InputArgument::IS_ARRAY.|.Inpu
2d160 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 53 68 6f 75 6c 64 20 6e 6f 74 tArgument::OPTIONAL,.'Should.not
2d180 20 62 65 20 70 72 6f 76 69 64 65 64 2c 20 75 73 65 20 63 6f 6d 70 6f 73 65 72 20 72 65 71 75 69 .be.provided,.use.composer.requi
2d1a0 72 65 20 69 6e 73 74 65 61 64 20 74 6f 20 61 64 64 20 61 20 67 69 76 65 6e 20 70 61 63 6b 61 67 re.instead.to.add.a.given.packag
2d1c0 65 20 74 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 e.to.composer.json.'),.)).->setH
2d1e0 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 69 6e 73 74 61 6c 6c 3c 2f 69 elp(.<<<EOT.The.<info>install</i
2d200 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 65 61 64 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e nfo>.command.reads.the.composer.
2d220 6c 6f 63 6b 20 66 69 6c 65 20 66 72 6f 6d 0a 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 lock.file.from.the.current.direc
2d240 74 6f 72 79 2c 20 70 72 6f 63 65 73 73 65 73 20 69 74 2c 20 61 6e 64 20 64 6f 77 6e 6c 6f 61 64 tory,.processes.it,.and.download
2d260 73 20 61 6e 64 20 69 6e 73 74 61 6c 6c 73 20 61 6c 6c 20 74 68 65 0a 6c 69 62 72 61 72 69 65 73 s.and.installs.all.the.libraries
2d280 20 61 6e 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 75 74 6c 69 6e 65 64 20 69 6e 20 74 68 .and.dependencies.outlined.in.th
2d2a0 61 74 20 66 69 6c 65 2e 20 49 66 20 74 68 65 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 0a 65 78 at.file..If.the.file.does.not.ex
2d2c0 69 73 74 20 69 74 20 77 69 6c 6c 20 6c 6f 6f 6b 20 66 6f 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 ist.it.will.look.for.composer.js
2d2e0 6f 6e 20 61 6e 64 20 64 6f 20 74 68 65 20 73 61 6d 65 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 on.and.do.the.same...<info>php.c
2d300 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 69 6e 73 74 61 6c 6c 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 omposer.phar.install</info>..Rea
2d320 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 d.more.at.https://getcomposer.or
2d340 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 69 6e 73 74 61 6c 6c 2d 69 0a 45 4f 54 0a 29 0a g/doc/03-cli.md#install-i.EOT.).
2d360 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 ;.}..protected.function.execute(
2d380 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 InputInterface.$input,.OutputInt
2d3a0 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 erface.$output).{.$io.=.$this->g
2d3c0 65 74 49 4f 28 29 3b 0a 69 66 20 28 24 61 72 67 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 etIO();.if.($args.=.$input->getA
2d3e0 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 rgument('packages')).{.$io->writ
2d400 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 49 6e 76 61 6c 69 64 20 61 72 67 75 6d 65 6e 74 20 eError('<error>Invalid.argument.
2d420 27 2e 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 61 72 67 73 29 2e 27 2e 20 55 73 65 20 22 63 6f '.implode('.',.$args).'..Use."co
2d440 6d 70 6f 73 65 72 20 72 65 71 75 69 72 65 20 27 2e 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 61 mposer.require.'.implode('.',.$a
2d460 72 67 73 29 2e 27 22 20 69 6e 73 74 65 61 64 20 74 6f 20 61 64 64 20 70 61 63 6b 61 67 65 73 20 rgs).'".instead.to.add.packages.
2d480 74 6f 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 3c 2f 65 72 72 6f 72 3e 27 29 to.your.composer.json.</error>')
2d4a0 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f ;..return.1;.}..if.($input->getO
2d4c0 70 74 69 6f 6e 28 27 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 29 29 20 7b ption('no-custom-installers')).{
2d4e0 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 .$io->writeError('<warning>You.a
2d500 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 re.using.the.deprecated.option."
2d520 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 22 2e 20 55 73 65 20 22 6e 6f 2d 70 no-custom-installers"..Use."no-p
2d540 6c 75 67 69 6e 73 22 20 69 6e 73 74 65 61 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 69 lugins".instead.</warning>');.$i
2d560 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 2c 20 74 72 nput->setOption('no-plugins',.tr
2d580 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 ue);.}..if.($input->getOption('d
2d5a0 65 76 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e ev')).{.$io->writeError('<warnin
2d5c0 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f g>You.are.using.the.deprecated.o
2d5e0 70 74 69 6f 6e 20 22 64 65 76 22 2e 20 44 65 76 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 69 6e ption."dev"..Dev.packages.are.in
2d600 73 74 61 6c 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 20 6e 6f 77 2e 3c 2f 77 61 72 6e 69 6e 67 stalled.by.default.now.</warning
2d620 3e 27 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f >');.}..$composer.=.$this->getCo
2d640 6d 70 6f 73 65 72 28 74 72 75 65 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 mposer(true,.$input->getOption('
2d660 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 no-plugins'));.$composer->getDow
2d680 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 2d 3e 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 nloadManager()->setOutputProgres
2d6a0 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 s(!$input->getOption('no-progres
2d6c0 73 27 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 s'));..$commandEvent.=.new.Comma
2d6e0 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 ndEvent(PluginEvents::COMMAND,.'
2d700 69 6e 73 74 61 6c 6c 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d install',.$input,.$output);.$com
2d720 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 poser->getEventDispatcher()->dis
2d740 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 patch($commandEvent->getName(),.
2d760 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 20 3d 20 49 6e 73 74 $commandEvent);..$install.=.Inst
2d780 61 6c 6c 65 72 3a 3a 63 72 65 61 74 65 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 0a aller::create($io,.$composer);..
2d7a0 24 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 $config.=.$composer->getConfig()
2d7c0 3b 0a 6c 69 73 74 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 2c 20 24 70 72 65 66 65 72 44 69 73 ;.list($preferSource,.$preferDis
2d7e0 74 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 66 65 72 72 65 64 49 6e 73 74 61 6c 6c 4f t).=.$this->getPreferredInstallO
2d800 70 74 69 6f 6e 73 28 24 63 6f 6e 66 69 67 2c 20 24 69 6e 70 75 74 29 3b 0a 0a 24 6f 70 74 69 6d ptions($config,.$input);..$optim
2d820 69 7a 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a ize.=.$input->getOption('optimiz
2d840 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 e-autoloader').||.$config->get('
2d860 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 24 61 75 74 68 6f 72 69 74 optimize-autoloader');.$authorit
2d880 61 74 69 76 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 ative.=.$input->getOption('class
2d8a0 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e map-authoritative').||.$config->
2d8c0 67 65 74 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 3b 0a 24 get('classmap-authoritative');.$
2d8e0 61 70 63 75 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 2d 61 apcu.=.$input->getOption('apcu-a
2d900 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 61 70 63 utoloader').||.$config->get('apc
2d920 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 44 u-autoloader');..$install.->setD
2d940 72 79 52 75 6e 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 72 79 2d 72 75 6e ryRun($input->getOption('dry-run
2d960 27 29 29 0a 2d 3e 73 65 74 56 65 72 62 6f 73 65 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 ')).->setVerbose($input->getOpti
2d980 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 on('verbose')).->setPreferSource
2d9a0 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 74 28 ($preferSource).->setPreferDist(
2d9c0 24 70 72 65 66 65 72 44 69 73 74 29 0a 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 21 24 69 6e 70 75 $preferDist).->setDevMode(!$inpu
2d9e0 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 0a 2d 3e 73 65 74 44 75 6d t->getOption('no-dev')).->setDum
2da00 70 41 75 74 6f 6c 6f 61 64 65 72 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 pAutoloader(!$input->getOption('
2da20 6e 6f 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 29 0a 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 no-autoloader')).->setRunScripts
2da40 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 (!$input->getOption('no-scripts'
2da60 29 29 0a 2d 3e 73 65 74 53 6b 69 70 53 75 67 67 65 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f )).->setSkipSuggest($input->getO
2da80 70 74 69 6f 6e 28 27 6e 6f 2d 73 75 67 67 65 73 74 27 29 29 0a 2d 3e 73 65 74 4f 70 74 69 6d 69 ption('no-suggest')).->setOptimi
2daa0 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 6f 70 74 69 6d 69 7a 65 29 0a 2d 3e 73 65 74 43 6c 61 zeAutoloader($optimize).->setCla
2dac0 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 61 75 74 68 6f 72 69 74 61 74 69 76 ssMapAuthoritative($authoritativ
2dae0 65 29 0a 2d 3e 73 65 74 41 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 28 24 61 70 63 75 29 0a 2d 3e e).->setApcuAutoloader($apcu).->
2db00 73 65 74 49 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 setIgnorePlatformRequirements($i
2db20 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d nput->getOption('ignore-platform
2db40 2d 72 65 71 73 27 29 29 0a 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f -reqs')).;..if.($input->getOptio
2db60 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 2d 3e 64 69 73 n('no-plugins')).{.$install->dis
2db80 61 62 6c 65 50 6c 75 67 69 6e 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c ablePlugins();.}..return.$instal
2dba0 6c 2d 3e 72 75 6e 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e l->run();.}.}.<?php............n
2dbc0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 amespace.Composer\Command;..use.
2dbe0 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 Composer\Json\JsonFile;.use.Comp
2dc00 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f oser\Plugin\CommandEvent;.use.Co
2dc20 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 mposer\Plugin\PluginEvents;.use.
2dc40 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 Composer\Package\PackageInterfac
2dc60 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 e;.use.Composer\Repository\Repos
2dc80 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 itoryInterface;.use.Symfony\Comp
2dca0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 3b 0a 75 73 65 20 onent\Console\Helper\Table;.use.
2dcc0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c Symfony\Component\Console\Input\
2dce0 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 InputInterface;.use.Symfony\Comp
2dd00 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b onent\Console\Input\InputOption;
2dd20 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f .use.Symfony\Component\Console\O
2dd40 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 utput\OutputInterface;.....class
2dd60 20 4c 69 63 65 6e 73 65 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d .LicensesCommand.extends.BaseCom
2dd80 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 mand.{.protected.function.config
2dda0 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 6c 69 63 65 6e 73 65 ure().{.$this.->setName('license
2ddc0 73 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 69 6e 66 6f s').->setDescription('Shows.info
2dde0 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 6c 69 63 65 6e 73 65 73 20 6f 66 20 64 65 70 65 6e 64 rmation.about.licenses.of.depend
2de00 65 6e 63 69 65 73 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 encies.').->setDefinition(array(
2de20 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 66 27 2c 20 .new.InputOption('format',.'f',.
2de40 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 46 6f InputOption::VALUE_REQUIRED,.'Fo
2de60 72 6d 61 74 20 6f 66 20 74 68 65 20 6f 75 74 70 75 74 3a 20 74 65 78 74 20 6f 72 20 6a 73 6f 6e rmat.of.the.output:.text.or.json
2de80 27 2c 20 27 74 65 78 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d ',.'text'),.new.InputOption('no-
2dea0 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e dev',.null,.InputOption::VALUE_N
2dec0 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 73 65 61 72 63 68 20 69 6e 20 72 65 71 75 69 72 65 ONE,.'Disables.search.in.require
2dee0 2d 64 65 76 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a -dev.packages.'),.)).->setHelp(.
2df00 3c 3c 3c 45 4f 54 0a 54 68 65 20 6c 69 63 65 6e 73 65 20 63 6f 6d 6d 61 6e 64 20 64 69 73 70 6c <<<EOT.The.license.command.displ
2df20 61 79 73 20 64 65 74 61 69 6c 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 ays.detailed.information.about.t
2df40 68 65 20 6c 69 63 65 6e 73 65 73 20 6f 66 0a 74 68 65 20 69 6e 73 74 61 6c 6c 65 64 20 64 65 70 he.licenses.of.the.installed.dep
2df60 65 6e 64 65 6e 63 69 65 73 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f endencies...Read.more.at.https:/
2df80 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 6c /getcomposer.org/doc/03-cli.md#l
2dfa0 69 63 65 6e 73 65 73 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e icenses.EOT.).;.}..protected.fun
2dfc0 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e ction.execute(InputInterface.$in
2dfe0 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a put,.OutputInterface.$output).{.
2e000 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 $composer.=.$this->getComposer()
2e020 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 ;..$commandEvent.=.new.CommandEv
2e040 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 6c 69 63 65 ent(PluginEvents::COMMAND,.'lice
2e060 6e 73 65 73 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 nses',.$input,.$output);.$compos
2e080 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 er->getEventDispatcher()->dispat
2e0a0 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f ch($commandEvent->getName(),.$co
2e0c0 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 72 6f 6f 74 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d mmandEvent);..$root.=.$composer-
2e0e0 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 72 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 >getPackage();.$repo.=.$composer
2e100 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 ->getRepositoryManager()->getLoc
2e120 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 alRepository();..if.($input->get
2e140 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 Option('no-dev')).{.$packages.=.
2e160 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 73 28 24 72 $this->filterRequiredPackages($r
2e180 65 70 6f 2c 20 24 72 6f 6f 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 epo,.$root);.}.else.{.$packages.
2e1a0 3d 20 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 50 61 63 6b 61 67 65 73 28 24 72 65 70 6f 2d 3e 67 =.$this->appendPackages($repo->g
2e1c0 65 74 50 61 63 6b 61 67 65 73 28 29 2c 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 0a 6b 73 6f 72 74 etPackages(),.array());.}..ksort
2e1e0 28 24 70 61 63 6b 61 67 65 73 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 ($packages);.$io.=.$this->getIO(
2e200 29 3b 0a 0a 73 77 69 74 63 68 20 28 24 66 6f 72 6d 61 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 );..switch.($format.=.$input->ge
2e220 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 29 20 7b 0a 63 61 73 65 20 27 74 65 78 74 27 tOption('format')).{.case.'text'
2e240 3a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 4e 61 6d 65 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 :.$io->write('Name:.<comment>'.$
2e260 72 6f 6f 74 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 root->getPrettyName().'</comment
2e280 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 56 65 72 73 69 6f 6e 3a 20 3c 63 6f 6d 6d 65 >');.$io->write('Version:.<comme
2e2a0 6e 74 3e 27 2e 24 72 6f 6f 74 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e nt>'.$root->getFullPrettyVersion
2e2c0 28 29 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 4c 69 ().'</comment>');.$io->write('Li
2e2e0 63 65 6e 73 65 73 3a 20 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 28 69 6d 70 6c 6f 64 65 28 27 2c 20 27 censes:.<comment>'.(implode(',.'
2e300 2c 20 24 72 6f 6f 74 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 29 20 3f 3a 20 27 6e 6f 6e 65 27 ,.$root->getLicense()).?:.'none'
2e320 29 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 44 65 70 ).'</comment>');.$io->write('Dep
2e340 65 6e 64 65 6e 63 69 65 73 3a 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 0a 24 endencies:');.$io->write('');..$
2e360 74 61 62 6c 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 6f 75 74 70 75 74 29 3b 0a 24 74 61 62 table.=.new.Table($output);.$tab
2e380 6c 65 2d 3e 73 65 74 53 74 79 6c 65 28 27 63 6f 6d 70 61 63 74 27 29 3b 0a 24 74 61 62 6c 65 53 le->setStyle('compact');.$tableS
2e3a0 74 79 6c 65 20 3d 20 24 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 3b 0a 24 74 61 62 6c tyle.=.$table->getStyle();.$tabl
2e3c0 65 53 74 79 6c 65 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 27 eStyle->setVerticalBorderChar(''
2e3e0 29 3b 0a 24 74 61 62 6c 65 53 74 79 6c 65 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e );.$tableStyle->setCellRowConten
2e400 74 46 6f 72 6d 61 74 28 27 25 73 20 20 27 29 3b 0a 24 74 61 62 6c 65 2d 3e 73 65 74 48 65 61 64 tFormat('%s..');.$table->setHead
2e420 65 72 73 28 61 72 72 61 79 28 27 4e 61 6d 65 27 2c 20 27 56 65 72 73 69 6f 6e 27 2c 20 27 4c 69 ers(array('Name',.'Version',.'Li
2e440 63 65 6e 73 65 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 cense'));.foreach.($packages.as.
2e460 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 61 62 6c 65 2d 3e 61 64 64 52 6f 77 28 61 72 72 61 79 $package).{.$table->addRow(array
2e480 28 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 24 70 61 (.$package->getPrettyName(),.$pa
2e4a0 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 69 ckage->getFullPrettyVersion(),.i
2e4c0 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4c 69 63 65 6e 73 mplode(',.',.$package->getLicens
2e4e0 65 28 29 29 20 3f 3a 20 27 6e 6f 6e 65 27 2c 0a 29 29 3b 0a 7d 0a 24 74 61 62 6c 65 2d 3e 72 65 e()).?:.'none',.));.}.$table->re
2e500 6e 64 65 72 28 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 6a 73 6f 6e 27 3a 0a 24 64 65 nder();.break;..case.'json':.$de
2e520 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 pendencies.=.array();.foreach.($
2e540 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 64 65 70 65 6e 64 65 packages.as.$package).{.$depende
2e560 6e 63 69 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 5d ncies[$package->getPrettyName()]
2e580 20 3d 20 61 72 72 61 79 28 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d .=.array(.'version'.=>.$package-
2e5a0 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 27 6c 69 63 65 6e 73 >getFullPrettyVersion(),.'licens
2e5c0 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 2c 0a 29 3b e'.=>.$package->getLicense(),.);
2e5e0 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 .}..$io->write(JsonFile::encode(
2e600 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 72 6f 6f 74 2d 3e 67 65 74 50 72 65 74 74 array(.'name'.=>.$root->getPrett
2e620 79 4e 61 6d 65 28 29 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 72 6f 6f 74 2d 3e 67 65 74 yName(),.'version'.=>.$root->get
2e640 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 27 6c 69 63 65 6e 73 65 27 20 3d FullPrettyVersion(),.'license'.=
2e660 3e 20 24 72 6f 6f 74 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 2c 0a 27 64 65 70 65 6e 64 65 6e >.$root->getLicense(),.'dependen
2e680 63 69 65 73 27 20 3d 3e 20 24 64 65 70 65 6e 64 65 6e 63 69 65 73 2c 0a 29 29 29 3b 0a 62 72 65 cies'.=>.$dependencies,.)));.bre
2e6a0 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 ak;..default:.throw.new.\Runtime
2e6c0 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 73 75 70 70 6f 72 74 65 64 20 66 Exception(sprintf('Unsupported.f
2e6e0 6f 72 6d 61 74 20 22 25 73 22 2e 20 20 53 65 65 20 68 65 6c 70 20 66 6f 72 20 73 75 70 70 6f 72 ormat."%s"...See.help.for.suppor
2e700 74 65 64 20 66 6f 72 6d 61 74 73 2e 27 2c 20 24 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 0a 72 65 74 ted.formats.',.$format));.}..ret
2e720 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 urn.0;.}..........private.functi
2e740 6f 6e 20 66 69 6c 74 65 72 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 73 28 52 65 70 6f 73 69 on.filterRequiredPackages(Reposi
2e760 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 toryInterface.$repo,.PackageInte
2e780 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 62 75 63 6b 65 74 20 3d 20 61 72 72 61 79 28 rface.$package,.$bucket.=.array(
2e7a0 29 29 0a 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 70 61 63 )).{.$requires.=.array_keys($pac
2e7c0 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 3b 0a 0a 24 70 61 63 6b 61 67 65 4c kage->getRequires());..$packageL
2e7e0 69 73 74 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 62 75 63 6b 65 74 29 3b 0a istNames.=.array_keys($bucket);.
2e800 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 0a 24 72 65 70 6f 2d $packages.=.array_filter(.$repo-
2e820 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 63 6b 61 >getPackages(),.function.($packa
2e840 67 65 29 20 75 73 65 20 28 24 72 65 71 75 69 72 65 73 2c 20 24 70 61 63 6b 61 67 65 4c 69 73 74 ge).use.($requires,.$packageList
2e860 4e 61 6d 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 Names).{.return.in_array($packag
2e880 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 72 65 71 75 69 72 65 73 29 20 26 26 20 21 69 6e 5f e->getName(),.$requires).&&.!in_
2e8a0 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 61 63 6b array($package->getName(),.$pack
2e8c0 61 67 65 4c 69 73 74 4e 61 6d 65 73 29 3b 0a 7d 0a 29 3b 0a 0a 24 62 75 63 6b 65 74 20 3d 20 24 ageListNames);.}.);..$bucket.=.$
2e8e0 74 68 69 73 2d 3e 61 70 70 65 6e 64 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 73 2c 20 this->appendPackages($packages,.
2e900 24 62 75 63 6b 65 74 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 $bucket);..foreach.($packages.as
2e920 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 62 75 63 6b 65 74 20 3d 20 24 74 68 69 73 2d 3e 66 69 .$package).{.$bucket.=.$this->fi
2e940 6c 74 65 72 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 73 28 24 72 65 70 6f 2c 20 24 70 61 63 lterRequiredPackages($repo,.$pac
2e960 6b 61 67 65 2c 20 24 62 75 63 6b 65 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 62 75 63 6b 65 kage,.$bucket);.}..return.$bucke
2e980 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 t;.}.........public.function.app
2e9a0 65 6e 64 50 61 63 6b 61 67 65 73 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 2c 20 61 72 72 endPackages(array.$packages,.arr
2e9c0 61 79 20 24 62 75 63 6b 65 74 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 ay.$bucket).{.foreach.($packages
2e9e0 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 62 75 63 6b 65 74 5b 24 70 61 63 6b 61 67 65 .as.$package).{.$bucket[$package
2ea00 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 72 65 74 75 ->getName()].=.$package;.}..retu
2ea20 72 6e 20 24 62 75 63 6b 65 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a rn.$bucket;.}.}.<?php...........
2ea40 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 .namespace.Composer\Command;..us
2ea60 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
2ea80 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f t\InputInterface;.use.Symfony\Co
2eaa0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d mponent\Console\Input\InputArgum
2eac0 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ent;.use.Symfony\Component\Conso
2eae0 6c 65 5c 49 6e 70 75 74 5c 41 72 72 61 79 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 le\Input\ArrayInput;.use.Symfony
2eb00 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 \Component\Console\Input\InputOp
2eb20 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 tion;.use.Symfony\Component\Cons
2eb40 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a ole\Output\OutputInterface;.....
2eb60 63 6c 61 73 73 20 4f 75 74 64 61 74 65 64 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 53 68 class.OutdatedCommand.extends.Sh
2eb80 6f 77 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 owCommand.{.protected.function.c
2eba0 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 6f 75 onfigure().{.$this.->setName('ou
2ebc0 74 64 61 74 65 64 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 tdated').->setDescription('Shows
2ebe0 20 61 20 6c 69 73 74 20 6f 66 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 20 74 68 .a.list.of.installed.packages.th
2ec00 61 74 20 68 61 76 65 20 75 70 64 61 74 65 73 20 61 76 61 69 6c 61 62 6c 65 2c 20 69 6e 63 6c 75 at.have.updates.available,.inclu
2ec20 64 69 6e 67 20 74 68 65 69 72 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 2e 27 29 0a 2d 3e 73 ding.their.latest.version.').->s
2ec40 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 etDefinition(array(.new.InputArg
2ec60 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a ument('package',.InputArgument::
2ec80 4f 50 54 49 4f 4e 41 4c 2c 20 27 50 61 63 6b 61 67 65 20 74 6f 20 69 6e 73 70 65 63 74 2e 20 4f OPTIONAL,.'Package.to.inspect..O
2eca0 72 20 61 20 6e 61 6d 65 20 69 6e 63 6c 75 64 69 6e 67 20 61 20 77 69 6c 64 63 61 72 64 20 28 2a r.a.name.including.a.wildcard.(*
2ecc0 29 20 74 6f 20 66 69 6c 74 65 72 20 6c 69 73 74 73 20 6f 66 20 70 61 63 6b 61 67 65 73 20 69 6e ).to.filter.lists.of.packages.in
2ece0 73 74 65 61 64 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 75 74 64 61 stead.'),.new.InputOption('outda
2ed00 74 65 64 27 2c 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f ted',.'o',.InputOption::VALUE_NO
2ed20 4e 45 2c 20 27 53 68 6f 77 20 6f 6e 6c 79 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 61 72 65 NE,.'Show.only.packages.that.are
2ed40 20 6f 75 74 64 61 74 65 64 20 28 74 68 69 73 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 2c 20 .outdated.(this.is.the.default,.
2ed60 62 75 74 20 70 72 65 73 65 6e 74 20 68 65 72 65 20 66 6f 72 20 63 6f 6d 70 61 74 20 77 69 74 68 but.present.here.for.compat.with
2ed80 20 60 73 68 6f 77 60 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 .`show`'),.new.InputOption('all'
2eda0 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 ,.'a',.InputOption::VALUE_NONE,.
2edc0 27 53 68 6f 77 20 61 6c 6c 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 20 77 69 74 'Show.all.installed.packages.wit
2ede0 68 20 74 68 65 69 72 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 73 27 29 2c 0a 6e 65 77 20 49 h.their.latest.versions'),.new.I
2ee00 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 69 72 65 63 74 27 2c 20 27 44 27 2c 20 49 6e 70 75 74 4f nputOption('direct',.'D',.InputO
2ee20 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 73 20 6f 6e 6c 79 20 70 ption::VALUE_NONE,.'Shows.only.p
2ee40 61 63 6b 61 67 65 73 20 74 68 61 74 20 61 72 65 20 64 69 72 65 63 74 6c 79 20 72 65 71 75 69 72 ackages.that.are.directly.requir
2ee60 65 64 20 62 79 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e ed.by.the.root.package'),.new.In
2ee80 70 75 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f putOption('strict',.null,.InputO
2eea0 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 74 75 72 6e 20 61 20 6e 6f 6e ption::VALUE_NONE,.'Return.a.non
2eec0 2d 7a 65 72 6f 20 65 78 69 74 20 63 6f 64 65 20 77 68 65 6e 20 74 68 65 72 65 20 61 72 65 20 6f -zero.exit.code.when.there.are.o
2eee0 75 74 64 61 74 65 64 20 70 61 63 6b 61 67 65 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 utdated.packages'),.new.InputOpt
2ef00 69 6f 6e 28 27 6d 69 6e 6f 72 2d 6f 6e 6c 79 27 2c 20 27 6d 27 2c 20 49 6e 70 75 74 4f 70 74 69 ion('minor-only',.'m',.InputOpti
2ef20 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 6f 6e 6c 79 20 70 61 63 6b 61 on::VALUE_NONE,.'Show.only.packa
2ef40 67 65 73 20 74 68 61 74 20 68 61 76 65 20 6d 69 6e 6f 72 20 53 65 6d 56 65 72 2d 63 6f 6d 70 61 ges.that.have.minor.SemVer-compa
2ef60 74 69 62 6c 65 20 75 70 64 61 74 65 73 2e 20 55 73 65 20 77 69 74 68 20 74 68 65 20 2d 2d 6f 75 tible.updates..Use.with.the.--ou
2ef80 74 64 61 74 65 64 20 6f 70 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f tdated.option.'),.new.InputOptio
2efa0 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 66 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 n('format',.'f',.InputOption::VA
2efc0 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 46 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 6f 75 74 LUE_REQUIRED,.'Format.of.the.out
2efe0 70 75 74 3a 20 74 65 78 74 20 6f 72 20 6a 73 6f 6e 27 2c 20 27 74 65 78 74 27 29 2c 0a 6e 65 77 put:.text.or.json',.'text'),.new
2f000 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 .InputOption('ignore',.null,.Inp
2f020 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 20 7c 20 49 6e 70 75 74 utOption::VALUE_REQUIRED.|.Input
2f040 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 2c 20 27 49 67 6e 6f 72 65 20 Option::VALUE_IS_ARRAY,.'Ignore.
2f060 73 70 65 63 69 66 69 65 64 20 70 61 63 6b 61 67 65 28 73 29 2e 20 55 73 65 20 69 74 20 77 69 74 specified.package(s)..Use.it.wit
2f080 68 20 74 68 65 20 2d 2d 6f 75 74 64 61 74 65 64 20 6f 70 74 69 6f 6e 20 69 66 20 79 6f 75 20 64 h.the.--outdated.option.if.you.d
2f0a0 6f 6e 5c 27 74 20 77 61 6e 74 20 74 6f 20 62 65 20 69 6e 66 6f 72 6d 65 64 20 61 62 6f 75 74 20 on\'t.want.to.be.informed.about.
2f0c0 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 73 6f 6d 65 20 70 61 63 6b 61 67 65 73 2e 27 29 new.versions.of.some.packages.')
2f0e0 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 6f 75 74 64 61 ,.)).->setHelp(.<<<EOT.The.outda
2f100 74 65 64 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6a 75 73 74 20 61 20 70 72 6f 78 79 20 66 6f 72 20 ted.command.is.just.a.proxy.for.
2f120 60 63 6f 6d 70 6f 73 65 72 20 73 68 6f 77 20 2d 6c 60 0a 0a 54 68 65 20 63 6f 6c 6f 72 20 63 6f `composer.show.-l`..The.color.co
2f140 64 69 6e 67 20 28 6f 72 20 73 69 67 6e 61 67 65 20 69 66 20 79 6f 75 20 68 61 76 65 20 41 4e 53 ding.(or.signage.if.you.have.ANS
2f160 49 20 63 6f 6c 6f 72 73 20 64 69 73 61 62 6c 65 64 29 20 66 6f 72 20 64 65 70 65 6e 64 65 6e 63 I.colors.disabled).for.dependenc
2f180 79 20 76 65 72 73 69 6f 6e 73 20 69 73 20 61 73 20 73 75 63 68 3a 0a 0a 2d 20 3c 69 6e 66 6f 3e y.versions.is.as.such:..-.<info>
2f1a0 67 72 65 65 6e 3c 2f 69 6e 66 6f 3e 20 28 3d 29 3a 20 44 65 70 65 6e 64 65 6e 63 79 20 69 73 20 green</info>.(=):.Dependency.is.
2f1c0 69 6e 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 20 61 6e 64 20 69 73 20 75 70 20 in.the.latest.version.and.is.up.
2f1e0 74 6f 20 64 61 74 65 2e 0a 2d 20 3c 63 6f 6d 6d 65 6e 74 3e 79 65 6c 6c 6f 77 3c 2f 63 6f 6d 6d to.date..-.<comment>yellow</comm
2f200 65 6e 74 3e 20 28 7e 29 3a 20 44 65 70 65 6e 64 65 6e 63 79 20 68 61 73 20 61 20 6e 65 77 20 76 ent>.(~):.Dependency.has.a.new.v
2f220 65 72 73 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 68 61 74 20 69 6e 63 6c 75 64 65 73 20 62 ersion.available.that.includes.b
2f240 61 63 6b 77 61 72 64 73 0a 20 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 62 72 65 61 6b 73 20 ackwards...compatibility.breaks.
2f260 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 73 65 6d 76 65 72 2c 20 73 6f 20 75 70 67 72 61 64 65 20 according.to.semver,.so.upgrade.
2f280 77 68 65 6e 20 79 6f 75 20 63 61 6e 20 62 75 74 20 69 74 0a 20 20 6d 61 79 20 69 6e 76 6f 6c 76 when.you.can.but.it...may.involv
2f2a0 65 20 77 6f 72 6b 2e 0a 2d 20 3c 68 69 67 68 6c 69 67 68 74 3e 72 65 64 3c 2f 68 69 67 68 6c 69 e.work..-.<highlight>red</highli
2f2c0 67 68 74 3e 20 28 21 29 3a 20 44 65 70 65 6e 64 65 6e 63 79 20 68 61 73 20 61 20 6e 65 77 20 76 ght>.(!):.Dependency.has.a.new.v
2f2e0 65 72 73 69 6f 6e 20 74 68 61 74 20 69 73 20 73 65 6d 76 65 72 2d 63 6f 6d 70 61 74 69 62 6c 65 ersion.that.is.semver-compatible
2f300 20 61 6e 64 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 70 67 72 61 64 65 20 69 74 2e 0a 0a 52 65 61 .and.you.should.upgrade.it...Rea
2f320 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 d.more.at.https://getcomposer.or
2f340 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 6f 75 74 64 61 74 65 64 0a 45 4f 54 0a 29 0a 3b g/doc/03-cli.md#outdated.EOT.).;
2f360 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 .}..protected.function.execute(I
2f380 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 nputInterface.$input,.OutputInte
2f3a0 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 61 72 67 73 20 3d 20 61 72 72 61 79 28 0a rface.$output).{.$args.=.array(.
2f3c0 27 63 6f 6d 6d 61 6e 64 27 20 3d 3e 20 27 73 68 6f 77 27 2c 0a 27 2d 2d 6c 61 74 65 73 74 27 20 'command'.=>.'show',.'--latest'.
2f3e0 3d 3e 20 74 72 75 65 2c 0a 29 3b 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 =>.true,.);.if.(!$input->getOpti
2f400 6f 6e 28 27 61 6c 6c 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 2d 2d 6f 75 74 64 61 74 65 64 27 5d on('all')).{.$args['--outdated']
2f420 20 3d 20 74 72 75 65 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e .=.true;.}.if.($input->getOption
2f440 28 27 64 69 72 65 63 74 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 2d 2d 64 69 72 65 63 74 27 5d 20 ('direct')).{.$args['--direct'].
2f460 3d 20 74 72 75 65 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e =.true;.}.if.($input->getArgumen
2f480 74 28 27 70 61 63 6b 61 67 65 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 70 61 63 6b 61 67 65 27 5d t('package')).{.$args['package']
2f4a0 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 .=.$input->getArgument('package'
2f4c0 29 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 );.}.if.($input->getOption('stri
2f4e0 63 74 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 2d 2d 73 74 72 69 63 74 27 5d 20 3d 20 74 72 75 65 ct')).{.$args['--strict'].=.true
2f500 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6d 69 6e 6f 72 ;.}.if.($input->getOption('minor
2f520 2d 6f 6e 6c 79 27 29 29 20 7b 0a 24 61 72 67 73 5b 27 2d 2d 6d 69 6e 6f 72 2d 6f 6e 6c 79 27 5d -only')).{.$args['--minor-only']
2f540 20 3d 20 74 72 75 65 3b 0a 7d 0a 24 61 72 67 73 5b 27 2d 2d 66 6f 72 6d 61 74 27 5d 20 3d 20 24 .=.true;.}.$args['--format'].=.$
2f560 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 3b 0a 24 61 72 67 input->getOption('format');.$arg
2f580 73 5b 27 2d 2d 69 67 6e 6f 72 65 27 5d 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f s['--ignore'].=.$input->getOptio
2f5a0 6e 28 27 69 67 6e 6f 72 65 27 29 3b 0a 0a 24 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 72 61 79 n('ignore');..$input.=.new.Array
2f5c0 49 6e 70 75 74 28 24 61 72 67 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 Input($args);..return.$this->get
2f5e0 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 72 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 Application()->run($input,.$outp
2f600 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 72 6f ut);.}.....public.function.isPro
2f620 78 79 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c xyCommand().{.return.true;.}.}.<
2f640 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
2f660 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 er\Command;..use.Symfony\Compone
2f680 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b nt\Console\Input\InputInterface;
2f6a0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f .use.Symfony\Component\Console\O
2f6c0 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 utput\OutputInterface;.....class
2f6e0 20 50 72 6f 68 69 62 69 74 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 44 65 .ProhibitsCommand.extends.BaseDe
2f700 70 65 6e 64 65 6e 63 79 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 pendencyCommand.{....protected.f
2f720 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 63 6f unction.configure().{.parent::co
2f740 6e 66 69 67 75 72 65 28 29 3b 0a 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 70 72 6f nfigure();..$this.->setName('pro
2f760 68 69 62 69 74 73 27 29 0a 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 77 68 79 hibits').->setAliases(array('why
2f780 2d 6e 6f 74 27 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 -not')).->setDescription('Shows.
2f7a0 77 68 69 63 68 20 70 61 63 6b 61 67 65 73 20 70 72 65 76 65 6e 74 20 74 68 65 20 67 69 76 65 6e which.packages.prevent.the.given
2f7c0 20 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 62 65 69 6e 67 20 69 6e 73 74 61 6c 6c 65 64 2e 27 29 .package.from.being.installed.')
2f7e0 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 44 69 73 70 6c 61 79 73 20 64 65 74 61 .->setHelp(.<<<EOT.Displays.deta
2f800 69 6c 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 77 68 79 20 61 20 70 61 63 iled.information.about.why.a.pac
2f820 6b 61 67 65 20 63 61 6e 6e 6f 74 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 0a 3c 69 6e 66 6f kage.cannot.be.installed...<info
2f840 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 70 72 6f 68 69 62 69 74 73 20 63 6f 6d >php.composer.phar.prohibits.com
2f860 70 6f 73 65 72 2f 63 6f 6d 70 6f 73 65 72 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 poser/composer</info>..Read.more
2f880 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f .at.https://getcomposer.org/doc/
2f8a0 30 33 2d 63 6c 69 2e 6d 64 23 70 72 6f 68 69 62 69 74 73 2d 77 68 79 2d 6e 6f 74 2d 0a 45 4f 54 03-cli.md#prohibits-why-not-.EOT
2f8c0 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f .).;.}.........protected.functio
2f8e0 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c n.execute(InputInterface.$input,
2f900 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 72 65 74 75 .OutputInterface.$output).{.retu
2f920 72 6e 20 70 61 72 65 6e 74 3a 3a 64 6f 45 78 65 63 75 74 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 rn.parent::doExecute($input,.$ou
2f940 74 70 75 74 2c 20 74 72 75 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a tput,.true);.}.}.<?php..........
2f960 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 ..namespace.Composer\Command;..u
2f980 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 5c 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 se.Composer\Config\JsonConfigSou
2f9a0 72 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 rce;.use.Composer\Installer;.use
2f9c0 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 .Composer\Plugin\CommandEvent;.u
2f9e0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b se.Composer\Plugin\PluginEvents;
2fa00 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 .use.Composer\Json\JsonFile;.use
2fa20 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 .Composer\Factory;.use.Symfony\C
2fa40 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 omponent\Console\Input\InputInte
2fa60 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e rface;.use.Symfony\Component\Con
2fa80 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 sole\Input\InputOption;.use.Symf
2faa0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 ony\Component\Console\Input\Inpu
2fac0 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 tArgument;.use.Symfony\Component
2fae0 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b \Console\Output\OutputInterface;
2fb00 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 .use.Composer\Package\BasePackag
2fb20 65 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 6d 6f 76 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 e;......class.RemoveCommand.exte
2fb40 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 nds.BaseCommand.{.protected.func
2fb60 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 tion.configure().{.$this.->setNa
2fb80 6d 65 28 27 72 65 6d 6f 76 65 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 52 me('remove').->setDescription('R
2fba0 65 6d 6f 76 65 73 20 61 20 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 74 68 65 20 72 65 71 75 69 72 emoves.a.package.from.the.requir
2fbc0 65 20 6f 72 20 72 65 71 75 69 72 65 2d 64 65 76 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 e.or.require-dev.').->setDefinit
2fbe0 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 ion(array(.new.InputArgument('pa
2fc00 63 6b 61 67 65 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 ckages',.InputArgument::IS_ARRAY
2fc20 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c 20 27 50 61 63 .|.InputArgument::REQUIRED,.'Pac
2fc40 6b 61 67 65 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 62 65 20 72 65 6d 6f 76 65 64 2e 27 29 2c kages.that.should.be.removed.'),
2fc60 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e .new.InputOption('dev',.null,.In
2fc80 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 6d 6f 76 65 73 20 putOption::VALUE_NONE,.'Removes.
2fca0 61 20 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 74 68 65 20 72 65 71 75 69 72 65 2d 64 65 76 20 73 a.package.from.the.require-dev.s
2fcc0 65 63 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 ection.'),.new.InputOption('no-p
2fce0 72 6f 67 72 65 73 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c rogress',.null,.InputOption::VAL
2fd00 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 UE_NONE,.'Do.not.output.download
2fd20 20 70 72 6f 67 72 65 73 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e .progress.'),.new.InputOption('n
2fd40 6f 2d 75 70 64 61 74 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 o-update',.null,.InputOption::VA
2fd60 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 74 68 65 20 61 75 74 6f 6d 61 74 69 LUE_NONE,.'Disables.the.automati
2fd80 63 20 75 70 64 61 74 65 20 6f 66 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c c.update.of.the.dependencies.'),
2fda0 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 6e .new.InputOption('no-scripts',.n
2fdc0 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 ull,.InputOption::VALUE_NONE,.'S
2fde0 6b 69 70 73 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 73 63 72 69 70 74 kips.the.execution.of.all.script
2fe00 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 2e s.defined.in.composer.json.file.
2fe20 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 6e 6f 2d 64 '),.new.InputOption('update-no-d
2fe40 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f ev',.null,.InputOption::VALUE_NO
2fe60 4e 45 2c 20 27 52 75 6e 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 79 20 75 70 64 61 74 65 20 77 NE,.'Run.the.dependency.update.w
2fe80 69 74 68 20 74 68 65 20 2d 2d 6e 6f 2d 64 65 76 20 6f 70 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 ith.the.--no-dev.option.'),.new.
2fea0 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 InputOption('update-with-depende
2fec0 6e 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 ncies',.null,.InputOption::VALUE
2fee0 5f 4e 4f 4e 45 2c 20 27 41 6c 6c 6f 77 73 20 69 6e 68 65 72 69 74 65 64 20 64 65 70 65 6e 64 65 _NONE,.'Allows.inherited.depende
2ff00 6e 63 69 65 73 20 74 6f 20 62 65 20 75 70 64 61 74 65 64 20 77 69 74 68 20 65 78 70 6c 69 63 69 ncies.to.be.updated.with.explici
2ff20 74 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 20 28 44 65 70 72 65 63 72 61 74 65 64 2c 20 69 73 t.dependencies..(Deprecrated,.is
2ff40 20 6e 6f 77 20 64 65 66 61 75 6c 74 20 62 65 68 61 76 69 6f 72 29 27 29 2c 0a 6e 65 77 20 49 6e .now.default.behavior)'),.new.In
2ff60 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 putOption('no-update-with-depend
2ff80 65 6e 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 encies',.null,.InputOption::VALU
2ffa0 45 5f 4e 4f 4e 45 2c 20 27 44 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 69 6e 68 65 72 69 74 65 E_NONE,.'Does.not.allow.inherite
2ffc0 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 6f 20 62 65 20 75 70 64 61 74 65 64 20 77 69 74 d.dependencies.to.be.updated.wit
2ffe0 68 20 65 78 70 6c 69 63 69 74 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 6e 65 77 20 h.explicit.dependencies.'),.new.
30000 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 InputOption('ignore-platform-req
30020 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e s',.null,.InputOption::VALUE_NON
30040 45 2c 20 27 49 67 6e 6f 72 65 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 E,.'Ignore.platform.requirements
30060 20 28 70 68 70 20 26 20 65 78 74 2d 20 70 61 63 6b 61 67 65 73 29 2e 27 29 2c 0a 6e 65 77 20 49 .(php.&.ext-.packages).'),.new.I
30080 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 nputOption('optimize-autoloader'
300a0 2c 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 ,.'o',.InputOption::VALUE_NONE,.
300c0 27 4f 70 74 69 6d 69 7a 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 72 69 6e 67 20 61 75 74 6f 'Optimize.autoloader.during.auto
300e0 6c 6f 61 64 65 72 20 64 75 6d 70 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 loader.dump'),.new.InputOption('
30100 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 2c 20 27 61 27 2c 20 49 6e classmap-authoritative',.'a',.In
30120 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 75 74 6f 6c 6f 61 64 putOption::VALUE_NONE,.'Autoload
30140 20 63 6c 61 73 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6c 61 73 73 6d 61 70 20 6f 6e 6c 79 2e .classes.from.the.classmap.only.
30160 20 49 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 60 2d 2d 6f 70 74 69 6d 69 7a 65 2d .Implicitly.enables.`--optimize-
30180 61 75 74 6f 6c 6f 61 64 65 72 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 autoloader`.'),.new.InputOption(
301a0 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 'apcu-autoloader',.null,.InputOp
301c0 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 73 65 20 41 50 43 75 20 74 6f 20 63 tion::VALUE_NONE,.'Use.APCu.to.c
301e0 61 63 68 65 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 2e 27 29 2c ache.found/not-found.classes.'),
30200 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e .)).->setHelp(.<<<EOT.The.<info>
30220 72 65 6d 6f 76 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 65 6d 6f 76 65 73 20 61 20 remove</info>.command.removes.a.
30240 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 0a 6c 69 73 74 20 6f 66 package.from.the.current.list.of
30260 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 .installed.packages..<info>php.c
30280 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 72 65 6d 6f 76 65 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 omposer.phar.remove</info>..Read
302a0 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 .more.at.https://getcomposer.org
302c0 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 72 65 6d 6f 76 65 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a /doc/03-cli.md#remove.EOT.).;.}.
302e0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 .protected.function.execute(Inpu
30300 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 tInterface.$input,.OutputInterfa
30320 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 69 6e 70 75 74 ce.$output).{.$packages.=.$input
30340 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 29 3b 0a 24 70 61 63 6b ->getArgument('packages');.$pack
30360 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 74 6f 6c 6f 77 65 72 27 2c 20 24 ages.=.array_map('strtolower',.$
30380 70 61 63 6b 61 67 65 73 29 3b 0a 0a 24 66 69 6c 65 20 3d 20 46 61 63 74 6f 72 79 3a 3a 67 65 74 packages);..$file.=.Factory::get
303a0 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 0a 24 6a 73 6f 6e 46 69 6c 65 20 3d 20 6e 65 77 ComposerFile();..$jsonFile.=.new
303c0 20 4a 73 6f 6e 46 69 6c 65 28 24 66 69 6c 65 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 6a .JsonFile($file);.$composer.=.$j
303e0 73 6f 6e 46 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 42 61 63 6b 75 70 sonFile->read();.$composerBackup
30400 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 46 69 6c 65 2d 3e .=.file_get_contents($jsonFile->
30420 67 65 74 50 61 74 68 28 29 29 3b 0a 0a 24 6a 73 6f 6e 20 3d 20 6e 65 77 20 4a 73 6f 6e 43 6f 6e getPath());..$json.=.new.JsonCon
30440 66 69 67 53 6f 75 72 63 65 28 24 6a 73 6f 6e 46 69 6c 65 29 3b 0a 0a 24 74 79 70 65 20 3d 20 24 figSource($jsonFile);..$type.=.$
30460 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 29 20 3f 20 27 72 65 71 75 69 input->getOption('dev').?.'requi
30480 72 65 2d 64 65 76 27 20 3a 20 27 72 65 71 75 69 72 65 27 3b 0a 24 61 6c 74 54 79 70 65 20 3d 20 re-dev'.:.'require';.$altType.=.
304a0 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 29 20 3f 20 27 72 65 71 !$input->getOption('dev').?.'req
304c0 75 69 72 65 2d 64 65 76 27 20 3a 20 27 72 65 71 75 69 72 65 27 3b 0a 24 69 6f 20 3d 20 24 74 68 uire-dev'.:.'require';.$io.=.$th
304e0 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 is->getIO();..if.($input->getOpt
30500 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 ion('update-with-dependencies'))
30520 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 .{.$io->writeError('<warning>You
30540 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e .are.using.the.deprecated.option
30560 20 22 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 22 2e 20 54 68 69 ."update-with-dependencies"..Thi
30580 73 20 69 73 20 6e 6f 77 20 64 65 66 61 75 6c 74 20 62 65 68 61 76 69 6f 75 72 2e 20 54 68 65 20 s.is.now.default.behaviour..The.
305a0 2d 2d 6e 6f 2d 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 70 --no-update-with-dependencies.op
305c0 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 6d 6f 76 65 20 61 20 70 61 63 tion.can.be.used.to.remove.a.pac
305e0 6b 61 67 65 20 77 69 74 68 6f 75 74 20 69 74 73 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 3c 2f kage.without.its.dependencies.</
30600 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 warning>');.}....foreach.(array(
30620 27 72 65 71 75 69 72 65 27 2c 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 29 20 61 73 20 24 6c 69 'require',.'require-dev').as.$li
30640 6e 6b 54 79 70 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 24 6c nkType).{.if.(isset($composer[$l
30660 69 6e 6b 54 79 70 65 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 70 6f 73 65 72 5b inkType])).{.foreach.($composer[
30680 24 6c 69 6e 6b 54 79 70 65 5d 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 $linkType].as.$name.=>.$version)
306a0 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 5b 24 6c 69 6e 6b 54 79 70 65 5d 5b 73 74 72 74 6f 6c 6f 77 .{.$composer[$linkType][strtolow
306c0 65 72 28 24 6e 61 6d 65 29 5d 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 er($name)].=.$name;.}.}.}..forea
306e0 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 ch.($packages.as.$package).{.if.
30700 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 (isset($composer[$type][$package
30720 5d 29 29 20 7b 0a 24 6a 73 6f 6e 2d 3e 72 65 6d 6f 76 65 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 ])).{.$json->removeLink($type,.$
30740 63 6f 6d 70 6f 73 65 72 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 5d 29 3b 0a 7d 20 65 6c composer[$type][$package]);.}.el
30760 73 65 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 24 61 6c 74 54 79 70 65 5d 5b seif.(isset($composer[$altType][
30780 24 70 61 63 6b 61 67 65 5d 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c $package])).{.$io->writeError('<
307a0 77 61 72 6e 69 6e 67 3e 27 20 2e 20 24 63 6f 6d 70 6f 73 65 72 5b 24 61 6c 74 54 79 70 65 5d 5b warning>'...$composer[$altType][
307c0 24 70 61 63 6b 61 67 65 5d 20 2e 20 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 $package]...'.could.not.be.found
307e0 20 69 6e 20 27 20 2e 20 24 74 79 70 65 20 2e 20 27 20 62 75 74 20 69 74 20 69 73 20 70 72 65 73 .in.'...$type...'.but.it.is.pres
30800 65 6e 74 20 69 6e 20 27 20 2e 20 24 61 6c 74 54 79 70 65 20 2e 20 27 3c 2f 77 61 72 6e 69 6e 67 ent.in.'...$altType...'</warning
30820 3e 27 29 3b 0a 69 66 20 28 24 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b >');.if.($io->isInteractive()).{
30840 0a 69 66 20 28 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 27 44 6f 20 79 6f .if.($io->askConfirmation('Do.yo
30860 75 20 77 61 6e 74 20 74 6f 20 72 65 6d 6f 76 65 20 69 74 20 66 72 6f 6d 20 27 20 2e 20 24 61 6c u.want.to.remove.it.from.'...$al
30880 74 54 79 70 65 20 2e 20 27 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 tType...'.[<comment>yes</comment
308a0 3e 5d 3f 20 27 2c 20 74 72 75 65 29 29 20 7b 0a 24 6a 73 6f 6e 2d 3e 72 65 6d 6f 76 65 4c 69 6e >]?.',.true)).{.$json->removeLin
308c0 6b 28 24 61 6c 74 54 79 70 65 2c 20 24 63 6f 6d 70 6f 73 65 72 5b 24 61 6c 74 54 79 70 65 5d 5b k($altType,.$composer[$altType][
308e0 24 70 61 63 6b 61 67 65 5d 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 $package]);.}.}.}.elseif.(isset(
30900 24 63 6f 6d 70 6f 73 65 72 5b 24 74 79 70 65 5d 29 20 26 26 20 24 6d 61 74 63 68 65 73 20 3d 20 $composer[$type]).&&.$matches.=.
30920 70 72 65 67 5f 67 72 65 70 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 70 61 63 6b 61 67 65 4e 61 preg_grep(BasePackage::packageNa
30940 6d 65 54 6f 52 65 67 65 78 70 28 24 70 61 63 6b 61 67 65 29 2c 20 61 72 72 61 79 5f 6b 65 79 73 meToRegexp($package),.array_keys
30960 28 24 63 6f 6d 70 6f 73 65 72 5b 24 74 79 70 65 5d 29 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 ($composer[$type]))).{.foreach.(
30980 24 6d 61 74 63 68 65 73 20 61 73 20 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 29 20 7b 0a 24 $matches.as.$matchedPackage).{.$
309a0 6a 73 6f 6e 2d 3e 72 65 6d 6f 76 65 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 6d 61 74 63 68 65 64 json->removeLink($type,.$matched
309c0 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d Package);.}.}.elseif.(isset($com
309e0 70 6f 73 65 72 5b 24 61 6c 74 54 79 70 65 5d 29 20 26 26 20 24 6d 61 74 63 68 65 73 20 3d 20 70 poser[$altType]).&&.$matches.=.p
30a00 72 65 67 5f 67 72 65 70 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 70 61 63 6b 61 67 65 4e 61 6d reg_grep(BasePackage::packageNam
30a20 65 54 6f 52 65 67 65 78 70 28 24 70 61 63 6b 61 67 65 29 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 eToRegexp($package),.array_keys(
30a40 24 63 6f 6d 70 6f 73 65 72 5b 24 61 6c 74 54 79 70 65 5d 29 29 29 20 7b 0a 66 6f 72 65 61 63 68 $composer[$altType]))).{.foreach
30a60 20 28 24 6d 61 74 63 68 65 73 20 61 73 20 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 29 20 7b .($matches.as.$matchedPackage).{
30a80 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 20 2e 20 24 .$io->writeError('<warning>'...$
30aa0 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 20 2e 20 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 matchedPackage...'.could.not.be.
30ac0 66 6f 75 6e 64 20 69 6e 20 27 20 2e 20 24 74 79 70 65 20 2e 20 27 20 62 75 74 20 69 74 20 69 73 found.in.'...$type...'.but.it.is
30ae0 20 70 72 65 73 65 6e 74 20 69 6e 20 27 20 2e 20 24 61 6c 74 54 79 70 65 20 2e 20 27 3c 2f 77 61 .present.in.'...$altType...'</wa
30b00 72 6e 69 6e 67 3e 27 29 3b 0a 69 66 20 28 24 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 rning>');.if.($io->isInteractive
30b20 28 29 29 20 7b 0a 69 66 20 28 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 27 ()).{.if.($io->askConfirmation('
30b40 44 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 6d 6f 76 65 20 69 74 20 66 72 6f 6d 20 27 20 Do.you.want.to.remove.it.from.'.
30b60 2e 20 24 61 6c 74 54 79 70 65 20 2e 20 27 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 6f ..$altType...'.[<comment>yes</co
30b80 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 20 74 72 75 65 29 29 20 7b 0a 24 6a 73 6f 6e 2d 3e 72 65 6d 6f mment>]?.',.true)).{.$json->remo
30ba0 76 65 4c 69 6e 6b 28 24 61 6c 74 54 79 70 65 2c 20 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 veLink($altType,.$matchedPackage
30bc0 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f );.}.}.}.}.else.{.$io->writeErro
30be0 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 69 73 20 6e 6f 74 20 r('<warning>'.$package.'.is.not.
30c00 72 65 71 75 69 72 65 64 20 69 6e 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 required.in.your.composer.json.a
30c20 6e 64 20 68 61 73 20 6e 6f 74 20 62 65 65 6e 20 72 65 6d 6f 76 65 64 3c 2f 77 61 72 6e 69 6e 67 nd.has.not.been.removed</warning
30c40 3e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 >');.}.}..if.($input->getOption(
30c60 27 6e 6f 2d 75 70 64 61 74 65 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 20 24 'no-update')).{.return.0;.}....$
30c80 74 68 69 73 2d 3e 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 this->resetComposer();.$composer
30ca0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 74 72 75 65 2c 20 24 69 6e 70 .=.$this->getComposer(true,.$inp
30cc0 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b 0a 24 63 ut->getOption('no-plugins'));.$c
30ce0 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 2d 3e 73 omposer->getDownloadManager()->s
30d00 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 etOutputProgress(!$input->getOpt
30d20 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 ion('no-progress'));..$commandEv
30d40 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 ent.=.new.CommandEvent(PluginEve
30d60 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 72 65 6d 6f 76 65 27 2c 20 24 69 6e 70 75 74 2c 20 nts::COMMAND,.'remove',.$input,.
30d80 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 $output);.$composer->getEventDis
30da0 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e patcher()->dispatch($commandEven
30dc0 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 t->getName(),.$commandEvent);..$
30de0 69 6e 73 74 61 6c 6c 20 3d 20 49 6e 73 74 61 6c 6c 65 72 3a 3a 63 72 65 61 74 65 28 24 69 6f 2c install.=.Installer::create($io,
30e00 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 0a 24 75 70 64 61 74 65 44 65 76 4d 6f 64 65 20 3d 20 21 .$composer);..$updateDevMode.=.!
30e20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 6e 6f 2d 64 65 76 $input->getOption('update-no-dev
30e40 27 29 3b 0a 24 6f 70 74 69 6d 69 7a 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f ');.$optimize.=.$input->getOptio
30e60 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 6f 6d n('optimize-autoloader').||.$com
30e80 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 6f 70 74 69 6d 69 7a poser->getConfig()->get('optimiz
30ea0 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d e-autoloader');.$authoritative.=
30ec0 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 .$input->getOption('classmap-aut
30ee0 68 6f 72 69 74 61 74 69 76 65 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f horitative').||.$composer->getCo
30f00 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 nfig()->get('classmap-authoritat
30f20 69 76 65 27 29 3b 0a 24 61 70 63 75 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e ive');.$apcu.=.$input->getOption
30f40 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 ('apcu-autoloader').||.$composer
30f60 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 ->getConfig()->get('apcu-autoloa
30f80 64 65 72 27 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 56 65 72 62 6f 73 65 28 24 69 der');..$install.->setVerbose($i
30fa0 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 0a 2d 3e 73 65 nput->getOption('verbose')).->se
30fc0 74 44 65 76 4d 6f 64 65 28 24 75 70 64 61 74 65 44 65 76 4d 6f 64 65 29 0a 2d 3e 73 65 74 4f 70 tDevMode($updateDevMode).->setOp
30fe0 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 6f 70 74 69 6d 69 7a 65 29 0a 2d 3e 73 65 timizeAutoloader($optimize).->se
31000 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 61 75 74 68 6f 72 69 74 tClassMapAuthoritative($authorit
31020 61 74 69 76 65 29 0a 2d 3e 73 65 74 41 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 28 24 61 70 63 75 ative).->setApcuAutoloader($apcu
31040 29 0a 2d 3e 73 65 74 55 70 64 61 74 65 28 74 72 75 65 29 0a 2d 3e 73 65 74 55 70 64 61 74 65 57 ).->setUpdate(true).->setUpdateW
31060 68 69 74 65 6c 69 73 74 28 24 70 61 63 6b 61 67 65 73 29 0a 2d 3e 73 65 74 57 68 69 74 65 6c 69 hitelist($packages).->setWhiteli
31080 73 74 54 72 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 21 24 69 6e 70 75 74 stTransitiveDependencies(!$input
310a0 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 ->getOption('no-update-with-depe
310c0 6e 64 65 6e 63 69 65 73 27 29 29 0a 2d 3e 73 65 74 49 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 ndencies')).->setIgnorePlatformR
310e0 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 equirements($input->getOption('i
31100 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 29 0a 2d 3e 73 65 74 52 75 6e 53 gnore-platform-reqs')).->setRunS
31120 63 72 69 70 74 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 cripts(!$input->getOption('no-sc
31140 72 69 70 74 73 27 29 29 0a 3b 0a 0a 24 73 74 61 74 75 73 20 3d 20 24 69 6e 73 74 61 6c 6c 2d 3e ripts')).;..$status.=.$install->
31160 72 75 6e 28 29 3b 0a 69 66 20 28 24 73 74 61 74 75 73 20 21 3d 3d 20 30 29 20 7b 0a 24 69 6f 2d run();.if.($status.!==.0).{.$io-
31180 3e 77 72 69 74 65 45 72 72 6f 72 28 22 5c 6e 22 2e 27 3c 65 72 72 6f 72 3e 52 65 6d 6f 76 61 6c >writeError("\n".'<error>Removal
311a0 20 66 61 69 6c 65 64 2c 20 72 65 76 65 72 74 69 6e 67 20 27 2e 24 66 69 6c 65 2e 27 20 74 6f 20 .failed,.reverting.'.$file.'.to.
311c0 69 74 73 20 6f 72 69 67 69 6e 61 6c 20 63 6f 6e 74 65 6e 74 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b its.original.content.</error>');
311e0 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 46 69 6c 65 2d 3e 67 65 .file_put_contents($jsonFile->ge
31200 74 50 61 74 68 28 29 2c 20 24 63 6f 6d 70 6f 73 65 72 42 61 63 6b 75 70 29 3b 0a 7d 0a 0a 72 65 tPath(),.$composerBackup);.}..re
31220 74 75 72 6e 20 24 73 74 61 74 75 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a turn.$status;.}.}.<?php.........
31240 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a ...namespace.Composer\Command;..
31260 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
31280 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c put\InputInterface;.use.Symfony\
312a0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 Component\Console\Input\InputArg
312c0 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ument;.use.Symfony\Component\Con
312e0 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 sole\Input\InputOption;.use.Symf
31300 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 ony\Component\Console\Output\Out
31320 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f putInterface;.use.Composer\Facto
31340 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 ry;.use.Composer\Installer;.use.
31360 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 Composer\Json\JsonFile;.use.Comp
31380 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 3b 0a 75 73 65 20 43 oser\Json\JsonManipulator;.use.C
313a0 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 omposer\Package\Version\VersionP
313c0 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 arser;.use.Composer\Plugin\Comma
313e0 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 ndEvent;.use.Composer\Plugin\Plu
31400 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f ginEvents;.use.Composer\Reposito
31420 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 ry\CompositeRepository;.use.Comp
31440 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f oser\Repository\PlatformReposito
31460 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b ry;.use.Composer\IO\IOInterface;
31480 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 0a 0a 0a .use.Composer\Util\Silencer;....
314a0 0a 0a 63 6c 61 73 73 20 52 65 71 75 69 72 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 49 ..class.RequireCommand.extends.I
314c0 6e 69 74 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 69 76 61 74 65 20 24 6e 65 77 6c 79 43 72 65 61 74 nitCommand.{.private.$newlyCreat
314e0 65 64 3b 0a 70 72 69 76 61 74 65 20 24 6a 73 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 ed;.private.$json;.private.$file
31500 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 70 6f 73 65 72 42 61 63 6b 75 70 3b 0a 0a 70 72 6f 74 ;.private.$composerBackup;..prot
31520 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 ected.function.configure().{.$th
31540 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 72 65 71 75 69 72 65 27 29 0a 2d 3e 73 65 74 44 65 73 is.->setName('require').->setDes
31560 63 72 69 70 74 69 6f 6e 28 27 41 64 64 73 20 72 65 71 75 69 72 65 64 20 70 61 63 6b 61 67 65 73 cription('Adds.required.packages
31580 20 74 6f 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 6e 64 20 69 6e 73 74 61 .to.your.composer.json.and.insta
315a0 6c 6c 73 20 74 68 65 6d 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 lls.them.').->setDefinition(arra
315c0 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 2c y(.new.InputArgument('packages',
315e0 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 .InputArgument::IS_ARRAY.|.Input
31600 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 4f 70 74 69 6f 6e 61 6c 20 70 61 Argument::OPTIONAL,.'Optional.pa
31620 63 6b 61 67 65 20 6e 61 6d 65 20 63 61 6e 20 61 6c 73 6f 20 69 6e 63 6c 75 64 65 20 61 20 76 65 ckage.name.can.also.include.a.ve
31640 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 2c 20 65 2e 67 2e 20 66 6f 6f 2f 62 61 72 20 6f rsion.constraint,.e.g..foo/bar.o
31660 72 20 66 6f 6f 2f 62 61 72 3a 31 2e 30 2e 30 20 6f 72 20 66 6f 6f 2f 62 61 72 3d 31 2e 30 2e 30 r.foo/bar:1.0.0.or.foo/bar=1.0.0
31680 20 6f 72 20 22 66 6f 6f 2f 62 61 72 20 31 2e 30 2e 30 22 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 .or."foo/bar.1.0.0"'),.new.Input
316a0 4f 70 74 69 6f 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a Option('dev',.null,.InputOption:
316c0 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 64 64 20 72 65 71 75 69 72 65 6d 65 6e 74 20 74 6f :VALUE_NONE,.'Add.requirement.to
316e0 20 72 65 71 75 69 72 65 2d 64 65 76 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e .require-dev.'),.new.InputOption
31700 28 27 70 72 65 66 65 72 2d 73 6f 75 72 63 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 ('prefer-source',.null,.InputOpt
31720 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c ion::VALUE_NONE,.'Forces.install
31740 61 74 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 73 6f 75 72 63 65 73 20 77 68 65 6e 20 ation.from.package.sources.when.
31760 70 6f 73 73 69 62 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 56 43 53 20 69 6e 66 6f 72 6d 61 74 possible,.including.VCS.informat
31780 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d ion.'),.new.InputOption('prefer-
317a0 64 69 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f dist',.null,.InputOption::VALUE_
317c0 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 NONE,.'Forces.installation.from.
317e0 70 61 63 6b 61 67 65 20 64 69 73 74 20 65 76 65 6e 20 66 6f 72 20 64 65 76 20 76 65 72 73 69 6f package.dist.even.for.dev.versio
31800 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 ns.'),.new.InputOption('no-progr
31820 65 73 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e ess',.null,.InputOption::VALUE_N
31840 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 20 70 72 6f ONE,.'Do.not.output.download.pro
31860 67 72 65 73 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 75 gress.'),.new.InputOption('no-su
31880 67 67 65 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 ggest',.null,.InputOption::VALUE
318a0 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 73 68 6f 77 20 70 61 63 6b 61 67 65 20 73 75 67 67 _NONE,.'Do.not.show.package.sugg
318c0 65 73 74 69 6f 6e 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d estions.'),.new.InputOption('no-
318e0 75 70 64 61 74 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 update',.null,.InputOption::VALU
31900 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 74 68 65 20 61 75 74 6f 6d 61 74 69 63 20 E_NONE,.'Disables.the.automatic.
31920 75 70 64 61 74 65 20 6f 66 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 6e update.of.the.dependencies.'),.n
31940 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 6e 75 6c ew.InputOption('no-scripts',.nul
31960 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 6b 69 l,.InputOption::VALUE_NONE,.'Ski
31980 70 73 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 73 63 72 69 70 74 73 20 ps.the.execution.of.all.scripts.
319a0 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 2e 27 29 defined.in.composer.json.file.')
319c0 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 6e 6f 2d 64 65 76 ,.new.InputOption('update-no-dev
319e0 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.null,.InputOption::VALUE_NONE
31a00 2c 20 27 52 75 6e 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 79 20 75 70 64 61 74 65 20 77 69 74 ,.'Run.the.dependency.update.wit
31a20 68 20 74 68 65 20 2d 2d 6e 6f 2d 64 65 76 20 6f 70 74 69 6f 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e h.the.--no-dev.option.'),.new.In
31a40 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 putOption('update-with-dependenc
31a60 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e ies',.null,.InputOption::VALUE_N
31a80 4f 4e 45 2c 20 27 41 6c 6c 6f 77 73 20 69 6e 68 65 72 69 74 65 64 20 64 65 70 65 6e 64 65 6e 63 ONE,.'Allows.inherited.dependenc
31aa0 69 65 73 20 74 6f 20 62 65 20 75 70 64 61 74 65 64 2c 20 65 78 63 65 70 74 20 74 68 6f 73 65 20 ies.to.be.updated,.except.those.
31ac0 74 68 61 74 20 61 72 65 20 72 6f 6f 74 20 72 65 71 75 69 72 65 6d 65 6e 74 73 2e 27 29 2c 0a 6e that.are.root.requirements.'),.n
31ae0 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 2d 61 6c 6c 2d ew.InputOption('update-with-all-
31b00 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e dependencies',.null,.InputOption
31b20 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 6c 6c 6f 77 73 20 61 6c 6c 20 69 6e 68 65 72 69 ::VALUE_NONE,.'Allows.all.inheri
31b40 74 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 6f 20 62 65 20 75 70 64 61 74 65 64 2c 20 ted.dependencies.to.be.updated,.
31b60 69 6e 63 6c 75 64 69 6e 67 20 74 68 6f 73 65 20 74 68 61 74 20 61 72 65 20 72 6f 6f 74 20 72 65 including.those.that.are.root.re
31b80 71 75 69 72 65 6d 65 6e 74 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 quirements.'),.new.InputOption('
31ba0 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 ignore-platform-reqs',.null,.Inp
31bc0 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 67 6e 6f 72 65 20 70 6c utOption::VALUE_NONE,.'Ignore.pl
31be0 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 28 70 68 70 20 26 20 65 78 74 2d 20 atform.requirements.(php.&.ext-.
31c00 70 61 63 6b 61 67 65 73 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 packages).'),.new.InputOption('p
31c20 72 65 66 65 72 2d 73 74 61 62 6c 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e refer-stable',.null,.InputOption
31c40 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 65 66 65 72 20 73 74 61 62 6c 65 20 76 65 72 ::VALUE_NONE,.'Prefer.stable.ver
31c60 73 69 6f 6e 73 20 6f 66 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e sions.of.dependencies.'),.new.In
31c80 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 2c 20 6e 75 6c 6c 2c putOption('prefer-lowest',.null,
31ca0 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 65 66 65 .InputOption::VALUE_NONE,.'Prefe
31cc0 72 20 6c 6f 77 65 73 74 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 64 65 70 65 6e 64 65 6e 63 69 65 r.lowest.versions.of.dependencie
31ce0 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 6f 72 74 2d 70 61 63 6b s.'),.new.InputOption('sort-pack
31d00 61 67 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f ages',.null,.InputOption::VALUE_
31d20 4e 4f 4e 45 2c 20 27 53 6f 72 74 73 20 70 61 63 6b 61 67 65 73 20 77 68 65 6e 20 61 64 64 69 6e NONE,.'Sorts.packages.when.addin
31d40 67 2f 75 70 64 61 74 69 6e 67 20 61 20 6e 65 77 20 64 65 70 65 6e 64 65 6e 63 79 27 29 2c 0a 6e g/updating.a.new.dependency'),.n
31d60 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 ew.InputOption('optimize-autoloa
31d80 64 65 72 27 2c 20 27 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f der',.'o',.InputOption::VALUE_NO
31da0 4e 45 2c 20 27 4f 70 74 69 6d 69 7a 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 72 69 6e 67 20 NE,.'Optimize.autoloader.during.
31dc0 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 6d 70 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 autoloader.dump'),.new.InputOpti
31de0 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 2c 20 27 61 27 on('classmap-authoritative',.'a'
31e00 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 75 74 6f ,.InputOption::VALUE_NONE,.'Auto
31e20 6c 6f 61 64 20 63 6c 61 73 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6c 61 73 73 6d 61 70 20 6f load.classes.from.the.classmap.o
31e40 6e 6c 79 2e 20 49 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 60 2d 2d 6f 70 74 69 6d nly..Implicitly.enables.`--optim
31e60 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 ize-autoloader`.'),.new.InputOpt
31e80 69 6f 6e 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 ion('apcu-autoloader',.null,.Inp
31ea0 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 73 65 20 41 50 43 75 20 utOption::VALUE_NONE,.'Use.APCu.
31ec0 74 6f 20 63 61 63 68 65 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 to.cache.found/not-found.classes
31ee0 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 72 65 .'),.)).->setHelp(.<<<EOT.The.re
31f00 71 75 69 72 65 20 63 6f 6d 6d 61 6e 64 20 61 64 64 73 20 72 65 71 75 69 72 65 64 20 70 61 63 6b quire.command.adds.required.pack
31f20 61 67 65 73 20 74 6f 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 6e 64 20 69 ages.to.your.composer.json.and.i
31f40 6e 73 74 61 6c 6c 73 20 74 68 65 6d 2e 0a 0a 49 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 73 70 65 nstalls.them...If.you.do.not.spe
31f60 63 69 66 79 20 61 20 70 61 63 6b 61 67 65 2c 20 63 6f 6d 70 6f 73 65 72 20 77 69 6c 6c 20 70 72 cify.a.package,.composer.will.pr
31f80 6f 6d 70 74 20 79 6f 75 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 20 61 20 70 61 63 6b 61 67 65 ompt.you.to.search.for.a.package
31fa0 2c 20 61 6e 64 20 67 69 76 65 6e 20 72 65 73 75 6c 74 73 2c 20 70 72 6f 76 69 64 65 20 61 20 6c ,.and.given.results,.provide.a.l
31fc0 69 73 74 20 6f 66 0a 6d 61 74 63 68 65 73 20 74 6f 20 72 65 71 75 69 72 65 2e 0a 0a 49 66 20 79 ist.of.matches.to.require...If.y
31fe0 6f 75 20 64 6f 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 ou.do.not.specify.a.version.cons
32000 74 72 61 69 6e 74 2c 20 63 6f 6d 70 6f 73 65 72 20 77 69 6c 6c 20 63 68 6f 6f 73 65 20 61 20 73 traint,.composer.will.choose.a.s
32020 75 69 74 61 62 6c 65 20 6f 6e 65 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 61 76 61 69 6c 61 62 uitable.one.based.on.the.availab
32040 6c 65 20 70 61 63 6b 61 67 65 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 49 66 20 79 6f 75 20 64 6f 20 le.package.versions...If.you.do.
32060 6e 6f 74 20 77 61 6e 74 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 65 20 6e 65 77 20 64 65 70 65 not.want.to.install.the.new.depe
32080 6e 64 65 6e 63 69 65 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 79 6f 75 20 63 61 6e 20 63 61 6c ndencies.immediately.you.can.cal
320a0 6c 20 69 74 20 77 69 74 68 20 2d 2d 6e 6f 2d 75 70 64 61 74 65 0a 0a 52 65 61 64 20 6d 6f 72 65 l.it.with.--no-update..Read.more
320c0 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f .at.https://getcomposer.org/doc/
320e0 30 33 2d 63 6c 69 2e 6d 64 23 72 65 71 75 69 72 65 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 03-cli.md#require.EOT.).;.}..pro
32100 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 tected.function.execute(InputInt
32120 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 erface.$input,.OutputInterface.$
32140 6f 75 74 70 75 74 29 0a 7b 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 output).{.if.(function_exists('p
32160 63 6e 74 6c 5f 61 73 79 6e 63 5f 73 69 67 6e 61 6c 73 27 29 29 20 7b 0a 70 63 6e 74 6c 5f 61 73 cntl_async_signals')).{.pcntl_as
32180 79 6e 63 5f 73 69 67 6e 61 6c 73 28 74 72 75 65 29 3b 0a 70 63 6e 74 6c 5f 73 69 67 6e 61 6c 28 ync_signals(true);.pcntl_signal(
321a0 53 49 47 49 4e 54 2c 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 72 65 76 65 72 74 43 6f 6d 70 SIGINT,.array($this,.'revertComp
321c0 6f 73 65 72 46 69 6c 65 27 29 29 3b 0a 70 63 6e 74 6c 5f 73 69 67 6e 61 6c 28 53 49 47 54 45 52 oserFile'));.pcntl_signal(SIGTER
321e0 4d 2c 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 72 65 76 65 72 74 43 6f 6d 70 6f 73 65 72 46 M,.array($this,.'revertComposerF
32200 69 6c 65 27 29 29 3b 0a 70 63 6e 74 6c 5f 73 69 67 6e 61 6c 28 53 49 47 48 55 50 2c 20 61 72 72 ile'));.pcntl_signal(SIGHUP,.arr
32220 61 79 28 24 74 68 69 73 2c 20 27 72 65 76 65 72 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 27 29 29 ay($this,.'revertComposerFile'))
32240 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d 20 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 ;.}..$this->file.=.Factory::getC
32260 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 omposerFile();.$io.=.$this->getI
32280 4f 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 6e 65 77 6c 79 43 72 65 61 74 65 64 20 3d 20 21 66 69 6c O();..$this->newlyCreated.=.!fil
322a0 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 66 69 6c 65 29 3b 0a 69 66 20 28 24 74 68 69 73 e_exists($this->file);.if.($this
322c0 2d 3e 6e 65 77 6c 79 43 72 65 61 74 65 64 20 26 26 20 21 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 ->newlyCreated.&&.!file_put_cont
322e0 65 6e 74 73 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 22 7b 5c 6e 7d 5c 6e 22 29 29 20 7b 0a 24 ents($this->file,."{\n}\n")).{.$
32300 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e 24 74 68 69 73 2d 3e io->writeError('<error>'.$this->
32320 66 69 6c 65 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 72 65 61 74 65 64 2e 3c 2f 65 72 file.'.could.not.be.created.</er
32340 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 20 0a 20 69 66 20 28 21 69 73 ror>');..return.1;.}.....if.(!is
32360 5f 72 65 61 64 61 62 6c 65 28 24 74 68 69 73 2d 3e 66 69 6c 65 29 20 26 26 20 66 61 6c 73 65 20 _readable($this->file).&&.false.
32380 3d 3d 3d 20 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 66 69 6c 65 5f 67 65 74 5f 63 6f 6e ===.Silencer::call('file_get_con
323a0 74 65 6e 74 73 27 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 tents',.$this->file)).{.$io->wri
323c0 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 2e 27 20 teError('<error>'.$this->file.'.
323e0 69 73 20 6e 6f 74 20 72 65 61 64 61 62 6c 65 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 is.not.readable.</error>');..ret
32400 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c 65 73 69 7a 65 28 24 74 68 69 73 2d 3e 66 69 urn.1;.}..if.(filesize($this->fi
32420 6c 65 29 20 3d 3d 3d 20 30 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 le).===.0).{.file_put_contents($
32440 74 68 69 73 2d 3e 66 69 6c 65 2c 20 22 7b 5c 6e 7d 5c 6e 22 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d this->file,."{\n}\n");.}..$this-
32460 3e 6a 73 6f 6e 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 74 68 69 73 2d 3e 66 69 6c 65 >json.=.new.JsonFile($this->file
32480 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 42 61 63 6b 75 70 20 3d 20 66 69 6c 65 5f );.$this->composerBackup.=.file_
324a0 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 6a 73 6f 6e 2d 3e 67 65 74 50 61 74 get_contents($this->json->getPat
324c0 68 28 29 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 24 74 68 69 h());......if.(!is_writable($thi
324e0 73 2d 3e 66 69 6c 65 29 20 26 26 20 21 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 66 69 6c s->file).&&.!Silencer::call('fil
32500 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 27 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 24 74 e_put_contents',.$this->file,.$t
32520 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 42 61 63 6b 75 70 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 his->composerBackup)).{.$io->wri
32540 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 2e 27 20 teError('<error>'.$this->file.'.
32560 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 is.not.writable.</error>');..ret
32580 75 72 6e 20 31 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 urn.1;.}..$composer.=.$this->get
325a0 43 6f 6d 70 6f 73 65 72 28 74 72 75 65 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e Composer(true,.$input->getOption
325c0 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b 0a 24 72 65 70 6f 73 20 3d 20 24 63 6f 6d 70 6f ('no-plugins'));.$repos.=.$compo
325e0 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 ser->getRepositoryManager()->get
32600 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 3b 0a 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 Repositories();..$platformOverri
32620 64 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 des.=.$composer->getConfig()->ge
32640 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 0a 20 24 74 68 69 t('platform').?:.array();...$thi
32660 73 2d 3e 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f s->repos.=.new.CompositeReposito
32680 72 79 28 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 61 72 72 61 79 28 6e 65 77 20 50 6c 61 74 66 6f ry(array_merge(.array(new.Platfo
326a0 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f rmRepository(array(),.$platformO
326c0 76 65 72 72 69 64 65 73 29 29 2c 0a 24 72 65 70 6f 73 0a 29 29 3b 0a 0a 69 66 20 28 24 63 6f 6d verrides)),.$repos.));..if.($com
326e0 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 50 72 65 66 65 72 53 74 poser->getPackage()->getPreferSt
32700 61 62 6c 65 28 29 29 20 7b 0a 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 able()).{.$preferredStability.=.
32720 27 73 74 61 62 6c 65 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 65 66 65 72 72 65 64 53 74 61 'stable';.}.else.{.$preferredSta
32740 62 69 6c 69 74 79 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 bility.=.$composer->getPackage()
32760 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 7d 0a 0a 24 70 68 70 ->getMinimumStability();.}..$php
32780 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 2d 3e 66 69 6e 64 50 61 63 6b Version.=.$this->repos->findPack
327a0 61 67 65 28 27 70 68 70 27 2c 20 27 2a 27 29 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f age('php',.'*')->getPrettyVersio
327c0 6e 28 29 3b 0a 74 72 79 20 7b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 n();.try.{.$requirements.=.$this
327e0 2d 3e 64 65 74 65 72 6d 69 6e 65 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2c 20 ->determineRequirements($input,.
32800 24 6f 75 74 70 75 74 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 $output,.$input->getArgument('pa
32820 63 6b 61 67 65 73 27 29 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 70 72 65 66 65 72 72 65 ckages'),.$phpVersion,.$preferre
32840 64 53 74 61 62 69 6c 69 74 79 2c 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 dStability,.!$input->getOption('
32860 6e 6f 2d 75 70 64 61 74 65 27 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f no-update'));.}.catch.(\Exceptio
32880 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6e 65 77 6c 79 43 72 65 61 74 65 64 29 n.$e).{.if.($this->newlyCreated)
328a0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 .{.throw.new.\RuntimeException('
328c0 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 No.composer.json.present.in.the.
328e0 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 74 68 69 73 20 6d 61 79 20 62 65 20 74 current.directory,.this.may.be.t
32900 68 65 20 63 61 75 73 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 he.cause.of.the.following.except
32920 69 6f 6e 2e 27 2c 20 30 2c 20 24 65 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 ion.',.0,.$e);.}..throw.$e;.}..$
32940 72 65 71 75 69 72 65 4b 65 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 requireKey.=.$input->getOption('
32960 64 65 76 27 29 20 3f 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 20 3a 20 27 72 65 71 75 69 72 65 dev').?.'require-dev'.:.'require
32980 27 3b 0a 24 72 65 6d 6f 76 65 4b 65 79 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f ';.$removeKey.=.$input->getOptio
329a0 6e 28 27 64 65 76 27 29 20 3f 20 27 72 65 71 75 69 72 65 27 20 3a 20 27 72 65 71 75 69 72 65 2d n('dev').?.'require'.:.'require-
329c0 64 65 76 27 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 dev';.$requirements.=.$this->for
329e0 6d 61 74 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a matRequirements($requirements);.
32a00 0a 0a 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 ...$versionParser.=.new.VersionP
32a20 61 72 73 65 72 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 arser();.foreach.($requirements.
32a40 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 as.$package.=>.$constraint).{.if
32a60 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 29 20 3d 3d 3d 20 24 63 6f 6d 70 .(strtolower($package).===.$comp
32a80 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b oser->getPackage()->getName()).{
32aa0 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 .$io->writeError(sprintf('<error
32ac0 3e 52 6f 6f 74 20 70 61 63 6b 61 67 65 20 5c 27 25 73 5c 27 20 63 61 6e 6e 6f 74 20 72 65 71 75 >Root.package.\'%s\'.cannot.requ
32ae0 69 72 65 20 69 74 73 65 6c 66 20 69 6e 20 69 74 73 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 3c ire.itself.in.its.composer.json<
32b00 2f 65 72 72 6f 72 3e 27 2c 20 24 70 61 63 6b 61 67 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b /error>',.$package));..return.1;
32b20 0a 7d 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 .}.$versionParser->parseConstrai
32b40 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 24 73 6f 72 74 50 61 63 6b 61 67 nts($constraint);.}..$sortPackag
32b60 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 6f 72 74 2d 70 61 63 es.=.$input->getOption('sort-pac
32b80 6b 61 67 65 73 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 kages').||.$composer->getConfig(
32ba0 29 2d 3e 67 65 74 28 27 73 6f 72 74 2d 70 61 63 6b 61 67 65 73 27 29 3b 0a 0a 69 66 20 28 21 24 )->get('sort-packages');..if.(!$
32bc0 74 68 69 73 2d 3e 75 70 64 61 74 65 46 69 6c 65 43 6c 65 61 6e 6c 79 28 24 74 68 69 73 2d 3e 6a this->updateFileCleanly($this->j
32be0 73 6f 6e 2c 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 24 72 65 71 75 69 72 65 4b 65 79 2c son,.$requirements,.$requireKey,
32c00 20 24 72 65 6d 6f 76 65 4b 65 79 2c 20 24 73 6f 72 74 50 61 63 6b 61 67 65 73 29 29 20 7b 0a 24 .$removeKey,.$sortPackages)).{.$
32c20 63 6f 6d 70 6f 73 65 72 44 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6a 73 6f 6e composerDefinition.=.$this->json
32c40 2d 3e 72 65 61 64 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 ->read();.foreach.($requirements
32c60 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 24 63 6f 6d .as.$package.=>.$version).{.$com
32c80 70 6f 73 65 72 44 65 66 69 6e 69 74 69 6f 6e 5b 24 72 65 71 75 69 72 65 4b 65 79 5d 5b 24 70 61 poserDefinition[$requireKey][$pa
32ca0 63 6b 61 67 65 5d 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 75 6e 73 65 74 28 24 63 6f 6d 70 6f 73 ckage].=.$version;.unset($compos
32cc0 65 72 44 65 66 69 6e 69 74 69 6f 6e 5b 24 72 65 6d 6f 76 65 4b 65 79 5d 5b 24 70 61 63 6b 61 67 erDefinition[$removeKey][$packag
32ce0 65 5d 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 6a 73 6f 6e 2d 3e 77 72 69 74 65 28 24 63 6f 6d 70 6f e]);.}.$this->json->write($compo
32d00 73 65 72 44 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 serDefinition);.}..$io->writeErr
32d20 6f 72 28 27 3c 69 6e 66 6f 3e 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 2e 27 20 68 61 73 20 62 65 or('<info>'.$this->file.'.has.be
32d40 65 6e 20 27 2e 28 24 74 68 69 73 2d 3e 6e 65 77 6c 79 43 72 65 61 74 65 64 20 3f 20 27 63 72 65 en.'.($this->newlyCreated.?.'cre
32d60 61 74 65 64 27 20 3a 20 27 75 70 64 61 74 65 64 27 29 2e 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a ated'.:.'updated').'</info>');..
32d80 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 75 70 64 61 74 65 if.($input->getOption('no-update
32da0 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 ')).{.return.0;.}..try.{.return.
32dc0 24 74 68 69 73 2d 3e 64 6f 55 70 64 61 74 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c $this->doUpdate($input,.$output,
32de0 20 24 69 6f 2c 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c .$io,.$requirements);.}.catch.(\
32e00 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 76 65 72 74 43 6f 6d Exception.$e).{.$this->revertCom
32e20 70 6f 73 65 72 46 69 6c 65 28 66 61 6c 73 65 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a poserFile(false);.throw.$e;.}.}.
32e40 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 49 6e 70 75 74 .private.function.doUpdate(Input
32e60 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 Interface.$input,.OutputInterfac
32e80 65 20 24 6f 75 74 70 75 74 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 61 72 72 61 e.$output,.IOInterface.$io,.arra
32ea0 79 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 72 65 73 65 y.$requirements).{...$this->rese
32ec0 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e tComposer();.$composer.=.$this->
32ee0 67 65 74 43 6f 6d 70 6f 73 65 72 28 74 72 75 65 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 getComposer(true,.$input->getOpt
32f00 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 ion('no-plugins'));.$composer->g
32f20 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 2d 3e 73 65 74 4f 75 74 70 75 74 50 72 etDownloadManager()->setOutputPr
32f40 6f 67 72 65 73 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 ogress(!$input->getOption('no-pr
32f60 6f 67 72 65 73 73 27 29 29 3b 0a 0a 24 75 70 64 61 74 65 44 65 76 4d 6f 64 65 20 3d 20 21 24 69 ogress'));..$updateDevMode.=.!$i
32f80 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 6e 6f 2d 64 65 76 27 29 nput->getOption('update-no-dev')
32fa0 3b 0a 24 6f 70 74 69 6d 69 7a 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 ;.$optimize.=.$input->getOption(
32fc0 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 'optimize-autoloader').||.$compo
32fe0 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 6f 70 74 69 6d 69 7a 65 2d ser->getConfig()->get('optimize-
33000 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 24 61 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 autoloader');.$authoritative.=.$
33020 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f input->getOption('classmap-autho
33040 72 69 74 61 74 69 76 65 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 ritative').||.$composer->getConf
33060 69 67 28 29 2d 3e 67 65 74 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 ig()->get('classmap-authoritativ
33080 65 27 29 3b 0a 24 61 70 63 75 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 e');.$apcu.=.$input->getOption('
330a0 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e apcu-autoloader').||.$composer->
330c0 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 getConfig()->get('apcu-autoloade
330e0 72 27 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e r');..$commandEvent.=.new.Comman
33100 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 72 dEvent(PluginEvents::COMMAND,.'r
33120 65 71 75 69 72 65 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 equire',.$input,.$output);.$comp
33140 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 oser->getEventDispatcher()->disp
33160 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 atch($commandEvent->getName(),.$
33180 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 20 3d 20 49 6e 73 74 61 commandEvent);..$install.=.Insta
331a0 6c 6c 65 72 3a 3a 63 72 65 61 74 65 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 29 3b 0a 0a 24 ller::create($io,.$composer);..$
331c0 69 6e 73 74 61 6c 6c 0a 2d 3e 73 65 74 56 65 72 62 6f 73 65 28 24 69 6e 70 75 74 2d 3e 67 65 74 install.->setVerbose($input->get
331e0 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 53 6f Option('verbose')).->setPreferSo
33200 75 72 63 65 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 urce($input->getOption('prefer-s
33220 6f 75 72 63 65 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 44 69 73 74 28 24 69 6e 70 75 74 2d ource')).->setPreferDist($input-
33240 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 64 69 73 74 27 29 29 0a 2d 3e 73 65 74 >getOption('prefer-dist')).->set
33260 44 65 76 4d 6f 64 65 28 24 75 70 64 61 74 65 44 65 76 4d 6f 64 65 29 0a 2d 3e 73 65 74 52 75 6e DevMode($updateDevMode).->setRun
33280 53 63 72 69 70 74 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 Scripts(!$input->getOption('no-s
332a0 63 72 69 70 74 73 27 29 29 0a 2d 3e 73 65 74 53 6b 69 70 53 75 67 67 65 73 74 28 24 69 6e 70 75 cripts')).->setSkipSuggest($inpu
332c0 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 75 67 67 65 73 74 27 29 29 0a 2d 3e 73 65 t->getOption('no-suggest')).->se
332e0 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 6f 70 74 69 6d 69 7a 65 29 0a 2d tOptimizeAutoloader($optimize).-
33300 3e 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 61 75 74 68 6f >setClassMapAuthoritative($autho
33320 72 69 74 61 74 69 76 65 29 0a 2d 3e 73 65 74 41 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 28 24 61 ritative).->setApcuAutoloader($a
33340 70 63 75 29 0a 2d 3e 73 65 74 55 70 64 61 74 65 28 74 72 75 65 29 0a 2d 3e 73 65 74 55 70 64 61 pcu).->setUpdate(true).->setUpda
33360 74 65 57 68 69 74 65 6c 69 73 74 28 61 72 72 61 79 5f 6b 65 79 73 28 24 72 65 71 75 69 72 65 6d teWhitelist(array_keys($requirem
33380 65 6e 74 73 29 29 0a 2d 3e 73 65 74 57 68 69 74 65 6c 69 73 74 54 72 61 6e 73 69 74 69 76 65 44 ents)).->setWhitelistTransitiveD
333a0 65 70 65 6e 64 65 6e 63 69 65 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 ependencies($input->getOption('u
333c0 70 64 61 74 65 2d 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 0a 2d 3e 73 65 74 pdate-with-dependencies')).->set
333e0 57 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 69 6e 70 75 74 2d WhitelistAllDependencies($input-
33400 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 77 69 74 68 2d 61 6c 6c 2d 64 65 70 65 >getOption('update-with-all-depe
33420 6e 64 65 6e 63 69 65 73 27 29 29 0a 2d 3e 73 65 74 49 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 ndencies')).->setIgnorePlatformR
33440 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 equirements($input->getOption('i
33460 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 gnore-platform-reqs')).->setPref
33480 65 72 53 74 61 62 6c 65 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 erStable($input->getOption('pref
334a0 65 72 2d 73 74 61 62 6c 65 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 4c 6f 77 65 73 74 28 24 er-stable')).->setPreferLowest($
334c0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 input->getOption('prefer-lowest'
334e0 29 29 0a 3b 0a 0a 24 73 74 61 74 75 73 20 3d 20 24 69 6e 73 74 61 6c 6c 2d 3e 72 75 6e 28 29 3b )).;..$status.=.$install->run();
33500 0a 69 66 20 28 24 73 74 61 74 75 73 20 21 3d 3d 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 76 .if.($status.!==.0).{.$this->rev
33520 65 72 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 66 61 6c 73 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 ertComposerFile(false);.}..retur
33540 6e 20 24 73 74 61 74 75 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 n.$status;.}..private.function.u
33560 70 64 61 74 65 46 69 6c 65 43 6c 65 61 6e 6c 79 28 24 6a 73 6f 6e 2c 20 61 72 72 61 79 20 24 6e pdateFileCleanly($json,.array.$n
33580 65 77 2c 20 24 72 65 71 75 69 72 65 4b 65 79 2c 20 24 72 65 6d 6f 76 65 4b 65 79 2c 20 24 73 6f ew,.$requireKey,.$removeKey,.$so
335a0 72 74 50 61 63 6b 61 67 65 73 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 66 69 6c 65 5f 67 rtPackages).{.$contents.=.file_g
335c0 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 0a et_contents($json->getPath());..
335e0 24 6d 61 6e 69 70 75 6c 61 74 6f 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 $manipulator.=.new.JsonManipulat
33600 6f 72 28 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 65 77 20 61 73 or($contents);..foreach.($new.as
33620 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 .$package.=>.$constraint).{.if.(
33640 21 24 6d 61 6e 69 70 75 6c 61 74 6f 72 2d 3e 61 64 64 4c 69 6e 6b 28 24 72 65 71 75 69 72 65 4b !$manipulator->addLink($requireK
33660 65 79 2c 20 24 70 61 63 6b 61 67 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 73 6f 72 74 ey,.$package,.$constraint,.$sort
33680 50 61 63 6b 61 67 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 Packages)).{.return.false;.}.if.
336a0 28 21 24 6d 61 6e 69 70 75 6c 61 74 6f 72 2d 3e 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 24 72 (!$manipulator->removeSubNode($r
336c0 65 6d 6f 76 65 4b 65 79 2c 20 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 emoveKey,.$package)).{.return.fa
336e0 6c 73 65 3b 0a 7d 0a 7d 0a 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 6f lse;.}.}..file_put_contents($jso
33700 6e 2d 3e 67 65 74 50 61 74 68 28 29 2c 20 24 6d 61 6e 69 70 75 6c 61 74 6f 72 2d 3e 67 65 74 43 n->getPath(),.$manipulator->getC
33720 6f 6e 74 65 6e 74 73 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 6f ontents());..return.true;.}..pro
33740 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 74 65 72 61 63 74 28 49 6e 70 75 74 49 6e tected.function.interact(InputIn
33760 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 terface.$input,.OutputInterface.
33780 24 6f 75 74 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e $output).{.return;.}..public.fun
337a0 63 74 69 6f 6e 20 72 65 76 65 72 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 24 68 61 72 64 45 78 ction.revertComposerFile($hardEx
337c0 69 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 it.=.true).{.$io.=.$this->getIO(
337e0 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6e 65 77 6c 79 43 72 65 61 74 65 64 29 20 7b 0a 24 );..if.($this->newlyCreated).{.$
33800 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 5c 6e 22 2e 27 3c 65 72 72 6f 72 3e 49 6e 73 74 io->writeError("\n".'<error>Inst
33820 61 6c 6c 61 74 69 6f 6e 20 66 61 69 6c 65 64 2c 20 64 65 6c 65 74 69 6e 67 20 27 2e 24 74 68 69 allation.failed,.deleting.'.$thi
33840 73 2d 3e 66 69 6c 65 2e 27 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 75 6e 6c 69 6e 6b 28 24 74 68 s->file.'.</error>');.unlink($th
33860 69 73 2d 3e 6a 73 6f 6e 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 is->json->getPath());.}.else.{.$
33880 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 5c 6e 22 2e 27 3c 65 72 72 6f 72 3e 49 6e 73 74 io->writeError("\n".'<error>Inst
338a0 61 6c 6c 61 74 69 6f 6e 20 66 61 69 6c 65 64 2c 20 72 65 76 65 72 74 69 6e 67 20 27 2e 24 74 68 allation.failed,.reverting.'.$th
338c0 69 73 2d 3e 66 69 6c 65 2e 27 20 74 6f 20 69 74 73 20 6f 72 69 67 69 6e 61 6c 20 63 6f 6e 74 65 is->file.'.to.its.original.conte
338e0 6e 74 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 nt.</error>');.file_put_contents
33900 28 24 74 68 69 73 2d 3e 6a 73 6f 6e 2d 3e 67 65 74 50 61 74 68 28 29 2c 20 24 74 68 69 73 2d 3e ($this->json->getPath(),.$this->
33920 63 6f 6d 70 6f 73 65 72 42 61 63 6b 75 70 29 3b 0a 7d 0a 0a 69 66 20 28 24 68 61 72 64 45 78 69 composerBackup);.}..if.($hardExi
33940 74 29 20 7b 0a 65 78 69 74 28 31 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a t).{.exit(1);.}.}.}.<?php.......
33960 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b .....namespace.Composer\Command;
33980 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 45 76 65 6e 74 20 61 73 20 53 ..use.Composer\Script\Event.as.S
339a0 63 72 69 70 74 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c criptEvent;.use.Composer\Script\
339c0 53 63 72 69 70 74 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c ScriptEvents;.use.Composer\Util\
339e0 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ProcessExecutor;.use.Symfony\Com
33a00 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 ponent\Console\Input\InputInterf
33a20 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ace;.use.Symfony\Component\Conso
33a40 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e le\Input\InputOption;.use.Symfon
33a60 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 y\Component\Console\Input\InputA
33a80 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 rgument;.use.Symfony\Component\C
33aa0 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 onsole\Output\OutputInterface;.u
33ac0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c se.Symfony\Component\Console\Hel
33ae0 70 65 72 5c 54 61 62 6c 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6e 53 63 72 69 70 74 43 6f per\Table;.....class.RunScriptCo
33b00 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 mmand.extends.BaseCommand.{....p
33b20 72 6f 74 65 63 74 65 64 20 24 73 63 72 69 70 74 45 76 65 6e 74 73 20 3d 20 61 72 72 61 79 28 0a rotected.$scriptEvents.=.array(.
33b40 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 49 4e 53 54 41 4c 4c 5f 43 4d 44 2c 0a 53 ScriptEvents::PRE_INSTALL_CMD,.S
33b60 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 49 4e 53 54 41 4c 4c 5f 43 4d 44 2c 0a 53 criptEvents::POST_INSTALL_CMD,.S
33b80 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 55 50 44 41 54 45 5f 43 4d 44 2c 0a 53 63 72 criptEvents::PRE_UPDATE_CMD,.Scr
33ba0 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 55 50 44 41 54 45 5f 43 4d 44 2c 0a 53 63 72 69 iptEvents::POST_UPDATE_CMD,.Scri
33bc0 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 53 54 41 54 55 53 5f 43 4d 44 2c 0a 53 63 72 69 70 74 ptEvents::PRE_STATUS_CMD,.Script
33be0 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 53 54 41 54 55 53 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 Events::POST_STATUS_CMD,.ScriptE
33c00 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 52 4f 4f 54 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c vents::POST_ROOT_PACKAGE_INSTALL
33c20 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 43 52 45 41 54 45 5f 50 52 4f 4a ,.ScriptEvents::POST_CREATE_PROJ
33c40 45 43 54 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 41 52 43 48 49 ECT_CMD,.ScriptEvents::PRE_ARCHI
33c60 56 45 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 41 52 43 48 49 VE_CMD,.ScriptEvents::POST_ARCHI
33c80 56 45 5f 43 4d 44 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 52 45 5f 41 55 54 4f 4c 4f VE_CMD,.ScriptEvents::PRE_AUTOLO
33ca0 41 44 5f 44 55 4d 50 2c 0a 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 41 55 54 4f AD_DUMP,.ScriptEvents::POST_AUTO
33cc0 4c 4f 41 44 5f 44 55 4d 50 2c 0a 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f LOAD_DUMP,.);..protected.functio
33ce0 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 n.configure().{.$this.->setName(
33d00 27 72 75 6e 2d 73 63 72 69 70 74 27 29 0a 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 'run-script').->setAliases(array
33d20 28 27 72 75 6e 27 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 52 75 6e 73 20 ('run')).->setDescription('Runs.
33d40 74 68 65 20 73 63 72 69 70 74 73 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e the.scripts.defined.in.composer.
33d60 6a 73 6f 6e 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e json.').->setDefinition(array(.n
33d80 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 73 63 72 69 70 74 27 2c 20 49 6e 70 75 74 ew.InputArgument('script',.Input
33da0 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 53 63 72 69 70 74 20 6e 61 6d 65 Argument::OPTIONAL,.'Script.name
33dc0 20 74 6f 20 72 75 6e 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 61 .to.run.'),.new.InputArgument('a
33de0 72 67 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 rgs',.InputArgument::IS_ARRAY.|.
33e00 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 27 29 2c 0a 6e 65 InputArgument::OPTIONAL,.''),.ne
33e20 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 74 69 6d 65 6f 75 74 27 2c 20 6e 75 6c 6c 2c 20 49 w.InputOption('timeout',.null,.I
33e40 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 53 65 74 nputOption::VALUE_REQUIRED,.'Set
33e60 73 20 73 63 72 69 70 74 20 74 69 6d 65 6f 75 74 20 69 6e 20 73 65 63 6f 6e 64 73 2c 20 6f 72 20 s.script.timeout.in.seconds,.or.
33e80 30 20 66 6f 72 20 6e 65 76 65 72 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 0.for.never.'),.new.InputOption(
33ea0 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 'dev',.null,.InputOption::VALUE_
33ec0 4e 4f 4e 45 2c 20 27 53 65 74 73 20 74 68 65 20 64 65 76 20 6d 6f 64 65 2e 27 29 2c 0a 6e 65 77 NONE,.'Sets.the.dev.mode.'),.new
33ee0 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 .InputOption('no-dev',.null,.Inp
33f00 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 utOption::VALUE_NONE,.'Disables.
33f20 74 68 65 20 64 65 76 20 6d 6f 64 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e the.dev.mode.'),.new.InputOption
33f40 28 27 6c 69 73 74 27 2c 20 27 6c 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 ('list',.'l',.InputOption::VALUE
33f60 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 73 63 72 69 70 74 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 _NONE,.'List.scripts.'),.)).->se
33f80 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 72 75 6e 2d 73 63 72 69 tHelp(.<<<EOT.The.<info>run-scri
33fa0 70 74 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 75 6e 73 20 73 63 72 69 70 74 73 20 64 pt</info>.command.runs.scripts.d
33fc0 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 3a 0a 0a 3c 69 6e 66 6f 3e efined.in.composer.json:..<info>
33fe0 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 72 75 6e 2d 73 63 72 69 70 74 20 70 6f 73 php.composer.phar.run-script.pos
34000 74 2d 75 70 64 61 74 65 2d 63 6d 64 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 t-update-cmd</info>..Read.more.a
34020 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 t.https://getcomposer.org/doc/03
34040 2d 63 6c 69 2e 6d 64 23 72 75 6e 2d 73 63 72 69 70 74 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 -cli.md#run-script.EOT.).;.}..pr
34060 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e otected.function.execute(InputIn
34080 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 terface.$input,.OutputInterface.
340a0 24 6f 75 74 70 75 74 29 0a 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e $output).{.if.($input->getOption
340c0 28 27 6c 69 73 74 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 73 74 53 63 ('list')).{.return.$this->listSc
340e0 72 69 70 74 73 28 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 69 6e 70 75 ripts($output);.}.elseif.(!$inpu
34100 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 73 63 72 69 70 74 27 29 29 20 7b 0a 74 68 72 6f t->getArgument('script')).{.thro
34120 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 4d 69 73 73 69 6e 67 w.new.\RuntimeException('Missing
34140 20 72 65 71 75 69 72 65 64 20 61 72 67 75 6d 65 6e 74 20 22 73 63 72 69 70 74 22 27 29 3b 0a 7d .required.argument."script"');.}
34160 0a 0a 24 73 63 72 69 70 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 ..$script.=.$input->getArgument(
34180 27 73 63 72 69 70 74 27 29 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 73 63 72 69 70 74 'script');.if.(!in_array($script
341a0 2c 20 24 74 68 69 73 2d 3e 73 63 72 69 70 74 45 76 65 6e 74 73 29 29 20 7b 0a 69 66 20 28 64 65 ,.$this->scriptEvents)).{.if.(de
341c0 66 69 6e 65 64 28 27 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 fined('Composer\Script\ScriptEve
341e0 6e 74 73 3a 3a 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2d 27 2c 20 27 5f 27 2c 20 73 74 72 nts::'.str_replace('-',.'_',.str
34200 74 6f 75 70 70 65 72 28 24 73 63 72 69 70 74 29 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 toupper($script)))).{.throw.new.
34220 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 \InvalidArgumentException(sprint
34240 66 28 27 53 63 72 69 70 74 20 22 25 73 22 20 63 61 6e 6e 6f 74 20 62 65 20 72 75 6e 20 77 69 74 f('Script."%s".cannot.be.run.wit
34260 68 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 27 2c 20 24 73 63 72 69 70 74 29 29 3b 0a 7d 0a 7d 0a h.this.command',.$script));.}.}.
34280 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 .$composer.=.$this->getComposer(
342a0 29 3b 0a 24 64 65 76 4d 6f 64 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 );.$devMode.=.$input->getOption(
342c0 27 64 65 76 27 29 20 7c 7c 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 'dev').||.!$input->getOption('no
342e0 2d 64 65 76 27 29 3b 0a 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 53 63 72 69 70 74 45 76 65 6e 74 -dev');.$event.=.new.ScriptEvent
34300 28 24 73 63 72 69 70 74 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 74 68 69 73 2d 3e 67 65 74 49 ($script,.$composer,.$this->getI
34320 4f 28 29 2c 20 24 64 65 76 4d 6f 64 65 29 3b 0a 24 68 61 73 4c 69 73 74 65 6e 65 72 73 20 3d 20 O(),.$devMode);.$hasListeners.=.
34340 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d $composer->getEventDispatcher()-
34360 3e 68 61 73 45 76 65 6e 74 4c 69 73 74 65 6e 65 72 73 28 24 65 76 65 6e 74 29 3b 0a 69 66 20 28 >hasEventListeners($event);.if.(
34380 21 24 68 61 73 4c 69 73 74 65 6e 65 72 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 !$hasListeners).{.throw.new.\Inv
343a0 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 53 alidArgumentException(sprintf('S
343c0 63 72 69 70 74 20 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 69 cript."%s".is.not.defined.in.thi
343e0 73 20 70 61 63 6b 61 67 65 27 2c 20 24 73 63 72 69 70 74 29 29 3b 0a 7d 0a 0a 24 61 72 67 73 20 s.package',.$script));.}..$args.
34400 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 61 72 67 73 27 29 3b 0a 0a =.$input->getArgument('args');..
34420 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 69 6d 65 6f 75 74 20 3d 20 24 69 6e 70 75 74 2d 3e if.(null.!==.$timeout.=.$input->
34440 67 65 74 4f 70 74 69 6f 6e 28 27 74 69 6d 65 6f 75 74 27 29 29 20 7b 0a 69 66 20 28 21 63 74 79 getOption('timeout')).{.if.(!cty
34460 70 65 5f 64 69 67 69 74 28 24 74 69 6d 65 6f 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 pe_digit($timeout)).{.throw.new.
34480 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 69 6d 65 6f 75 74 20 76 61 6c 75 65 \RuntimeException('Timeout.value
344a0 20 6d 75 73 74 20 62 65 20 6e 75 6d 65 72 69 63 20 61 6e 64 20 70 6f 73 69 74 69 76 65 20 69 66 .must.be.numeric.and.positive.if
344c0 20 64 65 66 69 6e 65 64 2c 20 6f 72 20 30 20 66 6f 72 20 66 6f 72 65 76 65 72 27 29 3b 0a 7d 0a .defined,.or.0.for.forever');.}.
344e0 0a 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 73 65 74 54 69 6d 65 6f 75 74 28 28 69 ..ProcessExecutor::setTimeout((i
34500 6e 74 29 20 24 74 69 6d 65 6f 75 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 nt).$timeout);.}..return.$compos
34520 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 er->getEventDispatcher()->dispat
34540 63 68 53 63 72 69 70 74 28 24 73 63 72 69 70 74 2c 20 24 64 65 76 4d 6f 64 65 2c 20 24 61 72 67 chScript($script,.$devMode,.$arg
34560 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c 69 73 74 53 63 s);.}..protected.function.listSc
34580 72 69 70 74 73 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b ripts(OutputInterface.$output).{
345a0 0a 24 73 63 72 69 70 74 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 .$scripts.=.$this->getComposer()
345c0 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 53 63 72 69 70 74 73 28 29 3b 0a 0a 69 ->getPackage()->getScripts();..i
345e0 66 20 28 21 63 6f 75 6e 74 28 24 73 63 72 69 70 74 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b f.(!count($scripts)).{.return.0;
34600 0a 7d 0a 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 69 6f 2d 3e 77 .}..$io.=.$this->getIO();.$io->w
34620 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 73 63 72 69 70 74 73 3a 3c 2f 69 6e 66 6f 3e riteError('<info>scripts:</info>
34640 27 29 3b 0a 24 74 61 62 6c 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 ');.$table.=.array();.foreach.($
34660 73 63 72 69 70 74 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 73 63 72 69 70 74 29 20 7b 0a 24 scripts.as.$name.=>.$script).{.$
34680 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 27 3b 0a 74 72 79 20 7b 0a 24 63 6d 64 20 3d 20 24 description.=.'';.try.{.$cmd.=.$
346a0 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 66 69 6e 64 28 24 6e 61 this->getApplication()->find($na
346c0 6d 65 29 3b 0a 69 66 20 28 24 63 6d 64 20 69 6e 73 74 61 6e 63 65 6f 66 20 53 63 72 69 70 74 41 me);.if.($cmd.instanceof.ScriptA
346e0 6c 69 61 73 43 6f 6d 6d 61 6e 64 29 20 7b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 63 liasCommand).{.$description.=.$c
34700 6d 64 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 md->getDescription();.}.}.catch.
34720 28 5c 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 (\Symfony\Component\Console\Exce
34740 70 74 69 6f 6e 5c 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 20 24 ption\CommandNotFoundException.$
34760 65 29 20 7b 0a 0a 20 7d 0a 24 74 61 62 6c 65 5b 5d 20 3d 20 61 72 72 61 79 28 27 20 20 27 2e 24 e).{...}.$table[].=.array('..'.$
34780 6e 61 6d 65 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 24 72 65 6e 64 65 72 65 name,.$description);.}..$rendere
347a0 72 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 6f 75 74 70 75 74 29 3b 0a 24 72 65 6e 64 65 72 65 r.=.new.Table($output);.$rendere
347c0 72 2d 3e 73 65 74 53 74 79 6c 65 28 27 63 6f 6d 70 61 63 74 27 29 3b 0a 24 72 65 6e 64 65 72 65 r->setStyle('compact');.$rendere
347e0 72 53 74 79 6c 65 20 3d 20 24 72 65 6e 64 65 72 65 72 2d 3e 67 65 74 53 74 79 6c 65 28 29 3b 0a rStyle.=.$renderer->getStyle();.
34800 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 $rendererStyle->setVerticalBorde
34820 72 43 68 61 72 28 27 27 29 3b 0a 24 72 65 6e 64 65 72 65 72 53 74 79 6c 65 2d 3e 73 65 74 43 65 rChar('');.$rendererStyle->setCe
34840 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 27 25 73 20 20 27 29 3b 0a 24 72 65 6e llRowContentFormat('%s..');.$ren
34860 64 65 72 65 72 2d 3e 73 65 74 52 6f 77 73 28 24 74 61 62 6c 65 29 2d 3e 72 65 6e 64 65 72 28 29 derer->setRows($table)->render()
34880 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ;..return.0;.}.}.<?php..........
348a0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 ..namespace.Composer\Command;..u
348c0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 se.Symfony\Component\Console\Inp
348e0 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 ut\InputInterface;.use.Symfony\C
34900 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 omponent\Console\Input\InputOpti
34920 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c on;.use.Symfony\Component\Consol
34940 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f e\Input\InputArgument;.use.Symfo
34960 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 ny\Component\Console\Output\Outp
34980 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 63 72 69 70 74 41 6c 69 utInterface;.....class.ScriptAli
349a0 61 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a asCommand.extends.BaseCommand.{.
349c0 70 72 69 76 61 74 65 20 24 73 63 72 69 70 74 3b 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 private.$script;.private.$descri
349e0 70 74 69 6f 6e 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 ption;..public.function.__constr
34a00 75 63 74 28 24 73 63 72 69 70 74 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 29 0a 7b 0a 24 74 68 uct($script,.$description).{.$th
34a20 69 73 2d 3e 73 63 72 69 70 74 20 3d 20 24 73 63 72 69 70 74 3b 0a 24 74 68 69 73 2d 3e 64 65 73 is->script.=.$script;.$this->des
34a40 63 72 69 70 74 69 6f 6e 20 3d 20 65 6d 70 74 79 28 24 64 65 73 63 72 69 70 74 69 6f 6e 29 20 3f cription.=.empty($description).?
34a60 20 27 52 75 6e 73 20 74 68 65 20 27 2e 24 73 63 72 69 70 74 2e 27 20 73 63 72 69 70 74 20 61 73 .'Runs.the.'.$script.'.script.as
34a80 20 64 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2e 27 20 3a 20 24 64 .defined.in.composer.json.'.:.$d
34aa0 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 escription;..parent::__construct
34ac0 28 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 ();.}..protected.function.config
34ae0 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 24 74 68 69 73 2d 3e 73 ure().{.$this.->setName($this->s
34b00 63 72 69 70 74 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 64 cript).->setDescription($this->d
34b20 65 73 63 72 69 70 74 69 6f 6e 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 escription).->setDefinition(arra
34b40 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 y(.new.InputOption('dev',.null,.
34b60 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 65 74 73 20 74 InputOption::VALUE_NONE,.'Sets.t
34b80 68 65 20 64 65 76 20 6d 6f 64 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 he.dev.mode.'),.new.InputOption(
34ba0 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 'no-dev',.null,.InputOption::VAL
34bc0 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 73 20 74 68 65 20 64 65 76 20 6d 6f 64 65 2e UE_NONE,.'Disables.the.dev.mode.
34be0 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 61 72 67 73 27 2c 20 49 6e '),.new.InputArgument('args',.In
34c00 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 putArgument::IS_ARRAY.|.InputArg
34c20 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 ument::OPTIONAL,.''),.)).->setHe
34c40 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 72 75 6e 2d 73 63 72 69 70 74 3c lp(.<<<EOT.The.<info>run-script<
34c60 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 75 6e 73 20 73 63 72 69 70 74 73 20 64 65 66 69 /info>.command.runs.scripts.defi
34c80 6e 65 64 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 3a 0a 0a 3c 69 6e 66 6f 3e 70 68 70 ned.in.composer.json:..<info>php
34ca0 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 72 75 6e 2d 73 63 72 69 70 74 20 70 6f 73 74 2d 75 .composer.phar.run-script.post-u
34cc0 70 64 61 74 65 2d 63 6d 64 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 pdate-cmd</info>..Read.more.at.h
34ce0 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c ttps://getcomposer.org/doc/03-cl
34d00 69 2e 6d 64 23 72 75 6e 2d 73 63 72 69 70 74 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 i.md#run-script.EOT.).;.}..prote
34d20 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 cted.function.execute(InputInter
34d40 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 face.$input,.OutputInterface.$ou
34d60 74 70 75 74 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f tput).{.$composer.=.$this->getCo
34d80 6d 70 6f 73 65 72 28 29 3b 0a 0a 24 61 72 67 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 mposer();..$args.=.$input->getAr
34da0 67 75 6d 65 6e 74 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 guments();..return.$composer->ge
34dc0 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 tEventDispatcher()->dispatchScri
34de0 70 74 28 24 74 68 69 73 2d 3e 73 63 72 69 70 74 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 pt($this->script,.$input->getOpt
34e00 69 6f 6e 28 27 64 65 76 27 29 20 7c 7c 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e ion('dev').||.!$input->getOption
34e20 28 27 6e 6f 2d 64 65 76 27 29 2c 20 24 61 72 67 73 5b 27 61 72 67 73 27 5d 29 3b 0a 7d 0a 7d 0a ('no-dev'),.$args['args']);.}.}.
34e40 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
34e60 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f ser\Command;..use.Composer\Facto
34e80 72 79 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ry;.use.Symfony\Component\Consol
34ea0 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 e\Input\InputInterface;.use.Symf
34ec0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 ony\Component\Console\Input\Inpu
34ee0 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 tArgument;.use.Symfony\Component
34f00 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 \Console\Input\InputOption;.use.
34f20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 Symfony\Component\Console\Output
34f40 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 \OutputInterface;.use.Composer\R
34f60 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 epository\CompositeRepository;.u
34f80 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 se.Composer\Repository\PlatformR
34fa0 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f epository;.use.Composer\Reposito
34fc0 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 ry\RepositoryInterface;.use.Comp
34fe0 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f oser\Plugin\CommandEvent;.use.Co
35000 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 0a 0a 0a 0a mposer\Plugin\PluginEvents;.....
35020 63 6c 61 73 73 20 53 65 61 72 63 68 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 class.SearchCommand.extends.Base
35040 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 61 74 63 68 65 73 3b 0a 70 72 Command.{.protected.$matches;.pr
35060 6f 74 65 63 74 65 64 20 24 6c 6f 77 4d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 otected.$lowMatches.=.array();.p
35080 72 6f 74 65 63 74 65 64 20 24 74 6f 6b 65 6e 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 75 74 rotected.$tokens;.protected.$out
350a0 70 75 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 6e 6c 79 4e 61 6d 65 3b 0a 0a 70 72 6f 74 65 put;.protected.$onlyName;..prote
350c0 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 cted.function.configure().{.$thi
350e0 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 73 65 61 72 63 68 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 s.->setName('search').->setDescr
35100 69 70 74 69 6f 6e 28 27 53 65 61 72 63 68 65 73 20 66 6f 72 20 70 61 63 6b 61 67 65 73 2e 27 29 iption('Searches.for.packages.')
35120 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 .->setDefinition(array(.new.Inpu
35140 74 4f 70 74 69 6f 6e 28 27 6f 6e 6c 79 2d 6e 61 6d 65 27 2c 20 27 4e 27 2c 20 49 6e 70 75 74 4f tOption('only-name',.'N',.InputO
35160 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 65 61 72 63 68 20 6f 6e 6c 79 20 ption::VALUE_NONE,.'Search.only.
35180 69 6e 20 6e 61 6d 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 74 79 70 65 in.name'),.new.InputOption('type
351a0 27 2c 20 27 74 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 ',.'t',.InputOption::VALUE_REQUI
351c0 52 45 44 2c 20 27 53 65 61 72 63 68 20 66 6f 72 20 61 20 73 70 65 63 69 66 69 63 20 70 61 63 6b RED,.'Search.for.a.specific.pack
351e0 61 67 65 20 74 79 70 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 74 age.type'),.new.InputArgument('t
35200 6f 6b 65 6e 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 okens',.InputArgument::IS_ARRAY.
35220 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 52 45 51 55 49 52 45 44 2c 20 27 74 6f 6b 65 |.InputArgument::REQUIRED,.'toke
35240 6e 73 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 ns.to.search.for'),.)).->setHelp
35260 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 73 65 61 72 63 68 20 63 6f 6d 6d 61 6e 64 20 73 65 61 72 (.<<<EOT.The.search.command.sear
35280 63 68 65 73 20 66 6f 72 20 70 61 63 6b 61 67 65 73 20 62 79 20 69 74 73 20 6e 61 6d 65 0a 3c 69 ches.for.packages.by.its.name.<i
352a0 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 73 65 61 72 63 68 20 73 79 6d nfo>php.composer.phar.search.sym
352c0 66 6f 6e 79 20 63 6f 6d 70 6f 73 65 72 3c 2f 69 6e 66 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 fony.composer</info>..Read.more.
352e0 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 at.https://getcomposer.org/doc/0
35300 33 2d 63 6c 69 2e 6d 64 23 73 65 61 72 63 68 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 3-cli.md#search.EOT.).;.}..prote
35320 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 cted.function.execute(InputInter
35340 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 face.$input,.OutputInterface.$ou
35360 74 70 75 74 29 0a 7b 0a 0a 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 20 3d 20 6e 65 77 20 50 6c tput).{...$platformRepo.=.new.Pl
35380 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 atformRepository;.$io.=.$this->g
353a0 65 74 49 4f 28 29 3b 0a 69 66 20 28 21 28 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d etIO();.if.(!($composer.=.$this-
353c0 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 >getComposer(false))).{.$compose
353e0 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 28 24 74 68 69 73 2d 3e 67 65 74 49 4f r.=.Factory::create($this->getIO
35400 28 29 2c 20 61 72 72 61 79 28 29 2c 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 (),.array(),.$input->hasParamete
35420 72 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b 0a 7d 0a 24 6c 6f 63 rOption('--no-plugins'));.}.$loc
35440 61 6c 52 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 alRepo.=.$composer->getRepositor
35460 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 yManager()->getLocalRepository()
35480 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 ;.$installedRepo.=.new.Composite
354a0 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6c Repository(array($localRepo,.$pl
354c0 61 74 66 6f 72 6d 52 65 70 6f 29 29 3b 0a 24 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f atformRepo));.$repos.=.new.Compo
354e0 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 siteRepository(array_merge(array
35500 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 2c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 ($installedRepo),.$composer->get
35520 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f RepositoryManager()->getReposito
35540 72 69 65 73 28 29 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 ries()));..$commandEvent.=.new.C
35560 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e ommandEvent(PluginEvents::COMMAN
35580 44 2c 20 27 73 65 61 72 63 68 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 D,.'search',.$input,.$output);.$
355a0 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e composer->getEventDispatcher()->
355c0 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 dispatch($commandEvent->getName(
355e0 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 6f 6e 6c 79 4e 61 6d 65 20 3d 20 ),.$commandEvent);..$onlyName.=.
35600 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 6e 6c 79 2d 6e 61 6d 65 27 29 3b 0a $input->getOption('only-name');.
35620 24 74 79 70 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 74 79 70 65 27 $type.=.$input->getOption('type'
35640 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 0a 24 66 6c 61 67 73 20 3d 20 24 6f 6e 6c 79 4e 61 6d 65 20 3f ).?:.null;..$flags.=.$onlyName.?
35660 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3a 3a 53 45 41 52 43 48 5f 4e 41 4d .RepositoryInterface::SEARCH_NAM
35680 45 20 3a 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3a 3a 53 45 41 52 43 48 5f E.:.RepositoryInterface::SEARCH_
356a0 46 55 4c 4c 54 45 58 54 3b 0a 24 72 65 73 75 6c 74 73 20 3d 20 24 72 65 70 6f 73 2d 3e 73 65 61 FULLTEXT;.$results.=.$repos->sea
356c0 72 63 68 28 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 rch(implode('.',.$input->getArgu
356e0 6d 65 6e 74 28 27 74 6f 6b 65 6e 73 27 29 29 2c 20 24 66 6c 61 67 73 2c 20 24 74 79 70 65 29 3b ment('tokens')),.$flags,.$type);
35700 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 73 20 61 73 20 24 72 65 73 75 6c 74 29 20 ..foreach.($results.as.$result).
35720 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 72 65 73 75 6c 74 5b 27 6e 61 6d 65 27 5d 20 2e 20 28 {.$io->write($result['name']...(
35740 69 73 73 65 74 28 24 72 65 73 75 6c 74 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 29 20 3f 20 isset($result['description']).?.
35760 27 20 27 2e 20 24 72 65 73 75 6c 74 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 20 3a 20 27 27 '.'..$result['description'].:.''
35780 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a ));.}..return.0;.}.}.<?php......
357a0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 ......namespace.Composer\Command
357c0 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f ;..use.Composer\Composer;.use.Co
357e0 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e mposer\Factory;.use.Composer\Con
35800 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 fig;.use.Composer\Util\Filesyste
35820 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 5c 4b 65 79 73 3b m;.use.Composer\SelfUpdate\Keys;
35840 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 5c 56 65 72 73 69 6f 6e .use.Composer\SelfUpdate\Version
35860 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a s;.use.Composer\IO\IOInterface;.
35880 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 46 69 6c 65 73 79 73 74 use.Composer\Downloader\Filesyst
358a0 65 6d 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 emException;.use.Symfony\Compone
358c0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b nt\Console\Input\InputInterface;
358e0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 .use.Symfony\Component\Console\I
35900 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f nput\InputOption;.use.Symfony\Co
35920 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d mponent\Console\Input\InputArgum
35940 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ent;.use.Symfony\Component\Conso
35960 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 le\Output\OutputInterface;.use.S
35980 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b 0a ymfony\Component\Finder\Finder;.
359a0 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 65 6c 66 55 70 64 61 74 65 43 6f 6d 6d 61 6e 64 20 65 78 ......class.SelfUpdateCommand.ex
359c0 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 63 6f 6e 73 74 20 48 4f 4d 45 50 41 tends.BaseCommand.{.const.HOMEPA
359e0 47 45 20 3d 20 27 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 27 3b 0a 63 6f 6e 73 74 20 4f 4c GE.=.'getcomposer.org';.const.OL
35a00 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 20 3d 20 27 2d 6f 6c 64 2e 70 68 61 72 27 3b 0a 0a 70 72 D_INSTALL_EXT.=.'-old.phar';..pr
35a20 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 otected.function.configure().{.$
35a40 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 73 65 6c 66 2d 75 70 64 61 74 65 27 29 0a 2d 3e this.->setName('self-update').->
35a60 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 73 65 6c 66 75 70 64 61 74 65 27 29 29 0a setAliases(array('selfupdate')).
35a80 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 55 70 64 61 74 65 73 20 63 6f 6d 70 6f 73 ->setDescription('Updates.compos
35aa0 65 72 2e 70 68 61 72 20 74 6f 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 2e 27 29 er.phar.to.the.latest.version.')
35ac0 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 .->setDefinition(array(.new.Inpu
35ae0 74 4f 70 74 69 6f 6e 28 27 72 6f 6c 6c 62 61 63 6b 27 2c 20 27 72 27 2c 20 49 6e 70 75 74 4f 70 tOption('rollback',.'r',.InputOp
35b00 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 76 65 72 74 20 74 6f 20 61 6e 20 tion::VALUE_NONE,.'Revert.to.an.
35b20 6f 6c 64 65 72 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 63 6f 6d 70 6f 73 65 72 27 29 older.installation.of.composer')
35b40 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 63 6c 65 61 6e 2d 62 61 63 6b 75 70 73 ,.new.InputOption('clean-backups
35b60 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.null,.InputOption::VALUE_NONE
35b80 2c 20 27 44 65 6c 65 74 65 20 6f 6c 64 20 62 61 63 6b 75 70 73 20 64 75 72 69 6e 67 20 61 6e 20 ,.'Delete.old.backups.during.an.
35ba0 75 70 64 61 74 65 2e 20 54 68 69 73 20 6d 61 6b 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 update..This.makes.the.current.v
35bc0 65 72 73 69 6f 6e 20 6f 66 20 63 6f 6d 70 6f 73 65 72 20 74 68 65 20 6f 6e 6c 79 20 62 61 63 6b ersion.of.composer.the.only.back
35be0 75 70 20 61 76 61 69 6c 61 62 6c 65 20 61 66 74 65 72 20 74 68 65 20 75 70 64 61 74 65 27 29 2c up.available.after.the.update'),
35c00 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 2c 20 49 6e .new.InputArgument('version',.In
35c20 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 54 68 65 20 76 65 72 73 putArgument::OPTIONAL,.'The.vers
35c40 69 6f 6e 20 74 6f 20 75 70 64 61 74 65 20 74 6f 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 ion.to.update.to'),.new.InputOpt
35c60 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 ion('no-progress',.null,.InputOp
35c80 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f 75 74 70 75 74 tion::VALUE_NONE,.'Do.not.output
35ca0 20 64 6f 77 6e 6c 6f 61 64 20 70 72 6f 67 72 65 73 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 .download.progress.'),.new.Input
35cc0 4f 70 74 69 6f 6e 28 27 75 70 64 61 74 65 2d 6b 65 79 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 Option('update-keys',.null,.Inpu
35ce0 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 6f 6d 70 74 20 75 73 65 tOption::VALUE_NONE,.'Prompt.use
35d00 72 20 66 6f 72 20 61 20 6b 65 79 20 75 70 64 61 74 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f r.for.a.key.update'),.new.InputO
35d20 70 74 69 6f 6e 28 27 73 74 61 62 6c 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f ption('stable',.null,.InputOptio
35d40 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 20 61 6e 20 75 70 64 61 74 65 20 n::VALUE_NONE,.'Force.an.update.
35d60 74 6f 20 74 68 65 20 73 74 61 62 6c 65 20 63 68 61 6e 6e 65 6c 27 29 2c 0a 6e 65 77 20 49 6e 70 to.the.stable.channel'),.new.Inp
35d80 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 76 69 65 77 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f utOption('preview',.null,.InputO
35da0 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 20 61 6e 20 75 70 64 ption::VALUE_NONE,.'Force.an.upd
35dc0 61 74 65 20 74 6f 20 74 68 65 20 70 72 65 76 69 65 77 20 63 68 61 6e 6e 65 6c 27 29 2c 0a 6e 65 ate.to.the.preview.channel'),.ne
35de0 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 6e 61 70 73 68 6f 74 27 2c 20 6e 75 6c 6c 2c 20 w.InputOption('snapshot',.null,.
35e00 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 20 InputOption::VALUE_NONE,.'Force.
35e20 61 6e 20 75 70 64 61 74 65 20 74 6f 20 74 68 65 20 73 6e 61 70 73 68 6f 74 20 63 68 61 6e 6e 65 an.update.to.the.snapshot.channe
35e40 6c 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 65 74 2d 63 68 61 6e 6e 65 l'),.new.InputOption('set-channe
35e60 6c 2d 6f 6e 6c 79 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 l-only',.null,.InputOption::VALU
35e80 45 5f 4e 4f 4e 45 2c 20 27 4f 6e 6c 79 20 73 74 6f 72 65 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 E_NONE,.'Only.store.the.channel.
35ea0 61 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 6f 6e 65 20 61 6e 64 20 74 68 65 6e 20 65 78 69 74 as.the.default.one.and.then.exit
35ec0 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e '),.)).->setHelp(.<<<EOT.The.<in
35ee0 66 6f 3e 73 65 6c 66 2d 75 70 64 61 74 65 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 63 68 fo>self-update</info>.command.ch
35f00 65 63 6b 73 20 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 20 66 6f 72 20 6e 65 77 65 72 0a 76 ecks.getcomposer.org.for.newer.v
35f20 65 72 73 69 6f 6e 73 20 6f 66 20 63 6f 6d 70 6f 73 65 72 20 61 6e 64 20 69 66 20 66 6f 75 6e 64 ersions.of.composer.and.if.found
35f40 2c 20 69 6e 73 74 61 6c 6c 73 20 74 68 65 20 6c 61 74 65 73 74 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 ,.installs.the.latest...<info>ph
35f60 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 73 65 6c 66 2d 75 70 64 61 74 65 3c 2f 69 6e 66 p.composer.phar.self-update</inf
35f80 6f 3e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 o>..Read.more.at.https://getcomp
35fa0 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 73 65 6c 66 2d 75 70 64 61 oser.org/doc/03-cli.md#self-upda
35fc0 74 65 2d 73 65 6c 66 75 70 64 61 74 65 2d 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 te-selfupdate-.EOT.).;.}..protec
35fe0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 ted.function.execute(InputInterf
36000 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 ace.$input,.OutputInterface.$out
36020 70 75 74 29 0a 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 put).{.$config.=.Factory::create
36040 43 6f 6e 66 69 67 28 29 3b 0a 0a 69 66 20 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 Config();..if.($config->get('dis
36060 61 62 6c 65 2d 74 6c 73 27 29 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 24 62 61 73 65 55 72 6c 20 able-tls').===.true).{.$baseUrl.
36080 3d 20 27 68 74 74 70 3a 2f 2f 27 20 2e 20 73 65 6c 66 3a 3a 48 4f 4d 45 50 41 47 45 3b 0a 7d 20 =.'http://'...self::HOMEPAGE;.}.
360a0 65 6c 73 65 20 7b 0a 24 62 61 73 65 55 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 27 20 2e 20 73 else.{.$baseUrl.=.'https://'...s
360c0 65 6c 66 3a 3a 48 4f 4d 45 50 41 47 45 3b 0a 7d 0a 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 elf::HOMEPAGE;.}..$io.=.$this->g
360e0 65 74 49 4f 28 29 3b 0a 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 46 61 63 74 etIO();.$remoteFilesystem.=.Fact
36100 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 2c ory::createRemoteFilesystem($io,
36120 20 24 63 6f 6e 66 69 67 29 3b 0a 0a 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 20 3d 20 6e 65 77 20 .$config);..$versionsUtil.=.new.
36140 56 65 72 73 69 6f 6e 73 28 24 63 6f 6e 66 69 67 2c 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 Versions($config,.$remoteFilesys
36160 74 65 6d 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 73 74 61 62 6c 65 27 tem);....foreach.(array('stable'
36180 2c 20 27 70 72 65 76 69 65 77 27 2c 20 27 73 6e 61 70 73 68 6f 74 27 29 20 61 73 20 24 63 68 61 ,.'preview',.'snapshot').as.$cha
361a0 6e 6e 65 6c 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 24 63 nnel).{.if.($input->getOption($c
361c0 68 61 6e 6e 65 6c 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 73 65 74 43 68 61 hannel)).{.$versionsUtil->setCha
361e0 6e 6e 65 6c 28 24 63 68 61 6e 6e 65 6c 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d nnel($channel);.}.}..if.($input-
36200 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 65 74 2d 63 68 61 6e 6e 65 6c 2d 6f 6e 6c 79 27 29 29 20 >getOption('set-channel-only')).
36220 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 63 61 63 68 65 44 69 72 20 3d 20 24 63 6f 6e 66 {.return.0;.}..$cacheDir.=.$conf
36240 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 64 69 72 27 29 3b 0a 24 72 6f 6c 6c 62 61 63 6b 44 ig->get('cache-dir');.$rollbackD
36260 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 61 74 61 2d 64 69 72 27 29 3b 0a 24 ir.=.$config->get('data-dir');.$
36280 68 6f 6d 65 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 3b 0a 24 6c 6f home.=.$config->get('home');.$lo
362a0 63 61 6c 46 69 6c 65 6e 61 6d 65 20 3d 20 72 65 61 6c 70 61 74 68 28 24 5f 53 45 52 56 45 52 5b calFilename.=.realpath($_SERVER[
362c0 27 61 72 67 76 27 5d 5b 30 5d 29 20 3f 3a 20 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d 5b 'argv'][0]).?:.$_SERVER['argv'][
362e0 30 5d 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 75 70 64 61 0];..if.($input->getOption('upda
36300 74 65 2d 6b 65 79 73 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 65 74 63 68 te-keys')).{.return.$this->fetch
36320 4b 65 79 73 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 20 24 74 6d 70 44 69 72 Keys($io,.$config);.}....$tmpDir
36340 20 3d 20 69 73 5f 77 72 69 74 61 62 6c 65 28 64 69 72 6e 61 6d 65 28 24 6c 6f 63 61 6c 46 69 6c .=.is_writable(dirname($localFil
36360 65 6e 61 6d 65 29 29 20 3f 20 64 69 72 6e 61 6d 65 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 ename)).?.dirname($localFilename
36380 29 20 3a 20 24 63 61 63 68 65 44 69 72 3b 0a 0a 0a 20 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 ).:.$cacheDir;....if.(!is_writab
363a0 6c 65 28 24 74 6d 70 44 69 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 46 69 6c 65 73 79 73 le($tmpDir)).{.throw.new.Filesys
363c0 74 65 6d 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 6d 70 6f 73 65 72 20 75 70 64 61 74 65 20 66 61 temException('Composer.update.fa
363e0 69 6c 65 64 3a 20 74 68 65 20 22 27 2e 24 74 6d 70 44 69 72 2e 27 22 20 64 69 72 65 63 74 6f 72 iled:.the."'.$tmpDir.'".director
36400 79 20 75 73 65 64 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 74 68 65 20 74 65 6d 70 20 66 69 6c 65 y.used.to.download.the.temp.file
36420 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 77 72 69 74 74 65 6e 27 29 3b 0a 7d 0a 0a 0a 20 69 66 .could.not.be.written');.}....if
36440 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 67 65 74 70 77 75 69 .(function_exists('posix_getpwui
36460 64 27 29 20 26 26 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 67 65 d').&&.function_exists('posix_ge
36480 74 65 75 69 64 27 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 55 73 65 72 20 3d 20 70 6f 73 69 78 5f teuid')).{.$composeUser.=.posix_
364a0 67 65 74 70 77 75 69 64 28 70 6f 73 69 78 5f 67 65 74 65 75 69 64 28 29 29 3b 0a 24 68 6f 6d 65 getpwuid(posix_geteuid());.$home
364c0 4f 77 6e 65 72 20 3d 20 70 6f 73 69 78 5f 67 65 74 70 77 75 69 64 28 66 69 6c 65 6f 77 6e 65 72 Owner.=.posix_getpwuid(fileowner
364e0 28 24 68 6f 6d 65 29 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 55 73 65 72 ($home));.if.(isset($composeUser
36500 5b 27 6e 61 6d 65 27 5d 29 20 26 26 20 69 73 73 65 74 28 24 68 6f 6d 65 4f 77 6e 65 72 5b 27 6e ['name']).&&.isset($homeOwner['n
36520 61 6d 65 27 5d 29 20 26 26 20 24 63 6f 6d 70 6f 73 65 55 73 65 72 5b 27 6e 61 6d 65 27 5d 20 21 ame']).&&.$composeUser['name'].!
36540 3d 3d 20 24 68 6f 6d 65 4f 77 6e 65 72 5b 27 6e 61 6d 65 27 5d 29 20 7b 0a 24 69 6f 2d 3e 77 72 ==.$homeOwner['name']).{.$io->wr
36560 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 72 75 6e 6e 69 iteError('<warning>You.are.runni
36580 6e 67 20 63 6f 6d 70 6f 73 65 72 20 61 73 20 22 27 2e 24 63 6f 6d 70 6f 73 65 55 73 65 72 5b 27 ng.composer.as."'.$composeUser['
365a0 6e 61 6d 65 27 5d 2e 27 22 2c 20 77 68 69 6c 65 20 22 27 2e 24 68 6f 6d 65 2e 27 22 20 69 73 20 name'].'",.while."'.$home.'".is.
365c0 6f 77 6e 65 64 20 62 79 20 22 27 2e 24 68 6f 6d 65 4f 77 6e 65 72 5b 27 6e 61 6d 65 27 5d 2e 27 owned.by."'.$homeOwner['name'].'
365e0 22 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e "</warning>');.}.}..if.($input->
36600 67 65 74 4f 70 74 69 6f 6e 28 27 72 6f 6c 6c 62 61 63 6b 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 getOption('rollback')).{.return.
36620 24 74 68 69 73 2d 3e 72 6f 6c 6c 62 61 63 6b 28 24 6f 75 74 70 75 74 2c 20 24 72 6f 6c 6c 62 61 $this->rollback($output,.$rollba
36640 63 6b 44 69 72 2c 20 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 0a 24 6c 61 74 65 ckDir,.$localFilename);.}..$late
36660 73 74 20 3d 20 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 67 65 74 4c 61 74 65 73 74 28 29 3b st.=.$versionsUtil->getLatest();
36680 0a 24 6c 61 74 65 73 74 56 65 72 73 69 6f 6e 20 3d 20 24 6c 61 74 65 73 74 5b 27 76 65 72 73 69 .$latestVersion.=.$latest['versi
366a0 6f 6e 27 5d 3b 0a 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 20 3d 20 24 69 6e 70 75 74 2d 3e 67 on'];.$updateVersion.=.$input->g
366c0 65 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 69 6f 6e 27 29 20 3f 3a 20 24 6c 61 74 65 73 74 etArgument('version').?:.$latest
366e0 56 65 72 73 69 6f 6e 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 30 2d 39 Version;..if.(preg_match('{^[0-9
36700 61 2d 66 5d 7b 34 30 7d 24 7d 27 2c 20 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 29 20 26 26 20 a-f]{40}$}',.$updateVersion).&&.
36720 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 20 21 3d 3d 20 24 6c 61 74 65 73 74 56 65 72 73 69 6f $updateVersion.!==.$latestVersio
36740 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 59 6f 75 n).{.$io->writeError('<error>You
36760 20 63 61 6e 20 6e 6f 74 20 75 70 64 61 74 65 20 74 6f 20 61 20 73 70 65 63 69 66 69 63 20 53 48 .can.not.update.to.a.specific.SH
36780 41 2d 31 20 61 73 20 74 68 6f 73 65 20 70 68 61 72 73 20 61 72 65 20 6e 6f 74 20 61 76 61 69 6c A-1.as.those.phars.are.not.avail
367a0 61 62 6c 65 20 66 6f 72 20 64 6f 77 6e 6c 6f 61 64 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 able.for.download</error>');..re
367c0 74 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e turn.1;.}..if.(Composer::VERSION
367e0 20 3d 3d 3d 20 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 .===.$updateVersion).{.$io->writ
36800 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 59 6f 75 20 61 72 65 20 61 6c eError(sprintf('<info>You.are.al
36820 72 65 61 64 79 20 75 73 69 6e 67 20 63 6f 6d 70 6f 73 65 72 20 76 65 72 73 69 6f 6e 20 25 73 20 ready.using.composer.version.%s.
36840 28 25 73 20 63 68 61 6e 6e 65 6c 29 2e 3c 2f 69 6e 66 6f 3e 27 2c 20 24 75 70 64 61 74 65 56 65 (%s.channel).</info>',.$updateVe
36860 72 73 69 6f 6e 2c 20 24 76 65 72 73 69 6f 6e 73 55 74 69 6c 2d 3e 67 65 74 43 68 61 6e 6e 65 6c rsion,.$versionsUtil->getChannel
36880 28 29 29 29 3b 0a 0a 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 ()));....if.($input->getOption('
368a0 63 6c 65 61 6e 2d 62 61 63 6b 75 70 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 65 61 6e 42 clean-backups')).{.$this->cleanB
368c0 61 63 6b 75 70 73 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c ackups($rollbackDir,.$this->getL
368e0 61 73 74 42 61 63 6b 75 70 56 65 72 73 69 6f 6e 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 29 3b astBackupVersion($rollbackDir));
36900 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 20 3d .}..return.0;.}..$tempFilename.=
36920 20 24 74 6d 70 44 69 72 20 2e 20 27 2f 27 20 2e 20 62 61 73 65 6e 61 6d 65 28 24 6c 6f 63 61 6c .$tmpDir...'/'...basename($local
36940 46 69 6c 65 6e 61 6d 65 2c 20 27 2e 70 68 61 72 27 29 2e 27 2d 74 65 6d 70 2e 70 68 61 72 27 3b Filename,.'.phar').'-temp.phar';
36960 0a 24 62 61 63 6b 75 70 46 69 6c 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 25 73 2f 25 73 2d 25 .$backupFile.=.sprintf(.'%s/%s-%
36980 73 25 73 27 2c 0a 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2c 0a 73 74 72 74 72 28 43 6f 6d 70 6f 73 s%s',.$rollbackDir,.strtr(Compos
369a0 65 72 3a 3a 52 45 4c 45 41 53 45 5f 44 41 54 45 2c 20 27 20 3a 27 2c 20 27 5f 2d 27 29 2c 0a 70 er::RELEASE_DATE,.'.:',.'_-'),.p
369c0 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 5b 30 2d 39 61 2d 66 5d 7b 37 7d 29 5b 30 2d 39 reg_replace('{^([0-9a-f]{7})[0-9
369e0 61 2d 66 5d 7b 33 33 7d 24 7d 27 2c 20 27 24 31 27 2c 20 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 a-f]{33}$}',.'$1',.Composer::VER
36a00 53 49 4f 4e 29 2c 0a 73 65 6c 66 3a 3a 4f 4c 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 0a 29 3b 0a SION),.self::OLD_INSTALL_EXT.);.
36a20 0a 24 75 70 64 61 74 69 6e 67 54 6f 54 61 67 20 3d 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b .$updatingToTag.=.!preg_match('{
36a40 5e 5b 30 2d 39 61 2d 66 5d 7b 34 30 7d 24 7d 27 2c 20 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e ^[0-9a-f]{40}$}',.$updateVersion
36a60 29 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 22 55 70 64 61 74 69 6e 67 );..$io->write(sprintf("Updating
36a80 20 74 6f 20 76 65 72 73 69 6f 6e 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 28 25 73 20 .to.version.<info>%s</info>.(%s.
36aa0 63 68 61 6e 6e 65 6c 29 2e 22 2c 20 24 75 70 64 61 74 65 56 65 72 73 69 6f 6e 2c 20 24 76 65 72 channel).",.$updateVersion,.$ver
36ac0 73 69 6f 6e 73 55 74 69 6c 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 28 29 29 29 3b 0a 24 72 65 6d 6f sionsUtil->getChannel()));.$remo
36ae0 74 65 46 69 6c 65 6e 61 6d 65 20 3d 20 24 62 61 73 65 55 72 6c 20 2e 20 28 24 75 70 64 61 74 69 teFilename.=.$baseUrl...($updati
36b00 6e 67 54 6f 54 61 67 20 3f 20 22 2f 64 6f 77 6e 6c 6f 61 64 2f 7b 24 75 70 64 61 74 65 56 65 72 ngToTag.?."/download/{$updateVer
36b20 73 69 6f 6e 7d 2f 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 22 20 3a 20 27 2f 63 6f 6d 70 6f 73 65 sion}/composer.phar".:.'/compose
36b40 72 2e 70 68 61 72 27 29 3b 0a 24 73 69 67 6e 61 74 75 72 65 20 3d 20 24 72 65 6d 6f 74 65 46 69 r.phar');.$signature.=.$remoteFi
36b60 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 73 65 6c 66 3a 3a 48 4f 4d 45 lesystem->getContents(self::HOME
36b80 50 41 47 45 2c 20 24 72 65 6d 6f 74 65 46 69 6c 65 6e 61 6d 65 2e 27 2e 73 69 67 27 2c 20 66 61 PAGE,.$remoteFilename.'.sig',.fa
36ba0 6c 73 65 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 27 2c 20 66 61 6c lse);.$io->writeError('...',.fal
36bc0 73 65 29 3b 0a 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 63 6f 70 79 28 73 65 6c se);.$remoteFilesystem->copy(sel
36be0 66 3a 3a 48 4f 4d 45 50 41 47 45 2c 20 24 72 65 6d 6f 74 65 46 69 6c 65 6e 61 6d 65 2c 20 24 74 f::HOMEPAGE,.$remoteFilename,.$t
36c00 65 6d 70 46 69 6c 65 6e 61 6d 65 2c 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 empFilename,.!$input->getOption(
36c20 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 'no-progress'));.$io->writeError
36c40 28 27 27 29 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 65 6d 70 46 69 6c ('');..if.(!file_exists($tempFil
36c60 65 6e 61 6d 65 29 20 7c 7c 20 21 24 73 69 67 6e 61 74 75 72 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 ename).||.!$signature).{.$io->wr
36c80 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 64 6f 77 6e 6c 6f 61 64 20 6f 66 iteError('<error>The.download.of
36ca0 20 74 68 65 20 6e 65 77 20 63 6f 6d 70 6f 73 65 72 20 76 65 72 73 69 6f 6e 20 66 61 69 6c 65 64 .the.new.composer.version.failed
36cc0 20 66 6f 72 20 61 6e 20 75 6e 65 78 70 65 63 74 65 64 20 72 65 61 73 6f 6e 3c 2f 65 72 72 6f 72 .for.an.unexpected.reason</error
36ce0 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 65 78 74 65 6e 73 >');..return.1;.}....if.(!extens
36d00 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 24 63 6f 6e 66 69 67 ion_loaded('openssl').&&.$config
36d20 2d 3e 67 65 74 28 27 64 69 73 61 62 6c 65 2d 74 6c 73 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 ->get('disable-tls')).{.$io->wri
36d40 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 69 6e 67 20 70 68 61 72 20 teError('<warning>Skipping.phar.
36d60 73 69 67 6e 61 74 75 72 65 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 61 73 20 79 6f 75 20 68 61 signature.verification.as.you.ha
36d80 76 65 20 64 69 73 61 62 6c 65 64 20 4f 70 65 6e 53 53 4c 20 76 69 61 20 63 6f 6e 66 69 67 2e 64 ve.disabled.OpenSSL.via.config.d
36da0 69 73 61 62 6c 65 2d 74 6c 73 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b isable-tls</warning>');.}.else.{
36dc0 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 .if.(!extension_loaded('openssl'
36de0 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e )).{.throw.new.\RuntimeException
36e00 28 27 54 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 72 65 71 75 69 ('The.openssl.extension.is.requi
36e20 72 65 64 20 66 6f 72 20 70 68 61 72 20 73 69 67 6e 61 74 75 72 65 73 20 74 6f 20 62 65 20 76 65 red.for.phar.signatures.to.be.ve
36e40 72 69 66 69 65 64 20 62 75 74 20 69 74 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2e 20 rified.but.it.is.not.available..
36e60 27 0a 2e 20 27 49 66 20 79 6f 75 20 63 61 6e 20 6e 6f 74 20 65 6e 61 62 6c 65 20 74 68 65 20 6f '...'If.you.can.not.enable.the.o
36e80 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 2c 20 79 6f 75 20 63 61 6e 20 64 69 73 61 62 6c penssl.extension,.you.can.disabl
36ea0 65 20 74 68 69 73 20 65 72 72 6f 72 2c 20 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 2c 20 e.this.error,.at.your.own.risk,.
36ec0 62 79 20 73 65 74 74 69 6e 67 20 74 68 65 20 5c 27 64 69 73 61 62 6c 65 2d 74 6c 73 5c 27 20 6f by.setting.the.\'disable-tls\'.o
36ee0 70 74 69 6f 6e 20 74 6f 20 74 72 75 65 2e 27 29 3b 0a 7d 0a 0a 24 73 69 67 46 69 6c 65 20 3d 20 ption.to.true.');.}..$sigFile.=.
36f00 27 66 69 6c 65 3a 2f 2f 27 2e 24 68 6f 6d 65 2e 27 2f 27 20 2e 20 28 24 75 70 64 61 74 69 6e 67 'file://'.$home.'/'...($updating
36f20 54 6f 54 61 67 20 3f 20 27 6b 65 79 73 2e 74 61 67 73 2e 70 75 62 27 20 3a 20 27 6b 65 79 73 2e ToTag.?.'keys.tags.pub'.:.'keys.
36f40 64 65 76 2e 70 75 62 27 29 3b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 73 69 67 dev.pub');.if.(!file_exists($sig
36f60 46 69 6c 65 29 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 0a 24 68 6f 6d File)).{.file_put_contents(.$hom
36f80 65 2e 27 2f 6b 65 79 73 2e 64 65 76 2e 70 75 62 27 2c 0a 3c 3c 3c 44 45 56 50 55 42 4b 45 59 0a e.'/keys.dev.pub',.<<<DEVPUBKEY.
36fa0 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 0a 4d 49 49 43 49 -----BEGIN.PUBLIC.KEY-----.MIICI
36fc0 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 jANBgkqhkiG9w0BAQEFAAOCAg8AMIICC
36fe0 67 4b 43 41 67 45 41 6e 42 44 48 6a 5a 53 36 65 30 5a 4d 6f 4b 33 78 54 44 37 66 0a 46 4e 43 7a gKCAgEAnBDHjZS6e0ZMoK3xTD7f.FNCz
37000 6c 58 6a 58 2f 41 69 65 32 64 69 74 38 51 58 41 30 33 70 53 72 4f 54 62 61 4d 6e 78 4f 4e 33 68 lXjX/Aie2dit8QXA03pSrOTbaMnxON3h
37020 55 4c 34 37 4c 7a 33 67 31 53 43 36 59 4a 45 4d 56 48 72 30 7a 59 71 34 65 6c 57 69 0a 69 33 65 UL47Lz3g1SC6YJEMVHr0zYq4elWi.i3e
37040 63 46 45 67 7a 4c 63 6a 2b 70 5a 4d 35 58 36 71 57 75 32 4f 7a 7a 34 76 57 78 33 4a 59 6f 31 2f cFEgzLcj+pZM5X6qWu2Ozz4vWx3JYo1/
37060 61 2f 48 59 64 4f 75 57 39 65 33 6c 77 53 38 56 74 53 30 41 56 4a 41 2b 55 38 58 30 41 0a 68 5a a/HYdOuW9e3lwS8VtS0AVJA+U8X0A.hZ
37080 6e 42 6d 47 70 6c 74 48 68 4f 38 68 50 4b 48 67 6b 4a 74 6b 54 55 78 43 68 65 54 63 62 71 6e 34 nBmGpltHhO8hPKHgkJtkTUxCheTcbqn4
370a0 77 47 48 6c 38 5a 32 53 65 64 69 44 63 50 54 4c 77 71 65 7a 57 4b 55 66 72 59 7a 75 31 66 0a 6f wGHl8Z2SediDcPTLwqezWKUfrYzu1f.o
370c0 2f 6a 33 57 46 77 46 73 36 47 74 4b 34 77 64 59 74 69 58 72 2b 79 73 70 42 5a 48 4f 33 79 31 75 /j3WFwFs6GtK4wdYtiXr+yspBZHO3y1u
370e0 64 66 38 65 46 46 47 63 62 32 56 33 45 61 4c 4f 72 74 66 75 72 36 58 51 56 69 7a 6a 4f 75 6b 0a df8eFFGcb2V3EaLOrtfur6XQVizjOuk.
37100 38 6c 77 35 7a 7a 73 65 31 51 70 2f 6b 6c 48 71 62 44 52 73 6a 53 7a 4a 36 69 4c 36 46 34 61 79 8lw5zzse1Qp/klHqbDRsjSzJ6iL6F4ay
37120 6e 42 63 36 45 75 71 74 2f 38 63 63 4e 41 49 7a 30 72 4c 6a 4c 68 4f 72 61 65 79 6a 34 65 4e 6e nBc6Euqt/8ccNAIz0rLjLhOraeyj4eNn
37140 0a 38 69 6f 6b 77 4d 4b 69 58 70 63 72 51 4c 54 4b 48 2b 52 48 31 4a 43 75 4f 56 78 51 34 33 36 .8iokwMKiXpcrQLTKH+RH1JCuOVxQ436
37160 62 4a 77 62 53 73 70 31 56 77 69 71 66 74 50 51 69 65 4e 2b 74 7a 71 79 2b 45 69 48 4a 4a 6d 47 bJwbSsp1VwiqftPQieN+tzqy+EiHJJmG
37180 66 0a 54 42 41 62 57 63 6e 63 69 63 43 6b 39 71 32 6d 64 2b 41 6d 68 4e 62 76 48 4f 34 50 57 62 f.TBAbWcncicCk9q2md+AmhNbvHO4PWb
371a0 62 7a 39 54 7a 43 37 48 4a 62 34 36 30 6a 79 57 65 75 4d 45 76 77 33 67 4e 49 70 45 6f 32 6a 59 bz9TzC7HJb460jyWeuMEvw3gNIpEo2jY
371c0 61 39 0a 70 4d 56 36 63 56 71 6e 53 61 2b 77 4f 63 30 44 37 70 43 39 61 36 62 6e 65 30 62 76 4c a9.pMV6cVqnSa+wOc0D7pC9a6bne0bvL
371e0 63 6d 33 53 2b 77 36 49 35 69 44 42 33 6c 5a 73 62 33 41 39 55 74 52 69 53 50 37 61 47 53 6f 37 cm3S+w6I5iDB3lZsb3A9UtRiSP7aGSo7
37200 44 37 32 0a 38 74 43 38 2b 63 49 67 5a 63 49 37 6b 39 76 6a 76 4f 71 48 2b 64 37 73 64 4f 55 32 D72.8tC8+cIgZcI7k9vjvOqH+d7sdOU2
37220 79 50 43 6e 52 59 36 77 46 68 36 32 2f 67 38 62 44 6e 55 70 72 35 36 6e 5a 4e 31 47 38 39 47 77 yPCnRY6wFh62/g8bDnUpr56nZN1G89Gw
37240 4d 34 64 34 0a 72 2f 54 55 37 42 51 51 49 7a 73 5a 67 41 69 71 4f 47 58 76 56 6b 6c 49 67 41 4d M4d4.r/TU7BQQIzsZgAiqOGXvVklIgAM
37260 69 56 30 69 75 63 67 66 33 72 4e 42 4c 6a 6a 65 4e 45 77 4e 53 54 54 47 39 46 30 43 74 51 2b 37 iV0iucgf3rNBLjjeNEwNSTTG9F0CtQ+7
37280 4a 4c 77 61 45 0a 77 53 45 75 41 75 52 6d 2b 70 52 71 69 38 42 52 6e 51 2f 47 4b 55 63 43 41 77 JLwaE.wSEuAuRm+pRqi8BRnQ/GKUcCAw
372a0 45 41 41 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 0a EAAQ==.-----END.PUBLIC.KEY-----.
372c0 44 45 56 50 55 42 4b 45 59 0a 29 3b 0a 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 DEVPUBKEY.);..file_put_contents(
372e0 0a 24 68 6f 6d 65 2e 27 2f 6b 65 79 73 2e 74 61 67 73 2e 70 75 62 27 2c 0a 3c 3c 3c 54 41 47 53 .$home.'/keys.tags.pub',.<<<TAGS
37300 50 55 42 4b 45 59 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d PUBKEY.-----BEGIN.PUBLIC.KEY----
37320 2d 0a 4d 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 -.MIICIjANBgkqhkiG9w0BAQEFAAOCAg
37340 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 30 56 69 2f 32 4b 36 61 70 43 56 6a 37 36 6e 43 6e 43 8AMIICCgKCAgEA0Vi/2K6apCVj76nCnC
37360 6c 32 0a 4d 51 55 50 64 4b 2b 41 39 65 71 6b 59 42 61 63 58 6f 32 77 51 42 59 6d 79 56 6c 58 6d l2.MQUPdK+A9eqkYBacXo2wQBYmyVlXm
37380 32 2f 6e 2f 5a 73 58 36 70 43 4c 59 50 51 54 48 79 72 35 6a 58 62 6b 51 7a 42 77 38 53 4b 71 50 2/n/ZsX6pCLYPQTHyr5jXbkQzBw8SKqP
373a0 64 6c 68 0a 76 41 37 4e 70 62 4d 65 4e 43 7a 37 77 50 2f 41 6f 62 76 55 58 4d 38 78 51 75 58 4b dlh.vA7NpbMeNCz7wP/AobvUXM8xQuXK
373c0 62 4d 44 54 59 32 75 5a 34 4f 37 73 4d 2b 50 66 47 62 70 74 4b 50 42 47 4c 65 38 5a 38 64 32 73 bMDTY2uZ4O7sM+PfGbptKPBGLe8Z8d2s
373e0 55 6e 54 4f 0a 62 58 74 58 36 4c 72 6a 31 33 77 6b 52 74 6f 37 73 74 2f 77 2f 59 70 33 33 52 48 UnTO.bXtX6Lrj13wkRto7st/w/Yp33RH
37400 65 39 53 6c 71 6b 69 69 53 34 4d 73 48 31 6a 42 6b 63 49 6b 45 48 73 52 61 76 65 5a 7a 65 64 55 e9SlqkiiS4MsH1jBkcIkEHsRaveZzedU
37420 61 78 59 30 4d 0a 6d 62 61 30 75 50 68 47 55 49 6e 70 50 7a 45 48 77 72 59 71 42 42 45 74 57 76 axY0M.mba0uPhGUInpPzEHwrYqBBEtWv
37440 50 39 37 74 32 76 74 66 78 38 49 35 71 76 32 38 6b 68 30 59 36 74 2b 6a 6e 6a 4c 31 55 72 69 64 P97t2vtfx8I5qv28kh0Y6t+jnjL1Urid
37460 32 69 75 51 5a 66 0a 6e 6f 43 4d 46 49 4f 75 34 76 6b 73 4b 35 48 78 4a 78 78 72 4e 30 47 4f 6d 2iuQZf.noCMFIOu4vksK5HxJxxrN0GOm
37480 47 6d 77 56 51 6a 4f 4f 74 78 6b 77 69 6b 4e 69 6f 74 5a 47 50 52 34 4b 73 56 6a 38 4e 6e 42 72 GmwVQjOOtxkwikNiotZGPR4KsVj8NnBr
374a0 4c 58 37 6f 47 75 4d 0a 6e 51 76 47 63 69 69 75 2b 4b 6f 43 32 72 33 48 44 42 72 70 44 65 42 56 LX7oGuM.nQvGciiu+KoC2r3HDBrpDeBV
374c0 64 4f 57 78 44 7a 54 35 52 34 69 49 30 4b 6f 4c 7a 46 68 32 70 4b 71 77 62 59 2b 6f 62 4e 50 53 dOWxDzT5R4iI0KoLzFh2pKqwbY+obNPS
374e0 32 62 6a 2b 32 64 67 4a 0a 72 56 33 56 35 4a 6a 72 79 34 32 51 4f 43 42 4e 33 63 38 38 77 55 31 2bj+2dgJ.rV3V5Jjry42QOCBN3c88wU1
37500 50 4b 66 74 4f 4c 6a 32 45 43 70 65 77 59 36 76 6e 45 34 37 38 49 69 70 69 45 75 37 45 41 64 4b PKftOLj2ECpewY6vnE478IipiEu7EAdK
37520 38 5a 77 6a 32 4c 6d 54 72 0a 52 4b 51 55 53 61 39 6b 37 67 67 42 6b 59 5a 57 41 65 4f 2f 32 41 8Zwj2LmTr.RKQUSa9k7ggBkYZWAeO/2A
37540 67 30 65 79 33 67 32 62 67 37 65 71 6b 2b 73 48 45 71 35 79 6e 49 58 64 35 6c 68 76 36 74 43 35 g0ey3g2bg7eqk+sHEq5ynIXd5lhv6tC5
37560 50 42 64 48 6c 57 69 70 44 4b 0a 74 6c 32 49 78 69 45 6e 65 6a 6e 4f 6d 41 7a 47 56 69 76 45 31 PBdHlWipDK.tl2IxiEnejnOmAzGVivE1
37580 59 47 64 75 59 42 6a 4e 2b 6d 6a 78 44 56 79 38 4b 47 42 72 6a 6e 7a 31 4a 50 67 41 76 67 64 77 YGduYBjN+mjxDVy8KGBrjnz1JPgAvgdw
375a0 4a 32 64 59 77 34 52 73 63 2f 65 0a 54 7a 43 46 57 47 6b 2f 48 4d 36 61 34 66 30 49 7a 42 57 62 J2dYw4Rsc/e.TzCFWGk/HM6a4f0IzBWb
375c0 4a 35 6f 74 30 50 49 69 34 61 6d 6b 30 37 49 6f 74 42 58 44 57 77 71 44 69 51 54 77 79 75 47 43 J5ot0PIi4amk07IotBXDWwqDiQTwyuGC
375e0 79 6d 35 45 71 57 51 32 42 44 39 35 0a 52 47 76 38 39 42 50 44 2b 32 44 4c 6e 4a 79 73 6e 67 73 ym5EqWQ2BD95.RGv89BPD+2DLnJysngs
37600 76 56 61 55 43 41 77 45 41 41 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 vVaUCAwEAAQ==.-----END.PUBLIC.KE
37620 59 2d 2d 2d 2d 2d 0a 54 41 47 53 50 55 42 4b 45 59 0a 29 3b 0a 7d 0a 0a 24 70 75 62 6b 65 79 69 Y-----.TAGSPUBKEY.);.}..$pubkeyi
37640 64 20 3d 20 6f 70 65 6e 73 73 6c 5f 70 6b 65 79 5f 67 65 74 5f 70 75 62 6c 69 63 28 24 73 69 67 d.=.openssl_pkey_get_public($sig
37660 46 69 6c 65 29 3b 0a 24 61 6c 67 6f 20 3d 20 64 65 66 69 6e 65 64 28 27 4f 50 45 4e 53 53 4c 5f File);.$algo.=.defined('OPENSSL_
37680 41 4c 47 4f 5f 53 48 41 33 38 34 27 29 20 3f 20 4f 50 45 4e 53 53 4c 5f 41 4c 47 4f 5f 53 48 41 ALGO_SHA384').?.OPENSSL_ALGO_SHA
376a0 33 38 34 20 3a 20 27 53 48 41 33 38 34 27 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 73 384.:.'SHA384';.if.(!in_array('s
376c0 68 61 33 38 34 27 2c 20 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 74 6f 6c 6f 77 65 72 27 2c 20 ha384',.array_map('strtolower',.
376e0 6f 70 65 6e 73 73 6c 5f 67 65 74 5f 6d 64 5f 6d 65 74 68 6f 64 73 28 29 29 29 29 20 7b 0a 74 68 openssl_get_md_methods()))).{.th
37700 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 53 48 41 33 38 row.new.\RuntimeException('SHA38
37720 34 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 79 6f 75 72 20 6f 70 65 6e 73 4.is.not.supported.by.your.opens
37740 73 6c 20 65 78 74 65 6e 73 69 6f 6e 2c 20 63 6f 75 6c 64 20 6e 6f 74 20 76 65 72 69 66 79 20 74 sl.extension,.could.not.verify.t
37760 68 65 20 70 68 61 72 20 66 69 6c 65 20 69 6e 74 65 67 72 69 74 79 27 29 3b 0a 7d 0a 24 73 69 67 he.phar.file.integrity');.}.$sig
37780 6e 61 74 75 72 65 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 73 69 67 6e 61 74 75 72 65 2c nature.=.json_decode($signature,
377a0 20 74 72 75 65 29 3b 0a 24 73 69 67 6e 61 74 75 72 65 20 3d 20 62 61 73 65 36 34 5f 64 65 63 6f .true);.$signature.=.base64_deco
377c0 64 65 28 24 73 69 67 6e 61 74 75 72 65 5b 27 73 68 61 33 38 34 27 5d 29 3b 0a 24 76 65 72 69 66 de($signature['sha384']);.$verif
377e0 69 65 64 20 3d 20 31 20 3d 3d 3d 20 6f 70 65 6e 73 73 6c 5f 76 65 72 69 66 79 28 66 69 6c 65 5f ied.=.1.===.openssl_verify(file_
37800 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 29 2c 20 24 73 69 get_contents($tempFilename),.$si
37820 67 6e 61 74 75 72 65 2c 20 24 70 75 62 6b 65 79 69 64 2c 20 24 61 6c 67 6f 29 3b 0a 6f 70 65 6e gnature,.$pubkeyid,.$algo);.open
37840 73 73 6c 5f 66 72 65 65 5f 6b 65 79 28 24 70 75 62 6b 65 79 69 64 29 3b 0a 69 66 20 28 21 24 76 ssl_free_key($pubkeyid);.if.(!$v
37860 65 72 69 66 69 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 erified).{.throw.new.\RuntimeExc
37880 65 70 74 69 6f 6e 28 27 54 68 65 20 70 68 61 72 20 73 69 67 6e 61 74 75 72 65 20 64 69 64 20 6e eption('The.phar.signature.did.n
378a0 6f 74 20 6d 61 74 63 68 20 74 68 65 20 66 69 6c 65 20 79 6f 75 20 64 6f 77 6e 6c 6f 61 64 65 64 ot.match.the.file.you.downloaded
378c0 2c 20 74 68 69 73 20 6d 65 61 6e 73 20 79 6f 75 72 20 70 75 62 6c 69 63 20 6b 65 79 73 20 61 72 ,.this.means.your.public.keys.ar
378e0 65 20 6f 75 74 64 61 74 65 64 20 6f 72 20 74 68 61 74 20 74 68 65 20 70 68 61 72 20 66 69 6c 65 e.outdated.or.that.the.phar.file
37900 20 69 73 20 63 6f 72 72 75 70 74 2f 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65 64 27 29 3b .is.corrupt/has.been.modified');
37920 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 63 .}.}....if.($input->getOption('c
37940 6c 65 61 6e 2d 62 61 63 6b 75 70 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 65 61 6e 42 61 lean-backups')).{.$this->cleanBa
37960 63 6b 75 70 73 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 65 72 72 ckups($rollbackDir);.}..if.($err
37980 20 3d 20 24 74 68 69 73 2d 3e 73 65 74 4c 6f 63 61 6c 50 68 61 72 28 24 6c 6f 63 61 6c 46 69 6c .=.$this->setLocalPhar($localFil
379a0 65 6e 61 6d 65 2c 20 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 2c 20 24 62 61 63 6b 75 70 46 69 6c ename,.$tempFilename,.$backupFil
379c0 65 29 29 20 7b 0a 40 75 6e 6c 69 6e 6b 28 24 74 65 6d 70 46 69 6c 65 6e 61 6d 65 29 3b 0a 24 69 e)).{.@unlink($tempFilename);.$i
379e0 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 66 69 6c 65 20 69 o->writeError('<error>The.file.i
37a00 73 20 63 6f 72 72 75 70 74 65 64 20 28 27 2e 24 65 72 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 s.corrupted.('.$err->getMessage(
37a20 29 2e 27 29 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 ).').</error>');.$io->writeError
37a40 28 27 3c 65 72 72 6f 72 3e 50 6c 65 61 73 65 20 72 65 2d 72 75 6e 20 74 68 65 20 73 65 6c 66 2d ('<error>Please.re-run.the.self-
37a60 75 70 64 61 74 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 74 72 79 20 61 67 61 69 6e 2e 3c 2f 65 72 update.command.to.try.again.</er
37a80 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c 65 5f 65 ror>');..return.1;.}..if.(file_e
37aa0 78 69 73 74 73 28 24 62 61 63 6b 75 70 46 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 xists($backupFile)).{.$io->write
37ac0 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 55 73 65 20 3c 69 6e 66 6f 3e 63 6f 6d 70 6f 73 Error(sprintf(.'Use.<info>compos
37ae0 65 72 20 73 65 6c 66 2d 75 70 64 61 74 65 20 2d 2d 72 6f 6c 6c 62 61 63 6b 3c 2f 69 6e 66 6f 3e er.self-update.--rollback</info>
37b00 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 76 65 72 73 69 6f 6e 20 3c 63 6f 6d 6d 65 6e 74 3e 25 .to.return.to.version.<comment>%
37b20 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 56 45 52 53 49 4f 4e 0a s</comment>',.Composer::VERSION.
37b40 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 ));.}.else.{.$io->writeError('<w
37b60 61 72 6e 69 6e 67 3e 41 20 62 61 63 6b 75 70 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 arning>A.backup.of.the.current.v
37b80 65 72 73 69 6f 6e 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 27 ersion.could.not.be.written.to.'
37ba0 2e 24 62 61 63 6b 75 70 46 69 6c 65 2e 27 2c 20 6e 6f 20 72 6f 6c 6c 62 61 63 6b 20 70 6f 73 73 .$backupFile.',.no.rollback.poss
37bc0 69 62 6c 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d ible</warning>');.}..return.0;.}
37be0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 4b 65 79 73 28 49 ..protected.function.fetchKeys(I
37c00 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a OInterface.$io,.Config.$config).
37c20 7b 0a 69 66 20 28 21 24 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 74 {.if.(!$io->isInteractive()).{.t
37c40 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 50 75 62 6c hrow.new.\RuntimeException('Publ
37c60 69 63 20 6b 65 79 73 20 63 61 6e 20 6e 6f 74 20 62 65 20 66 65 74 63 68 65 64 20 69 6e 20 6e 6f ic.keys.can.not.be.fetched.in.no
37c80 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 2c 20 70 6c 65 61 73 65 20 72 75 6e 20 43 n-interactive.mode,.please.run.C
37ca0 6f 6d 70 6f 73 65 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 27 29 3b 0a 7d 0a 0a 24 69 6f 2d omposer.interactively');.}..$io-
37cc0 3e 77 72 69 74 65 28 27 4f 70 65 6e 20 3c 69 6e 66 6f 3e 68 74 74 70 73 3a 2f 2f 63 6f 6d 70 6f >write('Open.<info>https://compo
37ce0 73 65 72 2e 67 69 74 68 75 62 2e 69 6f 2f 70 75 62 6b 65 79 73 2e 68 74 6d 6c 3c 2f 69 6e 66 6f ser.github.io/pubkeys.html</info
37d00 3e 20 74 6f 20 66 69 6e 64 20 74 68 65 20 6c 61 74 65 73 74 20 6b 65 79 73 27 29 3b 0a 0a 24 76 >.to.find.the.latest.keys');..$v
37d20 61 6c 69 64 61 74 6f 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 7b 0a 69 alidator.=.function.($value).{.i
37d40 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 f.(!preg_match('{^-----BEGIN.PUB
37d60 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 24 7d 27 2c 20 74 72 69 6d 28 24 76 61 6c 75 65 29 29 29 20 LIC.KEY-----$}',.trim($value))).
37d80 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 {.throw.new.\UnexpectedValueExce
37da0 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 69 6e 70 75 74 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 ption('Invalid.input');.}..retur
37dc0 6e 20 74 72 69 6d 28 24 76 61 6c 75 65 29 2e 22 5c 6e 22 3b 0a 7d 3b 0a 0a 24 64 65 76 4b 65 79 n.trim($value)."\n";.};..$devKey
37de0 20 3d 20 27 27 3b 0a 77 68 69 6c 65 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 28 2d 2d 2d .=.'';.while.(!preg_match('{(---
37e00 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 2e 2b 3f 2d 2d 2d 2d 2d 45 --BEGIN.PUBLIC.KEY-----.+?-----E
37e20 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 29 7d 73 27 2c 20 24 64 65 76 4b 65 79 2c ND.PUBLIC.KEY-----)}s',.$devKey,
37e40 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 64 65 76 4b 65 79 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e .$match)).{.$devKey.=.$io->askAn
37e60 64 56 61 6c 69 64 61 74 65 28 27 45 6e 74 65 72 20 44 65 76 20 2f 20 53 6e 61 70 73 68 6f 74 20 dValidate('Enter.Dev./.Snapshot.
37e80 50 75 62 6c 69 63 20 4b 65 79 20 28 69 6e 63 6c 75 64 69 6e 67 20 6c 69 6e 65 73 20 77 69 74 68 Public.Key.(including.lines.with
37ea0 20 2d 2d 2d 2d 2d 29 3a 20 27 2c 20 24 76 61 6c 69 64 61 74 6f 72 29 3b 0a 77 68 69 6c 65 20 28 .-----):.',.$validator);.while.(
37ec0 24 6c 69 6e 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 28 27 27 29 29 20 7b 0a 24 64 65 76 4b 65 79 20 $line.=.$io->ask('')).{.$devKey.
37ee0 2e 3d 20 74 72 69 6d 28 24 6c 69 6e 65 29 2e 22 5c 6e 22 3b 0a 69 66 20 28 74 72 69 6d 28 24 6c .=.trim($line)."\n";.if.(trim($l
37f00 69 6e 65 29 20 3d 3d 3d 20 27 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d ine).===.'-----END.PUBLIC.KEY---
37f20 2d 2d 27 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e --').{.break;.}.}.}.file_put_con
37f40 74 65 6e 74 73 28 24 6b 65 79 50 61 74 68 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 tents($keyPath.=.$config->get('h
37f60 6f 6d 65 27 29 2e 27 2f 6b 65 79 73 2e 64 65 76 2e 70 75 62 27 2c 20 24 6d 61 74 63 68 5b 30 5d ome').'/keys.dev.pub',.$match[0]
37f80 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 53 74 6f 72 65 64 20 6b 65 79 20 77 69 74 68 20 66 );.$io->write('Stored.key.with.f
37fa0 69 6e 67 65 72 70 72 69 6e 74 3a 20 27 20 2e 20 4b 65 79 73 3a 3a 66 69 6e 67 65 72 70 72 69 6e ingerprint:.'...Keys::fingerprin
37fc0 74 28 24 6b 65 79 50 61 74 68 29 29 3b 0a 0a 24 74 61 67 73 4b 65 79 20 3d 20 27 27 3b 0a 77 68 t($keyPath));..$tagsKey.=.'';.wh
37fe0 69 6c 65 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 28 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 ile.(!preg_match('{(-----BEGIN.P
38000 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 2e 2b 3f 2d 2d 2d 2d 2d 45 4e 44 20 50 55 42 4c 49 43 UBLIC.KEY-----.+?-----END.PUBLIC
38020 20 4b 45 59 2d 2d 2d 2d 2d 29 7d 73 27 2c 20 24 74 61 67 73 4b 65 79 2c 20 24 6d 61 74 63 68 29 .KEY-----)}s',.$tagsKey,.$match)
38040 29 20 7b 0a 24 74 61 67 73 4b 65 79 20 3d 20 24 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 ).{.$tagsKey.=.$io->askAndValida
38060 74 65 28 27 45 6e 74 65 72 20 54 61 67 73 20 50 75 62 6c 69 63 20 4b 65 79 20 28 69 6e 63 6c 75 te('Enter.Tags.Public.Key.(inclu
38080 64 69 6e 67 20 6c 69 6e 65 73 20 77 69 74 68 20 2d 2d 2d 2d 2d 29 3a 20 27 2c 20 24 76 61 6c 69 ding.lines.with.-----):.',.$vali
380a0 64 61 74 6f 72 29 3b 0a 77 68 69 6c 65 20 28 24 6c 69 6e 65 20 3d 20 24 69 6f 2d 3e 61 73 6b 28 dator);.while.($line.=.$io->ask(
380c0 27 27 29 29 20 7b 0a 24 74 61 67 73 4b 65 79 20 2e 3d 20 74 72 69 6d 28 24 6c 69 6e 65 29 2e 22 '')).{.$tagsKey..=.trim($line)."
380e0 5c 6e 22 3b 0a 69 66 20 28 74 72 69 6d 28 24 6c 69 6e 65 29 20 3d 3d 3d 20 27 2d 2d 2d 2d 2d 45 \n";.if.(trim($line).===.'-----E
38100 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 27 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a ND.PUBLIC.KEY-----').{.break;.}.
38120 7d 0a 7d 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6b 65 79 50 61 74 68 20 3d }.}.file_put_contents($keyPath.=
38140 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e 27 2f 6b 65 79 73 2e 74 61 67 .$config->get('home').'/keys.tag
38160 73 2e 70 75 62 27 2c 20 24 6d 61 74 63 68 5b 30 5d 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 s.pub',.$match[0]);.$io->write('
38180 53 74 6f 72 65 64 20 6b 65 79 20 77 69 74 68 20 66 69 6e 67 65 72 70 72 69 6e 74 3a 20 27 20 2e Stored.key.with.fingerprint:.'..
381a0 20 4b 65 79 73 3a 3a 66 69 6e 67 65 72 70 72 69 6e 74 28 24 6b 65 79 50 61 74 68 29 29 3b 0a 0a .Keys::fingerprint($keyPath));..
381c0 24 69 6f 2d 3e 77 72 69 74 65 28 27 50 75 62 6c 69 63 20 6b 65 79 73 20 73 74 6f 72 65 64 20 69 $io->write('Public.keys.stored.i
381e0 6e 20 27 2e 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 29 3b 0a 7d 0a 0a 70 72 n.'.$config->get('home'));.}..pr
38200 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 6f 6c 6c 62 61 63 6b 28 4f 75 74 70 75 74 otected.function.rollback(Output
38220 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2c Interface.$output,.$rollbackDir,
38240 20 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 0a 7b 0a 24 72 6f 6c 6c 62 61 63 6b 56 65 72 73 .$localFilename).{.$rollbackVers
38260 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 61 73 74 42 61 63 6b 75 70 56 65 72 73 69 6f ion.=.$this->getLastBackupVersio
38280 6e 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 3b 0a 69 66 20 28 21 24 72 6f 6c 6c 62 61 63 6b 56 n($rollbackDir);.if.(!$rollbackV
382a0 65 72 73 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 ersion).{.throw.new.\UnexpectedV
382c0 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 6d 70 6f 73 65 72 20 72 6f 6c 6c 62 61 63 6b alueException('Composer.rollback
382e0 20 66 61 69 6c 65 64 3a 20 6e 6f 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 74 6f 20 72 6f 6c 6c .failed:.no.installation.to.roll
38300 20 62 61 63 6b 20 74 6f 20 69 6e 20 22 27 2e 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2e 27 22 27 29 .back.to.in."'.$rollbackDir.'"')
38320 3b 0a 7d 0a 0a 24 6f 6c 64 46 69 6c 65 20 3d 20 24 72 6f 6c 6c 62 61 63 6b 44 69 72 20 2e 20 27 ;.}..$oldFile.=.$rollbackDir...'
38340 2f 27 20 2e 20 24 72 6f 6c 6c 62 61 63 6b 56 65 72 73 69 6f 6e 20 2e 20 73 65 6c 66 3a 3a 4f 4c /'...$rollbackVersion...self::OL
38360 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 3b 0a 0a 69 66 20 28 21 69 73 5f 66 69 6c 65 28 24 6f 6c D_INSTALL_EXT;..if.(!is_file($ol
38380 64 46 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 45 78 dFile)).{.throw.new.FilesystemEx
383a0 63 65 70 74 69 6f 6e 28 27 43 6f 6d 70 6f 73 65 72 20 72 6f 6c 6c 62 61 63 6b 20 66 61 69 6c 65 ception('Composer.rollback.faile
383c0 64 3a 20 22 27 2e 24 6f 6c 64 46 69 6c 65 2e 27 22 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 d:."'.$oldFile.'".could.not.be.f
383e0 6f 75 6e 64 27 29 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 6f 6c 64 46 ound');.}.if.(!is_readable($oldF
38400 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 45 78 63 65 ile)).{.throw.new.FilesystemExce
38420 70 74 69 6f 6e 28 27 43 6f 6d 70 6f 73 65 72 20 72 6f 6c 6c 62 61 63 6b 20 66 61 69 6c 65 64 3a ption('Composer.rollback.failed:
38440 20 22 27 2e 24 6f 6c 64 46 69 6c 65 2e 27 22 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 72 65 61 ."'.$oldFile.'".could.not.be.rea
38460 64 27 29 3b 0a 7d 0a 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 69 d');.}..$io.=.$this->getIO();.$i
38480 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 22 52 6f 6c 6c 69 6e 67 20 62 o->writeError(sprintf("Rolling.b
384a0 61 63 6b 20 74 6f 20 76 65 72 73 69 6f 6e 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 2e 22 ack.to.version.<info>%s</info>."
384c0 2c 20 24 72 6f 6c 6c 62 61 63 6b 56 65 72 73 69 6f 6e 29 29 3b 0a 69 66 20 28 24 65 72 72 20 3d ,.$rollbackVersion));.if.($err.=
384e0 20 24 74 68 69 73 2d 3e 73 65 74 4c 6f 63 61 6c 50 68 61 72 28 24 6c 6f 63 61 6c 46 69 6c 65 6e .$this->setLocalPhar($localFilen
38500 61 6d 65 2c 20 24 6f 6c 64 46 69 6c 65 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f ame,.$oldFile)).{.$io->writeErro
38520 72 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 62 61 63 6b 75 70 20 66 69 6c 65 20 77 61 73 20 63 6f r('<error>The.backup.file.was.co
38540 72 72 75 70 74 65 64 20 28 27 2e 24 65 72 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 rrupted.('.$err->getMessage().')
38560 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 .</error>');..return.1;.}..retur
38580 6e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f n.0;.}.........protected.functio
385a0 6e 20 73 65 74 4c 6f 63 61 6c 50 68 61 72 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 2c 20 24 n.setLocalPhar($localFilename,.$
385c0 6e 65 77 46 69 6c 65 6e 61 6d 65 2c 20 24 62 61 63 6b 75 70 54 61 72 67 65 74 20 3d 20 6e 75 6c newFilename,.$backupTarget.=.nul
385e0 6c 29 0a 7b 0a 74 72 79 20 7b 0a 40 63 68 6d 6f 64 28 24 6e 65 77 46 69 6c 65 6e 61 6d 65 2c 20 l).{.try.{.@chmod($newFilename,.
38600 66 69 6c 65 70 65 72 6d 73 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 29 3b 0a 69 66 20 28 fileperms($localFilename));.if.(
38620 21 69 6e 69 5f 67 65 74 28 27 70 68 61 72 2e 72 65 61 64 6f 6e 6c 79 27 29 29 20 7b 0a 0a 20 24 !ini_get('phar.readonly')).{...$
38640 70 68 61 72 20 3d 20 6e 65 77 20 5c 50 68 61 72 28 24 6e 65 77 46 69 6c 65 6e 61 6d 65 29 3b 0a phar.=.new.\Phar($newFilename);.
38660 0a 20 75 6e 73 65 74 28 24 70 68 61 72 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 62 61 63 6b 75 70 ..unset($phar);.}....if.($backup
38680 54 61 72 67 65 74 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 6c 6f 63 61 6c 46 69 6c 65 Target.&&.file_exists($localFile
386a0 6e 61 6d 65 29 29 20 7b 0a 40 63 6f 70 79 28 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 2c 20 24 name)).{.@copy($localFilename,.$
386c0 62 61 63 6b 75 70 54 61 72 67 65 74 29 3b 0a 7d 0a 0a 72 65 6e 61 6d 65 28 24 6e 65 77 46 69 6c backupTarget);.}..rename($newFil
386e0 65 6e 61 6d 65 2c 20 24 6c 6f 63 61 6c 46 69 6c 65 6e 61 6d 65 29 3b 0a 0a 72 65 74 75 72 6e 20 ename,.$localFilename);..return.
38700 6e 75 6c 6c 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a null;.}.catch.(\Exception.$e).{.
38720 69 66 20 28 21 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 if.(!$e.instanceof.\UnexpectedVa
38740 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 26 26 20 21 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c lueException.&&.!$e.instanceof.\
38760 50 68 61 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 PharException).{.throw.$e;.}..re
38780 74 75 72 6e 20 24 65 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e turn.$e;.}.}..protected.function
387a0 20 63 6c 65 61 6e 42 61 63 6b 75 70 73 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 2c 20 24 65 78 63 .cleanBackups($rollbackDir,.$exc
387c0 65 70 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 66 69 6e 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 ept.=.null).{.$finder.=.$this->g
387e0 65 74 4f 6c 64 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 46 69 6e 64 65 72 28 24 72 6f 6c 6c 62 61 63 etOldInstallationFinder($rollbac
38800 6b 44 69 72 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 66 73 kDir);.$io.=.$this->getIO();.$fs
38820 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 69 .=.new.Filesystem;..foreach.($fi
38840 6e 64 65 72 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 24 65 78 63 65 70 74 20 26 26 20 nder.as.$file).{.if.($except.&&.
38860 24 66 69 6c 65 2d 3e 67 65 74 42 61 73 65 6e 61 6d 65 28 73 65 6c 66 3a 3a 4f 4c 44 5f 49 4e 53 $file->getBasename(self::OLD_INS
38880 54 41 4c 4c 5f 45 58 54 29 20 3d 3d 3d 20 24 65 78 63 65 70 74 29 20 7b 0a 63 6f 6e 74 69 6e 75 TALL_EXT).===.$except).{.continu
388a0 65 3b 0a 7d 0a 24 66 69 6c 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 66 69 6c 65 3b 0a 24 69 6f e;.}.$file.=.(string).$file;.$io
388c0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 52 65 6d 6f 76 69 6e 67 3a 20 27 2e ->writeError('<info>Removing:.'.
388e0 24 66 69 6c 65 2e 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 24 66 73 2d 3e 72 65 6d 6f 76 65 28 24 66 $file.'</info>');.$fs->remove($f
38900 69 6c 65 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 ile);.}.}..protected.function.ge
38920 74 4c 61 73 74 42 61 63 6b 75 70 56 65 72 73 69 6f 6e 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 tLastBackupVersion($rollbackDir)
38940 0a 7b 0a 24 66 69 6e 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4f 6c 64 49 6e 73 74 61 6c .{.$finder.=.$this->getOldInstal
38960 6c 61 74 69 6f 6e 46 69 6e 64 65 72 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 3b 0a 24 66 69 6e lationFinder($rollbackDir);.$fin
38980 64 65 72 2d 3e 73 6f 72 74 42 79 4e 61 6d 65 28 29 3b 0a 24 66 69 6c 65 73 20 3d 20 69 74 65 72 der->sortByName();.$files.=.iter
389a0 61 74 6f 72 5f 74 6f 5f 61 72 72 61 79 28 24 66 69 6e 64 65 72 29 3b 0a 0a 69 66 20 28 63 6f 75 ator_to_array($finder);..if.(cou
389c0 6e 74 28 24 66 69 6c 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 62 61 73 65 6e 61 6d 65 28 65 6e nt($files)).{.return.basename(en
389e0 64 28 24 66 69 6c 65 73 29 2c 20 73 65 6c 66 3a 3a 4f 4c 44 5f 49 4e 53 54 41 4c 4c 5f 45 58 54 d($files),.self::OLD_INSTALL_EXT
38a00 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 );.}..return.false;.}..protected
38a20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 6c 64 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 46 69 6e 64 .function.getOldInstallationFind
38a40 65 72 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 0a 7b 0a 24 66 69 6e 64 65 72 20 3d 20 46 69 6e er($rollbackDir).{.$finder.=.Fin
38a60 64 65 72 3a 3a 63 72 65 61 74 65 28 29 0a 2d 3e 64 65 70 74 68 28 30 29 0a 2d 3e 66 69 6c 65 73 der::create().->depth(0).->files
38a80 28 29 0a 2d 3e 6e 61 6d 65 28 27 2a 27 20 2e 20 73 65 6c 66 3a 3a 4f 4c 44 5f 49 4e 53 54 41 4c ().->name('*'...self::OLD_INSTAL
38aa0 4c 5f 45 58 54 29 0a 2d 3e 69 6e 28 24 72 6f 6c 6c 62 61 63 6b 44 69 72 29 3b 0a 0a 72 65 74 75 L_EXT).->in($rollbackDir);..retu
38ac0 72 6e 20 24 66 69 6e 64 65 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a rn.$finder;.}.}.<?php...........
38ae0 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 .namespace.Composer\Command;..us
38b00 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 e.Composer\Composer;.use.Compose
38b20 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 44 65 66 61 75 6c 74 50 6f 6c 69 r\DependencyResolver\DefaultPoli
38b40 63 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c cy;.use.Composer\DependencyResol
38b60 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e ver\Pool;.use.Composer\Json\Json
38b80 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 File;.use.Composer\Package\BaseP
38ba0 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d ackage;.use.Composer\Package\Com
38bc0 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f pletePackageInterface;.use.Compo
38be0 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 ser\Package\PackageInterface;.us
38c00 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 e.Composer\Package\Version\Versi
38c20 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 onParser;.use.Composer\Package\V
38c40 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 ersion\VersionSelector;.use.Comp
38c60 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f oser\Plugin\CommandEvent;.use.Co
38c80 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 mposer\Plugin\PluginEvents;.use.
38ca0 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 41 72 72 61 79 52 65 70 6f 73 69 74 Composer\Repository\ArrayReposit
38cc0 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d ory;.use.Composer\Repository\Com
38ce0 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 poserRepository;.use.Composer\Re
38d00 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 pository\CompositeRepository;.us
38d20 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 e.Composer\Repository\PlatformRe
38d40 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 pository;.use.Composer\Repositor
38d60 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 y\RepositoryFactory;.use.Compose
38d80 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 r\Repository\RepositoryInterface
38da0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 ;.use.Composer\Semver\Constraint
38dc0 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 \ConstraintInterface;.use.Compos
38de0 65 72 5c 53 65 6d 76 65 72 5c 53 65 6d 76 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 er\Semver\Semver;.use.Composer\S
38e00 70 64 78 5c 53 70 64 78 4c 69 63 65 6e 73 65 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 pdx\SpdxLicenses;.use.Composer\U
38e20 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e til\Platform;.use.Symfony\Compon
38e40 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d ent\Console\Formatter\OutputForm
38e60 61 74 74 65 72 53 74 79 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e atterStyle;.use.Symfony\Componen
38e80 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 t\Console\Input\InputArgument;.u
38ea0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 se.Symfony\Component\Console\Inp
38ec0 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 ut\InputInterface;.use.Symfony\C
38ee0 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 omponent\Console\Input\InputOpti
38f00 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c on;.use.Symfony\Component\Consol
38f20 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 e\Output\OutputInterface;.use.Sy
38f40 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 54 65 72 6d 69 6e 61 6c mfony\Component\Console\Terminal
38f60 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 68 6f 77 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e ;........class.ShowCommand.exten
38f80 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 ds.BaseCommand.{..protected.$ver
38fa0 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6c 6f 72 73 3b 0a 0a sionParser;.protected.$colors;..
38fc0 0a 70 72 69 76 61 74 65 20 24 70 6f 6f 6c 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 .private.$pool;..protected.funct
38fe0 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d ion.configure().{.$this.->setNam
39000 65 28 27 73 68 6f 77 27 29 0a 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 28 27 69 6e e('show').->setAliases(array('in
39020 66 6f 27 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 69 6e fo')).->setDescription('Shows.in
39040 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 70 61 63 6b 61 67 65 73 2e 27 29 0a 2d 3e 73 65 formation.about.packages.').->se
39060 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 tDefinition(array(.new.InputArgu
39080 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f ment('package',.InputArgument::O
390a0 50 54 49 4f 4e 41 4c 2c 20 27 50 61 63 6b 61 67 65 20 74 6f 20 69 6e 73 70 65 63 74 2e 20 4f 72 PTIONAL,.'Package.to.inspect..Or
390c0 20 61 20 6e 61 6d 65 20 69 6e 63 6c 75 64 69 6e 67 20 61 20 77 69 6c 64 63 61 72 64 20 28 2a 29 .a.name.including.a.wildcard.(*)
390e0 20 74 6f 20 66 69 6c 74 65 72 20 6c 69 73 74 73 20 6f 66 20 70 61 63 6b 61 67 65 73 20 69 6e 73 .to.filter.lists.of.packages.ins
39100 74 65 61 64 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 76 65 72 73 tead.'),.new.InputArgument('vers
39120 69 6f 6e 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 ion',.InputArgument::OPTIONAL,.'
39140 56 65 72 73 69 6f 6e 20 6f 72 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 74 6f Version.or.version.constraint.to
39160 20 69 6e 73 70 65 63 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 6c 6c .inspect'),.new.InputOption('all
39180 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.null,.InputOption::VALUE_NONE
391a0 2c 20 27 4c 69 73 74 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 ,.'List.all.packages'),.new.Inpu
391c0 74 4f 70 74 69 6f 6e 28 27 69 6e 73 74 61 6c 6c 65 64 27 2c 20 27 69 27 2c 20 49 6e 70 75 74 4f tOption('installed',.'i',.InputO
391e0 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 69 6e 73 74 61 6c 6c ption::VALUE_NONE,.'List.install
39200 65 64 20 70 61 63 6b 61 67 65 73 20 6f 6e 6c 79 20 28 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 ed.packages.only.(enabled.by.def
39220 61 75 6c 74 2c 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 66 6f 72 20 42 43 29 2e 27 29 2c 0a 6e ault,.only.present.for.BC).'),.n
39240 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 6c 61 74 66 6f 72 6d 27 2c 20 27 70 27 2c 20 ew.InputOption('platform',.'p',.
39260 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 70 InputOption::VALUE_NONE,.'List.p
39280 6c 61 74 66 6f 72 6d 20 70 61 63 6b 61 67 65 73 20 6f 6e 6c 79 27 29 2c 0a 6e 65 77 20 49 6e 70 latform.packages.only'),.new.Inp
392a0 75 74 4f 70 74 69 6f 6e 28 27 61 76 61 69 6c 61 62 6c 65 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 utOption('available',.'a',.Input
392c0 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 61 76 61 69 6c 61 Option::VALUE_NONE,.'List.availa
392e0 62 6c 65 20 70 61 63 6b 61 67 65 73 20 6f 6e 6c 79 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 ble.packages.only'),.new.InputOp
39300 74 69 6f 6e 28 27 73 65 6c 66 27 2c 20 27 73 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 tion('self',.'s',.InputOption::V
39320 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 ALUE_NONE,.'Show.the.root.packag
39340 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e e.information'),.new.InputOption
39360 28 27 6e 61 6d 65 2d 6f 6e 6c 79 27 2c 20 27 4e 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a ('name-only',.'N',.InputOption::
39380 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 20 VALUE_NONE,.'List.package.names.
393a0 6f 6e 6c 79 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 2c 20 only'),.new.InputOption('path',.
393c0 27 50 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 'P',.InputOption::VALUE_NONE,.'S
393e0 68 6f 77 20 70 61 63 6b 61 67 65 20 70 61 74 68 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 how.package.paths'),.new.InputOp
39400 74 69 6f 6e 28 27 74 72 65 65 27 2c 20 27 74 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 tion('tree',.'t',.InputOption::V
39420 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4c 69 73 74 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65 ALUE_NONE,.'List.the.dependencie
39440 73 20 61 73 20 61 20 74 72 65 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 s.as.a.tree'),.new.InputOption('
39460 6c 61 74 65 73 74 27 2c 20 27 6c 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 latest',.'l',.InputOption::VALUE
39480 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 27 _NONE,.'Show.the.latest.version'
394a0 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 2c 20 27 ),.new.InputOption('outdated',.'
394c0 6f 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 o',.InputOption::VALUE_NONE,.'Sh
394e0 6f 77 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 20 62 75 74 20 6f 6e 6c 79 20 66 ow.the.latest.version.but.only.f
39500 6f 72 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 61 72 65 20 6f 75 74 64 61 74 65 64 27 29 2c or.packages.that.are.outdated'),
39520 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 27 2c 20 6e 75 6c 6c 2c .new.InputOption('ignore',.null,
39540 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 20 7c 20 49 .InputOption::VALUE_REQUIRED.|.I
39560 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 2c 20 27 49 67 6e nputOption::VALUE_IS_ARRAY,.'Ign
39580 6f 72 65 20 73 70 65 63 69 66 69 65 64 20 70 61 63 6b 61 67 65 28 73 29 2e 20 55 73 65 20 69 74 ore.specified.package(s)..Use.it
395a0 20 77 69 74 68 20 74 68 65 20 2d 2d 6f 75 74 64 61 74 65 64 20 6f 70 74 69 6f 6e 20 69 66 20 79 .with.the.--outdated.option.if.y
395c0 6f 75 20 64 6f 6e 5c 27 74 20 77 61 6e 74 20 74 6f 20 62 65 20 69 6e 66 6f 72 6d 65 64 20 61 62 ou.don\'t.want.to.be.informed.ab
395e0 6f 75 74 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 73 6f 6d 65 20 70 61 63 6b 61 67 65 out.new.versions.of.some.package
39600 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6d 69 6e 6f 72 2d 6f 6e 6c s.'),.new.InputOption('minor-onl
39620 79 27 2c 20 27 6d 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 y',.'m',.InputOption::VALUE_NONE
39640 2c 20 27 53 68 6f 77 20 6f 6e 6c 79 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 68 61 76 65 20 ,.'Show.only.packages.that.have.
39660 6d 69 6e 6f 72 20 53 65 6d 56 65 72 2d 63 6f 6d 70 61 74 69 62 6c 65 20 75 70 64 61 74 65 73 2e minor.SemVer-compatible.updates.
39680 20 55 73 65 20 77 69 74 68 20 74 68 65 20 2d 2d 6f 75 74 64 61 74 65 64 20 6f 70 74 69 6f 6e 2e .Use.with.the.--outdated.option.
396a0 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 69 72 65 63 74 27 2c 20 27 44 '),.new.InputOption('direct',.'D
396c0 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f ',.InputOption::VALUE_NONE,.'Sho
396e0 77 73 20 6f 6e 6c 79 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 61 72 65 20 64 69 72 65 63 74 ws.only.packages.that.are.direct
39700 6c 79 20 72 65 71 75 69 72 65 64 20 62 79 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 27 ly.required.by.the.root.package'
39720 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 27 2c 20 6e 75 6c ),.new.InputOption('strict',.nul
39740 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 74 l,.InputOption::VALUE_NONE,.'Ret
39760 75 72 6e 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 65 78 69 74 20 63 6f 64 65 20 77 68 65 6e 20 74 68 urn.a.non-zero.exit.code.when.th
39780 65 72 65 20 61 72 65 20 6f 75 74 64 61 74 65 64 20 70 61 63 6b 61 67 65 73 27 29 2c 0a 6e 65 77 ere.are.outdated.packages'),.new
397a0 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 27 66 27 2c 20 49 6e 70 75 .InputOption('format',.'f',.Inpu
397c0 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 46 6f 72 6d 61 74 tOption::VALUE_REQUIRED,.'Format
397e0 20 6f 66 20 74 68 65 20 6f 75 74 70 75 74 3a 20 74 65 78 74 20 6f 72 20 6a 73 6f 6e 27 2c 20 27 .of.the.output:.text.or.json',.'
39800 74 65 78 74 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 text'),.)).->setHelp(.<<<EOT.The
39820 20 73 68 6f 77 20 63 6f 6d 6d 61 6e 64 20 64 69 73 70 6c 61 79 73 20 64 65 74 61 69 6c 65 64 20 .show.command.displays.detailed.
39840 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 61 20 70 61 63 6b 61 67 65 2c 20 6f 72 0a information.about.a.package,.or.
39860 6c 69 73 74 73 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 20 61 76 61 69 6c 61 62 6c 65 2e 0a 0a 52 lists.all.packages.available...R
39880 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e ead.more.at.https://getcomposer.
398a0 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 73 68 6f 77 0a 45 4f 54 0a 29 0a 3b 0a 7d org/doc/03-cli.md#show.EOT.).;.}
398c0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 ..protected.function.execute(Inp
398e0 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 utInterface.$input,.OutputInterf
39900 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 ace.$output).{.$this->versionPar
39920 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 69 66 20 28 24 69 6e ser.=.new.VersionParser;.if.($in
39940 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 74 72 65 65 27 29 29 20 7b 0a 24 74 68 69 73 2d put->getOption('tree')).{.$this-
39960 3e 69 6e 69 74 53 74 79 6c 65 73 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 >initStyles($output);.}..$compos
39980 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 29 3b 0a er.=.$this->getComposer(false);.
399a0 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 $io.=.$this->getIO();..if.($inpu
399c0 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 6e 73 74 61 6c 6c 65 64 27 29 29 20 7b 0a 24 69 6f t->getOption('installed')).{.$io
399e0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 ->writeError('<warning>You.are.u
39a00 73 69 6e 67 20 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 69 6f 6e 20 22 69 6e 73 74 sing.the.deprecated.option."inst
39a20 61 6c 6c 65 64 22 2e 20 4f 6e 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 70 61 63 6b 61 67 65 73 20 alled"..Only.installed.packages.
39a40 61 72 65 20 73 68 6f 77 6e 20 62 79 20 64 65 66 61 75 6c 74 20 6e 6f 77 2e 20 54 68 65 20 2d 2d are.shown.by.default.now..The.--
39a60 61 6c 6c 20 6f 70 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 68 6f 77 20 61 all.option.can.be.used.to.show.a
39a80 6c 6c 20 70 61 63 6b 61 67 65 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 69 66 20 ll.packages.</warning>');.}..if.
39aa0 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 29 29 20 ($input->getOption('outdated')).
39ac0 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 2c 20 74 72 {.$input->setOption('latest',.tr
39ae0 75 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e ue);.}.elseif.($input->getOption
39b00 28 27 69 67 6e 6f 72 65 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c ('ignore')).{.$io->writeError('<
39b20 77 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 6f 70 74 69 6f 6e warning>You.are.using.the.option
39b40 20 22 69 67 6e 6f 72 65 22 20 66 6f 72 20 61 63 74 69 6f 6e 20 6f 74 68 65 72 20 74 68 61 6e 20 ."ignore".for.action.other.than.
39b60 22 6f 75 74 64 61 74 65 64 22 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 69 67 6e 6f 72 65 64 2e 3c "outdated",.it.will.be.ignored.<
39b80 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f /warning>');.}..if.($input->getO
39ba0 70 74 69 6f 6e 28 27 64 69 72 65 63 74 27 29 20 26 26 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f ption('direct').&&.($input->getO
39bc0 70 74 69 6f 6e 28 27 61 6c 6c 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f ption('all').||.$input->getOptio
39be0 6e 28 27 61 76 61 69 6c 61 62 6c 65 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 n('available').||.$input->getOpt
39c00 69 6f 6e 28 27 70 6c 61 74 66 6f 72 6d 27 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 ion('platform'))).{.$io->writeEr
39c20 72 6f 72 28 27 54 68 65 20 2d 2d 64 69 72 65 63 74 20 28 2d 44 29 20 6f 70 74 69 6f 6e 20 69 73 ror('The.--direct.(-D).option.is
39c40 20 6e 6f 74 20 75 73 61 62 6c 65 20 69 6e 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 77 69 74 68 20 .not.usable.in.combination.with.
39c60 2d 2d 61 6c 6c 2c 20 2d 2d 70 6c 61 74 66 6f 72 6d 20 28 2d 70 29 20 6f 72 20 2d 2d 61 76 61 69 --all,.--platform.(-p).or.--avai
39c80 6c 61 62 6c 65 20 28 2d 61 29 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 lable.(-a)');..return.1;.}..if.(
39ca0 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 74 72 65 65 27 29 20 26 26 20 28 24 69 $input->getOption('tree').&&.($i
39cc0 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 29 20 7c 7c 20 24 69 6e 70 75 74 nput->getOption('all').||.$input
39ce0 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 76 61 69 6c 61 62 6c 65 27 29 29 29 20 7b 0a 24 69 6f ->getOption('available'))).{.$io
39d00 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 54 68 65 20 2d 2d 74 72 65 65 20 28 2d 74 29 20 6f 70 ->writeError('The.--tree.(-t).op
39d20 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 61 62 6c 65 20 69 6e 20 63 6f 6d 62 69 6e 61 74 69 6f tion.is.not.usable.in.combinatio
39d40 6e 20 77 69 74 68 20 2d 2d 61 6c 6c 20 6f 72 20 2d 2d 61 76 61 69 6c 61 62 6c 65 20 28 2d 61 29 n.with.--all.or.--available.(-a)
39d60 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 ');..return.1;.}..if.($input->ge
39d80 74 4f 70 74 69 6f 6e 28 27 74 72 65 65 27 29 20 26 26 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 tOption('tree').&&.$input->getOp
39da0 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f tion('latest')).{.$io->writeErro
39dc0 72 28 27 54 68 65 20 2d 2d 74 72 65 65 20 28 2d 74 29 20 6f 70 74 69 6f 6e 20 69 73 20 6e 6f 74 r('The.--tree.(-t).option.is.not
39de0 20 75 73 61 62 6c 65 20 69 6e 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 77 69 74 68 20 2d 2d 6c 61 .usable.in.combination.with.--la
39e00 74 65 73 74 20 28 2d 6c 29 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 24 66 6f 72 6d test.(-l)');..return.1;.}..$form
39e20 61 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 at.=.$input->getOption('format')
39e40 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 66 6f 72 6d 61 74 2c 20 61 72 72 61 79 28 27 ;.if.(!in_array($format,.array('
39e60 74 65 78 74 27 2c 20 27 6a 73 6f 6e 27 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 text',.'json'))).{.$io->writeErr
39e80 6f 72 28 73 70 72 69 6e 74 66 28 27 55 6e 73 75 70 70 6f 72 74 65 64 20 66 6f 72 6d 61 74 20 22 or(sprintf('Unsupported.format."
39ea0 25 73 22 2e 20 53 65 65 20 68 65 6c 70 20 66 6f 72 20 73 75 70 70 6f 72 74 65 64 20 66 6f 72 6d %s"..See.help.for.supported.form
39ec0 61 74 73 2e 27 2c 20 24 66 6f 72 6d 61 74 29 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a ats.',.$format));..return.1;.}..
39ee0 0a 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ..$platformOverrides.=.array();.
39f00 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 if.($composer).{.$platformOverri
39f20 64 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 des.=.$composer->getConfig()->ge
39f40 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 70 6c 61 t('platform').?:.array();.}.$pla
39f60 74 66 6f 72 6d 52 65 70 6f 20 3d 20 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f tformRepo.=.new.PlatformReposito
39f80 72 79 28 61 72 72 61 79 28 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 3b ry(array(),.$platformOverrides);
39fa0 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2d 3e 66 69 .$phpVersion.=.$platformRepo->fi
39fc0 6e 64 50 61 63 6b 61 67 65 28 27 70 68 70 27 2c 20 27 2a 27 29 2d 3e 67 65 74 56 65 72 73 69 6f ndPackage('php',.'*')->getVersio
39fe0 6e 28 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 65 6c n();..if.($input->getOption('sel
3a000 66 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 f')).{.$package.=.$this->getComp
3a020 6f 73 65 72 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 72 65 70 6f 73 20 3d 20 24 oser()->getPackage();.$repos.=.$
3a040 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 6e 65 77 20 41 72 72 61 79 52 65 70 6f 73 69 74 installedRepo.=.new.ArrayReposit
3a060 6f 72 79 28 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 ory(array($package));.}.elseif.(
3a080 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 6c 61 74 66 6f 72 6d 27 29 29 20 7b $input->getOption('platform')).{
3a0a0 0a 24 72 65 70 6f 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 70 6c 61 74 .$repos.=.$installedRepo.=.$plat
3a0c0 66 6f 72 6d 52 65 70 6f 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f formRepo;.}.elseif.($input->getO
3a0e0 70 74 69 6f 6e 28 27 61 76 61 69 6c 61 62 6c 65 27 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 ption('available')).{.$installed
3a100 52 65 70 6f 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 3b 0a 69 66 20 28 24 63 6f 6d 70 6f Repo.=.$platformRepo;.if.($compo
3a120 73 65 72 29 20 7b 0a 24 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 ser).{.$repos.=.new.CompositeRep
3a140 6f 73 69 74 6f 72 79 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 ository($composer->getRepository
3a160 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 29 3b 0a 7d Manager()->getRepositories());.}
3a180 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 52 65 70 6f 73 20 3d 20 52 65 70 6f 73 69 74 6f .else.{.$defaultRepos.=.Reposito
3a1a0 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 69 6f 29 3b 0a 24 72 ryFactory::defaultRepos($io);.$r
3a1c0 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 epos.=.new.CompositeRepository($
3a1e0 64 65 66 61 75 6c 74 52 65 70 6f 73 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 defaultRepos);.$io->writeError('
3a200 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 No.composer.json.found.in.the.cu
3a220 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 73 68 6f 77 69 6e 67 20 61 76 61 69 6c 61 62 rrent.directory,.showing.availab
3a240 6c 65 20 70 61 63 6b 61 67 65 73 20 66 72 6f 6d 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 le.packages.from.'...implode(',.
3a260 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 64 65 66 61 75 6c 74 52 65 70 6f 73 29 29 29 3b 0a ',.array_keys($defaultRepos)));.
3a280 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 }.}.elseif.($input->getOption('a
3a2a0 6c 6c 27 29 20 26 26 20 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f 20 ll').&&.$composer).{.$localRepo.
3a2c0 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 =.$composer->getRepositoryManage
3a2e0 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 69 6e 73 74 r()->getLocalRepository();.$inst
3a300 61 6c 6c 65 64 52 65 70 6f 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 alledRepo.=.new.CompositeReposit
3a320 6f 72 79 28 61 72 72 61 79 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 ory(array($localRepo,.$platformR
3a340 65 70 6f 29 29 3b 0a 24 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 epo));.$repos.=.new.CompositeRep
3a360 6f 73 69 74 6f 72 79 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 69 6e 73 74 61 ository(array_merge(array($insta
3a380 6c 6c 65 64 52 65 70 6f 29 2c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 lledRepo),.$composer->getReposit
3a3a0 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 29 oryManager()->getRepositories())
3a3c0 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 );.}.elseif.($input->getOption('
3a3e0 61 6c 6c 27 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 52 65 70 6f 73 20 3d 20 52 65 70 6f 73 69 74 all')).{.$defaultRepos.=.Reposit
3a400 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 69 6f 29 3b 0a 24 oryFactory::defaultRepos($io);.$
3a420 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e io->writeError('No.composer.json
3a440 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c .found.in.the.current.directory,
3a460 20 73 68 6f 77 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 20 70 61 63 6b 61 67 65 73 20 66 72 6f 6d .showing.available.packages.from
3a480 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 64 .'...implode(',.',.array_keys($d
3a4a0 65 66 61 75 6c 74 52 65 70 6f 73 29 29 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d efaultRepos)));.$installedRepo.=
3a4c0 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 3b 0a 24 72 65 70 6f 73 20 3d 20 6e 65 77 20 43 6f 6d .$platformRepo;.$repos.=.new.Com
3a4e0 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 positeRepository(array_merge(arr
3a500 61 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 2c 20 24 64 65 66 61 75 6c 74 52 65 70 6f ay($installedRepo),.$defaultRepo
3a520 73 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 70 6f 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 s));.}.else.{.$repos.=.$installe
3a540 64 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 dRepo.=.$this->getComposer()->ge
3a560 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 tRepositoryManager()->getLocalRe
3a580 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 72 6f 6f 74 50 6b 67 20 3d 20 24 74 68 69 73 2d 3e 67 65 pository();.$rootPkg.=.$this->ge
3a5a0 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 69 66 20 28 21 tComposer()->getPackage();.if.(!
3a5c0 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 26 26 $installedRepo->getPackages().&&
3a5e0 20 28 24 72 6f 6f 74 50 6b 67 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 7c 7c 20 24 72 6f .($rootPkg->getRequires().||.$ro
3a600 6f 74 50 6b 67 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 29 20 7b 0a 24 69 6f 2d otPkg->getDevRequires())).{.$io-
3a620 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 4e 6f 20 64 65 70 65 6e 64 65 >writeError('<warning>No.depende
3a640 6e 63 69 65 73 20 69 6e 73 74 61 6c 6c 65 64 2e 20 54 72 79 20 72 75 6e 6e 69 6e 67 20 63 6f 6d ncies.installed..Try.running.com
3a660 70 6f 73 65 72 20 69 6e 73 74 61 6c 6c 20 6f 72 20 75 70 64 61 74 65 2e 3c 2f 77 61 72 6e 69 6e poser.install.or.update.</warnin
3a680 67 3e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6d g>');.}.}..if.($composer).{.$com
3a6a0 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 mandEvent.=.new.CommandEvent(Plu
3a6c0 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 73 68 6f 77 27 2c 20 24 69 6e 70 ginEvents::COMMAND,.'show',.$inp
3a6e0 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e ut,.$output);.$composer->getEven
3a700 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 tDispatcher()->dispatch($command
3a720 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 Event->getName(),.$commandEvent)
3a740 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 61 74 65 ;.}..if.($input->getOption('late
3a760 73 74 27 29 20 26 26 20 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 69 st').&&.null.===.$composer).{.$i
3a780 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 o->writeError('No.composer.json.
3a7a0 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 found.in.the.current.directory,.
3a7c0 64 69 73 61 62 6c 69 6e 67 20 22 6c 61 74 65 73 74 22 20 6f 70 74 69 6f 6e 27 29 3b 0a 24 69 6e disabling."latest".option');.$in
3a7e0 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 6c 61 74 65 73 74 27 2c 20 66 61 6c 73 65 29 3b put->setOption('latest',.false);
3a800 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 .}..$packageFilter.=.$input->get
3a820 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 27 29 3b 0a 0a 0a 20 69 66 20 28 28 24 70 61 Argument('package');....if.(($pa
3a840 63 6b 61 67 65 46 69 6c 74 65 72 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 ckageFilter.&&.false.===.strpos(
3a860 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 2c 20 27 2a 27 29 29 20 7c 7c 20 21 65 6d 70 74 79 28 $packageFilter,.'*')).||.!empty(
3a880 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 29 $package)).{.if.(empty($package)
3a8a0 29 20 7b 0a 6c 69 73 74 28 24 70 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f 6e 73 29 20 3d 20 ).{.list($package,.$versions).=.
3a8c0 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f $this->getPackage($installedRepo
3a8e0 2c 20 24 72 65 70 6f 73 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 ,.$repos,.$input->getArgument('p
3a900 61 63 6b 61 67 65 27 29 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 76 ackage'),.$input->getArgument('v
3a920 65 72 73 69 6f 6e 27 29 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 29 29 ersion'));..if.(empty($package))
3a940 20 7b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 .{.$options.=.$input->getOptions
3a960 28 29 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 77 6f 72 6b 69 6e 67 ();.if.(!isset($options['working
3a980 2d 64 69 72 27 5d 29 20 7c 7c 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 27 63 6f 6d 70 6f 73 65 -dir']).||.!file_exists('compose
3a9a0 72 2e 6a 73 6f 6e 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 r.json')).{.throw.new.\InvalidAr
3a9c0 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 27 20 2e 20 24 70 61 gumentException('Package.'...$pa
3a9e0 63 6b 61 67 65 46 69 6c 74 65 72 20 2e 20 27 20 6e 6f 74 20 66 6f 75 6e 64 27 29 3b 0a 7d 0a 0a ckageFilter...'.not.found');.}..
3aa00 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 50 61 63 6b 61 67 65 20 27 20 2e 20 24 70 61 $io->writeError('Package.'...$pa
3aa20 63 6b 61 67 65 46 69 6c 74 65 72 20 2e 20 27 20 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 27 20 2e ckageFilter...'.not.found.in.'..
3aa40 20 24 6f 70 74 69 6f 6e 73 5b 27 77 6f 72 6b 69 6e 67 2d 64 69 72 27 5d 20 2e 20 27 2f 63 6f 6d .$options['working-dir']...'/com
3aa60 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 7d 20 65 6c 73 poser.json');..return.1;.}.}.els
3aa80 65 20 7b 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e e.{.$versions.=.array($package->
3aaa0 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e getPrettyVersion().=>.$package->
3aac0 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 30 3b getVersion());.}..$exitCode.=.0;
3aae0 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 74 72 65 65 27 29 29 20 .if.($input->getOption('tree')).
3ab00 7b 0a 24 61 72 72 61 79 54 72 65 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 61 {.$arrayTree.=.$this->generatePa
3ab20 63 6b 61 67 65 54 72 65 65 28 24 70 61 63 6b 61 67 65 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 ckageTree($package,.$installedRe
3ab40 70 6f 2c 20 24 72 65 70 6f 73 29 3b 0a 0a 69 66 20 28 27 6a 73 6f 6e 27 20 3d 3d 3d 20 24 66 6f po,.$repos);..if.('json'.===.$fo
3ab60 72 6d 61 74 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 rmat).{.$io->write(JsonFile::enc
3ab80 6f 64 65 28 61 72 72 61 79 28 27 69 6e 73 74 61 6c 6c 65 64 27 20 3d 3e 20 61 72 72 61 79 28 24 ode(array('installed'.=>.array($
3aba0 61 72 72 61 79 54 72 65 65 29 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 64 arrayTree))));.}.else.{.$this->d
3abc0 69 73 70 6c 61 79 50 61 63 6b 61 67 65 54 72 65 65 28 61 72 72 61 79 28 24 61 72 72 61 79 54 72 isplayPackageTree(array($arrayTr
3abe0 65 65 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 ee));.}.}.else.{.$latestPackage.
3ac00 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c =.null;.if.($input->getOption('l
3ac20 61 74 65 73 74 27 29 29 20 7b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 3d 20 24 74 68 69 atest')).{.$latestPackage.=.$thi
3ac40 73 2d 3e 66 69 6e 64 4c 61 74 65 73 74 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 s->findLatestPackage($package,.$
3ac60 63 6f 6d 70 6f 73 65 72 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 69 66 20 28 24 69 composer,.$phpVersion);.}.if.($i
3ac80 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 29 20 26 26 20 24 nput->getOption('outdated').&&.$
3aca0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 27 29 20 26 26 20 24 6c input->getOption('strict').&&.$l
3acc0 61 74 65 73 74 50 61 63 6b 61 67 65 20 26 26 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e atestPackage.&&.$latestPackage->
3ace0 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 21 3d 3d 20 24 70 61 63 6b getFullPrettyVersion().!==.$pack
3ad00 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 26 26 20 21 age->getFullPrettyVersion().&&.!
3ad20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 20 7b $latestPackage->isAbandoned()).{
3ad40 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 31 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 .$exitCode.=.1;.}.if.($input->ge
3ad60 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 70 tOption('path')).{.$io->write($p
3ad80 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 66 61 6c 73 65 29 3b 0a 24 69 6f 2d 3e ackage->getName(),.false);.$io->
3ada0 77 72 69 74 65 28 27 20 27 20 2e 20 73 74 72 74 6f 6b 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6d write('.'...strtok(realpath($com
3adc0 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2d poser->getInstallationManager()-
3ade0 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 29 2c 20 22 5c 72 5c >getInstallPath($package)),."\r\
3ae00 6e 22 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 24 74 68 69 73 n"));..return.$exitCode;.}.$this
3ae20 2d 3e 70 72 69 6e 74 4d 65 74 61 28 24 70 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f 6e 73 2c ->printMeta($package,.$versions,
3ae40 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 .$installedRepo,.$latestPackage.
3ae60 3f 3a 20 6e 75 6c 6c 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b 73 28 24 70 61 63 ?:.null);.$this->printLinks($pac
3ae80 6b 61 67 65 2c 20 27 72 65 71 75 69 72 65 73 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c kage,.'requires');.$this->printL
3aea0 69 6e 6b 73 28 24 70 61 63 6b 61 67 65 2c 20 27 64 65 76 52 65 71 75 69 72 65 73 27 2c 20 27 72 inks($package,.'devRequires',.'r
3aec0 65 71 75 69 72 65 73 20 28 64 65 76 29 27 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 equires.(dev)');.if.($package->g
3aee0 65 74 53 75 67 67 65 73 74 73 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 22 5c 6e 3c 69 etSuggests()).{.$io->write("\n<i
3af00 6e 66 6f 3e 73 75 67 67 65 73 74 73 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 66 6f 72 65 61 63 68 20 28 nfo>suggests</info>");.foreach.(
3af20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 75 67 67 65 73 74 73 28 29 20 61 73 20 24 73 75 67 67 $package->getSuggests().as.$sugg
3af40 65 73 74 65 64 20 3d 3e 20 24 72 65 61 73 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 ested.=>.$reason).{.$io->write($
3af60 73 75 67 67 65 73 74 65 64 20 2e 20 27 20 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 72 65 61 73 suggested...'.<comment>'...$reas
3af80 6f 6e 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 70 on...'</comment>');.}.}.$this->p
3afa0 72 69 6e 74 4c 69 6e 6b 73 28 24 70 61 63 6b 61 67 65 2c 20 27 70 72 6f 76 69 64 65 73 27 29 3b rintLinks($package,.'provides');
3afc0 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b 73 28 24 70 61 63 6b 61 67 65 2c 20 27 63 6f .$this->printLinks($package,.'co
3afe0 6e 66 6c 69 63 74 73 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 6e 6b 73 28 24 70 61 nflicts');.$this->printLinks($pa
3b000 63 6b 61 67 65 2c 20 27 72 65 70 6c 61 63 65 73 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 ckage,.'replaces');.}..return.$e
3b020 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 xitCode;.}....if.($input->getOpt
3b040 69 6f 6e 28 27 74 72 65 65 27 29 29 20 7b 0a 24 72 6f 6f 74 52 65 71 75 69 72 65 73 20 3d 20 24 ion('tree')).{.$rootRequires.=.$
3b060 74 68 69 73 2d 3e 67 65 74 52 6f 6f 74 52 65 71 75 69 72 65 73 28 29 3b 0a 24 70 61 63 6b 61 67 this->getRootRequires();.$packag
3b080 65 73 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 es.=.$installedRepo->getPackages
3b0a0 28 29 3b 0a 75 73 6f 72 74 28 24 70 61 63 6b 61 67 65 73 2c 20 27 73 74 72 63 6d 70 27 29 3b 0a ();.usort($packages,.'strcmp');.
3b0c0 24 61 72 72 61 79 54 72 65 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 $arrayTree.=.array();.foreach.($
3b0e0 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 69 6e 5f 61 packages.as.$package).{.if.(in_a
3b100 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 72 6f 6f 74 52 rray($package->getName(),.$rootR
3b120 65 71 75 69 72 65 73 2c 20 74 72 75 65 29 29 20 7b 0a 24 61 72 72 61 79 54 72 65 65 5b 5d 20 3d equires,.true)).{.$arrayTree[].=
3b140 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 61 63 6b 61 67 65 54 72 65 65 28 24 70 61 63 .$this->generatePackageTree($pac
3b160 6b 61 67 65 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 70 6f 73 29 3b 0a 7d kage,.$installedRepo,.$repos);.}
3b180 0a 7d 0a 0a 69 66 20 28 27 6a 73 6f 6e 27 20 3d 3d 3d 20 24 66 6f 72 6d 61 74 29 20 7b 0a 24 69 .}..if.('json'.===.$format).{.$i
3b1a0 6f 2d 3e 77 72 69 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 61 72 72 61 79 28 o->write(JsonFile::encode(array(
3b1c0 27 69 6e 73 74 61 6c 6c 65 64 27 20 3d 3e 20 24 61 72 72 61 79 54 72 65 65 29 29 29 3b 0a 7d 20 'installed'.=>.$arrayTree)));.}.
3b1e0 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 50 61 63 6b 61 67 65 54 72 65 65 else.{.$this->displayPackageTree
3b200 28 24 61 72 72 61 79 54 72 65 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 69 66 ($arrayTree);.}..return.0;.}..if
3b220 20 28 24 72 65 70 6f 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 .($repos.instanceof.CompositeRep
3b240 6f 73 69 74 6f 72 79 29 20 7b 0a 24 72 65 70 6f 73 20 3d 20 24 72 65 70 6f 73 2d 3e 67 65 74 52 ository).{.$repos.=.$repos->getR
3b260 65 70 6f 73 69 74 6f 72 69 65 73 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 5f 61 72 72 epositories();.}.elseif.(!is_arr
3b280 61 79 28 24 72 65 70 6f 73 29 29 20 7b 0a 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 28 24 72 65 ay($repos)).{.$repos.=.array($re
3b2a0 70 6f 73 29 3b 0a 7d 0a 0a 0a 20 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a pos);.}....$packages.=.array();.
3b2c0 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 46 69 6c 74 65 72 29 20 7b 0a 24 if.(null.!==.$packageFilter).{.$
3b2e0 70 61 63 6b 61 67 65 46 69 6c 74 65 72 20 3d 20 27 7b 5e 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 packageFilter.=.'{^'.str_replace
3b300 28 27 5c 5c 2a 27 2c 20 27 2e 2a 3f 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 70 61 63 6b 61 ('\\*',.'.*?',.preg_quote($packa
3b320 67 65 46 69 6c 74 65 72 29 29 2e 27 24 7d 69 27 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 4c 69 73 geFilter)).'$}i';.}..$packageLis
3b340 74 46 69 6c 74 65 72 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 tFilter.=.array();.if.($input->g
3b360 65 74 4f 70 74 69 6f 6e 28 27 64 69 72 65 63 74 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 4c 69 etOption('direct')).{.$packageLi
3b380 73 74 46 69 6c 74 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 6f 6f 74 52 65 71 75 69 72 65 stFilter.=.$this->getRootRequire
3b3a0 73 28 29 3b 0a 7d 0a 0a 69 66 20 28 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 53 79 6d 66 6f 6e s();.}..if.(class_exists('Symfon
3b3c0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 54 65 72 6d 69 6e 61 6c 27 29 29 20 y\Component\Console\Terminal')).
3b3e0 7b 0a 24 74 65 72 6d 69 6e 61 6c 20 3d 20 6e 65 77 20 54 65 72 6d 69 6e 61 6c 28 29 3b 0a 24 77 {.$terminal.=.new.Terminal();.$w
3b400 69 64 74 68 20 3d 20 24 74 65 72 6d 69 6e 61 6c 2d 3e 67 65 74 57 69 64 74 68 28 29 3b 0a 7d 20 idth.=.$terminal->getWidth();.}.
3b420 65 6c 73 65 20 7b 0a 0a 20 6c 69 73 74 28 24 77 69 64 74 68 29 20 3d 20 24 74 68 69 73 2d 3e 67 else.{...list($width).=.$this->g
3b440 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 etApplication()->getTerminalDime
3b460 6e 73 69 6f 6e 73 28 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 77 69 64 74 68 29 nsions();.}.if.(null.===.$width)
3b480 20 7b 0a 0a 20 0a 20 24 77 69 64 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 7d 0a 69 .{.....$width.=.PHP_INT_MAX;.}.i
3b4a0 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 77 69 64 f.(Platform::isWindows()).{.$wid
3b4c0 74 68 2d 2d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 77 69 64 74 68 20 3d 20 6d 61 78 28 38 30 2c 20 th--;.}.else.{.$width.=.max(80,.
3b4e0 24 77 69 64 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f $width);.}..if.($input->getOptio
3b500 6e 28 27 70 61 74 68 27 29 20 26 26 20 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6d 70 6f 73 65 72 29 n('path').&&.null.===.$composer)
3b520 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e .{.$io->writeError('No.composer.
3b540 6a 73 6f 6e 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 json.found.in.the.current.direct
3b560 6f 72 79 2c 20 64 69 73 61 62 6c 69 6e 67 20 22 70 61 74 68 22 20 6f 70 74 69 6f 6e 27 29 3b 0a ory,.disabling."path".option');.
3b580 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 2c 20 66 61 6c 73 65 29 $input->setOption('path',.false)
3b5a0 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 20 61 73 20 24 72 65 70 6f 29 20 7b ;.}..foreach.($repos.as.$repo).{
3b5c0 0a 69 66 20 28 24 72 65 70 6f 20 3d 3d 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 20 7b 0a .if.($repo.===.$platformRepo).{.
3b5e0 24 74 79 70 65 20 3d 20 27 70 6c 61 74 66 6f 72 6d 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 0a 24 $type.=.'platform';.}.elseif.(.$
3b600 72 65 70 6f 20 3d 3d 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 0a 7c 7c 20 28 24 69 6e 73 repo.===.$installedRepo.||.($ins
3b620 74 61 6c 6c 65 64 52 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 69 74 65 52 talledRepo.instanceof.CompositeR
3b640 65 70 6f 73 69 74 6f 72 79 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 72 65 70 6f 2c 20 24 69 6e epository.&&.in_array($repo,.$in
3b660 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 2c 20 stalledRepo->getRepositories(),.
3b680 74 72 75 65 29 29 0a 29 20 7b 0a 24 74 79 70 65 20 3d 20 27 69 6e 73 74 61 6c 6c 65 64 27 3b 0a true)).).{.$type.=.'installed';.
3b6a0 7d 20 65 6c 73 65 20 7b 0a 24 74 79 70 65 20 3d 20 27 61 76 61 69 6c 61 62 6c 65 27 3b 0a 7d 0a }.else.{.$type.=.'available';.}.
3b6c0 69 66 20 28 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 65 72 52 65 70 if.($repo.instanceof.ComposerRep
3b6e0 6f 73 69 74 6f 72 79 20 26 26 20 24 72 65 70 6f 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 ository.&&.$repo->hasProviders()
3b700 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 67 65 74 50 72 6f 76 69 64 65 72 4e ).{.foreach.($repo->getProviderN
3b720 61 6d 65 73 28 29 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 ames().as.$name).{.if.(!$package
3b740 46 69 6c 74 65 72 20 7c 7c 20 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 63 6b 61 67 65 46 69 6c Filter.||.preg_match($packageFil
3b760 74 65 72 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 5b ter,.$name)).{.$packages[$type][
3b780 24 6e 61 6d 65 5d 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 $name].=.$name;.}.}.}.else.{.for
3b7a0 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 each.($repo->getPackages().as.$p
3b7c0 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 5b 24 ackage).{.if.(!isset($packages[$
3b7e0 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 0a 7c 7c 20 21 type][$package->getName()]).||.!
3b800 69 73 5f 6f 62 6a 65 63 74 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b is_object($packages[$type][$pack
3b820 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 0a 7c 7c 20 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 age->getName()]).||.version_comp
3b840 61 72 65 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 are($packages[$type][$package->g
3b860 65 74 4e 61 6d 65 28 29 5d 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 70 61 63 6b 61 67 etName()]->getVersion(),.$packag
3b880 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 27 3c 27 29 0a 29 20 7b 0a 69 66 20 28 21 24 e->getVersion(),.'<').).{.if.(!$
3b8a0 70 61 63 6b 61 67 65 46 69 6c 74 65 72 20 7c 7c 20 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 63 packageFilter.||.preg_match($pac
3b8c0 6b 61 67 65 46 69 6c 74 65 72 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 kageFilter,.$package->getName())
3b8e0 29 20 7b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 4c 69 73 74 46 69 6c 74 65 72 20 7c 7c 20 69 ).{.if.(!$packageListFilter.||.i
3b900 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 61 n_array($package->getName(),.$pa
3b920 63 6b 61 67 65 4c 69 73 74 46 69 6c 74 65 72 2c 20 74 72 75 65 29 29 20 7b 0a 24 70 61 63 6b 61 ckageListFilter,.true)).{.$packa
3b940 67 65 73 5b 24 74 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 ges[$type][$package->getName()].
3b960 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 73 68 6f 77 41 6c =.$package;.}.}.}.}.}.}..$showAl
3b980 6c 54 79 70 65 73 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 61 6c 6c 27 lTypes.=.$input->getOption('all'
3b9a0 29 3b 0a 24 73 68 6f 77 4c 61 74 65 73 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 );.$showLatest.=.$input->getOpti
3b9c0 6f 6e 28 27 6c 61 74 65 73 74 27 29 3b 0a 24 73 68 6f 77 4d 69 6e 6f 72 4f 6e 6c 79 20 3d 20 24 on('latest');.$showMinorOnly.=.$
3b9e0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6d 69 6e 6f 72 2d 6f 6e 6c 79 27 29 3b 0a input->getOption('minor-only');.
3ba00 24 69 67 6e 6f 72 65 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 73 74 $ignoredPackages.=.array_map('st
3ba20 72 74 6f 6c 6f 77 65 72 27 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 rtolower',.$input->getOption('ig
3ba40 6e 6f 72 65 27 29 29 3b 0a 24 69 6e 64 65 6e 74 20 3d 20 24 73 68 6f 77 41 6c 6c 54 79 70 65 73 nore'));.$indent.=.$showAllTypes
3ba60 20 3f 20 27 20 20 27 20 3a 20 27 27 3b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 73 20 3d 20 .?.'..'.:.'';.$latestPackages.=.
3ba80 61 72 72 61 79 28 29 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 30 3b 0a 24 76 69 65 77 44 61 74 array();.$exitCode.=.0;.$viewDat
3baa0 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 76 69 65 77 4d 65 74 61 44 61 74 61 20 3d 20 61 72 72 a.=.array();.$viewMetaData.=.arr
3bac0 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 70 6c 61 74 66 6f 72 6d 27 20 ay();.foreach.(array('platform'.
3bae0 3d 3e 20 74 72 75 65 2c 20 27 61 76 61 69 6c 61 62 6c 65 27 20 3d 3e 20 66 61 6c 73 65 2c 20 27 =>.true,.'available'.=>.false,.'
3bb00 69 6e 73 74 61 6c 6c 65 64 27 20 3d 3e 20 74 72 75 65 29 20 61 73 20 24 74 79 70 65 20 3d 3e 20 installed'.=>.true).as.$type.=>.
3bb20 24 73 68 6f 77 56 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 $showVersion).{.if.(isset($packa
3bb40 67 65 73 5b 24 74 79 70 65 5d 29 29 20 7b 0a 6b 73 6f 72 74 28 24 70 61 63 6b 61 67 65 73 5b 24 ges[$type])).{.ksort($packages[$
3bb60 74 79 70 65 5d 29 3b 0a 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 3d 20 24 76 65 72 73 69 6f 6e 4c type]);..$nameLength.=.$versionL
3bb80 65 6e 67 74 68 20 3d 20 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 20 3d 20 30 3b 0a 0a 69 66 20 28 ength.=.$latestLength.=.0;..if.(
3bba0 24 73 68 6f 77 4c 61 74 65 73 74 20 26 26 20 24 73 68 6f 77 56 65 72 73 69 6f 6e 29 20 7b 0a 66 $showLatest.&&.$showVersion).{.f
3bbc0 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 20 61 73 20 24 70 61 63 oreach.($packages[$type].as.$pac
3bbe0 6b 61 67 65 29 20 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 70 61 63 6b 61 67 65 29 29 kage).{.if.(is_object($package))
3bc00 20 7b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 4c .{.$latestPackage.=.$this->findL
3bc20 61 74 65 73 74 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 63 6f 6d 70 6f 73 65 72 atestPackage($package,.$composer
3bc40 2c 20 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 73 68 6f 77 4d 69 6e 6f 72 4f 6e 6c 79 29 3b 0a ,.$phpVersion,.$showMinorOnly);.
3bc60 69 66 20 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a if.($latestPackage.===.false).{.
3bc80 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 73 5b 24 70 61 continue;.}..$latestPackages[$pa
3bca0 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 5d 20 3d 20 24 6c 61 74 65 73 ckage->getPrettyName()].=.$lates
3bcc0 74 50 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 77 72 69 74 65 50 61 74 68 20 3d 20 21 24 tPackage;.}.}.}..$writePath.=.!$
3bce0 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 2d 6f 6e 6c 79 27 29 20 26 26 input->getOption('name-only').&&
3bd00 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 29 3b 0a 24 77 72 69 .$input->getOption('path');.$wri
3bd20 74 65 56 65 72 73 69 6f 6e 20 3d 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 teVersion.=.!$input->getOption('
3bd40 6e 61 6d 65 2d 6f 6e 6c 79 27 29 20 26 26 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f name-only').&&.!$input->getOptio
3bd60 6e 28 27 70 61 74 68 27 29 20 26 26 20 24 73 68 6f 77 56 65 72 73 69 6f 6e 3b 0a 24 77 72 69 74 n('path').&&.$showVersion;.$writ
3bd80 65 4c 61 74 65 73 74 20 3d 20 24 77 72 69 74 65 56 65 72 73 69 6f 6e 20 26 26 20 24 73 68 6f 77 eLatest.=.$writeVersion.&&.$show
3bda0 4c 61 74 65 73 74 3b 0a 24 77 72 69 74 65 44 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 21 24 69 6e Latest;.$writeDescription.=.!$in
3bdc0 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 61 6d 65 2d 6f 6e 6c 79 27 29 20 26 26 20 21 put->getOption('name-only').&&.!
3bde0 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 61 74 68 27 29 3b 0a 0a 24 68 61 73 $input->getOption('path');..$has
3be00 4f 75 74 64 61 74 65 64 50 61 63 6b 61 67 65 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 76 69 65 77 OutdatedPackages.=.false;..$view
3be20 44 61 74 61 5b 24 74 79 70 65 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 Data[$type].=.array();.foreach.(
3be40 24 70 61 63 6b 61 67 65 73 5b 24 74 79 70 65 5d 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a $packages[$type].as.$package).{.
3be60 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 $packageViewData.=.array();.if.(
3be80 69 73 5f 6f 62 6a 65 63 74 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 6c 61 74 65 73 74 50 61 is_object($package)).{.$latestPa
3bea0 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 73 68 6f 77 4c 61 74 65 73 74 20 26 26 ckage.=.null;.if.($showLatest.&&
3bec0 20 69 73 73 65 74 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 2d .isset($latestPackages[$package-
3bee0 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 6c 61 74 65 73 74 50 61 63 >getPrettyName()])).{.$latestPac
3bf00 6b 61 67 65 20 3d 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 2d kage.=.$latestPackages[$package-
3bf20 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 5d 3b 0a 7d 0a 0a 0a 20 24 70 61 63 6b 61 67 65 >getPrettyName()];.}....$package
3bf40 49 73 55 70 54 6f 44 61 74 65 20 3d 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 26 26 20 24 IsUpToDate.=.$latestPackage.&&.$
3bf60 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 latestPackage->getFullPrettyVers
3bf80 69 6f 6e 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 ion().===.$package->getFullPrett
3bfa0 79 56 65 72 73 69 6f 6e 28 29 20 26 26 20 21 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 69 yVersion().&&.!$latestPackage->i
3bfc0 73 41 62 61 6e 64 6f 6e 65 64 28 29 3b 0a 24 70 61 63 6b 61 67 65 49 73 49 67 6e 6f 72 65 64 20 sAbandoned();.$packageIsIgnored.
3bfe0 3d 20 5c 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e =.\in_array($package->getPrettyN
3c000 61 6d 65 28 29 2c 20 24 69 67 6e 6f 72 65 64 50 61 63 6b 61 67 65 73 2c 20 74 72 75 65 29 3b 0a ame(),.$ignoredPackages,.true);.
3c020 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 64 27 if.($input->getOption('outdated'
3c040 29 20 26 26 20 28 24 70 61 63 6b 61 67 65 49 73 55 70 54 6f 44 61 74 65 20 7c 7c 20 24 70 61 63 ).&&.($packageIsUpToDate.||.$pac
3c060 6b 61 67 65 49 73 49 67 6e 6f 72 65 64 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c kageIsIgnored)).{.continue;.}.el
3c080 73 65 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f 75 74 64 61 74 65 seif.($input->getOption('outdate
3c0a0 64 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 d').||.$input->getOption('strict
3c0c0 27 29 29 20 7b 0a 24 68 61 73 4f 75 74 64 61 74 65 64 50 61 63 6b 61 67 65 73 20 3d 20 74 72 75 ')).{.$hasOutdatedPackages.=.tru
3c0e0 65 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3d e;.}..$packageViewData['name'].=
3c100 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 24 6e 61 6d .$package->getPrettyName();.$nam
3c120 65 4c 65 6e 67 74 68 20 3d 20 6d 61 78 28 24 6e 61 6d 65 4c 65 6e 67 74 68 2c 20 73 74 72 6c 65 eLength.=.max($nameLength,.strle
3c140 6e 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 29 29 3b 0a 69 n($package->getPrettyName()));.i
3c160 66 20 28 24 77 72 69 74 65 56 65 72 73 69 6f 6e 29 20 7b 0a 24 70 61 63 6b 61 67 65 56 69 65 77 f.($writeVersion).{.$packageView
3c180 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 Data['version'].=.$package->getF
3c1a0 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 76 65 72 73 69 6f 6e 4c 65 6e 67 ullPrettyVersion();.$versionLeng
3c1c0 74 68 20 3d 20 6d 61 78 28 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 2c 20 73 74 72 6c 65 6e 28 th.=.max($versionLength,.strlen(
3c1e0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 $package->getFullPrettyVersion()
3c200 29 29 3b 0a 7d 0a 69 66 20 28 24 77 72 69 74 65 4c 61 74 65 73 74 20 26 26 20 24 6c 61 74 65 73 ));.}.if.($writeLatest.&&.$lates
3c220 74 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 6c 61 tPackage).{.$packageViewData['la
3c240 74 65 73 74 27 5d 20 3d 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c test'].=.$latestPackage->getFull
3c260 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 PrettyVersion();.$packageViewDat
3c280 61 5b 27 6c 61 74 65 73 74 2d 73 74 61 74 75 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 55 a['latest-status'].=.$this->getU
3c2a0 70 64 61 74 65 53 74 61 74 75 73 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2c 20 24 70 61 63 pdateStatus($latestPackage,.$pac
3c2c0 6b 61 67 65 29 3b 0a 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 20 3d 20 6d 61 78 28 24 6c 61 74 65 kage);.$latestLength.=.max($late
3c2e0 73 74 4c 65 6e 67 74 68 2c 20 73 74 72 6c 65 6e 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d stLength,.strlen($latestPackage-
3c300 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 29 3b 0a 7d 0a 69 66 20 >getFullPrettyVersion()));.}.if.
3c320 28 24 77 72 69 74 65 44 65 73 63 72 69 70 74 69 6f 6e 29 20 7b 0a 24 70 61 63 6b 61 67 65 56 69 ($writeDescription).{.$packageVi
3c340 65 77 44 61 74 61 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 ewData['description'].=.$package
3c360 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b 0a 7d 0a 69 66 20 28 24 77 72 69 74 65 ->getDescription();.}.if.($write
3c380 50 61 74 68 29 20 7b 0a 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 5b 27 70 61 74 68 27 5d Path).{.$packageViewData['path']
3c3a0 20 3d 20 73 74 72 74 6f 6b 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 .=.strtok(realpath($composer->ge
3c3c0 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 49 6e 73 74 61 tInstallationManager()->getInsta
3c3e0 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 29 2c 20 22 5c 72 5c 6e 22 29 3b 0a 7d 0a 0a 69 llPath($package)),."\r\n");.}..i
3c400 66 20 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 26 26 20 24 6c 61 74 65 73 74 50 61 63 6b f.($latestPackage.&&.$latestPack
3c420 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 20 7b 0a 24 72 65 70 6c 61 63 65 6d 65 age->isAbandoned()).{.$replaceme
3c440 6e 74 20 3d 20 69 73 5f 73 74 72 69 6e 67 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 nt.=.is_string($latestPackage->g
3c460 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 29 0a 3f 20 27 55 73 65 20 27 etReplacementPackage()).?.'Use.'
3c480 20 2e 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e ...$latestPackage->getReplacemen
3c4a0 74 50 61 63 6b 61 67 65 28 29 20 2e 20 27 20 69 6e 73 74 65 61 64 27 0a 3a 20 27 4e 6f 20 72 65 tPackage()...'.instead'.:.'No.re
3c4c0 70 6c 61 63 65 6d 65 6e 74 20 77 61 73 20 73 75 67 67 65 73 74 65 64 27 3b 0a 24 70 61 63 6b 61 placement.was.suggested';.$packa
3c4e0 67 65 57 61 72 6e 69 6e 67 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 50 61 63 6b 61 67 65 20 25 73 geWarning.=.sprintf(.'Package.%s
3c500 20 69 73 20 61 62 61 6e 64 6f 6e 65 64 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 61 76 6f 69 64 20 .is.abandoned,.you.should.avoid.
3c520 75 73 69 6e 67 20 69 74 2e 20 25 73 2e 27 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 using.it..%s.',.$package->getPre
3c540 74 74 79 4e 61 6d 65 28 29 2c 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 0a 29 3b 0a 24 70 61 63 6b ttyName(),.$replacement.);.$pack
3c560 61 67 65 56 69 65 77 44 61 74 61 5b 27 77 61 72 6e 69 6e 67 27 5d 20 3d 20 24 70 61 63 6b 61 67 ageViewData['warning'].=.$packag
3c580 65 57 61 72 6e 69 6e 67 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 56 69 65 eWarning;.}.}.else.{.$packageVie
3c5a0 77 44 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 24 6e 61 6d 65 4c wData['name'].=.$package;.$nameL
3c5c0 65 6e 67 74 68 20 3d 20 6d 61 78 28 24 6e 61 6d 65 4c 65 6e 67 74 68 2c 20 73 74 72 6c 65 6e 28 ength.=.max($nameLength,.strlen(
3c5e0 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 0a 24 76 69 65 77 44 61 74 61 5b 24 74 79 70 65 5d 5b 5d $package));.}.$viewData[$type][]
3c600 20 3d 20 24 70 61 63 6b 61 67 65 56 69 65 77 44 61 74 61 3b 0a 7d 0a 24 76 69 65 77 4d 65 74 61 .=.$packageViewData;.}.$viewMeta
3c620 44 61 74 61 5b 24 74 79 70 65 5d 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 4c 65 6e 67 74 68 Data[$type].=.array(.'nameLength
3c640 27 20 3d 3e 20 24 6e 61 6d 65 4c 65 6e 67 74 68 2c 0a 27 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 '.=>.$nameLength,.'versionLength
3c660 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 2c 0a 27 6c 61 74 65 73 74 4c 65 6e 67 '.=>.$versionLength,.'latestLeng
3c680 74 68 27 20 3d 3e 20 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 2c 0a 29 3b 0a 69 66 20 28 24 69 6e th'.=>.$latestLength,.);.if.($in
3c6a0 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 27 29 20 26 26 20 24 68 61 73 put->getOption('strict').&&.$has
3c6c0 4f 75 74 64 61 74 65 64 50 61 63 6b 61 67 65 73 29 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 OutdatedPackages).{.$exitCode.=.
3c6e0 31 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 27 6a 73 6f 6e 27 20 3d 3d 3d 20 1;.break;.}.}.}..if.('json'.===.
3c700 24 66 6f 72 6d 61 74 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a $format).{.$io->write(JsonFile::
3c720 65 6e 63 6f 64 65 28 24 76 69 65 77 44 61 74 61 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 encode($viewData));.}.else.{.for
3c740 65 61 63 68 20 28 24 76 69 65 77 44 61 74 61 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 70 61 63 each.($viewData.as.$type.=>.$pac
3c760 6b 61 67 65 73 29 20 7b 0a 24 6e 61 6d 65 4c 65 6e 67 74 68 20 3d 20 24 76 69 65 77 4d 65 74 61 kages).{.$nameLength.=.$viewMeta
3c780 44 61 74 61 5b 24 74 79 70 65 5d 5b 27 6e 61 6d 65 4c 65 6e 67 74 68 27 5d 3b 0a 24 76 65 72 73 Data[$type]['nameLength'];.$vers
3c7a0 69 6f 6e 4c 65 6e 67 74 68 20 3d 20 24 76 69 65 77 4d 65 74 61 44 61 74 61 5b 24 74 79 70 65 5d ionLength.=.$viewMetaData[$type]
3c7c0 5b 27 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 27 5d 3b 0a 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 ['versionLength'];.$latestLength
3c7e0 20 3d 20 24 76 69 65 77 4d 65 74 61 44 61 74 61 5b 24 74 79 70 65 5d 5b 27 6c 61 74 65 73 74 4c .=.$viewMetaData[$type]['latestL
3c800 65 6e 67 74 68 27 5d 3b 0a 0a 24 77 72 69 74 65 56 65 72 73 69 6f 6e 20 3d 20 24 6e 61 6d 65 4c ength'];..$writeVersion.=.$nameL
3c820 65 6e 67 74 68 20 2b 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 2b 20 33 20 3c 3d 20 24 77 ength.+.$versionLength.+.3.<=.$w
3c840 69 64 74 68 3b 0a 24 77 72 69 74 65 4c 61 74 65 73 74 20 3d 20 24 6e 61 6d 65 4c 65 6e 67 74 68 idth;.$writeLatest.=.$nameLength
3c860 20 2b 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 2b 20 24 6c 61 74 65 73 74 4c 65 6e 67 74 .+.$versionLength.+.$latestLengt
3c880 68 20 2b 20 33 20 3c 3d 20 24 77 69 64 74 68 3b 0a 24 77 72 69 74 65 44 65 73 63 72 69 70 74 69 h.+.3.<=.$width;.$writeDescripti
3c8a0 6f 6e 20 3d 20 24 6e 61 6d 65 4c 65 6e 67 74 68 20 2b 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 on.=.$nameLength.+.$versionLengt
3c8c0 68 20 2b 20 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 20 2b 20 32 34 20 3c 3d 20 24 77 69 64 74 68 h.+.$latestLength.+.24.<=.$width
3c8e0 3b 0a 0a 69 66 20 28 24 77 72 69 74 65 4c 61 74 65 73 74 20 26 26 20 21 24 69 6f 2d 3e 69 73 44 ;..if.($writeLatest.&&.!$io->isD
3c900 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 24 6c 61 74 65 73 74 4c 65 6e 67 74 68 20 2b 3d 20 32 ecorated()).{.$latestLength.+=.2
3c920 3b 0a 7d 0a 0a 69 66 20 28 24 73 68 6f 77 41 6c 6c 54 79 70 65 73 29 20 7b 0a 69 66 20 28 27 61 ;.}..if.($showAllTypes).{.if.('a
3c940 76 61 69 6c 61 62 6c 65 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 vailable'.===.$type).{.$io->writ
3c960 65 28 27 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 74 79 70 65 20 2e 20 27 3c 2f 63 6f 6d 6d 65 e('<comment>'...$type...'</comme
3c980 6e 74 3e 3a 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e nt>:');.}.else.{.$io->write('<in
3c9a0 66 6f 3e 27 20 2e 20 24 74 79 70 65 20 2e 20 27 3c 2f 69 6e 66 6f 3e 3a 27 29 3b 0a 7d 0a 7d 0a fo>'...$type...'</info>:');.}.}.
3c9c0 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 .foreach.($packages.as.$package)
3c9e0 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 69 6e 64 65 6e 74 20 2e 20 73 74 72 5f 70 61 64 28 .{.$io->write($indent...str_pad(
3ca00 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2c 20 24 6e 61 6d 65 4c 65 6e 67 74 68 2c 20 27 $package['name'],.$nameLength,.'
3ca20 20 27 29 2c 20 66 61 6c 73 65 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b .'),.false);.if.(isset($package[
3ca40 27 76 65 72 73 69 6f 6e 27 5d 29 20 26 26 20 24 77 72 69 74 65 56 65 72 73 69 6f 6e 29 20 7b 0a 'version']).&&.$writeVersion).{.
3ca60 24 69 6f 2d 3e 77 72 69 74 65 28 27 20 27 20 2e 20 73 74 72 5f 70 61 64 28 24 70 61 63 6b 61 67 $io->write('.'...str_pad($packag
3ca80 65 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 2c 20 27 20 e['version'],.$versionLength,.'.
3caa0 27 29 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 '),.false);.}.if.(isset($package
3cac0 5b 27 6c 61 74 65 73 74 27 5d 29 20 26 26 20 24 77 72 69 74 65 4c 61 74 65 73 74 29 20 7b 0a 24 ['latest']).&&.$writeLatest).{.$
3cae0 6c 61 74 65 73 74 56 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6c 61 74 65 73 74 latestVersion.=.$package['latest
3cb00 27 5d 3b 0a 24 75 70 64 61 74 65 53 74 61 74 75 73 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6c 61 '];.$updateStatus.=.$package['la
3cb20 74 65 73 74 2d 73 74 61 74 75 73 27 5d 3b 0a 24 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 75 test-status'];.$style.=.$this->u
3cb40 70 64 61 74 65 53 74 61 74 75 73 54 6f 56 65 72 73 69 6f 6e 53 74 79 6c 65 28 24 75 70 64 61 74 pdateStatusToVersionStyle($updat
3cb60 65 53 74 61 74 75 73 29 3b 0a 69 66 20 28 21 24 69 6f 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 eStatus);.if.(!$io->isDecorated(
3cb80 29 29 20 7b 0a 24 6c 61 74 65 73 74 56 65 72 73 69 6f 6e 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 )).{.$latestVersion.=.str_replac
3cba0 65 28 61 72 72 61 79 28 27 75 70 2d 74 6f 2d 64 61 74 65 27 2c 20 27 73 65 6d 76 65 72 2d 73 61 e(array('up-to-date',.'semver-sa
3cbc0 66 65 2d 75 70 64 61 74 65 27 2c 20 27 75 70 64 61 74 65 2d 70 6f 73 73 69 62 6c 65 27 29 2c 20 fe-update',.'update-possible'),.
3cbe0 61 72 72 61 79 28 27 3d 27 2c 20 27 21 27 2c 20 27 7e 27 29 2c 20 24 75 70 64 61 74 65 53 74 61 array('=',.'!',.'~'),.$updateSta
3cc00 74 75 73 29 20 2e 20 27 20 27 20 2e 20 24 6c 61 74 65 73 74 56 65 72 73 69 6f 6e 3b 0a 7d 0a 24 tus)...'.'...$latestVersion;.}.$
3cc20 69 6f 2d 3e 77 72 69 74 65 28 27 20 3c 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e 27 20 2e 20 io->write('.<'...$style...'>'...
3cc40 73 74 72 5f 70 61 64 28 24 6c 61 74 65 73 74 56 65 72 73 69 6f 6e 2c 20 24 6c 61 74 65 73 74 4c str_pad($latestVersion,.$latestL
3cc60 65 6e 67 74 68 2c 20 27 20 27 29 20 2e 20 27 3c 2f 27 20 2e 20 24 73 74 79 6c 65 20 2e 20 27 3e ength,.'.')...'</'...$style...'>
3cc80 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b ',.false);.}.if.(isset($package[
3cca0 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 29 20 26 26 20 24 77 72 69 74 65 44 65 73 63 72 69 70 'description']).&&.$writeDescrip
3ccc0 74 69 6f 6e 29 20 7b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 73 74 72 74 6f 6b 28 24 70 tion).{.$description.=.strtok($p
3cce0 61 63 6b 61 67 65 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 2c 20 22 5c 72 5c 6e 22 29 3b 0a ackage['description'],."\r\n");.
3cd00 24 72 65 6d 61 69 6e 69 6e 67 20 3d 20 24 77 69 64 74 68 20 2d 20 24 6e 61 6d 65 4c 65 6e 67 74 $remaining.=.$width.-.$nameLengt
3cd20 68 20 2d 20 24 76 65 72 73 69 6f 6e 4c 65 6e 67 74 68 20 2d 20 34 3b 0a 69 66 20 28 24 77 72 69 h.-.$versionLength.-.4;.if.($wri
3cd40 74 65 4c 61 74 65 73 74 29 20 7b 0a 24 72 65 6d 61 69 6e 69 6e 67 20 2d 3d 20 24 6c 61 74 65 73 teLatest).{.$remaining.-=.$lates
3cd60 74 4c 65 6e 67 74 68 3b 0a 7d 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 64 65 73 63 72 69 70 74 69 tLength;.}.if.(strlen($descripti
3cd80 6f 6e 29 20 3e 20 24 72 65 6d 61 69 6e 69 6e 67 29 20 7b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e on).>.$remaining).{.$description
3cda0 20 3d 20 73 75 62 73 74 72 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 30 2c 20 24 72 65 6d 61 .=.substr($description,.0,.$rema
3cdc0 69 6e 69 6e 67 20 2d 20 33 29 20 2e 20 27 2e 2e 2e 27 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 ining.-.3)...'...';.}.$io->write
3cde0 28 27 20 27 20 2e 20 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 69 ('.'...$description,.false);.}.i
3ce00 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 70 61 74 68 27 5d 29 29 20 7b 0a 24 69 f.(isset($package['path'])).{.$i
3ce20 6f 2d 3e 77 72 69 74 65 28 27 20 27 20 2e 20 24 70 61 63 6b 61 67 65 5b 27 70 61 74 68 27 5d 2c o->write('.'...$package['path'],
3ce40 20 66 61 6c 73 65 29 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 69 66 20 28 69 .false);.}.$io->write('');.if.(i
3ce60 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 77 61 72 6e 69 6e 67 27 5d 29 29 20 7b 0a 24 69 6f sset($package['warning'])).{.$io
3ce80 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 20 2e 20 24 70 61 63 6b ->writeError('<warning>'...$pack
3cea0 61 67 65 5b 27 77 61 72 6e 69 6e 67 27 5d 20 2e 20 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a age['warning']...'</warning>');.
3cec0 7d 0a 7d 0a 0a 69 66 20 28 24 73 68 6f 77 41 6c 6c 54 79 70 65 73 29 20 7b 0a 24 69 6f 2d 3e 77 }.}..if.($showAllTypes).{.$io->w
3cee0 72 69 74 65 28 27 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 rite('');.}.}.}..return.$exitCod
3cf00 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 e;.}..protected.function.getRoot
3cf20 52 65 71 75 69 72 65 73 28 29 0a 7b 0a 24 72 6f 6f 74 50 61 63 6b 61 67 65 20 3d 20 24 74 68 69 Requires().{.$rootPackage.=.$thi
3cf40 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a s->getComposer()->getPackage();.
3cf60 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 61 70 28 0a 27 73 74 72 74 6f 6c 6f 77 65 72 27 2c .return.array_map(.'strtolower',
3cf80 0a 61 72 72 61 79 5f 6b 65 79 73 28 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 6f 6f 74 50 61 63 .array_keys(array_merge($rootPac
3cfa0 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 20 24 72 6f 6f 74 50 61 63 6b 61 67 kage->getRequires(),.$rootPackag
3cfc0 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 29 0a 29 3b 0a 7d 0a 0a 70 72 6f 74 e->getDevRequires())).);.}..prot
3cfe0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 53 74 79 6c 65 28 50 ected.function.getVersionStyle(P
3d000 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2c 20 ackageInterface.$latestPackage,.
3d020 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 PackageInterface.$package).{.ret
3d040 75 72 6e 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 54 6f 56 65 72 73 69 6f 6e urn.$this->updateStatusToVersion
3d060 53 74 79 6c 65 28 24 74 68 69 73 2d 3e 67 65 74 55 70 64 61 74 65 53 74 61 74 75 73 28 24 6c 61 Style($this->getUpdateStatus($la
3d080 74 65 73 74 50 61 63 6b 61 67 65 2c 20 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a testPackage,.$package));.}......
3d0a0 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b ......protected.function.getPack
3d0c0 61 67 65 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c age(RepositoryInterface.$install
3d0e0 65 64 52 65 70 6f 2c 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 edRepo,.RepositoryInterface.$rep
3d100 6f 73 2c 20 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6e os,.$name,.$version.=.null).{.$n
3d120 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 24 63 6f 6e 73 74 72 ame.=.strtolower($name);.$constr
3d140 61 69 6e 74 20 3d 20 69 73 5f 73 74 72 69 6e 67 28 24 76 65 72 73 69 6f 6e 29 20 3f 20 24 74 68 aint.=.is_string($version).?.$th
3d160 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 is->versionParser->parseConstrai
3d180 6e 74 73 28 24 76 65 72 73 69 6f 6e 29 20 3a 20 24 76 65 72 73 69 6f 6e 3b 0a 0a 24 70 6f 6c 69 nts($version).:.$version;..$poli
3d1a0 63 79 20 3d 20 6e 65 77 20 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 28 29 3b 0a 24 70 6f 6f 6c 20 cy.=.new.DefaultPolicy();.$pool.
3d1c0 3d 20 6e 65 77 20 50 6f 6f 6c 28 27 64 65 76 27 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 =.new.Pool('dev');.$pool->addRep
3d1e0 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 73 29 3b 0a 0a 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 ository($repos);..$matchedPackag
3d200 65 20 3d 20 6e 75 6c 6c 3b 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 e.=.null;.$versions.=.array();.$
3d220 6d 61 74 63 68 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6e matches.=.$pool->whatProvides($n
3d240 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 ame,.$constraint);.foreach.($mat
3d260 63 68 65 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 0a 20 ches.as.$index.=>.$package).{...
3d280 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 21 3d 3d 20 24 6e 61 6d if.($package->getName().!==.$nam
3d2a0 65 29 20 7b 0a 75 6e 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 3b 0a 63 6f e).{.unset($matches[$index]);.co
3d2c0 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 65 72 73 69 ntinue;.}....if.(null.===.$versi
3d2e0 6f 6e 20 26 26 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 on.&&.$installedRepo->hasPackage
3d300 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 20 3d 20 ($package)).{.$matchedPackage.=.
3d320 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 73 5b 24 70 61 63 6b 61 67 65 2d $package;.}..$versions[$package-
3d340 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d >getPrettyVersion()].=.$package-
3d360 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 20 >getVersion();.$matches[$index].
3d380 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 =.$package->getId();.}....if.(!$
3d3a0 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 20 26 26 20 24 6d 61 74 63 68 65 73 20 26 26 20 24 70 matchedPackage.&&.$matches.&&.$p
3d3c0 72 65 66 65 72 72 65 64 20 3d 20 24 70 6f 6c 69 63 79 2d 3e 73 65 6c 65 63 74 50 72 65 66 65 72 referred.=.$policy->selectPrefer
3d3e0 72 65 64 50 61 63 6b 61 67 65 73 28 24 70 6f 6f 6c 2c 20 61 72 72 61 79 28 29 2c 20 24 6d 61 74 redPackages($pool,.array(),.$mat
3d400 63 68 65 73 29 29 20 7b 0a 24 6d 61 74 63 68 65 64 50 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c ches)).{.$matchedPackage.=.$pool
3d420 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 70 72 65 66 65 72 72 65 64 5b 30 5d ->literalToPackage($preferred[0]
3d440 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 6d 61 74 63 68 65 64 50 61 63 6b 61 );.}..return.array($matchedPacka
3d460 67 65 2c 20 24 76 65 72 73 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 ge,.$versions);.}.........protec
3d480 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 4d 65 74 61 28 43 6f 6d 70 6c 65 74 65 50 ted.function.printMeta(CompleteP
3d4a0 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 61 72 72 61 79 20 ackageInterface.$package,.array.
3d4c0 24 76 65 72 73 69 6f 6e 73 2c 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 $versions,.RepositoryInterface.$
3d4e0 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 installedRepo,.PackageInterface.
3d500 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 69 6f 20 3d 20 24 $latestPackage.=.null).{.$io.=.$
3d520 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f this->getIO();.$io->write('<info
3d540 3e 6e 61 6d 65 3c 2f 69 6e 66 6f 3e 20 20 20 20 20 3a 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d >name</info>.....:.'...$package-
3d560 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c >getPrettyName());.$io->write('<
3d580 69 6e 66 6f 3e 64 65 73 63 72 69 70 2e 3c 2f 69 6e 66 6f 3e 20 3a 20 27 20 2e 20 24 70 61 63 6b info>descrip.</info>.:.'...$pack
3d5a0 61 67 65 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 age->getDescription());.$io->wri
3d5c0 74 65 28 27 3c 69 6e 66 6f 3e 6b 65 79 77 6f 72 64 73 3c 2f 69 6e 66 6f 3e 20 3a 20 27 20 2e 20 te('<info>keywords</info>.:.'...
3d5e0 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4b 65 79 77 6f implode(',.',.$package->getKeywo
3d600 72 64 73 28 29 20 3f 3a 20 61 72 72 61 79 28 29 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 rds().?:.array()));.$this->print
3d620 56 65 72 73 69 6f 6e 73 28 24 70 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f 6e 73 2c 20 24 69 Versions($package,.$versions,.$i
3d640 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 3b 0a 69 66 20 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 nstalledRepo);.if.($latestPackag
3d660 65 29 20 7b 0a 24 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 56 65 72 73 69 6f 6e 53 e).{.$style.=.$this->getVersionS
3d680 74 79 6c 65 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a tyle($latestPackage,.$package);.
3d6a0 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 6c 61 74 65 73 74 3c 2f 69 6e 66 6f 3e 20 $io->write('<info>latest</info>.
3d6c0 20 20 3a 20 3c 27 2e 24 73 74 79 6c 65 2e 27 3e 27 20 2e 20 24 6c 61 74 65 73 74 50 61 63 6b 61 ..:.<'.$style.'>'...$latestPacka
3d6e0 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 27 3c 2f 27 2e 24 73 ge->getPrettyVersion()...'</'.$s
3d700 74 79 6c 65 2e 27 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6c 61 74 65 73 74 50 61 63 6b 61 tyle.'>');.}.else.{.$latestPacka
3d720 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e ge.=.$package;.}.$io->write('<in
3d740 66 6f 3e 74 79 70 65 3c 2f 69 6e 66 6f 3e 20 20 20 20 20 3a 20 27 20 2e 20 24 70 61 63 6b 61 67 fo>type</info>.....:.'...$packag
3d760 65 2d 3e 67 65 74 54 79 70 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 69 6e 74 4c 69 63 65 6e e->getType());.$this->printLicen
3d780 73 65 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f ses($package);.$io->write('<info
3d7a0 3e 73 6f 75 72 63 65 3c 2f 69 6e 66 6f 3e 20 20 20 3a 20 27 20 2e 20 73 70 72 69 6e 74 66 28 27 >source</info>...:.'...sprintf('
3d7c0 5b 25 73 5d 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 25 73 27 2c 20 [%s].<comment>%s</comment>.%s',.
3d7e0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 2c 20 24 70 61 63 6b $package->getSourceType(),.$pack
3d800 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 age->getSourceUrl(),.$package->g
3d820 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 etSourceReference()));.$io->writ
3d840 65 28 27 3c 69 6e 66 6f 3e 64 69 73 74 3c 2f 69 6e 66 6f 3e 20 20 20 20 20 3a 20 27 20 2e 20 73 e('<info>dist</info>.....:.'...s
3d860 70 72 69 6e 74 66 28 27 5b 25 73 5d 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e printf('[%s].<comment>%s</commen
3d880 74 3e 20 25 73 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 2c t>.%s',.$package->getDistType(),
3d8a0 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 2c 20 24 70 61 63 6b 61 67 .$package->getDistUrl(),.$packag
3d8c0 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 29 3b 0a 69 66 20 28 24 69 6e e->getDistReference()));.if.($in
3d8e0 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 stalledRepo->hasPackage($package
3d900 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 70 61 74 68 3c 2f 69 6e 66 )).{.$io->write('<info>path</inf
3d920 6f 3e 20 20 20 20 20 3a 20 27 20 2e 20 73 70 72 69 6e 74 66 28 27 25 73 27 2c 20 72 65 61 6c 70 o>.....:.'...sprintf('%s',.realp
3d940 61 74 68 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 74 49 6e 73 ath($this->getComposer()->getIns
3d960 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 tallationManager()->getInstallPa
3d980 74 68 28 24 70 61 63 6b 61 67 65 29 29 29 29 3b 0a 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c th($package))));.}.$io->write('<
3d9a0 69 6e 66 6f 3e 6e 61 6d 65 73 3c 2f 69 6e 66 6f 3e 20 20 20 20 3a 20 27 20 2e 20 69 6d 70 6c 6f info>names</info>....:.'...implo
3d9c0 64 65 28 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 29 29 3b de(',.',.$package->getNames()));
3d9e0 0a 0a 69 66 20 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 ..if.($latestPackage->isAbandone
3da00 64 28 29 29 20 7b 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 20 3d 20 28 24 6c 61 74 65 73 74 50 61 d()).{.$replacement.=.($latestPa
3da20 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 20 21 ckage->getReplacementPackage().!
3da40 3d 3d 20 6e 75 6c 6c 29 0a 3f 20 27 20 54 68 65 20 61 75 74 68 6f 72 20 73 75 67 67 65 73 74 73 ==.null).?.'.The.author.suggests
3da60 20 75 73 69 6e 67 20 74 68 65 20 27 20 2e 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 .using.the.'...$latestPackage->g
3da80 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 2e 20 27 20 70 61 63 6b 61 67 etReplacementPackage()..'.packag
3daa0 65 20 69 6e 73 74 65 61 64 2e 27 0a 3a 20 6e 75 6c 6c 3b 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 e.instead.'.:.null;..$io->writeE
3dac0 72 72 6f 72 28 0a 73 70 72 69 6e 74 66 28 27 3c 77 61 72 6e 69 6e 67 3e 41 74 74 65 6e 74 69 6f rror(.sprintf('<warning>Attentio
3dae0 6e 3a 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 69 73 20 61 62 61 6e 64 6f 6e 65 64 20 61 6e 64 n:.This.package.is.abandoned.and
3db00 20 6e 6f 20 6c 6f 6e 67 65 72 20 6d 61 69 6e 74 61 69 6e 65 64 2e 25 73 3c 2f 77 61 72 6e 69 6e .no.longer.maintained.%s</warnin
3db20 67 3e 27 2c 20 24 72 65 70 6c 61 63 65 6d 65 6e 74 29 0a 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 g>',.$replacement).);.}..if.($pa
3db40 63 6b 61 67 65 2d 3e 67 65 74 53 75 70 70 6f 72 74 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 ckage->getSupport()).{.$io->writ
3db60 65 28 22 5c 6e 3c 69 6e 66 6f 3e 73 75 70 70 6f 72 74 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 66 6f 72 e("\n<info>support</info>");.for
3db80 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 75 70 70 6f 72 74 28 29 20 61 73 20 each.($package->getSupport().as.
3dba0 24 74 79 70 65 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c $type.=>.$value).{.$io->write('<
3dbc0 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 74 79 70 65 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 comment>'...$type...'</comment>.
3dbe0 3a 20 27 2e 24 76 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e :.'.$value);.}.}..if.($package->
3dc00 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 22 5c 6e 3c getAutoload()).{.$io->write("\n<
3dc20 69 6e 66 6f 3e 61 75 74 6f 6c 6f 61 64 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 66 6f 72 65 61 63 68 20 info>autoload</info>");.foreach.
3dc40 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 20 61 73 20 24 74 79 70 ($package->getAutoload().as.$typ
3dc60 65 20 3d 3e 20 24 61 75 74 6f 6c 6f 61 64 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c e.=>.$autoloads).{.$io->write('<
3dc80 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 74 79 70 65 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 comment>'...$type...'</comment>'
3dca0 29 3b 0a 0a 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 27 70 73 72 2d 30 27 29 20 7b 0a 66 6f 72 );..if.($type.===.'psr-0').{.for
3dcc0 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 70 61 each.($autoloads.as.$name.=>.$pa
3dce0 74 68 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 28 24 6e 61 6d 65 20 3f 3a 20 27 2a 27 29 20 th).{.$io->write(($name.?:.'*').
3dd00 2e 20 27 20 3d 3e 20 27 20 2e 20 28 69 73 5f 61 72 72 61 79 28 24 70 61 74 68 29 20 3f 20 69 6d ..'.=>.'...(is_array($path).?.im
3dd20 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 74 68 29 20 3a 20 28 24 70 61 74 68 20 3f 3a 20 27 plode(',.',.$path).:.($path.?:.'
3dd40 2e 27 29 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 27 70 73 .')));.}.}.elseif.($type.===.'ps
3dd60 72 2d 34 27 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 73 20 61 73 20 24 r-4').{.foreach.($autoloads.as.$
3dd80 6e 61 6d 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 28 24 6e 61 name.=>.$path).{.$io->write(($na
3dda0 6d 65 20 3f 3a 20 27 2a 27 29 20 2e 20 27 20 3d 3e 20 27 20 2e 20 28 69 73 5f 61 72 72 61 79 28 me.?:.'*')...'.=>.'...(is_array(
3ddc0 24 70 61 74 68 29 20 3f 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 74 68 29 20 3a 20 $path).?.implode(',.',.$path).:.
3dde0 28 24 70 61 74 68 20 3f 3a 20 27 2e 27 29 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 ($path.?:.'.')));.}.}.elseif.($t
3de00 79 70 65 20 3d 3d 3d 20 27 63 6c 61 73 73 6d 61 70 27 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 ype.===.'classmap').{.$io->write
3de20 28 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 61 75 74 6f 6c 6f 61 64 73 29 29 3b 0a 7d 0a 7d (implode(',.',.$autoloads));.}.}
3de40 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 .if.($package->getIncludePaths()
3de60 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 63 6f 6d 6d 65 6e 74 3e 69 6e 63 6c 75 64 65 ).{.$io->write('<comment>include
3de80 2d 70 61 74 68 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 69 6d -path</comment>');.$io->write(im
3dea0 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 6e 63 6c 75 64 65 plode(',.',.$package->getInclude
3dec0 50 61 74 68 73 28 29 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 Paths()));.}.}.}.........protect
3dee0 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 56 65 72 73 69 6f 6e 73 28 43 6f 6d 70 6c 65 ed.function.printVersions(Comple
3df00 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 61 72 72 tePackageInterface.$package,.arr
3df20 61 79 20 24 76 65 72 73 69 6f 6e 73 2c 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 ay.$versions,.RepositoryInterfac
3df40 65 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 0a 7b 0a 75 61 73 6f 72 74 28 24 76 65 72 73 e.$installedRepo).{.uasort($vers
3df60 69 6f 6e 73 2c 20 27 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 27 29 3b 0a 24 76 65 72 73 69 ions,.'version_compare');.$versi
3df80 6f 6e 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 ons.=.array_keys(array_reverse($
3dfa0 76 65 72 73 69 6f 6e 73 29 29 3b 0a 0a 0a 20 69 66 20 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 versions));....if.($installedRep
3dfc0 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 69 6e 73 74 o->hasPackage($package)).{.$inst
3dfe0 61 6c 6c 65 64 56 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 alledVersion.=.$package->getPret
3e000 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 6b 65 79 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 tyVersion();.$key.=.array_search
3e020 28 24 69 6e 73 74 61 6c 6c 65 64 56 65 72 73 69 6f 6e 2c 20 24 76 65 72 73 69 6f 6e 73 29 3b 0a ($installedVersion,.$versions);.
3e040 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 6b 65 79 29 20 7b 0a 24 76 65 72 73 69 6f 6e 73 5b if.(false.!==.$key).{.$versions[
3e060 24 6b 65 79 5d 20 3d 20 27 3c 69 6e 66 6f 3e 2a 20 27 20 2e 20 24 69 6e 73 74 61 6c 6c 65 64 56 $key].=.'<info>*.'...$installedV
3e080 65 72 73 69 6f 6e 20 2e 20 27 3c 2f 69 6e 66 6f 3e 27 3b 0a 7d 0a 7d 0a 0a 24 76 65 72 73 69 6f ersion...'</info>';.}.}..$versio
3e0a0 6e 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 76 65 72 73 69 6f 6e 73 29 3b 0a 0a ns.=.implode(',.',.$versions);..
3e0c0 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 76 65 72 $this->getIO()->write('<info>ver
3e0e0 73 69 6f 6e 73 3c 2f 69 6e 66 6f 3e 20 3a 20 27 20 2e 20 24 76 65 72 73 69 6f 6e 73 29 3b 0a 7d sions</info>.:.'...$versions);.}
3e100 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e .........protected.function.prin
3e120 74 4c 69 6e 6b 73 28 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 tLinks(CompletePackageInterface.
3e140 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 54 79 70 65 2c 20 24 74 69 74 6c 65 20 3d 20 6e 75 $package,.$linkType,.$title.=.nu
3e160 6c 6c 29 0a 7b 0a 24 74 69 74 6c 65 20 3d 20 24 74 69 74 6c 65 20 3f 3a 20 24 6c 69 6e 6b 54 79 ll).{.$title.=.$title.?:.$linkTy
3e180 70 65 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 24 6c pe;.$io.=.$this->getIO();.if.($l
3e1a0 69 6e 6b 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 7b 27 67 65 74 27 2e 75 63 66 69 72 73 74 28 inks.=.$package->{'get'.ucfirst(
3e1c0 24 6c 69 6e 6b 54 79 70 65 29 7d 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 22 5c 6e 3c $linkType)}()).{.$io->write("\n<
3e1e0 69 6e 66 6f 3e 22 20 2e 20 24 74 69 74 6c 65 20 2e 20 22 3c 2f 69 6e 66 6f 3e 22 29 3b 0a 0a 66 info>"...$title..."</info>");..f
3e200 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 69 6f 2d 3e oreach.($links.as.$link).{.$io->
3e220 77 72 69 74 65 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2e 20 27 20 3c 63 6f write($link->getTarget()...'.<co
3e240 6d 6d 65 6e 74 3e 27 20 2e 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 mment>'...$link->getPrettyConstr
3e260 61 69 6e 74 28 29 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a aint()...'</comment>');.}.}.}...
3e280 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 4c 69 63 65 ....protected.function.printLice
3e2a0 6e 73 65 73 28 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 nses(CompletePackageInterface.$p
3e2c0 61 63 6b 61 67 65 29 0a 7b 0a 24 73 70 64 78 4c 69 63 65 6e 73 65 73 20 3d 20 6e 65 77 20 53 70 ackage).{.$spdxLicenses.=.new.Sp
3e2e0 64 78 4c 69 63 65 6e 73 65 73 28 29 3b 0a 0a 24 6c 69 63 65 6e 73 65 73 20 3d 20 24 70 61 63 6b dxLicenses();..$licenses.=.$pack
3e300 61 67 65 2d 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e age->getLicense();.$io.=.$this->
3e320 67 65 74 49 4f 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 63 65 6e 73 65 73 20 61 73 20 getIO();..foreach.($licenses.as.
3e340 24 6c 69 63 65 6e 73 65 49 64 29 20 7b 0a 24 6c 69 63 65 6e 73 65 20 3d 20 24 73 70 64 78 4c 69 $licenseId).{.$license.=.$spdxLi
3e360 63 65 6e 73 65 73 2d 3e 67 65 74 4c 69 63 65 6e 73 65 42 79 49 64 65 6e 74 69 66 69 65 72 28 24 censes->getLicenseByIdentifier($
3e380 6c 69 63 65 6e 73 65 49 64 29 3b 20 0a 0a 69 66 20 28 21 24 6c 69 63 65 6e 73 65 29 20 7b 0a 24 licenseId);...if.(!$license).{.$
3e3a0 6f 75 74 20 3d 20 24 6c 69 63 65 6e 73 65 49 64 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 out.=.$licenseId;.}.else.{...if.
3e3c0 28 24 6c 69 63 65 6e 73 65 5b 31 5d 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 24 6f 75 74 20 3d 20 ($license[1].===.true).{.$out.=.
3e3e0 73 70 72 69 6e 74 66 28 27 25 73 20 28 25 73 29 20 28 4f 53 49 20 61 70 70 72 6f 76 65 64 29 20 sprintf('%s.(%s).(OSI.approved).
3e400 25 73 27 2c 20 24 6c 69 63 65 6e 73 65 5b 30 5d 2c 20 24 6c 69 63 65 6e 73 65 49 64 2c 20 24 6c %s',.$license[0],.$licenseId,.$l
3e420 69 63 65 6e 73 65 5b 32 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 75 74 20 3d 20 73 70 72 69 icense[2]);.}.else.{.$out.=.spri
3e440 6e 74 66 28 27 25 73 20 28 25 73 29 20 25 73 27 2c 20 24 6c 69 63 65 6e 73 65 5b 30 5d 2c 20 24 ntf('%s.(%s).%s',.$license[0],.$
3e460 6c 69 63 65 6e 73 65 49 64 2c 20 24 6c 69 63 65 6e 73 65 5b 32 5d 29 3b 0a 7d 0a 7d 0a 0a 24 69 licenseId,.$license[2]);.}.}..$i
3e480 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 6c 69 63 65 6e 73 65 3c 2f 69 6e 66 6f 3e 20 20 o->write('<info>license</info>..
3e4a0 3a 20 27 20 2e 20 24 6f 75 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 :.'...$out);.}.}.......protected
3e4c0 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 53 74 79 6c 65 73 28 4f 75 74 70 75 74 49 6e 74 65 72 .function.initStyles(OutputInter
3e4e0 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 20 3d 20 face.$output).{.$this->colors.=.
3e500 61 72 72 61 79 28 0a 27 67 72 65 65 6e 27 2c 0a 27 79 65 6c 6c 6f 77 27 2c 0a 27 63 79 61 6e 27 array(.'green',.'yellow',.'cyan'
3e520 2c 0a 27 6d 61 67 65 6e 74 61 27 2c 0a 27 62 6c 75 65 27 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 ,.'magenta',.'blue',.);..foreach
3e540 20 28 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 20 61 73 20 24 63 6f 6c 6f 72 29 20 7b 0a 24 73 74 .($this->colors.as.$color).{.$st
3e560 79 6c 65 20 3d 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 24 yle.=.new.OutputFormatterStyle($
3e580 63 6f 6c 6f 72 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2d color);.$output->getFormatter()-
3e5a0 3e 73 65 74 53 74 79 6c 65 28 24 63 6f 6c 6f 72 2c 20 24 73 74 79 6c 65 29 3b 0a 7d 0a 7d 0a 0a >setStyle($color,.$style);.}.}..
3e5c0 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 50 .....protected.function.displayP
3e5e0 61 63 6b 61 67 65 54 72 65 65 28 61 72 72 61 79 20 24 61 72 72 61 79 54 72 65 65 29 0a 7b 0a 24 ackageTree(array.$arrayTree).{.$
3e600 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 io.=.$this->getIO();.foreach.($a
3e620 72 72 61 79 54 72 65 65 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 rrayTree.as.$package).{.$io->wri
3e640 74 65 28 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 24 70 te(sprintf('<info>%s</info>',.$p
3e660 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 29 2c 20 66 61 6c 73 65 29 3b 0a 24 69 6f 2d 3e 77 72 ackage['name']),.false);.$io->wr
3e680 69 74 65 28 27 20 27 20 2e 20 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 66 ite('.'...$package['version'],.f
3e6a0 61 6c 73 65 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 20 27 20 2e 20 73 74 72 74 6f 6b 28 24 alse);.$io->write('.'...strtok($
3e6c0 70 61 63 6b 61 67 65 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 2c 20 22 5c 72 5c 6e 22 29 29 package['description'],."\r\n"))
3e6e0 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 72 65 71 75 69 72 65 73 27 ;..if.(isset($package['requires'
3e700 5d 29 29 20 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 72 65 71 75 ])).{.$requires.=.$package['requ
3e720 69 72 65 73 27 5d 3b 0a 24 74 72 65 65 42 61 72 20 3d 20 27 e2 94 9c 27 3b 0a 24 6a 20 3d 20 30 ires'];.$treeBar.=.'...';.$j.=.0
3e740 3b 0a 24 74 6f 74 61 6c 20 3d 20 63 6f 75 6e 74 28 24 72 65 71 75 69 72 65 73 29 3b 0a 66 6f 72 ;.$total.=.count($requires);.for
3e760 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 each.($requires.as.$require).{.$
3e780 72 65 71 75 69 72 65 4e 61 6d 65 20 3d 20 24 72 65 71 75 69 72 65 5b 27 6e 61 6d 65 27 5d 3b 0a requireName.=.$require['name'];.
3e7a0 24 6a 2b 2b 3b 0a 69 66 20 28 24 6a 20 3d 3d 3d 20 24 74 6f 74 61 6c 29 20 7b 0a 24 74 72 65 65 $j++;.if.($j.===.$total).{.$tree
3e7c0 42 61 72 20 3d 20 27 e2 94 94 27 3b 0a 7d 0a 24 6c 65 76 65 6c 20 3d 20 31 3b 0a 24 63 6f 6c 6f Bar.=.'...';.}.$level.=.1;.$colo
3e7e0 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 24 6c 65 76 65 6c 5d 3b 0a 24 69 6e 66 6f r.=.$this->colors[$level];.$info
3e800 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 25 73 e2 94 80 e2 94 80 3c 25 73 3e 25 73 3c 2f 25 73 3e .=.sprintf(.'%s......<%s>%s</%s>
3e820 20 25 73 27 2c 0a 24 74 72 65 65 42 61 72 2c 0a 24 63 6f 6c 6f 72 2c 0a 24 72 65 71 75 69 72 65 .%s',.$treeBar,.$color,.$require
3e840 4e 61 6d 65 2c 0a 24 63 6f 6c 6f 72 2c 0a 24 72 65 71 75 69 72 65 5b 27 76 65 72 73 69 6f 6e 27 Name,.$color,.$require['version'
3e860 5d 0a 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 72 65 65 4c 69 6e 65 28 24 69 6e 66 6f 29 ].);.$this->writeTreeLine($info)
3e880 3b 0a 0a 24 74 72 65 65 42 61 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 e2 94 94 27 2c ;..$treeBar.=.str_replace('...',
3e8a0 20 27 20 27 2c 20 24 74 72 65 65 42 61 72 29 3b 0a 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 .'.',.$treeBar);.$packagesInTree
3e8c0 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2c 20 24 72 65 71 75 .=.array($package['name'],.$requ
3e8e0 69 72 65 4e 61 6d 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 54 72 65 65 28 24 72 ireName);..$this->displayTree($r
3e900 65 71 75 69 72 65 2c 20 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 2c 20 24 74 72 65 65 42 61 equire,.$packagesInTree,.$treeBa
3e920 72 2c 20 24 6c 65 76 65 6c 20 2b 20 31 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a r,.$level.+.1);.}.}.}.}.........
3e940 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 50 61 63 6b .protected.function.generatePack
3e960 61 67 65 54 72 65 65 28 0a 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 ageTree(.PackageInterface.$packa
3e980 67 65 2c 0a 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c ge,.RepositoryInterface.$install
3e9a0 65 64 52 65 70 6f 2c 0a 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 64 69 73 edRepo,.RepositoryInterface.$dis
3e9c0 74 61 6e 74 52 65 70 6f 73 0a 29 20 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 24 70 61 63 6b 61 tantRepos.).{.$requires.=.$packa
3e9e0 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 6b 73 6f 72 74 28 24 72 65 71 75 69 72 ge->getRequires();.ksort($requir
3ea00 65 73 29 3b 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 es);.$children.=.array();.foreac
3ea20 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 4e 61 6d 65 20 3d 3e 20 h.($requires.as.$requireName.=>.
3ea40 24 72 65 71 75 69 72 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 20 3d 20 61 72 $require).{.$packagesInTree.=.ar
3ea60 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 72 65 71 75 69 72 ray($package->getName(),.$requir
3ea80 65 4e 61 6d 65 29 3b 0a 0a 24 74 72 65 65 43 68 69 6c 64 44 65 73 63 20 3d 20 61 72 72 61 79 28 eName);..$treeChildDesc.=.array(
3eaa0 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 72 65 71 75 69 72 65 4e 61 6d 65 2c 0a 27 76 65 72 73 69 6f .'name'.=>.$requireName,.'versio
3eac0 6e 27 20 3d 3e 20 24 72 65 71 75 69 72 65 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 n'.=>.$require->getPrettyConstra
3eae0 69 6e 74 28 29 2c 0a 29 3b 0a 0a 24 64 65 65 70 43 68 69 6c 64 72 65 6e 20 3d 20 24 74 68 69 73 int(),.);..$deepChildren.=.$this
3eb00 2d 3e 61 64 64 54 72 65 65 28 24 72 65 71 75 69 72 65 4e 61 6d 65 2c 20 24 72 65 71 75 69 72 65 ->addTree($requireName,.$require
3eb20 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 64 69 73 74 61 6e 74 52 65 70 6f 73 2c ,.$installedRepo,.$distantRepos,
3eb40 20 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 29 3b 0a 0a 69 66 20 28 24 64 65 65 70 43 68 69 .$packagesInTree);..if.($deepChi
3eb60 6c 64 72 65 6e 29 20 7b 0a 24 74 72 65 65 43 68 69 6c 64 44 65 73 63 5b 27 72 65 71 75 69 72 65 ldren).{.$treeChildDesc['require
3eb80 73 27 5d 20 3d 20 24 64 65 65 70 43 68 69 6c 64 72 65 6e 3b 0a 7d 0a 0a 24 63 68 69 6c 64 72 65 s'].=.$deepChildren;.}..$childre
3eba0 6e 5b 5d 20 3d 20 24 74 72 65 65 43 68 69 6c 64 44 65 73 63 3b 0a 7d 0a 24 74 72 65 65 20 3d 20 n[].=.$treeChildDesc;.}.$tree.=.
3ebc0 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 array(.'name'.=>.$package->getPr
3ebe0 65 74 74 79 4e 61 6d 65 28 29 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 ettyName(),.'version'.=>.$packag
3ec00 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 27 64 65 73 63 72 69 70 74 e->getPrettyVersion(),.'descript
3ec20 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e ion'.=>.$package->getDescription
3ec40 28 29 2c 0a 29 3b 0a 0a 69 66 20 28 24 63 68 69 6c 64 72 65 6e 29 20 7b 0a 24 74 72 65 65 5b 27 (),.);..if.($children).{.$tree['
3ec60 72 65 71 75 69 72 65 73 27 5d 20 3d 20 24 63 68 69 6c 64 72 65 6e 3b 0a 7d 0a 0a 72 65 74 75 72 requires'].=.$children;.}..retur
3ec80 6e 20 24 74 72 65 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 n.$tree;.}..........protected.fu
3eca0 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 54 72 65 65 28 0a 24 70 61 63 6b 61 67 65 2c 0a 61 72 nction.displayTree(.$package,.ar
3ecc0 72 61 79 20 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 2c 0a 24 70 72 65 76 69 6f 75 73 54 72 ray.$packagesInTree,.$previousTr
3ece0 65 65 42 61 72 20 3d 20 27 e2 94 9c 27 2c 0a 24 6c 65 76 65 6c 20 3d 20 31 0a 29 20 7b 0a 24 70 eeBar.=.'...',.$level.=.1.).{.$p
3ed00 72 65 76 69 6f 75 73 54 72 65 65 42 61 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 e2 94 reviousTreeBar.=.str_replace('..
3ed20 9c 27 2c 20 27 e2 94 82 27 2c 20 24 70 72 65 76 69 6f 75 73 54 72 65 65 42 61 72 29 3b 0a 69 66 .',.'...',.$previousTreeBar);.if
3ed40 20 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 72 65 71 75 69 72 65 73 27 5d 29 29 20 7b .(isset($package['requires'])).{
3ed60 0a 24 72 65 71 75 69 72 65 73 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 72 65 71 75 69 72 65 73 27 .$requires.=.$package['requires'
3ed80 5d 3b 0a 24 74 72 65 65 42 61 72 20 3d 20 24 70 72 65 76 69 6f 75 73 54 72 65 65 42 61 72 20 2e ];.$treeBar.=.$previousTreeBar..
3eda0 20 27 20 20 e2 94 9c 27 3b 0a 24 69 20 3d 20 30 3b 0a 24 74 6f 74 61 6c 20 3d 20 63 6f 75 6e 74 .'.....';.$i.=.0;.$total.=.count
3edc0 28 24 72 65 71 75 69 72 65 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 ($requires);.foreach.($requires.
3ede0 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 63 75 72 72 65 6e 74 54 72 65 65 20 3d 20 24 70 as.$require).{.$currentTree.=.$p
3ee00 61 63 6b 61 67 65 73 49 6e 54 72 65 65 3b 0a 24 69 2b 2b 3b 0a 69 66 20 28 24 69 20 3d 3d 3d 20 ackagesInTree;.$i++;.if.($i.===.
3ee20 24 74 6f 74 61 6c 29 20 7b 0a 24 74 72 65 65 42 61 72 20 3d 20 24 70 72 65 76 69 6f 75 73 54 72 $total).{.$treeBar.=.$previousTr
3ee40 65 65 42 61 72 20 2e 20 27 20 20 e2 94 94 27 3b 0a 7d 0a 24 63 6f 6c 6f 72 49 64 65 6e 74 20 3d eeBar...'.....';.}.$colorIdent.=
3ee60 20 24 6c 65 76 65 6c 20 25 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 29 3b 0a .$level.%.count($this->colors);.
3ee80 24 63 6f 6c 6f 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 49 64 65 $color.=.$this->colors[$colorIde
3eea0 6e 74 5d 3b 0a 0a 24 63 69 72 63 75 6c 61 72 57 61 72 6e 20 3d 20 69 6e 5f 61 72 72 61 79 28 0a nt];..$circularWarn.=.in_array(.
3eec0 24 72 65 71 75 69 72 65 5b 27 6e 61 6d 65 27 5d 2c 0a 24 63 75 72 72 65 6e 74 54 72 65 65 2c 0a $require['name'],.$currentTree,.
3eee0 74 72 75 65 0a 29 20 3f 20 27 28 63 69 72 63 75 6c 61 72 20 64 65 70 65 6e 64 65 6e 63 79 20 61 true.).?.'(circular.dependency.a
3ef00 62 6f 72 74 65 64 20 68 65 72 65 29 27 20 3a 20 27 27 3b 0a 24 69 6e 66 6f 20 3d 20 72 74 72 69 borted.here)'.:.'';.$info.=.rtri
3ef20 6d 28 73 70 72 69 6e 74 66 28 0a 27 25 73 e2 94 80 e2 94 80 3c 25 73 3e 25 73 3c 2f 25 73 3e 20 m(sprintf(.'%s......<%s>%s</%s>.
3ef40 25 73 20 25 73 27 2c 0a 24 74 72 65 65 42 61 72 2c 0a 24 63 6f 6c 6f 72 2c 0a 24 72 65 71 75 69 %s.%s',.$treeBar,.$color,.$requi
3ef60 72 65 5b 27 6e 61 6d 65 27 5d 2c 0a 24 63 6f 6c 6f 72 2c 0a 24 72 65 71 75 69 72 65 5b 27 76 65 re['name'],.$color,.$require['ve
3ef80 72 73 69 6f 6e 27 5d 2c 0a 24 63 69 72 63 75 6c 61 72 57 61 72 6e 0a 29 29 3b 0a 24 74 68 69 73 rsion'],.$circularWarn.));.$this
3efa0 2d 3e 77 72 69 74 65 54 72 65 65 4c 69 6e 65 28 24 69 6e 66 6f 29 3b 0a 0a 24 74 72 65 65 42 61 ->writeTreeLine($info);..$treeBa
3efc0 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 e2 94 94 27 2c 20 27 20 27 2c 20 24 74 72 65 r.=.str_replace('...',.'.',.$tre
3efe0 65 42 61 72 29 3b 0a 0a 24 63 75 72 72 65 6e 74 54 72 65 65 5b 5d 20 3d 20 24 72 65 71 75 69 72 eBar);..$currentTree[].=.$requir
3f000 65 5b 27 6e 61 6d 65 27 5d 3b 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 54 72 65 65 28 24 72 e['name'];.$this->displayTree($r
3f020 65 71 75 69 72 65 2c 20 24 63 75 72 72 65 6e 74 54 72 65 65 2c 20 24 74 72 65 65 42 61 72 2c 20 equire,.$currentTree,.$treeBar,.
3f040 24 6c 65 76 65 6c 20 2b 20 31 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 $level.+.1);.}.}.}............pr
3f060 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 54 72 65 65 28 0a 24 6e 61 6d 65 2c otected.function.addTree(.$name,
3f080 0a 24 70 61 63 6b 61 67 65 2c 0a 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 .$package,.RepositoryInterface.$
3f0a0 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 0a 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 installedRepo,.RepositoryInterfa
3f0c0 63 65 20 24 64 69 73 74 61 6e 74 52 65 70 6f 73 2c 0a 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 ce.$distantRepos,.array.$package
3f0e0 73 49 6e 54 72 65 65 0a 29 20 7b 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 61 72 72 61 79 28 29 3b sInTree.).{.$children.=.array();
3f100 0a 6c 69 73 74 28 24 70 61 63 6b 61 67 65 2c 20 24 76 65 72 73 69 6f 6e 73 29 20 3d 20 24 74 68 .list($package,.$versions).=.$th
3f120 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 0a is->getPackage(.$installedRepo,.
3f140 24 64 69 73 74 61 6e 74 52 65 70 6f 73 2c 0a 24 6e 61 6d 65 2c 0a 24 70 61 63 6b 61 67 65 2d 3e $distantRepos,.$name,.$package->
3f160 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 20 3d 3d 3d 20 27 73 65 6c 66 2e getPrettyConstraint().===.'self.
3f180 76 65 72 73 69 6f 6e 27 20 3f 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 version'.?.$package->getConstrai
3f1a0 6e 74 28 29 20 3a 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 nt().:.$package->getPrettyConstr
3f1c0 61 69 6e 74 28 29 0a 29 3b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 70 61 63 6b 61 67 65 aint().);.if.(is_object($package
3f1e0 29 29 20 7b 0a 24 72 65 71 75 69 72 65 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 )).{.$requires.=.$package->getRe
3f200 71 75 69 72 65 73 28 29 3b 0a 6b 73 6f 72 74 28 24 72 65 71 75 69 72 65 73 29 3b 0a 66 6f 72 65 quires();.ksort($requires);.fore
3f220 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 4e 61 6d 65 20 3d ach.($requires.as.$requireName.=
3f240 3e 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 63 75 72 72 65 6e 74 54 72 65 65 20 3d 20 24 70 61 >.$require).{.$currentTree.=.$pa
3f260 63 6b 61 67 65 73 49 6e 54 72 65 65 3b 0a 0a 24 74 72 65 65 43 68 69 6c 64 44 65 73 63 20 3d 20 ckagesInTree;..$treeChildDesc.=.
3f280 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 72 65 71 75 69 72 65 4e 61 6d 65 2c 0a 27 array(.'name'.=>.$requireName,.'
3f2a0 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 72 65 71 75 69 72 65 2d 3e 67 65 74 50 72 65 74 74 79 43 version'.=>.$require->getPrettyC
3f2c0 6f 6e 73 74 72 61 69 6e 74 28 29 2c 0a 29 3b 0a 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 onstraint(),.);..if.(!in_array($
3f2e0 72 65 71 75 69 72 65 4e 61 6d 65 2c 20 24 63 75 72 72 65 6e 74 54 72 65 65 2c 20 74 72 75 65 29 requireName,.$currentTree,.true)
3f300 29 20 7b 0a 24 63 75 72 72 65 6e 74 54 72 65 65 5b 5d 20 3d 20 24 72 65 71 75 69 72 65 4e 61 6d ).{.$currentTree[].=.$requireNam
3f320 65 3b 0a 24 64 65 65 70 43 68 69 6c 64 72 65 6e 20 3d 20 24 74 68 69 73 2d 3e 61 64 64 54 72 65 e;.$deepChildren.=.$this->addTre
3f340 65 28 24 72 65 71 75 69 72 65 4e 61 6d 65 2c 20 24 72 65 71 75 69 72 65 2c 20 24 69 6e 73 74 61 e($requireName,.$require,.$insta
3f360 6c 6c 65 64 52 65 70 6f 2c 20 24 64 69 73 74 61 6e 74 52 65 70 6f 73 2c 20 24 63 75 72 72 65 6e lledRepo,.$distantRepos,.$curren
3f380 74 54 72 65 65 29 3b 0a 69 66 20 28 24 64 65 65 70 43 68 69 6c 64 72 65 6e 29 20 7b 0a 24 74 72 tTree);.if.($deepChildren).{.$tr
3f3a0 65 65 43 68 69 6c 64 44 65 73 63 5b 27 72 65 71 75 69 72 65 73 27 5d 20 3d 20 24 64 65 65 70 43 eeChildDesc['requires'].=.$deepC
3f3c0 68 69 6c 64 72 65 6e 3b 0a 7d 0a 7d 0a 0a 24 63 68 69 6c 64 72 65 6e 5b 5d 20 3d 20 24 74 72 65 hildren;.}.}..$children[].=.$tre
3f3e0 65 43 68 69 6c 64 44 65 73 63 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 68 69 6c 64 72 65 eChildDesc;.}.}..return.$childre
3f400 6e 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 53 74 61 n;.}..private.function.updateSta
3f420 74 75 73 54 6f 56 65 72 73 69 6f 6e 53 74 79 6c 65 28 24 75 70 64 61 74 65 53 74 61 74 75 73 29 tusToVersionStyle($updateStatus)
3f440 0a 7b 0a 0a 20 0a 20 0a 20 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 .{.......return.str_replace(arra
3f460 79 28 27 75 70 2d 74 6f 2d 64 61 74 65 27 2c 20 27 73 65 6d 76 65 72 2d 73 61 66 65 2d 75 70 64 y('up-to-date',.'semver-safe-upd
3f480 61 74 65 27 2c 20 27 75 70 64 61 74 65 2d 70 6f 73 73 69 62 6c 65 27 29 2c 20 61 72 72 61 79 28 ate',.'update-possible'),.array(
3f4a0 27 69 6e 66 6f 27 2c 20 27 68 69 67 68 6c 69 67 68 74 27 2c 20 27 63 6f 6d 6d 65 6e 74 27 29 2c 'info',.'highlight',.'comment'),
3f4c0 20 24 75 70 64 61 74 65 53 74 61 74 75 73 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 .$updateStatus);.}..private.func
3f4e0 74 69 6f 6e 20 67 65 74 55 70 64 61 74 65 53 74 61 74 75 73 28 50 61 63 6b 61 67 65 49 6e 74 65 tion.getUpdateStatus(PackageInte
3f500 72 66 61 63 65 20 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2c 20 50 61 63 6b 61 67 65 49 6e 74 rface.$latestPackage,.PackageInt
3f520 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 24 6c 61 74 65 73 74 50 61 erface.$package).{.if.($latestPa
3f540 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 3d 3d ckage->getFullPrettyVersion().==
3f560 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e =.$package->getFullPrettyVersion
3f580 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 75 70 2d 74 6f 2d 64 61 74 65 27 3b 0a 7d 0a 0a 24 63 ()).{.return.'up-to-date';.}..$c
3f5a0 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e onstraint.=.$package->getVersion
3f5c0 28 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 ();.if.(0.!==.strpos($constraint
3f5e0 2c 20 27 64 65 76 2d 27 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 27 5e 27 2e 24 ,.'dev-')).{.$constraint.=.'^'.$
3f600 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 69 66 20 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 constraint;.}.if.($latestPackage
3f620 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 20 26 26 20 53 65 6d 76 65 72 3a 3a 73 61 74 69 73 66 ->getVersion().&&.Semver::satisf
3f640 69 65 73 28 24 6c 61 74 65 73 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 ies($latestPackage->getVersion()
3f660 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 27 73 65 6d 76 ,.$constraint)).{...return.'semv
3f680 65 72 2d 73 61 66 65 2d 75 70 64 61 74 65 27 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 27 75 70 er-safe-update';.}....return.'up
3f6a0 64 61 74 65 2d 70 6f 73 73 69 62 6c 65 27 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 date-possible';.}..private.funct
3f6c0 69 6f 6e 20 77 72 69 74 65 54 72 65 65 4c 69 6e 65 28 24 6c 69 6e 65 29 0a 7b 0a 24 69 6f 20 3d ion.writeTreeLine($line).{.$io.=
3f6e0 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 21 24 69 6f 2d 3e 69 73 44 65 63 .$this->getIO();.if.(!$io->isDec
3f700 6f 72 61 74 65 64 28 29 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 orated()).{.$line.=.str_replace(
3f720 61 72 72 61 79 28 27 e2 94 94 27 2c 20 27 e2 94 9c 27 2c 20 27 e2 94 80 e2 94 80 27 2c 20 27 e2 array('...',.'...',.'......',.'.
3f740 94 82 27 29 2c 20 61 72 72 61 79 28 27 60 2d 27 2c 20 27 7c 2d 27 2c 20 27 2d 27 2c 20 27 7c 27 ..'),.array('`-',.'|-',.'-',.'|'
3f760 29 2c 20 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 6c 69 6e 65 29 3b ),.$line);.}..$io->write($line);
3f780 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 .}............private.function.f
3f7a0 69 6e 64 4c 61 74 65 73 74 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 indLatestPackage(PackageInterfac
3f7c0 65 20 24 70 61 63 6b 61 67 65 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 e.$package,.Composer.$composer,.
3f7e0 24 70 68 70 56 65 72 73 69 6f 6e 2c 20 24 6d 69 6e 6f 72 4f 6e 6c 79 20 3d 20 66 61 6c 73 65 29 $phpVersion,.$minorOnly.=.false)
3f800 0a 7b 0a 0a 20 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 .{...$name.=.$package->getName()
3f820 3b 0a 24 76 65 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e ;.$versionSelector.=.new.Version
3f840 53 65 6c 65 63 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 50 6f 6f 6c 28 24 63 6f 6d 70 6f 73 65 Selector($this->getPool($compose
3f860 72 29 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 r));.$stability.=.$composer->get
3f880 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 Package()->getMinimumStability()
3f8a0 3b 0a 24 66 6c 61 67 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 ;.$flags.=.$composer->getPackage
3f8c0 28 29 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 3b 0a 69 66 20 28 69 73 73 ()->getStabilityFlags();.if.(iss
3f8e0 65 74 28 24 66 6c 61 67 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 et($flags[$name])).{.$stability.
3f900 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 66 6c 61 67 73 5b 24 6e 61 6d 65 5d 2c 20 42 61 =.array_search($flags[$name],.Ba
3f920 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 2c 20 74 72 75 65 29 3b 0a sePackage::$stabilities,.true);.
3f940 7d 0a 0a 24 62 65 73 74 53 74 61 62 69 6c 69 74 79 20 3d 20 24 73 74 61 62 69 6c 69 74 79 3b 0a }..$bestStability.=.$stability;.
3f960 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 if.($composer->getPackage()->get
3f980 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 29 20 7b 0a 24 62 65 73 74 53 74 61 62 69 6c 69 74 79 PreferStable()).{.$bestStability
3f9a0 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 7d 0a 0a .=.$package->getStability();.}..
3f9c0 24 74 61 72 67 65 74 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 30 20 3d 3d 3d $targetVersion.=.null;.if.(0.===
3f9e0 20 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 .strpos($package->getVersion(),.
3fa00 27 64 65 76 2d 27 29 29 20 7b 0a 24 74 61 72 67 65 74 56 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 'dev-')).{.$targetVersion.=.$pac
3fa20 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 61 72 67 kage->getVersion();.}..if.($targ
3fa40 65 74 56 65 72 73 69 6f 6e 20 3d 3d 3d 20 6e 75 6c 6c 20 26 26 20 24 6d 69 6e 6f 72 4f 6e 6c 79 etVersion.===.null.&&.$minorOnly
3fa60 29 20 7b 0a 24 74 61 72 67 65 74 56 65 72 73 69 6f 6e 20 3d 20 27 5e 27 20 2e 20 24 70 61 63 6b ).{.$targetVersion.=.'^'...$pack
3fa80 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 65 age->getVersion();.}..return.$ve
3faa0 72 73 69 6f 6e 53 65 6c 65 63 74 6f 72 2d 3e 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 rsionSelector->findBestCandidate
3fac0 28 24 6e 61 6d 65 2c 20 24 74 61 72 67 65 74 56 65 72 73 69 6f 6e 2c 20 24 70 68 70 56 65 72 73 ($name,.$targetVersion,.$phpVers
3fae0 69 6f 6e 2c 20 24 62 65 73 74 53 74 61 62 69 6c 69 74 79 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 ion,.$bestStability);.}..private
3fb00 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6f 6f 6c 28 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 .function.getPool(Composer.$comp
3fb20 6f 73 65 72 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 20 7b 0a 24 74 68 69 oser).{.if.(!$this->pool).{.$thi
3fb40 73 2d 3e 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 s->pool.=.new.Pool($composer->ge
3fb60 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 tPackage()->getMinimumStability(
3fb80 29 2c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 53 ),.$composer->getPackage()->getS
3fba0 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 29 3b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 61 tabilityFlags());.$this->pool->a
3fbc0 64 64 52 65 70 6f 73 69 74 6f 72 79 28 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 ddRepository(new.CompositeReposi
3fbe0 74 6f 72 79 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e tory($composer->getRepositoryMan
3fc00 61 67 65 72 28 29 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 29 29 3b 0a 7d 0a 0a ager()->getRepositories()));.}..
3fc20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a return.$this->pool;.}.}.<?php...
3fc40 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d .........namespace.Composer\Comm
3fc60 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 and;..use.Symfony\Component\Cons
3fc80 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 ole\Input\InputInterface;.use.Sy
3fca0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
3fcc0 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 putOption;.use.Symfony\Component
3fce0 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b \Console\Output\OutputInterface;
3fd00 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 43 68 61 6e 67 65 52 .use.Composer\Downloader\ChangeR
3fd20 65 70 6f 72 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 eportInterface;.use.Composer\Dow
3fd40 6e 6c 6f 61 64 65 72 5c 44 76 63 73 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 3b nloader\DvcsDownloaderInterface;
3fd60 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 56 63 73 43 61 70 61 .use.Composer\Downloader\VcsCapa
3fd80 62 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 bleDownloaderInterface;.use.Comp
3fda0 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 5c 41 72 72 61 79 44 75 6d 70 65 72 3b oser\Package\Dumper\ArrayDumper;
3fdc0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 .use.Composer\Package\Version\Ve
3fde0 72 73 69 6f 6e 47 75 65 73 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 rsionGuesser;.use.Composer\Packa
3fe00 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f ge\Version\VersionParser;.use.Co
3fe20 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 mposer\Plugin\CommandEvent;.use.
3fe40 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 Composer\Plugin\PluginEvents;.us
3fe60 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3b 0a e.Composer\Script\ScriptEvents;.
3fe80 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f use.Composer\Util\ProcessExecuto
3fea0 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 74 61 74 75 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 r;......class.StatusCommand.exte
3fec0 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 63 6f 6e 73 74 20 45 58 49 54 5f 43 4f 44 nds.BaseCommand.{.const.EXIT_COD
3fee0 45 5f 45 52 52 4f 52 53 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 45 58 49 54 5f 43 4f 44 45 5f 55 4e E_ERRORS.=.1;.const.EXIT_CODE_UN
3ff00 50 55 53 48 45 44 5f 43 48 41 4e 47 45 53 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 45 58 49 54 5f 43 PUSHED_CHANGES.=.2;.const.EXIT_C
3ff20 4f 44 45 5f 56 45 52 53 49 4f 4e 5f 43 48 41 4e 47 45 53 20 3d 20 34 3b 0a 0a 0a 0a 0a 70 72 6f ODE_VERSION_CHANGES.=.4;.....pro
3ff40 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 tected.function.configure().{.$t
3ff60 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 73 74 61 74 75 73 27 29 0a 2d 3e 73 65 74 44 65 73 his.->setName('status').->setDes
3ff80 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 6f 63 61 6c 6c cription('Shows.a.list.of.locall
3ffa0 79 20 6d 6f 64 69 66 69 65 64 20 70 61 63 6b 61 67 65 73 2c 20 66 6f 72 20 70 61 63 6b 61 67 65 y.modified.packages,.for.package
3ffc0 73 20 69 6e 73 74 61 6c 6c 65 64 20 66 72 6f 6d 20 73 6f 75 72 63 65 2e 27 29 0a 2d 3e 73 65 74 s.installed.from.source.').->set
3ffe0 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f Definition(array(.new.InputOptio
40000 6e 28 27 76 65 72 62 6f 73 65 27 2c 20 27 76 7c 76 76 7c 76 76 76 27 2c 20 49 6e 70 75 74 4f 70 n('verbose',.'v|vv|vvv',.InputOp
40020 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 68 6f 77 20 6d 6f 64 69 66 69 65 64 tion::VALUE_NONE,.'Show.modified
40040 20 66 69 6c 65 73 20 66 6f 72 20 65 61 63 68 20 64 69 72 65 63 74 6f 72 79 20 74 68 61 74 20 63 .files.for.each.directory.that.c
40060 6f 6e 74 61 69 6e 73 20 63 68 61 6e 67 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 ontains.changes.'),.)).->setHelp
40080 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 73 74 61 74 75 73 20 63 6f 6d 6d 61 6e 64 20 64 69 73 70 (.<<<EOT.The.status.command.disp
400a0 6c 61 79 73 20 61 20 6c 69 73 74 20 6f 66 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 68 61 74 lays.a.list.of.dependencies.that
400c0 20 68 61 76 65 0a 62 65 65 6e 20 6d 6f 64 69 66 69 65 64 20 6c 6f 63 61 6c 6c 79 2e 0a 0a 52 65 .have.been.modified.locally...Re
400e0 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f ad.more.at.https://getcomposer.o
40100 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 73 74 61 74 75 73 0a 45 4f 54 0a 29 0a 3b 0a rg/doc/03-cli.md#status.EOT.).;.
40120 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 }.......protected.function.execu
40140 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 te(InputInterface.$input,.Output
40160 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 Interface.$output).{...$composer
40180 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 3b 0a 0a 24 63 6f 6d 6d 61 .=.$this->getComposer();..$comma
401a0 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 ndEvent.=.new.CommandEvent(Plugi
401c0 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 73 74 61 74 75 73 27 2c 20 24 69 6e 70 nEvents::COMMAND,.'status',.$inp
401e0 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e ut,.$output);.$composer->getEven
40200 74 44 69 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 tDispatcher()->dispatch($command
40220 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 Event->getName(),.$commandEvent)
40240 3b 0a 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 ;..$installedRepo.=.$composer->g
40260 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 etRepositoryManager()->getLocalR
40280 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 0a 24 64 6d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 epository();..$dm.=.$composer->g
402a0 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 3b 0a 24 69 6d 20 3d 20 24 63 6f 6d 70 etDownloadManager();.$im.=.$comp
402c0 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a oser->getInstallationManager();.
402e0 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 ...$composer->getEventDispatcher
40300 28 29 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 74 45 76 65 6e 74 73 3a ()->dispatchScript(ScriptEvents:
40320 3a 50 52 45 5f 53 54 41 54 55 53 5f 43 4d 44 2c 20 74 72 75 65 29 3b 0a 0a 24 65 72 72 6f 72 73 :PRE_STATUS_CMD,.true);..$errors
40340 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 .=.array();.$io.=.$this->getIO()
40360 3b 0a 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 76 ;.$unpushedChanges.=.array();.$v
40380 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 70 61 csVersionChanges.=.array();..$pa
403a0 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 24 67 75 65 73 73 rser.=.new.VersionParser;.$guess
403c0 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 28 24 63 6f 6d 70 6f 73 65 er.=.new.VersionGuesser($compose
403e0 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 r->getConfig(),.new.ProcessExecu
40400 74 6f 72 28 24 69 6f 29 2c 20 24 70 61 72 73 65 72 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 tor($io),.$parser);.$dumper.=.ne
40420 77 20 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 69 6e 73 74 w.ArrayDumper;....foreach.($inst
40440 61 6c 6c 65 64 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 alledRepo->getCanonicalPackages(
40460 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 20 3d 20 24 ).as.$package).{.$downloader.=.$
40480 64 6d 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 46 6f 72 49 6e 73 74 61 6c 6c 65 64 50 61 63 dm->getDownloaderForInstalledPac
404a0 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 24 69 6d kage($package);.$targetDir.=.$im
404c0 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 69 66 20 ->getInstallPath($package);..if.
404e0 28 24 64 6f 77 6e 6c 6f 61 64 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 61 6e 67 65 52 65 ($downloader.instanceof.ChangeRe
40500 70 6f 72 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 74 61 portInterface).{.if.(is_link($ta
40520 72 67 65 74 44 69 72 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 24 74 61 72 67 65 74 44 69 72 5d 20 rgetDir)).{.$errors[$targetDir].
40540 3d 20 24 74 61 72 67 65 74 44 69 72 20 2e 20 27 20 69 73 20 61 20 73 79 6d 62 6f 6c 69 63 20 6c =.$targetDir...'.is.a.symbolic.l
40560 69 6e 6b 2e 27 3b 0a 7d 0a 0a 69 66 20 28 24 63 68 61 6e 67 65 73 20 3d 20 24 64 6f 77 6e 6c 6f ink.';.}..if.($changes.=.$downlo
40580 61 64 65 72 2d 3e 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 ader->getLocalChanges($package,.
405a0 24 74 61 72 67 65 74 44 69 72 29 29 20 7b 0a 24 65 72 72 6f 72 73 5b 24 74 61 72 67 65 74 44 69 $targetDir)).{.$errors[$targetDi
405c0 72 5d 20 3d 20 24 63 68 61 6e 67 65 73 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 64 6f 77 6e 6c 6f 61 r].=.$changes;.}.}..if.($downloa
405e0 64 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 56 63 73 43 61 70 61 62 6c 65 44 6f 77 6e 6c 6f 61 der.instanceof.VcsCapableDownloa
40600 64 65 72 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 69 66 20 28 24 63 75 72 72 65 6e 74 52 65 66 20 derInterface).{.if.($currentRef.
40620 3d 20 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 67 65 74 56 63 73 52 65 66 65 72 65 6e 63 65 28 24 =.$downloader->getVcsReference($
40640 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 29 29 20 7b 0a 73 77 69 74 63 68 20 28 package,.$targetDir)).{.switch.(
40660 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 $package->getInstallationSource(
40680 29 29 20 7b 0a 63 61 73 65 20 27 73 6f 75 72 63 65 27 3a 0a 24 70 72 65 76 69 6f 75 73 52 65 66 )).{.case.'source':.$previousRef
406a0 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 .=.$package->getSourceReference(
406c0 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 64 69 73 74 27 3a 0a 24 70 72 65 76 69 6f 75 73 );.break;.case.'dist':.$previous
406e0 52 65 66 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 Ref.=.$package->getDistReference
40700 28 29 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 70 72 65 76 69 6f 75 73 52 65 66 ();.break;.default:.$previousRef
40720 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 20 3d 20 24 67 .=.null;.}..$currentVersion.=.$g
40740 75 65 73 73 65 72 2d 3e 67 75 65 73 73 56 65 72 73 69 6f 6e 28 24 64 75 6d 70 65 72 2d 3e 64 75 uesser->guessVersion($dumper->du
40760 6d 70 28 24 70 61 63 6b 61 67 65 29 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 0a 69 66 20 28 mp($package),.$targetDir);..if.(
40780 24 70 72 65 76 69 6f 75 73 52 65 66 20 26 26 20 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 20 $previousRef.&&.$currentVersion.
407a0 26 26 20 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 5b 27 63 6f 6d 6d 69 74 27 5d 20 21 3d 3d &&.$currentVersion['commit'].!==
407c0 20 24 70 72 65 76 69 6f 75 73 52 65 66 29 20 7b 0a 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e .$previousRef).{.$vcsVersionChan
407e0 67 65 73 5b 24 74 61 72 67 65 74 44 69 72 5d 20 3d 20 61 72 72 61 79 28 0a 27 70 72 65 76 69 6f ges[$targetDir].=.array(.'previo
40800 75 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b us'.=>.array(.'version'.=>.$pack
40820 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 27 72 65 66 27 20 3d age->getPrettyVersion(),.'ref'.=
40840 3e 20 24 70 72 65 76 69 6f 75 73 52 65 66 2c 0a 29 2c 0a 27 63 75 72 72 65 6e 74 27 20 3d 3e 20 >.$previousRef,.),.'current'.=>.
40860 61 72 72 61 79 28 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 63 75 72 72 65 6e 74 56 65 72 73 array(.'version'.=>.$currentVers
40880 69 6f 6e 5b 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 5d 2c 0a 27 72 65 66 27 20 3d 3e 20 ion['pretty_version'],.'ref'.=>.
408a0 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 5b 27 63 6f 6d 6d 69 74 27 5d 2c 0a 29 2c 0a 29 3b $currentVersion['commit'],.),.);
408c0 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 64 6f 77 6e 6c 6f 61 64 65 72 20 69 6e 73 74 61 6e 63 65 .}.}.}..if.($downloader.instance
408e0 6f 66 20 44 76 63 73 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 69 66 of.DvcsDownloaderInterface).{.if
40900 20 28 24 75 6e 70 75 73 68 65 64 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 67 65 74 55 6e .($unpushed.=.$downloader->getUn
40920 70 75 73 68 65 64 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 pushedChanges($package,.$targetD
40940 69 72 29 29 20 7b 0a 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 5b 24 74 61 72 67 65 74 44 ir)).{.$unpushedChanges[$targetD
40960 69 72 5d 20 3d 20 24 75 6e 70 75 73 68 65 64 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 ir].=.$unpushed;.}.}.}....if.(!$
40980 65 72 72 6f 72 73 20 26 26 20 21 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 26 26 20 21 errors.&&.!$unpushedChanges.&&.!
409a0 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 $vcsVersionChanges).{.$io->write
409c0 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 4e 6f 20 6c 6f 63 61 6c 20 63 68 61 6e 67 65 73 3c 2f 69 Error('<info>No.local.changes</i
409e0 6e 66 6f 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 69 66 20 28 24 65 72 72 6f 72 nfo>');..return.0;.}..if.($error
40a00 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 59 6f 75 s).{.$io->writeError('<error>You
40a20 20 68 61 76 65 20 63 68 61 6e 67 65 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 .have.changes.in.the.following.d
40a40 65 70 65 6e 64 65 6e 63 69 65 73 3a 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 66 6f 72 65 61 63 68 ependencies:</error>');..foreach
40a60 20 28 24 65 72 72 6f 72 73 20 61 73 20 24 70 61 74 68 20 3d 3e 20 24 63 68 61 6e 67 65 73 29 20 .($errors.as.$path.=>.$changes).
40a80 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 {.if.($input->getOption('verbose
40aa0 27 29 29 20 7b 0a 24 69 6e 64 65 6e 74 65 64 43 68 61 6e 67 65 73 20 3d 20 69 6d 70 6c 6f 64 65 ')).{.$indentedChanges.=.implode
40ac0 28 22 5c 6e 22 2c 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 6c 69 6e 65 ("\n",.array_map(function.($line
40ae0 29 20 7b 0a 72 65 74 75 72 6e 20 27 20 20 20 20 27 20 2e 20 6c 74 72 69 6d 28 24 6c 69 6e 65 29 ).{.return.'....'...ltrim($line)
40b00 3b 0a 7d 2c 20 65 78 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 24 63 68 61 6e 67 65 73 29 29 29 3b 0a ;.},.explode("\n",.$changes)));.
40b20 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 27 2e 24 70 61 74 68 2e 27 3c 2f 69 6e 66 $io->write('<info>'.$path.'</inf
40b40 6f 3e 3a 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 69 6e 64 65 6e 74 65 64 43 68 61 6e 67 o>:');.$io->write($indentedChang
40b60 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 70 61 74 68 29 3b es);.}.else.{.$io->write($path);
40b80 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 29 20 7b 0a .}.}.}..if.($unpushedChanges).{.
40ba0 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 59 6f 75 20 68 61 $io->writeError('<warning>You.ha
40bc0 76 65 20 75 6e 70 75 73 68 65 64 20 63 68 61 6e 67 65 73 20 6f 6e 20 74 68 65 20 63 75 72 72 65 ve.unpushed.changes.on.the.curre
40be0 6e 74 20 62 72 61 6e 63 68 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 65 70 65 6e nt.branch.in.the.following.depen
40c00 64 65 6e 63 69 65 73 3a 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 dencies:</warning>');..foreach.(
40c20 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 61 73 20 24 70 61 74 68 20 3d 3e 20 24 63 68 $unpushedChanges.as.$path.=>.$ch
40c40 61 6e 67 65 73 29 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 anges).{.if.($input->getOption('
40c60 76 65 72 62 6f 73 65 27 29 29 20 7b 0a 24 69 6e 64 65 6e 74 65 64 43 68 61 6e 67 65 73 20 3d 20 verbose')).{.$indentedChanges.=.
40c80 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e implode("\n",.array_map(function
40ca0 20 28 24 6c 69 6e 65 29 20 7b 0a 72 65 74 75 72 6e 20 27 20 20 20 20 27 20 2e 20 6c 74 72 69 6d .($line).{.return.'....'...ltrim
40cc0 28 24 6c 69 6e 65 29 3b 0a 7d 2c 20 65 78 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 24 63 68 61 6e 67 ($line);.},.explode("\n",.$chang
40ce0 65 73 29 29 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f 3e 27 2e 24 70 61 74 68 es)));.$io->write('<info>'.$path
40d00 2e 27 3c 2f 69 6e 66 6f 3e 3a 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 69 6e 64 65 6e 74 .'</info>:');.$io->write($indent
40d20 65 64 43 68 61 6e 67 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 edChanges);.}.else.{.$io->write(
40d40 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 76 63 73 56 65 72 73 69 6f 6e 43 68 $path);.}.}.}..if.($vcsVersionCh
40d60 61 6e 67 65 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 anges).{.$io->writeError('<warni
40d80 6e 67 3e 59 6f 75 20 68 61 76 65 20 76 65 72 73 69 6f 6e 20 76 61 72 69 61 74 69 6f 6e 73 20 69 ng>You.have.version.variations.i
40da0 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 3a 3c 2f 77 n.the.following.dependencies:</w
40dc0 61 72 6e 69 6e 67 3e 27 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 76 63 73 56 65 72 73 69 6f 6e arning>');..foreach.($vcsVersion
40de0 43 68 61 6e 67 65 73 20 61 73 20 24 70 61 74 68 20 3d 3e 20 24 63 68 61 6e 67 65 73 29 20 7b 0a Changes.as.$path.=>.$changes).{.
40e00 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 if.($input->getOption('verbose')
40e20 29 20 7b 0a 0a 20 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 20 3d 20 24 63 68 61 6e 67 65 73 ).{...$currentVersion.=.$changes
40e40 5b 27 63 75 72 72 65 6e 74 27 5d 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3f 3a 20 24 63 68 61 6e 67 ['current']['version'].?:.$chang
40e60 65 73 5b 27 63 75 72 72 65 6e 74 27 5d 5b 27 72 65 66 27 5d 3b 0a 24 70 72 65 76 69 6f 75 73 56 es['current']['ref'];.$previousV
40e80 65 72 73 69 6f 6e 20 3d 20 24 63 68 61 6e 67 65 73 5b 27 70 72 65 76 69 6f 75 73 27 5d 5b 27 76 ersion.=.$changes['previous']['v
40ea0 65 72 73 69 6f 6e 27 5d 20 3f 3a 20 24 63 68 61 6e 67 65 73 5b 27 70 72 65 76 69 6f 75 73 27 5d ersion'].?:.$changes['previous']
40ec0 5b 27 72 65 66 27 5d 3b 0a 0a 69 66 20 28 24 69 6f 2d 3e 69 73 56 65 72 79 56 65 72 62 6f 73 65 ['ref'];..if.($io->isVeryVerbose
40ee0 28 29 29 20 7b 0a 0a 20 24 63 75 72 72 65 6e 74 56 65 72 73 69 6f 6e 20 2e 3d 20 73 70 72 69 6e ()).{...$currentVersion..=.sprin
40f00 74 66 28 27 20 28 25 73 29 27 2c 20 24 63 68 61 6e 67 65 73 5b 27 63 75 72 72 65 6e 74 27 5d 5b tf('.(%s)',.$changes['current'][
40f20 27 72 65 66 27 5d 29 3b 0a 24 70 72 65 76 69 6f 75 73 56 65 72 73 69 6f 6e 20 2e 3d 20 73 70 72 'ref']);.$previousVersion..=.spr
40f40 69 6e 74 66 28 27 20 28 25 73 29 27 2c 20 24 63 68 61 6e 67 65 73 5b 27 70 72 65 76 69 6f 75 73 intf('.(%s)',.$changes['previous
40f60 27 5d 5b 27 72 65 66 27 5d 29 3b 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 69 6e 66 6f ']['ref']);.}..$io->write('<info
40f80 3e 27 2e 24 70 61 74 68 2e 27 3c 2f 69 6e 66 6f 3e 3a 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 >'.$path.'</info>:');.$io->write
40fa0 28 73 70 72 69 6e 74 66 28 27 20 20 20 20 46 72 6f 6d 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f (sprintf('....From.<comment>%s</
40fc0 63 6f 6d 6d 65 6e 74 3e 20 74 6f 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 comment>.to.<comment>%s</comment
40fe0 3e 27 2c 20 24 70 72 65 76 69 6f 75 73 56 65 72 73 69 6f 6e 2c 20 24 63 75 72 72 65 6e 74 56 65 >',.$previousVersion,.$currentVe
41000 72 73 69 6f 6e 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 24 70 61 rsion));.}.else.{.$io->write($pa
41020 74 68 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 28 24 65 72 72 6f 72 73 20 7c 7c 20 24 75 6e 70 th);.}.}.}..if.(($errors.||.$unp
41040 75 73 68 65 64 43 68 61 6e 67 65 73 20 7c 7c 20 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 ushedChanges.||.$vcsVersionChang
41060 65 73 29 20 26 26 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f es).&&.!$input->getOption('verbo
41080 73 65 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 55 73 65 20 2d 2d 76 se')).{.$io->writeError('Use.--v
410a0 65 72 62 6f 73 65 20 28 2d 76 29 20 74 6f 20 73 65 65 20 61 20 6c 69 73 74 20 6f 66 20 66 69 6c erbose.(-v).to.see.a.list.of.fil
410c0 65 73 27 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 es');.}....$composer->getEventDi
410e0 73 70 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 53 63 72 69 70 spatcher()->dispatchScript(Scrip
41100 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 53 54 41 54 55 53 5f 43 4d 44 2c 20 74 72 75 65 29 3b tEvents::POST_STATUS_CMD,.true);
41120 0a 0a 72 65 74 75 72 6e 20 28 24 65 72 72 6f 72 73 20 3f 20 73 65 6c 66 3a 3a 45 58 49 54 5f 43 ..return.($errors.?.self::EXIT_C
41140 4f 44 45 5f 45 52 52 4f 52 53 20 3a 20 30 29 20 2b 20 28 24 75 6e 70 75 73 68 65 64 43 68 61 6e ODE_ERRORS.:.0).+.($unpushedChan
41160 67 65 73 20 3f 20 73 65 6c 66 3a 3a 45 58 49 54 5f 43 4f 44 45 5f 55 4e 50 55 53 48 45 44 5f 43 ges.?.self::EXIT_CODE_UNPUSHED_C
41180 48 41 4e 47 45 53 20 3a 20 30 29 20 2b 20 28 24 76 63 73 56 65 72 73 69 6f 6e 43 68 61 6e 67 65 HANGES.:.0).+.($vcsVersionChange
411a0 73 20 3f 20 73 65 6c 66 3a 3a 45 58 49 54 5f 43 4f 44 45 5f 56 45 52 53 49 4f 4e 5f 43 48 41 4e s.?.self::EXIT_CODE_VERSION_CHAN
411c0 47 45 53 20 3a 20 30 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e GES.:.0);.}.}.<?php............n
411e0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 amespace.Composer\Command;..use.
41200 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f Composer\Repository\PlatformRepo
41220 73 69 74 6f 72 79 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f sitory;.use.Symfony\Component\Co
41240 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 nsole\Input\InputArgument;.use.S
41260 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 ymfony\Component\Console\Input\I
41280 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f nputInterface;.use.Symfony\Compo
412a0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a nent\Console\Input\InputOption;.
412c0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 use.Symfony\Component\Console\Ou
412e0 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 63 6c 61 73 73 20 53 75 67 tput\OutputInterface;..class.Sug
41300 67 65 73 74 73 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 gestsCommand.extends.BaseCommand
41320 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 .{.protected.function.configure(
41340 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 73 75 67 67 65 73 74 73 27 29 0a ).{.$this.->setName('suggests').
41360 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 53 68 6f 77 73 20 70 61 63 6b 61 67 65 20 ->setDescription('Shows.package.
41380 73 75 67 67 65 73 74 69 6f 6e 73 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 suggestions.').->setDefinition(a
413a0 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 62 79 2d 70 61 63 6b 61 67 rray(.new.InputOption('by-packag
413c0 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e e',.null,.InputOption::VALUE_NON
413e0 45 2c 20 27 47 72 6f 75 70 73 20 6f 75 74 70 75 74 20 62 79 20 73 75 67 67 65 73 74 69 6e 67 20 E,.'Groups.output.by.suggesting.
41400 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 62 79 2d 73 package'),.new.InputOption('by-s
41420 75 67 67 65 73 74 69 6f 6e 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 uggestion',.null,.InputOption::V
41440 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 47 72 6f 75 70 73 20 6f 75 74 70 75 74 20 62 79 20 73 75 67 ALUE_NONE,.'Groups.output.by.sug
41460 67 65 73 74 65 64 20 70 61 63 6b 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f gested.package'),.new.InputOptio
41480 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 n('no-dev',.null,.InputOption::V
414a0 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 45 78 63 6c 75 64 65 20 73 75 67 67 65 73 74 69 6f 6e 73 20 ALUE_NONE,.'Exclude.suggestions.
414c0 66 72 6f 6d 20 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 27 29 2c 0a 6e 65 77 from.require-dev.packages'),.new
414e0 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 2c 20 49 6e 70 75 74 .InputArgument('packages',.Input
41500 41 72 67 75 6d 65 6e 74 3a 3a 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 Argument::IS_ARRAY.|.InputArgume
41520 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 50 61 63 6b 61 67 65 73 20 74 68 61 74 20 79 6f 75 nt::OPTIONAL,.'Packages.that.you
41540 20 77 61 6e 74 20 74 6f 20 6c 69 73 74 20 73 75 67 67 65 73 74 69 6f 6e 73 20 66 72 6f 6d 2e 27 .want.to.list.suggestions.from.'
41560 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 0a 54 68 65 20 3c 69 6e ),.)).->setHelp(.<<<EOT..The.<in
41580 66 6f 3e 25 63 6f 6d 6d 61 6e 64 2e 6e 61 6d 65 25 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 fo>%command.name%</info>.command
415a0 20 73 68 6f 77 73 20 61 20 73 6f 72 74 65 64 20 6c 69 73 74 20 6f 66 20 73 75 67 67 65 73 74 65 .shows.a.sorted.list.of.suggeste
415c0 64 20 70 61 63 6b 61 67 65 73 2e 0a 0a 45 6e 61 62 6c 69 6e 67 20 3c 69 6e 66 6f 3e 2d 76 3c 2f d.packages...Enabling.<info>-v</
415e0 69 6e 66 6f 3e 20 69 6d 70 6c 69 65 73 20 3c 69 6e 66 6f 3e 2d 2d 62 79 2d 70 61 63 6b 61 67 65 info>.implies.<info>--by-package
41600 20 2d 2d 62 79 2d 73 75 67 67 65 73 74 69 6f 6e 3c 2f 69 6e 66 6f 3e 2c 20 73 68 6f 77 69 6e 67 .--by-suggestion</info>,.showing
41620 20 62 6f 74 68 20 6c 69 73 74 73 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 .both.lists...Read.more.at.https
41640 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 ://getcomposer.org/doc/03-cli.md
41660 23 73 75 67 67 65 73 74 73 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 #suggests.EOT.).;.}..protected.f
41680 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 unction.execute(InputInterface.$
416a0 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a input,.OutputInterface.$output).
416c0 7b 0a 24 6c 6f 63 6b 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e {.$lock.=.$this->getComposer()->
416e0 67 65 74 4c 6f 63 6b 65 72 28 29 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 69 66 20 getLocker()->getLockData();..if.
41700 28 65 6d 70 74 79 28 24 6c 6f 63 6b 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 (empty($lock)).{.throw.new.\Runt
41720 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 4c 6f 63 6b 66 69 6c 65 20 73 65 65 6d 73 20 74 6f 20 imeException('Lockfile.seems.to.
41740 62 65 20 65 6d 70 74 79 3f 27 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 6c 6f 63 be.empty?');.}..$packages.=.$loc
41760 6b 5b 27 70 61 63 6b 61 67 65 73 27 5d 3b 0a 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 k['packages'];..if.(!$input->get
41780 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 2b 3d Option('no-dev')).{.$packages.+=
417a0 20 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 67 65 73 2d 64 65 76 27 5d 3b 0a 7d 0a 0a 24 66 69 6c 74 .$lock['packages-dev'];.}..$filt
417c0 65 72 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 er.=.$input->getArgument('packag
417e0 65 73 27 29 3b 0a 0a 0a 20 24 69 6e 73 74 61 6c 6c 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 es');....$installed.=.array();.f
41800 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b oreach.($packages.as.$package).{
41820 0a 24 69 6e 73 74 61 6c 6c 65 64 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d .$installed[].=.$package['name']
41840 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 5b 27 70 72 6f 76 69 64 65 27 ;..if.(!empty($package['provide'
41860 5d 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 ])).{.$installed.=.array_merge($
41880 69 6e 73 74 61 6c 6c 65 64 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 70 61 63 6b 61 67 65 5b 27 installed,.array_keys($package['
418a0 70 72 6f 76 69 64 65 27 5d 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 61 63 6b provide']));.}..if.(!empty($pack
418c0 61 67 65 5b 27 72 65 70 6c 61 63 65 27 5d 29 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 20 3d 20 age['replace'])).{.$installed.=.
418e0 61 72 72 61 79 5f 6d 65 72 67 65 28 24 69 6e 73 74 61 6c 6c 65 64 2c 20 61 72 72 61 79 5f 6b 65 array_merge($installed,.array_ke
41900 79 73 28 24 70 61 63 6b 61 67 65 5b 27 72 65 70 6c 61 63 65 27 5d 29 29 3b 0a 7d 0a 7d 0a 0a 0a ys($package['replace']));.}.}...
41920 20 24 69 6e 73 74 61 6c 6c 65 64 20 3d 20 61 72 72 61 79 5f 66 6c 69 70 28 24 69 6e 73 74 61 6c .$installed.=.array_flip($instal
41940 6c 65 64 29 3b 0a 6b 73 6f 72 74 28 24 69 6e 73 74 61 6c 6c 65 64 29 3b 0a 0a 0a 20 24 70 6c 61 led);.ksort($installed);....$pla
41960 74 66 6f 72 6d 20 3d 20 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 tform.=.new.PlatformRepository(a
41980 72 72 61 79 28 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2d 3e 67 65 rray(),.$this->getComposer()->ge
419a0 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 tConfig()->get('platform').?:.ar
419c0 72 61 79 28 29 29 3b 0a 0a 0a 20 24 73 75 67 67 65 73 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 ray());....$suggesters.=.array()
419e0 3b 0a 24 73 75 67 67 65 73 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 ;.$suggested.=.array();.foreach.
41a00 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 ($packages.as.$package).{.$packa
41a20 67 65 4e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 3b 0a 69 66 20 28 28 geName.=.$package['name'];.if.((
41a40 21 65 6d 70 74 79 28 24 66 69 6c 74 65 72 29 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 70 61 !empty($filter).&&.!in_array($pa
41a60 63 6b 61 67 65 4e 61 6d 65 2c 20 24 66 69 6c 74 65 72 29 29 20 7c 7c 20 65 6d 70 74 79 28 24 70 ckageName,.$filter)).||.empty($p
41a80 61 63 6b 61 67 65 5b 27 73 75 67 67 65 73 74 27 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a ackage['suggest'])).{.continue;.
41aa0 7d 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 5b 27 73 75 67 67 65 73 74 27 5d 20 61 }.foreach.($package['suggest'].a
41ac0 73 20 24 73 75 67 67 65 73 74 69 6f 6e 20 3d 3e 20 24 72 65 61 73 6f 6e 29 20 7b 0a 69 66 20 28 s.$suggestion.=>.$reason).{.if.(
41ae0 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 27 2f 27 2c 20 24 73 75 67 67 65 73 74 69 6f false.===.strpos('/',.$suggestio
41b00 6e 29 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 70 6c 61 74 66 6f 72 6d 2d 3e 66 69 6e 64 50 61 n).&&.null.!==.$platform->findPa
41b20 63 6b 61 67 65 28 24 73 75 67 67 65 73 74 69 6f 6e 2c 20 27 2a 27 29 29 20 7b 0a 63 6f 6e 74 69 ckage($suggestion,.'*')).{.conti
41b40 6e 75 65 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 65 64 5b 24 73 75 nue;.}.if.(!isset($installed[$su
41b60 67 67 65 73 74 69 6f 6e 5d 29 29 20 7b 0a 24 73 75 67 67 65 73 74 65 72 73 5b 24 70 61 63 6b 61 ggestion])).{.$suggesters[$packa
41b80 67 65 4e 61 6d 65 5d 5b 24 73 75 67 67 65 73 74 69 6f 6e 5d 20 3d 20 24 72 65 61 73 6f 6e 3b 0a geName][$suggestion].=.$reason;.
41ba0 24 73 75 67 67 65 73 74 65 64 5b 24 73 75 67 67 65 73 74 69 6f 6e 5d 5b 24 70 61 63 6b 61 67 65 $suggested[$suggestion][$package
41bc0 4e 61 6d 65 5d 20 3d 20 24 72 65 61 73 6f 6e 3b 0a 7d 0a 7d 0a 7d 0a 6b 73 6f 72 74 28 24 73 75 Name].=.$reason;.}.}.}.ksort($su
41be0 67 67 65 73 74 65 72 73 29 3b 0a 6b 73 6f 72 74 28 24 73 75 67 67 65 73 74 65 64 29 3b 0a 0a 0a ggesters);.ksort($suggested);...
41c00 20 24 6d 6f 64 65 20 3d 20 30 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 .$mode.=.0;.$io.=.$this->getIO()
41c20 3b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 62 79 2d 70 61 63 6b ;.if.($input->getOption('by-pack
41c40 61 67 65 27 29 20 7c 7c 20 24 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 29 20 7b 0a 24 6d 6f age').||.$io->isVerbose()).{.$mo
41c60 64 65 20 7c 3d 20 31 3b 0a 7d 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e de.|=.1;.}.if.($input->getOption
41c80 28 27 62 79 2d 73 75 67 67 65 73 74 69 6f 6e 27 29 29 20 7b 0a 24 6d 6f 64 65 20 7c 3d 20 32 3b ('by-suggestion')).{.$mode.|=.2;
41ca0 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 6f 64 65 20 3d 3d 3d 20 30 29 20 7b 0a 66 6f 72 65 61 63 68 .}....if.($mode.===.0).{.foreach
41cc0 20 28 61 72 72 61 79 5f 6b 65 79 73 28 24 73 75 67 67 65 73 74 65 64 29 20 61 73 20 24 73 75 67 .(array_keys($suggested).as.$sug
41ce0 67 65 73 74 69 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e 74 66 28 27 3c gestion).{.$io->write(sprintf('<
41d00 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 24 73 75 67 67 65 73 74 69 6f 6e 29 29 3b 0a info>%s</info>',.$suggestion));.
41d20 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 6f 64 65 20 26 20 31 29 }..return.0;.}....if.($mode.&.1)
41d40 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 73 75 67 67 65 73 74 65 72 73 20 61 73 20 24 73 75 67 67 .{.foreach.($suggesters.as.$sugg
41d60 65 73 74 65 72 20 3d 3e 20 24 73 75 67 67 65 73 74 69 6f 6e 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 ester.=>.$suggestions).{.$io->wr
41d80 69 74 65 28 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e ite(sprintf('<comment>%s</commen
41da0 74 3e 20 73 75 67 67 65 73 74 73 3a 27 2c 20 24 73 75 67 67 65 73 74 65 72 29 29 3b 0a 0a 66 6f t>.suggests:',.$suggester));..fo
41dc0 72 65 61 63 68 20 28 24 73 75 67 67 65 73 74 69 6f 6e 73 20 61 73 20 24 73 75 67 67 65 73 74 69 reach.($suggestions.as.$suggesti
41de0 6f 6e 20 3d 3e 20 24 72 65 61 73 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 on.=>.$reason).{.$io->write(spri
41e00 6e 74 66 28 27 20 2d 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 3a 20 25 73 27 2c 20 24 73 ntf('.-.<info>%s</info>:.%s',.$s
41e20 75 67 67 65 73 74 69 6f 6e 2c 20 24 72 65 61 73 6f 6e 20 3f 3a 20 27 2a 27 29 29 3b 0a 7d 0a 24 uggestion,.$reason.?:.'*'));.}.$
41e40 69 6f 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 6f 64 65 20 io->write('');.}.}....if.($mode.
41e60 26 20 32 29 20 7b 0a 0a 20 69 66 20 28 24 6d 6f 64 65 20 26 20 31 29 20 7b 0a 24 69 6f 2d 3e 77 &.2).{...if.($mode.&.1).{.$io->w
41e80 72 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 28 27 2d 27 2c 20 37 38 29 29 3b 0a 7d 0a 66 6f 72 rite(str_repeat('-',.78));.}.for
41ea0 65 61 63 68 20 28 24 73 75 67 67 65 73 74 65 64 20 61 73 20 24 73 75 67 67 65 73 74 69 6f 6e 20 each.($suggested.as.$suggestion.
41ec0 3d 3e 20 24 73 75 67 67 65 73 74 65 72 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 =>.$suggesters).{.$io->write(spr
41ee0 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 69 73 20 73 intf('<comment>%s</comment>.is.s
41f00 75 67 67 65 73 74 65 64 20 62 79 3a 27 2c 20 24 73 75 67 67 65 73 74 69 6f 6e 29 29 3b 0a 0a 66 uggested.by:',.$suggestion));..f
41f20 6f 72 65 61 63 68 20 28 24 73 75 67 67 65 73 74 65 72 73 20 61 73 20 24 73 75 67 67 65 73 74 65 oreach.($suggesters.as.$suggeste
41f40 72 20 3d 3e 20 24 72 65 61 73 6f 6e 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 73 70 72 69 6e r.=>.$reason).{.$io->write(sprin
41f60 74 66 28 27 20 2d 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 3a 20 25 73 27 2c 20 24 73 75 tf('.-.<info>%s</info>:.%s',.$su
41f80 67 67 65 73 74 65 72 2c 20 24 72 65 61 73 6f 6e 20 3f 3a 20 27 2a 27 29 29 3b 0a 7d 0a 24 69 6f ggester,.$reason.?:.'*'));.}.$io
41fa0 2d 3e 77 72 69 74 65 28 27 27 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 7d 0a ->write('');.}.}..return.0;.}.}.
41fc0 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
41fe0 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f ser\Command;..use.Composer\Compo
42000 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 ser;.use.Composer\Installer;.use
42020 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f .Composer\IO\IOInterface;.use.Co
42040 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 mposer\Plugin\CommandEvent;.use.
42060 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 Composer\Plugin\PluginEvents;.us
42080 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 e.Symfony\Component\Console\Help
420a0 65 72 5c 54 61 62 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c er\Table;.use.Symfony\Component\
420c0 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 Console\Input\InputInterface;.us
420e0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
42100 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f t\InputOption;.use.Symfony\Compo
42120 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 nent\Console\Input\InputArgument
42140 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
42160 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 Output\OutputInterface;.use.Symf
42180 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 51 ony\Component\Console\Question\Q
421a0 75 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 70 64 61 74 65 43 6f 6d 6d 61 6e uestion;......class.UpdateComman
421c0 64 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 6f 74 65 63 74 65 d.extends.BaseCommand.{.protecte
421e0 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d d.function.configure().{.$this.-
42200 3e 73 65 74 4e 61 6d 65 28 27 75 70 64 61 74 65 27 29 0a 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 >setName('update').->setAliases(
42220 61 72 72 61 79 28 27 75 27 2c 20 27 75 70 67 72 61 64 65 27 29 29 0a 2d 3e 73 65 74 44 65 73 63 array('u',.'upgrade')).->setDesc
42240 72 69 70 74 69 6f 6e 28 27 55 70 67 72 61 64 65 73 20 79 6f 75 72 20 64 65 70 65 6e 64 65 6e 63 ription('Upgrades.your.dependenc
42260 69 65 73 20 74 6f 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 20 61 63 63 6f 72 64 ies.to.the.latest.version.accord
42280 69 6e 67 20 74 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2c 20 61 6e 64 20 75 70 64 61 74 65 ing.to.composer.json,.and.update
422a0 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 20 66 69 6c 65 2e 27 29 0a 2d 3e 73 65 s.the.composer.lock.file.').->se
422c0 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 tDefinition(array(.new.InputArgu
422e0 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a ment('packages',.InputArgument::
42300 49 53 5f 41 52 52 41 59 20 7c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e IS_ARRAY.|.InputArgument::OPTION
42320 41 4c 2c 20 27 50 61 63 6b 61 67 65 73 20 74 68 61 74 20 73 68 6f 75 6c 64 20 62 65 20 75 70 64 AL,.'Packages.that.should.be.upd
42340 61 74 65 64 2c 20 69 66 20 6e 6f 74 20 70 72 6f 76 69 64 65 64 20 61 6c 6c 20 70 61 63 6b 61 67 ated,.if.not.provided.all.packag
42360 65 73 20 61 72 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 es.are.'),.new.InputOption('pref
42380 65 72 2d 73 6f 75 72 63 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 er-source',.null,.InputOption::V
423a0 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 ALUE_NONE,.'Forces.installation.
423c0 66 72 6f 6d 20 70 61 63 6b 61 67 65 20 73 6f 75 72 63 65 73 20 77 68 65 6e 20 70 6f 73 73 69 62 from.package.sources.when.possib
423e0 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 56 43 53 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 27 29 le,.including.VCS.information.')
42400 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 64 69 73 74 27 2c ,.new.InputOption('prefer-dist',
42420 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 .null,.InputOption::VALUE_NONE,.
42440 27 46 6f 72 63 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 72 6f 6d 20 70 61 63 6b 61 67 'Forces.installation.from.packag
42460 65 20 64 69 73 74 20 65 76 65 6e 20 66 6f 72 20 64 65 76 20 76 65 72 73 69 6f 6e 73 2e 27 29 2c e.dist.even.for.dev.versions.'),
42480 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 64 72 79 2d 72 75 6e 27 2c 20 6e 75 6c 6c .new.InputOption('dry-run',.null
424a0 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 75 74 70 ,.InputOption::VALUE_NONE,.'Outp
424c0 75 74 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 62 75 74 20 77 69 6c 6c 20 6e 6f 74 20 uts.the.operations.but.will.not.
424e0 65 78 65 63 75 74 65 20 61 6e 79 74 68 69 6e 67 20 28 69 6d 70 6c 69 63 69 74 6c 79 20 65 6e 61 execute.anything.(implicitly.ena
42500 62 6c 65 73 20 2d 2d 76 65 72 62 6f 73 65 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 bles.--verbose).'),.new.InputOpt
42520 69 6f 6e 28 27 64 65 76 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 ion('dev',.null,.InputOption::VA
42540 4c 55 45 5f 4e 4f 4e 45 2c 20 27 45 6e 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 LUE_NONE,.'Enables.installation.
42560 6f 66 20 72 65 71 75 69 72 65 2d 64 65 76 20 70 61 63 6b 61 67 65 73 20 28 65 6e 61 62 6c 65 64 of.require-dev.packages.(enabled
42580 20 62 79 20 64 65 66 61 75 6c 74 2c 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 66 6f 72 20 42 43 .by.default,.only.present.for.BC
425a0 29 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 2c 20 ).'),.new.InputOption('no-dev',.
425c0 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 null,.InputOption::VALUE_NONE,.'
425e0 44 69 73 61 62 6c 65 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 72 65 71 75 69 72 65 Disables.installation.of.require
42600 2d 64 65 76 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f -dev.packages.'),.new.InputOptio
42620 6e 28 27 6c 6f 63 6b 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c n('lock',.null,.InputOption::VAL
42640 55 45 5f 4e 4f 4e 45 2c 20 27 4f 6e 6c 79 20 75 70 64 61 74 65 73 20 74 68 65 20 6c 6f 63 6b 20 UE_NONE,.'Only.updates.the.lock.
42660 66 69 6c 65 20 68 61 73 68 20 74 6f 20 73 75 70 70 72 65 73 73 20 77 61 72 6e 69 6e 67 20 61 62 file.hash.to.suppress.warning.ab
42680 6f 75 74 20 74 68 65 20 6c 6f 63 6b 20 66 69 6c 65 20 62 65 69 6e 67 20 6f 75 74 20 6f 66 20 64 out.the.lock.file.being.out.of.d
426a0 61 74 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 75 73 74 ate.'),.new.InputOption('no-cust
426c0 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f om-installers',.null,.InputOptio
426e0 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 45 50 52 45 43 41 54 45 44 3a 20 55 73 65 20 n::VALUE_NONE,.'DEPRECATED:.Use.
42700 6e 6f 2d 70 6c 75 67 69 6e 73 20 69 6e 73 74 65 61 64 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 no-plugins.instead.'),.new.Input
42720 4f 70 74 69 6f 6e 28 27 6e 6f 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e Option('no-autoloader',.null,.In
42740 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 6b 69 70 73 20 61 75 putOption::VALUE_NONE,.'Skips.au
42760 74 6f 6c 6f 61 64 65 72 20 67 65 6e 65 72 61 74 69 6f 6e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 toloader.generation'),.new.Input
42780 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 72 69 70 74 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 Option('no-scripts',.null,.Input
427a0 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 53 6b 69 70 73 20 74 68 65 20 65 Option::VALUE_NONE,.'Skips.the.e
427c0 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 6c 6c 20 73 63 72 69 70 74 73 20 64 65 66 69 6e 65 64 20 xecution.of.all.scripts.defined.
427e0 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 2e 27 29 2c 0a 6e 65 77 20 49 6e in.composer.json.file.'),.new.In
42800 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 72 6f 67 72 65 73 73 27 2c 20 6e 75 6c 6c 2c 20 49 putOption('no-progress',.null,.I
42820 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 nputOption::VALUE_NONE,.'Do.not.
42840 6f 75 74 70 75 74 20 64 6f 77 6e 6c 6f 61 64 20 70 72 6f 67 72 65 73 73 2e 27 29 2c 0a 6e 65 77 output.download.progress.'),.new
42860 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 75 67 67 65 73 74 27 2c 20 6e 75 6c 6c 2c .InputOption('no-suggest',.null,
42880 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f .InputOption::VALUE_NONE,.'Do.no
428a0 74 20 73 68 6f 77 20 70 61 63 6b 61 67 65 20 73 75 67 67 65 73 74 69 6f 6e 73 2e 27 29 2c 0a 6e t.show.package.suggestions.'),.n
428c0 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 ew.InputOption('with-dependencie
428e0 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e s',.null,.InputOption::VALUE_NON
42900 45 2c 20 27 41 64 64 20 61 6c 73 6f 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 66 20 77 68 69 E,.'Add.also.dependencies.of.whi
42920 74 65 6c 69 73 74 65 64 20 70 61 63 6b 61 67 65 73 20 74 6f 20 74 68 65 20 77 68 69 74 65 6c 69 telisted.packages.to.the.whiteli
42940 73 74 2c 20 65 78 63 65 70 74 20 74 68 6f 73 65 20 64 65 66 69 6e 65 64 20 69 6e 20 72 6f 6f 74 st,.except.those.defined.in.root
42960 20 70 61 63 6b 61 67 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 77 69 .package.'),.new.InputOption('wi
42980 74 68 2d 61 6c 6c 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 th-all-dependencies',.null,.Inpu
429a0 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 64 64 20 61 6c 73 6f 20 61 tOption::VALUE_NONE,.'Add.also.a
429c0 6c 6c 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 66 20 77 68 69 74 65 6c 69 73 74 65 64 20 70 ll.dependencies.of.whitelisted.p
429e0 61 63 6b 61 67 65 73 20 74 6f 20 74 68 65 20 77 68 69 74 65 6c 69 73 74 2c 20 69 6e 63 6c 75 64 ackages.to.the.whitelist,.includ
42a00 69 6e 67 20 74 68 6f 73 65 20 64 65 66 69 6e 65 64 20 69 6e 20 72 6f 6f 74 20 70 61 63 6b 61 67 ing.those.defined.in.root.packag
42a20 65 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 2c e.'),.new.InputOption('verbose',
42a40 20 27 76 7c 76 76 7c 76 76 76 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f .'v|vv|vvv',.InputOption::VALUE_
42a60 4e 4f 4e 45 2c 20 27 53 68 6f 77 73 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 20 69 6e 63 6c 75 64 NONE,.'Shows.more.details.includ
42a80 69 6e 67 20 6e 65 77 20 63 6f 6d 6d 69 74 73 20 70 75 6c 6c 65 64 20 69 6e 20 77 68 65 6e 20 75 ing.new.commits.pulled.in.when.u
42aa0 70 64 61 74 69 6e 67 20 70 61 63 6b 61 67 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 pdating.packages.'),.new.InputOp
42ac0 74 69 6f 6e 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 27 6f 27 2c tion('optimize-autoloader',.'o',
42ae0 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 4f 70 74 69 6d .InputOption::VALUE_NONE,.'Optim
42b00 69 7a 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 64 75 72 69 6e 67 20 61 75 74 6f 6c 6f 61 64 65 72 ize.autoloader.during.autoloader
42b20 20 64 75 6d 70 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 63 6c 61 73 73 .dump.'),.new.InputOption('class
42b40 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 2c 20 27 61 27 2c 20 49 6e 70 75 74 4f 70 map-authoritative',.'a',.InputOp
42b60 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 75 74 6f 6c 6f 61 64 20 63 6c 61 73 tion::VALUE_NONE,.'Autoload.clas
42b80 73 65 73 20 66 72 6f 6d 20 74 68 65 20 63 6c 61 73 73 6d 61 70 20 6f 6e 6c 79 2e 20 49 6d 70 6c ses.from.the.classmap.only..Impl
42ba0 69 63 69 74 6c 79 20 65 6e 61 62 6c 65 73 20 60 2d 2d 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c icitly.enables.`--optimize-autol
42bc0 6f 61 64 65 72 60 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 61 70 63 75 oader`.'),.new.InputOption('apcu
42be0 2d 61 75 74 6f 6c 6f 61 64 65 72 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a -autoloader',.null,.InputOption:
42c00 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 55 73 65 20 41 50 43 75 20 74 6f 20 63 61 63 68 65 20 :VALUE_NONE,.'Use.APCu.to.cache.
42c20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 2e 27 29 2c 0a 6e 65 77 20 found/not-found.classes.'),.new.
42c40 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 InputOption('ignore-platform-req
42c60 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e s',.null,.InputOption::VALUE_NON
42c80 45 2c 20 27 49 67 6e 6f 72 65 20 70 6c 61 74 66 6f 72 6d 20 72 65 71 75 69 72 65 6d 65 6e 74 73 E,.'Ignore.platform.requirements
42ca0 20 28 70 68 70 20 26 20 65 78 74 2d 20 70 61 63 6b 61 67 65 73 29 2e 27 29 2c 0a 6e 65 77 20 49 .(php.&.ext-.packages).'),.new.I
42cc0 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 2c 20 6e 75 6c 6c nputOption('prefer-stable',.null
42ce0 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 65 66 ,.InputOption::VALUE_NONE,.'Pref
42d00 65 72 20 73 74 61 62 6c 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 64 65 70 65 6e 64 65 6e 63 69 er.stable.versions.of.dependenci
42d20 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 6c es.'),.new.InputOption('prefer-l
42d40 6f 77 65 73 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 owest',.null,.InputOption::VALUE
42d60 5f 4e 4f 4e 45 2c 20 27 50 72 65 66 65 72 20 6c 6f 77 65 73 74 20 76 65 72 73 69 6f 6e 73 20 6f _NONE,.'Prefer.lowest.versions.o
42d80 66 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 f.dependencies.'),.new.InputOpti
42da0 6f 6e 28 27 69 6e 74 65 72 61 63 74 69 76 65 27 2c 20 27 69 27 2c 20 49 6e 70 75 74 4f 70 74 69 on('interactive',.'i',.InputOpti
42dc0 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 6e 74 65 72 61 63 74 69 76 65 20 69 6e 74 on::VALUE_NONE,.'Interactive.int
42de0 65 72 66 61 63 65 20 77 69 74 68 20 61 75 74 6f 63 6f 6d 70 6c 65 74 69 6f 6e 20 74 6f 20 73 65 erface.with.autocompletion.to.se
42e00 6c 65 63 74 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 74 6f 20 75 70 64 61 74 65 2e 27 29 2c 0a lect.the.packages.to.update.'),.
42e20 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 6f 6f 74 2d 72 65 71 73 27 2c 20 6e 75 6c new.InputOption('root-reqs',.nul
42e40 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 73 l,.InputOption::VALUE_NONE,.'Res
42e60 74 72 69 63 74 73 20 74 68 65 20 75 70 64 61 74 65 20 74 6f 20 79 6f 75 72 20 66 69 72 73 74 20 tricts.the.update.to.your.first.
42e80 64 65 67 72 65 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 degree.dependencies.'),.)).->set
42ea0 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 68 65 20 3c 69 6e 66 6f 3e 75 70 64 61 74 65 3c 2f 69 Help(.<<<EOT.The.<info>update</i
42ec0 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 72 65 61 64 73 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e nfo>.command.reads.the.composer.
42ee0 6a 73 6f 6e 20 66 69 6c 65 20 66 72 6f 6d 20 74 68 65 0a 63 75 72 72 65 6e 74 20 64 69 72 65 63 json.file.from.the.current.direc
42f00 74 6f 72 79 2c 20 70 72 6f 63 65 73 73 65 73 20 69 74 2c 20 61 6e 64 20 75 70 64 61 74 65 73 2c tory,.processes.it,.and.updates,
42f20 20 72 65 6d 6f 76 65 73 20 6f 72 20 69 6e 73 74 61 6c 6c 73 20 61 6c 6c 20 74 68 65 0a 64 65 70 .removes.or.installs.all.the.dep
42f40 65 6e 64 65 6e 63 69 65 73 2e 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 endencies...<info>php.composer.p
42f60 68 61 72 20 75 70 64 61 74 65 3c 2f 69 6e 66 6f 3e 0a 0a 54 6f 20 6c 69 6d 69 74 20 74 68 65 20 har.update</info>..To.limit.the.
42f80 75 70 64 61 74 65 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 61 20 66 65 77 20 70 61 63 6b 61 67 update.operation.to.a.few.packag
42fa0 65 73 2c 20 79 6f 75 20 63 61 6e 20 6c 69 73 74 20 74 68 65 20 70 61 63 6b 61 67 65 28 73 29 0a es,.you.can.list.the.package(s).
42fc0 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 70 64 61 74 65 20 61 73 20 73 75 63 68 3a 0a 0a 3c 69 6e you.want.to.update.as.such:..<in
42fe0 66 6f 3e 70 68 70 20 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 75 70 64 61 74 65 20 76 65 6e 64 fo>php.composer.phar.update.vend
43000 6f 72 2f 70 61 63 6b 61 67 65 31 20 66 6f 6f 2f 6d 79 70 61 63 6b 61 67 65 20 5b 2e 2e 2e 5d 3c or/package1.foo/mypackage.[...]<
43020 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 6d 61 79 20 61 6c 73 6f 20 75 73 65 20 61 6e 20 61 73 74 65 /info>..You.may.also.use.an.aste
43040 72 69 73 6b 20 28 2a 29 20 70 61 74 74 65 72 6e 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 75 70 risk.(*).pattern.to.limit.the.up
43060 64 61 74 65 20 6f 70 65 72 61 74 69 6f 6e 20 74 6f 20 70 61 63 6b 61 67 65 28 73 29 0a 66 72 6f date.operation.to.package(s).fro
43080 6d 20 61 20 73 70 65 63 69 66 69 63 20 76 65 6e 64 6f 72 3a 0a 0a 3c 69 6e 66 6f 3e 70 68 70 20 m.a.specific.vendor:..<info>php.
430a0 63 6f 6d 70 6f 73 65 72 2e 70 68 61 72 20 75 70 64 61 74 65 20 76 65 6e 64 6f 72 2f 70 61 63 6b composer.phar.update.vendor/pack
430c0 61 67 65 31 20 66 6f 6f 2f 2a 20 5b 2e 2e 2e 5d 3c 2f 69 6e 66 6f 3e 0a 0a 54 6f 20 73 65 6c 65 age1.foo/*.[...]</info>..To.sele
430e0 63 74 20 70 61 63 6b 61 67 65 73 20 6e 61 6d 65 73 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 ct.packages.names.interactively.
43100 77 69 74 68 20 61 75 74 6f 2d 63 6f 6d 70 6c 65 74 69 6f 6e 20 75 73 65 20 3c 69 6e 66 6f 3e 2d with.auto-completion.use.<info>-
43120 69 3c 2f 69 6e 66 6f 3e 2e 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 74 74 70 73 3a 2f 2f i</info>...Read.more.at.https://
43140 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c 69 2e 6d 64 23 75 70 getcomposer.org/doc/03-cli.md#up
43160 64 61 74 65 2d 75 0a 45 4f 54 0a 29 0a 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 date-u.EOT.).;.}..protected.func
43180 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 tion.execute(InputInterface.$inp
431a0 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 ut,.OutputInterface.$output).{.$
431c0 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 69 66 20 28 24 69 6e 70 75 74 2d io.=.$this->getIO();.if.($input-
431e0 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 >getOption('no-custom-installers
43200 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e ')).{.$io->writeError('<warning>
43220 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 6f 70 74 You.are.using.the.deprecated.opt
43240 69 6f 6e 20 22 6e 6f 2d 63 75 73 74 6f 6d 2d 69 6e 73 74 61 6c 6c 65 72 73 22 2e 20 55 73 65 20 ion."no-custom-installers"..Use.
43260 22 6e 6f 2d 70 6c 75 67 69 6e 73 22 20 69 6e 73 74 65 61 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 "no-plugins".instead.</warning>'
43280 29 3b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 );.$input->setOption('no-plugins
432a0 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 ',.true);.}..if.($input->getOpti
432c0 6f 6e 28 27 64 65 76 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 on('dev')).{.$io->writeError('<w
432e0 61 72 6e 69 6e 67 3e 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 74 68 65 20 64 65 70 72 65 63 61 arning>You.are.using.the.depreca
43300 74 65 64 20 6f 70 74 69 6f 6e 20 22 64 65 76 22 2e 20 44 65 76 20 70 61 63 6b 61 67 65 73 20 61 ted.option."dev"..Dev.packages.a
43320 72 65 20 69 6e 73 74 61 6c 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 20 6e 6f 77 2e 3c 2f 77 61 re.installed.by.default.now.</wa
43340 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e rning>');.}..$composer.=.$this->
43360 67 65 74 43 6f 6d 70 6f 73 65 72 28 74 72 75 65 2c 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 getComposer(true,.$input->getOpt
43380 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 3b 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d ion('no-plugins'));..$packages.=
433a0 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 70 61 63 6b 61 67 65 73 27 29 .$input->getArgument('packages')
433c0 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 6e 74 65 72 61 ;..if.($input->getOption('intera
433e0 63 74 69 76 65 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 ctive')).{.$packages.=.$this->ge
43400 74 50 61 63 6b 61 67 65 73 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 69 6f 2c 20 24 69 6e 70 tPackagesInteractively($io,.$inp
43420 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 70 61 63 6b 61 67 65 ut,.$output,.$composer,.$package
43440 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 6f s);.}..if.($input->getOption('ro
43460 6f 74 2d 72 65 71 73 27 29 29 20 7b 0a 24 72 65 71 75 69 72 65 20 3d 20 61 72 72 61 79 5f 6b 65 ot-reqs')).{.$require.=.array_ke
43480 79 73 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 52 ys($composer->getPackage()->getR
434a0 65 71 75 69 72 65 73 28 29 29 3b 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 equires());.if.(!$input->getOpti
434c0 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 20 7b 0a 24 72 65 71 75 69 72 65 44 65 76 20 3d 20 61 72 on('no-dev')).{.$requireDev.=.ar
434e0 72 61 79 5f 6b 65 79 73 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 ray_keys($composer->getPackage()
43500 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 3b 0a 24 72 65 71 75 69 72 65 20 3d 20 ->getDevRequires());.$require.=.
43520 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 71 75 69 72 65 2c 20 24 72 65 71 75 69 72 65 44 65 array_merge($require,.$requireDe
43540 76 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 73 29 29 20 7b 0a v);.}..if.(!empty($packages)).{.
43560 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 69 6e 74 65 72 73 65 63 74 28 24 70 61 63 $packages.=.array_intersect($pac
43580 6b 61 67 65 73 2c 20 24 72 65 71 75 69 72 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b kages,.$require);.}.else.{.$pack
435a0 61 67 65 73 20 3d 20 24 72 65 71 75 69 72 65 3b 0a 7d 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 2d ages.=.$require;.}.}..$composer-
435c0 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 2d 3e 73 65 74 4f 75 74 70 75 74 >getDownloadManager()->setOutput
435e0 50 72 6f 67 72 65 73 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d Progress(!$input->getOption('no-
43600 70 72 6f 67 72 65 73 73 27 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 progress'));..$commandEvent.=.ne
43620 77 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d w.CommandEvent(PluginEvents::COM
43640 4d 41 4e 44 2c 20 27 75 70 64 61 74 65 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 MAND,.'update',.$input,.$output)
43660 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 ;.$composer->getEventDispatcher(
43680 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 )->dispatch($commandEvent->getNa
436a0 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 20 me(),.$commandEvent);..$install.
436c0 3d 20 49 6e 73 74 61 6c 6c 65 72 3a 3a 63 72 65 61 74 65 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 =.Installer::create($io,.$compos
436e0 65 72 29 3b 0a 0a 24 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f er);..$config.=.$composer->getCo
43700 6e 66 69 67 28 29 3b 0a 6c 69 73 74 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 2c 20 24 70 72 65 nfig();.list($preferSource,.$pre
43720 66 65 72 44 69 73 74 29 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 66 65 72 72 65 64 49 6e ferDist).=.$this->getPreferredIn
43740 73 74 61 6c 6c 4f 70 74 69 6f 6e 73 28 24 63 6f 6e 66 69 67 2c 20 24 69 6e 70 75 74 29 3b 0a 0a stallOptions($config,.$input);..
43760 24 6f 70 74 69 6d 69 7a 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6f $optimize.=.$input->getOption('o
43780 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d ptimize-autoloader').||.$config-
437a0 3e 67 65 74 28 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 24 61 75 >get('optimize-autoloader');.$au
437c0 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 thoritative.=.$input->getOption(
437e0 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 27 29 20 7c 7c 20 24 63 6f 'classmap-authoritative').||.$co
43800 6e 66 69 67 2d 3e 67 65 74 28 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 nfig->get('classmap-authoritativ
43820 65 27 29 3b 0a 24 61 70 63 75 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 e');.$apcu.=.$input->getOption('
43840 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 20 7c 7c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 apcu-autoloader').||.$config->ge
43860 74 28 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 3b 0a 0a 24 69 6e 73 74 61 6c 6c 0a t('apcu-autoloader');..$install.
43880 2d 3e 73 65 74 44 72 79 52 75 6e 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 64 ->setDryRun($input->getOption('d
438a0 72 79 2d 72 75 6e 27 29 29 0a 2d 3e 73 65 74 56 65 72 62 6f 73 65 28 24 69 6e 70 75 74 2d 3e 67 ry-run')).->setVerbose($input->g
438c0 65 74 4f 70 74 69 6f 6e 28 27 76 65 72 62 6f 73 65 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 etOption('verbose')).->setPrefer
438e0 53 6f 75 72 63 65 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 29 0a 2d 3e 73 65 74 50 72 65 66 65 Source($preferSource).->setPrefe
43900 72 44 69 73 74 28 24 70 72 65 66 65 72 44 69 73 74 29 0a 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 rDist($preferDist).->setDevMode(
43920 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 64 65 76 27 29 29 0a 2d 3e !$input->getOption('no-dev')).->
43940 73 65 74 44 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 setDumpAutoloader(!$input->getOp
43960 74 69 6f 6e 28 27 6e 6f 2d 61 75 74 6f 6c 6f 61 64 65 72 27 29 29 0a 2d 3e 73 65 74 52 75 6e 53 tion('no-autoloader')).->setRunS
43980 63 72 69 70 74 73 28 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 63 cripts(!$input->getOption('no-sc
439a0 72 69 70 74 73 27 29 29 0a 2d 3e 73 65 74 53 6b 69 70 53 75 67 67 65 73 74 28 24 69 6e 70 75 74 ripts')).->setSkipSuggest($input
439c0 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 73 75 67 67 65 73 74 27 29 29 0a 2d 3e 73 65 74 ->getOption('no-suggest')).->set
439e0 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 6f 70 74 69 6d 69 7a 65 29 0a 2d 3e OptimizeAutoloader($optimize).->
43a00 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 61 75 74 68 6f 72 setClassMapAuthoritative($author
43a20 69 74 61 74 69 76 65 29 0a 2d 3e 73 65 74 41 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 28 24 61 70 itative).->setApcuAutoloader($ap
43a40 63 75 29 0a 2d 3e 73 65 74 55 70 64 61 74 65 28 74 72 75 65 29 0a 2d 3e 73 65 74 55 70 64 61 74 cu).->setUpdate(true).->setUpdat
43a60 65 57 68 69 74 65 6c 69 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6c 6f eWhitelist($input->getOption('lo
43a80 63 6b 27 29 20 3f 20 61 72 72 61 79 28 27 6c 6f 63 6b 27 29 20 3a 20 24 70 61 63 6b 61 67 65 73 ck').?.array('lock').:.$packages
43aa0 29 0a 2d 3e 73 65 74 57 68 69 74 65 6c 69 73 74 54 72 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 ).->setWhitelistTransitiveDepend
43ac0 65 6e 63 69 65 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 77 69 74 68 2d 64 encies($input->getOption('with-d
43ae0 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 0a 2d 3e 73 65 74 57 68 69 74 65 6c 69 73 74 41 6c 6c ependencies')).->setWhitelistAll
43b00 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 Dependencies($input->getOption('
43b20 77 69 74 68 2d 61 6c 6c 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 0a 2d 3e 73 65 74 49 67 with-all-dependencies')).->setIg
43b40 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 69 6e 70 75 74 2d norePlatformRequirements($input-
43b60 3e 67 65 74 4f 70 74 69 6f 6e 28 27 69 67 6e 6f 72 65 2d 70 6c 61 74 66 6f 72 6d 2d 72 65 71 73 >getOption('ignore-platform-reqs
43b80 27 29 29 0a 2d 3e 73 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 24 69 6e 70 75 74 2d 3e 67 65 ')).->setPreferStable($input->ge
43ba0 74 4f 70 74 69 6f 6e 28 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 29 29 0a 2d 3e 73 65 74 50 tOption('prefer-stable')).->setP
43bc0 72 65 66 65 72 4c 6f 77 65 73 74 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 70 referLowest($input->getOption('p
43be0 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 29 29 0a 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 refer-lowest')).;..if.($input->g
43c00 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 29 20 7b 0a 24 69 6e 73 74 61 etOption('no-plugins')).{.$insta
43c20 6c 6c 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 ll->disablePlugins();.}..return.
43c40 24 69 6e 73 74 61 6c 6c 2d 3e 72 75 6e 28 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 $install->run();.}..private.func
43c60 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 73 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 49 4f tion.getPackagesInteractively(IO
43c80 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 Interface.$io,.InputInterface.$i
43ca0 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 43 nput,.OutputInterface.$output,.C
43cc0 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 61 72 72 61 79 20 24 70 61 63 6b 61 67 omposer.$composer,.array.$packag
43ce0 65 73 29 0a 7b 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 es).{.if.(!$input->isInteractive
43d00 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 ()).{.throw.new.\InvalidArgument
43d20 45 78 63 65 70 74 69 6f 6e 28 27 2d 2d 69 6e 74 65 72 61 63 74 69 76 65 20 63 61 6e 6e 6f 74 20 Exception('--interactive.cannot.
43d40 62 65 20 75 73 65 64 20 69 6e 20 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 20 74 65 72 6d 69 be.used.in.non-interactive.termi
43d60 6e 61 6c 73 2e 27 29 3b 0a 7d 0a 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 nals.');.}..$requires.=.array_me
43d80 72 67 65 28 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 rge(.$composer->getPackage()->ge
43da0 74 52 65 71 75 69 72 65 73 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 tRequires(),.$composer->getPacka
43dc0 67 65 28 29 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 0a 29 3b 0a 24 61 75 74 6f 63 ge()->getDevRequires().);.$autoc
43de0 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 ompleterValues.=.array();.foreac
43e00 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 74 61 72 h.($requires.as.$require).{.$tar
43e20 67 65 74 20 3d 20 24 72 65 71 75 69 72 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 24 61 75 get.=.$require->getTarget();.$au
43e40 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 61 tocompleterValues[strtolower($ta
43e60 72 67 65 74 29 5d 20 3d 20 24 74 61 72 67 65 74 3b 0a 7d 0a 0a 24 69 6e 73 74 61 6c 6c 65 64 50 rget)].=.$target;.}..$installedP
43e80 61 63 6b 61 67 65 73 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f ackages.=.$composer->getReposito
43ea0 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 ryManager()->getLocalRepository(
43ec0 29 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 73 74 )->getPackages();.foreach.($inst
43ee0 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 61 75 alledPackages.as.$package).{.$au
43f00 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e tocompleterValues[$package->getN
43f20 61 6d 65 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 ame()].=.$package->getPrettyName
43f40 28 29 3b 0a 7d 0a 0a 24 68 65 6c 70 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 ();.}..$helper.=.$this->getHelpe
43f60 72 28 27 71 75 65 73 74 69 6f 6e 27 29 3b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 51 r('question');.$question.=.new.Q
43f80 75 65 73 74 69 6f 6e 28 27 3c 63 6f 6d 6d 65 6e 74 3e 45 6e 74 65 72 20 70 61 63 6b 61 67 65 20 uestion('<comment>Enter.package.
43fa0 6e 61 6d 65 3a 20 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 6e 75 6c 6c 29 3b 0a 0a 24 69 6f 2d 3e name:.</comment>',.null);..$io->
43fc0 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 50 72 65 73 73 20 65 6e 74 65 72 20 77 69 writeError('<info>Press.enter.wi
43fe0 74 68 6f 75 74 20 76 61 6c 75 65 20 74 6f 20 65 6e 64 20 73 75 62 6d 69 73 73 69 6f 6e 3c 2f 69 thout.value.to.end.submission</i
44000 6e 66 6f 3e 27 29 3b 0a 0a 64 6f 20 7b 0a 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 nfo>');..do.{.$autocompleterValu
44020 65 73 20 3d 20 61 72 72 61 79 5f 64 69 66 66 28 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 es.=.array_diff($autocompleterVa
44040 6c 75 65 73 2c 20 24 70 61 63 6b 61 67 65 73 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 lues,.$packages);.$question->set
44060 41 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 28 24 61 75 74 6f 63 6f 6d 70 6c 65 74 AutocompleterValues($autocomplet
44080 65 72 56 61 6c 75 65 73 29 3b 0a 24 61 64 64 65 64 50 61 63 6b 61 67 65 20 3d 20 24 68 65 6c 70 erValues);.$addedPackage.=.$help
440a0 65 72 2d 3e 61 73 6b 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 er->ask($input,.$output,.$questi
440c0 6f 6e 29 3b 0a 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 61 64 64 65 64 50 61 63 6b 61 on);..if.(!is_string($addedPacka
440e0 67 65 29 20 7c 7c 20 65 6d 70 74 79 28 24 61 64 64 65 64 50 61 63 6b 61 67 65 29 29 20 7b 0a 62 ge).||.empty($addedPackage)).{.b
44100 72 65 61 6b 3b 0a 7d 0a 0a 24 61 64 64 65 64 50 61 63 6b 61 67 65 20 3d 20 73 74 72 74 6f 6c 6f reak;.}..$addedPackage.=.strtolo
44120 77 65 72 28 24 61 64 64 65 64 50 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 wer($addedPackage);.if.(!in_arra
44140 79 28 24 61 64 64 65 64 50 61 63 6b 61 67 65 2c 20 24 70 61 63 6b 61 67 65 73 29 29 20 7b 0a 24 y($addedPackage,.$packages)).{.$
44160 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 61 64 64 65 64 50 61 63 6b 61 67 65 3b 0a 7d 0a 7d 20 packages[].=.$addedPackage;.}.}.
44180 77 68 69 6c 65 20 28 74 72 75 65 29 3b 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 while.(true);..$packages.=.array
441a0 5f 66 69 6c 74 65 72 28 24 70 61 63 6b 61 67 65 73 29 3b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 _filter($packages);.if.(!$packag
441c0 65 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 es).{.throw.new.\InvalidArgument
441e0 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 65 6e 74 65 72 20 6d 69 6e 69 6d 75 Exception('You.must.enter.minimu
44200 6d 20 6f 6e 65 20 70 61 63 6b 61 67 65 2e 27 29 3b 0a 7d 0a 0a 24 74 61 62 6c 65 20 3d 20 6e 65 m.one.package.');.}..$table.=.ne
44220 77 20 54 61 62 6c 65 28 24 6f 75 74 70 75 74 29 3b 0a 24 74 61 62 6c 65 2d 3e 73 65 74 48 65 61 w.Table($output);.$table->setHea
44240 64 65 72 73 28 61 72 72 61 79 28 27 53 65 6c 65 63 74 65 64 20 70 61 63 6b 61 67 65 73 27 29 29 ders(array('Selected.packages'))
44260 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 ;.foreach.($packages.as.$package
44280 29 20 7b 0a 24 74 61 62 6c 65 2d 3e 61 64 64 52 6f 77 28 61 72 72 61 79 28 24 70 61 63 6b 61 67 ).{.$table->addRow(array($packag
442a0 65 29 29 3b 0a 7d 0a 24 74 61 62 6c 65 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 0a 69 66 20 28 24 69 e));.}.$table->render();..if.($i
442c0 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 57 6f 75 o->askConfirmation(sprintf(.'Wou
442e0 6c 64 20 79 6f 75 20 6c 69 6b 65 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 61 6e 64 20 75 70 64 61 ld.you.like.to.continue.and.upda
44300 74 65 20 74 68 65 20 61 62 6f 76 65 20 70 61 63 6b 61 67 65 25 73 20 5b 3c 63 6f 6d 6d 65 6e 74 te.the.above.package%s.[<comment
44320 3e 79 65 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 0a 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 >yes</comment>]?.',.1.===.count(
44340 24 70 61 63 6b 61 67 65 73 29 20 3f 20 27 27 20 3a 20 27 73 27 0a 29 2c 20 74 72 75 65 29 29 20 $packages).?.''.:.'s'.),.true)).
44360 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 {.return.$packages;.}..throw.new
44380 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 73 74 61 6c 6c 61 74 69 6f 6e .\RuntimeException('Installation
443a0 20 61 62 6f 72 74 65 64 2e 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .aborted.');.}.}.<?php..........
443c0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 ..namespace.Composer\Command;..u
443e0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 se.Composer\Factory;.use.Compose
44400 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 r\Package\Loader\ValidatingArray
44420 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 6f 6d 6d Loader;.use.Composer\Plugin\Comm
44440 61 6e 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c andEvent;.use.Composer\Plugin\Pl
44460 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 43 6f uginEvents;.use.Composer\Util\Co
44480 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f nfigValidator;.use.Symfony\Compo
444a0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 nent\Console\Input\InputArgument
444c0 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
444e0 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e Input\InputInterface;.use.Symfon
44500 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f y\Component\Console\Input\InputO
44520 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ption;.use.Symfony\Component\Con
44540 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a sole\Output\OutputInterface;....
44560 0a 0a 0a 0a 63 6c 61 73 73 20 56 61 6c 69 64 61 74 65 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 ....class.ValidateCommand.extend
44580 73 20 42 61 73 65 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e s.BaseCommand.{....protected.fun
445a0 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e ction.configure().{.$this.->setN
445c0 61 6d 65 28 27 76 61 6c 69 64 61 74 65 27 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e ame('validate').->setDescription
445e0 28 27 56 61 6c 69 64 61 74 65 73 20 61 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 6e 64 20 ('Validates.a.composer.json.and.
44600 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 2e 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f 6e composer.lock.').->setDefinition
44620 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 68 65 63 (array(.new.InputOption('no-chec
44640 6b 2d 61 6c 6c 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 k-all',.null,.InputOption::VALUE
44660 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 76 61 6c 69 64 61 74 65 20 72 65 71 75 69 72 65 73 _NONE,.'Do.not.validate.requires
44680 20 66 6f 72 20 6f 76 65 72 6c 79 20 73 74 72 69 63 74 2f 6c 6f 6f 73 65 20 63 6f 6e 73 74 72 61 .for.overly.strict/loose.constra
446a0 69 6e 74 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 68 65 63 ints'),.new.InputOption('no-chec
446c0 6b 2d 6c 6f 63 6b 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 k-lock',.null,.InputOption::VALU
446e0 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 63 68 65 63 6b 20 69 66 20 6c 6f 63 6b 20 66 69 E_NONE,.'Do.not.check.if.lock.fi
44700 6c 65 20 69 73 20 75 70 20 74 6f 20 64 61 74 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 le.is.up.to.date'),.new.InputOpt
44720 69 6f 6e 28 27 6e 6f 2d 63 68 65 63 6b 2d 70 75 62 6c 69 73 68 27 2c 20 6e 75 6c 6c 2c 20 49 6e ion('no-check-publish',.null,.In
44740 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 63 putOption::VALUE_NONE,.'Do.not.c
44760 68 65 63 6b 20 66 6f 72 20 70 75 62 6c 69 73 68 20 65 72 72 6f 72 73 27 29 2c 0a 6e 65 77 20 49 heck.for.publish.errors'),.new.I
44780 6e 70 75 74 4f 70 74 69 6f 6e 28 27 77 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2c 20 nputOption('with-dependencies',.
447a0 27 41 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 41 'A',.InputOption::VALUE_NONE,.'A
447c0 6c 73 6f 20 76 61 6c 69 64 61 74 65 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f lso.validate.the.composer.json.o
447e0 66 20 61 6c 6c 20 69 6e 73 74 61 6c 6c 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 2c 0a f.all.installed.dependencies'),.
44800 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 27 2c 20 6e 75 6c 6c 2c 20 new.InputOption('strict',.null,.
44820 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 52 65 74 75 72 6e InputOption::VALUE_NONE,.'Return
44840 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 65 78 69 74 20 63 6f 64 65 20 66 6f 72 20 77 61 72 6e 69 6e .a.non-zero.exit.code.for.warnin
44860 67 73 20 61 73 20 77 65 6c 6c 20 61 73 20 65 72 72 6f 72 73 27 29 2c 0a 6e 65 77 20 49 6e 70 75 gs.as.well.as.errors'),.new.Inpu
44880 74 41 72 67 75 6d 65 6e 74 28 27 66 69 6c 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a tArgument('file',.InputArgument:
448a0 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 70 61 74 68 20 74 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f :OPTIONAL,.'path.to.composer.jso
448c0 6e 20 66 69 6c 65 27 29 2c 0a 29 29 0a 2d 3e 73 65 74 48 65 6c 70 28 0a 3c 3c 3c 45 4f 54 0a 54 n.file'),.)).->setHelp(.<<<EOT.T
448e0 68 65 20 76 61 6c 69 64 61 74 65 20 63 6f 6d 6d 61 6e 64 20 76 61 6c 69 64 61 74 65 73 20 61 20 he.validate.command.validates.a.
44900 67 69 76 65 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 61 6e 64 20 63 6f 6d 70 6f 73 65 72 given.composer.json.and.composer
44920 2e 6c 6f 63 6b 0a 0a 45 78 69 74 20 63 6f 64 65 73 20 69 6e 20 63 61 73 65 20 6f 66 20 65 72 72 .lock..Exit.codes.in.case.of.err
44940 6f 72 73 20 61 72 65 3a 0a 31 20 76 61 6c 69 64 61 74 69 6f 6e 20 77 61 72 6e 69 6e 67 28 73 29 ors.are:.1.validation.warning(s)
44960 2c 20 6f 6e 6c 79 20 77 68 65 6e 20 2d 2d 73 74 72 69 63 74 20 69 73 20 67 69 76 65 6e 0a 32 20 ,.only.when.--strict.is.given.2.
44980 76 61 6c 69 64 61 74 69 6f 6e 20 65 72 72 6f 72 28 73 29 0a 33 20 66 69 6c 65 20 75 6e 72 65 61 validation.error(s).3.file.unrea
449a0 64 61 62 6c 65 20 6f 72 20 6d 69 73 73 69 6e 67 0a 0a 52 65 61 64 20 6d 6f 72 65 20 61 74 20 68 dable.or.missing..Read.more.at.h
449c0 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 33 2d 63 6c ttps://getcomposer.org/doc/03-cl
449e0 69 2e 6d 64 23 76 61 6c 69 64 61 74 65 0a 45 4f 54 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 i.md#validate.EOT.);.}........pr
44a00 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e otected.function.execute(InputIn
44a20 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 terface.$input,.OutputInterface.
44a40 24 6f 75 74 70 75 74 29 0a 7b 0a 24 66 69 6c 65 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 $output).{.$file.=.$input->getAr
44a60 67 75 6d 65 6e 74 28 27 66 69 6c 65 27 29 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f gument('file').?:.Factory::getCo
44a80 6d 70 6f 73 65 72 46 69 6c 65 28 29 3b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f mposerFile();.$io.=.$this->getIO
44aa0 28 29 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 7b 0a ();..if.(!file_exists($file)).{.
44ac0 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 20 2e 20 24 66 69 6c $io->writeError('<error>'...$fil
44ae0 65 20 2e 20 27 20 6e 6f 74 20 66 6f 75 6e 64 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 0a 72 65 74 e...'.not.found.</error>');..ret
44b00 75 72 6e 20 33 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 66 69 6c 65 29 urn.3;.}.if.(!is_readable($file)
44b20 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 20 2e 20 ).{.$io->writeError('<error>'...
44b40 24 66 69 6c 65 20 2e 20 27 20 69 73 20 6e 6f 74 20 72 65 61 64 61 62 6c 65 2e 3c 2f 65 72 72 6f $file...'.is.not.readable.</erro
44b60 72 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 33 3b 0a 7d 0a 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d r>');..return.3;.}..$validator.=
44b80 20 6e 65 77 20 43 6f 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 28 24 69 6f 29 3b 0a 24 63 68 65 63 .new.ConfigValidator($io);.$chec
44ba0 6b 41 6c 6c 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 68 65 kAll.=.$input->getOption('no-che
44bc0 63 6b 2d 61 6c 6c 27 29 20 3f 20 30 20 3a 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f ck-all').?.0.:.ValidatingArrayLo
44be0 61 64 65 72 3a 3a 43 48 45 43 4b 5f 41 4c 4c 3b 0a 24 63 68 65 63 6b 50 75 62 6c 69 73 68 20 3d ader::CHECK_ALL;.$checkPublish.=
44c00 20 21 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 68 65 63 6b 2d 70 75 .!$input->getOption('no-check-pu
44c20 62 6c 69 73 68 27 29 3b 0a 24 63 68 65 63 6b 4c 6f 63 6b 20 3d 20 21 24 69 6e 70 75 74 2d 3e 67 blish');.$checkLock.=.!$input->g
44c40 65 74 4f 70 74 69 6f 6e 28 27 6e 6f 2d 63 68 65 63 6b 2d 6c 6f 63 6b 27 29 3b 0a 24 69 73 53 74 etOption('no-check-lock');.$isSt
44c60 72 69 63 74 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 73 74 72 69 63 74 rict.=.$input->getOption('strict
44c80 27 29 3b 0a 6c 69 73 74 28 24 65 72 72 6f 72 73 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 ');.list($errors,.$publishErrors
44ca0 2c 20 24 77 61 72 6e 69 6e 67 73 29 20 3d 20 24 76 61 6c 69 64 61 74 6f 72 2d 3e 76 61 6c 69 64 ,.$warnings).=.$validator->valid
44cc0 61 74 65 28 24 66 69 6c 65 2c 20 24 63 68 65 63 6b 41 6c 6c 29 3b 0a 0a 24 6c 6f 63 6b 45 72 72 ate($file,.$checkAll);..$lockErr
44ce0 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 46 61 63 74 6f ors.=.array();.$composer.=.Facto
44d00 72 79 3a 3a 63 72 65 61 74 65 28 24 69 6f 2c 20 24 66 69 6c 65 2c 20 24 69 6e 70 75 74 2d 3e 68 ry::create($io,.$file,.$input->h
44d20 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 70 6c 75 67 69 6e 73 27 asParameterOption('--no-plugins'
44d40 29 29 3b 0a 24 6c 6f 63 6b 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 4c 6f 63 6b ));.$locker.=.$composer->getLock
44d60 65 72 28 29 3b 0a 69 66 20 28 24 6c 6f 63 6b 65 72 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 20 26 26 er();.if.($locker->isLocked().&&
44d80 20 21 24 6c 6f 63 6b 65 72 2d 3e 69 73 46 72 65 73 68 28 29 29 20 7b 0a 24 6c 6f 63 6b 45 72 72 .!$locker->isFresh()).{.$lockErr
44da0 6f 72 73 5b 5d 20 3d 20 27 54 68 65 20 6c 6f 63 6b 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 75 70 ors[].=.'The.lock.file.is.not.up
44dc0 20 74 6f 20 64 61 74 65 20 77 69 74 68 20 74 68 65 20 6c 61 74 65 73 74 20 63 68 61 6e 67 65 73 .to.date.with.the.latest.changes
44de0 20 69 6e 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 .in.composer.json,.it.is.recomme
44e00 6e 64 65 64 20 74 68 61 74 20 79 6f 75 20 72 75 6e 20 60 63 6f 6d 70 6f 73 65 72 20 75 70 64 61 nded.that.you.run.`composer.upda
44e20 74 65 60 2e 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 69 te`.';.}..$this->outputResult($i
44e40 6f 2c 20 24 66 69 6c 65 2c 20 24 65 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 2c 20 24 63 o,.$file,.$errors,.$warnings,.$c
44e60 68 65 63 6b 50 75 62 6c 69 73 68 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 2c 20 24 63 68 heckPublish,.$publishErrors,.$ch
44e80 65 63 6b 4c 6f 63 6b 2c 20 24 6c 6f 63 6b 45 72 72 6f 72 73 2c 20 74 72 75 65 2c 20 24 69 73 53 eckLock,.$lockErrors,.true,.$isS
44ea0 74 72 69 63 74 29 3b 0a 0a 0a 20 24 65 78 69 74 43 6f 64 65 20 3d 20 24 65 72 72 6f 72 73 20 3f trict);....$exitCode.=.$errors.?
44ec0 20 32 20 3a 20 28 24 69 73 53 74 72 69 63 74 20 26 26 20 24 77 61 72 6e 69 6e 67 73 20 3f 20 31 .2.:.($isStrict.&&.$warnings.?.1
44ee0 20 3a 20 30 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 77 .:.0);..if.($input->getOption('w
44f00 69 74 68 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 29 20 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f ith-dependencies')).{.$localRepo
44f20 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 .=.$composer->getRepositoryManag
44f40 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 66 6f 72 65 er()->getLocalRepository();.fore
44f60 61 63 68 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 ach.($localRepo->getPackages().a
44f80 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d s.$package).{.$path.=.$composer-
44fa0 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 49 6e >getInstallationManager()->getIn
44fc0 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 66 69 6c 65 20 3d 20 24 70 61 stallPath($package);.$file.=.$pa
44fe0 74 68 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 3b 0a 69 66 20 28 69 73 5f 64 69 th...'/composer.json';.if.(is_di
45000 72 28 24 70 61 74 68 29 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 r($path).&&.file_exists($file)).
45020 7b 0a 6c 69 73 74 28 24 65 72 72 6f 72 73 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 2c 20 {.list($errors,.$publishErrors,.
45040 24 77 61 72 6e 69 6e 67 73 29 20 3d 20 24 76 61 6c 69 64 61 74 6f 72 2d 3e 76 61 6c 69 64 61 74 $warnings).=.$validator->validat
45060 65 28 24 66 69 6c 65 2c 20 24 63 68 65 63 6b 41 6c 6c 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 e($file,.$checkAll);.$this->outp
45080 75 74 52 65 73 75 6c 74 28 24 69 6f 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 utResult($io,.$package->getPrett
450a0 79 4e 61 6d 65 28 29 2c 20 24 65 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 2c 20 24 63 68 yName(),.$errors,.$warnings,.$ch
450c0 65 63 6b 50 75 62 6c 69 73 68 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 29 3b 0a 0a 24 64 eckPublish,.$publishErrors);..$d
450e0 65 70 43 6f 64 65 20 3d 20 24 65 72 72 6f 72 73 20 3f 20 32 20 3a 20 28 24 69 73 53 74 72 69 63 epCode.=.$errors.?.2.:.($isStric
45100 74 20 26 26 20 24 77 61 72 6e 69 6e 67 73 20 3f 20 31 20 3a 20 30 29 3b 0a 24 65 78 69 74 43 6f t.&&.$warnings.?.1.:.0);.$exitCo
45120 64 65 20 3d 20 6d 61 78 28 24 64 65 70 43 6f 64 65 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d de.=.max($depCode,.$exitCode);.}
45140 0a 7d 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e .}.}..$commandEvent.=.new.Comman
45160 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 27 76 dEvent(PluginEvents::COMMAND,.'v
45180 61 6c 69 64 61 74 65 27 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 65 76 65 alidate',.$input,.$output);.$eve
451a0 6e 74 43 6f 64 65 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 ntCode.=.$composer->getEventDisp
451c0 61 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 atcher()->dispatch($commandEvent
451e0 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 45 76 65 6e 74 29 3b 0a 24 65 78 ->getName(),.$commandEvent);.$ex
45200 69 74 43 6f 64 65 20 3d 20 6d 61 78 28 24 65 76 65 6e 74 43 6f 64 65 2c 20 24 65 78 69 74 43 6f itCode.=.max($eventCode,.$exitCo
45220 64 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 70 72 69 76 61 de);..return.$exitCode;.}..priva
45240 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 75 74 70 75 74 52 65 73 75 6c 74 28 24 69 6f 2c 20 24 6e te.function.outputResult($io,.$n
45260 61 6d 65 2c 20 26 24 65 72 72 6f 72 73 2c 20 26 24 77 61 72 6e 69 6e 67 73 2c 20 24 63 68 65 63 ame,.&$errors,.&$warnings,.$chec
45280 6b 50 75 62 6c 69 73 68 20 3d 20 66 61 6c 73 65 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 kPublish.=.false,.$publishErrors
452a0 20 3d 20 61 72 72 61 79 28 29 2c 20 24 63 68 65 63 6b 4c 6f 63 6b 20 3d 20 66 61 6c 73 65 2c 20 .=.array(),.$checkLock.=.false,.
452c0 24 6c 6f 63 6b 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 70 72 69 6e 74 53 63 68 $lockErrors.=.array(),.$printSch
452e0 65 6d 61 55 72 6c 20 3d 20 66 61 6c 73 65 2c 20 24 69 73 53 74 72 69 63 74 20 3d 20 66 61 6c 73 emaUrl.=.false,.$isStrict.=.fals
45300 65 29 0a 7b 0a 69 66 20 28 21 24 65 72 72 6f 72 73 20 26 26 20 21 24 70 75 62 6c 69 73 68 45 72 e).{.if.(!$errors.&&.!$publishEr
45320 72 6f 72 73 20 26 26 20 21 24 77 61 72 6e 69 6e 67 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 rors.&&.!$warnings).{.$io->write
45340 28 27 3c 69 6e 66 6f 3e 27 20 2e 20 24 6e 61 6d 65 20 2e 20 27 20 69 73 20 76 61 6c 69 64 3c 2f ('<info>'...$name...'.is.valid</
45360 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 65 72 72 6f 72 73 20 26 26 20 21 info>');.}.elseif.(!$errors.&&.!
45380 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f $publishErrors).{.$io->writeErro
453a0 72 28 27 3c 69 6e 66 6f 3e 27 20 2e 20 24 6e 61 6d 65 20 2e 20 27 20 69 73 20 76 61 6c 69 64 2c r('<info>'...$name...'.is.valid,
453c0 20 62 75 74 20 77 69 74 68 20 61 20 66 65 77 20 77 61 72 6e 69 6e 67 73 3c 2f 69 6e 66 6f 3e 27 .but.with.a.few.warnings</info>'
453e0 29 3b 0a 69 66 20 28 24 70 72 69 6e 74 53 63 68 65 6d 61 55 72 6c 29 20 7b 0a 24 69 6f 2d 3e 77 );.if.($printSchemaUrl).{.$io->w
45400 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 65 65 20 68 74 74 70 73 3a 2f 2f riteError('<warning>See.https://
45420 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 34 2d 73 63 68 65 6d 61 2e 6d 64 getcomposer.org/doc/04-schema.md
45440 20 66 6f 72 20 64 65 74 61 69 6c 73 20 6f 6e 20 74 68 65 20 73 63 68 65 6d 61 3c 2f 77 61 72 6e .for.details.on.the.schema</warn
45460 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 65 72 72 6f 72 73 29 20 7b 0a ing>');.}.}.elseif.(!$errors).{.
45480 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 27 20 2e 20 24 6e 61 6d 65 $io->writeError('<info>'...$name
454a0 20 2e 20 27 20 69 73 20 76 61 6c 69 64 20 66 6f 72 20 73 69 6d 70 6c 65 20 75 73 61 67 65 20 77 ...'.is.valid.for.simple.usage.w
454c0 69 74 68 20 63 6f 6d 70 6f 73 65 72 20 62 75 74 20 68 61 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 24 ith.composer.but.has</info>');.$
454e0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 73 74 72 69 63 74 20 65 72 72 io->writeError('<info>strict.err
45500 6f 72 73 20 74 68 61 74 20 6d 61 6b 65 20 69 74 20 75 6e 61 62 6c 65 20 74 6f 20 62 65 20 70 75 ors.that.make.it.unable.to.be.pu
45520 62 6c 69 73 68 65 64 20 61 73 20 61 20 70 61 63 6b 61 67 65 3a 3c 2f 69 6e 66 6f 3e 27 29 3b 0a blished.as.a.package:</info>');.
45540 69 66 20 28 24 70 72 69 6e 74 53 63 68 65 6d 61 55 72 6c 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 if.($printSchemaUrl).{.$io->writ
45560 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 eError('<warning>See.https://get
45580 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 34 2d 73 63 68 65 6d 61 2e 6d 64 20 66 6f composer.org/doc/04-schema.md.fo
455a0 72 20 64 65 74 61 69 6c 73 20 6f 6e 20 74 68 65 20 73 63 68 65 6d 61 3c 2f 77 61 72 6e 69 6e 67 r.details.on.the.schema</warning
455c0 3e 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 >');.}.}.else.{.$io->writeError(
455e0 27 3c 65 72 72 6f 72 3e 27 20 2e 20 24 6e 61 6d 65 20 2e 20 27 20 69 73 20 69 6e 76 61 6c 69 64 '<error>'...$name...'.is.invalid
45600 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 72 72 6f 72 73 2f 77 61 72 6e 69 6e 67 73 20 ,.the.following.errors/warnings.
45620 77 65 72 65 20 66 6f 75 6e 64 3a 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 were.found:</error>');.}......if
45640 20 28 24 63 68 65 63 6b 50 75 62 6c 69 73 68 29 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 .($checkPublish).{.$errors.=.arr
45660 61 79 5f 6d 65 72 67 65 28 24 65 72 72 6f 72 73 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 ay_merge($errors,.$publishErrors
45680 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 69 73 53 74 72 69 63 74 29 20 7b 0a 24 77 61 72 6e );.}.elseif.(!$isStrict).{.$warn
456a0 69 6e 67 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 77 61 72 6e 69 6e 67 73 2c 20 24 70 ings.=.array_merge($warnings,.$p
456c0 75 62 6c 69 73 68 45 72 72 6f 72 73 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 63 68 65 63 6b ublishErrors);.}......if.($check
456e0 4c 6f 63 6b 29 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 65 Lock).{.$errors.=.array_merge($e
45700 72 72 6f 72 73 2c 20 24 6c 6f 63 6b 45 72 72 6f 72 73 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 rrors,.$lockErrors);.}.elseif.(!
45720 24 69 73 53 74 72 69 63 74 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 72 61 79 5f 6d $isStrict).{.$warnings.=.array_m
45740 65 72 67 65 28 24 77 61 72 6e 69 6e 67 73 2c 20 24 6c 6f 63 6b 45 72 72 6f 72 73 29 3b 0a 7d 0a erge($warnings,.$lockErrors);.}.
45760 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 0a 27 65 72 72 6f 72 27 20 3d 3e 20 24 .$messages.=.array(.'error'.=>.$
45780 65 72 72 6f 72 73 2c 0a 27 77 61 72 6e 69 6e 67 27 20 3d 3e 20 24 77 61 72 6e 69 6e 67 73 2c 0a errors,.'warning'.=>.$warnings,.
457a0 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 73 20 61 73 20 24 73 74 79 6c 65 );..foreach.($messages.as.$style
457c0 20 3d 3e 20 24 6d 73 67 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6d 73 67 73 20 61 73 20 24 .=>.$msgs).{.foreach.($msgs.as.$
457e0 6d 73 67 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 27 20 2e 20 24 73 74 msg).{.$io->writeError('<'...$st
45800 79 6c 65 20 2e 20 27 3e 27 20 2e 20 24 6d 73 67 20 2e 20 27 3c 2f 27 20 2e 20 24 73 74 79 6c 65 yle...'>'...$msg...'</'...$style
45820 20 2e 20 27 3e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ...'>');.}.}.}.}.<?php..........
45840 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f ..namespace.Composer;..use.Compo
45860 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 ser\Package\RootPackageInterface
45880 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 63 6b 65 72 3b 0a 75 ;.use.Composer\Package\Locker;.u
458a0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 se.Composer\Repository\Repositor
458c0 79 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 yManager;.use.Composer\Installer
458e0 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 \InstallationManager;.use.Compos
45900 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d er\Plugin\PluginManager;.use.Com
45920 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 poser\Downloader\DownloadManager
45940 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 ;.use.Composer\EventDispatcher\E
45960 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 ventDispatcher;.use.Composer\Aut
45980 6f 6c 6f 61 64 5c 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 75 73 65 20 43 6f 6d oload\AutoloadGenerator;.use.Com
459a0 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 5c 41 72 63 68 69 76 65 4d 61 poser\Package\Archiver\ArchiveMa
459c0 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 0a 7b 0a 0a 0a nager;.......class.Composer.{...
459e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 56 45 52 53 49 4f 4e ...................const.VERSION
45a00 20 3d 20 27 31 2e 39 2e 31 27 3b 0a 63 6f 6e 73 74 20 42 52 41 4e 43 48 5f 41 4c 49 41 53 5f 56 .=.'1.9.1';.const.BRANCH_ALIAS_V
45a20 45 52 53 49 4f 4e 20 3d 20 27 27 3b 0a 63 6f 6e 73 74 20 52 45 4c 45 41 53 45 5f 44 41 54 45 20 ERSION.=.'';.const.RELEASE_DATE.
45a40 3d 20 27 32 30 31 39 2d 31 31 2d 30 31 20 31 37 3a 32 30 3a 31 37 27 3b 0a 63 6f 6e 73 74 20 53 =.'2019-11-01.17:20:17';.const.S
45a60 4f 55 52 43 45 5f 56 45 52 53 49 4f 4e 20 3d 20 27 27 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 OURCE_VERSION.=.'';..public.stat
45a80 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 0a 20 69 66 20 ic.function.getVersion().{...if.
45aa0 28 73 65 6c 66 3a 3a 56 45 52 53 49 4f 4e 20 3d 3d 3d 20 27 40 70 61 63 6b 61 67 65 5f 76 65 72 (self::VERSION.===.'@package_ver
45ac0 73 69 6f 6e 27 2e 27 40 27 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 53 4f 55 52 43 45 sion'.'@').{.return.self::SOURCE
45ae0 5f 56 45 52 53 49 4f 4e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 73 65 6c 66 3a 3a 42 52 41 4e 43 48 5f _VERSION;.}....if.(self::BRANCH_
45b00 41 4c 49 41 53 5f 56 45 52 53 49 4f 4e 20 21 3d 3d 20 27 27 20 26 26 20 70 72 65 67 5f 6d 61 74 ALIAS_VERSION.!==.''.&&.preg_mat
45b20 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 24 7d 27 2c 20 73 65 6c 66 3a 3a 56 45 52 ch('{^[a-f0-9]{40}$}',.self::VER
45b40 53 49 4f 4e 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 42 52 41 4e 43 48 5f 41 4c 49 SION)).{.return.self::BRANCH_ALI
45b60 41 53 5f 56 45 52 53 49 4f 4e 2e 27 2b 27 2e 73 65 6c 66 3a 3a 56 45 52 53 49 4f 4e 3b 0a 7d 0a AS_VERSION.'+'.self::VERSION;.}.
45b80 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 53 49 4f 4e 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 .return.self::VERSION;.}.....pri
45ba0 76 61 74 65 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6c 6f 63 6b vate.$package;.....private.$lock
45bc0 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 er;.....private.$repositoryManag
45be0 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 er;.....private.$downloadManager
45c00 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 ;.....private.$installationManag
45c20 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 6c 75 67 69 6e 4d 61 6e 61 67 65 72 3b 0a er;.....private.$pluginManager;.
45c40 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 ....private.$config;.....private
45c60 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 .$eventDispatcher;.....private.$
45c80 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 autoloadGenerator;.....private.$
45ca0 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 archiveManager;......public.func
45cc0 74 69 6f 6e 20 73 65 74 50 61 63 6b 61 67 65 28 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 tion.setPackage(RootPackageInter
45ce0 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 20 face.$package).{.$this->package.
45d00 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f =.$package;.}.....public.functio
45d20 6e 20 67 65 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 n.getPackage().{.return.$this->p
45d40 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 ackage;.}.....public.function.se
45d60 74 43 6f 6e 66 69 67 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d tConfig(Config.$config).{.$this-
45d80 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 >config.=.$config;.}.....public.
45da0 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 function.getConfig().{.return.$t
45dc0 68 69 73 2d 3e 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 his->config;.}.....public.functi
45de0 6f 6e 20 73 65 74 4c 6f 63 6b 65 72 28 4c 6f 63 6b 65 72 20 24 6c 6f 63 6b 65 72 29 0a 7b 0a 24 on.setLocker(Locker.$locker).{.$
45e00 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 20 3d 20 24 6c 6f 63 6b 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 this->locker.=.$locker;.}.....pu
45e20 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 6b 65 72 28 29 0a 7b 0a 72 65 74 75 blic.function.getLocker().{.retu
45e40 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 rn.$this->locker;.}.....public.f
45e60 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 52 65 70 unction.setRepositoryManager(Rep
45e80 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 72 29 0a 7b 0a 24 74 68 69 73 ositoryManager.$manager).{.$this
45ea0 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 3d 20 24 6d 61 6e 61 67 65 72 3b 0a ->repositoryManager.=.$manager;.
45ec0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 }.....public.function.getReposit
45ee0 6f 72 79 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 oryManager().{.return.$this->rep
45f00 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ositoryManager;.}.....public.fun
45f20 63 74 69 6f 6e 20 73 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 44 6f 77 6e 6c 6f 61 ction.setDownloadManager(Downloa
45f40 64 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e dManager.$manager).{.$this->down
45f60 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 24 6d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 loadManager.=.$manager;.}.....pu
45f80 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 blic.function.getDownloadManager
45fa0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 ().{.return.$this->downloadManag
45fc0 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 72 63 er;.}.....public.function.setArc
45fe0 68 69 76 65 4d 61 6e 61 67 65 72 28 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 hiveManager(ArchiveManager.$mana
46000 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 20 3d 20 24 ger).{.$this->archiveManager.=.$
46020 6d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 manager;.}.....public.function.g
46040 65 74 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 etArchiveManager().{.return.$thi
46060 73 2d 3e 61 72 63 68 69 76 65 4d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 s->archiveManager;.}.....public.
46080 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 function.setInstallationManager(
460a0 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 72 29 0a 7b 0a InstallationManager.$manager).{.
460c0 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 3d 20 24 6d 61 $this->installationManager.=.$ma
460e0 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 nager;.}.....public.function.get
46100 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 InstallationManager().{.return.$
46120 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a this->installationManager;.}....
46140 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 6c 75 67 69 6e 4d 61 6e 61 67 65 .public.function.setPluginManage
46160 72 28 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 72 29 0a 7b 0a 24 74 68 69 r(PluginManager.$manager).{.$thi
46180 73 2d 3e 70 6c 75 67 69 6e 4d 61 6e 61 67 65 72 20 3d 20 24 6d 61 6e 61 67 65 72 3b 0a 7d 0a 0a s->pluginManager.=.$manager;.}..
461a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 75 67 69 6e 4d 61 6e 61 ...public.function.getPluginMana
461c0 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6c 75 67 69 6e 4d 61 6e 61 ger().{.return.$this->pluginMana
461e0 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 76 ger;.}.....public.function.setEv
46200 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 entDispatcher(EventDispatcher.$e
46220 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 ventDispatcher).{.$this->eventDi
46240 73 70 61 74 63 68 65 72 20 3d 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 7d 0a 0a spatcher.=.$eventDispatcher;.}..
46260 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 76 65 6e 74 44 69 73 70 61 ...public.function.getEventDispa
46280 74 63 68 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 tcher().{.return.$this->eventDis
462a0 70 61 74 63 68 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 patcher;.}.....public.function.s
462c0 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 41 75 74 6f 6c 6f 61 64 47 65 6e 65 etAutoloadGenerator(AutoloadGene
462e0 72 61 74 6f 72 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 29 0a 7b 0a 24 74 68 69 rator.$autoloadGenerator).{.$thi
46300 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 20 3d 20 24 61 75 74 6f 6c 6f 61 64 s->autoloadGenerator.=.$autoload
46320 47 65 6e 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e Generator;.}.....public.function
46340 20 67 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e .getAutoloadGenerator().{.return
46360 20 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b 0a 7d 0a 7d 0a 3c .$this->autoloadGenerator;.}.}.<
46380 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
463a0 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 5c 43 6f 6e 66 69 67 53 er;..use.Composer\Config\ConfigS
463c0 6f 75 72 63 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 ourceInterface;.use.Composer\Dow
463e0 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 nloader\TransportException;.use.
46400 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d Composer\IO\IOInterface;.use.Com
46420 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 poser\Util\Platform;.use.Compose
46440 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 r\Util\ProcessExecutor;.....clas
46460 73 20 43 6f 6e 66 69 67 0a 7b 0a 63 6f 6e 73 74 20 52 45 4c 41 54 49 56 45 5f 50 41 54 48 53 20 s.Config.{.const.RELATIVE_PATHS.
46480 3d 20 31 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 64 65 66 61 75 6c 74 43 6f 6e 66 =.1;..public.static.$defaultConf
464a0 69 67 20 3d 20 61 72 72 61 79 28 0a 27 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 27 20 3d 3e ig.=.array(.'process-timeout'.=>
464c0 20 33 30 30 2c 0a 27 75 73 65 2d 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 20 3d 3e 20 66 61 6c 73 .300,.'use-include-path'.=>.fals
464e0 65 2c 0a 27 70 72 65 66 65 72 72 65 64 2d 69 6e 73 74 61 6c 6c 27 20 3d 3e 20 27 61 75 74 6f 27 e,.'preferred-install'.=>.'auto'
46500 2c 0a 27 6e 6f 74 69 66 79 2d 6f 6e 2d 69 6e 73 74 61 6c 6c 27 20 3d 3e 20 74 72 75 65 2c 0a 27 ,.'notify-on-install'.=>.true,.'
46520 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 20 3d 3e 20 61 72 72 61 79 28 27 68 74 74 70 github-protocols'.=>.array('http
46540 73 27 2c 20 27 73 73 68 27 2c 20 27 67 69 74 27 29 2c 0a 27 76 65 6e 64 6f 72 2d 64 69 72 27 20 s',.'ssh',.'git'),.'vendor-dir'.
46560 3d 3e 20 27 76 65 6e 64 6f 72 27 2c 0a 27 62 69 6e 2d 64 69 72 27 20 3d 3e 20 27 7b 24 76 65 6e =>.'vendor',.'bin-dir'.=>.'{$ven
46580 64 6f 72 2d 64 69 72 7d 2f 62 69 6e 27 2c 0a 27 63 61 63 68 65 2d 64 69 72 27 20 3d 3e 20 27 7b dor-dir}/bin',.'cache-dir'.=>.'{
465a0 24 68 6f 6d 65 7d 2f 63 61 63 68 65 27 2c 0a 27 64 61 74 61 2d 64 69 72 27 20 3d 3e 20 27 7b 24 $home}/cache',.'data-dir'.=>.'{$
465c0 68 6f 6d 65 7d 27 2c 0a 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 64 69 72 27 20 3d 3e 20 27 7b 24 home}',.'cache-files-dir'.=>.'{$
465e0 63 61 63 68 65 2d 64 69 72 7d 2f 66 69 6c 65 73 27 2c 0a 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 cache-dir}/files',.'cache-repo-d
46600 69 72 27 20 3d 3e 20 27 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 72 65 70 6f 27 2c 0a 27 63 61 63 ir'.=>.'{$cache-dir}/repo',.'cac
46620 68 65 2d 76 63 73 2d 64 69 72 27 20 3d 3e 20 27 7b 24 63 61 63 68 65 2d 64 69 72 7d 2f 76 63 73 he-vcs-dir'.=>.'{$cache-dir}/vcs
46640 27 2c 0a 27 63 61 63 68 65 2d 74 74 6c 27 20 3d 3e 20 31 35 35 35 32 30 30 30 2c 20 0a 20 27 63 ',.'cache-ttl'.=>.15552000,...'c
46660 61 63 68 65 2d 66 69 6c 65 73 2d 74 74 6c 27 20 3d 3e 20 6e 75 6c 6c 2c 20 0a 20 27 63 61 63 68 ache-files-ttl'.=>.null,...'cach
46680 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 27 20 3d 3e 20 27 33 30 30 4d 69 42 27 2c 0a 27 62 e-files-maxsize'.=>.'300MiB',.'b
466a0 69 6e 2d 63 6f 6d 70 61 74 27 20 3d 3e 20 27 61 75 74 6f 27 2c 0a 27 64 69 73 63 61 72 64 2d 63 in-compat'.=>.'auto',.'discard-c
466c0 68 61 6e 67 65 73 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 61 75 74 6f 6c 6f 61 64 65 72 2d 73 75 hanges'.=>.false,.'autoloader-su
466e0 66 66 69 78 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 73 6f 72 74 2d 70 61 63 6b 61 67 65 73 27 20 3d ffix'.=>.null,.'sort-packages'.=
46700 3e 20 66 61 6c 73 65 2c 0a 27 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 27 20 3d >.false,.'optimize-autoloader'.=
46720 3e 20 66 61 6c 73 65 2c 0a 27 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 76 65 >.false,.'classmap-authoritative
46740 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 61 70 63 75 2d 61 75 74 6f 6c 6f 61 64 65 72 27 20 3d 3e '.=>.false,.'apcu-autoloader'.=>
46760 20 66 61 6c 73 65 2c 0a 27 70 72 65 70 65 6e 64 2d 61 75 74 6f 6c 6f 61 64 65 72 27 20 3d 3e 20 .false,.'prepend-autoloader'.=>.
46780 74 72 75 65 2c 0a 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 20 3d 3e 20 61 72 72 61 79 28 true,.'github-domains'.=>.array(
467a0 27 67 69 74 68 75 62 2e 63 6f 6d 27 29 2c 0a 27 62 69 74 62 75 63 6b 65 74 2d 65 78 70 6f 73 65 'github.com'),.'bitbucket-expose
467c0 2d 68 6f 73 74 6e 61 6d 65 27 20 3d 3e 20 74 72 75 65 2c 0a 27 64 69 73 61 62 6c 65 2d 74 6c 73 -hostname'.=>.true,.'disable-tls
467e0 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 73 65 63 75 72 65 2d 68 74 74 70 27 20 3d 3e 20 74 72 75 '.=>.false,.'secure-http'.=>.tru
46800 65 2c 0a 27 63 61 66 69 6c 65 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 63 61 70 61 74 68 27 20 3d 3e e,.'cafile'.=>.null,.'capath'.=>
46820 20 6e 75 6c 6c 2c 0a 27 67 69 74 68 75 62 2d 65 78 70 6f 73 65 2d 68 6f 73 74 6e 61 6d 65 27 20 .null,.'github-expose-hostname'.
46840 3d 3e 20 74 72 75 65 2c 0a 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 20 3d 3e 20 61 72 72 =>.true,.'gitlab-domains'.=>.arr
46860 61 79 28 27 67 69 74 6c 61 62 2e 63 6f 6d 27 29 2c 0a 27 73 74 6f 72 65 2d 61 75 74 68 73 27 20 ay('gitlab.com'),.'store-auths'.
46880 3d 3e 20 27 70 72 6f 6d 70 74 27 2c 0a 27 70 6c 61 74 66 6f 72 6d 27 20 3d 3e 20 61 72 72 61 79 =>.'prompt',.'platform'.=>.array
468a0 28 29 2c 0a 27 61 72 63 68 69 76 65 2d 66 6f 72 6d 61 74 27 20 3d 3e 20 27 74 61 72 27 2c 0a 27 (),.'archive-format'.=>.'tar',.'
468c0 61 72 63 68 69 76 65 2d 64 69 72 27 20 3d 3e 20 27 2e 27 2c 0a 27 68 74 61 63 63 65 73 73 2d 70 archive-dir'.=>.'.',.'htaccess-p
468e0 72 6f 74 65 63 74 27 20 3d 3e 20 74 72 75 65 2c 0a 27 75 73 65 2d 67 69 74 68 75 62 2d 61 70 69 rotect'.=>.true,.'use-github-api
46900 27 20 3d 3e 20 74 72 75 65 2c 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 29 3b 0a 0a 70 75 62 6c 69 '.=>.true,.............);..publi
46920 63 20 73 74 61 74 69 63 20 24 64 65 66 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 c.static.$defaultRepositories.=.
46940 61 72 72 61 79 28 0a 27 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 20 3d 3e 20 61 72 72 61 79 28 array(.'packagist.org'.=>.array(
46960 0a 27 74 79 70 65 27 20 3d 3e 20 27 63 6f 6d 70 6f 73 65 72 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 .'type'.=>.'composer',.'url'.=>.
46980 27 68 74 74 70 73 3f 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 2c 0a 27 'https?://repo.packagist.org',.'
469a0 61 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 72 61 64 65 27 20 3d 3e 20 74 72 75 65 2c 0a 29 2c allow_ssl_downgrade'.=>.true,.),
469c0 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 62 .);..private.$config;.private.$b
469e0 61 73 65 44 69 72 3b 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 0a aseDir;.private.$repositories;..
46a00 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 0a 70 72 69 76 61 74 65 20 private.$configSource;..private.
46a20 24 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 70 72 69 76 61 74 65 20 24 75 73 65 45 $authConfigSource;.private.$useE
46a40 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 77 61 72 6e 65 64 48 6f 73 74 73 nvironment;.private.$warnedHosts
46a60 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .=.array();......public.function
46a80 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 75 73 65 45 6e 76 69 72 6f 6e 6d 65 6e 74 20 3d 20 74 .__construct($useEnvironment.=.t
46aa0 72 75 65 2c 20 24 62 61 73 65 44 69 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 24 74 68 69 73 2d rue,.$baseDir.=.null).{...$this-
46ac0 3e 63 6f 6e 66 69 67 20 3d 20 73 74 61 74 69 63 3a 3a 24 64 65 66 61 75 6c 74 43 6f 6e 66 69 67 >config.=.static::$defaultConfig
46ae0 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 73 74 61 74 69 63 3a 3a ;.$this->repositories.=.static::
46b00 24 64 65 66 61 75 6c 74 52 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 24 74 68 69 73 2d 3e 75 73 65 $defaultRepositories;.$this->use
46b20 45 6e 76 69 72 6f 6e 6d 65 6e 74 20 3d 20 28 62 6f 6f 6c 29 20 24 75 73 65 45 6e 76 69 72 6f 6e Environment.=.(bool).$useEnviron
46b40 6d 65 6e 74 3b 0a 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 3d 20 24 62 61 73 65 44 69 72 3b ment;.$this->baseDir.=.$baseDir;
46b60 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 66 69 67 53 6f 75 .}..public.function.setConfigSou
46b80 72 63 65 28 43 6f 6e 66 69 67 53 6f 75 72 63 65 49 6e 74 65 72 66 61 63 65 20 24 73 6f 75 72 63 rce(ConfigSourceInterface.$sourc
46ba0 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 6f 75 72 63 65 20 3d 20 24 73 6f 75 72 e).{.$this->configSource.=.$sour
46bc0 63 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 69 67 ce;.}..public.function.getConfig
46be0 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 53 Source().{.return.$this->configS
46c00 6f 75 72 63 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 ource;.}..public.function.setAut
46c20 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 43 6f 6e 66 69 67 53 6f 75 72 63 65 49 6e 74 65 72 66 hConfigSource(ConfigSourceInterf
46c40 61 63 65 20 24 73 6f 75 72 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 ace.$source).{.$this->authConfig
46c60 53 6f 75 72 63 65 20 3d 20 24 73 6f 75 72 63 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 Source.=.$source;.}..public.func
46c80 74 69 6f 6e 20 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 tion.getAuthConfigSource().{.ret
46ca0 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 7d 0a 0a urn.$this->authConfigSource;.}..
46cc0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 65 72 67 65 28 24 63 6f 6e 66 .....public.function.merge($conf
46ce0 69 67 29 0a 7b 0a 0a 20 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 ig).{...if.(!empty($config['conf
46d00 69 67 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 ig']).&&.is_array($config['confi
46d20 67 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 g'])).{.foreach.($config['config
46d40 27 5d 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 '].as.$key.=>.$val).{.if.(in_arr
46d60 61 79 28 24 6b 65 79 2c 20 61 72 72 61 79 28 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 27 ay($key,.array('bitbucket-oauth'
46d80 2c 20 27 67 69 74 68 75 62 2d 6f 61 75 74 68 27 2c 20 27 67 69 74 6c 61 62 2d 6f 61 75 74 68 27 ,.'github-oauth',.'gitlab-oauth'
46da0 2c 20 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 2c 20 27 68 74 74 70 2d 62 61 73 69 63 27 29 29 ,.'gitlab-token',.'http-basic'))
46dc0 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 29 20 .&&.isset($this->config[$key])).
46de0 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 5f 6d 65 {.$this->config[$key].=.array_me
46e00 72 67 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 2c 20 24 76 61 6c 29 3b 0a rge($this->config[$key],.$val);.
46e20 7d 20 65 6c 73 65 69 66 20 28 27 70 72 65 66 65 72 72 65 64 2d 69 6e 73 74 61 6c 6c 27 20 3d 3d }.elseif.('preferred-install'.==
46e40 3d 20 24 6b 65 79 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b =.$key.&&.isset($this->config[$k
46e60 65 79 5d 29 29 20 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 29 20 7c 7c 20 69 73 ey])).{.if.(is_array($val).||.is
46e80 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 29 20 7b 0a 69 _array($this->config[$key])).{.i
46ea0 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 29 29 20 7b 0a 24 76 61 6c 20 3d 20 61 72 72 f.(is_string($val)).{.$val.=.arr
46ec0 61 79 28 27 2a 27 20 3d 3e 20 24 76 61 6c 29 3b 0a 7d 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 ay('*'.=>.$val);.}.if.(is_string
46ee0 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e ($this->config[$key])).{.$this->
46f00 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 2a 27 20 3d 3e 20 24 74 68 69 config[$key].=.array('*'.=>.$thi
46f20 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 s->config[$key]);.}.$this->confi
46f40 67 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 63 6f 6e g[$key].=.array_merge($this->con
46f60 66 69 67 5b 24 6b 65 79 5d 2c 20 24 76 61 6c 29 3b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 fig[$key],.$val);...if.(isset($t
46f80 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 5b 27 2a 27 5d 29 29 20 7b 0a 24 77 69 6c 64 his->config[$key]['*'])).{.$wild
46fa0 63 61 72 64 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 5b 27 2a 27 5d 3b card.=.$this->config[$key]['*'];
46fc0 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 5b 27 2a 27 5d 29 .unset($this->config[$key]['*'])
46fe0 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 5b 27 2a 27 5d 20 3d 20 24 77 69 ;.$this->config[$key]['*'].=.$wi
47000 6c 64 63 61 72 64 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 ldcard;.}.}.else.{.$this->config
47020 5b 24 6b 65 79 5d 20 3d 20 24 76 61 6c 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d [$key].=.$val;.}.}.else.{.$this-
47040 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 24 76 61 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 >config[$key].=.$val;.}.}.}..if.
47060 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 29 (!empty($config['repositories'])
47080 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 .&&.is_array($config['repositori
470a0 65 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 61 es'])).{.$this->repositories.=.a
470c0 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 rray_reverse($this->repositories
470e0 2c 20 74 72 75 65 29 3b 0a 24 6e 65 77 52 65 70 6f 73 20 3d 20 61 72 72 61 79 5f 72 65 76 65 72 ,.true);.$newRepos.=.array_rever
47100 73 65 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 2c 20 74 72 75 65 se($config['repositories'],.true
47120 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6e 65 77 52 65 70 6f 73 20 61 73 20 24 6e 61 6d 65 20 3d );.foreach.($newRepos.as.$name.=
47140 3e 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d >.$repository).{...if.(false.===
47160 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 52 65 .$repository).{.$this->disableRe
47180 70 6f 42 79 4e 61 6d 65 28 24 6e 61 6d 65 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 poByName($name);.continue;.}....
471a0 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 72 65 70 6f 73 69 74 6f 72 79 29 20 26 26 20 31 20 3d if.(is_array($repository).&&.1.=
471c0 3d 3d 20 63 6f 75 6e 74 28 24 72 65 70 6f 73 69 74 6f 72 79 29 20 26 26 20 66 61 6c 73 65 20 3d ==.count($repository).&&.false.=
471e0 3d 3d 20 63 75 72 72 65 6e 74 28 24 72 65 70 6f 73 69 74 6f 72 79 29 29 20 7b 0a 24 74 68 69 73 ==.current($repository)).{.$this
47200 2d 3e 64 69 73 61 62 6c 65 52 65 70 6f 42 79 4e 61 6d 65 28 6b 65 79 28 24 72 65 70 6f 73 69 74 ->disableRepoByName(key($reposit
47220 6f 72 79 29 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 69 6e 74 ory));.continue;.}....if.(is_int
47240 28 24 6e 61 6d 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 5d ($name)).{.$this->repositories[]
47260 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 6e 61 .=.$repository;.}.else.{.if.($na
47280 6d 65 20 3d 3d 3d 20 27 70 61 63 6b 61 67 69 73 74 27 29 20 7b 20 0a 20 24 74 68 69 73 2d 3e 72 me.===.'packagist').{...$this->r
472a0 65 70 6f 73 69 74 6f 72 69 65 73 5b 24 6e 61 6d 65 20 2e 20 27 2e 6f 72 67 27 5d 20 3d 20 24 72 epositories[$name...'.org'].=.$r
472c0 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 epository;.}.else.{.$this->repos
472e0 69 74 6f 72 69 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a itories[$name].=.$repository;.}.
47300 7d 0a 7d 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 61 72 72 61 79 5f }.}.$this->repositories.=.array_
47320 72 65 76 65 72 73 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 74 72 75 reverse($this->repositories,.tru
47340 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 e);.}.}.....public.function.getR
47360 65 70 6f 73 69 74 6f 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 epositories().{.return.$this->re
47380 70 6f 73 69 74 6f 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 positories;.}..........public.fu
473a0 6e 63 74 69 6f 6e 20 67 65 74 28 24 6b 65 79 2c 20 24 66 6c 61 67 73 20 3d 20 30 29 0a 7b 0a 73 nction.get($key,.$flags.=.0).{.s
473c0 77 69 74 63 68 20 28 24 6b 65 79 29 20 7b 0a 63 61 73 65 20 27 76 65 6e 64 6f 72 2d 64 69 72 27 witch.($key).{.case.'vendor-dir'
473e0 3a 0a 63 61 73 65 20 27 62 69 6e 2d 64 69 72 27 3a 0a 63 61 73 65 20 27 70 72 6f 63 65 73 73 2d :.case.'bin-dir':.case.'process-
47400 74 69 6d 65 6f 75 74 27 3a 0a 63 61 73 65 20 27 64 61 74 61 2d 64 69 72 27 3a 0a 63 61 73 65 20 timeout':.case.'data-dir':.case.
47420 27 63 61 63 68 65 2d 64 69 72 27 3a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 64 'cache-dir':.case.'cache-files-d
47440 69 72 27 3a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 3a 0a 63 61 73 65 ir':.case.'cache-repo-dir':.case
47460 20 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 3a 0a 63 61 73 65 20 27 63 61 66 69 6c 65 27 3a .'cache-vcs-dir':.case.'cafile':
47480 0a 63 61 73 65 20 27 63 61 70 61 74 68 27 3a 0a 0a 20 24 65 6e 76 20 3d 20 27 43 4f 4d 50 4f 53 .case.'capath':...$env.=.'COMPOS
474a0 45 52 5f 27 20 2e 20 73 74 72 74 6f 75 70 70 65 72 28 73 74 72 74 72 28 24 6b 65 79 2c 20 27 2d ER_'...strtoupper(strtr($key,.'-
474c0 27 2c 20 27 5f 27 29 29 3b 0a 0a 24 76 61 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 ',.'_'));..$val.=.$this->getComp
474e0 6f 73 65 72 45 6e 76 28 24 65 6e 76 29 3b 0a 24 76 61 6c 20 3d 20 72 74 72 69 6d 28 28 73 74 72 oserEnv($env);.$val.=.rtrim((str
47500 69 6e 67 29 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 28 66 61 6c 73 65 20 21 3d 3d 20 24 76 ing).$this->process(false.!==.$v
47520 61 6c 20 3f 20 24 76 61 6c 20 3a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 2c al.?.$val.:.$this->config[$key],
47540 20 24 66 6c 61 67 73 29 2c 20 27 2f 5c 5c 27 29 3b 0a 24 76 61 6c 20 3d 20 50 6c 61 74 66 6f 72 .$flags),.'/\\');.$val.=.Platfor
47560 6d 3a 3a 65 78 70 61 6e 64 50 61 74 68 28 24 76 61 6c 29 3b 0a 0a 69 66 20 28 73 75 62 73 74 72 m::expandPath($val);..if.(substr
47580 28 24 6b 65 79 2c 20 2d 34 29 20 21 3d 3d 20 27 2d 64 69 72 27 29 20 7b 0a 72 65 74 75 72 6e 20 ($key,.-4).!==.'-dir').{.return.
475a0 24 76 61 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 28 24 66 6c 61 67 73 20 26 20 73 65 6c 66 3a $val;.}..return.(($flags.&.self:
475c0 3a 52 45 4c 41 54 49 56 45 5f 50 41 54 48 53 29 20 3d 3d 20 73 65 6c 66 3a 3a 52 45 4c 41 54 49 :RELATIVE_PATHS).==.self::RELATI
475e0 56 45 5f 50 41 54 48 53 29 20 3f 20 24 76 61 6c 20 3a 20 24 74 68 69 73 2d 3e 72 65 61 6c 70 61 VE_PATHS).?.$val.:.$this->realpa
47600 74 68 28 24 76 61 6c 29 3b 0a 0a 63 61 73 65 20 27 68 74 61 63 63 65 73 73 2d 70 72 6f 74 65 63 th($val);..case.'htaccess-protec
47620 74 27 3a 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 45 t':.$value.=.$this->getComposerE
47640 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 48 54 41 43 43 45 53 53 5f 50 52 4f 54 45 43 54 27 29 3b nv('COMPOSER_HTACCESS_PROTECT');
47660 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 24 76 61 6c 75 65 20 .if.(false.===.$value).{.$value.
47680 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 7d 0a 72 65 74 75 72 6e 20 =.$this->config[$key];.}.return.
476a0 24 76 61 6c 75 65 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 76 61 $value.!==.'false'.&&.(bool).$va
476c0 6c 75 65 3b 0a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 74 74 6c 27 3a 0a 72 65 74 75 72 6e 20 28 lue;..case.'cache-ttl':.return.(
476e0 69 6e 74 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 0a 63 61 73 65 20 int).$this->config[$key];..case.
47700 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 27 3a 0a 69 66 20 28 21 70 72 65 67 'cache-files-maxsize':.if.(!preg
47720 5f 6d 61 74 63 68 28 27 2f 5e 5c 73 2a 28 5b 30 2d 39 2e 5d 2b 29 5c 73 2a 28 3f 3a 28 5b 6b 6d _match('/^\s*([0-9.]+)\s*(?:([km
47740 67 5d 29 28 3f 3a 69 3f 62 29 3f 29 3f 5c 73 2a 24 2f 69 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e g])(?:i?b)?)?\s*$/i',.$this->con
47760 66 69 67 5b 24 6b 65 79 5d 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 fig[$key],.$matches)).{.throw.ne
47780 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 22 43 6f 75 6c 64 20 6e 6f 74 20 w.\RuntimeException(."Could.not.
477a0 70 61 72 73 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 27 63 61 63 68 65 2d 66 69 6c 65 73 2d parse.the.value.of.'cache-files-
477c0 6d 61 78 73 69 7a 65 27 3a 20 7b 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 7d 22 maxsize':.{$this->config[$key]}"
477e0 0a 29 3b 0a 7d 0a 24 73 69 7a 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 3b 0a 69 66 20 28 69 .);.}.$size.=.$matches[1];.if.(i
47800 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 73 77 69 74 63 68 20 28 73 74 72 sset($matches[2])).{.switch.(str
47820 74 6f 6c 6f 77 65 72 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 63 61 73 65 20 27 67 27 tolower($matches[2])).{.case.'g'
47840 3a 0a 24 73 69 7a 65 20 2a 3d 20 31 30 32 34 3b 0a 0a 20 0a 20 63 61 73 65 20 27 6d 27 3a 0a 24 :.$size.*=.1024;.....case.'m':.$
47860 73 69 7a 65 20 2a 3d 20 31 30 32 34 3b 0a 0a 20 0a 20 63 61 73 65 20 27 6b 27 3a 0a 24 73 69 7a size.*=.1024;.....case.'k':.$siz
47880 65 20 2a 3d 20 31 30 32 34 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 e.*=.1024;.break;.}.}..return.$s
478a0 69 7a 65 3b 0a 0a 63 61 73 65 20 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 74 74 6c 27 3a 0a 69 66 ize;..case.'cache-files-ttl':.if
478c0 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 29 20 7b 0a .(isset($this->config[$key])).{.
478e0 72 65 74 75 72 6e 20 28 69 6e 74 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d return.(int).$this->config[$key]
47900 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 69 6e 74 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b ;.}..return.(int).$this->config[
47920 27 63 61 63 68 65 2d 74 74 6c 27 5d 3b 0a 0a 63 61 73 65 20 27 68 6f 6d 65 27 3a 0a 24 76 61 6c 'cache-ttl'];..case.'home':.$val
47940 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5e 28 5c 24 48 4f 4d 45 7c 7e 29 28 2f 7c .=.preg_replace('#^(\$HOME|~)(/|
47960 24 29 23 27 2c 20 72 74 72 69 6d 28 67 65 74 65 6e 76 28 27 48 4f 4d 45 27 29 20 3f 3a 20 67 65 $)#',.rtrim(getenv('HOME').?:.ge
47980 74 65 6e 76 28 27 55 53 45 52 50 52 4f 46 49 4c 45 27 29 2c 20 27 2f 5c 5c 27 29 20 2e 20 27 2f tenv('USERPROFILE'),.'/\\')...'/
479a0 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 3b 0a 0a 72 65 74 75 72 6e ',.$this->config[$key]);..return
479c0 20 72 74 72 69 6d 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 28 24 76 61 6c 2c 20 24 66 6c 61 .rtrim($this->process($val,.$fla
479e0 67 73 29 2c 20 27 2f 5c 5c 27 29 3b 0a 0a 63 61 73 65 20 27 62 69 6e 2d 63 6f 6d 70 61 74 27 3a gs),.'/\\');..case.'bin-compat':
47a00 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 45 6e 76 28 .$value.=.$this->getComposerEnv(
47a20 27 43 4f 4d 50 4f 53 45 52 5f 42 49 4e 5f 43 4f 4d 50 41 54 27 29 20 3f 3a 20 24 74 68 69 73 2d 'COMPOSER_BIN_COMPAT').?:.$this-
47a40 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 76 >config[$key];..if.(!in_array($v
47a60 61 6c 75 65 2c 20 61 72 72 61 79 28 27 61 75 74 6f 27 2c 20 27 66 75 6c 6c 27 29 29 29 20 7b 0a alue,.array('auto',.'full'))).{.
47a80 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 22 49 6e throw.new.\RuntimeException(."In
47aa0 76 61 6c 69 64 20 76 61 6c 75 65 20 66 6f 72 20 27 62 69 6e 2d 63 6f 6d 70 61 74 27 3a 20 7b 24 valid.value.for.'bin-compat':.{$
47ac0 76 61 6c 75 65 7d 2e 20 45 78 70 65 63 74 65 64 20 61 75 74 6f 2c 20 66 75 6c 6c 22 0a 29 3b 0a value}..Expected.auto,.full".);.
47ae0 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 0a 63 61 73 65 20 27 64 69 73 63 61 72 64 }..return.$value;..case.'discard
47b00 2d 63 68 61 6e 67 65 73 27 3a 0a 69 66 20 28 24 65 6e 76 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 -changes':.if.($env.=.$this->get
47b20 43 6f 6d 70 6f 73 65 72 45 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 44 49 53 43 41 52 44 5f 43 48 ComposerEnv('COMPOSER_DISCARD_CH
47b40 41 4e 47 45 53 27 29 29 20 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 65 6e 76 2c 20 61 ANGES')).{.if.(!in_array($env,.a
47b60 72 72 61 79 28 27 73 74 61 73 68 27 2c 20 27 74 72 75 65 27 2c 20 27 66 61 6c 73 65 27 2c 20 27 rray('stash',.'true',.'false',.'
47b80 31 27 2c 20 27 30 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 1',.'0'),.true)).{.throw.new.\Ru
47ba0 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 22 49 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 66 ntimeException(."Invalid.value.f
47bc0 6f 72 20 43 4f 4d 50 4f 53 45 52 5f 44 49 53 43 41 52 44 5f 43 48 41 4e 47 45 53 3a 20 7b 24 65 or.COMPOSER_DISCARD_CHANGES:.{$e
47be0 6e 76 7d 2e 20 45 78 70 65 63 74 65 64 20 31 2c 20 30 2c 20 74 72 75 65 2c 20 66 61 6c 73 65 20 nv}..Expected.1,.0,.true,.false.
47c00 6f 72 20 73 74 61 73 68 22 0a 29 3b 0a 7d 0a 69 66 20 28 27 73 74 61 73 68 27 20 3d 3d 3d 20 24 or.stash".);.}.if.('stash'.===.$
47c20 65 6e 76 29 20 7b 0a 72 65 74 75 72 6e 20 27 73 74 61 73 68 27 3b 0a 7d 0a 0a 0a 20 72 65 74 75 env).{.return.'stash';.}....retu
47c40 72 6e 20 24 65 6e 76 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 65 rn.$env.!==.'false'.&&.(bool).$e
47c60 6e 76 3b 0a 7d 0a 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 nv;.}..if.(!in_array($this->conf
47c80 69 67 5b 24 6b 65 79 5d 2c 20 61 72 72 61 79 28 74 72 75 65 2c 20 66 61 6c 73 65 2c 20 27 73 74 ig[$key],.array(true,.false,.'st
47ca0 61 73 68 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 ash'),.true)).{.throw.new.\Runti
47cc0 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 22 49 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 66 6f 72 20 meException(."Invalid.value.for.
47ce0 27 64 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 27 3a 20 7b 24 74 68 69 73 2d 3e 63 6f 6e 66 69 'discard-changes':.{$this->confi
47d00 67 5b 24 6b 65 79 5d 7d 2e 20 45 78 70 65 63 74 65 64 20 74 72 75 65 2c 20 66 61 6c 73 65 20 6f g[$key]}..Expected.true,.false.o
47d20 72 20 73 74 61 73 68 22 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e r.stash".);.}..return.$this->con
47d40 66 69 67 5b 24 6b 65 79 5d 3b 0a 0a 63 61 73 65 20 27 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f fig[$key];..case.'github-protoco
47d60 6c 73 27 3a 0a 24 70 72 6f 74 6f 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 67 69 ls':.$protos.=.$this->config['gi
47d80 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 5d 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e thub-protocols'];.if.($this->con
47da0 66 69 67 5b 27 73 65 63 75 72 65 2d 68 74 74 70 27 5d 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 fig['secure-http'].&&.false.!==.
47dc0 28 24 69 6e 64 65 78 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 27 67 69 74 27 2c 20 24 70 ($index.=.array_search('git',.$p
47de0 72 6f 74 6f 73 29 29 29 20 7b 0a 75 6e 73 65 74 28 24 70 72 6f 74 6f 73 5b 24 69 6e 64 65 78 5d rotos))).{.unset($protos[$index]
47e00 29 3b 0a 7d 0a 69 66 20 28 72 65 73 65 74 28 24 70 72 6f 74 6f 73 29 20 3d 3d 3d 20 27 68 74 74 );.}.if.(reset($protos).===.'htt
47e20 70 27 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f p').{.throw.new.\RuntimeExceptio
47e40 6e 28 27 54 68 65 20 68 74 74 70 20 70 72 6f 74 6f 63 6f 6c 20 66 6f 72 20 67 69 74 68 75 62 20 n('The.http.protocol.for.github.
47e60 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 61 6e 79 6d 6f 72 65 2c 20 75 70 64 61 74 65 is.not.available.anymore,.update
47e80 20 79 6f 75 72 20 63 6f 6e 66 69 67 5c 27 73 20 67 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 .your.config\'s.github-protocols
47ea0 20 74 6f 20 75 73 65 20 22 68 74 74 70 73 22 2c 20 22 67 69 74 22 20 6f 72 20 22 73 73 68 22 27 .to.use."https",."git".or."ssh"'
47ec0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 74 6f 73 3b 0a 0a 63 61 73 65 20 27 64 69 73 );.}..return.$protos;..case.'dis
47ee0 61 62 6c 65 2d 74 6c 73 27 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b able-tls':.return.$this->config[
47f00 24 6b 65 79 5d 20 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 74 68 69 $key].!==.'false'.&&.(bool).$thi
47f20 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 3b 0a 63 61 73 65 20 27 73 65 63 75 72 65 2d 68 74 s->config[$key];.case.'secure-ht
47f40 74 70 27 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 tp':.return.$this->config[$key].
47f60 21 3d 3d 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d 3e 63 6f 6e !==.'false'.&&.(bool).$this->con
47f80 66 69 67 5b 24 6b 65 79 5d 3b 0a 63 61 73 65 20 27 75 73 65 2d 67 69 74 68 75 62 2d 61 70 69 27 fig[$key];.case.'use-github-api'
47fa0 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 21 3d 3d :.return.$this->config[$key].!==
47fc0 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 .'false'.&&.(bool).$this->config
47fe0 5b 24 6b 65 79 5d 3b 0a 64 65 66 61 75 6c 74 3a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 [$key];.default:.if.(!isset($thi
48000 73 2d 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b s->config[$key])).{.return.null;
48020 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 28 24 74 68 69 73 2d .}..return.$this->process($this-
48040 3e 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 2c 20 24 66 6c 61 67 73 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 >config[$key],.$flags);.}.}..pub
48060 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 6c 6c 28 24 66 6c 61 67 73 20 3d 20 30 29 0a 7b 0a 24 lic.function.all($flags.=.0).{.$
48080 61 6c 6c 20 3d 20 61 72 72 61 79 28 0a 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 20 3d 3e 20 24 all.=.array(.'repositories'.=>.$
480a0 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 2c 0a 29 3b 0a 66 6f 72 65 this->getRepositories(),.);.fore
480c0 61 63 68 20 28 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 20 61 ach.(array_keys($this->config).a
480e0 73 20 24 6b 65 79 29 20 7b 0a 24 61 6c 6c 5b 27 63 6f 6e 66 69 67 27 5d 5b 24 6b 65 79 5d 20 3d s.$key).{.$all['config'][$key].=
48100 20 24 74 68 69 73 2d 3e 67 65 74 28 24 6b 65 79 2c 20 24 66 6c 61 67 73 29 3b 0a 7d 0a 0a 72 65 .$this->get($key,.$flags);.}..re
48120 74 75 72 6e 20 24 61 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 61 turn.$all;.}..public.function.ra
48140 77 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 72 65 70 6f 73 69 74 6f 72 69 65 w().{.return.array(.'repositorie
48160 73 27 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 2c 0a s'.=>.$this->getRepositories(),.
48180 27 63 6f 6e 66 69 67 27 20 3d 3e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 0a 29 3b 0a 7d 0a 'config'.=>.$this->config,.);.}.
481a0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 28 24 6b 65 79 29 .......public.function.has($key)
481c0 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 6b 65 79 2c .{.return.array_key_exists($key,
481e0 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 .$this->config);.}.........priva
48200 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 28 24 76 61 6c 75 65 2c 20 24 66 6c 61 te.function.process($value,.$fla
48220 67 73 29 0a 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 3b 0a 0a 69 66 20 28 21 69 73 5f gs).{.$config.=.$this;..if.(!is_
48240 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b string($value)).{.return.$value;
48260 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b .}..return.preg_replace_callback
48280 28 27 23 5c 7b 5c 24 28 2e 2b 29 5c 7d 23 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 ('#\{\$(.+)\}#',.function.($matc
482a0 68 29 20 75 73 65 20 28 24 63 6f 6e 66 69 67 2c 20 24 66 6c 61 67 73 29 20 7b 0a 72 65 74 75 72 h).use.($config,.$flags).{.retur
482c0 6e 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 24 6d 61 74 63 68 5b 31 5d 2c 20 24 66 6c 61 67 73 n.$config->get($match[1],.$flags
482e0 29 3b 0a 7d 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 );.},.$value);.}..........privat
48300 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 e.function.realpath($path).{.if.
48320 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 3a 2f 7c 5b 61 2d 7a 5d 3a 7c 5b 61 2d 7a 30 (preg_match('{^(?:/|[a-z]:|[a-z0
48340 2d 39 2e 5d 2b 3a 2f 2f 29 7d 69 27 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 -9.]+://)}i',.$path)).{.return.$
48360 70 61 74 68 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 2e path;.}..return.$this->baseDir..
48380 20 27 2f 27 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 .'/'...$path;.}...........privat
483a0 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 45 6e 76 28 24 76 61 72 29 0a e.function.getComposerEnv($var).
483c0 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 73 65 45 6e 76 69 72 6f 6e 6d 65 6e 74 29 20 7b 0a 72 {.if.($this->useEnvironment).{.r
483e0 65 74 75 72 6e 20 67 65 74 65 6e 76 28 24 76 61 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 eturn.getenv($var);.}..return.fa
48400 6c 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 lse;.}..private.function.disable
48420 52 65 70 6f 42 79 4e 61 6d 65 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 RepoByName($name).{.if.(isset($t
48440 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 75 6e 73 his->repositories[$name])).{.uns
48460 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 24 6e 61 6d 65 5d 29 3b 0a et($this->repositories[$name]);.
48480 7d 20 65 6c 73 65 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 27 70 61 63 6b 61 67 69 73 74 27 29 }.elseif.($name.===.'packagist')
484a0 20 7b 20 0a 20 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 27 .{...unset($this->repositories['
484c0 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 packagist.org']);.}.}........pub
484e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 lic.function.prohibitUrlByConfig
48500 28 24 75 72 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 29 0a 7b ($url,.IOInterface.$io.=.null).{
48520 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 75 72 6c ...if.(false.===.filter_var($url
48540 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 29 29 20 7b 0a 72 65 74 75 72 6e ,.FILTER_VALIDATE_URL)).{.return
48560 3b 0a 7d 0a 0a 0a 20 24 73 63 68 65 6d 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c ;.}....$scheme.=.parse_url($url,
48580 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 3b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 .PHP_URL_SCHEME);.if.(in_array($
485a0 73 63 68 65 6d 65 2c 20 61 72 72 61 79 28 27 68 74 74 70 27 2c 20 27 67 69 74 27 2c 20 27 66 74 scheme,.array('http',.'git',.'ft
485c0 70 27 2c 20 27 73 76 6e 27 29 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 28 27 73 p',.'svn'))).{.if.($this->get('s
485e0 65 63 75 72 65 2d 68 74 74 70 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 ecure-http')).{.throw.new.Transp
48600 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 22 59 6f 75 72 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e ortException("Your.configuration
48620 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 74 6f 20 24 .does.not.allow.connections.to.$
48640 75 72 6c 2e 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 url..See.https://getcomposer.org
48660 2f 64 6f 63 2f 30 36 2d 63 6f 6e 66 69 67 2e 6d 64 23 73 65 63 75 72 65 2d 68 74 74 70 20 66 6f /doc/06-config.md#secure-http.fo
48680 72 20 64 65 74 61 69 6c 73 2e 22 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6f 29 20 7b 0a 24 r.details.");.}.elseif.($io).{.$
486a0 68 6f 73 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 host.=.parse_url($url,.PHP_URL_H
486c0 4f 53 54 29 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 77 61 72 6e 65 64 48 6f OST);.if.(!isset($this->warnedHo
486e0 73 74 73 5b 24 68 6f 73 74 5d 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 sts[$host])).{.$io->writeError("
48700 3c 77 61 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 41 63 63 65 73 73 69 6e 67 20 24 68 6f 73 <warning>Warning:.Accessing.$hos
48720 74 20 6f 76 65 72 20 24 73 63 68 65 6d 65 20 77 68 69 63 68 20 69 73 20 61 6e 20 69 6e 73 65 63 t.over.$scheme.which.is.an.insec
48740 75 72 65 20 70 72 6f 74 6f 63 6f 6c 2e 3c 2f 77 61 72 6e 69 6e 67 3e 22 29 3b 0a 7d 0a 24 74 68 ure.protocol.</warning>");.}.$th
48760 69 73 2d 3e 77 61 72 6e 65 64 48 6f 73 74 73 5b 24 68 6f 73 74 5d 20 3d 20 74 72 75 65 3b 0a 7d is->warnedHosts[$host].=.true;.}
48780 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 .}.}............public.static.fu
487a0 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 50 72 6f 63 65 73 73 54 69 6d 65 6f 75 74 28 29 0a 7b nction.disableProcessTimeout().{
487c0 0a 0a 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 73 65 74 54 69 6d 65 6f 75 74 28 30 ...ProcessExecutor::setTimeout(0
487e0 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 );.}.}.<?php............namespac
48800 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 e.Composer\Config;........interf
48820 61 63 65 20 43 6f 6e 66 69 67 53 6f 75 72 63 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a ace.ConfigSourceInterface.{.....
48840 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 ..public.function.addRepository(
48860 24 6e 61 6d 65 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 $name,.$config);.......public.fu
48880 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 52 65 70 6f 73 69 74 6f 72 79 28 24 6e 61 6d 65 29 3b 0a nction.removeRepository($name);.
488a0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6f 6e 66 69 67 .......public.function.addConfig
488c0 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 Setting($name,.$value);.......pu
488e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e blic.function.removeConfigSettin
48900 67 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e g($name);........public.function
48920 20 61 64 64 50 72 6f 70 65 72 74 79 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 0a 0a .addProperty($name,.$value);....
48940 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 ...public.function.removePropert
48960 79 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f y($name);.........public.functio
48980 6e 20 61 64 64 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b n.addLink($type,.$name,.$value);
489a0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 4c 69 ........public.function.removeLi
489c0 6e 6b 28 24 74 79 70 65 2c 20 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 nk($type,.$name);.......public.f
489e0 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a unction.getName();.}.<?php......
48a00 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b ......namespace.Composer\Config;
48a20 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 ..use.Composer\Json\JsonFile;.us
48a40 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 3b e.Composer\Json\JsonManipulator;
48a60 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 0a 0a 0a .use.Composer\Util\Silencer;....
48a80 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 20 69 6d 70 6c 65 ....class.JsonConfigSource.imple
48aa0 6d 65 6e 74 73 20 43 6f 6e 66 69 67 53 6f 75 72 63 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a ments.ConfigSourceInterface.{...
48ac0 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 61 75 74 .private.$file;.....private.$aut
48ae0 68 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 hConfig;........public.function.
48b00 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4a 73 6f 6e 46 69 6c 65 20 24 66 69 6c 65 2c 20 24 61 75 74 __construct(JsonFile.$file,.$aut
48b20 68 43 6f 6e 66 69 67 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d hConfig.=.false).{.$this->file.=
48b40 20 24 66 69 6c 65 3b 0a 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 24 61 75 74 .$file;.$this->authConfig.=.$aut
48b60 68 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 hConfig;.}.....public.function.g
48b80 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 etName().{.return.$this->file->g
48ba0 65 74 50 61 74 68 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 etPath();.}.....public.function.
48bc0 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 66 69 67 29 0a 7b 0a addRepository($name,.$config).{.
48be0 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 61 64 64 52 65 70 6f 73 69 $this->manipulateJson('addReposi
48c00 74 6f 72 79 27 2c 20 24 6e 61 6d 65 2c 20 24 63 6f 6e 66 69 67 2c 20 66 75 6e 63 74 69 6f 6e 20 tory',.$name,.$config,.function.
48c20 28 26 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 2c 20 24 72 65 70 6f 43 6f 6e 66 69 67 29 20 7b (&$config,.$repo,.$repoConfig).{
48c40 0a 0a 20 0a 20 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f .....if.(isset($config['reposito
48c60 72 69 65 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 ries'])).{.foreach.($config['rep
48c80 6f 73 69 74 6f 72 69 65 73 27 5d 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 76 61 6c 29 20 7b ositories'].as.$index.=>.$val).{
48ca0 0a 69 66 20 28 24 69 6e 64 65 78 20 3d 3d 3d 20 24 72 65 70 6f 29 20 7b 0a 63 6f 6e 74 69 6e 75 .if.($index.===.$repo).{.continu
48cc0 65 3b 0a 7d 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 69 6e 64 65 78 29 20 26 26 20 28 e;.}.if.(is_numeric($index).&&.(
48ce0 24 76 61 6c 20 3d 3d 3d 20 61 72 72 61 79 28 27 70 61 63 6b 61 67 69 73 74 27 20 3d 3e 20 66 61 $val.===.array('packagist'.=>.fa
48d00 6c 73 65 29 20 7c 7c 20 24 76 61 6c 20 3d 3d 3d 20 61 72 72 61 79 28 27 70 61 63 6b 61 67 69 73 lse).||.$val.===.array('packagis
48d20 74 2e 6f 72 67 27 20 3d 3e 20 66 61 6c 73 65 29 29 29 20 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 t.org'.=>.false))).{.unset($conf
48d40 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 24 69 6e 64 65 78 5d 29 3b 0a 24 63 6f ig['repositories'][$index]);.$co
48d60 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 27 70 61 63 6b 61 67 69 73 74 2e nfig['repositories']['packagist.
48d80 6f 72 67 27 5d 20 3d 20 66 61 6c 73 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 63 6f org'].=.false;.break;.}.}.}..$co
48da0 6e 66 69 67 5b 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 5d 5b 24 72 65 70 6f 5d 20 3d 20 24 72 nfig['repositories'][$repo].=.$r
48dc0 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 epoConfig;.});.}.....public.func
48de0 74 69 6f 6e 20 72 65 6d 6f 76 65 52 65 70 6f 73 69 74 6f 72 79 28 24 6e 61 6d 65 29 0a 7b 0a 24 tion.removeRepository($name).{.$
48e00 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 72 65 6d 6f 76 65 52 65 70 6f this->manipulateJson('removeRepo
48e20 73 69 74 6f 72 79 27 2c 20 24 6e 61 6d 65 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 sitory',.$name,.function.(&$conf
48e40 69 67 2c 20 24 72 65 70 6f 29 20 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 72 65 70 6f ig,.$repo).{.unset($config['repo
48e60 73 69 74 6f 72 69 65 73 27 5d 5b 24 72 65 70 6f 5d 29 3b 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 sitories'][$repo]);.});.}.....pu
48e80 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 blic.function.addConfigSetting($
48ea0 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 24 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 24 74 name,.$value).{.$authConfig.=.$t
48ec0 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 his->authConfig;.$this->manipula
48ee0 74 65 4a 73 6f 6e 28 27 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 27 2c 20 24 6e 61 6d 65 teJson('addConfigSetting',.$name
48f00 2c 20 24 76 61 6c 75 65 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 6b ,.$value,.function.(&$config,.$k
48f20 65 79 2c 20 24 76 61 6c 29 20 75 73 65 20 28 24 61 75 74 68 43 6f 6e 66 69 67 29 20 7b 0a 69 66 ey,.$val).use.($authConfig).{.if
48f40 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 .(preg_match('{^(bitbucket-oauth
48f60 7c 67 69 74 68 75 62 2d 6f 61 75 74 68 7c 67 69 74 6c 61 62 2d 6f 61 75 74 68 7c 67 69 74 6c 61 |github-oauth|gitlab-oauth|gitla
48f80 62 2d 74 6f 6b 65 6e 7c 68 74 74 70 2d 62 61 73 69 63 7c 70 6c 61 74 66 6f 72 6d 29 5c 2e 7d 27 b-token|http-basic|platform)\.}'
48fa0 2c 20 24 6b 65 79 29 29 20 7b 0a 6c 69 73 74 28 24 6b 65 79 2c 20 24 68 6f 73 74 29 20 3d 20 65 ,.$key)).{.list($key,.$host).=.e
48fc0 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 6b 65 79 2c 20 32 29 3b 0a 69 66 20 28 24 61 75 74 68 43 xplode('.',.$key,.2);.if.($authC
48fe0 6f 6e 66 69 67 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 5b 24 68 6f 73 74 5d 20 3d 20 onfig).{.$config[$key][$host].=.
49000 24 76 61 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d $val;.}.else.{.$config['config']
49020 5b 24 6b 65 79 5d 5b 24 68 6f 73 74 5d 20 3d 20 24 76 61 6c 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b [$key][$host].=.$val;.}.}.else.{
49040 0a 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 5b 24 6b 65 79 5d 20 3d 20 24 76 61 6c 3b .$config['config'][$key].=.$val;
49060 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d .}.});.}.....public.function.rem
49080 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 29 0a 7b 0a 24 61 75 74 68 43 oveConfigSetting($name).{.$authC
490a0 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 onfig.=.$this->authConfig;.$this
490c0 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 ->manipulateJson('removeConfigSe
490e0 74 74 69 6e 67 27 2c 20 24 6e 61 6d 65 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 tting',.$name,.function.(&$confi
49100 67 2c 20 24 6b 65 79 29 20 75 73 65 20 28 24 61 75 74 68 43 6f 6e 66 69 67 29 20 7b 0a 69 66 20 g,.$key).use.($authConfig).{.if.
49120 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 7c (preg_match('{^(bitbucket-oauth|
49140 67 69 74 68 75 62 2d 6f 61 75 74 68 7c 67 69 74 6c 61 62 2d 6f 61 75 74 68 7c 67 69 74 6c 61 62 github-oauth|gitlab-oauth|gitlab
49160 2d 74 6f 6b 65 6e 7c 68 74 74 70 2d 62 61 73 69 63 7c 70 6c 61 74 66 6f 72 6d 29 5c 2e 7d 27 2c -token|http-basic|platform)\.}',
49180 20 24 6b 65 79 29 29 20 7b 0a 6c 69 73 74 28 24 6b 65 79 2c 20 24 68 6f 73 74 29 20 3d 20 65 78 .$key)).{.list($key,.$host).=.ex
491a0 70 6c 6f 64 65 28 27 2e 27 2c 20 24 6b 65 79 2c 20 32 29 3b 0a 69 66 20 28 24 61 75 74 68 43 6f plode('.',.$key,.2);.if.($authCo
491c0 6e 66 69 67 29 20 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 5b 24 68 6f 73 nfig).{.unset($config[$key][$hos
491e0 74 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 63 6f 6e t]);.}.else.{.unset($config['con
49200 66 69 67 27 5d 5b 24 6b 65 79 5d 5b 24 68 6f 73 74 5d 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a fig'][$key][$host]);.}.}.else.{.
49220 75 6e 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 5b 24 6b 65 79 5d 29 3b 0a unset($config['config'][$key]);.
49240 7d 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 }.});.}.....public.function.addP
49260 72 6f 70 65 72 74 79 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e roperty($name,.$value).{.$this->
49280 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 61 64 64 50 72 6f 70 65 72 74 79 27 2c 20 24 6e manipulateJson('addProperty',.$n
492a0 61 6d 65 2c 20 24 76 61 6c 75 65 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c ame,.$value,.function.(&$config,
492c0 20 24 6b 65 79 2c 20 24 76 61 6c 29 20 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6b 65 79 2c 20 .$key,.$val).{.if.(substr($key,.
492e0 30 2c 20 36 29 20 3d 3d 3d 20 27 65 78 74 72 61 2e 27 20 7c 7c 20 73 75 62 73 74 72 28 24 6b 65 0,.6).===.'extra.'.||.substr($ke
49300 79 2c 20 30 2c 20 38 29 20 3d 3d 3d 20 27 73 63 72 69 70 74 73 2e 27 29 20 7b 0a 24 62 69 74 73 y,.0,.8).===.'scripts.').{.$bits
49320 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 6b 65 79 29 3b 0a 24 6c 61 73 74 20 3d 20 61 .=.explode('.',.$key);.$last.=.a
49340 72 72 61 79 5f 70 6f 70 28 24 62 69 74 73 29 3b 0a 24 61 72 72 20 3d 20 26 24 63 6f 6e 66 69 67 rray_pop($bits);.$arr.=.&$config
49360 5b 72 65 73 65 74 28 24 62 69 74 73 29 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 69 74 73 20 61 [reset($bits)];.foreach.($bits.a
49380 73 20 24 62 69 74 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 61 72 72 5b 24 62 69 74 5d 29 s.$bit).{.if.(!isset($arr[$bit])
493a0 29 20 7b 0a 24 61 72 72 5b 24 62 69 74 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 61 72 72 ).{.$arr[$bit].=.array();.}.$arr
493c0 20 3d 20 26 24 61 72 72 5b 24 62 69 74 5d 3b 0a 7d 0a 24 61 72 72 5b 24 6c 61 73 74 5d 20 3d 20 .=.&$arr[$bit];.}.$arr[$last].=.
493e0 24 76 61 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 66 69 67 5b 24 6b 65 79 5d 20 3d 20 24 $val;.}.else.{.$config[$key].=.$
49400 76 61 6c 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e val;.}.});.}.....public.function
49420 20 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 28 24 6e 61 6d 65 29 0a 7b 0a 24 61 75 74 68 43 6f .removeProperty($name).{.$authCo
49440 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d nfig.=.$this->authConfig;.$this-
49460 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 72 65 6d 6f 76 65 50 72 6f 70 65 72 74 79 27 >manipulateJson('removeProperty'
49480 2c 20 24 6e 61 6d 65 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 6b 65 ,.$name,.function.(&$config,.$ke
494a0 79 29 20 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6b 65 79 2c 20 30 2c 20 36 29 20 3d 3d 3d 20 y).{.if.(substr($key,.0,.6).===.
494c0 27 65 78 74 72 61 2e 27 20 7c 7c 20 73 75 62 73 74 72 28 24 6b 65 79 2c 20 30 2c 20 38 29 20 3d 'extra.'.||.substr($key,.0,.8).=
494e0 3d 3d 20 27 73 63 72 69 70 74 73 2e 27 29 20 7b 0a 24 62 69 74 73 20 3d 20 65 78 70 6c 6f 64 65 ==.'scripts.').{.$bits.=.explode
49500 28 27 2e 27 2c 20 24 6b 65 79 29 3b 0a 24 6c 61 73 74 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 ('.',.$key);.$last.=.array_pop($
49520 62 69 74 73 29 3b 0a 24 61 72 72 20 3d 20 26 24 63 6f 6e 66 69 67 5b 72 65 73 65 74 28 24 62 69 bits);.$arr.=.&$config[reset($bi
49540 74 73 29 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 69 74 73 20 61 73 20 24 62 69 74 29 20 7b 0a ts)];.foreach.($bits.as.$bit).{.
49560 69 66 20 28 21 69 73 73 65 74 28 24 61 72 72 5b 24 62 69 74 5d 29 29 20 7b 0a 72 65 74 75 72 6e if.(!isset($arr[$bit])).{.return
49580 3b 0a 7d 0a 24 61 72 72 20 3d 20 26 24 61 72 72 5b 24 62 69 74 5d 3b 0a 7d 0a 75 6e 73 65 74 28 ;.}.$arr.=.&$arr[$bit];.}.unset(
495a0 24 61 72 72 5b 24 6c 61 73 74 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 75 6e 73 65 74 28 24 63 6f $arr[$last]);.}.else.{.unset($co
495c0 6e 66 69 67 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 nfig[$key]);.}.});.}.....public.
495e0 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 6e 61 6d 65 2c 20 24 function.addLink($type,.$name,.$
49600 76 61 6c 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 value).{.$this->manipulateJson('
49620 61 64 64 4c 69 6e 6b 27 2c 20 24 74 79 70 65 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 2c 20 addLink',.$type,.$name,.$value,.
49640 66 75 6e 63 74 69 6f 6e 20 28 26 24 63 6f 6e 66 69 67 2c 20 24 74 79 70 65 2c 20 24 6e 61 6d 65 function.(&$config,.$type,.$name
49660 2c 20 24 76 61 6c 75 65 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 24 74 79 70 65 5d 5b 24 6e 61 6d 65 ,.$value).{.$config[$type][$name
49680 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ].=.$value;.});.}.....public.fun
496a0 63 74 69 6f 6e 20 72 65 6d 6f 76 65 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 6e 61 6d 65 29 0a 7b ction.removeLink($type,.$name).{
496c0 0a 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 27 72 65 6d 6f 76 65 53 75 .$this->manipulateJson('removeSu
496e0 62 4e 6f 64 65 27 2c 20 24 74 79 70 65 2c 20 24 6e 61 6d 65 2c 20 66 75 6e 63 74 69 6f 6e 20 28 bNode',.$type,.$name,.function.(
49700 26 24 63 6f 6e 66 69 67 2c 20 24 74 79 70 65 2c 20 24 6e 61 6d 65 29 20 7b 0a 75 6e 73 65 74 28 &$config,.$type,.$name).{.unset(
49720 24 63 6f 6e 66 69 67 5b 24 74 79 70 65 5d 5b 24 6e 61 6d 65 5d 29 3b 0a 0a 69 66 20 28 30 20 3d $config[$type][$name]);..if.(0.=
49740 3d 3d 20 63 6f 75 6e 74 28 24 63 6f 6e 66 69 67 5b 24 74 79 70 65 5d 29 29 20 7b 0a 75 6e 73 65 ==.count($config[$type])).{.unse
49760 74 28 24 63 6f 6e 66 69 67 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 70 72 6f 74 t($config[$type]);.}.});.}..prot
49780 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6e 69 70 75 6c 61 74 65 4a 73 6f 6e 28 24 6d ected.function.manipulateJson($m
497a0 65 74 68 6f 64 2c 20 24 61 72 67 73 2c 20 24 66 61 6c 6c 62 61 63 6b 29 0a 7b 0a 24 61 72 67 73 ethod,.$args,.$fallback).{.$args
497c0 20 3d 20 66 75 6e 63 5f 67 65 74 5f 61 72 67 73 28 29 3b 0a 0a 20 61 72 72 61 79 5f 73 68 69 66 .=.func_get_args();...array_shif
497e0 74 28 24 61 72 67 73 29 3b 0a 24 66 61 6c 6c 62 61 63 6b 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 t($args);.$fallback.=.array_pop(
49800 24 61 72 67 73 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 65 78 69 73 74 73 $args);..if.($this->file->exists
49820 28 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 24 74 68 69 73 2d 3e 66 69 ()).{.if.(!is_writable($this->fi
49840 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e le->getPath())).{.throw.new.\Run
49860 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 66 69 6c 65 20 timeException(sprintf('The.file.
49880 22 25 73 22 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 2e 27 2c 20 24 74 68 69 73 2d 3e 66 "%s".is.not.writable.',.$this->f
498a0 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 72 65 61 ile->getPath()));.}..if.(!is_rea
498c0 64 61 62 6c 65 28 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 29 20 7b dable($this->file->getPath())).{
498e0 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 .throw.new.\RuntimeException(spr
49900 69 6e 74 66 28 27 54 68 65 20 66 69 6c 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 72 65 61 64 61 intf('The.file."%s".is.not.reada
49920 62 6c 65 2e 27 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 29 3b ble.',.$this->file->getPath()));
49940 0a 7d 0a 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 .}..$contents.=.file_get_content
49960 73 28 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 7d 20 65 6c 73 s($this->file->getPath());.}.els
49980 65 69 66 20 28 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 29 20 7b 0a 24 63 6f 6e 74 65 eif.($this->authConfig).{.$conte
499a0 6e 74 73 20 3d 20 22 7b 5c 6e 7d 5c 6e 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 74 65 6e nts.=."{\n}\n";.}.else.{.$conten
499c0 74 73 20 3d 20 22 7b 5c 6e 20 20 20 20 5c 22 63 6f 6e 66 69 67 5c 22 3a 20 7b 5c 6e 20 20 20 20 ts.=."{\n....\"config\":.{\n....
499e0 7d 5c 6e 7d 5c 6e 22 3b 0a 7d 0a 0a 24 6d 61 6e 69 70 75 6c 61 74 6f 72 20 3d 20 6e 65 77 20 4a }\n}\n";.}..$manipulator.=.new.J
49a00 73 6f 6e 4d 61 6e 69 70 75 6c 61 74 6f 72 28 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 24 6e 65 77 sonManipulator($contents);..$new
49a20 46 69 6c 65 20 3d 20 21 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 3b 0a 0a File.=.!$this->file->exists();..
49a40 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 20 26 26 20 24 6d 65 74 68 ..if.($this->authConfig.&&.$meth
49a60 6f 64 20 3d 3d 3d 20 27 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 27 29 20 7b 0a 24 6d 65 od.===.'addConfigSetting').{.$me
49a80 74 68 6f 64 20 3d 20 27 61 64 64 53 75 62 4e 6f 64 65 27 3b 0a 6c 69 73 74 28 24 6d 61 69 6e 4e thod.=.'addSubNode';.list($mainN
49aa0 6f 64 65 2c 20 24 6e 61 6d 65 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 61 72 67 73 ode,.$name).=.explode('.',.$args
49ac0 5b 30 5d 2c 20 32 29 3b 0a 24 61 72 67 73 20 3d 20 61 72 72 61 79 28 24 6d 61 69 6e 4e 6f 64 65 [0],.2);.$args.=.array($mainNode
49ae0 2c 20 24 6e 61 6d 65 2c 20 24 61 72 67 73 5b 31 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 ,.$name,.$args[1]);.}.elseif.($t
49b00 68 69 73 2d 3e 61 75 74 68 43 6f 6e 66 69 67 20 26 26 20 24 6d 65 74 68 6f 64 20 3d 3d 3d 20 27 his->authConfig.&&.$method.===.'
49b20 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 27 29 20 7b 0a 24 6d 65 74 68 6f 64 20 removeConfigSetting').{.$method.
49b40 3d 20 27 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 27 3b 0a 6c 69 73 74 28 24 6d 61 69 6e 4e 6f 64 =.'removeSubNode';.list($mainNod
49b60 65 2c 20 24 6e 61 6d 65 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 61 72 67 73 5b 30 e,.$name).=.explode('.',.$args[0
49b80 5d 2c 20 32 29 3b 0a 24 61 72 67 73 20 3d 20 61 72 72 61 79 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 ],.2);.$args.=.array($mainNode,.
49ba0 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f $name);.}....if.(call_user_func_
49bc0 61 72 72 61 79 28 61 72 72 61 79 28 24 6d 61 6e 69 70 75 6c 61 74 6f 72 2c 20 24 6d 65 74 68 6f array(array($manipulator,.$metho
49be0 64 29 2c 20 24 61 72 67 73 29 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 d),.$args)).{.file_put_contents(
49c00 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 2c 20 24 6d 61 6e 69 70 75 6c $this->file->getPath(),.$manipul
49c20 61 74 6f 72 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a ator->getContents());.}.else.{..
49c40 20 24 63 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a .$config.=.$this->file->read();.
49c60 24 74 68 69 73 2d 3e 61 72 72 61 79 55 6e 73 68 69 66 74 52 65 66 28 24 61 72 67 73 2c 20 24 63 $this->arrayUnshiftRef($args,.$c
49c80 6f 6e 66 69 67 29 3b 0a 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 24 66 61 onfig);.call_user_func_array($fa
49ca0 6c 6c 62 61 63 6b 2c 20 24 61 72 67 73 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 77 72 69 llback,.$args);.$this->file->wri
49cc0 74 65 28 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 69 66 20 28 24 6e 65 77 46 69 6c 65 29 20 7b 0a te($config);.}..if.($newFile).{.
49ce0 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 63 68 6d 6f 64 27 2c 20 24 74 68 69 73 2d 3e 66 Silencer::call('chmod',.$this->f
49d00 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 2c 20 30 36 30 30 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a ile->getPath(),.0600);.}.}......
49d20 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 72 72 61 79 55 6e 73 68 69 66 74 ...private.function.arrayUnshift
49d40 52 65 66 28 26 24 61 72 72 61 79 2c 20 26 24 76 61 6c 75 65 29 0a 7b 0a 24 72 65 74 75 72 6e 20 Ref(&$array,.&$value).{.$return.
49d60 3d 20 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 61 72 72 61 79 2c 20 27 27 29 3b 0a 24 61 72 =.array_unshift($array,.'');.$ar
49d80 72 61 79 5b 30 5d 20 3d 20 26 24 76 61 6c 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 75 72 ray[0].=.&$value;..return.$retur
49da0 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 n;.}.}.<?php............namespac
49dc0 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 73 6f 6c 65 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 e.Composer\Console;..use.Compose
49de0 72 5c 49 4f 5c 4e 75 6c 6c 49 4f 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 r\IO\NullIO;.use.Composer\Util\P
49e00 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e latform;.use.Composer\Util\Silen
49e20 63 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f cer;.use.Symfony\Component\Conso
49e40 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 20 61 73 20 42 61 73 65 41 70 70 6c 69 63 61 74 69 6f le\Application.as.BaseApplicatio
49e60 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 n;.use.Symfony\Component\Console
49e80 5c 45 78 63 65 70 74 69 6f 6e 5c 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 \Exception\CommandNotFoundExcept
49ea0 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ion;.use.Symfony\Component\Conso
49ec0 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 53 65 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 le\Helper\HelperSet;.use.Symfony
49ee0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 51 75 65 73 74 69 \Component\Console\Helper\Questi
49f00 6f 6e 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c onHelper;.use.Symfony\Component\
49f20 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 Console\Input\InputInterface;.us
49f40 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
49f60 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f t\InputOption;.use.Symfony\Compo
49f80 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 nent\Console\Output\OutputInterf
49fa0 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 43 ace;.use.Composer\Command;.use.C
49fc0 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 omposer\Composer;.use.Composer\F
49fe0 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 actory;.use.Composer\IO\IOInterf
4a000 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 43 6f 6e 73 6f 6c 65 49 4f 3b 0a ace;.use.Composer\IO\ConsoleIO;.
4a020 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e use.Composer\Json\JsonValidation
4a040 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 45 72 72 Exception;.use.Composer\Util\Err
4a060 6f 72 48 61 6e 64 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 orHandler;.use.Composer\EventDis
4a080 70 61 74 63 68 65 72 5c 53 63 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e patcher\ScriptExecutionException
4a0a0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 78 63 65 70 74 69 6f 6e 5c 4e 6f 53 73 6c 45 78 ;.use.Composer\Exception\NoSslEx
4a0c0 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 70 70 6c 69 63 61 74 69 ception;.........class.Applicati
4a0e0 6f 6e 20 65 78 74 65 6e 64 73 20 42 61 73 65 41 70 70 6c 69 63 61 74 69 6f 6e 0a 7b 0a 0a 0a 0a on.extends.BaseApplication.{....
4a100 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 protected.$composer;.....protect
4a120 65 64 20 24 69 6f 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6c 6f 67 6f 20 3d 20 ed.$io;..private.static.$logo.=.
4a140 27 20 20 20 5f 5f 5f 5f 5f 5f 0a 20 20 2f 20 5f 5f 5f 5f 2f 5f 5f 5f 20 20 5f 5f 5f 5f 20 5f 5f '...______.../.____/___..____.__
4a160 5f 20 20 5f 5f 5f 5f 20 20 5f 5f 5f 5f 20 20 5f 5f 5f 5f 5f 5f 5f 5f 20 20 5f 5f 5f 5f 5f 0a 20 _..____..____..________.._____..
4a180 2f 20 2f 20 20 20 2f 20 5f 5f 20 5c 2f 20 5f 5f 20 60 5f 5f 20 5c 2f 20 5f 5f 20 5c 2f 20 5f 5f /./.../.__.\/.__.`__.\/.__.\/.__
4a1a0 20 5c 2f 20 5f 5f 5f 2f 20 5f 20 5c 2f 20 5f 5f 5f 2f 0a 2f 20 2f 5f 5f 5f 2f 20 2f 5f 2f 20 2f .\/.___/._.\/.___/././___/./_/./
4a1c0 20 2f 20 2f 20 2f 20 2f 20 2f 20 2f 5f 2f 20 2f 20 2f 5f 2f 20 28 5f 5f 20 20 29 20 20 5f 5f 2f ././././././_/././_/.(__..)..__/
4a1e0 20 2f 0a 5c 5f 5f 5f 5f 2f 5c 5f 5f 5f 5f 2f 5f 2f 20 2f 5f 2f 20 2f 5f 2f 20 2e 5f 5f 5f 2f 5c ./.\____/\____/_/./_/./_/..___/\
4a200 5f 5f 5f 5f 2f 5f 5f 5f 5f 2f 5c 5f 5f 5f 2f 5f 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ____/____/\___/_/...............
4a220 20 20 20 20 20 20 2f 5f 2f 0a 27 3b 0a 0a 70 72 69 76 61 74 65 20 24 68 61 73 50 6c 75 67 69 6e ....../_/.';..private.$hasPlugin
4a240 43 6f 6d 6d 61 6e 64 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 64 69 73 61 62 Commands.=.false;.private.$disab
4a260 6c 65 50 6c 75 67 69 6e 73 42 79 44 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 0a 70 75 62 lePluginsByDefault.=.false;..pub
4a280 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 73 74 61 lic.function.__construct().{.sta
4a2a0 74 69 63 20 24 73 68 75 74 64 6f 77 6e 52 65 67 69 73 74 65 72 65 64 20 3d 20 66 61 6c 73 65 3b tic.$shutdownRegistered.=.false;
4a2c0 0a 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 69 6e 69 5f 73 65 74 27 29 ..if.(function_exists('ini_set')
4a2e0 20 26 26 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 78 64 65 62 75 67 27 29 29 20 .&&.extension_loaded('xdebug')).
4a300 7b 0a 69 6e 69 5f 73 65 74 28 27 78 64 65 62 75 67 2e 73 68 6f 77 5f 65 78 63 65 70 74 69 6f 6e {.ini_set('xdebug.show_exception
4a320 5f 74 72 61 63 65 27 2c 20 66 61 6c 73 65 29 3b 0a 69 6e 69 5f 73 65 74 28 27 78 64 65 62 75 67 _trace',.false);.ini_set('xdebug
4a340 2e 73 63 72 65 61 6d 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 66 75 6e 63 74 69 6f .scream',.false);.}..if.(functio
4a360 6e 5f 65 78 69 73 74 73 28 27 64 61 74 65 5f 64 65 66 61 75 6c 74 5f 74 69 6d 65 7a 6f 6e 65 5f n_exists('date_default_timezone_
4a380 73 65 74 27 29 20 26 26 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 64 61 74 65 5f 64 set').&&.function_exists('date_d
4a3a0 65 66 61 75 6c 74 5f 74 69 6d 65 7a 6f 6e 65 5f 67 65 74 27 29 29 20 7b 0a 64 61 74 65 5f 64 65 efault_timezone_get')).{.date_de
4a3c0 66 61 75 6c 74 5f 74 69 6d 65 7a 6f 6e 65 5f 73 65 74 28 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c fault_timezone_set(Silencer::cal
4a3e0 6c 28 27 64 61 74 65 5f 64 65 66 61 75 6c 74 5f 74 69 6d 65 7a 6f 6e 65 5f 67 65 74 27 29 29 3b l('date_default_timezone_get'));
4a400 0a 7d 0a 0a 69 66 20 28 21 24 73 68 75 74 64 6f 77 6e 52 65 67 69 73 74 65 72 65 64 29 20 7b 0a .}..if.(!$shutdownRegistered).{.
4a420 24 73 68 75 74 64 6f 77 6e 52 65 67 69 73 74 65 72 65 64 20 3d 20 74 72 75 65 3b 0a 0a 72 65 67 $shutdownRegistered.=.true;..reg
4a440 69 73 74 65 72 5f 73 68 75 74 64 6f 77 6e 5f 66 75 6e 63 74 69 6f 6e 28 66 75 6e 63 74 69 6f 6e ister_shutdown_function(function
4a460 20 28 29 20 7b 0a 24 6c 61 73 74 45 72 72 6f 72 20 3d 20 65 72 72 6f 72 5f 67 65 74 5f 6c 61 73 .().{.$lastError.=.error_get_las
4a480 74 28 29 3b 0a 0a 69 66 20 28 24 6c 61 73 74 45 72 72 6f 72 20 26 26 20 24 6c 61 73 74 45 72 72 t();..if.($lastError.&&.$lastErr
4a4a0 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 20 26 26 0a 28 73 74 72 70 6f 73 28 24 6c 61 73 74 45 72 or['message'].&&.(strpos($lastEr
4a4c0 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 27 41 6c 6c 6f 77 65 64 20 6d 65 6d 6f 72 79 27 ror['message'],.'Allowed.memory'
4a4e0 29 20 21 3d 3d 20 66 61 6c 73 65 20 20 7c 7c 0a 73 74 72 70 6f 73 28 24 6c 61 73 74 45 72 72 6f ).!==.false..||.strpos($lastErro
4a500 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 27 65 78 63 65 65 64 65 64 20 6d 65 6d 6f 72 79 27 29 r['message'],.'exceeded.memory')
4a520 20 21 3d 3d 20 66 61 6c 73 65 20 29 29 20 7b 0a 65 63 68 6f 20 22 5c 6e 22 2e 20 27 43 68 65 63 .!==.false.)).{.echo."\n"..'Chec
4a540 6b 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 k.https://getcomposer.org/doc/ar
4a560 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 23 6d 65 6d 6f 72 79 ticles/troubleshooting.md#memory
4a580 2d 6c 69 6d 69 74 2d 65 72 72 6f 72 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 20 6f 6e 20 68 -limit-errors.for.more.info.on.h
4a5a0 6f 77 20 74 6f 20 68 61 6e 64 6c 65 20 6f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 20 65 72 72 6f 72 ow.to.handle.out.of.memory.error
4a5c0 73 2e 27 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 6e 65 77 20 4e 75 s.';.}.});.}..$this->io.=.new.Nu
4a5e0 6c 6c 49 4f 28 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 27 43 6f llIO();..parent::__construct('Co
4a600 6d 70 6f 73 65 72 27 2c 20 43 6f 6d 70 6f 73 65 72 3a 3a 67 65 74 56 65 72 73 69 6f 6e 28 29 29 mposer',.Composer::getVersion())
4a620 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 49 6e 70 75 ;.}.....public.function.run(Inpu
4a640 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 20 3d 20 6e 75 6c 6c 2c 20 4f 75 74 70 75 74 tInterface.$input.=.null,.Output
4a660 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 Interface.$output.=.null).{.if.(
4a680 6e 75 6c 6c 20 3d 3d 3d 20 24 6f 75 74 70 75 74 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 46 61 null.===.$output).{.$output.=.Fa
4a6a0 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e ctory::createOutput();.}..return
4a6c0 20 70 61 72 65 6e 74 3a 3a 72 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d .parent::run($input,.$output);.}
4a6e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 52 75 6e 28 49 6e 70 75 74 .....public.function.doRun(Input
4a700 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 Interface.$input,.OutputInterfac
4a720 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 e.$output).{.$this->disablePlugi
4a740 6e 73 42 79 44 65 66 61 75 6c 74 20 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 nsByDefault.=.$input->hasParamet
4a760 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 70 6c 75 67 69 6e 73 27 29 3b 0a 0a 69 66 20 28 67 erOption('--no-plugins');..if.(g
4a780 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 4e 4f 5f 49 4e 54 45 52 41 43 54 49 4f 4e 27 29 etenv('COMPOSER_NO_INTERACTION')
4a7a0 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 66 61 6c 73 65 ).{.$input->setInteractive(false
4a7c0 29 3b 0a 7d 0a 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 69 6f 20 3d 20 6e 65 77 20 43 6f 6e 73 );.}..$io.=.$this->io.=.new.Cons
4a7e0 6f 6c 65 49 4f 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 6e 65 77 20 48 65 6c 70 65 oleIO($input,.$output,.new.Helpe
4a800 72 53 65 74 28 61 72 72 61 79 28 0a 6e 65 77 20 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 28 29 rSet(array(.new.QuestionHelper()
4a820 2c 0a 29 29 29 3b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 72 65 67 69 73 74 65 72 28 24 69 ,.)));.ErrorHandler::register($i
4a840 6f 29 3b 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 o);..if.($input->hasParameterOpt
4a860 69 6f 6e 28 27 2d 2d 6e 6f 2d 63 61 63 68 65 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 ion('--no-cache')).{.$io->writeE
4a880 72 72 6f 72 28 27 44 69 73 61 62 6c 69 6e 67 20 63 61 63 68 65 20 75 73 61 67 65 27 2c 20 74 72 rror('Disabling.cache.usage',.tr
4a8a0 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 70 75 74 65 6e 76 28 ue,.IOInterface::DEBUG);.putenv(
4a8c0 27 43 4f 4d 50 4f 53 45 52 5f 43 41 43 48 45 5f 44 49 52 3d 27 2e 28 50 6c 61 74 66 6f 72 6d 3a 'COMPOSER_CACHE_DIR='.(Platform:
4a8e0 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 3f 20 27 6e 75 6c 27 20 3a 20 27 2f 64 65 76 2f 6e 75 6c :isWindows().?.'nul'.:.'/dev/nul
4a900 6c 27 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6e 65 77 57 6f 72 6b 44 69 72 20 3d 20 24 74 68 l'));.}....if.($newWorkDir.=.$th
4a920 69 73 2d 3e 67 65 74 4e 65 77 57 6f 72 6b 69 6e 67 44 69 72 28 24 69 6e 70 75 74 29 29 20 7b 0a is->getNewWorkingDir($input)).{.
4a940 24 6f 6c 64 57 6f 72 6b 69 6e 67 44 69 72 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 63 68 64 69 72 $oldWorkingDir.=.getcwd();.chdir
4a960 28 24 6e 65 77 57 6f 72 6b 44 69 72 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 ($newWorkDir);.$io->writeError('
4a980 43 68 61 6e 67 65 64 20 43 57 44 20 74 6f 20 27 20 2e 20 67 65 74 63 77 64 28 29 2c 20 74 72 75 Changed.CWD.to.'...getcwd(),.tru
4a9a0 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 7d 0a 0a 0a 20 24 63 6f e,.IOInterface::DEBUG);.}....$co
4a9c0 6d 6d 61 6e 64 4e 61 6d 65 20 3d 20 27 27 3b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 20 24 74 68 69 mmandName.=.'';.if.($name.=.$thi
4a9e0 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 24 69 6e 70 75 74 29 29 20 7b 0a 74 72 79 s->getCommandName($input)).{.try
4aa00 20 7b 0a 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 28 24 6e .{.$commandName.=.$this->find($n
4aa20 61 6d 65 29 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 43 6f 6d 6d 61 6e ame)->getName();.}.catch.(Comman
4aa40 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 24 63 6f 6d 6d dNotFoundException.$e).{...$comm
4aa60 61 6e 64 4e 61 6d 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e 76 61 6c andName.=.false;.}.catch.(\Inval
4aa80 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 0a idArgumentException.$e).{.}.}...
4aaa0 20 69 66 20 28 24 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 26 26 20 21 24 6e .if.($io->isInteractive().&&.!$n
4aac0 65 77 57 6f 72 6b 44 69 72 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 63 6f 6d 6d 61 6e 64 4e ewWorkDir.&&.!in_array($commandN
4aae0 61 6d 65 2c 20 61 72 72 61 79 28 27 27 2c 20 27 6c 69 73 74 27 2c 20 27 69 6e 69 74 27 2c 20 27 ame,.array('',.'list',.'init',.'
4ab00 61 62 6f 75 74 27 2c 20 27 68 65 6c 70 27 2c 20 27 64 69 61 67 6e 6f 73 65 27 2c 20 27 73 65 6c about',.'help',.'diagnose',.'sel
4ab20 66 2d 75 70 64 61 74 65 27 2c 20 27 67 6c 6f 62 61 6c 27 2c 20 27 63 72 65 61 74 65 2d 70 72 6f f-update',.'global',.'create-pro
4ab40 6a 65 63 74 27 29 2c 20 74 72 75 65 29 20 26 26 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 46 61 ject'),.true).&&.!file_exists(Fa
4ab60 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 29 29 20 7b 0a 24 64 69 ctory::getComposerFile())).{.$di
4ab80 72 20 3d 20 64 69 72 6e 61 6d 65 28 67 65 74 63 77 64 28 29 29 3b 0a 24 68 6f 6d 65 20 3d 20 72 r.=.dirname(getcwd());.$home.=.r
4aba0 65 61 6c 70 61 74 68 28 67 65 74 65 6e 76 28 27 48 4f 4d 45 27 29 20 3f 3a 20 67 65 74 65 6e 76 ealpath(getenv('HOME').?:.getenv
4abc0 28 27 55 53 45 52 50 52 4f 46 49 4c 45 27 29 20 3f 3a 20 27 2f 27 29 3b 0a 0a 0a 20 77 68 69 6c ('USERPROFILE').?:.'/');....whil
4abe0 65 20 28 64 69 72 6e 61 6d 65 28 24 64 69 72 29 20 21 3d 3d 20 24 64 69 72 20 26 26 20 24 64 69 e.(dirname($dir).!==.$dir.&&.$di
4ac00 72 20 21 3d 3d 20 24 68 6f 6d 65 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 r.!==.$home).{.if.(file_exists($
4ac20 64 69 72 2e 27 2f 27 2e 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 dir.'/'.Factory::getComposerFile
4ac40 28 29 29 29 20 7b 0a 69 66 20 28 24 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 ())).{.if.($io->askConfirmation(
4ac60 27 3c 69 6e 66 6f 3e 4e 6f 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 69 6e 20 63 75 72 72 65 '<info>No.composer.json.in.curre
4ac80 6e 74 20 64 69 72 65 63 74 6f 72 79 2c 20 64 6f 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 nt.directory,.do.you.want.to.use
4aca0 20 74 68 65 20 6f 6e 65 20 61 74 20 27 2e 24 64 69 72 2e 27 3f 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 .the.one.at.'.$dir.'?</info>.[<c
4acc0 6f 6d 6d 65 6e 74 3e 59 2c 6e 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 20 74 72 75 65 29 29 omment>Y,n</comment>]?.',.true))
4ace0 20 7b 0a 24 6f 6c 64 57 6f 72 6b 69 6e 67 44 69 72 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 63 68 .{.$oldWorkingDir.=.getcwd();.ch
4ad00 64 69 72 28 24 64 69 72 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 24 64 69 72 20 3d 20 64 69 72 dir($dir);.}.break;.}.$dir.=.dir
4ad20 6e 61 6d 65 28 24 64 69 72 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 69 73 name($dir);.}.}..if.(!$this->dis
4ad40 61 62 6c 65 50 6c 75 67 69 6e 73 42 79 44 65 66 61 75 6c 74 20 26 26 20 21 24 74 68 69 73 2d 3e ablePluginsByDefault.&&.!$this->
4ad60 68 61 73 50 6c 75 67 69 6e 43 6f 6d 6d 61 6e 64 73 20 26 26 20 27 67 6c 6f 62 61 6c 27 20 21 3d hasPluginCommands.&&.'global'.!=
4ad80 3d 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 29 20 7b 0a 74 72 79 20 7b 0a 66 6f 72 65 61 63 68 20 =.$commandName).{.try.{.foreach.
4ada0 28 24 74 68 69 73 2d 3e 67 65 74 50 6c 75 67 69 6e 43 6f 6d 6d 61 6e 64 73 28 29 20 61 73 20 24 ($this->getPluginCommands().as.$
4adc0 63 6f 6d 6d 61 6e 64 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 28 24 63 6f 6d 6d 61 command).{.if.($this->has($comma
4ade0 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f nd->getName())).{.$io->writeErro
4ae00 72 28 27 3c 77 61 72 6e 69 6e 67 3e 50 6c 75 67 69 6e 20 63 6f 6d 6d 61 6e 64 20 27 2e 24 63 6f r('<warning>Plugin.command.'.$co
4ae20 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 28 27 2e 67 65 74 5f 63 6c 61 73 73 28 mmand->getName().'.('.get_class(
4ae40 24 63 6f 6d 6d 61 6e 64 29 2e 27 29 20 77 6f 75 6c 64 20 6f 76 65 72 72 69 64 65 20 61 20 43 6f $command).').would.override.a.Co
4ae60 6d 70 6f 73 65 72 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20 68 61 73 20 62 65 65 6e 20 73 6b 69 70 mposer.command.and.has.been.skip
4ae80 70 65 64 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d ped</warning>');.}.else.{.$this-
4aea0 3e 61 64 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 7d 0a 7d 20 63 61 74 63 68 20 28 4e 6f 53 >add($command);.}.}.}.catch.(NoS
4aec0 73 6c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 7d 0a 0a 24 74 68 69 73 2d 3e 68 61 slException.$e).{...}..$this->ha
4aee0 73 50 6c 75 67 69 6e 43 6f 6d 6d 61 6e 64 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 69 73 sPluginCommands.=.true;.}....$is
4af00 50 72 6f 78 79 43 6f 6d 6d 61 6e 64 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 6e 61 6d 65 20 ProxyCommand.=.false;.if.($name.
4af20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 24 69 6e 70 75 74 29 29 =.$this->getCommandName($input))
4af40 20 7b 0a 74 72 79 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 28 .{.try.{.$command.=.$this->find(
4af60 24 6e 61 6d 65 29 3b 0a 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d $name);.$commandName.=.$command-
4af80 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 69 73 50 72 6f 78 79 43 6f 6d 6d 61 6e 64 20 3d 20 28 24 >getName();.$isProxyCommand.=.($
4afa0 63 6f 6d 6d 61 6e 64 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 6d 61 6e 64 5c 42 61 73 65 43 command.instanceof.Command\BaseC
4afc0 6f 6d 6d 61 6e 64 20 26 26 20 24 63 6f 6d 6d 61 6e 64 2d 3e 69 73 50 72 6f 78 79 43 6f 6d 6d 61 ommand.&&.$command->isProxyComma
4afe0 6e 64 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 nd());.}.catch.(\InvalidArgument
4b000 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 69 73 50 72 6f Exception.$e).{.}.}..if.(!$isPro
4b020 78 79 43 6f 6d 6d 61 6e 64 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 xyCommand).{.$io->writeError(spr
4b040 69 6e 74 66 28 0a 27 52 75 6e 6e 69 6e 67 20 25 73 20 28 25 73 29 20 77 69 74 68 20 25 73 20 6f intf(.'Running.%s.(%s).with.%s.o
4b060 6e 20 25 73 27 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 0a 43 n.%s',.Composer::getVersion(),.C
4b080 6f 6d 70 6f 73 65 72 3a 3a 52 45 4c 45 41 53 45 5f 44 41 54 45 2c 0a 64 65 66 69 6e 65 64 28 27 omposer::RELEASE_DATE,.defined('
4b0a0 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 3f 20 27 48 48 56 4d 20 27 2e 48 48 56 4d 5f 56 45 HHVM_VERSION').?.'HHVM.'.HHVM_VE
4b0c0 52 53 49 4f 4e 20 3a 20 27 50 48 50 20 27 2e 50 48 50 5f 56 45 52 53 49 4f 4e 2c 0a 66 75 6e 63 RSION.:.'PHP.'.PHP_VERSION,.func
4b0e0 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 68 70 5f 75 6e 61 6d 65 27 29 20 3f 20 70 68 70 5f 75 tion_exists('php_uname').?.php_u
4b100 6e 61 6d 65 28 27 73 27 29 20 2e 20 27 20 2f 20 27 20 2e 20 70 68 70 5f 75 6e 61 6d 65 28 27 72 name('s')...'./.'...php_uname('r
4b120 27 29 20 3a 20 27 55 6e 6b 6e 6f 77 6e 20 4f 53 27 0a 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 ').:.'Unknown.OS'.),.true,.IOInt
4b140 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e erface::DEBUG);..if.(PHP_VERSION
4b160 5f 49 44 20 3c 20 35 30 33 30 32 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 _ID.<.50302).{.$io->writeError('
4b180 3c 77 61 72 6e 69 6e 67 3e 43 6f 6d 70 6f 73 65 72 20 6f 6e 6c 79 20 6f 66 66 69 63 69 61 6c 6c <warning>Composer.only.officiall
4b1a0 79 20 73 75 70 70 6f 72 74 73 20 50 48 50 20 35 2e 33 2e 32 20 61 6e 64 20 61 62 6f 76 65 2c 20 y.supports.PHP.5.3.2.and.above,.
4b1c0 79 6f 75 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 65 6e 63 6f 75 6e 74 65 72 20 70 you.will.most.likely.encounter.p
4b1e0 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 79 6f 75 72 20 50 48 50 20 27 2e 50 48 50 5f 56 45 52 53 roblems.with.your.PHP.'.PHP_VERS
4b200 49 4f 4e 2e 27 2c 20 75 70 67 72 61 64 69 6e 67 20 69 73 20 73 74 72 6f 6e 67 6c 79 20 72 65 63 ION.',.upgrading.is.strongly.rec
4b220 6f 6d 6d 65 6e 64 65 64 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 65 78 ommended.</warning>');.}..if.(ex
4b240 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 78 64 65 62 75 67 27 29 20 26 26 20 21 67 65 74 tension_loaded('xdebug').&&.!get
4b260 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 44 49 53 41 42 4c 45 5f 58 44 45 42 55 47 5f 57 41 52 env('COMPOSER_DISABLE_XDEBUG_WAR
4b280 4e 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 N')).{.$io->writeError('<warning
4b2a0 3e 59 6f 75 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 63 6f 6d 70 6f 73 65 72 20 77 69 74 68 20 78 >You.are.running.composer.with.x
4b2c0 64 65 62 75 67 20 65 6e 61 62 6c 65 64 2e 20 54 68 69 73 20 68 61 73 20 61 20 6d 61 6a 6f 72 20 debug.enabled..This.has.a.major.
4b2e0 69 6d 70 61 63 74 20 6f 6e 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 20 53 impact.on.runtime.performance..S
4b300 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 78 64 65 62 75 ee.https://getcomposer.org/xdebu
4b320 67 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 43 g</warning>');.}..if.(defined('C
4b340 4f 4d 50 4f 53 45 52 5f 44 45 56 5f 57 41 52 4e 49 4e 47 5f 54 49 4d 45 27 29 20 26 26 20 24 63 OMPOSER_DEV_WARNING_TIME').&&.$c
4b360 6f 6d 6d 61 6e 64 4e 61 6d 65 20 21 3d 3d 20 27 73 65 6c 66 2d 75 70 64 61 74 65 27 20 26 26 20 ommandName.!==.'self-update'.&&.
4b380 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 21 3d 3d 20 27 73 65 6c 66 75 70 64 61 74 65 27 20 26 26 $commandName.!==.'selfupdate'.&&
4b3a0 20 74 69 6d 65 28 29 20 3e 20 43 4f 4d 50 4f 53 45 52 5f 44 45 56 5f 57 41 52 4e 49 4e 47 5f 54 .time().>.COMPOSER_DEV_WARNING_T
4b3c0 49 4d 45 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 IME).{.$io->writeError(sprintf('
4b3e0 3c 77 61 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 54 68 69 73 20 64 65 76 65 6c 6f 70 6d 65 <warning>Warning:.This.developme
4b400 6e 74 20 62 75 69 6c 64 20 6f 66 20 63 6f 6d 70 6f 73 65 72 20 69 73 20 6f 76 65 72 20 36 30 20 nt.build.of.composer.is.over.60.
4b420 64 61 79 73 20 6f 6c 64 2e 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 days.old..It.is.recommended.to.u
4b440 70 64 61 74 65 20 69 74 20 62 79 20 72 75 6e 6e 69 6e 67 20 22 25 73 20 73 65 6c 66 2d 75 70 64 pdate.it.by.running."%s.self-upd
4b460 61 74 65 22 20 74 6f 20 67 65 74 20 74 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 2e 3c ate".to.get.the.latest.version.<
4b480 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 24 5f 53 45 52 56 45 52 5b 27 50 48 50 5f 53 45 4c 46 27 5d /warning>',.$_SERVER['PHP_SELF']
4b4a0 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 ));.}..if.(!Platform::isWindows(
4b4c0 29 20 26 26 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 65 78 65 63 27 29 20 26 26 20 ).&&.function_exists('exec').&&.
4b4e0 21 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 41 4c 4c 4f 57 5f 53 55 50 45 52 55 53 45 !getenv('COMPOSER_ALLOW_SUPERUSE
4b500 52 27 29 20 26 26 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 27 2f 2e 64 6f 63 6b 65 72 65 6e 76 R').&&.!file_exists('/.dockerenv
4b520 27 29 29 20 7b 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 ')).{.if.(function_exists('posix
4b540 5f 67 65 74 75 69 64 27 29 20 26 26 20 70 6f 73 69 78 5f 67 65 74 75 69 64 28 29 20 3d 3d 3d 20 _getuid').&&.posix_getuid().===.
4b560 30 29 20 7b 0a 69 66 20 28 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 21 3d 3d 20 27 73 65 6c 66 2d 0).{.if.($commandName.!==.'self-
4b580 75 70 64 61 74 65 27 20 26 26 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 21 3d 3d 20 27 73 65 6c update'.&&.$commandName.!==.'sel
4b5a0 66 75 70 64 61 74 65 27 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 fupdate').{.$io->writeError('<wa
4b5c0 72 6e 69 6e 67 3e 44 6f 20 6e 6f 74 20 72 75 6e 20 43 6f 6d 70 6f 73 65 72 20 61 73 20 72 6f 6f rning>Do.not.run.Composer.as.roo
4b5e0 74 2f 73 75 70 65 72 20 75 73 65 72 21 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d t/super.user!.See.https://getcom
4b600 70 6f 73 65 72 2e 6f 72 67 2f 72 6f 6f 74 20 66 6f 72 20 64 65 74 61 69 6c 73 3c 2f 77 61 72 6e poser.org/root.for.details</warn
4b620 69 6e 67 3e 27 29 3b 0a 7d 0a 69 66 20 28 24 75 69 64 20 3d 20 28 69 6e 74 29 20 67 65 74 65 6e ing>');.}.if.($uid.=.(int).geten
4b640 76 28 27 53 55 44 4f 5f 55 49 44 27 29 29 20 7b 0a 0a 20 0a 20 53 69 6c 65 6e 63 65 72 3a 3a 63 v('SUDO_UID')).{.....Silencer::c
4b660 61 6c 6c 28 27 65 78 65 63 27 2c 20 22 73 75 64 6f 20 2d 75 20 5c 5c 23 7b 24 75 69 64 7d 20 73 all('exec',."sudo.-u.\\#{$uid}.s
4b680 75 64 6f 20 2d 4b 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 22 29 3b 0a 7d 0a 7d 0a 0a udo.-K.>./dev/null.2>&1");.}.}..
4b6a0 20 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 65 78 65 63 27 2c 20 27 73 75 64 6f 20 2d 4b .Silencer::call('exec',.'sudo.-K
4b6c0 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 27 29 3b 0a 7d 0a 0a 0a 20 53 69 6c 65 6e 63 .>./dev/null.2>&1');.}....Silenc
4b6e0 65 72 3a 3a 63 61 6c 6c 28 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 69 6f 29 20 7b er::call(function.().use.($io).{
4b700 0a 24 74 65 6d 70 66 69 6c 65 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 20 .$tempfile.=.sys_get_temp_dir().
4b720 2e 20 27 2f 74 65 6d 70 2d 27 20 2e 20 6d 64 35 28 6d 69 63 72 6f 74 69 6d 65 28 29 29 3b 0a 69 ..'/temp-'...md5(microtime());.i
4b740 66 20 28 21 28 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 65 6d 70 66 69 6c 65 f.(!(file_put_contents($tempfile
4b760 2c 20 5f 5f 46 49 4c 45 5f 5f 29 20 26 26 20 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 ,.__FILE__).&&.(file_get_content
4b780 73 28 24 74 65 6d 70 66 69 6c 65 29 20 3d 3d 20 5f 5f 46 49 4c 45 5f 5f 29 20 26 26 20 75 6e 6c s($tempfile).==.__FILE__).&&.unl
4b7a0 69 6e 6b 28 24 74 65 6d 70 66 69 6c 65 29 20 26 26 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 ink($tempfile).&&.!file_exists($
4b7c0 74 65 6d 70 66 69 6c 65 29 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 tempfile))).{.$io->writeError(sp
4b7e0 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 50 48 50 20 74 65 6d 70 20 64 69 72 65 63 74 6f 72 79 rintf('<error>PHP.temp.directory
4b800 20 28 25 73 29 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 6f 72 20 69 73 20 6e 6f 74 20 77 .(%s).does.not.exist.or.is.not.w
4b820 72 69 74 61 62 6c 65 20 74 6f 20 43 6f 6d 70 6f 73 65 72 2e 20 53 65 74 20 73 79 73 5f 74 65 6d ritable.to.Composer..Set.sys_tem
4b840 70 5f 64 69 72 20 69 6e 20 79 6f 75 72 20 70 68 70 2e 69 6e 69 3c 2f 65 72 72 6f 72 3e 27 2c 20 p_dir.in.your.php.ini</error>',.
4b860 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 29 29 3b 0a 7d 0a 7d 29 3b 0a 0a 0a 20 24 sys_get_temp_dir()));.}.});....$
4b880 66 69 6c 65 20 3d 20 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 file.=.Factory::getComposerFile(
4b8a0 29 3b 0a 69 66 20 28 69 73 5f 66 69 6c 65 28 24 66 69 6c 65 29 20 26 26 20 69 73 5f 72 65 61 64 );.if.(is_file($file).&&.is_read
4b8c0 61 62 6c 65 28 24 66 69 6c 65 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6d 70 6f 73 65 able($file).&&.is_array($compose
4b8e0 72 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 r.=.json_decode(file_get_content
4b900 73 28 24 66 69 6c 65 29 2c 20 74 72 75 65 29 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 63 s($file),.true))).{.if.(isset($c
4b920 6f 6d 70 6f 73 65 72 5b 27 73 63 72 69 70 74 73 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 omposer['scripts']).&&.is_array(
4b940 24 63 6f 6d 70 6f 73 65 72 5b 27 73 63 72 69 70 74 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 $composer['scripts'])).{.foreach
4b960 20 28 24 63 6f 6d 70 6f 73 65 72 5b 27 73 63 72 69 70 74 73 27 5d 20 61 73 20 24 73 63 72 69 70 .($composer['scripts'].as.$scrip
4b980 74 20 3d 3e 20 24 64 75 6d 6d 79 29 20 7b 0a 69 66 20 28 21 64 65 66 69 6e 65 64 28 27 43 6f 6d t.=>.$dummy).{.if.(!defined('Com
4b9a0 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 27 2e 73 74 72 poser\Script\ScriptEvents::'.str
4b9c0 5f 72 65 70 6c 61 63 65 28 27 2d 27 2c 20 27 5f 27 2c 20 73 74 72 74 6f 75 70 70 65 72 28 24 73 _replace('-',.'_',.strtoupper($s
4b9e0 63 72 69 70 74 29 29 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 28 24 73 63 72 69 cript)))).{.if.($this->has($scri
4ba00 70 74 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 pt)).{.$io->writeError('<warning
4ba20 3e 41 20 73 63 72 69 70 74 20 6e 61 6d 65 64 20 27 2e 24 73 63 72 69 70 74 2e 27 20 77 6f 75 6c >A.script.named.'.$script.'.woul
4ba40 64 20 6f 76 65 72 72 69 64 65 20 61 20 43 6f 6d 70 6f 73 65 72 20 63 6f 6d 6d 61 6e 64 20 61 6e d.override.a.Composer.command.an
4ba60 64 20 68 61 73 20 62 65 65 6e 20 73 6b 69 70 70 65 64 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a d.has.been.skipped</warning>');.
4ba80 7d 20 65 6c 73 65 20 7b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 0a 69 }.else.{.$description.=.null;..i
4baa0 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 27 73 63 72 69 70 74 73 2d 64 65 73 63 f.(isset($composer['scripts-desc
4bac0 72 69 70 74 69 6f 6e 73 27 5d 5b 24 73 63 72 69 70 74 5d 29 29 20 7b 0a 24 64 65 73 63 72 69 70 riptions'][$script])).{.$descrip
4bae0 74 69 6f 6e 20 3d 20 24 63 6f 6d 70 6f 73 65 72 5b 27 73 63 72 69 70 74 73 2d 64 65 73 63 72 69 tion.=.$composer['scripts-descri
4bb00 70 74 69 6f 6e 73 27 5d 5b 24 73 63 72 69 70 74 5d 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 ptions'][$script];.}..$this->add
4bb20 28 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 63 72 69 70 74 41 6c 69 61 73 43 6f 6d 6d 61 6e 64 28 (new.Command\ScriptAliasCommand(
4bb40 24 73 63 72 69 70 74 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 29 29 3b 0a 7d 0a 7d 0a 7d 0a 7d $script,.$description));.}.}.}.}
4bb60 0a 7d 0a 7d 0a 0a 74 72 79 20 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d .}.}..try.{.if.($input->hasParam
4bb80 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 70 72 6f 66 69 6c 65 27 29 29 20 7b 0a 24 73 74 61 72 eterOption('--profile')).{.$star
4bba0 74 54 69 6d 65 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e tTime.=.microtime(true);.$this->
4bbc0 69 6f 2d 3e 65 6e 61 62 6c 65 44 65 62 75 67 67 69 6e 67 28 24 73 74 61 72 74 54 69 6d 65 29 3b io->enableDebugging($startTime);
4bbe0 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 3d 20 70 61 72 65 6e 74 3a 3a 64 6f 52 75 6e 28 24 69 6e 70 .}..$result.=.parent::doRun($inp
4bc00 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 6c 64 57 6f 72 ut,.$output);..if.(isset($oldWor
4bc20 6b 69 6e 67 44 69 72 29 29 20 7b 0a 63 68 64 69 72 28 24 6f 6c 64 57 6f 72 6b 69 6e 67 44 69 72 kingDir)).{.chdir($oldWorkingDir
4bc40 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 74 61 72 74 54 69 6d 65 29 29 20 7b 0a 24 );.}..if.(isset($startTime)).{.$
4bc60 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 4d 65 6d 6f 72 79 20 75 73 61 io->writeError('<info>Memory.usa
4bc80 67 65 3a 20 27 2e 72 6f 75 6e 64 28 6d 65 6d 6f 72 79 5f 67 65 74 5f 75 73 61 67 65 28 29 20 2f ge:.'.round(memory_get_usage()./
4bca0 20 31 30 32 34 20 2f 20 31 30 32 34 2c 20 32 29 2e 27 4d 69 42 20 28 70 65 61 6b 3a 20 27 2e 72 .1024./.1024,.2).'MiB.(peak:.'.r
4bcc0 6f 75 6e 64 28 6d 65 6d 6f 72 79 5f 67 65 74 5f 70 65 61 6b 5f 75 73 61 67 65 28 29 20 2f 20 31 ound(memory_get_peak_usage()./.1
4bce0 30 32 34 20 2f 20 31 30 32 34 2c 20 32 29 2e 27 4d 69 42 29 2c 20 74 69 6d 65 3a 20 27 2e 72 6f 024./.1024,.2).'MiB),.time:.'.ro
4bd00 75 6e 64 28 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 73 74 61 72 74 54 69 6d 65 und(microtime(true).-.$startTime
4bd20 2c 20 32 29 2e 27 73 27 29 3b 0a 7d 0a 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 ,.2).'s');.}..restore_error_hand
4bd40 6c 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 20 63 61 74 63 68 20 ler();..return.$result;.}.catch.
4bd60 28 53 63 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a (ScriptExecutionException.$e).{.
4bd80 72 65 74 75 72 6e 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c return.$e->getCode();.}.catch.(\
4bda0 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 68 69 6e 74 43 6f 6d 6d 6f Exception.$e).{.$this->hintCommo
4bdc0 6e 45 72 72 6f 72 73 28 24 65 29 3b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c nErrors($e);.restore_error_handl
4bde0 65 72 28 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 er();.throw.$e;.}.}.......privat
4be00 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 65 77 57 6f 72 6b 69 6e 67 44 69 72 28 49 6e 70 75 e.function.getNewWorkingDir(Inpu
4be20 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 29 0a 7b 0a 24 77 6f 72 6b 69 6e 67 44 69 72 tInterface.$input).{.$workingDir
4be40 20 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 .=.$input->getParameterOption(ar
4be60 72 61 79 28 27 2d 2d 77 6f 72 6b 69 6e 67 2d 64 69 72 27 2c 20 27 2d 64 27 29 29 3b 0a 69 66 20 ray('--working-dir',.'-d'));.if.
4be80 28 66 61 6c 73 65 20 21 3d 3d 20 24 77 6f 72 6b 69 6e 67 44 69 72 20 26 26 20 21 69 73 5f 64 69 (false.!==.$workingDir.&&.!is_di
4bea0 72 28 24 77 6f 72 6b 69 6e 67 44 69 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e r($workingDir)).{.throw.new.\Run
4bec0 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 77 6f 72 6b 69 6e 67 20 64 timeException('Invalid.working.d
4bee0 69 72 65 63 74 6f 72 79 20 73 70 65 63 69 66 69 65 64 2c 20 27 2e 24 77 6f 72 6b 69 6e 67 44 69 irectory.specified,.'.$workingDi
4bf00 72 2e 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e r.'.does.not.exist.');.}..return
4bf20 20 24 77 6f 72 6b 69 6e 67 44 69 72 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 .$workingDir;.}.....private.func
4bf40 74 69 6f 6e 20 68 69 6e 74 43 6f 6d 6d 6f 6e 45 72 72 6f 72 73 28 24 65 78 63 65 70 74 69 6f 6e tion.hintCommonErrors($exception
4bf60 29 0a 7b 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 3b 0a 0a 53 69 6c 65 6e ).{.$io.=.$this->getIO();..Silen
4bf80 63 65 72 3a 3a 73 75 70 70 72 65 73 73 28 29 3b 0a 74 72 79 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 cer::suppress();.try.{.$composer
4bfa0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 2c 20 74 72 75 .=.$this->getComposer(false,.tru
4bfc0 65 29 3b 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 24 e);.if.($composer).{.$config.=.$
4bfe0 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 0a 24 6d 69 6e 53 70 61 63 composer->getConfig();..$minSpac
4c000 65 46 72 65 65 20 3d 20 31 30 32 34 20 2a 20 31 30 32 34 3b 0a 69 66 20 28 28 28 24 64 66 20 3d eFree.=.1024.*.1024;.if.((($df.=
4c020 20 64 69 73 6b 5f 66 72 65 65 5f 73 70 61 63 65 28 24 64 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d .disk_free_space($dir.=.$config-
4c040 3e 67 65 74 28 27 68 6f 6d 65 27 29 29 29 20 21 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 66 20 >get('home'))).!==.false.&&.$df.
4c060 3c 20 24 6d 69 6e 53 70 61 63 65 46 72 65 65 29 0a 7c 7c 20 28 28 24 64 66 20 3d 20 64 69 73 6b <.$minSpaceFree).||.(($df.=.disk
4c080 5f 66 72 65 65 5f 73 70 61 63 65 28 24 64 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 _free_space($dir.=.$config->get(
4c0a0 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 29 29 20 21 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 66 'vendor-dir'))).!==.false.&&.$df
4c0c0 20 3c 20 24 6d 69 6e 53 70 61 63 65 46 72 65 65 29 0a 7c 7c 20 28 28 24 64 66 20 3d 20 64 69 73 .<.$minSpaceFree).||.(($df.=.dis
4c0e0 6b 5f 66 72 65 65 5f 73 70 61 63 65 28 24 64 69 72 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 k_free_space($dir.=.sys_get_temp
4c100 5f 64 69 72 28 29 29 29 20 21 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 64 66 20 3c 20 24 6d 69 6e _dir())).!==.false.&&.$df.<.$min
4c120 53 70 61 63 65 46 72 65 65 29 0a 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 SpaceFree).).{.$io->writeError('
4c140 3c 65 72 72 6f 72 3e 54 68 65 20 64 69 73 6b 20 68 6f 73 74 69 6e 67 20 27 2e 24 64 69 72 2e 27 <error>The.disk.hosting.'.$dir.'
4c160 20 69 73 20 66 75 6c 6c 2c 20 74 68 69 73 20 6d 61 79 20 62 65 20 74 68 65 20 63 61 75 73 65 20 .is.full,.this.may.be.the.cause.
4c180 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 3c 2f 65 72 72 6f of.the.following.exception</erro
4c1a0 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a r>',.true,.IOInterface::QUIET);.
4c1c0 7d 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a }.}.}.catch.(\Exception.$e).{.}.
4c1e0 53 69 6c 65 6e 63 65 72 3a 3a 72 65 73 74 6f 72 65 28 29 3b 0a 0a 69 66 20 28 50 6c 61 74 66 6f Silencer::restore();..if.(Platfo
4c200 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 rm::isWindows().&&.false.!==.str
4c220 70 6f 73 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 54 pos($exception->getMessage(),.'T
4c240 68 65 20 73 79 73 74 65 6d 20 63 61 6e 6e 6f 74 20 66 69 6e 64 20 74 68 65 20 70 61 74 68 20 73 he.system.cannot.find.the.path.s
4c260 70 65 63 69 66 69 65 64 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c pecified')).{.$io->writeError('<
4c280 65 72 72 6f 72 3e 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f 6e 20 6d 61 error>The.following.exception.ma
4c2a0 79 20 62 65 20 63 61 75 73 65 64 20 62 79 20 61 20 73 74 61 6c 65 20 65 6e 74 72 79 20 69 6e 20 y.be.caused.by.a.stale.entry.in.
4c2c0 79 6f 75 72 20 63 6d 64 2e 65 78 65 20 41 75 74 6f 52 75 6e 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 your.cmd.exe.AutoRun</error>',.t
4c2e0 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 24 69 6f 2d 3e 77 rue,.IOInterface::QUIET);.$io->w
4c300 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 43 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f riteError('<error>Check.https://
4c320 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f getcomposer.org/doc/articles/tro
4c340 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 23 2d 74 68 65 2d 73 79 73 74 65 6d 2d 63 61 6e 6e ubleshooting.md#-the-system-cann
4c360 6f 74 2d 66 69 6e 64 2d 74 68 65 2d 70 61 74 68 2d 73 70 65 63 69 66 69 65 64 2d 77 69 6e 64 6f ot-find-the-path-specified-windo
4c380 77 73 2d 20 66 6f 72 20 64 65 74 61 69 6c 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 ws-.for.details</error>',.true,.
4c3a0 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 IOInterface::QUIET);.}..if.(fals
4c3c0 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 e.!==.strpos($exception->getMess
4c3e0 61 67 65 28 29 2c 20 27 66 6f 72 6b 20 66 61 69 6c 65 64 20 2d 20 43 61 6e 6e 6f 74 20 61 6c 6c age(),.'fork.failed.-.Cannot.all
4c400 6f 63 61 74 65 20 6d 65 6d 6f 72 79 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f ocate.memory')).{.$io->writeErro
4c420 72 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 63 65 70 74 69 6f r('<error>The.following.exceptio
4c440 6e 20 69 73 20 63 61 75 73 65 64 20 62 79 20 61 20 6c 61 63 6b 20 6f 66 20 6d 65 6d 6f 72 79 20 n.is.caused.by.a.lack.of.memory.
4c460 6f 72 20 73 77 61 70 2c 20 6f 72 20 6e 6f 74 20 68 61 76 69 6e 67 20 73 77 61 70 20 63 6f 6e 66 or.swap,.or.not.having.swap.conf
4c480 69 67 75 72 65 64 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 igured</error>',.true,.IOInterfa
4c4a0 63 65 3a 3a 51 55 49 45 54 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 ce::QUIET);.$io->writeError('<er
4c4c0 72 6f 72 3e 43 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 ror>Check.https://getcomposer.or
4c4e0 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d g/doc/articles/troubleshooting.m
4c500 64 23 70 72 6f 63 2d 6f 70 65 6e 2d 66 6f 72 6b 2d 66 61 69 6c 65 64 2d 65 72 72 6f 72 73 20 66 d#proc-open-fork-failed-errors.f
4c520 6f 72 20 64 65 74 61 69 6c 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 or.details</error>',.true,.IOInt
4c540 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 erface::QUIET);.}.}........publi
4c560 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 28 24 72 65 71 75 69 72 65 64 c.function.getComposer($required
4c580 20 3d 20 74 72 75 65 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 6e 75 6c 6c 29 .=.true,.$disablePlugins.=.null)
4c5a0 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 .{.if.(null.===.$disablePlugins)
4c5c0 20 7b 0a 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 24 74 68 69 73 2d 3e 64 69 73 61 .{.$disablePlugins.=.$this->disa
4c5e0 62 6c 65 50 6c 75 67 69 6e 73 42 79 44 65 66 61 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c blePluginsByDefault;.}..if.(null
4c600 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 74 72 79 20 7b 0a 24 74 .===.$this->composer).{.try.{.$t
4c620 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 28 his->composer.=.Factory::create(
4c640 24 74 68 69 73 2d 3e 69 6f 2c 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 $this->io,.null,.$disablePlugins
4c660 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 );.}.catch.(\InvalidArgumentExce
4c680 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 72 65 71 75 69 72 65 64 29 20 7b 0a 24 74 68 ption.$e).{.if.($required).{.$th
4c6a0 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 is->io->writeError($e->getMessag
4c6c0 65 28 29 29 3b 0a 65 78 69 74 28 31 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 4a 73 6f 6e 56 61 e());.exit(1);.}.}.catch.(JsonVa
4c6e0 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 65 72 72 6f 72 73 20 lidationException.$e).{.$errors.
4c700 3d 20 27 20 2d 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 20 2e 20 27 20 2d 20 =.'.-.'...implode(PHP_EOL...'.-.
4c720 27 2c 20 24 65 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 ',.$e->getErrors());.$message.=.
4c740 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 27 3a 27 20 2e 20 50 48 50 5f 45 4f 4c $e->getMessage()...':'...PHP_EOL
4c760 20 2e 20 24 65 72 72 6f 72 73 3b 0a 74 68 72 6f 77 20 6e 65 77 20 4a 73 6f 6e 56 61 6c 69 64 61 ...$errors;.throw.new.JsonValida
4c780 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 tionException($message);.}.}..re
4c7a0 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c turn.$this->composer;.}.....publ
4c7c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 43 6f 6d 70 6f 73 65 72 28 29 0a 7b 0a 24 74 ic.function.resetComposer().{.$t
4c7e0 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 74 68 69 73 2d his->composer.=.null;.if.($this-
4c800 3e 67 65 74 49 4f 28 29 20 26 26 20 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d >getIO().&&.method_exists($this-
4c820 3e 67 65 74 49 4f 28 29 2c 20 27 72 65 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 27 >getIO(),.'resetAuthentications'
4c840 29 29 20 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 4f 28 29 2d 3e 72 65 73 65 74 41 75 74 68 65 6e )).{.$this->getIO()->resetAuthen
4c860 74 69 63 61 74 69 6f 6e 73 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 tications();.}.}.....public.func
4c880 74 69 6f 6e 20 67 65 74 49 4f 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6f 3b tion.getIO().{.return.$this->io;
4c8a0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 28 29 0a 7b 0a .}..public.function.getHelp().{.
4c8c0 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 6c 6f 67 6f 20 2e 20 70 61 72 65 6e 74 3a 3a 67 65 74 return.self::$logo...parent::get
4c8e0 48 65 6c 70 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e Help();.}.....protected.function
4c900 20 67 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 .getDefaultCommands().{.$command
4c920 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 70 61 72 65 6e 74 3a 3a 67 65 74 44 65 66 61 75 s.=.array_merge(parent::getDefau
4c940 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 2c 20 61 72 72 61 79 28 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 ltCommands(),.array(.new.Command
4c960 5c 41 62 6f 75 74 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 43 6f 6e \AboutCommand(),.new.Command\Con
4c980 66 69 67 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 44 65 70 65 6e 64 figCommand(),.new.Command\Depend
4c9a0 73 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 50 72 6f 68 69 62 69 74 sCommand(),.new.Command\Prohibit
4c9c0 73 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 49 6e 69 74 43 6f 6d 6d sCommand(),.new.Command\InitComm
4c9e0 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 49 6e 73 74 61 6c 6c 43 6f 6d 6d 61 6e and(),.new.Command\InstallComman
4ca00 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 43 72 65 61 74 65 50 72 6f 6a 65 63 74 43 6f d(),.new.Command\CreateProjectCo
4ca20 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 55 70 64 61 74 65 43 6f 6d 6d 61 mmand(),.new.Command\UpdateComma
4ca40 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 65 61 72 63 68 43 6f 6d 6d 61 6e 64 28 nd(),.new.Command\SearchCommand(
4ca60 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 56 61 6c 69 64 61 74 65 43 6f 6d 6d 61 6e 64 28 29 ),.new.Command\ValidateCommand()
4ca80 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 68 6f 77 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 ,.new.Command\ShowCommand(),.new
4caa0 20 43 6f 6d 6d 61 6e 64 5c 53 75 67 67 65 73 74 73 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 .Command\SuggestsCommand(),.new.
4cac0 43 6f 6d 6d 61 6e 64 5c 52 65 71 75 69 72 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f Command\RequireCommand(),.new.Co
4cae0 6d 6d 61 6e 64 5c 44 75 6d 70 41 75 74 6f 6c 6f 61 64 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 mmand\DumpAutoloadCommand(),.new
4cb00 20 43 6f 6d 6d 61 6e 64 5c 53 74 61 74 75 73 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f .Command\StatusCommand(),.new.Co
4cb20 6d 6d 61 6e 64 5c 41 72 63 68 69 76 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d mmand\ArchiveCommand(),.new.Comm
4cb40 61 6e 64 5c 44 69 61 67 6e 6f 73 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 and\DiagnoseCommand(),.new.Comma
4cb60 6e 64 5c 52 75 6e 53 63 72 69 70 74 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 nd\RunScriptCommand(),.new.Comma
4cb80 6e 64 5c 4c 69 63 65 6e 73 65 73 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e nd\LicensesCommand(),.new.Comman
4cba0 64 5c 47 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 43 d\GlobalCommand(),.new.Command\C
4cbc0 6c 65 61 72 43 61 63 68 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c learCacheCommand(),.new.Command\
4cbe0 52 65 6d 6f 76 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 48 6f 6d RemoveCommand(),.new.Command\Hom
4cc00 65 43 6f 6d 6d 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 45 78 65 63 43 6f 6d 6d eCommand(),.new.Command\ExecComm
4cc20 61 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 4f 75 74 64 61 74 65 64 43 6f 6d 6d 61 and(),.new.Command\OutdatedComma
4cc40 6e 64 28 29 2c 0a 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 43 68 65 63 6b 50 6c 61 74 66 6f 72 6d 52 nd(),.new.Command\CheckPlatformR
4cc60 65 71 73 43 6f 6d 6d 61 6e 64 28 29 2c 0a 29 29 3b 0a 0a 69 66 20 28 27 70 68 61 72 3a 27 20 3d eqsCommand(),.));..if.('phar:'.=
4cc80 3d 3d 20 73 75 62 73 74 72 28 5f 5f 46 49 4c 45 5f 5f 2c 20 30 2c 20 35 29 29 20 7b 0a 24 63 6f ==.substr(__FILE__,.0,.5)).{.$co
4cca0 6d 6d 61 6e 64 73 5b 5d 20 3d 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 5c 53 65 6c 66 55 70 64 61 74 mmands[].=.new.Command\SelfUpdat
4ccc0 65 43 6f 6d 6d 61 6e 64 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 73 3b eCommand();.}..return.$commands;
4cce0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 6e 67 56 65 .}.....public.function.getLongVe
4cd00 72 73 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 43 6f 6d 70 6f 73 65 72 3a 3a 42 52 41 4e 43 48 5f 41 rsion().{.if.(Composer::BRANCH_A
4cd20 4c 49 41 53 5f 56 45 52 53 49 4f 4e 20 26 26 20 43 6f 6d 70 6f 73 65 72 3a 3a 42 52 41 4e 43 48 LIAS_VERSION.&&.Composer::BRANCH
4cd40 5f 41 4c 49 41 53 5f 56 45 52 53 49 4f 4e 20 21 3d 3d 20 27 40 70 61 63 6b 61 67 65 5f 62 72 61 _ALIAS_VERSION.!==.'@package_bra
4cd60 6e 63 68 5f 61 6c 69 61 73 5f 76 65 72 73 69 6f 6e 27 2e 27 40 27 29 20 7b 0a 72 65 74 75 72 6e nch_alias_version'.'@').{.return
4cd80 20 73 70 72 69 6e 74 66 28 0a 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 76 65 72 73 69 .sprintf(.'<info>%s</info>.versi
4cda0 6f 6e 20 3c 63 6f 6d 6d 65 6e 74 3e 25 73 20 28 25 73 29 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 25 73 on.<comment>%s.(%s)</comment>.%s
4cdc0 27 2c 0a 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 42 ',.$this->getName(),.Composer::B
4cde0 52 41 4e 43 48 5f 41 4c 49 41 53 5f 56 45 52 53 49 4f 4e 2c 0a 24 74 68 69 73 2d 3e 67 65 74 56 RANCH_ALIAS_VERSION,.$this->getV
4ce00 65 72 73 69 6f 6e 28 29 2c 0a 43 6f 6d 70 6f 73 65 72 3a 3a 52 45 4c 45 41 53 45 5f 44 41 54 45 ersion(),.Composer::RELEASE_DATE
4ce20 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 4c 6f 6e 67 56 65 72 .);.}..return.parent::getLongVer
4ce40 73 69 6f 6e 28 29 20 2e 20 27 20 27 20 2e 20 43 6f 6d 70 6f 73 65 72 3a 3a 52 45 4c 45 41 53 45 sion()...'.'...Composer::RELEASE
4ce60 5f 44 41 54 45 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 _DATE;.}.....protected.function.
4ce80 67 65 74 44 65 66 61 75 6c 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 24 64 getDefaultInputDefinition().{.$d
4cea0 65 66 69 6e 69 74 69 6f 6e 20 3d 20 70 61 72 65 6e 74 3a 3a 67 65 74 44 65 66 61 75 6c 74 49 6e efinition.=.parent::getDefaultIn
4cec0 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 putDefinition();.$definition->ad
4cee0 64 4f 70 74 69 6f 6e 28 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 70 72 6f 66 69 dOption(new.InputOption('--profi
4cf00 6c 65 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f le',.null,.InputOption::VALUE_NO
4cf20 4e 45 2c 20 27 44 69 73 70 6c 61 79 20 74 69 6d 69 6e 67 20 61 6e 64 20 6d 65 6d 6f 72 79 20 75 NE,.'Display.timing.and.memory.u
4cf40 73 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e sage.information'));.$definition
4cf60 2d 3e 61 64 64 4f 70 74 69 6f 6e 28 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 6e ->addOption(new.InputOption('--n
4cf80 6f 2d 70 6c 75 67 69 6e 73 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 o-plugins',.null,.InputOption::V
4cfa0 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 57 68 65 74 68 65 72 20 74 6f 20 64 69 73 61 62 6c 65 20 70 ALUE_NONE,.'Whether.to.disable.p
4cfc0 6c 75 67 69 6e 73 2e 27 29 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 4f 70 74 69 lugins.'));.$definition->addOpti
4cfe0 6f 6e 28 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 77 6f 72 6b 69 6e 67 2d 64 69 on(new.InputOption('--working-di
4d000 72 27 2c 20 27 2d 64 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 r',.'-d',.InputOption::VALUE_REQ
4d020 55 49 52 45 44 2c 20 27 49 66 20 73 70 65 63 69 66 69 65 64 2c 20 75 73 65 20 74 68 65 20 67 69 UIRED,.'If.specified,.use.the.gi
4d040 76 65 6e 20 64 69 72 65 63 74 6f 72 79 20 61 73 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f ven.directory.as.working.directo
4d060 72 79 2e 27 29 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 4f 70 74 69 6f 6e 28 6e ry.'));.$definition->addOption(n
4d080 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 63 61 63 68 65 27 2c 20 6e 75 6c ew.InputOption('--no-cache',.nul
4d0a0 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 50 72 65 l,.InputOption::VALUE_NONE,.'Pre
4d0c0 76 65 6e 74 20 75 73 65 20 6f 66 20 74 68 65 20 63 61 63 68 65 27 29 29 3b 0a 0a 72 65 74 75 72 vent.use.of.the.cache'));..retur
4d0e0 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 n.$definition;.}..private.functi
4d100 6f 6e 20 67 65 74 50 6c 75 67 69 6e 43 6f 6d 6d 61 6e 64 73 28 29 0a 7b 0a 24 63 6f 6d 6d 61 6e on.getPluginCommands().{.$comman
4d120 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 ds.=.array();..$composer.=.$this
4d140 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 66 61 6c 73 65 2c 20 66 61 6c 73 65 29 3b 0a 69 66 20 ->getComposer(false,.false);.if.
4d160 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 (null.===.$composer).{.$composer
4d180 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 47 6c 6f 62 61 6c 28 24 74 68 69 73 2d 3e .=.Factory::createGlobal($this->
4d1a0 69 6f 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 6f 6d io,.false);.}..if.(null.!==.$com
4d1c0 70 6f 73 65 72 29 20 7b 0a 24 70 6d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 6c 75 poser).{.$pm.=.$composer->getPlu
4d1e0 67 69 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 6d 2d 3e 67 65 74 50 ginManager();.foreach.($pm->getP
4d200 6c 75 67 69 6e 43 61 70 61 62 69 6c 69 74 69 65 73 28 27 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 luginCapabilities('Composer\Plug
4d220 69 6e 5c 43 61 70 61 62 69 6c 69 74 79 5c 43 6f 6d 6d 61 6e 64 50 72 6f 76 69 64 65 72 27 2c 20 in\Capability\CommandProvider',.
4d240 61 72 72 61 79 28 27 63 6f 6d 70 6f 73 65 72 27 20 3d 3e 20 24 63 6f 6d 70 6f 73 65 72 2c 20 27 array('composer'.=>.$composer,.'
4d260 69 6f 27 20 3d 3e 20 24 74 68 69 73 2d 3e 69 6f 29 29 20 61 73 20 24 63 61 70 61 62 69 6c 69 74 io'.=>.$this->io)).as.$capabilit
4d280 79 29 20 7b 0a 24 6e 65 77 43 6f 6d 6d 61 6e 64 73 20 3d 20 24 63 61 70 61 62 69 6c 69 74 79 2d y).{.$newCommands.=.$capability-
4d2a0 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 3b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 6e >getCommands();.if.(!is_array($n
4d2c0 65 77 43 6f 6d 6d 61 6e 64 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 ewCommands)).{.throw.new.\Unexpe
4d2e0 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 50 6c 75 67 69 6e 20 63 61 70 61 62 ctedValueException('Plugin.capab
4d300 69 6c 69 74 79 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 63 61 70 61 62 69 6c 69 74 79 29 2e 27 ility.'.get_class($capability).'
4d320 20 66 61 69 6c 65 64 20 74 6f 20 72 65 74 75 72 6e 20 61 6e 20 61 72 72 61 79 20 66 72 6f 6d 20 .failed.to.return.an.array.from.
4d340 67 65 74 43 6f 6d 6d 61 6e 64 73 27 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 6e 65 77 43 6f getCommands');.}.foreach.($newCo
4d360 6d 6d 61 6e 64 73 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 69 66 20 28 21 24 63 6f 6d 6d mmands.as.$command).{.if.(!$comm
4d380 61 6e 64 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 6d 61 6e 64 5c 42 61 73 65 43 6f 6d 6d 61 and.instanceof.Command\BaseComma
4d3a0 6e 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 nd).{.throw.new.\UnexpectedValue
4d3c0 45 78 63 65 70 74 69 6f 6e 28 27 50 6c 75 67 69 6e 20 63 61 70 61 62 69 6c 69 74 79 20 27 2e 67 Exception('Plugin.capability.'.g
4d3e0 65 74 5f 63 6c 61 73 73 28 24 63 61 70 61 62 69 6c 69 74 79 29 2e 27 20 72 65 74 75 72 6e 65 64 et_class($capability).'.returned
4d400 20 61 6e 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 2c 20 77 65 20 65 78 70 65 63 74 65 64 20 61 .an.invalid.value,.we.expected.a
4d420 6e 20 61 72 72 61 79 20 6f 66 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 6d 61 6e 64 5c 42 61 73 65 n.array.of.Composer\Command\Base
4d440 43 6f 6d 6d 61 6e 64 20 6f 62 6a 65 63 74 73 27 29 3b 0a 7d 0a 7d 0a 24 63 6f 6d 6d 61 6e 64 73 Command.objects');.}.}.$commands
4d460 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 63 6f 6d 6d 61 6e 64 73 2c 20 24 6e 65 77 43 6f .=.array_merge($commands,.$newCo
4d480 6d 6d 61 6e 64 73 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 73 3b 0a mmands);.}.}..return.$commands;.
4d4a0 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 }.}.<?php............namespace.C
4d4c0 6f 6d 70 6f 73 65 72 5c 43 6f 6e 73 6f 6c 65 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f omposer\Console;..use.Symfony\Co
4d4e0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 mponent\Console\Formatter\Output
4d500 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 74 6d 6c 4f 75 74 70 75 74 46 Formatter;.....class.HtmlOutputF
4d520 6f 72 6d 61 74 74 65 72 20 65 78 74 65 6e 64 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 ormatter.extends.OutputFormatter
4d540 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 .{.private.static.$availableFore
4d560 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 0a 33 30 20 3d 3e 20 27 62 6c 61 groundColors.=.array(.30.=>.'bla
4d580 63 6b 27 2c 0a 33 31 20 3d 3e 20 27 72 65 64 27 2c 0a 33 32 20 3d 3e 20 27 67 72 65 65 6e 27 2c ck',.31.=>.'red',.32.=>.'green',
4d5a0 0a 33 33 20 3d 3e 20 27 79 65 6c 6c 6f 77 27 2c 0a 33 34 20 3d 3e 20 27 62 6c 75 65 27 2c 0a 33 .33.=>.'yellow',.34.=>.'blue',.3
4d5c0 35 20 3d 3e 20 27 6d 61 67 65 6e 74 61 27 2c 0a 33 36 20 3d 3e 20 27 63 79 61 6e 27 2c 0a 33 37 5.=>.'magenta',.36.=>.'cyan',.37
4d5e0 20 3d 3e 20 27 77 68 69 74 65 27 2c 0a 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 .=>.'white',.);.private.static.$
4d600 61 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 20 3d 20 61 72 72 61 availableBackgroundColors.=.arra
4d620 79 28 0a 34 30 20 3d 3e 20 27 62 6c 61 63 6b 27 2c 0a 34 31 20 3d 3e 20 27 72 65 64 27 2c 0a 34 y(.40.=>.'black',.41.=>.'red',.4
4d640 32 20 3d 3e 20 27 67 72 65 65 6e 27 2c 0a 34 33 20 3d 3e 20 27 79 65 6c 6c 6f 77 27 2c 0a 34 34 2.=>.'green',.43.=>.'yellow',.44
4d660 20 3d 3e 20 27 62 6c 75 65 27 2c 0a 34 35 20 3d 3e 20 27 6d 61 67 65 6e 74 61 27 2c 0a 34 36 20 .=>.'blue',.45.=>.'magenta',.46.
4d680 3d 3e 20 27 63 79 61 6e 27 2c 0a 34 37 20 3d 3e 20 27 77 68 69 74 65 27 2c 0a 29 3b 0a 70 72 69 =>.'cyan',.47.=>.'white',.);.pri
4d6a0 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 20 3d 20 vate.static.$availableOptions.=.
4d6c0 61 72 72 61 79 28 0a 31 20 3d 3e 20 27 62 6f 6c 64 27 2c 0a 34 20 3d 3e 20 27 75 6e 64 65 72 73 array(.1.=>.'bold',.4.=>.'unders
4d6e0 63 6f 72 65 27 2c 0a 0a 20 0a 20 0a 20 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 core',.......);.....public.funct
4d700 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 73 74 79 6c 65 73 20 3d 20 ion.__construct(array.$styles.=.
4d720 61 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 74 array()).{.parent::__construct(t
4d740 72 75 65 2c 20 24 73 74 79 6c 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f rue,.$styles);.}..public.functio
4d760 6e 20 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 66 6f 72 6d 61 74 74 65 64 20 n.format($message).{.$formatted.
4d780 3d 20 70 61 72 65 6e 74 3a 3a 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 24 63 6c =.parent::format($message);..$cl
4d7a0 65 61 72 45 73 63 61 70 65 43 6f 64 65 73 20 3d 20 27 28 3f 3a 33 39 7c 34 39 7c 30 7c 32 32 7c earEscapeCodes.=.'(?:39|49|0|22|
4d7c0 32 34 7c 32 35 7c 32 37 7c 32 38 29 27 3b 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 24|25|27|28)';..return.preg_repl
4d7e0 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 22 7b 5c 30 33 33 5c 5b 28 5b 30 2d 39 3b 5d 2b 29 6d 28 ace_callback("{\033\[([0-9;]+)m(
4d800 2e 2a 3f 29 5c 30 33 33 5c 5b 28 3f 3a 22 2e 24 63 6c 65 61 72 45 73 63 61 70 65 43 6f 64 65 73 .*?)\033\[(?:".$clearEscapeCodes
4d820 2e 22 3b 29 2a 3f 22 2e 24 63 6c 65 61 72 45 73 63 61 70 65 43 6f 64 65 73 2e 22 6d 7d 73 22 2c .";)*?".$clearEscapeCodes."m}s",
4d840 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 66 6f 72 6d 61 74 48 74 6d 6c 27 29 2c 20 24 66 6f .array($this,.'formatHtml'),.$fo
4d860 72 6d 61 74 74 65 64 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6f rmatted);.}..private.function.fo
4d880 72 6d 61 74 48 74 6d 6c 28 24 6d 61 74 63 68 65 73 29 0a 7b 0a 24 6f 75 74 20 3d 20 27 3c 73 70 rmatHtml($matches).{.$out.=.'<sp
4d8a0 61 6e 20 73 74 79 6c 65 3d 22 27 3b 0a 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 65 28 27 3b an.style="';.foreach.(explode(';
4d8c0 27 2c 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 20 61 73 20 24 63 6f 64 65 29 20 7b 0a 69 66 20 28 ',.$matches[1]).as.$code).{.if.(
4d8e0 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 67 72 6f 75 6e 64 isset(self::$availableForeground
4d900 43 6f 6c 6f 72 73 5b 24 63 6f 64 65 5d 29 29 20 7b 0a 24 6f 75 74 20 2e 3d 20 27 63 6f 6c 6f 72 Colors[$code])).{.$out..=.'color
4d920 3a 27 2e 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 67 72 6f 75 6e 64 43 6f 6c :'.self::$availableForegroundCol
4d940 6f 72 73 5b 24 63 6f 64 65 5d 2e 27 3b 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 ors[$code].';';.}.elseif.(isset(
4d960 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 self::$availableBackgroundColors
4d980 5b 24 63 6f 64 65 5d 29 29 20 7b 0a 24 6f 75 74 20 2e 3d 20 27 62 61 63 6b 67 72 6f 75 6e 64 2d [$code])).{.$out..=.'background-
4d9a0 63 6f 6c 6f 72 3a 27 2e 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 color:'.self::$availableBackgrou
4d9c0 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 64 65 5d 2e 27 3b 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 ndColors[$code].';';.}.elseif.(i
4d9e0 73 73 65 74 28 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 63 6f sset(self::$availableOptions[$co
4da00 64 65 5d 29 29 20 7b 0a 73 77 69 74 63 68 20 28 73 65 6c 66 3a 3a 24 61 76 61 69 6c 61 62 6c 65 de])).{.switch.(self::$available
4da20 4f 70 74 69 6f 6e 73 5b 24 63 6f 64 65 5d 29 20 7b 0a 63 61 73 65 20 27 62 6f 6c 64 27 3a 0a 24 Options[$code]).{.case.'bold':.$
4da40 6f 75 74 20 2e 3d 20 27 66 6f 6e 74 2d 77 65 69 67 68 74 3a 62 6f 6c 64 3b 27 3b 0a 62 72 65 61 out..=.'font-weight:bold;';.brea
4da60 6b 3b 0a 0a 63 61 73 65 20 27 75 6e 64 65 72 73 63 6f 72 65 27 3a 0a 24 6f 75 74 20 2e 3d 20 27 k;..case.'underscore':.$out..=.'
4da80 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 75 6e 64 65 72 6c 69 6e 65 3b 27 3b 0a 62 72 65 text-decoration:underline;';.bre
4daa0 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 2e 27 22 3e 27 2e 24 6d 61 74 ak;.}.}.}..return.$out.'">'.$mat
4dac0 63 68 65 73 5b 32 5d 2e 27 3c 2f 73 70 61 6e 3e 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a ches[2].'</span>';.}.}.<?php....
4dae0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e ........namespace.Composer\Depen
4db00 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 63 69 73 dencyResolver;.......class.Decis
4db20 69 6f 6e 73 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 2c 20 5c 43 6f 75 6e ions.implements.\Iterator,.\Coun
4db40 74 61 62 6c 65 0a 7b 0a 63 6f 6e 73 74 20 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 20 3d table.{.const.DECISION_LITERAL.=
4db60 20 30 3b 0a 63 6f 6e 73 74 20 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 20 3d 20 31 3b 0a 0a .0;.const.DECISION_REASON.=.1;..
4db80 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 63 69 protected.$pool;.protected.$deci
4dba0 73 69 6f 6e 4d 61 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 63 69 73 69 6f 6e 51 75 65 75 sionMap;.protected.$decisionQueu
4dbc0 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f e.=.array();..public.function.__
4dbe0 63 6f 6e 73 74 72 75 63 74 28 24 70 6f 6f 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d construct($pool).{.$this->pool.=
4dc00 20 24 70 6f 6f 6c 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 20 3d 20 61 72 72 .$pool;.$this->decisionMap.=.arr
4dc20 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 69 64 65 28 ay();.}..public.function.decide(
4dc40 24 6c 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c 2c 20 24 77 68 79 29 0a 7b 0a 24 74 68 69 73 2d $literal,.$level,.$why).{.$this-
4dc60 3e 61 64 64 44 65 63 69 73 69 6f 6e 28 24 6c 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c 29 3b 0a >addDecision($literal,.$level);.
4dc80 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 5d 20 3d 20 61 72 72 61 79 28 0a $this->decisionQueue[].=.array(.
4dca0 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 20 3d 3e 20 24 6c 69 74 65 72 self::DECISION_LITERAL.=>.$liter
4dcc0 61 6c 2c 0a 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 20 3d 3e 20 24 77 68 al,.self::DECISION_REASON.=>.$wh
4dce0 79 2c 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 79 y,.);.}..public.function.satisfy
4dd00 28 24 6c 69 74 65 72 61 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 61 62 73 28 24 6c ($literal).{.$packageId.=.abs($l
4dd20 69 74 65 72 61 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 28 0a 24 6c 69 74 65 72 61 6c 20 3e 20 30 20 iteral);..return.(.$literal.>.0.
4dd40 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 &&.isset($this->decisionMap[$pac
4dd60 6b 61 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 kageId]).&&.$this->decisionMap[$
4dd80 70 61 63 6b 61 67 65 49 64 5d 20 3e 20 30 20 7c 7c 0a 24 6c 69 74 65 72 61 6c 20 3c 20 30 20 26 packageId].>.0.||.$literal.<.0.&
4dda0 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b &.isset($this->decisionMap[$pack
4ddc0 61 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 ageId]).&&.$this->decisionMap[$p
4dde0 61 63 6b 61 67 65 49 64 5d 20 3c 20 30 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ackageId].<.0.);.}..public.funct
4de00 69 6f 6e 20 63 6f 6e 66 6c 69 63 74 28 24 6c 69 74 65 72 61 6c 29 0a 7b 0a 24 70 61 63 6b 61 67 ion.conflict($literal).{.$packag
4de20 65 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 28 0a 28 eId.=.abs($literal);..return.(.(
4de40 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 isset($this->decisionMap[$packag
4de60 65 49 64 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 eId]).&&.$this->decisionMap[$pac
4de80 6b 61 67 65 49 64 5d 20 3e 20 30 20 26 26 20 24 6c 69 74 65 72 61 6c 20 3c 20 30 29 20 7c 7c 0a kageId].>.0.&&.$literal.<.0).||.
4dea0 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 (isset($this->decisionMap[$packa
4dec0 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 geId]).&&.$this->decisionMap[$pa
4dee0 63 6b 61 67 65 49 64 5d 20 3c 20 30 20 26 26 20 24 6c 69 74 65 72 61 6c 20 3e 20 30 29 0a 29 3b ckageId].<.0.&&.$literal.>.0).);
4df00 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 69 64 65 64 28 24 6c 69 74 .}..public.function.decided($lit
4df20 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 0a 7b 0a 72 65 74 75 72 6e 20 21 65 6d 70 74 79 eralOrPackageId).{.return.!empty
4df40 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c ($this->decisionMap[abs($literal
4df60 4f 72 50 61 63 6b 61 67 65 49 64 29 5d 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 OrPackageId)]);.}..public.functi
4df80 6f 6e 20 75 6e 64 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 on.undecided($literalOrPackageId
4dfa0 29 0a 7b 0a 72 65 74 75 72 6e 20 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e ).{.return.empty($this->decision
4dfc0 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 5d 29 3b 0a Map[abs($literalOrPackageId)]);.
4dfe0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 69 64 65 64 49 6e 73 74 61 6c }..public.function.decidedInstal
4e000 6c 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 0a 7b 0a 24 70 61 63 6b 61 67 l($literalOrPackageId).{.$packag
4e020 65 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 3b 0a eId.=.abs($literalOrPackageId);.
4e040 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 .return.isset($this->decisionMap
4e060 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e [$packageId]).&&.$this->decision
4e080 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3e 20 30 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 Map[$packageId].>.0;.}..public.f
4e0a0 75 6e 63 74 69 6f 6e 20 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 28 24 6c 69 74 65 72 61 6c 4f 72 unction.decisionLevel($literalOr
4e0c0 50 61 63 6b 61 67 65 49 64 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 61 62 73 28 24 6c PackageId).{.$packageId.=.abs($l
4e0e0 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 iteralOrPackageId);.if.(isset($t
4e100 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 29 20 7b his->decisionMap[$packageId])).{
4e120 0a 72 65 74 75 72 6e 20 61 62 73 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 .return.abs($this->decisionMap[$
4e140 70 61 63 6b 61 67 65 49 64 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 70 75 62 packageId]);.}..return.0;.}..pub
4e160 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 69 73 69 6f 6e 52 75 6c 65 28 24 6c 69 74 65 72 lic.function.decisionRule($liter
4e180 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 61 62 alOrPackageId).{.$packageId.=.ab
4e1a0 73 28 24 6c 69 74 65 72 61 6c 4f 72 50 61 63 6b 61 67 65 49 64 29 3b 0a 0a 66 6f 72 65 61 63 68 s($literalOrPackageId);..foreach
4e1c0 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 61 73 20 24 69 20 3d 3e 20 .($this->decisionQueue.as.$i.=>.
4e1e0 24 64 65 63 69 73 69 6f 6e 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 49 64 20 3d 3d 3d 20 $decision).{.if.($packageId.===.
4e200 61 62 73 28 24 64 65 63 69 73 69 6f 6e 5b 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 abs($decision[self::DECISION_LIT
4e220 45 52 41 4c 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 65 63 69 73 69 6f 6e 5b 73 65 6c 66 3a ERAL])).{.return.$decision[self:
4e240 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e :DECISION_REASON];.}.}..return.n
4e260 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 74 4f 66 66 73 65 74 ull;.}..public.function.atOffset
4e280 28 24 71 75 65 75 65 4f 66 66 73 65 74 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 ($queueOffset).{.return.$this->d
4e2a0 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 24 71 75 65 75 65 4f 66 66 73 65 74 5d 3b 0a 7d 0a 0a 70 ecisionQueue[$queueOffset];.}..p
4e2c0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 4f 66 66 73 65 74 28 24 71 75 65 75 ublic.function.validOffset($queu
4e2e0 65 4f 66 66 73 65 74 29 0a 7b 0a 72 65 74 75 72 6e 20 24 71 75 65 75 65 4f 66 66 73 65 74 20 3e eOffset).{.return.$queueOffset.>
4e300 3d 20 30 20 26 26 20 24 71 75 65 75 65 4f 66 66 73 65 74 20 3c 20 63 6f 75 6e 74 28 24 74 68 69 =.0.&&.$queueOffset.<.count($thi
4e320 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e s->decisionQueue);.}..public.fun
4e340 63 74 69 6f 6e 20 6c 61 73 74 52 65 61 73 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ction.lastReason().{.return.$thi
4e360 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 s->decisionQueue[count($this->de
4e380 63 69 73 69 6f 6e 51 75 65 75 65 29 20 2d 20 31 5d 5b 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e cisionQueue).-.1][self::DECISION
4e3a0 5f 52 45 41 53 4f 4e 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 61 73 _REASON];.}..public.function.las
4e3c0 74 4c 69 74 65 72 61 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 63 69 73 tLiteral().{.return.$this->decis
4e3e0 69 6f 6e 51 75 65 75 65 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 ionQueue[count($this->decisionQu
4e400 65 75 65 29 20 2d 20 31 5d 5b 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c eue).-.1][self::DECISION_LITERAL
4e420 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 29 0a 7b 0a ];.}..public.function.reset().{.
4e440 77 68 69 6c 65 20 28 24 64 65 63 69 73 69 6f 6e 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 74 68 while.($decision.=.array_pop($th
4e460 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 63 is->decisionQueue)).{.$this->dec
4e480 69 73 69 6f 6e 4d 61 70 5b 61 62 73 28 24 64 65 63 69 73 69 6f 6e 5b 73 65 6c 66 3a 3a 44 45 43 isionMap[abs($decision[self::DEC
4e4a0 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 29 5d 20 3d 20 30 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 ISION_LITERAL])].=.0;.}.}..publi
4e4c0 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 54 6f 4f 66 66 73 65 74 28 24 6f 66 66 73 65 74 c.function.resetToOffset($offset
4e4e0 29 0a 7b 0a 77 68 69 6c 65 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e ).{.while.(count($this->decision
4e500 51 75 65 75 65 29 20 3e 20 24 6f 66 66 73 65 74 20 2b 20 31 29 20 7b 0a 24 64 65 63 69 73 69 6f Queue).>.$offset.+.1).{.$decisio
4e520 6e 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 n.=.array_pop($this->decisionQue
4e540 75 65 29 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 61 62 73 28 24 64 65 63 ue);.$this->decisionMap[abs($dec
4e560 69 73 69 6f 6e 5b 73 65 6c 66 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 29 5d 20 ision[self::DECISION_LITERAL])].
4e580 3d 20 30 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 76 65 72 74 =.0;.}.}..public.function.revert
4e5a0 4c 61 73 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 61 62 73 28 Last().{.$this->decisionMap[abs(
4e5c0 24 74 68 69 73 2d 3e 6c 61 73 74 4c 69 74 65 72 61 6c 28 29 29 5d 20 3d 20 30 3b 0a 61 72 72 61 $this->lastLiteral())].=.0;.arra
4e5e0 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 7d 0a 0a y_pop($this->decisionQueue);.}..
4e600 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e public.function.count().{.return
4e620 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 7d 0a .count($this->decisionQueue);.}.
4e640 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 0a 7b 0a 65 6e 64 28 .public.function.rewind().{.end(
4e660 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 $this->decisionQueue);.}..public
4e680 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 63 75 72 .function.current().{.return.cur
4e6a0 72 65 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 rent($this->decisionQueue);.}..p
4e6c0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6b 65 ublic.function.key().{.return.ke
4e6e0 79 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c y($this->decisionQueue);.}..publ
4e700 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 76 ic.function.next().{.return.prev
4e720 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 ($this->decisionQueue);.}..publi
4e740 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 c.function.valid().{.return.fals
4e760 65 20 21 3d 3d 20 63 75 72 72 65 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 51 75 65 e.!==.current($this->decisionQue
4e780 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 45 6d 70 74 79 28 ue);.}..public.function.isEmpty(
4e7a0 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e ).{.return.count($this->decision
4e7c0 51 75 65 75 65 29 20 3d 3d 3d 20 30 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 Queue).===.0;.}..protected.funct
4e7e0 69 6f 6e 20 61 64 64 44 65 63 69 73 69 6f 6e 28 24 6c 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c ion.addDecision($literal,.$level
4e800 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 29 3b 0a ).{.$packageId.=.abs($literal);.
4e820 0a 24 70 72 65 76 69 6f 75 73 44 65 63 69 73 69 6f 6e 20 3d 20 69 73 73 65 74 28 24 74 68 69 73 .$previousDecision.=.isset($this
4e840 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 20 3f 20 24 74 68 ->decisionMap[$packageId]).?.$th
4e860 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3a 20 6e 75 is->decisionMap[$packageId].:.nu
4e880 6c 6c 3b 0a 69 66 20 28 24 70 72 65 76 69 6f 75 73 44 65 63 69 73 69 6f 6e 20 21 3d 20 30 29 20 ll;.if.($previousDecision.!=.0).
4e8a0 7b 0a 24 6c 69 74 65 72 61 6c 53 74 72 69 6e 67 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e {.$literalString.=.$this->pool->
4e8c0 6c 69 74 65 72 61 6c 54 6f 53 74 72 69 6e 67 28 24 6c 69 74 65 72 61 6c 29 3b 0a 24 70 61 63 6b literalToString($literal);.$pack
4e8e0 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b age.=.$this->pool->literalToPack
4e900 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 74 68 72 6f 77 20 6e 65 77 20 53 6f 6c 76 65 72 42 age($literal);.throw.new.SolverB
4e920 75 67 45 78 63 65 70 74 69 6f 6e 28 0a 22 54 72 79 69 6e 67 20 74 6f 20 64 65 63 69 64 65 20 24 ugException(."Trying.to.decide.$
4e940 6c 69 74 65 72 61 6c 53 74 72 69 6e 67 20 6f 6e 20 6c 65 76 65 6c 20 24 6c 65 76 65 6c 2c 20 65 literalString.on.level.$level,.e
4e960 76 65 6e 20 74 68 6f 75 67 68 20 24 70 61 63 6b 61 67 65 20 77 61 73 20 70 72 65 76 69 6f 75 73 ven.though.$package.was.previous
4e980 6c 79 20 64 65 63 69 64 65 64 20 61 73 20 22 2e 28 69 6e 74 29 20 24 70 72 65 76 69 6f 75 73 44 ly.decided.as.".(int).$previousD
4e9a0 65 63 69 73 69 6f 6e 2e 22 2e 22 0a 29 3b 0a 7d 0a 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3e ecision.".".);.}..if.($literal.>
4e9c0 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 .0).{.$this->decisionMap[$packag
4e9e0 65 49 64 5d 20 3d 20 24 6c 65 76 65 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 64 eId].=.$level;.}.else.{.$this->d
4ea00 65 63 69 73 69 6f 6e 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 20 3d 20 2d 24 6c 65 76 65 6c ecisionMap[$packageId].=.-$level
4ea20 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e ;.}.}..public.function.__toStrin
4ea40 67 28 29 0a 7b 0a 24 64 65 63 69 73 69 6f 6e 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 69 g().{.$decisionMap.=.$this->deci
4ea60 73 69 6f 6e 4d 61 70 3b 0a 6b 73 6f 72 74 28 24 64 65 63 69 73 69 6f 6e 4d 61 70 29 3b 0a 24 73 sionMap;.ksort($decisionMap);.$s
4ea80 74 72 20 3d 20 27 5b 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 63 69 73 69 6f 6e 4d 61 70 20 tr.=.'[';.foreach.($decisionMap.
4eaa0 61 73 20 24 70 61 63 6b 61 67 65 49 64 20 3d 3e 20 24 6c 65 76 65 6c 29 20 7b 0a 24 73 74 72 20 as.$packageId.=>.$level).{.$str.
4eac0 2e 3d 20 24 70 61 63 6b 61 67 65 49 64 2e 27 3a 27 2e 24 6c 65 76 65 6c 2e 27 2c 27 3b 0a 7d 0a .=.$packageId.':'.$level.',';.}.
4eae0 24 73 74 72 20 2e 3d 20 27 5d 27 3b 0a 72 65 74 75 72 6e 20 24 73 74 72 3b 0a 7d 0a 7d 0a 3c 3f $str..=.']';.return.$str;.}.}.<?
4eb00 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
4eb20 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f r\DependencyResolver;..use.Compo
4eb40 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 ser\Package\PackageInterface;.us
4eb60 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b e.Composer\Package\AliasPackage;
4eb80 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 .use.Composer\Package\BasePackag
4eba0 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e e;.use.Composer\Semver\Constrain
4ebc0 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 66 61 75 6c 74 t\Constraint;......class.Default
4ebe0 50 6f 6c 69 63 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 Policy.implements.PolicyInterfac
4ec00 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 3b 0a 70 72 69 76 61 e.{.private.$preferStable;.priva
4ec20 74 65 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 te.$preferLowest;..public.functi
4ec40 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 66 on.__construct($preferStable.=.f
4ec60 61 6c 73 65 2c 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 alse,.$preferLowest.=.false).{.$
4ec80 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 24 70 72 65 66 65 72 53 74 61 62 this->preferStable.=.$preferStab
4eca0 6c 65 3b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3d 20 24 70 72 65 66 65 le;.$this->preferLowest.=.$prefe
4ecc0 72 4c 6f 77 65 73 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 65 72 73 rLowest;.}..public.function.vers
4ece0 69 6f 6e 43 6f 6d 70 61 72 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 61 2c 20 ionCompare(PackageInterface.$a,.
4ed00 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 62 2c 20 24 6f 70 65 72 61 74 6f 72 29 0a PackageInterface.$b,.$operator).
4ed20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 62 6c 65 20 26 26 20 28 24 73 {.if.($this->preferStable.&&.($s
4ed40 74 61 62 41 20 3d 20 24 61 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 29 20 21 3d 3d 20 28 tabA.=.$a->getStability()).!==.(
4ed60 24 73 74 61 62 42 20 3d 20 24 62 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 29 29 20 7b 0a $stabB.=.$b->getStability())).{.
4ed80 72 65 74 75 72 6e 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 return.BasePackage::$stabilities
4eda0 5b 24 73 74 61 62 41 5d 20 3c 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 [$stabA].<.BasePackage::$stabili
4edc0 74 69 65 73 5b 24 73 74 61 62 42 5d 3b 0a 7d 0a 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e ties[$stabB];.}..$constraint.=.n
4ede0 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 24 6f 70 65 72 61 74 6f 72 2c 20 24 62 2d 3e 67 65 74 ew.Constraint($operator,.$b->get
4ee00 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 6e 65 77 20 43 6f 6e 73 74 Version());.$version.=.new.Const
4ee20 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 61 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 0a raint('==',.$a->getVersion());..
4ee40 72 65 74 75 72 6e 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 53 70 65 63 69 66 69 return.$constraint->matchSpecifi
4ee60 63 28 24 76 65 72 73 69 6f 6e 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e c($version,.true);.}..public.fun
4ee80 63 74 69 6f 6e 20 66 69 6e 64 55 70 64 61 74 65 50 61 63 6b 61 67 65 73 28 50 6f 6f 6c 20 24 70 ction.findUpdatePackages(Pool.$p
4eea0 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 50 61 63 6b 61 67 ool,.array.$installedMap,.Packag
4eec0 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 6d 75 73 74 4d 61 74 63 68 4e eInterface.$package,.$mustMatchN
4eee0 61 6d 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 ame.=.false).{.$packages.=.array
4ef00 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 ();..foreach.($pool->whatProvide
4ef20 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 6e 75 6c 6c 2c 20 24 6d 75 s($package->getName(),.null,.$mu
4ef40 73 74 4d 61 74 63 68 4e 61 6d 65 29 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 stMatchName).as.$candidate).{.if
4ef60 20 28 24 63 61 6e 64 69 64 61 74 65 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 .($candidate.!==.$package).{.$pa
4ef80 63 6b 61 67 65 73 5b 5d 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 ckages[].=.$candidate;.}.}..retu
4efa0 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e rn.$packages;.}..public.function
4efc0 20 67 65 74 50 72 69 6f 72 69 74 79 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 50 61 63 6b 61 67 65 .getPriority(Pool.$pool,.Package
4efe0 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 6f Interface.$package).{.return.$po
4f000 6f 6c 2d 3e 67 65 74 50 72 69 6f 72 69 74 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 ol->getPriority($package->getRep
4f020 6f 73 69 74 6f 72 79 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ository());.}..public.function.s
4f040 65 6c 65 63 74 50 72 65 66 65 72 72 65 64 50 61 63 6b 61 67 65 73 28 50 6f 6f 6c 20 24 70 6f 6f electPreferredPackages(Pool.$poo
4f060 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 61 72 72 61 79 20 24 6c l,.array.$installedMap,.array.$l
4f080 69 74 65 72 61 6c 73 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c iterals,.$requiredPackage.=.null
4f0a0 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 72 6f 75 70 4c 69 74 65 ).{.$packages.=.$this->groupLite
4f0c0 72 61 6c 73 42 79 4e 61 6d 65 50 72 65 66 65 72 49 6e 73 74 61 6c 6c 65 64 28 24 70 6f 6f 6c 2c ralsByNamePreferInstalled($pool,
4f0e0 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 6c 69 74 65 72 61 6c 73 29 3b 0a 0a 66 6f 72 .$installedMap,.$literals);..for
4f100 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 26 24 6c 69 74 65 72 61 6c 73 29 20 7b each.($packages.as.&$literals).{
4f120 0a 24 70 6f 6c 69 63 79 20 3d 20 24 74 68 69 73 3b 0a 75 73 6f 72 74 28 24 6c 69 74 65 72 61 6c .$policy.=.$this;.usort($literal
4f140 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 75 73 65 20 28 24 70 6f 6c 69 63 s,.function.($a,.$b).use.($polic
4f160 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 72 65 71 75 69 72 y,.$pool,.$installedMap,.$requir
4f180 65 64 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 6f 6c 69 63 79 2d 3e 63 6f 6d edPackage).{.return.$policy->com
4f1a0 70 61 72 65 42 79 50 72 69 6f 72 69 74 79 50 72 65 66 65 72 49 6e 73 74 61 6c 6c 65 64 28 24 70 pareByPriorityPreferInstalled($p
4f1c0 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 ool,.$installedMap,.$pool->liter
4f1e0 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 61 29 2c 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 alToPackage($a),.$pool->literalT
4f200 6f 50 61 63 6b 61 67 65 28 24 62 29 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 2c 20 oPackage($b),.$requiredPackage,.
4f220 74 72 75 65 29 3b 0a 7d 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 true);.});.}..foreach.($packages
4f240 20 61 73 20 26 24 6c 69 74 65 72 61 6c 73 29 20 7b 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 .as.&$literals).{.$literals.=.$t
4f260 68 69 73 2d 3e 70 72 75 6e 65 54 6f 48 69 67 68 65 73 74 50 72 69 6f 72 69 74 79 4f 72 49 6e 73 his->pruneToHighestPriorityOrIns
4f280 74 61 6c 6c 65 64 28 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 6c 69 talled($pool,.$installedMap,.$li
4f2a0 74 65 72 61 6c 73 29 3b 0a 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 75 terals);..$literals.=.$this->pru
4f2c0 6e 65 54 6f 42 65 73 74 56 65 72 73 69 6f 6e 28 24 70 6f 6f 6c 2c 20 24 6c 69 74 65 72 61 6c 73 neToBestVersion($pool,.$literals
4f2e0 29 3b 0a 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 75 6e 65 52 65 6d 6f );..$literals.=.$this->pruneRemo
4f300 74 65 41 6c 69 61 73 65 73 28 24 70 6f 6f 6c 2c 20 24 6c 69 74 65 72 61 6c 73 29 3b 0a 7d 0a 0a teAliases($pool,.$literals);.}..
4f320 24 73 65 6c 65 63 74 65 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 $selected.=.call_user_func_array
4f340 28 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 70 61 63 6b 61 67 65 73 29 3b 0a 0a 0a 20 75 ('array_merge',.$packages);....u
4f360 73 6f 72 74 28 24 73 65 6c 65 63 74 65 64 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 sort($selected,.function.($a,.$b
4f380 29 20 75 73 65 20 28 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 ).use.($policy,.$pool,.$installe
4f3a0 64 4d 61 70 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e dMap,.$requiredPackage).{.return
4f3c0 20 24 70 6f 6c 69 63 79 2d 3e 63 6f 6d 70 61 72 65 42 79 50 72 69 6f 72 69 74 79 50 72 65 66 65 .$policy->compareByPriorityPrefe
4f3e0 72 49 6e 73 74 61 6c 6c 65 64 28 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c rInstalled($pool,.$installedMap,
4f400 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 61 29 2c 20 24 70 .$pool->literalToPackage($a),.$p
4f420 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 62 29 2c 20 24 72 65 71 75 ool->literalToPackage($b),.$requ
4f440 69 72 65 64 50 61 63 6b 61 67 65 29 3b 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 73 65 6c 65 63 iredPackage);.});..return.$selec
4f460 74 65 64 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 72 6f 75 70 ted;.}..protected.function.group
4f480 4c 69 74 65 72 61 6c 73 42 79 4e 61 6d 65 50 72 65 66 65 72 49 6e 73 74 61 6c 6c 65 64 28 50 6f LiteralsByNamePreferInstalled(Po
4f4a0 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 ol.$pool,.array.$installedMap,.$
4f4c0 6c 69 74 65 72 61 6c 73 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b literals).{.$packages.=.array();
4f4e0 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 .foreach.($literals.as.$literal)
4f500 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c .{.$packageName.=.$pool->literal
4f520 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a ToPackage($literal)->getName();.
4f540 0a 69 66 20 28 21 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 4e 61 .if.(!isset($packages[$packageNa
4f560 6d 65 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 4e 61 6d 65 5d 20 me])).{.$packages[$packageName].
4f580 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c =.array();.}..if.(isset($install
4f5a0 65 64 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 29 20 7b 0a 61 72 72 61 79 5f 75 edMap[abs($literal)])).{.array_u
4f5c0 6e 73 68 69 66 74 28 24 70 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 4e 61 6d 65 5d 2c 20 nshift($packages[$packageName],.
4f5e0 24 6c 69 74 65 72 61 6c 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 24 70 $literal);.}.else.{.$packages[$p
4f600 61 63 6b 61 67 65 4e 61 6d 65 5d 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 7d 0a 7d 0a 0a 72 ackageName][].=.$literal;.}.}..r
4f620 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 eturn.$packages;.}.....public.fu
4f640 6e 63 74 69 6f 6e 20 63 6f 6d 70 61 72 65 42 79 50 72 69 6f 72 69 74 79 50 72 65 66 65 72 49 6e nction.compareByPriorityPreferIn
4f660 73 74 61 6c 6c 65 64 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 stalled(Pool.$pool,.array.$insta
4f680 6c 6c 65 64 4d 61 70 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 61 2c 20 50 61 lledMap,.PackageInterface.$a,.Pa
4f6a0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 62 2c 20 24 72 65 71 75 69 72 65 64 50 61 63 6b ckageInterface.$b,.$requiredPack
4f6c0 61 67 65 20 3d 20 6e 75 6c 6c 2c 20 24 69 67 6e 6f 72 65 52 65 70 6c 61 63 65 20 3d 20 66 61 6c age.=.null,.$ignoreReplace.=.fal
4f6e0 73 65 29 0a 7b 0a 69 66 20 28 24 61 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 20 3d 3d se).{.if.($a->getRepository().==
4f700 3d 20 24 62 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 29 20 7b 0a 0a 20 69 66 20 28 24 =.$b->getRepository()).{...if.($
4f720 61 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 62 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 a->getName().===.$b->getName()).
4f740 7b 0a 24 61 41 6c 69 61 73 65 64 20 3d 20 24 61 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 {.$aAliased.=.$a.instanceof.Alia
4f760 73 50 61 63 6b 61 67 65 3b 0a 24 62 41 6c 69 61 73 65 64 20 3d 20 24 62 20 69 6e 73 74 61 6e 63 sPackage;.$bAliased.=.$b.instanc
4f780 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 69 66 20 28 24 61 41 6c 69 61 73 65 64 20 eof.AliasPackage;.if.($aAliased.
4f7a0 26 26 20 21 24 62 41 6c 69 61 73 65 64 29 20 7b 0a 72 65 74 75 72 6e 20 2d 31 3b 20 0a 20 7d 0a &&.!$bAliased).{.return.-1;...}.
4f7c0 69 66 20 28 21 24 61 41 6c 69 61 73 65 64 20 26 26 20 24 62 41 6c 69 61 73 65 64 29 20 7b 0a 72 if.(!$aAliased.&&.$bAliased).{.r
4f7e0 65 74 75 72 6e 20 31 3b 20 0a 20 7d 0a 7d 0a 0a 69 66 20 28 21 24 69 67 6e 6f 72 65 52 65 70 6c eturn.1;...}.}..if.(!$ignoreRepl
4f800 61 63 65 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 73 28 24 61 2c ace).{...if.($this->replaces($a,
4f820 20 24 62 29 29 20 7b 0a 72 65 74 75 72 6e 20 31 3b 20 0a 20 7d 0a 69 66 20 28 24 74 68 69 73 2d .$b)).{.return.1;...}.if.($this-
4f840 3e 72 65 70 6c 61 63 65 73 28 24 62 2c 20 24 61 29 29 20 7b 0a 72 65 74 75 72 6e 20 2d 31 3b 20 >replaces($b,.$a)).{.return.-1;.
4f860 0a 20 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 26 26 ..}......if.($requiredPackage.&&
4f880 20 66 61 6c 73 65 20 21 3d 3d 20 28 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 72 65 71 75 69 .false.!==.($pos.=.strpos($requi
4f8a0 72 65 64 50 61 63 6b 61 67 65 2c 20 27 2f 27 29 29 29 20 7b 0a 24 72 65 71 75 69 72 65 64 56 65 redPackage,.'/'))).{.$requiredVe
4f8c0 6e 64 6f 72 20 3d 20 73 75 62 73 74 72 28 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 2c 20 ndor.=.substr($requiredPackage,.
4f8e0 30 2c 20 24 70 6f 73 29 3b 0a 0a 24 61 49 73 53 61 6d 65 56 65 6e 64 6f 72 20 3d 20 73 75 62 73 0,.$pos);..$aIsSameVendor.=.subs
4f900 74 72 28 24 61 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 30 2c 20 24 70 6f 73 29 20 3d 3d 3d 20 24 tr($a->getName(),.0,.$pos).===.$
4f920 72 65 71 75 69 72 65 64 56 65 6e 64 6f 72 3b 0a 24 62 49 73 53 61 6d 65 56 65 6e 64 6f 72 20 3d requiredVendor;.$bIsSameVendor.=
4f940 20 73 75 62 73 74 72 28 24 62 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 30 2c 20 24 70 6f 73 29 20 .substr($b->getName(),.0,.$pos).
4f960 3d 3d 3d 20 24 72 65 71 75 69 72 65 64 56 65 6e 64 6f 72 3b 0a 0a 69 66 20 28 24 62 49 73 53 61 ===.$requiredVendor;..if.($bIsSa
4f980 6d 65 56 65 6e 64 6f 72 20 21 3d 3d 20 24 61 49 73 53 61 6d 65 56 65 6e 64 6f 72 29 20 7b 0a 72 meVendor.!==.$aIsSameVendor).{.r
4f9a0 65 74 75 72 6e 20 24 61 49 73 53 61 6d 65 56 65 6e 64 6f 72 20 3f 20 2d 31 20 3a 20 31 3b 0a 7d eturn.$aIsSameVendor.?.-1.:.1;.}
4f9c0 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 61 2d 3e 69 64 20 3d 3d 3d 20 24 62 2d 3e 69 64 29 20 7b .}.}....if.($a->id.===.$b->id).{
4f9e0 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 24 61 2d 3e 69 64 20 3c 20 24 .return.0;.}..return.($a->id.<.$
4fa00 62 2d 3e 69 64 29 20 3f 20 2d 31 20 3a 20 31 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 69 b->id).?.-1.:.1;.}..if.(isset($i
4fa20 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 61 2d 3e 69 64 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 2d nstalledMap[$a->id])).{.return.-
4fa40 31 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 62 1;.}..if.(isset($installedMap[$b
4fa60 2d 3e 69 64 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 24 ->id])).{.return.1;.}..return.($
4fa80 74 68 69 73 2d 3e 67 65 74 50 72 69 6f 72 69 74 79 28 24 70 6f 6f 6c 2c 20 24 61 29 20 3e 20 24 this->getPriority($pool,.$a).>.$
4faa0 74 68 69 73 2d 3e 67 65 74 50 72 69 6f 72 69 74 79 28 24 70 6f 6f 6c 2c 20 24 62 29 29 20 3f 20 this->getPriority($pool,.$b)).?.
4fac0 2d 31 20 3a 20 31 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 -1.:.1;.}............protected.f
4fae0 75 6e 63 74 69 6f 6e 20 72 65 70 6c 61 63 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 unction.replaces(PackageInterfac
4fb00 65 20 24 73 6f 75 72 63 65 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 e.$source,.PackageInterface.$tar
4fb20 67 65 74 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 73 6f 75 72 63 65 2d 3e 67 65 74 52 65 70 6c get).{.foreach.($source->getRepl
4fb40 61 63 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e 67 65 aces().as.$link).{.if.($link->ge
4fb60 74 54 61 72 67 65 74 28 29 20 3d 3d 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 4e 61 6d 65 28 29 tTarget().===.$target->getName()
4fb80 0a 0a 0a 20 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e ....).{.return.true;.}.}..return
4fba0 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 .false;.}..protected.function.pr
4fbc0 75 6e 65 54 6f 42 65 73 74 56 65 72 73 69 6f 6e 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 24 6c 69 uneToBestVersion(Pool.$pool,.$li
4fbe0 74 65 72 61 6c 73 29 0a 7b 0a 24 6f 70 65 72 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 terals).{.$operator.=.$this->pre
4fc00 66 65 72 4c 6f 77 65 73 74 20 3f 20 27 3c 27 20 3a 20 27 3e 27 3b 0a 24 62 65 73 74 4c 69 74 65 ferLowest.?.'<'.:.'>';.$bestLite
4fc20 72 61 6c 73 20 3d 20 61 72 72 61 79 28 24 6c 69 74 65 72 61 6c 73 5b 30 5d 29 3b 0a 24 62 65 73 rals.=.array($literals[0]);.$bes
4fc40 74 50 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 tPackage.=.$pool->literalToPacka
4fc60 67 65 28 24 6c 69 74 65 72 61 6c 73 5b 30 5d 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 ge($literals[0]);.foreach.($lite
4fc80 72 61 6c 73 20 61 73 20 24 69 20 3d 3e 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 30 20 rals.as.$i.=>.$literal).{.if.(0.
4fca0 3d 3d 3d 20 24 69 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 20 ===.$i).{.continue;.}..$package.
4fcc0 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 =.$pool->literalToPackage($liter
4fce0 61 6c 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 al);..if.($this->versionCompare(
4fd00 24 70 61 63 6b 61 67 65 2c 20 24 62 65 73 74 50 61 63 6b 61 67 65 2c 20 24 6f 70 65 72 61 74 6f $package,.$bestPackage,.$operato
4fd20 72 29 29 20 7b 0a 24 62 65 73 74 50 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 24 r)).{.$bestPackage.=.$package;.$
4fd40 62 65 73 74 4c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 28 24 6c 69 74 65 72 61 6c 29 3b 0a bestLiterals.=.array($literal);.
4fd60 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 }.elseif.($this->versionCompare(
4fd80 24 70 61 63 6b 61 67 65 2c 20 24 62 65 73 74 50 61 63 6b 61 67 65 2c 20 27 3d 3d 27 29 29 20 7b $package,.$bestPackage,.'==')).{
4fda0 0a 24 62 65 73 74 4c 69 74 65 72 61 6c 73 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 7d 0a 7d .$bestLiterals[].=.$literal;.}.}
4fdc0 0a 0a 72 65 74 75 72 6e 20 24 62 65 73 74 4c 69 74 65 72 61 6c 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 ..return.$bestLiterals;.}.....pr
4fde0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 75 6e 65 54 6f 48 69 67 68 65 73 74 50 otected.function.pruneToHighestP
4fe00 72 69 6f 72 69 74 79 4f 72 49 6e 73 74 61 6c 6c 65 64 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 riorityOrInstalled(Pool.$pool,.a
4fe20 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 61 72 72 61 79 20 24 6c 69 74 65 72 rray.$installedMap,.array.$liter
4fe40 61 6c 73 29 0a 7b 0a 24 73 65 6c 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 70 72 als).{.$selected.=.array();..$pr
4fe60 69 6f 72 69 74 79 20 3d 20 6e 75 6c 6c 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 iority.=.null;..foreach.($litera
4fe80 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 6f ls.as.$literal).{.$package.=.$po
4fea0 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a ol->literalToPackage($literal);.
4fec0 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 .if.(isset($installedMap[$packag
4fee0 65 2d 3e 69 64 5d 29 29 20 7b 0a 24 73 65 6c 65 63 74 65 64 5b 5d 20 3d 20 24 6c 69 74 65 72 61 e->id])).{.$selected[].=.$litera
4ff00 6c 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 72 l;.continue;.}..if.(null.===.$pr
4ff20 69 6f 72 69 74 79 29 20 7b 0a 24 70 72 69 6f 72 69 74 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 iority).{.$priority.=.$this->get
4ff40 50 72 69 6f 72 69 74 79 28 24 70 6f 6f 6c 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 69 66 Priority($pool,.$package);.}..if
4ff60 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 69 6f 72 69 74 79 28 24 70 6f 6f 6c 2c 20 24 70 61 63 .($this->getPriority($pool,.$pac
4ff80 6b 61 67 65 29 20 21 3d 20 24 70 72 69 6f 72 69 74 79 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a kage).!=.$priority).{.break;.}..
4ffa0 24 73 65 6c 65 63 74 65 64 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 7d 0a 0a 72 65 74 75 72 $selected[].=.$literal;.}..retur
4ffc0 6e 20 24 73 65 6c 65 63 74 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 n.$selected;.}.......protected.f
4ffe0 75 6e 63 74 69 6f 6e 20 70 72 75 6e 65 52 65 6d 6f 74 65 41 6c 69 61 73 65 73 28 50 6f 6f 6c 20 unction.pruneRemoteAliases(Pool.
50000 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 6c 69 74 65 72 61 6c 73 29 0a 7b 0a 24 68 61 73 4c 6f $pool,.array.$literals).{.$hasLo
50020 63 61 6c 41 6c 69 61 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 calAlias.=.false;..foreach.($lit
50040 65 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 erals.as.$literal).{.$package.=.
50060 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c $pool->literalToPackage($literal
50080 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 );..if.($package.instanceof.Alia
500a0 73 50 61 63 6b 61 67 65 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 69 73 52 6f 6f 74 50 61 63 6b sPackage.&&.$package->isRootPack
500c0 61 67 65 41 6c 69 61 73 28 29 29 20 7b 0a 24 68 61 73 4c 6f 63 61 6c 41 6c 69 61 73 20 3d 20 74 ageAlias()).{.$hasLocalAlias.=.t
500e0 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 68 61 73 4c 6f 63 61 6c 41 rue;.break;.}.}..if.(!$hasLocalA
50100 6c 69 61 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 6c 69 74 65 72 61 6c 73 3b 0a 7d 0a 0a 24 73 65 lias).{.return.$literals;.}..$se
50120 6c 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 lected.=.array();.foreach.($lite
50140 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 rals.as.$literal).{.$package.=.$
50160 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 pool->literalToPackage($literal)
50180 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 ;..if.($package.instanceof.Alias
501a0 50 61 63 6b 61 67 65 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 69 73 52 6f 6f 74 50 61 63 6b 61 Package.&&.$package->isRootPacka
501c0 67 65 41 6c 69 61 73 28 29 29 20 7b 0a 24 73 65 6c 65 63 74 65 64 5b 5d 20 3d 20 24 6c 69 74 65 geAlias()).{.$selected[].=.$lite
501e0 72 61 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 65 6c 65 63 74 65 64 3b 0a 7d 0a 7d 0a ral;.}.}..return.$selected;.}.}.
50200 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
50220 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d ser\DependencyResolver;..use.Com
50240 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a poser\Package\PackageInterface;.
50260 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 0a 0a 0a 0a 63 use.Composer\Package\Link;.....c
50280 6c 61 73 73 20 47 65 6e 65 72 69 63 52 75 6c 65 20 65 78 74 65 6e 64 73 20 52 75 6c 65 0a 7b 0a lass.GenericRule.extends.Rule.{.
502a0 70 72 6f 74 65 63 74 65 64 20 24 6c 69 74 65 72 61 6c 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c protected.$literals;........publ
502c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 6c ic.function.__construct(array.$l
502e0 69 74 65 72 61 6c 73 2c 20 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 2c 20 24 iterals,.$reason,.$reasonData,.$
50300 6a 6f 62 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 job.=.null).{.parent::__construc
50320 74 28 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 2c 20 24 6a 6f 62 29 3b 0a 0a t($reason,.$reasonData,.$job);..
50340 0a 20 73 6f 72 74 28 24 6c 69 74 65 72 61 6c 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 6c 69 74 65 72 ..sort($literals);..$this->liter
50360 61 6c 73 20 3d 20 24 6c 69 74 65 72 61 6c 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 als.=.$literals;.}..public.funct
50380 69 6f 6e 20 67 65 74 4c 69 74 65 72 61 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ion.getLiterals().{.return.$this
503a0 2d 3e 6c 69 74 65 72 61 6c 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 ->literals;.}..public.function.g
503c0 65 74 48 61 73 68 28 29 0a 7b 0a 24 64 61 74 61 20 3d 20 75 6e 70 61 63 6b 28 27 69 68 61 73 68 etHash().{.$data.=.unpack('ihash
503e0 27 2c 20 6d 64 35 28 69 6d 70 6c 6f 64 65 28 27 2c 27 2c 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 ',.md5(implode(',',.$this->liter
50400 61 6c 73 29 2c 20 74 72 75 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 5b 27 68 61 73 als),.true));..return.$data['has
50420 68 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 h'];.}..........public.function.
50440 65 71 75 61 6c 73 28 52 75 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 equals(Rule.$rule).{.return.$thi
50460 73 2d 3e 6c 69 74 65 72 61 6c 73 20 3d 3d 3d 20 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 s->literals.===.$rule->getLitera
50480 6c 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 73 73 65 72 ls();.}..public.function.isAsser
504a0 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 74 68 69 tion().{.return.1.===.count($thi
504c0 73 2d 3e 6c 69 74 65 72 61 6c 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e s->literals);.}.......public.fun
504e0 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 ction.__toString().{.$result.=.$
50500 74 68 69 73 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 20 3f 20 27 64 69 73 61 62 6c 65 64 28 27 this->isDisabled().?.'disabled('
50520 20 3a 20 27 28 27 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c .:.'(';..foreach.($this->literal
50540 73 20 61 73 20 24 69 20 3d 3e 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 69 20 21 3d s.as.$i.=>.$literal).{.if.($i.!=
50560 20 30 29 20 7b 0a 24 72 65 73 75 6c 74 20 2e 3d 20 27 7c 27 3b 0a 7d 0a 24 72 65 73 75 6c 74 20 .0).{.$result..=.'|';.}.$result.
50580 2e 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 2e 3d 20 27 29 27 3b 0a .=.$literal;.}..$result..=.')';.
505a0 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a .return.$result;.}.}.<?php......
505c0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 ......namespace.Composer\Depende
505e0 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 ncyResolver\Operation;..use.Comp
50600 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a oser\Package\PackageInterface;..
50620 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 20 65 78 74 65 .....class.InstallOperation.exte
50640 6e 64 73 20 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 nds.SolverOperation.{.protected.
50660 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e $package;........public.function
50680 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 .__construct(PackageInterface.$p
506a0 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 ackage,.$reason.=.null).{.parent
506c0 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 29 3b 0a 0a 24 74 68 69 73 2d 3e ::__construct($reason);..$this->
506e0 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c package.=.$package;.}.......publ
50700 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 ic.function.getPackage().{.retur
50720 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 n.$this->package;.}.......public
50740 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 .function.getJobType().{.return.
50760 27 69 6e 73 74 61 6c 6c 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 'install';.}.....public.function
50780 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 49 6e 73 74 61 6c 6c 69 .__toString().{.return.'Installi
507a0 6e 67 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 ng.'.$this->package->getPrettyNa
507c0 6d 65 28 29 2e 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 me().'.('.$this->formatVersion($
507e0 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 29 2e 27 29 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a this->package).')';.}.}.<?php...
50800 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 .........namespace.Composer\Depe
50820 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 75 73 65 20 43 ndencyResolver\Operation;..use.C
50840 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 omposer\Package\AliasPackage;.us
50860 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 e.Composer\Package\PackageInterf
50880 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c ace;.......class.MarkAliasInstal
508a0 6c 65 64 4f 70 65 72 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 53 6f 6c 76 65 72 4f 70 65 72 61 ledOperation.extends.SolverOpera
508c0 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a tion.{.protected.$package;......
508e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 41 6c ..public.function.__construct(Al
50900 69 61 73 50 61 63 6b 61 67 65 20 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 20 3d 20 6e iasPackage.$package,.$reason.=.n
50920 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 ull).{.parent::__construct($reas
50940 6f 6e 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b on);..$this->package.=.$package;
50960 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b .}.......public.function.getPack
50980 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 3b 0a 7d age().{.return.$this->package;.}
509a0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 54 79 70 .......public.function.getJobTyp
509c0 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 6d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 e().{.return.'markAliasInstalled
509e0 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 ';.}.....public.function.__toStr
50a00 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 4d 61 72 6b 69 6e 67 20 27 2e 24 74 68 69 73 2d ing().{.return.'Marking.'.$this-
50a20 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 >package->getPrettyName().'.('.$
50a40 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 this->formatVersion($this->packa
50a60 67 65 29 2e 27 29 20 61 73 20 69 6e 73 74 61 6c 6c 65 64 2c 20 61 6c 69 61 73 20 6f 66 20 27 2e ge).').as.installed,.alias.of.'.
50a80 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 2d 3e 67 65 $this->package->getAliasOf()->ge
50aa0 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 tPrettyName().'.('.$this->format
50ac0 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 Version($this->package->getAlias
50ae0 4f 66 28 29 29 2e 27 29 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a Of()).')';.}.}.<?php............
50b00 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 namespace.Composer\DependencyRes
50b20 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 olver\Operation;..use.Composer\P
50b40 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ackage\AliasPackage;.use.Compose
50b60 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a r\Package\PackageInterface;.....
50b80 0a 0a 63 6c 61 73 73 20 4d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 ..class.MarkAliasUninstalledOper
50ba0 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 0a 7b 0a ation.extends.SolverOperation.{.
50bc0 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 protected.$package;........publi
50be0 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 41 6c 69 61 73 50 61 63 6b c.function.__construct(AliasPack
50c00 61 67 65 20 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a age.$package,.$reason.=.null).{.
50c20 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 29 3b 0a 0a 24 parent::__construct($reason);..$
50c40 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a this->package.=.$package;.}.....
50c60 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 28 29 0a 7b ..public.function.getPackage().{
50c80 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a .return.$this->package;.}.......
50ca0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 54 79 70 65 28 29 0a 7b 0a 72 public.function.getJobType().{.r
50cc0 65 74 75 72 6e 20 27 6d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 27 3b 0a 7d 0a eturn.'markAliasUninstalled';.}.
50ce0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 ....public.function.__toString()
50d00 0a 7b 0a 72 65 74 75 72 6e 20 27 4d 61 72 6b 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b .{.return.'Marking.'.$this->pack
50d20 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 74 68 69 73 2d age->getPrettyName().'.('.$this-
50d40 3e 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 29 2e 27 >formatVersion($this->package).'
50d60 29 20 61 73 20 75 6e 69 6e 73 74 61 6c 6c 65 64 2c 20 61 6c 69 61 73 20 6f 66 20 27 2e 24 74 68 ).as.uninstalled,.alias.of.'.$th
50d80 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 2d 3e 67 65 74 50 72 is->package->getAliasOf()->getPr
50da0 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 65 72 ettyName().'.('.$this->formatVer
50dc0 73 69 6f 6e 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 sion($this->package->getAliasOf(
50de0 29 29 2e 27 29 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d )).')';.}.}.<?php............nam
50e00 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 espace.Composer\DependencyResolv
50e20 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4f 70 er\Operation;.......interface.Op
50e40 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 erationInterface.{......public.f
50e60 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 54 79 70 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c unction.getJobType();.......publ
50e80 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 61 73 6f 6e 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 ic.function.getReason();.......p
50ea0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 3c ublic.function.__toString();.}.<
50ec0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
50ee0 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b er\DependencyResolver\Operation;
50f00 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e ..use.Composer\Package\PackageIn
50f20 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 53 6f terface;.......abstract.class.So
50f40 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4f 70 65 72 61 74 69 lverOperation.implements.Operati
50f60 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 61 73 6f 6e 3b onInterface.{.protected.$reason;
50f80 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 .......public.function.__constru
50fa0 63 74 28 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 73 ct($reason.=.null).{.$this->reas
50fc0 6f 6e 20 3d 20 24 72 65 61 73 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e on.=.$reason;.}.......public.fun
50fe0 63 74 69 6f 6e 20 67 65 74 52 65 61 73 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ction.getReason().{.return.$this
51000 2d 3e 72 65 61 73 6f 6e 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 ->reason;.}..protected.function.
51020 66 6f 72 6d 61 74 56 65 72 73 69 6f 6e 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 formatVersion(PackageInterface.$
51040 70 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 package).{.return.$package->getF
51060 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a ullPrettyVersion();.}.}.<?php...
51080 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 .........namespace.Composer\Depe
510a0 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 3b 0a 0a 75 73 65 20 43 ndencyResolver\Operation;..use.C
510c0 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 omposer\Package\PackageInterface
510e0 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e ;.......class.UninstallOperation
51100 20 65 78 74 65 6e 64 73 20 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 .extends.SolverOperation.{.prote
51120 63 74 65 64 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e cted.$package;........public.fun
51140 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 ction.__construct(PackageInterfa
51160 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 ce.$package,.$reason.=.null).{.p
51180 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 29 3b 0a 0a 24 74 arent::__construct($reason);..$t
511a0 68 69 73 2d 3e 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a his->package.=.$package;.}......
511c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a .public.function.getPackage().{.
511e0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 return.$this->package;.}.......p
51200 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 54 79 70 65 28 29 0a 7b 0a 72 65 ublic.function.getJobType().{.re
51220 74 75 72 6e 20 27 75 6e 69 6e 73 74 61 6c 6c 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 turn.'uninstall';.}.....public.f
51240 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 55 unction.__toString().{.return.'U
51260 6e 69 6e 73 74 61 6c 6c 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 ninstalling.'.$this->package->ge
51280 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 tPrettyName().'.('.$this->format
512a0 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 29 2e 27 29 27 3b 0a 7d 0a 7d Version($this->package).')';.}.}
512c0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
512e0 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f oser\DependencyResolver\Operatio
51300 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 n;..use.Composer\Package\Package
51320 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 70 64 61 74 65 4f 70 65 Interface;.......class.UpdateOpe
51340 72 61 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 53 6f 6c 76 65 72 4f 70 65 72 61 74 69 6f 6e 0a 7b ration.extends.SolverOperation.{
51360 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 3b 0a 70 72 6f 74 .protected.$initialPackage;.prot
51380 65 63 74 65 64 20 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ected.$targetPackage;.........pu
513a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 61 63 6b 61 67 blic.function.__construct(Packag
513c0 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 eInterface.$initial,.PackageInte
513e0 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b rface.$target,.$reason.=.null).{
51400 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 29 3b 0a 0a .parent::__construct($reason);..
51420 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 20 3d 20 24 69 6e 69 74 69 61 6c $this->initialPackage.=.$initial
51440 3b 0a 24 74 68 69 73 2d 3e 74 61 72 67 65 74 50 61 63 6b 61 67 65 20 3d 20 24 74 61 72 67 65 74 ;.$this->targetPackage.=.$target
51460 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 69 ;.}.......public.function.getIni
51480 74 69 61 6c 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e tialPackage().{.return.$this->in
514a0 69 74 69 61 6c 50 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e itialPackage;.}.......public.fun
514c0 63 74 69 6f 6e 20 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 ction.getTargetPackage().{.retur
514e0 6e 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 50 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a n.$this->targetPackage;.}.......
51500 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 54 79 70 65 28 29 0a 7b 0a 72 public.function.getJobType().{.r
51520 65 74 75 72 6e 20 27 75 70 64 61 74 65 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e eturn.'update';.}.....public.fun
51540 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 55 70 64 ction.__toString().{.return.'Upd
51560 61 74 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 2d 3e 67 ating.'.$this->initialPackage->g
51580 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 etPrettyName().'.('.$this->forma
515a0 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 29 2e tVersion($this->initialPackage).
515c0 27 29 20 74 6f 20 27 2e 0a 24 74 68 69 73 2d 3e 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 ').to.'..$this->targetPackage->g
515e0 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 20 27 20 28 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d etPrettyName()..'.('.$this->form
51600 61 74 56 65 72 73 69 6f 6e 28 24 74 68 69 73 2d 3e 74 61 72 67 65 74 50 61 63 6b 61 67 65 29 2e atVersion($this->targetPackage).
51620 27 29 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 ')';.}.}.<?php............namesp
51640 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b ace.Composer\DependencyResolver;
51660 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e ..use.Composer\Package\PackageIn
51680 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 50 6f 6c 69 63 79 49 6e 74 terface;.....interface.PolicyInt
516a0 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 65 72 73 69 6f 6e erface.{.public.function.version
516c0 43 6f 6d 70 61 72 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 61 2c 20 50 61 63 Compare(PackageInterface.$a,.Pac
516e0 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 62 2c 20 24 6f 70 65 72 61 74 6f 72 29 3b 0a 0a 70 kageInterface.$b,.$operator);..p
51700 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 55 70 64 61 74 65 50 61 63 6b 61 67 65 ublic.function.findUpdatePackage
51720 73 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 s(Pool.$pool,.array.$installedMa
51740 70 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a p,.PackageInterface.$package);..
51760 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 50 72 65 66 65 72 72 65 64 50 public.function.selectPreferredP
51780 61 63 6b 61 67 65 73 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 ackages(Pool.$pool,.array.$insta
517a0 6c 6c 65 64 4d 61 70 2c 20 61 72 72 61 79 20 24 6c 69 74 65 72 61 6c 73 2c 20 24 72 65 71 75 69 lledMap,.array.$literals,.$requi
517c0 72 65 64 50 61 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a redPackage.=.null);.}.<?php.....
517e0 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 .......namespace.Composer\Depend
51800 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b encyResolver;..use.Composer\Pack
51820 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 age\BasePackage;.use.Composer\Pa
51840 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 ckage\AliasPackage;.use.Composer
51860 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a \Package\Version\VersionParser;.
51880 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 use.Composer\Semver\Constraint\C
518a0 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 onstraintInterface;.use.Composer
518c0 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 \Semver\Constraint\Constraint;.u
518e0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 45 6d se.Composer\Semver\Constraint\Em
51900 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f ptyConstraint;.use.Composer\Repo
51920 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 sitory\RepositoryInterface;.use.
51940 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 Composer\Repository\CompositeRep
51960 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 ository;.use.Composer\Repository
51980 5c 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 \ComposerRepository;.use.Compose
519a0 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 r\Repository\InstalledRepository
519c0 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f Interface;.use.Composer\Reposito
519e0 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f ry\PlatformRepository;.use.Compo
51a00 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a ser\Package\PackageInterface;...
51a20 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 6f 6f 6c 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 43 6f 75 6e .....class.Pool.implements.\Coun
51a40 74 61 62 6c 65 0a 7b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 5f 4e 41 4d 45 20 3d 20 2d 31 3b 0a 63 table.{.const.MATCH_NAME.=.-1;.c
51a60 6f 6e 73 74 20 4d 41 54 43 48 5f 4e 4f 4e 45 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 onst.MATCH_NONE.=.0;.const.MATCH
51a80 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 4d 41 54 43 48 5f 50 52 4f 56 49 44 45 20 3d 20 32 3b 0a 63 .=.1;.const.MATCH_PROVIDE.=.2;.c
51aa0 6f 6e 73 74 20 4d 41 54 43 48 5f 52 45 50 4c 41 43 45 20 3d 20 33 3b 0a 63 6f 6e 73 74 20 4d 41 onst.MATCH_REPLACE.=.3;.const.MA
51ac0 54 43 48 5f 46 49 4c 54 45 52 45 44 20 3d 20 34 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 TCH_FILTERED.=.4;..protected.$re
51ae0 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 positories.=.array();.protected.
51b00 24 70 72 6f 76 69 64 65 72 52 65 70 6f 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 $providerRepos.=.array();.protec
51b20 74 65 64 20 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 ted.$packages.=.array();.protect
51b40 65 64 20 24 70 61 63 6b 61 67 65 42 79 4e 61 6d 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f ed.$packageByName.=.array();.pro
51b60 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 42 79 45 78 61 63 74 4e 61 6d 65 20 3d 20 61 72 72 tected.$packageByExactName.=.arr
51b80 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 63 63 65 70 74 61 62 6c 65 53 74 61 62 69 ay();.protected.$acceptableStabi
51ba0 6c 69 74 69 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 lities;.protected.$stabilityFlag
51bc0 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 6f s;.protected.$versionParser;.pro
51be0 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 72 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b tected.$providerCache.=.array();
51c00 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 3b 0a 70 72 6f 74 .protected.$filterRequires;.prot
51c20 65 63 74 65 64 20 24 77 68 69 74 65 6c 69 73 74 20 3d 20 6e 75 6c 6c 3b 0a 70 72 6f 74 65 63 74 ected.$whitelist.=.null;.protect
51c40 65 64 20 24 69 64 20 3d 20 31 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 ed.$id.=.1;..public.function.__c
51c60 6f 6e 73 74 72 75 63 74 28 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 onstruct($minimumStability.=.'st
51c80 61 62 6c 65 27 2c 20 61 72 72 61 79 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 61 able',.array.$stabilityFlags.=.a
51ca0 72 72 61 79 28 29 2c 20 61 72 72 61 79 20 24 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 20 3d 20 rray(),.array.$filterRequires.=.
51cc0 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 array()).{.$this->versionParser.
51ce0 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 24 74 68 69 73 2d 3e 61 63 63 65 =.new.VersionParser;.$this->acce
51d00 70 74 61 62 6c 65 53 74 61 62 69 6c 69 74 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 ptableStabilities.=.array();.for
51d20 65 61 63 68 20 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 20 each.(BasePackage::$stabilities.
51d40 61 73 20 24 73 74 61 62 69 6c 69 74 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 as.$stability.=>.$value).{.if.($
51d60 76 61 6c 75 65 20 3c 3d 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 value.<=.BasePackage::$stabiliti
51d80 65 73 5b 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 5d 29 20 7b 0a 24 74 68 69 73 2d 3e es[$minimumStability]).{.$this->
51da0 61 63 63 65 70 74 61 62 6c 65 53 74 61 62 69 6c 69 74 69 65 73 5b 24 73 74 61 62 69 6c 69 74 79 acceptableStabilities[$stability
51dc0 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 ].=.$value;.}.}.$this->stability
51de0 46 6c 61 67 73 20 3d 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 3b 0a 24 74 68 69 73 2d 3e Flags.=.$stabilityFlags;.$this->
51e00 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 20 3d 20 24 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 filterRequires.=.$filterRequires
51e20 3b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 20 61 73 20 24 6e ;.foreach.($filterRequires.as.$n
51e40 61 6d 65 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d ame.=>.$constraint).{.if.(preg_m
51e60 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 atch(PlatformRepository::PLATFOR
51e80 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 75 6e 73 65 74 M_PACKAGE_REGEX,.$name)).{.unset
51ea0 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 5b 24 6e 61 6d 65 5d 29 3b 0a ($this->filterRequires[$name]);.
51ec0 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 68 69 74 65 6c }.}.}..public.function.setWhitel
51ee0 69 73 74 28 24 77 68 69 74 65 6c 69 73 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 ist($whitelist).{.$this->whiteli
51f00 73 74 20 3d 20 24 77 68 69 74 65 6c 69 73 74 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 st.=.$whitelist;.$this->provider
51f20 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 Cache.=.array();.}........public
51f40 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f .function.addRepository(Reposito
51f60 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 24 72 6f 6f 74 41 6c 69 61 73 65 73 20 ryInterface.$repo,.$rootAliases.
51f80 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f =.array()).{.if.($repo.instanceo
51fa0 66 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 72 65 70 6f 73 20 f.CompositeRepository).{.$repos.
51fc0 3d 20 24 72 65 70 6f 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 3b 0a 7d 20 65 6c =.$repo->getRepositories();.}.el
51fe0 73 65 20 7b 0a 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 28 24 72 65 70 6f 29 3b 0a 7d 0a 0a 66 se.{.$repos.=.array($repo);.}..f
52000 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 24 74 68 69 73 oreach.($repos.as.$repo).{.$this
52020 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 5d 20 3d 20 24 72 65 70 6f 3b 0a 0a 24 65 78 65 6d ->repositories[].=.$repo;..$exem
52040 70 74 20 3d 20 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 50 6c 61 74 66 6f 72 6d 52 65 pt.=.$repo.instanceof.PlatformRe
52060 70 6f 73 69 74 6f 72 79 20 7c 7c 20 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 73 pository.||.$repo.instanceof.Ins
52080 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 0a 69 66 20 28 talledRepositoryInterface;..if.(
520a0 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 $repo.instanceof.ComposerReposit
520c0 6f 72 79 20 26 26 20 24 72 65 70 6f 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 29 20 7b 0a ory.&&.$repo->hasProviders()).{.
520e0 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 52 65 70 6f 73 5b 5d 20 3d 20 24 72 65 70 6f 3b 0a $this->providerRepos[].=.$repo;.
52100 24 72 65 70 6f 2d 3e 73 65 74 52 6f 6f 74 41 6c 69 61 73 65 73 28 24 72 6f 6f 74 41 6c 69 61 73 $repo->setRootAliases($rootAlias
52120 65 73 29 3b 0a 24 72 65 70 6f 2d 3e 72 65 73 65 74 50 61 63 6b 61 67 65 49 64 73 28 29 3b 0a 7d es);.$repo->resetPackageIds();.}
52140 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 .else.{.foreach.($repo->getPacka
52160 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 6e 61 6d 65 73 20 3d 20 24 70 ges().as.$package).{.$names.=.$p
52180 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d ackage->getNames();.$stability.=
521a0 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 69 66 20 28 24 .$package->getStability();.if.($
521c0 65 78 65 6d 70 74 20 7c 7c 20 24 74 68 69 73 2d 3e 69 73 50 61 63 6b 61 67 65 41 63 63 65 70 74 exempt.||.$this->isPackageAccept
521e0 61 62 6c 65 28 24 6e 61 6d 65 73 2c 20 24 73 74 61 62 69 6c 69 74 79 29 29 20 7b 0a 24 70 61 63 able($names,.$stability)).{.$pac
52200 6b 61 67 65 2d 3e 73 65 74 49 64 28 24 74 68 69 73 2d 3e 69 64 2b 2b 29 3b 0a 24 74 68 69 73 2d kage->setId($this->id++);.$this-
52220 3e 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 24 74 68 69 73 2d 3e 70 >packages[].=.$package;.$this->p
52240 61 63 6b 61 67 65 42 79 45 78 61 63 74 4e 61 6d 65 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e ackageByExactName[$package->getN
52260 61 6d 65 28 29 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b ame()][$package->id].=.$package;
52280 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 20 61 73 20 24 70 72 6f 76 69 64 65 64 29 20 ..foreach.($names.as.$provided).
522a0 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 4e 61 6d 65 5b 24 70 72 6f 76 69 64 65 64 {.$this->packageByName[$provided
522c0 5d 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 20 24 6e 61 6d 65 20 3d 20 24 70 61 ][].=.$package;.}....$name.=.$pa
522e0 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 72 6f 6f ckage->getName();.if.(isset($roo
52300 74 41 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 tAliases[$name][$package->getVer
52320 73 69 6f 6e 28 29 5d 29 29 20 7b 0a 24 61 6c 69 61 73 20 3d 20 24 72 6f 6f 74 41 6c 69 61 73 65 sion()])).{.$alias.=.$rootAliase
52340 73 5b 24 6e 61 6d 65 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d s[$name][$package->getVersion()]
52360 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 ;.if.($package.instanceof.AliasP
52380 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 ackage).{.$package.=.$package->g
523a0 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 24 61 6c 69 61 73 50 61 63 6b 61 67 65 20 3d 20 6e etAliasOf();.}.$aliasPackage.=.n
523c0 65 77 20 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 61 6c 69 61 73 ew.AliasPackage($package,.$alias
523e0 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2c 20 24 61 6c 69 61 73 5b 27 61 6c ['alias_normalized'],.$alias['al
52400 69 61 73 27 5d 29 3b 0a 24 61 6c 69 61 73 50 61 63 6b 61 67 65 2d 3e 73 65 74 52 6f 6f 74 50 61 ias']);.$aliasPackage->setRootPa
52420 63 6b 61 67 65 41 6c 69 61 73 28 74 72 75 65 29 3b 0a 24 61 6c 69 61 73 50 61 63 6b 61 67 65 2d ckageAlias(true);.$aliasPackage-
52440 3e 73 65 74 49 64 28 24 74 68 69 73 2d 3e 69 64 2b 2b 29 3b 0a 0a 24 70 61 63 6b 61 67 65 2d 3e >setId($this->id++);..$package->
52460 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 61 6c 69 getRepository()->addPackage($ali
52480 61 73 50 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 asPackage);.$this->packages[].=.
524a0 24 61 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 45 $aliasPackage;.$this->packageByE
524c0 78 61 63 74 4e 61 6d 65 5b 24 61 6c 69 61 73 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 xactName[$aliasPackage->getName(
524e0 29 5d 5b 24 61 6c 69 61 73 50 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 24 61 6c 69 61 73 50 61 )][$aliasPackage->id].=.$aliasPa
52500 63 6b 61 67 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 6c 69 61 73 50 61 63 6b 61 67 65 2d 3e ckage;..foreach.($aliasPackage->
52520 67 65 74 4e 61 6d 65 73 28 29 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 getNames().as.$name).{.$this->pa
52540 63 6b 61 67 65 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 5b 5d 20 3d 20 24 61 6c 69 61 73 50 61 63 ckageByName[$name][].=.$aliasPac
52560 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 kage;.}.}.}.}.}.}.}..public.func
52580 74 69 6f 6e 20 67 65 74 50 72 69 6f 72 69 74 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 tion.getPriority(RepositoryInter
525a0 66 61 63 65 20 24 72 65 70 6f 29 0a 7b 0a 24 70 72 69 6f 72 69 74 79 20 3d 20 61 72 72 61 79 5f face.$repo).{.$priority.=.array_
525c0 73 65 61 72 63 68 28 24 72 65 70 6f 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 search($repo,.$this->repositorie
525e0 73 2c 20 74 72 75 65 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 70 72 69 6f 72 69 s,.true);..if.(false.===.$priori
52600 74 79 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f ty).{.throw.new.\RuntimeExceptio
52620 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 64 65 74 65 72 6d 69 6e 65 20 72 65 70 6f 73 69 74 6f 72 n("Could.not.determine.repositor
52640 79 20 70 72 69 6f 72 69 74 79 2e 20 54 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 77 61 73 20 6e y.priority..The.repository.was.n
52660 6f 74 20 72 65 67 69 73 74 65 72 65 64 20 69 6e 20 74 68 65 20 70 6f 6f 6c 2e 22 29 3b 0a 7d 0a ot.registered.in.the.pool.");.}.
52680 0a 72 65 74 75 72 6e 20 2d 24 70 72 69 6f 72 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 .return.-$priority;.}........pub
526a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 63 6b 61 67 65 42 79 49 64 28 24 69 64 29 0a 7b 0a lic.function.packageById($id).{.
526c0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 24 69 64 20 2d 20 31 5d 3b return.$this->packages[$id.-.1];
526e0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 0a 7b .}.....public.function.count().{
52700 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 29 3b 0a .return.count($this->packages);.
52720 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 68 }.............public.function.wh
52740 61 74 50 72 6f 76 69 64 65 73 28 24 6e 61 6d 65 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 atProvides($name,.ConstraintInte
52760 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 2c 20 24 6d 75 73 74 4d rface.$constraint.=.null,.$mustM
52780 61 74 63 68 4e 61 6d 65 20 3d 20 66 61 6c 73 65 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 atchName.=.false,.$bypassFilters
527a0 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 29 20 .=.false).{.if.($bypassFilters).
527c0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 70 75 74 65 57 68 61 74 50 72 6f 76 69 {.return.$this->computeWhatProvi
527e0 64 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 75 73 74 4d 61 74 des($name,.$constraint,.$mustMat
52800 63 68 4e 61 6d 65 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 6b 65 79 20 3d 20 28 28 69 6e 74 29 20 chName,.true);.}..$key.=.((int).
52820 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 29 2e 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 69 66 20 $mustMatchName).$constraint;.if.
52840 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 43 61 63 68 65 5b 24 6e 61 6d (isset($this->providerCache[$nam
52860 65 5d 5b 24 6b 65 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 e][$key])).{.return.$this->provi
52880 64 65 72 43 61 63 68 65 5b 24 6e 61 6d 65 5d 5b 24 6b 65 79 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e derCache[$name][$key];.}..return
528a0 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 43 61 63 68 65 5b 24 6e 61 6d 65 5d 5b 24 6b 65 .$this->providerCache[$name][$ke
528c0 79 5d 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 75 74 65 57 68 61 74 50 72 6f 76 69 64 65 73 28 y].=.$this->computeWhatProvides(
528e0 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 75 73 74 4d 61 74 63 68 4e 61 $name,.$constraint,.$mustMatchNa
52900 6d 65 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 me,.$bypassFilters);.}.....priva
52920 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 75 74 65 57 68 61 74 50 72 6f 76 69 64 65 73 28 te.function.computeWhatProvides(
52940 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 75 73 74 4d 61 74 63 68 4e 61 $name,.$constraint,.$mustMatchNa
52960 6d 65 20 3d 20 66 61 6c 73 65 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 20 3d 20 66 61 6c me.=.false,.$bypassFilters.=.fal
52980 73 65 29 0a 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f se).{.$candidates.=.array();..fo
529a0 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 52 65 70 6f 73 20 61 73 20 24 reach.($this->providerRepos.as.$
529c0 72 65 70 6f 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 77 68 61 74 50 72 6f 76 repo).{.foreach.($repo->whatProv
529e0 69 64 65 73 28 24 74 68 69 73 2c 20 24 6e 61 6d 65 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 ides($this,.$name,.$bypassFilter
52a00 73 29 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 5b s).as.$candidate).{.$candidates[
52a20 5d 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 2d 3e ].=.$candidate;.if.($candidate->
52a40 69 64 20 3c 20 31 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 2d 3e 73 65 74 49 64 28 24 74 68 69 id.<.1).{.$candidate->setId($thi
52a60 73 2d 3e 69 64 2b 2b 29 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 5b 24 74 68 69 73 2d s->id++);.$this->packages[$this-
52a80 3e 69 64 20 2d 20 32 5d 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 >id.-.2].=.$candidate;.}.}.}..if
52aa0 20 28 24 6d 75 73 74 4d 61 74 63 68 4e 61 6d 65 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 .($mustMatchName).{.$candidates.
52ac0 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 63 61 6e 64 69 64 61 74 65 73 2c 20 66 75 6e 63 =.array_filter($candidates,.func
52ae0 74 69 6f 6e 20 28 24 63 61 6e 64 69 64 61 74 65 29 20 75 73 65 20 28 24 6e 61 6d 65 29 20 7b 0a tion.($candidate).use.($name).{.
52b00 72 65 74 75 72 6e 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 20 return.$candidate->getName().==.
52b20 24 6e 61 6d 65 3b 0a 7d 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 61 63 6b $name;.});.if.(isset($this->pack
52b40 61 67 65 42 79 45 78 61 63 74 4e 61 6d 65 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 63 61 6e 64 69 ageByExactName[$name])).{.$candi
52b60 64 61 74 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 63 61 6e 64 69 64 61 74 65 73 2c dates.=.array_merge($candidates,
52b80 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 45 78 61 63 74 4e 61 6d 65 5b 24 6e 61 6d 65 .$this->packageByExactName[$name
52ba0 5d 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 61 63 ]);.}.}.elseif.(isset($this->pac
52bc0 6b 61 67 65 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 kageByName[$name])).{.$candidate
52be0 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 63 61 6e 64 69 64 61 74 65 73 2c 20 24 74 68 s.=.array_merge($candidates,.$th
52c00 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 24 6d is->packageByName[$name]);.}..$m
52c20 61 74 63 68 65 73 20 3d 20 24 70 72 6f 76 69 64 65 4d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 atches.=.$provideMatches.=.array
52c40 28 29 3b 0a 24 6e 61 6d 65 4d 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 0a 66 6f 72 65 61 63 68 ();.$nameMatch.=.false;..foreach
52c60 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 24 .($candidates.as.$candidate).{.$
52c80 61 6c 69 61 73 4f 66 43 61 6e 64 69 64 61 74 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 0a 20 69 66 aliasOfCandidate.=.null;......if
52ca0 20 28 24 63 61 6e 64 69 64 61 74 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 .($candidate.instanceof.AliasPac
52cc0 6b 61 67 65 29 20 7b 0a 24 61 6c 69 61 73 4f 66 43 61 6e 64 69 64 61 74 65 20 3d 20 24 63 61 6e kage).{.$aliasOfCandidate.=.$can
52ce0 64 69 64 61 74 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 didate->getAliasOf();.}..if.($th
52d00 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 20 21 3d 3d 20 6e 75 6c 6c 20 26 26 20 21 24 62 79 70 61 is->whitelist.!==.null.&&.!$bypa
52d20 73 73 46 69 6c 74 65 72 73 20 26 26 20 28 0a 28 21 28 24 63 61 6e 64 69 64 61 74 65 20 69 6e 73 ssFilters.&&.(.(!($candidate.ins
52d40 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 26 26 20 21 69 73 73 65 74 28 tanceof.AliasPackage).&&.!isset(
52d60 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 5b 24 63 61 6e 64 69 64 61 74 65 2d 3e 69 64 5d $this->whitelist[$candidate->id]
52d80 29 29 20 7c 7c 0a 28 24 63 61 6e 64 69 64 61 74 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 )).||.($candidate.instanceof.Ali
52da0 61 73 50 61 63 6b 61 67 65 20 26 26 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 77 68 69 74 65 asPackage.&&.!isset($this->white
52dc0 6c 69 73 74 5b 24 61 6c 69 61 73 4f 66 43 61 6e 64 69 64 61 74 65 2d 3e 69 64 5d 29 29 0a 29 29 list[$aliasOfCandidate->id])).))
52de0 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 73 77 69 74 63 68 20 28 24 74 68 69 73 2d 3e 6d 61 .{.continue;.}.switch.($this->ma
52e00 74 63 68 28 24 63 61 6e 64 69 64 61 74 65 2c 20 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 tch($candidate,.$name,.$constrai
52e20 6e 74 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 29 29 20 7b 0a 63 61 73 65 20 73 65 6c 66 nt,.$bypassFilters)).{.case.self
52e40 3a 3a 4d 41 54 43 48 5f 4e 4f 4e 45 3a 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a ::MATCH_NONE:.break;..case.self:
52e60 3a 4d 41 54 43 48 5f 4e 41 4d 45 3a 0a 24 6e 61 6d 65 4d 61 74 63 68 20 3d 20 74 72 75 65 3b 0a :MATCH_NAME:.$nameMatch.=.true;.
52e80 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 3a 0a 24 6e 61 6d 65 4d break;..case.self::MATCH:.$nameM
52ea0 61 74 63 68 20 3d 20 74 72 75 65 3b 0a 24 6d 61 74 63 68 65 73 5b 5d 20 3d 20 24 63 61 6e 64 69 atch.=.true;.$matches[].=.$candi
52ec0 64 61 74 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 50 date;.break;..case.self::MATCH_P
52ee0 52 4f 56 49 44 45 3a 0a 24 70 72 6f 76 69 64 65 4d 61 74 63 68 65 73 5b 5d 20 3d 20 24 63 61 6e ROVIDE:.$provideMatches[].=.$can
52f00 64 69 64 61 74 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 didate;.break;..case.self::MATCH
52f20 5f 52 45 50 4c 41 43 45 3a 0a 24 6d 61 74 63 68 65 73 5b 5d 20 3d 20 24 63 61 6e 64 69 64 61 74 _REPLACE:.$matches[].=.$candidat
52f40 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 46 49 4c 54 e;.break;..case.self::MATCH_FILT
52f60 45 52 45 44 3a 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 ERED:.break;..default:.throw.new
52f80 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 65 78 .\UnexpectedValueException('Unex
52fa0 70 65 63 74 65 64 20 6d 61 74 63 68 20 74 79 70 65 27 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 pected.match.type');.}.}....if.(
52fc0 24 6e 61 6d 65 4d 61 74 63 68 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 3b 0a 7d $nameMatch).{.return.$matches;.}
52fe0 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6d 61 74 63 68 65 73 2c 20 24 ..return.array_merge($matches,.$
53000 70 72 6f 76 69 64 65 4d 61 74 63 68 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 provideMatches);.}..public.funct
53020 69 6f 6e 20 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 0a 7b ion.literalToPackage($literal).{
53040 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 61 62 73 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 72 65 .$packageId.=.abs($literal);..re
53060 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 42 79 49 64 28 24 70 61 63 6b 61 67 65 turn.$this->packageById($package
53080 49 64 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 69 74 65 72 61 6c 54 Id);.}..public.function.literalT
530a0 6f 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 6c 69 74 65 72 61 6c 2c 20 24 69 6e 73 74 61 6c 6c oPrettyString($literal,.$install
530c0 65 64 4d 61 70 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 edMap).{.$package.=.$this->liter
530e0 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 69 73 73 65 alToPackage($literal);..if.(isse
53100 74 28 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 t($installedMap[$package->id])).
53120 7b 0a 24 70 72 65 66 69 78 20 3d 20 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 20 3f 20 27 6b 65 65 {.$prefix.=.($literal.>.0.?.'kee
53140 70 27 20 3a 20 27 72 65 6d 6f 76 65 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 65 66 69 78 p'.:.'remove');.}.else.{.$prefix
53160 20 3d 20 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 20 3f 20 27 69 6e 73 74 61 6c 6c 27 20 3a 20 27 .=.($literal.>.0.?.'install'.:.'
53180 64 6f 6e 5c 27 74 20 69 6e 73 74 61 6c 6c 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 don\'t.install');.}..return.$pre
531a0 66 69 78 2e 27 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e fix.'.'.$package->getPrettyStrin
531c0 67 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 61 63 6b 61 67 g();.}..public.function.isPackag
531e0 65 41 63 63 65 70 74 61 62 6c 65 28 24 6e 61 6d 65 2c 20 24 73 74 61 62 69 6c 69 74 79 29 0a 7b eAcceptable($name,.$stability).{
53200 0a 66 6f 72 65 61 63 68 20 28 28 61 72 72 61 79 29 20 24 6e 61 6d 65 20 61 73 20 24 6e 29 20 7b .foreach.((array).$name.as.$n).{
53220 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 46 6c ...if.(!isset($this->stabilityFl
53240 61 67 73 5b 24 6e 5d 29 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 63 63 65 70 74 61 ags[$n]).&&.isset($this->accepta
53260 62 6c 65 53 74 61 62 69 6c 69 74 69 65 73 5b 24 73 74 61 62 69 6c 69 74 79 5d 29 29 20 7b 0a 72 bleStabilities[$stability])).{.r
53280 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 eturn.true;.}....if.(isset($this
532a0 2d 3e 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 5d 29 20 26 26 20 42 61 73 65 50 61 63 ->stabilityFlags[$n]).&&.BasePac
532c0 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 73 74 61 62 69 6c 69 74 79 5d 20 3c kage::$stabilities[$stability].<
532e0 3d 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 5d 29 20 7b 0a 72 =.$this->stabilityFlags[$n]).{.r
53300 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d eturn.true;.}.}..return.false;.}
53320 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 ...........public.function.match
53340 28 24 63 61 6e 64 69 64 61 74 65 2c 20 24 6e 61 6d 65 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e ($candidate,.$name,.ConstraintIn
53360 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 2c 20 24 62 79 70 terface.$constraint.=.null,.$byp
53380 61 73 73 46 69 6c 74 65 72 73 29 0a 7b 0a 24 63 61 6e 64 69 64 61 74 65 4e 61 6d 65 20 3d 20 24 assFilters).{.$candidateName.=.$
533a0 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 63 61 6e 64 69 64 61 74 65 candidate->getName();.$candidate
533c0 56 65 72 73 69 6f 6e 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e Version.=.$candidate->getVersion
533e0 28 29 3b 0a 24 69 73 44 65 76 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 53 74 61 62 ();.$isDev.=.$candidate->getStab
53400 69 6c 69 74 79 28 29 20 3d 3d 3d 20 27 64 65 76 27 3b 0a 24 69 73 41 6c 69 61 73 20 3d 20 24 63 ility().===.'dev';.$isAlias.=.$c
53420 61 6e 64 69 64 61 74 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 andidate.instanceof.AliasPackage
53440 3b 0a 0a 69 66 20 28 21 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 20 26 26 20 21 24 69 73 44 65 ;..if.(!$bypassFilters.&&.!$isDe
53460 76 20 26 26 20 21 24 69 73 41 6c 69 61 73 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 v.&&.!$isAlias.&&.isset($this->f
53480 69 6c 74 65 72 52 65 71 75 69 72 65 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 72 65 71 75 69 72 ilterRequires[$name])).{.$requir
534a0 65 46 69 6c 74 65 72 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 52 65 71 75 69 72 65 73 5b eFilter.=.$this->filterRequires[
534c0 24 6e 61 6d 65 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 20 $name];.}.else.{.$requireFilter.
534e0 3d 20 6e 65 77 20 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 69 66 20 28 24 63 =.new.EmptyConstraint;.}..if.($c
53500 61 6e 64 69 64 61 74 65 4e 61 6d 65 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 24 70 6b 67 43 6f andidateName.===.$name).{.$pkgCo
53520 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 nstraint.=.new.Constraint('==',.
53540 24 63 61 6e 64 69 64 61 74 65 56 65 72 73 69 6f 6e 29 3b 0a 0a 69 66 20 28 24 63 6f 6e 73 74 72 $candidateVersion);..if.($constr
53560 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 aint.===.null.||.$constraint->ma
53580 74 63 68 65 73 28 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 tches($pkgConstraint)).{.return.
535a0 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 70 6b 67 43 6f 6e 73 $requireFilter->matches($pkgCons
535c0 74 72 61 69 6e 74 29 20 3f 20 73 65 6c 66 3a 3a 4d 41 54 43 48 20 3a 20 73 65 6c 66 3a 3a 4d 41 traint).?.self::MATCH.:.self::MA
535e0 54 43 48 5f 46 49 4c 54 45 52 45 44 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 4d 41 TCH_FILTERED;.}..return.self::MA
53600 54 43 48 5f 4e 41 4d 45 3b 0a 7d 0a 0a 24 70 72 6f 76 69 64 65 73 20 3d 20 24 63 61 6e 64 69 64 TCH_NAME;.}..$provides.=.$candid
53620 61 74 65 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 29 3b 0a 24 72 65 70 6c 61 63 65 73 20 3d 20 ate->getProvides();.$replaces.=.
53640 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 3b 0a 0a 0a 20 69 66 $candidate->getReplaces();....if
53660 20 28 69 73 73 65 74 28 24 72 65 70 6c 61 63 65 73 5b 30 5d 29 20 7c 7c 20 69 73 73 65 74 28 24 .(isset($replaces[0]).||.isset($
53680 70 72 6f 76 69 64 65 73 5b 30 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 72 6f 76 69 64 provides[0])).{.foreach.($provid
536a0 65 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 es.as.$link).{.if.($link->getTar
536c0 67 65 74 28 29 20 3d 3d 3d 20 24 6e 61 6d 65 20 26 26 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 get().===.$name.&&.($constraint.
536e0 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 ===.null.||.$constraint->matches
53700 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 29 20 7b 0a 72 65 74 ($link->getConstraint()))).{.ret
53720 75 72 6e 20 24 72 65 71 75 69 72 65 46 69 6c 74 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 6c 69 6e urn.$requireFilter->matches($lin
53740 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 20 3f 20 73 65 6c 66 3a 3a 4d 41 54 43 k->getConstraint()).?.self::MATC
53760 48 5f 50 52 4f 56 49 44 45 20 3a 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 46 49 4c 54 45 52 45 44 H_PROVIDE.:.self::MATCH_FILTERED
53780 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6c 61 63 65 73 20 61 73 20 24 6c 69 ;.}.}..foreach.($replaces.as.$li
537a0 6e 6b 29 20 7b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 3d 3d 3d nk).{.if.($link->getTarget().===
537c0 20 24 6e 61 6d 65 20 26 26 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 .$name.&&.($constraint.===.null.
537e0 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 6c 69 6e 6b 2d 3e 67 ||.$constraint->matches($link->g
53800 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 71 75 etConstraint()))).{.return.$requ
53820 69 72 65 46 69 6c 74 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e ireFilter->matches($link->getCon
53840 73 74 72 61 69 6e 74 28 29 29 20 3f 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 52 45 50 4c 41 43 45 straint()).?.self::MATCH_REPLACE
53860 20 3a 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 46 49 4c 54 45 52 45 44 3b 0a 7d 0a 7d 0a 0a 72 65 .:.self::MATCH_FILTERED;.}.}..re
53880 74 75 72 6e 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 4e 4f 4e 45 3b 0a 7d 0a 0a 69 66 20 28 69 73 turn.self::MATCH_NONE;.}..if.(is
538a0 73 65 74 28 24 70 72 6f 76 69 64 65 73 5b 24 6e 61 6d 65 5d 29 20 26 26 20 28 24 63 6f 6e 73 74 set($provides[$name]).&&.($const
538c0 72 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d raint.===.null.||.$constraint->m
538e0 61 74 63 68 65 73 28 24 70 72 6f 76 69 64 65 73 5b 24 6e 61 6d 65 5d 2d 3e 67 65 74 43 6f 6e 73 atches($provides[$name]->getCons
53900 74 72 61 69 6e 74 28 29 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 46 69 6c traint()))).{.return.$requireFil
53920 74 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 70 72 6f 76 69 64 65 73 5b 24 6e 61 6d 65 5d 2d 3e 67 ter->matches($provides[$name]->g
53940 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 20 3f 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 50 52 etConstraint()).?.self::MATCH_PR
53960 4f 56 49 44 45 20 3a 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 46 49 4c 54 45 52 45 44 3b 0a 7d 0a OVIDE.:.self::MATCH_FILTERED;.}.
53980 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6c 61 63 65 73 5b 24 6e 61 6d 65 5d 29 20 26 26 20 .if.(isset($replaces[$name]).&&.
539a0 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 24 63 6f 6e 73 74 72 ($constraint.===.null.||.$constr
539c0 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 72 65 70 6c 61 63 65 73 5b 24 6e 61 6d 65 5d 2d 3e aint->matches($replaces[$name]->
539e0 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 71 getConstraint()))).{.return.$req
53a00 75 69 72 65 46 69 6c 74 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 72 65 70 6c 61 63 65 73 5b 24 6e uireFilter->matches($replaces[$n
53a20 61 6d 65 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 20 3f 20 73 65 6c 66 3a 3a 4d ame]->getConstraint()).?.self::M
53a40 41 54 43 48 5f 52 45 50 4c 41 43 45 20 3a 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 46 49 4c 54 45 ATCH_REPLACE.:.self::MATCH_FILTE
53a60 52 45 44 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 4d 41 54 43 48 5f 4e 4f 4e 45 3b RED;.}..return.self::MATCH_NONE;
53a80 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
53aa0 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 Composer\DependencyResolver;..us
53ac0 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 e.Composer\Package\CompletePacka
53ae0 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 62 6c 65 6d geInterface;.......class.Problem
53b00 0a 7b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 61 73 6f 6e 53 65 65 6e 3b 0a 0a 0a .{.....protected.$reasonSeen;...
53b20 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 61 73 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b ...protected.$reasons.=.array();
53b40 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 65 63 74 69 6f 6e 20 3d 20 30 3b 0a 0a 70 72 6f 74 65 ..protected.$section.=.0;..prote
53b60 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 cted.$pool;..public.function.__c
53b80 6f 6e 73 74 72 75 63 74 28 50 6f 6f 6c 20 24 70 6f 6f 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 6f onstruct(Pool.$pool).{.$this->po
53ba0 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ol.=.$pool;.}.......public.funct
53bc0 69 6f 6e 20 61 64 64 52 75 6c 65 28 52 75 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 24 74 68 69 73 2d ion.addRule(Rule.$rule).{.$this-
53be0 3e 61 64 64 52 65 61 73 6f 6e 28 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 72 75 6c 65 >addReason(spl_object_hash($rule
53c00 29 2c 20 61 72 72 61 79 28 0a 27 72 75 6c 65 27 20 3d 3e 20 24 72 75 6c 65 2c 0a 27 6a 6f 62 27 ),.array(.'rule'.=>.$rule,.'job'
53c20 20 3d 3e 20 24 72 75 6c 65 2d 3e 67 65 74 4a 6f 62 28 29 2c 0a 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a .=>.$rule->getJob(),.));.}......
53c40 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 61 73 6f 6e 73 28 29 0a 7b 0a .public.function.getReasons().{.
53c60 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a return.$this->reasons;.}........
53c80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 public.function.getPrettyString(
53ca0 61 72 72 61 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d 20 61 72 72 61 79 28 29 29 0a 7b array.$installedMap.=.array()).{
53cc0 0a 24 72 65 61 73 6f 6e 73 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 .$reasons.=.call_user_func_array
53ce0 28 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 74 ('array_merge',.array_reverse($t
53d00 68 69 73 2d 3e 72 65 61 73 6f 6e 73 29 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 72 65 61 73 his->reasons));..if.(count($reas
53d20 6f 6e 73 29 20 3d 3d 3d 20 31 29 20 7b 0a 72 65 73 65 74 28 24 72 65 61 73 6f 6e 73 29 3b 0a 24 ons).===.1).{.reset($reasons);.$
53d40 72 65 61 73 6f 6e 20 3d 20 63 75 72 72 65 6e 74 28 24 72 65 61 73 6f 6e 73 29 3b 0a 0a 24 6a 6f reason.=.current($reasons);..$jo
53d60 62 20 3d 20 24 72 65 61 73 6f 6e 5b 27 6a 6f 62 27 5d 3b 0a 0a 24 70 61 63 6b 61 67 65 4e 61 6d b.=.$reason['job'];..$packageNam
53d80 65 20 3d 20 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 3b 0a 24 63 6f 6e 73 74 72 e.=.$job['packageName'];.$constr
53da0 61 69 6e 74 20 3d 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 3b 0a 0a 69 66 20 28 aint.=.$job['constraint'];..if.(
53dc0 69 73 73 65 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 isset($constraint)).{.$packages.
53de0 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 =.$this->pool->whatProvides($pac
53e00 6b 61 67 65 4e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 20 65 6c 73 65 20 7b kageName,.$constraint);.}.else.{
53e20 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 6a 6f .$packages.=.array();.}..if.($jo
53e40 62 20 26 26 20 24 6a 6f 62 5b 27 63 6d 64 27 5d 20 3d 3d 3d 20 27 69 6e 73 74 61 6c 6c 27 20 26 b.&&.$job['cmd'].===.'install'.&
53e60 26 20 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 73 29 29 20 7b 0a 0a 0a 20 69 66 20 28 24 70 61 &.empty($packages)).{....if.($pa
53e80 63 6b 61 67 65 4e 61 6d 65 20 3d 3d 3d 20 27 70 68 70 27 20 7c 7c 20 24 70 61 63 6b 61 67 65 4e ckageName.===.'php'.||.$packageN
53ea0 61 6d 65 20 3d 3d 3d 20 27 70 68 70 2d 36 34 62 69 74 27 20 7c 7c 20 24 70 61 63 6b 61 67 65 4e ame.===.'php-64bit'.||.$packageN
53ec0 61 6d 65 20 3d 3d 3d 20 27 68 68 76 6d 27 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 70 68 70 ame.===.'hhvm').{.$version.=.php
53ee0 76 65 72 73 69 6f 6e 28 29 3b 0a 24 61 76 61 69 6c 61 62 6c 65 20 3d 20 24 74 68 69 73 2d 3e 70 version();.$available.=.$this->p
53f00 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b ool->whatProvides($packageName);
53f20 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 61 76 61 69 6c 61 62 6c 65 29 29 20 7b 0a 24 66 69 72 73 ..if.(count($available)).{.$firs
53f40 74 41 76 61 69 6c 61 62 6c 65 20 3d 20 72 65 73 65 74 28 24 61 76 61 69 6c 61 62 6c 65 29 3b 0a tAvailable.=.reset($available);.
53f60 24 76 65 72 73 69 6f 6e 20 3d 20 24 66 69 72 73 74 41 76 61 69 6c 61 62 6c 65 2d 3e 67 65 74 50 $version.=.$firstAvailable->getP
53f80 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 65 78 74 72 61 20 3d 20 24 66 69 72 73 74 41 rettyVersion();.$extra.=.$firstA
53fa0 76 61 69 6c 61 62 6c 65 2d 3e 67 65 74 45 78 74 72 61 28 29 3b 0a 69 66 20 28 24 66 69 72 73 74 vailable->getExtra();.if.($first
53fc0 41 76 61 69 6c 61 62 6c 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 Available.instanceof.CompletePac
53fe0 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 26 26 20 69 73 73 65 74 28 24 65 78 74 72 61 5b 27 63 kageInterface.&&.isset($extra['c
54000 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 27 5d 29 20 26 26 20 24 65 78 74 72 61 5b 27 63 6f 6e onfig.platform']).&&.$extra['con
54020 66 69 67 2e 70 6c 61 74 66 6f 72 6d 27 5d 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 24 76 65 72 73 fig.platform'].===.true).{.$vers
54040 69 6f 6e 20 2e 3d 20 27 3b 20 27 20 2e 20 24 66 69 72 73 74 41 76 61 69 6c 61 62 6c 65 2d 3e 67 ion..=.';.'...$firstAvailable->g
54060 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b 0a 7d 0a 7d 0a 0a 24 6d 73 67 20 3d 20 22 5c 6e etDescription();.}.}..$msg.=."\n
54080 20 20 20 20 2d 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 73 20 22 2e 24 70 ....-.This.package.requires.".$p
540a0 61 63 6b 61 67 65 4e 61 6d 65 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 ackageName.$this->constraintToTe
540c0 78 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 2e 27 20 62 75 74 20 27 3b 0a 0a 69 66 20 28 64 65 xt($constraint).'.but.';..if.(de
540e0 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 7c 7c 20 28 63 6f 75 6e 74 28 fined('HHVM_VERSION').||.(count(
54100 24 61 76 61 69 6c 61 62 6c 65 29 20 26 26 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 3d 3d 20 $available).&&.$packageName.===.
54120 27 68 68 76 6d 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 73 67 20 2e 20 27 79 6f 75 72 20 48 'hhvm')).{.return.$msg...'your.H
54140 48 56 4d 20 76 65 72 73 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 68 61 HVM.version.does.not.satisfy.tha
54160 74 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 27 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 t.requirement.';.}..if.($package
54180 4e 61 6d 65 20 3d 3d 3d 20 27 68 68 76 6d 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 73 67 20 2e Name.===.'hhvm').{.return.$msg..
541a0 20 27 79 6f 75 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 74 68 69 73 20 77 69 74 68 20 50 48 50 20 .'you.are.running.this.with.PHP.
541c0 61 6e 64 20 6e 6f 74 20 48 48 56 4d 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 73 67 20 2e and.not.HHVM.';.}..return.$msg..
541e0 20 27 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e 20 28 27 2e 20 24 76 65 72 73 69 6f 6e 20 .'your.PHP.version.('..$version.
54200 2e 27 29 20 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 68 61 74 20 72 65 71 75 69 72 .').does.not.satisfy.that.requir
54220 65 6d 65 6e 74 2e 27 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 ement.';.}....if.(0.===.stripos(
54240 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 27 65 78 74 2d 27 29 29 20 7b 0a 69 66 20 28 66 61 6c $packageName,.'ext-')).{.if.(fal
54260 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 27 20 27 29 se.!==.strpos($packageName,.'.')
54280 29 20 7b 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 ).{.return."\n....-.The.requeste
542a0 64 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 22 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 27 d.PHP.extension.".$packageName.'
542c0 20 73 68 6f 75 6c 64 20 62 65 20 72 65 71 75 69 72 65 64 20 61 73 20 27 2e 73 74 72 5f 72 65 70 .should.be.required.as.'.str_rep
542e0 6c 61 63 65 28 27 20 27 2c 20 27 2d 27 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 2e 27 2e 27 lace('.',.'-',.$packageName).'.'
54300 3b 0a 7d 0a 0a 24 65 78 74 20 3d 20 73 75 62 73 74 72 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c ;.}..$ext.=.substr($packageName,
54320 20 34 29 3b 0a 24 65 72 72 6f 72 20 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 24 .4);.$error.=.extension_loaded($
54340 65 78 74 29 20 3f 20 27 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 28 27 ext).?.'has.the.wrong.version.('
54360 2e 28 70 68 70 76 65 72 73 69 6f 6e 28 24 65 78 74 29 20 3f 3a 20 27 30 27 29 2e 27 29 20 69 6e .(phpversion($ext).?:.'0').').in
54380 73 74 61 6c 6c 65 64 27 20 3a 20 27 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 79 6f 75 72 stalled'.:.'is.missing.from.your
543a0 20 73 79 73 74 65 6d 27 3b 0a 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 .system';..return."\n....-.The.r
543c0 65 71 75 65 73 74 65 64 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 22 2e 24 70 61 63 6b 61 67 equested.PHP.extension.".$packag
543e0 65 4e 61 6d 65 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 63 eName.$this->constraintToText($c
54400 6f 6e 73 74 72 61 69 6e 74 29 2e 27 20 27 2e 24 65 72 72 6f 72 2e 27 2e 20 49 6e 73 74 61 6c 6c onstraint).'.'.$error.'..Install
54420 20 6f 72 20 65 6e 61 62 6c 65 20 50 48 50 5c 27 73 20 27 2e 24 65 78 74 2e 27 20 65 78 74 65 6e .or.enable.PHP\'s.'.$ext.'.exten
54440 73 69 6f 6e 2e 27 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 sion.';.}....if.(0.===.stripos($
54460 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 27 6c 69 62 2d 27 29 29 20 7b 0a 69 66 20 28 73 74 72 74 packageName,.'lib-')).{.if.(strt
54480 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 3d 3d 3d 20 27 6c 69 62 2d 69 63 olower($packageName).===.'lib-ic
544a0 75 27 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 u').{.$error.=.extension_loaded(
544c0 27 69 6e 74 6c 27 29 20 3f 20 27 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 'intl').?.'has.the.wrong.version
544e0 20 69 6e 73 74 61 6c 6c 65 64 2c 20 74 72 79 20 75 70 67 72 61 64 69 6e 67 20 74 68 65 20 69 6e .installed,.try.upgrading.the.in
54500 74 6c 20 65 78 74 65 6e 73 69 6f 6e 2e 27 20 3a 20 27 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f tl.extension.'.:.'is.missing.fro
54520 6d 20 79 6f 75 72 20 73 79 73 74 65 6d 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 69 6e 74 m.your.system,.make.sure.the.int
54540 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6c 6f 61 64 65 64 2e 27 3b 0a 0a 72 65 74 75 72 6e l.extension.is.loaded.';..return
54560 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 6c 69 6e 6b 65 64 20 6c ."\n....-.The.requested.linked.l
54580 69 62 72 61 72 79 20 22 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 24 74 68 69 73 2d 3e 63 6f 6e ibrary.".$packageName.$this->con
545a0 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 2e 27 20 27 2e 24 straintToText($constraint).'.'.$
545c0 65 72 72 6f 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 error;.}..return."\n....-.The.re
545e0 71 75 65 73 74 65 64 20 6c 69 6e 6b 65 64 20 6c 69 62 72 61 72 79 20 22 2e 24 70 61 63 6b 61 67 quested.linked.library.".$packag
54600 65 4e 61 6d 65 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 63 eName.$this->constraintToText($c
54620 6f 6e 73 74 72 61 69 6e 74 29 2e 27 20 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 65 72 73 69 onstraint).'.has.the.wrong.versi
54640 6f 6e 20 69 6e 73 74 61 6c 6c 65 64 20 6f 72 20 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 on.installed.or.is.missing.from.
54660 79 6f 75 72 20 73 79 73 74 65 6d 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 6f 20 6c 6f 61 64 20 74 your.system,.make.sure.to.load.t
54680 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 70 72 6f 76 69 64 69 6e 67 20 69 74 2e 27 3b 0a 7d 0a 0a he.extension.providing.it.';.}..
546a0 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 2f if.(!preg_match('{^[A-Za-z0-9_./
546c0 2d 5d 2b 24 7d 27 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 29 20 7b 0a 24 69 6c 6c 65 67 61 -]+$}',.$packageName)).{.$illega
546e0 6c 43 68 61 72 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 41 2d 5a 61 2d 7a 30 lChars.=.preg_replace('{[A-Za-z0
54700 2d 39 5f 2e 2f 2d 5d 2b 7d 27 2c 20 27 27 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 0a -9_./-]+}',.'',.$packageName);..
54720 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 70 61 return."\n....-.The.requested.pa
54740 63 6b 61 67 65 20 22 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 ckage.".$packageName.'.could.not
54760 20 62 65 20 66 6f 75 6e 64 2c 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 69 74 73 20 6e 61 6d .be.found,.it.looks.like.its.nam
54780 65 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 22 27 2e 24 69 6c 6c 65 67 61 6c 43 68 61 72 73 2e 27 e.is.invalid,."'.$illegalChars.'
547a0 22 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 69 6e 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 ".is.not.allowed.in.package.name
547c0 73 2e 27 3b 0a 7d 0a 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 73 20 3d 20 24 74 68 69 73 2d 3e s.';.}..if.($providers.=.$this->
547e0 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c pool->whatProvides($packageName,
54800 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 74 72 75 65 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 .$constraint,.true,.true)).{.ret
54820 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 70 61 63 6b 61 urn."\n....-.The.requested.packa
54840 67 65 20 22 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 ge.".$packageName.$this->constra
54860 69 6e 74 54 6f 54 65 78 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 2e 27 20 69 73 20 73 61 74 69 intToText($constraint).'.is.sati
54880 73 66 69 61 62 6c 65 20 62 79 20 27 2e 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 4c 69 sfiable.by.'.$this->getPackageLi
548a0 73 74 28 24 70 72 6f 76 69 64 65 72 73 29 2e 27 20 62 75 74 20 74 68 65 73 65 20 63 6f 6e 66 6c st($providers).'.but.these.confl
548c0 69 63 74 20 77 69 74 68 20 79 6f 75 72 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 6f 72 20 6d 69 ict.with.your.requirements.or.mi
548e0 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 2e 27 3b 0a 7d 0a 0a 69 66 20 28 24 70 72 6f 76 69 nimum-stability.';.}..if.($provi
54900 64 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 ders.=.$this->pool->whatProvides
54920 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 2c 20 74 72 75 65 29 ($packageName,.null,.true,.true)
54940 29 20 7b 0a 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 ).{.return."\n....-.The.requeste
54960 64 20 70 61 63 6b 61 67 65 20 22 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 24 74 68 69 73 2d 3e d.package.".$packageName.$this->
54980 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 2e 27 20 constraintToText($constraint).'.
549a0 65 78 69 73 74 73 20 61 73 20 27 2e 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 4c 69 73 exists.as.'.$this->getPackageLis
549c0 74 28 24 70 72 6f 76 69 64 65 72 73 29 2e 27 20 62 75 74 20 74 68 65 73 65 20 61 72 65 20 72 65 t($providers).'.but.these.are.re
549e0 6a 65 63 74 65 64 20 62 79 20 79 6f 75 72 20 63 6f 6e 73 74 72 61 69 6e 74 2e 27 3b 0a 7d 0a 0a jected.by.your.constraint.';.}..
54a00 72 65 74 75 72 6e 20 22 5c 6e 20 20 20 20 2d 20 54 68 65 20 72 65 71 75 65 73 74 65 64 20 70 61 return."\n....-.The.requested.pa
54a20 63 6b 61 67 65 20 22 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 ckage.".$packageName.'.could.not
54a40 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 61 6e 79 20 76 65 72 73 69 6f 6e 2c 20 74 68 65 72 65 20 .be.found.in.any.version,.there.
54a60 6d 61 79 20 62 65 20 61 20 74 79 70 6f 20 69 6e 20 74 68 65 20 70 61 63 6b 61 67 65 20 6e 61 6d may.be.a.typo.in.the.package.nam
54a80 65 2e 27 3b 0a 7d 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a e.';.}.}..$messages.=.array();..
54aa0 66 6f 72 65 61 63 68 20 28 24 72 65 61 73 6f 6e 73 20 61 73 20 24 72 65 61 73 6f 6e 29 20 7b 0a foreach.($reasons.as.$reason).{.
54ac0 24 72 75 6c 65 20 3d 20 24 72 65 61 73 6f 6e 5b 27 72 75 6c 65 27 5d 3b 0a 24 6a 6f 62 20 3d 20 $rule.=.$reason['rule'];.$job.=.
54ae0 24 72 65 61 73 6f 6e 5b 27 6a 6f 62 27 5d 3b 0a 0a 69 66 20 28 24 6a 6f 62 29 20 7b 0a 24 6d 65 $reason['job'];..if.($job).{.$me
54b00 73 73 61 67 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 6a 6f 62 54 6f 54 65 78 74 28 24 6a 6f 62 ssages[].=.$this->jobToText($job
54b20 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 72 75 6c 65 29 20 7b 0a 69 66 20 28 24 72 75 6c 65 20 );.}.elseif.($rule).{.if.($rule.
54b40 69 6e 73 74 61 6e 63 65 6f 66 20 52 75 6c 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d instanceof.Rule).{.$messages[].=
54b60 20 24 72 75 6c 65 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 70 .$rule->getPrettyString($this->p
54b80 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 ool,.$installedMap);.}.}.}..retu
54ba0 72 6e 20 22 5c 6e 20 20 20 20 2d 20 22 2e 69 6d 70 6c 6f 64 65 28 22 5c 6e 20 20 20 20 2d 20 22 rn."\n....-.".implode("\n....-."
54bc0 2c 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 ,.$messages);.}........protected
54be0 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 61 73 6f 6e 28 24 69 64 2c 20 24 72 65 61 73 6f 6e .function.addReason($id,.$reason
54c00 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 53 65 65 6e ).{.if.(!isset($this->reasonSeen
54c20 5b 24 69 64 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 53 65 65 6e 5b 24 69 64 5d [$id])).{.$this->reasonSeen[$id]
54c40 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 73 5b 24 74 68 69 73 2d 3e 73 .=.true;.$this->reasons[$this->s
54c60 65 63 74 69 6f 6e 5d 5b 5d 20 3d 20 24 72 65 61 73 6f 6e 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 ection][].=.$reason;.}.}..public
54c80 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 53 65 63 74 69 6f 6e 28 29 0a 7b 0a 24 74 68 69 73 2d .function.nextSection().{.$this-
54ca0 3e 73 65 63 74 69 6f 6e 2b 2b 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 >section++;.}........protected.f
54cc0 75 6e 63 74 69 6f 6e 20 6a 6f 62 54 6f 54 65 78 74 28 24 6a 6f 62 29 0a 7b 0a 24 70 61 63 6b 61 unction.jobToText($job).{.$packa
54ce0 67 65 4e 61 6d 65 20 3d 20 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 3b 0a 24 63 geName.=.$job['packageName'];.$c
54d00 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 3b 0a onstraint.=.$job['constraint'];.
54d20 73 77 69 74 63 68 20 28 24 6a 6f 62 5b 27 63 6d 64 27 5d 29 20 7b 0a 63 61 73 65 20 27 69 6e 73 switch.($job['cmd']).{.case.'ins
54d40 74 61 6c 6c 27 3a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e tall':.$packages.=.$this->pool->
54d60 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 63 6f 6e 73 whatProvides($packageName,.$cons
54d80 74 72 61 69 6e 74 29 3b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 72 65 74 75 72 traint);.if.(!$packages).{.retur
54da0 6e 20 27 4e 6f 20 70 61 63 6b 61 67 65 20 66 6f 75 6e 64 20 74 6f 20 73 61 74 69 73 66 79 20 69 n.'No.package.found.to.satisfy.i
54dc0 6e 73 74 61 6c 6c 20 72 65 71 75 65 73 74 20 66 6f 72 20 27 2e 24 70 61 63 6b 61 67 65 4e 61 6d nstall.request.for.'.$packageNam
54de0 65 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 63 6f 6e 73 74 e.$this->constraintToText($const
54e00 72 61 69 6e 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 raint);.}..return.'Installation.
54e20 72 65 71 75 65 73 74 20 66 6f 72 20 27 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 24 74 68 69 73 request.for.'.$packageName.$this
54e40 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 2e ->constraintToText($constraint).
54e60 27 20 2d 3e 20 73 61 74 69 73 66 69 61 62 6c 65 20 62 79 20 27 2e 24 74 68 69 73 2d 3e 67 65 74 '.->.satisfiable.by.'.$this->get
54e80 50 61 63 6b 61 67 65 4c 69 73 74 28 24 70 61 63 6b 61 67 65 73 29 2e 27 2e 27 3b 0a 63 61 73 65 PackageList($packages).'.';.case
54ea0 20 27 75 70 64 61 74 65 27 3a 0a 72 65 74 75 72 6e 20 27 55 70 64 61 74 65 20 72 65 71 75 65 73 .'update':.return.'Update.reques
54ec0 74 20 66 6f 72 20 27 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 t.for.'.$packageName.$this->cons
54ee0 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 2e 27 2e 27 3b 0a 63 traintToText($constraint).'.';.c
54f00 61 73 65 20 27 72 65 6d 6f 76 65 27 3a 0a 72 65 74 75 72 6e 20 27 52 65 6d 6f 76 61 6c 20 72 65 ase.'remove':.return.'Removal.re
54f20 71 75 65 73 74 20 66 6f 72 20 27 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 24 74 68 69 73 2d 3e quest.for.'.$packageName.$this->
54f40 63 6f 6e 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 2e 27 27 constraintToText($constraint).''
54f60 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 ;.}..if.(isset($constraint)).{.$
54f80 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 packages.=.$this->pool->whatProv
54fa0 69 64 65 73 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b ides($packageName,.$constraint);
54fc0 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d .}.else.{.$packages.=.array();.}
54fe0 0a 0a 72 65 74 75 72 6e 20 27 4a 6f 62 28 63 6d 64 3d 27 2e 24 6a 6f 62 5b 27 63 6d 64 27 5d 2e ..return.'Job(cmd='.$job['cmd'].
55000 27 2c 20 74 61 72 67 65 74 3d 27 2e 24 70 61 63 6b 61 67 65 4e 61 6d 65 2e 27 2c 20 70 61 63 6b ',.target='.$packageName.',.pack
55020 61 67 65 73 3d 5b 27 2e 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 4c 69 73 74 28 24 70 ages=['.$this->getPackageList($p
55040 61 63 6b 61 67 65 73 29 2e 27 5d 29 27 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ackages).'])';.}..protected.func
55060 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 4c 69 73 74 28 24 70 61 63 6b 61 67 65 73 29 0a 7b tion.getPackageList($packages).{
55080 0a 24 70 72 65 70 61 72 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 .$prepared.=.array();.foreach.($
550a0 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 72 65 70 61 72 65 packages.as.$package).{.$prepare
550c0 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 27 6e 61 6d 65 27 5d 20 3d d[$package->getName()]['name'].=
550e0 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 24 70 72 65 .$package->getPrettyName();.$pre
55100 70 61 72 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 27 76 65 72 73 pared[$package->getName()]['vers
55120 69 6f 6e 73 27 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 20 3d ions'][$package->getVersion()].=
55140 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d .$package->getPrettyVersion();.}
55160 0a 66 6f 72 65 61 63 68 20 28 24 70 72 65 70 61 72 65 64 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 .foreach.($prepared.as.$name.=>.
55180 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 72 65 70 61 72 65 64 5b 24 6e 61 6d 65 5d 20 3d 20 24 $package).{.$prepared[$name].=.$
551a0 70 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2e 27 5b 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 package['name'].'['.implode(',.'
551c0 2c 20 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 73 27 5d 29 2e 27 5d 27 3b 0a 7d 0a 0a ,.$package['versions']).']';.}..
551e0 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 72 65 70 61 72 65 64 29 3b return.implode(',.',.$prepared);
55200 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e .}........protected.function.con
55220 73 74 72 61 69 6e 74 54 6f 54 65 78 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 72 65 74 straintToText($constraint).{.ret
55240 75 72 6e 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3f 20 27 20 27 2e 24 63 6f 6e 73 74 72 61 69 6e urn.$constraint.?.'.'.$constrain
55260 74 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 20 3a 20 27 27 3b 0a 7d 0a 7d 0a 3c t->getPrettyString().:.'';.}.}.<
55280 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
552a0 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 er\DependencyResolver;..use.Comp
552c0 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e oser\Semver\Constraint\Constrain
552e0 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 71 75 65 73 74 0a 7b 0a tInterface;.....class.Request.{.
55300 70 72 6f 74 65 63 74 65 64 20 24 6a 6f 62 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f protected.$jobs;..public.functio
55320 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 20 3d 20 n.__construct().{.$this->jobs.=.
55340 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 array();.}..public.function.inst
55360 61 6c 6c 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 all($packageName,.ConstraintInte
55380 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 rface.$constraint.=.null).{.$thi
553a0 73 2d 3e 61 64 64 4a 6f 62 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 27 69 6e 73 74 61 6c 6c s->addJob($packageName,.'install
553c0 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ',.$constraint);.}..public.funct
553e0 69 6f 6e 20 75 70 64 61 74 65 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 43 6f 6e 73 74 72 61 ion.update($packageName,.Constra
55400 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 intInterface.$constraint.=.null)
55420 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4a 6f 62 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 27 .{.$this->addJob($packageName,.'
55440 75 70 64 61 74 65 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 update',.$constraint);.}..public
55460 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 43 .function.remove($packageName,.C
55480 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d onstraintInterface.$constraint.=
554a0 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4a 6f 62 28 24 70 61 63 6b 61 67 65 4e .null).{.$this->addJob($packageN
554c0 61 6d 65 2c 20 27 72 65 6d 6f 76 65 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a ame,.'remove',.$constraint);.}..
554e0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 78 28 24 70 61 63 ........public.function.fix($pac
55500 6b 61 67 65 4e 61 6d 65 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 kageName,.ConstraintInterface.$c
55520 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4a 6f onstraint.=.null).{.$this->addJo
55540 62 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 27 69 6e 73 74 61 6c 6c 27 2c 20 24 63 6f 6e 73 b($packageName,.'install',.$cons
55560 74 72 61 69 6e 74 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 traint,.true);.}..protected.func
55580 74 69 6f 6e 20 61 64 64 4a 6f 62 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 63 6d 64 2c 20 tion.addJob($packageName,.$cmd,.
555a0 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 ConstraintInterface.$constraint.
555c0 3d 20 6e 75 6c 6c 2c 20 24 66 69 78 65 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 61 63 6b 61 =.null,.$fixed.=.false).{.$packa
555e0 67 65 4e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 geName.=.strtolower($packageName
55600 29 3b 0a 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 63 6d 64 27 );..$this->jobs[].=.array(.'cmd'
55620 20 3d 3e 20 24 63 6d 64 2c 0a 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 20 3d 3e 20 24 70 61 63 6b .=>.$cmd,.'packageName'.=>.$pack
55640 61 67 65 4e 61 6d 65 2c 0a 27 63 6f 6e 73 74 72 61 69 6e 74 27 20 3d 3e 20 24 63 6f 6e 73 74 72 ageName,.'constraint'.=>.$constr
55660 61 69 6e 74 2c 0a 27 66 69 78 65 64 27 20 3d 3e 20 24 66 69 78 65 64 2c 0a 29 3b 0a 7d 0a 0a 70 aint,.'fixed'.=>.$fixed,.);.}..p
55680 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 41 6c 6c 28 29 0a 7b 0a 24 74 68 ublic.function.updateAll().{.$th
556a0 69 73 2d 3e 6a 6f 62 73 5b 5d 20 3d 20 61 72 72 61 79 28 27 63 6d 64 27 20 3d 3e 20 27 75 70 64 is->jobs[].=.array('cmd'.=>.'upd
556c0 61 74 65 2d 61 6c 6c 27 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ate-all');.}..public.function.ge
556e0 74 4a 6f 62 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6a 6f 62 73 3b 0a 7d 0a tJobs().{.return.$this->jobs;.}.
55700 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
55720 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 poser\DependencyResolver;..use.C
55740 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 3b omposer\Package\CompletePackage;
55760 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 .use.Composer\Package\Link;.use.
55780 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 Composer\Package\PackageInterfac
557a0 65 3b 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 52 75 6c 65 0a 7b 0a 0a 20 e;......abstract.class.Rule.{...
557c0 63 6f 6e 73 74 20 52 55 4c 45 5f 49 4e 54 45 52 4e 41 4c 5f 41 4c 4c 4f 57 5f 55 50 44 41 54 45 const.RULE_INTERNAL_ALLOW_UPDATE
557e0 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 4a 4f 42 5f 49 4e 53 54 41 4c 4c 20 3d 20 32 .=.1;.const.RULE_JOB_INSTALL.=.2
55800 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 4a 4f 42 5f 52 45 4d 4f 56 45 20 3d 20 33 3b 0a 63 6f 6e ;.const.RULE_JOB_REMOVE.=.3;.con
55820 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 43 4f 4e 46 4c 49 43 54 20 3d 20 36 3b 0a 63 6f st.RULE_PACKAGE_CONFLICT.=.6;.co
55840 6e 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 52 45 51 55 49 52 45 53 20 3d 20 37 3b 0a 63 nst.RULE_PACKAGE_REQUIRES.=.7;.c
55860 6f 6e 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 20 3d 20 38 3b onst.RULE_PACKAGE_OBSOLETES.=.8;
55880 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 49 4e 53 54 41 4c 4c 45 44 5f 50 41 43 4b 41 47 45 5f 4f 42 .const.RULE_INSTALLED_PACKAGE_OB
558a0 53 4f 4c 45 54 45 53 20 3d 20 39 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f SOLETES.=.9;.const.RULE_PACKAGE_
558c0 53 41 4d 45 5f 4e 41 4d 45 20 3d 20 31 30 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f 50 41 43 4b 41 SAME_NAME.=.10;.const.RULE_PACKA
558e0 47 45 5f 49 4d 50 4c 49 43 49 54 5f 4f 42 53 4f 4c 45 54 45 53 20 3d 20 31 31 3b 0a 63 6f 6e 73 GE_IMPLICIT_OBSOLETES.=.11;.cons
55900 74 20 52 55 4c 45 5f 4c 45 41 52 4e 45 44 20 3d 20 31 32 3b 0a 63 6f 6e 73 74 20 52 55 4c 45 5f t.RULE_LEARNED.=.12;.const.RULE_
55920 50 41 43 4b 41 47 45 5f 41 4c 49 41 53 20 3d 20 31 33 3b 0a 0a 0a 20 63 6f 6e 73 74 20 42 49 54 PACKAGE_ALIAS.=.13;....const.BIT
55940 46 49 45 4c 44 5f 54 59 50 45 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 42 49 54 46 49 45 4c 44 5f 52 FIELD_TYPE.=.0;.const.BITFIELD_R
55960 45 41 53 4f 4e 20 3d 20 38 3b 0a 63 6f 6e 73 74 20 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c EASON.=.8;.const.BITFIELD_DISABL
55980 45 44 20 3d 20 31 36 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 62 69 74 66 69 65 6c 64 3b 0a 70 ED.=.16;..protected.$bitfield;.p
559a0 72 6f 74 65 63 74 65 64 20 24 6a 6f 62 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 61 73 6f 6e rotected.$job;.protected.$reason
559c0 44 61 74 61 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f Data;.......public.function.__co
559e0 6e 73 74 72 75 63 74 28 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 2c 20 24 6a nstruct($reason,.$reasonData,.$j
55a00 6f 62 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 20 3d ob.=.null).{.$this->reasonData.=
55a20 20 24 72 65 61 73 6f 6e 44 61 74 61 3b 0a 0a 69 66 20 28 24 6a 6f 62 29 20 7b 0a 24 74 68 69 73 .$reasonData;..if.($job).{.$this
55a40 2d 3e 6a 6f 62 20 3d 20 24 6a 6f 62 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 ->job.=.$job;.}..$this->bitfield
55a60 20 3d 20 28 30 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 .=.(0.<<.self::BITFIELD_DISABLED
55a80 29 20 7c 0a 28 24 72 65 61 73 6f 6e 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 52 ).|.($reason.<<.self::BITFIELD_R
55aa0 45 41 53 4f 4e 29 20 7c 0a 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f EASON).|.(255.<<.self::BITFIELD_
55ac0 54 59 50 45 29 3b 0a 7d 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 TYPE);.}..abstract.public.functi
55ae0 6f 6e 20 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c on.getLiterals();..abstract.publ
55b00 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 61 73 68 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 ic.function.getHash();..public.f
55b20 75 6e 63 74 69 6f 6e 20 67 65 74 4a 6f 62 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d unction.getJob().{.return.$this-
55b40 3e 6a 6f 62 3b 0a 7d 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f >job;.}..abstract.public.functio
55b60 6e 20 65 71 75 61 6c 73 28 52 75 6c 65 20 24 72 75 6c 65 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 n.equals(Rule.$rule);..public.fu
55b80 6e 63 74 69 6f 6e 20 67 65 74 52 65 61 73 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 24 74 68 nction.getReason().{.return.($th
55ba0 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 is->bitfield.&.(255.<<.self::BIT
55bc0 46 49 45 4c 44 5f 52 45 41 53 4f 4e 29 29 20 3e 3e 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 FIELD_REASON)).>>.self::BITFIELD
55be0 5f 52 45 41 53 4f 4e 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 _REASON;.}..public.function.getR
55c00 65 61 73 6f 6e 44 61 74 61 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 easonData().{.return.$this->reas
55c20 6f 6e 44 61 74 61 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 onData;.}..public.function.getRe
55c40 71 75 69 72 65 64 50 61 63 6b 61 67 65 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 quiredPackage().{.if.($this->get
55c60 52 65 61 73 6f 6e 28 29 20 3d 3d 3d 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 49 4e 53 54 Reason().===.self::RULE_JOB_INST
55c80 41 4c 4c 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 3b ALL).{.return.$this->reasonData;
55ca0 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 52 65 61 73 6f 6e 28 29 20 3d 3d 3d 20 73 .}..if.($this->getReason().===.s
55cc0 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 52 45 51 55 49 52 45 53 29 20 7b 0a 72 65 elf::RULE_PACKAGE_REQUIRES).{.re
55ce0 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 2d 3e 67 65 74 54 61 72 67 65 turn.$this->reasonData->getTarge
55d00 74 28 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 79 70 t();.}.}..public.function.setTyp
55d20 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 3d 20 28 24 74 e($type).{.$this->bitfield.=.($t
55d40 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 7e 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a 42 his->bitfield.&.~(255.<<.self::B
55d60 49 54 46 49 45 4c 44 5f 54 59 50 45 29 29 20 7c 20 28 28 32 35 35 20 26 20 24 74 79 70 65 29 20 ITFIELD_TYPE)).|.((255.&.$type).
55d80 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 54 59 50 45 29 3b 0a 7d 0a 0a 70 75 62 6c <<.self::BITFIELD_TYPE);.}..publ
55da0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 ic.function.getType().{.return.(
55dc0 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 20 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a $this->bitfield.&.(255.<<.self::
55de0 42 49 54 46 49 45 4c 44 5f 54 59 50 45 29 29 20 3e 3e 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c BITFIELD_TYPE)).>>.self::BITFIEL
55e00 44 5f 54 59 50 45 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 D_TYPE;.}..public.function.disab
55e20 6c 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 3d 20 28 24 74 68 69 73 2d le().{.$this->bitfield.=.($this-
55e40 3e 62 69 74 66 69 65 6c 64 20 26 20 7e 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 >bitfield.&.~(255.<<.self::BITFI
55e60 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 29 20 7c 20 28 31 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 ELD_DISABLED)).|.(1.<<.self::BIT
55e80 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 44 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 FIELD_DISABLED);.}..public.funct
55ea0 69 6f 6e 20 65 6e 61 62 6c 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 66 69 65 6c 64 20 26 ion.enable().{.$this->bitfield.&
55ec0 3d 20 7e 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c =.~(255.<<.self::BITFIELD_DISABL
55ee0 45 44 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 69 73 61 62 6c ED);.}..public.function.isDisabl
55f00 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 62 6f 6f 6c 29 20 28 28 24 74 68 69 73 2d 3e 62 69 ed().{.return.(bool).(($this->bi
55f20 74 66 69 65 6c 64 20 26 20 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f tfield.&.(255.<<.self::BITFIELD_
55f40 44 49 53 41 42 4c 45 44 29 29 20 3e 3e 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 DISABLED)).>>.self::BITFIELD_DIS
55f60 41 42 4c 45 44 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 45 6e 61 ABLED);.}..public.function.isEna
55f80 62 6c 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 21 28 28 24 74 68 69 73 2d 3e 62 69 74 66 69 65 bled().{.return.!(($this->bitfie
55fa0 6c 64 20 26 20 28 32 35 35 20 3c 3c 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 41 ld.&.(255.<<.self::BITFIELD_DISA
55fc0 42 4c 45 44 29 29 20 3e 3e 20 73 65 6c 66 3a 3a 42 49 54 46 49 45 4c 44 5f 44 49 53 41 42 4c 45 BLED)).>>.self::BITFIELD_DISABLE
55fe0 44 29 3b 0a 7d 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 D);.}..abstract.public.function.
56000 69 73 41 73 73 65 72 74 69 6f 6e 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 isAssertion();..public.function.
56020 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 61 72 72 61 getPrettyString(Pool.$pool,.arra
56040 79 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 6c 69 y.$installedMap.=.array()).{.$li
56060 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a terals.=.$this->getLiterals();..
56080 24 72 75 6c 65 54 65 78 74 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 $ruleText.=.'';.foreach.($litera
560a0 6c 73 20 61 73 20 24 69 20 3d 3e 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 69 20 21 ls.as.$i.=>.$literal).{.if.($i.!
560c0 3d 20 30 29 20 7b 0a 24 72 75 6c 65 54 65 78 74 20 2e 3d 20 27 7c 27 3b 0a 7d 0a 24 72 75 6c 65 =.0).{.$ruleText..=.'|';.}.$rule
560e0 54 65 78 74 20 2e 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 72 65 74 74 79 53 74 Text..=.$pool->literalToPrettySt
56100 72 69 6e 67 28 24 6c 69 74 65 72 61 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 3b 0a 7d ring($literal,.$installedMap);.}
56120 0a 0a 73 77 69 74 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 52 65 61 73 6f 6e 28 29 29 20 7b 0a ..switch.($this->getReason()).{.
56140 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 49 4e 54 45 52 4e 41 4c 5f 41 4c 4c 4f 57 5f 55 case.self::RULE_INTERNAL_ALLOW_U
56160 50 44 41 54 45 3a 0a 72 65 74 75 72 6e 20 24 72 75 6c 65 54 65 78 74 3b 0a 0a 63 61 73 65 20 73 PDATE:.return.$ruleText;..case.s
56180 65 6c 66 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 49 4e 53 54 41 4c 4c 3a 0a 72 65 74 75 72 6e 20 22 49 elf::RULE_JOB_INSTALL:.return."I
561a0 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 20 72 75 6c 65 20 28 24 72 75 6c 65 54 65 78 74 29 22 nstall.command.rule.($ruleText)"
561c0 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 52 45 4d 4f 56 45 3a 0a 72 ;..case.self::RULE_JOB_REMOVE:.r
561e0 65 74 75 72 6e 20 22 52 65 6d 6f 76 65 20 63 6f 6d 6d 61 6e 64 20 72 75 6c 65 20 28 24 72 75 6c eturn."Remove.command.rule.($rul
56200 65 54 65 78 74 29 22 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 eText)";..case.self::RULE_PACKAG
56220 45 5f 43 4f 4e 46 4c 49 43 54 3a 0a 24 70 61 63 6b 61 67 65 31 20 3d 20 24 70 6f 6f 6c 2d 3e 6c E_CONFLICT:.$package1.=.$pool->l
56240 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 73 5b 30 5d 29 3b 0a 24 iteralToPackage($literals[0]);.$
56260 70 61 63 6b 61 67 65 32 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 package2.=.$pool->literalToPacka
56280 67 65 28 24 6c 69 74 65 72 61 6c 73 5b 31 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 ge($literals[1]);..return.$packa
562a0 67 65 31 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 2e 27 20 63 6f 6e 66 6c 69 63 ge1->getPrettyString().'.conflic
562c0 74 73 20 77 69 74 68 20 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 50 61 63 6b 61 67 65 73 55 ts.with.'.$this->formatPackagesU
562e0 6e 69 71 75 65 28 24 70 6f 6f 6c 2c 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 32 29 29 2e 27 nique($pool,.array($package2)).'
56300 2e 27 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 52 45 51 .';..case.self::RULE_PACKAGE_REQ
56320 55 49 52 45 53 3a 0a 24 73 6f 75 72 63 65 4c 69 74 65 72 61 6c 20 3d 20 61 72 72 61 79 5f 73 68 UIRES:.$sourceLiteral.=.array_sh
56340 69 66 74 28 24 6c 69 74 65 72 61 6c 73 29 3b 0a 24 73 6f 75 72 63 65 50 61 63 6b 61 67 65 20 3d ift($literals);.$sourcePackage.=
56360 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 73 6f 75 72 63 65 .$pool->literalToPackage($source
56380 4c 69 74 65 72 61 6c 29 3b 0a 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a Literal);..$requires.=.array();.
563a0 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 foreach.($literals.as.$literal).
563c0 7b 0a 24 72 65 71 75 69 72 65 73 5b 5d 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f {.$requires[].=.$pool->literalTo
563e0 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 7d 0a 0a 24 74 65 78 74 20 3d 20 24 74 Package($literal);.}..$text.=.$t
56400 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 61 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 his->reasonData->getPrettyString
56420 28 24 73 6f 75 72 63 65 50 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 24 72 65 71 75 69 72 65 73 29 ($sourcePackage);.if.($requires)
56440 20 7b 0a 24 74 65 78 74 20 2e 3d 20 27 20 2d 3e 20 73 61 74 69 73 66 69 61 62 6c 65 20 62 79 20 .{.$text..=.'.->.satisfiable.by.
56460 27 20 2e 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 50 61 63 6b 61 67 65 73 55 6e 69 71 75 65 28 '...$this->formatPackagesUnique(
56480 24 70 6f 6f 6c 2c 20 24 72 65 71 75 69 72 65 73 29 20 2e 20 27 2e 27 3b 0a 7d 20 65 6c 73 65 20 $pool,.$requires)...'.';.}.else.
564a0 7b 0a 24 74 61 72 67 65 74 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e 44 61 74 {.$targetName.=.$this->reasonDat
564c0 61 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 0a 69 66 20 28 24 74 61 72 67 65 74 4e 61 6d 65 a->getTarget();..if.($targetName
564e0 20 3d 3d 3d 20 27 70 68 70 27 20 7c 7c 20 24 74 61 72 67 65 74 4e 61 6d 65 20 3d 3d 3d 20 27 70 .===.'php'.||.$targetName.===.'p
56500 68 70 2d 36 34 62 69 74 27 20 7c 7c 20 24 74 61 72 67 65 74 4e 61 6d 65 20 3d 3d 3d 20 27 68 68 hp-64bit'.||.$targetName.===.'hh
56520 76 6d 27 29 20 7b 0a 0a 20 69 66 20 28 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 vm').{...if.(defined('HHVM_VERSI
56540 4f 4e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 79 6f 75 72 ON')).{.return.$text...'.->.your
56560 20 48 48 56 4d 20 76 65 72 73 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 .HHVM.version.does.not.satisfy.t
56580 68 61 74 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 27 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 hat.requirement.';.}..$packages.
565a0 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 74 61 72 67 65 74 4e 61 6d =.$pool->whatProvides($targetNam
565c0 65 29 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 63 6f 75 6e 74 28 24 70 61 63 6b 61 67 65 73 29 20 e);.$package.=.count($packages).
565e0 3f 20 63 75 72 72 65 6e 74 28 24 70 61 63 6b 61 67 65 73 29 20 3a 20 70 68 70 76 65 72 73 69 6f ?.current($packages).:.phpversio
56600 6e 28 29 3b 0a 0a 69 66 20 28 24 74 61 72 67 65 74 4e 61 6d 65 20 3d 3d 3d 20 27 68 68 76 6d 27 n();..if.($targetName.===.'hhvm'
56620 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 ).{.if.($package.instanceof.Comp
56640 6c 65 74 65 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 letePackage).{.return.$text...'.
56660 2d 3e 20 79 6f 75 72 20 48 48 56 4d 20 76 65 72 73 69 6f 6e 20 28 27 2e 24 70 61 63 6b 61 67 65 ->.your.HHVM.version.('.$package
56680 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 29 20 64 6f 65 73 20 6e 6f 74 ->getPrettyVersion().').does.not
566a0 20 73 61 74 69 73 66 79 20 74 68 61 74 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 27 3b 0a 7d 20 65 .satisfy.that.requirement.';.}.e
566c0 6c 73 65 20 7b 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 79 6f 75 20 61 72 lse.{.return.$text...'.->.you.ar
566e0 65 20 72 75 6e 6e 69 6e 67 20 74 68 69 73 20 77 69 74 68 20 50 48 50 20 61 6e 64 20 6e 6f 74 20 e.running.this.with.PHP.and.not.
56700 48 48 56 4d 2e 27 3b 0a 7d 0a 7d 0a 0a 0a 69 66 20 28 21 28 24 70 61 63 6b 61 67 65 20 69 6e 73 HHVM.';.}.}...if.(!($package.ins
56720 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 29 29 20 7b 0a 72 65 74 75 tanceof.CompletePackage)).{.retu
56740 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e rn.$text...'.->.your.PHP.version
56760 20 28 27 2e 70 68 70 76 65 72 73 69 6f 6e 28 29 2e 27 29 20 64 6f 65 73 20 6e 6f 74 20 73 61 74 .('.phpversion().').does.not.sat
56780 69 73 66 79 20 74 68 61 74 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 27 3b 0a 7d 0a 0a 24 65 78 74 isfy.that.requirement.';.}..$ext
567a0 72 61 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 45 78 74 72 61 28 29 3b 0a 0a 69 66 20 28 ra.=.$package->getExtra();..if.(
567c0 21 65 6d 70 74 79 28 24 65 78 74 72 61 5b 27 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 27 5d !empty($extra['config.platform']
567e0 29 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 27 20 2d 3e 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 )).{.$text..=.'.->.your.PHP.vers
56800 69 6f 6e 20 28 27 2e 70 68 70 76 65 72 73 69 6f 6e 28 29 2e 27 29 20 6f 76 65 72 72 69 64 64 65 ion.('.phpversion().').overridde
56820 6e 20 62 79 20 22 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 2e 70 68 70 22 20 76 65 72 73 69 n.by."config.platform.php".versi
56840 6f 6e 20 28 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e on.('.$package->getPrettyVersion
56860 28 29 2e 27 29 20 64 6f 65 73 20 6e 6f 74 20 73 61 74 69 73 66 79 20 74 68 61 74 20 72 65 71 75 ().').does.not.satisfy.that.requ
56880 69 72 65 6d 65 6e 74 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 65 78 74 20 2e 3d 20 27 20 2d irement.';.}.else.{.$text..=.'.-
568a0 3e 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e 20 28 27 2e 24 70 61 63 6b 61 67 65 2d 3e >.your.PHP.version.('.$package->
568c0 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 29 20 64 6f 65 73 20 6e 6f 74 20 73 getPrettyVersion().').does.not.s
568e0 61 74 69 73 66 79 20 74 68 61 74 20 72 65 71 75 69 72 65 6d 65 6e 74 2e 27 3b 0a 7d 0a 0a 72 65 atisfy.that.requirement.';.}..re
56900 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 turn.$text;.}..if.(0.===.strpos(
56920 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 27 65 78 74 2d 27 29 29 20 7b 0a 0a 20 24 65 78 74 20 3d $targetName,.'ext-')).{...$ext.=
56940 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 34 29 3b 0a 24 65 72 72 6f 72 20 .substr($targetName,.4);.$error.
56960 3d 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 24 65 78 74 29 20 3f 20 27 68 61 73 20 =.extension_loaded($ext).?.'has.
56980 74 68 65 20 77 72 6f 6e 67 20 76 65 72 73 69 6f 6e 20 28 27 2e 28 70 68 70 76 65 72 73 69 6f 6e the.wrong.version.('.(phpversion
569a0 28 24 65 78 74 29 20 3f 3a 20 27 30 27 29 2e 27 29 20 69 6e 73 74 61 6c 6c 65 64 27 20 3a 20 27 ($ext).?:.'0').').installed'.:.'
569c0 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 79 6f 75 72 20 73 79 73 74 65 6d 27 3b 0a 0a 72 is.missing.from.your.system';..r
569e0 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 74 68 65 20 72 65 71 75 65 73 74 65 64 eturn.$text...'.->.the.requested
56a00 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 27 2e 24 65 78 74 2e 27 20 27 2e 24 65 72 72 6f 72 .PHP.extension.'.$ext.'.'.$error
56a20 2e 27 2e 27 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 61 72 67 65 .'.';.}..if.(0.===.strpos($targe
56a40 74 4e 61 6d 65 2c 20 27 6c 69 62 2d 27 29 29 20 7b 0a 0a 20 24 6c 69 62 20 3d 20 73 75 62 73 74 tName,.'lib-')).{...$lib.=.subst
56a60 72 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 34 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 r($targetName,.4);..return.$text
56a80 20 2e 20 27 20 2d 3e 20 74 68 65 20 72 65 71 75 65 73 74 65 64 20 6c 69 6e 6b 65 64 20 6c 69 62 ...'.->.the.requested.linked.lib
56aa0 72 61 72 79 20 27 2e 24 6c 69 62 2e 27 20 68 61 73 20 74 68 65 20 77 72 6f 6e 67 20 76 65 72 73 rary.'.$lib.'.has.the.wrong.vers
56ac0 69 6f 6e 20 69 6e 73 74 61 6c 6c 65 64 20 6f 72 20 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d ion.installed.or.is.missing.from
56ae0 20 79 6f 75 72 20 73 79 73 74 65 6d 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 6f 20 68 61 76 65 20 .your.system,.make.sure.to.have.
56b00 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 70 72 6f 76 69 64 69 6e 67 20 69 74 2e 27 3b 0a 7d 0a the.extension.providing.it.';.}.
56b20 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f .if.($providers.=.$pool->whatPro
56b40 76 69 64 65 73 28 24 74 61 72 67 65 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 72 65 61 73 6f 6e vides($targetName,.$this->reason
56b60 44 61 74 61 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2c 20 74 72 75 65 2c 20 74 72 75 Data->getConstraint(),.true,.tru
56b80 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 73 61 74 69 73 66 e)).{.return.$text...'.->.satisf
56ba0 69 61 62 6c 65 20 62 79 20 27 20 2e 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 50 61 63 6b 61 67 iable.by.'...$this->formatPackag
56bc0 65 73 55 6e 69 71 75 65 28 24 70 6f 6f 6c 2c 20 24 70 72 6f 76 69 64 65 72 73 29 20 2e 27 20 62 esUnique($pool,.$providers)..'.b
56be0 75 74 20 74 68 65 73 65 20 63 6f 6e 66 6c 69 63 74 20 77 69 74 68 20 79 6f 75 72 20 72 65 71 75 ut.these.conflict.with.your.requ
56c00 69 72 65 6d 65 6e 74 73 20 6f 72 20 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 2e 27 3b irements.or.minimum-stability.';
56c20 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 20 2e 20 27 20 2d 3e 20 6e 6f 20 6d 61 74 63 68 .}..return.$text...'.->.no.match
56c40 69 6e 67 20 70 61 63 6b 61 67 65 20 66 6f 75 6e 64 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 ing.package.found.';.}..return.$
56c60 74 65 78 74 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 4f text;..case.self::RULE_PACKAGE_O
56c80 42 53 4f 4c 45 54 45 53 3a 0a 72 65 74 75 72 6e 20 24 72 75 6c 65 54 65 78 74 3b 0a 63 61 73 65 BSOLETES:.return.$ruleText;.case
56ca0 20 73 65 6c 66 3a 3a 52 55 4c 45 5f 49 4e 53 54 41 4c 4c 45 44 5f 50 41 43 4b 41 47 45 5f 4f 42 .self::RULE_INSTALLED_PACKAGE_OB
56cc0 53 4f 4c 45 54 45 53 3a 0a 72 65 74 75 72 6e 20 24 72 75 6c 65 54 65 78 74 3b 0a 63 61 73 65 20 SOLETES:.return.$ruleText;.case.
56ce0 73 65 6c 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 53 41 4d 45 5f 4e 41 4d 45 3a 0a 72 65 self::RULE_PACKAGE_SAME_NAME:.re
56d00 74 75 72 6e 20 27 43 61 6e 20 6f 6e 6c 79 20 69 6e 73 74 61 6c 6c 20 6f 6e 65 20 6f 66 3a 20 27 turn.'Can.only.install.one.of:.'
56d20 20 2e 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 50 61 63 6b 61 67 65 73 55 6e 69 71 75 65 28 24 ...$this->formatPackagesUnique($
56d40 70 6f 6f 6c 2c 20 24 6c 69 74 65 72 61 6c 73 29 20 2e 20 27 2e 27 3b 0a 63 61 73 65 20 73 65 6c pool,.$literals)...'.';.case.sel
56d60 66 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 49 4d 50 4c 49 43 49 54 5f 4f 42 53 4f 4c 45 54 f::RULE_PACKAGE_IMPLICIT_OBSOLET
56d80 45 53 3a 0a 72 65 74 75 72 6e 20 24 72 75 6c 65 54 65 78 74 3b 0a 63 61 73 65 20 73 65 6c 66 3a ES:.return.$ruleText;.case.self:
56da0 3a 52 55 4c 45 5f 4c 45 41 52 4e 45 44 3a 0a 72 65 74 75 72 6e 20 27 43 6f 6e 63 6c 75 73 69 6f :RULE_LEARNED:.return.'Conclusio
56dc0 6e 3a 20 27 2e 24 72 75 6c 65 54 65 78 74 3b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 52 55 4c 45 5f n:.'.$ruleText;.case.self::RULE_
56de0 50 41 43 4b 41 47 45 5f 41 4c 49 41 53 3a 0a 72 65 74 75 72 6e 20 24 72 75 6c 65 54 65 78 74 3b PACKAGE_ALIAS:.return.$ruleText;
56e00 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 27 28 27 2e 24 72 75 6c 65 54 65 78 74 2e 27 .default:.return.'('.$ruleText.'
56e20 29 27 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f )';.}.}........protected.functio
56e40 6e 20 66 6f 72 6d 61 74 50 61 63 6b 61 67 65 73 55 6e 69 71 75 65 28 24 70 6f 6f 6c 2c 20 61 72 n.formatPackagesUnique($pool,.ar
56e60 72 61 79 20 24 70 61 63 6b 61 67 65 73 29 0a 7b 0a 24 70 72 65 70 61 72 65 64 20 3d 20 61 72 72 ray.$packages).{.$prepared.=.arr
56e80 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 ay();.foreach.($packages.as.$pac
56ea0 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 69 73 5f 6f 62 6a 65 63 74 28 24 70 61 63 6b 61 67 65 29 kage).{.if.(!is_object($package)
56ec0 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 ).{.$package.=.$pool->literalToP
56ee0 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 24 70 72 65 70 61 72 65 64 5b 24 70 ackage($package);.}.$prepared[$p
56f00 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 27 6e 61 6d 65 27 5d 20 3d 20 24 70 61 ackage->getName()]['name'].=.$pa
56f20 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 24 70 72 65 70 61 72 65 ckage->getPrettyName();.$prepare
56f40 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 27 76 65 72 73 69 6f 6e 73 d[$package->getName()]['versions
56f60 27 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 20 3d 20 24 70 61 '][$package->getVersion()].=.$pa
56f80 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 66 6f 72 ckage->getPrettyVersion();.}.for
56fa0 65 61 63 68 20 28 24 70 72 65 70 61 72 65 64 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 70 61 63 each.($prepared.as.$name.=>.$pac
56fc0 6b 61 67 65 29 20 7b 0a 24 70 72 65 70 61 72 65 64 5b 24 6e 61 6d 65 5d 20 3d 20 24 70 61 63 6b kage).{.$prepared[$name].=.$pack
56fe0 61 67 65 5b 27 6e 61 6d 65 27 5d 2e 27 5b 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 age['name'].'['.implode(',.',.$p
57000 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 73 27 5d 29 2e 27 5d 27 3b 0a 7d 0a 0a 72 65 74 75 ackage['versions']).']';.}..retu
57020 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 70 72 65 70 61 72 65 64 29 3b 0a 7d 0a 7d rn.implode(',.',.$prepared);.}.}
57040 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
57060 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f oser\DependencyResolver;..use.Co
57080 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b mposer\Package\PackageInterface;
570a0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 0a 0a 0a 0a .use.Composer\Package\Link;.....
570c0 63 6c 61 73 73 20 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 20 65 78 74 65 6e 64 73 20 52 75 6c 65 class.Rule2Literals.extends.Rule
570e0 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 69 74 65 72 61 6c 31 3b 0a 70 72 6f 74 65 63 74 65 .{.protected.$literal1;.protecte
57100 64 20 24 6c 69 74 65 72 61 6c 32 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 d.$literal2;.........public.func
57120 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6c 69 74 65 72 61 6c 31 2c 20 24 6c 69 74 tion.__construct($literal1,.$lit
57140 65 72 61 6c 32 2c 20 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 2c 20 24 6a 6f eral2,.$reason,.$reasonData,.$jo
57160 62 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 b.=.null).{.parent::__construct(
57180 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 2c 20 24 6a 6f 62 29 3b 0a 0a 69 66 $reason,.$reasonData,.$job);..if
571a0 20 28 24 6c 69 74 65 72 61 6c 31 20 3c 20 24 6c 69 74 65 72 61 6c 32 29 20 7b 0a 24 74 68 69 73 .($literal1.<.$literal2).{.$this
571c0 2d 3e 6c 69 74 65 72 61 6c 31 20 3d 20 24 6c 69 74 65 72 61 6c 31 3b 0a 24 74 68 69 73 2d 3e 6c ->literal1.=.$literal1;.$this->l
571e0 69 74 65 72 61 6c 32 20 3d 20 24 6c 69 74 65 72 61 6c 32 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 iteral2.=.$literal2;.}.else.{.$t
57200 68 69 73 2d 3e 6c 69 74 65 72 61 6c 31 20 3d 20 24 6c 69 74 65 72 61 6c 32 3b 0a 24 74 68 69 73 his->literal1.=.$literal2;.$this
57220 2d 3e 6c 69 74 65 72 61 6c 32 20 3d 20 24 6c 69 74 65 72 61 6c 31 3b 0a 7d 0a 7d 0a 0a 70 75 62 ->literal2.=.$literal1;.}.}..pub
57240 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 74 65 72 61 6c 73 28 29 0a 7b 0a 72 65 74 lic.function.getLiterals().{.ret
57260 75 72 6e 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 31 2c 20 24 74 68 69 73 urn.array($this->literal1,.$this
57280 2d 3e 6c 69 74 65 72 61 6c 32 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ->literal2);.}..public.function.
572a0 67 65 74 48 61 73 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 getHash().{.return.$this->litera
572c0 6c 31 2e 27 2c 27 2e 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 32 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a l1.','.$this->literal2;.}.......
572e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 71 75 61 6c 73 28 52 75 6c 65 20 24 ...public.function.equals(Rule.$
57300 72 75 6c 65 29 0a 7b 0a 0a 20 69 66 20 28 24 72 75 6c 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 rule).{...if.($rule.instanceof.s
57320 65 6c 66 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 31 20 21 3d 3d 20 24 elf).{.if.($this->literal1.!==.$
57340 72 75 6c 65 2d 3e 6c 69 74 65 72 61 6c 31 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a rule->literal1).{.return.false;.
57360 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 32 20 21 3d 3d 20 24 72 75 6c 65 }..if.($this->literal2.!==.$rule
57380 2d 3e 6c 69 74 65 72 61 6c 32 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 ->literal2).{.return.false;.}..r
573a0 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 72 75 6c 65 eturn.true;.}..$literals.=.$rule
573c0 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 69 66 20 28 32 20 21 3d 20 63 6f 75 6e 74 28 ->getLiterals();.if.(2.!=.count(
573e0 24 6c 69 74 65 72 61 6c 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 $literals)).{.return.false;.}..i
57400 66 20 28 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 31 20 21 3d 3d 20 24 6c 69 74 65 72 61 6c 73 f.($this->literal1.!==.$literals
57420 5b 30 5d 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 [0]).{.return.false;.}..if.($thi
57440 73 2d 3e 6c 69 74 65 72 61 6c 32 20 21 3d 3d 20 24 6c 69 74 65 72 61 6c 73 5b 31 5d 29 20 7b 0a s->literal2.!==.$literals[1]).{.
57460 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a return.false;.}..return.true;.}.
57480 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 73 73 65 72 74 69 6f 6e 28 29 0a 7b .public.function.isAssertion().{
574a0 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .return.false;.}.......public.fu
574c0 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 nction.__toString().{.$result.=.
574e0 24 74 68 69 73 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 20 3f 20 27 64 69 73 61 62 6c 65 64 28 $this->isDisabled().?.'disabled(
57500 27 20 3a 20 27 28 27 3b 0a 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 74 68 69 73 2d 3e 6c 69 74 65 '.:.'(';..$result..=.$this->lite
57520 72 61 6c 31 20 2e 20 27 7c 27 20 2e 20 24 74 68 69 73 2d 3e 6c 69 74 65 72 61 6c 32 20 2e 20 27 ral1...'|'...$this->literal2...'
57540 29 27 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a )';..return.$result;.}.}.<?php..
57560 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 ..........namespace.Composer\Dep
57580 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 53 endencyResolver;.....class.RuleS
575a0 65 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 et.implements.\IteratorAggregate
575c0 2c 20 5c 43 6f 75 6e 74 61 62 6c 65 0a 7b 0a 0a 20 63 6f 6e 73 74 20 54 59 50 45 5f 50 41 43 4b ,.\Countable.{...const.TYPE_PACK
575e0 41 47 45 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 4a 4f 42 20 3d 20 31 3b 0a 63 6f 6e AGE.=.0;.const.TYPE_JOB.=.1;.con
57600 73 74 20 54 59 50 45 5f 4c 45 41 52 4e 45 44 20 3d 20 34 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 st.TYPE_LEARNED.=.4;.......publi
57620 63 20 24 72 75 6c 65 42 79 49 64 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 24 c.$ruleById;..protected.static.$
57640 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 0a 32 35 35 20 3d 3e 20 27 55 4e 4b 4e 4f 57 4e 27 2c types.=.array(.255.=>.'UNKNOWN',
57660 0a 73 65 6c 66 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 20 3d 3e 20 27 50 41 43 4b 41 47 45 27 .self::TYPE_PACKAGE.=>.'PACKAGE'
57680 2c 0a 73 65 6c 66 3a 3a 54 59 50 45 5f 4a 4f 42 20 3d 3e 20 27 4a 4f 42 27 2c 0a 73 65 6c 66 3a ,.self::TYPE_JOB.=>.'JOB',.self:
576a0 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 20 3d 3e 20 27 4c 45 41 52 4e 45 44 27 2c 0a 29 3b 0a 0a :TYPE_LEARNED.=>.'LEARNED',.);..
576c0 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 65 78 protected.$rules;.protected.$nex
576e0 74 52 75 6c 65 49 64 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 73 42 79 48 61 73 68 tRuleId;..protected.$rulesByHash
57700 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 ;..public.function.__construct()
57720 0a 7b 0a 24 74 68 69 73 2d 3e 6e 65 78 74 52 75 6c 65 49 64 20 3d 20 30 3b 0a 0a 66 6f 72 65 61 .{.$this->nextRuleId.=.0;..forea
57740 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 73 28 29 20 61 73 20 24 74 79 70 65 29 20 ch.($this->getTypes().as.$type).
57760 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 79 70 65 5d 20 3d 20 61 72 72 61 79 28 29 3b {.$this->rules[$type].=.array();
57780 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 20 3d 20 61 72 72 61 79 28 29 .}..$this->rulesByHash.=.array()
577a0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 52 75 6c 65 20 24 72 ;.}..public.function.add(Rule.$r
577c0 75 6c 65 2c 20 24 74 79 70 65 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 ule,.$type).{.if.(!isset(self::$
577e0 74 79 70 65 73 5b 24 74 79 70 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4f 75 74 4f types[$type])).{.throw.new.\OutO
57800 66 42 6f 75 6e 64 73 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e 20 72 75 6c 65 20 74 fBoundsException('Unknown.rule.t
57820 79 70 65 3a 20 27 20 2e 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 24 68 61 73 68 20 3d 20 24 72 75 6c ype:.'...$type);.}..$hash.=.$rul
57840 65 2d 3e 67 65 74 48 61 73 68 28 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 e->getHash();....if.(isset($this
57860 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 29 29 20 7b 0a 24 70 6f 74 65 6e 74 ->rulesByHash[$hash])).{.$potent
57880 69 61 6c 44 75 70 6c 69 63 61 74 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 ialDuplicates.=.$this->rulesByHa
578a0 73 68 5b 24 68 61 73 68 5d 3b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 70 6f 74 65 6e 74 69 sh[$hash];.if.(is_array($potenti
578c0 61 6c 44 75 70 6c 69 63 61 74 65 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 74 65 6e alDuplicates)).{.foreach.($poten
578e0 74 69 61 6c 44 75 70 6c 69 63 61 74 65 73 20 61 73 20 24 70 6f 74 65 6e 74 69 61 6c 44 75 70 6c tialDuplicates.as.$potentialDupl
57900 69 63 61 74 65 29 20 7b 0a 69 66 20 28 24 72 75 6c 65 2d 3e 65 71 75 61 6c 73 28 24 70 6f 74 65 icate).{.if.($rule->equals($pote
57920 6e 74 69 61 6c 44 75 70 6c 69 63 61 74 65 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d ntialDuplicate)).{.return;.}.}.}
57940 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 72 75 6c 65 2d 3e 65 71 75 61 6c 73 28 24 70 6f 74 65 6e .else.{.if.($rule->equals($poten
57960 74 69 61 6c 44 75 70 6c 69 63 61 74 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d tialDuplicates)).{.return;.}.}.}
57980 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 79 70 65 5d ..if.(!isset($this->rules[$type]
579a0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 79 70 65 5d 20 3d 20 61 72 72 61 79 )).{.$this->rules[$type].=.array
579c0 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 79 70 65 5d 5b 5d 20 3d 20 24 ();.}..$this->rules[$type][].=.$
579e0 72 75 6c 65 3b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 42 79 49 64 5b 24 74 68 69 73 2d 3e 6e 65 78 rule;.$this->ruleById[$this->nex
57a00 74 52 75 6c 65 49 64 5d 20 3d 20 24 72 75 6c 65 3b 0a 24 72 75 6c 65 2d 3e 73 65 74 54 79 70 65 tRuleId].=.$rule;.$rule->setType
57a20 28 24 74 79 70 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 6e 65 78 74 52 75 6c 65 49 64 2b 2b 3b 0a 0a ($type);..$this->nextRuleId++;..
57a40 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 if.(!isset($this->rulesByHash[$h
57a60 61 73 68 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 ash])).{.$this->rulesByHash[$has
57a80 68 5d 20 3d 20 24 72 75 6c 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 h].=.$rule;.}.elseif.(is_array($
57aa0 74 68 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 29 29 20 7b 0a 24 74 68 this->rulesByHash[$hash])).{.$th
57ac0 69 73 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 5b 5d 20 3d 20 24 72 75 6c 65 is->rulesByHash[$hash][].=.$rule
57ae0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 72 69 67 69 6e 61 6c 52 75 6c 65 20 3d 20 24 74 68 69 73 ;.}.else.{.$originalRule.=.$this
57b00 2d 3e 72 75 6c 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 3b 0a 24 74 68 69 73 2d 3e 72 75 6c ->rulesByHash[$hash];.$this->rul
57b20 65 73 42 79 48 61 73 68 5b 24 68 61 73 68 5d 20 3d 20 61 72 72 61 79 28 24 6f 72 69 67 69 6e 61 esByHash[$hash].=.array($origina
57b40 6c 52 75 6c 65 2c 20 24 72 75 6c 65 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 lRule,.$rule);.}.}..public.funct
57b60 69 6f 6e 20 63 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 65 78 74 ion.count().{.return.$this->next
57b80 52 75 6c 65 49 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6c 65 42 RuleId;.}..public.function.ruleB
57ba0 79 49 64 28 24 69 64 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 75 6c 65 42 79 49 yId($id).{.return.$this->ruleByI
57bc0 64 5b 24 69 64 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 75 d[$id];.}..public.function.getRu
57be0 6c 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 3b 0a 7d 0a 0a les().{.return.$this->rules;.}..
57c00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 74 65 72 61 74 6f 72 28 29 0a 7b 0a public.function.getIterator().{.
57c20 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c 65 53 65 74 49 74 65 72 61 74 6f 72 28 24 74 68 69 73 return.new.RuleSetIterator($this
57c40 2d 3e 67 65 74 52 75 6c 65 73 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ->getRules());.}..public.functio
57c60 6e 20 67 65 74 49 74 65 72 61 74 6f 72 46 6f 72 28 24 74 79 70 65 73 29 0a 7b 0a 69 66 20 28 21 n.getIteratorFor($types).{.if.(!
57c80 69 73 5f 61 72 72 61 79 28 24 74 79 70 65 73 29 29 20 7b 0a 24 74 79 70 65 73 20 3d 20 61 72 72 is_array($types)).{.$types.=.arr
57ca0 61 79 28 24 74 79 70 65 73 29 3b 0a 7d 0a 0a 24 61 6c 6c 52 75 6c 65 73 20 3d 20 24 74 68 69 73 ay($types);.}..$allRules.=.$this
57cc0 2d 3e 67 65 74 52 75 6c 65 73 28 29 3b 0a 24 72 75 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ->getRules();.$rules.=.array();.
57ce0 0a 66 6f 72 65 61 63 68 20 28 24 74 79 70 65 73 20 61 73 20 24 74 79 70 65 29 20 7b 0a 24 72 75 .foreach.($types.as.$type).{.$ru
57d00 6c 65 73 5b 24 74 79 70 65 5d 20 3d 20 24 61 6c 6c 52 75 6c 65 73 5b 24 74 79 70 65 5d 3b 0a 7d les[$type].=.$allRules[$type];.}
57d20 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 75 6c 65 53 65 74 49 74 65 72 61 74 6f 72 28 24 72 75 ..return.new.RuleSetIterator($ru
57d40 6c 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 74 65 72 les);.}..public.function.getIter
57d60 61 74 6f 72 57 69 74 68 6f 75 74 28 24 74 79 70 65 73 29 0a 7b 0a 69 66 20 28 21 69 73 5f 61 72 atorWithout($types).{.if.(!is_ar
57d80 72 61 79 28 24 74 79 70 65 73 29 29 20 7b 0a 24 74 79 70 65 73 20 3d 20 61 72 72 61 79 28 24 74 ray($types)).{.$types.=.array($t
57da0 79 70 65 73 29 3b 0a 7d 0a 0a 24 72 75 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 75 6c ypes);.}..$rules.=.$this->getRul
57dc0 65 73 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 79 70 65 73 20 61 73 20 24 74 79 70 65 29 es();..foreach.($types.as.$type)
57de0 20 7b 0a 75 6e 73 65 74 28 24 72 75 6c 65 73 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 0a 72 65 74 75 .{.unset($rules[$type]);.}..retu
57e00 72 6e 20 6e 65 77 20 52 75 6c 65 53 65 74 49 74 65 72 61 74 6f 72 28 24 72 75 6c 65 73 29 3b 0a rn.new.RuleSetIterator($rules);.
57e20 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 73 28 29 0a 7b 0a }..public.function.getTypes().{.
57e40 24 74 79 70 65 73 20 3d 20 73 65 6c 66 3a 3a 24 74 79 70 65 73 3b 0a 75 6e 73 65 74 28 24 74 79 $types.=.self::$types;.unset($ty
57e60 70 65 73 5b 32 35 35 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 pes[255]);..return.array_keys($t
57e80 79 70 65 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 ypes);.}..public.function.getPre
57ea0 74 74 79 53 74 72 69 6e 67 28 50 6f 6f 6c 20 24 70 6f 6f 6c 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 ttyString(Pool.$pool.=.null).{.$
57ec0 73 74 72 69 6e 67 20 3d 20 22 5c 6e 22 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 string.=."\n";.foreach.($this->r
57ee0 75 6c 65 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 72 75 6c 65 73 29 20 7b 0a 24 73 74 72 69 ules.as.$type.=>.$rules).{.$stri
57f00 6e 67 20 2e 3d 20 73 74 72 5f 70 61 64 28 73 65 6c 66 3a 3a 24 74 79 70 65 73 5b 24 74 79 70 65 ng..=.str_pad(self::$types[$type
57f20 5d 2c 20 38 2c 20 27 20 27 29 20 2e 20 22 3a 20 22 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 75 6c ],.8,.'.')...":.";.foreach.($rul
57f40 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 24 73 74 72 69 6e 67 20 2e 3d 20 28 24 70 6f 6f 6c es.as.$rule).{.$string..=.($pool
57f60 20 3f 20 24 72 75 6c 65 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 6f 6f 6c 29 .?.$rule->getPrettyString($pool)
57f80 20 3a 20 24 72 75 6c 65 29 2e 22 5c 6e 22 3b 0a 7d 0a 24 73 74 72 69 6e 67 20 2e 3d 20 22 5c 6e .:.$rule)."\n";.}.$string..=."\n
57fa0 5c 6e 22 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 74 72 69 6e 67 3b 0a 7d 0a 0a 70 75 62 6c 69 \n";.}..return.$string;.}..publi
57fc0 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e c.function.__toString().{.return
57fe0 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 6e 75 6c 6c 29 3b 0a 7d .$this->getPrettyString(null);.}
58000 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
58020 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 mposer\DependencyResolver;..use.
58040 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 Composer\Package\PackageInterfac
58060 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 e;.use.Composer\Package\AliasPac
58080 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c kage;.use.Composer\Repository\Pl
580a0 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 atformRepository;.....class.Rule
580c0 53 65 74 47 65 6e 65 72 61 74 6f 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6c 69 63 79 SetGenerator.{.protected.$policy
580e0 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 ;.protected.$pool;.protected.$ru
58100 6c 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6a 6f 62 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 les;.protected.$jobs;.protected.
58120 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 68 69 74 65 6c $installedMap;.protected.$whitel
58140 69 73 74 65 64 4d 61 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 64 64 65 64 4d 61 70 3b 0a 70 istedMap;.protected.$addedMap;.p
58160 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 6c 69 63 74 41 64 64 65 64 4d 61 70 3b 0a 70 72 6f 74 rotected.$conflictAddedMap;.prot
58180 65 63 74 65 64 20 24 61 64 64 65 64 50 61 63 6b 61 67 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 ected.$addedPackages;.protected.
581a0 24 61 64 64 65 64 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 73 3b 0a 0a 70 75 62 6c 69 63 20 66 $addedPackagesByNames;..public.f
581c0 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 6f 6c 69 63 79 49 6e 74 65 72 66 unction.__construct(PolicyInterf
581e0 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f 6f 6c 29 0a 7b 0a 24 74 68 69 73 ace.$policy,.Pool.$pool).{.$this
58200 2d 3e 70 6f 6c 69 63 79 20 3d 20 24 70 6f 6c 69 63 79 3b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 ->policy.=.$policy;.$this->pool.
58220 3d 20 24 70 6f 6f 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 =.$pool;.}................protec
58240 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 71 75 69 72 65 52 75 6c 65 28 50 ted.function.createRequireRule(P
58260 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 61 72 72 61 79 20 ackageInterface.$package,.array.
58280 24 70 72 6f 76 69 64 65 72 73 2c 20 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 $providers,.$reason,.$reasonData
582a0 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 28 2d 24 70 .=.null).{.$literals.=.array(-$p
582c0 61 63 6b 61 67 65 2d 3e 69 64 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 72 6f 76 69 64 65 72 ackage->id);..foreach.($provider
582e0 73 20 61 73 20 24 70 72 6f 76 69 64 65 72 29 20 7b 0a 0a 20 69 66 20 28 24 70 72 6f 76 69 64 65 s.as.$provider).{...if.($provide
58300 72 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d r.===.$package).{.return.null;.}
58320 0a 24 6c 69 74 65 72 61 6c 73 5b 5d 20 3d 20 24 70 72 6f 76 69 64 65 72 2d 3e 69 64 3b 0a 7d 0a .$literals[].=.$provider->id;.}.
58340 0a 72 65 74 75 72 6e 20 6e 65 77 20 47 65 6e 65 72 69 63 52 75 6c 65 28 24 6c 69 74 65 72 61 6c .return.new.GenericRule($literal
58360 73 2c 20 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e 44 61 74 61 29 3b 0a 7d 0a 0a 0a 0a 0a s,.$reason,.$reasonData);.}.....
58380 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 .........protected.function.crea
583a0 74 65 49 6e 73 74 61 6c 6c 4f 6e 65 4f 66 52 75 6c 65 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 teInstallOneOfRule(array.$packag
583c0 65 73 2c 20 24 72 65 61 73 6f 6e 2c 20 24 6a 6f 62 29 0a 7b 0a 24 6c 69 74 65 72 61 6c 73 20 3d es,.$reason,.$job).{.$literals.=
583e0 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 .array();.foreach.($packages.as.
58400 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 6c 69 74 65 72 61 6c 73 5b 5d 20 3d 20 24 70 61 63 6b 61 $package).{.$literals[].=.$packa
58420 67 65 2d 3e 69 64 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 47 65 6e 65 72 69 63 52 75 6c ge->id;.}..return.new.GenericRul
58440 65 28 24 6c 69 74 65 72 61 6c 73 2c 20 24 72 65 61 73 6f 6e 2c 20 24 6a 6f 62 5b 27 70 61 63 6b e($literals,.$reason,.$job['pack
58460 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ageName'],.$job);.}.............
58480 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 6d 6f 76 65 52 protected.function.createRemoveR
584a0 75 6c 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 ule(PackageInterface.$package,.$
584c0 72 65 61 73 6f 6e 2c 20 24 6a 6f 62 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 47 65 6e 65 72 reason,.$job).{.return.new.Gener
584e0 69 63 52 75 6c 65 28 61 72 72 61 79 28 2d 24 70 61 63 6b 61 67 65 2d 3e 69 64 29 2c 20 24 72 65 icRule(array(-$package->id),.$re
58500 61 73 6f 6e 2c 20 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 29 ason,.$job['packageName'],.$job)
58520 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e ;.}................protected.fun
58540 63 74 69 6f 6e 20 63 72 65 61 74 65 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 28 50 61 63 6b 61 67 ction.createRule2Literals(Packag
58560 65 49 6e 74 65 72 66 61 63 65 20 24 69 73 73 75 65 72 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 eInterface.$issuer,.PackageInter
58580 66 61 63 65 20 24 70 72 6f 76 69 64 65 72 2c 20 24 72 65 61 73 6f 6e 2c 20 24 72 65 61 73 6f 6e face.$provider,.$reason,.$reason
585a0 44 61 74 61 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 24 69 73 73 75 65 72 20 3d 3d 3d Data.=.null).{...if.($issuer.===
585c0 20 24 70 72 6f 76 69 64 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 .$provider).{.return.null;.}..re
585e0 74 75 72 6e 20 6e 65 77 20 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 28 2d 24 69 73 73 75 65 72 2d turn.new.Rule2Literals(-$issuer-
58600 3e 69 64 2c 20 2d 24 70 72 6f 76 69 64 65 72 2d 3e 69 64 2c 20 24 72 65 61 73 6f 6e 2c 20 24 72 >id,.-$provider->id,.$reason,.$r
58620 65 61 73 6f 6e 44 61 74 61 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 easonData);.}...........private.
58640 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 75 6c 65 28 24 74 79 70 65 2c 20 52 75 6c 65 20 24 6e 65 function.addRule($type,.Rule.$ne
58660 77 52 75 6c 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 24 6e 65 77 52 75 6c 65 29 20 7b wRule.=.null).{.if.(!$newRule).{
58680 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 61 64 64 28 24 6e .return;.}..$this->rules->add($n
586a0 65 77 52 75 6c 65 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e ewRule,.$type);.}..protected.fun
586c0 63 74 69 6f 6e 20 77 68 69 74 65 6c 69 73 74 46 72 6f 6d 50 61 63 6b 61 67 65 28 50 61 63 6b 61 ction.whitelistFromPackage(Packa
586e0 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 77 6f 72 6b 51 75 65 geInterface.$package).{.$workQue
58700 75 65 20 3d 20 6e 65 77 20 5c 53 70 6c 51 75 65 75 65 3b 0a 24 77 6f 72 6b 51 75 65 75 65 2d 3e ue.=.new.\SplQueue;.$workQueue->
58720 65 6e 71 75 65 75 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 77 68 69 6c 65 20 28 21 24 77 6f 72 enqueue($package);..while.(!$wor
58740 6b 51 75 65 75 65 2d 3e 69 73 45 6d 70 74 79 28 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 kQueue->isEmpty()).{.$package.=.
58760 24 77 6f 72 6b 51 75 65 75 65 2d 3e 64 65 71 75 65 75 65 28 29 3b 0a 69 66 20 28 69 73 73 65 74 $workQueue->dequeue();.if.(isset
58780 28 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d ($this->whitelistedMap[$package-
587a0 3e 69 64 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 68 69 >id])).{.continue;.}..$this->whi
587c0 74 65 6c 69 73 74 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 74 72 75 65 telistedMap[$package->id].=.true
587e0 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 ;..foreach.($package->getRequire
58800 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 s().as.$link).{.$possibleRequire
58820 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c s.=.$this->pool->whatProvides($l
58840 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 ink->getTarget(),.$link->getCons
58860 74 72 61 69 6e 74 28 29 2c 20 74 72 75 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 traint(),.true);..foreach.($poss
58880 69 62 6c 65 52 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 77 6f 72 ibleRequires.as.$require).{.$wor
588a0 6b 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 72 65 71 75 69 72 65 29 3b 0a 7d 0a 7d 0a 0a kQueue->enqueue($require);.}.}..
588c0 24 6f 62 73 6f 6c 65 74 65 50 72 6f 76 69 64 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c $obsoleteProviders.=.$this->pool
588e0 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 ->whatProvides($package->getName
58900 28 29 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6f 62 73 6f (),.null,.true);..foreach.($obso
58920 6c 65 74 65 50 72 6f 76 69 64 65 72 73 20 61 73 20 24 70 72 6f 76 69 64 65 72 29 20 7b 0a 69 66 leteProviders.as.$provider).{.if
58940 20 28 24 70 72 6f 76 69 64 65 72 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 63 6f 6e 74 .($provider.===.$package).{.cont
58960 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f inue;.}..if.(($package.instanceo
58980 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 f.AliasPackage).&&.$package->get
589a0 41 6c 69 61 73 4f 66 28 29 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 29 20 7b 0a 24 77 6f 72 6b AliasOf().===.$provider).{.$work
589c0 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 70 72 6f 76 69 64 65 72 29 3b 0a 7d 0a 7d 0a 7d Queue->enqueue($provider);.}.}.}
589e0 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 75 6c 65 73 46 .}..protected.function.addRulesF
58a00 6f 72 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b orPackage(PackageInterface.$pack
58a20 61 67 65 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 0a 7b 0a 24 77 6f 72 age,.$ignorePlatformReqs).{.$wor
58a40 6b 51 75 65 75 65 20 3d 20 6e 65 77 20 5c 53 70 6c 51 75 65 75 65 3b 0a 24 77 6f 72 6b 51 75 65 kQueue.=.new.\SplQueue;.$workQue
58a60 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 77 68 69 6c 65 20 28 21 ue->enqueue($package);..while.(!
58a80 24 77 6f 72 6b 51 75 65 75 65 2d 3e 69 73 45 6d 70 74 79 28 29 29 20 7b 0a 0a 24 70 61 63 6b 61 $workQueue->isEmpty()).{..$packa
58aa0 67 65 20 3d 20 24 77 6f 72 6b 51 75 65 75 65 2d 3e 64 65 71 75 65 75 65 28 29 3b 0a 69 66 20 28 ge.=.$workQueue->dequeue();.if.(
58ac0 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 64 64 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e isset($this->addedMap[$package->
58ae0 69 64 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 65 id])).{.continue;.}..$this->adde
58b00 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 74 72 75 65 3b 0a 0a 24 74 68 69 dMap[$package->id].=.true;..$thi
58b20 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 66 s->addedPackages[].=.$package;.f
58b40 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 28 29 20 61 73 20 oreach.($package->getNames().as.
58b60 24 6e 61 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 42 79 4e $name).{.$this->addedPackagesByN
58b80 61 6d 65 73 5b 24 6e 61 6d 65 5d 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 66 6f 72 ames[$name][].=.$package;.}..for
58ba0 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 each.($package->getRequires().as
58bc0 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 .$link).{.if.($ignorePlatformReq
58be0 73 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f s.&&.preg_match(PlatformReposito
58c00 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6c 69 6e ry::PLATFORM_PACKAGE_REGEX,.$lin
58c20 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a k->getTarget())).{.continue;.}..
58c40 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d $possibleRequires.=.$this->pool-
58c60 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 >whatProvides($link->getTarget()
58c80 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 0a 24 74 68 69 ,.$link->getConstraint());..$thi
58ca0 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 s->addRule(RuleSet::TYPE_PACKAGE
58cc0 2c 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 65 71 75 69 72 65 52 75 6c 65 28 24 70 61 63 6b ,.$this->createRequireRule($pack
58ce0 61 67 65 2c 20 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 2c 20 52 75 6c 65 3a 3a 52 55 age,.$possibleRequires,.Rule::RU
58d00 4c 45 5f 50 41 43 4b 41 47 45 5f 52 45 51 55 49 52 45 53 2c 20 24 6c 69 6e 6b 29 29 3b 0a 0a 66 LE_PACKAGE_REQUIRES,.$link));..f
58d20 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 20 61 73 20 24 72 65 oreach.($possibleRequires.as.$re
58d40 71 75 69 72 65 29 20 7b 0a 24 77 6f 72 6b 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 72 65 quire).{.$workQueue->enqueue($re
58d60 71 75 69 72 65 29 3b 0a 7d 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 70 61 63 quire);.}.}..$packageName.=.$pac
58d80 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 6f 62 73 6f 6c 65 74 65 50 72 6f 76 69 64 kage->getName();.$obsoleteProvid
58da0 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 ers.=.$this->pool->whatProvides(
58dc0 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 6e 75 6c 6c 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 $packageName,.null);..foreach.($
58de0 6f 62 73 6f 6c 65 74 65 50 72 6f 76 69 64 65 72 73 20 61 73 20 24 70 72 6f 76 69 64 65 72 29 20 obsoleteProviders.as.$provider).
58e00 7b 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a {.if.($provider.===.$package).{.
58e20 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 continue;.}..if.(($package.insta
58e40 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 26 26 20 24 70 61 63 6b 61 67 65 2d nceof.AliasPackage).&&.$package-
58e60 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 29 20 7b 0a 24 >getAliasOf().===.$provider).{.$
58e80 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b this->addRule(RuleSet::TYPE_PACK
58ea0 41 47 45 2c 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 65 71 75 69 72 65 52 75 6c 65 28 24 70 AGE,.$this->createRequireRule($p
58ec0 61 63 6b 61 67 65 2c 20 61 72 72 61 79 28 24 70 72 6f 76 69 64 65 72 29 2c 20 52 75 6c 65 3a 3a ackage,.array($provider),.Rule::
58ee0 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 41 4c 49 41 53 2c 20 24 70 61 63 6b 61 67 65 29 29 3b 0a RULE_PACKAGE_ALIAS,.$package));.
58f00 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 62 73 6f 6c 65 74 65 49 6d 70 6f 73 73 }.elseif.(!$this->obsoleteImposs
58f20 69 62 6c 65 46 6f 72 41 6c 69 61 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 72 6f 76 69 64 65 72 ibleForAlias($package,.$provider
58f40 29 29 20 7b 0a 24 72 65 61 73 6f 6e 20 3d 20 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 3d 20 )).{.$reason.=.($packageName.==.
58f60 24 70 72 6f 76 69 64 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 3f 20 52 75 6c 65 3a 3a 52 55 $provider->getName()).?.Rule::RU
58f80 4c 45 5f 50 41 43 4b 41 47 45 5f 53 41 4d 45 5f 4e 41 4d 45 20 3a 20 52 75 6c 65 3a 3a 52 55 4c LE_PACKAGE_SAME_NAME.:.Rule::RUL
58fa0 45 5f 50 41 43 4b 41 47 45 5f 49 4d 50 4c 49 43 49 54 5f 4f 42 53 4f 4c 45 54 45 53 3b 0a 24 74 E_PACKAGE_IMPLICIT_OBSOLETES;.$t
58fc0 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 his->addRule(RuleSet::TYPE_PACKA
58fe0 47 45 2c 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 28 24 GE,.$this->createRule2Literals($
59000 70 61 63 6b 61 67 65 2c 20 24 70 72 6f 76 69 64 65 72 2c 20 24 72 65 61 73 6f 6e 2c 20 24 70 61 package,.$provider,.$reason,.$pa
59020 63 6b 61 67 65 29 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ckage));.}.}.}.}..protected.func
59040 74 69 6f 6e 20 61 64 64 43 6f 6e 66 6c 69 63 74 52 75 6c 65 73 28 24 69 67 6e 6f 72 65 50 6c 61 tion.addConflictRules($ignorePla
59060 74 66 6f 72 6d 52 65 71 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 66 6f 72 65 61 63 68 20 28 24 tformReqs.=.false).{..foreach.($
59080 74 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 this->addedPackages.as.$package)
590a0 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 43 6f 6e 66 6c 69 63 .{.foreach.($package->getConflic
590c0 74 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 ts().as.$link).{.if.(!isset($thi
590e0 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 73 5b 24 6c 69 6e 6b 2d 3e 67 s->addedPackagesByNames[$link->g
59100 65 74 54 61 72 67 65 74 28 29 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 etTarget()])).{.continue;.}..if.
59120 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 26 26 20 70 72 65 67 5f 6d 61 74 ($ignorePlatformReqs.&&.preg_mat
59140 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f ch(PlatformRepository::PLATFORM_
59160 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 PACKAGE_REGEX,.$link->getTarget(
59180 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 ))).{.continue;.}...foreach.($th
591a0 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 73 5b 24 6c 69 6e 6b 2d 3e is->addedPackagesByNames[$link->
591c0 67 65 74 54 61 72 67 65 74 28 29 5d 20 61 73 20 24 70 6f 73 73 69 62 6c 65 43 6f 6e 66 6c 69 63 getTarget()].as.$possibleConflic
591e0 74 29 20 7b 0a 24 63 6f 6e 66 6c 69 63 74 4d 61 74 63 68 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f t).{.$conflictMatch.=.$this->poo
59200 6c 2d 3e 6d 61 74 63 68 28 24 70 6f 73 73 69 62 6c 65 43 6f 6e 66 6c 69 63 74 2c 20 24 6c 69 6e l->match($possibleConflict,.$lin
59220 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 k->getTarget(),.$link->getConstr
59240 61 69 6e 74 28 29 2c 20 74 72 75 65 29 3b 0a 0a 69 66 20 28 24 63 6f 6e 66 6c 69 63 74 4d 61 74 aint(),.true);..if.($conflictMat
59260 63 68 20 3d 3d 3d 20 50 6f 6f 6c 3a 3a 4d 41 54 43 48 20 7c 7c 20 24 63 6f 6e 66 6c 69 63 74 4d ch.===.Pool::MATCH.||.$conflictM
59280 61 74 63 68 20 3d 3d 3d 20 50 6f 6f 6c 3a 3a 4d 41 54 43 48 5f 52 45 50 4c 41 43 45 29 20 7b 0a atch.===.Pool::MATCH_REPLACE).{.
592a0 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 $this->addRule(RuleSet::TYPE_PAC
592c0 4b 41 47 45 2c 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 KAGE,.$this->createRule2Literals
592e0 28 24 70 61 63 6b 61 67 65 2c 20 24 70 6f 73 73 69 62 6c 65 43 6f 6e 66 6c 69 63 74 2c 20 52 75 ($package,.$possibleConflict,.Ru
59300 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 43 4f 4e 46 4c 49 43 54 2c 20 24 6c 69 6e 6b le::RULE_PACKAGE_CONFLICT,.$link
59320 29 29 3b 0a 7d 0a 0a 7d 0a 7d 0a 0a 0a 20 24 69 73 49 6e 73 74 61 6c 6c 65 64 20 3d 20 69 73 73 ));.}..}.}....$isInstalled.=.iss
59340 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d et($this->installedMap[$package-
59360 3e 69 64 5d 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 >id]);..foreach.($package->getRe
59380 70 6c 61 63 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 places().as.$link).{.if.(!isset(
593a0 24 74 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 73 5b 24 6c 69 6e $this->addedPackagesByNames[$lin
593c0 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a k->getTarget()])).{.continue;.}.
593e0 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 42 ..foreach.($this->addedPackagesB
59400 79 4e 61 6d 65 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 61 73 20 24 70 yNames[$link->getTarget()].as.$p
59420 72 6f 76 69 64 65 72 29 20 7b 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 20 3d 3d 3d 20 24 70 61 rovider).{.if.($provider.===.$pa
59440 63 6b 61 67 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 ckage).{.continue;.}..if.(!$this
59460 2d 3e 6f 62 73 6f 6c 65 74 65 49 6d 70 6f 73 73 69 62 6c 65 46 6f 72 41 6c 69 61 73 28 24 70 61 ->obsoleteImpossibleForAlias($pa
59480 63 6b 61 67 65 2c 20 24 70 72 6f 76 69 64 65 72 29 29 20 7b 0a 24 72 65 61 73 6f 6e 20 3d 20 24 ckage,.$provider)).{.$reason.=.$
594a0 69 73 49 6e 73 74 61 6c 6c 65 64 20 3f 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 49 4e 53 54 41 4c 4c isInstalled.?.Rule::RULE_INSTALL
594c0 45 44 5f 50 41 43 4b 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 20 3a 20 52 75 6c 65 3a 3a 52 55 4c ED_PACKAGE_OBSOLETES.:.Rule::RUL
594e0 45 5f 50 41 43 4b 41 47 45 5f 4f 42 53 4f 4c 45 54 45 53 3b 0a 24 74 68 69 73 2d 3e 61 64 64 52 E_PACKAGE_OBSOLETES;.$this->addR
59500 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 2c 20 24 74 68 69 73 ule(RuleSet::TYPE_PACKAGE,.$this
59520 2d 3e 63 72 65 61 74 65 52 75 6c 65 32 4c 69 74 65 72 61 6c 73 28 24 70 61 63 6b 61 67 65 2c 20 ->createRule2Literals($package,.
59540 24 70 72 6f 76 69 64 65 72 2c 20 24 72 65 61 73 6f 6e 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 7d $provider,.$reason,.$link));.}.}
59560 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6f 62 73 6f 6c .}.}.}..protected.function.obsol
59580 65 74 65 49 6d 70 6f 73 73 69 62 6c 65 46 6f 72 41 6c 69 61 73 28 24 70 61 63 6b 61 67 65 2c 20 eteImpossibleForAlias($package,.
595a0 24 70 72 6f 76 69 64 65 72 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 73 41 6c 69 61 73 20 3d 20 24 $provider).{.$packageIsAlias.=.$
595c0 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 3b package.instanceof.AliasPackage;
595e0 0a 24 70 72 6f 76 69 64 65 72 49 73 41 6c 69 61 73 20 3d 20 24 70 72 6f 76 69 64 65 72 20 69 6e .$providerIsAlias.=.$provider.in
59600 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 0a 24 69 6d 70 6f 73 73 69 stanceof.AliasPackage;..$impossi
59620 62 6c 65 20 3d 20 28 0a 28 24 70 61 63 6b 61 67 65 49 73 41 6c 69 61 73 20 26 26 20 24 70 61 63 ble.=.(.($packageIsAlias.&&.$pac
59640 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 kage->getAliasOf().===.$provider
59660 29 20 7c 7c 0a 28 24 70 72 6f 76 69 64 65 72 49 73 41 6c 69 61 73 20 26 26 20 24 70 72 6f 76 69 ).||.($providerIsAlias.&&.$provi
59680 64 65 72 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 der->getAliasOf().===.$package).
596a0 7c 7c 0a 28 24 70 61 63 6b 61 67 65 49 73 41 6c 69 61 73 20 26 26 20 24 70 72 6f 76 69 64 65 72 ||.($packageIsAlias.&&.$provider
596c0 49 73 41 6c 69 61 73 20 26 26 20 24 70 72 6f 76 69 64 65 72 2d 3e 67 65 74 41 6c 69 61 73 4f 66 IsAlias.&&.$provider->getAliasOf
596e0 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 29 0a 29 ().===.$package->getAliasOf()).)
59700 3b 0a 0a 72 65 74 75 72 6e 20 24 69 6d 70 6f 73 73 69 62 6c 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 ;..return.$impossible;.}..protec
59720 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 74 65 6c 69 73 74 46 72 6f 6d 4a 6f 62 73 28 29 ted.function.whitelistFromJobs()
59740 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6a 6f 62 73 20 61 73 20 24 6a 6f 62 29 .{.foreach.($this->jobs.as.$job)
59760 20 7b 0a 73 77 69 74 63 68 20 28 24 6a 6f 62 5b 27 63 6d 64 27 5d 29 20 7b 0a 63 61 73 65 20 27 .{.switch.($job['cmd']).{.case.'
59780 69 6e 73 74 61 6c 6c 27 3a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f install':.$packages.=.$this->poo
597a0 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d l->whatProvides($job['packageNam
597c0 65 27 5d 2c 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 2c 20 74 72 75 65 29 3b 0a e'],.$job['constraint'],.true);.
597e0 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 foreach.($packages.as.$package).
59800 7b 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 46 72 6f 6d 50 61 63 6b 61 67 65 28 24 70 {.$this->whitelistFromPackage($p
59820 61 63 6b 61 67 65 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 ackage);.}.break;.}.}.}..protect
59840 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 75 6c 65 73 46 6f 72 4a 6f 62 73 28 24 69 67 6e ed.function.addRulesForJobs($ign
59860 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 orePlatformReqs).{.foreach.($thi
59880 73 2d 3e 6a 6f 62 73 20 61 73 20 24 6a 6f 62 29 20 7b 0a 73 77 69 74 63 68 20 28 24 6a 6f 62 5b s->jobs.as.$job).{.switch.($job[
598a0 27 63 6d 64 27 5d 29 20 7b 0a 63 61 73 65 20 27 69 6e 73 74 61 6c 6c 27 3a 0a 69 66 20 28 21 24 'cmd']).{.case.'install':.if.(!$
598c0 6a 6f 62 5b 27 66 69 78 65 64 27 5d 20 26 26 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 job['fixed'].&&.$ignorePlatformR
598e0 65 71 73 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 eqs.&&.preg_match(PlatformReposi
59900 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6a tory::PLATFORM_PACKAGE_REGEX,.$j
59920 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a ob['packageName'])).{.break;.}..
59940 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f $packages.=.$this->pool->whatPro
59960 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 5b vides($job['packageName'],.$job[
59980 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 73 29 20 7b 'constraint']);.if.($packages).{
599a0 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 .foreach.($packages.as.$package)
599c0 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 .{.if.(!isset($this->installedMa
599e0 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 p[$package->id])).{.$this->addRu
59a00 6c 65 73 46 6f 72 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 69 67 6e 6f 72 65 50 lesForPackage($package,.$ignoreP
59a20 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 7d 0a 7d 0a 0a 24 72 75 6c 65 20 3d 20 24 74 68 69 73 latformReqs);.}.}..$rule.=.$this
59a40 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 4f 6e 65 4f 66 52 75 6c 65 28 24 70 61 63 6b 61 67 ->createInstallOneOfRule($packag
59a60 65 73 2c 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 49 4e 53 54 41 4c 4c 2c 20 24 6a 6f 62 es,.Rule::RULE_JOB_INSTALL,.$job
59a80 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f );.$this->addRule(RuleSet::TYPE_
59aa0 4a 4f 42 2c 20 24 72 75 6c 65 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 72 65 6d 6f JOB,.$rule);.}.break;.case.'remo
59ac0 76 65 27 3a 0a 0a 20 0a 20 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c ve':.....$packages.=.$this->pool
59ae0 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 ->whatProvides($job['packageName
59b00 27 5d 2c 20 24 6a 6f 62 5b 27 63 6f 6e 73 74 72 61 69 6e 74 27 5d 29 3b 0a 66 6f 72 65 61 63 68 '],.$job['constraint']);.foreach
59b20 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 72 75 6c 65 .($packages.as.$package).{.$rule
59b40 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 65 6d 6f 76 65 52 75 6c 65 28 24 70 61 63 6b .=.$this->createRemoveRule($pack
59b60 61 67 65 2c 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 52 45 4d 4f 56 45 2c 20 24 6a 6f 62 age,.Rule::RULE_JOB_REMOVE,.$job
59b80 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 52 75 6c 65 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f );.$this->addRule(RuleSet::TYPE_
59ba0 4a 4f 42 2c 20 24 72 75 6c 65 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 JOB,.$rule);.}.break;.}.}.}..pub
59bc0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 75 6c 65 73 46 6f 72 28 24 6a 6f 62 73 2c 20 lic.function.getRulesFor($jobs,.
59be0 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 $installedMap,.$ignorePlatformRe
59c00 71 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 20 3d 20 24 6a 6f 62 qs.=.false).{.$this->jobs.=.$job
59c20 73 3b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 3d 20 6e 65 77 20 52 75 6c 65 53 65 74 3b 0a 24 s;.$this->rules.=.new.RuleSet;.$
59c40 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 4d this->installedMap.=.$installedM
59c60 61 70 3b 0a 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 65 64 4d 61 70 20 3d 20 61 72 72 ap;..$this->whitelistedMap.=.arr
59c80 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d ay();.foreach.($this->installedM
59ca0 61 70 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 ap.as.$package).{.$this->whiteli
59cc0 73 74 46 72 6f 6d 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 24 74 68 69 73 stFromPackage($package);.}.$this
59ce0 2d 3e 77 68 69 74 65 6c 69 73 74 46 72 6f 6d 4a 6f 62 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 ->whitelistFromJobs();..$this->p
59d00 6f 6f 6c 2d 3e 73 65 74 57 68 69 74 65 6c 69 73 74 28 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 ool->setWhitelist($this->whiteli
59d20 73 74 65 64 4d 61 70 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 65 64 4d 61 70 20 3d 20 61 72 72 stedMap);..$this->addedMap.=.arr
59d40 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 6c 69 63 74 41 64 64 65 64 4d 61 70 20 3d 20 ay();.$this->conflictAddedMap.=.
59d60 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 20 3d 20 array();.$this->addedPackages.=.
59d80 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 67 65 73 42 79 4e array();.$this->addedPackagesByN
59da0 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e ames.=.array();.foreach.($this->
59dc0 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 installedMap.as.$package).{.$thi
59de0 73 2d 3e 61 64 64 52 75 6c 65 73 46 6f 72 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 s->addRulesForPackage($package,.
59e00 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e $ignorePlatformReqs);.}..$this->
59e20 61 64 64 52 75 6c 65 73 46 6f 72 4a 6f 62 73 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 addRulesForJobs($ignorePlatformR
59e40 65 71 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 43 6f 6e 66 6c 69 63 74 52 75 6c 65 73 28 24 eqs);..$this->addConflictRules($
59e60 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 61 ignorePlatformReqs);....$this->a
59e80 64 64 65 64 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 61 64 64 65 64 50 61 63 6b 61 ddedPackages.=.$this->addedPacka
59ea0 67 65 73 42 79 4e 61 6d 65 73 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 gesByNames.=.null;..return.$this
59ec0 2d 3e 72 75 6c 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 ->rules;.}.}.<?php............na
59ee0 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c mespace.Composer\DependencyResol
59f00 76 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 53 65 74 49 74 65 72 61 74 6f 72 20 69 ver;.....class.RuleSetIterator.i
59f20 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 mplements.\Iterator.{.protected.
59f40 24 72 75 6c 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 79 70 65 73 3b 0a 0a 70 72 6f 74 65 $rules;.protected.$types;..prote
59f60 63 74 65 64 20 24 63 75 72 72 65 6e 74 4f 66 66 73 65 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 cted.$currentOffset;.protected.$
59f80 63 75 72 72 65 6e 74 54 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 75 72 72 65 6e 74 54 currentType;.protected.$currentT
59fa0 79 70 65 4f 66 66 73 65 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ypeOffset;..public.function.__co
59fc0 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 75 6c 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 nstruct(array.$rules).{.$this->r
59fe0 75 6c 65 73 20 3d 20 24 72 75 6c 65 73 3b 0a 24 74 68 69 73 2d 3e 74 79 70 65 73 20 3d 20 61 72 ules.=.$rules;.$this->types.=.ar
5a000 72 61 79 5f 6b 65 79 73 28 24 72 75 6c 65 73 29 3b 0a 73 6f 72 74 28 24 74 68 69 73 2d 3e 74 79 ray_keys($rules);.sort($this->ty
5a020 70 65 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 pes);..$this->rewind();.}..publi
5a040 63 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 c.function.current().{.return.$t
5a060 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 5d 5b 24 his->rules[$this->currentType][$
5a080 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 this->currentOffset];.}..public.
5a0a0 66 75 6e 63 74 69 6f 6e 20 6b 65 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 function.key().{.return.$this->c
5a0c0 75 72 72 65 6e 74 54 79 70 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e urrentType;.}..public.function.n
5a0e0 65 78 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 2b 2b 3b 0a ext().{.$this->currentOffset++;.
5a100 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e .if.(!isset($this->rules[$this->
5a120 63 75 72 72 65 6e 74 54 79 70 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 currentType])).{.return;.}..if.(
5a140 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 20 3e 3d 20 63 6f 75 6e 74 28 24 74 $this->currentOffset.>=.count($t
5a160 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 5d 29 29 his->rules[$this->currentType]))
5a180 20 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 64 6f .{.$this->currentOffset.=.0;..do
5a1a0 20 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 2b 2b 3b 0a 0a .{.$this->currentTypeOffset++;..
5a1c0 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 79 70 65 73 5b 24 74 68 69 73 2d 3e 63 if.(!isset($this->types[$this->c
5a1e0 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 75 72 urrentTypeOffset])).{.$this->cur
5a200 72 65 6e 74 54 79 70 65 20 3d 20 2d 31 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e rentType.=.-1;.break;.}..$this->
5a220 63 75 72 72 65 6e 74 54 79 70 65 20 3d 20 24 74 68 69 73 2d 3e 74 79 70 65 73 5b 24 74 68 69 73 currentType.=.$this->types[$this
5a240 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 5d 3b 0a 7d 20 77 68 69 6c 65 20 28 69 ->currentTypeOffset];.}.while.(i
5a260 73 73 65 74 28 24 74 68 69 73 2d 3e 74 79 70 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 sset($this->types[$this->current
5a280 54 79 70 65 4f 66 66 73 65 74 5d 29 20 26 26 20 21 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 TypeOffset]).&&.!count($this->ru
5a2a0 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 5d 29 29 3b 0a 7d 0a 7d 0a 0a les[$this->currentType]));.}.}..
5a2c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 0a 7b 0a 24 74 68 69 73 public.function.rewind().{.$this
5a2e0 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 24 74 68 69 73 2d 3e 63 75 72 ->currentOffset.=.0;..$this->cur
5a300 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 20 3d 20 2d 31 3b 0a 24 74 68 69 73 2d 3e 63 75 72 72 rentTypeOffset.=.-1;.$this->curr
5a320 65 6e 74 54 79 70 65 20 3d 20 2d 31 3b 0a 0a 64 6f 20 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 entType.=.-1;..do.{.$this->curre
5a340 6e 74 54 79 70 65 4f 66 66 73 65 74 2b 2b 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 ntTypeOffset++;..if.(!isset($thi
5a360 73 2d 3e 74 79 70 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 s->types[$this->currentTypeOffse
5a380 74 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 20 3d 20 2d 31 3b 0a t])).{.$this->currentType.=.-1;.
5a3a0 62 72 65 61 6b 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 20 3d 20 24 break;.}..$this->currentType.=.$
5a3c0 74 68 69 73 2d 3e 74 79 70 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 this->types[$this->currentTypeOf
5a3e0 66 73 65 74 5d 3b 0a 7d 20 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 79 70 fset];.}.while.(isset($this->typ
5a400 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 4f 66 66 73 65 74 5d 29 20 26 26 es[$this->currentTypeOffset]).&&
5a420 20 21 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 .!count($this->rules[$this->curr
5a440 65 6e 74 54 79 70 65 5d 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 entType]));.}..public.function.v
5a460 61 6c 69 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 75 6c alid().{.return.isset($this->rul
5a480 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 5d 29 0a 26 26 20 69 73 73 65 74 es[$this->currentType]).&&.isset
5a4a0 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 54 79 70 65 ($this->rules[$this->currentType
5a4c0 5d 5b 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 4f 66 66 73 65 74 5d 29 3b 0a 7d 0a 7d 0a 3c 3f ][$this->currentOffset]);.}.}.<?
5a4e0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
5a500 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 r\DependencyResolver;..........c
5a520 6c 61 73 73 20 52 75 6c 65 57 61 74 63 68 43 68 61 69 6e 20 65 78 74 65 6e 64 73 20 5c 53 70 6c lass.RuleWatchChain.extends.\Spl
5a540 44 6f 75 62 6c 79 4c 69 6e 6b 65 64 4c 69 73 74 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 66 DoublyLinkedList.{.protected.$of
5a560 66 73 65 74 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 fset.=.0;.......public.function.
5a580 73 65 65 6b 28 24 6f 66 66 73 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 28 29 3b seek($offset).{.$this->rewind();
5a5a0 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 6f 66 66 73 65 74 3b 20 24 69 2b 2b .for.($i.=.0;.$i.<.$offset;.$i++
5a5c0 2c 20 24 74 68 69 73 2d 3e 6e 65 78 74 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ,.$this->next());.}..........pub
5a5e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 29 0a 7b 0a 24 6f 66 66 73 65 74 20 lic.function.remove().{.$offset.
5a600 3d 20 24 74 68 69 73 2d 3e 6b 65 79 28 29 3b 0a 24 74 68 69 73 2d 3e 6f 66 66 73 65 74 55 6e 73 =.$this->key();.$this->offsetUns
5a620 65 74 28 24 6f 66 66 73 65 74 29 3b 0a 24 74 68 69 73 2d 3e 73 65 65 6b 28 24 6f 66 66 73 65 74 et($offset);.$this->seek($offset
5a640 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 );.}.}.<?php............namespac
5a660 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a e.Composer\DependencyResolver;..
5a680 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 57 61 74 63 68 47 72 61 70 68 0a 7b ..........class.RuleWatchGraph.{
5a6a0 0a 70 72 6f 74 65 63 74 65 64 20 24 77 61 74 63 68 43 68 61 69 6e 73 20 3d 20 61 72 72 61 79 28 .protected.$watchChains.=.array(
5a6c0 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 );..............public.function.
5a6e0 69 6e 73 65 72 74 28 52 75 6c 65 57 61 74 63 68 4e 6f 64 65 20 24 6e 6f 64 65 29 0a 7b 0a 69 66 insert(RuleWatchNode.$node).{.if
5a700 20 28 24 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 2d 3e 69 73 41 73 73 65 72 74 69 6f 6e 28 .($node->getRule()->isAssertion(
5a720 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 24 )).{.return;.}..foreach.(array($
5a740 6e 6f 64 65 2d 3e 77 61 74 63 68 31 2c 20 24 6e 6f 64 65 2d 3e 77 61 74 63 68 32 29 20 61 73 20 node->watch1,.$node->watch2).as.
5a760 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 77 61 $literal).{.if.(!isset($this->wa
5a780 74 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 tchChains[$literal])).{.$this->w
5a7a0 61 74 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 65 72 61 6c 5d 20 3d 20 6e 65 77 20 52 75 6c 65 57 atchChains[$literal].=.new.RuleW
5a7c0 61 74 63 68 43 68 61 69 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 atchChain;.}..$this->watchChains
5a7e0 5b 24 6c 69 74 65 72 61 6c 5d 2d 3e 75 6e 73 68 69 66 74 28 24 6e 6f 64 65 29 3b 0a 7d 0a 7d 0a [$literal]->unshift($node);.}.}.
5a800 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ........................public.f
5a820 75 6e 63 74 69 6f 6e 20 70 72 6f 70 61 67 61 74 65 4c 69 74 65 72 61 6c 28 24 64 65 63 69 64 65 unction.propagateLiteral($decide
5a840 64 4c 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c 2c 20 24 64 65 63 69 73 69 6f 6e 73 29 0a 7b 0a dLiteral,.$level,.$decisions).{.
5a860 0a 20 0a 20 0a 20 24 6c 69 74 65 72 61 6c 20 3d 20 2d 24 64 65 63 69 64 65 64 4c 69 74 65 72 61 ......$literal.=.-$decidedLitera
5a880 6c 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e l;..if.(!isset($this->watchChain
5a8a0 73 5b 24 6c 69 74 65 72 61 6c 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a s[$literal])).{.return.null;.}..
5a8c0 24 63 68 61 69 6e 20 3d 20 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 6c 69 74 $chain.=.$this->watchChains[$lit
5a8e0 65 72 61 6c 5d 3b 0a 0a 24 63 68 61 69 6e 2d 3e 72 65 77 69 6e 64 28 29 3b 0a 77 68 69 6c 65 20 eral];..$chain->rewind();.while.
5a900 28 24 63 68 61 69 6e 2d 3e 76 61 6c 69 64 28 29 29 20 7b 0a 24 6e 6f 64 65 20 3d 20 24 63 68 61 ($chain->valid()).{.$node.=.$cha
5a920 69 6e 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 24 6f 74 68 65 72 57 61 74 63 68 20 3d 20 24 6e 6f in->current();.$otherWatch.=.$no
5a940 64 65 2d 3e 67 65 74 4f 74 68 65 72 57 61 74 63 68 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 de->getOtherWatch($literal);..if
5a960 20 28 21 24 6e 6f 64 65 2d 3e 67 65 74 52 75 6c 65 28 29 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 .(!$node->getRule()->isDisabled(
5a980 29 20 26 26 20 21 24 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 74 69 73 66 79 28 24 6f 74 68 65 72 ).&&.!$decisions->satisfy($other
5a9a0 57 61 74 63 68 29 29 20 7b 0a 24 72 75 6c 65 4c 69 74 65 72 61 6c 73 20 3d 20 24 6e 6f 64 65 2d Watch)).{.$ruleLiterals.=.$node-
5a9c0 3e 67 65 74 52 75 6c 65 28 29 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 24 61 6c 74 >getRule()->getLiterals();..$alt
5a9e0 65 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 ernativeLiterals.=.array_filter(
5aa00 24 72 75 6c 65 4c 69 74 65 72 61 6c 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 72 75 6c 65 4c 69 $ruleLiterals,.function.($ruleLi
5aa20 74 65 72 61 6c 29 20 75 73 65 20 28 24 6c 69 74 65 72 61 6c 2c 20 24 6f 74 68 65 72 57 61 74 63 teral).use.($literal,.$otherWatc
5aa40 68 2c 20 24 64 65 63 69 73 69 6f 6e 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 6c 69 74 65 72 61 6c h,.$decisions).{.return.$literal
5aa60 20 21 3d 3d 20 24 72 75 6c 65 4c 69 74 65 72 61 6c 20 26 26 0a 24 6f 74 68 65 72 57 61 74 63 68 .!==.$ruleLiteral.&&.$otherWatch
5aa80 20 21 3d 3d 20 24 72 75 6c 65 4c 69 74 65 72 61 6c 20 26 26 0a 21 24 64 65 63 69 73 69 6f 6e 73 .!==.$ruleLiteral.&&.!$decisions
5aaa0 2d 3e 63 6f 6e 66 6c 69 63 74 28 24 72 75 6c 65 4c 69 74 65 72 61 6c 29 3b 0a 7d 29 3b 0a 0a 69 ->conflict($ruleLiteral);.});..i
5aac0 66 20 28 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 29 20 7b 0a 72 65 73 65 74 f.($alternativeLiterals).{.reset
5aae0 28 24 61 6c 74 65 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 29 3b 0a 24 74 68 69 73 2d 3e 6d ($alternativeLiterals);.$this->m
5ab00 6f 76 65 57 61 74 63 68 28 24 6c 69 74 65 72 61 6c 2c 20 63 75 72 72 65 6e 74 28 24 61 6c 74 65 oveWatch($literal,.current($alte
5ab20 72 6e 61 74 69 76 65 4c 69 74 65 72 61 6c 73 29 2c 20 24 6e 6f 64 65 29 3b 0a 63 6f 6e 74 69 6e rnativeLiterals),.$node);.contin
5ab40 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 64 65 63 69 73 69 6f 6e 73 2d 3e 63 6f 6e 66 6c 69 63 74 28 ue;.}..if.($decisions->conflict(
5ab60 24 6f 74 68 65 72 57 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6e 6f 64 65 2d 3e 67 65 $otherWatch)).{.return.$node->ge
5ab80 74 52 75 6c 65 28 29 3b 0a 7d 0a 0a 24 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 28 24 tRule();.}..$decisions->decide($
5aba0 6f 74 68 65 72 57 61 74 63 68 2c 20 24 6c 65 76 65 6c 2c 20 24 6e 6f 64 65 2d 3e 67 65 74 52 75 otherWatch,.$level,.$node->getRu
5abc0 6c 65 28 29 29 3b 0a 7d 0a 0a 24 63 68 61 69 6e 2d 3e 6e 65 78 74 28 29 3b 0a 7d 0a 0a 72 65 74 le());.}..$chain->next();.}..ret
5abe0 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 urn.null;.}...........protected.
5ac00 66 75 6e 63 74 69 6f 6e 20 6d 6f 76 65 57 61 74 63 68 28 24 66 72 6f 6d 4c 69 74 65 72 61 6c 2c function.moveWatch($fromLiteral,
5ac20 20 24 74 6f 4c 69 74 65 72 61 6c 2c 20 24 6e 6f 64 65 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 .$toLiteral,.$node).{.if.(!isset
5ac40 28 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 74 6f 4c 69 74 65 72 61 6c 5d 29 ($this->watchChains[$toLiteral])
5ac60 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 74 6f 4c 69 74 65 72 61 ).{.$this->watchChains[$toLitera
5ac80 6c 5d 20 3d 20 6e 65 77 20 52 75 6c 65 57 61 74 63 68 43 68 61 69 6e 3b 0a 7d 0a 0a 24 6e 6f 64 l].=.new.RuleWatchChain;.}..$nod
5aca0 65 2d 3e 6d 6f 76 65 57 61 74 63 68 28 24 66 72 6f 6d 4c 69 74 65 72 61 6c 2c 20 24 74 6f 4c 69 e->moveWatch($fromLiteral,.$toLi
5acc0 74 65 72 61 6c 29 3b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 43 68 61 69 6e 73 5b 24 66 72 6f 6d teral);.$this->watchChains[$from
5ace0 4c 69 74 65 72 61 6c 5d 2d 3e 72 65 6d 6f 76 65 28 29 3b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 Literal]->remove();.$this->watch
5ad00 43 68 61 69 6e 73 5b 24 74 6f 4c 69 74 65 72 61 6c 5d 2d 3e 75 6e 73 68 69 66 74 28 24 6e 6f 64 Chains[$toLiteral]->unshift($nod
5ad20 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 e);.}.}.<?php............namespa
5ad40 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a ce.Composer\DependencyResolver;.
5ad60 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6c 65 57 61 74 63 68 4e 6f 64 65 0a 7b 0a 70 75 ........class.RuleWatchNode.{.pu
5ad80 62 6c 69 63 20 24 77 61 74 63 68 31 3b 0a 70 75 62 6c 69 63 20 24 77 61 74 63 68 32 3b 0a 0a 70 blic.$watch1;.public.$watch2;..p
5ada0 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e rotected.$rule;.......public.fun
5adc0 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 75 6c 65 29 0a 7b 0a 24 74 68 69 73 ction.__construct($rule).{.$this
5ade0 2d 3e 72 75 6c 65 20 3d 20 24 72 75 6c 65 3b 0a 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 72 75 ->rule.=.$rule;..$literals.=.$ru
5ae00 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 24 6c 69 74 65 72 61 6c 43 6f 75 6e le->getLiterals();..$literalCoun
5ae20 74 20 3d 20 63 6f 75 6e 74 28 24 6c 69 74 65 72 61 6c 73 29 3b 0a 24 74 68 69 73 2d 3e 77 61 74 t.=.count($literals);.$this->wat
5ae40 63 68 31 20 3d 20 24 6c 69 74 65 72 61 6c 43 6f 75 6e 74 20 3e 20 30 20 3f 20 24 6c 69 74 65 72 ch1.=.$literalCount.>.0.?.$liter
5ae60 61 6c 73 5b 30 5d 20 3a 20 30 3b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 32 20 3d 20 24 6c 69 74 als[0].:.0;.$this->watch2.=.$lit
5ae80 65 72 61 6c 43 6f 75 6e 74 20 3e 20 31 20 3f 20 24 6c 69 74 65 72 61 6c 73 5b 31 5d 20 3a 20 30 eralCount.>.1.?.$literals[1].:.0
5aea0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 74 ;.}..........public.function.wat
5aec0 63 68 32 4f 6e 48 69 67 68 65 73 74 28 44 65 63 69 73 69 6f 6e 73 20 24 64 65 63 69 73 69 6f 6e ch2OnHighest(Decisions.$decision
5aee0 73 29 0a 7b 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 2d 3e 67 65 s).{.$literals.=.$this->rule->ge
5af00 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 6c 69 74 65 72 tLiterals();....if.(count($liter
5af20 61 6c 73 29 20 3c 20 33 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 77 61 74 63 68 4c 65 76 als).<.3).{.return;.}..$watchLev
5af40 65 6c 20 3d 20 30 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 el.=.0;..foreach.($literals.as.$
5af60 6c 69 74 65 72 61 6c 29 20 7b 0a 24 6c 65 76 65 6c 20 3d 20 24 64 65 63 69 73 69 6f 6e 73 2d 3e literal).{.$level.=.$decisions->
5af80 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 6c decisionLevel($literal);..if.($l
5afa0 65 76 65 6c 20 3e 20 24 77 61 74 63 68 4c 65 76 65 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 74 evel.>.$watchLevel).{.$this->wat
5afc0 63 68 32 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 24 77 61 74 63 68 4c 65 76 65 6c 20 3d 20 24 6c ch2.=.$literal;.$watchLevel.=.$l
5afe0 65 76 65 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f evel;.}.}.}.......public.functio
5b000 6e 20 67 65 74 52 75 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 75 6c 65 n.getRule().{.return.$this->rule
5b020 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 74 ;.}........public.function.getOt
5b040 68 65 72 57 61 74 63 68 28 24 6c 69 74 65 72 61 6c 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e herWatch($literal).{.if.($this->
5b060 77 61 74 63 68 31 20 3d 3d 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 watch1.==.$literal).{.return.$th
5b080 69 73 2d 3e 77 61 74 63 68 32 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 74 is->watch2;.}..return.$this->wat
5b0a0 63 68 31 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 6f ch1;.}........public.function.mo
5b0c0 76 65 57 61 74 63 68 28 24 66 72 6f 6d 2c 20 24 74 6f 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d veWatch($from,.$to).{.if.($this-
5b0e0 3e 77 61 74 63 68 31 20 3d 3d 20 24 66 72 6f 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 >watch1.==.$from).{.$this->watch
5b100 31 20 3d 20 24 74 6f 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 32 20 1.=.$to;.}.else.{.$this->watch2.
5b120 3d 20 24 74 6f 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 =.$to;.}.}.}.<?php............na
5b140 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c mespace.Composer\DependencyResol
5b160 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 ver;..use.Composer\IO\IOInterfac
5b180 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 e;.use.Composer\Repository\Repos
5b1a0 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 itoryInterface;.use.Composer\Rep
5b1c0 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a ository\PlatformRepository;.....
5b1e0 63 6c 61 73 73 20 53 6f 6c 76 65 72 0a 7b 0a 63 6f 6e 73 74 20 42 52 41 4e 43 48 5f 4c 49 54 45 class.Solver.{.const.BRANCH_LITE
5b200 52 41 4c 53 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 42 52 41 4e 43 48 5f 4c 45 56 45 4c 20 3d 20 31 RALS.=.0;.const.BRANCH_LEVEL.=.1
5b220 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6c 69 63 79 3b 0a 0a 70 72 6f 74 65 63 74 65 ;...protected.$policy;..protecte
5b240 64 20 24 70 6f 6f 6c 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 65 64 3b 0a d.$pool;..protected.$installed;.
5b260 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 .protected.$rules;..protected.$r
5b280 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6a 6f 62 uleSetGenerator;..protected.$job
5b2a0 73 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 75 70 64 61 74 65 4d 61 70 20 3d 20 61 72 72 61 s;...protected.$updateMap.=.arra
5b2c0 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 77 61 74 63 68 47 72 61 70 68 3b 0a 0a 70 72 y();..protected.$watchGraph;..pr
5b2e0 6f 74 65 63 74 65 64 20 24 64 65 63 69 73 69 6f 6e 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 otected.$decisions;..protected.$
5b300 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 70 61 installedMap;...protected.$propa
5b320 67 61 74 65 49 6e 64 65 78 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 65 73 20 gateIndex;..protected.$branches.
5b340 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 62 6c 65 6d 73 20 =.array();..protected.$problems.
5b360 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 65 61 72 6e 65 64 50 6f =.array();..protected.$learnedPo
5b380 6f 6c 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 65 61 72 6e 65 ol.=.array();..protected.$learne
5b3a0 64 57 68 79 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 70 75 62 6c 69 63 20 24 74 65 73 74 46 6c dWhy.=.array();...public.$testFl
5b3c0 61 67 4c 65 61 72 6e 65 64 50 6f 73 69 74 69 76 65 4c 69 74 65 72 61 6c 20 3d 20 66 61 6c 73 65 agLearnedPositiveLiteral.=.false
5b3e0 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ;...protected.$io;........public
5b400 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 6f 6c 69 63 79 49 6e 74 65 .function.__construct(PolicyInte
5b420 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 52 65 70 6f 73 rface.$policy,.Pool.$pool,.Repos
5b440 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 64 2c 20 49 4f 49 6e 74 itoryInterface.$installed,.IOInt
5b460 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 erface.$io).{.$this->io.=.$io;.$
5b480 74 68 69 73 2d 3e 70 6f 6c 69 63 79 20 3d 20 24 70 6f 6c 69 63 79 3b 0a 24 74 68 69 73 2d 3e 70 this->policy.=.$policy;.$this->p
5b4a0 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 20 3d 20 ool.=.$pool;.$this->installed.=.
5b4c0 24 69 6e 73 74 61 6c 6c 65 64 3b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 53 65 74 47 65 6e 65 72 61 $installed;.$this->ruleSetGenera
5b4e0 74 6f 72 20 3d 20 6e 65 77 20 52 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 28 24 70 6f 6c 69 tor.=.new.RuleSetGenerator($poli
5b500 63 79 2c 20 24 70 6f 6f 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f cy,.$pool);.}.....public.functio
5b520 6e 20 67 65 74 52 75 6c 65 53 65 74 53 69 7a 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e n.getRuleSetSize().{.return.coun
5b540 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 29 3b 0a 7d 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 t($this->rules);.}....private.fu
5b560 6e 63 74 69 6f 6e 20 6d 61 6b 65 41 73 73 65 72 74 69 6f 6e 52 75 6c 65 44 65 63 69 73 69 6f 6e nction.makeAssertionRuleDecision
5b580 73 28 29 0a 7b 0a 24 64 65 63 69 73 69 6f 6e 53 74 61 72 74 20 3d 20 63 6f 75 6e 74 28 24 74 68 s().{.$decisionStart.=.count($th
5b5a0 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 29 20 2d 20 31 3b 0a 0a 24 72 75 6c 65 73 43 6f 75 6e 74 is->decisions).-.1;..$rulesCount
5b5c0 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 29 3b 0a 66 6f 72 20 28 24 72 75 .=.count($this->rules);.for.($ru
5b5e0 6c 65 49 6e 64 65 78 20 3d 20 30 3b 20 24 72 75 6c 65 49 6e 64 65 78 20 3c 20 24 72 75 6c 65 73 leIndex.=.0;.$ruleIndex.<.$rules
5b600 43 6f 75 6e 74 3b 20 24 72 75 6c 65 49 6e 64 65 78 2b 2b 29 20 7b 0a 24 72 75 6c 65 20 3d 20 24 Count;.$ruleIndex++).{.$rule.=.$
5b620 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 72 75 6c 65 42 79 49 64 5b 24 72 75 6c 65 49 6e 64 65 78 this->rules->ruleById[$ruleIndex
5b640 5d 3b 0a 0a 69 66 20 28 21 24 72 75 6c 65 2d 3e 69 73 41 73 73 65 72 74 69 6f 6e 28 29 20 7c 7c ];..if.(!$rule->isAssertion().||
5b660 20 24 72 75 6c 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 .$rule->isDisabled()).{.continue
5b680 3b 0a 7d 0a 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 ;.}..$literals.=.$rule->getLiter
5b6a0 61 6c 73 28 29 3b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 6c 69 74 65 72 61 6c 73 5b 30 5d 3b 0a als();.$literal.=.$literals[0];.
5b6c0 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 64 28 .if.(!$this->decisions->decided(
5b6e0 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 $literal)).{.$this->decisions->d
5b700 65 63 69 64 65 28 24 6c 69 74 65 72 61 6c 2c 20 31 2c 20 24 72 75 6c 65 29 3b 0a 63 6f 6e 74 69 ecide($literal,.1,.$rule);.conti
5b720 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 nue;.}..if.($this->decisions->sa
5b740 74 69 73 66 79 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a tisfy($literal)).{.continue;.}..
5b760 0a 20 69 66 20 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 20 3d 3d 3d 20 ..if.(RuleSet::TYPE_LEARNED.===.
5b780 24 72 75 6c 65 2d 3e 67 65 74 54 79 70 65 28 29 29 20 7b 0a 24 72 75 6c 65 2d 3e 64 69 73 61 62 $rule->getType()).{.$rule->disab
5b7a0 6c 65 28 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 63 6f 6e 66 6c 69 63 74 20 3d 20 24 le();.continue;.}..$conflict.=.$
5b7c0 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 73 69 6f 6e 52 75 6c 65 28 24 6c this->decisions->decisionRule($l
5b7e0 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 63 6f 6e 66 6c 69 63 74 20 26 26 20 52 75 6c 65 53 iteral);..if.($conflict.&&.RuleS
5b800 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 20 3d 3d 3d 20 24 63 6f 6e 66 6c 69 63 74 2d 3e et::TYPE_PACKAGE.===.$conflict->
5b820 67 65 74 54 79 70 65 28 29 29 20 7b 0a 24 70 72 6f 62 6c 65 6d 20 3d 20 6e 65 77 20 50 72 6f 62 getType()).{.$problem.=.new.Prob
5b840 6c 65 6d 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 3b 0a 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 lem($this->pool);..$problem->add
5b860 52 75 6c 65 28 24 72 75 6c 65 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 Rule($rule);.$problem->addRule($
5b880 63 6f 6e 66 6c 69 63 74 29 3b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 72 6f 62 6c 65 6d conflict);.$this->disableProblem
5b8a0 28 24 72 75 6c 65 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 5b 5d 20 3d 20 24 70 72 ($rule);.$this->problems[].=.$pr
5b8c0 6f 62 6c 65 6d 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 70 72 6f 62 6c 65 6d 20 3d oblem;.continue;.}....$problem.=
5b8e0 20 6e 65 77 20 50 72 6f 62 6c 65 6d 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 3b 0a 24 70 72 6f 62 .new.Problem($this->pool);.$prob
5b900 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 72 75 6c 65 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 lem->addRule($rule);.$problem->a
5b920 64 64 52 75 6c 65 28 24 63 6f 6e 66 6c 69 63 74 29 3b 0a 0a 0a 20 0a 20 66 6f 72 65 61 63 68 20 ddRule($conflict);......foreach.
5b940 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 46 6f 72 28 52 75 ($this->rules->getIteratorFor(Ru
5b960 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4a 4f 42 29 20 61 73 20 24 61 73 73 65 72 74 52 75 6c 65 29 leSet::TYPE_JOB).as.$assertRule)
5b980 20 7b 0a 69 66 20 28 24 61 73 73 65 72 74 52 75 6c 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 .{.if.($assertRule->isDisabled()
5b9a0 20 7c 7c 20 21 24 61 73 73 65 72 74 52 75 6c 65 2d 3e 69 73 41 73 73 65 72 74 69 6f 6e 28 29 29 .||.!$assertRule->isAssertion())
5b9c0 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 61 73 73 65 72 74 52 75 6c 65 4c 69 74 65 72 .{.continue;.}..$assertRuleLiter
5b9e0 61 6c 73 20 3d 20 24 61 73 73 65 72 74 52 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 als.=.$assertRule->getLiterals()
5ba00 3b 0a 24 61 73 73 65 72 74 52 75 6c 65 4c 69 74 65 72 61 6c 20 3d 20 24 61 73 73 65 72 74 52 75 ;.$assertRuleLiteral.=.$assertRu
5ba20 6c 65 4c 69 74 65 72 61 6c 73 5b 30 5d 3b 0a 0a 69 66 20 28 61 62 73 28 24 6c 69 74 65 72 61 6c leLiterals[0];..if.(abs($literal
5ba40 29 20 21 3d 3d 20 61 62 73 28 24 61 73 73 65 72 74 52 75 6c 65 4c 69 74 65 72 61 6c 29 29 20 7b ).!==.abs($assertRuleLiteral)).{
5ba60 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 .continue;.}..$problem->addRule(
5ba80 24 61 73 73 65 72 74 52 75 6c 65 29 3b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 72 6f 62 $assertRule);.$this->disableProb
5baa0 6c 65 6d 28 24 61 73 73 65 72 74 52 75 6c 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 72 6f 62 6c lem($assertRule);.}.$this->probl
5bac0 65 6d 73 5b 5d 20 3d 20 24 70 72 6f 62 6c 65 6d 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 ems[].=.$problem;..$this->decisi
5bae0 6f 6e 73 2d 3e 72 65 73 65 74 54 6f 4f 66 66 73 65 74 28 24 64 65 63 69 73 69 6f 6e 53 74 61 72 ons->resetToOffset($decisionStar
5bb00 74 29 3b 0a 24 72 75 6c 65 49 6e 64 65 78 20 3d 20 2d 31 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 t);.$ruleIndex.=.-1;.}.}..protec
5bb20 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 49 6e 73 74 61 6c 6c 65 64 4d 61 70 28 29 ted.function.setupInstalledMap()
5bb40 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d 20 61 72 72 61 79 28 29 .{.$this->installedMap.=.array()
5bb60 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 2d 3e 67 65 74 ;.foreach.($this->installed->get
5bb80 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d Packages().as.$package).{.$this-
5bba0 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 24 70 >installedMap[$package->id].=.$p
5bbc0 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 ackage;.}.}.....protected.functi
5bbe0 6f 6e 20 63 68 65 63 6b 46 6f 72 52 6f 6f 74 52 65 71 75 69 72 65 50 72 6f 62 6c 65 6d 73 28 24 on.checkForRootRequireProblems($
5bc00 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 ignorePlatformReqs).{.foreach.($
5bc20 74 68 69 73 2d 3e 6a 6f 62 73 20 61 73 20 24 6a 6f 62 29 20 7b 0a 73 77 69 74 63 68 20 28 24 6a this->jobs.as.$job).{.switch.($j
5bc40 6f 62 5b 27 63 6d 64 27 5d 29 20 7b 0a 63 61 73 65 20 27 75 70 64 61 74 65 27 3a 0a 24 70 61 63 ob['cmd']).{.case.'update':.$pac
5bc60 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 kages.=.$this->pool->whatProvide
5bc80 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 5b 27 63 6f 6e s($job['packageName'],.$job['con
5bca0 73 74 72 61 69 6e 74 27 5d 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 straint']);.foreach.($packages.a
5bcc0 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 s.$package).{.if.(isset($this->i
5bce0 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 24 74 nstalledMap[$package->id])).{.$t
5bd00 68 69 73 2d 3e 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 74 his->updateMap[$package->id].=.t
5bd20 72 75 65 3b 0a 7d 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 70 64 61 74 65 2d 61 6c rue;.}.}.break;..case.'update-al
5bd40 6c 27 3a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 l':.foreach.($this->installedMap
5bd60 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 4d 61 70 .as.$package).{.$this->updateMap
5bd80 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 62 72 65 61 6b 3b 0a [$package->id].=.true;.}.break;.
5bda0 0a 63 61 73 65 20 27 69 6e 73 74 61 6c 6c 27 3a 0a 69 66 20 28 24 69 67 6e 6f 72 65 50 6c 61 74 .case.'install':.if.($ignorePlat
5bdc0 66 6f 72 6d 52 65 71 73 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 formReqs.&&.preg_match(PlatformR
5bde0 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 epository::PLATFORM_PACKAGE_REGE
5be00 58 2c 20 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 29 29 20 7b 0a 62 72 65 61 6b X,.$job['packageName'])).{.break
5be20 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 ;.}..if.(!$this->pool->whatProvi
5be40 64 65 73 28 24 6a 6f 62 5b 27 70 61 63 6b 61 67 65 4e 61 6d 65 27 5d 2c 20 24 6a 6f 62 5b 27 63 des($job['packageName'],.$job['c
5be60 6f 6e 73 74 72 61 69 6e 74 27 5d 29 29 20 7b 0a 24 70 72 6f 62 6c 65 6d 20 3d 20 6e 65 77 20 50 onstraint'])).{.$problem.=.new.P
5be80 72 6f 62 6c 65 6d 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 roblem($this->pool);.$problem->a
5bea0 64 64 52 75 6c 65 28 6e 65 77 20 47 65 6e 65 72 69 63 52 75 6c 65 28 61 72 72 61 79 28 29 2c 20 ddRule(new.GenericRule(array(),.
5bec0 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 24 6a 6f 62 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 62 6c null,.null,.$job));.$this->probl
5bee0 65 6d 73 5b 5d 20 3d 20 24 70 72 6f 62 6c 65 6d 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d ems[].=.$problem;.}.break;.}.}.}
5bf00 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 6c 76 65 28 52 65 71 .......public.function.solve(Req
5bf20 75 65 73 74 20 24 72 65 71 75 65 73 74 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 uest.$request,.$ignorePlatformRe
5bf40 71 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6a 6f 62 73 20 3d 20 24 72 65 71 qs.=.false).{.$this->jobs.=.$req
5bf60 75 65 73 74 2d 3e 67 65 74 4a 6f 62 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 75 70 49 6e uest->getJobs();..$this->setupIn
5bf80 73 74 61 6c 6c 65 64 4d 61 70 28 29 3b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 3d 20 24 74 68 stalledMap();.$this->rules.=.$th
5bfa0 69 73 2d 3e 72 75 6c 65 53 65 74 47 65 6e 65 72 61 74 6f 72 2d 3e 67 65 74 52 75 6c 65 73 46 6f is->ruleSetGenerator->getRulesFo
5bfc0 72 28 24 74 68 69 73 2d 3e 6a 6f 62 73 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d r($this->jobs,.$this->installedM
5bfe0 61 70 2c 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 24 74 68 69 73 2d ap,.$ignorePlatformReqs);.$this-
5c000 3e 63 68 65 63 6b 46 6f 72 52 6f 6f 74 52 65 71 75 69 72 65 50 72 6f 62 6c 65 6d 73 28 24 69 67 >checkForRootRequireProblems($ig
5c020 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 norePlatformReqs);.$this->decisi
5c040 6f 6e 73 20 3d 20 6e 65 77 20 44 65 63 69 73 69 6f 6e 73 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 ons.=.new.Decisions($this->pool)
5c060 3b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 47 72 61 70 68 20 3d 20 6e 65 77 20 52 75 6c 65 57 61 ;.$this->watchGraph.=.new.RuleWa
5c080 74 63 68 47 72 61 70 68 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 tchGraph;..foreach.($this->rules
5c0a0 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 47 72 61 70 68 2d 3e .as.$rule).{.$this->watchGraph->
5c0c0 69 6e 73 65 72 74 28 6e 65 77 20 52 75 6c 65 57 61 74 63 68 4e 6f 64 65 28 24 72 75 6c 65 29 29 insert(new.RuleWatchNode($rule))
5c0e0 3b 0a 7d 0a 0a 0a 24 74 68 69 73 2d 3e 6d 61 6b 65 41 73 73 65 72 74 69 6f 6e 52 75 6c 65 44 65 ;.}...$this->makeAssertionRuleDe
5c100 63 69 73 69 6f 6e 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f cisions();..$this->io->writeErro
5c120 72 28 27 52 65 73 6f 6c 76 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 74 68 72 6f 75 67 r('Resolving.dependencies.throug
5c140 68 20 53 41 54 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 h.SAT',.true,.IOInterface::DEBUG
5c160 29 3b 0a 24 62 65 66 6f 72 65 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 3b 0a 24 74 );.$before.=.microtime(true);.$t
5c180 68 69 73 2d 3e 72 75 6e 53 61 74 28 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 his->runSat(true);.$this->io->wr
5c1a0 69 74 65 45 72 72 6f 72 28 27 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a iteError('',.true,.IOInterface::
5c1c0 44 45 42 55 47 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 DEBUG);.$this->io->writeError(sp
5c1e0 72 69 6e 74 66 28 27 44 65 70 65 6e 64 65 6e 63 79 20 72 65 73 6f 6c 75 74 69 6f 6e 20 63 6f 6d rintf('Dependency.resolution.com
5c200 70 6c 65 74 65 64 20 69 6e 20 25 2e 33 66 20 73 65 63 6f 6e 64 73 27 2c 20 6d 69 63 72 6f 74 69 pleted.in.%.3f.seconds',.microti
5c220 6d 65 28 74 72 75 65 29 20 2d 20 24 62 65 66 6f 72 65 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 me(true).-.$before),.true,.IOInt
5c240 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 erface::VERBOSE);....foreach.($t
5c260 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 61 73 20 24 70 61 63 6b 61 67 65 49 64 20 his->installedMap.as.$packageId.
5c280 3d 3e 20 24 76 6f 69 64 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 =>.$void).{.if.($this->decisions
5c2a0 2d 3e 75 6e 64 65 63 69 64 65 64 28 24 70 61 63 6b 61 67 65 49 64 29 29 20 7b 0a 24 74 68 69 73 ->undecided($packageId)).{.$this
5c2c0 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 28 2d 24 70 61 63 6b 61 67 65 49 64 2c ->decisions->decide(-$packageId,
5c2e0 20 31 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 62 6c .1,.null);.}.}..if.($this->probl
5c300 65 6d 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 6f 6c 76 65 72 50 72 6f 62 6c 65 6d 73 45 ems).{.throw.new.SolverProblemsE
5c320 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 2c 20 24 74 68 69 73 2d xception($this->problems,.$this-
5c340 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 3b 0a 7d 0a 0a 24 74 72 61 6e 73 61 63 74 69 6f 6e 20 >installedMap);.}..$transaction.
5c360 3d 20 6e 65 77 20 54 72 61 6e 73 61 63 74 69 6f 6e 28 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 2c =.new.Transaction($this->policy,
5c380 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 .$this->pool,.$this->installedMa
5c3a0 70 2c 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 p,.$this->decisions);..return.$t
5c3c0 72 61 6e 73 61 63 74 69 6f 6e 2d 3e 67 65 74 4f 70 65 72 61 74 69 6f 6e 73 28 29 3b 0a 7d 0a 0a ransaction->getOperations();.}..
5c3e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 .........protected.function.prop
5c400 61 67 61 74 65 28 24 6c 65 76 65 6c 29 0a 7b 0a 77 68 69 6c 65 20 28 24 74 68 69 73 2d 3e 64 65 agate($level).{.while.($this->de
5c420 63 69 73 69 6f 6e 73 2d 3e 76 61 6c 69 64 4f 66 66 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 70 cisions->validOffset($this->prop
5c440 61 67 61 74 65 49 6e 64 65 78 29 29 20 7b 0a 24 64 65 63 69 73 69 6f 6e 20 3d 20 24 74 68 69 73 agateIndex)).{.$decision.=.$this
5c460 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 61 74 4f 66 66 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f ->decisions->atOffset($this->pro
5c480 70 61 67 61 74 65 49 6e 64 65 78 29 3b 0a 0a 24 63 6f 6e 66 6c 69 63 74 20 3d 20 24 74 68 69 73 pagateIndex);..$conflict.=.$this
5c4a0 2d 3e 77 61 74 63 68 47 72 61 70 68 2d 3e 70 72 6f 70 61 67 61 74 65 4c 69 74 65 72 61 6c 28 0a ->watchGraph->propagateLiteral(.
5c4c0 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 $decision[Decisions::DECISION_LI
5c4e0 54 45 52 41 4c 5d 2c 0a 24 6c 65 76 65 6c 2c 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 TERAL],.$level,.$this->decisions
5c500 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 49 6e 64 65 78 2b 2b 3b 0a 0a 69 .);..$this->propagateIndex++;..i
5c520 66 20 28 24 63 6f 6e 66 6c 69 63 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6e 66 6c 69 63 74 f.($conflict).{.return.$conflict
5c540 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 ;.}.}..return.null;.}.......priv
5c560 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 76 65 72 74 28 24 6c 65 76 65 6c 29 0a 7b 0a 77 68 ate.function.revert($level).{.wh
5c580 69 6c 65 20 28 21 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 69 73 45 6d 70 74 79 28 ile.(!$this->decisions->isEmpty(
5c5a0 29 29 20 7b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 )).{.$literal.=.$this->decisions
5c5c0 2d 3e 6c 61 73 74 4c 69 74 65 72 61 6c 28 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 ->lastLiteral();..if.($this->dec
5c5e0 69 73 69 6f 6e 73 2d 3e 75 6e 64 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 62 isions->undecided($literal)).{.b
5c600 72 65 61 6b 3b 0a 7d 0a 0a 24 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 20 3d 20 24 74 68 69 73 2d reak;.}..$decisionLevel.=.$this-
5c620 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 28 24 6c 69 74 65 72 >decisions->decisionLevel($liter
5c640 61 6c 29 3b 0a 0a 69 66 20 28 24 64 65 63 69 73 69 6f 6e 4c 65 76 65 6c 20 3c 3d 20 24 6c 65 76 al);..if.($decisionLevel.<=.$lev
5c660 65 6c 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 el).{.break;.}..$this->decisions
5c680 2d 3e 72 65 76 65 72 74 4c 61 73 74 28 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 ->revertLast();.$this->propagate
5c6a0 49 6e 64 65 78 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 29 3b Index.=.count($this->decisions);
5c6c0 0a 7d 0a 0a 77 68 69 6c 65 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 .}..while.(!empty($this->branche
5c6e0 73 29 20 26 26 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 63 6f 75 6e 74 28 24 74 68 69 s).&&.$this->branches[count($thi
5c700 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 2d 20 31 5d 5b 73 65 6c 66 3a 3a 42 52 41 4e 43 48 5f 4c s->branches).-.1][self::BRANCH_L
5c720 45 56 45 4c 5d 20 3e 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 61 72 72 61 79 5f 70 6f 70 28 24 74 68 EVEL].>=.$level).{.array_pop($th
5c740 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a is->branches);.}.}..............
5c760 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 70 61 .......private.function.setPropa
5c780 67 61 74 65 4c 65 61 72 6e 28 24 6c 65 76 65 6c 2c 20 24 6c 69 74 65 72 61 6c 2c 20 24 64 69 73 gateLearn($level,.$literal,.$dis
5c7a0 61 62 6c 65 52 75 6c 65 73 2c 20 52 75 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 24 6c 65 76 65 6c 2b ableRules,.Rule.$rule).{.$level+
5c7c0 2b 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 28 24 6c 69 +;..$this->decisions->decide($li
5c7e0 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c 2c 20 24 72 75 6c 65 29 3b 0a 0a 77 68 69 6c 65 20 28 74 teral,.$level,.$rule);..while.(t
5c800 72 75 65 29 20 7b 0a 24 72 75 6c 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 28 rue).{.$rule.=.$this->propagate(
5c820 24 6c 65 76 65 6c 29 3b 0a 0a 69 66 20 28 21 24 72 75 6c 65 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d $level);..if.(!$rule).{.break;.}
5c840 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 3d 3d 20 31 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ..if.($level.==.1).{.return.$thi
5c860 73 2d 3e 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 28 24 72 75 6c 65 2c 20 24 64 69 73 s->analyzeUnsolvable($rule,.$dis
5c880 61 62 6c 65 52 75 6c 65 73 29 3b 0a 7d 0a 0a 0a 20 6c 69 73 74 28 24 6c 65 61 72 6e 4c 69 74 65 ableRules);.}....list($learnLite
5c8a0 72 61 6c 2c 20 24 6e 65 77 4c 65 76 65 6c 2c 20 24 6e 65 77 52 75 6c 65 2c 20 24 77 68 79 29 20 ral,.$newLevel,.$newRule,.$why).
5c8c0 3d 20 24 74 68 69 73 2d 3e 61 6e 61 6c 79 7a 65 28 24 6c 65 76 65 6c 2c 20 24 72 75 6c 65 29 3b =.$this->analyze($level,.$rule);
5c8e0 0a 0a 69 66 20 28 24 6e 65 77 4c 65 76 65 6c 20 3c 3d 20 30 20 7c 7c 20 24 6e 65 77 4c 65 76 65 ..if.($newLevel.<=.0.||.$newLeve
5c900 6c 20 3e 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 6f 6c 76 65 72 42 l.>=.$level).{.throw.new.SolverB
5c920 75 67 45 78 63 65 70 74 69 6f 6e 28 0a 22 54 72 79 69 6e 67 20 74 6f 20 72 65 76 65 72 74 20 74 ugException(."Trying.to.revert.t
5c940 6f 20 69 6e 76 61 6c 69 64 20 6c 65 76 65 6c 20 22 2e 28 69 6e 74 29 20 24 6e 65 77 4c 65 76 65 o.invalid.level.".(int).$newLeve
5c960 6c 2e 22 20 66 72 6f 6d 20 6c 65 76 65 6c 20 22 2e 28 69 6e 74 29 20 24 6c 65 76 65 6c 2e 22 2e l.".from.level.".(int).$level.".
5c980 22 0a 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 6e 65 77 52 75 6c 65 29 20 7b 0a 74 68 72 6f ".);.}.elseif.(!$newRule).{.thro
5c9a0 77 20 6e 65 77 20 53 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 28 0a 22 4e 6f 20 72 75 w.new.SolverBugException(."No.ru
5c9c0 6c 65 20 77 61 73 20 6c 65 61 72 6e 65 64 20 66 72 6f 6d 20 61 6e 61 6c 79 7a 69 6e 67 20 24 72 le.was.learned.from.analyzing.$r
5c9e0 75 6c 65 20 61 74 20 6c 65 76 65 6c 20 24 6c 65 76 65 6c 2e 22 0a 29 3b 0a 7d 0a 0a 24 6c 65 76 ule.at.level.$level.".);.}..$lev
5ca00 65 6c 20 3d 20 24 6e 65 77 4c 65 76 65 6c 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 76 65 72 74 28 24 el.=.$newLevel;..$this->revert($
5ca20 6c 65 76 65 6c 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 61 64 64 28 24 6e 65 77 52 level);..$this->rules->add($newR
5ca40 75 6c 65 2c 20 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 29 3b 0a 0a 24 74 ule,.RuleSet::TYPE_LEARNED);..$t
5ca60 68 69 73 2d 3e 6c 65 61 72 6e 65 64 57 68 79 5b 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 his->learnedWhy[spl_object_hash(
5ca80 24 6e 65 77 52 75 6c 65 29 5d 20 3d 20 24 77 68 79 3b 0a 0a 24 72 75 6c 65 4e 6f 64 65 20 3d 20 $newRule)].=.$why;..$ruleNode.=.
5caa0 6e 65 77 20 52 75 6c 65 57 61 74 63 68 4e 6f 64 65 28 24 6e 65 77 52 75 6c 65 29 3b 0a 24 72 75 new.RuleWatchNode($newRule);.$ru
5cac0 6c 65 4e 6f 64 65 2d 3e 77 61 74 63 68 32 4f 6e 48 69 67 68 65 73 74 28 24 74 68 69 73 2d 3e 64 leNode->watch2OnHighest($this->d
5cae0 65 63 69 73 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 77 61 74 63 68 47 72 61 70 68 2d 3e 69 6e ecisions);.$this->watchGraph->in
5cb00 73 65 72 74 28 24 72 75 6c 65 4e 6f 64 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f sert($ruleNode);..$this->decisio
5cb20 6e 73 2d 3e 64 65 63 69 64 65 28 24 6c 65 61 72 6e 4c 69 74 65 72 61 6c 2c 20 24 6c 65 76 65 6c ns->decide($learnLiteral,.$level
5cb40 2c 20 24 6e 65 77 52 75 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 65 76 65 6c 3b 0a 7d ,.$newRule);.}..return.$level;.}
5cb60 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 .........private.function.select
5cb80 41 6e 64 49 6e 73 74 61 6c 6c 28 24 6c 65 76 65 6c 2c 20 61 72 72 61 79 20 24 64 65 63 69 73 69 AndInstall($level,.array.$decisi
5cba0 6f 6e 51 75 65 75 65 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 2c 20 52 75 6c 65 20 24 72 75 onQueue,.$disableRules,.Rule.$ru
5cbc0 6c 65 29 0a 7b 0a 0a 20 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6c 69 63 le).{...$literals.=.$this->polic
5cbe0 79 2d 3e 73 65 6c 65 63 74 50 72 65 66 65 72 72 65 64 50 61 63 6b 61 67 65 73 28 24 74 68 69 73 y->selectPreferredPackages($this
5cc00 2d 3e 70 6f 6f 6c 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 64 65 ->pool,.$this->installedMap,.$de
5cc20 63 69 73 69 6f 6e 51 75 65 75 65 2c 20 24 72 75 6c 65 2d 3e 67 65 74 52 65 71 75 69 72 65 64 50 cisionQueue,.$rule->getRequiredP
5cc40 61 63 6b 61 67 65 28 29 29 3b 0a 0a 24 73 65 6c 65 63 74 65 64 4c 69 74 65 72 61 6c 20 3d 20 61 ackage());..$selectedLiteral.=.a
5cc60 72 72 61 79 5f 73 68 69 66 74 28 24 6c 69 74 65 72 61 6c 73 29 3b 0a 0a 0a 20 69 66 20 28 63 6f rray_shift($literals);....if.(co
5cc80 75 6e 74 28 24 6c 69 74 65 72 61 6c 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 unt($literals)).{.$this->branche
5cca0 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 6c 69 74 65 72 61 6c 73 2c 20 24 6c 65 76 65 6c 29 3b 0a s[].=.array($literals,.$level);.
5ccc0 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 65 74 50 72 6f 70 61 67 61 74 65 4c 65 61 }..return.$this->setPropagateLea
5cce0 72 6e 28 24 6c 65 76 65 6c 2c 20 24 73 65 6c 65 63 74 65 64 4c 69 74 65 72 61 6c 2c 20 24 64 69 rn($level,.$selectedLiteral,.$di
5cd00 73 61 62 6c 65 52 75 6c 65 73 2c 20 24 72 75 6c 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 sableRules,.$rule);.}.......prot
5cd20 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 6e 61 6c 79 7a 65 28 24 6c 65 76 65 6c 2c 20 52 ected.function.analyze($level,.R
5cd40 75 6c 65 20 24 72 75 6c 65 29 0a 7b 0a 24 61 6e 61 6c 79 7a 65 64 52 75 6c 65 20 3d 20 24 72 75 ule.$rule).{.$analyzedRule.=.$ru
5cd60 6c 65 3b 0a 24 72 75 6c 65 4c 65 76 65 6c 20 3d 20 31 3b 0a 24 6e 75 6d 20 3d 20 30 3b 0a 24 6c le;.$ruleLevel.=.1;.$num.=.0;.$l
5cd80 31 6e 75 6d 20 3d 20 30 3b 0a 24 73 65 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6c 65 61 72 1num.=.0;.$seen.=.array();.$lear
5cda0 6e 65 64 4c 69 74 65 72 61 6c 73 20 3d 20 61 72 72 61 79 28 6e 75 6c 6c 29 3b 0a 0a 24 64 65 63 nedLiterals.=.array(null);..$dec
5cdc0 69 73 69 6f 6e 49 64 20 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 isionId.=.count($this->decisions
5cde0 29 3b 0a 0a 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 5b 5d 20 3d 20 61 72 72 61 79 );..$this->learnedPool[].=.array
5ce00 28 29 3b 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 65 61 72 6e ();..while.(true).{.$this->learn
5ce20 65 64 50 6f 6f 6c 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 29 edPool[count($this->learnedPool)
5ce40 20 2d 20 31 5d 5b 5d 20 3d 20 24 72 75 6c 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 75 6c 65 .-.1][].=.$rule;..foreach.($rule
5ce60 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 0a ->getLiterals().as.$literal).{..
5ce80 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 74 69 73 66 79 28 24 .if.($this->decisions->satisfy($
5cea0 6c 69 74 65 72 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 literal)).{.continue;.}..if.(iss
5cec0 65 74 28 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 29 20 7b 0a 63 6f 6e 74 et($seen[abs($literal)])).{.cont
5cee0 69 6e 75 65 3b 0a 7d 0a 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 20 3d 20 74 inue;.}.$seen[abs($literal)].=.t
5cf00 72 75 65 3b 0a 0a 24 6c 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 rue;..$l.=.$this->decisions->dec
5cf20 69 73 69 6f 6e 4c 65 76 65 6c 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 31 20 3d 3d 3d isionLevel($literal);..if.(1.===
5cf40 20 24 6c 29 20 7b 0a 24 6c 31 6e 75 6d 2b 2b 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c 65 76 65 .$l).{.$l1num++;.}.elseif.($leve
5cf60 6c 20 3d 3d 3d 20 24 6c 29 20 7b 0a 24 6e 75 6d 2b 2b 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 l.===.$l).{.$num++;.}.else.{...$
5cf80 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 73 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 0a 69 learnedLiterals[].=.$literal;..i
5cfa0 66 20 28 24 6c 20 3e 20 24 72 75 6c 65 4c 65 76 65 6c 29 20 7b 0a 24 72 75 6c 65 4c 65 76 65 6c f.($l.>.$ruleLevel).{.$ruleLevel
5cfc0 20 3d 20 24 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 6c 31 72 65 74 72 79 20 3d 20 74 72 75 65 3b 0a 77 .=.$l;.}.}.}..$l1retry.=.true;.w
5cfe0 68 69 6c 65 20 28 24 6c 31 72 65 74 72 79 29 20 7b 0a 24 6c 31 72 65 74 72 79 20 3d 20 66 61 6c hile.($l1retry).{.$l1retry.=.fal
5d000 73 65 3b 0a 0a 69 66 20 28 21 24 6e 75 6d 20 26 26 20 21 2d 2d 24 6c 31 6e 75 6d 29 20 7b 0a 0a se;..if.(!$num.&&.!--$l1num).{..
5d020 20 62 72 65 61 6b 20 32 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 69 66 20 28 .break.2;.}..while.(true).{.if.(
5d040 24 64 65 63 69 73 69 6f 6e 49 64 20 3c 3d 20 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 6f $decisionId.<=.0).{.throw.new.So
5d060 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 28 0a 22 52 65 61 63 68 65 64 20 69 6e 76 61 6c lverBugException(."Reached.inval
5d080 69 64 20 64 65 63 69 73 69 6f 6e 20 69 64 20 24 64 65 63 69 73 69 6f 6e 49 64 20 77 68 69 6c 65 id.decision.id.$decisionId.while
5d0a0 20 6c 6f 6f 6b 69 6e 67 20 74 68 72 6f 75 67 68 20 24 72 75 6c 65 20 66 6f 72 20 61 20 6c 69 74 .looking.through.$rule.for.a.lit
5d0c0 65 72 61 6c 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 61 6e 61 6c 79 7a 65 64 20 72 75 6c eral.present.in.the.analyzed.rul
5d0e0 65 20 24 61 6e 61 6c 79 7a 65 64 52 75 6c 65 2e 22 0a 29 3b 0a 7d 0a 0a 24 64 65 63 69 73 69 6f e.$analyzedRule.".);.}..$decisio
5d100 6e 49 64 2d 2d 3b 0a 0a 24 64 65 63 69 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 69 73 nId--;..$decision.=.$this->decis
5d120 69 6f 6e 73 2d 3e 61 74 4f 66 66 73 65 74 28 24 64 65 63 69 73 69 6f 6e 49 64 29 3b 0a 24 6c 69 ions->atOffset($decisionId);.$li
5d140 74 65 72 61 6c 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 teral.=.$decision[Decisions::DEC
5d160 49 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 65 65 6e ISION_LITERAL];..if.(isset($seen
5d180 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a [abs($literal)])).{.break;.}.}..
5d1a0 75 6e 73 65 74 28 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 3b 0a 0a 69 66 unset($seen[abs($literal)]);..if
5d1c0 20 28 24 6e 75 6d 20 26 26 20 30 20 3d 3d 3d 20 2d 2d 24 6e 75 6d 29 20 7b 0a 69 66 20 28 24 6c .($num.&&.0.===.--$num).{.if.($l
5d1e0 69 74 65 72 61 6c 20 3c 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 74 65 73 74 46 6c 61 67 4c 65 61 iteral.<.0).{.$this->testFlagLea
5d200 72 6e 65 64 50 6f 73 69 74 69 76 65 4c 69 74 65 72 61 6c 20 3d 20 74 72 75 65 3b 0a 7d 0a 24 6c rnedPositiveLiteral.=.true;.}.$l
5d220 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 73 5b 30 5d 20 3d 20 2d 24 6c 69 74 65 72 61 6c 3b 0a 0a earnedLiterals[0].=.-$literal;..
5d240 69 66 20 28 21 24 6c 31 6e 75 6d 29 20 7b 0a 62 72 65 61 6b 20 32 3b 0a 7d 0a 0a 66 6f 72 65 61 if.(!$l1num).{.break.2;.}..forea
5d260 63 68 20 28 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 73 20 61 73 20 24 69 20 3d 3e 20 24 6c ch.($learnedLiterals.as.$i.=>.$l
5d280 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 69 20 21 3d 3d 20 30 29 20 7b earnedLiteral).{.if.($i.!==.0).{
5d2a0 0a 75 6e 73 65 74 28 24 73 65 65 6e 5b 61 62 73 28 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 6c .unset($seen[abs($learnedLiteral
5d2c0 29 5d 29 3b 0a 7d 0a 7d 0a 0a 20 24 6c 31 6e 75 6d 2b 2b 3b 0a 24 6c 31 72 65 74 72 79 20 3d 20 )]);.}.}...$l1num++;.$l1retry.=.
5d2e0 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 24 64 65 63 69 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 true;.}.}..$decision.=.$this->de
5d300 63 69 73 69 6f 6e 73 2d 3e 61 74 4f 66 66 73 65 74 28 24 64 65 63 69 73 69 6f 6e 49 64 29 3b 0a cisions->atOffset($decisionId);.
5d320 24 72 75 6c 65 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 $rule.=.$decision[Decisions::DEC
5d340 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 7d 0a 0a 24 77 68 79 20 3d 20 63 6f 75 6e 74 28 24 ISION_REASON];.}..$why.=.count($
5d360 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 50 6f 6f 6c 29 20 2d 20 31 3b 0a 0a 69 66 20 28 21 24 6c this->learnedPool).-.1;..if.(!$l
5d380 65 61 72 6e 65 64 4c 69 74 65 72 61 6c 73 5b 30 5d 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 earnedLiterals[0]).{.throw.new.S
5d3a0 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 28 0a 22 44 69 64 20 6e 6f 74 20 66 69 6e 64 olverBugException(."Did.not.find
5d3c0 20 61 20 6c 65 61 72 6e 61 62 6c 65 20 6c 69 74 65 72 61 6c 20 69 6e 20 61 6e 61 6c 79 7a 65 64 .a.learnable.literal.in.analyzed
5d3e0 20 72 75 6c 65 20 24 61 6e 61 6c 79 7a 65 64 52 75 6c 65 2e 22 0a 29 3b 0a 7d 0a 0a 24 6e 65 77 .rule.$analyzedRule.".);.}..$new
5d400 52 75 6c 65 20 3d 20 6e 65 77 20 47 65 6e 65 72 69 63 52 75 6c 65 28 24 6c 65 61 72 6e 65 64 4c Rule.=.new.GenericRule($learnedL
5d420 69 74 65 72 61 6c 73 2c 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 4c 45 41 52 4e 45 44 2c 20 24 77 68 iterals,.Rule::RULE_LEARNED,.$wh
5d440 79 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 6c 65 61 72 6e 65 64 4c 69 74 65 72 61 y);..return.array($learnedLitera
5d460 6c 73 5b 30 5d 2c 20 24 72 75 6c 65 4c 65 76 65 6c 2c 20 24 6e 65 77 52 75 6c 65 2c 20 24 77 68 ls[0],.$ruleLevel,.$newRule,.$wh
5d480 79 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 6e 61 6c y);.}......private.function.anal
5d4a0 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 52 75 6c 65 28 50 72 6f 62 6c 65 6d 20 24 70 72 6f 62 6c yzeUnsolvableRule(Problem.$probl
5d4c0 65 6d 2c 20 52 75 6c 65 20 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 0a 7b 0a 69 66 20 28 24 63 em,.Rule.$conflictRule).{.if.($c
5d4e0 6f 6e 66 6c 69 63 74 52 75 6c 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3d 3d 20 52 75 6c 65 53 65 onflictRule->getType().==.RuleSe
5d500 74 3a 3a 54 59 50 45 5f 4c 45 41 52 4e 45 44 29 20 7b 0a 24 77 68 79 20 3d 20 73 70 6c 5f 6f 62 t::TYPE_LEARNED).{.$why.=.spl_ob
5d520 6a 65 63 74 5f 68 61 73 68 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 3b 0a 24 6c 65 61 72 6e ject_hash($conflictRule);.$learn
5d540 65 64 57 68 79 20 3d 20 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 57 68 79 5b 24 77 68 79 5d 3b edWhy.=.$this->learnedWhy[$why];
5d560 0a 24 70 72 6f 62 6c 65 6d 52 75 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 6c 65 61 72 6e 65 64 50 .$problemRules.=.$this->learnedP
5d580 6f 6f 6c 5b 24 6c 65 61 72 6e 65 64 57 68 79 5d 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 72 6f ool[$learnedWhy];..foreach.($pro
5d5a0 62 6c 65 6d 52 75 6c 65 73 20 61 73 20 24 70 72 6f 62 6c 65 6d 52 75 6c 65 29 20 7b 0a 24 74 68 blemRules.as.$problemRule).{.$th
5d5c0 69 73 2d 3e 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 52 75 6c 65 28 24 70 72 6f 62 6c is->analyzeUnsolvableRule($probl
5d5e0 65 6d 2c 20 24 70 72 6f 62 6c 65 6d 52 75 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a em,.$problemRule);.}..return;.}.
5d600 0a 69 66 20 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3d 3d .if.($conflictRule->getType().==
5d620 20 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 50 41 43 4b 41 47 45 29 20 7b 0a 0a 20 72 65 74 75 .RuleSet::TYPE_PACKAGE).{...retu
5d640 72 6e 3b 0a 7d 0a 0a 24 70 72 6f 62 6c 65 6d 2d 3e 6e 65 78 74 53 65 63 74 69 6f 6e 28 29 3b 0a rn;.}..$problem->nextSection();.
5d660 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 $problem->addRule($conflictRule)
5d680 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 6e 61 6c 79 ;.}.......private.function.analy
5d6a0 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 28 52 75 6c 65 20 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 2c zeUnsolvable(Rule.$conflictRule,
5d6c0 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 29 0a 7b 0a 24 70 72 6f 62 6c 65 6d 20 3d 20 6e 65 77 .$disableRules).{.$problem.=.new
5d6e0 20 50 72 6f 62 6c 65 6d 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 29 3b 0a 24 70 72 6f 62 6c 65 6d 2d .Problem($this->pool);.$problem-
5d700 3e 61 64 64 52 75 6c 65 28 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 3b 0a 0a 24 74 68 69 73 2d >addRule($conflictRule);..$this-
5d720 3e 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 52 75 6c 65 28 24 70 72 6f 62 6c 65 6d 2c >analyzeUnsolvableRule($problem,
5d740 20 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d .$conflictRule);..$this->problem
5d760 73 5b 5d 20 3d 20 24 70 72 6f 62 6c 65 6d 3b 0a 0a 24 73 65 65 6e 20 3d 20 61 72 72 61 79 28 29 s[].=.$problem;..$seen.=.array()
5d780 3b 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 2d 3e 67 65 74 ;.$literals.=.$conflictRule->get
5d7a0 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 Literals();..foreach.($literals.
5d7c0 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 as.$literal).{...if.($this->deci
5d7e0 73 69 6f 6e 73 2d 3e 73 61 74 69 73 66 79 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 63 6f 6e 74 sions->satisfy($literal)).{.cont
5d800 69 6e 75 65 3b 0a 7d 0a 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 20 3d 20 74 inue;.}.$seen[abs($literal)].=.t
5d820 72 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e rue;.}..foreach.($this->decision
5d840 73 20 61 73 20 24 64 65 63 69 73 69 6f 6e 29 20 7b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 64 65 s.as.$decision).{.$literal.=.$de
5d860 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 cision[Decisions::DECISION_LITER
5d880 41 4c 5d 3b 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 AL];....if.(!isset($seen[abs($li
5d8a0 74 65 72 61 6c 29 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 77 68 79 20 3d 20 teral)])).{.continue;.}..$why.=.
5d8c0 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 $decision[Decisions::DECISION_RE
5d8e0 41 53 4f 4e 5d 3b 0a 0a 24 70 72 6f 62 6c 65 6d 2d 3e 61 64 64 52 75 6c 65 28 24 77 68 79 29 3b ASON];..$problem->addRule($why);
5d900 0a 24 74 68 69 73 2d 3e 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 52 75 6c 65 28 24 70 .$this->analyzeUnsolvableRule($p
5d920 72 6f 62 6c 65 6d 2c 20 24 77 68 79 29 3b 0a 0a 24 6c 69 74 65 72 61 6c 73 20 3d 20 24 77 68 79 roblem,.$why);..$literals.=.$why
5d940 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 ->getLiterals();..foreach.($lite
5d960 72 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d rals.as.$literal).{...if.($this-
5d980 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 74 69 73 66 79 28 24 6c 69 74 65 72 61 6c 29 29 20 7b >decisions->satisfy($literal)).{
5d9a0 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 73 65 65 6e 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 .continue;.}.$seen[abs($literal)
5d9c0 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 64 69 73 61 62 6c 65 52 75 6c 65 73 ].=.true;.}.}..if.($disableRules
5d9e0 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 5b 63 6f 75 ).{.foreach.($this->problems[cou
5da00 6e 74 28 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 29 20 2d 20 31 5d 20 61 73 20 24 72 65 61 nt($this->problems).-.1].as.$rea
5da20 73 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 72 6f 62 6c 65 6d 28 24 72 65 son).{.$this->disableProblem($re
5da40 61 73 6f 6e 5b 27 72 75 6c 65 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 73 65 74 53 6f ason['rule']);.}..$this->resetSo
5da60 6c 76 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a lver();..return.1;.}..return.0;.
5da80 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 50 72 }.....private.function.disablePr
5daa0 6f 62 6c 65 6d 28 52 75 6c 65 20 24 77 68 79 29 0a 7b 0a 24 6a 6f 62 20 3d 20 24 77 68 79 2d 3e oblem(Rule.$why).{.$job.=.$why->
5dac0 67 65 74 4a 6f 62 28 29 3b 0a 0a 69 66 20 28 21 24 6a 6f 62 29 20 7b 0a 24 77 68 79 2d 3e 64 69 getJob();..if.(!$job).{.$why->di
5dae0 73 61 62 6c 65 28 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 sable();..return;.}....foreach.(
5db00 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 0a 69 66 20 28 24 6a $this->rules.as.$rule).{..if.($j
5db20 6f 62 20 3d 3d 3d 20 24 72 75 6c 65 2d 3e 67 65 74 4a 6f 62 28 29 29 20 7b 0a 24 72 75 6c 65 2d ob.===.$rule->getJob()).{.$rule-
5db40 3e 64 69 73 61 62 6c 65 28 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 >disable();.}.}.}..private.funct
5db60 69 6f 6e 20 72 65 73 65 74 53 6f 6c 76 65 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 ion.resetSolver().{.$this->decis
5db80 69 6f 6e 73 2d 3e 72 65 73 65 74 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 ions->reset();..$this->propagate
5dba0 49 6e 64 65 78 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 Index.=.0;.$this->branches.=.arr
5dbc0 61 79 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 65 6e 61 62 6c 65 44 69 73 61 62 6c 65 4c 65 61 72 6e ay();..$this->enableDisableLearn
5dbe0 65 64 52 75 6c 65 73 28 29 3b 0a 24 74 68 69 73 2d 3e 6d 61 6b 65 41 73 73 65 72 74 69 6f 6e 52 edRules();.$this->makeAssertionR
5dc00 75 6c 65 44 65 63 69 73 69 6f 6e 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 uleDecisions();.}.........privat
5dc20 65 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 44 69 73 61 62 6c 65 4c 65 61 72 6e 65 64 52 e.function.enableDisableLearnedR
5dc40 75 6c 65 73 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e ules().{.foreach.($this->rules->
5dc60 67 65 74 49 74 65 72 61 74 6f 72 46 6f 72 28 52 75 6c 65 53 65 74 3a 3a 54 59 50 45 5f 4c 45 41 getIteratorFor(RuleSet::TYPE_LEA
5dc80 52 4e 45 44 29 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 24 77 68 79 20 3d 20 24 74 68 69 73 2d 3e RNED).as.$rule).{.$why.=.$this->
5dca0 6c 65 61 72 6e 65 64 57 68 79 5b 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 72 75 6c 65 learnedWhy[spl_object_hash($rule
5dcc0 29 5d 3b 0a 24 70 72 6f 62 6c 65 6d 52 75 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 6c 65 61 72 6e )];.$problemRules.=.$this->learn
5dce0 65 64 50 6f 6f 6c 5b 24 77 68 79 5d 3b 0a 0a 24 66 6f 75 6e 64 44 69 73 61 62 6c 65 64 20 3d 20 edPool[$why];..$foundDisabled.=.
5dd00 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 72 6f 62 6c 65 6d 52 75 6c 65 73 20 61 73 false;.foreach.($problemRules.as
5dd20 20 24 70 72 6f 62 6c 65 6d 52 75 6c 65 29 20 7b 0a 69 66 20 28 24 70 72 6f 62 6c 65 6d 52 75 6c .$problemRule).{.if.($problemRul
5dd40 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 24 66 6f 75 6e 64 44 69 73 61 62 6c 65 e->isDisabled()).{.$foundDisable
5dd60 64 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 66 6f 75 6e 64 d.=.true;.break;.}.}..if.($found
5dd80 44 69 73 61 62 6c 65 64 20 26 26 20 24 72 75 6c 65 2d 3e 69 73 45 6e 61 62 6c 65 64 28 29 29 20 Disabled.&&.$rule->isEnabled()).
5dda0 7b 0a 24 72 75 6c 65 2d 3e 64 69 73 61 62 6c 65 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 {.$rule->disable();.}.elseif.(!$
5ddc0 66 6f 75 6e 64 44 69 73 61 62 6c 65 64 20 26 26 20 24 72 75 6c 65 2d 3e 69 73 44 69 73 61 62 6c foundDisabled.&&.$rule->isDisabl
5dde0 65 64 28 29 29 20 7b 0a 24 72 75 6c 65 2d 3e 65 6e 61 62 6c 65 28 29 3b 0a 7d 0a 7d 0a 7d 0a 0a ed()).{.$rule->enable();.}.}.}..
5de00 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 53 61 74 28 24 64 69 73 61 ...private.function.runSat($disa
5de20 62 6c 65 52 75 6c 65 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 bleRules.=.true).{.$this->propag
5de40 61 74 65 49 6e 64 65 78 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 24 64 65 63 69 73 69 ateIndex.=.0;............$decisi
5de60 6f 6e 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 65 63 69 73 69 6f 6e 53 75 70 70 onQueue.=.array();.$decisionSupp
5de80 6c 65 6d 65 6e 74 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 24 64 69 73 61 62 lementQueue.=.array();....$disab
5dea0 6c 65 52 75 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 6c 65 76 65 6c 20 3d 20 31 3b 0a leRules.=.array();..$level.=.1;.
5dec0 24 73 79 73 74 65 6d 4c 65 76 65 6c 20 3d 20 24 6c 65 76 65 6c 20 2b 20 31 3b 0a 24 69 6e 73 74 $systemLevel.=.$level.+.1;.$inst
5dee0 61 6c 6c 65 64 50 6f 73 20 3d 20 30 3b 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 69 66 alledPos.=.0;..while.(true).{.if
5df00 20 28 31 20 3d 3d 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 20 .(1.===.$level).{.$conflictRule.
5df20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 65 28 24 6c 65 76 65 6c 29 3b 0a 69 66 20 28 =.$this->propagate($level);.if.(
5df40 6e 75 6c 6c 20 21 3d 3d 20 24 63 6f 6e 66 6c 69 63 74 52 75 6c 65 29 20 7b 0a 69 66 20 28 24 74 null.!==.$conflictRule).{.if.($t
5df60 68 69 73 2d 3e 61 6e 61 6c 79 7a 65 55 6e 73 6f 6c 76 61 62 6c 65 28 24 63 6f 6e 66 6c 69 63 74 his->analyzeUnsolvable($conflict
5df80 52 75 6c 65 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 Rule,.$disableRules)).{.continue
5dfa0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 6c 65 76 65 6c 20 3c ;.}..return;.}.}....if.($level.<
5dfc0 20 24 73 79 73 74 65 6d 4c 65 76 65 6c 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 74 68 .$systemLevel).{.$iterator.=.$th
5dfe0 69 73 2d 3e 72 75 6c 65 73 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 46 6f 72 28 52 75 6c 65 53 65 is->rules->getIteratorFor(RuleSe
5e000 74 3a 3a 54 59 50 45 5f 4a 4f 42 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 69 74 65 72 61 74 6f 72 t::TYPE_JOB);.foreach.($iterator
5e020 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 69 66 20 28 24 72 75 6c 65 2d 3e 69 73 45 6e 61 62 6c 65 .as.$rule).{.if.($rule->isEnable
5e040 64 28 29 29 20 7b 0a 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b d()).{.$decisionQueue.=.array();
5e060 0a 24 6e 6f 6e 65 53 61 74 69 73 66 69 65 64 20 3d 20 74 72 75 65 3b 0a 0a 66 6f 72 65 61 63 68 .$noneSatisfied.=.true;..foreach
5e080 20 28 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 20 61 73 20 24 6c 69 74 65 72 .($rule->getLiterals().as.$liter
5e0a0 61 6c 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 73 61 74 69 al).{.if.($this->decisions->sati
5e0c0 73 66 79 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 24 6e 6f 6e 65 53 61 74 69 73 66 69 65 64 20 sfy($literal)).{.$noneSatisfied.
5e0e0 3d 20 66 61 6c 73 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3e =.false;.break;.}.if.($literal.>
5e100 20 30 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 75 6e 64 65 63 69 64 65 .0.&&.$this->decisions->undecide
5e120 64 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 5d 20 d($literal)).{.$decisionQueue[].
5e140 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6e 6f 6e 65 53 61 74 69 73 66 =.$literal;.}.}..if.($noneSatisf
5e160 69 65 64 20 26 26 20 63 6f 75 6e 74 28 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 29 20 7b 0a ied.&&.count($decisionQueue)).{.
5e180 0a 20 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 29 20 ....if.(count($this->installed).
5e1a0 21 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 4d 61 70 29 29 20 7b 0a 24 70 !=.count($this->updateMap)).{.$p
5e1c0 72 75 6e 65 64 51 75 65 75 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 runedQueue.=.array();.foreach.($
5e1e0 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 decisionQueue.as.$literal).{.if.
5e200 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 61 62 73 28 24 (isset($this->installedMap[abs($
5e220 6c 69 74 65 72 61 6c 29 5d 29 29 20 7b 0a 24 70 72 75 6e 65 64 51 75 65 75 65 5b 5d 20 3d 20 24 literal)])).{.$prunedQueue[].=.$
5e240 6c 69 74 65 72 61 6c 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 literal;.if.(isset($this->update
5e260 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 29 20 7b 0a 24 70 72 75 6e 65 64 51 75 Map[abs($literal)])).{.$prunedQu
5e280 65 75 65 20 3d 20 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d eue.=.$decisionQueue;.break;.}.}
5e2a0 0a 7d 0a 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d 20 24 70 72 75 6e 65 64 51 75 65 75 65 .}.$decisionQueue.=.$prunedQueue
5e2c0 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6e 6f 6e 65 53 61 74 69 73 66 69 65 64 20 26 26 20 63 6f 75 ;.}.}..if.($noneSatisfied.&&.cou
5e2e0 6e 74 28 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 29 29 20 7b 0a 24 6f 4c 65 76 65 6c 20 3d 20 nt($decisionQueue)).{.$oLevel.=.
5e300 24 6c 65 76 65 6c 3b 0a 24 6c 65 76 65 6c 20 3d 20 24 74 68 69 73 2d 3e 73 65 6c 65 63 74 41 6e $level;.$level.=.$this->selectAn
5e320 64 49 6e 73 74 61 6c 6c 28 24 6c 65 76 65 6c 2c 20 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 2c dInstall($level,.$decisionQueue,
5e340 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 2c 20 24 72 75 6c 65 29 3b 0a 0a 69 66 20 28 30 20 3d .$disableRules,.$rule);..if.(0.=
5e360 3d 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 24 6c 65 76 65 ==.$level).{.return;.}.if.($leve
5e380 6c 20 3c 3d 20 24 6f 4c 65 76 65 6c 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a l.<=.$oLevel).{.break;.}.}.}.}..
5e3a0 24 73 79 73 74 65 6d 4c 65 76 65 6c 20 3d 20 24 6c 65 76 65 6c 20 2b 20 31 3b 0a 0a 0a 20 24 69 $systemLevel.=.$level.+.1;....$i
5e3c0 74 65 72 61 74 6f 72 2d 3e 6e 65 78 74 28 29 3b 0a 69 66 20 28 24 69 74 65 72 61 74 6f 72 2d 3e terator->next();.if.($iterator->
5e3e0 76 61 6c 69 64 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6c valid()).{.continue;.}.}..if.($l
5e400 65 76 65 6c 20 3c 20 24 73 79 73 74 65 6d 4c 65 76 65 6c 29 20 7b 0a 24 73 79 73 74 65 6d 4c 65 evel.<.$systemLevel).{.$systemLe
5e420 76 65 6c 20 3d 20 24 6c 65 76 65 6c 3b 0a 7d 0a 0a 24 72 75 6c 65 73 43 6f 75 6e 74 20 3d 20 63 vel.=.$level;.}..$rulesCount.=.c
5e440 6f 75 6e 74 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 29 3b 0a 24 70 61 73 73 20 3d 20 31 3b 0a 0a ount($this->rules);.$pass.=.1;..
5e460 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 6f 6b 69 6e 67 20 61 $this->io->writeError('Looking.a
5e480 74 20 61 6c 6c 20 72 75 6c 65 73 2e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 t.all.rules.',.true,.IOInterface
5e4a0 3a 3a 44 45 42 55 47 29 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 2c 20 24 6e 20 3d 20 30 3b 20 24 ::DEBUG);.for.($i.=.0,.$n.=.0;.$
5e4c0 6e 20 3c 20 24 72 75 6c 65 73 43 6f 75 6e 74 3b 20 24 69 2b 2b 2c 20 24 6e 2b 2b 29 20 7b 0a 69 n.<.$rulesCount;.$i++,.$n++).{.i
5e4e0 66 20 28 24 69 20 3d 3d 20 24 72 75 6c 65 73 43 6f 75 6e 74 29 20 7b 0a 69 66 20 28 31 20 3d 3d f.($i.==.$rulesCount).{.if.(1.==
5e500 3d 20 24 70 61 73 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 =.$pass).{.$this->io->writeError
5e520 28 22 53 6f 6d 65 74 68 69 6e 67 27 73 20 63 68 61 6e 67 65 64 2c 20 6c 6f 6f 6b 69 6e 67 20 61 ("Something's.changed,.looking.a
5e540 74 20 61 6c 6c 20 72 75 6c 65 73 20 61 67 61 69 6e 20 28 70 61 73 73 20 23 24 70 61 73 73 29 22 t.all.rules.again.(pass.#$pass)"
5e560 2c 20 66 61 6c 73 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 7d 20 ,.false,.IOInterface::DEBUG);.}.
5e580 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 else.{.$this->io->overwriteError
5e5a0 28 22 53 6f 6d 65 74 68 69 6e 67 27 73 20 63 68 61 6e 67 65 64 2c 20 6c 6f 6f 6b 69 6e 67 20 61 ("Something's.changed,.looking.a
5e5c0 74 20 61 6c 6c 20 72 75 6c 65 73 20 61 67 61 69 6e 20 28 70 61 73 73 20 23 24 70 61 73 73 29 22 t.all.rules.again.(pass.#$pass)"
5e5e0 2c 20 66 61 6c 73 65 2c 20 6e 75 6c 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 ,.false,.null,.IOInterface::DEBU
5e600 47 29 3b 0a 7d 0a 0a 24 69 20 3d 20 30 3b 0a 24 70 61 73 73 2b 2b 3b 0a 7d 0a 0a 24 72 75 6c 65 G);.}..$i.=.0;.$pass++;.}..$rule
5e620 20 3d 20 24 74 68 69 73 2d 3e 72 75 6c 65 73 2d 3e 72 75 6c 65 42 79 49 64 5b 24 69 5d 3b 0a 24 .=.$this->rules->ruleById[$i];.$
5e640 6c 69 74 65 72 61 6c 73 20 3d 20 24 72 75 6c 65 2d 3e 67 65 74 4c 69 74 65 72 61 6c 73 28 29 3b literals.=.$rule->getLiterals();
5e660 0a 0a 69 66 20 28 24 72 75 6c 65 2d 3e 69 73 44 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 63 6f 6e ..if.($rule->isDisabled()).{.con
5e680 74 69 6e 75 65 3b 0a 7d 0a 0a 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 20 3d 20 61 72 72 61 79 tinue;.}..$decisionQueue.=.array
5e6a0 28 29 3b 0a 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 69 74 65 72 ();..............foreach.($liter
5e6c0 61 6c 73 20 61 73 20 24 6c 69 74 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 als.as.$literal).{.if.($literal.
5e6e0 3c 3d 20 30 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 <=.0).{.if.(!$this->decisions->d
5e700 65 63 69 64 65 64 49 6e 73 74 61 6c 6c 28 24 6c 69 74 65 72 61 6c 29 29 20 7b 0a 63 6f 6e 74 69 ecidedInstall($literal)).{.conti
5e720 6e 75 65 20 32 3b 20 0a 20 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 nue.2;...}.}.else.{.if.($this->d
5e740 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 64 65 64 49 6e 73 74 61 6c 6c 28 24 6c 69 74 65 72 61 ecisions->decidedInstall($litera
5e760 6c 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 20 0a 20 7d 0a 69 66 20 28 24 74 68 69 73 2d l)).{.continue.2;...}.if.($this-
5e780 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 75 6e 64 65 63 69 64 65 64 28 24 6c 69 74 65 72 61 6c 29 29 >decisions->undecided($literal))
5e7a0 20 7b 0a 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 5b 5d 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a .{.$decisionQueue[].=.$literal;.
5e7c0 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 64 65 63 69 73 69 6f 6e 51 75 65 75 }.}.}....if.(count($decisionQueu
5e7e0 65 29 20 3c 20 32 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c 65 76 65 6c 20 3d 20 e).<.2).{.continue;.}..$level.=.
5e800 24 74 68 69 73 2d 3e 73 65 6c 65 63 74 41 6e 64 49 6e 73 74 61 6c 6c 28 24 6c 65 76 65 6c 2c 20 $this->selectAndInstall($level,.
5e820 24 64 65 63 69 73 69 6f 6e 51 75 65 75 65 2c 20 24 64 69 73 61 62 6c 65 52 75 6c 65 73 2c 20 24 $decisionQueue,.$disableRules,.$
5e840 72 75 6c 65 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6c 65 76 65 6c 29 20 7b 0a 72 65 74 75 rule);..if.(0.===.$level).{.retu
5e860 72 6e 3b 0a 7d 0a 0a 0a 20 24 72 75 6c 65 73 43 6f 75 6e 74 20 3d 20 63 6f 75 6e 74 28 24 74 68 rn;.}....$rulesCount.=.count($th
5e880 69 73 2d 3e 72 75 6c 65 73 29 3b 0a 24 6e 20 3d 20 2d 31 3b 0a 7d 0a 0a 69 66 20 28 24 6c 65 76 is->rules);.$n.=.-1;.}..if.($lev
5e8a0 65 6c 20 3c 20 24 73 79 73 74 65 6d 4c 65 76 65 6c 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d el.<.$systemLevel).{.continue;.}
5e8c0 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 29 20 ....if.(count($this->branches)).
5e8e0 7b 0a 24 6c 61 73 74 4c 69 74 65 72 61 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 6c 61 73 74 4c 65 76 65 {.$lastLiteral.=.null;.$lastLeve
5e900 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 6c 61 73 74 42 72 61 6e 63 68 49 6e 64 65 78 20 3d 20 30 3b 0a l.=.null;.$lastBranchIndex.=.0;.
5e920 24 6c 61 73 74 42 72 61 6e 63 68 4f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 66 6f 72 20 28 24 69 20 $lastBranchOffset.=.0;..for.($i.
5e940 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 2d 20 31 3b 20 24 69 =.count($this->branches).-.1;.$i
5e960 20 3e 3d 20 30 3b 20 24 69 2d 2d 29 20 7b 0a 6c 69 73 74 28 24 6c 69 74 65 72 61 6c 73 2c 20 24 .>=.0;.$i--).{.list($literals,.$
5e980 6c 29 20 3d 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 24 69 5d 3b 0a 0a 66 6f 72 65 61 l).=.$this->branches[$i];..forea
5e9a0 63 68 20 28 24 6c 69 74 65 72 61 6c 73 20 61 73 20 24 6f 66 66 73 65 74 20 3d 3e 20 24 6c 69 74 ch.($literals.as.$offset.=>.$lit
5e9c0 65 72 61 6c 29 20 7b 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 26 26 20 24 6c 69 74 65 72 61 6c eral).{.if.($literal.&&.$literal
5e9e0 20 3e 20 30 20 26 26 20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 64 65 63 69 73 69 .>.0.&&.$this->decisions->decisi
5ea00 6f 6e 4c 65 76 65 6c 28 24 6c 69 74 65 72 61 6c 29 20 3e 20 24 6c 20 2b 20 31 29 20 7b 0a 24 6c onLevel($literal).>.$l.+.1).{.$l
5ea20 61 73 74 4c 69 74 65 72 61 6c 20 3d 20 24 6c 69 74 65 72 61 6c 3b 0a 24 6c 61 73 74 42 72 61 6e astLiteral.=.$literal;.$lastBran
5ea40 63 68 49 6e 64 65 78 20 3d 20 24 69 3b 0a 24 6c 61 73 74 42 72 61 6e 63 68 4f 66 66 73 65 74 20 chIndex.=.$i;.$lastBranchOffset.
5ea60 3d 20 24 6f 66 66 73 65 74 3b 0a 24 6c 61 73 74 4c 65 76 65 6c 20 3d 20 24 6c 3b 0a 7d 0a 7d 0a =.$offset;.$lastLevel.=.$l;.}.}.
5ea80 7d 0a 0a 69 66 20 28 24 6c 61 73 74 4c 69 74 65 72 61 6c 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 }..if.($lastLiteral).{.unset($th
5eaa0 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 24 6c 61 73 74 42 72 61 6e 63 68 49 6e 64 65 78 5d 5b 73 is->branches[$lastBranchIndex][s
5eac0 65 6c 66 3a 3a 42 52 41 4e 43 48 5f 4c 49 54 45 52 41 4c 53 5d 5b 24 6c 61 73 74 42 72 61 6e 63 elf::BRANCH_LITERALS][$lastBranc
5eae0 68 4f 66 66 73 65 74 5d 29 3b 0a 0a 24 6c 65 76 65 6c 20 3d 20 24 6c 61 73 74 4c 65 76 65 6c 3b hOffset]);..$level.=.$lastLevel;
5eb00 0a 24 74 68 69 73 2d 3e 72 65 76 65 72 74 28 24 6c 65 76 65 6c 29 3b 0a 0a 24 77 68 79 20 3d 20 .$this->revert($level);..$why.=.
5eb20 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 2d 3e 6c 61 73 74 52 65 61 73 6f 6e 28 29 3b 0a $this->decisions->lastReason();.
5eb40 0a 24 6c 65 76 65 6c 20 3d 20 24 74 68 69 73 2d 3e 73 65 74 50 72 6f 70 61 67 61 74 65 4c 65 61 .$level.=.$this->setPropagateLea
5eb60 72 6e 28 24 6c 65 76 65 6c 2c 20 24 6c 61 73 74 4c 69 74 65 72 61 6c 2c 20 24 64 69 73 61 62 6c rn($level,.$lastLiteral,.$disabl
5eb80 65 52 75 6c 65 73 2c 20 24 77 68 79 29 3b 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 3d 3d 20 30 29 eRules,.$why);..if.($level.==.0)
5eba0 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 62 72 65 .{.return;.}..continue;.}.}..bre
5ebc0 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 ak;.}.}.}.<?php............names
5ebe0 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 pace.Composer\DependencyResolver
5ec00 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 6f 6c 76 65 72 42 75 67 45 78 63 65 70 74 69 6f 6e 20 65 ;.....class.SolverBugException.e
5ec20 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 xtends.\RuntimeException.{.publi
5ec40 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 29 c.function.__construct($message)
5ec60 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 24 6d 65 73 73 61 67 65 .{.parent::__construct(.$message
5ec80 2e 22 5c 6e 54 68 69 73 20 65 78 63 65 70 74 69 6f 6e 20 77 61 73 20 6d 6f 73 74 20 6c 69 6b 65 ."\nThis.exception.was.most.like
5eca0 6c 79 20 63 61 75 73 65 64 20 62 79 20 61 20 62 75 67 20 69 6e 20 43 6f 6d 70 6f 73 65 72 2e 5c ly.caused.by.a.bug.in.Composer.\
5ecc0 6e 22 2e 0a 22 50 6c 65 61 73 65 20 72 65 70 6f 72 74 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 79 n".."Please.report.the.command.y
5ece0 6f 75 20 72 61 6e 2c 20 74 68 65 20 65 78 61 63 74 20 65 72 72 6f 72 20 79 6f 75 20 72 65 63 65 ou.ran,.the.exact.error.you.rece
5ed00 69 76 65 64 2c 20 61 6e 64 20 79 6f 75 72 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 6e 20 ived,.and.your.composer.json.on.
5ed20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 63 6f 6d 70 6f 73 65 72 2f 63 6f 6d 70 https://github.com/composer/comp
5ed40 6f 73 65 72 2f 69 73 73 75 65 73 20 2d 20 74 68 61 6e 6b 20 79 6f 75 21 5c 6e 22 0a 29 3b 0a 7d oser/issues.-.thank.you!\n".);.}
5ed60 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
5ed80 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 mposer\DependencyResolver;..use.
5eda0 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 49 6e 69 48 65 6c 70 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 Composer\Util\IniHelper;.....cla
5edc0 73 73 20 53 6f 6c 76 65 72 50 72 6f 62 6c 65 6d 73 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e ss.SolverProblemsException.exten
5ede0 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 ds.\RuntimeException.{.protected
5ee00 20 24 70 72 6f 62 6c 65 6d 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 65 64 .$problems;.protected.$installed
5ee20 4d 61 70 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 Map;..public.function.__construc
5ee40 74 28 61 72 72 61 79 20 24 70 72 6f 62 6c 65 6d 73 2c 20 61 72 72 61 79 20 24 69 6e 73 74 61 6c t(array.$problems,.array.$instal
5ee60 6c 65 64 4d 61 70 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 62 6c 65 6d 73 20 3d 20 24 70 72 6f ledMap).{.$this->problems.=.$pro
5ee80 62 6c 65 6d 73 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 20 3d 20 24 69 6e blems;.$this->installedMap.=.$in
5eea0 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 stalledMap;..parent::__construct
5eec0 28 24 74 68 69 73 2d 3e 63 72 65 61 74 65 4d 65 73 73 61 67 65 28 29 2c 20 32 29 3b 0a 7d 0a 0a ($this->createMessage(),.2);.}..
5eee0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 4d 65 73 73 61 67 65 protected.function.createMessage
5ef00 28 29 0a 7b 0a 24 74 65 78 74 20 3d 20 22 5c 6e 22 3b 0a 24 68 61 73 45 78 74 65 6e 73 69 6f 6e ().{.$text.=."\n";.$hasExtension
5ef20 50 72 6f 62 6c 65 6d 73 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 Problems.=.false;.foreach.($this
5ef40 2d 3e 70 72 6f 62 6c 65 6d 73 20 61 73 20 24 69 20 3d 3e 20 24 70 72 6f 62 6c 65 6d 29 20 7b 0a ->problems.as.$i.=>.$problem).{.
5ef60 24 74 65 78 74 20 2e 3d 20 22 20 20 50 72 6f 62 6c 65 6d 20 22 2e 28 24 69 20 2b 20 31 29 2e 24 $text..=."..Problem.".($i.+.1).$
5ef80 70 72 6f 62 6c 65 6d 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 74 68 69 73 2d 3e problem->getPrettyString($this->
5efa0 69 6e 73 74 61 6c 6c 65 64 4d 61 70 29 2e 22 5c 6e 22 3b 0a 0a 69 66 20 28 21 24 68 61 73 45 78 installedMap)."\n";..if.(!$hasEx
5efc0 74 65 6e 73 69 6f 6e 50 72 6f 62 6c 65 6d 73 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 45 78 74 tensionProblems.&&.$this->hasExt
5efe0 65 6e 73 69 6f 6e 50 72 6f 62 6c 65 6d 73 28 24 70 72 6f 62 6c 65 6d 2d 3e 67 65 74 52 65 61 73 ensionProblems($problem->getReas
5f000 6f 6e 73 28 29 29 29 20 7b 0a 24 68 61 73 45 78 74 65 6e 73 69 6f 6e 50 72 6f 62 6c 65 6d 73 20 ons())).{.$hasExtensionProblems.
5f020 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 73 74 72 70 6f 73 28 24 74 65 78 74 2c 20 27 =.true;.}.}..if.(strpos($text,.'
5f040 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 27 29 20 7c 7c 20 73 74 72 70 6f 73 28 24 could.not.be.found').||.strpos($
5f060 74 65 78 74 2c 20 27 6e 6f 20 6d 61 74 63 68 69 6e 67 20 70 61 63 6b 61 67 65 20 66 6f 75 6e 64 text,.'no.matching.package.found
5f080 27 29 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 22 5c 6e 50 6f 74 65 6e 74 69 61 6c 20 63 61 75 73 ')).{.$text..=."\nPotential.caus
5f0a0 65 73 3a 5c 6e 20 2d 20 41 20 74 79 70 6f 20 69 6e 20 74 68 65 20 70 61 63 6b 61 67 65 20 6e 61 es:\n.-.A.typo.in.the.package.na
5f0c0 6d 65 5c 6e 20 2d 20 54 68 65 20 70 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 me\n.-.The.package.is.not.availa
5f0e0 62 6c 65 20 69 6e 20 61 20 73 74 61 62 6c 65 2d 65 6e 6f 75 67 68 20 76 65 72 73 69 6f 6e 20 61 ble.in.a.stable-enough.version.a
5f100 63 63 6f 72 64 69 6e 67 20 74 6f 20 79 6f 75 72 20 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 ccording.to.your.minimum-stabili
5f120 74 79 20 73 65 74 74 69 6e 67 5c 6e 20 20 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 67 65 74 63 ty.setting\n...see.<https://getc
5f140 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 34 2d 73 63 68 65 6d 61 2e 6d 64 23 6d 69 6e omposer.org/doc/04-schema.md#min
5f160 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 3e 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 imum-stability>.for.more.details
5f180 2e 5c 6e 20 2d 20 49 74 27 73 20 61 20 70 72 69 76 61 74 65 20 70 61 63 6b 61 67 65 20 61 6e 64 .\n.-.It's.a.private.package.and
5f1a0 20 79 6f 75 20 66 6f 72 67 6f 74 20 74 6f 20 61 64 64 20 61 20 63 75 73 74 6f 6d 20 72 65 70 6f .you.forgot.to.add.a.custom.repo
5f1c0 73 69 74 6f 72 79 20 74 6f 20 66 69 6e 64 20 69 74 5c 6e 5c 6e 52 65 61 64 20 3c 68 74 74 70 73 sitory.to.find.it\n\nRead.<https
5f1e0 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f ://getcomposer.org/doc/articles/
5f200 74 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 3e 20 66 6f 72 20 66 75 72 74 68 65 72 20 troubleshooting.md>.for.further.
5f220 63 6f 6d 6d 6f 6e 20 70 72 6f 62 6c 65 6d 73 2e 22 3b 0a 7d 0a 0a 69 66 20 28 24 68 61 73 45 78 common.problems.";.}..if.($hasEx
5f240 74 65 6e 73 69 6f 6e 50 72 6f 62 6c 65 6d 73 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 24 74 68 69 tensionProblems).{.$text..=.$thi
5f260 73 2d 3e 63 72 65 61 74 65 45 78 74 65 6e 73 69 6f 6e 48 69 6e 74 28 29 3b 0a 7d 0a 0a 72 65 74 s->createExtensionHint();.}..ret
5f280 75 72 6e 20 24 74 65 78 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 urn.$text;.}..public.function.ge
5f2a0 74 50 72 6f 62 6c 65 6d 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 62 tProblems().{.return.$this->prob
5f2c0 6c 65 6d 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 lems;.}..private.function.create
5f2e0 45 78 74 65 6e 73 69 6f 6e 48 69 6e 74 28 29 0a 7b 0a 24 70 61 74 68 73 20 3d 20 49 6e 69 48 65 ExtensionHint().{.$paths.=.IniHe
5f300 6c 70 65 72 3a 3a 67 65 74 41 6c 6c 28 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 70 61 74 68 lper::getAll();..if.(count($path
5f320 73 29 20 3d 3d 3d 20 31 20 26 26 20 65 6d 70 74 79 28 24 70 61 74 68 73 5b 30 5d 29 29 20 7b 0a s).===.1.&&.empty($paths[0])).{.
5f340 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 24 74 65 78 74 20 3d 20 22 5c 6e 20 20 54 6f 20 65 6e return.'';.}..$text.=."\n..To.en
5f360 61 62 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 76 65 72 69 66 79 20 74 68 61 74 20 74 68 65 able.extensions,.verify.that.the
5f380 79 20 61 72 65 20 65 6e 61 62 6c 65 64 20 69 6e 20 79 6f 75 72 20 2e 69 6e 69 20 66 69 6c 65 73 y.are.enabled.in.your..ini.files
5f3a0 3a 5c 6e 20 20 20 20 2d 20 22 3b 0a 24 74 65 78 74 20 2e 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e :\n....-.";.$text..=.implode("\n
5f3c0 20 20 20 20 2d 20 22 2c 20 24 70 61 74 68 73 29 3b 0a 24 74 65 78 74 20 2e 3d 20 22 5c 6e 20 20 ....-.",.$paths);.$text..=."\n..
5f3e0 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 72 75 6e 20 60 70 68 70 20 2d 2d 69 6e 69 60 20 69 6e 73 You.can.also.run.`php.--ini`.ins
5f400 69 64 65 20 74 65 72 6d 69 6e 61 6c 20 74 6f 20 73 65 65 20 77 68 69 63 68 20 66 69 6c 65 73 20 ide.terminal.to.see.which.files.
5f420 61 72 65 20 75 73 65 64 20 62 79 20 50 48 50 20 69 6e 20 43 4c 49 20 6d 6f 64 65 2e 22 3b 0a 0a are.used.by.PHP.in.CLI.mode.";..
5f440 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f return.$text;.}..private.functio
5f460 6e 20 68 61 73 45 78 74 65 6e 73 69 6f 6e 50 72 6f 62 6c 65 6d 73 28 61 72 72 61 79 20 24 72 65 n.hasExtensionProblems(array.$re
5f480 61 73 6f 6e 53 65 74 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 61 73 6f 6e 53 65 74 73 asonSets).{.foreach.($reasonSets
5f4a0 20 61 73 20 24 72 65 61 73 6f 6e 53 65 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 61 73 .as.$reasonSet).{.foreach.($reas
5f4c0 6f 6e 53 65 74 20 61 73 20 24 72 65 61 73 6f 6e 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 72 onSet.as.$reason).{.if.(isset($r
5f4e0 65 61 73 6f 6e 5b 22 72 75 6c 65 22 5d 29 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 eason["rule"]).&&.0.===.strpos($
5f500 72 65 61 73 6f 6e 5b 22 72 75 6c 65 22 5d 2d 3e 67 65 74 52 65 71 75 69 72 65 64 50 61 63 6b 61 reason["rule"]->getRequiredPacka
5f520 67 65 28 29 2c 20 27 65 78 74 2d 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a ge(),.'ext-')).{.return.true;.}.
5f540 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a }.}..return.false;.}.}.<?php....
5f560 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e ........namespace.Composer\Depen
5f580 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 dencyResolver;..use.Composer\Pac
5f5a0 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 72 61 kage\AliasPackage;.....class.Tra
5f5c0 6e 73 61 63 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 6f 6c 69 63 79 3b 0a 70 72 nsaction.{.protected.$policy;.pr
5f5e0 6f 74 65 63 74 65 64 20 24 70 6f 6f 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c otected.$pool;.protected.$instal
5f600 6c 65 64 4d 61 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 63 69 73 69 6f 6e 73 3b 0a 70 72 ledMap;.protected.$decisions;.pr
5f620 6f 74 65 63 74 65 64 20 24 74 72 61 6e 73 61 63 74 69 6f 6e 3b 0a 0a 70 75 62 6c 69 63 20 66 75 otected.$transaction;..public.fu
5f640 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f nction.__construct($policy,.$poo
5f660 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 2c 20 24 64 65 63 69 73 69 6f 6e 73 29 0a 7b 0a l,.$installedMap,.$decisions).{.
5f680 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 20 3d 20 24 70 6f 6c 69 63 79 3b 0a 24 74 68 69 73 2d 3e $this->policy.=.$policy;.$this->
5f6a0 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 pool.=.$pool;.$this->installedMa
5f6c0 70 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 4d 61 70 3b 0a 24 74 68 69 73 2d 3e 64 65 63 69 73 69 p.=.$installedMap;.$this->decisi
5f6e0 6f 6e 73 20 3d 20 24 64 65 63 69 73 69 6f 6e 73 3b 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 ons.=.$decisions;.$this->transac
5f700 74 69 6f 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 tion.=.array();.}..public.functi
5f720 6f 6e 20 67 65 74 4f 70 65 72 61 74 69 6f 6e 73 28 29 0a 7b 0a 24 69 6e 73 74 61 6c 6c 4d 65 61 on.getOperations().{.$installMea
5f740 6e 73 55 70 64 61 74 65 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 55 70 64 61 74 65 73 nsUpdateMap.=.$this->findUpdates
5f760 28 29 3b 0a 0a 24 75 70 64 61 74 65 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 6e 73 74 ();..$updateMap.=.array();.$inst
5f780 61 6c 6c 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 75 6e 69 6e 73 74 61 6c 6c 4d 61 70 20 allMap.=.array();.$uninstallMap.
5f7a0 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 63 69 =.array();..foreach.($this->deci
5f7c0 73 69 6f 6e 73 20 61 73 20 24 69 20 3d 3e 20 24 64 65 63 69 73 69 6f 6e 29 20 7b 0a 24 6c 69 74 sions.as.$i.=>.$decision).{.$lit
5f7e0 65 72 61 6c 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 eral.=.$decision[Decisions::DECI
5f800 53 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 3b 0a 24 72 65 61 73 6f 6e 20 3d 20 24 64 65 63 69 73 69 SION_LITERAL];.$reason.=.$decisi
5f820 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a on[Decisions::DECISION_REASON];.
5f840 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c .$package.=.$this->pool->literal
5f860 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 3b 0a 0a 0a 20 69 66 20 28 28 24 6c 69 ToPackage($literal);....if.(($li
5f880 74 65 72 61 6c 20 3e 20 30 29 20 3d 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 teral.>.0).==.isset($this->insta
5f8a0 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e lledMap[$package->id])).{.contin
5f8c0 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3e 20 30 29 20 7b 0a 69 66 20 28 69 ue;.}..if.($literal.>.0).{.if.(i
5f8e0 73 73 65 74 28 24 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 70 5b 61 62 73 28 sset($installMeansUpdateMap[abs(
5f900 24 6c 69 74 65 72 61 6c 29 5d 29 20 26 26 20 21 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 $literal)]).&&.!$package.instanc
5f920 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 73 6f 75 72 63 65 20 3d 20 24 69 eof.AliasPackage).{.$source.=.$i
5f940 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 nstallMeansUpdateMap[abs($litera
5f960 6c 29 5d 3b 0a 0a 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d l)];..$updateMap[$package->id].=
5f980 20 61 72 72 61 79 28 0a 27 70 61 63 6b 61 67 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2c 0a 27 .array(.'package'.=>.$package,.'
5f9a0 73 6f 75 72 63 65 27 20 3d 3e 20 24 73 6f 75 72 63 65 2c 0a 27 72 65 61 73 6f 6e 27 20 3d 3e 20 source'.=>.$source,.'reason'.=>.
5f9c0 24 72 65 61 73 6f 6e 2c 0a 29 3b 0a 0a 0a 20 75 6e 73 65 74 28 24 69 6e 73 74 61 6c 6c 4d 65 61 $reason,.);....unset($installMea
5f9e0 6e 73 55 70 64 61 74 65 4d 61 70 5b 61 62 73 28 24 6c 69 74 65 72 61 6c 29 5d 29 3b 0a 24 69 67 nsUpdateMap[abs($literal)]);.$ig
5fa00 6e 6f 72 65 52 65 6d 6f 76 65 5b 24 73 6f 75 72 63 65 2d 3e 69 64 5d 20 3d 20 74 72 75 65 3b 0a noreRemove[$source->id].=.true;.
5fa20 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 }.else.{.$installMap[$package->i
5fa40 64 5d 20 3d 20 61 72 72 61 79 28 0a 27 70 61 63 6b 61 67 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 d].=.array(.'package'.=>.$packag
5fa60 65 2c 0a 27 72 65 61 73 6f 6e 27 20 3d 3e 20 24 72 65 61 73 6f 6e 2c 0a 29 3b 0a 7d 0a 7d 0a 7d e,.'reason'.=>.$reason,.);.}.}.}
5fa80 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 69 6f 6e 73 20 61 73 20 24 ..foreach.($this->decisions.as.$
5faa0 69 20 3d 3e 20 24 64 65 63 69 73 69 6f 6e 29 20 7b 0a 24 6c 69 74 65 72 61 6c 20 3d 20 24 64 65 i.=>.$decision).{.$literal.=.$de
5fac0 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 4c 49 54 45 52 cision[Decisions::DECISION_LITER
5fae0 41 4c 5d 3b 0a 24 72 65 61 73 6f 6e 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f AL];.$reason.=.$decision[Decisio
5fb00 6e 73 3a 3a 44 45 43 49 53 49 4f 4e 5f 52 45 41 53 4f 4e 5d 3b 0a 24 70 61 63 6b 61 67 65 20 3d ns::DECISION_REASON];.$package.=
5fb20 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 .$this->pool->literalToPackage($
5fb40 6c 69 74 65 72 61 6c 29 3b 0a 0a 69 66 20 28 24 6c 69 74 65 72 61 6c 20 3c 3d 20 30 20 26 26 0a literal);..if.($literal.<=.0.&&.
5fb60 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 isset($this->installedMap[$packa
5fb80 67 65 2d 3e 69 64 5d 29 20 26 26 0a 21 69 73 73 65 74 28 24 69 67 6e 6f 72 65 52 65 6d 6f 76 65 ge->id]).&&.!isset($ignoreRemove
5fba0 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 24 75 6e 69 6e 73 74 61 6c 6c 4d 61 70 [$package->id])).{.$uninstallMap
5fbc0 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 61 72 72 61 79 28 0a 27 70 61 63 6b 61 67 65 [$package->id].=.array(.'package
5fbe0 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2c 0a 27 72 65 61 73 6f 6e 27 20 3d 3e 20 24 72 65 61 73 '.=>.$package,.'reason'.=>.$reas
5fc00 6f 6e 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 46 72 on,.);.}.}..$this->transactionFr
5fc20 6f 6d 4d 61 70 73 28 24 69 6e 73 74 61 6c 6c 4d 61 70 2c 20 24 75 70 64 61 74 65 4d 61 70 2c 20 omMaps($installMap,.$updateMap,.
5fc40 24 75 6e 69 6e 73 74 61 6c 6c 4d 61 70 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 $uninstallMap);..return.$this->t
5fc60 72 61 6e 73 61 63 74 69 6f 6e 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f ransaction;.}..protected.functio
5fc80 6e 20 74 72 61 6e 73 61 63 74 69 6f 6e 46 72 6f 6d 4d 61 70 73 28 24 69 6e 73 74 61 6c 6c 4d 61 n.transactionFromMaps($installMa
5fca0 70 2c 20 24 75 70 64 61 74 65 4d 61 70 2c 20 24 75 6e 69 6e 73 74 61 6c 6c 4d 61 70 29 0a 7b 0a p,.$updateMap,.$uninstallMap).{.
5fcc0 24 71 75 65 75 65 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 6f $queue.=.array_map(.function.($o
5fce0 70 65 72 61 74 69 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 20 24 6f 70 65 72 61 74 69 6f 6e 5b 27 70 peration).{.return.$operation['p
5fd00 61 63 6b 61 67 65 27 5d 3b 0a 7d 2c 0a 24 74 68 69 73 2d 3e 66 69 6e 64 52 6f 6f 74 50 61 63 6b ackage'];.},.$this->findRootPack
5fd20 61 67 65 73 28 24 69 6e 73 74 61 6c 6c 4d 61 70 2c 20 24 75 70 64 61 74 65 4d 61 70 29 0a 29 3b ages($installMap,.$updateMap).);
5fd40 0a 0a 24 76 69 73 69 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 77 68 69 6c 65 20 28 21 65 ..$visited.=.array();..while.(!e
5fd60 6d 70 74 79 28 24 71 75 65 75 65 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 61 72 72 61 79 mpty($queue)).{.$package.=.array
5fd80 5f 70 6f 70 28 24 71 75 65 75 65 29 3b 0a 24 70 61 63 6b 61 67 65 49 64 20 3d 20 24 70 61 63 6b _pop($queue);.$packageId.=.$pack
5fda0 61 67 65 2d 3e 69 64 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 76 69 73 69 74 65 64 5b 24 70 age->id;..if.(!isset($visited[$p
5fdc0 61 63 6b 61 67 65 49 64 5d 29 29 20 7b 0a 24 71 75 65 75 65 5b 5d 20 3d 20 24 70 61 63 6b 61 67 ackageId])).{.$queue[].=.$packag
5fde0 65 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 e;..if.($package.instanceof.Alia
5fe00 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 71 75 65 75 65 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d sPackage).{.$queue[].=.$package-
5fe20 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 >getAliasOf();.}.else.{.foreach.
5fe40 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e ($package->getRequires().as.$lin
5fe60 6b 29 20 7b 0a 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 20 3d 20 24 74 68 69 73 2d 3e k).{.$possibleRequires.=.$this->
5fe80 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 pool->whatProvides($link->getTar
5fea0 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a get(),.$link->getConstraint());.
5fec0 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 20 61 73 20 24 .foreach.($possibleRequires.as.$
5fee0 72 65 71 75 69 72 65 29 20 7b 0a 24 71 75 65 75 65 5b 5d 20 3d 20 24 72 65 71 75 69 72 65 3b 0a require).{.$queue[].=.$require;.
5ff00 7d 0a 7d 0a 7d 0a 0a 24 76 69 73 69 74 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 20 3d 20 }.}.}..$visited[$package->id].=.
5ff20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 73 74 61 6c true;.}.else.{.if.(isset($instal
5ff40 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 lMap[$packageId])).{.$this->inst
5ff60 61 6c 6c 28 0a 24 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 5b 27 70 61 all(.$installMap[$packageId]['pa
5ff80 63 6b 61 67 65 27 5d 2c 0a 24 69 6e 73 74 61 6c 6c 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d ckage'],.$installMap[$packageId]
5ffa0 5b 27 72 65 61 73 6f 6e 27 5d 0a 29 3b 0a 75 6e 73 65 74 28 24 69 6e 73 74 61 6c 6c 4d 61 70 5b ['reason'].);.unset($installMap[
5ffc0 24 70 61 63 6b 61 67 65 49 64 5d 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 75 70 64 61 74 $packageId]);.}.if.(isset($updat
5ffe0 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 eMap[$packageId])).{.$this->upda
60000 74 65 28 0a 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 5b 27 73 6f 75 72 te(.$updateMap[$packageId]['sour
60020 63 65 27 5d 2c 0a 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 5b 27 70 61 ce'],.$updateMap[$packageId]['pa
60040 63 6b 61 67 65 27 5d 2c 0a 24 75 70 64 61 74 65 4d 61 70 5b 24 70 61 63 6b 61 67 65 49 64 5d 5b ckage'],.$updateMap[$packageId][
60060 27 72 65 61 73 6f 6e 27 5d 0a 29 3b 0a 75 6e 73 65 74 28 24 75 70 64 61 74 65 4d 61 70 5b 24 70 'reason'].);.unset($updateMap[$p
60080 61 63 6b 61 67 65 49 64 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 75 6e 69 ackageId]);.}.}.}..foreach.($uni
600a0 6e 73 74 61 6c 6c 4d 61 70 20 61 73 20 24 75 6e 69 6e 73 74 61 6c 6c 29 20 7b 0a 24 74 68 69 73 nstallMap.as.$uninstall).{.$this
600c0 2d 3e 75 6e 69 6e 73 74 61 6c 6c 28 24 75 6e 69 6e 73 74 61 6c 6c 5b 27 70 61 63 6b 61 67 65 27 ->uninstall($uninstall['package'
600e0 5d 2c 20 24 75 6e 69 6e 73 74 61 6c 6c 5b 27 72 65 61 73 6f 6e 27 5d 29 3b 0a 7d 0a 7d 0a 0a 70 ],.$uninstall['reason']);.}.}..p
60100 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 52 6f 6f 74 50 61 63 6b 61 67 rotected.function.findRootPackag
60120 65 73 28 24 69 6e 73 74 61 6c 6c 4d 61 70 2c 20 24 75 70 64 61 74 65 4d 61 70 29 0a 7b 0a 24 70 es($installMap,.$updateMap).{.$p
60140 61 63 6b 61 67 65 73 20 3d 20 24 69 6e 73 74 61 6c 6c 4d 61 70 20 2b 20 24 75 70 64 61 74 65 4d ackages.=.$installMap.+.$updateM
60160 61 70 3b 0a 24 72 6f 6f 74 73 20 3d 20 24 70 61 63 6b 61 67 65 73 3b 0a 0a 66 6f 72 65 61 63 68 ap;.$roots.=.$packages;..foreach
60180 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 49 64 20 3d 3e 20 24 6f 70 .($packages.as.$packageId.=>.$op
601a0 65 72 61 74 69 6f 6e 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e eration).{.$package.=.$operation
601c0 5b 27 70 61 63 6b 61 67 65 27 5d 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 72 6f 6f 74 73 5b ['package'];..if.(!isset($roots[
601e0 24 70 61 63 6b 61 67 65 49 64 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 66 6f 72 $packageId])).{.continue;.}..for
60200 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 each.($package->getRequires().as
60220 20 24 6c 69 6e 6b 29 20 7b 0a 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 20 3d 20 24 74 .$link).{.$possibleRequires.=.$t
60240 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c 69 6e 6b 2d 3e 67 his->pool->whatProvides($link->g
60260 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 etTarget(),.$link->getConstraint
60280 28 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 62 6c 65 52 65 71 75 69 72 65 73 ());..foreach.($possibleRequires
602a0 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 69 66 20 28 24 72 65 71 75 69 72 65 20 21 3d 3d .as.$require).{.if.($require.!==
602c0 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 75 6e 73 65 74 28 24 72 6f 6f 74 73 5b 24 72 65 71 75 69 .$package).{.unset($roots[$requi
602e0 72 65 2d 3e 69 64 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 6f 6f 74 73 re->id]);.}.}.}.}..return.$roots
60300 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 55 70 64 61 ;.}..protected.function.findUpda
60320 74 65 73 28 29 0a 7b 0a 24 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 70 20 3d tes().{.$installMeansUpdateMap.=
60340 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 63 69 73 .array();..foreach.($this->decis
60360 69 6f 6e 73 20 61 73 20 24 69 20 3d 3e 20 24 64 65 63 69 73 69 6f 6e 29 20 7b 0a 24 6c 69 74 65 ions.as.$i.=>.$decision).{.$lite
60380 72 61 6c 20 3d 20 24 64 65 63 69 73 69 6f 6e 5b 44 65 63 69 73 69 6f 6e 73 3a 3a 44 45 43 49 53 ral.=.$decision[Decisions::DECIS
603a0 49 4f 4e 5f 4c 49 54 45 52 41 4c 5d 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e ION_LITERAL];.$package.=.$this->
603c0 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6c 69 74 65 72 61 6c 29 pool->literalToPackage($literal)
603e0 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 ;..if.($package.instanceof.Alias
60400 50 61 63 6b 61 67 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6c Package).{.continue;.}....if.($l
60420 69 74 65 72 61 6c 20 3c 3d 20 30 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 iteral.<=.0.&&.isset($this->inst
60440 61 6c 6c 65 64 4d 61 70 5b 24 70 61 63 6b 61 67 65 2d 3e 69 64 5d 29 29 20 7b 0a 24 75 70 64 61 alledMap[$package->id])).{.$upda
60460 74 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 2d 3e 66 69 6e 64 55 70 64 61 74 65 50 tes.=.$this->policy->findUpdateP
60480 61 63 6b 61 67 65 73 28 24 74 68 69 73 2d 3e 70 6f 6f 6c 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 ackages($this->pool,.$this->inst
604a0 61 6c 6c 65 64 4d 61 70 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 24 6c 69 74 65 72 61 6c 73 20 alledMap,.$package);..$literals.
604c0 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 69 64 29 3b 0a 0a 66 6f 72 65 61 63 68 20 =.array($package->id);..foreach.
604e0 28 24 75 70 64 61 74 65 73 20 61 73 20 24 75 70 64 61 74 65 29 20 7b 0a 24 6c 69 74 65 72 61 6c ($updates.as.$update).{.$literal
60500 73 5b 5d 20 3d 20 24 75 70 64 61 74 65 2d 3e 69 64 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 s[].=.$update->id;.}..foreach.($
60520 6c 69 74 65 72 61 6c 73 20 61 73 20 24 75 70 64 61 74 65 4c 69 74 65 72 61 6c 29 20 7b 0a 69 66 literals.as.$updateLiteral).{.if
60540 20 28 24 75 70 64 61 74 65 4c 69 74 65 72 61 6c 20 21 3d 3d 20 24 6c 69 74 65 72 61 6c 29 20 7b .($updateLiteral.!==.$literal).{
60560 0a 24 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 70 5b 61 62 73 28 24 75 70 64 .$installMeansUpdateMap[abs($upd
60580 61 74 65 4c 69 74 65 72 61 6c 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 7d ateLiteral)].=.$package;.}.}.}.}
605a0 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 61 6c 6c 4d 65 61 6e 73 55 70 64 61 74 65 4d 61 70 3b ..return.$installMeansUpdateMap;
605c0 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 24 .}..protected.function.install($
605e0 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 package,.$reason).{.if.($package
60600 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 .instanceof.AliasPackage).{.retu
60620 72 6e 20 24 74 68 69 73 2d 3e 6d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 28 24 70 61 rn.$this->markAliasInstalled($pa
60640 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 ckage,.$reason);.}..$this->trans
60660 61 63 74 69 6f 6e 5b 5d 20 3d 20 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 49 6e 73 74 61 6c 6c action[].=.new.Operation\Install
60680 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a Operation($package,.$reason);.}.
606a0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 24 66 72 6f 6d .protected.function.update($from
606c0 2c 20 24 74 6f 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 63 ,.$to,.$reason).{.$this->transac
606e0 74 69 6f 6e 5b 5d 20 3d 20 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 55 70 64 61 74 65 4f 70 65 tion[].=.new.Operation\UpdateOpe
60700 72 61 74 69 6f 6e 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 0a ration($from,.$to,.$reason);.}..
60720 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 24 70 61 protected.function.uninstall($pa
60740 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 ckage,.$reason).{.if.($package.i
60760 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e nstanceof.AliasPackage).{.return
60780 20 24 74 68 69 73 2d 3e 6d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 28 24 70 61 .$this->markAliasUninstalled($pa
607a0 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 ckage,.$reason);.}..$this->trans
607c0 61 63 74 69 6f 6e 5b 5d 20 3d 20 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 55 6e 69 6e 73 74 61 action[].=.new.Operation\Uninsta
607e0 6c 6c 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 3b 0a llOperation($package,.$reason);.
60800 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b 41 6c 69 61 73 49 }..protected.function.markAliasI
60820 6e 73 74 61 6c 6c 65 64 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 24 74 nstalled($package,.$reason).{.$t
60840 68 69 73 2d 3e 74 72 61 6e 73 61 63 74 69 6f 6e 5b 5d 20 3d 20 6e 65 77 20 4f 70 65 72 61 74 69 his->transaction[].=.new.Operati
60860 6f 6e 5c 4d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 28 24 on\MarkAliasInstalledOperation($
60880 70 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 package,.$reason);.}..protected.
608a0 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 28 24 70 function.markAliasUninstalled($p
608c0 61 63 6b 61 67 65 2c 20 24 72 65 61 73 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 61 ackage,.$reason).{.$this->transa
608e0 63 74 69 6f 6e 5b 5d 20 3d 20 6e 65 77 20 4f 70 65 72 61 74 69 6f 6e 5c 4d 61 72 6b 41 6c 69 61 ction[].=.new.Operation\MarkAlia
60900 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 sUninstalledOperation($package,.
60920 24 72 65 61 73 6f 6e 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e $reason);.}.}.<?php............n
60940 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 amespace.Composer\Downloader;..u
60960 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 se.Composer\Package\PackageInter
60980 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 face;.use.Symfony\Component\Find
609a0 65 72 5c 46 69 6e 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 er\Finder;.use.Composer\IO\IOInt
609c0 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 41 erface;.........abstract.class.A
609e0 72 63 68 69 76 65 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 46 69 6c 65 44 6f 77 rchiveDownloader.extends.FileDow
60a00 6e 6c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 nloader.{......public.function.d
60a20 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 ownload(PackageInterface.$packag
60a40 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 65 6d e,.$path,.$output.=.true).{.$tem
60a60 70 6f 72 61 72 79 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 poraryDir.=.$this->config->get('
60a80 76 65 6e 64 6f 72 2d 64 69 72 27 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 2f 27 2e 73 75 62 73 74 72 vendor-dir').'/composer/'.substr
60aa0 28 6d 64 35 28 75 6e 69 71 69 64 28 27 27 2c 20 74 72 75 65 29 29 2c 20 30 2c 20 38 29 3b 0a 24 (md5(uniqid('',.true)),.0,.8);.$
60ac0 72 65 74 72 69 65 73 20 3d 20 33 3b 0a 77 68 69 6c 65 20 28 24 72 65 74 72 69 65 73 2d 2d 29 20 retries.=.3;.while.($retries--).
60ae0 7b 0a 24 66 69 6c 65 4e 61 6d 65 20 3d 20 70 61 72 65 6e 74 3a 3a 64 6f 77 6e 6c 6f 61 64 28 24 {.$fileName.=.parent::download($
60b00 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 69 66 20 28 24 package,.$path,.$output);..if.($
60b20 6f 75 74 70 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 output).{.$this->io->writeError(
60b40 27 20 45 78 74 72 61 63 74 69 6e 67 20 61 72 63 68 69 76 65 27 2c 20 66 61 6c 73 65 2c 20 49 4f '.Extracting.archive',.false,.IO
60b60 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 74 Interface::VERBOSE);.}..try.{.$t
60b80 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 his->filesystem->ensureDirectory
60ba0 45 78 69 73 74 73 28 24 74 65 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a 74 72 79 20 7b 0a 24 74 68 Exists($temporaryDir);.try.{.$th
60bc0 69 73 2d 3e 65 78 74 72 61 63 74 28 24 66 69 6c 65 4e 61 6d 65 2c 20 24 74 65 6d 70 6f 72 61 72 is->extract($fileName,.$temporar
60be0 79 44 69 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b yDir);.}.catch.(\Exception.$e).{
60c00 0a 0a 20 70 61 72 65 6e 74 3a 3a 63 6c 65 61 72 4c 61 73 74 43 61 63 68 65 57 72 69 74 65 28 24 ...parent::clearLastCacheWrite($
60c20 70 61 63 6b 61 67 65 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 package);.throw.$e;.}..$this->fi
60c40 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 66 69 6c 65 4e 61 6d 65 29 3b 0a 0a 24 63 lesystem->unlink($fileName);..$c
60c60 6f 6e 74 65 6e 74 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 6f 6c 64 65 72 43 6f 6e 74 ontentDir.=.$this->getFolderCont
60c80 65 6e 74 28 24 74 65 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a 0a 0a 20 69 66 20 28 31 20 3d 3d 3d ent($temporaryDir);....if.(1.===
60ca0 20 63 6f 75 6e 74 28 24 63 6f 6e 74 65 6e 74 44 69 72 29 20 26 26 20 69 73 5f 64 69 72 28 72 65 .count($contentDir).&&.is_dir(re
60cc0 73 65 74 28 24 63 6f 6e 74 65 6e 74 44 69 72 29 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 44 69 72 set($contentDir))).{.$contentDir
60ce0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 6f 6c 64 65 72 43 6f 6e 74 65 6e 74 28 28 73 74 72 69 .=.$this->getFolderContent((stri
60d00 6e 67 29 20 72 65 73 65 74 28 24 63 6f 6e 74 65 6e 74 44 69 72 29 29 3b 0a 7d 0a 0a 0a 20 66 6f ng).reset($contentDir));.}....fo
60d20 72 65 61 63 68 20 28 24 63 6f 6e 74 65 6e 74 44 69 72 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 24 reach.($contentDir.as.$file).{.$
60d40 66 69 6c 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 66 69 6c 65 3b 0a 24 74 68 69 73 2d 3e 66 69 file.=.(string).$file;.$this->fi
60d60 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6e 61 6d 65 28 24 66 69 6c 65 2c 20 24 70 61 74 68 20 2e 20 lesystem->rename($file,.$path...
60d80 27 2f 27 20 2e 20 62 61 73 65 6e 61 6d 65 28 24 66 69 6c 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 '/'...basename($file));.}..$this
60da0 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 74 ->filesystem->removeDirectory($t
60dc0 65 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 emporaryDir);.if.($this->filesys
60de0 74 65 6d 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 tem->isDirEmpty($this->config->g
60e00 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 2f 27 29 29 20 et('vendor-dir').'/composer/')).
60e20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 {.$this->filesystem->removeDirec
60e40 74 6f 72 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d tory($this->config->get('vendor-
60e60 64 69 72 27 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 2f 27 29 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 dir').'/composer/');.}.if.($this
60e80 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 74 68 69 73 2d 3e ->filesystem->isDirEmpty($this->
60ea0 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 29 29 20 7b 0a 24 74 config->get('vendor-dir'))).{.$t
60ec0 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 his->filesystem->removeDirectory
60ee0 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 ($this->config->get('vendor-dir'
60f00 29 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a ));.}.}.catch.(\Exception.$e).{.
60f20 0a 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 ..$this->filesystem->removeDirec
60f40 74 6f 72 79 28 24 70 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e tory($path);.$this->filesystem->
60f60 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 74 65 6d 70 6f 72 61 72 79 44 69 72 29 3b 0a removeDirectory($temporaryDir);.
60f80 0a 0a 20 69 66 20 28 24 72 65 74 72 69 65 73 20 26 26 20 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 ...if.($retries.&&.$e.instanceof
60fa0 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 26 26 20 63 6c .\UnexpectedValueException.&&.cl
60fc0 61 73 73 5f 65 78 69 73 74 73 28 27 5a 69 70 41 72 63 68 69 76 65 27 29 20 26 26 20 24 65 2d 3e ass_exists('ZipArchive').&&.$e->
60fe0 67 65 74 43 6f 64 65 28 29 20 3d 3d 3d 20 5c 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 4e 4f getCode().===.\ZipArchive::ER_NO
61000 5a 49 50 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 ZIP).{.$this->io->writeError('')
61020 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 74 ;.if.($this->io->isDebug()).{.$t
61040 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 49 6e 76 61 6c 69 64 his->io->writeError('....Invalid
61060 20 7a 69 70 20 66 69 6c 65 20 28 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 29 .zip.file.('.$e->getMessage().')
61080 2c 20 72 65 74 72 79 69 6e 67 2e 2e 2e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d ,.retrying...');.}.else.{.$this-
610a0 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 49 6e 76 61 6c 69 64 20 7a 69 70 >io->writeError('....Invalid.zip
610c0 20 66 69 6c 65 2c 20 72 65 74 72 79 69 6e 67 2e 2e 2e 27 29 3b 0a 7d 0a 75 73 6c 65 65 70 28 35 .file,.retrying...');.}.usleep(5
610e0 30 30 30 30 30 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 00000);.continue;.}..throw.$e;.}
61100 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 ..break;.}.}.....protected.funct
61120 69 6f 6e 20 67 65 74 46 69 6c 65 4e 61 6d 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 ion.getFileName(PackageInterface
61140 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d .$package,.$path).{.return.rtrim
61160 28 24 70 61 74 68 2e 27 2f 27 2e 6d 64 35 28 24 70 61 74 68 2e 73 70 6c 5f 6f 62 6a 65 63 74 5f ($path.'/'.md5($path.spl_object_
61180 68 61 73 68 28 24 70 61 63 6b 61 67 65 29 29 2e 27 2e 27 2e 70 61 74 68 69 6e 66 6f 28 70 61 72 hash($package)).'.'.pathinfo(par
611a0 73 65 5f 75 72 6c 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 2c 20 50 se_url($package->getDistUrl(),.P
611c0 48 50 5f 55 52 4c 5f 50 41 54 48 29 2c 20 50 41 54 48 49 4e 46 4f 5f 45 58 54 45 4e 53 49 4f 4e HP_URL_PATH),.PATHINFO_EXTENSION
611e0 29 2c 20 27 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f ),.'.');.}..........abstract.pro
61200 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 tected.function.extract($file,.$
61220 70 61 74 68 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 path);........private.function.g
61240 65 74 46 6f 6c 64 65 72 43 6f 6e 74 65 6e 74 28 24 64 69 72 29 0a 7b 0a 24 66 69 6e 64 65 72 20 etFolderContent($dir).{.$finder.
61260 3d 20 46 69 6e 64 65 72 3a 3a 63 72 65 61 74 65 28 29 0a 2d 3e 69 67 6e 6f 72 65 56 43 53 28 66 =.Finder::create().->ignoreVCS(f
61280 61 6c 73 65 29 0a 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 66 61 6c 73 65 29 0a 2d 3e alse).->ignoreDotFiles(false).->
612a0 6e 6f 74 4e 61 6d 65 28 27 2e 44 53 5f 53 74 6f 72 65 27 29 0a 2d 3e 64 65 70 74 68 28 30 29 0a notName('.DS_Store').->depth(0).
612c0 2d 3e 69 6e 28 24 64 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 69 74 65 72 61 74 6f 72 5f 74 6f 5f ->in($dir);..return.iterator_to_
612e0 61 72 72 61 79 28 24 66 69 6e 64 65 72 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a array($finder);.}.}.<?php.......
61300 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 .....namespace.Composer\Download
61320 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 er;..use.Composer\Package\Packag
61340 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 68 61 6e eInterface;.......interface.Chan
61360 67 65 52 65 70 6f 72 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 geReportInterface.{........publi
61380 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 c.function.getLocalChanges(Packa
613a0 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a geInterface.$package,.$path);.}.
613c0 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
613e0 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 ser\Downloader;..use.Composer\Pa
61400 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 ckage\PackageInterface;.use.Comp
61420 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 oser\IO\IOInterface;.use.Compose
61440 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 r\Util\Filesystem;.......class.D
61460 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 70 72 ownloadManager.{.private.$io;.pr
61480 69 76 61 74 65 20 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 ivate.$preferDist.=.false;.priva
614a0 74 65 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 te.$preferSource.=.false;.privat
614c0 65 20 24 70 61 63 6b 61 67 65 50 72 65 66 65 72 65 6e 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b e.$packagePreferences.=.array();
614e0 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 70 72 69 76 61 74 65 20 24 64 .private.$filesystem;.private.$d
61500 6f 77 6e 6c 6f 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ownloaders.=.array();.........pu
61520 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 blic.function.__construct(IOInte
61540 72 66 61 63 65 20 24 69 6f 2c 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 rface.$io,.$preferSource.=.false
61560 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 29 ,.Filesystem.$filesystem.=.null)
61580 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 .{.$this->io.=.$io;.$this->prefe
615a0 72 53 6f 75 72 63 65 20 3d 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 3b 0a 24 74 68 69 73 2d 3e rSource.=.$preferSource;.$this->
615c0 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 6e 65 77 20 filesystem.=.$filesystem.?:.new.
615e0 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 Filesystem();.}........public.fu
61600 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 24 70 72 65 66 65 72 53 6f nction.setPreferSource($preferSo
61620 75 72 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 24 70 urce).{.$this->preferSource.=.$p
61640 72 65 66 65 72 53 6f 75 72 63 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a referSource;..return.$this;.}...
61660 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 44 69 .....public.function.setPreferDi
61680 73 74 28 24 70 72 65 66 65 72 44 69 73 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 44 st($preferDist).{.$this->preferD
616a0 69 73 74 20 3d 20 24 70 72 65 66 65 72 44 69 73 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ist.=.$preferDist;..return.$this
616c0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 ;.}........public.function.setPr
616e0 65 66 65 72 65 6e 63 65 73 28 61 72 72 61 79 20 24 70 72 65 66 65 72 65 6e 63 65 73 29 0a 7b 0a eferences(array.$preferences).{.
61700 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 50 72 65 66 65 72 65 6e 63 65 73 20 3d 20 24 70 72 65 $this->packagePreferences.=.$pre
61720 66 65 72 65 6e 63 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a ferences;..return.$this;.}......
61740 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 75 74 70 75 74 50 72 6f 67 ...public.function.setOutputProg
61760 72 65 73 73 28 24 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 ress($outputProgress).{.foreach.
61780 28 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 20 61 73 20 24 64 6f 77 6e 6c 6f 61 64 ($this->downloaders.as.$download
617a0 65 72 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 73 65 74 4f 75 74 70 75 74 50 72 6f 67 er).{.$downloader->setOutputProg
617c0 72 65 73 73 28 24 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e ress($outputProgress);.}..return
617e0 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$this;.}.........public.functio
61800 6e 20 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 24 74 79 70 65 2c 20 44 6f 77 6e 6c 6f 61 64 65 n.setDownloader($type,.Downloade
61820 72 49 6e 74 65 72 66 61 63 65 20 24 64 6f 77 6e 6c 6f 61 64 65 72 29 0a 7b 0a 24 74 79 70 65 20 rInterface.$downloader).{.$type.
61840 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 79 70 65 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e =.strtolower($type);.$this->down
61860 6c 6f 61 64 65 72 73 5b 24 74 79 70 65 5d 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 72 loaders[$type].=.$downloader;..r
61880 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 eturn.$this;.}.........public.fu
618a0 6e 63 74 69 6f 6e 20 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 24 74 79 70 65 29 0a 7b 0a 24 74 nction.getDownloader($type).{.$t
618c0 79 70 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 79 70 65 29 3b 0a 69 66 20 28 21 69 73 ype.=.strtolower($type);.if.(!is
618e0 73 65 74 28 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 5b 24 74 79 70 65 5d 29 29 20 set($this->downloaders[$type])).
61900 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 {.throw.new.\InvalidArgumentExce
61920 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 6b 6e 6f 77 6e 20 64 6f 77 6e 6c 6f 61 64 65 ption(sprintf('Unknown.downloade
61940 72 20 74 79 70 65 3a 20 25 73 2e 20 41 76 61 69 6c 61 62 6c 65 20 74 79 70 65 73 3a 20 25 73 2e r.type:.%s..Available.types:.%s.
61960 27 2c 20 24 74 79 70 65 2c 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 ',.$type,.implode(',.',.array_ke
61980 79 73 28 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 29 29 29 29 3b 0a 7d 0a 0a 72 65 ys($this->downloaders))));.}..re
619a0 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 65 72 73 5b 24 74 79 70 65 5d 3b 0a turn.$this->downloaders[$type];.
619c0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 }...........public.function.getD
619e0 6f 77 6e 6c 6f 61 64 65 72 46 6f 72 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 50 61 63 ownloaderForInstalledPackage(Pac
61a00 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 69 6e 73 74 61 kageInterface.$package).{.$insta
61a20 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 6e 73 llationSource.=.$package->getIns
61a40 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 3b 0a 0a 69 66 20 28 27 6d 65 74 61 70 61 63 tallationSource();..if.('metapac
61a60 6b 61 67 65 27 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 20 7b kage'.===.$package->getType()).{
61a80 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 27 64 69 73 74 27 20 3d 3d 3d 20 24 69 6e 73 74 .return;.}..if.('dist'.===.$inst
61aa0 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 20 3d 20 allationSource).{.$downloader.=.
61ac0 24 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 24 70 61 63 6b 61 67 65 2d 3e 67 $this->getDownloader($package->g
61ae0 65 74 44 69 73 74 54 79 70 65 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 73 6f 75 72 63 65 etDistType());.}.elseif.('source
61b00 27 20 3d 3d 3d 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 20 7b 0a 24 64 6f '.===.$installationSource).{.$do
61b20 77 6e 6c 6f 61 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 wnloader.=.$this->getDownloader(
61b40 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 29 3b 0a 7d 20 65 6c $package->getSourceType());.}.el
61b60 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 se.{.throw.new.\InvalidArgumentE
61b80 78 63 65 70 74 69 6f 6e 28 0a 27 50 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 xception(.'Package.'.$package.'.
61ba0 73 65 65 6d 73 20 6e 6f 74 20 62 65 65 6e 20 69 6e 73 74 61 6c 6c 65 64 20 70 72 6f 70 65 72 6c seems.not.been.installed.properl
61bc0 79 27 0a 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 y'.);.}..if.($installationSource
61be0 20 21 3d 3d 20 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f .!==.$downloader->getInstallatio
61c00 6e 53 6f 75 72 63 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 nSource()).{.throw.new.\LogicExc
61c20 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 44 6f 77 6e 6c 6f 61 64 65 72 20 22 25 73 22 eption(sprintf(.'Downloader."%s"
61c40 20 69 73 20 61 20 25 73 20 74 79 70 65 20 64 6f 77 6e 6c 6f 61 64 65 72 20 61 6e 64 20 63 61 6e .is.a.%s.type.downloader.and.can
61c60 20 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 25 73 20 66 6f 72 20 .not.be.used.to.download.%s.for.
61c80 70 61 63 6b 61 67 65 20 25 73 27 2c 0a 67 65 74 5f 63 6c 61 73 73 28 24 64 6f 77 6e 6c 6f 61 64 package.%s',.get_class($download
61ca0 65 72 29 2c 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f er),.$downloader->getInstallatio
61cc0 6e 53 6f 75 72 63 65 28 29 2c 0a 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 2c 0a nSource(),.$installationSource,.
61ce0 24 70 61 63 6b 61 67 65 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 6f 77 6e 6c 6f 61 64 $package.));.}..return.$download
61d00 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e er;.}............public.function
61d20 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b .download(PackageInterface.$pack
61d40 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d age,.$targetDir,.$preferSource.=
61d60 20 6e 75 6c 6c 29 0a 7b 0a 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 6e 75 6c 6c 20 21 3d .null).{.$preferSource.=.null.!=
61d80 3d 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3f 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 =.$preferSource.?.$preferSource.
61da0 3a 20 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 6f 75 72 63 65 3b 0a 24 73 6f 75 72 63 65 54 79 :.$this->preferSource;.$sourceTy
61dc0 70 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a pe.=.$package->getSourceType();.
61de0 24 64 69 73 74 54 79 70 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 $distType.=.$package->getDistTyp
61e00 65 28 29 3b 0a 0a 24 73 6f 75 72 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 73 e();..$sources.=.array();.if.($s
61e20 6f 75 72 63 65 54 79 70 65 29 20 7b 0a 24 73 6f 75 72 63 65 73 5b 5d 20 3d 20 27 73 6f 75 72 63 ourceType).{.$sources[].=.'sourc
61e40 65 27 3b 0a 7d 0a 69 66 20 28 24 64 69 73 74 54 79 70 65 29 20 7b 0a 24 73 6f 75 72 63 65 73 5b e';.}.if.($distType).{.$sources[
61e60 5d 20 3d 20 27 64 69 73 74 27 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 73 6f 75 72 63 65 ].=.'dist';.}..if.(empty($source
61e80 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 s)).{.throw.new.\InvalidArgument
61ea0 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 Exception('Package.'.$package.'.
61ec0 6d 75 73 74 20 68 61 76 65 20 61 20 73 6f 75 72 63 65 20 6f 72 20 64 69 73 74 20 73 70 65 63 69 must.have.a.source.or.dist.speci
61ee0 66 69 65 64 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 26 26 fied');.}..if.(!$preferSource.&&
61f00 20 28 24 74 68 69 73 2d 3e 70 72 65 66 65 72 44 69 73 74 20 7c 7c 20 27 64 69 73 74 27 20 3d 3d .($this->preferDist.||.'dist'.==
61f20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 50 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 50 72 =.$this->resolvePackageInstallPr
61f40 65 66 65 72 65 6e 63 65 28 24 70 61 63 6b 61 67 65 29 29 29 20 7b 0a 24 73 6f 75 72 63 65 73 20 eference($package))).{.$sources.
61f60 3d 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 73 6f 75 72 63 65 73 29 3b 0a 7d 0a 0a 24 74 =.array_reverse($sources);.}..$t
61f80 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 his->filesystem->ensureDirectory
61fa0 45 78 69 73 74 73 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 Exists($targetDir);..foreach.($s
61fc0 6f 75 72 63 65 73 20 61 73 20 24 69 20 3d 3e 20 24 73 6f 75 72 63 65 29 20 7b 0a 69 66 20 28 69 ources.as.$i.=>.$source).{.if.(i
61fe0 73 73 65 74 28 24 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f sset($e)).{.$this->io->writeErro
62000 72 28 27 20 20 20 20 3c 77 61 72 6e 69 6e 67 3e 4e 6f 77 20 74 72 79 69 6e 67 20 74 6f 20 64 6f r('....<warning>Now.trying.to.do
62020 77 6e 6c 6f 61 64 20 66 72 6f 6d 20 27 20 2e 20 24 73 6f 75 72 63 65 20 2e 20 27 3c 2f 77 61 72 wnload.from.'...$source...'</war
62040 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 6e 73 74 61 6c 6c 61 ning>');.}.$package->setInstalla
62060 74 69 6f 6e 53 6f 75 72 63 65 28 24 73 6f 75 72 63 65 29 3b 0a 74 72 79 20 7b 0a 24 64 6f 77 6e tionSource($source);.try.{.$down
62080 6c 6f 61 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 46 6f 72 loader.=.$this->getDownloaderFor
620a0 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 InstalledPackage($package);.if.(
620c0 24 64 6f 77 6e 6c 6f 61 64 65 72 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 64 6f 77 6e $downloader).{.$downloader->down
620e0 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 7d 0a 62 72 load($package,.$targetDir);.}.br
62100 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 eak;.}.catch.(\RuntimeException.
62120 24 65 29 20 7b 0a 69 66 20 28 24 69 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 73 6f 75 72 63 65 73 29 $e).{.if.($i.===.count($sources)
62140 20 2d 20 31 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e .-.1).{.throw.$e;.}..$this->io->
62160 77 72 69 74 65 45 72 72 6f 72 28 0a 27 20 20 20 20 3c 77 61 72 6e 69 6e 67 3e 46 61 69 6c 65 64 writeError(.'....<warning>Failed
62180 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 27 2e 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 .to.download.'..$package->getPre
621a0 74 74 79 4e 61 6d 65 28 29 2e 0a 27 20 66 72 6f 6d 20 27 20 2e 20 24 73 6f 75 72 63 65 20 2e 20 ttyName()..'.from.'...$source...
621c0 27 3a 20 27 2e 0a 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 77 61 72 6e 69 6e ':.'..$e->getMessage().'</warnin
621e0 67 3e 27 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 g>'.);.}.}.}...........public.fu
62200 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 nction.update(PackageInterface.$
62220 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 initial,.PackageInterface.$targe
62240 74 2c 20 24 74 61 72 67 65 74 44 69 72 29 0a 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 20 3d 20 24 t,.$targetDir).{.$downloader.=.$
62260 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c 6f 61 64 65 72 46 6f 72 49 6e 73 74 61 6c 6c 65 64 50 this->getDownloaderForInstalledP
62280 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 3b 0a 69 66 20 28 21 24 64 6f 77 6e 6c 6f 61 64 ackage($initial);.if.(!$download
622a0 65 72 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f er).{.return;.}..$installationSo
622c0 75 72 63 65 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e urce.=.$initial->getInstallation
622e0 53 6f 75 72 63 65 28 29 3b 0a 0a 69 66 20 28 27 64 69 73 74 27 20 3d 3d 3d 20 24 69 6e 73 74 61 Source();..if.('dist'.===.$insta
62300 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 20 7b 0a 24 69 6e 69 74 69 61 6c 54 79 70 65 20 3d 20 llationSource).{.$initialType.=.
62320 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 24 74 61 72 67 65 74 $initial->getDistType();.$target
62340 54 79 70 65 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 7d Type.=.$target->getDistType();.}
62360 20 65 6c 73 65 20 7b 0a 24 69 6e 69 74 69 61 6c 54 79 70 65 20 3d 20 24 69 6e 69 74 69 61 6c 2d .else.{.$initialType.=.$initial-
62380 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a 24 74 61 72 67 65 74 54 79 70 65 20 3d 20 >getSourceType();.$targetType.=.
623a0 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a 7d 0a 0a 0a 20 69 $target->getSourceType();.}....i
623c0 66 20 28 24 74 61 72 67 65 74 2d 3e 69 73 44 65 76 28 29 20 26 26 20 27 64 69 73 74 27 20 3d 3d f.($target->isDev().&&.'dist'.==
623e0 3d 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 20 7b 0a 24 64 6f 77 6e 6c 6f =.$installationSource).{.$downlo
62400 61 64 65 72 2d 3e 72 65 6d 6f 76 65 28 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 67 65 74 44 69 ader->remove($initial,.$targetDi
62420 72 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 74 61 72 67 65 74 2c 20 24 74 61 r);.$this->download($target,.$ta
62440 72 67 65 74 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 69 74 69 rgetDir);..return;.}..if.($initi
62460 61 6c 54 79 70 65 20 3d 3d 3d 20 24 74 61 72 67 65 74 54 79 70 65 29 20 7b 0a 24 74 61 72 67 65 alType.===.$targetType).{.$targe
62480 74 2d 3e 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 69 6e 73 74 61 6c t->setInstallationSource($instal
624a0 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 3b 0a 74 72 79 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 lationSource);.try.{.$downloader
624c0 2d 3e 75 70 64 61 74 65 28 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 67 65 74 2c 20 24 74 61 72 ->update($initial,.$target,.$tar
624e0 67 65 74 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 getDir);..return;.}.catch.(\Runt
62500 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 imeException.$e).{.if.(!$this->i
62520 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a o->isInteractive()).{.throw.$e;.
62540 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e }.$this->io->writeError('<error>
62560 20 20 20 20 55 70 64 61 74 65 20 66 61 69 6c 65 64 20 28 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 ....Update.failed.('.$e->getMess
62580 61 67 65 28 29 2e 27 29 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e age().')</error>');.if.(!$this->
625a0 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 27 20 20 20 20 57 6f 75 6c 64 20 79 io->askConfirmation('....Would.y
625c0 6f 75 20 6c 69 6b 65 20 74 6f 20 74 72 79 20 72 65 69 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65 20 ou.like.to.try.reinstalling.the.
625e0 70 61 63 6b 61 67 65 20 69 6e 73 74 65 61 64 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 79 65 73 3c 2f 63 package.instead.[<comment>yes</c
62600 6f 6d 6d 65 6e 74 3e 5d 3f 20 27 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a omment>]?.',.true)).{.throw.$e;.
62620 7d 0a 7d 0a 7d 0a 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 2d 3e 72 65 6d 6f 76 65 28 24 69 6e 69 74 }.}.}..$downloader->remove($init
62640 69 61 6c 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 ial,.$targetDir);.$this->downloa
62660 64 28 24 74 61 72 67 65 74 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 27 73 6f 75 72 63 65 27 20 d($target,.$targetDir,.'source'.
62680 3d 3d 3d 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 29 3b 0a 7d 0a 0a 0a 0a 0a ===.$installationSource);.}.....
626a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 50 61 63 6b 61 67 ...public.function.remove(Packag
626c0 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 29 eInterface.$package,.$targetDir)
626e0 0a 7b 0a 24 64 6f 77 6e 6c 6f 61 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 6f 77 6e 6c .{.$downloader.=.$this->getDownl
62700 6f 61 64 65 72 46 6f 72 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 oaderForInstalledPackage($packag
62720 65 29 3b 0a 69 66 20 28 24 64 6f 77 6e 6c 6f 61 64 65 72 29 20 7b 0a 24 64 6f 77 6e 6c 6f 61 64 e);.if.($downloader).{.$download
62740 65 72 2d 3e 72 65 6d 6f 76 65 28 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 29 er->remove($package,.$targetDir)
62760 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e ;.}.}.........protected.function
62780 20 72 65 73 6f 6c 76 65 50 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 50 72 65 66 65 72 65 6e 63 65 .resolvePackageInstallPreference
627a0 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 66 6f (PackageInterface.$package).{.fo
627c0 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 50 72 65 66 65 72 65 6e 63 65 73 reach.($this->packagePreferences
627e0 20 61 73 20 24 70 61 74 74 65 72 6e 20 3d 3e 20 24 70 72 65 66 65 72 65 6e 63 65 29 20 7b 0a 24 .as.$pattern.=>.$preference).{.$
62800 70 61 74 74 65 72 6e 20 3d 20 27 7b 5e 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2a 27 pattern.=.'{^'.str_replace('\\*'
62820 2c 20 27 2e 2a 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 70 61 74 74 65 72 6e 29 29 2e 27 24 ,.'.*',.preg_quote($pattern)).'$
62840 7d 69 27 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 74 74 65 72 6e 2c 20 24 70 }i';.if.(preg_match($pattern,.$p
62860 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 20 7b 0a 69 66 20 28 27 64 69 73 74 27 ackage->getName())).{.if.('dist'
62880 20 3d 3d 3d 20 24 70 72 65 66 65 72 65 6e 63 65 20 7c 7c 20 28 21 24 70 61 63 6b 61 67 65 2d 3e .===.$preference.||.(!$package->
628a0 69 73 44 65 76 28 29 20 26 26 20 27 61 75 74 6f 27 20 3d 3d 3d 20 24 70 72 65 66 65 72 65 6e 63 isDev().&&.'auto'.===.$preferenc
628c0 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 64 69 73 74 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 e)).{.return.'dist';.}..return.'
628e0 73 6f 75 72 63 65 27 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 69 source';.}.}..return.$package->i
62900 73 44 65 76 28 29 20 3f 20 27 73 6f 75 72 63 65 27 20 3a 20 27 64 69 73 74 27 3b 0a 7d 0a 7d 0a sDev().?.'source'.:.'dist';.}.}.
62920 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
62940 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 ser\Downloader;..use.Composer\Pa
62960 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 ckage\PackageInterface;........i
62980 6e 74 65 72 66 61 63 65 20 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a nterface.DownloaderInterface.{..
629a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 61 74 ....public.function.getInstallat
629c0 69 6f 6e 53 6f 75 72 63 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ionSource();........public.funct
629e0 69 6f 6e 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 ion.download(PackageInterface.$p
62a00 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ackage,.$path);.........public.f
62a20 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 unction.update(PackageInterface.
62a40 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 $initial,.PackageInterface.$targ
62a60 65 74 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 et,.$path);........public.functi
62a80 6f 6e 20 72 65 6d 6f 76 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b on.remove(PackageInterface.$pack
62aa0 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 age,.$path);........public.funct
62ac0 69 6f 6e 20 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 24 6f 75 74 70 75 74 50 72 6f ion.setOutputProgress($outputPro
62ae0 67 72 65 73 73 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 gress);.}.<?php............names
62b00 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 pace.Composer\Downloader;..use.C
62b20 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 omposer\Package\PackageInterface
62b40 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 44 76 63 73 44 6f 77 6e 6c 6f 61 64 65 72 ;.......interface.DvcsDownloader
62b60 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 Interface.{........public.functi
62b80 6f 6e 20 67 65 74 55 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 on.getUnpushedChanges(PackageInt
62ba0 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 3c 3f 70 68 70 erface.$package,.$path);.}.<?php
62bc0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 ............namespace.Composer\D
62be0 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b ownloader;..use.Composer\Config;
62c00 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 .use.Composer\Cache;.use.Compose
62c20 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 r\Factory;.use.Composer\IO\IOInt
62c40 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 4e 75 6c 6c 49 4f 3b 0a erface;.use.Composer\IO\NullIO;.
62c60 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 61 72 65 72 5c 43 6f use.Composer\Package\Comparer\Co
62c80 6d 70 61 72 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 mparer;.use.Composer\Package\Pac
62ca0 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b kageInterface;.use.Composer\Pack
62cc0 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 age\Version\VersionParser;.use.C
62ce0 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 omposer\Plugin\PluginEvents;.use
62d00 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 .Composer\Plugin\PreFileDownload
62d20 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 Event;.use.Composer\EventDispatc
62d40 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 her\EventDispatcher;.use.Compose
62d60 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c r\Util\Filesystem;.use.Composer\
62d80 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f Util\RemoteFilesystem;.use.Compo
62da0 73 65 72 5c 55 74 69 6c 5c 55 72 6c 20 61 73 20 55 72 6c 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a ser\Util\Url.as.UrlUtil;........
62dc0 0a 0a 63 6c 61 73 73 20 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 ..class.FileDownloader.implement
62de0 73 20 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 2c 20 43 68 61 6e 67 65 52 65 70 s.DownloaderInterface,.ChangeRep
62e00 6f 72 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 ortInterface.{.protected.$io;.pr
62e20 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 66 73 3b otected.$config;.protected.$rfs;
62e40 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 70 72 6f 74 65 63 74 65 .protected.$filesystem;.protecte
62e60 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 75 74 70 75 74 50 72 6f 67 72 d.$cache;.protected.$outputProgr
62e80 65 73 73 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 6c 61 73 74 43 61 63 68 65 57 72 ess.=.true;.private.$lastCacheWr
62ea0 69 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 65 76 65 6e 74 44 69 ites.=.array();.private.$eventDi
62ec0 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 spatcher;............public.func
62ee0 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f tion.__construct(IOInterface.$io
62f00 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 ,.Config.$config,.EventDispatche
62f20 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 43 61 63 68 65 r.$eventDispatcher.=.null,.Cache
62f40 20 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d .$cache.=.null,.RemoteFilesystem
62f60 20 24 72 66 73 20 3d 20 6e 75 6c 6c 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 .$rfs.=.null,.Filesystem.$filesy
62f80 73 74 65 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a stem.=.null).{.$this->io.=.$io;.
62fa0 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e $this->config.=.$config;.$this->
62fc0 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 eventDispatcher.=.$eventDispatch
62fe0 65 72 3b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 20 3f 3a 20 46 61 63 74 6f 72 79 er;.$this->rfs.=.$rfs.?:.Factory
63000 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e ::createRemoteFilesystem($this->
63020 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 io,.$config);.$this->filesystem.
63040 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 =.$filesystem.?:.new.Filesystem(
63060 29 3b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 24 63 61 63 68 65 3b 0a 0a 69 66 20 28 24 );.$this->cache.=.$cache;..if.($
63080 74 68 69 73 2d 3e 63 61 63 68 65 20 26 26 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 67 63 49 this->cache.&&.$this->cache->gcI
630a0 73 4e 65 63 65 73 73 61 72 79 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 67 63 sNecessary()).{.$this->cache->gc
630c0 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 74 74 6c 27 29 ($config->get('cache-files-ttl')
630e0 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 ,.$config->get('cache-files-maxs
63100 69 7a 65 27 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ize'));.}.}.....public.function.
63120 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e getInstallationSource().{.return
63140 20 27 64 69 73 74 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 .'dist';.}.....public.function.d
63160 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 ownload(PackageInterface.$packag
63180 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 e,.$path,.$output.=.true).{.if.(
631a0 21 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 29 20 7b 0a 74 68 72 6f 77 !$package->getDistUrl()).{.throw
631c0 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 .new.\InvalidArgumentException('
631e0 54 68 65 20 67 69 76 65 6e 20 70 61 63 6b 61 67 65 20 69 73 20 6d 69 73 73 69 6e 67 20 75 72 6c The.given.package.is.missing.url
63200 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 .information');.}..if.($output).
63220 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 2d 20 49 6e 73 {.$this->io->writeError("..-.Ins
63240 74 61 6c 6c 69 6e 67 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e talling.<info>"...$package->getN
63260 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 ame()..."</info>.(<comment>"...$
63280 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 package->getFullPrettyVersion().
632a0 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 22 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 75 .."</comment>):.",.false);.}..$u
632c0 72 6c 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 73 28 29 3b 0a 77 rls.=.$package->getDistUrls();.w
632e0 68 69 6c 65 20 28 24 75 72 6c 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 75 72 6c 73 29 29 hile.($url.=.array_shift($urls))
63300 20 7b 0a 74 72 79 20 7b 0a 24 66 69 6c 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 64 6f 44 6f .{.try.{.$fileName.=.$this->doDo
63320 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 62 wnload($package,.$path,.$url);.b
63340 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a reak;.}.catch.(\Exception.$e).{.
63360 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 74 68 69 if.($this->io->isDebug()).{.$thi
63380 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f s->io->writeError('');.$this->io
633a0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 46 61 69 6c 65 64 3a 20 5b 27 2e 67 65 74 5f 63 6c 61 ->writeError('Failed:.['.get_cla
633c0 73 73 28 24 65 29 2e 27 5d 20 27 2e 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2e 27 3a 20 27 2e 24 ss($e).'].'.$e->getCode().':.'.$
633e0 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 63 6f 75 6e e->getMessage());.}.elseif.(coun
63400 74 28 24 75 72 6c 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f t($urls)).{.$this->io->writeErro
63420 72 28 27 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 46 r('');.$this->io->writeError('.F
63440 61 69 6c 65 64 2c 20 74 72 79 69 6e 67 20 74 68 65 20 6e 65 78 74 20 55 52 4c 20 28 27 2e 24 65 ailed,.trying.the.next.URL.('.$e
63460 2d 3e 67 65 74 43 6f 64 65 28 29 2e 27 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 ->getCode().':.'.$e->getMessage(
63480 29 2e 27 29 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 63 6f 75 6e 74 28 24 75 72 ).')',.false);.}..if.(!count($ur
634a0 6c 73 29 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6f 75 74 ls)).{.throw.$e;.}.}.}..if.($out
634c0 70 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 put).{.$this->io->writeError('')
634e0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 4e 61 6d 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 ;.}..return.$fileName;.}..protec
63500 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 ted.function.doDownload(PackageI
63520 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a nterface.$package,.$path,.$url).
63540 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6d 70 74 79 44 69 72 65 63 74 {.$this->filesystem->emptyDirect
63560 6f 72 79 28 24 70 61 74 68 29 3b 0a 0a 24 66 69 6c 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e ory($path);..$fileName.=.$this->
63580 67 65 74 46 69 6c 65 4e 61 6d 65 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 0a 24 getFileName($package,.$path);..$
635a0 70 72 6f 63 65 73 73 65 64 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 55 72 6c processedUrl.=.$this->processUrl
635c0 28 24 70 61 63 6b 61 67 65 2c 20 24 75 72 6c 29 3b 0a 24 6f 72 69 67 69 6e 20 3d 20 52 65 6d 6f ($package,.$url);.$origin.=.Remo
635e0 74 65 46 69 6c 65 73 79 73 74 65 6d 3a 3a 67 65 74 4f 72 69 67 69 6e 28 24 70 72 6f 63 65 73 73 teFilesystem::getOrigin($process
63600 65 64 55 72 6c 29 3b 0a 0a 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 20 3d edUrl);..$preFileDownloadEvent.=
63620 20 6e 65 77 20 50 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 28 50 6c 75 67 69 6e .new.PreFileDownloadEvent(Plugin
63640 45 76 65 6e 74 73 3a 3a 50 52 45 5f 46 49 4c 45 5f 44 4f 57 4e 4c 4f 41 44 2c 20 24 74 68 69 73 Events::PRE_FILE_DOWNLOAD,.$this
63660 2d 3e 72 66 73 2c 20 24 70 72 6f 63 65 73 73 65 64 55 72 6c 29 3b 0a 69 66 20 28 24 74 68 69 73 ->rfs,.$processedUrl);.if.($this
63680 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e ->eventDispatcher).{.$this->even
636a0 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 28 24 70 72 65 46 69 6c 65 44 6f tDispatcher->dispatch($preFileDo
636c0 77 6e 6c 6f 61 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 72 65 46 69 6c 65 wnloadEvent->getName(),.$preFile
636e0 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 29 3b 0a 7d 0a 24 72 66 73 20 3d 20 24 70 72 65 46 69 6c DownloadEvent);.}.$rfs.=.$preFil
63700 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2d 3e 67 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 eDownloadEvent->getRemoteFilesys
63720 74 65 6d 28 29 3b 0a 0a 74 72 79 20 7b 0a 24 63 68 65 63 6b 73 75 6d 20 3d 20 24 70 61 63 6b 61 tem();..try.{.$checksum.=.$packa
63740 67 65 2d 3e 67 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 3b 0a 24 63 61 63 68 ge->getDistSha1Checksum();.$cach
63760 65 4b 65 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 61 63 68 65 4b 65 79 28 24 70 61 63 6b 61 eKey.=.$this->getCacheKey($packa
63780 67 65 2c 20 24 70 72 6f 63 65 73 73 65 64 55 72 6c 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 ge,.$processedUrl);....if.($this
637a0 2d 3e 63 61 63 68 65 20 26 26 20 28 21 24 63 68 65 63 6b 73 75 6d 20 7c 7c 20 24 63 68 65 63 6b ->cache.&&.(!$checksum.||.$check
637c0 73 75 6d 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 73 68 61 31 28 24 63 61 63 68 sum.===.$this->cache->sha1($cach
637e0 65 4b 65 79 29 29 20 26 26 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 63 6f 70 79 54 6f 28 24 eKey)).&&.$this->cache->copyTo($
63800 63 61 63 68 65 4b 65 79 2c 20 24 66 69 6c 65 4e 61 6d 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 cacheKey,.$fileName)).{.$this->i
63820 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 20 66 72 6f 6d 20 63 61 63 68 o->writeError('Loading.from.cach
63840 65 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 21 24 74 68 69 e',.false);.}.else.{...if.(!$thi
63860 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e s->outputProgress).{.$this->io->
63880 77 72 69 74 65 45 72 72 6f 72 28 27 44 6f 77 6e 6c 6f 61 64 69 6e 67 27 2c 20 66 61 6c 73 65 29 writeError('Downloading',.false)
638a0 3b 0a 7d 0a 0a 0a 20 24 72 65 74 72 69 65 73 20 3d 20 33 3b 0a 77 68 69 6c 65 20 28 24 72 65 74 ;.}....$retries.=.3;.while.($ret
638c0 72 69 65 73 2d 2d 29 20 7b 0a 74 72 79 20 7b 0a 24 72 66 73 2d 3e 63 6f 70 79 28 24 6f 72 69 67 ries--).{.try.{.$rfs->copy($orig
638e0 69 6e 2c 20 24 70 72 6f 63 65 73 73 65 64 55 72 6c 2c 20 24 66 69 6c 65 4e 61 6d 65 2c 20 24 74 in,.$processedUrl,.$fileName,.$t
63900 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 his->outputProgress,.$package->g
63920 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 29 3b 0a 62 72 65 61 6b 3b 0a 7d 20 etTransportOptions());.break;.}.
63940 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a catch.(TransportException.$e).{.
63960 0a 20 69 66 20 28 28 30 20 21 3d 3d 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 26 26 20 21 69 ..if.((0.!==.$e->getCode().&&.!i
63980 6e 5f 61 72 72 61 79 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 20 61 72 72 61 79 28 35 30 30 n_array($e->getCode(),.array(500
639a0 2c 20 35 30 32 2c 20 35 30 33 2c 20 35 30 34 29 29 29 20 7c 7c 20 21 24 72 65 74 72 69 65 73 29 ,.502,.503,.504))).||.!$retries)
639c0 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 .{.throw.$e;.}.$this->io->writeE
639e0 72 72 6f 72 28 27 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 rror('');.$this->io->writeError(
63a00 27 20 20 20 20 44 6f 77 6e 6c 6f 61 64 20 66 61 69 6c 65 64 2c 20 72 65 74 72 79 69 6e 67 2e 2e '....Download.failed,.retrying..
63a20 2e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b .',.true,.IOInterface::VERBOSE);
63a40 0a 75 73 6c 65 65 70 28 35 30 30 30 30 30 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 .usleep(500000);.}.}..if.(!$this
63a60 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 ->outputProgress).{.$this->io->w
63a80 72 69 74 65 45 72 72 6f 72 28 27 20 28 3c 63 6f 6d 6d 65 6e 74 3e 31 30 30 25 3c 2f 63 6f 6d 6d riteError('.(<comment>100%</comm
63aa0 65 6e 74 3e 29 27 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 ent>)',.false);.}..if.($this->ca
63ac0 63 68 65 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 43 61 63 68 65 57 72 69 74 65 73 5b 24 70 che).{.$this->lastCacheWrites[$p
63ae0 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 63 61 63 68 65 4b 65 79 3b 0a ackage->getName()].=.$cacheKey;.
63b00 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 63 6f 70 79 46 72 6f 6d 28 24 63 61 63 68 65 4b 65 79 $this->cache->copyFrom($cacheKey
63b20 2c 20 24 66 69 6c 65 4e 61 6d 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 ,.$fileName);.}.}..if.(!file_exi
63b40 73 74 73 28 24 66 69 6c 65 4e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 sts($fileName)).{.throw.new.\Une
63b60 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 24 75 72 6c 2e 27 20 63 6f 75 xpectedValueException($url.'.cou
63b80 6c 64 20 6e 6f 74 20 62 65 20 73 61 76 65 64 20 74 6f 20 27 2e 24 66 69 6c 65 4e 61 6d 65 2e 27 ld.not.be.saved.to.'.$fileName.'
63ba0 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 27 0a 2e 27 20 64 69 72 65 63 74 6f 72 79 20 69 73 ,.make.sure.the'..'.directory.is
63bc0 20 77 72 69 74 61 62 6c 65 20 61 6e 64 20 79 6f 75 20 68 61 76 65 20 69 6e 74 65 72 6e 65 74 20 .writable.and.you.have.internet.
63be0 63 6f 6e 6e 65 63 74 69 76 69 74 79 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 63 68 65 63 6b 73 75 6d connectivity');.}..if.($checksum
63c00 20 26 26 20 68 61 73 68 5f 66 69 6c 65 28 27 73 68 61 31 27 2c 20 24 66 69 6c 65 4e 61 6d 65 29 .&&.hash_file('sha1',.$fileName)
63c20 20 21 3d 3d 20 24 63 68 65 63 6b 73 75 6d 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 .!==.$checksum).{.throw.new.\Une
63c40 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 63 68 65 63 6b xpectedValueException('The.check
63c60 73 75 6d 20 76 65 72 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 6c 65 20 66 61 69 sum.verification.of.the.file.fai
63c80 6c 65 64 20 28 64 6f 77 6e 6c 6f 61 64 65 64 20 66 72 6f 6d 20 27 2e 24 75 72 6c 2e 27 29 27 29 led.(downloaded.from.'.$url.')')
63ca0 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 ;.}.}.catch.(\Exception.$e).{...
63cc0 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f $this->filesystem->removeDirecto
63ce0 72 79 28 24 70 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 63 6c 65 61 72 4c 61 73 74 43 61 63 68 65 ry($path);.$this->clearLastCache
63d00 57 72 69 74 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 Write($package);.throw.$e;.}..re
63d20 74 75 72 6e 20 24 66 69 6c 65 4e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e turn.$fileName;.}.....public.fun
63d40 63 74 69 6f 6e 20 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 24 6f 75 74 70 75 74 50 ction.setOutputProgress($outputP
63d60 72 6f 67 72 65 73 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 rogress).{.$this->outputProgress
63d80 20 3d 20 24 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 .=.$outputProgress;..return.$thi
63da0 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 4c 61 s;.}..protected.function.clearLa
63dc0 73 74 43 61 63 68 65 57 72 69 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 stCacheWrite(PackageInterface.$p
63de0 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 68 65 20 26 26 20 69 73 ackage).{.if.($this->cache.&&.is
63e00 73 65 74 28 24 74 68 69 73 2d 3e 6c 61 73 74 43 61 63 68 65 57 72 69 74 65 73 5b 24 70 61 63 6b set($this->lastCacheWrites[$pack
63e20 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 age->getName()])).{.$this->cache
63e40 2d 3e 72 65 6d 6f 76 65 28 24 74 68 69 73 2d 3e 6c 61 73 74 43 61 63 68 65 57 72 69 74 65 73 5b ->remove($this->lastCacheWrites[
63e60 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 3b 0a 75 6e 73 65 74 28 24 74 68 $package->getName()]);.unset($th
63e80 69 73 2d 3e 6c 61 73 74 43 61 63 68 65 57 72 69 74 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 is->lastCacheWrites[$package->ge
63ea0 74 4e 61 6d 65 28 29 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 tName()]);.}.}.....public.functi
63ec0 6f 6e 20 75 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 on.update(PackageInterface.$init
63ee0 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 ial,.PackageInterface.$target,.$
63f00 70 61 74 68 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 4e 61 6d 65 path).{.$name.=.$target->getName
63f20 28 29 3b 0a 24 66 72 6f 6d 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 46 75 6c 6c 50 72 65 ();.$from.=.$initial->getFullPre
63f40 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 74 6f 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 ttyVersion();.$to.=.$target->get
63f60 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 24 61 63 74 69 6f 6e 4e 61 6d FullPrettyVersion();..$actionNam
63f80 65 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 69 73 55 70 67 72 61 64 65 28 24 69 6e e.=.VersionParser::isUpgrade($in
63fa0 69 74 69 61 6c 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 74 61 72 67 65 74 2d 3e 67 65 itial->getVersion(),.$target->ge
63fc0 74 56 65 72 73 69 6f 6e 28 29 29 20 3f 20 27 55 70 64 61 74 69 6e 67 27 20 3a 20 27 44 6f 77 6e tVersion()).?.'Updating'.:.'Down
63fe0 67 72 61 64 69 6e 67 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 grading';.$this->io->writeError(
64000 22 20 20 2d 20 22 20 2e 20 24 61 63 74 69 6f 6e 4e 61 6d 65 20 2e 20 22 20 3c 69 6e 66 6f 3e 22 "..-."...$actionName...".<info>"
64020 20 2e 20 24 6e 61 6d 65 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 ...$name..."</info>.(<comment>".
64040 2e 20 24 66 72 6f 6d 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 3d 3e 20 3c 63 6f 6d 6d 65 6e ..$from..."</comment>.=>.<commen
64060 74 3e 22 20 2e 20 24 74 6f 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 22 2c 20 66 61 6c t>"...$to..."</comment>):.",.fal
64080 73 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 28 24 69 6e 69 74 69 61 6c 2c 20 24 70 se);..$this->remove($initial,.$p
640a0 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 74 61 ath,.false);.$this->download($ta
640c0 72 67 65 74 2c 20 24 70 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d rget,.$path,.false);..$this->io-
640e0 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 >writeError('');.}.....public.fu
64100 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 nction.remove(PackageInterface.$
64120 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a package,.$path,.$output.=.true).
64140 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 {.if.($output).{.$this->io->writ
64160 65 45 72 72 6f 72 28 22 20 20 2d 20 52 65 6d 6f 76 69 6e 67 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 eError("..-.Removing.<info>"...$
64180 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c package->getName()..."</info>.(<
641a0 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 comment>"...$package->getFullPre
641c0 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 7d ttyVersion()..."</comment>)");.}
641e0 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 .if.(!$this->filesystem->removeD
64200 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 irectory($path)).{.throw.new.\Ru
64220 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 63 6f 6d 70 6c 65 ntimeException('Could.not.comple
64240 74 65 6c 79 20 64 65 6c 65 74 65 20 27 2e 24 70 61 74 68 2e 27 2c 20 61 62 6f 72 74 69 6e 67 2e tely.delete.'.$path.',.aborting.
64260 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 ');.}.}.........protected.functi
64280 6f 6e 20 67 65 74 46 69 6c 65 4e 61 6d 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 on.getFileName(PackageInterface.
642a0 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 2e $package,.$path).{.return.$path.
642c0 27 2f 27 2e 70 61 74 68 69 6e 66 6f 28 70 61 72 73 65 5f 75 72 6c 28 24 70 61 63 6b 61 67 65 2d '/'.pathinfo(parse_url($package-
642e0 3e 67 65 74 44 69 73 74 55 72 6c 28 29 2c 20 50 48 50 5f 55 52 4c 5f 50 41 54 48 29 2c 20 50 41 >getDistUrl(),.PHP_URL_PATH),.PA
64300 54 48 49 4e 46 4f 5f 42 41 53 45 4e 41 4d 45 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f THINFO_BASENAME);.}..........pro
64320 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 55 72 6c 28 50 61 63 6b 61 tected.function.processUrl(Packa
64340 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 75 72 6c 29 0a 7b 0a 69 66 geInterface.$package,.$url).{.if
64360 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 .(!extension_loaded('openssl').&
64380 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 75 72 6c 2c 20 27 68 74 74 70 73 3a 27 29 29 20 &.0.===.strpos($url,.'https:')).
643a0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 {.throw.new.\RuntimeException('Y
643c0 6f 75 20 6d 75 73 74 20 65 6e 61 62 6c 65 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e ou.must.enable.the.openssl.exten
643e0 73 69 6f 6e 20 74 6f 20 64 6f 77 6e 6c 6f 61 64 20 66 69 6c 65 73 20 76 69 61 20 68 74 74 70 73 sion.to.download.files.via.https
64400 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 ');.}..if.($package->getDistRefe
64420 72 65 6e 63 65 28 29 29 20 7b 0a 24 75 72 6c 20 3d 20 55 72 6c 55 74 69 6c 3a 3a 75 70 64 61 74 rence()).{.$url.=.UrlUtil::updat
64440 65 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 75 eDistReference($this->config,.$u
64460 72 6c 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 rl,.$package->getDistReference()
64480 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 6c 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 );.}..return.$url;.}..private.fu
644a0 6e 63 74 69 6f 6e 20 67 65 74 43 61 63 68 65 4b 65 79 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 nction.getCacheKey(PackageInterf
644c0 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 72 6f 63 65 73 73 65 64 55 72 6c 29 0a 7b 0a 0a ace.$package,.$processedUrl).{..
644e0 20 0a 20 0a 20 0a 20 24 63 61 63 68 65 4b 65 79 20 3d 20 73 68 61 31 28 24 70 72 6f 63 65 73 73 .......$cacheKey.=.sha1($process
64500 65 64 55 72 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d edUrl);..return.$package->getNam
64520 65 28 29 2e 27 2f 27 2e 24 63 61 63 68 65 4b 65 79 2e 27 2e 27 2e 24 70 61 63 6b 61 67 65 2d 3e e().'/'.$cacheKey.'.'.$package->
64540 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e getDistType();.}......public.fun
64560 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 ction.getLocalChanges(PackageInt
64580 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 29 0a 7b 0a 24 erface.$package,.$targetDir).{.$
645a0 70 72 65 76 49 4f 20 3d 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 24 70 72 65 76 50 72 6f 67 72 65 73 prevIO.=.$this->io;.$prevProgres
645c0 73 20 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 3b 0a 0a 24 74 68 69 s.=.$this->outputProgress;..$thi
645e0 73 2d 3e 69 6f 20 3d 20 6e 65 77 20 4e 75 6c 6c 49 4f 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6c s->io.=.new.NullIO;.$this->io->l
64600 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b oadConfiguration($this->config);
64620 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 20 3d 20 66 61 6c 73 65 3b 0a .$this->outputProgress.=.false;.
64640 24 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 $e.=.null;..try.{.$this->downloa
64660 64 28 24 70 61 63 6b 61 67 65 2c 20 24 74 61 72 67 65 74 44 69 72 2e 27 5f 63 6f 6d 70 61 72 65 d($package,.$targetDir.'_compare
64680 27 2c 20 66 61 6c 73 65 29 3b 0a 0a 24 63 6f 6d 70 61 72 65 72 20 3d 20 6e 65 77 20 43 6f 6d 70 ',.false);..$comparer.=.new.Comp
646a0 61 72 65 72 28 29 3b 0a 24 63 6f 6d 70 61 72 65 72 2d 3e 73 65 74 53 6f 75 72 63 65 28 24 74 61 arer();.$comparer->setSource($ta
646c0 72 67 65 74 44 69 72 2e 27 5f 63 6f 6d 70 61 72 65 27 29 3b 0a 24 63 6f 6d 70 61 72 65 72 2d 3e rgetDir.'_compare');.$comparer->
646e0 73 65 74 55 70 64 61 74 65 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 24 63 6f 6d 70 61 72 65 72 setUpdate($targetDir);.$comparer
64700 2d 3e 64 6f 43 6f 6d 70 61 72 65 28 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 24 63 6f 6d 70 61 72 ->doCompare();.$output.=.$compar
64720 65 72 2d 3e 67 65 74 43 68 61 6e 67 65 64 28 74 72 75 65 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 er->getChanged(true,.true);.$thi
64740 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 s->filesystem->removeDirectory($
64760 74 61 72 67 65 74 44 69 72 2e 27 5f 63 6f 6d 70 61 72 65 27 29 3b 0a 7d 20 63 61 74 63 68 20 28 targetDir.'_compare');.}.catch.(
64780 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 \Exception.$e).{.}..$this->io.=.
647a0 24 70 72 65 76 49 4f 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 50 72 6f 67 72 65 73 73 20 3d $prevIO;.$this->outputProgress.=
647c0 20 24 70 72 65 76 50 72 6f 67 72 65 73 73 3b 0a 0a 69 66 20 28 24 65 29 20 7b 0a 74 68 72 6f 77 .$prevProgress;..if.($e).{.throw
647e0 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a .$e;.}..return.trim($output);.}.
64800 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
64820 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 poser\Downloader;.......class.Fi
64840 6c 65 73 79 73 74 65 6d 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 45 78 63 65 70 lesystemException.extends.\Excep
64860 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 tion.{.public.function.__constru
64880 63 74 28 24 6d 65 73 73 61 67 65 20 3d 20 27 27 2c 20 24 63 6f 64 65 20 3d 20 30 2c 20 5c 45 78 ct($message.=.'',.$code.=.0,.\Ex
648a0 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 ception.$previous.=.null).{.pare
648c0 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 22 46 69 6c 65 73 79 73 74 65 6d 20 65 78 63 65 nt::__construct("Filesystem.exce
648e0 70 74 69 6f 6e 3a 20 5c 6e 22 2e 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 70 72 65 ption:.\n".$message,.$code,.$pre
64900 76 69 6f 75 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d vious);.}.}.<?php............nam
64920 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 espace.Composer\Downloader;..use
64940 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 .Composer\Package\PackageInterfa
64960 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 ce;.use.Composer\Util\ProcessExe
64980 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 6f 73 73 69 6c 44 6f 77 6e 6c 6f 61 64 65 cutor;.....class.FossilDownloade
649a0 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 70 75 62 r.extends.VcsDownloader.{....pub
649c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 lic.function.doDownload(PackageI
649e0 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a nterface.$package,.$path,.$url).
64a00 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 {...$this->config->prohibitUrlBy
64a20 43 6f 6e 66 69 67 28 24 75 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 24 75 72 6c 20 3d Config($url,.$this->io);..$url.=
64a40 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 3b 0a .ProcessExecutor::escape($url);.
64a60 24 72 65 66 20 3d 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 $ref.=.ProcessExecutor::escape($
64a80 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a package->getSourceReference());.
64aa0 24 72 65 70 6f 46 69 6c 65 20 3d 20 24 70 61 74 68 20 2e 20 27 2e 66 6f 73 73 69 6c 27 3b 0a 24 $repoFile.=.$path...'.fossil';.$
64ac0 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 43 6c 6f 6e 69 6e 67 20 22 2e this->io->writeError("Cloning.".
64ae0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 3b $package->getSourceReference());
64b00 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 63 6c 6f 6e .$command.=.sprintf('fossil.clon
64b20 65 20 25 73 20 25 73 27 2c 20 24 75 72 6c 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a e.%s.%s',.$url,.ProcessExecutor:
64b40 3a 65 73 63 61 70 65 28 24 72 65 70 6f 46 69 6c 65 29 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 :escape($repoFile));.if.(0.!==.$
64b60 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c this->process->execute($command,
64b80 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 .$ignoredOutput)).{.throw.new.\R
64ba0 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 untimeException('Failed.to.execu
64bc0 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 te.'...$command..."\n\n"...$this
64be0 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a ->process->getErrorOutput());.}.
64c00 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 6f 70 65 6e 20 $command.=.sprintf('fossil.open.
64c20 25 73 20 2d 2d 6e 65 73 74 65 64 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 %s.--nested',.ProcessExecutor::e
64c40 73 63 61 70 65 28 24 72 65 70 6f 46 69 6c 65 29 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 scape($repoFile));.if.(0.!==.$th
64c60 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 is->process->execute($command,.$
64c80 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 29 ignoredOutput,.realpath($path)))
64ca0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 .{.throw.new.\RuntimeException('
64cc0 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e Failed.to.execute.'...$command..
64ce0 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 ."\n\n"...$this->process->getErr
64d00 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 orOutput());.}.$command.=.sprint
64d20 66 28 27 66 6f 73 73 69 6c 20 75 70 64 61 74 65 20 25 73 27 2c 20 24 72 65 66 29 3b 0a 69 66 20 f('fossil.update.%s',.$ref);.if.
64d40 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 (0.!==.$this->process->execute($
64d60 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 command,.$ignoredOutput,.realpat
64d80 68 28 24 70 61 74 68 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 h($path))).{.throw.new.\RuntimeE
64da0 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 xception('Failed.to.execute.'...
64dc0 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 $command..."\n\n"...$this->proce
64de0 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 ss->getErrorOutput());.}.}.....p
64e00 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 ublic.function.doUpdate(PackageI
64e20 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 nterface.$initial,.PackageInterf
64e40 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 0a 20 24 74 ace.$target,.$path,.$url).{...$t
64e60 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 his->config->prohibitUrlByConfig
64e80 28 24 75 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 24 75 72 6c 20 3d 20 50 72 6f 63 65 ($url,.$this->io);..$url.=.Proce
64ea0 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 3b 0a 24 72 65 66 20 3d ssExecutor::escape($url);.$ref.=
64ec0 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 61 72 67 65 74 .ProcessExecutor::escape($target
64ee0 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e ->getSourceReference());.$this->
64f00 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 55 70 64 61 74 69 6e 67 20 74 6f 20 22 2e 24 io->writeError(".Updating.to.".$
64f20 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a 0a target->getSourceReference());..
64f40 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 if.(!$this->hasMetadataRepositor
64f60 79 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 y($path)).{.throw.new.\RuntimeEx
64f80 63 65 70 74 69 6f 6e 28 27 54 68 65 20 2e 66 73 6c 63 6b 6f 75 74 20 66 69 6c 65 20 69 73 20 6d ception('The..fslckout.file.is.m
64fa0 69 73 73 69 6e 67 20 66 72 6f 6d 20 27 2e 24 70 61 74 68 2e 27 2c 20 73 65 65 20 68 74 74 70 73 issing.from.'.$path.',.see.https
64fc0 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 63 6f 6d 6d 69 74 2d 64 65 70 73 20 66 ://getcomposer.org/commit-deps.f
64fe0 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 or.more.information');.}..$comma
65000 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 70 75 6c 6c 20 26 26 20 66 6f 73 nd.=.sprintf('fossil.pull.&&.fos
65020 73 69 6c 20 75 70 20 25 73 27 2c 20 24 72 65 66 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 sil.up.%s',.$ref);.if.(0.!==.$th
65040 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 is->process->execute($command,.$
65060 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 29 ignoredOutput,.realpath($path)))
65080 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 .{.throw.new.\RuntimeException('
650a0 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e Failed.to.execute.'...$command..
650c0 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 ."\n\n"...$this->process->getErr
650e0 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 orOutput());.}.}.....public.func
65100 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 tion.getLocalChanges(PackageInte
65120 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 24 74 rface.$package,.$path).{.if.(!$t
65140 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 his->hasMetadataRepository($path
65160 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 )).{.return.null;.}..$this->proc
65180 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 63 68 61 6e 67 65 73 27 2c 20 24 ess->execute('fossil.changes',.$
651a0 6f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 3b 0a 0a 72 65 74 75 72 output,.realpath($path));..retur
651c0 6e 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 n.trim($output).?:.null;.}.....p
651e0 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 rotected.function.getCommitLogs(
65200 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 65 2c 20 24 70 $fromReference,.$toReference,.$p
65220 61 74 68 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 ath).{.$command.=.sprintf('fossi
65240 6c 20 74 69 6d 65 6c 69 6e 65 20 2d 74 20 63 69 20 2d 57 20 30 20 2d 6e 20 30 20 62 65 66 6f 72 l.timeline.-t.ci.-W.0.-n.0.befor
65260 65 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 e.%s',.ProcessExecutor::escape($
65280 74 6f 52 65 66 65 72 65 6e 63 65 29 29 3b 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d toReference));..if.(0.!==.$this-
652a0 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 >process->execute($command,.$out
652c0 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e put,.realpath($path))).{.throw.n
652e0 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 ew.\RuntimeException('Failed.to.
65300 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 execute.'...$command..."\n\n"...
65320 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 $this->process->getErrorOutput()
65340 29 3b 0a 7d 0a 0a 24 6c 6f 67 20 3d 20 27 27 3b 0a 24 6d 61 74 63 68 20 3d 20 27 2f 5c 64 5c 64 );.}..$log.=.'';.$match.=.'/\d\d
65360 3a 5c 64 5c 64 3a 5c 64 5c 64 5c 73 2b 5c 5b 27 20 2e 20 24 74 6f 52 65 66 65 72 65 6e 63 65 20 :\d\d:\d\d\s+\['...$toReference.
65380 2e 20 27 5c 5d 2f 27 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 ..'\]/';..foreach.($this->proces
653a0 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 6c 69 6e 65 29 s->splitLines($output).as.$line)
653c0 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 6d 61 74 63 68 2c 20 24 6c 69 6e 65 29 .{.if.(preg_match($match,.$line)
653e0 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 24 6c 6f 67 20 2e 3d 20 24 6c 69 6e 65 3b 0a 7d 0a 0a 72 ).{.break;.}.$log..=.$line;.}..r
65400 65 74 75 72 6e 20 24 6c 6f 67 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 eturn.$log;.}.....protected.func
65420 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 tion.hasMetadataRepository($path
65440 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 66 69 6c 65 28 24 70 61 74 68 20 2e 20 27 2f 2e 66 73 ).{.return.is_file($path...'/.fs
65460 6c 63 6b 6f 75 74 27 29 20 7c 7c 20 69 73 5f 66 69 6c 65 28 24 70 61 74 68 20 2e 20 27 2f 5f 46 lckout').||.is_file($path...'/_F
65480 4f 53 53 49 4c 5f 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e OSSIL_');.}.}.<?php............n
654a0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 amespace.Composer\Downloader;..u
654c0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 se.Composer\Config;.use.Composer
654e0 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 \IO\IOInterface;.use.Composer\Pa
65500 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 ckage\PackageInterface;.use.Comp
65520 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 oser\Util\Filesystem;.use.Compos
65540 65 72 5c 55 74 69 6c 5c 47 69 74 20 61 73 20 47 69 74 55 74 69 6c 3b 0a 75 73 65 20 43 6f 6d 70 er\Util\Git.as.GitUtil;.use.Comp
65560 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 oser\Util\Platform;.use.Composer
65580 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f \Util\ProcessExecutor;.use.Compo
655a0 73 65 72 5c 43 61 63 68 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 44 6f 77 6e 6c 6f 61 64 ser\Cache;.....class.GitDownload
655c0 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 er.extends.VcsDownloader.impleme
655e0 6e 74 73 20 44 76 63 73 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 nts.DvcsDownloaderInterface.{.pr
65600 69 76 61 74 65 20 24 68 61 73 53 74 61 73 68 65 64 43 68 61 6e 67 65 73 20 3d 20 66 61 6c 73 65 ivate.$hasStashedChanges.=.false
65620 3b 0a 70 72 69 76 61 74 65 20 24 68 61 73 44 69 73 63 61 72 64 65 64 43 68 61 6e 67 65 73 20 3d ;.private.$hasDiscardedChanges.=
65640 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 67 69 74 55 74 69 6c 3b 0a 0a 70 75 62 6c 69 .false;.private.$gitUtil;..publi
65660 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 c.function.__construct(IOInterfa
65680 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 ce.$io,.Config.$config,.ProcessE
656a0 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 46 69 6c 65 73 79 73 xecutor.$process.=.null,.Filesys
656c0 74 65 6d 20 24 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 tem.$fs.=.null).{.parent::__cons
656e0 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 70 72 6f 63 65 73 73 2c 20 24 66 truct($io,.$config,.$process,.$f
65700 73 29 3b 0a 24 74 68 69 73 2d 3e 67 69 74 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 55 74 69 6c s);.$this->gitUtil.=.new.GitUtil
65720 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 ($this->io,.$this->config,.$this
65740 2d 3e 70 72 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 29 3b 0a 7d ->process,.$this->filesystem);.}
65760 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 .....public.function.doDownload(
65780 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 PackageInterface.$package,.$path
657a0 2c 20 24 75 72 6c 29 0a 7b 0a 47 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 ,.$url).{.GitUtil::cleanEnv();.$
657c0 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 path.=.$this->normalizePath($pat
657e0 68 29 3b 0a 24 63 61 63 68 65 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e h);.$cachePath.=.$this->config->
65800 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 2e 27 2f 27 2e 70 72 65 67 5f 72 65 get('cache-vcs-dir').'/'.preg_re
65820 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 2e 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 75 72 6c place('{[^a-z0-9.]}i',.'-',.$url
65840 29 2e 27 2f 27 3b 0a 24 72 65 66 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 ).'/';.$ref.=.$package->getSourc
65860 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 24 66 6c 61 67 20 3d 20 50 6c 61 74 66 6f 72 6d 3a 3a eReference();.$flag.=.Platform::
65880 69 73 57 69 6e 64 6f 77 73 28 29 20 3f 20 27 2f 44 20 27 20 3a 20 27 27 3b 0a 0a 0a 20 24 67 69 isWindows().?.'/D.'.:.'';....$gi
658a0 74 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 69 74 55 74 69 6c 2d 3e 67 65 74 56 65 tVersion.=.$this->gitUtil->getVe
658c0 72 73 69 6f 6e 28 29 3b 0a 24 6d 73 67 20 3d 20 22 43 6c 6f 6e 69 6e 67 20 22 2e 24 74 68 69 73 rsion();.$msg.=."Cloning.".$this
658e0 2d 3e 67 65 74 53 68 6f 72 74 48 61 73 68 28 24 72 65 66 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 ->getShortHash($ref);..$command.
65900 3d 20 27 67 69 74 20 63 6c 6f 6e 65 20 2d 2d 6e 6f 2d 63 68 65 63 6b 6f 75 74 20 25 75 72 6c 25 =.'git.clone.--no-checkout.%url%
65920 20 25 70 61 74 68 25 20 26 26 20 63 64 20 27 2e 24 66 6c 61 67 2e 27 25 70 61 74 68 25 20 26 26 .%path%.&&.cd.'.$flag.'%path%.&&
65940 20 67 69 74 20 72 65 6d 6f 74 65 20 61 64 64 20 63 6f 6d 70 6f 73 65 72 20 25 75 72 6c 25 20 26 .git.remote.add.composer.%url%.&
65960 26 20 67 69 74 20 66 65 74 63 68 20 63 6f 6d 70 6f 73 65 72 20 26 26 20 67 69 74 20 72 65 6d 6f &.git.fetch.composer.&&.git.remo
65980 74 65 20 73 65 74 2d 75 72 6c 20 6f 72 69 67 69 6e 20 25 73 61 6e 69 74 69 7a 65 64 55 72 6c 25 te.set-url.origin.%sanitizedUrl%
659a0 20 26 26 20 67 69 74 20 72 65 6d 6f 74 65 20 73 65 74 2d 75 72 6c 20 63 6f 6d 70 6f 73 65 72 20 .&&.git.remote.set-url.composer.
659c0 25 73 61 6e 69 74 69 7a 65 64 55 72 6c 25 27 3b 0a 69 66 20 28 24 67 69 74 56 65 72 73 69 6f 6e %sanitizedUrl%';.if.($gitVersion
659e0 20 26 26 20 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 24 67 69 74 56 65 72 73 69 6f 6e 2c .&&.version_compare($gitVersion,
65a00 20 27 32 2e 33 2e 30 2d 72 63 30 27 2c 20 27 3e 3d 27 29 20 26 26 20 43 61 63 68 65 3a 3a 69 73 .'2.3.0-rc0',.'>=').&&.Cache::is
65a20 55 73 61 62 6c 65 28 24 63 61 63 68 65 50 61 74 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d Usable($cachePath)).{.$this->io-
65a40 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 >writeError('',.true,.IOInterfac
65a60 65 3a 3a 44 45 42 55 47 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 e::DEBUG);.$this->io->writeError
65a80 28 73 70 72 69 6e 74 66 28 27 20 20 20 20 43 6c 6f 6e 69 6e 67 20 74 6f 20 63 61 63 68 65 20 61 (sprintf('....Cloning.to.cache.a
65aa0 74 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 t.%s',.ProcessExecutor::escape($
65ac0 63 61 63 68 65 50 61 74 68 29 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a cachePath)),.true,.IOInterface::
65ae0 44 45 42 55 47 29 3b 0a 74 72 79 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 69 74 55 74 69 DEBUG);.try.{.if.(!$this->gitUti
65b00 6c 2d 3e 66 65 74 63 68 52 65 66 4f 72 53 79 6e 63 4d 69 72 72 6f 72 28 24 75 72 6c 2c 20 24 63 l->fetchRefOrSyncMirror($url,.$c
65b20 61 63 68 65 50 61 74 68 2c 20 24 72 65 66 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 achePath,.$ref)).{.$this->io->wr
65b40 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 75 70 64 61 74 iteError('<error>Failed.to.updat
65b60 65 20 27 2e 24 75 72 6c 2e 27 20 69 6e 20 63 61 63 68 65 2c 20 70 61 63 6b 61 67 65 20 69 6e 73 e.'.$url.'.in.cache,.package.ins
65b80 74 61 6c 6c 61 74 69 6f 6e 20 66 6f 72 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 tallation.for.'.$package->getPre
65ba0 74 74 79 4e 61 6d 65 28 29 2e 27 20 6d 69 67 68 74 20 66 61 69 6c 2e 3c 2f 65 72 72 6f 72 3e 27 ttyName().'.might.fail.</error>'
65bc0 29 3b 0a 7d 0a 69 66 20 28 69 73 5f 64 69 72 28 24 63 61 63 68 65 50 61 74 68 29 29 20 7b 0a 24 );.}.if.(is_dir($cachePath)).{.$
65be0 63 6f 6d 6d 61 6e 64 20 3d 0a 27 67 69 74 20 63 6c 6f 6e 65 20 2d 2d 6e 6f 2d 63 68 65 63 6b 6f command.=.'git.clone.--no-checko
65c00 75 74 20 25 63 61 63 68 65 50 61 74 68 25 20 25 70 61 74 68 25 20 2d 2d 64 69 73 73 6f 63 69 61 ut.%cachePath%.%path%.--dissocia
65c20 74 65 20 2d 2d 72 65 66 65 72 65 6e 63 65 20 25 63 61 63 68 65 50 61 74 68 25 20 27 0a 2e 20 27 te.--reference.%cachePath%.'...'
65c40 26 26 20 63 64 20 27 2e 24 66 6c 61 67 2e 27 25 70 61 74 68 25 20 27 0a 2e 20 27 26 26 20 67 69 &&.cd.'.$flag.'%path%.'...'&&.gi
65c60 74 20 72 65 6d 6f 74 65 20 73 65 74 2d 75 72 6c 20 6f 72 69 67 69 6e 20 25 73 61 6e 69 74 69 7a t.remote.set-url.origin.%sanitiz
65c80 65 64 55 72 6c 25 20 26 26 20 67 69 74 20 72 65 6d 6f 74 65 20 61 64 64 20 63 6f 6d 70 6f 73 65 edUrl%.&&.git.remote.add.compose
65ca0 72 20 25 73 61 6e 69 74 69 7a 65 64 55 72 6c 25 27 3b 0a 24 6d 73 67 20 3d 20 22 43 6c 6f 6e 69 r.%sanitizedUrl%';.$msg.=."Cloni
65cc0 6e 67 20 22 2e 24 74 68 69 73 2d 3e 67 65 74 53 68 6f 72 74 48 61 73 68 28 24 72 65 66 29 2e 27 ng.".$this->getShortHash($ref).'
65ce0 20 66 72 6f 6d 20 63 61 63 68 65 27 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d .from.cache';.}.}.catch.(\Runtim
65d00 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f eException.$e).{.if.(0.===.strpo
65d20 73 28 67 65 74 5f 63 6c 61 73 73 28 24 65 29 2c 20 27 50 48 50 55 6e 69 74 27 29 29 20 7b 0a 74 s(get_class($e),.'PHPUnit')).{.t
65d40 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 hrow.$e;.}.}.}.$this->io->writeE
65d60 72 72 6f 72 28 24 6d 73 67 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 20 3d 20 rror($msg);..$commandCallable.=.
65d80 66 75 6e 63 74 69 6f 6e 20 28 24 75 72 6c 29 20 75 73 65 20 28 24 70 61 74 68 2c 20 24 63 6f 6d function.($url).use.($path,.$com
65da0 6d 61 6e 64 2c 20 24 63 61 63 68 65 50 61 74 68 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 mand,.$cachePath).{.return.str_r
65dc0 65 70 6c 61 63 65 28 0a 61 72 72 61 79 28 27 25 75 72 6c 25 27 2c 20 27 25 70 61 74 68 25 27 2c eplace(.array('%url%',.'%path%',
65de0 20 27 25 63 61 63 68 65 50 61 74 68 25 27 2c 20 27 25 73 61 6e 69 74 69 7a 65 64 55 72 6c 25 27 .'%cachePath%',.'%sanitizedUrl%'
65e00 29 2c 0a 61 72 72 61 79 28 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 ),.array(.ProcessExecutor::escap
65e20 65 28 24 75 72 6c 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 e($url),.ProcessExecutor::escape
65e40 28 24 70 61 74 68 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 ($path),.ProcessExecutor::escape
65e60 28 24 63 61 63 68 65 50 61 74 68 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 ($cachePath),.ProcessExecutor::e
65e80 73 63 61 70 65 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 3a 2f 2f 28 5b 5e 40 5d 2b 3f 29 scape(preg_replace('{://([^@]+?)
65ea0 3a 28 2e 2b 3f 29 40 7d 27 2c 20 27 3a 2f 2f 27 2c 20 24 75 72 6c 29 29 2c 0a 29 2c 0a 24 63 6f :(.+?)@}',.'://',.$url)),.),.$co
65ec0 6d 6d 61 6e 64 0a 29 3b 0a 7d 3b 0a 0a 24 74 68 69 73 2d 3e 67 69 74 55 74 69 6c 2d 3e 72 75 6e mmand.);.};..$this->gitUtil->run
65ee0 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c 20 Command($commandCallable,.$url,.
65f00 24 70 61 74 68 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 24 75 72 6c 20 21 3d 3d 20 24 70 61 63 6b $path,.true);.if.($url.!==.$pack
65f20 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 age->getSourceUrl()).{.$this->up
65f40 64 61 74 65 4f 72 69 67 69 6e 55 72 6c 28 24 70 61 74 68 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 dateOriginUrl($path,.$package->g
65f60 65 74 53 6f 75 72 63 65 55 72 6c 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e etSourceUrl());.}.else.{.$this->
65f80 73 65 74 50 75 73 68 55 72 6c 28 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 setPushUrl($path,.$url);.}..if.(
65fa0 24 6e 65 77 52 65 66 20 3d 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 54 6f 43 6f 6d 6d 69 74 28 $newRef.=.$this->updateToCommit(
65fc0 24 70 61 74 68 2c 20 24 72 65 66 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 $path,.$ref,.$package->getPretty
65fe0 56 65 72 73 69 6f 6e 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 6c 65 61 73 65 44 Version(),.$package->getReleaseD
66000 61 74 65 28 29 29 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 ate())).{.if.($package->getDistR
66020 65 66 65 72 65 6e 63 65 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 eference().===.$package->getSour
66040 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 ceReference()).{.$package->setDi
66060 73 74 52 65 66 65 72 65 6e 63 65 28 24 6e 65 77 52 65 66 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 stReference($newRef);.}.$package
66080 2d 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 6e 65 77 52 65 66 29 3b 0a 7d ->setSourceReference($newRef);.}
660a0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 .}.....public.function.doUpdate(
660c0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 PackageInterface.$initial,.Packa
660e0 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c geInterface.$target,.$path,.$url
66100 29 0a 7b 0a 47 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 69 66 20 28 21 24 74 ).{.GitUtil::cleanEnv();.if.(!$t
66120 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 his->hasMetadataRepository($path
66140 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e )).{.throw.new.\RuntimeException
66160 28 27 54 68 65 20 2e 67 69 74 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6d 69 73 73 69 6e 67 20 ('The..git.directory.is.missing.
66180 66 72 6f 6d 20 27 2e 24 70 61 74 68 2e 27 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 from.'.$path.',.see.https://getc
661a0 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 63 6f 6d 6d 69 74 2d 64 65 70 73 20 66 6f 72 20 6d 6f 72 65 omposer.org/commit-deps.for.more
661c0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 75 70 64 61 74 65 4f 72 69 67 69 6e .information');.}..$updateOrigin
661e0 55 72 6c 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 0a 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 Url.=.false;.if.(.0.===.$this->p
66200 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 6d 6f 74 65 20 2d 76 27 2c rocess->execute('git.remote.-v',
66220 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 0a 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 .$output,.$path).&&.preg_match('
66240 7b 5e 6f 72 69 67 69 6e 5c 73 2b 28 3f 50 3c 75 72 6c 3e 5c 53 2b 29 7d 6d 27 2c 20 24 6f 75 74 {^origin\s+(?P<url>\S+)}m',.$out
66260 70 75 74 2c 20 24 6f 72 69 67 69 6e 4d 61 74 63 68 29 0a 26 26 20 70 72 65 67 5f 6d 61 74 63 68 put,.$originMatch).&&.preg_match
66280 28 27 7b 5e 63 6f 6d 70 6f 73 65 72 5c 73 2b 28 3f 50 3c 75 72 6c 3e 5c 53 2b 29 7d 6d 27 2c 20 ('{^composer\s+(?P<url>\S+)}m',.
662a0 24 6f 75 74 70 75 74 2c 20 24 63 6f 6d 70 6f 73 65 72 4d 61 74 63 68 29 0a 29 20 7b 0a 69 66 20 $output,.$composerMatch).).{.if.
662c0 28 24 6f 72 69 67 69 6e 4d 61 74 63 68 5b 27 75 72 6c 27 5d 20 3d 3d 3d 20 24 63 6f 6d 70 6f 73 ($originMatch['url'].===.$compos
662e0 65 72 4d 61 74 63 68 5b 27 75 72 6c 27 5d 20 26 26 20 24 63 6f 6d 70 6f 73 65 72 4d 61 74 63 68 erMatch['url'].&&.$composerMatch
66300 5b 27 75 72 6c 27 5d 20 21 3d 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 ['url'].!==.$target->getSourceUr
66320 6c 28 29 29 20 7b 0a 24 75 70 64 61 74 65 4f 72 69 67 69 6e 55 72 6c 20 3d 20 74 72 75 65 3b 0a l()).{.$updateOriginUrl.=.true;.
66340 7d 0a 7d 0a 0a 24 72 65 66 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 }.}..$ref.=.$target->getSourceRe
66360 66 65 72 65 6e 63 65 28 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 ference();.$this->io->writeError
66380 28 22 20 43 68 65 63 6b 69 6e 67 20 6f 75 74 20 22 2e 24 74 68 69 73 2d 3e 67 65 74 53 68 6f 72 (".Checking.out.".$this->getShor
663a0 74 48 61 73 68 28 24 72 65 66 29 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 28 67 69 74 20 72 tHash($ref));.$command.=.'(git.r
663c0 65 6d 6f 74 65 20 73 65 74 2d 75 72 6c 20 63 6f 6d 70 6f 73 65 72 20 25 73 20 26 26 20 67 69 74 emote.set-url.composer.%s.&&.git
663e0 20 72 65 76 2d 70 61 72 73 65 20 2d 2d 71 75 69 65 74 20 2d 2d 76 65 72 69 66 79 20 25 73 20 7c .rev-parse.--quiet.--verify.%s.|
66400 7c 20 28 67 69 74 20 66 65 74 63 68 20 63 6f 6d 70 6f 73 65 72 20 26 26 20 67 69 74 20 66 65 74 |.(git.fetch.composer.&&.git.fet
66420 63 68 20 2d 2d 74 61 67 73 20 63 6f 6d 70 6f 73 65 72 29 29 20 26 26 20 67 69 74 20 72 65 6d 6f ch.--tags.composer)).&&.git.remo
66440 74 65 20 73 65 74 2d 75 72 6c 20 63 6f 6d 70 6f 73 65 72 20 25 73 27 3b 0a 0a 24 63 6f 6d 6d 61 te.set-url.composer.%s';..$comma
66460 6e 64 43 61 6c 6c 61 62 6c 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 75 72 6c 29 20 75 73 65 ndCallable.=.function.($url).use
66480 20 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 72 65 66 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e .($command,.$ref).{.return.sprin
664a0 74 66 28 0a 24 63 6f 6d 6d 61 6e 64 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 tf(.$command,.ProcessExecutor::e
664c0 73 63 61 70 65 28 24 75 72 6c 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 scape($url),.ProcessExecutor::es
664e0 63 61 70 65 28 24 72 65 66 2e 27 5e 7b 63 6f 6d 6d 69 74 7d 27 29 2c 0a 50 72 6f 63 65 73 73 45 cape($ref.'^{commit}'),.ProcessE
66500 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 3a xecutor::escape(preg_replace('{:
66520 2f 2f 28 5b 5e 40 5d 2b 3f 29 3a 28 2e 2b 3f 29 40 7d 27 2c 20 27 3a 2f 2f 27 2c 20 24 75 72 6c //([^@]+?):(.+?)@}',.'://',.$url
66540 29 29 0a 29 3b 0a 7d 3b 0a 0a 24 74 68 69 73 2d 3e 67 69 74 55 74 69 6c 2d 3e 72 75 6e 43 6f 6d )).);.};..$this->gitUtil->runCom
66560 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c 20 24 70 61 mand($commandCallable,.$url,.$pa
66580 74 68 29 3b 0a 69 66 20 28 24 6e 65 77 52 65 66 20 3d 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 th);.if.($newRef.=.$this->update
665a0 54 6f 43 6f 6d 6d 69 74 28 24 70 61 74 68 2c 20 24 72 65 66 2c 20 24 74 61 72 67 65 74 2d 3e 67 ToCommit($path,.$ref,.$target->g
665c0 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 24 74 61 72 67 65 74 2d 3e 67 65 74 52 etPrettyVersion(),.$target->getR
665e0 65 6c 65 61 73 65 44 61 74 65 28 29 29 29 20 7b 0a 69 66 20 28 24 74 61 72 67 65 74 2d 3e 67 65 eleaseDate())).{.if.($target->ge
66600 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 3d 3d 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 tDistReference().===.$target->ge
66620 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 24 74 61 72 67 65 74 2d 3e 73 tSourceReference()).{.$target->s
66640 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 6e 65 77 52 65 66 29 3b 0a 7d 0a 24 74 61 72 etDistReference($newRef);.}.$tar
66660 67 65 74 2d 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 6e 65 77 52 65 66 29 get->setSourceReference($newRef)
66680 3b 0a 7d 0a 0a 69 66 20 28 24 75 70 64 61 74 65 4f 72 69 67 69 6e 55 72 6c 29 20 7b 0a 24 74 68 ;.}..if.($updateOriginUrl).{.$th
666a0 69 73 2d 3e 75 70 64 61 74 65 4f 72 69 67 69 6e 55 72 6c 28 24 70 61 74 68 2c 20 24 74 61 72 67 is->updateOriginUrl($path,.$targ
666c0 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 et->getSourceUrl());.}.}.....pub
666e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 lic.function.getLocalChanges(Pac
66700 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b kageInterface.$package,.$path).{
66720 0a 47 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 69 66 20 28 21 24 74 68 69 73 .GitUtil::cleanEnv();.if.(!$this
66740 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 29 20 ->hasMetadataRepository($path)).
66760 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 69 74 20 73 74 61 {.return;.}..$command.=.'git.sta
66780 74 75 73 20 2d 2d 70 6f 72 63 65 6c 61 69 6e 20 2d 2d 75 6e 74 72 61 63 6b 65 64 2d 66 69 6c 65 tus.--porcelain.--untracked-file
667a0 73 3d 6e 6f 27 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d s=no';.if.(0.!==.$this->process-
667c0 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 >execute($command,.$output,.$pat
667e0 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f h)).{.throw.new.\RuntimeExceptio
66800 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e n('Failed.to.execute.'...$comman
66820 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 d..."\n\n"...$this->process->get
66840 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 ErrorOutput());.}..return.trim($
66860 6f 75 74 70 75 74 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 output).?:.null;.}..public.funct
66880 69 6f 6e 20 67 65 74 55 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e ion.getUnpushedChanges(PackageIn
668a0 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 47 69 74 55 74 terface.$package,.$path).{.GitUt
668c0 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e il::cleanEnv();.$path.=.$this->n
668e0 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d ormalizePath($path);.if.(!$this-
66900 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b >hasMetadataRepository($path)).{
66920 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 69 74 20 73 68 6f 77 .return;.}..$command.=.'git.show
66940 2d 72 65 66 20 2d 2d 68 65 61 64 20 2d 64 27 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 -ref.--head.-d';.if.(0.!==.$this
66960 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 ->process->execute($command,.$ou
66980 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 tput,.$path)).{.throw.new.\Runti
669a0 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 meException('Failed.to.execute.'
669c0 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 ...$command..."\n\n"...$this->pr
669e0 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 24 72 65 ocess->getErrorOutput());.}..$re
66a00 66 73 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 fs.=.trim($output);.if.(!preg_ma
66a20 74 63 68 28 27 7b 5e 28 5b 61 2d 66 30 2d 39 5d 2b 29 20 48 45 41 44 24 7d 6d 69 27 2c 20 24 72 tch('{^([a-f0-9]+).HEAD$}mi',.$r
66a40 65 66 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 68 65 efs,.$match)).{...return;.}..$he
66a60 61 64 52 65 66 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 adRef.=.$match[1];.if.(!preg_mat
66a80 63 68 5f 61 6c 6c 28 27 7b 5e 27 2e 24 68 65 61 64 52 65 66 2e 27 20 72 65 66 73 2f 68 65 61 64 ch_all('{^'.$headRef.'.refs/head
66aa0 73 2f 28 2e 2b 29 24 7d 6d 69 27 2c 20 24 72 65 66 73 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b s/(.+)$}mi',.$refs,.$matches)).{
66ac0 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 24 62 72 61 6e 63 68 20 3d 20 24 6d 61 74 63 68 ...return;.}....$branch.=.$match
66ae0 65 73 5b 31 5d 5b 30 5d 3b 0a 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 3d 20 6e 75 6c es[1][0];.$unpushedChanges.=.nul
66b00 6c 3b 0a 0a 0a 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 3d 20 31 3b 20 24 69 2b 2b l;....for.($i.=.0;.$i.<=.1;.$i++
66b20 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 5b 31 5d 20 61 73 20 24 63 ).{...foreach.($matches[1].as.$c
66b40 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 andidate).{.if.(preg_match('{^[a
66b60 2d 66 30 2d 39 5d 2b 20 72 65 66 73 2f 72 65 6d 6f 74 65 73 2f 28 28 3f 3a 63 6f 6d 70 6f 73 65 -f0-9]+.refs/remotes/((?:compose
66b80 72 7c 6f 72 69 67 69 6e 29 2f 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 63 61 6e 64 69 64 61 74 r|origin)/'.preg_quote($candidat
66ba0 65 29 2e 27 29 24 7d 6d 69 27 2c 20 24 72 65 66 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 62 e).')$}mi',.$refs,.$match)).{.$b
66bc0 72 61 6e 63 68 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 24 72 65 6d 6f 74 65 42 72 61 6e 63 ranch.=.$candidate;.$remoteBranc
66be0 68 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 0a 20 0a 20 0a h.=.$match[1];.break;.}.}.......
66c00 20 69 66 20 28 21 69 73 73 65 74 28 24 72 65 6d 6f 74 65 42 72 61 6e 63 68 29 29 20 7b 0a 24 75 .if.(!isset($remoteBranch)).{.$u
66c20 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 3d 20 27 42 72 61 6e 63 68 20 27 20 2e 20 24 62 72 npushedChanges.=.'Branch.'...$br
66c40 61 6e 63 68 20 2e 20 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 20 6f 6e 20 74 anch...'.could.not.be.found.on.t
66c60 68 65 20 6f 72 69 67 69 6e 20 72 65 6d 6f 74 65 20 61 6e 64 20 61 70 70 65 61 72 73 20 74 6f 20 he.origin.remote.and.appears.to.
66c80 62 65 20 75 6e 70 75 73 68 65 64 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 be.unpushed';.}.else.{.$command.
66ca0 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 64 69 66 66 20 2d 2d 6e 61 6d 65 2d 73 74 61 74 75 =.sprintf('git.diff.--name-statu
66cc0 73 20 25 73 2e 2e 2e 25 73 20 2d 2d 27 2c 20 24 72 65 6d 6f 74 65 42 72 61 6e 63 68 2c 20 24 62 s.%s...%s.--',.$remoteBranch,.$b
66ce0 72 61 6e 63 68 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 ranch);.if.(0.!==.$this->process
66d00 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 ->execute($command,.$output,.$pa
66d20 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 th)).{.throw.new.\RuntimeExcepti
66d40 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 on('Failed.to.execute.'...$comma
66d60 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 nd..."\n\n"...$this->process->ge
66d80 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 24 75 6e 70 75 73 68 65 64 43 68 61 tErrorOutput());.}..$unpushedCha
66da0 6e 67 65 73 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a nges.=.trim($output).?:.null;.}.
66dc0 0a 0a 20 0a 20 69 66 20 28 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 20 26 26 20 24 69 20 .....if.($unpushedChanges.&&.$i.
66de0 3d 3d 3d 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 ===.0).{.$this->process->execute
66e00 28 27 67 69 74 20 66 65 74 63 68 20 63 6f 6d 70 6f 73 65 72 20 26 26 20 67 69 74 20 66 65 74 63 ('git.fetch.composer.&&.git.fetc
66e20 68 20 6f 72 69 67 69 6e 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a h.origin',.$output,.$path);.}...
66e40 20 69 66 20 28 21 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 29 20 7b 0a 62 72 65 61 6b 3b .if.(!$unpushedChanges).{.break;
66e60 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 3b 0a 7d .}.}..return.$unpushedChanges;.}
66e80 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 43 68 61 .....protected.function.cleanCha
66ea0 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 nges(PackageInterface.$package,.
66ec0 24 70 61 74 68 2c 20 24 75 70 64 61 74 65 29 0a 7b 0a 47 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e $path,.$update).{.GitUtil::clean
66ee0 45 6e 76 28 29 3b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 Env();.$path.=.$this->normalizeP
66f00 61 74 68 28 24 70 61 74 68 29 3b 0a 0a 24 75 6e 70 75 73 68 65 64 20 3d 20 24 74 68 69 73 2d 3e ath($path);..$unpushed.=.$this->
66f20 67 65 74 55 6e 70 75 73 68 65 64 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 getUnpushedChanges($package,.$pa
66f40 74 68 29 3b 0a 69 66 20 28 24 75 6e 70 75 73 68 65 64 20 26 26 20 28 24 74 68 69 73 2d 3e 69 6f th);.if.($unpushed.&&.($this->io
66f60 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 7c 7c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 ->isInteractive().||.$this->conf
66f80 69 67 2d 3e 67 65 74 28 27 64 69 73 63 61 72 64 2d 63 68 61 6e 67 65 73 27 29 20 21 3d 3d 20 74 ig->get('discard-changes').!==.t
66fa0 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 rue)).{.throw.new.\RuntimeExcept
66fc0 69 6f 6e 28 27 53 6f 75 72 63 65 20 64 69 72 65 63 74 6f 72 79 20 27 20 2e 20 24 70 61 74 68 20 ion('Source.directory.'...$path.
66fe0 2e 20 27 20 68 61 73 20 75 6e 70 75 73 68 65 64 20 63 68 61 6e 67 65 73 20 6f 6e 20 74 68 65 20 ..'.has.unpushed.changes.on.the.
67000 63 75 72 72 65 6e 74 20 62 72 61 6e 63 68 3a 20 27 2e 22 5c 6e 22 2e 24 75 6e 70 75 73 68 65 64 current.branch:.'."\n".$unpushed
67020 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 63 68 61 6e 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 );.}..if.(!$changes.=.$this->get
67040 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 29 20 7b LocalChanges($package,.$path)).{
67060 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e .return;.}..if.(!$this->io->isIn
67080 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 64 69 73 63 61 72 64 43 68 61 6e 67 65 73 20 3d teractive()).{.$discardChanges.=
670a0 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 63 61 72 64 2d 63 68 61 .$this->config->get('discard-cha
670c0 6e 67 65 73 27 29 3b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 64 69 73 63 61 72 64 43 68 61 nges');.if.(true.===.$discardCha
670e0 6e 67 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 63 61 72 64 43 68 61 nges).{.return.$this->discardCha
67100 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 7d 0a 69 66 20 28 27 73 74 61 73 68 27 20 3d 3d 3d 20 24 nges($path);.}.if.('stash'.===.$
67120 64 69 73 63 61 72 64 43 68 61 6e 67 65 73 29 20 7b 0a 69 66 20 28 21 24 75 70 64 61 74 65 29 20 discardChanges).{.if.(!$update).
67140 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 24 70 {.return.parent::cleanChanges($p
67160 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 70 64 61 74 65 29 3b 0a 7d 0a 0a 72 65 74 75 ackage,.$path,.$update);.}..retu
67180 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 73 68 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 7d rn.$this->stashChanges($path);.}
671a0 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 24 70 ..return.parent::cleanChanges($p
671c0 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 70 64 61 74 65 29 3b 0a 7d 0a 0a 24 63 68 61 ackage,.$path,.$update);.}..$cha
671e0 6e 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 65 6c 65 6d nges.=.array_map(function.($elem
67200 29 20 7b 0a 72 65 74 75 72 6e 20 27 20 20 20 20 27 2e 24 65 6c 65 6d 3b 0a 7d 2c 20 70 72 65 67 ).{.return.'....'.$elem;.},.preg
67220 5f 73 70 6c 69 74 28 27 7b 5c 73 2a 5c 72 3f 5c 6e 5c 73 2a 7d 27 2c 20 24 63 68 61 6e 67 65 73 _split('{\s*\r?\n\s*}',.$changes
67240 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3c ));.$this->io->writeError('....<
67260 65 72 72 6f 72 3e 54 68 65 20 70 61 63 6b 61 67 65 20 68 61 73 20 6d 6f 64 69 66 69 65 64 20 66 error>The.package.has.modified.f
67280 69 6c 65 73 3a 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 iles:</error>');.$this->io->writ
672a0 65 45 72 72 6f 72 28 61 72 72 61 79 5f 73 6c 69 63 65 28 24 63 68 61 6e 67 65 73 2c 20 30 2c 20 eError(array_slice($changes,.0,.
672c0 31 30 29 29 3b 0a 69 66 20 28 63 6f 75 6e 74 28 24 63 68 61 6e 67 65 73 29 20 3e 20 31 30 29 20 10));.if.(count($changes).>.10).
672e0 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3c 69 6e {.$this->io->writeError('....<in
67300 66 6f 3e 27 20 2e 20 28 63 6f 75 6e 74 28 24 63 68 61 6e 67 65 73 29 20 2d 20 31 30 29 20 2e 20 fo>'...(count($changes).-.10)...
67320 27 20 6d 6f 72 65 20 66 69 6c 65 73 20 6d 6f 64 69 66 69 65 64 2c 20 63 68 6f 6f 73 65 20 22 76 '.more.files.modified,.choose."v
67340 22 20 74 6f 20 76 69 65 77 20 74 68 65 20 66 75 6c 6c 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 27 29 ".to.view.the.full.list</info>')
67360 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 73 77 69 74 63 68 20 28 24 74 68 69 ;.}..while.(true).{.switch.($thi
67380 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 20 20 20 20 3c 69 6e 66 6f 3e 44 69 73 63 61 72 64 20 63 68 s->io->ask('....<info>Discard.ch
673a0 61 6e 67 65 73 20 5b 79 2c 6e 2c 76 2c 64 2c 27 2e 28 24 75 70 64 61 74 65 20 3f 20 27 73 2c 27 anges.[y,n,v,d,'.($update.?.'s,'
673c0 20 3a 20 27 27 29 2e 27 3f 5d 3f 3c 2f 69 6e 66 6f 3e 20 27 2c 20 27 3f 27 29 29 20 7b 0a 63 61 .:.'').'?]?</info>.',.'?')).{.ca
673e0 73 65 20 27 79 27 3a 0a 24 74 68 69 73 2d 3e 64 69 73 63 61 72 64 43 68 61 6e 67 65 73 28 24 70 se.'y':.$this->discardChanges($p
67400 61 74 68 29 3b 0a 62 72 65 61 6b 20 32 3b 0a 0a 63 61 73 65 20 27 73 27 3a 0a 69 66 20 28 21 24 ath);.break.2;..case.'s':.if.(!$
67420 75 70 64 61 74 65 29 20 7b 0a 67 6f 74 6f 20 68 65 6c 70 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 update).{.goto.help;.}..$this->s
67440 74 61 73 68 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 62 72 65 61 6b 20 32 3b 0a 0a 63 61 tashChanges($path);.break.2;..ca
67460 73 65 20 27 6e 27 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 se.'n':.throw.new.\RuntimeExcept
67480 69 6f 6e 28 27 55 70 64 61 74 65 20 61 62 6f 72 74 65 64 27 29 3b 0a 0a 63 61 73 65 20 27 76 27 ion('Update.aborted');..case.'v'
674a0 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 63 68 61 6e 67 65 73 :.$this->io->writeError($changes
674c0 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 64 27 3a 0a 24 74 68 69 73 2d 3e 76 69 65 77 );.break;..case.'d':.$this->view
674e0 44 69 66 66 28 24 70 61 74 68 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 3f 27 3a 0a 64 Diff($path);.break;..case.'?':.d
67500 65 66 61 75 6c 74 3a 0a 68 65 6c 70 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 efault:.help:.$this->io->writeEr
67520 72 6f 72 28 61 72 72 61 79 28 0a 27 20 20 20 20 79 20 2d 20 64 69 73 63 61 72 64 20 63 68 61 6e ror(array(.'....y.-.discard.chan
67540 67 65 73 20 61 6e 64 20 61 70 70 6c 79 20 74 68 65 20 27 2e 28 24 75 70 64 61 74 65 20 3f 20 27 ges.and.apply.the.'.($update.?.'
67560 75 70 64 61 74 65 27 20 3a 20 27 75 6e 69 6e 73 74 61 6c 6c 27 29 2c 0a 27 20 20 20 20 6e 20 2d update'.:.'uninstall'),.'....n.-
67580 20 61 62 6f 72 74 20 74 68 65 20 27 2e 28 24 75 70 64 61 74 65 20 3f 20 27 75 70 64 61 74 65 27 .abort.the.'.($update.?.'update'
675a0 20 3a 20 27 75 6e 69 6e 73 74 61 6c 6c 27 29 2e 27 20 61 6e 64 20 6c 65 74 20 79 6f 75 20 6d 61 .:.'uninstall').'.and.let.you.ma
675c0 6e 75 61 6c 6c 79 20 63 6c 65 61 6e 20 74 68 69 6e 67 73 20 75 70 27 2c 0a 27 20 20 20 20 76 20 nually.clean.things.up',.'....v.
675e0 2d 20 76 69 65 77 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 27 2c 0a 27 20 20 20 20 64 20 2d -.view.modified.files',.'....d.-
67600 20 76 69 65 77 20 6c 6f 63 61 6c 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 28 64 69 66 66 29 .view.local.modifications.(diff)
67620 27 2c 0a 29 29 3b 0a 69 66 20 28 24 75 70 64 61 74 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d ',.));.if.($update).{.$this->io-
67640 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 73 20 2d 20 73 74 61 73 68 20 63 68 61 6e 67 >writeError('....s.-.stash.chang
67660 65 73 20 61 6e 64 20 74 72 79 20 74 6f 20 72 65 61 70 70 6c 79 20 74 68 65 6d 20 61 66 74 65 72 es.and.try.to.reapply.them.after
67680 20 74 68 65 20 75 70 64 61 74 65 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 .the.update');.}.$this->io->writ
676a0 65 45 72 72 6f 72 28 27 20 20 20 20 3f 20 2d 20 70 72 69 6e 74 20 68 65 6c 70 27 29 3b 0a 62 72 eError('....?.-.print.help');.br
676c0 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f eak;.}.}.}.....protected.functio
676e0 6e 20 72 65 61 70 70 6c 79 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 n.reapplyChanges($path).{.$path.
67700 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 69 =.$this->normalizePath($path);.i
67720 66 20 28 24 74 68 69 73 2d 3e 68 61 73 53 74 61 73 68 65 64 43 68 61 6e 67 65 73 29 20 7b 0a 24 f.($this->hasStashedChanges).{.$
67740 74 68 69 73 2d 3e 68 61 73 53 74 61 73 68 65 64 43 68 61 6e 67 65 73 20 3d 20 66 61 6c 73 65 3b this->hasStashedChanges.=.false;
67760 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3c 69 6e 66 .$this->io->writeError('....<inf
67780 6f 3e 52 65 2d 61 70 70 6c 79 69 6e 67 20 73 74 61 73 68 65 64 20 63 68 61 6e 67 65 73 3c 2f 69 o>Re-applying.stashed.changes</i
677a0 6e 66 6f 3e 27 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 nfo>');.if.(0.!==.$this->process
677c0 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 73 74 61 73 68 20 70 6f 70 27 2c 20 24 6f 75 74 70 ->execute('git.stash.pop',.$outp
677e0 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 ut,.$path)).{.throw.new.\Runtime
67800 45 78 63 65 70 74 69 6f 6e 28 22 46 61 69 6c 65 64 20 74 6f 20 61 70 70 6c 79 20 73 74 61 73 68 Exception("Failed.to.apply.stash
67820 65 64 20 63 68 61 6e 67 65 73 3a 5c 6e 5c 6e 22 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d ed.changes:\n\n".$this->process-
67840 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e >getErrorOutput());.}.}..$this->
67860 68 61 73 44 69 73 63 61 72 64 65 64 43 68 61 6e 67 65 73 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a hasDiscardedChanges.=.false;.}..
67880 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 ..........protected.function.upd
678a0 61 74 65 54 6f 43 6f 6d 6d 69 74 28 24 70 61 74 68 2c 20 24 72 65 66 65 72 65 6e 63 65 2c 20 24 ateToCommit($path,.$reference,.$
678c0 62 72 61 6e 63 68 2c 20 24 64 61 74 65 29 0a 7b 0a 24 66 6f 72 63 65 20 3d 20 24 74 68 69 73 2d branch,.$date).{.$force.=.$this-
678e0 3e 68 61 73 44 69 73 63 61 72 64 65 64 43 68 61 6e 67 65 73 20 7c 7c 20 24 74 68 69 73 2d 3e 68 >hasDiscardedChanges.||.$this->h
67900 61 73 53 74 61 73 68 65 64 43 68 61 6e 67 65 73 20 3f 20 27 2d 66 20 27 20 3a 20 27 27 3b 0a 0a asStashedChanges.?.'-f.'.:.'';..
67920 0a 20 0a 20 0a 20 0a 20 0a 20 24 74 65 6d 70 6c 61 74 65 20 3d 20 27 67 69 74 20 63 68 65 63 6b ..........$template.=.'git.check
67940 6f 75 74 20 27 2e 24 66 6f 72 63 65 2e 27 25 73 20 2d 2d 20 26 26 20 67 69 74 20 72 65 73 65 74 out.'.$force.'%s.--.&&.git.reset
67960 20 2d 2d 68 61 72 64 20 25 31 24 73 20 2d 2d 27 3b 0a 24 62 72 61 6e 63 68 20 3d 20 70 72 65 67 .--hard.%1$s.--';.$branch.=.preg
67980 5f 72 65 70 6c 61 63 65 28 27 7b 28 3f 3a 5e 64 65 76 2d 7c 28 3f 3a 5c 2e 78 29 3f 2d 64 65 76 _replace('{(?:^dev-|(?:\.x)?-dev
679a0 24 29 7d 69 27 2c 20 27 27 2c 20 24 62 72 61 6e 63 68 29 3b 0a 0a 24 62 72 61 6e 63 68 65 73 20 $)}i',.'',.$branch);..$branches.
679c0 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 =.null;.if.(0.===.$this->process
679e0 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 62 72 61 6e 63 68 20 2d 72 27 2c 20 24 6f 75 74 70 ->execute('git.branch.-r',.$outp
67a00 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 24 6f 75 74 70 75 ut,.$path)).{.$branches.=.$outpu
67a20 74 3b 0a 7d 0a 0a 0a 20 24 67 69 74 52 65 66 20 3d 20 24 72 65 66 65 72 65 6e 63 65 3b 0a 69 66 t;.}....$gitRef.=.$reference;.if
67a40 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 24 7d 27 .(!preg_match('{^[a-f0-9]{40}$}'
67a60 2c 20 24 72 65 66 65 72 65 6e 63 65 29 0a 26 26 20 24 62 72 61 6e 63 68 65 73 0a 26 26 20 70 72 ,.$reference).&&.$branches.&&.pr
67a80 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2b 63 6f 6d 70 6f 73 65 72 2f 27 2e 70 72 65 67 5f 71 eg_match('{^\s+composer/'.preg_q
67aa0 75 6f 74 65 28 24 72 65 66 65 72 65 6e 63 65 29 2e 27 24 7d 6d 27 2c 20 24 62 72 61 6e 63 68 65 uote($reference).'$}m',.$branche
67ac0 73 29 0a 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 63 s).).{.$command.=.sprintf('git.c
67ae0 68 65 63 6b 6f 75 74 20 27 2e 24 66 6f 72 63 65 2e 27 2d 42 20 25 73 20 25 73 20 2d 2d 20 26 26 heckout.'.$force.'-B.%s.%s.--.&&
67b00 20 67 69 74 20 72 65 73 65 74 20 2d 2d 68 61 72 64 20 25 32 24 73 20 2d 2d 27 2c 20 50 72 6f 63 .git.reset.--hard.%2$s.--',.Proc
67b20 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 62 72 61 6e 63 68 29 2c 20 50 72 essExecutor::escape($branch),.Pr
67b40 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 27 63 6f 6d 70 6f 73 65 72 2f ocessExecutor::escape('composer/
67b60 27 2e 24 72 65 66 65 72 65 6e 63 65 29 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d '.$reference));.if.(0.===.$this-
67b80 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 >process->execute($command,.$out
67ba0 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 put,.$path)).{.return;.}.}....if
67bc0 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 24 7d 27 2c .(preg_match('{^[a-f0-9]{40}$}',
67be0 20 24 72 65 66 65 72 65 6e 63 65 29 29 20 7b 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 .$reference)).{...if.(!preg_matc
67c00 68 28 27 7b 5e 5c 73 2b 63 6f 6d 70 6f 73 65 72 2f 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 62 h('{^\s+composer/'.preg_quote($b
67c20 72 61 6e 63 68 29 2e 27 24 7d 6d 27 2c 20 24 62 72 61 6e 63 68 65 73 29 20 26 26 20 70 72 65 67 ranch).'$}m',.$branches).&&.preg
67c40 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2b 63 6f 6d 70 6f 73 65 72 2f 76 27 2e 70 72 65 67 5f 71 75 _match('{^\s+composer/v'.preg_qu
67c60 6f 74 65 28 24 62 72 61 6e 63 68 29 2e 27 24 7d 6d 27 2c 20 24 62 72 61 6e 63 68 65 73 29 29 20 ote($branch).'$}m',.$branches)).
67c80 7b 0a 24 62 72 61 6e 63 68 20 3d 20 27 76 27 20 2e 20 24 62 72 61 6e 63 68 3b 0a 7d 0a 0a 24 63 {.$branch.=.'v'...$branch;.}..$c
67ca0 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 63 68 65 63 6b 6f 75 74 20 25 ommand.=.sprintf('git.checkout.%
67cc0 73 20 2d 2d 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 s.--',.ProcessExecutor::escape($
67ce0 62 72 61 6e 63 68 29 29 3b 0a 24 66 61 6c 6c 62 61 63 6b 43 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 branch));.$fallbackCommand.=.spr
67d00 69 6e 74 66 28 27 67 69 74 20 63 68 65 63 6b 6f 75 74 20 27 2e 24 66 6f 72 63 65 2e 27 2d 42 20 intf('git.checkout.'.$force.'-B.
67d20 25 73 20 25 73 20 2d 2d 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 %s.%s.--',.ProcessExecutor::esca
67d40 70 65 28 24 62 72 61 6e 63 68 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 pe($branch),.ProcessExecutor::es
67d60 63 61 70 65 28 27 63 6f 6d 70 6f 73 65 72 2f 27 2e 24 62 72 61 6e 63 68 29 29 3b 0a 69 66 20 28 cape('composer/'.$branch));.if.(
67d80 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 0.===.$this->process->execute($c
67da0 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 0a 7c 7c 20 30 20 3d 3d 3d ommand,.$output,.$path).||.0.===
67dc0 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 66 61 6c 6c 62 61 .$this->process->execute($fallba
67de0 63 6b 43 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 0a 29 20 7b 0a 24 ckCommand,.$output,.$path).).{.$
67e00 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 72 65 73 65 74 20 2d 2d 68 command.=.sprintf('git.reset.--h
67e20 61 72 64 20 25 73 20 2d 2d 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 ard.%s.--',.ProcessExecutor::esc
67e40 61 70 65 28 24 72 65 66 65 72 65 6e 63 65 29 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 ape($reference));.if.(0.===.$thi
67e60 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f s->process->execute($command,.$o
67e80 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a utput,.$path)).{.return;.}.}.}..
67ea0 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 24 74 65 6d 70 6c 61 74 65 2c 20 50 72 $command.=.sprintf($template,.Pr
67ec0 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 67 69 74 52 65 66 29 29 3b ocessExecutor::escape($gitRef));
67ee0 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 .if.(0.===.$this->process->execu
67f00 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a te($command,.$output,.$path)).{.
67f20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f return;.}....if.(false.!==.strpo
67f40 73 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 s($this->process->getErrorOutput
67f60 28 29 2c 20 24 72 65 66 65 72 65 6e 63 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 (),.$reference)).{.$this->io->wr
67f80 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 72 65 66 65 72 65 iteError('....<warning>'.$refere
67fa0 6e 63 65 2e 27 20 69 73 20 67 6f 6e 65 20 28 68 69 73 74 6f 72 79 20 77 61 73 20 72 65 77 72 69 nce.'.is.gone.(history.was.rewri
67fc0 74 74 65 6e 3f 29 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 tten?)</warning>');.}..throw.new
67fe0 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 47 69 74 55 74 69 6c 3a 3a 73 61 6e 69 .\RuntimeException(GitUtil::sani
68000 74 69 7a 65 55 72 6c 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 tizeUrl('Failed.to.execute.'...$
68020 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 command..."\n\n"...$this->proces
68040 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 s->getErrorOutput()));.}..protec
68060 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 4f 72 69 67 69 6e 55 72 6c 28 24 70 61 ted.function.updateOriginUrl($pa
68080 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 th,.$url).{.$this->process->exec
680a0 75 74 65 28 73 70 72 69 6e 74 66 28 27 67 69 74 20 72 65 6d 6f 74 65 20 73 65 74 2d 75 72 6c 20 ute(sprintf('git.remote.set-url.
680c0 6f 72 69 67 69 6e 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 origin.%s',.ProcessExecutor::esc
680e0 61 70 65 28 24 75 72 6c 29 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 3b 0a 24 74 68 ape($url)),.$output,.$path);.$th
68100 69 73 2d 3e 73 65 74 50 75 73 68 55 72 6c 28 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a is->setPushUrl($path,.$url);.}..
68120 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 75 73 68 55 72 6c 28 24 70 protected.function.setPushUrl($p
68140 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b ath,.$url).{...if.(preg_match('{
68160 5e 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 3a 2f 2f 27 2e 47 69 74 55 74 69 6c 3a 3a 67 65 74 ^(?:https?|git)://'.GitUtil::get
68180 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 GitHubDomainsRegex($this->config
681a0 29 2e 27 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 3f 29 28 3f 3a 5c 2e 67 69 74 29 3f 24 7d ).'/([^/]+)/([^/]+?)(?:\.git)?$}
681c0 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 70 72 6f 74 6f 63 6f 6c 73 20 3d ',.$url,.$match)).{.$protocols.=
681e0 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 70 72 6f 74 .$this->config->get('github-prot
68200 6f 63 6f 6c 73 27 29 3b 0a 24 70 75 73 68 55 72 6c 20 3d 20 27 67 69 74 40 27 2e 24 6d 61 74 63 ocols');.$pushUrl.=.'git@'.$matc
68220 68 5b 31 5d 2e 27 3a 27 2e 24 6d 61 74 63 68 5b 32 5d 2e 27 2f 27 2e 24 6d 61 74 63 68 5b 33 5d h[1].':'.$match[2].'/'.$match[3]
68240 2e 27 2e 67 69 74 27 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 73 73 68 27 2c 20 24 70 .'.git';.if.(!in_array('ssh',.$p
68260 72 6f 74 6f 63 6f 6c 73 2c 20 74 72 75 65 29 29 20 7b 0a 24 70 75 73 68 55 72 6c 20 3d 20 27 68 rotocols,.true)).{.$pushUrl.=.'h
68280 74 74 70 73 3a 2f 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 27 2e 24 6d 61 74 63 ttps://'...$match[1]...'/'.$matc
682a0 68 5b 32 5d 2e 27 2f 27 2e 24 6d 61 74 63 68 5b 33 5d 2e 27 2e 67 69 74 27 3b 0a 7d 0a 24 63 6d h[2].'/'.$match[3].'.git';.}.$cm
682c0 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 72 65 6d 6f 74 65 20 73 65 74 2d 75 72 6c 20 d.=.sprintf('git.remote.set-url.
682e0 2d 2d 70 75 73 68 20 6f 72 69 67 69 6e 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 --push.origin.%s',.ProcessExecut
68300 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 75 73 68 55 72 6c 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 or::escape($pushUrl));.$this->pr
68320 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6d 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 ocess->execute($cmd,.$ignoredOut
68340 70 75 74 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 put,.$path);.}.}.....protected.f
68360 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 unction.getCommitLogs($fromRefer
68380 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 70 61 ence,.$toReference,.$path).{.$pa
683a0 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 th.=.$this->normalizePath($path)
683c0 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 67 69 74 20 6c 6f 67 20 25 73 ;.$command.=.sprintf('git.log.%s
683e0 2e 2e 25 73 20 2d 2d 70 72 65 74 74 79 3d 66 6f 72 6d 61 74 3a 22 25 25 68 20 2d 20 25 25 61 6e ..%s.--pretty=format:"%%h.-.%%an
68400 3a 20 25 25 73 22 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 :.%%s"',.ProcessExecutor::escape
68420 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f ($fromReference),.ProcessExecuto
68440 72 3a 3a 65 73 63 61 70 65 28 24 74 6f 52 65 66 65 72 65 6e 63 65 29 29 3b 0a 0a 69 66 20 28 30 r::escape($toReference));..if.(0
68460 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f .!==.$this->process->execute($co
68480 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 mmand,.$output,.$path)).{.throw.
684a0 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f new.\RuntimeException('Failed.to
684c0 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e .execute.'...$command..."\n\n"..
684e0 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 .$this->process->getErrorOutput(
68500 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 ));.}..return.$output;.}......pr
68520 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 61 72 64 43 68 61 6e 67 65 73 28 otected.function.discardChanges(
68540 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a $path).{.$path.=.$this->normaliz
68560 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 ePath($path);.if.(0.!==.$this->p
68580 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 73 65 74 20 2d 2d 68 61 72 rocess->execute('git.reset.--har
685a0 64 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 d',.$output,.$path)).{.throw.new
685c0 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 72 65 .\RuntimeException("Could.not.re
685e0 73 65 74 20 63 68 61 6e 67 65 73 5c 6e 5c 6e 3a 22 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 set.changes\n\n:".$this->process
68600 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 68 ->getErrorOutput());.}..$this->h
68620 61 73 44 69 73 63 61 72 64 65 64 43 68 61 6e 67 65 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a asDiscardedChanges.=.true;.}....
68640 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 73 68 43 68 61 6e 67 65 ..protected.function.stashChange
68660 73 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c s($path).{.$path.=.$this->normal
68680 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d izePath($path);.if.(0.!==.$this-
686a0 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 73 74 61 73 68 20 2d 2d 69 >process->execute('git.stash.--i
686c0 6e 63 6c 75 64 65 2d 75 6e 74 72 61 63 6b 65 64 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 nclude-untracked',.$output,.$pat
686e0 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f h)).{.throw.new.\RuntimeExceptio
68700 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 73 74 61 73 68 20 63 68 61 6e 67 65 73 5c 6e 5c 6e 3a 22 n("Could.not.stash.changes\n\n:"
68720 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 .$this->process->getErrorOutput(
68740 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 68 61 73 53 74 61 73 68 65 64 43 68 61 6e 67 65 73 20 ));.}..$this->hasStashedChanges.
68760 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f =.true;.}......protected.functio
68780 6e 20 76 69 65 77 44 69 66 66 28 24 70 61 74 68 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 n.viewDiff($path).{.$path.=.$thi
687a0 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 28 30 20 21 s->normalizePath($path);.if.(0.!
687c0 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 ==.$this->process->execute('git.
687e0 64 69 66 66 20 48 45 41 44 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 diff.HEAD',.$output,.$path)).{.t
68800 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 75 6c hrow.new.\RuntimeException("Coul
68820 64 20 6e 6f 74 20 76 69 65 77 20 64 69 66 66 5c 6e 5c 6e 3a 22 2e 24 74 68 69 73 2d 3e 70 72 6f d.not.view.diff\n\n:".$this->pro
68840 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 24 74 68 69 cess->getErrorOutput());.}..$thi
68860 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 70 s->io->writeError($output);.}..p
68880 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 rotected.function.normalizePath(
688a0 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 $path).{.if.(Platform::isWindows
688c0 28 29 20 26 26 20 73 74 72 6c 65 6e 28 24 70 61 74 68 29 20 3e 20 30 29 20 7b 0a 24 62 61 73 65 ().&&.strlen($path).>.0).{.$base
688e0 50 61 74 68 20 3d 20 24 70 61 74 68 3b 0a 24 72 65 6d 6f 76 65 64 20 3d 20 61 72 72 61 79 28 29 Path.=.$path;.$removed.=.array()
68900 3b 0a 0a 77 68 69 6c 65 20 28 21 69 73 5f 64 69 72 28 24 62 61 73 65 50 61 74 68 29 20 26 26 20 ;..while.(!is_dir($basePath).&&.
68920 24 62 61 73 65 50 61 74 68 20 21 3d 3d 20 27 5c 5c 27 29 20 7b 0a 61 72 72 61 79 5f 75 6e 73 68 $basePath.!==.'\\').{.array_unsh
68940 69 66 74 28 24 72 65 6d 6f 76 65 64 2c 20 62 61 73 65 6e 61 6d 65 28 24 62 61 73 65 50 61 74 68 ift($removed,.basename($basePath
68960 29 29 3b 0a 24 62 61 73 65 50 61 74 68 20 3d 20 64 69 72 6e 61 6d 65 28 24 62 61 73 65 50 61 74 ));.$basePath.=.dirname($basePat
68980 68 29 3b 0a 7d 0a 0a 69 66 20 28 24 62 61 73 65 50 61 74 68 20 3d 3d 3d 20 27 5c 5c 27 29 20 7b h);.}..if.($basePath.===.'\\').{
689a0 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 24 70 61 74 68 20 3d 20 72 74 72 69 6d 28 .return.$path;.}..$path.=.rtrim(
689c0 72 65 61 6c 70 61 74 68 28 24 62 61 73 65 50 61 74 68 29 20 2e 20 27 2f 27 20 2e 20 69 6d 70 6c realpath($basePath)...'/'...impl
689e0 6f 64 65 28 27 2f 27 2c 20 24 72 65 6d 6f 76 65 64 29 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 72 65 74 ode('/',.$removed),.'/');.}..ret
68a00 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 urn.$path;.}.....protected.funct
68a20 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 ion.hasMetadataRepository($path)
68a40 0a 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 .{.$path.=.$this->normalizePath(
68a60 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 5f 64 69 72 28 24 70 61 74 68 2e 27 2f 2e $path);..return.is_dir($path.'/.
68a80 67 69 74 27 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 git');.}..protected.function.get
68aa0 53 68 6f 72 74 48 61 73 68 28 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 ShortHash($reference).{.if.(!$th
68ac0 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 is->io->isVerbose().&&.preg_matc
68ae0 68 28 27 7b 5e 5b 30 2d 39 61 2d 66 5d 7b 34 30 7d 24 7d 27 2c 20 24 72 65 66 65 72 65 6e 63 65 h('{^[0-9a-f]{40}$}',.$reference
68b00 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 72 65 66 65 72 65 6e 63 65 2c 20 30 )).{.return.substr($reference,.0
68b20 2c 20 31 30 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 66 65 72 65 6e 63 65 3b 0a 7d 0a 7d ,.10);.}..return.$reference;.}.}
68b40 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
68b60 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 oser\Downloader;..use.Composer\C
68b80 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 onfig;.use.Composer\Cache;.use.C
68ba0 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 omposer\EventDispatcher\EventDis
68bc0 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 patcher;.use.Composer\Package\Pa
68be0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 ckageInterface;.use.Composer\Uti
68c00 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 l\Platform;.use.Composer\Util\Pr
68c20 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c ocessExecutor;.use.Composer\Util
68c40 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c \RemoteFilesystem;.use.Composer\
68c60 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 7a 69 70 IO\IOInterface;.......class.Gzip
68c80 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 63 68 69 76 65 44 6f 77 6e 6c 6f Downloader.extends.ArchiveDownlo
68ca0 61 64 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 0a 70 75 62 6c ader.{.protected.$process;..publ
68cc0 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 ic.function.__construct(IOInterf
68ce0 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 ace.$io,.Config.$config,.EventDi
68d00 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c spatcher.$eventDispatcher.=.null
68d20 2c 20 43 61 63 68 65 20 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 2c 20 50 72 6f 63 65 73 73 45 78 ,.Cache.$cache.=.null,.ProcessEx
68d40 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 ecutor.$process.=.null,.RemoteFi
68d60 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 lesystem.$rfs.=.null).{.$this->p
68d80 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 rocess.=.$process.?:.new.Process
68da0 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 Executor($io);.parent::__constru
68dc0 63 74 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 ct($io,.$config,.$eventDispatche
68de0 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 r,.$cache,.$rfs);.}..protected.f
68e00 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 74 68 29 0a 7b 0a unction.extract($file,.$path).{.
68e20 24 74 61 72 67 65 74 46 69 6c 65 70 61 74 68 20 3d 20 24 70 61 74 68 20 2e 20 44 49 52 45 43 54 $targetFilepath.=.$path...DIRECT
68e40 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 62 61 73 65 6e 61 6d 65 28 73 75 62 73 74 72 28 ORY_SEPARATOR...basename(substr(
68e60 24 66 69 6c 65 2c 20 30 2c 20 2d 33 29 29 3b 0a 0a 0a 20 69 66 20 28 21 50 6c 61 74 66 6f 72 6d $file,.0,.-3));....if.(!Platform
68e80 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 67 7a 69 ::isWindows()).{.$command.=.'gzi
68ea0 70 20 2d 63 64 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 p.-cd.'...ProcessExecutor::escap
68ec0 65 28 24 66 69 6c 65 29 20 2e 20 27 20 3e 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 e($file)...'.>.'...ProcessExecut
68ee0 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 61 72 67 65 74 46 69 6c 65 70 61 74 68 29 3b 0a 0a 69 66 or::escape($targetFilepath);..if
68f00 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 .(0.===.$this->process->execute(
68f20 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 20 7b 0a 72 65 74 $command,.$ignoredOutput)).{.ret
68f40 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 6c urn;.}..if.(extension_loaded('zl
68f60 69 62 27 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 55 73 69 6e 67 45 78 74 ib')).{...$this->extractUsingExt
68f80 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 ($file,.$targetFilepath);..retur
68fa0 6e 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 27 46 61 69 6c 65 64 20 74 6f n;.}..$processError.=.'Failed.to
68fc0 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e .execute.'...$command..."\n\n"..
68fe0 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 .$this->process->getErrorOutput(
69000 29 3b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 );.throw.new.\RuntimeException($
69020 70 72 6f 63 65 73 73 45 72 72 6f 72 29 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 65 78 74 72 61 processError);.}....$this->extra
69040 63 74 55 73 69 6e 67 45 78 74 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 70 61 74 ctUsingExt($file,.$targetFilepat
69060 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 h);.}.....protected.function.get
69080 46 69 6c 65 4e 61 6d 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 FileName(PackageInterface.$packa
690a0 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 2e 27 2f 27 2e 70 61 ge,.$path).{.return.$path.'/'.pa
690c0 74 68 69 6e 66 6f 28 70 61 72 73 65 5f 75 72 6c 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 thinfo(parse_url($package->getDi
690e0 73 74 55 72 6c 28 29 2c 20 50 48 50 5f 55 52 4c 5f 50 41 54 48 29 2c 20 50 41 54 48 49 4e 46 4f stUrl(),.PHP_URL_PATH),.PATHINFO
69100 5f 42 41 53 45 4e 41 4d 45 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 _BASENAME);.}..private.function.
69120 65 78 74 72 61 63 74 55 73 69 6e 67 45 78 74 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 extractUsingExt($file,.$targetFi
69140 6c 65 70 61 74 68 29 0a 7b 0a 24 61 72 63 68 69 76 65 46 69 6c 65 20 3d 20 67 7a 6f 70 65 6e 28 lepath).{.$archiveFile.=.gzopen(
69160 24 66 69 6c 65 2c 20 27 72 62 27 29 3b 0a 24 74 61 72 67 65 74 46 69 6c 65 20 3d 20 66 6f 70 65 $file,.'rb');.$targetFile.=.fope
69180 6e 28 24 74 61 72 67 65 74 46 69 6c 65 70 61 74 68 2c 20 27 77 62 27 29 3b 0a 77 68 69 6c 65 20 n($targetFilepath,.'wb');.while.
691a0 28 24 73 74 72 69 6e 67 20 3d 20 67 7a 72 65 61 64 28 24 61 72 63 68 69 76 65 46 69 6c 65 2c 20 ($string.=.gzread($archiveFile,.
691c0 34 30 39 36 29 29 20 7b 0a 66 77 72 69 74 65 28 24 74 61 72 67 65 74 46 69 6c 65 2c 20 24 73 74 4096)).{.fwrite($targetFile,.$st
691e0 72 69 6e 67 2c 20 50 6c 61 74 66 6f 72 6d 3a 3a 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 29 ring,.Platform::strlen($string))
69200 3b 0a 7d 0a 67 7a 63 6c 6f 73 65 28 24 61 72 63 68 69 76 65 46 69 6c 65 29 3b 0a 66 63 6c 6f 73 ;.}.gzclose($archiveFile);.fclos
69220 65 28 24 74 61 72 67 65 74 46 69 6c 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a e($targetFile);.}.}.<?php.......
69240 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 .....namespace.Composer\Download
69260 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 er;..use.Composer\Package\Packag
69280 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 eInterface;.use.Composer\Util\Pr
692a0 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c ocessExecutor;.use.Composer\Util
692c0 5c 48 67 20 61 73 20 48 67 55 74 69 6c 73 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 67 44 6f 77 6e \Hg.as.HgUtils;.....class.HgDown
692e0 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 0a loader.extends.VcsDownloader.{..
69300 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 63 ..public.function.doDownload(Pac
69320 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 kageInterface.$package,.$path,.$
69340 75 72 6c 29 0a 7b 0a 24 68 67 55 74 69 6c 73 20 3d 20 6e 65 77 20 48 67 55 74 69 6c 73 28 24 74 url).{.$hgUtils.=.new.HgUtils($t
69360 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 his->io,.$this->config,.$this->p
69380 72 6f 63 65 73 73 29 3b 0a 0a 24 63 6c 6f 6e 65 43 6f 6d 6d 61 6e 64 20 3d 20 66 75 6e 63 74 69 rocess);..$cloneCommand.=.functi
693a0 6f 6e 20 28 24 75 72 6c 29 20 75 73 65 20 28 24 70 61 74 68 29 20 7b 0a 72 65 74 75 72 6e 20 73 on.($url).use.($path).{.return.s
693c0 70 72 69 6e 74 66 28 27 68 67 20 63 6c 6f 6e 65 20 25 73 20 25 73 27 2c 20 50 72 6f 63 65 73 73 printf('hg.clone.%s.%s',.Process
693e0 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 50 72 6f 63 65 73 73 45 Executor::escape($url),.ProcessE
69400 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 74 68 29 29 3b 0a 7d 3b 0a 0a 24 68 67 xecutor::escape($path));.};..$hg
69420 55 74 69 6c 73 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6c 6f 6e 65 43 6f 6d 6d 61 6e 64 2c Utils->runCommand($cloneCommand,
69440 20 24 75 72 6c 2c 20 24 70 61 74 68 29 3b 0a 0a 24 72 65 66 20 3d 20 50 72 6f 63 65 73 73 45 78 .$url,.$path);..$ref.=.ProcessEx
69460 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 ecutor::escape($package->getSour
69480 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e ceReference());.$command.=.sprin
694a0 74 66 28 27 68 67 20 75 70 20 25 73 27 2c 20 24 72 65 66 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 tf('hg.up.%s',.$ref);.if.(0.!==.
694c0 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 $this->process->execute($command
694e0 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 ,.$ignoredOutput,.realpath($path
69500 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f ))).{.throw.new.\RuntimeExceptio
69520 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e n('Failed.to.execute.'...$comman
69540 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 d..."\n\n"...$this->process->get
69560 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ErrorOutput());.}.}.....public.f
69580 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 unction.doUpdate(PackageInterfac
695a0 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 e.$initial,.PackageInterface.$ta
695c0 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 24 68 67 55 74 69 6c 73 20 3d 20 rget,.$path,.$url).{.$hgUtils.=.
695e0 6e 65 77 20 48 67 55 74 69 6c 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f new.HgUtils($this->io,.$this->co
69600 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 0a 24 72 65 66 20 3d 20 24 nfig,.$this->process);..$ref.=.$
69620 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 24 74 target->getSourceReference();.$t
69640 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 55 70 64 61 74 69 6e 67 20 74 his->io->writeError(".Updating.t
69660 6f 20 22 2e 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 o.".$target->getSourceReference(
69680 29 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f ));..if.(!$this->hasMetadataRepo
696a0 73 69 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 sitory($path)).{.throw.new.\Runt
696c0 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 2e 68 67 20 64 69 72 65 63 74 6f 72 79 20 imeException('The..hg.directory.
696e0 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 27 2e 24 70 61 74 68 2e 27 2c 20 73 65 65 20 68 is.missing.from.'.$path.',.see.h
69700 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 63 6f 6d 6d 69 74 2d 64 65 ttps://getcomposer.org/commit-de
69720 70 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 63 ps.for.more.information');.}..$c
69740 6f 6d 6d 61 6e 64 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 75 72 6c 29 20 75 73 65 20 28 24 72 ommand.=.function.($url).use.($r
69760 65 66 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 68 67 20 70 75 6c 6c 20 25 73 ef).{.return.sprintf('hg.pull.%s
69780 20 26 26 20 68 67 20 75 70 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a .&&.hg.up.%s',.ProcessExecutor::
697a0 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 escape($url),.ProcessExecutor::e
697c0 73 63 61 70 65 28 24 72 65 66 29 29 3b 0a 7d 3b 0a 0a 24 68 67 55 74 69 6c 73 2d 3e 72 75 6e 43 scape($ref));.};..$hgUtils->runC
697e0 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 29 3b 0a 7d ommand($command,.$url,.$path);.}
69800 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 .....public.function.getLocalCha
69820 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 nges(PackageInterface.$package,.
69840 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 70 61 74 68 2e 27 2f 2e 68 67 $path).{.if.(!is_dir($path.'/.hg
69860 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f ')).{.return.null;.}..$this->pro
69880 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 73 74 27 2c 20 24 6f 75 74 70 75 74 2c 20 cess->execute('hg.st',.$output,.
698a0 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 realpath($path));..return.trim($
698c0 6f 75 74 70 75 74 29 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 output).?:.null;.}.....protected
698e0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 .function.getCommitLogs($fromRef
69900 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 erence,.$toReference,.$path).{.$
69920 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 68 67 20 6c 6f 67 20 2d 72 20 25 73 3a command.=.sprintf('hg.log.-r.%s:
69940 25 73 20 2d 2d 73 74 79 6c 65 20 63 6f 6d 70 61 63 74 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 %s.--style.compact',.ProcessExec
69960 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 29 2c 20 50 72 utor::escape($fromReference),.Pr
69980 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 6f 52 65 66 65 72 65 6e ocessExecutor::escape($toReferen
699a0 63 65 29 29 3b 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d ce));..if.(0.!==.$this->process-
699c0 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 72 65 61 6c >execute($command,.$output,.real
699e0 70 61 74 68 28 24 70 61 74 68 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 path($path))).{.throw.new.\Runti
69a00 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 meException('Failed.to.execute.'
69a20 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 ...$command..."\n\n"...$this->pr
69a40 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 72 65 74 ocess->getErrorOutput());.}..ret
69a60 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e urn.$output;.}.....protected.fun
69a80 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 ction.hasMetadataRepository($pat
69aa0 68 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 64 69 72 28 24 70 61 74 68 20 2e 20 27 2f 2e 68 67 h).{.return.is_dir($path...'/.hg
69ac0 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ');.}.}.<?php............namespa
69ae0 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d ce.Composer\Downloader;..use.Com
69b00 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 5c 41 72 63 68 69 76 61 62 6c poser\Package\Archiver\Archivabl
69b20 65 46 69 6c 65 73 46 69 6e 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 eFilesFinder;.use.Composer\Packa
69b40 67 65 5c 44 75 6d 70 65 72 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f ge\Dumper\ArrayDumper;.use.Compo
69b60 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 ser\Package\PackageInterface;.us
69b80 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 e.Composer\Package\Version\Versi
69ba0 6f 6e 47 75 65 73 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c onGuesser;.use.Composer\Package\
69bc0 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f Version\VersionParser;.use.Compo
69be0 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c ser\Util\Platform;.use.Composer\
69c00 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 Util\ProcessExecutor;.use.Compos
69c20 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 20 61 73 20 43 6f 6d 70 6f 73 65 72 46 69 er\Util\Filesystem.as.ComposerFi
69c40 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c lesystem;.use.Symfony\Component\
69c60 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 5c 49 4f 45 78 63 65 70 74 69 6f 6e Filesystem\Exception\IOException
69c80 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 ;.use.Symfony\Component\Filesyst
69ca0 65 6d 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 74 68 em\Filesystem;........class.Path
69cc0 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 65 Downloader.extends.FileDownloade
69ce0 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 56 63 73 43 61 70 61 62 6c 65 44 6f 77 6e 6c 6f 61 64 65 r.implements.VcsCapableDownloade
69d00 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 53 54 52 41 54 45 47 59 5f 53 59 4d 4c rInterface.{.const.STRATEGY_SYML
69d20 49 4e 4b 20 3d 20 31 30 3b 0a 63 6f 6e 73 74 20 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 20 INK.=.10;.const.STRATEGY_MIRROR.
69d40 3d 20 32 30 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 77 6e 6c 6f =.20;.....public.function.downlo
69d60 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 ad(PackageInterface.$package,.$p
69d80 61 74 68 2c 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 75 72 6c 20 3d 20 24 70 ath,.$output.=.true).{.$url.=.$p
69da0 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 3b 0a 24 72 65 61 6c 55 72 6c 20 3d ackage->getDistUrl();.$realUrl.=
69dc0 20 72 65 61 6c 70 61 74 68 28 24 75 72 6c 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 .realpath($url);.if.(false.===.$
69de0 72 65 61 6c 55 72 6c 20 7c 7c 20 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 72 65 61 6c 55 72 6c realUrl.||.!file_exists($realUrl
69e00 29 20 7c 7c 20 21 69 73 5f 64 69 72 28 24 72 65 61 6c 55 72 6c 29 29 20 7b 0a 74 68 72 6f 77 20 ).||.!is_dir($realUrl)).{.throw.
69e20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 new.\RuntimeException(sprintf(.'
69e40 53 6f 75 72 63 65 20 70 61 74 68 20 22 25 73 22 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 20 66 6f Source.path."%s".is.not.found.fo
69e60 72 20 70 61 63 6b 61 67 65 20 25 73 27 2c 0a 24 75 72 6c 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 r.package.%s',.$url,.$package->g
69e80 65 74 4e 61 6d 65 28 29 0a 29 29 3b 0a 7d 0a 0a 69 66 20 28 72 65 61 6c 70 61 74 68 28 24 70 61 etName().));.}..if.(realpath($pa
69ea0 74 68 29 20 3d 3d 3d 20 24 72 65 61 6c 55 72 6c 29 20 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 th).===.$realUrl).{.if.($output)
69ec0 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 .{.$this->io->writeError(sprintf
69ee0 28 0a 27 20 20 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f (.'..-.Installing.<info>%s</info
69f00 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 53 6f 75 72 63 >.(<comment>%s</comment>):.Sourc
69f20 65 20 61 6c 72 65 61 64 79 20 70 72 65 73 65 6e 74 27 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 e.already.present',.$package->ge
69f40 74 4e 61 6d 65 28 29 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 tName(),.$package->getFullPretty
69f60 56 65 72 73 69 6f 6e 28 29 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 Version().));.}..return;.}..if.(
69f80 73 74 72 70 6f 73 28 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 20 2e 20 44 49 52 45 43 54 4f strpos(realpath($path)...DIRECTO
69fa0 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 72 65 61 6c 55 72 6c 20 2e 20 44 49 52 45 43 54 4f RY_SEPARATOR,.$realUrl...DIRECTO
69fc0 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 3d 3d 3d 20 30 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 74 RY_SEPARATOR).===.0).{.........t
69fe0 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e hrow.new.\RuntimeException(sprin
6a000 74 66 28 0a 27 50 61 63 6b 61 67 65 20 25 73 20 63 61 6e 6e 6f 74 20 69 6e 73 74 61 6c 6c 20 74 tf(.'Package.%s.cannot.install.t
6a020 6f 20 22 25 73 22 20 69 6e 73 69 64 65 20 69 74 73 20 73 6f 75 72 63 65 20 61 74 20 22 25 73 22 o."%s".inside.its.source.at."%s"
6a040 27 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 72 65 61 6c 70 61 74 68 ',.$package->getName(),.realpath
6a060 28 24 70 61 74 68 29 2c 0a 24 72 65 61 6c 55 72 6c 0a 29 29 3b 0a 7d 0a 0a 0a 20 24 74 72 61 6e ($path),.$realUrl.));.}....$tran
6a080 73 70 6f 72 74 4f 70 74 69 6f 6e 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 72 61 6e sportOptions.=.$package->getTran
6a0a0 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 20 2b 20 61 72 72 61 79 28 27 73 79 6d 6c 69 6e 6b 27 sportOptions().+.array('symlink'
6a0c0 20 3d 3e 20 6e 75 6c 6c 29 3b 0a 0a 0a 20 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 79 20 3d .=>.null);....$currentStrategy.=
6a0e0 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 3b 0a 24 61 6c 6c 6f 77 65 .self::STRATEGY_SYMLINK;.$allowe
6a100 64 53 74 72 61 74 65 67 69 65 73 20 3d 20 61 72 72 61 79 28 73 65 6c 66 3a 3a 53 54 52 41 54 45 dStrategies.=.array(self::STRATE
6a120 47 59 5f 53 59 4d 4c 49 4e 4b 2c 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f GY_SYMLINK,.self::STRATEGY_MIRRO
6a140 52 29 3b 0a 0a 24 6d 69 72 72 6f 72 50 61 74 68 52 65 70 6f 73 20 3d 20 67 65 74 65 6e 76 28 27 R);..$mirrorPathRepos.=.getenv('
6a160 43 4f 4d 50 4f 53 45 52 5f 4d 49 52 52 4f 52 5f 50 41 54 48 5f 52 45 50 4f 53 27 29 3b 0a 69 66 COMPOSER_MIRROR_PATH_REPOS');.if
6a180 20 28 24 6d 69 72 72 6f 72 50 61 74 68 52 65 70 6f 73 29 20 7b 0a 24 63 75 72 72 65 6e 74 53 74 .($mirrorPathRepos).{.$currentSt
6a1a0 72 61 74 65 67 79 20 3d 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 3b 0a rategy.=.self::STRATEGY_MIRROR;.
6a1c0 7d 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 74 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e }..if.(true.===.$transportOption
6a1e0 73 5b 27 73 79 6d 6c 69 6e 6b 27 5d 29 20 7b 0a 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 79 s['symlink']).{.$currentStrategy
6a200 20 3d 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 3b 0a 24 61 6c 6c 6f .=.self::STRATEGY_SYMLINK;.$allo
6a220 77 65 64 53 74 72 61 74 65 67 69 65 73 20 3d 20 61 72 72 61 79 28 73 65 6c 66 3a 3a 53 54 52 41 wedStrategies.=.array(self::STRA
6a240 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 20 3d TEGY_SYMLINK);.}.elseif.(false.=
6a260 3d 3d 20 24 74 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 5b 27 73 79 6d 6c 69 6e 6b 27 5d 29 ==.$transportOptions['symlink'])
6a280 20 7b 0a 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 79 20 3d 20 73 65 6c 66 3a 3a 53 54 52 41 .{.$currentStrategy.=.self::STRA
6a2a0 54 45 47 59 5f 4d 49 52 52 4f 52 3b 0a 24 61 6c 6c 6f 77 65 64 53 74 72 61 74 65 67 69 65 73 20 TEGY_MIRROR;.$allowedStrategies.
6a2c0 3d 20 61 72 72 61 79 28 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 29 3b 0a =.array(self::STRATEGY_MIRROR);.
6a2e0 7d 0a 0a 0a 20 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 }....if.(Platform::isWindows().&
6a300 26 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 20 3d 3d 3d 20 24 63 75 &.self::STRATEGY_SYMLINK.===.$cu
6a320 72 72 65 6e 74 53 74 72 61 74 65 67 79 20 26 26 20 21 24 74 68 69 73 2d 3e 73 61 66 65 4a 75 6e rrentStrategy.&&.!$this->safeJun
6a340 63 74 69 6f 6e 73 28 29 29 20 7b 0a 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 79 20 3d 20 73 ctions()).{.$currentStrategy.=.s
6a360 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 3b 0a 24 61 6c 6c 6f 77 65 64 53 74 elf::STRATEGY_MIRROR;.$allowedSt
6a380 72 61 74 65 67 69 65 73 20 3d 20 61 72 72 61 79 28 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f rategies.=.array(self::STRATEGY_
6a3a0 4d 49 52 52 4f 52 29 3b 0a 7d 0a 0a 24 66 69 6c 65 53 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 MIRROR);.}..$fileSystem.=.new.Fi
6a3c0 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 lesystem();.$this->filesystem->r
6a3e0 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 3b 0a 0a 69 66 20 28 24 6f 75 74 emoveDirectory($path);..if.($out
6a400 70 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 put).{.$this->io->writeError(spr
6a420 69 6e 74 66 28 0a 27 20 20 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 3c 69 6e 66 6f 3e 25 73 3c 2f intf(.'..-.Installing.<info>%s</
6a440 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 27 info>.(<comment>%s</comment>):.'
6a460 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 24 70 61 63 6b 61 67 65 2d ,.$package->getName(),.$package-
6a480 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 0a 29 2c 20 66 61 6c 73 65 >getFullPrettyVersion().),.false
6a4a0 29 3b 0a 7d 0a 0a 24 69 73 46 61 6c 6c 62 61 63 6b 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 73 );.}..$isFallback.=.false;.if.(s
6a4c0 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 53 59 4d 4c 49 4e 4b 20 3d 3d 20 24 63 75 72 72 65 6e elf::STRATEGY_SYMLINK.==.$curren
6a4e0 74 53 74 72 61 74 65 67 79 29 20 7b 0a 74 72 79 20 7b 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a tStrategy).{.try.{.if.(Platform:
6a500 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 :isWindows()).{...$this->io->wri
6a520 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 4a 75 6e 63 74 69 6f 6e 69 6e 67 20 66 72 6f teError(sprintf('Junctioning.fro
6a540 6d 20 25 73 27 2c 20 24 75 72 6c 29 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c m.%s',.$url),.false);.$this->fil
6a560 65 73 79 73 74 65 6d 2d 3e 6a 75 6e 63 74 69 6f 6e 28 24 72 65 61 6c 55 72 6c 2c 20 24 70 61 74 esystem->junction($realUrl,.$pat
6a580 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 62 73 6f 6c 75 74 65 50 61 74 68 20 3d 20 24 70 61 h);.}.else.{.$absolutePath.=.$pa
6a5a0 74 68 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 41 62 th;.if.(!$this->filesystem->isAb
6a5c0 73 6f 6c 75 74 65 50 61 74 68 28 24 61 62 73 6f 6c 75 74 65 50 61 74 68 29 29 20 7b 0a 24 61 62 solutePath($absolutePath)).{.$ab
6a5e0 73 6f 6c 75 74 65 50 61 74 68 20 3d 20 67 65 74 63 77 64 28 29 20 2e 20 44 49 52 45 43 54 4f 52 solutePath.=.getcwd()...DIRECTOR
6a600 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 24 73 68 6f 72 74 65 73 74 Y_SEPARATOR...$path;.}.$shortest
6a620 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 Path.=.$this->filesystem->findSh
6a640 6f 72 74 65 73 74 50 61 74 68 28 24 61 62 73 6f 6c 75 74 65 50 61 74 68 2c 20 24 72 65 61 6c 55 ortestPath($absolutePath,.$realU
6a660 72 6c 29 3b 0a 24 70 61 74 68 20 3d 20 72 74 72 69 6d 28 24 70 61 74 68 2c 20 22 2f 22 29 3b 0a rl);.$path.=.rtrim($path,."/");.
6a680 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 53 $this->io->writeError(sprintf('S
6a6a0 79 6d 6c 69 6e 6b 69 6e 67 20 66 72 6f 6d 20 25 73 27 2c 20 24 75 72 6c 29 2c 20 66 61 6c 73 65 ymlinking.from.%s',.$url),.false
6a6c0 29 3b 0a 24 66 69 6c 65 53 79 73 74 65 6d 2d 3e 73 79 6d 6c 69 6e 6b 28 24 73 68 6f 72 74 65 73 );.$fileSystem->symlink($shortes
6a6e0 74 50 61 74 68 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 49 4f 45 78 63 65 tPath,.$path);.}.}.catch.(IOExce
6a700 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 73 65 6c 66 3a 3a 53 ption.$e).{.if.(in_array(self::S
6a720 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 2c 20 24 61 6c 6c 6f 77 65 64 53 74 72 61 74 65 67 69 TRATEGY_MIRROR,.$allowedStrategi
6a740 65 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 es)).{.$this->io->writeError('')
6a760 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3c 65 72 ;.$this->io->writeError('....<er
6a780 72 6f 72 3e 53 79 6d 6c 69 6e 6b 20 66 61 69 6c 65 64 2c 20 66 61 6c 6c 62 61 63 6b 20 74 6f 20 ror>Symlink.failed,.fallback.to.
6a7a0 75 73 65 20 6d 69 72 72 6f 72 69 6e 67 21 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 63 75 72 72 65 use.mirroring!</error>');.$curre
6a7c0 6e 74 53 74 72 61 74 65 67 79 20 3d 20 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 ntStrategy.=.self::STRATEGY_MIRR
6a7e0 4f 52 3b 0a 24 69 73 46 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 20 7b OR;.$isFallback.=.true;.}.else.{
6a800 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 .throw.new.\RuntimeException(spr
6a820 69 6e 74 66 28 27 53 79 6d 6c 69 6e 6b 20 66 72 6f 6d 20 22 25 73 22 20 74 6f 20 22 25 73 22 20 intf('Symlink.from."%s".to."%s".
6a840 66 61 69 6c 65 64 21 27 2c 20 24 72 65 61 6c 55 72 6c 2c 20 24 70 61 74 68 29 29 3b 0a 7d 0a 7d failed!',.$realUrl,.$path));.}.}
6a860 0a 7d 0a 0a 0a 20 69 66 20 28 73 65 6c 66 3a 3a 53 54 52 41 54 45 47 59 5f 4d 49 52 52 4f 52 20 .}....if.(self::STRATEGY_MIRROR.
6a880 3d 3d 20 24 63 75 72 72 65 6e 74 53 74 72 61 74 65 67 79 29 20 7b 0a 24 66 73 20 3d 20 6e 65 77 ==.$currentStrategy).{.$fs.=.new
6a8a0 20 43 6f 6d 70 6f 73 65 72 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 72 65 61 6c 55 72 6c 20 .ComposerFilesystem();.$realUrl.
6a8c0 3d 20 24 66 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 72 65 61 6c 55 72 6c 29 3b 0a =.$fs->normalizePath($realUrl);.
6a8e0 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 .$this->io->writeError(sprintf('
6a900 25 73 4d 69 72 72 6f 72 69 6e 67 20 66 72 6f 6d 20 25 73 27 2c 20 24 69 73 46 61 6c 6c 62 61 63 %sMirroring.from.%s',.$isFallbac
6a920 6b 20 3f 20 27 20 20 20 20 27 20 3a 20 27 27 2c 20 24 75 72 6c 29 2c 20 66 61 6c 73 65 29 3b 0a k.?.'....'.:.'',.$url),.false);.
6a940 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 $iterator.=.new.ArchivableFilesF
6a960 69 6e 64 65 72 28 24 72 65 61 6c 55 72 6c 2c 20 61 72 72 61 79 28 29 29 3b 0a 24 66 69 6c 65 53 inder($realUrl,.array());.$fileS
6a980 79 73 74 65 6d 2d 3e 6d 69 72 72 6f 72 28 24 72 65 61 6c 55 72 6c 2c 20 24 70 61 74 68 2c 20 24 ystem->mirror($realUrl,.$path,.$
6a9a0 69 74 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 iterator);.}..$this->io->writeEr
6a9c0 72 6f 72 28 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 ror('');.}.....public.function.r
6a9e0 65 6d 6f 76 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c emove(PackageInterface.$package,
6aa00 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 72 65 61 6c 55 .$path,.$output.=.true).{.$realU
6aa20 72 6c 20 3d 20 72 65 61 6c 70 61 74 68 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 rl.=.realpath($package->getDistU
6aa40 72 6c 28 29 29 3b 0a 0a 69 66 20 28 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 20 3d 3d 3d 20 rl());..if.(realpath($path).===.
6aa60 24 72 65 61 6c 55 72 6c 29 20 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 24 74 68 69 73 $realUrl).{.if.($output).{.$this
6aa80 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 2d 20 52 65 6d 6f 76 69 6e 67 20 3c ->io->writeError("..-.Removing.<
6aaa0 69 6e 66 6f 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 info>"...$package->getName()..."
6aac0 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e </info>.(<comment>"...$package->
6aae0 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d getFullPrettyVersion()..."</comm
6ab00 65 6e 74 3e 29 2c 20 73 6f 75 72 63 65 20 69 73 20 73 74 69 6c 6c 20 70 72 65 73 65 6e 74 20 69 ent>),.source.is.still.present.i
6ab20 6e 20 24 70 61 74 68 22 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 69 66 n.$path");.}..return;.}.......if
6ab40 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 24 74 68 69 73 .(Platform::isWindows().&&.$this
6ab60 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 4a 75 6e 63 74 69 6f 6e 28 24 70 61 74 68 29 29 ->filesystem->isJunction($path))
6ab80 20 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 .{.if.($output).{.$this->io->wri
6aba0 74 65 45 72 72 6f 72 28 22 20 20 2d 20 52 65 6d 6f 76 69 6e 67 20 6a 75 6e 63 74 69 6f 6e 20 66 teError("..-.Removing.junction.f
6abc0 6f 72 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 or.<info>"...$package->getName()
6abe0 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 ..."</info>.(<comment>"...$packa
6ac00 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f ge->getFullPrettyVersion()..."</
6ac20 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 7d 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 comment>)");.}.if.(!$this->files
6ac40 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 4a 75 6e 63 74 69 6f 6e 28 24 70 61 74 68 29 29 20 7b 0a ystem->removeJunction($path)).{.
6ac60 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 20 20 3c 77 61 72 6e $this->io->writeError("....<warn
6ac80 69 6e 67 3e 43 6f 75 6c 64 20 6e 6f 74 20 72 65 6d 6f 76 65 20 6a 75 6e 63 74 69 6f 6e 20 61 74 ing>Could.not.remove.junction.at
6aca0 20 22 20 2e 20 24 70 61 74 68 20 2e 20 22 20 2d 20 69 73 20 61 6e 6f 74 68 65 72 20 70 72 6f 63 ."...$path...".-.is.another.proc
6acc0 65 73 73 20 6c 6f 63 6b 69 6e 67 20 69 74 3f 3c 2f 77 61 72 6e 69 6e 67 3e 22 29 3b 0a 74 68 72 ess.locking.it?</warning>");.thr
6ace0 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 ow.new.\RuntimeException('Could.
6ad00 6e 6f 74 20 72 65 6c 69 61 62 6c 79 20 72 65 6d 6f 76 65 20 6a 75 6e 63 74 69 6f 6e 20 66 6f 72 not.reliably.remove.junction.for
6ad20 20 70 61 63 6b 61 67 65 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 .package.'...$package->getName()
6ad40 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 70 61 72 65 6e 74 3a 3a 72 65 6d 6f 76 65 28 24 70 61 );.}.}.else.{.parent::remove($pa
6ad60 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a ckage,.$path,.$output);.}.}.....
6ad80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 63 73 52 65 66 65 72 65 6e 63 65 28 public.function.getVcsReference(
6ada0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 PackageInterface.$package,.$path
6adc0 29 0a 7b 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b ).{.$parser.=.new.VersionParser;
6ade0 0a 24 67 75 65 73 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 28 24 .$guesser.=.new.VersionGuesser($
6ae00 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f this->config,.new.ProcessExecuto
6ae20 72 28 24 74 68 69 73 2d 3e 69 6f 29 2c 20 24 70 61 72 73 65 72 29 3b 0a 24 64 75 6d 70 65 72 20 r($this->io),.$parser);.$dumper.
6ae40 3d 20 6e 65 77 20 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 0a 24 70 61 63 6b 61 67 65 43 6f 6e 66 =.new.ArrayDumper;..$packageConf
6ae60 69 67 20 3d 20 24 64 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 ig.=.$dumper->dump($package);.if
6ae80 20 28 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 24 67 75 65 73 73 65 72 2d 3e 67 75 .($packageVersion.=.$guesser->gu
6aea0 65 73 73 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 essVersion($packageConfig,.$path
6aec0 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 5b 27 63 6f 6d )).{.return.$packageVersion['com
6aee0 6d 69 74 27 5d 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 mit'];.}.}...............private
6af00 20 66 75 6e 63 74 69 6f 6e 20 73 61 66 65 4a 75 6e 63 74 69 6f 6e 73 28 29 0a 7b 0a 0a 20 72 65 .function.safeJunctions().{...re
6af20 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 turn.function_exists('proc_open'
6af40 29 20 26 26 0a 28 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 4d 41 4a 4f 52 20 ).&&.(PHP_WINDOWS_VERSION_MAJOR.
6af60 3e 20 36 20 7c 7c 0a 28 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 4d 41 4a 4f >.6.||.(PHP_WINDOWS_VERSION_MAJO
6af80 52 20 3d 3d 3d 20 36 20 26 26 20 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 4d R.===.6.&&.PHP_WINDOWS_VERSION_M
6afa0 49 4e 4f 52 20 3e 3d 20 31 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a INOR.>=.1));.}.}.<?php..........
6afc0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b ..namespace.Composer\Downloader;
6afe0 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a ..use.Composer\Util\Filesystem;.
6b000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 65 61 72 50 61 63 6b 61 67 65 45 78 74 72 61 ..........class.PearPackageExtra
6b020 63 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 72 6f 6c 65 73 57 69 74 68 ctor.{.private.static.$rolesWith
6b040 6f 75 74 50 61 63 6b 61 67 65 4e 61 6d 65 50 72 65 66 69 78 20 3d 20 61 72 72 61 79 28 27 70 68 outPackageNamePrefix.=.array('ph
6b060 70 27 2c 20 27 73 63 72 69 70 74 27 2c 20 27 77 77 77 27 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 p',.'script',.'www');..private.$
6b080 66 69 6c 65 73 79 73 74 65 6d 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 3b 0a 0a 70 75 62 6c filesystem;.private.$file;..publ
6b0a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 66 69 6c 65 29 0a 7b ic.function.__construct($file).{
6b0c0 0a 69 66 20 28 21 69 73 5f 66 69 6c 65 28 24 66 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 .if.(!is_file($file)).{.throw.ne
6b0e0 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 50 45 41 w.\UnexpectedValueException('PEA
6b100 52 20 70 61 63 6b 61 67 65 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 20 61 74 20 27 R.package.file.is.not.found.at.'
6b120 2e 24 66 69 6c 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 .$file);.}..$this->filesystem.=.
6b140 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d 20 new.Filesystem();.$this->file.=.
6b160 24 66 69 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 $file;.}...........public.functi
6b180 6f 6e 20 65 78 74 72 61 63 74 54 6f 28 24 74 61 72 67 65 74 2c 20 61 72 72 61 79 20 24 72 6f 6c on.extractTo($target,.array.$rol
6b1a0 65 73 20 3d 20 61 72 72 61 79 28 27 70 68 70 27 20 3d 3e 20 27 2f 27 2c 20 27 73 63 72 69 70 74 es.=.array('php'.=>.'/',.'script
6b1c0 27 20 3d 3e 20 27 2f 62 69 6e 27 29 2c 20 24 76 61 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b '.=>.'/bin'),.$vars.=.array()).{
6b1e0 0a 24 65 78 74 72 61 63 74 69 6f 6e 50 61 74 68 20 3d 20 24 74 61 72 67 65 74 2e 27 2f 74 61 72 .$extractionPath.=.$target.'/tar
6b200 62 61 6c 6c 27 3b 0a 0a 74 72 79 20 7b 0a 24 61 72 63 68 69 76 65 20 3d 20 6e 65 77 20 5c 50 68 ball';..try.{.$archive.=.new.\Ph
6b220 61 72 44 61 74 61 28 24 74 68 69 73 2d 3e 66 69 6c 65 29 3b 0a 24 61 72 63 68 69 76 65 2d 3e 65 arData($this->file);.$archive->e
6b240 78 74 72 61 63 74 54 6f 28 24 65 78 74 72 61 63 74 69 6f 6e 50 61 74 68 2c 20 6e 75 6c 6c 2c 20 xtractTo($extractionPath,.null,.
6b260 74 72 75 65 29 3b 0a 0a 69 66 20 28 21 69 73 5f 66 69 6c 65 28 24 74 68 69 73 2d 3e 63 6f 6d 62 true);..if.(!is_file($this->comb
6b280 69 6e 65 28 24 65 78 74 72 61 63 74 69 6f 6e 50 61 74 68 2c 20 27 2f 70 61 63 6b 61 67 65 2e 78 ine($extractionPath,.'/package.x
6b2a0 6d 6c 27 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 ml'))).{.throw.new.\RuntimeExcep
6b2c0 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 50 45 41 52 20 70 61 63 6b 61 67 65 2e 20 49 74 20 6d tion('Invalid.PEAR.package..It.m
6b2e0 75 73 74 20 63 6f 6e 74 61 69 6e 20 70 61 63 6b 61 67 65 2e 78 6d 6c 20 66 69 6c 65 2e 27 29 3b ust.contain.package.xml.file.');
6b300 0a 7d 0a 0a 24 66 69 6c 65 43 6f 70 79 41 63 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 .}..$fileCopyActions.=.$this->bu
6b320 69 6c 64 43 6f 70 79 41 63 74 69 6f 6e 73 28 24 65 78 74 72 61 63 74 69 6f 6e 50 61 74 68 2c 20 ildCopyActions($extractionPath,.
6b340 24 72 6f 6c 65 73 2c 20 24 76 61 72 73 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 70 79 46 69 6c 65 73 $roles,.$vars);.$this->copyFiles
6b360 28 24 66 69 6c 65 43 6f 70 79 41 63 74 69 6f 6e 73 2c 20 24 65 78 74 72 61 63 74 69 6f 6e 50 61 ($fileCopyActions,.$extractionPa
6b380 74 68 2c 20 24 74 61 72 67 65 74 2c 20 24 72 6f 6c 65 73 2c 20 24 76 61 72 73 29 3b 0a 24 74 68 th,.$target,.$roles,.$vars);.$th
6b3a0 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 is->filesystem->removeDirectory(
6b3c0 24 65 78 74 72 61 63 74 69 6f 6e 50 61 74 68 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 $extractionPath);.}.catch.(\Exce
6b3e0 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 ption.$exception).{.throw.new.\U
6b400 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 nexpectedValueException(sprintf(
6b420 27 46 61 69 6c 65 64 20 74 6f 20 65 78 74 72 61 63 74 20 50 45 41 52 20 70 61 63 6b 61 67 65 20 'Failed.to.extract.PEAR.package.
6b440 25 73 20 74 6f 20 25 73 2e 20 52 65 61 73 6f 6e 3a 20 25 73 27 2c 20 24 74 68 69 73 2d 3e 66 69 %s.to.%s..Reason:.%s',.$this->fi
6b460 6c 65 2c 20 24 74 61 72 67 65 74 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 le,.$target,.$exception->getMess
6b480 61 67 65 28 29 29 2c 20 30 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a age()),.0,.$exception);.}.}.....
6b4a0 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 46 69 6c 65 73 ......private.function.copyFiles
6b4c0 28 24 66 69 6c 65 73 2c 20 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 2c 20 24 72 6f 6c 65 ($files,.$source,.$target,.$role
6b4e0 73 2c 20 24 76 61 72 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 65 73 20 61 73 20 24 s,.$vars).{.foreach.($files.as.$
6b500 66 69 6c 65 29 20 7b 0a 24 66 72 6f 6d 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 file).{.$from.=.$this->combine($
6b520 73 6f 75 72 63 65 2c 20 24 66 69 6c 65 5b 27 66 72 6f 6d 27 5d 29 3b 0a 24 74 6f 20 3d 20 24 74 source,.$file['from']);.$to.=.$t
6b540 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 74 61 72 67 65 74 2c 20 24 72 6f 6c 65 73 5b 24 66 69 his->combine($target,.$roles[$fi
6b560 6c 65 5b 27 72 6f 6c 65 27 5d 5d 29 3b 0a 24 74 6f 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 le['role']]);.$to.=.$this->combi
6b580 6e 65 28 24 74 6f 2c 20 24 66 69 6c 65 5b 27 74 6f 27 5d 29 3b 0a 24 74 61 73 6b 73 20 3d 20 24 ne($to,.$file['to']);.$tasks.=.$
6b5a0 66 69 6c 65 5b 27 74 61 73 6b 73 27 5d 3b 0a 24 74 68 69 73 2d 3e 63 6f 70 79 46 69 6c 65 28 24 file['tasks'];.$this->copyFile($
6b5c0 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 74 61 73 6b 73 2c 20 24 76 61 72 73 29 3b 0a 7d 0a 7d 0a 0a from,.$to,.$tasks,.$vars);.}.}..
6b5e0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 46 69 6c 65 28 24 66 72 6f 6d 2c private.function.copyFile($from,
6b600 20 24 74 6f 2c 20 24 74 61 73 6b 73 2c 20 24 76 61 72 73 29 0a 7b 0a 69 66 20 28 21 69 73 5f 66 .$to,.$tasks,.$vars).{.if.(!is_f
6b620 69 6c 65 28 24 66 72 6f 6d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 ile($from)).{.throw.new.\Runtime
6b640 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 50 45 41 52 20 70 61 63 6b 61 67 65 2e Exception('Invalid.PEAR.package.
6b660 20 70 61 63 6b 61 67 65 2e 78 6d 6c 20 64 65 66 69 6e 65 73 20 66 69 6c 65 20 74 68 61 74 20 69 .package.xml.defines.file.that.i
6b680 73 20 6e 6f 74 20 6c 6f 63 61 74 65 64 20 69 6e 73 69 64 65 20 74 61 72 62 61 6c 6c 2e 27 29 3b s.not.located.inside.tarball.');
6b6a0 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 .}..$this->filesystem->ensureDir
6b6c0 65 63 74 6f 72 79 45 78 69 73 74 73 28 64 69 72 6e 61 6d 65 28 24 74 6f 29 29 3b 0a 0a 69 66 20 ectoryExists(dirname($to));..if.
6b6e0 28 30 20 3d 3d 20 63 6f 75 6e 74 28 24 74 61 73 6b 73 29 29 20 7b 0a 24 63 6f 70 69 65 64 20 3d (0.==.count($tasks)).{.$copied.=
6b700 20 63 6f 70 79 28 24 66 72 6f 6d 2c 20 24 74 6f 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e .copy($from,.$to);.}.else.{.$con
6b720 74 65 6e 74 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 72 6f 6d 29 3b tent.=.file_get_contents($from);
6b740 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 .$replacements.=.array();.foreac
6b760 68 20 28 24 74 61 73 6b 73 20 61 73 20 24 74 61 73 6b 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d h.($tasks.as.$task).{.$pattern.=
6b780 20 24 74 61 73 6b 5b 27 66 72 6f 6d 27 5d 3b 0a 24 76 61 72 4e 61 6d 65 20 3d 20 24 74 61 73 6b .$task['from'];.$varName.=.$task
6b7a0 5b 27 74 6f 27 5d 3b 0a 69 66 20 28 69 73 73 65 74 28 24 76 61 72 73 5b 24 76 61 72 4e 61 6d 65 ['to'];.if.(isset($vars[$varName
6b7c0 5d 29 29 20 7b 0a 69 66 20 28 24 76 61 72 4e 61 6d 65 20 3d 3d 3d 20 27 70 68 70 5f 62 69 6e 27 ])).{.if.($varName.===.'php_bin'
6b7e0 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 6f 2c 20 27 2e 62 61 74 27 .&&.false.===.strpos($to,.'.bat'
6b800 29 29 20 7b 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 5b 24 70 61 74 74 65 72 6e 5d 20 3d 20 70 )).{.$replacements[$pattern].=.p
6b820 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5c 2e 62 61 74 24 7d 27 2c 20 27 27 2c 20 24 76 61 72 reg_replace('{\.bat$}',.'',.$var
6b840 73 5b 24 76 61 72 4e 61 6d 65 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 70 6c 61 63 65 6d s[$varName]);.}.else.{.$replacem
6b860 65 6e 74 73 5b 24 70 61 74 74 65 72 6e 5d 20 3d 20 24 76 61 72 73 5b 24 76 61 72 4e 61 6d 65 5d ents[$pattern].=.$vars[$varName]
6b880 3b 0a 7d 0a 7d 0a 7d 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 73 74 72 74 72 28 24 63 6f 6e 74 65 6e ;.}.}.}.$content.=.strtr($conten
6b8a0 74 2c 20 24 72 65 70 6c 61 63 65 6d 65 6e 74 73 29 3b 0a 0a 24 63 6f 70 69 65 64 20 3d 20 66 69 t,.$replacements);..$copied.=.fi
6b8c0 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 6f 2c 20 24 63 6f 6e 74 65 6e 74 29 3b 0a le_put_contents($to,.$content);.
6b8e0 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 63 6f 70 69 65 64 29 20 7b 0a 74 68 72 6f }..if.(false.===.$copied).{.thro
6b900 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 w.new.\RuntimeException(sprintf(
6b920 27 46 61 69 6c 65 64 20 74 6f 20 63 6f 70 79 20 25 73 20 74 6f 20 25 73 27 2c 20 24 66 72 6f 6d 'Failed.to.copy.%s.to.%s',.$from
6b940 2c 20 24 74 6f 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 ,.$to));.}.}............private.
6b960 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 43 6f 70 79 41 63 74 69 6f 6e 73 28 24 73 6f 75 72 63 function.buildCopyActions($sourc
6b980 65 2c 20 61 72 72 61 79 20 24 72 6f 6c 65 73 2c 20 24 76 61 72 73 29 0a 7b 0a 0a 24 70 61 63 6b e,.array.$roles,.$vars).{..$pack
6b9a0 61 67 65 20 3d 20 73 69 6d 70 6c 65 78 6d 6c 5f 6c 6f 61 64 5f 73 74 72 69 6e 67 28 66 69 6c 65 age.=.simplexml_load_string(file
6b9c0 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f _get_contents($this->combine($so
6b9e0 75 72 63 65 2c 20 27 70 61 63 6b 61 67 65 2e 78 6d 6c 27 29 29 29 3b 0a 69 66 20 28 66 61 6c 73 urce,.'package.xml')));.if.(fals
6ba00 65 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e e.===.$package).{.throw.new.\Run
6ba20 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 64 65 66 69 6e 69 74 69 6f timeException('Package.definitio
6ba40 6e 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 27 29 3b 0a 7d 0a 0a 24 70 61 63 6b n.file.is.not.valid.');.}..$pack
6ba60 61 67 65 53 63 68 65 6d 61 56 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 5b 27 76 65 72 ageSchemaVersion.=.$package['ver
6ba80 73 69 6f 6e 27 5d 3b 0a 69 66 20 28 27 31 2e 30 27 20 3d 3d 20 24 70 61 63 6b 61 67 65 53 63 68 sion'];.if.('1.0'.==.$packageSch
6baa0 65 6d 61 56 65 72 73 69 6f 6e 29 20 7b 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 24 70 61 63 6b 61 emaVersion).{.$children.=.$packa
6bac0 67 65 2d 3e 72 65 6c 65 61 73 65 2d 3e 66 69 6c 65 6c 69 73 74 2d 3e 63 68 69 6c 64 72 65 6e 28 ge->release->filelist->children(
6bae0 29 3b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b );.$packageName.=.(string).$pack
6bb00 61 67 65 2d 3e 6e 61 6d 65 3b 0a 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 20 3d 20 28 73 74 age->name;.$packageVersion.=.(st
6bb20 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 2d 3e 72 65 6c 65 61 73 65 2d 3e 76 65 72 73 69 6f 6e ring).$package->release->version
6bb40 3b 0a 24 73 6f 75 72 63 65 44 69 72 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 2e 20 27 2d ;.$sourceDir.=.$packageName...'-
6bb60 27 20 2e 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 '...$packageVersion;.$result.=.$
6bb80 74 68 69 73 2d 3e 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 31 30 28 24 63 68 69 6c 64 72 65 this->buildSourceList10($childre
6bba0 6e 2c 20 24 72 6f 6c 65 73 2c 20 24 73 6f 75 72 63 65 44 69 72 2c 20 27 27 2c 20 6e 75 6c 6c 2c n,.$roles,.$sourceDir,.'',.null,
6bbc0 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 32 2e 30 27 20 .$packageName);.}.elseif.('2.0'.
6bbe0 3d 3d 20 24 70 61 63 6b 61 67 65 53 63 68 65 6d 61 56 65 72 73 69 6f 6e 20 7c 7c 20 27 32 2e 31 ==.$packageSchemaVersion.||.'2.1
6bc00 27 20 3d 3d 20 24 70 61 63 6b 61 67 65 53 63 68 65 6d 61 56 65 72 73 69 6f 6e 29 20 7b 0a 24 63 '.==.$packageSchemaVersion).{.$c
6bc20 68 69 6c 64 72 65 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 63 6f 6e 74 65 6e 74 73 2d 3e 63 68 hildren.=.$package->contents->ch
6bc40 69 6c 64 72 65 6e 28 29 3b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 ildren();.$packageName.=.(string
6bc60 29 20 24 70 61 63 6b 61 67 65 2d 3e 6e 61 6d 65 3b 0a 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f ).$package->name;.$packageVersio
6bc80 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 2d 3e 76 65 72 73 69 6f 6e 2d 3e n.=.(string).$package->version->
6bca0 72 65 6c 65 61 73 65 3b 0a 24 73 6f 75 72 63 65 44 69 72 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 release;.$sourceDir.=.$packageNa
6bcc0 6d 65 20 2e 20 27 2d 27 20 2e 20 24 70 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 3b 0a 24 72 65 73 me...'-'...$packageVersion;.$res
6bce0 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 32 30 28 24 ult.=.$this->buildSourceList20($
6bd00 63 68 69 6c 64 72 65 6e 2c 20 24 72 6f 6c 65 73 2c 20 24 73 6f 75 72 63 65 44 69 72 2c 20 27 27 children,.$roles,.$sourceDir,.''
6bd20 2c 20 6e 75 6c 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 0a 24 6e 61 6d 65 73 70 61 ,.null,.$packageName);..$namespa
6bd40 63 65 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 3b ces.=.$package->getNamespaces();
6bd60 0a 24 70 61 63 6b 61 67 65 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 .$package->registerXPathNamespac
6bd80 65 28 27 6e 73 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 73 5b 27 27 5d 29 3b 0a 24 72 65 6c 65 61 e('ns',.$namespaces['']);.$relea
6bda0 73 65 4e 6f 64 65 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 78 70 61 74 68 28 27 6e 73 3a 70 68 seNodes.=.$package->xpath('ns:ph
6bdc0 70 72 65 6c 65 61 73 65 27 29 3b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 79 52 65 6c 65 61 73 65 28 prelease');.$this->applyRelease(
6bde0 24 72 65 73 75 6c 74 2c 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 73 2c 20 24 76 61 72 73 29 3b 0a $result,.$releaseNodes,.$vars);.
6be00 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 }.else.{.throw.new.\RuntimeExcep
6be20 74 69 6f 6e 28 27 55 6e 73 75 70 70 6f 72 74 65 64 20 73 63 68 65 6d 61 20 76 65 72 73 69 6f 6e tion('Unsupported.schema.version
6be40 20 6f 66 20 70 61 63 6b 61 67 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 69 6c 65 2e 27 29 3b 0a .of.package.definition.file.');.
6be60 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 }..return.$result;.}..private.fu
6be80 6e 63 74 69 6f 6e 20 61 70 70 6c 79 52 65 6c 65 61 73 65 28 26 24 61 63 74 69 6f 6e 73 2c 20 24 nction.applyRelease(&$actions,.$
6bea0 72 65 6c 65 61 73 65 4e 6f 64 65 73 2c 20 24 76 61 72 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 releaseNodes,.$vars).{.foreach.(
6bec0 24 72 65 6c 65 61 73 65 4e 6f 64 65 73 20 61 73 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 29 20 7b $releaseNodes.as.$releaseNode).{
6bee0 0a 24 72 65 71 75 69 72 65 64 4f 73 20 3d 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 2d 3e 69 6e 73 .$requiredOs.=.$releaseNode->ins
6bf00 74 61 6c 6c 63 6f 6e 64 69 74 69 6f 6e 73 20 26 26 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 2d 3e tallconditions.&&.$releaseNode->
6bf20 69 6e 73 74 61 6c 6c 63 6f 6e 64 69 74 69 6f 6e 73 2d 3e 6f 73 20 26 26 20 24 72 65 6c 65 61 73 installconditions->os.&&.$releas
6bf40 65 4e 6f 64 65 2d 3e 69 6e 73 74 61 6c 6c 63 6f 6e 64 69 74 69 6f 6e 73 2d 3e 6f 73 2d 3e 6e 61 eNode->installconditions->os->na
6bf60 6d 65 20 3f 20 28 73 74 72 69 6e 67 29 20 24 72 65 6c 65 61 73 65 4e 6f 64 65 2d 3e 69 6e 73 74 me.?.(string).$releaseNode->inst
6bf80 61 6c 6c 63 6f 6e 64 69 74 69 6f 6e 73 2d 3e 6f 73 2d 3e 6e 61 6d 65 20 3a 20 27 27 3b 0a 69 66 allconditions->os->name.:.'';.if
6bfa0 20 28 24 72 65 71 75 69 72 65 64 4f 73 20 26 26 20 24 76 61 72 73 5b 27 6f 73 27 5d 20 21 3d 20 .($requiredOs.&&.$vars['os'].!=.
6bfc0 24 72 65 71 75 69 72 65 64 4f 73 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 $requiredOs).{.continue;.}..if.(
6bfe0 24 72 65 6c 65 61 73 65 4e 6f 64 65 2d 3e 66 69 6c 65 6c 69 73 74 29 20 7b 0a 66 6f 72 65 61 63 $releaseNode->filelist).{.foreac
6c000 68 20 28 24 72 65 6c 65 61 73 65 4e 6f 64 65 2d 3e 66 69 6c 65 6c 69 73 74 2d 3e 63 68 69 6c 64 h.($releaseNode->filelist->child
6c020 72 65 6e 28 29 20 61 73 20 24 61 63 74 69 6f 6e 29 20 7b 0a 69 66 20 28 27 69 6e 73 74 61 6c 6c ren().as.$action).{.if.('install
6c040 27 20 3d 3d 20 24 61 63 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 6e 61 6d 65 '.==.$action->getName()).{.$name
6c060 20 3d 20 28 73 74 72 69 6e 67 29 20 24 61 63 74 69 6f 6e 5b 27 6e 61 6d 65 27 5d 3b 0a 24 61 73 .=.(string).$action['name'];.$as
6c080 20 3d 20 28 73 74 72 69 6e 67 29 20 24 61 63 74 69 6f 6e 5b 27 61 73 27 5d 3b 0a 69 66 20 28 69 .=.(string).$action['as'];.if.(i
6c0a0 73 73 65 74 28 24 61 63 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 61 63 74 69 6f 6e sset($actions[$name])).{.$action
6c0c0 73 5b 24 6e 61 6d 65 5d 5b 27 74 6f 27 5d 20 3d 20 24 61 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 s[$name]['to'].=.$as;.}.}.elseif
6c0e0 20 28 27 69 67 6e 6f 72 65 27 20 3d 3d 20 24 61 63 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 .('ignore'.==.$action->getName()
6c100 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 61 63 74 69 6f 6e 5b 27 6e 61 ).{.$name.=.(string).$action['na
6c120 6d 65 27 5d 3b 0a 75 6e 73 65 74 28 24 61 63 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 20 me'];.unset($actions[$name]);.}.
6c140 65 6c 73 65 20 7b 0a 0a 20 7d 0a 7d 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 else.{...}.}.}.break;.}.}..priva
6c160 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 31 30 28 24 63 te.function.buildSourceList10($c
6c180 68 69 6c 64 72 65 6e 2c 20 24 74 61 72 67 65 74 52 6f 6c 65 73 2c 20 24 73 6f 75 72 63 65 2c 20 hildren,.$targetRoles,.$source,.
6c1a0 24 74 61 72 67 65 74 2c 20 24 72 6f 6c 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a $target,.$role,.$packageName).{.
6c1c0 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 $result.=.array();....foreach.($
6c1e0 63 68 69 6c 64 72 65 6e 20 61 73 20 24 63 68 69 6c 64 29 20 7b 0a 0a 69 66 20 28 24 63 68 69 6c children.as.$child).{..if.($chil
6c200 64 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 20 27 64 69 72 27 29 20 7b 0a 24 64 69 72 53 6f 75 d->getName().==.'dir').{.$dirSou
6c220 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c 20 28 73 rce.=.$this->combine($source,.(s
6c240 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d 29 3b 0a 24 64 69 72 54 61 72 67 tring).$child['name']);.$dirTarg
6c260 65 74 20 3d 20 24 63 68 69 6c 64 5b 27 62 61 73 65 69 6e 73 74 61 6c 6c 64 69 72 27 5d 20 3f 3a et.=.$child['baseinstalldir'].?:
6c280 20 24 74 61 72 67 65 74 3b 0a 24 64 69 72 52 6f 6c 65 20 3d 20 24 63 68 69 6c 64 5b 27 72 6f 6c .$target;.$dirRole.=.$child['rol
6c2a0 65 27 5d 20 3f 3a 20 24 72 6f 6c 65 3b 0a 24 64 69 72 46 69 6c 65 73 20 3d 20 24 74 68 69 73 2d e'].?:.$role;.$dirFiles.=.$this-
6c2c0 3e 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 31 30 28 24 63 68 69 6c 64 2d 3e 63 68 69 6c 64 >buildSourceList10($child->child
6c2e0 72 65 6e 28 29 2c 20 24 74 61 72 67 65 74 52 6f 6c 65 73 2c 20 24 64 69 72 53 6f 75 72 63 65 2c ren(),.$targetRoles,.$dirSource,
6c300 20 24 64 69 72 54 61 72 67 65 74 2c 20 24 64 69 72 52 6f 6c 65 2c 20 24 70 61 63 6b 61 67 65 4e .$dirTarget,.$dirRole,.$packageN
6c320 61 6d 65 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 73 ame);.$result.=.array_merge($res
6c340 75 6c 74 2c 20 24 64 69 72 46 69 6c 65 73 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 63 68 69 6c ult,.$dirFiles);.}.elseif.($chil
6c360 64 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 20 27 66 69 6c 65 27 29 20 7b 0a 24 66 69 6c 65 52 d->getName().==.'file').{.$fileR
6c380 6f 6c 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 72 6f 6c 65 27 5d 20 3f 3a ole.=.(string).$child['role'].?:
6c3a0 20 24 72 6f 6c 65 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 61 72 67 65 74 52 6f 6c 65 73 5b 24 .$role;.if.(isset($targetRoles[$
6c3c0 66 69 6c 65 52 6f 6c 65 5d 29 29 20 7b 0a 24 66 69 6c 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e fileRole])).{.$fileName.=.(strin
6c3e0 67 29 20 28 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d 20 3f 3a 20 24 63 68 69 6c 64 5b 30 5d 29 g).($child['name'].?:.$child[0])
6c400 3b 20 0a 20 24 66 69 6c 65 53 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 ;...$fileSource.=.$this->combine
6c420 28 24 73 6f 75 72 63 65 2c 20 24 66 69 6c 65 4e 61 6d 65 29 3b 0a 24 66 69 6c 65 54 61 72 67 65 ($source,.$fileName);.$fileTarge
6c440 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 28 73 74 72 69 6e 67 29 20 24 63 68 69 t.=.$this->combine((string).$chi
6c460 6c 64 5b 27 62 61 73 65 69 6e 73 74 61 6c 6c 64 69 72 27 5d 20 3f 3a 20 24 74 61 72 67 65 74 2c ld['baseinstalldir'].?:.$target,
6c480 20 24 66 69 6c 65 4e 61 6d 65 29 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 66 69 6c 65 .$fileName);.if.(!in_array($file
6c4a0 52 6f 6c 65 2c 20 73 65 6c 66 3a 3a 24 72 6f 6c 65 73 57 69 74 68 6f 75 74 50 61 63 6b 61 67 65 Role,.self::$rolesWithoutPackage
6c4c0 4e 61 6d 65 50 72 65 66 69 78 29 29 20 7b 0a 24 66 69 6c 65 54 61 72 67 65 74 20 3d 20 24 70 61 NamePrefix)).{.$fileTarget.=.$pa
6c4e0 63 6b 61 67 65 4e 61 6d 65 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 54 61 72 67 65 74 3b 0a 7d ckageName...'/'...$fileTarget;.}
6c500 0a 24 72 65 73 75 6c 74 5b 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 5d .$result[(string).$child['name']
6c520 5d 20 3d 20 61 72 72 61 79 28 27 66 72 6f 6d 27 20 3d 3e 20 24 66 69 6c 65 53 6f 75 72 63 65 2c ].=.array('from'.=>.$fileSource,
6c540 20 27 74 6f 27 20 3d 3e 20 24 66 69 6c 65 54 61 72 67 65 74 2c 20 27 72 6f 6c 65 27 20 3d 3e 20 .'to'.=>.$fileTarget,.'role'.=>.
6c560 24 66 69 6c 65 52 6f 6c 65 2c 20 27 74 61 73 6b 73 27 20 3d 3e 20 61 72 72 61 79 28 29 29 3b 0a $fileRole,.'tasks'.=>.array());.
6c580 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 }.}.}..return.$result;.}..privat
6c5a0 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 53 6f 75 72 63 65 4c 69 73 74 32 30 28 24 63 68 e.function.buildSourceList20($ch
6c5c0 69 6c 64 72 65 6e 2c 20 24 74 61 72 67 65 74 52 6f 6c 65 73 2c 20 24 73 6f 75 72 63 65 2c 20 24 ildren,.$targetRoles,.$source,.$
6c5e0 74 61 72 67 65 74 2c 20 24 72 6f 6c 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 24 target,.$role,.$packageName).{.$
6c600 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 63 result.=.array();....foreach.($c
6c620 68 69 6c 64 72 65 6e 20 61 73 20 24 63 68 69 6c 64 29 20 7b 0a 0a 69 66 20 28 27 64 69 72 27 20 hildren.as.$child).{..if.('dir'.
6c640 3d 3d 20 24 63 68 69 6c 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 64 69 72 53 6f 75 72 ==.$child->getName()).{.$dirSour
6c660 63 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 28 24 73 6f 75 72 63 65 2c 20 24 63 68 ce.=.$this->combine($source,.$ch
6c680 69 6c 64 5b 27 6e 61 6d 65 27 5d 29 3b 0a 24 64 69 72 54 61 72 67 65 74 20 3d 20 24 63 68 69 6c ild['name']);.$dirTarget.=.$chil
6c6a0 64 5b 27 62 61 73 65 69 6e 73 74 61 6c 6c 64 69 72 27 5d 20 3f 3a 20 24 74 61 72 67 65 74 3b 0a d['baseinstalldir'].?:.$target;.
6c6c0 24 64 69 72 52 6f 6c 65 20 3d 20 24 63 68 69 6c 64 5b 27 72 6f 6c 65 27 5d 20 3f 3a 20 24 72 6f $dirRole.=.$child['role'].?:.$ro
6c6e0 6c 65 3b 0a 24 64 69 72 46 69 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 53 6f 75 72 le;.$dirFiles.=.$this->buildSour
6c700 63 65 4c 69 73 74 32 30 28 24 63 68 69 6c 64 2d 3e 63 68 69 6c 64 72 65 6e 28 29 2c 20 24 74 61 ceList20($child->children(),.$ta
6c720 72 67 65 74 52 6f 6c 65 73 2c 20 24 64 69 72 53 6f 75 72 63 65 2c 20 24 64 69 72 54 61 72 67 65 rgetRoles,.$dirSource,.$dirTarge
6c740 74 2c 20 24 64 69 72 52 6f 6c 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a 24 72 65 73 t,.$dirRole,.$packageName);.$res
6c760 75 6c 74 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 73 75 6c 74 2c 20 24 64 69 72 46 ult.=.array_merge($result,.$dirF
6c780 69 6c 65 73 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 66 69 6c 65 27 20 3d 3d 20 24 63 68 69 6c iles);.}.elseif.('file'.==.$chil
6c7a0 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 66 69 6c 65 52 6f 6c 65 20 3d 20 28 73 74 72 d->getName()).{.$fileRole.=.(str
6c7c0 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 72 6f 6c 65 27 5d 20 3f 3a 20 24 72 6f 6c 65 3b 0a 69 66 ing).$child['role'].?:.$role;.if
6c7e0 20 28 69 73 73 65 74 28 24 74 61 72 67 65 74 52 6f 6c 65 73 5b 24 66 69 6c 65 52 6f 6c 65 5d 29 .(isset($targetRoles[$fileRole])
6c800 29 20 7b 0a 24 66 69 6c 65 53 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 ).{.$fileSource.=.$this->combine
6c820 28 24 73 6f 75 72 63 65 2c 20 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 6e 61 6d 65 27 ($source,.(string).$child['name'
6c840 5d 29 3b 0a 24 66 69 6c 65 54 61 72 67 65 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 62 69 6e 65 ]);.$fileTarget.=.$this->combine
6c860 28 28 73 74 72 69 6e 67 29 20 28 24 63 68 69 6c 64 5b 27 62 61 73 65 69 6e 73 74 61 6c 6c 64 69 ((string).($child['baseinstalldi
6c880 72 27 5d 20 3f 3a 20 24 74 61 72 67 65 74 29 2c 20 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 r'].?:.$target),.(string).$child
6c8a0 5b 27 6e 61 6d 65 27 5d 29 3b 0a 24 66 69 6c 65 54 61 73 6b 73 20 3d 20 61 72 72 61 79 28 29 3b ['name']);.$fileTasks.=.array();
6c8c0 0a 66 6f 72 65 61 63 68 20 28 24 63 68 69 6c 64 2d 3e 63 68 69 6c 64 72 65 6e 28 27 68 74 74 70 .foreach.($child->children('http
6c8e0 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 74 61 73 6b 73 2d 31 2e 30 27 29 20 ://pear.php.net/dtd/tasks-1.0').
6c900 61 73 20 24 74 61 73 6b 4e 6f 64 65 29 20 7b 0a 69 66 20 28 27 72 65 70 6c 61 63 65 27 20 3d 3d as.$taskNode).{.if.('replace'.==
6c920 20 24 74 61 73 6b 4e 6f 64 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 66 69 6c 65 54 61 .$taskNode->getName()).{.$fileTa
6c940 73 6b 73 5b 5d 20 3d 20 61 72 72 61 79 28 27 66 72 6f 6d 27 20 3d 3e 20 28 73 74 72 69 6e 67 29 sks[].=.array('from'.=>.(string)
6c960 20 24 74 61 73 6b 4e 6f 64 65 2d 3e 61 74 74 72 69 62 75 74 65 73 28 29 2d 3e 66 72 6f 6d 2c 20 .$taskNode->attributes()->from,.
6c980 27 74 6f 27 20 3d 3e 20 28 73 74 72 69 6e 67 29 20 24 74 61 73 6b 4e 6f 64 65 2d 3e 61 74 74 72 'to'.=>.(string).$taskNode->attr
6c9a0 69 62 75 74 65 73 28 29 2d 3e 74 6f 29 3b 0a 7d 0a 7d 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 ibutes()->to);.}.}.if.(!in_array
6c9c0 28 24 66 69 6c 65 52 6f 6c 65 2c 20 73 65 6c 66 3a 3a 24 72 6f 6c 65 73 57 69 74 68 6f 75 74 50 ($fileRole,.self::$rolesWithoutP
6c9e0 61 63 6b 61 67 65 4e 61 6d 65 50 72 65 66 69 78 29 29 20 7b 0a 24 66 69 6c 65 54 61 72 67 65 74 ackageNamePrefix)).{.$fileTarget
6ca00 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 54 61 72 .=.$packageName...'/'...$fileTar
6ca20 67 65 74 3b 0a 7d 0a 24 72 65 73 75 6c 74 5b 28 73 74 72 69 6e 67 29 20 24 63 68 69 6c 64 5b 27 get;.}.$result[(string).$child['
6ca40 6e 61 6d 65 27 5d 5d 20 3d 20 61 72 72 61 79 28 27 66 72 6f 6d 27 20 3d 3e 20 24 66 69 6c 65 53 name']].=.array('from'.=>.$fileS
6ca60 6f 75 72 63 65 2c 20 27 74 6f 27 20 3d 3e 20 24 66 69 6c 65 54 61 72 67 65 74 2c 20 27 72 6f 6c ource,.'to'.=>.$fileTarget,.'rol
6ca80 65 27 20 3d 3e 20 24 66 69 6c 65 52 6f 6c 65 2c 20 27 74 61 73 6b 73 27 20 3d 3e 20 24 66 69 6c e'.=>.$fileRole,.'tasks'.=>.$fil
6caa0 65 54 61 73 6b 73 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a eTasks);.}.}.}..return.$result;.
6cac0 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 62 69 6e 65 28 24 6c 65 66 }..private.function.combine($lef
6cae0 74 2c 20 24 72 69 67 68 74 29 0a 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 6c 65 66 74 2c t,.$right).{.return.rtrim($left,
6cb00 20 27 2f 27 29 20 2e 20 27 2f 27 20 2e 20 6c 74 72 69 6d 28 24 72 69 67 68 74 2c 20 27 2f 27 29 .'/')...'/'...ltrim($right,.'/')
6cb20 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ;.}.}.<?php............namespace
6cb40 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f .Composer\Downloader;..use.Compo
6cb60 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 ser\Package\PackageInterface;.us
6cb80 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 e.Composer\Repository\VcsReposit
6cba0 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 65 72 66 6f 72 63 65 3b ory;.use.Composer\Util\Perforce;
6cbc0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 65 72 66 6f 72 63 65 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 .....class.PerforceDownloader.ex
6cbe0 74 65 6e 64 73 20 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 tends.VcsDownloader.{..protected
6cc00 20 24 70 65 72 66 6f 72 63 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .$perforce;.....public.function.
6cc20 64 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 doDownload(PackageInterface.$pac
6cc40 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 24 72 65 66 20 3d 20 24 70 61 63 kage,.$path,.$url).{.$ref.=.$pac
6cc60 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 24 6c 61 62 kage->getSourceReference();.$lab
6cc80 65 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 61 62 65 6c 46 72 6f 6d 53 6f 75 72 63 65 52 65 el.=.$this->getLabelFromSourceRe
6cca0 66 65 72 65 6e 63 65 28 24 72 65 66 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 ference($ref);..$this->io->write
6ccc0 45 72 72 6f 72 28 27 43 6c 6f 6e 69 6e 67 20 27 20 2e 20 24 72 65 66 29 3b 0a 24 74 68 69 73 2d Error('Cloning.'...$ref);.$this-
6cce0 3e 69 6e 69 74 50 65 72 66 6f 72 63 65 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 >initPerforce($package,.$path,.$
6cd00 75 72 6c 29 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 73 65 74 53 74 72 65 61 6d url);.$this->perforce->setStream
6cd20 28 24 72 65 66 29 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 70 34 4c 6f 67 69 6e ($ref);.$this->perforce->p4Login
6cd40 28 29 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 77 72 69 74 65 50 34 43 6c 69 65 ();.$this->perforce->writeP4Clie
6cd60 6e 74 53 70 65 63 28 29 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 63 6f 6e 6e 65 ntSpec();.$this->perforce->conne
6cd80 63 74 43 6c 69 65 6e 74 28 29 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 73 79 6e ctClient();.$this->perforce->syn
6cda0 63 43 6f 64 65 42 61 73 65 28 24 6c 61 62 65 6c 29 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 cCodeBase($label);.$this->perfor
6cdc0 63 65 2d 3e 63 6c 65 61 6e 75 70 43 6c 69 65 6e 74 53 70 65 63 28 29 3b 0a 7d 0a 0a 70 72 69 76 ce->cleanupClientSpec();.}..priv
6cde0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 61 62 65 6c 46 72 6f 6d 53 6f 75 72 63 65 52 ate.function.getLabelFromSourceR
6ce00 65 66 65 72 65 6e 63 65 28 24 72 65 66 29 0a 7b 0a 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 eference($ref).{.$pos.=.strpos($
6ce20 72 65 66 2c 20 27 40 27 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 29 20 7b ref,.'@');.if.(false.!==.$pos).{
6ce40 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 72 65 66 2c 20 24 70 6f 73 20 2b 20 31 29 3b 0a .return.substr($ref,.$pos.+.1);.
6ce60 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 }..return.null;.}..public.functi
6ce80 6f 6e 20 69 6e 69 74 50 65 72 66 6f 72 63 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 on.initPerforce(PackageInterface
6cea0 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 69 66 20 28 21 65 .$package,.$path,.$url).{.if.(!e
6cec0 6d 70 74 79 28 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e mpty($this->perforce)).{.$this->
6cee0 70 65 72 66 6f 72 63 65 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 3b perforce->initializePath($path);
6cf00 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 70 61 63 6b ..return;.}..$repository.=.$pack
6cf20 61 67 65 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 72 65 70 6f 43 6f 6e 66 69 age->getRepository();.$repoConfi
6cf40 67 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 72 65 70 6f 73 69 74 6f 72 79 20 69 6e 73 74 61 6e g.=.null;.if.($repository.instan
6cf60 63 65 6f 66 20 56 63 73 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 ceof.VcsRepository).{.$repoConfi
6cf80 67 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 24 72 65 70 6f 73 69 g.=.$this->getRepoConfig($reposi
6cfa0 74 6f 72 79 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 20 3d 20 50 65 72 66 6f tory);.}.$this->perforce.=.Perfo
6cfc0 72 63 65 3a 3a 63 72 65 61 74 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 rce::create($repoConfig,.$url,.$
6cfe0 70 61 74 68 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 69 6f 29 path,.$this->process,.$this->io)
6d000 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e ;.}..private.function.getRepoCon
6d020 66 69 67 28 56 63 73 52 65 70 6f 73 69 74 6f 72 79 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b fig(VcsRepository.$repository).{
6d040 0a 72 65 74 75 72 6e 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 52 65 70 6f 43 6f 6e 66 .return.$repository->getRepoConf
6d060 69 67 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 ig();.}.....public.function.doUp
6d080 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 date(PackageInterface.$initial,.
6d0a0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c PackageInterface.$target,.$path,
6d0c0 20 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 44 6f 77 6e 6c 6f 61 64 28 24 74 61 72 67 .$url).{.$this->doDownload($targ
6d0e0 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 et,.$path,.$url);.}.....public.f
6d100 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 unction.getLocalChanges(PackageI
6d120 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 74 68 69 nterface.$package,.$path).{.$thi
6d140 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 50 65 72 66 6f 72 63 65 20 64 72 69 76 s->io->writeError('Perforce.driv
6d160 65 72 20 64 6f 65 73 20 6e 6f 74 20 63 68 65 63 6b 20 66 6f 72 20 6c 6f 63 61 6c 20 63 68 61 6e er.does.not.check.for.local.chan
6d180 67 65 73 20 62 65 66 6f 72 65 20 6f 76 65 72 72 69 64 69 6e 67 27 2c 20 74 72 75 65 29 3b 0a 7d ges.before.overriding',.true);.}
6d1a0 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 69 .....protected.function.getCommi
6d1c0 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e tLogs($fromReference,.$toReferen
6d1e0 63 65 2c 20 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 65 72 66 6f ce,.$path).{.return.$this->perfo
6d200 72 63 65 2d 3e 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 rce->getCommitLogs($fromReferenc
6d220 65 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 e,.$toReference);.}..public.func
6d240 74 69 6f 6e 20 73 65 74 50 65 72 66 6f 72 63 65 28 24 70 65 72 66 6f 72 63 65 29 0a 7b 0a 24 74 tion.setPerforce($perforce).{.$t
6d260 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 20 3d 20 24 70 65 72 66 6f 72 63 65 3b 0a 7d 0a 0a 0a 0a his->perforce.=.$perforce;.}....
6d280 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 .protected.function.hasMetadataR
6d2a0 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a epository($path).{.return.true;.
6d2c0 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 }.}.<?php............namespace.C
6d2e0 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 omposer\Downloader;.......class.
6d300 50 68 61 72 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 63 68 69 76 65 44 6f PharDownloader.extends.ArchiveDo
6d320 77 6e 6c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e wnloader.{....protected.function
6d340 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 74 68 29 0a 7b 0a 0a 20 24 61 72 63 68 .extract($file,.$path).{...$arch
6d360 69 76 65 20 3d 20 6e 65 77 20 5c 50 68 61 72 28 24 66 69 6c 65 29 3b 0a 24 61 72 63 68 69 76 65 ive.=.new.\Phar($file);.$archive
6d380 2d 3e 65 78 74 72 61 63 74 54 6f 28 24 70 61 74 68 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a ->extractTo($path,.null,.true);.
6d3a0 0a 0a 0a 0a 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 .....}.}.<?php............namesp
6d3c0 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f ace.Composer\Downloader;..use.Co
6d3e0 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 mposer\Config;.use.Composer\Cach
6d400 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c e;.use.Composer\EventDispatcher\
6d420 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 EventDispatcher;.use.Composer\Ut
6d440 69 6c 5c 49 6e 69 48 65 6c 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c il\IniHelper;.use.Composer\Util\
6d460 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 Platform;.use.Composer\Util\Proc
6d480 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 essExecutor;.use.Composer\Util\R
6d4a0 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f emoteFilesystem;.use.Composer\IO
6d4c0 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 52 61 72 41 72 63 68 69 76 65 3b 0a 0a 0a \IOInterface;.use.RarArchive;...
6d4e0 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 61 72 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 ......class.RarDownloader.extend
6d500 73 20 41 72 63 68 69 76 65 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 s.ArchiveDownloader.{.protected.
6d520 24 70 72 6f 63 65 73 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e $process;..public.function.__con
6d540 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 struct(IOInterface.$io,.Config.$
6d560 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 config,.EventDispatcher.$eventDi
6d580 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 43 61 63 68 65 20 24 63 61 63 68 65 20 3d 20 spatcher.=.null,.Cache.$cache.=.
6d5a0 6e 75 6c 6c 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d null,.ProcessExecutor.$process.=
6d5c0 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e .null,.RemoteFilesystem.$rfs.=.n
6d5e0 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 ull).{.$this->process.=.$process
6d600 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 70 61 .?:.new.ProcessExecutor($io);.pa
6d620 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 rent::__construct($io,.$config,.
6d640 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 3b $eventDispatcher,.$cache,.$rfs);
6d660 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 .}..protected.function.extract($
6d680 66 69 6c 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 6e file,.$path).{.$processError.=.n
6d6a0 75 6c 6c 3b 0a 0a 0a 20 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 ull;....if.(!Platform::isWindows
6d6c0 28 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 75 6e 72 61 72 20 78 20 27 20 2e 20 50 72 ()).{.$command.=.'unrar.x.'...Pr
6d6e0 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 20 2e 20 27 ocessExecutor::escape($file)...'
6d700 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 .'...ProcessExecutor::escape($pa
6d720 74 68 29 20 2e 20 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 26 26 20 63 68 6d 6f 64 20 2d 52 20 75 th)...'.>/dev/null.&&.chmod.-R.u
6d740 2b 77 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 +w.'...ProcessExecutor::escape($
6d760 70 61 74 68 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 path);..if.(0.===.$this->process
6d780 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 ->execute($command,.$ignoredOutp
6d7a0 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 ut)).{.return;.}..$processError.
6d7c0 3d 20 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e =.'Failed.to.execute.'...$comman
6d7e0 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 d..."\n\n"...$this->process->get
6d800 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 ErrorOutput();.}..if.(!class_exi
6d820 73 74 73 28 27 52 61 72 41 72 63 68 69 76 65 27 29 29 20 7b 0a 0a 20 24 69 6e 69 4d 65 73 73 61 sts('RarArchive')).{...$iniMessa
6d840 67 65 20 3d 20 49 6e 69 48 65 6c 70 65 72 3a 3a 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 0a 24 ge.=.IniHelper::getMessage();..$
6d860 65 72 72 6f 72 20 3d 20 22 43 6f 75 6c 64 20 6e 6f 74 20 64 65 63 6f 6d 70 72 65 73 73 20 74 68 error.=."Could.not.decompress.th
6d880 65 20 61 72 63 68 69 76 65 2c 20 65 6e 61 62 6c 65 20 74 68 65 20 50 48 50 20 72 61 72 20 65 78 e.archive,.enable.the.PHP.rar.ex
6d8a0 74 65 6e 73 69 6f 6e 20 6f 72 20 69 6e 73 74 61 6c 6c 20 75 6e 72 61 72 2e 5c 6e 22 0a 2e 20 24 tension.or.install.unrar.\n"...$
6d8c0 69 6e 69 4d 65 73 73 61 67 65 20 2e 20 22 5c 6e 22 20 2e 20 24 70 72 6f 63 65 73 73 45 72 72 6f iniMessage..."\n"...$processErro
6d8e0 72 3b 0a 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 r;..if.(!Platform::isWindows()).
6d900 7b 0a 24 65 72 72 6f 72 20 3d 20 22 43 6f 75 6c 64 20 6e 6f 74 20 64 65 63 6f 6d 70 72 65 73 73 {.$error.=."Could.not.decompress
6d920 20 74 68 65 20 61 72 63 68 69 76 65 2c 20 65 6e 61 62 6c 65 20 74 68 65 20 50 48 50 20 72 61 72 .the.archive,.enable.the.PHP.rar
6d940 20 65 78 74 65 6e 73 69 6f 6e 2e 5c 6e 22 20 2e 20 24 69 6e 69 4d 65 73 73 61 67 65 3b 0a 7d 0a .extension.\n"...$iniMessage;.}.
6d960 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 65 72 .throw.new.\RuntimeException($er
6d980 72 6f 72 29 3b 0a 7d 0a 0a 24 72 61 72 41 72 63 68 69 76 65 20 3d 20 52 61 72 41 72 63 68 69 76 ror);.}..$rarArchive.=.RarArchiv
6d9a0 65 3a 3a 6f 70 65 6e 28 24 66 69 6c 65 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 e::open($file);..if.(false.===.$
6d9c0 72 61 72 41 72 63 68 69 76 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 rarArchive).{.throw.new.\Unexpec
6d9e0 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 6f 70 65 tedValueException('Could.not.ope
6da00 6e 20 52 41 52 20 61 72 63 68 69 76 65 3a 20 27 20 2e 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a 24 65 n.RAR.archive:.'...$file);.}..$e
6da20 6e 74 72 69 65 73 20 3d 20 24 72 61 72 41 72 63 68 69 76 65 2d 3e 67 65 74 45 6e 74 72 69 65 73 ntries.=.$rarArchive->getEntries
6da40 28 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 74 72 69 65 73 29 20 7b 0a 74 ();..if.(false.===.$entries).{.t
6da60 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c hrow.new.\RuntimeException('Coul
6da80 64 20 6e 6f 74 20 72 65 74 72 69 65 76 65 20 52 41 52 20 61 72 63 68 69 76 65 20 65 6e 74 72 69 d.not.retrieve.RAR.archive.entri
6daa0 65 73 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 65 6e 74 72 69 65 73 20 61 73 20 24 65 es');.}..foreach.($entries.as.$e
6dac0 6e 74 72 79 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 74 72 79 2d 3e 65 78 ntry).{.if.(false.===.$entry->ex
6dae0 74 72 61 63 74 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 tract($path)).{.throw.new.\Runti
6db00 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 65 78 74 72 61 63 74 20 65 meException('Could.not.extract.e
6db20 6e 74 72 79 27 29 3b 0a 7d 0a 7d 0a 0a 24 72 61 72 41 72 63 68 69 76 65 2d 3e 63 6c 6f 73 65 28 ntry');.}.}..$rarArchive->close(
6db40 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 );.}.}.<?php............namespac
6db60 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 e.Composer\Downloader;..use.Comp
6db80 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 oser\Package\PackageInterface;.u
6dba0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 76 6e 20 61 73 20 53 76 6e 55 74 69 6c 3b se.Composer\Util\Svn.as.SvnUtil;
6dbc0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f .use.Composer\Repository\VcsRepo
6dbe0 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 sitory;.use.Composer\Util\Proces
6dc00 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 76 6e 44 6f 77 6e 6c 6f 61 sExecutor;......class.SvnDownloa
6dc20 64 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 70 72 6f 74 der.extends.VcsDownloader.{.prot
6dc40 65 63 74 65 64 20 24 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 74 72 75 65 3b 0a ected.$cacheCredentials.=.true;.
6dc60 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 50 ....public.function.doDownload(P
6dc80 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c ackageInterface.$package,.$path,
6dca0 20 24 75 72 6c 29 0a 7b 0a 53 76 6e 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 72 .$url).{.SvnUtil::cleanEnv();.$r
6dcc0 65 66 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 ef.=.$package->getSourceReferenc
6dce0 65 28 29 3b 0a 0a 24 72 65 70 6f 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6f 73 e();..$repo.=.$package->getRepos
6dd00 69 74 6f 72 79 28 29 3b 0a 69 66 20 28 24 72 65 70 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 56 63 itory();.if.($repo.instanceof.Vc
6dd20 73 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 24 72 65 sRepository).{.$repoConfig.=.$re
6dd40 70 6f 2d 3e 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 3b 0a 69 66 20 28 61 72 72 61 79 5f 6b po->getRepoConfig();.if.(array_k
6dd60 65 79 5f 65 78 69 73 74 73 28 27 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 6e 74 69 61 6c 73 ey_exists('svn-cache-credentials
6dd80 27 2c 20 24 72 65 70 6f 43 6f 6e 66 69 67 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 43 ',.$repoConfig)).{.$this->cacheC
6dda0 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 28 62 6f 6f 6c 29 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b redentials.=.(bool).$repoConfig[
6ddc0 27 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 6e 74 69 61 6c 73 27 5d 3b 0a 7d 0a 7d 0a 0a 24 'svn-cache-credentials'];.}.}..$
6dde0 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 43 68 65 63 6b 69 6e 67 20 this->io->writeError(".Checking.
6de00 6f 75 74 20 22 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e out.".$package->getSourceReferen
6de20 63 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 24 75 72 6c 2c 20 22 73 76 6e ce());.$this->execute($url,."svn
6de40 20 63 6f 22 2c 20 73 70 72 69 6e 74 66 28 22 25 73 2f 25 73 22 2c 20 24 75 72 6c 2c 20 24 72 65 .co",.sprintf("%s/%s",.$url,.$re
6de60 66 29 2c 20 6e 75 6c 6c 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 f),.null,.$path);.}.....public.f
6de80 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 unction.doUpdate(PackageInterfac
6dea0 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 e.$initial,.PackageInterface.$ta
6dec0 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 0a 7b 0a 53 76 6e 55 74 69 6c 3a 3a 63 6c rget,.$path,.$url).{.SvnUtil::cl
6dee0 65 61 6e 45 6e 76 28 29 3b 0a 24 72 65 66 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 eanEnv();.$ref.=.$target->getSou
6df00 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 rceReference();..if.(!$this->has
6df20 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 74 68 72 MetadataRepository($path)).{.thr
6df40 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 2e 73 ow.new.\RuntimeException('The..s
6df60 76 6e 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f 6d 20 27 2e 24 vn.directory.is.missing.from.'.$
6df80 70 61 74 68 2e 27 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e path.',.see.https://getcomposer.
6dfa0 6f 72 67 2f 63 6f 6d 6d 69 74 2d 64 65 70 73 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 org/commit-deps.for.more.informa
6dfc0 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 75 74 69 6c 20 3d 20 6e 65 77 20 53 76 6e 55 74 69 6c 28 24 tion');.}..$util.=.new.SvnUtil($
6dfe0 75 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a url,.$this->io,.$this->config);.
6e000 24 66 6c 61 67 73 20 3d 20 22 22 3b 0a 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 $flags.=."";.if.(version_compare
6e020 28 24 75 74 69 6c 2d 3e 62 69 6e 61 72 79 56 65 72 73 69 6f 6e 28 29 2c 20 27 31 2e 37 2e 30 27 ($util->binaryVersion(),.'1.7.0'
6e040 2c 20 27 3e 3d 27 29 29 20 7b 0a 24 66 6c 61 67 73 20 2e 3d 20 27 20 2d 2d 69 67 6e 6f 72 65 2d ,.'>=')).{.$flags..=.'.--ignore-
6e060 61 6e 63 65 73 74 72 79 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 ancestry';.}..$this->io->writeEr
6e080 72 6f 72 28 22 20 43 68 65 63 6b 69 6e 67 20 6f 75 74 20 22 20 2e 20 24 72 65 66 29 3b 0a 24 74 ror(".Checking.out."...$ref);.$t
6e0a0 68 69 73 2d 3e 65 78 65 63 75 74 65 28 24 75 72 6c 2c 20 22 73 76 6e 20 73 77 69 74 63 68 22 20 his->execute($url,."svn.switch".
6e0c0 2e 20 24 66 6c 61 67 73 2c 20 73 70 72 69 6e 74 66 28 22 25 73 2f 25 73 22 2c 20 24 75 72 6c 2c ..$flags,.sprintf("%s/%s",.$url,
6e0e0 20 24 72 65 66 29 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .$ref),.$path);.}.....public.fun
6e100 63 74 69 6f 6e 20 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 ction.getLocalChanges(PackageInt
6e120 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 24 erface.$package,.$path).{.if.(!$
6e140 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 this->hasMetadataRepository($pat
6e160 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f h)).{.return.null;.}..$this->pro
6e180 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 73 74 61 74 75 73 20 2d 2d 69 67 6e 6f cess->execute('svn.status.--igno
6e1a0 72 65 2d 65 78 74 65 72 6e 61 6c 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 3b 0a re-externals',.$output,.$path);.
6e1c0 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 20 2a 5b 5e 58 20 5d 20 2b 7d .return.preg_match('{^.*[^X.].+}
6e1e0 6d 27 2c 20 24 6f 75 74 70 75 74 29 20 3f 20 24 6f 75 74 70 75 74 20 3a 20 6e 75 6c 6c 3b 0a 7d m',.$output).?.$output.:.null;.}
6e200 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e ..............protected.function
6e220 20 65 78 65 63 75 74 65 28 24 62 61 73 65 55 72 6c 2c 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 .execute($baseUrl,.$command,.$ur
6e240 6c 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a l,.$cwd.=.null,.$path.=.null).{.
6e260 24 75 74 69 6c 20 3d 20 6e 65 77 20 53 76 6e 55 74 69 6c 28 24 62 61 73 65 55 72 6c 2c 20 24 74 $util.=.new.SvnUtil($baseUrl,.$t
6e280 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 75 74 69 6c 2d 3e his->io,.$this->config);.$util->
6e2a0 73 65 74 43 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 28 24 74 68 69 73 2d 3e 63 61 63 68 65 setCacheCredentials($this->cache
6e2c0 43 72 65 64 65 6e 74 69 61 6c 73 29 3b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 75 74 69 6c Credentials);.try.{.return.$util
6e2e0 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 2c 20 24 63 77 64 2c 20 ->execute($command,.$url,.$cwd,.
6e300 24 70 61 74 68 2c 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 29 3b 0a $path,.$this->io->isVerbose());.
6e320 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b }.catch.(\RuntimeException.$e).{
6e340 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 50 .throw.new.\RuntimeException(.'P
6e360 61 63 6b 61 67 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 2c 20 ackage.could.not.be.downloaded,.
6e380 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 '.$e->getMessage().);.}.}.....pr
6e3a0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 50 61 otected.function.cleanChanges(Pa
6e3c0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 ckageInterface.$package,.$path,.
6e3e0 24 75 70 64 61 74 65 29 0a 7b 0a 69 66 20 28 21 24 63 68 61 6e 67 65 73 20 3d 20 24 74 68 69 73 $update).{.if.(!$changes.=.$this
6e400 2d 3e 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 ->getLocalChanges($package,.$pat
6e420 68 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d h)).{.return;.}..if.(!$this->io-
6e440 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d >isInteractive()).{.if.(true.===
6e460 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 63 61 72 64 2d 63 68 61 .$this->config->get('discard-cha
6e480 6e 67 65 73 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 63 61 72 64 43 nges')).{.return.$this->discardC
6e4a0 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a hanges($path);.}..return.parent:
6e4c0 3a 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 :cleanChanges($package,.$path,.$
6e4e0 75 70 64 61 74 65 29 3b 0a 7d 0a 0a 24 63 68 61 6e 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 update);.}..$changes.=.array_map
6e500 28 66 75 6e 63 74 69 6f 6e 20 28 24 65 6c 65 6d 29 20 7b 0a 72 65 74 75 72 6e 20 27 20 20 20 20 (function.($elem).{.return.'....
6e520 27 2e 24 65 6c 65 6d 3b 0a 7d 2c 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2a 5c 72 3f 5c '.$elem;.},.preg_split('{\s*\r?\
6e540 6e 5c 73 2a 7d 27 2c 20 24 63 68 61 6e 67 65 73 29 29 3b 0a 24 63 6f 75 6e 74 43 68 61 6e 67 65 n\s*}',.$changes));.$countChange
6e560 73 20 3d 20 63 6f 75 6e 74 28 24 63 68 61 6e 67 65 73 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e s.=.count($changes);.$this->io->
6e580 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 20 20 20 20 3c 65 72 72 6f 72 3e 54 writeError(sprintf('....<error>T
6e5a0 68 65 20 70 61 63 6b 61 67 65 20 68 61 73 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 25 73 3a 3c he.package.has.modified.file%s:<
6e5c0 2f 65 72 72 6f 72 3e 27 2c 20 24 63 6f 75 6e 74 43 68 61 6e 67 65 73 20 3d 3d 3d 20 31 20 3f 20 /error>',.$countChanges.===.1.?.
6e5e0 27 27 20 3a 20 27 73 27 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f ''.:.'s'));.$this->io->writeErro
6e600 72 28 61 72 72 61 79 5f 73 6c 69 63 65 28 24 63 68 61 6e 67 65 73 2c 20 30 2c 20 31 30 29 29 3b r(array_slice($changes,.0,.10));
6e620 0a 69 66 20 28 24 63 6f 75 6e 74 43 68 61 6e 67 65 73 20 3e 20 31 30 29 20 7b 0a 24 72 65 6d 61 .if.($countChanges.>.10).{.$rema
6e640 69 6e 67 43 68 61 6e 67 65 73 20 3d 20 24 63 6f 75 6e 74 43 68 61 6e 67 65 73 20 2d 20 31 30 3b ingChanges.=.$countChanges.-.10;
6e660 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 73 70 72 69 6e 74 66 28 .$this->io->writeError(.sprintf(
6e680 0a 27 20 20 20 20 3c 69 6e 66 6f 3e 27 2e 24 72 65 6d 61 69 6e 67 43 68 61 6e 67 65 73 2e 27 20 .'....<info>'.$remaingChanges.'.
6e6a0 6d 6f 72 65 20 66 69 6c 65 25 73 20 6d 6f 64 69 66 69 65 64 2c 20 63 68 6f 6f 73 65 20 22 76 22 more.file%s.modified,.choose."v"
6e6c0 20 74 6f 20 76 69 65 77 20 74 68 65 20 66 75 6c 6c 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 27 2c 0a .to.view.the.full.list</info>',.
6e6e0 24 72 65 6d 61 69 6e 67 43 68 61 6e 67 65 73 20 3d 3d 3d 20 31 20 3f 20 27 27 20 3a 20 27 73 27 $remaingChanges.===.1.?.''.:.'s'
6e700 0a 29 0a 29 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 73 77 69 74 63 68 20 28 .).);.}..while.(true).{.switch.(
6e720 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 20 20 20 20 3c 69 6e 66 6f 3e 44 69 73 63 61 72 $this->io->ask('....<info>Discar
6e740 64 20 63 68 61 6e 67 65 73 20 5b 79 2c 6e 2c 76 2c 3f 5d 3f 3c 2f 69 6e 66 6f 3e 20 27 2c 20 27 d.changes.[y,n,v,?]?</info>.',.'
6e760 3f 27 29 29 20 7b 0a 63 61 73 65 20 27 79 27 3a 0a 24 74 68 69 73 2d 3e 64 69 73 63 61 72 64 43 ?')).{.case.'y':.$this->discardC
6e780 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 62 72 65 61 6b 20 32 3b 0a 0a 63 61 73 65 20 27 6e hanges($path);.break.2;..case.'n
6e7a0 27 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 ':.throw.new.\RuntimeException('
6e7c0 55 70 64 61 74 65 20 61 62 6f 72 74 65 64 27 29 3b 0a 0a 63 61 73 65 20 27 76 27 3a 0a 24 74 68 Update.aborted');..case.'v':.$th
6e7e0 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 63 68 61 6e 67 65 73 29 3b 0a 62 72 is->io->writeError($changes);.br
6e800 65 61 6b 3b 0a 0a 63 61 73 65 20 27 3f 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 24 74 68 69 73 2d 3e eak;..case.'?':.default:.$this->
6e820 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 20 20 20 20 79 20 2d 20 64 io->writeError(array(.'....y.-.d
6e840 69 73 63 61 72 64 20 63 68 61 6e 67 65 73 20 61 6e 64 20 61 70 70 6c 79 20 74 68 65 20 27 2e 28 iscard.changes.and.apply.the.'.(
6e860 24 75 70 64 61 74 65 20 3f 20 27 75 70 64 61 74 65 27 20 3a 20 27 75 6e 69 6e 73 74 61 6c 6c 27 $update.?.'update'.:.'uninstall'
6e880 29 2c 0a 27 20 20 20 20 6e 20 2d 20 61 62 6f 72 74 20 74 68 65 20 27 2e 28 24 75 70 64 61 74 65 ),.'....n.-.abort.the.'.($update
6e8a0 20 3f 20 27 75 70 64 61 74 65 27 20 3a 20 27 75 6e 69 6e 73 74 61 6c 6c 27 29 2e 27 20 61 6e 64 .?.'update'.:.'uninstall').'.and
6e8c0 20 6c 65 74 20 79 6f 75 20 6d 61 6e 75 61 6c 6c 79 20 63 6c 65 61 6e 20 74 68 69 6e 67 73 20 75 .let.you.manually.clean.things.u
6e8e0 70 27 2c 0a 27 20 20 20 20 76 20 2d 20 76 69 65 77 20 6d 6f 64 69 66 69 65 64 20 66 69 6c 65 73 p',.'....v.-.view.modified.files
6e900 27 2c 0a 27 20 20 20 20 3f 20 2d 20 70 72 69 6e 74 20 68 65 6c 70 27 2c 0a 29 29 3b 0a 62 72 65 ',.'....?.-.print.help',.));.bre
6e920 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e ak;.}.}.}.....protected.function
6e940 20 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 .getCommitLogs($fromReference,.$
6e960 74 6f 52 65 66 65 72 65 6e 63 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d toReference,.$path).{.if.(preg_m
6e980 61 74 63 68 28 27 7b 2e 2a 40 28 5c 64 2b 29 24 7d 27 2c 20 24 66 72 6f 6d 52 65 66 65 72 65 6e atch('{.*@(\d+)$}',.$fromReferen
6e9a0 63 65 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 2e 2a 40 28 5c 64 2b 29 24 7d 27 2c ce).&&.preg_match('{.*@(\d+)$}',
6e9c0 20 24 74 6f 52 65 66 65 72 65 6e 63 65 29 29 20 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 .$toReference)).{...$command.=.s
6e9e0 70 72 69 6e 74 66 28 27 73 76 6e 20 69 6e 66 6f 20 2d 2d 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 printf('svn.info.--non-interacti
6ea00 76 65 20 2d 2d 78 6d 6c 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 ve.--xml.%s',.ProcessExecutor::e
6ea20 73 63 61 70 65 28 24 70 61 74 68 29 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e scape($path));.if.(0.!==.$this->
6ea40 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 process->execute($command,.$outp
6ea60 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 ut,.$path)).{.throw.new.\Runtime
6ea80 45 78 63 65 70 74 69 6f 6e 28 0a 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 Exception(.'Failed.to.execute.'.
6eaa0 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f ..$command..."\n\n"...$this->pro
6eac0 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 29 3b 0a 7d 0a 0a 24 75 72 cess->getErrorOutput().);.}..$ur
6eae0 6c 50 61 74 74 65 72 6e 20 3d 20 27 23 3c 75 72 6c 3e 28 2e 2a 29 3c 2f 75 72 6c 3e 23 27 3b 0a lPattern.=.'#<url>(.*)</url>#';.
6eb00 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 75 72 6c 50 61 74 74 65 72 6e 2c 20 24 6f 75 74 if.(preg_match($urlPattern,.$out
6eb20 70 75 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 62 61 73 65 55 72 6c 20 3d 20 24 6d 61 put,.$matches)).{.$baseUrl.=.$ma
6eb40 74 63 68 65 73 5b 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 tches[1];.}.else.{.throw.new.\Ru
6eb60 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 55 6e 61 62 6c 65 20 74 6f 20 64 65 74 65 72 ntimeException(.'Unable.to.deter
6eb80 6d 69 6e 65 20 73 76 6e 20 75 72 6c 20 66 6f 72 20 70 61 74 68 20 27 2e 20 24 70 61 74 68 0a 29 mine.svn.url.for.path.'..$path.)
6eba0 3b 0a 7d 0a 0a 0a 20 24 66 72 6f 6d 52 65 76 69 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c ;.}....$fromRevision.=.preg_repl
6ebc0 61 63 65 28 27 7b 2e 2a 40 28 5c 64 2b 29 24 7d 27 2c 20 27 24 31 27 2c 20 24 66 72 6f 6d 52 65 ace('{.*@(\d+)$}',.'$1',.$fromRe
6ebe0 66 65 72 65 6e 63 65 29 3b 0a 24 74 6f 52 65 76 69 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 ference);.$toRevision.=.preg_rep
6ec00 6c 61 63 65 28 27 7b 2e 2a 40 28 5c 64 2b 29 24 7d 27 2c 20 27 24 31 27 2c 20 24 74 6f 52 65 66 lace('{.*@(\d+)$}',.'$1',.$toRef
6ec20 65 72 65 6e 63 65 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 73 76 erence);..$command.=.sprintf('sv
6ec40 6e 20 6c 6f 67 20 2d 72 25 73 3a 25 73 20 2d 2d 69 6e 63 72 65 6d 65 6e 74 61 6c 27 2c 20 50 72 n.log.-r%s:%s.--incremental',.Pr
6ec60 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 72 6f 6d 52 65 76 69 73 ocessExecutor::escape($fromRevis
6ec80 69 6f 6e 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 ion),.ProcessExecutor::escape($t
6eca0 6f 52 65 76 69 73 69 6f 6e 29 29 3b 0a 0a 24 75 74 69 6c 20 3d 20 6e 65 77 20 53 76 6e 55 74 69 oRevision));..$util.=.new.SvnUti
6ecc0 6c 28 24 62 61 73 65 55 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f l($baseUrl,.$this->io,.$this->co
6ece0 6e 66 69 67 29 3b 0a 24 75 74 69 6c 2d 3e 73 65 74 43 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c nfig);.$util->setCacheCredential
6ed00 73 28 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 29 3b 0a 74 72 79 20 s($this->cacheCredentials);.try.
6ed20 7b 0a 72 65 74 75 72 6e 20 24 75 74 69 6c 2d 3e 65 78 65 63 75 74 65 4c 6f 63 61 6c 28 24 63 6f {.return.$util->executeLocal($co
6ed40 6d 6d 61 6e 64 2c 20 24 70 61 74 68 2c 20 6e 75 6c 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 mmand,.$path,.null,.$this->io->i
6ed60 73 56 65 72 62 6f 73 65 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 sVerbose());.}.catch.(\RuntimeEx
6ed80 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 ception.$e).{.throw.new.\Runtime
6eda0 45 78 63 65 70 74 69 6f 6e 28 0a 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 Exception(.'Failed.to.execute.'.
6edc0 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 ..$command..."\n\n".$e->getMessa
6ede0 67 65 28 29 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 43 6f 75 6c 64 20 6e 6f 74 20 72 ge().);.}.}..return."Could.not.r
6ee00 65 74 72 69 65 76 65 20 63 68 61 6e 67 65 73 20 62 65 74 77 65 65 6e 20 24 66 72 6f 6d 52 65 66 etrieve.changes.between.$fromRef
6ee20 65 72 65 6e 63 65 20 61 6e 64 20 24 74 6f 52 65 66 65 72 65 6e 63 65 20 64 75 65 20 74 6f 20 6d erence.and.$toReference.due.to.m
6ee40 69 73 73 69 6e 67 20 72 65 76 69 73 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 22 3b 0a 7d 0a issing.revision.information";.}.
6ee60 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 63 61 72 64 43 68 61 6e 67 .protected.function.discardChang
6ee80 65 73 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f es($path).{.if.(0.!==.$this->pro
6eea0 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 72 65 76 65 72 74 20 2d 52 20 2e 27 2c cess->execute('svn.revert.-R..',
6eec0 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 .$output,.$path)).{.throw.new.\R
6eee0 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 43 6f 75 6c 64 20 6e 6f 74 20 72 65 73 65 74 untimeException("Could.not.reset
6ef00 20 63 68 61 6e 67 65 73 5c 6e 5c 6e 3a 22 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 .changes\n\n:".$this->process->g
6ef20 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 etErrorOutput());.}.}.....protec
6ef40 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f ted.function.hasMetadataReposito
6ef60 72 79 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 64 69 72 28 24 70 61 74 68 2e ry($path).{.return.is_dir($path.
6ef80 27 2f 2e 73 76 6e 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e '/.svn');.}.}.<?php............n
6efa0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 0a amespace.Composer\Downloader;...
6efc0 0a 0a 0a 0a 63 6c 61 73 73 20 54 61 72 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 ....class.TarDownloader.extends.
6efe0 41 72 63 68 69 76 65 44 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 ArchiveDownloader.{....protected
6f000 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 74 68 29 0a .function.extract($file,.$path).
6f020 7b 0a 0a 20 24 61 72 63 68 69 76 65 20 3d 20 6e 65 77 20 5c 50 68 61 72 44 61 74 61 28 24 66 69 {...$archive.=.new.\PharData($fi
6f040 6c 65 29 3b 0a 24 61 72 63 68 69 76 65 2d 3e 65 78 74 72 61 63 74 54 6f 28 24 70 61 74 68 2c 20 le);.$archive->extractTo($path,.
6f060 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a null,.true);.}.}.<?php..........
6f080 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b ..namespace.Composer\Downloader;
6f0a0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 65 78 .....class.TransportException.ex
6f0c0 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 tends.\RuntimeException.{.protec
6f0e0 74 65 64 20 24 68 65 61 64 65 72 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 73 70 6f 6e 73 ted.$headers;.protected.$respons
6f100 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 74 61 74 75 73 43 6f 64 65 3b 0a 0a 70 75 62 6c 69 e;.protected.$statusCode;..publi
6f120 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 61 64 65 72 73 28 24 68 65 61 64 65 72 73 29 0a c.function.setHeaders($headers).
6f140 7b 0a 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 20 3d 20 24 68 65 61 64 65 72 73 3b 0a 7d 0a 0a {.$this->headers.=.$headers;.}..
6f160 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 61 64 65 72 73 28 29 0a 7b 0a 72 public.function.getHeaders().{.r
6f180 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 eturn.$this->headers;.}..public.
6f1a0 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 73 70 6f 6e 73 65 28 24 72 65 73 70 6f 6e 73 65 29 0a function.setResponse($response).
6f1c0 7b 0a 24 74 68 69 73 2d 3e 72 65 73 70 6f 6e 73 65 20 3d 20 24 72 65 73 70 6f 6e 73 65 3b 0a 7d {.$this->response.=.$response;.}
6f1e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 73 70 6f 6e 73 65 28 29 0a ..public.function.getResponse().
6f200 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 73 70 6f 6e 73 65 3b 0a 7d 0a 0a 70 75 62 {.return.$this->response;.}..pub
6f220 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 73 74 61 74 lic.function.setStatusCode($stat
6f240 75 73 43 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 73 usCode).{.$this->statusCode.=.$s
6f260 74 61 74 75 73 43 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 tatusCode;.}..public.function.ge
6f280 74 53 74 61 74 75 73 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 tStatusCode().{.return.$this->st
6f2a0 61 74 75 73 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e atusCode;.}.}.<?php............n
6f2c0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 amespace.Composer\Downloader;..u
6f2e0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 se.Composer\Package\PackageInter
6f300 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 56 63 73 43 61 70 61 62 6c 65 face;.......interface.VcsCapable
6f320 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 DownloaderInterface.{........pub
6f340 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 63 73 52 65 66 65 72 65 6e 63 65 28 50 61 63 lic.function.getVcsReference(Pac
6f360 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a kageInterface.$package,.$path);.
6f380 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
6f3a0 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c poser\Downloader;..use.Composer\
6f3c0 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d Config;.use.Composer\Package\Dum
6f3e0 70 65 72 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 per\ArrayDumper;.use.Composer\Pa
6f400 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 ckage\PackageInterface;.use.Comp
6f420 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 47 75 65 73 oser\Package\Version\VersionGues
6f440 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f ser;.use.Composer\Package\Versio
6f460 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 n\VersionParser;.use.Composer\Ut
6f480 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 il\ProcessExecutor;.use.Composer
6f4a0 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 \IO\IOInterface;.use.Composer\Ut
6f4c0 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 il\Filesystem;.....abstract.clas
6f4e0 73 20 56 63 73 44 6f 77 6e 6c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 44 6f 77 6e 6c s.VcsDownloader.implements.Downl
6f500 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 2c 20 43 68 61 6e 67 65 52 65 70 6f 72 74 49 6e 74 65 oaderInterface,.ChangeReportInte
6f520 72 66 61 63 65 2c 20 56 63 73 43 61 70 61 62 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 49 6e 74 65 72 rface,.VcsCapableDownloaderInter
6f540 66 61 63 65 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 70 72 6f 74 65 63 74 65 face.{..protected.$io;..protecte
6f560 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a d.$config;..protected.$process;.
6f580 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 70 75 62 6c 69 63 20 .protected.$filesystem;..public.
6f5a0 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 function.__construct(IOInterface
6f5c0 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 .$io,.Config.$config,.ProcessExe
6f5e0 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 46 69 6c 65 73 79 73 74 65 cutor.$process.=.null,.Filesyste
6f600 6d 20 24 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b m.$fs.=.null).{.$this->io.=.$io;
6f620 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d .$this->config.=.$config;.$this-
6f640 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 >process.=.$process.?:.new.Proce
6f660 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 ssExecutor($io);.$this->filesyst
6f680 65 6d 20 3d 20 24 66 73 20 3f 3a 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 em.=.$fs.?:.new.Filesystem($this
6f6a0 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ->process);.}.....public.functio
6f6c0 6e 20 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 n.getInstallationSource().{.retu
6f6e0 72 6e 20 27 73 6f 75 72 63 65 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 rn.'source';.}.....public.functi
6f700 6f 6e 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 on.download(PackageInterface.$pa
6f720 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 2d 3e 67 ckage,.$path).{.if.(!$package->g
6f740 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 etSourceReference()).{.throw.new
6f760 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b .\InvalidArgumentException('Pack
6f780 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e age.'.$package->getPrettyName().
6f7a0 27 20 69 73 20 6d 69 73 73 69 6e 67 20 72 65 66 65 72 65 6e 63 65 20 69 6e 66 6f 72 6d 61 74 69 '.is.missing.reference.informati
6f7c0 6f 6e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 on');.}..$this->io->writeError("
6f7e0 20 20 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 70 61 63 6b 61 67 ..-.Installing.<info>"...$packag
6f800 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e e->getName()..."</info>.(<commen
6f820 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 t>"...$package->getFullPrettyVer
6f840 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 22 2c 20 66 61 6c 73 65 29 sion()..."</comment>):.",.false)
6f860 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6d 70 74 79 44 69 72 65 63 74 ;.$this->filesystem->emptyDirect
6f880 6f 72 79 28 24 70 61 74 68 29 3b 0a 0a 24 75 72 6c 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 ory($path);..$urls.=.$package->g
6f8a0 65 74 53 6f 75 72 63 65 55 72 6c 73 28 29 3b 0a 77 68 69 6c 65 20 28 24 75 72 6c 20 3d 20 61 72 etSourceUrls();.while.($url.=.ar
6f8c0 72 61 79 5f 73 68 69 66 74 28 24 75 72 6c 73 29 29 20 7b 0a 74 72 79 20 7b 0a 69 66 20 28 46 69 ray_shift($urls)).{.try.{.if.(Fi
6f8e0 6c 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 0a lesystem::isLocalPath($url)).{..
6f900 20 0a 20 24 6e 65 65 64 6c 65 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 3b 0a 24 69 73 46 69 6c 65 50 ...$needle.=.'file://';.$isFileP
6f920 72 6f 74 6f 63 6f 6c 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f rotocol.=.false;.if.(0.===.strpo
6f940 73 28 24 75 72 6c 2c 20 24 6e 65 65 64 6c 65 29 29 20 7b 0a 24 75 72 6c 20 3d 20 73 75 62 73 74 s($url,.$needle)).{.$url.=.subst
6f960 72 28 24 75 72 6c 2c 20 73 74 72 6c 65 6e 28 24 6e 65 65 64 6c 65 29 29 3b 0a 24 69 73 46 69 6c r($url,.strlen($needle));.$isFil
6f980 65 50 72 6f 74 6f 63 6f 6c 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 eProtocol.=.true;.}....if.(false
6f9a0 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 75 72 6c 2c 20 27 25 27 29 29 20 7b 0a 24 75 72 6c 20 3d .!==.strpos($url,.'%')).{.$url.=
6f9c0 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 75 72 6c 29 3b 0a 7d 0a 0a 24 75 72 6c 20 3d 20 72 .rawurldecode($url);.}..$url.=.r
6f9e0 65 61 6c 70 61 74 68 28 24 75 72 6c 29 3b 0a 0a 69 66 20 28 24 69 73 46 69 6c 65 50 72 6f 74 6f ealpath($url);..if.($isFileProto
6fa00 63 6f 6c 29 20 7b 0a 24 75 72 6c 20 3d 20 24 6e 65 65 64 6c 65 20 2e 20 24 75 72 6c 3b 0a 7d 0a col).{.$url.=.$needle...$url;.}.
6fa20 7d 0a 24 74 68 69 73 2d 3e 64 6f 44 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 70 }.$this->doDownload($package,.$p
6fa40 61 74 68 2c 20 24 75 72 6c 29 3b 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 ath,.$url);.break;.}.catch.(\Exc
6fa60 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 eption.$e).{...if.($e.instanceof
6fa80 20 5c 50 48 50 55 6e 69 74 5f 46 72 61 6d 65 77 6f 72 6b 5f 45 78 63 65 70 74 69 6f 6e 29 20 7b .\PHPUnit_Framework_Exception).{
6faa0 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 .throw.$e;.}.if.($this->io->isDe
6fac0 62 75 67 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 bug()).{.$this->io->writeError('
6fae0 46 61 69 6c 65 64 3a 20 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 29 2e 27 5d 20 27 2e 24 65 Failed:.['.get_class($e).'].'.$e
6fb00 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 63 6f 75 6e 74 ->getMessage());.}.elseif.(count
6fb20 28 24 75 72 6c 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 ($urls)).{.$this->io->writeError
6fb40 28 27 20 20 20 20 46 61 69 6c 65 64 2c 20 74 72 79 69 6e 67 20 74 68 65 20 6e 65 78 74 20 55 52 ('....Failed,.trying.the.next.UR
6fb60 4c 27 29 3b 0a 7d 0a 69 66 20 28 21 63 6f 75 6e 74 28 24 75 72 6c 73 29 29 20 7b 0a 74 68 72 6f L');.}.if.(!count($urls)).{.thro
6fb80 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f w.$e;.}.}.}.}.....public.functio
6fba0 6e 20 75 70 64 61 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 n.update(PackageInterface.$initi
6fbc0 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 al,.PackageInterface.$target,.$p
6fbe0 61 74 68 29 0a 7b 0a 69 66 20 28 21 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 ath).{.if.(!$target->getSourceRe
6fc00 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 ference()).{.throw.new.\InvalidA
6fc20 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 27 2e 24 74 61 72 rgumentException('Package.'.$tar
6fc40 67 65 74 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 69 73 20 6d 69 73 73 69 6e get->getPrettyName().'.is.missin
6fc60 67 20 72 65 66 65 72 65 6e 63 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 6e g.reference.information');.}..$n
6fc80 61 6d 65 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 69 66 20 28 24 69 ame.=.$target->getName();.if.($i
6fca0 6e 69 74 69 61 6c 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 3d 3d 20 24 74 nitial->getPrettyVersion().==.$t
6fcc0 61 72 67 65 74 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 69 66 20 arget->getPrettyVersion()).{.if.
6fce0 28 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 20 3d 3d 3d 20 27 73 ($target->getSourceType().===.'s
6fd00 76 6e 27 29 20 7b 0a 24 66 72 6f 6d 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 vn').{.$from.=.$initial->getSour
6fd20 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 24 74 6f 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 ceReference();.$to.=.$target->ge
6fd40 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 72 tSourceReference();.}.else.{.$fr
6fd60 6f 6d 20 3d 20 73 75 62 73 74 72 28 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 63 65 52 om.=.substr($initial->getSourceR
6fd80 65 66 65 72 65 6e 63 65 28 29 2c 20 30 2c 20 37 29 3b 0a 24 74 6f 20 3d 20 73 75 62 73 74 72 28 eference(),.0,.7);.$to.=.substr(
6fda0 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 2c 20 30 $target->getSourceReference(),.0
6fdc0 2c 20 37 29 3b 0a 7d 0a 24 6e 61 6d 65 20 2e 3d 20 27 20 27 2e 24 69 6e 69 74 69 61 6c 2d 3e 67 ,.7);.}.$name..=.'.'.$initial->g
6fde0 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 72 6f etPrettyVersion();.}.else.{.$fro
6fe00 6d 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 m.=.$initial->getFullPrettyVersi
6fe20 6f 6e 28 29 3b 0a 24 74 6f 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 on();.$to.=.$target->getFullPret
6fe40 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 24 61 63 74 69 6f 6e 4e 61 6d 65 20 3d 20 56 65 tyVersion();.}..$actionName.=.Ve
6fe60 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 69 73 55 70 67 72 61 64 65 28 24 69 6e 69 74 69 61 6c 2d rsionParser::isUpgrade($initial-
6fe80 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 74 61 72 67 65 74 2d 3e 67 65 74 56 65 72 73 69 >getVersion(),.$target->getVersi
6fea0 6f 6e 28 29 29 20 3f 20 27 55 70 64 61 74 69 6e 67 27 20 3a 20 27 44 6f 77 6e 67 72 61 64 69 6e on()).?.'Updating'.:.'Downgradin
6fec0 67 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 2d 20 22 g';.$this->io->writeError("..-."
6fee0 20 2e 20 24 61 63 74 69 6f 6e 4e 61 6d 65 20 2e 20 22 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 6e 61 ...$actionName...".<info>"...$na
6ff00 6d 65 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 66 72 6f me..."</info>.(<comment>"...$fro
6ff20 6d 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 3d 3e 20 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 m..."</comment>.=>.<comment>"...
6ff40 24 74 6f 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 3a 20 22 2c 20 66 61 6c 73 65 29 3b 0a 0a $to..."</comment>):.",.false);..
6ff60 24 74 68 69 73 2d 3e 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 24 69 6e 69 74 69 61 6c 2c 20 24 70 $this->cleanChanges($initial,.$p
6ff80 61 74 68 2c 20 74 72 75 65 29 3b 0a 24 75 72 6c 73 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 ath,.true);.$urls.=.$target->get
6ffa0 53 6f 75 72 63 65 55 72 6c 73 28 29 3b 0a 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c SourceUrls();..$exception.=.null
6ffc0 3b 0a 77 68 69 6c 65 20 28 24 75 72 6c 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 75 72 6c ;.while.($url.=.array_shift($url
6ffe0 73 29 29 20 7b 0a 74 72 79 20 7b 0a 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f s)).{.try.{.if.(Filesystem::isLo
70000 63 61 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 24 75 72 6c 20 3d 20 72 65 61 6c 70 61 74 68 calPath($url)).{.$url.=.realpath
70020 28 24 75 72 6c 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 64 6f 55 70 64 61 74 65 28 24 69 6e 69 74 69 ($url);.}.$this->doUpdate($initi
70040 61 6c 2c 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 0a 24 65 78 63 al,.$target,.$path,.$url);..$exc
70060 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 5c eption.=.null;.break;.}.catch.(\
70080 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 0a 20 69 66 20 28 24 65 Exception.$exception).{...if.($e
700a0 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 50 48 50 55 6e 69 74 5f 46 72 61 xception.instanceof.\PHPUnit_Fra
700c0 6d 65 77 6f 72 6b 5f 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 24 65 78 63 65 70 mework_Exception).{.throw.$excep
700e0 74 69 6f 6e 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 tion;.}.if.($this->io->isDebug()
70100 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 46 61 69 6c 65 ).{.$this->io->writeError('Faile
70120 64 3a 20 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 78 63 65 70 74 69 6f 6e 29 2e 27 5d 20 27 d:.['.get_class($exception).'].'
70140 2e 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 20 65 6c .$exception->getMessage());.}.el
70160 73 65 69 66 20 28 63 6f 75 6e 74 28 24 75 72 6c 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d seif.(count($urls)).{.$this->io-
70180 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 46 61 69 6c 65 64 2c 20 74 72 79 69 6e 67 20 >writeError('....Failed,.trying.
701a0 74 68 65 20 6e 65 78 74 20 55 52 4c 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 the.next.URL');.}.}.}..$this->re
701c0 61 70 70 6c 79 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 21 24 applyChanges($path);......if.(!$
701e0 65 78 63 65 70 74 69 6f 6e 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 62 6f 73 exception.&&.$this->io->isVerbos
70200 65 28 29 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 e().&&.$this->hasMetadataReposit
70220 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 50 75 6c 6c 69 6e ory($path)).{.$message.=.'Pullin
70240 67 20 69 6e 20 63 68 61 6e 67 65 73 3a 27 3b 0a 24 6c 6f 67 73 20 3d 20 24 74 68 69 73 2d 3e 67 g.in.changes:';.$logs.=.$this->g
70260 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 63 65 etCommitLogs($initial->getSource
70280 52 65 66 65 72 65 6e 63 65 28 29 2c 20 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 Reference(),.$target->getSourceR
702a0 65 66 65 72 65 6e 63 65 28 29 2c 20 24 70 61 74 68 29 3b 0a 0a 69 66 20 28 21 74 72 69 6d 28 24 eference(),.$path);..if.(!trim($
702c0 6c 6f 67 73 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 52 6f 6c 6c 69 6e 67 20 62 61 63 logs)).{.$message.=.'Rolling.bac
702e0 6b 20 63 68 61 6e 67 65 73 3a 27 3b 0a 24 6c 6f 67 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 k.changes:';.$logs.=.$this->getC
70300 6f 6d 6d 69 74 4c 6f 67 73 28 24 74 61 72 67 65 74 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 ommitLogs($target->getSourceRefe
70320 72 65 6e 63 65 28 29 2c 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 rence(),.$initial->getSourceRefe
70340 72 65 6e 63 65 28 29 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 74 72 69 6d 28 24 6c 6f rence(),.$path);.}..if.(trim($lo
70360 67 73 29 29 20 7b 0a 24 6c 6f 67 73 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 72 72 gs)).{.$logs.=.implode("\n",.arr
70380 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 6c 69 6e 65 29 20 7b 0a 72 65 74 75 72 6e ay_map(function.($line).{.return
703a0 20 27 20 20 20 20 20 20 27 20 2e 20 24 6c 69 6e 65 3b 0a 7d 2c 20 65 78 70 6c 6f 64 65 28 22 5c .'......'...$line;.},.explode("\
703c0 6e 22 2c 20 24 6c 6f 67 73 29 29 29 3b 0a 0a 0a 20 24 6c 6f 67 73 20 3d 20 73 74 72 5f 72 65 70 n",.$logs)));....$logs.=.str_rep
703e0 6c 61 63 65 28 27 3c 27 2c 20 27 5c 3c 27 2c 20 24 6c 6f 67 73 29 3b 0a 0a 24 74 68 69 73 2d 3e lace('<',.'\<',.$logs);..$this->
70400 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 27 2e 24 6d 65 73 73 61 67 65 29 3b io->writeError('....'.$message);
70420 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6c 6f 67 73 29 3b 0a 7d .$this->io->writeError($logs);.}
70440 0a 7d 0a 0a 69 66 20 28 21 24 75 72 6c 73 20 26 26 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a .}..if.(!$urls.&&.$exception).{.
70460 74 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 throw.$exception;.}.}.....public
70480 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 .function.remove(PackageInterfac
704a0 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e e.$package,.$path).{.$this->io->
704c0 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 2d 20 52 65 6d 6f 76 69 6e 67 20 3c 69 6e 66 6f 3e 22 writeError("..-.Removing.<info>"
704e0 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e 66 6f ...$package->getName()..."</info
70500 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 >.(<comment>"...$package->getPre
70520 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 24 ttyVersion()..."</comment>)");.$
70540 74 68 69 73 2d 3e 63 6c 65 61 6e 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 this->cleanChanges($package,.$pa
70560 74 68 2c 20 66 61 6c 73 65 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 th,.false);.if.(!$this->filesyst
70580 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 29 20 7b 0a 74 68 em->removeDirectory($path)).{.th
705a0 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 row.new.\RuntimeException('Could
705c0 20 6e 6f 74 20 63 6f 6d 70 6c 65 74 65 6c 79 20 64 65 6c 65 74 65 20 27 2e 24 70 61 74 68 2e 27 .not.completely.delete.'.$path.'
705e0 2c 20 61 62 6f 72 74 69 6e 67 2e 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ,.aborting.');.}.}......public.f
70600 75 6e 63 74 69 6f 6e 20 73 65 74 4f 75 74 70 75 74 50 72 6f 67 72 65 73 73 28 24 6f 75 74 70 75 unction.setOutputProgress($outpu
70620 74 50 72 6f 67 72 65 73 73 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a tProgress).{.return.$this;.}....
70640 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 63 73 52 65 66 65 72 65 6e 63 65 .public.function.getVcsReference
70660 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 (PackageInterface.$package,.$pat
70680 68 29 0a 7b 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 h).{.$parser.=.new.VersionParser
706a0 3b 0a 24 67 75 65 73 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 28 ;.$guesser.=.new.VersionGuesser(
706c0 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 24 $this->config,.$this->process,.$
706e0 70 61 72 73 65 72 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 44 75 6d 70 parser);.$dumper.=.new.ArrayDump
70700 65 72 3b 0a 0a 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 20 3d 20 24 64 75 6d 70 65 72 2d 3e 64 er;..$packageConfig.=.$dumper->d
70720 75 6d 70 28 24 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 56 65 72 73 69 ump($package);.if.($packageVersi
70740 6f 6e 20 3d 20 24 67 75 65 73 73 65 72 2d 3e 67 75 65 73 73 56 65 72 73 69 6f 6e 28 24 70 61 63 on.=.$guesser->guessVersion($pac
70760 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 kageConfig,.$path)).{.return.$pa
70780 63 6b 61 67 65 56 65 72 73 69 6f 6e 5b 27 63 6f 6d 6d 69 74 27 5d 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a ckageVersion['commit'];.}.}.....
707a0 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 43 68 ......protected.function.cleanCh
707c0 61 6e 67 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c anges(PackageInterface.$package,
707e0 20 24 70 61 74 68 2c 20 24 75 70 64 61 74 65 29 0a 7b 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 21 3d .$path,.$update).{...if.(null.!=
70800 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 61 6c 43 68 61 6e 67 65 73 28 24 70 61 63 6b 61 67 =.$this->getLocalChanges($packag
70820 65 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 e,.$path)).{.throw.new.\RuntimeE
70840 78 63 65 70 74 69 6f 6e 28 27 53 6f 75 72 63 65 20 64 69 72 65 63 74 6f 72 79 20 27 20 2e 20 24 xception('Source.directory.'...$
70860 70 61 74 68 20 2e 20 27 20 68 61 73 20 75 6e 63 6f 6d 6d 69 74 74 65 64 20 63 68 61 6e 67 65 73 path...'.has.uncommitted.changes
70880 2e 27 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 .');.}.}........protected.functi
708a0 6f 6e 20 72 65 61 70 70 6c 79 43 68 61 6e 67 65 73 28 24 70 61 74 68 29 0a 7b 0a 7d 0a 0a 0a 0a on.reapplyChanges($path).{.}....
708c0 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e .....abstract.protected.function
708e0 20 64 6f 44 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 .doDownload(PackageInterface.$pa
70900 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 75 72 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 ckage,.$path,.$url);..........ab
70920 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 55 70 64 61 stract.protected.function.doUpda
70940 74 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 te(PackageInterface.$initial,.Pa
70960 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 2c 20 24 70 61 74 68 2c 20 24 ckageInterface.$target,.$path,.$
70980 75 72 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 url);..........abstract.protecte
709a0 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 d.function.getCommitLogs($fromRe
709c0 66 65 72 65 6e 63 65 2c 20 24 74 6f 52 65 66 65 72 65 6e 63 65 2c 20 24 70 61 74 68 29 3b 0a 0a ference,.$toReference,.$path);..
709e0 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 .......abstract.protected.functi
70a00 6f 6e 20 68 61 73 4d 65 74 61 64 61 74 61 52 65 70 6f 73 69 74 6f 72 79 28 24 70 61 74 68 29 3b on.hasMetadataRepository($path);
70a20 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
70a40 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 mposer\Downloader;..use.Composer
70a60 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 \Config;.use.Composer\Cache;.use
70a80 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 .Composer\EventDispatcher\EventD
70aa0 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c ispatcher;.use.Composer\Package\
70ac0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 PackageInterface;.use.Composer\U
70ae0 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 til\ProcessExecutor;.use.Compose
70b00 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d r\Util\RemoteFilesystem;.use.Com
70b20 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 poser\IO\IOInterface;........cla
70b40 73 73 20 58 7a 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 63 68 69 76 65 44 ss.XzDownloader.extends.ArchiveD
70b60 6f 77 6e 6c 6f 61 64 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a ownloader.{.protected.$process;.
70b80 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 .public.function.__construct(IOI
70ba0 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 nterface.$io,.Config.$config,.Ev
70bc0 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d entDispatcher.$eventDispatcher.=
70be0 20 6e 75 6c 6c 2c 20 43 61 63 68 65 20 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 2c 20 50 72 6f 63 .null,.Cache.$cache.=.null,.Proc
70c00 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d essExecutor.$process.=.null,.Rem
70c20 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 oteFilesystem.$rfs.=.null).{.$th
70c40 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 is->process.=.$process.?:.new.Pr
70c60 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 ocessExecutor($io);..parent::__c
70c80 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 onstruct($io,.$config,.$eventDis
70ca0 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 patcher,.$cache,.$rfs);.}..prote
70cc0 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 cted.function.extract($file,.$pa
70ce0 74 68 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 74 61 72 20 2d 78 4a 66 20 27 20 2e 20 50 th).{.$command.=.'tar.-xJf.'...P
70d00 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 20 2e 20 rocessExecutor::escape($file)...
70d20 27 20 2d 43 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 '.-C.'...ProcessExecutor::escape
70d40 28 24 70 61 74 68 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 ($path);..if.(0.===.$this->proce
70d60 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 ss->execute($command,.$ignoredOu
70d80 74 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f tput)).{.return;.}..$processErro
70da0 72 20 3d 20 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d r.=.'Failed.to.execute.'...$comm
70dc0 61 6e 64 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 and..."\n\n"...$this->process->g
70de0 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e etErrorOutput();..throw.new.\Run
70e00 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 70 72 6f 63 65 73 73 45 72 72 6f 72 29 3b 0a 7d 0a timeException($processError);.}.
70e20 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 4e 61 ....protected.function.getFileNa
70e40 6d 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 70 me(PackageInterface.$package,.$p
70e60 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 2e 27 2f 27 2e 70 61 74 68 69 6e 66 6f ath).{.return.$path.'/'.pathinfo
70e80 28 70 61 72 73 65 5f 75 72 6c 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 (parse_url($package->getDistUrl(
70ea0 29 2c 20 50 48 50 5f 55 52 4c 5f 50 41 54 48 29 2c 20 50 41 54 48 49 4e 46 4f 5f 42 41 53 45 4e ),.PHP_URL_PATH),.PATHINFO_BASEN
70ec0 41 4d 45 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 AME);.}.}.<?php............names
70ee0 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 pace.Composer\Downloader;..use.C
70f00 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 omposer\Config;.use.Composer\Cac
70f20 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 he;.use.Composer\EventDispatcher
70f40 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 \EventDispatcher;.use.Composer\P
70f60 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d ackage\PackageInterface;.use.Com
70f80 70 6f 73 65 72 5c 55 74 69 6c 5c 49 6e 69 48 65 6c 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 poser\Util\IniHelper;.use.Compos
70fa0 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 er\Util\Platform;.use.Composer\U
70fc0 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 til\ProcessExecutor;.use.Compose
70fe0 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d r\Util\RemoteFilesystem;.use.Com
71000 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e poser\IO\IOInterface;.use.Symfon
71020 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 65 63 75 74 61 62 6c 65 46 69 y\Component\Process\ExecutableFi
71040 6e 64 65 72 3b 0a 75 73 65 20 5a 69 70 41 72 63 68 69 76 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 nder;.use.ZipArchive;.....class.
71060 5a 69 70 44 6f 77 6e 6c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 63 68 69 76 65 44 6f 77 ZipDownloader.extends.ArchiveDow
71080 6e 6c 6f 61 64 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 24 68 61 73 53 nloader.{.protected.static.$hasS
710a0 79 73 74 65 6d 55 6e 7a 69 70 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 68 61 73 5a ystemUnzip;.private.static.$hasZ
710c0 69 70 41 72 63 68 69 76 65 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 69 73 57 69 6e ipArchive;.private.static.$isWin
710e0 64 6f 77 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 69 76 61 dows;..protected.$process;.priva
71100 74 65 20 24 7a 69 70 41 72 63 68 69 76 65 4f 62 6a 65 63 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 te.$zipArchiveObject;..public.fu
71120 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 nction.__construct(IOInterface.$
71140 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 io,.Config.$config,.EventDispatc
71160 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 43 61 63 her.$eventDispatcher.=.null,.Cac
71180 68 65 20 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f he.$cache.=.null,.ProcessExecuto
711a0 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 r.$process.=.null,.RemoteFilesys
711c0 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 tem.$rfs.=.null).{.$this->proces
711e0 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 s.=.$process.?:.new.ProcessExecu
71200 74 6f 72 28 24 69 6f 29 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 tor($io);.parent::__construct($i
71220 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 o,.$config,.$eventDispatcher,.$c
71240 61 63 68 65 2c 20 24 72 66 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ache,.$rfs);.}.....public.functi
71260 6f 6e 20 64 6f 77 6e 6c 6f 61 64 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 on.download(PackageInterface.$pa
71280 63 6b 61 67 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 20 3d 20 74 72 75 65 29 0a 7b 0a ckage,.$path,.$output.=.true).{.
712a0 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a if.(null.===.self::$hasSystemUnz
712c0 69 70 29 20 7b 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 45 78 65 63 75 74 61 62 6c 65 46 69 ip).{.$finder.=.new.ExecutableFi
712e0 6e 64 65 72 3b 0a 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 20 3d 20 28 62 nder;.self::$hasSystemUnzip.=.(b
71300 6f 6f 6c 29 20 24 66 69 6e 64 65 72 2d 3e 66 69 6e 64 28 27 75 6e 7a 69 70 27 29 3b 0a 7d 0a 0a ool).$finder->find('unzip');.}..
71320 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 69 76 if.(null.===.self::$hasZipArchiv
71340 65 29 20 7b 0a 73 65 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 69 76 65 20 3d 20 63 6c 61 73 e).{.self::$hasZipArchive.=.clas
71360 73 5f 65 78 69 73 74 73 28 27 5a 69 70 41 72 63 68 69 76 65 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 s_exists('ZipArchive');.}..if.(!
71380 73 65 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 69 76 65 20 26 26 20 21 73 65 6c 66 3a 3a 24 self::$hasZipArchive.&&.!self::$
713a0 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 29 20 7b 0a 0a 20 24 69 6e 69 4d 65 73 73 61 67 65 20 hasSystemUnzip).{...$iniMessage.
713c0 3d 20 49 6e 69 48 65 6c 70 65 72 3a 3a 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 24 65 72 72 6f =.IniHelper::getMessage();.$erro
713e0 72 20 3d 20 22 54 68 65 20 7a 69 70 20 65 78 74 65 6e 73 69 6f 6e 20 61 6e 64 20 75 6e 7a 69 70 r.=."The.zip.extension.and.unzip
71400 20 63 6f 6d 6d 61 6e 64 20 61 72 65 20 62 6f 74 68 20 6d 69 73 73 69 6e 67 2c 20 73 6b 69 70 70 .command.are.both.missing,.skipp
71420 69 6e 67 2e 5c 6e 22 20 2e 20 24 69 6e 69 4d 65 73 73 61 67 65 3b 0a 0a 74 68 72 6f 77 20 6e 65 ing.\n"...$iniMessage;..throw.ne
71440 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 6f 72 29 3b 0a 7d 0a 0a w.\RuntimeException($error);.}..
71460 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 69 73 57 69 6e 64 6f 77 73 29 20 7b if.(null.===.self::$isWindows).{
71480 0a 73 65 6c 66 3a 3a 24 69 73 57 69 6e 64 6f 77 73 20 3d 20 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 .self::$isWindows.=.Platform::is
714a0 57 69 6e 64 6f 77 73 28 29 3b 0a 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 69 73 57 69 6e 64 6f 77 Windows();..if.(!self::$isWindow
714c0 73 20 26 26 20 21 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 29 20 7b 0a 24 s.&&.!self::$hasSystemUnzip).{.$
714e0 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 3c 77 61 72 6e 69 6e 67 3e 41 this->io->writeError("<warning>A
71500 73 20 74 68 65 72 65 20 69 73 20 6e 6f 20 27 75 6e 7a 69 70 27 20 63 6f 6d 6d 61 6e 64 20 69 6e s.there.is.no.'unzip'.command.in
71520 73 74 61 6c 6c 65 64 20 7a 69 70 20 66 69 6c 65 73 20 61 72 65 20 62 65 69 6e 67 20 75 6e 70 61 stalled.zip.files.are.being.unpa
71540 63 6b 65 64 20 75 73 69 6e 67 20 74 68 65 20 50 48 50 20 7a 69 70 20 65 78 74 65 6e 73 69 6f 6e cked.using.the.PHP.zip.extension
71560 2e 3c 2f 77 61 72 6e 69 6e 67 3e 22 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 .</warning>");.$this->io->writeE
71580 72 72 6f 72 28 22 3c 77 61 72 6e 69 6e 67 3e 54 68 69 73 20 6d 61 79 20 63 61 75 73 65 20 69 6e rror("<warning>This.may.cause.in
715a0 76 61 6c 69 64 20 72 65 70 6f 72 74 73 20 6f 66 20 63 6f 72 72 75 70 74 65 64 20 61 72 63 68 69 valid.reports.of.corrupted.archi
715c0 76 65 73 2e 20 42 65 73 69 64 65 73 2c 20 61 6e 79 20 55 4e 49 58 20 70 65 72 6d 69 73 73 69 6f ves..Besides,.any.UNIX.permissio
715e0 6e 73 20 28 65 2e 67 2e 20 65 78 65 63 75 74 61 62 6c 65 29 20 64 65 66 69 6e 65 64 20 69 6e 20 ns.(e.g..executable).defined.in.
71600 74 68 65 20 61 72 63 68 69 76 65 73 20 77 69 6c 6c 20 62 65 20 6c 6f 73 74 2e 3c 2f 77 61 72 6e the.archives.will.be.lost.</warn
71620 69 6e 67 3e 22 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 3c ing>");.$this->io->writeError("<
71640 77 61 72 6e 69 6e 67 3e 49 6e 73 74 61 6c 6c 69 6e 67 20 27 75 6e 7a 69 70 27 20 6d 61 79 20 72 warning>Installing.'unzip'.may.r
71660 65 6d 65 64 69 61 74 65 20 74 68 65 6d 2e 3c 2f 77 61 72 6e 69 6e 67 3e 22 29 3b 0a 7d 0a 7d 0a emediate.them.</warning>");.}.}.
71680 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 64 6f 77 6e 6c 6f 61 64 28 24 70 61 63 6b 61 67 .return.parent::download($packag
716a0 65 2c 20 24 70 61 74 68 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 e,.$path,.$output);.}..........p
716c0 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 57 69 74 68 53 79 73 rotected.function.extractWithSys
716e0 74 65 6d 55 6e 7a 69 70 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c 20 24 69 73 4c 61 73 74 43 68 temUnzip($file,.$path,.$isLastCh
71700 61 6e 63 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 69 76 ance).{.if.(!self::$hasZipArchiv
71720 65 29 20 7b 0a 0a 20 24 69 73 4c 61 73 74 43 68 61 6e 63 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a e).{...$isLastChance.=.true;.}..
71740 69 66 20 28 21 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 20 26 26 20 21 24 if.(!self::$hasSystemUnzip.&&.!$
71760 69 73 4c 61 73 74 43 68 61 6e 63 65 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 isLastChance).{.....return.$this
71780 2d 3e 65 78 74 72 61 63 74 57 69 74 68 5a 69 70 41 72 63 68 69 76 65 28 24 66 69 6c 65 2c 20 24 ->extractWithZipArchive($file,.$
717a0 70 61 74 68 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 path,.true);.}..$processError.=.
717c0 6e 75 6c 6c 3b 0a 0a 20 24 6f 76 65 72 77 72 69 74 65 20 3d 20 24 69 73 4c 61 73 74 43 68 61 6e null;...$overwrite.=.$isLastChan
717e0 63 65 20 3f 20 27 2d 6f 27 20 3a 20 27 27 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 75 6e 7a ce.?.'-o'.:.'';..$command.=.'unz
71800 69 70 20 2d 71 71 20 27 2e 24 6f 76 65 72 77 72 69 74 65 2e 27 20 27 2e 50 72 6f 63 65 73 73 45 ip.-qq.'.$overwrite.'.'.ProcessE
71820 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 2e 27 20 2d 64 20 27 2e 50 72 xecutor::escape($file).'.-d.'.Pr
71840 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 74 68 29 3b 0a 0a 74 ocessExecutor::escape($path);..t
71860 72 79 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 ry.{.if.(0.===.$this->process->e
71880 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 xecute($command,.$ignoredOutput)
718a0 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f ).{.return.true;.}..$processErro
718c0 72 20 3d 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 r.=.new.\RuntimeException('Faile
718e0 64 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c d.to.execute.'...$command..."\n\
71900 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 n"...$this->process->getErrorOut
71920 70 75 74 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 put());.}.catch.(\Exception.$e).
71940 7b 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 69 73 {.$processError.=.$e;.}..if.($is
71960 4c 61 73 74 43 68 61 6e 63 65 29 20 7b 0a 74 68 72 6f 77 20 24 70 72 6f 63 65 73 73 45 72 72 6f LastChance).{.throw.$processErro
71980 72 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 r;.}..$this->io->writeError('...
719a0 20 27 2e 24 70 72 6f 63 65 73 73 45 72 72 6f 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b .'.$processError->getMessage());
719c0 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 54 68 65 20 .$this->io->writeError('....The.
719e0 61 72 63 68 69 76 65 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 69 64 65 6e 74 69 63 61 6c 20 66 69 archive.may.contain.identical.fi
71a00 6c 65 20 6e 61 6d 65 73 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 63 61 70 69 74 61 6c 69 le.names.with.different.capitali
71a20 7a 61 74 69 6f 6e 20 28 77 68 69 63 68 20 66 61 69 6c 73 20 6f 6e 20 63 61 73 65 20 69 6e 73 65 zation.(which.fails.on.case.inse
71a40 6e 73 69 74 69 76 65 20 66 69 6c 65 73 79 73 74 65 6d 73 29 27 29 3b 0a 24 74 68 69 73 2d 3e 69 nsitive.filesystems)');.$this->i
71a60 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 55 6e 7a 69 70 20 77 69 74 68 20 75 6e o->writeError('....Unzip.with.un
71a80 7a 69 70 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 2c 20 66 61 6c 6c 69 6e 67 20 62 61 63 6b zip.command.failed,.falling.back
71aa0 20 74 6f 20 5a 69 70 41 72 63 68 69 76 65 20 63 6c 61 73 73 27 29 3b 0a 0a 72 65 74 75 72 6e 20 .to.ZipArchive.class');..return.
71ac0 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 57 69 74 68 5a 69 70 41 72 63 68 69 76 65 28 24 66 69 $this->extractWithZipArchive($fi
71ae0 6c 65 2c 20 24 70 61 74 68 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f le,.$path,.true);.}..........pro
71b00 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 57 69 74 68 5a 69 70 41 72 tected.function.extractWithZipAr
71b20 63 68 69 76 65 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c 20 24 69 73 4c 61 73 74 43 68 61 6e 63 chive($file,.$path,.$isLastChanc
71b40 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 68 61 73 53 79 73 74 65 6d 55 6e 7a 69 70 29 e).{.if.(!self::$hasSystemUnzip)
71b60 20 7b 0a 0a 20 24 69 73 4c 61 73 74 43 68 61 6e 63 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 .{...$isLastChance.=.true;.}..if
71b80 20 28 21 73 65 6c 66 3a 3a 24 68 61 73 5a 69 70 41 72 63 68 69 76 65 20 26 26 20 21 24 69 73 4c .(!self::$hasZipArchive.&&.!$isL
71ba0 61 73 74 43 68 61 6e 63 65 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 astChance).{.....return.$this->e
71bc0 78 74 72 61 63 74 57 69 74 68 53 79 73 74 65 6d 55 6e 7a 69 70 28 24 66 69 6c 65 2c 20 24 70 61 xtractWithSystemUnzip($file,.$pa
71be0 74 68 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 6e 75 th,.true);.}..$processError.=.nu
71c00 6c 6c 3b 0a 24 7a 69 70 41 72 63 68 69 76 65 20 3d 20 24 74 68 69 73 2d 3e 7a 69 70 41 72 63 68 ll;.$zipArchive.=.$this->zipArch
71c20 69 76 65 4f 62 6a 65 63 74 20 3f 3a 20 6e 65 77 20 5a 69 70 41 72 63 68 69 76 65 28 29 3b 0a 0a iveObject.?:.new.ZipArchive();..
71c40 74 72 79 20 7b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 28 24 72 65 74 76 61 6c 20 3d 20 24 7a try.{.if.(true.===.($retval.=.$z
71c60 69 70 41 72 63 68 69 76 65 2d 3e 6f 70 65 6e 28 24 66 69 6c 65 29 29 29 20 7b 0a 24 65 78 74 72 ipArchive->open($file))).{.$extr
71c80 61 63 74 52 65 73 75 6c 74 20 3d 20 24 7a 69 70 41 72 63 68 69 76 65 2d 3e 65 78 74 72 61 63 74 actResult.=.$zipArchive->extract
71ca0 54 6f 28 24 70 61 74 68 29 3b 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 65 78 74 72 61 63 To($path);..if.(true.===.$extrac
71cc0 74 52 65 73 75 6c 74 29 20 7b 0a 24 7a 69 70 41 72 63 68 69 76 65 2d 3e 63 6c 6f 73 65 28 29 3b tResult).{.$zipArchive->close();
71ce0 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 ..return.true;.}..$processError.
71d00 3d 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 72 74 72 69 6d 28 22 54 =.new.\RuntimeException(rtrim("T
71d20 68 65 72 65 20 77 61 73 20 61 6e 20 65 72 72 6f 72 20 65 78 74 72 61 63 74 69 6e 67 20 74 68 65 here.was.an.error.extracting.the
71d40 20 5a 49 50 20 66 69 6c 65 2c 20 69 74 20 69 73 20 65 69 74 68 65 72 20 63 6f 72 72 75 70 74 65 .ZIP.file,.it.is.either.corrupte
71d60 64 20 6f 72 20 75 73 69 6e 67 20 61 6e 20 69 6e 76 61 6c 69 64 20 66 6f 72 6d 61 74 2e 5c 6e 22 d.or.using.an.invalid.format.\n"
71d80 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d 20 6e 65 77 ));.}.else.{.$processError.=.new
71da0 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 72 74 72 69 6d .\UnexpectedValueException(rtrim
71dc0 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 4d 65 73 73 61 67 65 28 24 72 65 74 76 61 6c 2c ($this->getErrorMessage($retval,
71de0 20 24 66 69 6c 65 29 2e 22 5c 6e 22 29 2c 20 24 72 65 74 76 61 6c 29 3b 0a 7d 0a 7d 20 63 61 74 .$file)."\n"),.$retval);.}.}.cat
71e00 63 68 20 28 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 70 72 6f 63 65 ch.(\ErrorException.$e).{.$proce
71e20 73 73 45 72 72 6f 72 20 3d 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 ssError.=.new.\RuntimeException(
71e40 27 54 68 65 20 61 72 63 68 69 76 65 20 6d 61 79 20 63 6f 6e 74 61 69 6e 20 69 64 65 6e 74 69 63 'The.archive.may.contain.identic
71e60 61 6c 20 66 69 6c 65 20 6e 61 6d 65 73 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 63 61 70 al.file.names.with.different.cap
71e80 69 74 61 6c 69 7a 61 74 69 6f 6e 20 28 77 68 69 63 68 20 66 61 69 6c 73 20 6f 6e 20 63 61 73 65 italization.(which.fails.on.case
71ea0 20 69 6e 73 65 6e 73 69 74 69 76 65 20 66 69 6c 65 73 79 73 74 65 6d 73 29 3a 20 27 2e 24 65 2d .insensitive.filesystems):.'.$e-
71ec0 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 30 2c 20 24 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 >getMessage(),.0,.$e);.}.catch.(
71ee0 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 70 72 6f 63 65 73 73 45 72 72 6f 72 20 3d \Exception.$e).{.$processError.=
71f00 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 69 73 4c 61 73 74 43 68 61 6e 63 65 29 20 7b 0a 74 68 72 .$e;.}..if.($isLastChance).{.thr
71f20 6f 77 20 24 70 72 6f 63 65 73 73 45 72 72 6f 72 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e ow.$processError;.}..$this->io->
71f40 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 27 2e 24 70 72 6f 63 65 73 73 45 72 72 6f 72 2d writeError('....'.$processError-
71f60 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 >getMessage());.$this->io->write
71f80 45 72 72 6f 72 28 27 20 20 20 20 55 6e 7a 69 70 20 77 69 74 68 20 5a 69 70 41 72 63 68 69 76 65 Error('....Unzip.with.ZipArchive
71fa0 20 63 6c 61 73 73 20 66 61 69 6c 65 64 2c 20 66 61 6c 6c 69 6e 67 20 62 61 63 6b 20 74 6f 20 75 .class.failed,.falling.back.to.u
71fc0 6e 7a 69 70 20 63 6f 6d 6d 61 6e 64 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 nzip.command');..return.$this->e
71fe0 78 74 72 61 63 74 57 69 74 68 53 79 73 74 65 6d 55 6e 7a 69 70 28 24 66 69 6c 65 2c 20 24 70 61 xtractWithSystemUnzip($file,.$pa
72000 74 68 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 th,.true);.}........public.funct
72020 69 6f 6e 20 65 78 74 72 61 63 74 28 24 66 69 6c 65 2c 20 24 70 61 74 68 29 0a 7b 0a 0a 20 69 66 ion.extract($file,.$path).{...if
72040 20 28 73 65 6c 66 3a 3a 24 69 73 57 69 6e 64 6f 77 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 74 .(self::$isWindows).{.$this->ext
72060 72 61 63 74 57 69 74 68 5a 69 70 41 72 63 68 69 76 65 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c ractWithZipArchive($file,.$path,
72080 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 .false);.}.else.{.$this->extract
720a0 57 69 74 68 53 79 73 74 65 6d 55 6e 7a 69 70 28 24 66 69 6c 65 2c 20 24 70 61 74 68 2c 20 66 61 WithSystemUnzip($file,.$path,.fa
720c0 6c 73 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 lse);.}.}.........protected.func
720e0 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4d 65 73 73 61 67 65 28 24 72 65 74 76 61 6c 2c 20 24 66 tion.getErrorMessage($retval,.$f
72100 69 6c 65 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 72 65 74 76 61 6c 29 20 7b 0a 63 61 73 65 20 5a ile).{.switch.($retval).{.case.Z
72120 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 45 58 49 53 54 53 3a 0a 72 65 74 75 72 6e 20 73 70 72 ipArchive::ER_EXISTS:.return.spr
72140 69 6e 74 66 28 22 46 69 6c 65 20 27 25 73 27 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2e 22 intf("File.'%s'.already.exists."
72160 2c 20 24 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 49 4e ,.$file);.case.ZipArchive::ER_IN
72180 43 4f 4e 53 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 5a 69 70 20 61 72 63 68 69 76 CONS:.return.sprintf("Zip.archiv
721a0 65 20 27 25 73 27 20 69 73 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74 2e 22 2c 20 24 66 69 6c 65 29 e.'%s'.is.inconsistent.",.$file)
721c0 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 49 4e 56 41 4c 3a 0a 72 65 74 ;.case.ZipArchive::ER_INVAL:.ret
721e0 75 72 6e 20 73 70 72 69 6e 74 66 28 22 49 6e 76 61 6c 69 64 20 61 72 67 75 6d 65 6e 74 20 28 25 urn.sprintf("Invalid.argument.(%
72200 73 29 22 2c 20 24 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 s)",.$file);.case.ZipArchive::ER
72220 5f 4d 45 4d 4f 52 59 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 4d 61 6c 6c 6f 63 20 _MEMORY:.return.sprintf("Malloc.
72240 66 61 69 6c 75 72 65 20 28 25 73 29 22 2c 20 24 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 failure.(%s)",.$file);.case.ZipA
72260 72 63 68 69 76 65 3a 3a 45 52 5f 4e 4f 45 4e 54 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 rchive::ER_NOENT:.return.sprintf
72280 28 22 4e 6f 20 73 75 63 68 20 7a 69 70 20 66 69 6c 65 3a 20 27 25 73 27 22 2c 20 24 66 69 6c 65 ("No.such.zip.file:.'%s'",.$file
722a0 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 4e 4f 5a 49 50 3a 0a 72 65 );.case.ZipArchive::ER_NOZIP:.re
722c0 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 27 25 73 27 20 69 73 20 6e 6f 74 20 61 20 7a 69 70 20 turn.sprintf("'%s'.is.not.a.zip.
722e0 61 72 63 68 69 76 65 2e 22 2c 20 24 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 archive.",.$file);.case.ZipArchi
72300 76 65 3a 3a 45 52 5f 4f 50 45 4e 3a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 43 61 6e ve::ER_OPEN:.return.sprintf("Can
72320 27 74 20 6f 70 65 6e 20 7a 69 70 20 66 69 6c 65 3a 20 25 73 22 2c 20 24 66 69 6c 65 29 3b 0a 63 't.open.zip.file:.%s",.$file);.c
72340 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 52 45 41 44 3a 0a 72 65 74 75 72 6e 20 ase.ZipArchive::ER_READ:.return.
72360 73 70 72 69 6e 74 66 28 22 5a 69 70 20 72 65 61 64 20 65 72 72 6f 72 20 28 25 73 29 22 2c 20 24 sprintf("Zip.read.error.(%s)",.$
72380 66 69 6c 65 29 3b 0a 63 61 73 65 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 45 52 5f 53 45 45 4b 3a file);.case.ZipArchive::ER_SEEK:
723a0 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 5a 69 70 20 73 65 65 6b 20 65 72 72 6f 72 20 .return.sprintf("Zip.seek.error.
723c0 28 25 73 29 22 2c 20 24 66 69 6c 65 29 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 73 (%s)",.$file);.default:.return.s
723e0 70 72 69 6e 74 66 28 22 27 25 73 27 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 7a 69 70 20 printf("'%s'.is.not.a.valid.zip.
72400 61 72 63 68 69 76 65 2c 20 67 6f 74 20 65 72 72 6f 72 20 63 6f 64 65 3a 20 25 73 22 2c 20 24 66 archive,.got.error.code:.%s",.$f
72420 69 6c 65 2c 20 24 72 65 74 76 61 6c 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a ile,.$retval);.}.}.}.<?php......
72440 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 ......namespace.Composer\EventDi
72460 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 76 65 6e 74 0a 7b 0a 0a 0a spatcher;.......class.Event.{...
72480 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 61 6d 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 .protected.$name;.....protected.
724a0 24 61 72 67 73 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 6c 61 67 73 3b 0a 0a 0a 0a $args;.....protected.$flags;....
724c0 0a 70 72 69 76 61 74 65 20 24 70 72 6f 70 61 67 61 74 69 6f 6e 53 74 6f 70 70 65 64 20 3d 20 66 .private.$propagationStopped.=.f
724e0 61 6c 73 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f alse;.........public.function.__
72500 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 61 72 72 61 79 20 24 61 72 67 73 20 3d 20 61 construct($name,.array.$args.=.a
72520 72 72 61 79 28 29 2c 20 61 72 72 61 79 20 24 66 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a rray(),.array.$flags.=.array()).
72540 7b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 61 72 {.$this->name.=.$name;.$this->ar
72560 67 73 20 3d 20 24 61 72 67 73 3b 0a 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 3d 20 24 66 6c 61 67 gs.=.$args;.$this->flags.=.$flag
72580 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 s;.}.......public.function.getNa
725a0 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a me().{.return.$this->name;.}....
725c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 73 28 ...public.function.getArguments(
725e0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 72 67 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ).{.return.$this->args;.}.......
72600 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6c 61 67 73 28 29 0a 7b 0a 72 65 74 public.function.getFlags().{.ret
72620 75 72 6e 20 24 74 68 69 73 2d 3e 66 6c 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 urn.$this->flags;.}.......public
72640 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 72 6f 70 61 67 61 74 69 6f 6e 53 74 6f 70 70 65 64 28 29 .function.isPropagationStopped()
72660 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 69 6f 6e 53 74 6f 70 .{.return.$this->propagationStop
72680 70 65 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 70 50 ped;.}.....public.function.stopP
726a0 72 6f 70 61 67 61 74 69 6f 6e 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 70 61 67 61 74 69 6f ropagation().{.$this->propagatio
726c0 6e 53 74 6f 70 70 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a nStopped.=.true;.}.}.<?php......
726e0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 ......namespace.Composer\EventDi
72700 73 70 61 74 63 68 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e spatcher;..use.Composer\Dependen
72720 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 cyResolver\PolicyInterface;.use.
72740 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c Composer\DependencyResolver\Pool
72760 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 ;.use.Composer\DependencyResolve
72780 72 5c 52 65 71 75 65 73 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 r\Request;.use.Composer\Installe
727a0 72 5c 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 r\InstallerEvent;.use.Composer\I
727c0 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 O\IOInterface;.use.Composer\Comp
727e0 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 oser;.use.Composer\DependencyRes
72800 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 olver\Operation\OperationInterfa
72820 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 ce;.use.Composer\Repository\Comp
72840 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 ositeRepository;.use.Composer\Sc
72860 72 69 70 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 50 61 63 ript;.use.Composer\Installer\Pac
72880 6b 61 67 65 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 kageEvent;.use.Composer\Installe
728a0 72 5c 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c r\BinaryInstaller;.use.Composer\
728c0 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 Util\ProcessExecutor;.use.Compos
728e0 65 72 5c 53 63 72 69 70 74 5c 45 76 65 6e 74 20 61 73 20 53 63 72 69 70 74 45 76 65 6e 74 3b 0a er\Script\Event.as.ScriptEvent;.
72900 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 68 use.Symfony\Component\Process\Ph
72920 70 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a pExecutableFinder;..............
72940 0a 63 6c 61 73 73 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 0a 7b 0a 70 72 6f 74 65 63 74 .class.EventDispatcher.{.protect
72960 65 64 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f ed.$composer;.protected.$io;.pro
72980 74 65 63 74 65 64 20 24 6c 6f 61 64 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 tected.$loader;.protected.$proce
729a0 73 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 69 73 74 65 6e 65 72 73 3b 0a 70 72 69 76 61 74 ss;.protected.$listeners;.privat
729c0 65 20 24 65 76 65 6e 74 53 74 61 63 6b 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 e.$eventStack;.........public.fu
729e0 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d nction.__construct(Composer.$com
72a00 70 6f 73 65 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 50 72 6f 63 65 73 73 45 poser,.IOInterface.$io,.ProcessE
72a20 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 xecutor.$process.=.null).{.$this
72a40 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 24 74 68 69 73 2d 3e 69 ->composer.=.$composer;.$this->i
72a60 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 o.=.$io;.$this->process.=.$proce
72a80 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a ss.?:.new.ProcessExecutor($io);.
72aa0 24 74 68 69 73 2d 3e 65 76 65 6e 74 53 74 61 63 6b 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a $this->eventStack.=.array();.}..
72ac0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 61 74 63 68 ........public.function.dispatch
72ae0 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 45 76 65 6e 74 20 24 65 76 65 6e 74 20 3d 20 6e 75 6c 6c ($eventName,.Event.$event.=.null
72b00 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 76 65 6e 74 29 20 7b 0a 24 65 76 65 6e ).{.if.(null.===.$event).{.$even
72b20 74 20 3d 20 6e 65 77 20 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 29 3b 0a 7d 0a 0a 72 65 t.=.new.Event($eventName);.}..re
72b40 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 6f 44 69 73 70 61 74 63 68 28 24 65 76 65 6e 74 29 3b 0a turn.$this->doDispatch($event);.
72b60 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 }............public.function.dis
72b80 70 61 74 63 68 53 63 72 69 70 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 64 65 76 4d 6f 64 65 patchScript($eventName,.$devMode
72ba0 20 3d 20 66 61 6c 73 65 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 41 72 67 73 20 3d 20 61 72 72 61 .=.false,.$additionalArgs.=.arra
72bc0 79 28 29 2c 20 24 66 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 y(),.$flags.=.array()).{.return.
72be0 24 74 68 69 73 2d 3e 64 6f 44 69 73 70 61 74 63 68 28 6e 65 77 20 53 63 72 69 70 74 5c 45 76 65 $this->doDispatch(new.Script\Eve
72c00 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2c 20 nt($eventName,.$this->composer,.
72c20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 64 65 76 4d 6f 64 65 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c $this->io,.$devMode,.$additional
72c40 41 72 67 73 2c 20 24 66 6c 61 67 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a Args,.$flags));.}...............
72c60 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 61 74 63 68 50 61 63 6b 61 67 ..public.function.dispatchPackag
72c80 65 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 64 65 76 4d 6f 64 65 2c 20 50 6f 6c eEvent($eventName,.$devMode,.Pol
72ca0 69 63 79 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f 6f 6c icyInterface.$policy,.Pool.$pool
72cc0 2c 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 24 69 6e 73 74 61 6c 6c 65 64 ,.CompositeRepository.$installed
72ce0 52 65 70 6f 2c 20 52 65 71 75 65 73 74 20 24 72 65 71 75 65 73 74 2c 20 61 72 72 61 79 20 24 6f Repo,.Request.$request,.array.$o
72d00 70 65 72 61 74 69 6f 6e 73 2c 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 6f perations,.OperationInterface.$o
72d20 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 6f 44 69 73 70 peration).{.return.$this->doDisp
72d40 61 74 63 68 28 6e 65 77 20 50 61 63 6b 61 67 65 45 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 atch(new.PackageEvent($eventName
72d60 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 64 ,.$this->composer,.$this->io,.$d
72d80 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c evMode,.$policy,.$pool,.$install
72da0 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 24 edRepo,.$request,.$operations,.$
72dc0 6f 70 65 72 61 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 operation));.}................pu
72de0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 61 74 63 68 49 6e 73 74 61 6c 6c 65 72 45 blic.function.dispatchInstallerE
72e00 76 65 6e 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 64 65 76 4d 6f 64 65 2c 20 50 6f 6c 69 63 vent($eventName,.$devMode,.Polic
72e20 79 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 yInterface.$policy,.Pool.$pool,.
72e40 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 CompositeRepository.$installedRe
72e60 70 6f 2c 20 52 65 71 75 65 73 74 20 24 72 65 71 75 65 73 74 2c 20 61 72 72 61 79 20 24 6f 70 65 po,.Request.$request,.array.$ope
72e80 72 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 rations.=.array()).{.return.$thi
72ea0 73 2d 3e 64 6f 44 69 73 70 61 74 63 68 28 6e 65 77 20 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 s->doDispatch(new.InstallerEvent
72ec0 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2c 20 24 74 ($eventName,.$this->composer,.$t
72ee0 68 69 73 2d 3e 69 6f 2c 20 24 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f his->io,.$devMode,.$policy,.$poo
72f00 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 l,.$installedRepo,.$request,.$op
72f20 65 72 61 74 69 6f 6e 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 erations));.}..........protected
72f40 20 66 75 6e 63 74 69 6f 6e 20 64 6f 44 69 73 70 61 74 63 68 28 45 76 65 6e 74 20 24 65 76 65 6e .function.doDispatch(Event.$even
72f60 74 29 0a 7b 0a 24 70 61 74 68 53 74 72 20 3d 20 27 50 41 54 48 27 3b 0a 69 66 20 28 21 69 73 73 t).{.$pathStr.=.'PATH';.if.(!iss
72f80 65 74 28 24 5f 53 45 52 56 45 52 5b 24 70 61 74 68 53 74 72 5d 29 20 26 26 20 69 73 73 65 74 28 et($_SERVER[$pathStr]).&&.isset(
72fa0 24 5f 53 45 52 56 45 52 5b 27 50 61 74 68 27 5d 29 29 20 7b 0a 24 70 61 74 68 53 74 72 20 3d 20 $_SERVER['Path'])).{.$pathStr.=.
72fc0 27 50 61 74 68 27 3b 0a 7d 0a 0a 0a 20 24 62 69 6e 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 'Path';.}....$binDir.=.$this->co
72fe0 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 64 69 mposer->getConfig()->get('bin-di
73000 72 27 29 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 62 69 6e 44 69 72 29 29 20 7b 0a 24 62 69 6e r');.if.(is_dir($binDir)).{.$bin
73020 44 69 72 20 3d 20 72 65 61 6c 70 61 74 68 28 24 62 69 6e 44 69 72 29 3b 0a 69 66 20 28 69 73 73 Dir.=.realpath($binDir);.if.(iss
73040 65 74 28 24 5f 53 45 52 56 45 52 5b 24 70 61 74 68 53 74 72 5d 29 20 26 26 20 21 70 72 65 67 5f et($_SERVER[$pathStr]).&&.!preg_
73060 6d 61 74 63 68 28 27 7b 28 5e 7c 27 2e 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2e 27 29 27 2e match('{(^|'.PATH_SEPARATOR.')'.
73080 70 72 65 67 5f 71 75 6f 74 65 28 24 62 69 6e 44 69 72 29 2e 27 28 24 7c 27 2e 50 41 54 48 5f 53 preg_quote($binDir).'($|'.PATH_S
730a0 45 50 41 52 41 54 4f 52 2e 27 29 7d 27 2c 20 24 5f 53 45 52 56 45 52 5b 24 70 61 74 68 53 74 72 EPARATOR.')}',.$_SERVER[$pathStr
730c0 5d 29 29 20 7b 0a 24 5f 53 45 52 56 45 52 5b 24 70 61 74 68 53 74 72 5d 20 3d 20 24 62 69 6e 44 ])).{.$_SERVER[$pathStr].=.$binD
730e0 69 72 2e 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2e 67 65 74 65 6e 76 28 24 70 61 74 68 53 74 ir.PATH_SEPARATOR.getenv($pathSt
73100 72 29 3b 0a 70 75 74 65 6e 76 28 24 70 61 74 68 53 74 72 2e 27 3d 27 2e 24 5f 53 45 52 56 45 52 r);.putenv($pathStr.'='.$_SERVER
73120 5b 24 70 61 74 68 53 74 72 5d 29 3b 0a 7d 0a 7d 0a 0a 24 6c 69 73 74 65 6e 65 72 73 20 3d 20 24 [$pathStr]);.}.}..$listeners.=.$
73140 74 68 69 73 2d 3e 67 65 74 4c 69 73 74 65 6e 65 72 73 28 24 65 76 65 6e 74 29 3b 0a 0a 24 74 68 this->getListeners($event);..$th
73160 69 73 2d 3e 70 75 73 68 45 76 65 6e 74 28 24 65 76 65 6e 74 29 3b 0a 0a 24 72 65 74 75 72 6e 20 is->pushEvent($event);..$return.
73180 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 73 74 65 6e 65 72 73 20 61 73 20 24 63 61 6c =.0;.foreach.($listeners.as.$cal
731a0 6c 61 62 6c 65 29 20 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 63 61 6c 6c 61 62 6c lable).{.if.(!is_string($callabl
731c0 65 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 63 61 6c 6c 61 62 6c 65 e)).{.if.(!is_callable($callable
731e0 29 29 20 7b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 69 73 5f 6f 62 6a 65 63 74 28 24 63 61 6c )).{.$className.=.is_object($cal
73200 6c 61 62 6c 65 5b 30 5d 29 20 3f 20 67 65 74 5f 63 6c 61 73 73 28 24 63 61 6c 6c 61 62 6c 65 5b lable[0]).?.get_class($callable[
73220 30 5d 29 20 3a 20 24 63 61 6c 6c 61 62 6c 65 5b 30 5d 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 0]).:.$callable[0];..throw.new.\
73240 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 53 75 62 73 63 72 69 62 65 72 20 27 2e 24 RuntimeException('Subscriber.'.$
73260 63 6c 61 73 73 4e 61 6d 65 2e 27 3a 3a 27 2e 24 63 61 6c 6c 61 62 6c 65 5b 31 5d 2e 27 20 66 6f className.'::'.$callable[1].'.fo
73280 72 20 65 76 65 6e 74 20 27 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 69 73 r.event.'.$event->getName().'.is
732a0 20 6e 6f 74 20 63 61 6c 6c 61 62 6c 65 2c 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 66 75 6e .not.callable,.make.sure.the.fun
732c0 63 74 69 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 61 6e 64 20 70 75 62 6c 69 63 27 29 3b 0a 7d ction.is.defined.and.public');.}
732e0 0a 24 65 76 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 4c 69 73 74 65 6e 65 72 45 78 .$event.=.$this->checkListenerEx
73300 70 65 63 74 65 64 45 76 65 6e 74 28 24 63 61 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 29 3b 0a pectedEvent($callable,.$event);.
73320 24 72 65 74 75 72 6e 20 3d 20 66 61 6c 73 65 20 3d 3d 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 $return.=.false.===.call_user_fu
73340 6e 63 28 24 63 61 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 29 20 3f 20 31 20 3a 20 30 3b 0a 7d nc($callable,.$event).?.1.:.0;.}
73360 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 73 43 6f 6d 70 6f 73 65 72 53 63 72 69 70 74 .elseif.($this->isComposerScript
73380 28 24 63 61 6c 6c 61 62 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 ($callable)).{.$this->io->writeE
733a0 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3e 20 25 73 3a 20 25 73 27 2c 20 24 65 76 65 6e 74 2d rror(sprintf('>.%s:.%s',.$event-
733c0 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 61 6c 6c 61 62 6c 65 29 2c 20 74 72 75 65 2c 20 49 4f >getName(),.$callable),.true,.IO
733e0 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 24 73 63 72 69 70 74 20 3d 20 Interface::VERBOSE);..$script.=.
73400 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 73 75 62 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c 20 31 explode('.',.substr($callable,.1
73420 29 29 3b 0a 24 73 63 72 69 70 74 4e 61 6d 65 20 3d 20 24 73 63 72 69 70 74 5b 30 5d 3b 0a 75 6e ));.$scriptName.=.$script[0];.un
73440 73 65 74 28 24 73 63 72 69 70 74 5b 30 5d 29 3b 0a 0a 24 61 72 67 73 20 3d 20 61 72 72 61 79 5f set($script[0]);..$args.=.array_
73460 6d 65 72 67 65 28 24 73 63 72 69 70 74 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 41 72 67 75 6d 65 merge($script,.$event->getArgume
73480 6e 74 73 28 29 29 3b 0a 24 66 6c 61 67 73 20 3d 20 24 65 76 65 6e 74 2d 3e 67 65 74 46 6c 61 67 nts());.$flags.=.$event->getFlag
734a0 73 28 29 3b 0a 69 66 20 28 73 75 62 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c 20 30 2c 20 31 30 s();.if.(substr($callable,.0,.10
734c0 29 20 3d 3d 3d 20 27 40 63 6f 6d 70 6f 73 65 72 20 27 29 20 7b 0a 24 65 78 65 63 20 3d 20 24 74 ).===.'@composer.').{.$exec.=.$t
734e0 68 69 73 2d 3e 67 65 74 50 68 70 45 78 65 63 43 6f 6d 6d 61 6e 64 28 29 20 2e 20 27 20 27 20 2e his->getPhpExecCommand()...'.'..
73500 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 67 65 74 65 6e 76 28 .ProcessExecutor::escape(getenv(
73520 27 43 4f 4d 50 4f 53 45 52 5f 42 49 4e 41 52 59 27 29 29 20 2e 20 73 75 62 73 74 72 28 24 63 61 'COMPOSER_BINARY'))...substr($ca
73540 6c 6c 61 62 6c 65 2c 20 39 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 28 24 65 78 69 74 43 6f 64 65 llable,.9);.if.(0.!==.($exitCode
73560 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 65 78 65 63 .=.$this->process->execute($exec
73580 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 ))).{.$this->io->writeError(spri
735a0 6e 74 66 28 27 3c 65 72 72 6f 72 3e 53 63 72 69 70 74 20 25 73 20 68 61 6e 64 6c 69 6e 67 20 74 ntf('<error>Script.%s.handling.t
735c0 68 65 20 25 73 20 65 76 65 6e 74 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 65 72 72 6f 72 20 he.%s.event.returned.with.error.
735e0 63 6f 64 65 20 27 2e 24 65 78 69 74 43 6f 64 65 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 63 61 code.'.$exitCode.'</error>',.$ca
73600 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 2c 20 74 72 75 65 llable,.$event->getName()),.true
73620 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 ,.IOInterface::QUIET);..throw.ne
73640 77 20 53 63 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 27 45 72 72 6f w.ScriptExecutionException('Erro
73660 72 20 4f 75 74 70 75 74 3a 20 27 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 r.Output:.'.$this->process->getE
73680 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 7d 20 65 6c rrorOutput(),.$exitCode);.}.}.el
736a0 73 65 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 4c 69 73 74 65 6e 65 72 73 28 6e 65 se.{.if.(!$this->getListeners(ne
736c0 77 20 45 76 65 6e 74 28 24 73 63 72 69 70 74 4e 61 6d 65 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e w.Event($scriptName))).{.$this->
736e0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3c 77 61 72 6e 69 6e 67 io->writeError(sprintf('<warning
73700 3e 59 6f 75 20 6d 61 64 65 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 61 20 6e 6f 6e 2d 65 >You.made.a.reference.to.a.non-e
73720 78 69 73 74 65 6e 74 20 73 63 72 69 70 74 20 25 73 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 24 63 xistent.script.%s</warning>',.$c
73740 61 6c 6c 61 62 6c 65 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 allable),.true,.IOInterface::QUI
73760 45 54 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 73 63 72 69 70 74 45 76 65 6e 74 20 3d 20 6e 65 77 ET);.}..try.{.$scriptEvent.=.new
73780 20 53 63 72 69 70 74 5c 45 76 65 6e 74 28 24 73 63 72 69 70 74 4e 61 6d 65 2c 20 24 65 76 65 6e .Script\Event($scriptName,.$even
737a0 74 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 49 4f 28 t->getComposer(),.$event->getIO(
737c0 29 2c 20 24 65 76 65 6e 74 2d 3e 69 73 44 65 76 4d 6f 64 65 28 29 2c 20 24 61 72 67 73 2c 20 24 ),.$event->isDevMode(),.$args,.$
737e0 66 6c 61 67 73 29 3b 0a 24 73 63 72 69 70 74 45 76 65 6e 74 2d 3e 73 65 74 4f 72 69 67 69 6e 61 flags);.$scriptEvent->setOrigina
73800 74 69 6e 67 45 76 65 6e 74 28 24 65 76 65 6e 74 29 3b 0a 24 72 65 74 75 72 6e 20 3d 20 24 74 68 tingEvent($event);.$return.=.$th
73820 69 73 2d 3e 64 69 73 70 61 74 63 68 28 24 73 63 72 69 70 74 4e 61 6d 65 2c 20 24 73 63 72 69 70 is->dispatch($scriptName,.$scrip
73840 74 45 76 65 6e 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 53 63 72 69 70 74 45 78 65 63 75 74 69 6f tEvent);.}.catch.(ScriptExecutio
73860 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 nException.$e).{.$this->io->writ
73880 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 53 63 72 69 70 74 20 25 73 eError(sprintf('<error>Script.%s
738a0 20 77 61 73 20 63 61 6c 6c 65 64 20 76 69 61 20 25 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 63 61 .was.called.via.%s</error>',.$ca
738c0 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 2c 20 74 72 75 65 llable,.$event->getName()),.true
738e0 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 74 68 72 6f 77 20 24 65 3b ,.IOInterface::QUIET);.throw.$e;
73900 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 73 50 68 70 53 63 72 69 70 .}.}.}.elseif.($this->isPhpScrip
73920 74 28 24 63 61 6c 6c 61 62 6c 65 29 29 20 7b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 73 75 62 t($callable)).{.$className.=.sub
73940 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c 20 30 2c 20 73 74 72 70 6f 73 28 24 63 61 6c 6c 61 62 str($callable,.0,.strpos($callab
73960 6c 65 2c 20 27 3a 3a 27 29 29 3b 0a 24 6d 65 74 68 6f 64 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 le,.'::'));.$methodName.=.substr
73980 28 24 63 61 6c 6c 61 62 6c 65 2c 20 73 74 72 70 6f 73 28 24 63 61 6c 6c 61 62 6c 65 2c 20 27 3a ($callable,.strpos($callable,.':
739a0 3a 27 29 20 2b 20 32 29 3b 0a 0a 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c :').+.2);..if.(!class_exists($cl
739c0 61 73 73 4e 61 6d 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f assName)).{.$this->io->writeErro
739e0 72 28 27 3c 77 61 72 6e 69 6e 67 3e 43 6c 61 73 73 20 27 2e 24 63 6c 61 73 73 4e 61 6d 65 2e 27 r('<warning>Class.'.$className.'
73a00 20 69 73 20 6e 6f 74 20 61 75 74 6f 6c 6f 61 64 61 62 6c 65 2c 20 63 61 6e 20 6e 6f 74 20 63 61 .is.not.autoloadable,.can.not.ca
73a20 6c 6c 20 27 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 73 63 72 69 70 74 3c ll.'.$event->getName().'.script<
73a40 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 /warning>',.true,.IOInterface::Q
73a60 55 49 45 54 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 63 61 6c 6c 61 UIET);.continue;.}.if.(!is_calla
73a80 62 6c 65 28 24 63 61 6c 6c 61 62 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 ble($callable)).{.$this->io->wri
73aa0 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 4d 65 74 68 6f 64 20 27 2e 24 63 61 6c 6c teError('<warning>Method.'.$call
73ac0 61 62 6c 65 2e 27 20 69 73 20 6e 6f 74 20 63 61 6c 6c 61 62 6c 65 2c 20 63 61 6e 20 6e 6f 74 20 able.'.is.not.callable,.can.not.
73ae0 63 61 6c 6c 20 27 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 73 63 72 69 70 call.'.$event->getName().'.scrip
73b00 74 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a t</warning>',.true,.IOInterface:
73b20 3a 51 55 49 45 54 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 72 65 74 :QUIET);.continue;.}..try.{.$ret
73b40 75 72 6e 20 3d 20 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 45 76 urn.=.false.===.$this->executeEv
73b60 65 6e 74 50 68 70 53 63 72 69 70 74 28 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6d 65 74 68 6f 64 entPhpScript($className,.$method
73b80 4e 61 6d 65 2c 20 24 65 76 65 6e 74 29 20 3f 20 31 20 3a 20 30 3b 0a 7d 20 63 61 74 63 68 20 28 Name,.$event).?.1.:.0;.}.catch.(
73ba0 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 53 63 72 \Exception.$e).{.$message.=."Scr
73bc0 69 70 74 20 25 73 20 68 61 6e 64 6c 69 6e 67 20 74 68 65 20 25 73 20 65 76 65 6e 74 20 74 65 72 ipt.%s.handling.the.%s.event.ter
73be0 6d 69 6e 61 74 65 64 20 77 69 74 68 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 22 3b 0a 24 74 68 69 minated.with.an.exception";.$thi
73c00 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e 73 70 72 69 s->io->writeError('<error>'.spri
73c20 6e 74 66 28 24 6d 65 73 73 61 67 65 2c 20 24 63 61 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 2d ntf($message,.$callable,.$event-
73c40 3e 67 65 74 4e 61 6d 65 28 29 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f >getName()).'</error>',.true,.IO
73c60 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d Interface::QUIET);.throw.$e;.}.}
73c80 20 65 6c 73 65 20 7b 0a 24 61 72 67 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 61 72 72 .else.{.$args.=.implode('.',.arr
73ca0 61 79 5f 6d 61 70 28 61 72 72 61 79 28 27 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 ay_map(array('Composer\Util\Proc
73cc0 65 73 73 45 78 65 63 75 74 6f 72 27 2c 20 27 65 73 63 61 70 65 27 29 2c 20 24 65 76 65 6e 74 2d essExecutor',.'escape'),.$event-
73ce0 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 29 3b 0a 24 65 78 65 63 20 3d 20 24 63 61 6c 6c >getArguments()));.$exec.=.$call
73d00 61 62 6c 65 20 2e 20 28 24 61 72 67 73 20 3d 3d 3d 20 27 27 20 3f 20 27 27 20 3a 20 27 20 27 2e able...($args.===.''.?.''.:.'.'.
73d20 24 61 72 67 73 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 $args);.if.($this->io->isVerbose
73d40 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 ()).{.$this->io->writeError(spri
73d60 6e 74 66 28 27 3e 20 25 73 3a 20 25 73 27 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 ntf('>.%s:.%s',.$event->getName(
73d80 29 2c 20 24 65 78 65 63 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e ),.$exec));.}.else.{.$this->io->
73da0 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3e 20 25 73 27 2c 20 24 65 78 65 63 writeError(sprintf('>.%s',.$exec
73dc0 29 29 3b 0a 7d 0a 0a 24 70 6f 73 73 69 62 6c 65 4c 6f 63 61 6c 42 69 6e 61 72 69 65 73 20 3d 20 ));.}..$possibleLocalBinaries.=.
73de0 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 $this->composer->getPackage()->g
73e00 65 74 42 69 6e 61 72 69 65 73 28 29 3b 0a 69 66 20 28 24 70 6f 73 73 69 62 6c 65 4c 6f 63 61 6c etBinaries();.if.($possibleLocal
73e20 42 69 6e 61 72 69 65 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 6f 73 73 69 62 6c 65 4c 6f Binaries).{.foreach.($possibleLo
73e40 63 61 6c 42 69 6e 61 72 69 65 73 20 61 73 20 24 6c 6f 63 61 6c 45 78 65 63 29 20 7b 0a 69 66 20 calBinaries.as.$localExec).{.if.
73e60 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5c 62 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 63 61 (preg_match('{\b'.preg_quote($ca
73e80 6c 6c 61 62 6c 65 29 2e 27 24 7d 27 2c 20 24 6c 6f 63 61 6c 45 78 65 63 29 29 20 7b 0a 24 63 61 llable).'$}',.$localExec)).{.$ca
73ea0 6c 6c 65 72 20 3d 20 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 3a 3a 64 65 74 65 72 6d 69 6e ller.=.BinaryInstaller::determin
73ec0 65 42 69 6e 61 72 79 43 61 6c 6c 65 72 28 24 6c 6f 63 61 6c 45 78 65 63 29 3b 0a 24 65 78 65 63 eBinaryCaller($localExec);.$exec
73ee0 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 .=.preg_replace('{^'.preg_quote(
73f00 24 63 61 6c 6c 61 62 6c 65 29 2e 27 7d 27 2c 20 24 63 61 6c 6c 65 72 20 2e 20 27 20 27 20 2e 20 $callable).'}',.$caller...'.'...
73f20 24 6c 6f 63 61 6c 45 78 65 63 2c 20 24 65 78 65 63 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d $localExec,.$exec);.break;.}.}.}
73f40 0a 0a 69 66 20 28 73 75 62 73 74 72 28 24 65 78 65 63 2c 20 30 2c 20 35 29 20 3d 3d 3d 20 27 40 ..if.(substr($exec,.0,.5).===.'@
73f60 70 68 70 20 27 29 20 7b 0a 24 65 78 65 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 68 70 45 78 php.').{.$exec.=.$this->getPhpEx
73f80 65 63 43 6f 6d 6d 61 6e 64 28 29 20 2e 20 27 20 27 20 2e 20 73 75 62 73 74 72 28 24 65 78 65 63 ecCommand()...'.'...substr($exec
73fa0 2c 20 35 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 50 68 70 ,.5);.}.else.{.$finder.=.new.Php
73fc0 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 28 29 3b 0a 24 70 68 70 50 61 74 68 20 3d 20 24 ExecutableFinder();.$phpPath.=.$
73fe0 66 69 6e 64 65 72 2d 3e 66 69 6e 64 28 66 61 6c 73 65 29 3b 0a 69 66 20 28 24 70 68 70 50 61 74 finder->find(false);.if.($phpPat
74000 68 29 20 7b 0a 70 75 74 65 6e 76 28 27 50 48 50 5f 42 49 4e 41 52 59 3d 27 20 2e 20 24 70 68 70 h).{.putenv('PHP_BINARY='...$php
74020 50 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 28 24 65 78 69 74 43 6f 64 65 Path);.}.}..if.(0.!==.($exitCode
74040 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 65 78 65 63 .=.$this->process->execute($exec
74060 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 ))).{.$this->io->writeError(spri
74080 6e 74 66 28 27 3c 65 72 72 6f 72 3e 53 63 72 69 70 74 20 25 73 20 68 61 6e 64 6c 69 6e 67 20 74 ntf('<error>Script.%s.handling.t
740a0 68 65 20 25 73 20 65 76 65 6e 74 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 65 72 72 6f 72 20 he.%s.event.returned.with.error.
740c0 63 6f 64 65 20 27 2e 24 65 78 69 74 43 6f 64 65 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 63 61 code.'.$exitCode.'</error>',.$ca
740e0 6c 6c 61 62 6c 65 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 2c 20 74 72 75 65 llable,.$event->getName()),.true
74100 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 ,.IOInterface::QUIET);..throw.ne
74120 77 20 53 63 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 27 45 72 72 6f w.ScriptExecutionException('Erro
74140 72 20 4f 75 74 70 75 74 3a 20 27 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 r.Output:.'.$this->process->getE
74160 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 7d 0a 0a 69 rrorOutput(),.$exitCode);.}.}..i
74180 66 20 28 24 65 76 65 6e 74 2d 3e 69 73 50 72 6f 70 61 67 61 74 69 6f 6e 53 74 6f 70 70 65 64 28 f.($event->isPropagationStopped(
741a0 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 6f 70 45 76 65 6e 74 )).{.break;.}.}..$this->popEvent
741c0 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 75 72 6e 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 ();..return.$return;.}..protecte
741e0 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 68 70 45 78 65 63 43 6f 6d 6d 61 6e 64 28 29 0a 7b d.function.getPhpExecCommand().{
74200 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 .$finder.=.new.PhpExecutableFind
74220 65 72 28 29 3b 0a 24 70 68 70 50 61 74 68 20 3d 20 24 66 69 6e 64 65 72 2d 3e 66 69 6e 64 28 66 er();.$phpPath.=.$finder->find(f
74240 61 6c 73 65 29 3b 0a 69 66 20 28 21 24 70 68 70 50 61 74 68 29 20 7b 0a 74 68 72 6f 77 20 6e 65 alse);.if.(!$phpPath).{.throw.ne
74260 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 6c w.\RuntimeException('Failed.to.l
74280 6f 63 61 74 65 20 50 48 50 20 62 69 6e 61 72 79 20 74 6f 20 65 78 65 63 75 74 65 20 27 2e 24 70 ocate.PHP.binary.to.execute.'.$p
742a0 68 70 50 61 74 68 29 3b 0a 7d 0a 24 70 68 70 41 72 67 73 20 3d 20 24 66 69 6e 64 65 72 2d 3e 66 hpPath);.}.$phpArgs.=.$finder->f
742c0 69 6e 64 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 24 70 68 70 41 72 67 73 20 3d 20 24 70 68 70 41 indArguments();.$phpArgs.=.$phpA
742e0 72 67 73 20 3f 20 27 20 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 70 68 70 41 72 67 rgs.?.'.'...implode('.',.$phpArg
74300 73 29 20 3a 20 27 27 3b 0a 24 61 6c 6c 6f 77 55 72 6c 46 4f 70 65 6e 46 6c 61 67 20 3d 20 27 20 s).:.'';.$allowUrlFOpenFlag.=.'.
74320 2d 64 20 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f 70 65 6e 3d 27 20 2e 20 50 72 6f 63 65 73 73 45 78 -d.allow_url_fopen='...ProcessEx
74340 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 69 6e 69 5f 67 65 74 28 27 61 6c 6c 6f 77 5f 75 72 ecutor::escape(ini_get('allow_ur
74360 6c 5f 66 6f 70 65 6e 27 29 29 3b 0a 24 64 69 73 61 62 6c 65 46 75 6e 63 74 69 6f 6e 73 46 6c 61 l_fopen'));.$disableFunctionsFla
74380 67 20 3d 20 27 20 2d 64 20 64 69 73 61 62 6c 65 5f 66 75 6e 63 74 69 6f 6e 73 3d 27 20 2e 20 50 g.=.'.-d.disable_functions='...P
743a0 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 69 6e 69 5f 67 65 74 28 27 rocessExecutor::escape(ini_get('
743c0 64 69 73 61 62 6c 65 5f 66 75 6e 63 74 69 6f 6e 73 27 29 29 3b 0a 24 6d 65 6d 6f 72 79 4c 69 6d disable_functions'));.$memoryLim
743e0 69 74 46 6c 61 67 20 3d 20 27 20 2d 64 20 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 3d 27 20 2e 20 50 itFlag.=.'.-d.memory_limit='...P
74400 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 69 6e 69 5f 67 65 74 28 27 rocessExecutor::escape(ini_get('
74420 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 50 72 6f 63 65 73 73 memory_limit'));..return.Process
74440 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 68 70 50 61 74 68 29 20 2e 20 24 70 68 Executor::escape($phpPath)...$ph
74460 70 41 72 67 73 20 2e 20 24 61 6c 6c 6f 77 55 72 6c 46 4f 70 65 6e 46 6c 61 67 20 2e 20 24 64 69 pArgs...$allowUrlFOpenFlag...$di
74480 73 61 62 6c 65 46 75 6e 63 74 69 6f 6e 73 46 6c 61 67 20 2e 20 24 6d 65 6d 6f 72 79 4c 69 6d 69 sableFunctionsFlag...$memoryLimi
744a0 74 46 6c 61 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f tFlag;.}.......protected.functio
744c0 6e 20 65 78 65 63 75 74 65 45 76 65 6e 74 50 68 70 53 63 72 69 70 74 28 24 63 6c 61 73 73 4e 61 n.executeEventPhpScript($classNa
744e0 6d 65 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 2c 20 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b me,.$methodName,.Event.$event).{
74500 0a 24 65 76 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 4c 69 73 74 65 6e 65 72 45 78 .$event.=.$this->checkListenerEx
74520 70 65 63 74 65 64 45 76 65 6e 74 28 61 72 72 61 79 28 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6d pectedEvent(array($className,.$m
74540 65 74 68 6f 64 4e 61 6d 65 29 2c 20 24 65 76 65 6e 74 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d ethodName),.$event);..if.($this-
74560 3e 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 >io->isVerbose()).{.$this->io->w
74580 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3e 20 25 73 3a 20 25 73 3a 3a 25 73 27 riteError(sprintf('>.%s:.%s::%s'
745a0 2c 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6c 61 73 73 4e 61 6d 65 2c ,.$event->getName(),.$className,
745c0 20 24 6d 65 74 68 6f 64 4e 61 6d 65 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e .$methodName));.}.else.{.$this->
745e0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 3e 20 25 73 3a 3a 25 73 io->writeError(sprintf('>.%s::%s
74600 27 2c 20 24 63 6c 61 73 73 4e 61 6d 65 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 29 29 3b 0a 7d 0a ',.$className,.$methodName));.}.
74620 0a 72 65 74 75 72 6e 20 24 63 6c 61 73 73 4e 61 6d 65 3a 3a 24 6d 65 74 68 6f 64 4e 61 6d 65 28 .return.$className::$methodName(
74640 24 65 76 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 $event);.}.......protected.funct
74660 69 6f 6e 20 63 68 65 63 6b 4c 69 73 74 65 6e 65 72 45 78 70 65 63 74 65 64 45 76 65 6e 74 28 24 ion.checkListenerExpectedEvent($
74680 74 61 72 67 65 74 2c 20 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 69 66 20 28 69 6e 5f 61 target,.Event.$event).{.if.(in_a
746a0 72 72 61 79 28 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 61 72 72 61 79 28 0a 27 rray($event->getName(),.array(.'
746c0 69 6e 69 74 27 2c 0a 27 63 6f 6d 6d 61 6e 64 27 2c 0a 27 70 72 65 2d 66 69 6c 65 2d 64 6f 77 6e init',.'command',.'pre-file-down
746e0 6c 6f 61 64 27 2c 0a 29 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 76 65 6e 74 load',.),.true)).{.return.$event
74700 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 72 65 66 6c 65 63 74 65 64 20 3d 20 6e 65 77 20 5c 52 65 66 ;.}..try.{.$reflected.=.new.\Ref
74720 6c 65 63 74 69 6f 6e 50 61 72 61 6d 65 74 65 72 28 24 74 61 72 67 65 74 2c 20 30 29 3b 0a 7d 20 lectionParameter($target,.0);.}.
74740 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 catch.(\Exception.$e).{.return.$
74760 65 76 65 6e 74 3b 0a 7d 0a 0a 24 74 79 70 65 68 69 6e 74 20 3d 20 24 72 65 66 6c 65 63 74 65 64 event;.}..$typehint.=.$reflected
74780 2d 3e 67 65 74 43 6c 61 73 73 28 29 3b 0a 0a 69 66 20 28 21 24 74 79 70 65 68 69 6e 74 20 69 6e ->getClass();..if.(!$typehint.in
747a0 73 74 61 6e 63 65 6f 66 20 5c 52 65 66 6c 65 63 74 69 6f 6e 43 6c 61 73 73 29 20 7b 0a 72 65 74 stanceof.\ReflectionClass).{.ret
747c0 75 72 6e 20 24 65 76 65 6e 74 3b 0a 7d 0a 0a 24 65 78 70 65 63 74 65 64 20 3d 20 24 74 79 70 65 urn.$event;.}..$expected.=.$type
747e0 68 69 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 0a 0a 20 69 66 20 28 21 24 65 76 65 6e 74 20 hint->getName();....if.(!$event.
74800 69 6e 73 74 61 6e 63 65 6f 66 20 24 65 78 70 65 63 74 65 64 20 26 26 20 24 65 78 70 65 63 74 65 instanceof.$expected.&&.$expecte
74820 64 20 3d 3d 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 43 6f 6d 6d 61 6e 64 45 76 d.===.'Composer\Script\CommandEv
74840 65 6e 74 27 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 63 61 6c 6c 62 ent').{.trigger_error('The.callb
74860 61 63 6b 20 27 2e 24 74 68 69 73 2d 3e 73 65 72 69 61 6c 69 7a 65 43 61 6c 6c 62 61 63 6b 28 24 ack.'.$this->serializeCallback($
74880 74 61 72 67 65 74 29 2e 27 20 64 65 63 6c 61 72 65 64 20 61 74 20 27 2e 24 72 65 66 6c 65 63 74 target).'.declared.at.'.$reflect
748a0 65 64 2d 3e 67 65 74 44 65 63 6c 61 72 69 6e 67 46 75 6e 63 74 69 6f 6e 28 29 2d 3e 67 65 74 46 ed->getDeclaringFunction()->getF
748c0 69 6c 65 4e 61 6d 65 28 29 2e 27 20 61 63 63 65 70 74 73 20 61 20 27 2e 24 65 78 70 65 63 74 65 ileName().'.accepts.a.'.$expecte
748e0 64 2e 27 20 62 75 74 20 27 2e 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 65 76 d.'.but.'.$event->getName().'.ev
74900 65 6e 74 73 20 75 73 65 20 61 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 76 65 6e 74 29 2e 27 ents.use.a.'.get_class($event).'
74920 20 69 6e 73 74 61 6e 63 65 2e 20 50 6c 65 61 73 65 20 61 64 6a 75 73 74 20 79 6f 75 72 20 74 79 .instance..Please.adjust.your.ty
74940 70 65 20 68 69 6e 74 20 61 63 63 6f 72 64 69 6e 67 6c 79 2c 20 73 65 65 20 68 74 74 70 73 3a 2f pe.hint.accordingly,.see.https:/
74960 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 73 63 /getcomposer.org/doc/articles/sc
74980 72 69 70 74 73 2e 6d 64 23 65 76 65 6e 74 2d 63 6c 61 73 73 65 73 27 2c 20 45 5f 55 53 45 52 5f ripts.md#event-classes',.E_USER_
749a0 44 45 50 52 45 43 41 54 45 44 29 3b 0a 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 5c 43 6f 6d 70 6f DEPRECATED);.$event.=.new.\Compo
749c0 73 65 72 5c 53 63 72 69 70 74 5c 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 0a 24 65 76 65 6e 74 2d ser\Script\CommandEvent(.$event-
749e0 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 >getName(),.$event->getComposer(
74a00 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 49 4f 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 69 73 44 65 ),.$event->getIO(),.$event->isDe
74a20 76 4d 6f 64 65 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 0a vMode(),.$event->getArguments().
74a40 29 3b 0a 7d 0a 69 66 20 28 21 24 65 76 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 24 65 78 70 );.}.if.(!$event.instanceof.$exp
74a60 65 63 74 65 64 20 26 26 20 24 65 78 70 65 63 74 65 64 20 3d 3d 3d 20 27 43 6f 6d 70 6f 73 65 72 ected.&&.$expected.===.'Composer
74a80 5c 53 63 72 69 70 74 5c 50 61 63 6b 61 67 65 45 76 65 6e 74 27 29 20 7b 0a 74 72 69 67 67 65 72 \Script\PackageEvent').{.trigger
74aa0 5f 65 72 72 6f 72 28 27 54 68 65 20 63 61 6c 6c 62 61 63 6b 20 27 2e 24 74 68 69 73 2d 3e 73 65 _error('The.callback.'.$this->se
74ac0 72 69 61 6c 69 7a 65 43 61 6c 6c 62 61 63 6b 28 24 74 61 72 67 65 74 29 2e 27 20 64 65 63 6c 61 rializeCallback($target).'.decla
74ae0 72 65 64 20 61 74 20 27 2e 24 72 65 66 6c 65 63 74 65 64 2d 3e 67 65 74 44 65 63 6c 61 72 69 6e red.at.'.$reflected->getDeclarin
74b00 67 46 75 6e 63 74 69 6f 6e 28 29 2d 3e 67 65 74 46 69 6c 65 4e 61 6d 65 28 29 2e 27 20 61 63 63 gFunction()->getFileName().'.acc
74b20 65 70 74 73 20 61 20 27 2e 24 65 78 70 65 63 74 65 64 2e 27 20 62 75 74 20 27 2e 24 65 76 65 6e epts.a.'.$expected.'.but.'.$even
74b40 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 65 76 65 6e 74 73 20 75 73 65 20 61 20 27 2e 67 65 t->getName().'.events.use.a.'.ge
74b60 74 5f 63 6c 61 73 73 28 24 65 76 65 6e 74 29 2e 27 20 69 6e 73 74 61 6e 63 65 2e 20 50 6c 65 61 t_class($event).'.instance..Plea
74b80 73 65 20 61 64 6a 75 73 74 20 79 6f 75 72 20 74 79 70 65 20 68 69 6e 74 20 61 63 63 6f 72 64 69 se.adjust.your.type.hint.accordi
74ba0 6e 67 6c 79 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 ngly,.see.https://getcomposer.or
74bc0 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 73 63 72 69 70 74 73 2e 6d 64 23 65 76 65 6e 74 2d g/doc/articles/scripts.md#event-
74be0 63 6c 61 73 73 65 73 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 24 65 classes',.E_USER_DEPRECATED);.$e
74c00 76 65 6e 74 20 3d 20 6e 65 77 20 5c 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 50 61 63 6b vent.=.new.\Composer\Script\Pack
74c20 61 67 65 45 76 65 6e 74 28 0a 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 24 65 76 ageEvent(.$event->getName(),.$ev
74c40 65 6e 74 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 49 ent->getComposer(),.$event->getI
74c60 4f 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 69 73 44 65 76 4d 6f 64 65 28 29 2c 0a 24 65 76 65 6e 74 O(),.$event->isDevMode(),.$event
74c80 2d 3e 67 65 74 50 6f 6c 69 63 79 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 50 6f 6f 6c 28 29 ->getPolicy(),.$event->getPool()
74ca0 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 28 29 2c 0a 24 65 ,.$event->getInstalledRepo(),.$e
74cc0 76 65 6e 74 2d 3e 67 65 74 52 65 71 75 65 73 74 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 4f vent->getRequest(),.$event->getO
74ce0 70 65 72 61 74 69 6f 6e 73 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 4f 70 65 72 61 74 69 6f perations(),.$event->getOperatio
74d00 6e 28 29 0a 29 3b 0a 7d 0a 69 66 20 28 21 24 65 76 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 n().);.}.if.(!$event.instanceof.
74d20 24 65 78 70 65 63 74 65 64 20 26 26 20 24 65 78 70 65 63 74 65 64 20 3d 3d 3d 20 27 43 6f 6d 70 $expected.&&.$expected.===.'Comp
74d40 6f 73 65 72 5c 53 63 72 69 70 74 5c 45 76 65 6e 74 27 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 oser\Script\Event').{.trigger_er
74d60 72 6f 72 28 27 54 68 65 20 63 61 6c 6c 62 61 63 6b 20 27 2e 24 74 68 69 73 2d 3e 73 65 72 69 61 ror('The.callback.'.$this->seria
74d80 6c 69 7a 65 43 61 6c 6c 62 61 63 6b 28 24 74 61 72 67 65 74 29 2e 27 20 64 65 63 6c 61 72 65 64 lizeCallback($target).'.declared
74da0 20 61 74 20 27 2e 24 72 65 66 6c 65 63 74 65 64 2d 3e 67 65 74 44 65 63 6c 61 72 69 6e 67 46 75 .at.'.$reflected->getDeclaringFu
74dc0 6e 63 74 69 6f 6e 28 29 2d 3e 67 65 74 46 69 6c 65 4e 61 6d 65 28 29 2e 27 20 61 63 63 65 70 74 nction()->getFileName().'.accept
74de0 73 20 61 20 27 2e 24 65 78 70 65 63 74 65 64 2e 27 20 62 75 74 20 27 2e 24 65 76 65 6e 74 2d 3e s.a.'.$expected.'.but.'.$event->
74e00 67 65 74 4e 61 6d 65 28 29 2e 27 20 65 76 65 6e 74 73 20 75 73 65 20 61 20 27 2e 67 65 74 5f 63 getName().'.events.use.a.'.get_c
74e20 6c 61 73 73 28 24 65 76 65 6e 74 29 2e 27 20 69 6e 73 74 61 6e 63 65 2e 20 50 6c 65 61 73 65 20 lass($event).'.instance..Please.
74e40 61 64 6a 75 73 74 20 79 6f 75 72 20 74 79 70 65 20 68 69 6e 74 20 61 63 63 6f 72 64 69 6e 67 6c adjust.your.type.hint.accordingl
74e60 79 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 y,.see.https://getcomposer.org/d
74e80 6f 63 2f 61 72 74 69 63 6c 65 73 2f 73 63 72 69 70 74 73 2e 6d 64 23 65 76 65 6e 74 2d 63 6c 61 oc/articles/scripts.md#event-cla
74ea0 73 73 65 73 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 24 65 76 65 6e sses',.E_USER_DEPRECATED);.$even
74ec0 74 20 3d 20 6e 65 77 20 5c 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 45 76 65 6e 74 28 0a t.=.new.\Composer\Script\Event(.
74ee0 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 43 6f $event->getName(),.$event->getCo
74f00 6d 70 6f 73 65 72 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 49 4f 28 29 2c 0a 24 65 76 65 6e mposer(),.$event->getIO(),.$even
74f20 74 2d 3e 69 73 44 65 76 4d 6f 64 65 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 41 72 67 75 6d t->isDevMode(),.$event->getArgum
74f40 65 6e 74 73 28 29 2c 0a 24 65 76 65 6e 74 2d 3e 67 65 74 46 6c 61 67 73 28 29 0a 29 3b 0a 7d 0a ents(),.$event->getFlags().);.}.
74f60 0a 72 65 74 75 72 6e 20 24 65 76 65 6e 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 .return.$event;.}..private.funct
74f80 69 6f 6e 20 73 65 72 69 61 6c 69 7a 65 43 61 6c 6c 62 61 63 6b 28 24 63 62 29 0a 7b 0a 69 66 20 ion.serializeCallback($cb).{.if.
74fa0 28 69 73 5f 61 72 72 61 79 28 24 63 62 29 20 26 26 20 63 6f 75 6e 74 28 24 63 62 29 20 3d 3d 3d (is_array($cb).&&.count($cb).===
74fc0 20 32 29 20 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 63 62 5b 30 5d 29 29 20 7b 0a 24 .2).{.if.(is_object($cb[0])).{.$
74fe0 63 62 5b 30 5d 20 3d 20 67 65 74 5f 63 6c 61 73 73 28 24 63 62 5b 30 5d 29 3b 0a 7d 0a 69 66 20 cb[0].=.get_class($cb[0]);.}.if.
75000 28 69 73 5f 73 74 72 69 6e 67 28 24 63 62 5b 30 5d 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 (is_string($cb[0]).&&.is_string(
75020 24 63 62 5b 31 5d 29 29 20 7b 0a 24 63 62 20 3d 20 69 6d 70 6c 6f 64 65 28 27 3a 3a 27 2c 20 24 $cb[1])).{.$cb.=.implode('::',.$
75040 63 62 29 3b 0a 7d 0a 7d 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 63 62 29 29 20 7b 0a 72 cb);.}.}.if.(is_string($cb)).{.r
75060 65 74 75 72 6e 20 24 63 62 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 76 61 72 5f 65 78 70 6f 72 74 28 eturn.$cb;.}..return.var_export(
75080 24 63 62 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $cb,.true);.}.........public.fun
750a0 63 74 69 6f 6e 20 61 64 64 4c 69 73 74 65 6e 65 72 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 6c ction.addListener($eventName,.$l
750c0 69 73 74 65 6e 65 72 2c 20 24 70 72 69 6f 72 69 74 79 20 3d 20 30 29 0a 7b 0a 24 74 68 69 73 2d istener,.$priority.=.0).{.$this-
750e0 3e 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 4e 61 6d 65 5d 5b 24 70 72 69 6f 72 69 74 79 >listeners[$eventName][$priority
75100 5d 5b 5d 20 3d 20 24 6c 69 73 74 65 6e 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ][].=.$listener;.}.........publi
75120 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 75 62 73 63 72 69 62 65 72 28 45 76 65 6e 74 53 75 c.function.addSubscriber(EventSu
75140 62 73 63 72 69 62 65 72 49 6e 74 65 72 66 61 63 65 20 24 73 75 62 73 63 72 69 62 65 72 29 0a 7b bscriberInterface.$subscriber).{
75160 0a 66 6f 72 65 61 63 68 20 28 24 73 75 62 73 63 72 69 62 65 72 2d 3e 67 65 74 53 75 62 73 63 72 .foreach.($subscriber->getSubscr
75180 69 62 65 64 45 76 65 6e 74 73 28 29 20 61 73 20 24 65 76 65 6e 74 4e 61 6d 65 20 3d 3e 20 24 70 ibedEvents().as.$eventName.=>.$p
751a0 61 72 61 6d 73 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 70 61 72 61 6d 73 29 29 arams).{.if.(is_string($params))
751c0 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 69 73 74 65 6e 65 72 28 24 65 76 65 6e 74 4e 61 6d 65 .{.$this->addListener($eventName
751e0 2c 20 61 72 72 61 79 28 24 73 75 62 73 63 72 69 62 65 72 2c 20 24 70 61 72 61 6d 73 29 29 3b 0a ,.array($subscriber,.$params));.
75200 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 70 61 72 61 6d 73 5b 30 5d 29 29 }.elseif.(is_string($params[0]))
75220 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 69 73 74 65 6e 65 72 28 24 65 76 65 6e 74 4e 61 6d 65 .{.$this->addListener($eventName
75240 2c 20 61 72 72 61 79 28 24 73 75 62 73 63 72 69 62 65 72 2c 20 24 70 61 72 61 6d 73 5b 30 5d 29 ,.array($subscriber,.$params[0])
75260 2c 20 69 73 73 65 74 28 24 70 61 72 61 6d 73 5b 31 5d 29 20 3f 20 24 70 61 72 61 6d 73 5b 31 5d ,.isset($params[1]).?.$params[1]
75280 20 3a 20 30 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 72 61 6d 73 .:.0);.}.else.{.foreach.($params
752a0 20 61 73 20 24 6c 69 73 74 65 6e 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 69 73 74 65 .as.$listener).{.$this->addListe
752c0 6e 65 72 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 61 72 72 61 79 28 24 73 75 62 73 63 72 69 62 65 ner($eventName,.array($subscribe
752e0 72 2c 20 24 6c 69 73 74 65 6e 65 72 5b 30 5d 29 2c 20 69 73 73 65 74 28 24 6c 69 73 74 65 6e 65 r,.$listener[0]),.isset($listene
75300 72 5b 31 5d 29 20 3f 20 24 6c 69 73 74 65 6e 65 72 5b 31 5d 20 3a 20 30 29 3b 0a 7d 0a 7d 0a 7d r[1]).?.$listener[1].:.0);.}.}.}
75320 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 .}........protected.function.get
75340 4c 69 73 74 65 6e 65 72 73 28 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 73 63 72 69 70 Listeners(Event.$event).{.$scrip
75360 74 4c 69 73 74 65 6e 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 72 69 70 74 4c 69 73 tListeners.=.$this->getScriptLis
75380 74 65 6e 65 72 73 28 24 65 76 65 6e 74 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 teners($event);..if.(!isset($thi
753a0 73 2d 3e 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b s->listeners[$event->getName()][
753c0 30 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 2d 3e 0])).{.$this->listeners[$event->
753e0 67 65 74 4e 61 6d 65 28 29 5d 5b 30 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 6b 72 73 6f 72 getName()][0].=.array();.}.krsor
75400 74 28 24 74 68 69 73 2d 3e 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 t($this->listeners[$event->getNa
75420 6d 65 28 29 5d 29 3b 0a 0a 24 6c 69 73 74 65 6e 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 6c 69 73 me()]);..$listeners.=.$this->lis
75440 74 65 6e 65 72 73 3b 0a 24 6c 69 73 74 65 6e 65 72 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 teners;.$listeners[$event->getNa
75460 6d 65 28 29 5d 5b 30 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6c 69 73 74 65 6e 65 72 me()][0].=.array_merge($listener
75480 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 30 5d 2c 20 24 73 63 72 69 70 74 s[$event->getName()][0],.$script
754a0 4c 69 73 74 65 6e 65 72 73 29 3b 0a 0a 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 Listeners);..return.call_user_fu
754c0 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 6c 69 73 74 65 6e 65 nc_array('array_merge',.$listene
754e0 72 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a rs[$event->getName()]);.}.......
75500 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 45 76 65 6e 74 4c 69 73 74 65 6e 65 .public.function.hasEventListene
75520 72 73 28 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 6c 69 73 74 65 6e 65 72 73 20 3d 20 rs(Event.$event).{.$listeners.=.
75540 24 74 68 69 73 2d 3e 67 65 74 4c 69 73 74 65 6e 65 72 73 28 24 65 76 65 6e 74 29 3b 0a 0a 72 65 $this->getListeners($event);..re
75560 74 75 72 6e 20 63 6f 75 6e 74 28 24 6c 69 73 74 65 6e 65 72 73 29 20 3e 20 30 3b 0a 7d 0a 0a 0a turn.count($listeners).>.0;.}...
75580 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 72 69 70 .....protected.function.getScrip
755a0 74 4c 69 73 74 65 6e 65 72 73 28 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 70 61 63 6b tListeners(Event.$event).{.$pack
755c0 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 61 63 6b 61 67 age.=.$this->composer->getPackag
755e0 65 28 29 3b 0a 24 73 63 72 69 70 74 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 63 72 e();.$scripts.=.$package->getScr
75600 69 70 74 73 28 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 73 63 72 69 70 74 73 5b 24 65 76 65 ipts();..if.(empty($scripts[$eve
75620 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 nt->getName()])).{.return.array(
75640 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 29 20 7b 0a 24 74 68 69 73 );.}..if.($this->loader).{.$this
75660 2d 3e 6c 6f 61 64 65 72 2d 3e 75 6e 72 65 67 69 73 74 65 72 28 29 3b 0a 7d 0a 0a 24 67 65 6e 65 ->loader->unregister();.}..$gene
75680 72 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 41 75 74 6f rator.=.$this->composer->getAuto
756a0 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 29 3b 0a 69 66 20 28 24 65 76 65 6e 74 20 69 6e 73 74 loadGenerator();.if.($event.inst
756c0 61 6e 63 65 6f 66 20 53 63 72 69 70 74 45 76 65 6e 74 29 20 7b 0a 24 67 65 6e 65 72 61 74 6f 72 anceof.ScriptEvent).{.$generator
756e0 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 24 65 76 65 6e 74 2d 3e 69 73 44 65 76 4d 6f 64 65 28 29 ->setDevMode($event->isDevMode()
75700 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 );.}..$packages.=.$this->compose
75720 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f r->getRepositoryManager()->getLo
75740 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 calRepository()->getCanonicalPac
75760 6b 61 67 65 73 28 29 3b 0a 24 70 61 63 6b 61 67 65 4d 61 70 20 3d 20 24 67 65 6e 65 72 61 74 6f kages();.$packageMap.=.$generato
75780 72 2d 3e 62 75 69 6c 64 50 61 63 6b 61 67 65 4d 61 70 28 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 r->buildPackageMap($this->compos
757a0 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2c 20 24 70 er->getInstallationManager(),.$p
757c0 61 63 6b 61 67 65 2c 20 24 70 61 63 6b 61 67 65 73 29 3b 0a 24 6d 61 70 20 3d 20 24 67 65 6e 65 ackage,.$packages);.$map.=.$gene
757e0 72 61 74 6f 72 2d 3e 70 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 28 24 70 61 63 6b 61 67 65 4d 61 rator->parseAutoloads($packageMa
75800 70 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 24 67 p,.$package);.$this->loader.=.$g
75820 65 6e 65 72 61 74 6f 72 2d 3e 63 72 65 61 74 65 4c 6f 61 64 65 72 28 24 6d 61 70 29 3b 0a 24 74 enerator->createLoader($map);.$t
75840 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 72 65 67 69 73 74 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e his->loader->register();..return
75860 20 24 73 63 72 69 70 74 73 5b 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 3b 0a 7d 0a .$scripts[$event->getName()];.}.
75880 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 68 70 53 .......protected.function.isPhpS
758a0 63 72 69 70 74 28 24 63 61 6c 6c 61 62 6c 65 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 cript($callable).{.return.false.
758c0 3d 3d 3d 20 73 74 72 70 6f 73 28 24 63 61 6c 6c 61 62 6c 65 2c 20 27 20 27 29 20 26 26 20 66 61 ===.strpos($callable,.'.').&&.fa
758e0 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 61 6c 6c 61 62 6c 65 2c 20 27 3a 3a 27 29 3b lse.!==.strpos($callable,.'::');
75900 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 .}........protected.function.isC
75920 6f 6d 70 6f 73 65 72 53 63 72 69 70 74 28 24 63 61 6c 6c 61 62 6c 65 29 0a 7b 0a 72 65 74 75 72 omposerScript($callable).{.retur
75940 6e 20 27 40 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 63 61 6c 6c 61 62 6c 65 2c 20 30 2c 20 31 n.'@'.===.substr($callable,.0,.1
75960 29 20 26 26 20 27 40 70 68 70 20 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 63 61 6c 6c 61 62 6c ).&&.'@php.'.!==.substr($callabl
75980 65 2c 20 30 2c 20 35 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 e,.0,.5);.}.........protected.fu
759a0 6e 63 74 69 6f 6e 20 70 75 73 68 45 76 65 6e 74 28 45 76 65 6e 74 20 24 65 76 65 6e 74 29 0a 7b nction.pushEvent(Event.$event).{
759c0 0a 24 65 76 65 6e 74 4e 61 6d 65 20 3d 20 24 65 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 3b .$eventName.=.$event->getName();
759e0 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d .if.(in_array($eventName,.$this-
75a00 3e 65 76 65 6e 74 53 74 61 63 6b 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 >eventStack)).{.throw.new.\Runti
75a20 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 22 43 69 72 63 75 6c 61 72 20 63 61 meException(sprintf("Circular.ca
75a40 6c 6c 20 74 6f 20 73 63 72 69 70 74 20 68 61 6e 64 6c 65 72 20 27 25 73 27 20 64 65 74 65 63 74 ll.to.script.handler.'%s'.detect
75a60 65 64 22 2c 20 24 65 76 65 6e 74 4e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 ed",.$eventName));.}..return.arr
75a80 61 79 5f 70 75 73 68 28 24 74 68 69 73 2d 3e 65 76 65 6e 74 53 74 61 63 6b 2c 20 24 65 76 65 6e ay_push($this->eventStack,.$even
75aa0 74 4e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 tName);.}.......protected.functi
75ac0 6f 6e 20 70 6f 70 45 76 65 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 70 6f 70 on.popEvent().{.return.array_pop
75ae0 28 24 74 68 69 73 2d 3e 65 76 65 6e 74 53 74 61 63 6b 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a ($this->eventStack);.}.}.<?php..
75b00 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 ..........namespace.Composer\Eve
75b20 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 ntDispatcher;..............inter
75b40 66 61 63 65 20 45 76 65 6e 74 53 75 62 73 63 72 69 62 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a face.EventSubscriberInterface.{.
75b60 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 ..................public.static.
75b80 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 62 73 63 72 69 62 65 64 45 76 65 6e 74 73 28 29 3b 0a function.getSubscribedEvents();.
75ba0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
75bc0 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 poser\EventDispatcher;.....class
75be0 20 53 63 72 69 70 74 45 78 65 63 75 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 .ScriptExecutionException.extend
75c00 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a s.\RuntimeException.{.}.<?php...
75c20 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 45 78 63 65 .........namespace.Composer\Exce
75c40 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 6f 53 73 6c 45 78 63 65 70 74 69 6f 6e 20 ption;.....class.NoSslException.
75c60 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f extends.\RuntimeException.{.}.<?
75c80 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
75ca0 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 5c 4a 73 6f 6e 43 6f 6e 66 r;..use.Composer\Config\JsonConf
75cc0 69 67 53 6f 75 72 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e igSource;.use.Composer\Json\Json
75ce0 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 File;.use.Composer\IO\IOInterfac
75d00 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 e;.use.Composer\Package\Archiver
75d20 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 ;.use.Composer\Package\Version\V
75d40 65 72 73 69 6f 6e 47 75 65 73 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f ersionGuesser;.use.Composer\Repo
75d60 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f sitory\RepositoryManager;.use.Co
75d80 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 mposer\Repository\RepositoryFact
75da0 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 57 72 69 ory;.use.Composer\Repository\Wri
75dc0 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f tableRepositoryInterface;.use.Co
75de0 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 mposer\Util\Filesystem;.use.Comp
75e00 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 oser\Util\Platform;.use.Composer
75e20 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f \Util\ProcessExecutor;.use.Compo
75e40 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 ser\Util\RemoteFilesystem;.use.C
75e60 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f omposer\Util\Silencer;.use.Compo
75e80 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d ser\Plugin\PluginEvents;.use.Com
75ea0 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a 75 73 65 poser\EventDispatcher\Event;.use
75ec0 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 5c 44 75 70 6c 69 63 61 74 65 4b 65 79 45 78 63 65 70 .Seld\JsonLint\DuplicateKeyExcep
75ee0 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 tion;.use.Symfony\Component\Cons
75f00 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 ole\Formatter\OutputFormatter;.u
75f20 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 se.Symfony\Component\Console\For
75f40 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 3b 0a 75 73 65 matter\OutputFormatterStyle;.use
75f60 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 .Symfony\Component\Console\Outpu
75f80 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 t\ConsoleOutput;.use.Composer\Ev
75fa0 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 entDispatcher\EventDispatcher;.u
75fc0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 41 75 74 6f 6c 6f 61 64 47 65 6e se.Composer\Autoload\AutoloadGen
75fe0 65 72 61 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 erator;.use.Composer\Package\Ver
76000 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 sion\VersionParser;.use.Composer
76020 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a \Downloader\TransportException;.
76040 75 73 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 5c 4a 73 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a use.Seld\JsonLint\JsonParser;...
76060 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 61 63 74 6f 72 79 0a 7b 0a 0a 0a 0a 0a 70 72 6f 74 65 .......class.Factory.{.....prote
76080 63 74 65 64 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 6f 6d 65 44 69 72 28 cted.static.function.getHomeDir(
760a0 29 0a 7b 0a 24 68 6f 6d 65 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d ).{.$home.=.getenv('COMPOSER_HOM
760c0 45 27 29 3b 0a 69 66 20 28 24 68 6f 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 3b 0a E');.if.($home).{.return.$home;.
760e0 7d 0a 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a }..if.(Platform::isWindows()).{.
76100 69 66 20 28 21 67 65 74 65 6e 76 28 27 41 50 50 44 41 54 41 27 29 29 20 7b 0a 74 68 72 6f 77 20 if.(!getenv('APPDATA')).{.throw.
76120 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 41 50 50 44 41 new.\RuntimeException('The.APPDA
76140 54 41 20 6f 72 20 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 TA.or.COMPOSER_HOME.environment.
76160 76 61 72 69 61 62 6c 65 20 6d 75 73 74 20 62 65 20 73 65 74 20 66 6f 72 20 63 6f 6d 70 6f 73 65 variable.must.be.set.for.compose
76180 72 20 74 6f 20 72 75 6e 20 63 6f 72 72 65 63 74 6c 79 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 r.to.run.correctly');.}..return.
761a0 72 74 72 69 6d 28 73 74 72 74 72 28 67 65 74 65 6e 76 28 27 41 50 50 44 41 54 41 27 29 2c 20 27 rtrim(strtr(getenv('APPDATA'),.'
761c0 5c 5c 27 2c 20 27 2f 27 29 2c 20 27 2f 27 29 20 2e 20 27 2f 43 6f 6d 70 6f 73 65 72 27 3b 0a 7d \\',.'/'),.'/')...'/Composer';.}
761e0 0a 0a 24 75 73 65 72 44 69 72 20 3d 20 73 65 6c 66 3a 3a 67 65 74 55 73 65 72 44 69 72 28 29 3b ..$userDir.=.self::getUserDir();
76200 0a 69 66 20 28 69 73 5f 64 69 72 28 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6d 70 6f 73 .if.(is_dir($userDir...'/.compos
76220 65 72 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6d er')).{.return.$userDir...'/.com
76240 70 6f 73 65 72 27 3b 0a 7d 0a 0a 69 66 20 28 73 65 6c 66 3a 3a 75 73 65 58 64 67 28 29 29 20 7b poser';.}..if.(self::useXdg()).{
76260 0a 0a 20 24 78 64 67 43 6f 6e 66 69 67 20 3d 20 67 65 74 65 6e 76 28 27 58 44 47 5f 43 4f 4e 46 ...$xdgConfig.=.getenv('XDG_CONF
76280 49 47 5f 48 4f 4d 45 27 29 20 3f 3a 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6e 66 69 IG_HOME').?:.$userDir...'/.confi
762a0 67 27 3b 0a 0a 72 65 74 75 72 6e 20 24 78 64 67 43 6f 6e 66 69 67 20 2e 20 27 2f 63 6f 6d 70 6f g';..return.$xdgConfig...'/compo
762c0 73 65 72 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f ser';.}..return.$userDir...'/.co
762e0 6d 70 6f 73 65 72 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 mposer';.}......protected.static
76300 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 61 63 68 65 44 69 72 28 24 68 6f 6d 65 29 0a 7b 0a 24 .function.getCacheDir($home).{.$
76320 63 61 63 68 65 44 69 72 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 43 41 43 48 cacheDir.=.getenv('COMPOSER_CACH
76340 45 5f 44 49 52 27 29 3b 0a 69 66 20 28 24 63 61 63 68 65 44 69 72 29 20 7b 0a 72 65 74 75 72 6e E_DIR');.if.($cacheDir).{.return
76360 20 24 63 61 63 68 65 44 69 72 3b 0a 7d 0a 0a 24 68 6f 6d 65 45 6e 76 20 3d 20 67 65 74 65 6e 76 .$cacheDir;.}..$homeEnv.=.getenv
76380 28 27 43 4f 4d 50 4f 53 45 52 5f 48 4f 4d 45 27 29 3b 0a 69 66 20 28 24 68 6f 6d 65 45 6e 76 29 ('COMPOSER_HOME');.if.($homeEnv)
763a0 20 7b 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 45 6e 76 20 2e 20 27 2f 63 61 63 68 65 27 3b 0a 7d .{.return.$homeEnv...'/cache';.}
763c0 0a 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 69 ..if.(Platform::isWindows()).{.i
763e0 66 20 28 24 63 61 63 68 65 44 69 72 20 3d 20 67 65 74 65 6e 76 28 27 4c 4f 43 41 4c 41 50 50 44 f.($cacheDir.=.getenv('LOCALAPPD
76400 41 54 41 27 29 29 20 7b 0a 24 63 61 63 68 65 44 69 72 20 2e 3d 20 27 2f 43 6f 6d 70 6f 73 65 72 ATA')).{.$cacheDir..=.'/Composer
76420 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 61 63 68 65 44 69 72 20 3d 20 24 68 6f 6d 65 20 2e 20 ';.}.else.{.$cacheDir.=.$home...
76440 27 2f 63 61 63 68 65 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 73 74 72 74 72 28 '/cache';.}..return.rtrim(strtr(
76460 24 63 61 63 68 65 44 69 72 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 2c 20 27 2f 27 29 3b 0a 7d 0a 0a $cacheDir,.'\\',.'/'),.'/');.}..
76480 24 75 73 65 72 44 69 72 20 3d 20 73 65 6c 66 3a 3a 67 65 74 55 73 65 72 44 69 72 28 29 3b 0a 69 $userDir.=.self::getUserDir();.i
764a0 66 20 28 24 68 6f 6d 65 20 3d 3d 3d 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 6f 6d 70 6f f.($home.===.$userDir...'/.compo
764c0 73 65 72 27 20 26 26 20 69 73 5f 64 69 72 28 24 68 6f 6d 65 20 2e 20 27 2f 63 61 63 68 65 27 29 ser'.&&.is_dir($home...'/cache')
764e0 29 20 7b 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 20 2e 20 27 2f 63 61 63 68 65 27 3b 0a 7d 0a 0a ).{.return.$home...'/cache';.}..
76500 69 66 20 28 73 65 6c 66 3a 3a 75 73 65 58 64 67 28 29 29 20 7b 0a 24 78 64 67 43 61 63 68 65 20 if.(self::useXdg()).{.$xdgCache.
76520 3d 20 67 65 74 65 6e 76 28 27 58 44 47 5f 43 41 43 48 45 5f 48 4f 4d 45 27 29 20 3f 3a 20 24 75 =.getenv('XDG_CACHE_HOME').?:.$u
76540 73 65 72 44 69 72 20 2e 20 27 2f 2e 63 61 63 68 65 27 3b 0a 0a 72 65 74 75 72 6e 20 24 78 64 67 serDir...'/.cache';..return.$xdg
76560 43 61 63 68 65 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 Cache...'/composer';.}..return.$
76580 68 6f 6d 65 20 2e 20 27 2f 63 61 63 68 65 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 home...'/cache';.}......protecte
765a0 64 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 61 74 61 44 69 72 28 24 68 6f d.static.function.getDataDir($ho
765c0 6d 65 29 0a 7b 0a 24 68 6f 6d 65 45 6e 76 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 me).{.$homeEnv.=.getenv('COMPOSE
765e0 52 5f 48 4f 4d 45 27 29 3b 0a 69 66 20 28 24 68 6f 6d 65 45 6e 76 29 20 7b 0a 72 65 74 75 72 6e R_HOME');.if.($homeEnv).{.return
76600 20 24 68 6f 6d 65 45 6e 76 3b 0a 7d 0a 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 .$homeEnv;.}..if.(Platform::isWi
76620 6e 64 6f 77 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 74 72 28 24 68 6f 6d 65 2c 20 27 ndows()).{.return.strtr($home,.'
76640 5c 5c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 24 75 73 65 72 44 69 72 20 3d 20 73 65 6c 66 3a 3a 67 \\',.'/');.}..$userDir.=.self::g
76660 65 74 55 73 65 72 44 69 72 28 29 3b 0a 69 66 20 28 24 68 6f 6d 65 20 21 3d 3d 20 24 75 73 65 72 etUserDir();.if.($home.!==.$user
76680 44 69 72 20 2e 20 27 2f 2e 63 6f 6d 70 6f 73 65 72 27 20 26 26 20 73 65 6c 66 3a 3a 75 73 65 58 Dir...'/.composer'.&&.self::useX
766a0 64 67 28 29 29 20 7b 0a 24 78 64 67 44 61 74 61 20 3d 20 67 65 74 65 6e 76 28 27 58 44 47 5f 44 dg()).{.$xdgData.=.getenv('XDG_D
766c0 41 54 41 5f 48 4f 4d 45 27 29 20 3f 3a 20 24 75 73 65 72 44 69 72 20 2e 20 27 2f 2e 6c 6f 63 61 ATA_HOME').?:.$userDir...'/.loca
766e0 6c 2f 73 68 61 72 65 27 3b 0a 0a 72 65 74 75 72 6e 20 24 78 64 67 44 61 74 61 20 2e 20 27 2f 63 l/share';..return.$xdgData...'/c
76700 6f 6d 70 6f 73 65 72 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 3b 0a 7d 0a 0a 0a 0a omposer';.}..return.$home;.}....
76720 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 43 ..public.static.function.createC
76740 6f 6e 66 69 67 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 2c 20 24 63 onfig(IOInterface.$io.=.null,.$c
76760 77 64 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 63 77 64 20 3d 20 24 63 77 64 20 3f 3a 20 67 65 74 63 wd.=.null).{.$cwd.=.$cwd.?:.getc
76780 77 64 28 29 3b 0a 0a 24 63 6f 6e 66 69 67 20 3d 20 6e 65 77 20 43 6f 6e 66 69 67 28 74 72 75 65 wd();..$config.=.new.Config(true
767a0 2c 20 24 63 77 64 29 3b 0a 0a 0a 20 24 68 6f 6d 65 20 3d 20 73 65 6c 66 3a 3a 67 65 74 48 6f 6d ,.$cwd);....$home.=.self::getHom
767c0 65 44 69 72 28 29 3b 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f eDir();.$config->merge(array('co
767e0 6e 66 69 67 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 68 6f 6d 65 27 20 3d 3e 20 24 68 6f 6d 65 2c nfig'.=>.array(.'home'.=>.$home,
76800 0a 27 63 61 63 68 65 2d 64 69 72 27 20 3d 3e 20 73 65 6c 66 3a 3a 67 65 74 43 61 63 68 65 44 69 .'cache-dir'.=>.self::getCacheDi
76820 72 28 24 68 6f 6d 65 29 2c 0a 27 64 61 74 61 2d 64 69 72 27 20 3d 3e 20 73 65 6c 66 3a 3a 67 65 r($home),.'data-dir'.=>.self::ge
76840 74 44 61 74 61 44 69 72 28 24 68 6f 6d 65 29 2c 0a 29 29 29 3b 0a 0a 0a 20 24 66 69 6c 65 20 3d tDataDir($home),.)));....$file.=
76860 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 .new.JsonFile($config->get('home
76880 27 29 2e 27 2f 63 6f 6e 66 69 67 2e 6a 73 6f 6e 27 29 3b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 65 ').'/config.json');.if.($file->e
768a0 78 69 73 74 73 28 29 29 20 7b 0a 69 66 20 28 24 69 6f 20 26 26 20 24 69 6f 2d 3e 69 73 44 65 62 xists()).{.if.($io.&&.$io->isDeb
768c0 75 67 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 ug()).{.$io->writeError('Loading
768e0 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 27 20 2e 20 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 .config.file.'...$file->getPath(
76900 29 29 3b 0a 7d 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 24 66 69 6c 65 2d 3e 72 65 61 64 ));.}.$config->merge($file->read
76920 28 29 29 3b 0a 7d 0a 24 63 6f 6e 66 69 67 2d 3e 73 65 74 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 ());.}.$config->setConfigSource(
76940 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 24 66 69 6c 65 29 29 3b 0a 0a 24 new.JsonConfigSource($file));..$
76960 68 74 61 63 63 65 73 73 50 72 6f 74 65 63 74 20 3d 20 28 62 6f 6f 6c 29 20 24 63 6f 6e 66 69 67 htaccessProtect.=.(bool).$config
76980 2d 3e 67 65 74 28 27 68 74 61 63 63 65 73 73 2d 70 72 6f 74 65 63 74 27 29 3b 0a 69 66 20 28 24 ->get('htaccess-protect');.if.($
769a0 68 74 61 63 63 65 73 73 50 72 6f 74 65 63 74 29 20 7b 0a 0a 20 0a 20 0a 20 24 64 69 72 73 20 3d htaccessProtect).{.......$dirs.=
769c0 20 61 72 72 61 79 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2c 20 24 63 6f .array($config->get('home'),.$co
769e0 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 64 69 72 27 29 2c 20 24 63 6f 6e 66 69 67 2d nfig->get('cache-dir'),.$config-
76a00 3e 67 65 74 28 27 64 61 74 61 2d 64 69 72 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 >get('data-dir'));.foreach.($dir
76a20 73 20 61 73 20 24 64 69 72 29 20 7b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 s.as.$dir).{.if.(!file_exists($d
76a40 69 72 20 2e 20 27 2f 2e 68 74 61 63 63 65 73 73 27 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 64 69 ir...'/.htaccess')).{.if.(!is_di
76a60 72 28 24 64 69 72 29 29 20 7b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 6d 6b 64 69 72 r($dir)).{.Silencer::call('mkdir
76a80 27 2c 20 24 64 69 72 2c 20 30 37 37 37 2c 20 74 72 75 65 29 3b 0a 7d 0a 53 69 6c 65 6e 63 65 72 ',.$dir,.0777,.true);.}.Silencer
76aa0 3a 3a 63 61 6c 6c 28 27 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 27 2c 20 24 64 69 72 ::call('file_put_contents',.$dir
76ac0 20 2e 20 27 2f 2e 68 74 61 63 63 65 73 73 27 2c 20 27 44 65 6e 79 20 66 72 6f 6d 20 61 6c 6c 27 ...'/.htaccess',.'Deny.from.all'
76ae0 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 24 66 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 );.}.}.}....$file.=.new.JsonFile
76b00 28 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e 27 2f 61 75 74 68 2e 6a 73 6f ($config->get('home').'/auth.jso
76b20 6e 27 29 3b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 69 66 20 28 n');.if.($file->exists()).{.if.(
76b40 24 69 6f 20 26 26 20 24 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 $io.&&.$io->isDebug()).{.$io->wr
76b60 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 27 20 iteError('Loading.config.file.'.
76b80 2e 20 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 7d 0a 24 63 6f 6e 66 69 67 2d 3e ..$file->getPath());.}.$config->
76ba0 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 24 66 69 6c 65 2d 3e 72 merge(array('config'.=>.$file->r
76bc0 65 61 64 28 29 29 29 3b 0a 7d 0a 24 63 6f 6e 66 69 67 2d 3e 73 65 74 41 75 74 68 43 6f 6e 66 69 ead()));.}.$config->setAuthConfi
76be0 67 53 6f 75 72 63 65 28 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 24 66 69 gSource(new.JsonConfigSource($fi
76c00 6c 65 2c 20 74 72 75 65 29 29 3b 0a 0a 0a 20 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 41 75 74 68 le,.true));....if.($composerAuth
76c20 45 6e 76 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 41 55 54 48 27 29 29 20 7b Env.=.getenv('COMPOSER_AUTH')).{
76c40 0a 24 61 75 74 68 44 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 6f 6d 70 6f 73 .$authData.=.json_decode($compos
76c60 65 72 41 75 74 68 45 6e 76 2c 20 74 72 75 65 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 erAuthEnv,.true);..if.(null.===.
76c80 24 61 75 74 68 44 61 74 61 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 $authData).{.throw.new.\Unexpect
76ca0 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 43 4f 4d 50 4f 53 45 52 5f 41 55 54 48 20 edValueException('COMPOSER_AUTH.
76cc0 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 69 73 20 6d 61 6c 66 6f 72 6d 65 environment.variable.is.malforme
76ce0 64 2c 20 73 68 6f 75 6c 64 20 62 65 20 61 20 76 61 6c 69 64 20 4a 53 4f 4e 20 6f 62 6a 65 63 74 d,.should.be.a.valid.JSON.object
76d00 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6f 20 26 26 20 24 69 6f 2d 3e 69 73 44 65 62 75 67 28 29 ');.}..if.($io.&&.$io->isDebug()
76d20 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 20 61 75 74 ).{.$io->writeError('Loading.aut
76d40 68 20 63 6f 6e 66 69 67 20 66 72 6f 6d 20 43 4f 4d 50 4f 53 45 52 5f 41 55 54 48 27 29 3b 0a 7d h.config.from.COMPOSER_AUTH');.}
76d60 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 20 3d .$config->merge(array('config'.=
76d80 3e 20 24 61 75 74 68 44 61 74 61 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 66 69 67 >.$authData));.}..return.$config
76da0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 ;.}..public.static.function.getC
76dc0 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 67 65 74 65 omposerFile().{.return.trim(gete
76de0 6e 76 28 27 43 4f 4d 50 4f 53 45 52 27 29 29 20 3f 3a 20 27 2e 2f 63 6f 6d 70 6f 73 65 72 2e 6a nv('COMPOSER')).?:.'./composer.j
76e00 73 6f 6e 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 son';.}..public.static.function.
76e20 63 72 65 61 74 65 41 64 64 69 74 69 6f 6e 61 6c 53 74 79 6c 65 73 28 29 0a 7b 0a 72 65 74 75 72 createAdditionalStyles().{.retur
76e40 6e 20 61 72 72 61 79 28 0a 27 68 69 67 68 6c 69 67 68 74 27 20 3d 3e 20 6e 65 77 20 4f 75 74 70 n.array(.'highlight'.=>.new.Outp
76e60 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 72 65 64 27 29 2c 0a 27 77 61 72 6e 69 6e utFormatterStyle('red'),.'warnin
76e80 67 27 20 3d 3e 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 g'.=>.new.OutputFormatterStyle('
76ea0 62 6c 61 63 6b 27 2c 20 27 79 65 6c 6c 6f 77 27 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 black',.'yellow'),.);.}.......pu
76ec0 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 4f 75 74 70 75 blic.static.function.createOutpu
76ee0 74 28 29 0a 7b 0a 24 73 74 79 6c 65 73 20 3d 20 73 65 6c 66 3a 3a 63 72 65 61 74 65 41 64 64 69 t().{.$styles.=.self::createAddi
76f00 74 69 6f 6e 61 6c 53 74 79 6c 65 73 28 29 3b 0a 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 65 77 tionalStyles();.$formatter.=.new
76f20 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 28 66 61 6c 73 65 2c 20 24 73 74 79 6c 65 73 29 .OutputFormatter(false,.$styles)
76f40 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 28 43 6f 6e 73 ;..return.new.ConsoleOutput(Cons
76f60 6f 6c 65 4f 75 74 70 75 74 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 6e 75 6c oleOutput::VERBOSITY_NORMAL,.nul
76f80 6c 2c 20 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 l,.$formatter);.}.....public.sta
76fa0 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 44 65 66 61 75 6c 74 52 65 70 6f 73 69 tic.function.createDefaultReposi
76fc0 74 6f 72 69 65 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 2c 20 43 tories(IOInterface.$io.=.null,.C
76fe0 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 52 65 70 6f 73 69 74 6f 72 79 onfig.$config.=.null,.Repository
77000 4d 61 6e 61 67 65 72 20 24 72 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 52 65 70 Manager.$rm.=.null).{.return.Rep
77020 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 24 69 6f ositoryFactory::defaultRepos($io
77040 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 6d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ,.$config,.$rm);.}..............
77060 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 43 6f 6d 70 6f 73 65 72 28 49 public.function.createComposer(I
77080 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 20 3d 20 6e OInterface.$io,.$localConfig.=.n
770a0 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 2c 20 24 63 ull,.$disablePlugins.=.false,.$c
770c0 77 64 20 3d 20 6e 75 6c 6c 2c 20 24 66 75 6c 6c 4c 6f 61 64 20 3d 20 74 72 75 65 29 0a 7b 0a 24 wd.=.null,.$fullLoad.=.true).{.$
770e0 63 77 64 20 3d 20 24 63 77 64 20 3f 3a 20 67 65 74 63 77 64 28 29 3b 0a 0a 0a 20 69 66 20 28 6e cwd.=.$cwd.?:.getcwd();....if.(n
77100 75 6c 6c 20 3d 3d 3d 20 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 29 20 7b 0a 24 6c 6f 63 61 6c 43 6f ull.===.$localConfig).{.$localCo
77120 6e 66 69 67 20 3d 20 73 74 61 74 69 63 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 29 nfig.=.static::getComposerFile()
77140 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 29 ;.}..if.(is_string($localConfig)
77160 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 20 3d 20 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 ).{.$composerFile.=.$localConfig
77180 3b 0a 0a 24 66 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 6c 6f 63 61 6c 43 6f ;..$file.=.new.JsonFile($localCo
771a0 6e 66 69 67 2c 20 6e 75 6c 6c 2c 20 24 69 6f 29 3b 0a 0a 69 66 20 28 21 24 66 69 6c 65 2d 3e 65 nfig,.null,.$io);..if.(!$file->e
771c0 78 69 73 74 73 28 29 29 20 7b 0a 69 66 20 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 20 3d 3d 3d 20 xists()).{.if.($localConfig.===.
771e0 27 2e 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 20 7c 7c 20 24 6c 6f 63 61 6c 43 6f 6e 66 69 './composer.json'.||.$localConfi
77200 67 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 20 7b 0a 24 6d 65 73 73 61 67 g.===.'composer.json').{.$messag
77220 65 20 3d 20 27 43 6f 6d 70 6f 73 65 72 20 63 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 20 63 e.=.'Composer.could.not.find.a.c
77240 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 69 6e 20 27 2e 24 63 77 64 3b 0a 7d 20 65 omposer.json.file.in.'.$cwd;.}.e
77260 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6f 6d 70 6f 73 65 72 20 63 6f 75 6c 64 lse.{.$message.=.'Composer.could
77280 20 6e 6f 74 20 66 69 6e 64 20 74 68 65 20 63 6f 6e 66 69 67 20 66 69 6c 65 3a 20 27 2e 24 6c 6f .not.find.the.config.file:.'.$lo
772a0 63 61 6c 43 6f 6e 66 69 67 3b 0a 7d 0a 24 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 3d 20 27 54 6f calConfig;.}.$instructions.=.'To
772c0 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 20 70 72 6f 6a 65 63 74 2c 20 70 6c 65 61 73 65 20 63 72 .initialize.a.project,.please.cr
772e0 65 61 74 65 20 61 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 66 69 6c 65 20 61 73 20 64 65 73 eate.a.composer.json.file.as.des
77300 63 72 69 62 65 64 20 69 6e 20 74 68 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 cribed.in.the.https://getcompose
77320 72 2e 6f 72 67 2f 20 22 47 65 74 74 69 6e 67 20 53 74 61 72 74 65 64 22 20 73 65 63 74 69 6f 6e r.org/."Getting.Started".section
77340 27 3b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ';.throw.new.\InvalidArgumentExc
77360 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2e 50 48 50 5f 45 4f 4c 2e 24 69 6e 73 74 72 75 63 eption($message.PHP_EOL.$instruc
77380 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 24 66 69 6c 65 2d 3e 76 61 6c 69 64 61 74 65 53 63 68 65 6d 61 tions);.}..$file->validateSchema
773a0 28 4a 73 6f 6e 46 69 6c 65 3a 3a 4c 41 58 5f 53 43 48 45 4d 41 29 3b 0a 24 6a 73 6f 6e 50 61 72 (JsonFile::LAX_SCHEMA);.$jsonPar
773c0 73 65 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 50 61 72 73 65 72 3b 0a 74 72 79 20 7b 0a 24 6a 73 6f ser.=.new.JsonParser;.try.{.$jso
773e0 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 nParser->parse(file_get_contents
77400 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 29 2c 20 4a 73 6f 6e 50 61 72 73 65 72 3a 3a 44 45 54 45 ($localConfig),.JsonParser::DETE
77420 43 54 5f 4b 45 59 5f 43 4f 4e 46 4c 49 43 54 53 29 3b 0a 7d 20 63 61 74 63 68 20 28 44 75 70 6c CT_KEY_CONFLICTS);.}.catch.(Dupl
77440 69 63 61 74 65 4b 65 79 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 64 65 74 61 69 6c 73 icateKeyException.$e).{.$details
77460 20 3d 20 24 65 2d 3e 67 65 74 44 65 74 61 69 6c 73 28 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 .=.$e->getDetails();.$io->writeE
77480 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 4b 65 79 20 27 2e 24 64 65 74 61 69 6c 73 5b 27 6b rror('<warning>Key.'.$details['k
774a0 65 79 27 5d 2e 27 20 69 73 20 61 20 64 75 70 6c 69 63 61 74 65 20 69 6e 20 27 2e 24 6c 6f 63 61 ey'].'.is.a.duplicate.in.'.$loca
774c0 6c 43 6f 6e 66 69 67 2e 27 20 61 74 20 6c 69 6e 65 20 27 2e 24 64 65 74 61 69 6c 73 5b 27 6c 69 lConfig.'.at.line.'.$details['li
774e0 6e 65 27 5d 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 24 6c 6f 63 61 6c 43 6f 6e ne'].'</warning>');.}..$localCon
77500 66 69 67 20 3d 20 24 66 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 66 69 fig.=.$file->read();.}....$confi
77520 67 20 3d 20 73 74 61 74 69 63 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 2c 20 24 63 g.=.static::createConfig($io,.$c
77540 77 64 29 3b 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 wd);.$config->merge($localConfig
77560 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 29 29 20 7b 0a 24 );.if.(isset($composerFile)).{.$
77580 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 69 6e 67 20 63 6f 6e 66 69 67 20 66 io->writeError('Loading.config.f
775a0 69 6c 65 20 27 20 2e 20 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 2c 20 74 72 75 65 2c 20 49 4f 49 ile.'...$composerFile,.true,.IOI
775c0 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 24 63 6f 6e 66 69 67 2d 3e 73 65 74 43 6f nterface::DEBUG);.$config->setCo
775e0 6e 66 69 67 53 6f 75 72 63 65 28 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 nfigSource(new.JsonConfigSource(
77600 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6d 70 6f 73 65 72 46 new.JsonFile(realpath($composerF
77620 69 6c 65 29 2c 20 6e 75 6c 6c 2c 20 24 69 6f 29 29 29 3b 0a 0a 24 6c 6f 63 61 6c 41 75 74 68 46 ile),.null,.$io)));..$localAuthF
77640 69 6c 65 20 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 64 69 72 6e 61 6d 65 28 72 65 61 6c 70 ile.=.new.JsonFile(dirname(realp
77660 61 74 68 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 29 29 20 2e 20 27 2f 61 75 74 68 2e 6a 73 6f ath($composerFile))...'/auth.jso
77680 6e 27 2c 20 6e 75 6c 6c 2c 20 24 69 6f 29 3b 0a 69 66 20 28 24 6c 6f 63 61 6c 41 75 74 68 46 69 n',.null,.$io);.if.($localAuthFi
776a0 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 le->exists()).{.$io->writeError(
776c0 27 4c 6f 61 64 69 6e 67 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 27 20 2e 20 24 6c 6f 63 61 6c 41 'Loading.config.file.'...$localA
776e0 75 74 68 46 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 uthFile->getPath(),.true,.IOInte
77700 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 24 63 6f 6e 66 69 67 2d 3e 6d 65 72 67 65 28 61 72 rface::DEBUG);.$config->merge(ar
77720 72 61 79 28 27 63 6f 6e 66 69 67 27 20 3d 3e 20 24 6c 6f 63 61 6c 41 75 74 68 46 69 6c 65 2d 3e ray('config'.=>.$localAuthFile->
77740 72 65 61 64 28 29 29 29 3b 0a 24 63 6f 6e 66 69 67 2d 3e 73 65 74 41 75 74 68 43 6f 6e 66 69 67 read()));.$config->setAuthConfig
77760 53 6f 75 72 63 65 28 6e 65 77 20 4a 73 6f 6e 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 24 6c 6f 63 Source(new.JsonConfigSource($loc
77780 61 6c 41 75 74 68 46 69 6c 65 2c 20 74 72 75 65 29 29 3b 0a 7d 0a 7d 0a 0a 24 76 65 6e 64 6f 72 alAuthFile,.true));.}.}..$vendor
777a0 44 69 72 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 Dir.=.$config->get('vendor-dir')
777c0 3b 0a 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 65 72 28 29 3b ;....$composer.=.new.Composer();
777e0 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 63 6f 6e 66 69 67 29 3b 0a .$composer->setConfig($config);.
77800 0a 69 66 20 28 24 66 75 6c 6c 4c 6f 61 64 29 20 7b 0a 0a 20 24 69 6f 2d 3e 6c 6f 61 64 43 6f 6e .if.($fullLoad).{...$io->loadCon
77820 66 69 67 75 72 61 74 69 6f 6e 28 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 24 72 66 73 20 3d 20 73 figuration($config);.}..$rfs.=.s
77840 65 6c 66 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 2c elf::createRemoteFilesystem($io,
77860 20 24 63 6f 6e 66 69 67 29 3b 0a 0a 0a 20 24 64 69 73 70 61 74 63 68 65 72 20 3d 20 6e 65 77 20 .$config);....$dispatcher.=.new.
77880 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 24 63 6f 6d 70 6f 73 65 72 2c 20 24 69 6f 29 3b EventDispatcher($composer,.$io);
778a0 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 24 .$composer->setEventDispatcher($
778c0 64 69 73 70 61 74 63 68 65 72 29 3b 0a 0a 0a 20 24 72 6d 20 3d 20 52 65 70 6f 73 69 74 6f 72 79 dispatcher);....$rm.=.Repository
778e0 46 61 63 74 6f 72 79 3a 3a 6d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 Factory::manager($io,.$config,.$
77900 64 69 73 70 61 74 63 68 65 72 2c 20 24 72 66 73 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 dispatcher,.$rfs);.$composer->se
77920 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 24 72 6d 29 3b 0a 0a 0a 20 24 74 68 69 tRepositoryManager($rm);....$thi
77940 73 2d 3e 61 64 64 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 24 69 6f 2c 20 24 72 6d 2c 20 s->addLocalRepository($io,.$rm,.
77960 24 76 65 6e 64 6f 72 44 69 72 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 21 24 66 75 6c 6c 4c 6f 61 64 $vendorDir);......if.(!$fullLoad
77980 20 26 26 20 21 69 73 73 65 74 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e .&&.!isset($localConfig['version
779a0 27 5d 29 29 20 7b 0a 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d '])).{.$localConfig['version'].=
779c0 20 27 31 2e 30 2e 30 27 3b 0a 7d 0a 0a 0a 20 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 .'1.0.0';.}....$parser.=.new.Ver
779e0 73 69 6f 6e 50 61 72 73 65 72 3b 0a 24 67 75 65 73 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 sionParser;.$guesser.=.new.Versi
77a00 6f 6e 47 75 65 73 73 65 72 28 24 63 6f 6e 66 69 67 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 onGuesser($config,.new.ProcessEx
77a20 65 63 75 74 6f 72 28 24 69 6f 29 2c 20 24 70 61 72 73 65 72 29 3b 0a 24 6c 6f 61 64 65 72 20 3d ecutor($io),.$parser);.$loader.=
77a40 20 6e 65 77 20 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 52 6f 6f 74 50 61 63 6b 61 67 65 4c .new.Package\Loader\RootPackageL
77a60 6f 61 64 65 72 28 24 72 6d 2c 20 24 63 6f 6e 66 69 67 2c 20 24 70 61 72 73 65 72 2c 20 24 67 75 oader($rm,.$config,.$parser,.$gu
77a80 65 73 73 65 72 2c 20 24 69 6f 29 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6c 6f 61 64 65 72 2d esser,.$io);.$package.=.$loader-
77aa0 3e 6c 6f 61 64 28 24 6c 6f 63 61 6c 43 6f 6e 66 69 67 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 >load($localConfig,.'Composer\Pa
77ac0 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 27 2c 20 24 63 77 64 29 3b 0a 24 63 6f 6d 70 ckage\RootPackage',.$cwd);.$comp
77ae0 6f 73 65 72 2d 3e 73 65 74 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 20 24 oser->setPackage($package);....$
77b00 69 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 im.=.$this->createInstallationMa
77b20 6e 61 67 65 72 28 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 49 6e 73 74 61 6c 6c 61 74 nager();.$composer->setInstallat
77b40 69 6f 6e 4d 61 6e 61 67 65 72 28 24 69 6d 29 3b 0a 0a 69 66 20 28 24 66 75 6c 6c 4c 6f 61 64 29 ionManager($im);..if.($fullLoad)
77b60 20 7b 0a 0a 20 24 64 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 44 6f 77 6e 6c 6f 61 64 .{...$dm.=.$this->createDownload
77b80 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 64 69 73 70 61 74 63 68 65 Manager($io,.$config,.$dispatche
77ba0 72 2c 20 24 72 66 73 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 r,.$rfs);.$composer->setDownload
77bc0 4d 61 6e 61 67 65 72 28 24 64 6d 29 3b 0a 0a 0a 20 24 67 65 6e 65 72 61 74 6f 72 20 3d 20 6e 65 Manager($dm);....$generator.=.ne
77be0 77 20 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 24 64 69 73 70 61 74 63 68 65 72 2c w.AutoloadGenerator($dispatcher,
77c00 20 24 69 6f 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e .$io);.$composer->setAutoloadGen
77c20 65 72 61 74 6f 72 28 24 67 65 6e 65 72 61 74 6f 72 29 3b 0a 0a 0a 20 24 61 6d 20 3d 20 24 74 68 erator($generator);....$am.=.$th
77c40 69 73 2d 3e 63 72 65 61 74 65 41 72 63 68 69 76 65 4d 61 6e 61 67 65 72 28 24 63 6f 6e 66 69 67 is->createArchiveManager($config
77c60 2c 20 24 64 6d 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 41 72 63 68 69 76 65 4d 61 6e ,.$dm);.$composer->setArchiveMan
77c80 61 67 65 72 28 24 61 6d 29 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 44 65 66 ager($am);.}....$this->createDef
77ca0 61 75 6c 74 49 6e 73 74 61 6c 6c 65 72 73 28 24 69 6d 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 aultInstallers($im,.$composer,.$
77cc0 69 6f 29 3b 0a 0a 69 66 20 28 24 66 75 6c 6c 4c 6f 61 64 29 20 7b 0a 24 67 6c 6f 62 61 6c 43 6f io);..if.($fullLoad).{.$globalCo
77ce0 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 72 65 61 6c 70 61 74 68 28 24 63 6f 6e mposer.=.null;.if.(realpath($con
77d00 66 69 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 29 20 21 3d 3d 20 24 63 77 64 29 20 7b 0a 24 67 fig->get('home')).!==.$cwd).{.$g
77d20 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 47 6c 6f lobalComposer.=.$this->createGlo
77d40 62 61 6c 43 6f 6d 70 6f 73 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 64 69 73 61 62 balComposer($io,.$config,.$disab
77d60 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 7d 0a 0a 24 70 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 lePlugins);.}..$pm.=.$this->crea
77d80 74 65 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 tePluginManager($io,.$composer,.
77da0 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 $globalComposer,.$disablePlugins
77dc0 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 24 );.$composer->setPluginManager($
77de0 70 6d 29 3b 0a 0a 24 70 6d 2d 3e 6c 6f 61 64 49 6e 73 74 61 6c 6c 65 64 50 6c 75 67 69 6e 73 28 pm);..$pm->loadInstalledPlugins(
77e00 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 66 75 6c 6c 4c 6f 61 64 20 26 26 20 69 73 73 65 74 28 24 );.}....if.($fullLoad.&&.isset($
77e20 63 6f 6d 70 6f 73 65 72 46 69 6c 65 29 29 20 7b 0a 24 6c 6f 63 6b 46 69 6c 65 20 3d 20 22 6a 73 composerFile)).{.$lockFile.=."js
77e40 6f 6e 22 20 3d 3d 3d 20 70 61 74 68 69 6e 66 6f 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 2c 20 on".===.pathinfo($composerFile,.
77e60 50 41 54 48 49 4e 46 4f 5f 45 58 54 45 4e 53 49 4f 4e 29 0a 3f 20 73 75 62 73 74 72 28 24 63 6f PATHINFO_EXTENSION).?.substr($co
77e80 6d 70 6f 73 65 72 46 69 6c 65 2c 20 30 2c 20 2d 34 29 2e 27 6c 6f 63 6b 27 0a 3a 20 24 63 6f 6d mposerFile,.0,.-4).'lock'.:.$com
77ea0 70 6f 73 65 72 46 69 6c 65 20 2e 20 27 2e 6c 6f 63 6b 27 3b 0a 0a 24 6c 6f 63 6b 65 72 20 3d 20 poserFile...'.lock';..$locker.=.
77ec0 6e 65 77 20 50 61 63 6b 61 67 65 5c 4c 6f 63 6b 65 72 28 24 69 6f 2c 20 6e 65 77 20 4a 73 6f 6e new.Package\Locker($io,.new.Json
77ee0 46 69 6c 65 28 24 6c 6f 63 6b 46 69 6c 65 2c 20 6e 75 6c 6c 2c 20 24 69 6f 29 2c 20 24 72 6d 2c File($lockFile,.null,.$io),.$rm,
77f00 20 24 69 6d 2c 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 63 6f 6d 70 6f 73 65 .$im,.file_get_contents($compose
77f20 72 46 69 6c 65 29 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 73 65 74 4c 6f 63 6b 65 72 28 24 6c rFile));.$composer->setLocker($l
77f40 6f 63 6b 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 66 75 6c 6c 4c 6f 61 64 29 20 7b 0a 24 69 6e 69 ocker);.}..if.($fullLoad).{.$ini
77f60 74 45 76 65 6e 74 20 3d 20 6e 65 77 20 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a tEvent.=.new.Event(PluginEvents:
77f80 3a 49 4e 49 54 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 :INIT);.$composer->getEventDispa
77fa0 74 63 68 65 72 28 29 2d 3e 64 69 73 70 61 74 63 68 28 24 69 6e 69 74 45 76 65 6e 74 2d 3e 67 65 tcher()->dispatch($initEvent->ge
77fc0 74 4e 61 6d 65 28 29 2c 20 24 69 6e 69 74 45 76 65 6e 74 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 tName(),.$initEvent);......if.($
77fe0 72 6d 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 29 20 7b 0a 24 74 68 69 rm->getLocalRepository()).{.$thi
78000 73 2d 3e 70 75 72 67 65 50 61 63 6b 61 67 65 73 28 24 72 6d 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 s->purgePackages($rm->getLocalRe
78020 70 6f 73 69 74 6f 72 79 28 29 2c 20 24 69 6d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 pository(),.$im);.}.}..return.$c
78040 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 omposer;.}.......public.static.f
78060 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 47 6c 6f 62 61 6c 28 49 4f 49 6e 74 65 72 66 61 63 65 unction.createGlobal(IOInterface
78080 20 24 69 6f 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 29 0a 7b .$io,.$disablePlugins.=.false).{
780a0 0a 24 66 61 63 74 6f 72 79 20 3d 20 6e 65 77 20 73 74 61 74 69 63 28 29 3b 0a 0a 72 65 74 75 72 .$factory.=.new.static();..retur
780c0 6e 20 24 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 47 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 n.$factory->createGlobalComposer
780e0 28 24 69 6f 2c 20 73 74 61 74 69 63 3a 3a 63 72 65 61 74 65 43 6f 6e 66 69 67 28 24 69 6f 29 2c ($io,.static::createConfig($io),
78100 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a .$disablePlugins,.true);.}......
78120 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 6f 63 61 6c 52 65 70 6f 73 protected.function.addLocalRepos
78140 69 74 6f 72 79 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 52 65 70 6f 73 69 74 6f 72 itory(IOInterface.$io,.Repositor
78160 79 4d 61 6e 61 67 65 72 20 24 72 6d 2c 20 24 76 65 6e 64 6f 72 44 69 72 29 0a 7b 0a 24 72 6d 2d yManager.$rm,.$vendorDir).{.$rm-
78180 3e 73 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 6e 65 77 20 52 65 70 6f 73 69 74 6f >setLocalRepository(new.Reposito
781a0 72 79 5c 49 6e 73 74 61 6c 6c 65 64 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 ry\InstalledFilesystemRepository
781c0 28 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 76 65 6e 64 6f 72 44 69 72 2e 27 2f 63 6f 6d 70 6f (new.JsonFile($vendorDir.'/compo
781e0 73 65 72 2f 69 6e 73 74 61 6c 6c 65 64 2e 6a 73 6f 6e 27 2c 20 6e 75 6c 6c 2c 20 24 69 6f 29 29 ser/installed.json',.null,.$io))
78200 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 );.}......protected.function.cre
78220 61 74 65 47 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 ateGlobalComposer(IOInterface.$i
78240 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 o,.Config.$config,.$disablePlugi
78260 6e 73 2c 20 24 66 75 6c 6c 4c 6f 61 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 63 6f 6d 70 6f 73 ns,.$fullLoad.=.false).{.$compos
78280 65 72 20 3d 20 6e 75 6c 6c 3b 0a 74 72 79 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 er.=.null;.try.{.$composer.=.$th
782a0 69 73 2d 3e 63 72 65 61 74 65 43 6f 6d 70 6f 73 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2d is->createComposer($io,.$config-
782c0 3e 67 65 74 28 27 68 6f 6d 65 27 29 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 2c >get('home')...'/composer.json',
782e0 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 .$disablePlugins,.$config->get('
78300 68 6f 6d 65 27 29 2c 20 24 66 75 6c 6c 4c 6f 61 64 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 home'),.$fullLoad);.}.catch.(\Ex
78320 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 46 ception.$e).{.$io->writeError('F
78340 61 69 6c 65 64 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 67 6c 6f 62 61 6c 20 63 6f 6d 70 6f ailed.to.initialize.global.compo
78360 73 65 72 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 74 72 75 65 2c 20 49 ser:.'.$e->getMessage(),.true,.I
78380 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 OInterface::DEBUG);.}..return.$c
783a0 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f omposer;.}........public.functio
783c0 6e 20 63 72 65 61 74 65 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 49 4f 49 6e 74 65 72 66 n.createDownloadManager(IOInterf
783e0 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 ace.$io,.Config.$config,.EventDi
78400 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c spatcher.$eventDispatcher.=.null
78420 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a ,.RemoteFilesystem.$rfs.=.null).
78440 7b 0a 24 63 61 63 68 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 63 6f 6e 66 69 67 2d 3e 67 65 {.$cache.=.null;.if.($config->ge
78460 74 28 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 74 74 6c 27 29 20 3e 20 30 29 20 7b 0a 24 63 61 63 t('cache-files-ttl').>.0).{.$cac
78480 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 he.=.new.Cache($io,.$config->get
784a0 28 27 63 61 63 68 65 2d 66 69 6c 65 73 2d 64 69 72 27 29 2c 20 27 61 2d 7a 30 2d 39 5f 2e 2f 27 ('cache-files-dir'),.'a-z0-9_./'
784c0 29 3b 0a 7d 0a 0a 24 64 6d 20 3d 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c );.}..$dm.=.new.Downloader\Downl
784e0 6f 61 64 4d 61 6e 61 67 65 72 28 24 69 6f 29 3b 0a 73 77 69 74 63 68 20 28 24 70 72 65 66 65 72 oadManager($io);.switch.($prefer
78500 72 65 64 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 72 65 66 65 72 72 65 64 2d 69 6e red.=.$config->get('preferred-in
78520 73 74 61 6c 6c 27 29 29 20 7b 0a 63 61 73 65 20 27 64 69 73 74 27 3a 0a 24 64 6d 2d 3e 73 65 74 stall')).{.case.'dist':.$dm->set
78540 50 72 65 66 65 72 44 69 73 74 28 74 72 75 65 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 73 PreferDist(true);.break;.case.'s
78560 6f 75 72 63 65 27 3a 0a 24 64 6d 2d 3e 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 28 74 72 75 ource':.$dm->setPreferSource(tru
78580 65 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 61 75 74 6f 27 3a 0a 64 65 66 61 75 6c 74 3a e);.break;.case.'auto':.default:
785a0 0a 0a 20 62 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 70 72 65 66 65 ...break;.}..if.(is_array($prefe
785c0 72 72 65 64 29 29 20 7b 0a 24 64 6d 2d 3e 73 65 74 50 72 65 66 65 72 65 6e 63 65 73 28 24 70 72 rred)).{.$dm->setPreferences($pr
785e0 65 66 65 72 72 65 64 29 3b 0a 7d 0a 0a 24 65 78 65 63 75 74 6f 72 20 3d 20 6e 65 77 20 50 72 6f eferred);.}..$executor.=.new.Pro
78600 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c cessExecutor($io);.$fs.=.new.Fil
78620 65 73 79 73 74 65 6d 28 24 65 78 65 63 75 74 6f 72 29 3b 0a 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 esystem($executor);..$dm->setDow
78640 6e 6c 6f 61 64 65 72 28 27 67 69 74 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 47 69 nloader('git',.new.Downloader\Gi
78660 74 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 78 65 63 75 tDownloader($io,.$config,.$execu
78680 74 6f 72 2c 20 24 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 tor,.$fs));.$dm->setDownloader('
786a0 73 76 6e 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 53 76 6e 44 6f 77 6e 6c 6f 61 64 svn',.new.Downloader\SvnDownload
786c0 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 66 73 29 er($io,.$config,.$executor,.$fs)
786e0 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 66 6f 73 73 69 6c 27 2c 20 );.$dm->setDownloader('fossil',.
78700 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 46 6f 73 73 69 6c 44 6f 77 6e 6c 6f 61 64 65 72 28 new.Downloader\FossilDownloader(
78720 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 66 73 29 29 3b 0a $io,.$config,.$executor,.$fs));.
78740 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 68 67 27 2c 20 6e 65 77 20 44 6f 77 $dm->setDownloader('hg',.new.Dow
78760 6e 6c 6f 61 64 65 72 5c 48 67 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 nloader\HgDownloader($io,.$confi
78780 67 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 g,.$executor,.$fs));.$dm->setDow
787a0 6e 6c 6f 61 64 65 72 28 27 70 65 72 66 6f 72 63 65 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 nloader('perforce',.new.Download
787c0 65 72 5c 50 65 72 66 6f 72 63 65 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 er\PerforceDownloader($io,.$conf
787e0 69 67 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 7a 69 70 27 2c 20 ig));.$dm->setDownloader('zip',.
78800 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 5a 69 70 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f new.Downloader\ZipDownloader($io
78820 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 ,.$config,.$eventDispatcher,.$ca
78840 63 68 65 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 che,.$executor,.$rfs));.$dm->set
78860 44 6f 77 6e 6c 6f 61 64 65 72 28 27 72 61 72 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 Downloader('rar',.new.Downloader
78880 5c 52 61 72 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 \RarDownloader($io,.$config,.$ev
788a0 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 65 78 65 63 75 74 6f 72 entDispatcher,.$cache,.$executor
788c0 2c 20 24 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 74 61 ,.$rfs));.$dm->setDownloader('ta
788e0 72 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 61 72 44 6f 77 6e 6c 6f 61 64 65 72 r',.new.Downloader\TarDownloader
78900 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c ($io,.$config,.$eventDispatcher,
78920 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 .$cache,.$rfs));.$dm->setDownloa
78940 64 65 72 28 27 67 7a 69 70 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 47 7a 69 70 44 der('gzip',.new.Downloader\GzipD
78960 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 ownloader($io,.$config,.$eventDi
78980 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 72 66 spatcher,.$cache,.$executor,.$rf
789a0 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 78 7a 27 2c 20 6e 65 s));.$dm->setDownloader('xz',.ne
789c0 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 58 7a 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 w.Downloader\XzDownloader($io,.$
789e0 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 config,.$eventDispatcher,.$cache
78a00 2c 20 24 65 78 65 63 75 74 6f 72 2c 20 24 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 ,.$executor,.$rfs));.$dm->setDow
78a20 6e 6c 6f 61 64 65 72 28 27 70 68 61 72 27 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 50 nloader('phar',.new.Downloader\P
78a40 68 61 72 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 harDownloader($io,.$config,.$eve
78a60 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 72 66 73 29 29 3b 0a 24 64 ntDispatcher,.$cache,.$rfs));.$d
78a80 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 66 69 6c 65 27 2c 20 6e 65 77 20 44 6f 77 m->setDownloader('file',.new.Dow
78aa0 6e 6c 6f 61 64 65 72 5c 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 65 72 28 24 69 6f 2c 20 24 63 6f 6e nloader\FileDownloader($io,.$con
78ac0 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 24 63 61 63 68 65 2c 20 24 fig,.$eventDispatcher,.$cache,.$
78ae0 72 66 73 29 29 3b 0a 24 64 6d 2d 3e 73 65 74 44 6f 77 6e 6c 6f 61 64 65 72 28 27 70 61 74 68 27 rfs));.$dm->setDownloader('path'
78b00 2c 20 6e 65 77 20 44 6f 77 6e 6c 6f 61 64 65 72 5c 50 61 74 68 44 6f 77 6e 6c 6f 61 64 65 72 28 ,.new.Downloader\PathDownloader(
78b20 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 $io,.$config,.$eventDispatcher,.
78b40 24 63 61 63 68 65 2c 20 24 72 66 73 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 6d 3b 0a 7d 0a 0a $cache,.$rfs));..return.$dm;.}..
78b60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 41 72 63 68 69 .....public.function.createArchi
78b80 76 65 4d 61 6e 61 67 65 72 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 44 6f 77 6e 6c 6f veManager(Config.$config,.Downlo
78ba0 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 24 64 6d 20 3d 20 6e 75 6c 6c 29 ader\DownloadManager.$dm.=.null)
78bc0 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 6d 29 20 7b 0a 24 69 6f 20 3d 20 6e 65 77 .{.if.(null.===.$dm).{.$io.=.new
78be0 20 49 4f 5c 4e 75 6c 6c 49 4f 28 29 3b 0a 24 69 6f 2d 3e 6c 6f 61 64 43 6f 6e 66 69 67 75 72 61 .IO\NullIO();.$io->loadConfigura
78c00 74 69 6f 6e 28 24 63 6f 6e 66 69 67 29 3b 0a 24 64 6d 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 tion($config);.$dm.=.$this->crea
78c20 74 65 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b teDownloadManager($io,.$config);
78c40 0a 7d 0a 0a 24 61 6d 20 3d 20 6e 65 77 20 41 72 63 68 69 76 65 72 5c 41 72 63 68 69 76 65 4d 61 .}..$am.=.new.Archiver\ArchiveMa
78c60 6e 61 67 65 72 28 24 64 6d 29 3b 0a 24 61 6d 2d 3e 61 64 64 41 72 63 68 69 76 65 72 28 6e 65 77 nager($dm);.$am->addArchiver(new
78c80 20 41 72 63 68 69 76 65 72 5c 5a 69 70 41 72 63 68 69 76 65 72 29 3b 0a 24 61 6d 2d 3e 61 64 64 .Archiver\ZipArchiver);.$am->add
78ca0 41 72 63 68 69 76 65 72 28 6e 65 77 20 41 72 63 68 69 76 65 72 5c 50 68 61 72 41 72 63 68 69 76 Archiver(new.Archiver\PharArchiv
78cc0 65 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 61 6d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 er);..return.$am;.}.........prot
78ce0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 50 6c 75 67 69 6e 4d 61 6e 61 67 ected.function.createPluginManag
78d00 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f er(IOInterface.$io,.Composer.$co
78d20 6d 70 6f 73 65 72 2c 20 43 6f 6d 70 6f 73 65 72 20 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 mposer,.Composer.$globalComposer
78d40 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 .=.null,.$disablePlugins.=.false
78d60 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 4d 61 6e 61 ).{.return.new.Plugin\PluginMana
78d80 67 65 72 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f ger($io,.$composer,.$globalCompo
78da0 73 65 72 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f ser,.$disablePlugins);.}.....pro
78dc0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 61 74 69 tected.function.createInstallati
78de0 6f 6e 4d 61 6e 61 67 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 73 74 61 6c 6c onManager().{.return.new.Install
78e00 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a er\InstallationManager();.}.....
78e20 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 44 65 66 61 75 ..protected.function.createDefau
78e40 6c 74 49 6e 73 74 61 6c 6c 65 72 73 28 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 ltInstallers(Installer\Installat
78e60 69 6f 6e 4d 61 6e 61 67 65 72 20 24 69 6d 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 ionManager.$im,.Composer.$compos
78e80 65 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 69 6d 2d 3e 61 64 64 49 er,.IOInterface.$io).{.$im->addI
78ea0 6e 73 74 61 6c 6c 65 72 28 6e 65 77 20 49 6e 73 74 61 6c 6c 65 72 5c 4c 69 62 72 61 72 79 49 6e nstaller(new.Installer\LibraryIn
78ec0 73 74 61 6c 6c 65 72 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 6e 75 6c 6c 29 29 3b 0a staller($io,.$composer,.null));.
78ee0 24 69 6d 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 6e 65 77 20 49 6e 73 74 61 6c 6c 65 72 5c $im->addInstaller(new.Installer\
78f00 50 65 61 72 49 6e 73 74 61 6c 6c 65 72 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 27 70 PearInstaller($io,.$composer,.'p
78f20 65 61 72 2d 6c 69 62 72 61 72 79 27 29 29 3b 0a 24 69 6d 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 ear-library'));.$im->addInstalle
78f40 72 28 6e 65 77 20 49 6e 73 74 61 6c 6c 65 72 5c 50 6c 75 67 69 6e 49 6e 73 74 61 6c 6c 65 72 28 r(new.Installer\PluginInstaller(
78f60 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 29 29 3b 0a 24 69 6d 2d 3e 61 64 64 49 6e 73 74 61 6c $io,.$composer));.$im->addInstal
78f80 6c 65 72 28 6e 65 77 20 49 6e 73 74 61 6c 6c 65 72 5c 4d 65 74 61 70 61 63 6b 61 67 65 49 6e 73 ler(new.Installer\MetapackageIns
78fa0 74 61 6c 6c 65 72 28 24 69 6f 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 taller($io));.}......protected.f
78fc0 75 6e 63 74 69 6f 6e 20 70 75 72 67 65 50 61 63 6b 61 67 65 73 28 57 72 69 74 61 62 6c 65 52 65 unction.purgePackages(WritableRe
78fe0 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 49 6e 73 74 61 6c 6c positoryInterface.$repo,.Install
79000 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 24 69 6d 29 0a 7b 0a 66 6f er\InstallationManager.$im).{.fo
79020 72 65 61 63 68 20 28 24 72 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 reach.($repo->getPackages().as.$
79040 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 24 69 6d 2d 3e 69 73 50 61 63 6b 61 67 65 49 6e package).{.if.(!$im->isPackageIn
79060 73 74 61 6c 6c 65 64 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 72 65 70 stalled($repo,.$package)).{.$rep
79080 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a o->removePackage($package);.}.}.
790a0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e }.........public.static.function
790c0 20 63 72 65 61 74 65 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 63 6f 6e 66 69 67 .create(IOInterface.$io,.$config
790e0 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 .=.null,.$disablePlugins.=.false
79100 29 0a 7b 0a 24 66 61 63 74 6f 72 79 20 3d 20 6e 65 77 20 73 74 61 74 69 63 28 29 3b 0a 0a 72 65 ).{.$factory.=.new.static();..re
79120 74 75 72 6e 20 24 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 43 6f 6d 70 6f 73 65 72 28 24 69 turn.$factory->createComposer($i
79140 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 3b 0a 7d 0a o,.$config,.$disablePlugins);.}.
79160 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 .......public.static.function.cr
79180 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 49 4f 49 6e 74 65 72 66 61 63 65 eateRemoteFilesystem(IOInterface
791a0 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 24 6f 70 .$io,.Config.$config.=.null,.$op
791c0 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 73 74 61 74 69 63 20 24 77 61 72 6e 65 tions.=.array()).{.static.$warne
791e0 64 20 3d 20 66 61 6c 73 65 3b 0a 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 20 66 61 6c 73 65 3b 0a d.=.false;.$disableTls.=.false;.
79200 69 66 20 28 24 63 6f 6e 66 69 67 20 26 26 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 64 69 73 if.($config.&&.$config->get('dis
79220 61 62 6c 65 2d 74 6c 73 27 29 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 69 66 20 28 21 24 77 61 72 able-tls').===.true).{.if.(!$war
79240 6e 65 64 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 ned).{.$io->writeError('<warning
79260 3e 59 6f 75 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 43 6f 6d 70 6f 73 65 72 20 77 69 74 68 20 53 >You.are.running.Composer.with.S
79280 53 4c 2f 54 4c 53 20 70 72 6f 74 65 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 64 2e 3c 2f 77 61 72 SL/TLS.protection.disabled.</war
792a0 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 24 77 61 72 6e 65 64 20 3d 20 74 72 75 65 3b 0a 24 64 69 73 61 ning>');.}.$warned.=.true;.$disa
792c0 62 6c 65 54 6c 73 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 65 78 74 65 6e 73 bleTls.=.true;.}.elseif.(!extens
792e0 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e ion_loaded('openssl')).{.throw.n
79300 65 77 20 45 78 63 65 70 74 69 6f 6e 5c 4e 6f 53 73 6c 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 ew.Exception\NoSslException('The
79320 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 72 65 71 75 69 72 65 64 20 66 .openssl.extension.is.required.f
79340 6f 72 20 53 53 4c 2f 54 4c 53 20 70 72 6f 74 65 63 74 69 6f 6e 20 62 75 74 20 69 73 20 6e 6f 74 or.SSL/TLS.protection.but.is.not
79360 20 61 76 61 69 6c 61 62 6c 65 2e 20 27 0a 2e 20 27 49 66 20 79 6f 75 20 63 61 6e 20 6e 6f 74 20 .available..'...'If.you.can.not.
79380 65 6e 61 62 6c 65 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 2c 20 79 6f enable.the.openssl.extension,.yo
793a0 75 20 63 61 6e 20 64 69 73 61 62 6c 65 20 74 68 69 73 20 65 72 72 6f 72 2c 20 61 74 20 79 6f 75 u.can.disable.this.error,.at.you
793c0 72 20 6f 77 6e 20 72 69 73 6b 2c 20 62 79 20 73 65 74 74 69 6e 67 20 74 68 65 20 5c 27 64 69 73 r.own.risk,.by.setting.the.\'dis
793e0 61 62 6c 65 2d 74 6c 73 5c 27 20 6f 70 74 69 6f 6e 20 74 6f 20 74 72 75 65 2e 27 29 3b 0a 7d 0a able-tls\'.option.to.true.');.}.
79400 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 $remoteFilesystemOptions.=.array
79420 28 29 3b 0a 69 66 20 28 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b ();.if.($disableTls.===.false).{
79440 0a 69 66 20 28 24 63 6f 6e 66 69 67 20 26 26 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 .if.($config.&&.$config->get('ca
79460 66 69 6c 65 27 29 29 20 7b 0a 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 4f 70 74 69 6f file')).{.$remoteFilesystemOptio
79480 6e 73 5b 27 73 73 6c 27 5d 5b 27 63 61 66 69 6c 65 27 5d 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 ns['ssl']['cafile'].=.$config->g
794a0 65 74 28 27 63 61 66 69 6c 65 27 29 3b 0a 7d 0a 69 66 20 28 24 63 6f 6e 66 69 67 20 26 26 20 24 et('cafile');.}.if.($config.&&.$
794c0 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 70 61 74 68 27 29 29 20 7b 0a 24 72 65 6d 6f 74 65 config->get('capath')).{.$remote
794e0 46 69 6c 65 73 79 73 74 65 6d 4f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 63 61 70 61 74 68 FilesystemOptions['ssl']['capath
79500 27 5d 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 70 61 74 68 27 29 3b 0a 7d 0a 24 '].=.$config->get('capath');.}.$
79520 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f remoteFilesystemOptions.=.array_
79540 72 65 70 6c 61 63 65 5f 72 65 63 75 72 73 69 76 65 28 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 replace_recursive($remoteFilesys
79560 74 65 6d 4f 70 74 69 6f 6e 73 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 74 72 79 20 7b 0a 24 temOptions,.$options);.}.try.{.$
79580 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 52 65 6d 6f 74 65 46 69 6c remoteFilesystem.=.new.RemoteFil
795a0 65 73 79 73 74 65 6d 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 6d 6f 74 65 46 69 6c esystem($io,.$config,.$remoteFil
795c0 65 73 79 73 74 65 6d 4f 70 74 69 6f 6e 73 2c 20 24 64 69 73 61 62 6c 65 54 6c 73 29 3b 0a 7d 20 esystemOptions,.$disableTls);.}.
795e0 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a catch.(TransportException.$e).{.
79600 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 2d 3e 67 65 74 4d 65 73 73 if.(false.!==.strpos($e->getMess
79620 61 67 65 28 29 2c 20 27 63 61 66 69 6c 65 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 age(),.'cafile')).{.$io->write('
79640 3c 65 72 72 6f 72 3e 55 6e 61 62 6c 65 20 74 6f 20 6c 6f 63 61 74 65 20 61 20 76 61 6c 69 64 20 <error>Unable.to.locate.a.valid.
79660 43 41 20 63 65 72 74 69 66 69 63 61 74 65 20 66 69 6c 65 2e 20 59 6f 75 20 6d 75 73 74 20 73 65 CA.certificate.file..You.must.se
79680 74 20 61 20 76 61 6c 69 64 20 5c 27 63 61 66 69 6c 65 5c 27 20 6f 70 74 69 6f 6e 2e 3c 2f 65 72 t.a.valid.\'cafile\'.option.</er
796a0 72 6f 72 3e 27 29 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 41 20 76 61 6c ror>');.$io->write('<error>A.val
796c0 69 64 20 43 41 20 63 65 72 74 69 66 69 63 61 74 65 20 66 69 6c 65 20 69 73 20 72 65 71 75 69 72 id.CA.certificate.file.is.requir
796e0 65 64 20 66 6f 72 20 53 53 4c 2f 54 4c 53 20 70 72 6f 74 65 63 74 69 6f 6e 2e 3c 2f 65 72 72 6f ed.for.SSL/TLS.protection.</erro
79700 72 3e 27 29 3b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 30 r>');.if.(PHP_VERSION_ID.<.50600
79720 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 49 74 20 69 73 20 72 65 63 ).{.$io->write('<error>It.is.rec
79740 6f 6d 6d 65 6e 64 65 64 20 79 6f 75 20 75 70 67 72 61 64 65 20 74 6f 20 50 48 50 20 35 2e 36 2b ommended.you.upgrade.to.PHP.5.6+
79760 20 77 68 69 63 68 20 63 61 6e 20 64 65 74 65 63 74 20 79 6f 75 72 20 73 79 73 74 65 6d 20 43 41 .which.can.detect.your.system.CA
79780 20 66 69 6c 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a .file.automatically.</error>');.
797a0 7d 0a 24 69 6f 2d 3e 77 72 69 74 65 28 27 3c 65 72 72 6f 72 3e 59 6f 75 20 63 61 6e 20 64 69 73 }.$io->write('<error>You.can.dis
797c0 61 62 6c 65 20 74 68 69 73 20 65 72 72 6f 72 2c 20 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 able.this.error,.at.your.own.ris
797e0 6b 2c 20 62 79 20 73 65 74 74 69 6e 67 20 74 68 65 20 5c 27 64 69 73 61 62 6c 65 2d 74 6c 73 5c k,.by.setting.the.\'disable-tls\
79800 27 20 6f 70 74 69 6f 6e 20 74 6f 20 74 72 75 65 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 74 '.option.to.true.</error>');.}.t
79820 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 hrow.$e;.}..return.$remoteFilesy
79840 73 74 65 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 stem;.}.....private.static.funct
79860 69 6f 6e 20 75 73 65 58 64 67 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6b 65 ion.useXdg().{.foreach.(array_ke
79880 79 73 28 24 5f 53 45 52 56 45 52 29 20 61 73 20 24 6b 65 79 29 20 7b 0a 69 66 20 28 73 75 62 73 ys($_SERVER).as.$key).{.if.(subs
798a0 74 72 28 24 6b 65 79 2c 20 30 2c 20 34 29 20 3d 3d 3d 20 27 58 44 47 5f 27 29 20 7b 0a 72 65 74 tr($key,.0,.4).===.'XDG_').{.ret
798c0 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a urn.true;.}.}..return.false;.}..
798e0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 ....private.static.function.getU
79900 73 65 72 44 69 72 28 29 0a 7b 0a 24 68 6f 6d 65 20 3d 20 67 65 74 65 6e 76 28 27 48 4f 4d 45 27 serDir().{.$home.=.getenv('HOME'
79920 29 3b 0a 69 66 20 28 21 24 68 6f 6d 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 );.if.(!$home).{.throw.new.\Runt
79940 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 48 4f 4d 45 20 6f 72 20 43 4f 4d 50 4f 53 imeException('The.HOME.or.COMPOS
79960 45 52 5f 48 4f 4d 45 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 6d 75 73 ER_HOME.environment.variable.mus
79980 74 20 62 65 20 73 65 74 20 66 6f 72 20 63 6f 6d 70 6f 73 65 72 20 74 6f 20 72 75 6e 20 63 6f 72 t.be.set.for.composer.to.run.cor
799a0 72 65 63 74 6c 79 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 73 74 72 74 72 28 rectly');.}..return.rtrim(strtr(
799c0 24 68 6f 6d 65 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 2c 20 27 2f 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 $home,.'\\',.'/'),.'/');.}.}.<?p
799e0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
79a00 5c 49 4f 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 \IO;..use.Composer\Config;.use.C
79a20 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 omposer\Util\ProcessExecutor;.us
79a40 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 50 e.Psr\Log\LoggerInterface;.use.P
79a60 73 72 5c 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c 3b 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 sr\Log\LogLevel;..abstract.class
79a80 20 42 61 73 65 49 4f 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 4f 49 6e 74 65 72 66 61 63 65 2c 20 .BaseIO.implements.IOInterface,.
79aa0 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 LoggerInterface.{.protected.$aut
79ac0 68 65 6e 74 69 63 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c hentications.=.array();.....publ
79ae0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 28 29 ic.function.getAuthentications()
79b00 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 .{.return.$this->authentications
79b20 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 41 75 74 ;.}.....public.function.resetAut
79b40 68 65 6e 74 69 63 61 74 69 6f 6e 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 68 65 6e 74 69 hentications().{.$this->authenti
79b60 63 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 cations.=.array();.}.....public.
79b80 66 75 6e 63 74 69 6f 6e 20 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f function.hasAuthentication($repo
79ba0 73 69 74 6f 72 79 4e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 sitoryName).{.return.isset($this
79bc0 2d 3e 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 5b 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d ->authentications[$repositoryNam
79be0 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 e]);.}.....public.function.getAu
79c00 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 0a 7b 0a thentication($repositoryName).{.
79c20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 if.(isset($this->authentications
79c40 5b 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 [$repositoryName])).{.return.$th
79c60 69 73 2d 3e 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 5b 24 72 65 70 6f 73 69 74 6f 72 79 4e is->authentications[$repositoryN
79c80 61 6d 65 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 75 73 65 72 6e 61 6d 65 27 ame];.}..return.array('username'
79ca0 20 3d 3e 20 6e 75 6c 6c 2c 20 27 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 6e 75 6c 6c 29 3b 0a 7d .=>.null,.'password'.=>.null);.}
79cc0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 68 65 6e 74 69 .....public.function.setAuthenti
79ce0 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 2c 20 24 75 73 65 72 6e 61 6d cation($repositoryName,.$usernam
79d00 65 2c 20 24 70 61 73 73 77 6f 72 64 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 e,.$password.=.null).{.$this->au
79d20 74 68 65 6e 74 69 63 61 74 69 6f 6e 73 5b 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 5d 20 3d thentications[$repositoryName].=
79d40 20 61 72 72 61 79 28 27 75 73 65 72 6e 61 6d 65 27 20 3d 3e 20 24 75 73 65 72 6e 61 6d 65 2c 20 .array('username'.=>.$username,.
79d60 27 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 24 70 61 73 73 77 6f 72 64 29 3b 0a 7d 0a 0a 0a 0a 0a 'password'.=>.$password);.}.....
79d80 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 41 6e 64 53 ....protected.function.checkAndS
79da0 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 etAuthentication($repositoryName
79dc0 2c 20 24 75 73 65 72 6e 61 6d 65 2c 20 24 70 61 73 73 77 6f 72 64 20 3d 20 6e 75 6c 6c 29 0a 7b ,.$username,.$password.=.null).{
79de0 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 .if.($this->hasAuthentication($r
79e00 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d epositoryName)).{.$auth.=.$this-
79e20 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 >getAuthentication($repositoryNa
79e40 6d 65 29 3b 0a 69 66 20 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 3d 3d 3d 20 24 me);.if.($auth['username'].===.$
79e60 75 73 65 72 6e 61 6d 65 20 26 26 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 3d username.&&.$auth['password'].==
79e80 3d 20 24 70 61 73 73 77 6f 72 64 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d =.$password).{.return;.}..$this-
79ea0 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 73 70 72 69 6e 74 66 28 0a 22 3c 77 61 72 6e 69 6e 67 3e >writeError(.sprintf(."<warning>
79ec0 57 61 72 6e 69 6e 67 3a 20 59 6f 75 20 73 68 6f 75 6c 64 20 61 76 6f 69 64 20 6f 76 65 72 77 72 Warning:.You.should.avoid.overwr
79ee0 69 74 69 6e 67 20 61 6c 72 65 61 64 79 20 64 65 66 69 6e 65 64 20 61 75 74 68 20 73 65 74 74 69 iting.already.defined.auth.setti
79f00 6e 67 73 20 66 6f 72 20 25 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 22 2c 0a 24 72 65 70 6f 73 69 74 ngs.for.%s.</warning>",.$reposit
79f20 6f 72 79 4e 61 6d 65 0a 29 0a 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 73 65 74 41 75 74 68 65 6e 74 oryName.).);.}.$this->setAuthent
79f40 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 2c 20 24 75 73 65 72 6e 61 ication($repositoryName,.$userna
79f60 6d 65 2c 20 24 70 61 73 73 77 6f 72 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e me,.$password);.}.....public.fun
79f80 63 74 69 6f 6e 20 6c 6f 61 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 43 6f 6e 66 69 67 20 24 ction.loadConfiguration(Config.$
79fa0 63 6f 6e 66 69 67 29 0a 7b 0a 24 62 69 74 62 75 63 6b 65 74 4f 61 75 74 68 20 3d 20 24 63 6f 6e config).{.$bitbucketOauth.=.$con
79fc0 66 69 67 2d 3e 67 65 74 28 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 27 29 20 3f 3a 20 61 fig->get('bitbucket-oauth').?:.a
79fe0 72 72 61 79 28 29 3b 0a 24 67 69 74 68 75 62 4f 61 75 74 68 20 3d 20 24 63 6f 6e 66 69 67 2d 3e rray();.$githubOauth.=.$config->
7a000 67 65 74 28 27 67 69 74 68 75 62 2d 6f 61 75 74 68 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a get('github-oauth').?:.array();.
7a020 24 67 69 74 6c 61 62 4f 61 75 74 68 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 $gitlabOauth.=.$config->get('git
7a040 6c 61 62 2d 6f 61 75 74 68 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 24 67 69 74 6c 61 62 54 lab-oauth').?:.array();.$gitlabT
7a060 6f 6b 65 6e 20 3d 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 74 6f 6b 65 oken.=.$config->get('gitlab-toke
7a080 6e 27 29 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 24 68 74 74 70 42 61 73 69 63 20 3d 20 24 63 6f n').?:.array();.$httpBasic.=.$co
7a0a0 6e 66 69 67 2d 3e 67 65 74 28 27 68 74 74 70 2d 62 61 73 69 63 27 29 20 3f 3a 20 61 72 72 61 79 nfig->get('http-basic').?:.array
7a0c0 28 29 3b 0a 0a 0a 0a 66 6f 72 65 61 63 68 20 28 24 62 69 74 62 75 63 6b 65 74 4f 61 75 74 68 20 ();....foreach.($bitbucketOauth.
7a0e0 61 73 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 63 72 65 64 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 as.$domain.=>.$cred).{.$this->ch
7a100 65 63 6b 41 6e 64 53 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c eckAndSetAuthentication($domain,
7a120 20 24 63 72 65 64 5b 27 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 27 5d 2c 20 24 63 72 65 64 5b 27 63 .$cred['consumer-key'],.$cred['c
7a140 6f 6e 73 75 6d 65 72 2d 73 65 63 72 65 74 27 5d 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 onsumer-secret']);.}..foreach.($
7a160 67 69 74 68 75 62 4f 61 75 74 68 20 61 73 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 74 6f 6b 65 6e githubOauth.as.$domain.=>.$token
7a180 29 20 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 2e 61 2d 7a 30 2d 39 5d ).{.if.(!preg_match('{^[.a-z0-9]
7a1a0 2b 24 7d 27 2c 20 24 74 6f 6b 65 6e 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 +$}',.$token)).{.throw.new.\Unex
7a1c0 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 72 20 67 69 74 68 75 pectedValueException('Your.githu
7a1e0 62 20 6f 61 75 74 68 20 74 6f 6b 65 6e 20 66 6f 72 20 27 2e 24 64 6f 6d 61 69 6e 2e 27 20 63 6f b.oauth.token.for.'.$domain.'.co
7a200 6e 74 61 69 6e 73 20 69 6e 76 61 6c 69 64 20 63 68 61 72 61 63 74 65 72 73 3a 20 22 27 2e 24 74 ntains.invalid.characters:."'.$t
7a220 6f 6b 65 6e 2e 27 22 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 41 6e 64 53 65 74 41 oken.'"');.}.$this->checkAndSetA
7a240 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 2c 20 27 uthentication($domain,.$token,.'
7a260 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 67 69 x-oauth-basic');.}..foreach.($gi
7a280 74 6c 61 62 4f 61 75 74 68 20 61 73 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 74 6f 6b 65 6e 29 20 tlabOauth.as.$domain.=>.$token).
7a2a0 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 41 6e 64 53 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 {.$this->checkAndSetAuthenticati
7a2c0 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e 2c 20 27 6f 61 75 74 68 32 27 29 3b 0a 7d on($domain,.$token,.'oauth2');.}
7a2e0 0a 0a 66 6f 72 65 61 63 68 20 28 24 67 69 74 6c 61 62 54 6f 6b 65 6e 20 61 73 20 24 64 6f 6d 61 ..foreach.($gitlabToken.as.$doma
7a300 69 6e 20 3d 3e 20 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 41 6e 64 53 in.=>.$token).{.$this->checkAndS
7a320 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 74 6f 6b 65 6e etAuthentication($domain,.$token
7a340 2c 20 27 70 72 69 76 61 74 65 2d 74 6f 6b 65 6e 27 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 ,.'private-token');.}....foreach
7a360 20 28 24 68 74 74 70 42 61 73 69 63 20 61 73 20 24 64 6f 6d 61 69 6e 20 3d 3e 20 24 63 72 65 64 .($httpBasic.as.$domain.=>.$cred
7a380 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 41 6e 64 53 65 74 41 75 74 68 65 6e 74 69 63 61 ).{.$this->checkAndSetAuthentica
7a3a0 74 69 6f 6e 28 24 64 6f 6d 61 69 6e 2c 20 24 63 72 65 64 5b 27 75 73 65 72 6e 61 6d 65 27 5d 2c tion($domain,.$cred['username'],
7a3c0 20 24 63 72 65 64 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 7d 0a 0a 0a 20 50 72 6f 63 65 73 .$cred['password']);.}....Proces
7a3e0 73 45 78 65 63 75 74 6f 72 3a 3a 73 65 74 54 69 6d 65 6f 75 74 28 28 69 6e 74 29 20 24 63 6f 6e sExecutor::setTimeout((int).$con
7a400 66 69 67 2d 3e 67 65 74 28 27 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 27 29 29 3b 0a 7d 0a fig->get('process-timeout'));.}.
7a420 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6d 65 72 67 65 6e 63 ........public.function.emergenc
7a440 79 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 y($message,.array.$context.=.arr
7a460 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 ay()).{.return.$this->log(LogLev
7a480 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 el::EMERGENCY,.$message,.$contex
7a4a0 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e t);.}............public.function
7a4c0 20 61 6c 65 72 74 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 .alert($message,.array.$context.
7a4e0 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 67 28 4c =.array()).{.return.$this->log(L
7a500 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 ogLevel::ALERT,.$message,.$conte
7a520 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e xt);.}...........public.function
7a540 20 63 72 69 74 69 63 61 6c 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 .critical($message,.array.$conte
7a560 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f xt.=.array()).{.return.$this->lo
7a580 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 2c 20 24 6d 65 73 73 61 67 65 2c 20 g(LogLevel::CRITICAL,.$message,.
7a5a0 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $context);.}..........public.fun
7a5c0 63 74 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e ction.error($message,.array.$con
7a5e0 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e text.=.array()).{.return.$this->
7a600 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 log(LogLevel::ERROR,.$message,.$
7a620 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 context);.}............public.fu
7a640 6e 63 74 69 6f 6e 20 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 nction.warning($message,.array.$
7a660 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 context.=.array()).{.return.$thi
7a680 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 2c 20 24 6d 65 73 73 61 s->log(LogLevel::WARNING,.$messa
7a6a0 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ge,.$context);.}.........public.
7a6c0 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 63 65 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 function.notice($message,.array.
7a6e0 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 $context.=.array()).{.return.$th
7a700 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 2c 20 24 6d 65 73 73 61 is->log(LogLevel::NOTICE,.$messa
7a720 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ge,.$context);.}...........publi
7a740 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 66 6f 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 c.function.info($message,.array.
7a760 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 $context.=.array()).{.return.$th
7a780 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 2c 20 24 6d 65 73 73 61 67 65 is->log(LogLevel::INFO,.$message
7a7a0 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ,.$context);.}.........public.fu
7a7c0 6e 63 74 69 6f 6e 20 64 65 62 75 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f nction.debug($message,.array.$co
7a7e0 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ntext.=.array()).{.return.$this-
7a800 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 >log(LogLevel::DEBUG,.$message,.
7a820 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $context);.}..........public.fun
7a840 63 74 69 6f 6e 20 6c 6f 67 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 ction.log($level,.$message,.arra
7a860 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 69 6e 5f 61 y.$context.=.array()).{.if.(in_a
7a880 72 72 61 79 28 24 6c 65 76 65 6c 2c 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 rray($level,.array(LogLevel::EME
7a8a0 52 47 45 4e 43 59 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 2c 20 4c 6f 67 4c 65 76 65 RGENCY,.LogLevel::ALERT,.LogLeve
7a8c0 6c 3a 3a 43 52 49 54 49 43 41 4c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 29 29 29 20 l::CRITICAL,.LogLevel::ERROR))).
7a8e0 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 27 2e 24 6d {.$this->writeError('<error>'.$m
7a900 65 73 73 61 67 65 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 73 65 6c 66 3a 3a 4e essage.'</error>',.true,.self::N
7a920 4f 52 4d 41 4c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c 65 76 65 6c 20 3d 3d 3d 20 4c 6f 67 ORMAL);.}.elseif.($level.===.Log
7a940 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 Level::WARNING).{.$this->writeEr
7a960 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 6d 65 73 73 61 67 65 2e 27 3c 2f 77 61 72 6e ror('<warning>'.$message.'</warn
7a980 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 3b 0a 7d 20 65 6c ing>',.true,.self::NORMAL);.}.el
7a9a0 73 65 69 66 20 28 24 6c 65 76 65 6c 20 3d 3d 3d 20 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 seif.($level.===.LogLevel::NOTIC
7a9c0 45 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 27 2e E).{.$this->writeError('<info>'.
7a9e0 24 6d 65 73 73 61 67 65 2e 27 3c 2f 69 6e 66 6f 3e 27 2c 20 74 72 75 65 2c 20 73 65 6c 66 3a 3a $message.'</info>',.true,.self::
7aa00 56 45 52 42 4f 53 45 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c 65 76 65 6c 20 3d 3d 3d 20 4c VERBOSE);.}.elseif.($level.===.L
7aa20 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 72 ogLevel::INFO).{.$this->writeErr
7aa40 6f 72 28 27 3c 69 6e 66 6f 3e 27 2e 24 6d 65 73 73 61 67 65 2e 27 3c 2f 69 6e 66 6f 3e 27 2c 20 or('<info>'.$message.'</info>',.
7aa60 74 72 75 65 2c 20 73 65 6c 66 3a 3a 56 45 52 59 5f 56 45 52 42 4f 53 45 29 3b 0a 7d 20 65 6c 73 true,.self::VERY_VERBOSE);.}.els
7aa80 65 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 2c 20 e.{.$this->writeError($message,.
7aaa0 74 72 75 65 2c 20 73 65 6c 66 3a 3a 44 45 42 55 47 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a true,.self::DEBUG);.}.}.}.<?php.
7aac0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f ...........namespace.Composer\IO
7aae0 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 ;..use.Symfony\Component\Console
7ab00 5c 48 65 6c 70 65 72 5c 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 \Helper\QuestionHelper;.use.Symf
7ab20 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 53 74 72 ony\Component\Console\Output\Str
7ab40 65 61 6d 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 eamOutput;.use.Symfony\Component
7ab60 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 \Console\Formatter\OutputFormatt
7ab80 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 erInterface;.use.Symfony\Compone
7aba0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 53 74 72 65 61 6d 61 62 6c 65 49 6e 70 75 74 nt\Console\Input\StreamableInput
7abc0 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 Interface;.use.Symfony\Component
7abe0 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 53 74 72 69 6e 67 49 6e 70 75 74 3b 0a 75 73 65 20 \Console\Input\StringInput;.use.
7ac00 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 Symfony\Component\Console\Helper
7ac20 5c 48 65 6c 70 65 72 53 65 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 75 66 66 65 72 49 4f 20 65 \HelperSet;.....class.BufferIO.e
7ac40 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c 65 49 4f 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 xtends.ConsoleIO.{......public.f
7ac60 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 70 75 74 20 3d 20 27 27 2c unction.__construct($input.=.'',
7ac80 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 53 74 72 65 61 6d 4f 75 74 70 75 74 3a 3a 56 45 52 42 .$verbosity.=.StreamOutput::VERB
7aca0 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 OSITY_NORMAL,.OutputFormatterInt
7acc0 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 69 6e 70 erface.$formatter.=.null).{.$inp
7ace0 75 74 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 24 69 ut.=.new.StringInput($input);.$i
7ad00 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 0a 24 6f nput->setInteractive(false);..$o
7ad20 75 74 70 75 74 20 3d 20 6e 65 77 20 53 74 72 65 61 6d 4f 75 74 70 75 74 28 66 6f 70 65 6e 28 27 utput.=.new.StreamOutput(fopen('
7ad40 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 2c 20 27 72 77 27 29 2c 20 24 76 65 72 62 6f 73 69 74 79 php://memory',.'rw'),.$verbosity
7ad60 2c 20 24 66 6f 72 6d 61 74 74 65 72 20 3f 20 24 66 6f 72 6d 61 74 74 65 72 2d 3e 69 73 44 65 63 ,.$formatter.?.$formatter->isDec
7ad80 6f 72 61 74 65 64 28 29 20 3a 20 66 61 6c 73 65 2c 20 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 0a orated().:.false,.$formatter);..
7ada0 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 parent::__construct($input,.$out
7adc0 70 75 74 2c 20 6e 65 77 20 48 65 6c 70 65 72 53 65 74 28 61 72 72 61 79 28 0a 6e 65 77 20 51 75 put,.new.HelperSet(array(.new.Qu
7ade0 65 73 74 69 6f 6e 48 65 6c 70 65 72 28 29 2c 0a 29 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 estionHelper(),.)));.}..public.f
7ae00 75 6e 63 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 66 73 65 65 6b 28 24 74 68 69 unction.getOutput().{.fseek($thi
7ae20 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 2c 20 30 29 3b 0a 0a 24 6f 75 s->output->getStream(),.0);..$ou
7ae40 74 70 75 74 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 tput.=.stream_get_contents($this
7ae60 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 24 6f 75 74 70 75 74 ->output->getStream());..$output
7ae80 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 22 7b 28 3f 3c 3d 5e .=.preg_replace_callback("{(?<=^
7aea0 7c 5c 6e 7c 5c 78 30 38 29 28 2e 2b 3f 29 28 5c 78 30 38 2b 29 7d 22 2c 20 66 75 6e 63 74 69 6f |\n|\x08)(.+?)(\x08+)}",.functio
7aec0 6e 20 28 24 6d 61 74 63 68 65 73 29 20 7b 0a 24 70 72 65 20 3d 20 73 74 72 69 70 5f 74 61 67 73 n.($matches).{.$pre.=.strip_tags
7aee0 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 70 72 65 29 ($matches[1]);..if.(strlen($pre)
7af00 20 3d 3d 3d 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 72 65 74 75 .===.strlen($matches[2])).{.retu
7af20 72 6e 20 27 27 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 6d 61 74 63 68 65 rn.'';.}....return.rtrim($matche
7af40 73 5b 31 5d 29 2e 22 5c 6e 22 3b 0a 7d 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e s[1])."\n";.},.$output);..return
7af60 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 .$output;.}..public.function.set
7af80 55 73 65 72 49 6e 70 75 74 73 28 61 72 72 61 79 20 24 69 6e 70 75 74 73 29 0a 7b 0a 69 66 20 28 UserInputs(array.$inputs).{.if.(
7afa0 21 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 53 74 72 65 61 6d 61 !$this->input.instanceof.Streama
7afc0 62 6c 65 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c bleInputInterface).{.throw.new.\
7afe0 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 53 65 74 74 69 6e 67 20 74 68 65 20 75 73 RuntimeException('Setting.the.us
7b000 65 72 20 69 6e 70 75 74 73 20 72 65 71 75 69 72 65 73 20 61 74 20 6c 65 61 73 74 20 74 68 65 20 er.inputs.requires.at.least.the.
7b020 76 65 72 73 69 6f 6e 20 33 2e 32 20 6f 66 20 74 68 65 20 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f version.3.2.of.the.symfony/conso
7b040 6c 65 20 63 6f 6d 70 6f 6e 65 6e 74 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 le.component.');.}..$this->input
7b060 2d 3e 73 65 74 53 74 72 65 61 6d 28 24 74 68 69 73 2d 3e 63 72 65 61 74 65 53 74 72 65 61 6d 28 ->setStream($this->createStream(
7b080 24 69 6e 70 75 74 73 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 $inputs));.$this->input->setInte
7b0a0 72 61 63 74 69 76 65 28 74 72 75 65 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 ractive(true);.}..private.functi
7b0c0 6f 6e 20 63 72 65 61 74 65 53 74 72 65 61 6d 28 61 72 72 61 79 20 24 69 6e 70 75 74 73 29 0a 7b on.createStream(array.$inputs).{
7b0e0 0a 24 73 74 72 65 61 6d 20 3d 20 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 2c .$stream.=.fopen('php://memory',
7b100 20 27 72 2b 27 2c 20 66 61 6c 73 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 70 75 74 73 .'r+',.false);..foreach.($inputs
7b120 20 61 73 20 24 69 6e 70 75 74 29 20 7b 0a 66 77 72 69 74 65 28 24 73 74 72 65 61 6d 2c 20 24 69 .as.$input).{.fwrite($stream,.$i
7b140 6e 70 75 74 2e 50 48 50 5f 45 4f 4c 29 3b 0a 7d 0a 0a 72 65 77 69 6e 64 28 24 73 74 72 65 61 6d nput.PHP_EOL);.}..rewind($stream
7b160 29 3b 0a 0a 72 65 74 75 72 6e 20 24 73 74 72 65 61 6d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a );..return.$stream;.}.}.<?php...
7b180 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 3b 0a .........namespace.Composer\IO;.
7b1a0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 51 75 65 73 74 69 6f 6e 5c 53 74 72 69 63 74 43 6f 6e .use.Composer\Question\StrictCon
7b1c0 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 firmationQuestion;.use.Symfony\C
7b1e0 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 53 65 omponent\Console\Helper\HelperSe
7b200 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 t;.use.Symfony\Component\Console
7b220 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f \Input\InputInterface;.use.Symfo
7b240 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 ny\Component\Console\Output\Cons
7b260 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c oleOutputInterface;.use.Symfony\
7b280 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 Component\Console\Output\OutputI
7b2a0 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c nterface;.use.Symfony\Component\
7b2c0 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 3b Console\Question\ChoiceQuestion;
7b2e0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 .use.Symfony\Component\Console\Q
7b300 75 65 73 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 uestion\Question;........class.C
7b320 6f 6e 73 6f 6c 65 49 4f 20 65 78 74 65 6e 64 73 20 42 61 73 65 49 4f 0a 7b 0a 0a 70 72 6f 74 65 onsoleIO.extends.BaseIO.{..prote
7b340 63 74 65 64 20 24 69 6e 70 75 74 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 75 74 70 75 74 3b cted.$input;..protected.$output;
7b360 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 0a 70 72 6f 74 65 63 74 ..protected.$helperSet;..protect
7b380 65 64 20 24 6c 61 73 74 4d 65 73 73 61 67 65 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 61 73 ed.$lastMessage;..protected.$las
7b3a0 74 4d 65 73 73 61 67 65 45 72 72 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 54 69 6d tMessageErr;...private.$startTim
7b3c0 65 3b 0a 0a 70 72 69 76 61 74 65 20 24 76 65 72 62 6f 73 69 74 79 4d 61 70 3b 0a 0a 0a 0a 0a 0a e;..private.$verbosityMap;......
7b3e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 ...public.function.__construct(I
7b400 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 nputInterface.$input,.OutputInte
7b420 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 48 65 6c 70 65 72 53 65 74 20 24 68 65 6c 70 65 72 rface.$output,.HelperSet.$helper
7b440 53 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 24 74 Set).{.$this->input.=.$input;.$t
7b460 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 24 74 68 69 73 2d 3e 68 65 his->output.=.$output;.$this->he
7b480 6c 70 65 72 53 65 74 20 3d 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 24 74 68 69 73 2d 3e 76 65 72 lperSet.=.$helperSet;.$this->ver
7b4a0 62 6f 73 69 74 79 4d 61 70 20 3d 20 61 72 72 61 79 28 0a 73 65 6c 66 3a 3a 51 55 49 45 54 20 3d bosityMap.=.array(.self::QUIET.=
7b4c0 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 >.OutputInterface::VERBOSITY_QUI
7b4e0 45 54 2c 0a 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 ET,.self::NORMAL.=>.OutputInterf
7b500 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 73 65 6c 66 3a 3a 56 45 52 ace::VERBOSITY_NORMAL,.self::VER
7b520 42 4f 53 45 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 BOSE.=>.OutputInterface::VERBOSI
7b540 54 59 5f 56 45 52 42 4f 53 45 2c 0a 73 65 6c 66 3a 3a 56 45 52 59 5f 56 45 52 42 4f 53 45 20 3d TY_VERBOSE,.self::VERY_VERBOSE.=
7b560 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 >.OutputInterface::VERBOSITY_VER
7b580 59 5f 56 45 52 42 4f 53 45 2c 0a 73 65 6c 66 3a 3a 44 45 42 55 47 20 3d 3e 20 4f 75 74 70 75 74 Y_VERBOSE,.self::DEBUG.=>.Output
7b5a0 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 2c 0a 29 3b 0a 7d Interface::VERBOSITY_DEBUG,.);.}
7b5c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 44 65 62 75 67 .....public.function.enableDebug
7b5e0 67 69 6e 67 28 24 73 74 61 72 74 54 69 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 ging($startTime).{.$this->startT
7b600 69 6d 65 20 3d 20 24 73 74 61 72 74 54 69 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ime.=.$startTime;.}.....public.f
7b620 75 6e 63 74 69 6f 6e 20 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 0a 7b 0a 72 65 74 75 72 6e unction.isInteractive().{.return
7b640 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 3b 0a .$this->input->isInteractive();.
7b660 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 }.....public.function.isDecorate
7b680 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 d().{.return.$this->output->isDe
7b6a0 63 6f 72 61 74 65 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e corated();.}.....public.function
7b6c0 20 69 73 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 .isVerbose().{.return.$this->out
7b6e0 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 20 3e 3d 20 4f 75 74 70 75 74 49 6e 74 put->getVerbosity().>=.OutputInt
7b700 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 3b 0a 7d 0a 0a 0a 0a erface::VERBOSITY_VERBOSE;.}....
7b720 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 .public.function.isVeryVerbose()
7b740 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 .{.return.$this->output->getVerb
7b760 6f 73 69 74 79 28 29 20 3e 3d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 osity().>=.OutputInterface::VERB
7b780 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 OSITY_VERY_VERBOSE;.}.....public
7b7a0 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 62 75 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 .function.isDebug().{.return.$th
7b7c0 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 20 3e 3d 20 4f 75 is->output->getVerbosity().>=.Ou
7b7e0 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 3b 0a tputInterface::VERBOSITY_DEBUG;.
7b800 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 6d 65 73 }.....public.function.write($mes
7b820 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 sages,.$newline.=.true,.$verbosi
7b840 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 57 72 ty.=.self::NORMAL).{.$this->doWr
7b860 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 66 61 6c 73 65 2c 20 ite($messages,.$newline,.false,.
7b880 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 $verbosity);.}.....public.functi
7b8a0 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e on.writeError($messages,.$newlin
7b8c0 65 20 3d 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 e.=.true,.$verbosity.=.self::NOR
7b8e0 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c MAL).{.$this->doWrite($messages,
7b900 20 24 6e 65 77 6c 69 6e 65 2c 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d 0a .$newline,.true,.$verbosity);.}.
7b920 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 57 72 69 74 65 28 .......private.function.doWrite(
7b940 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 73 74 64 65 72 72 2c 20 24 76 $messages,.$newline,.$stderr,.$v
7b960 65 72 62 6f 73 69 74 79 29 0a 7b 0a 24 73 66 56 65 72 62 6f 73 69 74 79 20 3d 20 24 74 68 69 73 erbosity).{.$sfVerbosity.=.$this
7b980 2d 3e 76 65 72 62 6f 73 69 74 79 4d 61 70 5b 24 76 65 72 62 6f 73 69 74 79 5d 3b 0a 69 66 20 28 ->verbosityMap[$verbosity];.if.(
7b9a0 24 73 66 56 65 72 62 6f 73 69 74 79 20 3e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 $sfVerbosity.>.$this->output->ge
7b9c0 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 0a 20 0a tVerbosity()).{.return;.}.......
7b9e0 20 69 66 20 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f .if.(OutputInterface::VERBOSITY_
7ba00 51 55 49 45 54 20 3d 3d 3d 20 30 29 20 7b 0a 24 73 66 56 65 72 62 6f 73 69 74 79 20 3d 20 4f 75 QUIET.===.0).{.$sfVerbosity.=.Ou
7ba20 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 3b 0a 7d 0a tputInterface::OUTPUT_NORMAL;.}.
7ba40 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 29 20 .if.(null.!==.$this->startTime).
7ba60 7b 0a 24 6d 65 6d 6f 72 79 55 73 61 67 65 20 3d 20 6d 65 6d 6f 72 79 5f 67 65 74 5f 75 73 61 67 {.$memoryUsage.=.memory_get_usag
7ba80 65 28 29 20 2f 20 31 30 32 34 20 2f 20 31 30 32 34 3b 0a 24 74 69 6d 65 53 70 65 6e 74 20 3d 20 e()./.1024./.1024;.$timeSpent.=.
7baa0 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 microtime(true).-.$this->startTi
7bac0 6d 65 3b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 me;.$messages.=.array_map(functi
7bae0 6f 6e 20 28 24 6d 65 73 73 61 67 65 29 20 75 73 65 20 28 24 6d 65 6d 6f 72 79 55 73 61 67 65 2c on.($message).use.($memoryUsage,
7bb00 20 24 74 69 6d 65 53 70 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 5b .$timeSpent).{.return.sprintf('[
7bb20 25 2e 31 66 4d 69 42 2f 25 2e 32 66 73 5d 20 25 73 27 2c 20 24 6d 65 6d 6f 72 79 55 73 61 67 65 %.1fMiB/%.2fs].%s',.$memoryUsage
7bb40 2c 20 24 74 69 6d 65 53 70 65 6e 74 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 2c 20 28 61 72 72 ,.$timeSpent,.$message);.},.(arr
7bb60 61 79 29 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 ay).$messages);.}..if.(true.===.
7bb80 24 73 74 64 65 72 72 20 26 26 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 $stderr.&&.$this->output.instanc
7bba0 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 74 eof.ConsoleOutputInterface).{.$t
7bbc0 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2d 3e 77 his->output->getErrorOutput()->w
7bbe0 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 73 66 56 65 72 rite($messages,.$newline,.$sfVer
7bc00 62 6f 73 69 74 79 29 3b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 45 72 72 20 3d bosity);.$this->lastMessageErr.=
7bc20 20 69 6d 70 6c 6f 64 65 28 24 6e 65 77 6c 69 6e 65 20 3f 20 22 5c 6e 22 20 3a 20 27 27 2c 20 28 .implode($newline.?."\n".:.'',.(
7bc40 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 array).$messages);..return;.}..$
7bc60 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 this->output->write($messages,.$
7bc80 6e 65 77 6c 69 6e 65 2c 20 24 73 66 56 65 72 62 6f 73 69 74 79 29 3b 0a 24 74 68 69 73 2d 3e 6c newline,.$sfVerbosity);.$this->l
7bca0 61 73 74 4d 65 73 73 61 67 65 20 3d 20 69 6d 70 6c 6f 64 65 28 24 6e 65 77 6c 69 6e 65 20 3f 20 astMessage.=.implode($newline.?.
7bcc0 22 5c 6e 22 20 3a 20 27 27 2c 20 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d "\n".:.'',.(array).$messages);.}
7bce0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 28 24 .....public.function.overwrite($
7bd00 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 73 69 7a 65 messages,.$newline.=.true,.$size
7bd20 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d .=.null,.$verbosity.=.self::NORM
7bd40 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 4f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 AL).{.$this->doOverwrite($messag
7bd60 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 73 69 7a 65 2c 20 66 61 6c 73 65 2c 20 24 76 65 72 es,.$newline,.$size,.false,.$ver
7bd80 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f bosity);.}.....public.function.o
7bda0 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e verwriteError($messages,.$newlin
7bdc0 65 20 3d 20 74 72 75 65 2c 20 24 73 69 7a 65 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 62 6f 73 69 e.=.true,.$size.=.null,.$verbosi
7bde0 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 4f 76 ty.=.self::NORMAL).{.$this->doOv
7be00 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 73 69 erwrite($messages,.$newline,.$si
7be20 7a 65 2c 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ze,.true,.$verbosity);.}........
7be40 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 4f 76 65 72 77 72 69 74 65 28 24 6d .private.function.doOverwrite($m
7be60 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 73 69 7a 65 2c 20 24 73 74 64 65 72 essages,.$newline,.$size,.$stder
7be80 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 0a 7b 0a 0a 20 24 6d 65 73 73 61 67 65 73 20 3d 20 69 r,.$verbosity).{...$messages.=.i
7bea0 6d 70 6c 6f 64 65 28 24 6e 65 77 6c 69 6e 65 20 3f 20 22 5c 6e 22 20 3a 20 27 27 2c 20 28 61 72 mplode($newline.?."\n".:.'',.(ar
7bec0 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 ray).$messages);....if.(!isset($
7bee0 73 69 7a 65 29 29 20 7b 0a 0a 20 24 73 69 7a 65 20 3d 20 73 74 72 6c 65 6e 28 73 74 72 69 70 5f size)).{...$size.=.strlen(strip_
7bf00 74 61 67 73 28 24 73 74 64 65 72 72 20 3f 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 tags($stderr.?.$this->lastMessag
7bf20 65 45 72 72 20 3a 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 29 29 3b 0a 7d 0a 0a eErr.:.$this->lastMessage));.}..
7bf40 20 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 28 22 5c 78 30 38 .$this->doWrite(str_repeat("\x08
7bf60 22 2c 20 24 73 69 7a 65 29 2c 20 66 61 6c 73 65 2c 20 24 73 74 64 65 72 72 2c 20 24 76 65 72 62 ",.$size),.false,.$stderr,.$verb
7bf80 6f 73 69 74 79 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 osity);....$this->doWrite($messa
7bfa0 67 65 73 2c 20 66 61 6c 73 65 2c 20 24 73 74 64 65 72 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 ges,.false,.$stderr,.$verbosity)
7bfc0 3b 0a 0a 0a 20 0a 20 0a 20 24 66 69 6c 6c 20 3d 20 24 73 69 7a 65 20 2d 20 73 74 72 6c 65 6e 28 ;........$fill.=.$size.-.strlen(
7bfe0 73 74 72 69 70 5f 74 61 67 73 28 24 6d 65 73 73 61 67 65 73 29 29 3b 0a 69 66 20 28 24 66 69 6c strip_tags($messages));.if.($fil
7c000 6c 20 3e 20 30 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 73 74 72 5f 72 65 l.>.0).{...$this->doWrite(str_re
7c020 70 65 61 74 28 27 20 27 2c 20 24 66 69 6c 6c 29 2c 20 66 61 6c 73 65 2c 20 24 73 74 64 65 72 72 peat('.',.$fill),.false,.$stderr
7c040 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 0a 20 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 ,.$verbosity);...$this->doWrite(
7c060 73 74 72 5f 72 65 70 65 61 74 28 22 5c 78 30 38 22 2c 20 24 66 69 6c 6c 29 2c 20 66 61 6c 73 65 str_repeat("\x08",.$fill),.false
7c080 2c 20 24 73 74 64 65 72 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 69 66 20 28 24 ,.$stderr,.$verbosity);.}..if.($
7c0a0 6e 65 77 6c 69 6e 65 29 20 7b 0a 24 74 68 69 73 2d 3e 64 6f 57 72 69 74 65 28 27 27 2c 20 74 72 newline).{.$this->doWrite('',.tr
7c0c0 75 65 2c 20 24 73 74 64 65 72 72 2c 20 24 76 65 72 62 6f 73 69 74 79 29 3b 0a 7d 0a 0a 69 66 20 ue,.$stderr,.$verbosity);.}..if.
7c0e0 28 24 73 74 64 65 72 72 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 45 72 ($stderr).{.$this->lastMessageEr
7c100 72 20 3d 20 24 6d 65 73 73 61 67 65 73 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6c r.=.$messages;.}.else.{.$this->l
7c120 61 73 74 4d 65 73 73 61 67 65 20 3d 20 24 6d 65 73 73 61 67 65 73 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a astMessage.=.$messages;.}.}.....
7c140 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 public.function.ask($question,.$
7c160 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 24 68 65 6c 70 65 72 20 3d 20 24 74 68 default.=.null).{..$helper.=.$th
7c180 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 27 71 75 65 73 74 69 6f 6e 27 29 3b 0a is->helperSet->get('question');.
7c1a0 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 $question.=.new.Question($questi
7c1c0 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 68 65 6c 70 65 72 2d 3e on,.$default);..return.$helper->
7c1e0 61 73 6b 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f ask($this->input,.$this->getErro
7c200 72 4f 75 74 70 75 74 28 29 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 rOutput(),.$question);.}.....pub
7c220 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 71 75 lic.function.askConfirmation($qu
7c240 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 74 72 75 65 29 0a 7b 0a 0a 24 68 65 6c estion,.$default.=.true).{..$hel
7c260 70 65 72 20 3d 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 27 71 75 65 per.=.$this->helperSet->get('que
7c280 73 74 69 6f 6e 27 29 3b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 53 74 72 69 63 74 43 stion');.$question.=.new.StrictC
7c2a0 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 onfirmationQuestion($question,.$
7c2c0 64 65 66 61 75 6c 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 68 65 6c 70 65 72 2d 3e 61 73 6b 28 24 default);..return.$helper->ask($
7c2e0 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 this->input,.$this->getErrorOutp
7c300 75 74 28 29 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ut(),.$question);.}.....public.f
7c320 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 24 71 75 65 73 74 69 6f 6e unction.askAndValidate($question
7c340 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 6e 75 6c 6c 2c 20 ,.$validator,.$attempts.=.null,.
7c360 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 24 68 65 6c 70 65 72 20 3d 20 24 74 $default.=.null).{..$helper.=.$t
7c380 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 27 71 75 65 73 74 69 6f 6e 27 29 3b his->helperSet->get('question');
7c3a0 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 .$question.=.new.Question($quest
7c3c0 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 56 61 ion,.$default);.$question->setVa
7c3e0 6c 69 64 61 74 6f 72 28 24 76 61 6c 69 64 61 74 6f 72 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e lidator($validator);.$question->
7c400 73 65 74 4d 61 78 41 74 74 65 6d 70 74 73 28 24 61 74 74 65 6d 70 74 73 29 3b 0a 0a 72 65 74 75 setMaxAttempts($attempts);..retu
7c420 72 6e 20 24 68 65 6c 70 65 72 2d 3e 61 73 6b 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 rn.$helper->ask($this->input,.$t
7c440 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 71 75 65 73 74 69 6f 6e his->getErrorOutput(),.$question
7c460 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 48 );.}.....public.function.askAndH
7c480 69 64 65 41 6e 73 77 65 72 28 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 0a 24 68 65 6c 70 65 72 20 ideAnswer($question).{..$helper.
7c4a0 3d 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 27 71 75 65 73 74 69 6f =.$this->helperSet->get('questio
7c4c0 6e 27 29 3b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 24 71 n');.$question.=.new.Question($q
7c4e0 75 65 73 74 69 6f 6e 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 48 69 64 64 65 6e 28 74 uestion);.$question->setHidden(t
7c500 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 68 65 6c 70 65 72 2d 3e 61 73 6b 28 24 74 68 69 73 rue);..return.$helper->ask($this
7c520 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 ->input,.$this->getErrorOutput()
7c540 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ,.$question);.}.....public.funct
7c560 69 6f 6e 20 73 65 6c 65 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 63 68 6f 69 63 65 73 2c 20 ion.select($question,.$choices,.
7c580 24 64 65 66 61 75 6c 74 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 24 65 72 $default,.$attempts.=.false,.$er
7c5a0 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 56 61 6c 75 65 20 22 25 73 22 20 69 73 20 69 6e 76 61 rorMessage.=.'Value."%s".is.inva
7c5c0 6c 69 64 27 2c 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 24 lid',.$multiselect.=.false).{..$
7c5e0 68 65 6c 70 65 72 20 3d 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 27 helper.=.$this->helperSet->get('
7c600 71 75 65 73 74 69 6f 6e 27 29 3b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 6e 65 77 20 43 68 6f 69 question');.$question.=.new.Choi
7c620 63 65 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 63 68 6f 69 63 65 73 2c 20 ceQuestion($question,.$choices,.
7c640 24 64 65 66 61 75 6c 74 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 4d 61 78 41 74 74 65 $default);.$question->setMaxAtte
7c660 6d 70 74 73 28 24 61 74 74 65 6d 70 74 73 20 3f 3a 20 6e 75 6c 6c 29 3b 20 0a 20 24 71 75 65 73 mpts($attempts.?:.null);...$ques
7c680 74 69 6f 6e 2d 3e 73 65 74 45 72 72 6f 72 4d 65 73 73 61 67 65 28 24 65 72 72 6f 72 4d 65 73 73 tion->setErrorMessage($errorMess
7c6a0 61 67 65 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 4d 75 6c 74 69 73 65 6c 65 63 74 28 age);.$question->setMultiselect(
7c6c0 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 20 24 68 65 6c 70 65 $multiselect);..$result.=.$helpe
7c6e0 72 2d 3e 61 73 6b 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 45 r->ask($this->input,.$this->getE
7c700 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 69 66 20 28 21 rrorOutput(),.$question);..if.(!
7c720 69 73 5f 61 72 72 61 79 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 28 73 74 72 is_array($result)).{.return.(str
7c740 69 6e 67 29 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 72 65 73 75 6c 74 2c 20 24 63 68 6f 69 ing).array_search($result,.$choi
7c760 63 65 73 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 ces,.true);.}..$results.=.array(
7c780 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 68 6f 69 63 65 73 20 61 73 20 24 69 6e 64 65 78 20 3d );.foreach.($choices.as.$index.=
7c7a0 3e 20 24 63 68 6f 69 63 65 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 63 68 6f 69 63 >.$choice).{.if.(in_array($choic
7c7c0 65 2c 20 24 72 65 73 75 6c 74 2c 20 74 72 75 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 e,.$result,.true)).{.$results[].
7c7e0 3d 20 28 73 74 72 69 6e 67 29 20 24 69 6e 64 65 78 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 =.(string).$index;.}.}..return.$
7c800 72 65 73 75 6c 74 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 results;.}.....private.function.
7c820 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 75 getErrorOutput().{.if.($this->ou
7c840 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 tput.instanceof.ConsoleOutputInt
7c860 65 72 66 61 63 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e erface).{.return.$this->output->
7c880 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 getErrorOutput();.}..return.$thi
7c8a0 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a s->output;.}.}.<?php............
7c8c0 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 3b 0a 0a 75 73 65 20 43 6f 6d 70 namespace.Composer\IO;..use.Comp
7c8e0 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 4f 49 oser\Config;.......interface.IOI
7c900 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 51 55 49 45 54 20 3d 20 31 3b 0a 63 6f 6e 73 nterface.{.const.QUIET.=.1;.cons
7c920 74 20 4e 4f 52 4d 41 4c 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 56 45 52 42 4f 53 45 20 3d 20 34 3b t.NORMAL.=.2;.const.VERBOSE.=.4;
7c940 0a 63 6f 6e 73 74 20 56 45 52 59 5f 56 45 52 42 4f 53 45 20 3d 20 38 3b 0a 63 6f 6e 73 74 20 44 .const.VERY_VERBOSE.=.8;.const.D
7c960 45 42 55 47 20 3d 20 31 36 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e EBUG.=.16;.......public.function
7c980 20 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .isInteractive();.......public.f
7c9a0 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 62 6f 73 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 unction.isVerbose();.......publi
7c9c0 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 3b 0a 0a 0a 0a 0a c.function.isVeryVerbose();.....
7c9e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 62 75 67 28 29 3b 0a 0a 0a 0a ..public.function.isDebug();....
7ca00 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 ...public.function.isDecorated()
7ca20 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 ;.........public.function.write(
7ca40 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 76 65 72 $messages,.$newline.=.true,.$ver
7ca60 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a bosity.=.self::NORMAL);.........
7ca80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 public.function.writeError($mess
7caa0 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 74 ages,.$newline.=.true,.$verbosit
7cac0 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c y.=.self::NORMAL);..........publ
7cae0 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c ic.function.overwrite($messages,
7cb00 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 73 69 7a 65 20 3d 20 6e 75 6c 6c 2c 20 .$newline.=.true,.$size.=.null,.
7cb20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 3b 0a 0a 0a 0a 0a $verbosity.=.self::NORMAL);.....
7cb40 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 45 72 .....public.function.overwriteEr
7cb60 72 6f 72 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 ror($messages,.$newline.=.true,.
7cb80 24 73 69 7a 65 20 3d 20 6e 75 6c 6c 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a $size.=.null,.$verbosity.=.self:
7cba0 3a 4e 4f 52 4d 41 4c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 :NORMAL);...........public.funct
7cbc0 69 6f 6e 20 61 73 6b 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 ion.ask($question,.$default.=.nu
7cbe0 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ll);............public.function.
7cc00 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 askConfirmation($question,.$defa
7cc20 75 6c 74 20 3d 20 74 72 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ult.=.true);.................pub
7cc40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 24 71 75 65 lic.function.askAndValidate($que
7cc60 73 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 6e stion,.$validator,.$attempts.=.n
7cc80 75 6c 6c 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ull,.$default.=.null);.........p
7cca0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 ublic.function.askAndHideAnswer(
7ccc0 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 $question);...............public
7cce0 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 63 68 6f .function.select($question,.$cho
7cd00 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 ices,.$default,.$attempts.=.fals
7cd20 65 2c 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 56 61 6c 75 65 20 22 25 73 22 20 69 e,.$errorMessage.=.'Value."%s".i
7cd40 73 20 69 6e 76 61 6c 69 64 27 2c 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 66 61 6c 73 65 s.invalid',.$multiselect.=.false
7cd60 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 );.......public.function.getAuth
7cd80 65 6e 74 69 63 61 74 69 6f 6e 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 entications();.........public.fu
7cda0 6e 63 74 69 6f 6e 20 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 nction.hasAuthentication($reposi
7cdc0 74 6f 72 79 4e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 toryName);.........public.functi
7cde0 6f 6e 20 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 on.getAuthentication($repository
7ce00 4e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 Name);.........public.function.s
7ce20 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 etAuthentication($repositoryName
7ce40 2c 20 24 75 73 65 72 6e 61 6d 65 2c 20 24 70 61 73 73 77 6f 72 64 20 3d 20 6e 75 6c 6c 29 3b 0a ,.$username,.$password.=.null);.
7ce60 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6f 6e 66 69 67 ......public.function.loadConfig
7ce80 75 72 61 74 69 6f 6e 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 3c 3f 70 68 70 uration(Config.$config);.}.<?php
7cea0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 ............namespace.Composer\I
7cec0 4f 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 75 6c 6c 49 4f 20 65 78 74 65 6e 64 73 20 42 61 O;.......class.NullIO.extends.Ba
7cee0 73 65 49 4f 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 74 65 seIO.{....public.function.isInte
7cf00 72 61 63 74 69 76 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a ractive().{.return.false;.}.....
7cf20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 public.function.isVerbose().{.re
7cf40 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f turn.false;.}.....public.functio
7cf60 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 n.isVeryVerbose().{.return.false
7cf80 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 62 75 67 28 ;.}.....public.function.isDebug(
7cfa0 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ).{.return.false;.}.....public.f
7cfc0 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 unction.isDecorated().{.return.f
7cfe0 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 alse;.}.....public.function.writ
7d000 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 76 e($messages,.$newline.=.true,.$v
7d020 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 7d 0a 0a 0a 0a erbosity.=.self::NORMAL).{.}....
7d040 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 .public.function.writeError($mes
7d060 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 76 65 72 62 6f 73 69 sages,.$newline.=.true,.$verbosi
7d080 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ty.=.self::NORMAL).{.}.....publi
7d0a0 63 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 c.function.overwrite($messages,.
7d0c0 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 73 69 7a 65 20 3d 20 38 30 2c 20 24 76 65 $newline.=.true,.$size.=.80,.$ve
7d0e0 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c 29 0a 7b 0a 7d 0a 0a 0a 0a 0a rbosity.=.self::NORMAL).{.}.....
7d100 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 24 public.function.overwriteError($
7d120 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 74 72 75 65 2c 20 24 73 69 7a 65 messages,.$newline.=.true,.$size
7d140 20 3d 20 38 30 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 4e 4f 52 4d 41 4c .=.80,.$verbosity.=.self::NORMAL
7d160 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 24 71 ).{.}.....public.function.ask($q
7d180 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 uestion,.$default.=.null).{.retu
7d1a0 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 rn.$default;.}.....public.functi
7d1c0 6f 6e 20 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 on.askConfirmation($question,.$d
7d1e0 65 66 61 75 6c 74 20 3d 20 74 72 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 efault.=.true).{.return.$default
7d200 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 56 61 ;.}.....public.function.askAndVa
7d220 6c 69 64 61 74 65 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 lidate($question,.$validator,.$a
7d240 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c ttempts.=.false,.$default.=.null
7d260 29 0a 7b 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ).{.return.$default;.}.....publi
7d280 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 24 71 75 65 c.function.askAndHideAnswer($que
7d2a0 73 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c stion).{.return.null;.}.....publ
7d2c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 63 ic.function.select($question,.$c
7d2e0 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 hoices,.$default,.$attempts.=.fa
7d300 6c 73 65 2c 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 56 61 6c 75 65 20 22 25 73 22 lse,.$errorMessage.=.'Value."%s"
7d320 20 69 73 20 69 6e 76 61 6c 69 64 27 2c 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 66 61 6c .is.invalid',.$multiselect.=.fal
7d340 73 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 se).{.return.$default;.}.}.<?php
7d360 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 3b 0a ............namespace.Composer;.
7d380 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 41 75 74 6f 6c 6f 61 64 47 .use.Composer\Autoload\AutoloadG
7d3a0 65 6e 65 72 61 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 enerator;.use.Composer\Dependenc
7d3c0 79 52 65 73 6f 6c 76 65 72 5c 44 65 66 61 75 6c 74 50 6f 6c 69 63 79 3b 0a 75 73 65 20 43 6f 6d yResolver\DefaultPolicy;.use.Com
7d3e0 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 poser\DependencyResolver\Operati
7d400 6f 6e 5c 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 on\UpdateOperation;.use.Composer
7d420 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 49 6e \DependencyResolver\Operation\In
7d440 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 stallOperation;.use.Composer\Dep
7d460 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 55 6e 69 6e 73 74 endencyResolver\Operation\Uninst
7d480 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e allOperation;.use.Composer\Depen
7d4a0 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4d 61 72 6b 41 6c 69 61 dencyResolver\Operation\MarkAlia
7d4c0 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f sUninstalledOperation;.use.Compo
7d4e0 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e ser\DependencyResolver\Operation
7d500 5c 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 \OperationInterface;.use.Compose
7d520 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6c 69 63 79 49 6e 74 65 72 r\DependencyResolver\PolicyInter
7d540 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 face;.use.Composer\DependencyRes
7d560 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 olver\Pool;.use.Composer\Depende
7d580 6e 63 79 52 65 73 6f 6c 76 65 72 5c 52 65 71 75 65 73 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ncyResolver\Request;.use.Compose
7d5a0 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 52 75 6c 65 3b 0a 75 73 65 20 43 r\DependencyResolver\Rule;.use.C
7d5c0 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 53 6f 6c 76 65 omposer\DependencyResolver\Solve
7d5e0 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 r;.use.Composer\DependencyResolv
7d600 65 72 5c 53 6f 6c 76 65 72 50 72 6f 62 6c 65 6d 73 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 er\SolverProblemsException;.use.
7d620 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 Composer\Downloader\DownloadMana
7d640 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 ger;.use.Composer\EventDispatche
7d660 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c r\EventDispatcher;.use.Composer\
7d680 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 75 Installer\InstallationManager;.u
7d6a0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 65 72 45 se.Composer\Installer\InstallerE
7d6c0 76 65 6e 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 4e 6f vents;.use.Composer\Installer\No
7d6e0 6f 70 49 6e 73 74 61 6c 6c 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c opInstaller;.use.Composer\Instal
7d700 6c 65 72 5c 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 3b 0a 75 ler\SuggestedPackagesReporter;.u
7d720 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 se.Composer\IO\IOInterface;.use.
7d740 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 Composer\Package\AliasPackage;.u
7d760 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b se.Composer\Package\BasePackage;
7d780 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 .use.Composer\Package\CompletePa
7d7a0 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b ckage;.use.Composer\Package\Link
7d7c0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 ;.use.Composer\Package\Loader\Ar
7d7e0 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c rayLoader;.use.Composer\Package\
7d800 44 75 6d 70 65 72 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 Dumper\ArrayDumper;.use.Composer
7d820 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 \Semver\Constraint\Constraint;.u
7d840 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 63 6b 65 72 3b 0a 75 73 65 20 se.Composer\Package\Locker;.use.
7d860 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 Composer\Package\PackageInterfac
7d880 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b e;.use.Composer\Package\RootPack
7d8a0 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 ageInterface;.use.Composer\Repos
7d8c0 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 itory\CompositeRepository;.use.C
7d8e0 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 41 72 72 61 omposer\Repository\InstalledArra
7d900 79 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 yRepository;.use.Composer\Reposi
7d920 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d tory\PlatformRepository;.use.Com
7d940 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 poser\Repository\RepositoryInter
7d960 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 face;.use.Composer\Repository\Re
7d980 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 positoryManager;.use.Composer\Re
7d9a0 70 6f 73 69 74 6f 72 79 5c 57 72 69 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 pository\WritableRepositoryInter
7d9c0 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 5c 53 63 72 69 70 74 face;.use.Composer\Script\Script
7d9e0 45 76 65 6e 74 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 72 0a 7b Events;........class.Installer.{
7da00 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 ....protected.$io;.....protected
7da20 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 .$config;.....protected.$package
7da40 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 ;.....protected.$downloadManager
7da60 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 ;.....protected.$repositoryManag
7da80 65 72 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 63 6b 65 72 3b 0a 0a 0a 0a 0a 70 er;.....protected.$locker;.....p
7daa0 72 6f 74 65 63 74 65 64 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 0a rotected.$installationManager;..
7dac0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 0a ...protected.$eventDispatcher;..
7dae0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 3b ...protected.$autoloadGenerator;
7db00 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 66 61 6c 73 ..protected.$preferSource.=.fals
7db20 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 66 65 72 44 69 73 74 20 3d 20 66 61 6c 73 65 e;.protected.$preferDist.=.false
7db40 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 20 ;.protected.$optimizeAutoloader.
7db60 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 =.false;.protected.$classMapAuth
7db80 6f 72 69 74 61 74 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 70 oritative.=.false;.protected.$ap
7dba0 63 75 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 cuAutoloader.=.false;.protected.
7dbc0 24 64 65 76 4d 6f 64 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 72 79 $devMode.=.false;.protected.$dry
7dbe0 52 75 6e 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 62 6f 73 65 20 Run.=.false;.protected.$verbose.
7dc00 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 75 70 64 61 74 65 20 3d 20 66 61 6c =.false;.protected.$update.=.fal
7dc20 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 se;.protected.$dumpAutoloader.=.
7dc40 74 72 75 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6e 53 63 72 69 70 74 73 20 3d 20 74 72 true;.protected.$runScripts.=.tr
7dc60 75 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 ue;.protected.$ignorePlatformReq
7dc80 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 66 65 72 53 74 61 62 s.=.false;.protected.$preferStab
7dca0 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 66 65 72 4c 6f 77 le.=.false;.protected.$preferLow
7dcc0 65 73 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6b 69 70 53 75 67 67 est.=.false;.protected.$skipSugg
7dce0 65 73 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 72 69 74 65 4c 6f 63 est.=.false;.protected.$writeLoc
7dd00 6b 20 3d 20 74 72 75 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 78 65 63 75 74 65 4f 70 65 72 k.=.true;.protected.$executeOper
7dd20 61 74 69 6f 6e 73 20 3d 20 74 72 75 65 3b 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 ations.=.true;.......protected.$
7dd40 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 20 3d 20 6e 75 6c 6c 3b 0a 70 72 6f 74 65 63 74 65 updateWhitelist.=.null;.protecte
7dd60 64 20 24 77 68 69 74 65 6c 69 73 74 44 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 66 61 6c 73 65 d.$whitelistDependencies.=.false
7dd80 3b 20 0a 20 70 72 6f 74 65 63 74 65 64 20 24 77 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e ;...protected.$whitelistAllDepen
7dda0 64 65 6e 63 69 65 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 dencies.=.false;.....protected.$
7ddc0 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 3b 0a 0a 0a 0a 0a 70 suggestedPackagesReporter;.....p
7dde0 72 6f 74 65 63 74 65 64 20 24 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 rotected.$additionalInstalledRep
7de00 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ository;...............public.fu
7de20 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 nction.__construct(IOInterface.$
7de40 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 io,.Config.$config,.RootPackageI
7de60 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 nterface.$package,.DownloadManag
7de80 65 72 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2c 20 52 65 70 6f 73 69 74 6f 72 79 4d er.$downloadManager,.RepositoryM
7dea0 61 6e 61 67 65 72 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 2c 20 4c 6f 63 6b 65 anager.$repositoryManager,.Locke
7dec0 72 20 24 6c 6f 63 6b 65 72 2c 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 24 r.$locker,.InstallationManager.$
7dee0 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 45 76 65 6e 74 44 69 73 70 61 74 installationManager,.EventDispat
7df00 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2c 20 41 75 74 6f 6c 6f 61 64 47 cher.$eventDispatcher,.AutoloadG
7df20 65 6e 65 72 61 74 6f 72 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 29 0a 7b 0a 24 enerator.$autoloadGenerator).{.$
7df40 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 this->io.=.$io;.$this->config.=.
7df60 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 $config;.$this->package.=.$packa
7df80 67 65 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 24 64 6f ge;.$this->downloadManager.=.$do
7dfa0 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 wnloadManager;.$this->repository
7dfc0 4d 61 6e 61 67 65 72 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 24 74 Manager.=.$repositoryManager;.$t
7dfe0 68 69 73 2d 3e 6c 6f 63 6b 65 72 20 3d 20 24 6c 6f 63 6b 65 72 3b 0a 24 74 68 69 73 2d 3e 69 6e his->locker.=.$locker;.$this->in
7e000 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 3d 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f stallationManager.=.$installatio
7e020 6e 4d 61 6e 61 67 65 72 3b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 nManager;.$this->eventDispatcher
7e040 20 3d 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 24 74 68 69 73 2d 3e 61 75 74 6f .=.$eventDispatcher;.$this->auto
7e060 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 20 3d 20 24 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 loadGenerator.=.$autoloadGenerat
7e080 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e or;.}........public.function.run
7e0a0 28 29 0a 7b 0a 0a 20 0a 20 0a 20 0a 20 67 63 5f 63 6f 6c 6c 65 63 74 5f 63 79 63 6c 65 73 28 29 ().{.........gc_collect_cycles()
7e0c0 3b 0a 67 63 5f 64 69 73 61 62 6c 65 28 29 3b 0a 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 75 ;.gc_disable();....if.(!$this->u
7e0e0 70 64 61 74 65 20 26 26 20 21 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 4c 6f 63 6b 65 pdate.&&.!$this->locker->isLocke
7e100 64 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a d()).{.$this->update.=.true;.}..
7e120 69 66 20 28 24 74 68 69 73 2d 3e 64 72 79 52 75 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 76 65 72 62 if.($this->dryRun).{.$this->verb
7e140 6f 73 65 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 20 3d 20 ose.=.true;.$this->runScripts.=.
7e160 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 20 false;.$this->executeOperations.
7e180 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 4c 6f 63 6b 20 3d 20 66 61 6c 73 =.false;.$this->writeLock.=.fals
7e1a0 65 3b 0a 24 74 68 69 73 2d 3e 64 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 66 61 6c 73 65 e;.$this->dumpAutoloader.=.false
7e1c0 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 61 64 ;.$this->installationManager->ad
7e1e0 64 49 6e 73 74 61 6c 6c 65 72 28 6e 65 77 20 4e 6f 6f 70 49 6e 73 74 61 6c 6c 65 72 29 3b 0a 24 dInstaller(new.NoopInstaller);.$
7e200 74 68 69 73 2d 3e 6d 6f 63 6b 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 69 65 73 28 24 74 68 69 this->mockLocalRepositories($thi
7e220 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 s->repositoryManager);.}..if.($t
7e240 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 29 20 7b 0a 24 64 65 76 4d 6f 64 65 20 3d 20 28 69 his->runScripts).{.$devMode.=.(i
7e260 6e 74 29 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 3b 0a 70 75 74 65 6e 76 28 22 43 4f 4d 50 nt).$this->devMode;.putenv("COMP
7e280 4f 53 45 52 5f 44 45 56 5f 4d 4f 44 45 3d 24 64 65 76 4d 6f 64 65 22 29 3b 0a 0a 0a 20 24 65 76 OSER_DEV_MODE=$devMode");....$ev
7e2a0 65 6e 74 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 3f 20 53 63 72 69 70 74 entName.=.$this->update.?.Script
7e2c0 45 76 65 6e 74 73 3a 3a 50 52 45 5f 55 50 44 41 54 45 5f 43 4d 44 20 3a 20 53 63 72 69 70 74 45 Events::PRE_UPDATE_CMD.:.ScriptE
7e2e0 76 65 6e 74 73 3a 3a 50 52 45 5f 49 4e 53 54 41 4c 4c 5f 43 4d 44 3b 0a 24 74 68 69 73 2d 3e 65 vents::PRE_INSTALL_CMD;.$this->e
7e300 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 24 ventDispatcher->dispatchScript($
7e320 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 3b 0a 7d 0a 0a 24 eventName,.$this->devMode);.}..$
7e340 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 73 65 74 50 72 65 66 65 72 this->downloadManager->setPrefer
7e360 53 6f 75 72 63 65 28 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 6f 75 72 63 65 29 3b 0a 24 74 68 Source($this->preferSource);.$th
7e380 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 73 65 74 50 72 65 66 65 72 44 69 is->downloadManager->setPreferDi
7e3a0 73 74 28 24 74 68 69 73 2d 3e 70 72 65 66 65 72 44 69 73 74 29 3b 0a 0a 0a 20 24 6c 6f 63 61 6c st($this->preferDist);....$local
7e3c0 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 2d Repo.=.$this->repositoryManager-
7e3e0 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 69 66 20 28 24 74 68 69 73 >getLocalRepository();.if.($this
7e400 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 20 3d ->update).{.$platformOverrides.=
7e420 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 .$this->config->get('platform').
7e440 3f 3a 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 6c 61 74 66 6f 72 6d 4f 76 ?:.array();.}.else.{.$platformOv
7e460 65 72 72 69 64 65 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 50 6c 61 74 errides.=.$this->locker->getPlat
7e480 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 28 29 3b 0a 7d 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f formOverrides();.}.$platformRepo
7e4a0 20 3d 20 6e 65 77 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 .=.new.PlatformRepository(array(
7e4c0 29 2c 20 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 3b 0a 24 69 6e 73 74 61 6c 6c ),.$platformOverrides);.$install
7e4e0 65 64 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 65 64 52 edRepo.=.$this->createInstalledR
7e500 65 70 6f 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 3b 0a epo($localRepo,.$platformRepo);.
7e520 0a 24 61 6c 69 61 73 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 6f 6f 74 41 6c 69 61 73 65 .$aliases.=.$this->getRootAliase
7e540 73 28 29 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 s();.$this->aliasPlatformPackage
7e560 73 28 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 0a 69 66 20 s($platformRepo,.$aliases);..if.
7e580 28 21 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 (!$this->suggestedPackagesReport
7e5a0 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 er).{.$this->suggestedPackagesRe
7e5c0 70 6f 72 74 65 72 20 3d 20 6e 65 77 20 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 porter.=.new.SuggestedPackagesRe
7e5e0 70 6f 72 74 65 72 28 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 6c 69 73 74 porter($this->io);.}..try.{.list
7e600 28 24 72 65 73 2c 20 24 64 65 76 50 61 63 6b 61 67 65 73 29 20 3d 20 24 74 68 69 73 2d 3e 64 6f ($res,.$devPackages).=.$this->do
7e620 49 6e 73 74 61 6c 6c 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 Install($localRepo,.$installedRe
7e640 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 69 66 po,.$platformRepo,.$aliases);.if
7e660 20 28 24 72 65 73 20 21 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 7d 0a 7d .($res.!==.0).{.return.$res;.}.}
7e680 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 74 68 .catch.(\Exception.$e).{.if.($th
7e6a0 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 24 74 68 69 73 2d 3e is->executeOperations).{.$this->
7e6c0 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 6e 6f 74 69 66 79 49 6e 73 74 61 installationManager->notifyInsta
7e6e0 6c 6c 73 28 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 69 lls($this->io);.}..throw.$e;.}.i
7e700 66 20 28 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 24 f.($this->executeOperations).{.$
7e720 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 6e 6f 74 69 66 this->installationManager->notif
7e740 79 49 6e 73 74 61 6c 6c 73 28 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 yInstalls($this->io);.}....if.($
7e760 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 26 26 20 21 24 74 68 69 73 2d 3e 73 6b 69 70 53 75 67 this->devMode.&&.!$this->skipSug
7e780 67 65 73 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 gest).{.$this->suggestedPackages
7e7a0 52 65 70 6f 72 74 65 72 2d 3e 6f 75 74 70 75 74 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 Reporter->output($installedRepo)
7e7c0 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 50 ;.}....foreach.($localRepo->getP
7e7e0 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 24 70 ackages().as.$package).{.if.(!$p
7e800 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 ackage.instanceof.CompletePackag
7e820 65 20 7c 7c 20 21 24 70 61 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 20 7b e.||.!$package->isAbandoned()).{
7e840 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 20 3d 20 69 73 5f .continue;.}..$replacement.=.is_
7e860 73 74 72 69 6e 67 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 string($package->getReplacementP
7e880 61 63 6b 61 67 65 28 29 29 0a 3f 20 27 55 73 65 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 ackage()).?.'Use.'...$package->g
7e8a0 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 20 2e 20 27 20 69 6e 73 74 65 etReplacementPackage()...'.inste
7e8c0 61 64 27 0a 3a 20 27 4e 6f 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 77 61 73 20 73 75 67 67 65 73 ad'.:.'No.replacement.was.sugges
7e8e0 74 65 64 27 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 73 70 ted';..$this->io->writeError(.sp
7e900 72 69 6e 74 66 28 0a 22 3c 77 61 72 6e 69 6e 67 3e 50 61 63 6b 61 67 65 20 25 73 20 69 73 20 61 rintf(."<warning>Package.%s.is.a
7e920 62 61 6e 64 6f 6e 65 64 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 61 76 6f 69 64 20 75 73 69 6e 67 bandoned,.you.should.avoid.using
7e940 20 69 74 2e 20 25 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 22 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 .it..%s.</warning>",.$package->g
7e960 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 0a 29 0a 29 etPrettyName(),.$replacement.).)
7e980 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 26 26 20 24 74 68 69 ;.}....if.($this->update.&&.$thi
7e9a0 73 2d 3e 77 72 69 74 65 4c 6f 63 6b 29 20 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 72 65 6c 6f s->writeLock).{.$localRepo->relo
7e9c0 61 64 28 29 3b 0a 0a 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 ad();..$platformReqs.=.$this->ex
7e9e0 74 72 61 63 74 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 74 68 69 73 2d tractPlatformRequirements($this-
7ea00 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 3b 0a 24 70 6c 61 74 66 >package->getRequires());.$platf
7ea20 6f 72 6d 44 65 76 52 65 71 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 50 6c 61 74 66 ormDevReqs.=.$this->extractPlatf
7ea40 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e ormRequirements($this->package->
7ea60 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 3b 0a 0a 24 75 70 64 61 74 65 64 4c 6f 63 6b getDevRequires());..$updatedLock
7ea80 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 73 65 74 4c 6f 63 6b 44 61 74 61 28 0a 61 .=.$this->locker->setLockData(.a
7eaa0 72 72 61 79 5f 64 69 66 66 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 rray_diff($localRepo->getCanonic
7eac0 61 6c 50 61 63 6b 61 67 65 73 28 29 2c 20 24 64 65 76 50 61 63 6b 61 67 65 73 29 2c 0a 24 64 65 alPackages(),.$devPackages),.$de
7eae0 76 50 61 63 6b 61 67 65 73 2c 0a 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 2c 0a 24 70 6c 61 74 66 vPackages,.$platformReqs,.$platf
7eb00 6f 72 6d 44 65 76 52 65 71 73 2c 0a 24 61 6c 69 61 73 65 73 2c 0a 24 74 68 69 73 2d 3e 70 61 63 ormDevReqs,.$aliases,.$this->pac
7eb20 6b 61 67 65 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 2c 0a 24 74 68 kage->getMinimumStability(),.$th
7eb40 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 is->package->getStabilityFlags()
7eb60 2c 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 62 6c 65 20 7c 7c 20 24 74 68 69 73 2d 3e ,.$this->preferStable.||.$this->
7eb80 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 2c 0a 24 74 68 69 package->getPreferStable(),.$thi
7eba0 73 2d 3e 70 72 65 66 65 72 4c 6f 77 65 73 74 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e s->preferLowest,.$this->config->
7ebc0 67 65 74 28 27 70 6c 61 74 66 6f 72 6d 27 29 20 3f 3a 20 61 72 72 61 79 28 29 0a 29 3b 0a 69 66 get('platform').?:.array().);.if
7ebe0 20 28 24 75 70 64 61 74 65 64 4c 6f 63 6b 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 .($updatedLock).{.$this->io->wri
7ec00 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 57 72 69 74 69 6e 67 20 6c 6f 63 6b 20 66 69 6c 65 teError('<info>Writing.lock.file
7ec20 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 75 6d 70 41 </info>');.}.}..if.($this->dumpA
7ec40 75 74 6f 6c 6f 61 64 65 72 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 6f 70 74 69 6d 69 utoloader).{...if.($this->optimi
7ec60 7a 65 41 75 74 6f 6c 6f 61 64 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 zeAutoloader).{.$this->io->write
7ec80 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 47 65 6e 65 72 61 74 69 6e 67 20 6f 70 74 69 6d 69 7a 65 Error('<info>Generating.optimize
7eca0 64 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c 65 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 7d 20 65 6c 73 d.autoload.files</info>');.}.els
7ecc0 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f e.{.$this->io->writeError('<info
7ece0 3e 47 65 6e 65 72 61 74 69 6e 67 20 61 75 74 6f 6c 6f 61 64 20 66 69 6c 65 73 3c 2f 69 6e 66 6f >Generating.autoload.files</info
7ed00 3e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 >');.}..$this->autoloadGenerator
7ed20 2d 3e 73 65 74 44 65 76 4d 6f 64 65 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 3b 0a 24 74 ->setDevMode($this->devMode);.$t
7ed40 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 43 6c 61 73 73 his->autoloadGenerator->setClass
7ed60 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 MapAuthoritative($this->classMap
7ed80 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 Authoritative);.$this->autoloadG
7eda0 65 6e 65 72 61 74 6f 72 2d 3e 73 65 74 41 70 63 75 28 24 74 68 69 73 2d 3e 61 70 63 75 41 75 74 enerator->setApcu($this->apcuAut
7edc0 6f 6c 6f 61 64 65 72 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 oloader);.$this->autoloadGenerat
7ede0 6f 72 2d 3e 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 or->setRunScripts($this->runScri
7ee00 70 74 73 29 3b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 2d 3e pts);.$this->autoloadGenerator->
7ee20 64 75 6d 70 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 dump($this->config,.$localRepo,.
7ee40 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2c 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 $this->package,.$this->installat
7ee60 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 27 63 6f 6d 70 6f 73 65 72 27 2c 20 24 74 68 69 73 2d 3e 6f ionManager,.'composer',.$this->o
7ee80 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 ptimizeAutoloader);.}..if.($this
7eea0 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 ->executeOperations).{...foreach
7eec0 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 .($localRepo->getPackages().as.$
7eee0 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 package).{.$this->installationMa
7ef00 6e 61 67 65 72 2d 3e 65 6e 73 75 72 65 42 69 6e 61 72 69 65 73 50 72 65 73 65 6e 63 65 28 24 70 nager->ensureBinariesPresence($p
7ef20 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 74 68 69 73 2d 3e ackage);.}..$vendorDir.=.$this->
7ef40 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 3b 0a 69 66 20 28 69 config->get('vendor-dir');.if.(i
7ef60 73 5f 64 69 72 28 24 76 65 6e 64 6f 72 44 69 72 29 29 20 7b 0a 0a 20 0a 20 40 74 6f 75 63 68 28 s_dir($vendorDir)).{.....@touch(
7ef80 24 76 65 6e 64 6f 72 44 69 72 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 75 6e $vendorDir);.}.}..if.($this->run
7efa0 53 63 72 69 70 74 73 29 20 7b 0a 0a 20 24 65 76 65 6e 74 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d Scripts).{...$eventName.=.$this-
7efc0 3e 75 70 64 61 74 65 20 3f 20 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 55 50 44 >update.?.ScriptEvents::POST_UPD
7efe0 41 54 45 5f 43 4d 44 20 3a 20 53 63 72 69 70 74 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 49 4e 53 ATE_CMD.:.ScriptEvents::POST_INS
7f000 54 41 4c 4c 5f 43 4d 44 3b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 TALL_CMD;.$this->eventDispatcher
7f020 2d 3e 64 69 73 70 61 74 63 68 53 63 72 69 70 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 74 68 ->dispatchScript($eventName,.$th
7f040 69 73 2d 3e 64 65 76 4d 6f 64 65 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 64 65 66 69 6e 65 64 28 is->devMode);.}....if.(!defined(
7f060 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 67 63 5f 65 6e 61 62 6c 65 28 29 3b 0a 'HHVM_VERSION')).{.gc_enable();.
7f080 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 }..return.0;.}.........protected
7f0a0 20 66 75 6e 63 74 69 6f 6e 20 64 6f 49 6e 73 74 61 6c 6c 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 .function.doInstall($localRepo,.
7f0c0 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 20 24 $installedRepo,.$platformRepo,.$
7f0e0 61 6c 69 61 73 65 73 29 0a 7b 0a 0a 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 20 3d aliases).{...$lockedRepository.=
7f100 20 6e 75 6c 6c 3b 0a 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 .null;.$repositories.=.null;....
7f120 0a 20 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 7c 7c 20 28 21 65 6d 70 74 ....if.(!$this->update.||.(!empt
7f140 79 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 29 20 26 26 20 24 74 68 y($this->updateWhitelist).&&.$th
7f160 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 29 29 20 7b 0a 74 72 79 20 7b is->locker->isLocked())).{.try.{
7f180 0a 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b .$lockedRepository.=.$this->lock
7f1a0 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 2d 3e 64 er->getLockedRepository($this->d
7f1c0 65 76 4d 6f 64 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 evMode);.}.catch.(\RuntimeExcept
7f1e0 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e ion.$e).{...if.($this->package->
7f200 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a getDevRequires()).{.throw.$e;.}.
7f220 0a 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 ..$lockedRepository.=.$this->loc
7f240 6b 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 7d 0a 7d 0a ker->getLockedRepository();.}.}.
7f260 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 55 70 64 61 74 65 44 65 70 65 6e 64 65 6e 63 .$this->whitelistUpdateDependenc
7f280 69 65 73 28 0a 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 20 3f 3a 20 24 6c 6f 63 61 6c ies(.$lockedRepository.?:.$local
7f2a0 52 65 70 6f 2c 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 Repo,.$this->package->getRequire
7f2c0 73 28 29 2c 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 s(),.$this->package->getDevRequi
7f2e0 72 65 73 28 29 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 res().);..$this->io->writeError(
7f300 27 3c 69 6e 66 6f 3e 4c 6f 61 64 69 6e 67 20 63 6f 6d 70 6f 73 65 72 20 72 65 70 6f 73 69 74 6f '<info>Loading.composer.reposito
7f320 72 69 65 73 20 77 69 74 68 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3c 2f 69 ries.with.package.information</i
7f340 6e 66 6f 3e 27 29 3b 0a 0a 0a 20 24 70 6f 6c 69 63 79 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 nfo>');....$policy.=.$this->crea
7f360 74 65 50 6f 6c 69 63 79 28 29 3b 0a 24 70 6f 6f 6c 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 tePolicy();.$pool.=.$this->creat
7f380 65 50 6f 6f 6c 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 3f 20 6e 75 6c 6c 20 3a 20 24 6c 6f ePool($this->update.?.null.:.$lo
7f3a0 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 ckedRepository);.$pool->addRepos
7f3c0 69 74 6f 72 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 3b itory($installedRepo,.$aliases);
7f3e0 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 72 65 70 6f 73 69 74 6f 72 .if.($this->update).{.$repositor
7f400 69 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 2d 3e ies.=.$this->repositoryManager->
7f420 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 getRepositories();.foreach.($rep
7f440 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 70 6f 6f ositories.as.$repository).{.$poo
7f460 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 24 61 l->addRepository($repository,.$a
7f480 6c 69 61 73 65 73 29 3b 0a 7d 0a 7d 0a 0a 20 0a 20 0a 20 69 66 20 28 24 6c 6f 63 6b 65 64 52 65 liases);.}.}.......if.($lockedRe
7f4a0 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 pository).{.$pool->addRepository
7f4c0 28 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 7d ($lockedRepository,.$aliases);.}
7f4e0 0a 0a 0a 20 24 72 65 71 75 65 73 74 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 65 71 75 ....$request.=.$this->createRequ
7f500 65 73 74 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 est($this->package,.$platformRep
7f520 6f 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 0a 20 24 72 65 6d o);..if.($this->update).{...$rem
7f540 6f 76 65 64 55 6e 73 74 61 62 6c 65 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ovedUnstablePackages.=.array();.
7f560 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 foreach.($localRepo->getPackages
7f580 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 0a 21 24 70 6f 6f 6c 2d 3e 69 ().as.$package).{.if.(.!$pool->i
7f5a0 73 50 61 63 6b 61 67 65 41 63 63 65 70 74 61 62 6c 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 sPackageAcceptable($package->get
7f5c0 4e 61 6d 65 73 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 28 Names(),.$package->getStability(
7f5e0 29 29 0a 26 26 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 )).&&.$this->installationManager
7f600 2d 3e 69 73 50 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 64 28 24 6c 6f 63 61 6c 52 65 70 6f 2c ->isPackageInstalled($localRepo,
7f620 20 24 70 61 63 6b 61 67 65 29 0a 29 20 7b 0a 24 72 65 6d 6f 76 65 64 55 6e 73 74 61 62 6c 65 50 .$package).).{.$removedUnstableP
7f640 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 74 ackages[$package->getName()].=.t
7f660 72 75 65 3b 0a 24 72 65 71 75 65 73 74 2d 3e 72 65 6d 6f 76 65 28 24 70 61 63 6b 61 67 65 2d 3e rue;.$request->remove($package->
7f680 67 65 74 4e 61 6d 65 28 29 2c 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 getName(),.new.Constraint('=',.$
7f6a0 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 29 3b 0a 7d 0a 7d 0a 0a 24 74 package->getVersion()));.}.}..$t
7f6c0 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 55 70 64 61 74 his->io->writeError('<info>Updat
7f6e0 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2e 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 ing.dependencies'.($this->devMod
7f700 65 20 3f 20 27 20 28 69 6e 63 6c 75 64 69 6e 67 20 72 65 71 75 69 72 65 2d 64 65 76 29 27 20 3a e.?.'.(including.require-dev)'.:
7f720 20 27 27 29 2e 27 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 24 72 65 71 75 65 73 74 2d 3e 75 70 64 61 .'').'</info>');..$request->upda
7f740 74 65 41 6c 6c 28 29 3b 0a 0a 24 6c 69 6e 6b 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 teAll();..$links.=.array_merge($
7f760 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 20 24 74 this->package->getRequires(),.$t
7f780 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 3b his->package->getDevRequires());
7f7a0 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 72 ..foreach.($links.as.$link).{.$r
7f7c0 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 equest->install($link->getTarget
7f7e0 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 7d 0a 0a (),.$link->getConstraint());.}..
7f800 0a 20 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 29 20 ....if.($this->updateWhitelist).
7f820 7b 0a 24 63 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 {.$currentPackages.=.$this->getC
7f840 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 3b 0a urrentPackages($installedRepo);.
7f860 0a 0a 20 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 ...$candidates.=.array();.foreac
7f880 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 h.($links.as.$link).{.$candidate
7f8a0 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 74 72 75 65 3b 0a 24 72 s[$link->getTarget()].=.true;.$r
7f8c0 6f 6f 74 52 65 71 75 69 72 65 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 ootRequires[$link->getTarget()].
7f8e0 3d 20 24 6c 69 6e 6b 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 63 75 72 72 65 6e 74 50 61 63 6b =.$link;.}.foreach.($currentPack
7f900 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 5b ages.as.$package).{.$candidates[
7f920 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a $package->getName()].=.true;.}..
7f940 0a 20 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 63 61 6e 64 69 ..foreach.($candidates.as.$candi
7f960 64 61 74 65 20 3d 3e 20 24 64 75 6d 6d 79 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 75 72 72 date.=>.$dummy).{.foreach.($curr
7f980 65 6e 74 50 61 63 6b 61 67 65 73 20 61 73 20 24 63 75 72 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 entPackages.as.$curPackage).{.if
7f9a0 20 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 63 61 .($curPackage->getName().===.$ca
7f9c0 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 55 70 64 61 74 65 61 ndidate).{.if.(!$this->isUpdatea
7f9e0 62 6c 65 28 24 63 75 72 50 61 63 6b 61 67 65 29 20 26 26 20 21 69 73 73 65 74 28 24 72 65 6d 6f ble($curPackage).&&.!isset($remo
7fa00 76 65 64 55 6e 73 74 61 62 6c 65 50 61 63 6b 61 67 65 73 5b 24 63 75 72 50 61 63 6b 61 67 65 2d vedUnstablePackages[$curPackage-
7fa20 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 >getName()])).{.$constraint.=.ne
7fa40 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 w.Constraint('=',.$curPackage->g
7fa60 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 74 68 etVersion());.$description.=.$th
7fa80 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 4c 6f 63 6b 65 64 28 29 20 3f 20 27 28 6c 6f 63 6b 65 is->locker->isLocked().?.'(locke
7faa0 64 20 61 74 27 20 3a 20 27 28 69 6e 73 74 61 6c 6c 65 64 20 61 74 27 3b 0a 24 72 65 71 75 69 72 d.at'.:.'(installed.at';.$requir
7fac0 65 64 41 74 20 3d 20 69 73 73 65 74 28 24 72 6f 6f 74 52 65 71 75 69 72 65 73 5b 24 63 61 6e 64 edAt.=.isset($rootRequires[$cand
7fae0 69 64 61 74 65 5d 29 20 3f 20 27 2c 20 72 65 71 75 69 72 65 64 20 61 73 20 27 20 2e 20 24 72 6f idate]).?.',.required.as.'...$ro
7fb00 6f 74 52 65 71 75 69 72 65 73 5b 24 63 61 6e 64 69 64 61 74 65 5d 2d 3e 67 65 74 50 72 65 74 74 otRequires[$candidate]->getPrett
7fb20 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 20 3a 20 27 27 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d yConstraint().:.'';.$constraint-
7fb40 3e 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 64 65 73 63 72 69 70 74 69 6f 6e 20 2e 20 >setPrettyString($description...
7fb60 27 20 27 20 2e 20 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 '.'...$curPackage->getPrettyVers
7fb80 69 6f 6e 28 29 20 2e 20 24 72 65 71 75 69 72 65 64 41 74 20 2e 20 27 29 27 29 3b 0a 24 72 65 71 ion()...$requiredAt...')');.$req
7fba0 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 uest->install($curPackage->getNa
7fbc0 6d 65 28 29 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 7d me(),.$constraint);.}.break;.}.}
7fbe0 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 .}.}.}.else.{.$this->io->writeEr
7fc00 72 6f 72 28 27 3c 69 6e 66 6f 3e 49 6e 73 74 61 6c 6c 69 6e 67 20 64 65 70 65 6e 64 65 6e 63 69 ror('<info>Installing.dependenci
7fc20 65 73 27 2e 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 3f 20 27 20 28 69 6e 63 6c 75 64 69 es'.($this->devMode.?.'.(includi
7fc40 6e 67 20 72 65 71 75 69 72 65 2d 64 65 76 29 27 20 3a 20 27 27 29 2e 27 20 66 72 6f 6d 20 6c 6f ng.require-dev)'.:.'').'.from.lo
7fc60 63 6b 20 66 69 6c 65 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c ck.file</info>');..if.(!$this->l
7fc80 6f 63 6b 65 72 2d 3e 69 73 46 72 65 73 68 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 ocker->isFresh()).{.$this->io->w
7fca0 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 57 61 72 6e 69 6e 67 3a 20 54 68 65 riteError('<warning>Warning:.The
7fcc0 20 6c 6f 63 6b 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 75 70 20 74 6f 20 64 61 74 65 20 77 69 74 .lock.file.is.not.up.to.date.wit
7fce0 68 20 74 68 65 20 6c 61 74 65 73 74 20 63 68 61 6e 67 65 73 20 69 6e 20 63 6f 6d 70 6f 73 65 72 h.the.latest.changes.in.composer
7fd00 2e 6a 73 6f 6e 2e 20 59 6f 75 20 6d 61 79 20 62 65 20 67 65 74 74 69 6e 67 20 6f 75 74 64 61 74 .json..You.may.be.getting.outdat
7fd20 65 64 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2e 20 52 75 6e 20 75 70 64 61 74 65 20 74 6f 20 75 ed.dependencies..Run.update.to.u
7fd40 70 64 61 74 65 20 74 68 65 6d 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f pdate.them.</warning>',.true,.IO
7fd60 49 6e 74 65 72 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 Interface::QUIET);.}..foreach.($
7fd80 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 lockedRepository->getPackages().
7fda0 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 as.$package).{.$version.=.$packa
7fdc0 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 6c 69 ge->getVersion();.if.(isset($ali
7fde0 61 73 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 76 65 72 73 69 ases[$package->getName()][$versi
7fe00 6f 6e 5d 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 61 6c 69 61 73 65 73 5b 24 70 61 63 on])).{.$version.=.$aliases[$pac
7fe20 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 76 65 72 73 69 6f 6e 5d 5b 27 61 6c 69 61 kage->getName()][$version]['alia
7fe40 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 3b 0a 7d 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 s_normalized'];.}.$constraint.=.
7fe60 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 24 new.Constraint('=',.$version);.$
7fe80 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 61 63 constraint->setPrettyString($pac
7fea0 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 29 3b 0a 24 72 65 71 75 kage->getPrettyVersion());.$requ
7fec0 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 est->install($package->getName()
7fee0 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 ,.$constraint);.}..foreach.($thi
7ff00 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e s->locker->getPlatformRequiremen
7ff20 74 73 28 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 ts($this->devMode).as.$link).{.$
7ff40 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 request->install($link->getTarge
7ff60 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 7d 0a t(),.$link->getConstraint());.}.
7ff80 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 44 65 76 50 61 63 6b 61 67 65 73 28 24 }....$this->processDevPackages($
7ffa0 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6f 6f 6c 2c 20 24 70 6f 6c 69 63 79 2c 20 24 72 65 70 6f localRepo,.$pool,.$policy,.$repo
7ffc0 73 69 74 6f 72 69 65 73 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 6c 6f 63 6b 65 sitories,.$installedRepo,.$locke
7ffe0 64 52 65 70 6f 73 69 74 6f 72 79 2c 20 27 66 6f 72 63 65 2d 6c 69 6e 6b 73 27 29 3b 0a 0a 0a 20 dRepository,.'force-links');....
80000 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 $this->eventDispatcher->dispatch
80020 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 28 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 73 3a 3a InstallerEvent(InstallerEvents::
80040 50 52 45 5f 44 45 50 45 4e 44 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e 47 2c 20 24 74 68 69 73 2d PRE_DEPENDENCIES_SOLVING,.$this-
80060 3e 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 >devMode,.$policy,.$pool,.$insta
80080 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 29 3b 0a 24 73 6f 6c 76 65 72 20 3d 20 6e lledRepo,.$request);.$solver.=.n
800a0 65 77 20 53 6f 6c 76 65 72 28 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 ew.Solver($policy,.$pool,.$insta
800c0 6c 6c 65 64 52 65 70 6f 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 74 72 79 20 7b 0a 24 6f 70 65 lledRepo,.$this->io);.try.{.$ope
800e0 72 61 74 69 6f 6e 73 20 3d 20 24 73 6f 6c 76 65 72 2d 3e 73 6f 6c 76 65 28 24 72 65 71 75 65 73 rations.=.$solver->solve($reques
80100 74 2c 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 24 t,.$this->ignorePlatformReqs);.$
80120 72 75 6c 65 53 65 74 53 69 7a 65 20 3d 20 24 73 6f 6c 76 65 72 2d 3e 67 65 74 52 75 6c 65 53 65 ruleSetSize.=.$solver->getRuleSe
80140 74 53 69 7a 65 28 29 3b 0a 24 73 6f 6c 76 65 72 20 3d 20 6e 75 6c 6c 3b 0a 7d 20 63 61 74 63 68 tSize();.$solver.=.null;.}.catch
80160 20 28 53 6f 6c 76 65 72 50 72 6f 62 6c 65 6d 73 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a .(SolverProblemsException.$e).{.
80180 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 59 6f $this->io->writeError('<error>Yo
801a0 75 72 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 72 65 73 ur.requirements.could.not.be.res
801c0 6f 6c 76 65 64 20 74 6f 20 61 6e 20 69 6e 73 74 61 6c 6c 61 62 6c 65 20 73 65 74 20 6f 66 20 70 olved.to.an.installable.set.of.p
801e0 61 63 6b 61 67 65 73 2e 3c 2f 65 72 72 6f 72 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 ackages.</error>',.true,.IOInter
80200 66 61 63 65 3a 3a 51 55 49 45 54 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 face::QUIET);.$this->io->writeEr
80220 72 6f 72 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 69 66 20 28 24 74 68 69 73 ror($e->getMessage());.if.($this
80240 2d 3e 75 70 64 61 74 65 20 26 26 20 21 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 29 20 7b 0a 24 ->update.&&.!$this->devMode).{.$
80260 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 52 this->io->writeError('<warning>R
80280 75 6e 6e 69 6e 67 20 75 70 64 61 74 65 20 77 69 74 68 20 2d 2d 6e 6f 2d 64 65 76 20 64 6f 65 73 unning.update.with.--no-dev.does
802a0 20 6e 6f 74 20 6d 65 61 6e 20 72 65 71 75 69 72 65 2d 64 65 76 20 69 73 20 69 67 6e 6f 72 65 64 .not.mean.require-dev.is.ignored
802c0 2c 20 69 74 20 6a 75 73 74 20 6d 65 61 6e 73 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 77 69 6c ,.it.just.means.the.packages.wil
802e0 6c 20 6e 6f 74 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 2e 20 49 66 20 64 65 76 20 72 65 71 75 69 l.not.be.installed..If.dev.requi
80300 72 65 6d 65 6e 74 73 20 61 72 65 20 62 6c 6f 63 6b 69 6e 67 20 74 68 65 20 75 70 64 61 74 65 20 rements.are.blocking.the.update.
80320 79 6f 75 20 68 61 76 65 20 74 6f 20 72 65 73 6f 6c 76 65 20 74 68 6f 73 65 20 70 72 6f 62 6c 65 you.have.to.resolve.those.proble
80340 6d 73 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 ms.</warning>',.true,.IOInterfac
80360 65 3a 3a 51 55 49 45 54 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 6d 61 78 28 31 e::QUIET);.}..return.array(max(1
80380 2c 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 29 2c 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 0a 0a ,.$e->getCode()),.array());.}...
803a0 20 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 44 65 76 .$operations.=.$this->processDev
803c0 50 61 63 6b 61 67 65 73 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6f 6f 6c 2c 20 24 70 6f 6c Packages($localRepo,.$pool,.$pol
803e0 69 63 79 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 icy,.$repositories,.$installedRe
80400 70 6f 2c 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2c 20 27 66 6f 72 63 65 2d 75 70 po,.$lockedRepository,.'force-up
80420 64 61 74 65 73 27 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 65 76 dates',.$operations);..$this->ev
80440 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 49 6e 73 74 61 6c 6c 65 72 entDispatcher->dispatchInstaller
80460 45 76 65 6e 74 28 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 44 45 50 45 Event(InstallerEvents::POST_DEPE
80480 4e 44 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e 47 2c 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 NDENCIES_SOLVING,.$this->devMode
804a0 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f ,.$policy,.$pool,.$installedRepo
804c0 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 ,.$request,.$operations);..$this
804e0 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 41 6e 61 6c 79 7a 65 64 20 22 2e 63 6f 75 ->io->writeError("Analyzed.".cou
80500 6e 74 28 24 70 6f 6f 6c 29 2e 22 20 70 61 63 6b 61 67 65 73 20 74 6f 20 72 65 73 6f 6c 76 65 20 nt($pool).".packages.to.resolve.
80520 64 65 70 65 6e 64 65 6e 63 69 65 73 22 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 dependencies",.true,.IOInterface
80540 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f ::VERBOSE);.$this->io->writeErro
80560 72 28 22 41 6e 61 6c 79 7a 65 64 20 22 2e 24 72 75 6c 65 53 65 74 53 69 7a 65 2e 22 20 72 75 6c r("Analyzed.".$ruleSetSize.".rul
80580 65 73 20 74 6f 20 72 65 73 6f 6c 76 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 22 2c 20 74 72 75 es.to.resolve.dependencies",.tru
805a0 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 0a 20 69 66 20 e,.IOInterface::VERBOSE);....if.
805c0 28 21 24 6f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 (!$operations).{.$this->io->writ
805e0 65 45 72 72 6f 72 28 27 4e 6f 74 68 69 6e 67 20 74 6f 20 69 6e 73 74 61 6c 6c 20 6f 72 20 75 70 eError('Nothing.to.install.or.up
80600 64 61 74 65 27 29 3b 0a 7d 0a 0a 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e date');.}..$operations.=.$this->
80620 6d 6f 76 65 50 6c 75 67 69 6e 73 54 6f 46 72 6f 6e 74 28 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b movePluginsToFront($operations);
80640 0a 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 6d 6f 76 65 55 6e 69 6e 73 74 .$operations.=.$this->moveUninst
80660 61 6c 6c 73 54 6f 46 72 6f 6e 74 28 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 0a 0a 20 0a 20 69 allsToFront($operations);......i
80680 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 64 65 76 50 61 63 6b 61 67 65 73 f.($this->update).{.$devPackages
806a0 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 44 65 76 50 61 63 6b 61 67 65 73 28 24 6f 70 .=.$this->extractDevPackages($op
806c0 65 72 61 74 69 6f 6e 73 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 6d 52 erations,.$localRepo,.$platformR
806e0 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 76 4d epo,.$aliases);.if.(!$this->devM
80700 6f 64 65 29 20 7b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 74 ode).{.$operations.=.$this->filt
80720 65 72 44 65 76 50 61 63 6b 61 67 65 4f 70 65 72 61 74 69 6f 6e 73 28 24 64 65 76 50 61 63 6b 61 erDevPackageOperations($devPacka
80740 67 65 73 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 29 3b 0a 7d ges,.$operations,.$localRepo);.}
80760 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 76 50 61 63 6b 61 67 65 73 20 3d 20 6e 75 6c 6c 3b 0a 7d .}.else.{.$devPackages.=.null;.}
80780 0a 0a 69 66 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 73 20 3d ..if.($operations).{.$installs.=
807a0 20 24 75 70 64 61 74 65 73 20 3d 20 24 75 6e 69 6e 73 74 61 6c 6c 73 20 3d 20 61 72 72 61 79 28 .$updates.=.$uninstalls.=.array(
807c0 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20 24 6f 70 65 72 );.foreach.($operations.as.$oper
807e0 61 74 69 6f 6e 29 20 7b 0a 69 66 20 28 24 6f 70 65 72 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 ation).{.if.($operation.instance
80800 6f 66 20 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 73 of.InstallOperation).{.$installs
80820 5b 5d 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 [].=.$operation->getPackage()->g
80840 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 3a 27 2e 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 etPrettyName().':'.$operation->g
80860 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f etPackage()->getFullPrettyVersio
80880 6e 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6f 70 65 72 61 74 69 6f 6e 20 69 6e 73 74 61 6e n();.}.elseif.($operation.instan
808a0 63 65 6f 66 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 75 70 64 61 74 65 73 ceof.UpdateOperation).{.$updates
808c0 5b 5d 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 [].=.$operation->getTargetPackag
808e0 65 28 29 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 3a 27 2e 24 6f 70 65 72 61 74 e()->getPrettyName().':'.$operat
80900 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 46 75 6c 6c ion->getTargetPackage()->getFull
80920 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6f 70 65 72 PrettyVersion();.}.elseif.($oper
80940 61 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 ation.instanceof.UninstallOperat
80960 69 6f 6e 29 20 7b 0a 24 75 6e 69 6e 73 74 61 6c 6c 73 5b 5d 20 3d 20 24 6f 70 65 72 61 74 69 6f ion).{.$uninstalls[].=.$operatio
80980 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 n->getPackage()->getPrettyName()
809a0 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 ;.}.}..$this->io->writeError(spr
809c0 69 6e 74 66 28 0a 22 3c 69 6e 66 6f 3e 50 61 63 6b 61 67 65 20 6f 70 65 72 61 74 69 6f 6e 73 3a intf(."<info>Package.operations:
809e0 20 25 64 20 69 6e 73 74 61 6c 6c 25 73 2c 20 25 64 20 75 70 64 61 74 65 25 73 2c 20 25 64 20 72 .%d.install%s,.%d.update%s,.%d.r
80a00 65 6d 6f 76 61 6c 25 73 3c 2f 69 6e 66 6f 3e 22 2c 0a 63 6f 75 6e 74 28 24 69 6e 73 74 61 6c 6c emoval%s</info>",.count($install
80a20 73 29 2c 0a 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 69 6e 73 74 61 6c 6c 73 29 20 3f 20 27 27 20 s),.1.===.count($installs).?.''.
80a40 3a 20 27 73 27 2c 0a 63 6f 75 6e 74 28 24 75 70 64 61 74 65 73 29 2c 0a 31 20 3d 3d 3d 20 63 6f :.'s',.count($updates),.1.===.co
80a60 75 6e 74 28 24 75 70 64 61 74 65 73 29 20 3f 20 27 27 20 3a 20 27 73 27 2c 0a 63 6f 75 6e 74 28 unt($updates).?.''.:.'s',.count(
80a80 24 75 6e 69 6e 73 74 61 6c 6c 73 29 2c 0a 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 75 6e 69 6e 73 $uninstalls),.1.===.count($unins
80aa0 74 61 6c 6c 73 29 20 3f 20 27 27 20 3a 20 27 73 27 0a 29 29 3b 0a 69 66 20 28 24 69 6e 73 74 61 talls).?.''.:.'s'.));.if.($insta
80ac0 6c 6c 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 49 6e lls).{.$this->io->writeError("In
80ae0 73 74 61 6c 6c 73 3a 20 22 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 69 6e 73 74 61 6c 6c stalls:.".implode(',.',.$install
80b00 73 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b s),.true,.IOInterface::VERBOSE);
80b20 0a 7d 0a 69 66 20 28 24 75 70 64 61 74 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 .}.if.($updates).{.$this->io->wr
80b40 69 74 65 45 72 72 6f 72 28 22 55 70 64 61 74 65 73 3a 20 22 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 iteError("Updates:.".implode(',.
80b60 27 2c 20 24 75 70 64 61 74 65 73 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a ',.$updates),.true,.IOInterface:
80b80 3a 56 45 52 42 4f 53 45 29 3b 0a 7d 0a 69 66 20 28 24 75 6e 69 6e 73 74 61 6c 6c 73 29 20 7b 0a :VERBOSE);.}.if.($uninstalls).{.
80ba0 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 52 65 6d 6f 76 61 6c 73 3a $this->io->writeError("Removals:
80bc0 20 22 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 75 6e 69 6e 73 74 61 6c 6c 73 29 2c 20 74 .".implode(',.',.$uninstalls),.t
80be0 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 7d 0a 7d 0a rue,.IOInterface::VERBOSE);.}.}.
80c00 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20 24 6f 70 65 72 61 74 .foreach.($operations.as.$operat
80c20 69 6f 6e 29 20 7b 0a 0a 20 24 6a 6f 62 54 79 70 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e ion).{...$jobType.=.$operation->
80c40 67 65 74 4a 6f 62 54 79 70 65 28 29 3b 0a 69 66 20 28 27 69 6e 73 74 61 6c 6c 27 20 3d 3d 3d 20 getJobType();.if.('install'.===.
80c60 24 6a 6f 62 54 79 70 65 29 20 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b $jobType).{.$this->suggestedPack
80c80 61 67 65 73 52 65 70 6f 72 74 65 72 2d 3e 61 64 64 53 75 67 67 65 73 74 69 6f 6e 73 46 72 6f 6d agesReporter->addSuggestionsFrom
80ca0 50 61 63 6b 61 67 65 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 Package($operation->getPackage()
80cc0 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 70 61 );.}....if.($this->update).{.$pa
80ce0 63 6b 61 67 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 27 75 70 64 61 74 65 27 20 3d 3d 3d 20 24 ckage.=.null;.if.('update'.===.$
80d00 6a 6f 62 54 79 70 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e jobType).{.$package.=.$operation
80d20 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 ->getTargetPackage();.}.elseif.(
80d40 27 69 6e 73 74 61 6c 6c 27 20 3d 3d 3d 20 24 6a 6f 62 54 79 70 65 29 20 7b 0a 24 70 61 63 6b 61 'install'.===.$jobType).{.$packa
80d60 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 7d ge.=.$operation->getPackage();.}
80d80 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 .if.($package.&&.$package->isDev
80da0 28 29 29 20 7b 0a 24 72 65 66 65 72 65 6e 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 ()).{.$references.=.$this->packa
80dc0 67 65 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 ge->getReferences();.if.(isset($
80de0 72 65 66 65 72 65 6e 63 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 references[$package->getName()])
80e00 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 49 6e 73 74 61 6c 6c 52 65 66 65 72 65 6e 63 ).{.$this->updateInstallReferenc
80e20 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 72 65 66 65 72 65 6e 63 65 73 5b 24 70 61 63 6b 61 67 es($package,.$references[$packag
80e40 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 27 75 70 64 61 74 65 27 e->getName()]);.}.}.if.('update'
80e60 20 3d 3d 3d 20 24 6a 6f 62 54 79 70 65 29 20 7b 0a 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 20 .===.$jobType).{.$targetPackage.
80e80 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 =.$operation->getTargetPackage()
80ea0 3b 0a 69 66 20 28 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 29 20 7b ;.if.($targetPackage->isDev()).{
80ec0 0a 24 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 .$initialPackage.=.$operation->g
80ee0 65 74 49 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 28 29 3b 0a 69 66 20 28 24 74 61 72 67 65 74 50 etInitialPackage();.if.($targetP
80f00 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 20 3d 3d 3d 20 24 69 6e 69 74 69 61 ackage->getVersion().===.$initia
80f20 6c 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 0a 26 26 20 28 21 24 74 61 72 lPackage->getVersion().&&.(!$tar
80f40 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 getPackage->getSourceReference()
80f60 20 7c 7c 20 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 .||.$targetPackage->getSourceRef
80f80 65 72 65 6e 63 65 28 29 20 3d 3d 3d 20 24 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 2d 3e 67 65 erence().===.$initialPackage->ge
80fa0 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 0a 26 26 20 28 21 24 74 61 72 67 65 74 tSourceReference()).&&.(!$target
80fc0 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 7c 7c 20 24 Package->getDistReference().||.$
80fe0 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 targetPackage->getDistReference(
81000 29 20 3d 3d 3d 20 24 69 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 ).===.$initialPackage->getDistRe
81020 66 65 72 65 6e 63 65 28 29 29 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 ference()).).{.$this->io->writeE
81040 72 72 6f 72 28 27 20 20 2d 20 53 6b 69 70 70 69 6e 67 20 75 70 64 61 74 65 20 6f 66 20 27 20 2e rror('..-.Skipping.update.of.'..
81060 20 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 .$targetPackage->getPrettyName()
81080 20 2e 20 27 20 74 6f 20 74 68 65 20 73 61 6d 65 20 72 65 66 65 72 65 6e 63 65 2d 6c 6f 63 6b 65 ...'.to.the.same.reference-locke
810a0 64 20 76 65 72 73 69 6f 6e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 d.version',.true,.IOInterface::D
810c0 45 42 55 47 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c EBUG);.$this->io->writeError('',
810e0 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 63 6f 6e .true,.IOInterface::DEBUG);..con
81100 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 65 76 65 6e 74 20 3d 20 27 43 6f 6d 70 6f 73 tinue;.}.}.}.}..$event.=.'Compos
81120 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 50 61 63 6b 61 67 65 45 76 65 6e 74 73 3a 3a 50 52 45 5f er\Installer\PackageEvents::PRE_
81140 50 41 43 4b 41 47 45 5f 27 2e 73 74 72 74 6f 75 70 70 65 72 28 24 6a 6f 62 54 79 70 65 29 3b 0a PACKAGE_'.strtoupper($jobType);.
81160 69 66 20 28 64 65 66 69 6e 65 64 28 24 65 76 65 6e 74 29 20 26 26 20 24 74 68 69 73 2d 3e 72 75 if.(defined($event).&&.$this->ru
81180 6e 53 63 72 69 70 74 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 nScripts).{.$this->eventDispatch
811a0 65 72 2d 3e 64 69 73 70 61 74 63 68 50 61 63 6b 61 67 65 45 76 65 6e 74 28 63 6f 6e 73 74 61 6e er->dispatchPackageEvent(constan
811c0 74 28 24 65 76 65 6e 74 29 2c 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 t($event),.$this->devMode,.$poli
811e0 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 cy,.$pool,.$installedRepo,.$requ
81200 65 73 74 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 7d est,.$operations,.$operation);.}
81220 0a 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e ....if.(!$this->executeOperation
81240 73 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 6f 70 65 72 61 74 69 6f 6e s.&&.false.===.strpos($operation
81260 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 2c 20 27 41 6c 69 61 73 27 29 29 20 7b 0a 24 74 68 69 ->getJobType(),.'Alias')).{.$thi
81280 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 2d 20 27 20 2e 20 24 6f 70 65 72 s->io->writeError('..-.'...$oper
812a0 61 74 69 6f 6e 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 ation);.}.elseif.($this->io->isD
812c0 65 62 75 67 28 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6f 70 65 72 ebug().&&.false.!==.strpos($oper
812e0 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 2c 20 27 41 6c 69 61 73 27 29 29 20 7b ation->getJobType(),.'Alias')).{
81300 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 2d 20 27 20 2e 20 .$this->io->writeError('..-.'...
81320 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 $operation);.}..$this->installat
81340 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 65 78 65 63 75 74 65 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 ionManager->execute($localRepo,.
81360 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 76 65 72 62 6f $operation);....if.($this->verbo
81380 73 65 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 se.&&.$this->io->isVeryVerbose()
813a0 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 6a 6f 62 54 79 70 65 2c 20 61 72 72 61 79 28 27 69 6e .&&.in_array($jobType,.array('in
813c0 73 74 61 6c 6c 27 2c 20 27 75 70 64 61 74 65 27 29 29 29 20 7b 0a 24 72 65 61 73 6f 6e 20 3d 20 stall',.'update'))).{.$reason.=.
813e0 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 52 65 61 73 6f 6e 28 29 3b 0a 69 66 20 28 24 72 65 $operation->getReason();.if.($re
81400 61 73 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 75 6c 65 29 20 7b 0a 73 77 69 74 63 68 20 28 ason.instanceof.Rule).{.switch.(
81420 24 72 65 61 73 6f 6e 2d 3e 67 65 74 52 65 61 73 6f 6e 28 29 29 20 7b 0a 63 61 73 65 20 52 75 6c $reason->getReason()).{.case.Rul
81440 65 3a 3a 52 55 4c 45 5f 4a 4f 42 5f 49 4e 53 54 41 4c 4c 3a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e e::RULE_JOB_INSTALL:.$this->io->
81460 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 52 45 41 53 4f 4e 3a 20 52 65 71 75 69 72 65 64 writeError('....REASON:.Required
81480 20 62 79 20 74 68 65 20 72 6f 6f 74 20 70 61 63 6b 61 67 65 3a 20 27 2e 24 72 65 61 73 6f 6e 2d .by.the.root.package:.'.$reason-
814a0 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 6f 6f 6c 29 29 3b 0a 24 74 68 69 73 2d >getPrettyString($pool));.$this-
814c0 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 >io->writeError('');.break;.case
814e0 20 52 75 6c 65 3a 3a 52 55 4c 45 5f 50 41 43 4b 41 47 45 5f 52 45 51 55 49 52 45 53 3a 0a 24 74 .Rule::RULE_PACKAGE_REQUIRES:.$t
81500 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 52 45 41 53 4f 4e 3a his->io->writeError('....REASON:
81520 20 27 2e 24 72 65 61 73 6f 6e 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 6f 6f .'.$reason->getPrettyString($poo
81540 6c 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a l));.$this->io->writeError('');.
81560 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 break;.}.}.}..if.($this->execute
81580 4f 70 65 72 61 74 69 6f 6e 73 20 7c 7c 20 24 74 68 69 73 2d 3e 77 72 69 74 65 4c 6f 63 6b 29 20 Operations.||.$this->writeLock).
815a0 7b 0a 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 77 72 69 74 65 28 29 3b 0a 7d 0a 0a 24 65 76 65 6e 74 {.$localRepo->write();.}..$event
815c0 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 5c 50 61 63 6b 61 67 65 45 76 .=.'Composer\Installer\PackageEv
815e0 65 6e 74 73 3a 3a 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 27 2e 73 74 72 74 6f 75 70 70 65 72 28 ents::POST_PACKAGE_'.strtoupper(
81600 24 6a 6f 62 54 79 70 65 29 3b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 24 65 76 65 6e 74 29 20 26 $jobType);.if.(defined($event).&
81620 26 20 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 74 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 76 &.$this->runScripts).{.$this->ev
81640 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 50 61 63 6b 61 67 65 45 76 entDispatcher->dispatchPackageEv
81660 65 6e 74 28 63 6f 6e 73 74 61 6e 74 28 24 65 76 65 6e 74 29 2c 20 24 74 68 69 73 2d 3e 64 65 76 ent(constant($event),.$this->dev
81680 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 Mode,.$policy,.$pool,.$installed
816a0 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 24 6f 70 Repo,.$request,.$operations,.$op
816c0 65 72 61 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 65 63 75 74 eration);.}.}..if.($this->execut
816e0 65 4f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 eOperations).{...$this->processP
81700 61 63 6b 61 67 65 55 72 6c 73 28 24 70 6f 6f 6c 2c 20 24 70 6f 6c 69 63 79 2c 20 24 6c 6f 63 61 ackageUrls($pool,.$policy,.$loca
81720 6c 52 65 70 6f 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 3b 0a 24 6c 6f 63 61 6c 52 65 70 lRepo,.$repositories);.$localRep
81740 6f 2d 3e 77 72 69 74 65 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 30 2c 20 24 o->write();.}..return.array(0,.$
81760 64 65 76 50 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 devPackages);.}............priva
81780 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 44 65 76 50 61 63 6b 61 67 65 73 28 61 te.function.extractDevPackages(a
817a0 72 72 61 79 20 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 rray.$operations,.RepositoryInte
817c0 72 66 61 63 65 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 rface.$localRepo,.PlatformReposi
817e0 74 6f 72 79 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 20 61 72 72 61 79 20 24 61 6c 69 61 73 tory.$platformRepo,.array.$alias
81800 65 73 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 es).{.if.(!$this->package->getDe
81820 76 52 65 71 75 69 72 65 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d vRequires()).{.return.array();.}
81840 0a 0a 0a 20 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 20 3d 20 63 6c 6f 6e 65 20 24 6c 6f 63 61 ....$tempLocalRepo.=.clone.$loca
81860 6c 52 65 70 6f 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20 24 lRepo;.foreach.($operations.as.$
81880 6f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 73 77 69 74 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 2d operation).{.switch.($operation-
818a0 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 29 20 7b 0a 63 61 73 65 20 27 69 6e 73 74 61 6c 6c 27 3a >getJobType()).{.case.'install':
818c0 0a 63 61 73 65 20 27 6d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 27 3a 0a 69 66 20 28 .case.'markAliasInstalled':.if.(
818e0 21 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 6f 70 65 !$tempLocalRepo->hasPackage($ope
81900 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 29 29 20 7b 0a 24 74 65 6d 70 4c 6f ration->getPackage())).{.$tempLo
81920 63 61 6c 52 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 6f 70 65 72 61 calRepo->addPackage(clone.$opera
81940 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 tion->getPackage());.}.break;..c
81960 61 73 65 20 27 75 6e 69 6e 73 74 61 6c 6c 27 3a 0a 63 61 73 65 20 27 6d 61 72 6b 41 6c 69 61 73 ase.'uninstall':.case.'markAlias
81980 55 6e 69 6e 73 74 61 6c 6c 65 64 27 3a 0a 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 72 65 Uninstalled':.$tempLocalRepo->re
819a0 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 movePackage($operation->getPacka
819c0 67 65 28 29 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 70 64 61 74 65 27 3a 0a 24 74 ge());.break;..case.'update':.$t
819e0 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 6f 70 65 empLocalRepo->removePackage($ope
81a00 72 61 74 69 6f 6e 2d 3e 67 65 74 49 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 28 29 29 3b 0a 69 66 ration->getInitialPackage());.if
81a20 20 28 21 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 6f .(!$tempLocalRepo->hasPackage($o
81a40 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 29 29 20 7b peration->getTargetPackage())).{
81a60 0a 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e .$tempLocalRepo->addPackage(clon
81a80 65 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 29 e.$operation->getTargetPackage()
81aa0 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 20 );.}.break;..default:.throw.new.
81ac0 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e 20 74 79 70 65 3a 20 27 \LogicException('Unknown.type:.'
81ae0 2e 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 29 3b 0a 7d 0a 7d 0a .$operation->getJobType());.}.}.
81b00 0a 0a 20 0a 20 0a 20 24 6c 6f 63 61 6c 52 65 70 6f 20 3d 20 6e 65 77 20 49 6e 73 74 61 6c 6c 65 .......$localRepo.=.new.Installe
81b20 64 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 28 61 72 72 61 79 28 29 29 3b 0a 24 6c 6f 61 64 dArrayRepository(array());.$load
81b40 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 75 6c 6c 2c 20 74 72 75 65 29 er.=.new.ArrayLoader(null,.true)
81b60 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 44 75 6d 70 65 72 28 29 3b 0a 66 ;.$dumper.=.new.ArrayDumper();.f
81b80 6f 72 65 61 63 68 20 28 24 74 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e oreach.($tempLocalRepo->getCanon
81ba0 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 6b 67 29 20 7b 0a 24 6c 6f 63 61 6c icalPackages().as.$pkg).{.$local
81bc0 52 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 Repo->addPackage($loader->load($
81be0 64 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 6b 67 29 29 29 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 dumper->dump($pkg)));.}.unset($t
81c00 65 6d 70 4c 6f 63 61 6c 52 65 70 6f 2c 20 24 6c 6f 61 64 65 72 2c 20 24 64 75 6d 70 65 72 29 3b empLocalRepo,.$loader,.$dumper);
81c20 0a 0a 24 70 6f 6c 69 63 79 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 6f 6c 69 63 79 28 ..$policy.=.$this->createPolicy(
81c40 29 3b 0a 24 70 6f 6f 6c 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 6f 6f 6c 28 29 3b 0a );.$pool.=.$this->createPool();.
81c60 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 49 6e $installedRepo.=.$this->createIn
81c80 73 74 61 6c 6c 65 64 52 65 70 6f 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6c 61 74 66 6f 72 stalledRepo($localRepo,.$platfor
81ca0 6d 52 65 70 6f 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 69 6e mRepo);.$pool->addRepository($in
81cc0 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 0a 0a 20 24 72 65 71 75 stalledRepo,.$aliases);....$requ
81ce0 65 73 74 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 65 71 75 65 73 74 28 24 74 68 69 73 est.=.$this->createRequest($this
81d00 2d 3e 70 61 63 6b 61 67 65 2c 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 3b 0a 24 72 65 71 75 ->package,.$platformRepo);.$requ
81d20 65 73 74 2d 3e 75 70 64 61 74 65 41 6c 6c 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 est->updateAll();.foreach.($this
81d40 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e ->package->getRequires().as.$lin
81d60 6b 29 20 7b 0a 24 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 6c 69 6e 6b 2d 3e 67 65 k).{.$request->install($link->ge
81d80 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 tTarget(),.$link->getConstraint(
81da0 29 29 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d ));.}....$this->eventDispatcher-
81dc0 3e 64 69 73 70 61 74 63 68 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 28 49 6e 73 74 61 6c 6c 65 >dispatchInstallerEvent(Installe
81de0 72 45 76 65 6e 74 73 3a 3a 50 52 45 5f 44 45 50 45 4e 44 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e rEvents::PRE_DEPENDENCIES_SOLVIN
81e00 47 2c 20 66 61 6c 73 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 G,.false,.$policy,.$pool,.$insta
81e20 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 29 3b 0a 24 73 6f 6c 76 65 72 20 3d 20 6e lledRepo,.$request);.$solver.=.n
81e40 65 77 20 53 6f 6c 76 65 72 28 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 ew.Solver($policy,.$pool,.$insta
81e60 6c 6c 65 64 52 65 70 6f 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 24 6f 70 73 20 3d 20 24 73 6f lledRepo,.$this->io);.$ops.=.$so
81e80 6c 76 65 72 2d 3e 73 6f 6c 76 65 28 24 72 65 71 75 65 73 74 2c 20 24 74 68 69 73 2d 3e 69 67 6e lver->solve($request,.$this->ign
81ea0 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 29 3b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 orePlatformReqs);.$this->eventDi
81ec0 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 spatcher->dispatchInstallerEvent
81ee0 28 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 73 3a 3a 50 4f 53 54 5f 44 45 50 45 4e 44 45 4e 43 (InstallerEvents::POST_DEPENDENC
81f00 49 45 53 5f 53 4f 4c 56 49 4e 47 2c 20 66 61 6c 73 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f IES_SOLVING,.false,.$policy,.$po
81f20 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f ol,.$installedRepo,.$request,.$o
81f40 70 73 29 3b 0a 0a 24 64 65 76 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f ps);..$devPackages.=.array();.fo
81f60 72 65 61 63 68 20 28 24 6f 70 73 20 61 73 20 24 6f 70 29 20 7b 0a 69 66 20 28 24 6f 70 2d 3e 67 reach.($ops.as.$op).{.if.($op->g
81f80 65 74 4a 6f 62 54 79 70 65 28 29 20 3d 3d 3d 20 27 75 6e 69 6e 73 74 61 6c 6c 27 29 20 7b 0a 24 etJobType().===.'uninstall').{.$
81fa0 64 65 76 50 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 6f 70 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 devPackages[].=.$op->getPackage(
81fc0 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 65 76 50 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a );.}.}..return.$devPackages;.}..
81fe0 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 44 65 76 50 61 63 ...private.function.filterDevPac
82000 6b 61 67 65 4f 70 65 72 61 74 69 6f 6e 73 28 61 72 72 61 79 20 24 64 65 76 50 61 63 6b 61 67 65 kageOperations(array.$devPackage
82020 73 2c 20 61 72 72 61 79 20 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 52 65 70 6f 73 69 74 6f 72 79 s,.array.$operations,.Repository
82040 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 63 61 6c 52 65 70 6f 29 0a 7b 0a 24 66 69 6e 61 6c 4f 70 Interface.$localRepo).{.$finalOp
82060 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 61 63 6b 61 67 65 73 54 6f 53 6b 69 70 20 3d 20 61 s.=.array();.$packagesToSkip.=.a
82080 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 76 50 61 63 6b 61 67 65 73 20 61 73 rray();.foreach.($devPackages.as
820a0 20 24 70 6b 67 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 54 6f 53 6b 69 70 5b 24 70 6b 67 2d 3e 67 .$pkg).{.$packagesToSkip[$pkg->g
820c0 65 74 4e 61 6d 65 28 29 5d 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 24 69 6e 73 74 61 6c 6c 65 64 etName()].=.true;.if.($installed
820e0 44 65 76 50 6b 67 20 3d 20 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 DevPkg.=.$localRepo->findPackage
82100 28 24 70 6b 67 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 27 2a 27 29 29 20 7b 0a 69 66 20 28 24 69 ($pkg->getName(),.'*')).{.if.($i
82120 6e 73 74 61 6c 6c 65 64 44 65 76 50 6b 67 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 nstalledDevPkg.instanceof.AliasP
82140 61 63 6b 61 67 65 29 20 7b 0a 24 66 69 6e 61 6c 4f 70 73 5b 5d 20 3d 20 6e 65 77 20 4d 61 72 6b ackage).{.$finalOps[].=.new.Mark
82160 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 28 24 69 6e 73 74 61 AliasUninstalledOperation($insta
82180 6c 6c 65 64 44 65 76 50 6b 67 2c 20 27 6e 6f 6e 2d 64 65 76 20 69 6e 73 74 61 6c 6c 20 72 65 6d lledDevPkg,.'non-dev.install.rem
821a0 6f 76 69 6e 67 20 69 74 27 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 44 65 76 50 6b 67 20 3d 20 24 oving.it');.$installedDevPkg.=.$
821c0 69 6e 73 74 61 6c 6c 65 64 44 65 76 50 6b 67 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d installedDevPkg->getAliasOf();.}
821e0 0a 24 66 69 6e 61 6c 4f 70 73 5b 5d 20 3d 20 6e 65 77 20 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 .$finalOps[].=.new.UninstallOper
82200 61 74 69 6f 6e 28 24 69 6e 73 74 61 6c 6c 65 64 44 65 76 50 6b 67 2c 20 27 6e 6f 6e 2d 64 65 76 ation($installedDevPkg,.'non-dev
82220 20 69 6e 73 74 61 6c 6c 20 72 65 6d 6f 76 69 6e 67 20 69 74 27 29 3b 0a 7d 0a 7d 0a 0a 0a 20 66 .install.removing.it');.}.}....f
82240 6f 72 65 61 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20 24 6f 70 29 20 7b 0a 24 70 oreach.($operations.as.$op).{.$p
82260 61 63 6b 61 67 65 20 3d 20 24 6f 70 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 20 3d 3d 3d 20 27 ackage.=.$op->getJobType().===.'
82280 75 70 64 61 74 65 27 20 3f 20 24 6f 70 2d 3e 67 65 74 54 61 72 67 65 74 50 61 63 6b 61 67 65 28 update'.?.$op->getTargetPackage(
822a0 29 20 3a 20 24 6f 70 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 69 66 20 28 69 73 73 65 74 ).:.$op->getPackage();.if.(isset
822c0 28 24 70 61 63 6b 61 67 65 73 54 6f 53 6b 69 70 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 ($packagesToSkip[$package->getNa
822e0 6d 65 28 29 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 66 69 6e 61 6c 4f 70 73 me()])).{.continue;.}..$finalOps
82300 5b 5d 20 3d 20 24 6f 70 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6e 61 6c 4f 70 73 3b 0a 7d [].=.$op;.}..return.$finalOps;.}
82320 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 ...............private.function.
82340 6d 6f 76 65 50 6c 75 67 69 6e 73 54 6f 46 72 6f 6e 74 28 61 72 72 61 79 20 24 6f 70 65 72 61 74 movePluginsToFront(array.$operat
82360 69 6f 6e 73 29 0a 7b 0a 24 70 6c 75 67 69 6e 73 4e 6f 44 65 70 73 20 3d 20 61 72 72 61 79 28 29 ions).{.$pluginsNoDeps.=.array()
82380 3b 0a 24 70 6c 75 67 69 6e 73 57 69 74 68 44 65 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 ;.$pluginsWithDeps.=.array();.$p
823a0 6c 75 67 69 6e 52 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 luginRequires.=.array();..foreac
823c0 68 20 28 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 6f 70 65 72 61 74 69 6f 6e 73 2c 20 74 72 h.(array_reverse($operations,.tr
823e0 75 65 29 20 61 73 20 24 69 64 78 20 3d 3e 20 24 6f 70 29 20 7b 0a 69 66 20 28 24 6f 70 20 69 6e ue).as.$idx.=>.$op).{.if.($op.in
82400 73 74 61 6e 63 65 6f 66 20 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 24 70 61 stanceof.InstallOperation).{.$pa
82420 63 6b 61 67 65 20 3d 20 24 6f 70 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 7d 20 65 6c 73 ckage.=.$op->getPackage();.}.els
82440 65 69 66 20 28 24 6f 70 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 70 64 61 74 65 4f 70 65 72 61 74 eif.($op.instanceof.UpdateOperat
82460 69 6f 6e 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 2d 3e 67 65 74 54 61 72 67 65 74 ion).{.$package.=.$op->getTarget
82480 50 61 63 6b 61 67 65 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a Package();.}.else.{.continue;.}.
824a0 0a 0a 20 24 69 73 50 6c 75 67 69 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 ...$isPlugin.=.$package->getType
824c0 28 29 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 27 20 7c 7c 20 24 70 61 63 ().===.'composer-plugin'.||.$pac
824e0 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2d 69 6e kage->getType().===.'composer-in
82500 73 74 61 6c 6c 65 72 27 3b 0a 0a 0a 20 69 66 20 28 24 69 73 50 6c 75 67 69 6e 20 7c 7c 20 63 6f staller';....if.($isPlugin.||.co
82520 75 6e 74 28 61 72 72 61 79 5f 69 6e 74 65 72 73 65 63 74 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 unt(array_intersect($package->ge
82540 74 4e 61 6d 65 73 28 29 2c 20 24 70 6c 75 67 69 6e 52 65 71 75 69 72 65 73 29 29 29 20 7b 0a 0a tNames(),.$pluginRequires))).{..
82560 20 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 5f .$requires.=.array_filter(array_
82580 6b 65 79 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 2c 20 66 keys($package->getRequires()),.f
825a0 75 6e 63 74 69 6f 6e 20 28 24 72 65 71 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 71 20 21 3d 3d unction.($req).{.return.$req.!==
825c0 20 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 27 20 26 26 20 21 70 72 65 67 5f .'composer-plugin-api'.&&.!preg_
825e0 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f match(PlatformRepository::PLATFO
82600 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 72 65 71 29 3b 0a 7d 29 3b 0a 0a 0a 20 RM_PACKAGE_REGEX,.$req);.});....
82620 69 66 20 28 24 69 73 50 6c 75 67 69 6e 20 26 26 20 21 63 6f 75 6e 74 28 24 72 65 71 75 69 72 65 if.($isPlugin.&&.!count($require
82640 73 29 29 20 7b 0a 0a 20 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 70 6c 75 67 69 6e 73 4e 6f s)).{...array_unshift($pluginsNo
82660 44 65 70 73 2c 20 24 6f 70 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 70 6c 75 67 69 6e 52 65 Deps,.$op);.}.else.{...$pluginRe
82680 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 6c 75 67 69 6e 52 65 71 75 quires.=.array_merge($pluginRequ
826a0 69 72 65 73 2c 20 24 72 65 71 75 69 72 65 73 29 3b 0a 0a 20 61 72 72 61 79 5f 75 6e 73 68 69 66 ires,.$requires);...array_unshif
826c0 74 28 24 70 6c 75 67 69 6e 73 57 69 74 68 44 65 70 73 2c 20 24 6f 70 29 3b 0a 7d 0a 0a 75 6e 73 t($pluginsWithDeps,.$op);.}..uns
826e0 65 74 28 24 6f 70 65 72 61 74 69 6f 6e 73 5b 24 69 64 78 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 et($operations[$idx]);.}.}..retu
82700 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 6c 75 67 69 6e 73 4e 6f 44 65 70 73 2c 20 24 rn.array_merge($pluginsNoDeps,.$
82720 70 6c 75 67 69 6e 73 57 69 74 68 44 65 70 73 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 7d pluginsWithDeps,.$operations);.}
82740 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 76 65 55 6e .........private.function.moveUn
82760 69 6e 73 74 61 6c 6c 73 54 6f 46 72 6f 6e 74 28 61 72 72 61 79 20 24 6f 70 65 72 61 74 69 6f 6e installsToFront(array.$operation
82780 73 29 0a 7b 0a 24 75 6e 69 6e 73 74 4f 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 s).{.$uninstOps.=.array();.forea
827a0 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 20 24 69 64 78 20 3d 3e 20 24 6f 70 29 20 ch.($operations.as.$idx.=>.$op).
827c0 7b 0a 69 66 20 28 24 6f 70 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 69 6e 73 74 61 6c 6c 4f 70 {.if.($op.instanceof.UninstallOp
827e0 65 72 61 74 69 6f 6e 29 20 7b 0a 24 75 6e 69 6e 73 74 4f 70 73 5b 5d 20 3d 20 24 6f 70 3b 0a 75 eration).{.$uninstOps[].=.$op;.u
82800 6e 73 65 74 28 24 6f 70 65 72 61 74 69 6f 6e 73 5b 24 69 64 78 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 nset($operations[$idx]);.}.}..re
82820 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 75 6e 69 6e 73 74 4f 70 73 2c 20 24 6f 70 turn.array_merge($uninstOps,.$op
82840 65 72 61 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f erations);.}.....private.functio
82860 6e 20 63 72 65 61 74 65 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 28 52 65 70 6f 73 69 74 6f 72 79 n.createInstalledRepo(Repository
82880 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 50 6c 61 74 66 6f 72 6d 52 65 Interface.$localRepo,.PlatformRe
828a0 70 6f 73 69 74 6f 72 79 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 0a 7b 0a 0a 20 0a 20 0a 20 pository.$platformRepo).{.......
828c0 24 69 6e 73 74 61 6c 6c 65 64 52 6f 6f 74 50 61 63 6b 61 67 65 20 3d 20 63 6c 6f 6e 65 20 24 74 $installedRootPackage.=.clone.$t
828e0 68 69 73 2d 3e 70 61 63 6b 61 67 65 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 6f 6f 74 50 61 63 6b his->package;.$installedRootPack
82900 61 67 65 2d 3e 73 65 74 52 65 71 75 69 72 65 73 28 61 72 72 61 79 28 29 29 3b 0a 24 69 6e 73 74 age->setRequires(array());.$inst
82920 61 6c 6c 65 64 52 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 73 65 74 44 65 76 52 65 71 75 69 72 65 73 alledRootPackage->setDevRequires
82940 28 61 72 72 61 79 28 29 29 3b 0a 0a 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 28 0a 24 6c 6f 63 (array());..$repos.=.array(.$loc
82960 61 6c 52 65 70 6f 2c 0a 6e 65 77 20 49 6e 73 74 61 6c 6c 65 64 41 72 72 61 79 52 65 70 6f 73 69 alRepo,.new.InstalledArrayReposi
82980 74 6f 72 79 28 61 72 72 61 79 28 24 69 6e 73 74 61 6c 6c 65 64 52 6f 6f 74 50 61 63 6b 61 67 65 tory(array($installedRootPackage
829a0 29 29 2c 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2c 0a 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 )),.$platformRepo,.);.$installed
829c0 52 65 70 6f 20 3d 20 6e 65 77 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 Repo.=.new.CompositeRepository($
829e0 72 65 70 6f 73 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 repos);.if.($this->additionalIns
82a00 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 64 52 65 talledRepository).{.$installedRe
82a20 70 6f 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 2d 3e 61 64 64 69 74 69 6f po->addRepository($this->additio
82a40 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 29 3b 0a 7d 0a 0a 72 65 74 75 nalInstalledRepository);.}..retu
82a60 72 6e 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 rn.$installedRepo;.}......privat
82a80 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 50 6f 6f 6c 28 52 65 70 6f 73 69 74 6f 72 79 e.function.createPool(Repository
82aa0 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 75 Interface.$lockedRepository.=.nu
82ac0 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 6d 69 6e 69 ll).{.if.($this->update).{.$mini
82ae0 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 mumStability.=.$this->package->g
82b00 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 etMinimumStability();.$stability
82b20 46 6c 61 67 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 Flags.=.$this->package->getStabi
82b40 6c 69 74 79 46 6c 61 67 73 28 29 3b 0a 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 5f lityFlags();..$requires.=.array_
82b60 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 merge($this->package->getRequire
82b80 73 28 29 2c 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 s(),.$this->package->getDevRequi
82ba0 72 65 73 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 res());.}.else.{.$minimumStabili
82bc0 74 79 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 ty.=.$this->locker->getMinimumSt
82be0 61 62 69 6c 69 74 79 28 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 24 74 68 ability();.$stabilityFlags.=.$th
82c00 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 3b is->locker->getStabilityFlags();
82c20 0a 0a 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 ..$requires.=.array();.foreach.(
82c40 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 $lockedRepository->getPackages()
82c60 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 .as.$package).{.$constraint.=.ne
82c80 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 w.Constraint('=',.$package->getV
82ca0 65 72 73 69 6f 6e 28 29 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 72 65 74 74 ersion());.$constraint->setPrett
82cc0 79 53 74 72 69 6e 67 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 yString($package->getPrettyVersi
82ce0 6f 6e 28 29 29 3b 0a 24 72 65 71 75 69 72 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 on());.$requires[$package->getNa
82d00 6d 65 28 29 5d 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 7d 0a 0a 24 72 6f 6f 74 43 me()].=.$constraint;.}.}..$rootC
82d20 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 onstraints.=.array();.foreach.($
82d40 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 requires.as.$req.=>.$constraint)
82d60 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 .{...if.($this->ignorePlatformRe
82d80 71 73 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 qs.&&.preg_match(PlatformReposit
82da0 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 72 65 ory::PLATFORM_PACKAGE_REGEX,.$re
82dc0 71 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 24 63 6f 6e 73 74 72 61 69 6e q)).{.continue;.}.if.($constrain
82de0 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 4c 69 6e 6b 29 20 7b 0a 24 72 6f 6f 74 43 6f 6e 73 74 72 t.instanceof.Link).{.$rootConstr
82e00 61 69 6e 74 73 5b 24 72 65 71 5d 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 6f aints[$req].=.$constraint->getCo
82e20 6e 73 74 72 61 69 6e 74 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 6f 6f 74 43 6f 6e 73 74 72 nstraint();.}.else.{.$rootConstr
82e40 61 69 6e 74 73 5b 24 72 65 71 5d 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 7d 0a 0a aints[$req].=.$constraint;.}.}..
82e60 72 65 74 75 72 6e 20 6e 65 77 20 50 6f 6f 6c 28 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 return.new.Pool($minimumStabilit
82e80 79 2c 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 2c 20 24 72 6f 6f 74 43 6f 6e 73 74 72 61 y,.$stabilityFlags,.$rootConstra
82ea0 69 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 ints);.}.....private.function.cr
82ec0 65 61 74 65 50 6f 6c 69 63 79 28 29 0a 7b 0a 24 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 6e eatePolicy().{.$preferStable.=.n
82ee0 75 6c 6c 3b 0a 24 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 ull;.$preferLowest.=.null;.if.(!
82f00 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d $this->update).{.$preferStable.=
82f20 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 .$this->locker->getPreferStable(
82f40 29 3b 0a 24 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 );.$preferLowest.=.$this->locker
82f60 2d 3e 67 65 74 50 72 65 66 65 72 4c 6f 77 65 73 74 28 29 3b 0a 7d 0a 0a 20 0a 20 69 66 20 28 6e ->getPreferLowest();.}.....if.(n
82f80 75 6c 6c 20 3d 3d 3d 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 29 20 7b 0a 24 70 72 65 66 65 72 ull.===.$preferStable).{.$prefer
82fa0 53 74 61 62 6c 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 62 6c 65 20 7c 7c 20 Stable.=.$this->preferStable.||.
82fc0 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 $this->package->getPreferStable(
82fe0 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 29 );.}.if.(null.===.$preferLowest)
83000 20 7b 0a 24 70 72 65 66 65 72 4c 6f 77 65 73 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 66 65 72 .{.$preferLowest.=.$this->prefer
83020 4c 6f 77 65 73 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 44 65 66 61 75 6c 74 50 6f 6c Lowest;.}..return.new.DefaultPol
83040 69 63 79 28 24 70 72 65 66 65 72 53 74 61 62 6c 65 2c 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 icy($preferStable,.$preferLowest
83060 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 );.}.......private.function.crea
83080 74 65 52 65 71 75 65 73 74 28 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 teRequest(RootPackageInterface.$
830a0 72 6f 6f 74 50 61 63 6b 61 67 65 2c 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 20 rootPackage,.PlatformRepository.
830c0 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 29 0a 7b 0a 24 72 65 71 75 65 73 74 20 3d 20 6e 65 77 20 $platformRepo).{.$request.=.new.
830e0 52 65 71 75 65 73 74 28 29 3b 0a 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f Request();..$constraint.=.new.Co
83100 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 nstraint('=',.$rootPackage->getV
83120 65 72 73 69 6f 6e 28 29 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 72 65 74 74 ersion());.$constraint->setPrett
83140 79 53 74 72 69 6e 67 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 yString($rootPackage->getPrettyV
83160 65 72 73 69 6f 6e 28 29 29 3b 0a 24 72 65 71 75 65 73 74 2d 3e 69 6e 73 74 61 6c 6c 28 24 72 6f ersion());.$request->install($ro
83180 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6e 73 74 72 61 69 6e otPackage->getName(),.$constrain
831a0 74 29 3b 0a 0a 24 66 69 78 65 64 50 61 63 6b 61 67 65 73 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 t);..$fixedPackages.=.$platformR
831c0 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 epo->getPackages();.if.($this->a
831e0 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a dditionalInstalledRepository).{.
83200 24 61 64 64 69 74 69 6f 6e 61 6c 46 69 78 65 64 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 $additionalFixedPackages.=.$this
83220 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 2d ->additionalInstalledRepository-
83240 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 24 66 69 78 65 64 50 61 63 6b 61 67 65 73 20 3d >getPackages();.$fixedPackages.=
83260 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 66 69 78 65 64 50 61 63 6b 61 67 65 73 2c 20 24 61 64 .array_merge($fixedPackages,.$ad
83280 64 69 74 69 6f 6e 61 6c 46 69 78 65 64 50 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 0a 20 0a 20 24 ditionalFixedPackages);.}......$
832a0 70 72 6f 76 69 64 65 64 20 3d 20 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 6f 76 provided.=.$rootPackage->getProv
832c0 69 64 65 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 78 65 64 50 61 63 6b 61 67 65 73 20 ides();.foreach.($fixedPackages.
832e0 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 as.$package).{.$constraint.=.new
83300 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 .Constraint('=',.$package->getVe
83320 72 73 69 6f 6e 28 29 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 72 65 74 74 79 rsion());.$constraint->setPretty
83340 53 74 72 69 6e 67 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f String($package->getPrettyVersio
83360 6e 28 29 29 3b 0a 0a 0a 20 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6f 73 69 n());....if.($package->getReposi
83380 74 6f 72 79 28 29 20 21 3d 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 0a 7c 7c 20 21 69 73 73 tory().!==.$platformRepo.||.!iss
833a0 65 74 28 24 70 72 6f 76 69 64 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 et($provided[$package->getName()
833c0 5d 29 0a 7c 7c 20 21 24 70 72 6f 76 69 64 65 64 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 ]).||.!$provided[$package->getNa
833e0 6d 65 28 29 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 me()]->getConstraint()->matches(
83400 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 29 20 7b 0a 24 72 65 71 75 65 73 74 2d 3e 66 69 78 28 24 $constraint).).{.$request->fix($
83420 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 package->getName(),.$constraint)
83440 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 71 75 65 73 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ;.}.}..return.$request;.}.......
83460 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 44 65 ......private.function.processDe
83480 76 50 61 63 6b 61 67 65 73 28 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 70 6f 6f 6c 2c 20 24 70 6f vPackages($localRepo,.$pool,.$po
834a0 6c 69 63 79 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 24 69 6e 73 74 61 6c 6c 65 64 52 licy,.$repositories,.$installedR
834c0 65 70 6f 2c 20 24 6c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 2c 20 24 74 61 73 6b 2c 20 61 epo,.$lockedRepository,.$task,.a
834e0 72 72 61 79 20 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 rray.$operations.=.null).{.if.($
83500 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 75 70 64 61 74 65 73 27 20 26 26 20 6e 75 6c 6c task.===.'force-updates'.&&.null
83520 20 3d 3d 3d 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 .===.$operations).{.throw.new.\I
83540 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 4d 69 73 73 69 6e 67 nvalidArgumentException('Missing
83560 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 67 75 6d 65 6e 74 27 29 3b 0a 7d 0a 69 66 20 28 24 74 .operations.argument');.}.if.($t
83580 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 6c 69 6e 6b 73 27 29 20 7b 0a 24 6f 70 65 72 61 74 ask.===.'force-links').{.$operat
835a0 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 ions.=.array();.}..if.($this->up
835c0 64 61 74 65 20 26 26 20 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 29 20 date.&&.$this->updateWhitelist).
835e0 7b 0a 24 63 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 {.$currentPackages.=.$this->getC
83600 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 29 3b 0a urrentPackages($installedRepo);.
83620 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 61 6c 52 65 70 6f 2d 3e 67 65 74 43 61 6e 6f 6e }..foreach.($localRepo->getCanon
83640 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 0a 20 icalPackages().as.$package).{...
83660 69 66 20 28 21 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 29 20 7b 0a 63 6f 6e 74 69 6e if.(!$package->isDev()).{.contin
83680 75 65 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6f 70 65 72 61 74 69 6f 6e 73 20 61 73 ue;.}....foreach.($operations.as
836a0 20 24 6f 70 65 72 61 74 69 6f 6e 29 20 7b 0a 69 66 20 28 28 27 75 70 64 61 74 65 27 20 3d 3d 3d .$operation).{.if.(('update'.===
836c0 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 20 26 26 20 24 6f 70 .$operation->getJobType().&&.$op
836e0 65 72 61 74 69 6f 6e 2d 3e 67 65 74 49 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 28 29 2d 3e 65 71 eration->getInitialPackage()->eq
83700 75 61 6c 73 28 24 70 61 63 6b 61 67 65 29 29 0a 7c 7c 20 28 27 75 6e 69 6e 73 74 61 6c 6c 27 20 uals($package)).||.('uninstall'.
83720 3d 3d 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 20 26 26 20 ===.$operation->getJobType().&&.
83740 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 2d 3e 65 71 75 61 6c 73 $operation->getPackage()->equals
83760 28 24 70 61 63 6b 61 67 65 29 29 0a 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 0a 7d 0a 7d 0a ($package)).).{.continue.2;.}.}.
83780 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 .if.($this->update).{...if.($thi
837a0 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 20 26 26 20 21 24 74 68 69 73 2d 3e 69 73 s->updateWhitelist.&&.!$this->is
837c0 55 70 64 61 74 65 61 62 6c 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 0a 20 66 6f 72 65 61 63 Updateable($package)).{...foreac
837e0 68 20 28 24 63 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 20 61 73 20 24 63 75 72 50 61 63 6b 61 h.($currentPackages.as.$curPacka
83800 67 65 29 20 7b 0a 69 66 20 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 20 26 ge).{.if.($curPackage->isDev().&
83820 26 20 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 70 61 &.$curPackage->getName().===.$pa
83840 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 26 26 20 24 63 75 72 50 61 63 6b 61 67 65 2d ckage->getName().&&.$curPackage-
83860 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 >getVersion().===.$package->getV
83880 65 72 73 69 6f 6e 28 29 29 20 7b 0a 69 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 ersion()).{.if.($task.===.'force
838a0 2d 6c 69 6e 6b 73 27 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 71 75 69 72 65 73 -links').{.$package->setRequires
838c0 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 3b 0a 24 70 ($curPackage->getRequires());.$p
838e0 61 63 6b 61 67 65 2d 3e 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 24 63 75 72 50 61 63 6b 61 67 65 ackage->setConflicts($curPackage
83900 2d 3e 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 ->getConflicts());.$package->set
83920 50 72 6f 76 69 64 65 73 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 6f 76 69 64 65 Provides($curPackage->getProvide
83940 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 6c 61 63 65 73 28 24 63 75 72 s());.$package->setReplaces($cur
83960 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 29 3b 0a 7d 20 65 6c 73 65 69 Package->getReplaces());.}.elsei
83980 66 20 28 24 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 75 70 64 61 74 65 73 27 29 20 7b 0a f.($task.===.'force-updates').{.
839a0 69 66 20 28 28 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 if.(($curPackage->getSourceRefer
839c0 65 6e 63 65 28 29 20 26 26 20 24 63 75 72 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 ence().&&.$curPackage->getSource
839e0 52 65 66 65 72 65 6e 63 65 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 Reference().!==.$package->getSou
83a00 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 0a 7c 7c 20 28 24 63 75 72 50 61 63 6b 61 67 65 2d rceReference()).||.($curPackage-
83a20 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 26 26 20 24 63 75 72 50 61 63 6b 61 >getDistReference().&&.$curPacka
83a40 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 21 3d 3d 20 24 70 61 63 6b ge->getDistReference().!==.$pack
83a60 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 0a 29 20 7b 0a 24 6f 70 age->getDistReference()).).{.$op
83a80 65 72 61 74 69 6f 6e 73 5b 5d 20 3d 20 6e 65 77 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e erations[].=.new.UpdateOperation
83aa0 28 24 70 61 63 6b 61 67 65 2c 20 24 63 75 72 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 62 72 ($package,.$curPackage);.}.}..br
83ac0 65 61 6b 3b 0a 7d 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 6d 61 74 63 68 65 eak;.}.}..continue;.}....$matche
83ae0 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 s.=.$pool->whatProvides($package
83b00 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c ->getName(),.new.Constraint('=',
83b20 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 29 3b 0a 66 6f 72 65 61 .$package->getVersion()));.forea
83b40 63 68 20 28 24 6d 61 74 63 68 65 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 6d 61 74 63 68 ch.($matches.as.$index.=>.$match
83b60 29 20 7b 0a 0a 20 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6d 61 74 63 68 2d 3e 67 65 74 52 ).{...if.(!in_array($match->getR
83b80 65 70 6f 73 69 74 6f 72 79 28 29 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 74 72 75 65 epository(),.$repositories,.true
83ba0 29 29 20 7b 0a 75 6e 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 3b 0a 63 6f )).{.unset($matches[$index]);.co
83bc0 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 61 74 63 68 2d 3e 67 65 74 4e 61 6d 65 ntinue;.}....if.($match->getName
83be0 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 75 6e ().!==.$package->getName()).{.un
83c00 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b set($matches[$index]);.continue;
83c20 0a 7d 0a 0a 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 20 3d 20 24 6d 61 74 63 68 2d 3e 67 .}..$matches[$index].=.$match->g
83c40 65 74 49 64 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 61 74 63 68 65 73 20 26 26 20 24 6d 61 etId();.}....if.($matches.&&.$ma
83c60 74 63 68 65 73 20 3d 20 24 70 6f 6c 69 63 79 2d 3e 73 65 6c 65 63 74 50 72 65 66 65 72 72 65 64 tches.=.$policy->selectPreferred
83c80 50 61 63 6b 61 67 65 73 28 24 70 6f 6f 6c 2c 20 61 72 72 61 79 28 29 2c 20 24 6d 61 74 63 68 65 Packages($pool,.array(),.$matche
83ca0 73 29 29 20 7b 0a 24 6e 65 77 50 61 63 6b 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 s)).{.$newPackage.=.$pool->liter
83cc0 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6d 61 74 63 68 65 73 5b 30 5d 29 3b 0a 0a 69 66 20 28 24 alToPackage($matches[0]);..if.($
83ce0 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 6c 69 6e 6b 73 27 20 26 26 20 24 6e 65 77 50 61 task.===.'force-links'.&&.$newPa
83d00 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 71 75 69 72 65 73 28 24 ckage).{.$package->setRequires($
83d20 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 29 3b 0a 24 70 61 63 newPackage->getRequires());.$pac
83d40 6b 61 67 65 2d 3e 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e kage->setConflicts($newPackage->
83d60 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 50 72 getConflicts());.$package->setPr
83d80 6f 76 69 64 65 73 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 ovides($newPackage->getProvides(
83da0 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 6c 61 63 65 73 28 24 6e 65 77 50 61 ));.$package->setReplaces($newPa
83dc0 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 29 3b 0a 7d 0a 0a 69 66 20 28 0a 24 ckage->getReplaces());.}..if.(.$
83de0 74 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 75 70 64 61 74 65 73 27 0a 26 26 20 24 6e 65 77 task.===.'force-updates'.&&.$new
83e00 50 61 63 6b 61 67 65 0a 26 26 20 28 0a 28 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f Package.&&.(.($newPackage->getSo
83e20 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 26 26 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e urceReference().&&.$newPackage->
83e40 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 getSourceReference().!==.$packag
83e60 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 0a 7c 7c 20 28 24 6e 65 e->getSourceReference()).||.($ne
83e80 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 26 26 20 wPackage->getDistReference().&&.
83ea0 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 $newPackage->getDistReference().
83ec0 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 !==.$package->getDistReference()
83ee0 29 0a 29 0a 29 20 7b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 5b 5d 20 3d 20 6e 65 77 20 55 70 64 61 ).).).{.$operations[].=.new.Upda
83f00 74 65 4f 70 65 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 6e 65 77 50 61 63 6b 61 67 teOperation($package,.$newPackag
83f20 65 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 61 73 6b 20 3d 3d e);..continue;.}.}..if.($task.==
83f40 3d 20 27 66 6f 72 63 65 2d 75 70 64 61 74 65 73 27 29 20 7b 0a 0a 20 24 72 65 66 65 72 65 6e 63 =.'force-updates').{...$referenc
83f60 65 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 es.=.$this->package->getReferenc
83f80 65 73 28 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 66 65 72 65 6e 63 65 73 5b 24 70 61 es();..if.(isset($references[$pa
83fa0 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 20 26 26 20 24 72 65 66 65 72 65 6e 63 65 ckage->getName()]).&&.$reference
83fc0 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 21 3d 3d 20 24 70 61 63 6b s[$package->getName()].!==.$pack
83fe0 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 20 7b 0a 0a 20 24 age->getSourceReference()).{...$
84000 6f 70 65 72 61 74 69 6f 6e 73 5b 5d 20 3d 20 6e 65 77 20 55 70 64 61 74 65 4f 70 65 72 61 74 69 operations[].=.new.UpdateOperati
84020 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 63 6c 6f 6e 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a on($package,.clone.$package);.}.
84040 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 6b 65 64 52 65 70 }.}.else.{...foreach.($lockedRep
84060 6f 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 2d 3e ository->findPackages($package->
84080 67 65 74 4e 61 6d 65 28 29 29 20 61 73 20 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 29 20 7b 0a getName()).as.$lockedPackage).{.
840a0 69 66 20 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 20 26 26 20 24 if.($lockedPackage->isDev().&&.$
840c0 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 20 3d 3d 3d 20 lockedPackage->getVersion().===.
840e0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 69 66 20 28 24 74 $package->getVersion()).{.if.($t
84100 61 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 6c 69 6e 6b 73 27 29 20 7b 0a 24 70 61 63 6b 61 67 ask.===.'force-links').{.$packag
84120 65 2d 3e 73 65 74 52 65 71 75 69 72 65 73 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 e->setRequires($lockedPackage->g
84140 65 74 52 65 71 75 69 72 65 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 43 6f 6e 66 etRequires());.$package->setConf
84160 6c 69 63 74 73 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 43 6f 6e 66 6c 69 63 licts($lockedPackage->getConflic
84180 74 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 50 72 6f 76 69 64 65 73 28 24 6c 6f ts());.$package->setProvides($lo
841a0 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 29 29 3b 0a 24 70 61 ckedPackage->getProvides());.$pa
841c0 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 6c 61 63 65 73 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 ckage->setReplaces($lockedPackag
841e0 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 61 e->getReplaces());.}.elseif.($ta
84200 73 6b 20 3d 3d 3d 20 27 66 6f 72 63 65 2d 75 70 64 61 74 65 73 27 29 20 7b 0a 69 66 20 28 28 24 sk.===.'force-updates').{.if.(($
84220 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 lockedPackage->getSourceReferenc
84240 65 28 29 20 26 26 20 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 e().&&.$lockedPackage->getSource
84260 52 65 66 65 72 65 6e 63 65 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 Reference().!==.$package->getSou
84280 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 0a 7c 7c 20 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 rceReference()).||.($lockedPacka
842a0 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 26 26 20 24 6c 6f 63 6b 65 ge->getDistReference().&&.$locke
842c0 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 20 21 3d 3d dPackage->getDistReference().!==
842e0 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 0a 29 .$package->getDistReference()).)
84300 20 7b 0a 24 6f 70 65 72 61 74 69 6f 6e 73 5b 5d 20 3d 20 6e 65 77 20 55 70 64 61 74 65 4f 70 65 .{.$operations[].=.new.UpdateOpe
84320 72 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 29 ration($package,.$lockedPackage)
84340 3b 0a 7d 0a 7d 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f ;.}.}..break;.}.}.}.}..return.$o
84360 70 65 72 61 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 perations;.}.......private.funct
84380 69 6f 6e 20 67 65 74 43 75 72 72 65 6e 74 50 61 63 6b 61 67 65 73 28 24 69 6e 73 74 61 6c 6c 65 ion.getCurrentPackages($installe
843a0 64 52 65 70 6f 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 65 72 2d 3e 69 73 4c 6f dRepo).{.if.($this->locker->isLo
843c0 63 6b 65 64 28 29 29 20 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f cked()).{.try.{.return.$this->lo
843e0 63 6b 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 74 72 75 65 29 2d cker->getLockedRepository(true)-
84400 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d >getPackages();.}.catch.(\Runtim
84420 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d eException.$e).{...return.$this-
84440 3e 6c 6f 63 6b 65 72 2d 3e 67 65 74 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 29 2d 3e >locker->getLockedRepository()->
84460 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 73 74 getPackages();.}.}..return.$inst
84480 61 6c 6c 65 64 52 65 70 6f 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a alledRepo->getPackages();.}.....
844a0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 41 6c 69 61 73 65 73 28 private.function.getRootAliases(
844c0 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 24 61 6c 69 61 73 65 ).{.if.($this->update).{.$aliase
844e0 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 s.=.$this->package->getAliases()
84500 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 6c 69 61 73 65 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 ;.}.else.{.$aliases.=.$this->loc
84520 6b 65 72 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 3b 0a 7d 0a 0a 24 6e 6f 72 6d 61 6c 69 7a 65 ker->getAliases();.}..$normalize
84540 64 41 6c 69 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 dAliases.=.array();..foreach.($a
84560 6c 69 61 73 65 73 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 24 6e 6f 72 6d 61 6c 69 7a 65 64 41 liases.as.$alias).{.$normalizedA
84580 6c 69 61 73 65 73 5b 24 61 6c 69 61 73 5b 27 70 61 63 6b 61 67 65 27 5d 5d 5b 24 61 6c 69 61 73 liases[$alias['package']][$alias
845a0 5b 27 76 65 72 73 69 6f 6e 27 5d 5d 20 3d 20 61 72 72 61 79 28 0a 27 61 6c 69 61 73 27 20 3d 3e ['version']].=.array(.'alias'.=>
845c0 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 27 5d 2c 0a 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 .$alias['alias'],.'alias_normali
845e0 7a 65 64 27 20 3d 3e 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 zed'.=>.$alias['alias_normalized
84600 27 5d 2c 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6e 6f 72 6d 61 6c 69 7a 65 64 41 6c 69 61 '],.);.}..return.$normalizedAlia
84620 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 ses;.}........private.function.p
84640 72 6f 63 65 73 73 50 61 63 6b 61 67 65 55 72 6c 73 28 24 70 6f 6f 6c 2c 20 24 70 6f 6c 69 63 79 rocessPackageUrls($pool,.$policy
84660 2c 20 24 6c 6f 63 61 6c 52 65 70 6f 2c 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 0a 7b 0a 69 ,.$localRepo,.$repositories).{.i
84680 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a f.(!$this->update).{.return;.}..
846a0 24 72 6f 6f 74 52 65 66 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 $rootRefs.=.$this->package->getR
846c0 65 66 65 72 65 6e 63 65 73 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 61 6c 52 65 70 eferences();..foreach.($localRep
846e0 6f 2d 3e 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 o->getCanonicalPackages().as.$pa
84700 63 6b 61 67 65 29 20 7b 0a 0a 20 24 6d 61 74 63 68 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 ckage).{...$matches.=.$pool->wha
84720 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 6e tProvides($package->getName(),.n
84740 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 ew.Constraint('=',.$package->get
84760 56 65 72 73 69 6f 6e 28 29 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 20 61 Version()));.foreach.($matches.a
84780 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 6d 61 74 63 68 29 20 7b 0a 0a 20 69 66 20 28 21 69 6e 5f s.$index.=>.$match).{...if.(!in_
847a0 61 72 72 61 79 28 24 6d 61 74 63 68 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 2c 20 24 array($match->getRepository(),.$
847c0 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 74 72 75 65 29 29 20 7b 0a 75 6e 73 65 74 28 24 6d 61 repositories,.true)).{.unset($ma
847e0 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 tches[$index]);.continue;.}....i
84800 66 20 28 24 6d 61 74 63 68 2d 3e 67 65 74 4e 61 6d 65 28 29 20 21 3d 3d 20 24 70 61 63 6b 61 67 f.($match->getName().!==.$packag
84820 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 75 6e 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 e->getName()).{.unset($matches[$
84840 69 6e 64 65 78 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6d 61 74 63 68 65 73 5b 24 index]);.continue;.}..$matches[$
84860 69 6e 64 65 78 5d 20 3d 20 24 6d 61 74 63 68 2d 3e 67 65 74 49 64 28 29 3b 0a 7d 0a 0a 0a 20 69 index].=.$match->getId();.}....i
84880 66 20 28 24 6d 61 74 63 68 65 73 20 26 26 20 24 6d 61 74 63 68 65 73 20 3d 20 24 70 6f 6c 69 63 f.($matches.&&.$matches.=.$polic
848a0 79 2d 3e 73 65 6c 65 63 74 50 72 65 66 65 72 72 65 64 50 61 63 6b 61 67 65 73 28 24 70 6f 6f 6c y->selectPreferredPackages($pool
848c0 2c 20 61 72 72 61 79 28 29 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 6e 65 77 50 61 63 6b ,.array(),.$matches)).{.$newPack
848e0 61 67 65 20 3d 20 24 70 6f 6f 6c 2d 3e 6c 69 74 65 72 61 6c 54 6f 50 61 63 6b 61 67 65 28 24 6d age.=.$pool->literalToPackage($m
84900 61 74 63 68 65 73 5b 30 5d 29 3b 0a 0a 0a 20 24 73 6f 75 72 63 65 55 72 6c 20 3d 20 24 70 61 63 atches[0]);....$sourceUrl.=.$pac
84920 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 3b 0a 24 6e 65 77 53 6f 75 72 63 65 kage->getSourceUrl();.$newSource
84940 55 72 6c 20 3d 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 Url.=.$newPackage->getSourceUrl(
84960 29 3b 0a 24 6e 65 77 52 65 66 65 72 65 6e 63 65 20 3d 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e );.$newReference.=.$newPackage->
84980 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b getSourceReference();..if.($pack
849a0 61 67 65 2d 3e 69 73 44 65 76 28 29 20 26 26 20 69 73 73 65 74 28 24 72 6f 6f 74 52 65 66 73 5b age->isDev().&&.isset($rootRefs[
849c0 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 20 26 26 20 24 70 61 63 6b 61 67 $package->getName()]).&&.$packag
849e0 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 3d 3d 3d 20 24 72 6f 6f e->getSourceReference().===.$roo
84a00 74 52 65 66 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 20 7b 0a 24 6e tRefs[$package->getName()]).{.$n
84a20 65 77 52 65 66 65 72 65 6e 63 65 20 3d 20 24 72 6f 6f 74 52 65 66 73 5b 24 70 61 63 6b 61 67 65 ewReference.=.$rootRefs[$package
84a40 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 50 61 ->getName()];.}..$this->updatePa
84a60 63 6b 61 67 65 55 72 6c 28 24 70 61 63 6b 61 67 65 2c 20 24 6e 65 77 53 6f 75 72 63 65 55 72 6c ckageUrl($package,.$newSourceUrl
84a80 2c 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 2c 20 ,.$newPackage->getSourceType(),.
84aa0 24 6e 65 77 52 65 66 65 72 65 6e 63 65 2c 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 $newReference,.$newPackage->getD
84ac0 69 73 74 55 72 6c 28 29 2c 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 istUrl(),.$newPackage->getDistTy
84ae0 70 65 28 29 2c 20 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 53 68 61 31 43 68 pe(),.$newPackage->getDistSha1Ch
84b00 65 63 6b 73 75 6d 28 29 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 ecksum());..if.($package.instanc
84b20 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 20 26 26 20 24 6e 65 77 50 61 63 6b 61 eof.CompletePackage.&&.$newPacka
84b40 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 29 20 7b ge.instanceof.CompletePackage).{
84b60 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 62 61 6e 64 6f 6e 65 64 28 24 6e 65 77 50 61 63 6b .$package->setAbandoned($newPack
84b80 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 20 3f 3a 20 age->getReplacementPackage().?:.
84ba0 24 6e 65 77 50 61 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 29 3b 0a 7d 0a 0a $newPackage->isAbandoned());.}..
84bc0 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 6e 65 77 50 61 63 $package->setDistMirrors($newPac
84be0 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 kage->getDistMirrors());.$packag
84c00 65 2d 3e 73 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 24 6e 65 77 50 61 63 6b 61 67 65 2d e->setSourceMirrors($newPackage-
84c20 3e 67 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e >getSourceMirrors());.$package->
84c40 73 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 24 6e 65 77 50 61 63 6b 61 67 65 2d setTransportOptions($newPackage-
84c60 3e 67 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a >getTransportOptions());.}.}.}..
84c80 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 50 61 63 6b 61 67 65 55 72 private.function.updatePackageUr
84ca0 6c 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 73 6f l(PackageInterface.$package,.$so
84cc0 75 72 63 65 55 72 6c 2c 20 24 73 6f 75 72 63 65 54 79 70 65 2c 20 24 73 6f 75 72 63 65 52 65 66 urceUrl,.$sourceType,.$sourceRef
84ce0 65 72 65 6e 63 65 2c 20 24 64 69 73 74 55 72 6c 2c 20 24 64 69 73 74 54 79 70 65 2c 20 24 64 69 erence,.$distUrl,.$distType,.$di
84d00 73 74 53 68 61 53 75 6d 29 0a 7b 0a 24 6f 6c 64 53 6f 75 72 63 65 52 65 66 20 3d 20 24 70 61 63 stShaSum).{.$oldSourceRef.=.$pac
84d20 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 0a 69 66 20 kage->getSourceReference();..if.
84d40 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 20 21 3d 3d 20 24 73 ($package->getSourceUrl().!==.$s
84d60 6f 75 72 63 65 55 72 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 54 ourceUrl).{.$package->setSourceT
84d80 79 70 65 28 24 73 6f 75 72 63 65 54 79 70 65 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 ype($sourceType);.$package->setS
84da0 6f 75 72 63 65 55 72 6c 28 24 73 6f 75 72 63 65 55 72 6c 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e ourceUrl($sourceUrl);.$package->
84dc0 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 73 6f 75 72 63 65 52 65 66 65 72 65 setSourceReference($sourceRefere
84de0 6e 63 65 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 nce);.}......if.(preg_match('{^h
84e00 74 74 70 73 3f 3a 2f 2f 28 3f 3a 28 3f 3a 77 77 77 5c 2e 29 3f 62 69 74 62 75 63 6b 65 74 5c 2e ttps?://(?:(?:www\.)?bitbucket\.
84e20 6f 72 67 7c 28 61 70 69 5c 2e 29 3f 67 69 74 68 75 62 5c 2e 63 6f 6d 7c 28 3f 3a 77 77 77 5c 2e org|(api\.)?github\.com|(?:www\.
84e40 29 3f 67 69 74 6c 61 62 5c 2e 63 6f 6d 29 2f 7d 69 27 2c 20 24 64 69 73 74 55 72 6c 29 29 20 7b )?gitlab\.com)/}i',.$distUrl)).{
84e60 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 55 72 6c 28 24 64 69 73 74 55 72 6c 29 3b .$package->setDistUrl($distUrl);
84e80 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 54 79 70 65 28 24 64 69 73 74 54 79 70 65 .$package->setDistType($distType
84ea0 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d );.$package->setDistSha1Checksum
84ec0 28 24 64 69 73 74 53 68 61 53 75 6d 29 3b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 49 6e 73 74 ($distShaSum);.$this->updateInst
84ee0 61 6c 6c 52 65 66 65 72 65 6e 63 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 73 6f 75 72 63 65 52 allReferences($package,.$sourceR
84f00 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 eference);.}..if.($this->updateW
84f20 68 69 74 65 6c 69 73 74 20 26 26 20 21 24 74 68 69 73 2d 3e 69 73 55 70 64 61 74 65 61 62 6c 65 hitelist.&&.!$this->isUpdateable
84f40 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 49 6e 73 74 61 ($package)).{.$this->updateInsta
84f60 6c 6c 52 65 66 65 72 65 6e 63 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 6f 6c 64 53 6f 75 72 63 llReferences($package,.$oldSourc
84f80 65 52 65 66 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 eRef);.}.}..private.function.upd
84fa0 61 74 65 49 6e 73 74 61 6c 6c 52 65 66 65 72 65 6e 63 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 ateInstallReferences(PackageInte
84fc0 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 69 66 rface.$package,.$reference).{.if
84fe0 20 28 21 24 72 65 66 65 72 65 6e 63 65 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 70 61 63 .(!$reference).{.return;.}..$pac
85000 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 kage->setSourceReference($refere
85020 6e 63 65 29 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a nce);..if.(preg_match('{^https?:
85040 2f 2f 28 3f 3a 28 3f 3a 77 77 77 5c 2e 29 3f 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 7c 28 61 //(?:(?:www\.)?bitbucket\.org|(a
85060 70 69 5c 2e 29 3f 67 69 74 68 75 62 5c 2e 63 6f 6d 7c 28 3f 3a 77 77 77 5c 2e 29 3f 67 69 74 6c pi\.)?github\.com|(?:www\.)?gitl
85080 61 62 5c 2e 63 6f 6d 29 2f 7d 69 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 ab\.com)/}i',.$package->getDistU
850a0 72 6c 28 29 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 52 65 66 65 72 65 rl())).{.$package->setDistRefere
850c0 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 nce($reference);.$package->setDi
850e0 73 74 55 72 6c 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 3f 3c 3d 2f 7c 73 68 61 3d 29 stUrl(preg_replace('{(?<=/|sha=)
85100 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 28 3f 3d 2f 7c 24 29 7d 69 27 2c 20 24 72 65 66 65 72 65 6e [a-f0-9]{40}(?=/|$)}i',.$referen
85120 63 65 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 29 29 3b 0a 7d 20 ce,.$package->getDistUrl()));.}.
85140 65 6c 73 65 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e elseif.($package->getDistReferen
85160 63 65 28 29 29 20 7b 20 0a 20 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 52 65 66 65 72 ce()).{...$package->setDistRefer
85180 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 ence($reference);.}.}......priva
851a0 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 6c 69 61 73 50 6c 61 74 66 6f 72 6d 50 61 63 6b 61 67 65 te.function.aliasPlatformPackage
851c0 73 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 20 24 70 6c 61 74 66 6f 72 6d 52 65 s(PlatformRepository.$platformRe
851e0 70 6f 2c 20 24 61 6c 69 61 73 65 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 61 6c 69 61 73 65 po,.$aliases).{.foreach.($aliase
85200 73 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 73 29 20 7b 0a 66 6f s.as.$package.=>.$versions).{.fo
85220 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 73 20 61 73 20 24 76 65 72 73 69 6f 6e 20 3d 3e 20 reach.($versions.as.$version.=>.
85240 24 61 6c 69 61 73 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 $alias).{.$packages.=.$platformR
85260 65 70 6f 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 76 65 72 epo->findPackages($package,.$ver
85280 73 69 6f 6e 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 sion);.foreach.($packages.as.$pa
852a0 63 6b 61 67 65 29 20 7b 0a 24 61 6c 69 61 73 50 61 63 6b 61 67 65 20 3d 20 6e 65 77 20 41 6c 69 ckage).{.$aliasPackage.=.new.Ali
852c0 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 asPackage($package,.$alias['alia
852e0 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2c 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 27 5d 29 s_normalized'],.$alias['alias'])
85300 3b 0a 24 61 6c 69 61 73 50 61 63 6b 61 67 65 2d 3e 73 65 74 52 6f 6f 74 50 61 63 6b 61 67 65 41 ;.$aliasPackage->setRootPackageA
85320 6c 69 61 73 28 74 72 75 65 29 3b 0a 24 70 6c 61 74 66 6f 72 6d 52 65 70 6f 2d 3e 61 64 64 50 61 lias(true);.$platformRepo->addPa
85340 63 6b 61 67 65 28 24 61 6c 69 61 73 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a ckage($aliasPackage);.}.}.}.}...
85360 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 55 70 64 61 74 65 61 62 6c 65 ...private.function.isUpdateable
85380 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 (PackageInterface.$package).{.if
853a0 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 29 20 7b 0a 74 68 72 .(!$this->updateWhitelist).{.thr
853c0 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 69 73 55 70 64 61 74 65 ow.new.\LogicException('isUpdate
853e0 61 62 6c 65 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 able.should.only.be.called.when.
85400 61 20 77 68 69 74 65 6c 69 73 74 20 69 73 20 70 72 65 73 65 6e 74 27 29 3b 0a 7d 0a 0a 66 6f 72 a.whitelist.is.present');.}..for
85420 65 61 63 68 20 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 20 61 73 20 each.($this->updateWhitelist.as.
85440 24 77 68 69 74 65 4c 69 73 74 65 64 50 61 74 74 65 72 6e 20 3d 3e 20 24 76 6f 69 64 29 20 7b 0a $whiteListedPattern.=>.$void).{.
85460 24 70 61 74 74 65 72 6e 52 65 67 65 78 70 20 3d 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 70 61 $patternRegexp.=.BasePackage::pa
85480 63 6b 61 67 65 4e 61 6d 65 54 6f 52 65 67 65 78 70 28 24 77 68 69 74 65 4c 69 73 74 65 64 50 61 ckageNameToRegexp($whiteListedPa
854a0 74 74 65 72 6e 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 70 61 74 74 65 72 6e 52 ttern);.if.(preg_match($patternR
854c0 65 67 65 78 70 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 20 7b 0a 72 egexp,.$package->getName())).{.r
854e0 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d eturn.true;.}.}..return.false;.}
85500 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 50 6c ......private.function.extractPl
85520 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 6c 69 6e 6b 73 29 0a 7b 0a 24 70 6c atformRequirements($links).{.$pl
85540 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 atformReqs.=.array();.foreach.($
85560 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 links.as.$link).{.if.(preg_match
85580 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 (PlatformRepository::PLATFORM_PA
855a0 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 CKAGE_REGEX,.$link->getTarget())
855c0 29 20 7b 0a 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 ).{.$platformReqs[$link->getTarg
855e0 65 74 28 29 5d 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 et()].=.$link->getPrettyConstrai
85600 6e 74 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 3b nt();.}.}..return.$platformReqs;
85620 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f .}...............private.functio
85640 6e 20 77 68 69 74 65 6c 69 73 74 55 70 64 61 74 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 6c n.whitelistUpdateDependencies($l
85660 6f 63 61 6c 4f 72 4c 6f 63 6b 52 65 70 6f 2c 20 61 72 72 61 79 20 24 72 6f 6f 74 52 65 71 75 69 ocalOrLockRepo,.array.$rootRequi
85680 72 65 73 2c 20 61 72 72 61 79 20 24 72 6f 6f 74 44 65 76 52 65 71 75 69 72 65 73 29 0a 7b 0a 69 res,.array.$rootDevRequires).{.i
856a0 66 20 28 21 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 29 20 7b 0a 72 65 f.(!$this->updateWhitelist).{.re
856c0 74 75 72 6e 3b 0a 7d 0a 0a 24 72 6f 6f 74 52 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 5f 6d turn;.}..$rootRequires.=.array_m
856e0 65 72 67 65 28 24 72 6f 6f 74 52 65 71 75 69 72 65 73 2c 20 24 72 6f 6f 74 44 65 76 52 65 71 75 erge($rootRequires,.$rootDevRequ
85700 69 72 65 73 29 3b 0a 0a 24 73 6b 69 70 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b ires);..$skipPackages.=.array();
85720 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 65 .if.(!$this->whitelistAllDepende
85740 6e 63 69 65 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 6f 74 52 65 71 75 69 72 65 73 20 ncies).{.foreach.($rootRequires.
85760 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 73 6b 69 70 50 61 63 6b 61 67 65 73 5b 24 72 65 as.$require).{.$skipPackages[$re
85780 71 75 69 72 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a quire->getTarget()].=.true;.}.}.
857a0 0a 24 70 6f 6f 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 27 64 65 76 27 29 3b 0a 24 70 6f 6f 6c 2d .$pool.=.new.Pool('dev');.$pool-
857c0 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 6c 6f 63 61 6c 4f 72 4c 6f 63 6b 52 65 70 6f 29 >addRepository($localOrLockRepo)
857e0 3b 0a 0a 24 73 65 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 72 6f 6f 74 52 65 71 75 69 72 ;..$seen.=.array();..$rootRequir
85800 65 64 50 61 63 6b 61 67 65 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 72 6f 6f edPackageNames.=.array_keys($roo
85820 74 52 65 71 75 69 72 65 73 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 75 70 64 tRequires);..foreach.($this->upd
85840 61 74 65 57 68 69 74 65 6c 69 73 74 20 61 73 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 3e 20 ateWhitelist.as.$packageName.=>.
85860 24 76 6f 69 64 29 20 7b 0a 24 70 61 63 6b 61 67 65 51 75 65 75 65 20 3d 20 6e 65 77 20 5c 53 70 $void).{.$packageQueue.=.new.\Sp
85880 6c 51 75 65 75 65 3b 0a 24 6e 61 6d 65 4d 61 74 63 68 65 73 52 65 71 75 69 72 65 64 50 61 63 6b lQueue;.$nameMatchesRequiredPack
858a0 61 67 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 64 65 70 50 61 63 6b 61 67 65 73 20 3d 20 24 70 6f age.=.false;..$depPackages.=.$po
858c0 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a ol->whatProvides($packageName);.
858e0 24 6d 61 74 63 68 65 73 42 79 50 61 74 74 65 72 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 69 $matchesByPattern.=.array();...i
85900 66 20 28 65 6d 70 74 79 28 24 64 65 70 50 61 63 6b 61 67 65 73 29 29 20 7b 0a 0a 20 24 77 68 69 f.(empty($depPackages)).{...$whi
85920 74 65 6c 69 73 74 50 61 74 74 65 72 6e 53 65 61 72 63 68 52 65 67 65 78 70 20 3d 20 42 61 73 65 telistPatternSearchRegexp.=.Base
85940 50 61 63 6b 61 67 65 3a 3a 70 61 63 6b 61 67 65 4e 61 6d 65 54 6f 52 65 67 65 78 70 28 24 70 61 Package::packageNameToRegexp($pa
85960 63 6b 61 67 65 4e 61 6d 65 2c 20 27 5e 25 73 24 27 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f ckageName,.'^%s$');.foreach.($lo
85980 63 61 6c 4f 72 4c 6f 63 6b 52 65 70 6f 2d 3e 73 65 61 72 63 68 28 24 77 68 69 74 65 6c 69 73 74 calOrLockRepo->search($whitelist
859a0 50 61 74 74 65 72 6e 53 65 61 72 63 68 52 65 67 65 78 70 29 20 61 73 20 24 69 6e 73 74 61 6c 6c PatternSearchRegexp).as.$install
859c0 65 64 50 61 63 6b 61 67 65 29 20 7b 0a 24 6d 61 74 63 68 65 73 42 79 50 61 74 74 65 72 6e 5b 5d edPackage).{.$matchesByPattern[]
859e0 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 69 6e 73 74 61 6c 6c 65 .=.$pool->whatProvides($installe
85a00 64 50 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 29 3b 0a 7d 0a 0a 0a 20 24 77 68 69 74 65 6c 69 dPackage['name']);.}....$whiteli
85a20 73 74 50 61 74 74 65 72 6e 52 65 67 65 78 70 20 3d 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 70 stPatternRegexp.=.BasePackage::p
85a40 61 63 6b 61 67 65 4e 61 6d 65 54 6f 52 65 67 65 78 70 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 ackageNameToRegexp($packageName)
85a60 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 6f 74 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 4e ;.foreach.($rootRequiredPackageN
85a80 61 6d 65 73 20 61 73 20 24 72 6f 6f 74 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 4e 61 6d 65 ames.as.$rootRequiredPackageName
85aa0 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 77 68 69 74 65 6c 69 73 74 50 61 74 ).{.if.(preg_match($whitelistPat
85ac0 74 65 72 6e 52 65 67 65 78 70 2c 20 24 72 6f 6f 74 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 ternRegexp,.$rootRequiredPackage
85ae0 4e 61 6d 65 29 29 20 7b 0a 24 6e 61 6d 65 4d 61 74 63 68 65 73 52 65 71 75 69 72 65 64 50 61 63 Name)).{.$nameMatchesRequiredPac
85b00 6b 61 67 65 20 3d 20 74 72 75 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 21 kage.=.true;.break;.}.}.}..if.(!
85b20 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 42 79 50 61 74 74 65 72 6e 29 29 20 7b 0a 24 64 65 70 empty($matchesByPattern)).{.$dep
85b40 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 64 65 70 50 61 63 6b 61 Packages.=.array_merge($depPacka
85b60 67 65 73 2c 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 ges,.call_user_func_array('array
85b80 5f 6d 65 72 67 65 27 2c 20 24 6d 61 74 63 68 65 73 42 79 50 61 74 74 65 72 6e 29 29 3b 0a 7d 0a _merge',.$matchesByPattern));.}.
85ba0 0a 69 66 20 28 63 6f 75 6e 74 28 24 64 65 70 50 61 63 6b 61 67 65 73 29 20 3d 3d 20 30 20 26 26 .if.(count($depPackages).==.0.&&
85bc0 20 21 24 6e 61 6d 65 4d 61 74 63 68 65 73 52 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 26 26 .!$nameMatchesRequiredPackage.&&
85be0 20 21 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 61 72 72 61 79 28 27 .!in_array($packageName,.array('
85c00 6e 6f 74 68 69 6e 67 27 2c 20 27 6c 6f 63 6b 27 2c 20 27 6d 69 72 72 6f 72 73 27 29 29 29 20 7b nothing',.'lock',.'mirrors'))).{
85c20 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 .$this->io->writeError('<warning
85c40 3e 50 61 63 6b 61 67 65 20 22 27 20 2e 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 2e 20 27 22 20 >Package."'...$packageName...'".
85c60 6c 69 73 74 65 64 20 66 6f 72 20 75 70 64 61 74 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c listed.for.update.is.not.install
85c80 65 64 2e 20 49 67 6e 6f 72 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 66 6f ed..Ignoring.</warning>');.}..fo
85ca0 72 65 61 63 68 20 28 24 64 65 70 50 61 63 6b 61 67 65 73 20 61 73 20 24 64 65 70 50 61 63 6b 61 reach.($depPackages.as.$depPacka
85cc0 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 64 65 ge).{.$packageQueue->enqueue($de
85ce0 70 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 21 24 70 61 63 6b 61 67 65 51 75 pPackage);.}..while.(!$packageQu
85d00 65 75 65 2d 3e 69 73 45 6d 70 74 79 28 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 61 eue->isEmpty()).{.$package.=.$pa
85d20 63 6b 61 67 65 51 75 65 75 65 2d 3e 64 65 71 75 65 75 65 28 29 3b 0a 69 66 20 28 69 73 73 65 74 ckageQueue->dequeue();.if.(isset
85d40 28 24 73 65 65 6e 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 28 29 5d 29 29 20 7b 0a 63 6f ($seen[$package->getId()])).{.co
85d60 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 73 65 65 6e 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 49 64 ntinue;.}..$seen[$package->getId
85d80 28 29 5d 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 ()].=.true;.$this->updateWhiteli
85da0 73 74 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 74 72 75 65 3b 0a st[$package->getName()].=.true;.
85dc0 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 44 65 70 65 6e 64 65 6e 63 69 .if.(!$this->whitelistDependenci
85de0 65 73 20 26 26 20 21 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 es.&&.!$this->whitelistAllDepend
85e00 65 6e 63 69 65 73 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 72 65 71 75 69 72 65 73 encies).{.continue;.}..$requires
85e20 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a 0a 66 6f 72 .=.$package->getRequires();..for
85e40 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 75 69 72 65 29 20 7b 0a 24 each.($requires.as.$require).{.$
85e60 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f requirePackages.=.$pool->whatPro
85e80 76 69 64 65 73 28 24 72 65 71 75 69 72 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 3b 0a 0a 66 vides($require->getTarget());..f
85ea0 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 73 20 61 73 20 24 72 65 71 oreach.($requirePackages.as.$req
85ec0 75 69 72 65 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e uirePackage).{.if.(isset($this->
85ee0 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 5b 24 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 2d updateWhitelist[$requirePackage-
85f00 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 >getName()])).{.continue;.}..if.
85f20 28 69 73 73 65 74 28 24 73 6b 69 70 50 61 63 6b 61 67 65 73 5b 24 72 65 71 75 69 72 65 50 61 63 (isset($skipPackages[$requirePac
85f40 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 kage->getName()]).&&.!preg_match
85f60 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 70 61 63 6b 61 67 65 4e 61 6d 65 54 6f 52 65 67 65 78 (BasePackage::packageNameToRegex
85f80 70 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 2c 20 24 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 p($packageName),.$requirePackage
85fa0 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 ->getName())).{.$this->io->write
85fc0 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 44 65 70 65 6e 64 65 6e 63 79 20 22 27 20 2e 20 Error('<warning>Dependency."'...
85fe0 24 72 65 71 75 69 72 65 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 27 22 20 $requirePackage->getName()...'".
86000 69 73 20 61 6c 73 6f 20 61 20 72 6f 6f 74 20 72 65 71 75 69 72 65 6d 65 6e 74 2c 20 62 75 74 20 is.also.a.root.requirement,.but.
86020 69 73 20 6e 6f 74 20 65 78 70 6c 69 63 69 74 6c 79 20 77 68 69 74 65 6c 69 73 74 65 64 2e 20 49 is.not.explicitly.whitelisted..I
86040 67 6e 6f 72 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a gnoring.</warning>');.continue;.
86060 7d 0a 0a 24 70 61 63 6b 61 67 65 51 75 65 75 65 2d 3e 65 6e 71 75 65 75 65 28 24 72 65 71 75 69 }..$packageQueue->enqueue($requi
86080 72 65 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 rePackage);.}.}.}.}.}.........pr
860a0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 6f 63 6b 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f ivate.function.mockLocalReposito
860c0 72 69 65 73 28 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 72 6d 29 0a 7b 0a 24 70 ries(RepositoryManager.$rm).{.$p
860e0 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6d 2d ackages.=.array();.foreach.($rm-
86100 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 2d 3e 67 65 74 50 61 63 6b 61 67 >getLocalRepository()->getPackag
86120 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 28 73 es().as.$package).{.$packages[(s
86140 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 5d 20 3d 20 63 6c 6f 6e 65 20 24 70 61 63 6b 61 67 tring).$package].=.clone.$packag
86160 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 6b 65 79 20 e;.}.foreach.($packages.as.$key.
86180 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 =>.$package).{.if.($package.inst
861a0 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 61 6c 69 61 73 20 3d 20 anceof.AliasPackage).{.$alias.=.
861c0 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b (string).$package->getAliasOf();
861e0 0a 24 70 61 63 6b 61 67 65 73 5b 24 6b 65 79 5d 20 3d 20 6e 65 77 20 41 6c 69 61 73 50 61 63 6b .$packages[$key].=.new.AliasPack
86200 61 67 65 28 24 70 61 63 6b 61 67 65 73 5b 24 61 6c 69 61 73 5d 2c 20 24 70 61 63 6b 61 67 65 2d age($packages[$alias],.$package-
86220 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 >getVersion(),.$package->getPret
86240 74 79 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 7d 0a 24 72 6d 2d 3e 73 65 74 4c 6f 63 61 6c 52 tyVersion());.}.}.$rm->setLocalR
86260 65 70 6f 73 69 74 6f 72 79 28 0a 6e 65 77 20 49 6e 73 74 61 6c 6c 65 64 41 72 72 61 79 52 65 70 epository(.new.InstalledArrayRep
86280 6f 73 69 74 6f 72 79 28 24 70 61 63 6b 61 67 65 73 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ository($packages).);.}.........
862a0 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 49 4f public.static.function.create(IO
862c0 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 Interface.$io,.Composer.$compose
862e0 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 74 61 74 69 63 28 0a 24 69 6f 2c 0a 24 63 6f r).{.return.new.static(.$io,.$co
86300 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e mposer->getConfig(),.$composer->
86320 67 65 74 50 61 63 6b 61 67 65 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 44 6f 77 6e getPackage(),.$composer->getDown
86340 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 loadManager(),.$composer->getRep
86360 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 ositoryManager(),.$composer->get
86380 4c 6f 63 6b 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 Locker(),.$composer->getInstalla
863a0 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 tionManager(),.$composer->getEve
863c0 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 2c 0a 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 41 75 ntDispatcher(),.$composer->getAu
863e0 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c toloadGenerator().);.}......publ
86400 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c ic.function.setAdditionalInstall
86420 65 64 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 edRepository(RepositoryInterface
86440 20 24 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 29 .$additionalInstalledRepository)
86460 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 70 .{.$this->additionalInstalledRep
86480 6f 73 69 74 6f 72 79 20 3d 20 24 61 64 64 69 74 69 6f 6e 61 6c 49 6e 73 74 61 6c 6c 65 64 52 65 ository.=.$additionalInstalledRe
864a0 70 6f 73 69 74 6f 72 79 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a pository;..return.$this;.}......
864c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 72 79 52 75 6e 28 24 64 72 79 ..public.function.setDryRun($dry
864e0 52 75 6e 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 72 79 52 75 6e 20 3d 20 28 62 Run.=.true).{.$this->dryRun.=.(b
86500 6f 6f 6c 29 20 24 64 72 79 52 75 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a ool).$dryRun;..return.$this;.}..
86520 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 72 79 52 75 6e 28 29 0a .....public.function.isDryRun().
86540 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 72 79 52 75 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a {.return.$this->dryRun;.}.......
86560 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 53 6f 75 72 63 65 .public.function.setPreferSource
86580 28 24 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e ($preferSource.=.true).{.$this->
865a0 70 72 65 66 65 72 53 6f 75 72 63 65 20 3d 20 28 62 6f 6f 6c 29 20 24 70 72 65 66 65 72 53 6f 75 preferSource.=.(bool).$preferSou
865c0 72 63 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 rce;..return.$this;.}........pub
865e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 44 69 73 74 28 24 70 72 65 66 lic.function.setPreferDist($pref
86600 65 72 44 69 73 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 44 69 erDist.=.true).{.$this->preferDi
86620 73 74 20 3d 20 28 62 6f 6f 6c 29 20 24 70 72 65 66 65 72 44 69 73 74 3b 0a 0a 72 65 74 75 72 6e st.=.(bool).$preferDist;..return
86640 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$this;.}........public.function
86660 20 73 65 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 28 24 6f 70 74 69 6d 69 7a 65 .setOptimizeAutoloader($optimize
86680 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 Autoloader.=.false).{.$this->opt
866a0 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 28 62 6f 6f 6c 29 20 24 6f 70 74 69 6d 69 imizeAutoloader.=.(bool).$optimi
866c0 7a 65 41 75 74 6f 6c 6f 61 64 65 72 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 70 74 69 6d 69 zeAutoloader;.if.(!$this->optimi
866e0 7a 65 41 75 74 6f 6c 6f 61 64 65 72 29 20 7b 0a 0a 20 0a 20 24 74 68 69 73 2d 3e 73 65 74 43 6c zeAutoloader).{.....$this->setCl
86700 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 7d 0a 0a 72 assMapAuthoritative(false);.}..r
86720 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 eturn.$this;.}.........public.fu
86740 6e 63 74 69 6f 6e 20 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 nction.setClassMapAuthoritative(
86760 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 66 61 6c 73 65 29 0a $classMapAuthoritative.=.false).
86780 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d {.$this->classMapAuthoritative.=
867a0 20 28 62 6f 6f 6c 29 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 3b 0a .(bool).$classMapAuthoritative;.
867c0 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 if.($this->classMapAuthoritative
867e0 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 73 65 74 4f 70 74 69 6d 69 7a 65 41 75 74 6f 6c 6f 61 64 ).{...$this->setOptimizeAutoload
86800 65 72 28 74 72 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a er(true);.}..return.$this;.}....
86820 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 70 63 75 41 75 74 6f 6c ....public.function.setApcuAutol
86840 6f 61 64 65 72 28 24 61 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 66 61 6c 73 65 29 0a 7b oader($apcuAutoloader.=.false).{
86860 0a 24 74 68 69 73 2d 3e 61 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 20 3d 20 28 62 6f 6f 6c 29 20 .$this->apcuAutoloader.=.(bool).
86880 24 61 70 63 75 41 75 74 6f 6c 6f 61 64 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a $apcuAutoloader;..return.$this;.
868a0 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 70 64 61 }........public.function.setUpda
868c0 74 65 28 24 75 70 64 61 74 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 te($update.=.true).{.$this->upda
868e0 74 65 20 3d 20 28 62 6f 6f 6c 29 20 24 75 70 64 61 74 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 te.=.(bool).$update;..return.$th
86900 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 is;.}........public.function.set
86920 44 65 76 4d 6f 64 65 28 24 64 65 76 4d 6f 64 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 DevMode($devMode.=.true).{.$this
86940 2d 3e 64 65 76 4d 6f 64 65 20 3d 20 28 62 6f 6f 6c 29 20 24 64 65 76 4d 6f 64 65 3b 0a 0a 72 65 ->devMode.=.(bool).$devMode;..re
86960 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 turn.$this;.}..........public.fu
86980 6e 63 74 69 6f 6e 20 73 65 74 44 75 6d 70 41 75 74 6f 6c 6f 61 64 65 72 28 24 64 75 6d 70 41 75 nction.setDumpAutoloader($dumpAu
869a0 74 6f 6c 6f 61 64 65 72 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 75 6d 70 41 75 toloader.=.true).{.$this->dumpAu
869c0 74 6f 6c 6f 61 64 65 72 20 3d 20 28 62 6f 6f 6c 29 20 24 64 75 6d 70 41 75 74 6f 6c 6f 61 64 65 toloader.=.(bool).$dumpAutoloade
869e0 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 r;..return.$this;.}..........pub
86a00 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 75 6e 53 63 72 69 70 74 73 28 24 72 75 6e 53 lic.function.setRunScripts($runS
86a20 63 72 69 70 74 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 75 6e 53 63 72 69 70 cripts.=.true).{.$this->runScrip
86a40 74 73 20 3d 20 28 62 6f 6f 6c 29 20 24 72 75 6e 53 63 72 69 70 74 73 3b 0a 0a 72 65 74 75 72 6e ts.=.(bool).$runScripts;..return
86a60 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$this;.}........public.function
86a80 20 73 65 74 43 6f 6e 66 69 67 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 .setConfig(Config.$config).{.$th
86aa0 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 0a 72 65 74 75 72 6e 20 24 74 is->config.=.$config;..return.$t
86ac0 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 his;.}........public.function.se
86ae0 74 56 65 72 62 6f 73 65 28 24 76 65 72 62 6f 73 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 tVerbose($verbose.=.true).{.$thi
86b00 73 2d 3e 76 65 72 62 6f 73 65 20 3d 20 28 62 6f 6f 6c 29 20 24 76 65 72 62 6f 73 65 3b 0a 0a 72 s->verbose.=.(bool).$verbose;..r
86b20 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 eturn.$this;.}.......public.func
86b40 74 69 6f 6e 20 69 73 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d tion.isVerbose().{.return.$this-
86b60 3e 76 65 72 62 6f 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 >verbose;.}........public.functi
86b80 6f 6e 20 73 65 74 49 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 75 69 72 65 6d 65 6e 74 73 on.setIgnorePlatformRequirements
86ba0 28 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a ($ignorePlatformReqs.=.false).{.
86bc0 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 20 3d 20 28 62 6f 6f $this->ignorePlatformReqs.=.(boo
86be0 6c 29 20 24 69 67 6e 6f 72 65 50 6c 61 74 66 6f 72 6d 52 65 71 73 3b 0a 0a 72 65 74 75 72 6e 20 l).$ignorePlatformReqs;..return.
86c00 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e $this;.}.........public.function
86c20 20 73 65 74 55 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 28 61 72 72 61 79 20 24 70 61 63 6b 61 .setUpdateWhitelist(array.$packa
86c40 67 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 57 68 69 74 65 6c 69 73 74 20 3d 20 ges).{.$this->updateWhitelist.=.
86c60 61 72 72 61 79 5f 66 6c 69 70 28 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 74 6f 6c 6f 77 65 72 array_flip(array_map('strtolower
86c80 27 2c 20 24 70 61 63 6b 61 67 65 73 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d ',.$packages));..return.$this;.}
86ca0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 68 69 74 65 6c 69 73 .....public.function.setWhitelis
86cc0 74 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 75 70 64 61 74 65 44 65 70 65 6e 64 65 6e 63 69 65 tDependencies($updateDependencie
86ce0 73 20 3d 20 74 72 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 65 74 57 68 69 s.=.true).{.return.$this->setWhi
86d00 74 65 6c 69 73 74 54 72 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 75 70 telistTransitiveDependencies($up
86d20 64 61 74 65 44 65 70 65 6e 64 65 6e 63 69 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 dateDependencies);.}...........p
86d40 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 68 69 74 65 6c 69 73 74 54 72 61 6e 73 ublic.function.setWhitelistTrans
86d60 69 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 75 70 64 61 74 65 54 72 61 6e 73 69 74 itiveDependencies($updateTransit
86d80 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d iveDependencies.=.true).{.$this-
86da0 3e 77 68 69 74 65 6c 69 73 74 44 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 28 62 6f 6f 6c 29 20 >whitelistDependencies.=.(bool).
86dc0 24 75 70 64 61 74 65 54 72 61 6e 73 69 74 69 76 65 44 65 70 65 6e 64 65 6e 63 69 65 73 3b 0a 0a $updateTransitiveDependencies;..
86de0 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 return.$this;.}...........public
86e00 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 65 .function.setWhitelistAllDepende
86e20 6e 63 69 65 73 28 24 75 70 64 61 74 65 41 6c 6c 44 65 70 65 6e 64 65 6e 63 69 65 73 20 3d 20 74 ncies($updateAllDependencies.=.t
86e40 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 68 69 74 65 6c 69 73 74 41 6c 6c 44 65 70 65 6e 64 rue).{.$this->whitelistAllDepend
86e60 65 6e 63 69 65 73 20 3d 20 28 62 6f 6f 6c 29 20 24 75 70 64 61 74 65 41 6c 6c 44 65 70 65 6e 64 encies.=.(bool).$updateAllDepend
86e80 65 6e 63 69 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a encies;..return.$this;.}........
86ea0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 public.function.setPreferStable(
86ec0 24 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 $preferStable.=.true).{.$this->p
86ee0 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 28 62 6f 6f 6c 29 20 24 70 72 65 66 65 72 53 74 61 62 referStable.=.(bool).$preferStab
86f00 6c 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c le;..return.$this;.}........publ
86f20 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 66 65 72 4c 6f 77 65 73 74 28 24 70 72 65 ic.function.setPreferLowest($pre
86f40 66 65 72 4c 6f 77 65 73 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 ferLowest.=.true).{.$this->prefe
86f60 72 4c 6f 77 65 73 74 20 3d 20 28 62 6f 6f 6c 29 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 3b 0a rLowest.=.(bool).$preferLowest;.
86f80 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .return.$this;.}..........public
86fa0 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 72 69 74 65 4c 6f 63 6b 28 24 77 72 69 74 65 4c 6f 63 .function.setWriteLock($writeLoc
86fc0 6b 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 4c 6f 63 6b 20 3d 20 28 k.=.true).{.$this->writeLock.=.(
86fe0 62 6f 6f 6c 29 20 24 77 72 69 74 65 4c 6f 63 6b 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b bool).$writeLock;..return.$this;
87000 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 .}..........public.function.setE
87020 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f 6e 73 28 24 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 xecuteOperations($executeOperati
87040 6f 6e 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 4f 70 65 72 ons.=.true).{.$this->executeOper
87060 61 74 69 6f 6e 73 20 3d 20 28 62 6f 6f 6c 29 20 24 65 78 65 63 75 74 65 4f 70 65 72 61 74 69 6f ations.=.(bool).$executeOperatio
87080 6e 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ns;..return.$this;.}........publ
870a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6b 69 70 53 75 67 67 65 73 74 28 24 73 6b 69 70 ic.function.setSkipSuggest($skip
870c0 53 75 67 67 65 73 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6b 69 70 53 75 67 Suggest.=.true).{.$this->skipSug
870e0 67 65 73 74 20 3d 20 28 62 6f 6f 6c 29 20 24 73 6b 69 70 53 75 67 67 65 73 74 3b 0a 0a 72 65 74 gest.=.(bool).$skipSuggest;..ret
87100 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 urn.$this;.}...........public.fu
87120 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 28 29 0a 7b 0a 24 74 68 69 73 2d nction.disablePlugins().{.$this-
87140 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 64 69 73 61 62 6c 65 50 6c 75 >installationManager->disablePlu
87160 67 69 6e 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 gins();..return.$this;.}......pu
87180 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 blic.function.setSuggestedPackag
871a0 65 73 52 65 70 6f 72 74 65 72 28 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f esReporter(SuggestedPackagesRepo
871c0 72 74 65 72 20 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 29 rter.$suggestedPackagesReporter)
871e0 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 .{.$this->suggestedPackagesRepor
87200 74 65 72 20 3d 20 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 ter.=.$suggestedPackagesReporter
87220 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a ;..return.$this;.}.}.<?php......
87240 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c ......namespace.Composer\Install
87260 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 er;..use.Composer\IO\IOInterface
87280 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e ;.use.Composer\Package\PackageIn
872a0 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 terface;.use.Composer\Util\Files
872c0 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 ystem;.use.Composer\Util\Platfor
872e0 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 m;.use.Composer\Util\ProcessExec
87300 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 utor;.use.Composer\Util\Silencer
87320 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 0a ;.........class.BinaryInstaller.
87340 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 69 6e 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 {.protected.$binDir;.protected.$
87360 62 69 6e 43 6f 6d 70 61 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 binCompat;.protected.$io;.protec
87380 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ted.$filesystem;........public.f
873a0 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 unction.__construct(IOInterface.
873c0 24 69 6f 2c 20 24 62 69 6e 44 69 72 2c 20 24 62 69 6e 43 6f 6d 70 61 74 2c 20 46 69 6c 65 73 79 $io,.$binDir,.$binCompat,.Filesy
873e0 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 stem.$filesystem.=.null).{.$this
87400 2d 3e 62 69 6e 44 69 72 20 3d 20 24 62 69 6e 44 69 72 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 43 6f ->binDir.=.$binDir;.$this->binCo
87420 6d 70 61 74 20 3d 20 24 62 69 6e 43 6f 6d 70 61 74 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 mpat.=.$binCompat;.$this->io.=.$
87440 69 6f 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 66 69 6c 65 73 79 73 io;.$this->filesystem.=.$filesys
87460 74 65 6d 20 3f 3a 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 7d 0a 0a 70 75 62 6c tem.?:.new.Filesystem();.}..publ
87480 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 42 69 6e 61 72 69 65 73 28 50 61 63 6b ic.function.installBinaries(Pack
874a0 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 69 6e 73 74 61 6c 6c 50 ageInterface.$package,.$installP
874c0 61 74 68 2c 20 24 77 61 72 6e 4f 6e 4f 76 65 72 77 72 69 74 65 20 3d 20 74 72 75 65 29 0a 7b 0a ath,.$warnOnOverwrite.=.true).{.
874e0 24 62 69 6e 61 72 69 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 69 6e 61 72 69 65 73 28 24 $binaries.=.$this->getBinaries($
87500 70 61 63 6b 61 67 65 29 3b 0a 69 66 20 28 21 24 62 69 6e 61 72 69 65 73 29 20 7b 0a 72 65 74 75 package);.if.(!$binaries).{.retu
87520 72 6e 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 62 69 6e 61 72 69 65 73 20 61 73 20 24 62 69 6e rn;.}.foreach.($binaries.as.$bin
87540 29 20 7b 0a 24 62 69 6e 50 61 74 68 20 3d 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 2e 27 2f 27 2e ).{.$binPath.=.$installPath.'/'.
87560 24 62 69 6e 3b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 62 69 6e 50 61 74 68 29 $bin;.if.(!file_exists($binPath)
87580 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 3c ).{.$this->io->writeError('....<
875a0 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f 66 20 warning>Skipped.installation.of.
875c0 62 69 6e 20 27 2e 24 62 69 6e 2e 27 20 66 6f 72 20 70 61 63 6b 61 67 65 20 27 2e 24 70 61 63 6b bin.'.$bin.'.for.package.'.$pack
875e0 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3a 20 66 69 6c 65 20 6e 6f 74 20 66 6f 75 6e 64 age->getName().':.file.not.found
87600 20 69 6e 20 70 61 63 6b 61 67 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 63 6f 6e 74 69 6e 75 .in.package</warning>');.continu
87620 65 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 0a 20 24 62 69 6e 50 61 74 68 20 3d 20 72 65 61 6c 70 61 74 e;.}..........$binPath.=.realpat
87640 68 28 24 62 69 6e 50 61 74 68 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 42 h($binPath);..$this->initializeB
87660 69 6e 44 69 72 28 29 3b 0a 24 6c 69 6e 6b 20 3d 20 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2e 27 inDir();.$link.=.$this->binDir.'
87680 2f 27 2e 62 61 73 65 6e 61 6d 65 28 24 62 69 6e 29 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 /'.basename($bin);.if.(file_exis
876a0 74 73 28 24 6c 69 6e 6b 29 29 20 7b 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 6c 69 6e 6b 29 29 ts($link)).{.if.(is_link($link))
876c0 20 7b 0a 0a 20 0a 20 0a 20 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 63 68 6d 6f 64 27 2c .{.......Silencer::call('chmod',
876e0 20 24 6c 69 6e 6b 2c 20 30 37 37 37 20 26 20 7e 75 6d 61 73 6b 28 29 29 3b 0a 7d 0a 69 66 20 28 .$link,.0777.&.~umask());.}.if.(
87700 24 77 61 72 6e 4f 6e 4f 76 65 72 77 72 69 74 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 $warnOnOverwrite).{.$this->io->w
87720 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 53 6b 69 70 70 65 64 20 69 6e 73 74 61 6c 6c 61 74 riteError('....Skipped.installat
87740 69 6f 6e 20 6f 66 20 62 69 6e 20 27 2e 24 62 69 6e 2e 27 20 66 6f 72 20 70 61 63 6b 61 67 65 20 ion.of.bin.'.$bin.'.for.package.
87760 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3a 20 6e 61 6d 65 20 63 6f '.$package->getName().':.name.co
87780 6e 66 6c 69 63 74 73 20 77 69 74 68 20 61 6e 20 65 78 69 73 74 69 6e 67 20 66 69 6c 65 27 29 3b nflicts.with.an.existing.file');
877a0 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 62 69 6e 43 6f .}.continue;.}..if.($this->binCo
877c0 6d 70 61 74 20 3d 3d 3d 20 22 61 75 74 6f 22 29 20 7b 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a mpat.===."auto").{.if.(Platform:
877e0 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 46 75 :isWindows()).{.$this->installFu
87800 6c 6c 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 2c 20 24 62 69 6e llBinaries($binPath,.$link,.$bin
87820 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 ,.$package);.}.else.{.$this->ins
87840 74 61 6c 6c 53 79 6d 6c 69 6e 6b 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c tallSymlinkBinaries($binPath,.$l
87860 69 6e 6b 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 62 69 6e 43 6f 6d 70 ink);.}.}.elseif.($this->binComp
87880 61 74 20 3d 3d 3d 20 22 66 75 6c 6c 22 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 46 at.===."full").{.$this->installF
878a0 75 6c 6c 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 2c 20 24 62 69 ullBinaries($binPath,.$link,.$bi
878c0 6e 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 n,.$package);.}.Silencer::call('
878e0 63 68 6d 6f 64 27 2c 20 24 6c 69 6e 6b 2c 20 30 37 37 37 20 26 20 7e 75 6d 61 73 6b 28 29 29 3b chmod',.$link,.0777.&.~umask());
87900 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 42 69 6e 61 .}.}..public.function.removeBina
87920 72 69 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a ries(PackageInterface.$package).
87940 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 42 69 6e 44 69 72 28 29 3b 0a 0a 24 62 {.$this->initializeBinDir();..$b
87960 69 6e 61 72 69 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 69 6e 61 72 69 65 73 28 24 70 61 inaries.=.$this->getBinaries($pa
87980 63 6b 61 67 65 29 3b 0a 69 66 20 28 21 24 62 69 6e 61 72 69 65 73 29 20 7b 0a 72 65 74 75 72 6e ckage);.if.(!$binaries).{.return
879a0 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 62 69 6e 61 72 69 65 73 20 61 73 20 24 62 69 6e 29 20 ;.}.foreach.($binaries.as.$bin).
879c0 7b 0a 24 6c 69 6e 6b 20 3d 20 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2e 27 2f 27 2e 62 61 73 65 {.$link.=.$this->binDir.'/'.base
879e0 6e 61 6d 65 28 24 62 69 6e 29 3b 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 6c 69 6e 6b 29 20 7c name($bin);.if.(is_link($link).|
87a00 7c 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 6c 69 6e 6b 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 |.file_exists($link)).{.$this->f
87a20 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 6c 69 6e 6b 29 3b 0a 7d 0a 69 66 20 28 ilesystem->unlink($link);.}.if.(
87a40 66 69 6c 65 5f 65 78 69 73 74 73 28 24 6c 69 6e 6b 2e 27 2e 62 61 74 27 29 29 20 7b 0a 24 74 68 file_exists($link.'.bat')).{.$th
87a60 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b 28 24 6c 69 6e 6b 2e 27 2e 62 is->filesystem->unlink($link.'.b
87a80 61 74 27 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 64 69 72 28 24 74 68 69 73 2d 3e 62 at');.}.}....if.(is_dir($this->b
87aa0 69 6e 44 69 72 29 20 26 26 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 44 inDir).&&.$this->filesystem->isD
87ac0 69 72 45 6d 70 74 79 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 29 29 20 7b 0a 53 69 6c 65 6e 63 irEmpty($this->binDir)).{.Silenc
87ae0 65 72 3a 3a 63 61 6c 6c 28 27 72 6d 64 69 72 27 2c 20 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 29 er::call('rmdir',.$this->binDir)
87b00 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 ;.}.}..public.static.function.de
87b20 74 65 72 6d 69 6e 65 42 69 6e 61 72 79 43 61 6c 6c 65 72 28 24 62 69 6e 29 0a 7b 0a 69 66 20 28 termineBinaryCaller($bin).{.if.(
87b40 27 2e 62 61 74 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 62 69 6e 2c 20 2d 34 29 20 7c 7c 20 27 '.bat'.===.substr($bin,.-4).||.'
87b60 2e 65 78 65 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 62 69 6e 2c 20 2d 34 29 29 20 7b 0a 72 65 .exe'.===.substr($bin,.-4)).{.re
87b80 74 75 72 6e 20 27 63 61 6c 6c 27 3b 0a 7d 0a 0a 24 68 61 6e 64 6c 65 20 3d 20 66 6f 70 65 6e 28 turn.'call';.}..$handle.=.fopen(
87ba0 24 62 69 6e 2c 20 27 72 27 29 3b 0a 24 6c 69 6e 65 20 3d 20 66 67 65 74 73 28 24 68 61 6e 64 6c $bin,.'r');.$line.=.fgets($handl
87bc0 65 29 3b 0a 66 63 6c 6f 73 65 28 24 68 61 6e 64 6c 65 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 e);.fclose($handle);.if.(preg_ma
87be0 74 63 68 28 27 7b 5e 23 21 2f 28 3f 3a 75 73 72 2f 62 69 6e 2f 65 6e 76 20 29 3f 28 3f 3a 5b 5e tch('{^#!/(?:usr/bin/env.)?(?:[^
87c00 2f 5d 2b 2f 29 2a 28 2e 2b 29 24 7d 6d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 68 29 29 20 /]+/)*(.+)$}m',.$line,.$match)).
87c20 7b 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 0a 0a 72 65 74 {.return.trim($match[1]);.}..ret
87c40 75 72 6e 20 27 70 68 70 27 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e urn.'php';.}..protected.function
87c60 20 67 65 74 42 69 6e 61 72 69 65 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 .getBinaries(PackageInterface.$p
87c80 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 42 69 ackage).{.return.$package->getBi
87ca0 6e 61 72 69 65 73 28 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 naries();.}..protected.function.
87cc0 69 6e 73 74 61 6c 6c 46 75 6c 6c 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c installFullBinaries($binPath,.$l
87ce0 69 6e 6b 2c 20 24 62 69 6e 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 ink,.$bin,.PackageInterface.$pac
87d00 6b 61 67 65 29 0a 7b 0a 0a 20 69 66 20 28 27 2e 62 61 74 27 20 21 3d 3d 20 73 75 62 73 74 72 28 kage).{...if.('.bat'.!==.substr(
87d20 24 62 69 6e 50 61 74 68 2c 20 2d 34 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 55 $binPath,.-4)).{.$this->installU
87d40 6e 69 78 79 50 72 6f 78 79 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e nixyProxyBinaries($binPath,.$lin
87d60 6b 29 3b 0a 40 63 68 6d 6f 64 28 24 6c 69 6e 6b 2c 20 30 37 37 37 20 26 20 7e 75 6d 61 73 6b 28 k);.@chmod($link,.0777.&.~umask(
87d80 29 29 3b 0a 24 6c 69 6e 6b 20 2e 3d 20 27 2e 62 61 74 27 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 ));.$link..=.'.bat';.if.(file_ex
87da0 69 73 74 73 28 24 6c 69 6e 6b 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 ists($link)).{.$this->io->writeE
87dc0 72 72 6f 72 28 27 20 20 20 20 53 6b 69 70 70 65 64 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 6f rror('....Skipped.installation.o
87de0 66 20 62 69 6e 20 27 2e 24 62 69 6e 2e 27 2e 62 61 74 20 70 72 6f 78 79 20 66 6f 72 20 70 61 63 f.bin.'.$bin.'.bat.proxy.for.pac
87e00 6b 61 67 65 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3a 20 61 20 kage.'.$package->getName().':.a.
87e20 2e 62 61 74 20 70 72 6f 78 79 20 77 61 73 20 61 6c 72 65 61 64 79 20 69 6e 73 74 61 6c 6c 65 64 .bat.proxy.was.already.installed
87e40 27 29 3b 0a 7d 0a 7d 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 6c 69 6e 6b 29 29 ');.}.}.if.(!file_exists($link))
87e60 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6c 69 6e 6b 2c 20 24 74 68 69 .{.file_put_contents($link,.$thi
87e80 73 2d 3e 67 65 6e 65 72 61 74 65 57 69 6e 64 6f 77 73 50 72 6f 78 79 43 6f 64 65 28 24 62 69 6e s->generateWindowsProxyCode($bin
87ea0 50 61 74 68 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 Path,.$link));.}.}..protected.fu
87ec0 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 53 79 6d 6c 69 6e 6b 42 69 6e 61 72 69 65 73 28 24 62 nction.installSymlinkBinaries($b
87ee0 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c inPath,.$link).{.if.(!$this->fil
87f00 65 73 79 73 74 65 6d 2d 3e 72 65 6c 61 74 69 76 65 53 79 6d 6c 69 6e 6b 28 24 62 69 6e 50 61 74 esystem->relativeSymlink($binPat
87f20 68 2c 20 24 6c 69 6e 6b 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 55 6e 69 78 79 h,.$link)).{.$this->installUnixy
87f40 50 72 6f 78 79 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e 6b 29 3b 0a ProxyBinaries($binPath,.$link);.
87f60 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 55 }.}..protected.function.installU
87f80 6e 69 78 79 50 72 6f 78 79 42 69 6e 61 72 69 65 73 28 24 62 69 6e 50 61 74 68 2c 20 24 6c 69 6e nixyProxyBinaries($binPath,.$lin
87fa0 6b 29 0a 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6c 69 6e 6b 2c 20 24 74 k).{.file_put_contents($link,.$t
87fc0 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 55 6e 69 78 79 50 72 6f 78 79 43 6f 64 65 28 24 62 69 6e his->generateUnixyProxyCode($bin
87fe0 50 61 74 68 2c 20 24 6c 69 6e 6b 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 Path,.$link));.}..protected.func
88000 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 42 69 6e 44 69 72 28 29 0a 7b 0a 24 74 68 69 73 2d tion.initializeBinDir().{.$this-
88020 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 >filesystem->ensureDirectoryExis
88040 74 73 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 29 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 ts($this->binDir);.$this->binDir
88060 20 3d 20 72 65 61 6c 70 61 74 68 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 29 3b 0a 7d 0a 0a 70 .=.realpath($this->binDir);.}..p
88080 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 57 69 6e 64 6f 77 rotected.function.generateWindow
880a0 73 50 72 6f 78 79 43 6f 64 65 28 24 62 69 6e 2c 20 24 6c 69 6e 6b 29 0a 7b 0a 24 62 69 6e 50 61 sProxyCode($bin,.$link).{.$binPa
880c0 74 68 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 th.=.$this->filesystem->findShor
880e0 74 65 73 74 50 61 74 68 28 24 6c 69 6e 6b 2c 20 24 62 69 6e 29 3b 0a 24 63 61 6c 6c 65 72 20 3d testPath($link,.$bin);.$caller.=
88100 20 73 65 6c 66 3a 3a 64 65 74 65 72 6d 69 6e 65 42 69 6e 61 72 79 43 61 6c 6c 65 72 28 24 62 69 .self::determineBinaryCaller($bi
88120 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 22 40 45 43 48 4f 20 4f 46 46 5c 72 5c 6e 22 2e 0a 22 73 65 n);..return."@ECHO.OFF\r\n".."se
88140 74 6c 6f 63 61 6c 20 44 49 53 41 42 4c 45 44 45 4c 41 59 45 44 45 58 50 41 4e 53 49 4f 4e 5c 72 tlocal.DISABLEDELAYEDEXPANSION\r
88160 5c 6e 22 2e 0a 22 53 45 54 20 42 49 4e 5f 54 41 52 47 45 54 3d 25 7e 64 70 30 2f 22 2e 74 72 69 \n".."SET.BIN_TARGET=%~dp0/".tri
88180 6d 28 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 62 69 6e 50 61 m(ProcessExecutor::escape($binPa
881a0 74 68 29 2c 20 27 22 5c 27 27 29 2e 22 5c 72 5c 6e 22 2e 0a 22 7b 24 63 61 6c 6c 65 72 7d 20 5c th),.'"\'')."\r\n".."{$caller}.\
881c0 22 25 42 49 4e 5f 54 41 52 47 45 54 25 5c 22 20 25 2a 5c 72 5c 6e 22 3b 0a 7d 0a 0a 70 72 6f 74 "%BIN_TARGET%\".%*\r\n";.}..prot
881e0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 55 6e 69 78 79 50 72 6f 78 ected.function.generateUnixyProx
88200 79 43 6f 64 65 28 24 62 69 6e 2c 20 24 6c 69 6e 6b 29 0a 7b 0a 24 62 69 6e 50 61 74 68 20 3d 20 yCode($bin,.$link).{.$binPath.=.
88220 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 $this->filesystem->findShortestP
88240 61 74 68 28 24 6c 69 6e 6b 2c 20 24 62 69 6e 29 3b 0a 0a 24 62 69 6e 44 69 72 20 3d 20 50 72 6f ath($link,.$bin);..$binDir.=.Pro
88260 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 64 69 72 6e 61 6d 65 28 24 62 69 cessExecutor::escape(dirname($bi
88280 6e 50 61 74 68 29 29 3b 0a 24 62 69 6e 46 69 6c 65 20 3d 20 62 61 73 65 6e 61 6d 65 28 24 62 69 nPath));.$binFile.=.basename($bi
882a0 6e 50 61 74 68 29 3b 0a 0a 24 70 72 6f 78 79 43 6f 64 65 20 3d 20 3c 3c 3c 50 52 4f 58 59 0a 23 nPath);..$proxyCode.=.<<<PROXY.#
882c0 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 73 68 0a 0a 64 69 72 3d 5c 24 28 63 64 20 22 5c 24 7b !/usr/bin/env.sh..dir=\$(cd."\${
882e0 30 25 5b 2f 5c 5c 5c 5c 5d 2a 7d 22 20 3e 20 2f 64 65 76 2f 6e 75 6c 6c 3b 20 63 64 20 24 62 69 0%[/\\\\]*}".>./dev/null;.cd.$bi
88300 6e 44 69 72 20 26 26 20 70 77 64 29 0a 0a 69 66 20 5b 20 2d 64 20 2f 70 72 6f 63 2f 63 79 67 64 nDir.&&.pwd)..if.[.-d./proc/cygd
88320 72 69 76 65 20 5d 3b 20 74 68 65 6e 0a 20 20 20 20 63 61 73 65 20 5c 24 28 77 68 69 63 68 20 70 rive.];.then.....case.\$(which.p
88340 68 70 29 20 69 6e 0a 20 20 20 20 20 20 20 20 5c 24 28 72 65 61 64 6c 69 6e 6b 20 2d 6e 20 2f 70 hp).in.........\$(readlink.-n./p
88360 72 6f 63 2f 63 79 67 64 72 69 76 65 29 2f 2a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 20 57 roc/cygdrive)/*).............#.W
88380 65 20 61 72 65 20 69 6e 20 43 79 67 77 69 6e 20 75 73 69 6e 67 20 57 69 6e 64 6f 77 73 20 70 68 e.are.in.Cygwin.using.Windows.ph
883a0 70 2c 20 73 6f 20 74 68 65 20 70 61 74 68 20 6d 75 73 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 p,.so.the.path.must.be.translate
883c0 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 3d 5c 24 28 63 79 67 70 61 74 68 20 2d 6d 20 d.............dir=\$(cygpath.-m.
883e0 22 5c 24 64 69 72 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 65 73 61 "\$dir");.............;;.....esa
88400 63 0a 66 69 0a 0a 22 5c 24 7b 64 69 72 7d 2f 24 62 69 6e 46 69 6c 65 22 20 22 5c 24 40 22 0a 0a c.fi.."\${dir}/$binFile"."\$@"..
88420 50 52 4f 58 59 3b 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 78 79 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c PROXY;..return.$proxyCode;.}.}.<
88440 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
88460 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b er\Installer;..use.Composer\Pack
88480 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 age\PackageInterface;.......inte
884a0 72 66 61 63 65 20 42 69 6e 61 72 79 50 72 65 73 65 6e 63 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a rface.BinaryPresenceInterface.{.
884c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 73 75 72 65 42 69 6e 61 72 .....public.function.ensureBinar
884e0 69 65 73 50 72 65 73 65 6e 63 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 iesPresence(PackageInterface.$pa
88500 63 6b 61 67 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 ckage);.}.<?php............names
88520 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f pace.Composer\Installer;..use.Co
88540 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f mposer\IO\IOInterface;.use.Compo
88560 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 ser\Package\PackageInterface;.us
88580 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b e.Composer\Package\AliasPackage;
885a0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 .use.Composer\Repository\Reposit
885c0 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 oryInterface;.use.Composer\Repos
885e0 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 itory\InstalledRepositoryInterfa
88600 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c ce;.use.Composer\DependencyResol
88620 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 ver\Operation\OperationInterface
88640 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 ;.use.Composer\DependencyResolve
88660 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 49 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 r\Operation\InstallOperation;.us
88680 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 e.Composer\DependencyResolver\Op
886a0 65 72 61 74 69 6f 6e 5c 55 70 64 61 74 65 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d eration\UpdateOperation;.use.Com
886c0 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 poser\DependencyResolver\Operati
886e0 6f 6e 5c 55 6e 69 6e 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f on\UninstallOperation;.use.Compo
88700 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e ser\DependencyResolver\Operation
88720 5c 4d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 69 6f 6e 3b 0a 75 73 \MarkAliasInstalledOperation;.us
88740 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 e.Composer\DependencyResolver\Op
88760 65 72 61 74 69 6f 6e 5c 4d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 65 72 eration\MarkAliasUninstalledOper
88780 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 74 72 65 61 6d 43 ation;.use.Composer\Util\StreamC
887a0 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 ontextFactory;.........class.Ins
887c0 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 tallationManager.{.private.$inst
887e0 61 6c 6c 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 63 61 63 68 65 allers.=.array();.private.$cache
88800 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6e 6f 74 69 66 69 61 62 6c 65 50 .=.array();.private.$notifiableP
88820 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ackages.=.array();..public.funct
88840 69 6f 6e 20 72 65 73 65 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 69 61 62 6c 65 50 ion.reset().{.$this->notifiableP
88860 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ackages.=.array();.}.......publi
88880 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 49 6e 73 74 61 6c 6c 65 c.function.addInstaller(Installe
888a0 72 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 72 29 0a 7b 0a 61 72 72 61 79 5f 75 rInterface.$installer).{.array_u
888c0 6e 73 68 69 66 74 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 2c 20 24 69 6e 73 74 61 nshift($this->installers,.$insta
888e0 6c 6c 65 72 29 3b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d ller);.$this->cache.=.array();.}
88900 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 49 6e 73 .......public.function.removeIns
88920 74 61 6c 6c 65 72 28 49 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 20 24 69 6e 73 74 61 taller(InstallerInterface.$insta
88940 6c 6c 65 72 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 6b 65 79 20 3d 20 61 72 ller).{.if.(false.!==.($key.=.ar
88960 72 61 79 5f 73 65 61 72 63 68 28 24 69 6e 73 74 61 6c 6c 65 72 2c 20 24 74 68 69 73 2d 3e 69 6e ray_search($installer,.$this->in
88980 73 74 61 6c 6c 65 72 73 2c 20 74 72 75 65 29 29 29 20 7b 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 stallers,.true))).{.array_splice
889a0 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 2c 20 24 6b 65 79 2c 20 31 29 3b 0a 24 74 ($this->installers,.$key,.1);.$t
889c0 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a his->cache.=.array();.}.}.......
889e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 ..public.function.disablePlugins
88a00 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 20 ().{.foreach.($this->installers.
88a20 61 73 20 24 69 20 3d 3e 20 24 69 6e 73 74 61 6c 6c 65 72 29 20 7b 0a 69 66 20 28 21 24 69 6e 73 as.$i.=>.$installer).{.if.(!$ins
88a40 74 61 6c 6c 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 50 6c 75 67 69 6e 49 6e 73 74 61 6c 6c 65 taller.instanceof.PluginInstalle
88a60 72 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 69 r).{.continue;.}..unset($this->i
88a80 6e 73 74 61 6c 6c 65 72 73 5b 24 69 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 nstallers[$i]);.}.}..........pub
88aa0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 74 79 70 65 29 lic.function.getInstaller($type)
88ac0 0a 7b 0a 24 74 79 70 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 79 70 65 29 3b 0a 0a 69 .{.$type.=.strtolower($type);..i
88ae0 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 61 63 68 65 5b 24 74 79 70 65 5d 29 29 20 7b f.(isset($this->cache[$type])).{
88b00 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 63 68 65 5b 24 74 79 70 65 5d 3b 0a 7d 0a 0a .return.$this->cache[$type];.}..
88b20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 73 20 61 73 20 24 69 foreach.($this->installers.as.$i
88b40 6e 73 74 61 6c 6c 65 72 29 20 7b 0a 69 66 20 28 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 73 75 70 70 nstaller).{.if.($installer->supp
88b60 6f 72 74 73 28 24 74 79 70 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 63 orts($type)).{.return.$this->cac
88b80 68 65 5b 24 74 79 70 65 5d 20 3d 20 24 69 6e 73 74 61 6c 6c 65 72 3b 0a 7d 0a 7d 0a 0a 74 68 72 he[$type].=.$installer;.}.}..thr
88ba0 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ow.new.\InvalidArgumentException
88bc0 28 27 55 6e 6b 6e 6f 77 6e 20 69 6e 73 74 61 6c 6c 65 72 20 74 79 70 65 3a 20 27 2e 24 74 79 70 ('Unknown.installer.type:.'.$typ
88be0 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 e);.}..........public.function.i
88c00 73 50 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 64 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 sPackageInstalled(InstalledRepos
88c20 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 itoryInterface.$repo,.PackageInt
88c40 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 erface.$package).{.if.($package.
88c60 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 instanceof.AliasPackage).{.retur
88c80 6e 20 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 20 26 26 n.$repo->hasPackage($package).&&
88ca0 20 24 74 68 69 73 2d 3e 69 73 50 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 64 28 24 72 65 70 6f .$this->isPackageInstalled($repo
88cc0 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 29 3b 0a 7d 0a 0a 72 65 ,.$package->getAliasOf());.}..re
88ce0 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 turn.$this->getInstaller($packag
88d00 65 2d 3e 67 65 74 54 79 70 65 28 29 29 2d 3e 69 73 49 6e 73 74 61 6c 6c 65 64 28 24 72 65 70 6f e->getType())->isInstalled($repo
88d20 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ,.$package);.}........public.fun
88d40 63 74 69 6f 6e 20 65 6e 73 75 72 65 42 69 6e 61 72 69 65 73 50 72 65 73 65 6e 63 65 28 50 61 63 ction.ensureBinariesPresence(Pac
88d60 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 74 72 79 20 7b 0a kageInterface.$package).{.try.{.
88d80 24 69 6e 73 74 61 6c 6c 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 $installer.=.$this->getInstaller
88da0 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 ($package->getType());.}.catch.(
88dc0 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a \InvalidArgumentException.$e).{.
88de0 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 73 74 61 6c 6c 65 72 20 69 6e ..return;.}....if.($installer.in
88e00 73 74 61 6e 63 65 6f 66 20 42 69 6e 61 72 79 50 72 65 73 65 6e 63 65 49 6e 74 65 72 66 61 63 65 stanceof.BinaryPresenceInterface
88e20 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 65 6e 73 75 72 65 42 69 6e 61 72 69 65 73 50 72 ).{.$installer->ensureBinariesPr
88e40 65 73 65 6e 63 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 esence($package);.}.}........pub
88e60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 52 65 70 6f 73 69 74 6f 72 79 49 lic.function.execute(RepositoryI
88e80 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 nterface.$repo,.OperationInterfa
88ea0 63 65 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 6d 65 74 68 6f 64 20 3d 20 24 6f 70 65 72 ce.$operation).{.$method.=.$oper
88ec0 61 74 69 6f 6e 2d 3e 67 65 74 4a 6f 62 54 79 70 65 28 29 3b 0a 24 74 68 69 73 2d 3e 24 6d 65 74 ation->getJobType();.$this->$met
88ee0 68 6f 64 28 24 72 65 70 6f 2c 20 24 6f 70 65 72 61 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a hod($repo,.$operation);.}.......
88f00 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 52 65 70 6f 73 69 74 .public.function.install(Reposit
88f20 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 49 6e 73 74 61 6c 6c 4f 70 65 72 61 oryInterface.$repo,.InstallOpera
88f40 74 69 6f 6e 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f tion.$operation).{.$package.=.$o
88f60 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 24 69 6e 73 74 61 6c 6c peration->getPackage();.$install
88f80 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 70 61 63 6b 61 67 er.=.$this->getInstaller($packag
88fa0 65 2d 3e 67 65 74 54 79 70 65 28 29 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 69 6e 73 74 61 e->getType());.$installer->insta
88fc0 6c 6c 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 6d 61 72 6b ll($repo,.$package);.$this->mark
88fe0 46 6f 72 4e 6f 74 69 66 69 63 61 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a ForNotification($package);.}....
89000 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 52 65 70 6f 73 ....public.function.update(Repos
89020 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 55 70 64 61 74 65 4f 70 65 72 itoryInterface.$repo,.UpdateOper
89040 61 74 69 6f 6e 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 69 6e 69 74 69 61 6c 20 3d 20 24 ation.$operation).{.$initial.=.$
89060 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 49 6e 69 74 69 61 6c 50 61 63 6b 61 67 65 28 29 3b 0a operation->getInitialPackage();.
89080 24 74 61 72 67 65 74 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 54 61 72 67 65 74 50 $target.=.$operation->getTargetP
890a0 61 63 6b 61 67 65 28 29 3b 0a 0a 24 69 6e 69 74 69 61 6c 54 79 70 65 20 3d 20 24 69 6e 69 74 69 ackage();..$initialType.=.$initi
890c0 61 6c 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 24 74 61 72 67 65 74 54 79 70 65 20 3d 20 24 74 61 al->getType();.$targetType.=.$ta
890e0 72 67 65 74 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 0a 69 66 20 28 24 69 6e 69 74 69 61 6c 54 79 rget->getType();..if.($initialTy
89100 70 65 20 3d 3d 3d 20 24 74 61 72 67 65 74 54 79 70 65 29 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 pe.===.$targetType).{.$installer
89120 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 69 6e 69 74 69 61 6c 54 .=.$this->getInstaller($initialT
89140 79 70 65 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 75 70 64 61 74 65 28 24 72 65 70 6f 2c 20 ype);.$installer->update($repo,.
89160 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d 3e 6d 61 72 6b 46 $initial,.$target);.$this->markF
89180 6f 72 4e 6f 74 69 66 69 63 61 74 69 6f 6e 28 24 74 61 72 67 65 74 29 3b 0a 7d 20 65 6c 73 65 20 orNotification($target);.}.else.
891a0 7b 0a 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 69 6e 69 74 69 61 6c 54 79 {.$this->getInstaller($initialTy
891c0 70 65 29 2d 3e 75 6e 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 69 6e 69 74 69 61 6c 29 3b pe)->uninstall($repo,.$initial);
891e0 0a 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 72 28 24 74 61 72 67 65 74 54 79 70 65 .$this->getInstaller($targetType
89200 29 2d 3e 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a )->install($repo,.$target);.}.}.
89220 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c .......public.function.uninstall
89240 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 55 6e 69 6e (RepositoryInterface.$repo,.Unin
89260 73 74 61 6c 6c 4f 70 65 72 61 74 69 6f 6e 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 70 61 stallOperation.$operation).{.$pa
89280 63 6b 61 67 65 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 ckage.=.$operation->getPackage()
892a0 3b 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c ;.$installer.=.$this->getInstall
892c0 65 72 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 3b 0a 24 69 6e 73 74 61 6c er($package->getType());.$instal
892e0 6c 65 72 2d 3e 75 6e 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 3b ler->uninstall($repo,.$package);
89300 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b 41 6c .}........public.function.markAl
89320 69 61 73 49 6e 73 74 61 6c 6c 65 64 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 iasInstalled(RepositoryInterface
89340 20 24 72 65 70 6f 2c 20 4d 61 72 6b 41 6c 69 61 73 49 6e 73 74 61 6c 6c 65 64 4f 70 65 72 61 74 .$repo,.MarkAliasInstalledOperat
89360 69 6f 6e 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6f 70 ion.$operation).{.$package.=.$op
89380 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 0a 69 66 20 28 21 24 72 65 eration->getPackage();..if.(!$re
893a0 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 72 65 70 po->hasPackage($package)).{.$rep
893c0 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 7d o->addPackage(clone.$package);.}
893e0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 72 6b 41 6c .}........public.function.markAl
89400 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 iasUninstalled(RepositoryInterfa
89420 63 65 20 24 72 65 70 6f 2c 20 4d 61 72 6b 41 6c 69 61 73 55 6e 69 6e 73 74 61 6c 6c 65 64 4f 70 ce.$repo,.MarkAliasUninstalledOp
89440 65 72 61 74 69 6f 6e 20 24 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 24 70 61 63 6b 61 67 65 20 3d eration.$operation).{.$package.=
89460 20 24 6f 70 65 72 61 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 28 29 3b 0a 0a 24 72 65 70 .$operation->getPackage();..$rep
89480 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a o->removePackage($package);.}...
894a0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 .....public.function.getInstallP
894c0 61 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b ath(PackageInterface.$package).{
894e0 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 65 .$installer.=.$this->getInstalle
89500 72 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 r($package->getType());..return.
89520 24 69 6e 73 74 61 6c 6c 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b $installer->getInstallPath($pack
89540 61 67 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 66 79 49 age);.}..public.function.notifyI
89560 6e 73 74 61 6c 6c 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 66 6f 72 65 61 nstalls(IOInterface.$io).{.forea
89580 63 68 20 28 24 74 68 69 73 2d 3e 6e 6f 74 69 66 69 61 62 6c 65 50 61 63 6b 61 67 65 73 20 61 73 ch.($this->notifiablePackages.as
895a0 20 24 72 65 70 6f 55 72 6c 20 3d 3e 20 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 24 72 65 70 6f 73 .$repoUrl.=>.$packages).{.$repos
895c0 69 74 6f 72 79 4e 61 6d 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 72 65 70 6f 55 72 6c 2c 20 itoryName.=.parse_url($repoUrl,.
895e0 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 69 66 20 28 24 69 6f 2d 3e 68 61 73 41 75 74 68 65 PHP_URL_HOST);.if.($io->hasAuthe
89600 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 29 20 7b 0a 24 61 ntication($repositoryName)).{.$a
89620 75 74 68 20 3d 20 24 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 72 65 uth.=.$io->getAuthentication($re
89640 70 6f 73 69 74 6f 72 79 4e 61 6d 65 29 3b 0a 24 61 75 74 68 53 74 72 20 3d 20 62 61 73 65 36 34 positoryName);.$authStr.=.base64
89660 5f 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 2e 20 27 3a 27 20 _encode($auth['username']...':'.
89680 2e 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 24 61 75 74 68 48 65 61 64 65 ..$auth['password']);.$authHeade
896a0 72 20 3d 20 27 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 61 73 69 63 20 27 2e 24 61 75 74 r.=.'Authorization:.Basic.'.$aut
896c0 68 53 74 72 3b 0a 7d 0a 0a 0a 20 69 66 20 28 73 74 72 70 6f 73 28 24 72 65 70 6f 55 72 6c 2c 20 hStr;.}....if.(strpos($repoUrl,.
896e0 27 25 70 61 63 6b 61 67 65 25 27 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 '%package%')).{.foreach.($packag
89700 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 es.as.$package).{.$url.=.str_rep
89720 6c 61 63 65 28 27 25 70 61 63 6b 61 67 65 25 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 lace('%package%',.$package->getP
89740 72 65 74 74 79 4e 61 6d 65 28 29 2c 20 24 72 65 70 6f 55 72 6c 29 3b 0a 0a 24 70 61 72 61 6d 73 rettyName(),.$repoUrl);..$params
89760 20 3d 20 61 72 72 61 79 28 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d .=.array(.'version'.=>.$package-
89780 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 27 76 65 72 73 69 6f 6e 5f 6e 6f >getPrettyVersion(),.'version_no
897a0 72 6d 61 6c 69 7a 65 64 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f rmalized'.=>.$package->getVersio
897c0 6e 28 29 2c 0a 29 3b 0a 24 6f 70 74 73 20 3d 20 61 72 72 61 79 28 27 68 74 74 70 27 20 3d 3e 0a n(),.);.$opts.=.array('http'.=>.
897e0 61 72 72 61 79 28 0a 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 50 4f 53 54 27 2c 0a 27 68 65 61 64 array(.'method'.=>.'POST',.'head
89800 65 72 27 20 3d 3e 20 61 72 72 61 79 28 27 43 6f 6e 74 65 6e 74 2d 74 79 70 65 3a 20 61 70 70 6c er'.=>.array('Content-type:.appl
89820 69 63 61 74 69 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 65 64 27 29 2c ication/x-www-form-urlencoded'),
89840 0a 27 63 6f 6e 74 65 6e 74 27 20 3d 3e 20 68 74 74 70 5f 62 75 69 6c 64 5f 71 75 65 72 79 28 24 .'content'.=>.http_build_query($
89860 70 61 72 61 6d 73 2c 20 27 27 2c 20 27 26 27 29 2c 0a 27 74 69 6d 65 6f 75 74 27 20 3d 3e 20 33 params,.'',.'&'),.'timeout'.=>.3
89880 2c 0a 29 2c 0a 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 48 65 61 64 65 72 29 29 20 ,.),.);.if.(isset($authHeader)).
898a0 7b 0a 24 6f 70 74 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 5b 5d 20 3d 20 24 61 {.$opts['http']['header'][].=.$a
898c0 75 74 68 48 65 61 64 65 72 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 78 74 20 3d 20 53 74 72 65 61 6d 43 uthHeader;.}..$context.=.StreamC
898e0 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6e 74 65 78 74 28 24 75 72 6c 2c 20 ontextFactory::getContext($url,.
89900 24 6f 70 74 73 29 3b 0a 40 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 75 72 6c 2c $opts);.@file_get_contents($url,
89920 20 66 61 6c 73 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a .false,.$context);.}..continue;.
89940 7d 0a 0a 24 70 6f 73 74 44 61 74 61 20 3d 20 61 72 72 61 79 28 27 64 6f 77 6e 6c 6f 61 64 73 27 }..$postData.=.array('downloads'
89960 20 3d 3e 20 61 72 72 61 79 28 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 .=>.array());.foreach.($packages
89980 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 70 6f 73 74 44 61 74 61 5b 27 64 6f 77 6e 6c .as.$package).{.$postData['downl
899a0 6f 61 64 73 27 5d 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 70 61 63 oads'][].=.array(.'name'.=>.$pac
899c0 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 27 76 65 72 73 69 6f 6e 27 kage->getPrettyName(),.'version'
899e0 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 0a 29 3b 0a 7d .=>.$package->getVersion(),.);.}
89a00 0a 0a 24 6f 70 74 73 20 3d 20 61 72 72 61 79 28 27 68 74 74 70 27 20 3d 3e 0a 61 72 72 61 79 28 ..$opts.=.array('http'.=>.array(
89a20 0a 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 50 4f 53 54 27 2c 0a 27 68 65 61 64 65 72 27 20 3d 3e .'method'.=>.'POST',.'header'.=>
89a40 20 61 72 72 61 79 28 27 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 61 70 70 6c 69 63 61 74 69 6f .array('Content-Type:.applicatio
89a60 6e 2f 6a 73 6f 6e 27 29 2c 0a 27 63 6f 6e 74 65 6e 74 27 20 3d 3e 20 6a 73 6f 6e 5f 65 6e 63 6f n/json'),.'content'.=>.json_enco
89a80 64 65 28 24 70 6f 73 74 44 61 74 61 29 2c 0a 27 74 69 6d 65 6f 75 74 27 20 3d 3e 20 36 2c 0a 29 de($postData),.'timeout'.=>.6,.)
89aa0 2c 0a 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 48 65 61 64 65 72 29 29 20 7b 0a 24 ,.);.if.(isset($authHeader)).{.$
89ac0 6f 70 74 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 5b 5d 20 3d 20 24 61 75 74 68 opts['http']['header'][].=.$auth
89ae0 48 65 61 64 65 72 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 78 74 20 3d 20 53 74 72 65 61 6d 43 6f 6e 74 Header;.}..$context.=.StreamCont
89b00 65 78 74 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6e 74 65 78 74 28 24 72 65 70 6f 55 72 6c 2c extFactory::getContext($repoUrl,
89b20 20 24 6f 70 74 73 29 3b 0a 40 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 72 65 70 .$opts);.@file_get_contents($rep
89b40 6f 55 72 6c 2c 20 66 61 6c 73 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 24 74 68 69 73 oUrl,.false,.$context);.}..$this
89b60 2d 3e 72 65 73 65 74 28 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d ->reset();.}..private.function.m
89b80 61 72 6b 46 6f 72 4e 6f 74 69 66 69 63 61 74 69 6f 6e 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 arkForNotification(PackageInterf
89ba0 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 ace.$package).{.if.($package->ge
89bc0 74 4e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 tNotificationUrl()).{.$this->not
89be0 69 66 69 61 62 6c 65 50 61 63 6b 61 67 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 6f 74 ifiablePackages[$package->getNot
89c00 69 66 69 63 61 74 69 6f 6e 55 72 6c 28 29 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d ificationUrl()][$package->getNam
89c20 65 28 29 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a e()].=.$package;.}.}.}.<?php....
89c40 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 ........namespace.Composer\Insta
89c60 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 ller;..use.Composer\Composer;.us
89c80 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f e.Composer\DependencyResolver\Po
89ca0 6c 69 63 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 licyInterface;.use.Composer\Depe
89cc0 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4f 70 65 72 61 74 69 ndencyResolver\Operation\Operati
89ce0 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 onInterface;.use.Composer\Depend
89d00 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c encyResolver\Pool;.use.Composer\
89d20 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 52 65 71 75 65 73 74 3b 0a 75 73 65 20 DependencyResolver\Request;.use.
89d40 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a Composer\EventDispatcher\Event;.
89d60 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 use.Composer\IO\IOInterface;.use
89d80 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 69 74 65 52 65 .Composer\Repository\CompositeRe
89da0 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 72 45 pository;.......class.InstallerE
89dc0 76 65 6e 74 20 65 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 vent.extends.Event.{....private.
89de0 24 63 6f 6d 70 6f 73 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a $composer;.....private.$io;.....
89e00 70 72 69 76 61 74 65 20 24 64 65 76 4d 6f 64 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 private.$devMode;.....private.$p
89e20 6f 6c 69 63 79 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 6f 6f 6c 3b 0a 0a 0a 0a 0a 70 72 olicy;.....private.$pool;.....pr
89e40 69 76 61 74 65 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 ivate.$installedRepo;.....privat
89e60 65 20 24 72 65 71 75 65 73 74 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 70 65 72 61 74 69 e.$request;.....private.$operati
89e80 6f 6e 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ons;...............public.functi
89ea0 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 43 6f 6d 70 6f on.__construct($eventName,.Compo
89ec0 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 ser.$composer,.IOInterface.$io,.
89ee0 24 64 65 76 4d 6f 64 65 2c 20 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 $devMode,.PolicyInterface.$polic
89f00 79 2c 20 50 6f 6f 6c 20 24 70 6f 6f 6c 2c 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f y,.Pool.$pool,.CompositeReposito
89f20 72 79 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2c 20 52 65 71 75 65 73 74 20 24 72 65 71 75 ry.$installedRepo,.Request.$requ
89f40 65 73 74 2c 20 61 72 72 61 79 20 24 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 est,.array.$operations.=.array()
89f60 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 65 76 65 6e 74 4e 61 ).{.parent::__construct($eventNa
89f80 6d 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 me);..$this->composer.=.$compose
89fa0 72 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 64 65 76 4d 6f r;.$this->io.=.$io;.$this->devMo
89fc0 64 65 20 3d 20 24 64 65 76 4d 6f 64 65 3b 0a 24 74 68 69 73 2d 3e 70 6f 6c 69 63 79 20 3d 20 24 de.=.$devMode;.$this->policy.=.$
89fe0 70 6f 6c 69 63 79 3b 0a 24 74 68 69 73 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 24 74 68 policy;.$this->pool.=.$pool;.$th
8a000 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 is->installedRepo.=.$installedRe
8a020 70 6f 3b 0a 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 20 3d 20 24 72 65 71 75 65 73 74 3b 0a 24 po;.$this->request.=.$request;.$
8a040 74 68 69 73 2d 3e 6f 70 65 72 61 74 69 6f 6e 73 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 73 3b 0a this->operations.=.$operations;.
8a060 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 }.....public.function.getCompose
8a080 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a r().{.return.$this->composer;.}.
8a0a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 4f 28 29 0a 7b 0a 72 65 ....public.function.getIO().{.re
8a0c0 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e turn.$this->io;.}.....public.fun
8a0e0 63 74 69 6f 6e 20 69 73 44 65 76 4d 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ction.isDevMode().{.return.$this
8a100 2d 3e 64 65 76 4d 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ->devMode;.}.....public.function
8a120 20 67 65 74 50 6f 6c 69 63 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 6c .getPolicy().{.return.$this->pol
8a140 69 63 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6f icy;.}.....public.function.getPo
8a160 6f 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 6f 6c 3b 0a 7d 0a 0a 0a 0a ol().{.return.$this->pool;.}....
8a180 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 65 64 52 65 70 .public.function.getInstalledRep
8a1a0 6f 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 64 52 65 70 o().{.return.$this->installedRep
8a1c0 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 71 75 o;.}.....public.function.getRequ
8a1e0 65 73 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 3b 0a 7d est().{.return.$this->request;.}
8a200 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 65 72 61 74 69 6f .....public.function.getOperatio
8a220 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 69 6f 6e 73 3b ns().{.return.$this->operations;
8a240 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
8a260 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 Composer\Installer;.......class.
8a280 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 InstallerEvents.{..........const
8a2a0 20 50 52 45 5f 44 45 50 45 4e 44 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e 47 20 3d 20 27 70 72 65 .PRE_DEPENDENCIES_SOLVING.=.'pre
8a2c0 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 2d 73 6f 6c 76 69 6e 67 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a -dependencies-solving';.........
8a2e0 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 44 45 50 45 4e 44 45 4e 43 49 45 53 5f 53 4f 4c 56 49 4e ..const.POST_DEPENDENCIES_SOLVIN
8a300 47 20 3d 20 27 70 6f 73 74 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 2d 73 6f 6c 76 69 6e 67 27 3b G.=.'post-dependencies-solving';
8a320 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
8a340 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c mposer\Installer;..use.Composer\
8a360 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f Package\PackageInterface;.use.Co
8a380 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 mposer\Repository\InstalledRepos
8a3a0 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 49 6e 76 61 6c 69 64 41 72 67 75 6d itoryInterface;.use.InvalidArgum
8a3c0 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 entException;........interface.I
8a3e0 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 nstallerInterface.{.......public
8a400 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 70 65 29 .function.supports($packageType)
8a420 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 73 ;..........public.function.isIns
8a440 74 61 6c 6c 65 64 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 talled(InstalledRepositoryInterf
8a460 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 ace.$repo,.PackageInterface.$pac
8a480 6b 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e kage);........public.function.in
8a4a0 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 stall(InstalledRepositoryInterfa
8a4c0 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b ce.$repo,.PackageInterface.$pack
8a4e0 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 age);...........public.function.
8a500 75 70 64 61 74 65 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 update(InstalledRepositoryInterf
8a520 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 ace.$repo,.PackageInterface.$ini
8a540 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 3b tial,.PackageInterface.$target);
8a560 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c ........public.function.uninstal
8a580 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 l(InstalledRepositoryInterface.$
8a5a0 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 repo,.PackageInterface.$package)
8a5c0 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 ;........public.function.getInst
8a5e0 61 6c 6c 50 61 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 allPath(PackageInterface.$packag
8a600 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 e);.}.<?php............namespace
8a620 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 .Composer\Installer;..use.Compos
8a640 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 er\Composer;.use.Composer\IO\IOI
8a660 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 nterface;.use.Composer\Repositor
8a680 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a y\InstalledRepositoryInterface;.
8a6a0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 use.Composer\Package\PackageInte
8a6c0 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 rface;.use.Composer\Util\Filesys
8a6e0 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b tem;.use.Composer\Util\Silencer;
8a700 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 0a 0a 0a .use.Composer\Util\Platform;....
8a720 0a 0a 0a 0a 63 6c 61 73 73 20 4c 69 62 72 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 69 6d 70 6c 65 ....class.LibraryInstaller.imple
8a740 6d 65 6e 74 73 20 49 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 2c 20 42 69 6e 61 72 79 ments.InstallerInterface,.Binary
8a760 50 72 65 73 65 6e 63 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 PresenceInterface.{.protected.$c
8a780 6f 6d 70 6f 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 6e 64 6f 72 44 69 72 3b 0a 70 omposer;.protected.$vendorDir;.p
8a7a0 72 6f 74 65 63 74 65 64 20 24 62 69 6e 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 6f 77 rotected.$binDir;.protected.$dow
8a7c0 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f nloadManager;.protected.$io;.pro
8a7e0 74 65 63 74 65 64 20 24 74 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 tected.$type;.protected.$filesys
8a800 74 65 6d 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 69 6e 43 6f 6d 70 61 74 3b 0a 70 72 6f 74 65 tem;.protected.$binCompat;.prote
8a820 63 74 65 64 20 24 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a cted.$binaryInstaller;..........
8a840 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 .public.function.__construct(IOI
8a860 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 nterface.$io,.Composer.$composer
8a880 2c 20 24 74 79 70 65 20 3d 20 27 6c 69 62 72 61 72 79 27 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 ,.$type.=.'library',.Filesystem.
8a8a0 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 2c 20 42 69 6e 61 72 79 49 6e 73 74 61 6c $filesystem.=.null,.BinaryInstal
8a8c0 6c 65 72 20 24 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 ler.$binaryInstaller.=.null).{.$
8a8e0 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 24 74 68 69 this->composer.=.$composer;.$thi
8a900 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e s->downloadManager.=.$composer->
8a920 67 65 74 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 getDownloadManager();.$this->io.
8a940 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 74 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 0a 24 74 68 =.$io;.$this->type.=.$type;..$th
8a960 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 66 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 is->filesystem.=.$filesystem.?:.
8a980 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 new.Filesystem();.$this->vendorD
8a9a0 69 72 20 3d 20 72 74 72 69 6d 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 ir.=.rtrim($composer->getConfig(
8a9c0 29 2d 3e 67 65 74 28 27 76 65 6e 64 6f 72 2d 64 69 72 27 29 2c 20 27 2f 27 29 3b 0a 24 74 68 69 )->get('vendor-dir'),.'/');.$thi
8a9e0 73 2d 3e 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 3d 20 24 62 69 6e 61 72 79 49 6e 73 74 s->binaryInstaller.=.$binaryInst
8aa00 61 6c 6c 65 72 20 3f 3a 20 6e 65 77 20 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 28 24 74 68 aller.?:.new.BinaryInstaller($th
8aa20 69 73 2d 3e 69 6f 2c 20 72 74 72 69 6d 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 is->io,.rtrim($composer->getConf
8aa40 69 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 64 69 72 27 29 2c 20 27 2f 27 29 2c 20 24 63 6f 6d ig()->get('bin-dir'),.'/'),.$com
8aa60 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 63 6f 6d poser->getConfig()->get('bin-com
8aa80 70 61 74 27 29 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 29 3b 0a 7d 0a 0a 0a 0a pat'),.$this->filesystem);.}....
8aaa0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 .public.function.supports($packa
8aac0 67 65 54 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 54 79 70 65 20 3d 3d geType).{.return.$packageType.==
8aae0 3d 20 24 74 68 69 73 2d 3e 74 79 70 65 20 7c 7c 20 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d =.$this->type.||.null.===.$this-
8ab00 3e 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 >type;.}.....public.function.isI
8ab20 6e 73 74 61 6c 6c 65 64 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 nstalled(InstalledRepositoryInte
8ab40 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 rface.$repo,.PackageInterface.$p
8ab60 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 ackage).{.if.(!$repo->hasPackage
8ab80 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 ($package)).{.return.false;.}..$
8aba0 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 installPath.=.$this->getInstallP
8abc0 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 69 66 20 28 69 73 5f 72 65 61 64 61 62 6c 65 28 ath($package);..if.(is_readable(
8abe0 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a $installPath)).{.return.true;.}.
8ac00 0a 72 65 74 75 72 6e 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 .return.(Platform::isWindows().&
8ac20 26 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 69 73 4a 75 6e 63 74 69 6f 6e 28 &.$this->filesystem->isJunction(
8ac40 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 29 20 7c 7c 20 69 73 5f 6c 69 6e 6b 28 24 69 6e 73 74 61 $installPath)).||.is_link($insta
8ac60 6c 6c 50 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 llPath);.}.....public.function.i
8ac80 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 nstall(InstalledRepositoryInterf
8aca0 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 ace.$repo,.PackageInterface.$pac
8acc0 6b 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 56 65 6e 64 6f 72 44 kage).{.$this->initializeVendorD
8ace0 69 72 28 29 3b 0a 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 ir();.$downloadPath.=.$this->get
8ad00 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 20 69 66 20 28 21 69 InstallPath($package);....if.(!i
8ad20 73 5f 72 65 61 64 61 62 6c 65 28 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 29 20 26 26 20 24 72 65 s_readable($downloadPath).&&.$re
8ad40 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 74 68 69 po->hasPackage($package)).{.$thi
8ad60 73 2d 3e 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 2d 3e 72 65 6d 6f 76 65 42 69 6e 61 72 69 s->binaryInstaller->removeBinari
8ad80 65 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 43 es($package);.}..$this->installC
8ada0 6f 64 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 79 49 6e 73 74 ode($package);.$this->binaryInst
8adc0 61 6c 6c 65 72 2d 3e 69 6e 73 74 61 6c 6c 42 69 6e 61 72 69 65 73 28 24 70 61 63 6b 61 67 65 2c aller->installBinaries($package,
8ade0 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 .$this->getInstallPath($package)
8ae00 29 3b 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 );.if.(!$repo->hasPackage($packa
8ae20 67 65 29 29 20 7b 0a 24 72 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 ge)).{.$repo->addPackage(clone.$
8ae40 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f package);.}.}.....public.functio
8ae60 6e 20 75 70 64 61 74 65 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 n.update(InstalledRepositoryInte
8ae80 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 rface.$repo,.PackageInterface.$i
8aea0 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 nitial,.PackageInterface.$target
8aec0 29 0a 7b 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 69 6e 69 74 ).{.if.(!$repo->hasPackage($init
8aee0 69 61 6c 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 ial)).{.throw.new.\InvalidArgume
8af00 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 ntException('Package.is.not.inst
8af20 61 6c 6c 65 64 3a 20 27 2e 24 69 6e 69 74 69 61 6c 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e alled:.'.$initial);.}..$this->in
8af40 69 74 69 61 6c 69 7a 65 56 65 6e 64 6f 72 44 69 72 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 62 69 6e itializeVendorDir();..$this->bin
8af60 61 72 79 49 6e 73 74 61 6c 6c 65 72 2d 3e 72 65 6d 6f 76 65 42 69 6e 61 72 69 65 73 28 24 69 6e aryInstaller->removeBinaries($in
8af80 69 74 69 61 6c 29 3b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 43 6f 64 65 28 24 69 6e 69 74 69 itial);.$this->updateCode($initi
8afa0 61 6c 2c 20 24 74 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d 3e 62 69 6e 61 72 79 49 6e 73 74 61 al,.$target);.$this->binaryInsta
8afc0 6c 6c 65 72 2d 3e 69 6e 73 74 61 6c 6c 42 69 6e 61 72 69 65 73 28 24 74 61 72 67 65 74 2c 20 24 ller->installBinaries($target,.$
8afe0 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 74 61 72 67 65 74 29 29 3b 0a this->getInstallPath($target));.
8b000 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 3b 0a $repo->removePackage($initial);.
8b020 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 74 61 72 67 65 74 29 29 if.(!$repo->hasPackage($target))
8b040 20 7b 0a 24 72 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 74 61 72 67 .{.$repo->addPackage(clone.$targ
8b060 65 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 et);.}.}.....public.function.uni
8b080 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 nstall(InstalledRepositoryInterf
8b0a0 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 ace.$repo,.PackageInterface.$pac
8b0c0 6b 61 67 65 29 0a 7b 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 kage).{.if.(!$repo->hasPackage($
8b0e0 70 61 63 6b 61 67 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 package)).{.throw.new.\InvalidAr
8b100 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 gumentException('Package.is.not.
8b120 69 6e 73 74 61 6c 6c 65 64 3a 20 27 2e 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 installed:.'.$package);.}..$this
8b140 2d 3e 72 65 6d 6f 76 65 43 6f 64 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 62 ->removeCode($package);.$this->b
8b160 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 2d 3e 72 65 6d 6f 76 65 42 69 6e 61 72 69 65 73 28 24 inaryInstaller->removeBinaries($
8b180 70 61 63 6b 61 67 65 29 3b 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 package);.$repo->removePackage($
8b1a0 70 61 63 6b 61 67 65 29 3b 0a 0a 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 package);..$downloadPath.=.$this
8b1c0 2d 3e 67 65 74 50 61 63 6b 61 67 65 42 61 73 65 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a ->getPackageBasePath($package);.
8b1e0 69 66 20 28 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 if.(strpos($package->getName(),.
8b200 27 2f 27 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 56 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e '/')).{.$packageVendorDir.=.dirn
8b220 61 6d 65 28 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 29 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 ame($downloadPath);.if.(is_dir($
8b240 70 61 63 6b 61 67 65 56 65 6e 64 6f 72 44 69 72 29 20 26 26 20 24 74 68 69 73 2d 3e 66 69 6c 65 packageVendorDir).&&.$this->file
8b260 73 79 73 74 65 6d 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 70 61 63 6b 61 67 65 56 65 6e 64 6f system->isDirEmpty($packageVendo
8b280 72 44 69 72 29 29 20 7b 0a 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 72 6d 64 69 72 27 2c rDir)).{.Silencer::call('rmdir',
8b2a0 20 24 70 61 63 6b 61 67 65 56 65 6e 64 6f 72 44 69 72 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 .$packageVendorDir);.}.}.}.....p
8b2c0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 50 61 ublic.function.getInstallPath(Pa
8b2e0 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 68 69 73 ckageInterface.$package).{.$this
8b300 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 56 65 6e 64 6f 72 44 69 72 28 29 3b 0a 0a 24 62 61 73 65 50 ->initializeVendorDir();..$baseP
8b320 61 74 68 20 3d 20 28 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 20 3f 20 24 74 68 69 73 2d ath.=.($this->vendorDir.?.$this-
8b340 3e 76 65 6e 64 6f 72 44 69 72 2e 27 2f 27 20 3a 20 27 27 29 20 2e 20 24 70 61 63 6b 61 67 65 2d >vendorDir.'/'.:.'')...$package-
8b360 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 24 >getPrettyName();.$targetDir.=.$
8b380 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 0a 72 65 74 75 72 6e package->getTargetDir();..return
8b3a0 20 24 62 61 73 65 50 61 74 68 20 2e 20 28 24 74 61 72 67 65 74 44 69 72 20 3f 20 27 2f 27 2e 24 .$basePath...($targetDir.?.'/'.$
8b3c0 74 61 72 67 65 74 44 69 72 20 3a 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 targetDir.:.'');.}.......public.
8b3e0 66 75 6e 63 74 69 6f 6e 20 65 6e 73 75 72 65 42 69 6e 61 72 69 65 73 50 72 65 73 65 6e 63 65 28 function.ensureBinariesPresence(
8b400 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 68 PackageInterface.$package).{.$th
8b420 69 73 2d 3e 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 2d 3e 69 6e 73 74 61 6c 6c 42 69 6e 61 is->binaryInstaller->installBina
8b440 72 69 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c ries($package,.$this->getInstall
8b460 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a Path($package),.false);.}.......
8b480 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 ....protected.function.getPackag
8b4a0 65 42 61 73 65 50 61 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b eBasePath(PackageInterface.$pack
8b4c0 61 67 65 29 0a 7b 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 age).{.$installPath.=.$this->get
8b4e0 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 61 72 67 65 74 44 69 InstallPath($package);.$targetDi
8b500 72 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 0a 69 r.=.$package->getTargetDir();..i
8b520 66 20 28 24 74 61 72 67 65 74 44 69 72 29 20 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 f.($targetDir).{.return.preg_rep
8b540 6c 61 63 65 28 27 7b 2f 2a 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 27 2f 2b 27 lace('{/*'.str_replace('/',.'/+'
8b560 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 74 61 72 67 65 74 44 69 72 29 29 2e 27 2f 3f 24 7d 27 ,.preg_quote($targetDir)).'/?$}'
8b580 2c 20 27 27 2c 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 ,.'',.$installPath);.}..return.$
8b5a0 69 6e 73 74 61 6c 6c 50 61 74 68 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 installPath;.}..protected.functi
8b5c0 6f 6e 20 69 6e 73 74 61 6c 6c 43 6f 64 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 on.installCode(PackageInterface.
8b5e0 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 $package).{.$downloadPath.=.$thi
8b600 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 s->getInstallPath($package);.$th
8b620 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 70 is->downloadManager->download($p
8b640 61 63 6b 61 67 65 2c 20 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 29 3b 0a 7d 0a 0a 70 72 6f 74 65 ackage,.$downloadPath);.}..prote
8b660 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 43 6f 64 65 28 50 61 63 6b 61 67 65 cted.function.updateCode(Package
8b680 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 Interface.$initial,.PackageInter
8b6a0 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 24 69 6e 69 74 69 61 6c 44 6f 77 6e 6c 6f 61 64 face.$target).{.$initialDownload
8b6c0 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 69 6e Path.=.$this->getInstallPath($in
8b6e0 69 74 69 61 6c 29 3b 0a 24 74 61 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 itial);.$targetDownloadPath.=.$t
8b700 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 74 61 72 67 65 74 29 3b 0a 69 66 his->getInstallPath($target);.if
8b720 20 28 24 74 61 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 68 20 21 3d 3d 20 24 69 6e 69 74 69 .($targetDownloadPath.!==.$initi
8b740 61 6c 44 6f 77 6e 6c 6f 61 64 50 61 74 68 29 20 7b 0a 0a 20 0a 20 69 66 20 28 73 75 62 73 74 72 alDownloadPath).{.....if.(substr
8b760 28 24 69 6e 69 74 69 61 6c 44 6f 77 6e 6c 6f 61 64 50 61 74 68 2c 20 30 2c 20 73 74 72 6c 65 6e ($initialDownloadPath,.0,.strlen
8b780 28 24 74 61 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 68 29 29 20 3d 3d 3d 20 24 74 61 72 67 ($targetDownloadPath)).===.$targ
8b7a0 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 68 0a 7c 7c 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 etDownloadPath.||.substr($target
8b7c0 44 6f 77 6e 6c 6f 61 64 50 61 74 68 2c 20 30 2c 20 73 74 72 6c 65 6e 28 24 69 6e 69 74 69 61 6c DownloadPath,.0,.strlen($initial
8b7e0 44 6f 77 6e 6c 6f 61 64 50 61 74 68 29 29 20 3d 3d 3d 20 24 69 6e 69 74 69 61 6c 44 6f 77 6e 6c DownloadPath)).===.$initialDownl
8b800 6f 61 64 50 61 74 68 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 43 6f 64 65 28 24 69 oadPath.).{.$this->removeCode($i
8b820 6e 69 74 69 61 6c 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 43 6f 64 65 28 24 74 61 72 nitial);.$this->installCode($tar
8b840 67 65 74 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 get);..return;.}..$this->filesys
8b860 74 65 6d 2d 3e 72 65 6e 61 6d 65 28 24 69 6e 69 74 69 61 6c 44 6f 77 6e 6c 6f 61 64 50 61 74 68 tem->rename($initialDownloadPath
8b880 2c 20 24 74 61 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 68 29 3b 0a 7d 0a 24 74 68 69 73 2d ,.$targetDownloadPath);.}.$this-
8b8a0 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 75 70 64 61 74 65 28 24 69 6e 69 74 69 61 >downloadManager->update($initia
8b8c0 6c 2c 20 24 74 61 72 67 65 74 2c 20 24 74 61 72 67 65 74 44 6f 77 6e 6c 6f 61 64 50 61 74 68 29 l,.$target,.$targetDownloadPath)
8b8e0 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 6f ;.}..protected.function.removeCo
8b900 64 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a de(PackageInterface.$package).{.
8b920 24 64 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 $downloadPath.=.$this->getPackag
8b940 65 42 61 73 65 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e eBasePath($package);.$this->down
8b960 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 72 65 6d 6f 76 65 28 24 70 61 63 6b 61 67 65 2c 20 24 64 loadManager->remove($package,.$d
8b980 6f 77 6e 6c 6f 61 64 50 61 74 68 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 ownloadPath);.}..protected.funct
8b9a0 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 56 65 6e 64 6f 72 44 69 72 28 29 0a 7b 0a 24 74 68 69 ion.initializeVendorDir().{.$thi
8b9c0 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 s->filesystem->ensureDirectoryEx
8b9e0 69 73 74 73 28 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 29 3b 0a 24 74 68 69 73 2d 3e 76 ists($this->vendorDir);.$this->v
8ba00 65 6e 64 6f 72 44 69 72 20 3d 20 72 65 61 6c 70 61 74 68 28 24 74 68 69 73 2d 3e 76 65 6e 64 6f endorDir.=.realpath($this->vendo
8ba20 72 44 69 72 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 rDir);.}.}.<?php............name
8ba40 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 space.Composer\Installer;..use.C
8ba60 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f omposer\Repository\InstalledRepo
8ba80 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 sitoryInterface;.use.Composer\Pa
8baa0 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 ckage\PackageInterface;.use.Comp
8bac0 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 oser\Package\Version\VersionPars
8bae0 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b er;.use.Composer\IO\IOInterface;
8bb00 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 65 74 61 70 61 63 6b 61 67 65 49 6e 73 74 61 6c 6c 65 .......class.MetapackageInstalle
8bb20 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 0a r.implements.InstallerInterface.
8bb40 7b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 {.private.$io;..public.function.
8bb60 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 __construct(IOInterface.$io).{.$
8bb80 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e this->io.=.$io;.}.....public.fun
8bba0 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 70 65 29 0a 7b 0a 72 ction.supports($packageType).{.r
8bbc0 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 54 79 70 65 20 3d 3d 3d 20 27 6d 65 74 61 70 61 63 6b eturn.$packageType.===.'metapack
8bbe0 61 67 65 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e age';.}.....public.function.isIn
8bc00 73 74 61 6c 6c 65 64 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 stalled(InstalledRepositoryInter
8bc20 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 face.$repo,.PackageInterface.$pa
8bc40 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 ckage).{.return.$repo->hasPackag
8bc60 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 e($package);.}.....public.functi
8bc80 6f 6e 20 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e on.install(InstalledRepositoryIn
8bca0 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 terface.$repo,.PackageInterface.
8bcc0 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f $package).{.$this->io->writeErro
8bce0 72 28 22 20 20 2d 20 49 6e 73 74 61 6c 6c 69 6e 67 20 3c 69 6e 66 6f 3e 22 20 2e 20 24 70 61 63 r("..-.Installing.<info>"...$pac
8bd00 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d kage->getName()..."</info>.(<com
8bd20 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c 6c 50 72 65 74 74 79 ment>"...$package->getFullPretty
8bd40 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 0a 24 72 65 Version()..."</comment>)");..$re
8bd60 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 70 61 63 6b 61 67 65 29 3b 0a po->addPackage(clone.$package);.
8bd80 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 49 6e 73 }.....public.function.update(Ins
8bda0 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c talledRepositoryInterface.$repo,
8bdc0 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b .PackageInterface.$initial,.Pack
8bde0 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 69 66 20 28 21 24 72 65 ageInterface.$target).{.if.(!$re
8be00 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 29 20 7b 0a 74 68 72 6f po->hasPackage($initial)).{.thro
8be20 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 w.new.\InvalidArgumentException(
8be40 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 3a 20 27 2e 24 69 6e 'Package.is.not.installed:.'.$in
8be60 69 74 69 61 6c 29 3b 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 4e itial);.}..$name.=.$target->getN
8be80 61 6d 65 28 29 3b 0a 24 66 72 6f 6d 20 3d 20 24 69 6e 69 74 69 61 6c 2d 3e 67 65 74 46 75 6c 6c ame();.$from.=.$initial->getFull
8bea0 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 74 6f 20 3d 20 24 74 61 72 67 65 74 2d 3e PrettyVersion();.$to.=.$target->
8bec0 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 61 63 74 69 6f 6e 4e getFullPrettyVersion();.$actionN
8bee0 61 6d 65 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 69 73 55 70 67 72 61 64 65 28 24 ame.=.VersionParser::isUpgrade($
8bf00 69 6e 69 74 69 61 6c 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 74 61 72 67 65 74 2d 3e initial->getVersion(),.$target->
8bf20 67 65 74 56 65 72 73 69 6f 6e 28 29 29 20 3f 20 27 55 70 64 61 74 69 6e 67 27 20 3a 20 27 44 6f getVersion()).?.'Updating'.:.'Do
8bf40 77 6e 67 72 61 64 69 6e 67 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f wngrading';.$this->io->writeErro
8bf60 72 28 22 20 20 2d 20 22 20 2e 20 24 61 63 74 69 6f 6e 4e 61 6d 65 20 2e 20 22 20 3c 69 6e 66 6f r("..-."...$actionName...".<info
8bf80 3e 22 20 2e 20 24 6e 61 6d 65 20 2e 20 22 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e >"...$name..."</info>.(<comment>
8bfa0 22 20 2e 20 24 66 72 6f 6d 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 3d 3e 20 3c 63 6f 6d 6d "...$from..."</comment>.=>.<comm
8bfc0 65 6e 74 3e 22 20 2e 20 24 74 6f 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 29 3b 0a 0a 24 ent>"...$to..."</comment>)");..$
8bfe0 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 3b 0a 24 repo->removePackage($initial);.$
8c000 72 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 74 61 72 67 65 74 29 3b repo->addPackage(clone.$target);
8c020 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c .}.....public.function.uninstall
8c040 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 (InstalledRepositoryInterface.$r
8c060 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a epo,.PackageInterface.$package).
8c080 7b 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 {.if.(!$repo->hasPackage($packag
8c0a0 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 e)).{.throw.new.\InvalidArgument
8c0c0 45 78 63 65 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c Exception('Package.is.not.instal
8c0e0 6c 65 64 3a 20 27 2e 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e led:.'.$package);.}..$this->io->
8c100 77 72 69 74 65 45 72 72 6f 72 28 22 20 20 2d 20 52 65 6d 6f 76 69 6e 67 20 3c 69 6e 66 6f 3e 22 writeError("..-.Removing.<info>"
8c120 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 2e 20 22 3c 2f 69 6e 66 6f ...$package->getName()..."</info
8c140 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 22 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 46 75 6c >.(<comment>"...$package->getFul
8c160 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 22 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 lPrettyVersion()..."</comment>)"
8c180 29 3b 0a 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 );..$repo->removePackage($packag
8c1a0 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 e);.}.....public.function.getIns
8c1c0 74 61 6c 6c 50 61 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 tallPath(PackageInterface.$packa
8c1e0 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a ge).{.return.'';.}.}.<?php......
8c200 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c ......namespace.Composer\Install
8c220 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 er;..use.Composer\Repository\Ins
8c240 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 talledRepositoryInterface;.use.C
8c260 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 omposer\Package\PackageInterface
8c280 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 6f 6f 70 49 6e 73 74 61 6c 6c 65 72 20 69 6d ;.........class.NoopInstaller.im
8c2a0 70 6c 65 6d 65 6e 74 73 20 49 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a plements.InstallerInterface.{...
8c2c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 .public.function.supports($packa
8c2e0 67 65 54 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 geType).{.return.true;.}.....pub
8c300 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 73 74 61 6c 6c 65 64 28 49 6e 73 74 61 6c 6c lic.function.isInstalled(Install
8c320 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 edRepositoryInterface.$repo,.Pac
8c340 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e kageInterface.$package).{.return
8c360 20 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a .$repo->hasPackage($package);.}.
8c380 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 49 6e 73 74 ....public.function.install(Inst
8c3a0 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 alledRepositoryInterface.$repo,.
8c3c0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 PackageInterface.$package).{.if.
8c3e0 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b (!$repo->hasPackage($package)).{
8c400 0a 24 72 65 70 6f 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 70 61 63 6b 61 67 .$repo->addPackage(clone.$packag
8c420 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 e);.}.}.....public.function.upda
8c440 74 65 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 te(InstalledRepositoryInterface.
8c460 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c $repo,.PackageInterface.$initial
8c480 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 69 66 ,.PackageInterface.$target).{.if
8c4a0 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 29 20 .(!$repo->hasPackage($initial)).
8c4c0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 {.throw.new.\InvalidArgumentExce
8c4e0 70 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 3a ption('Package.is.not.installed:
8c500 20 27 2e 24 69 6e 69 74 69 61 6c 29 3b 0a 7d 0a 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 .'.$initial);.}..$repo->removePa
8c520 63 6b 61 67 65 28 24 69 6e 69 74 69 61 6c 29 3b 0a 69 66 20 28 21 24 72 65 70 6f 2d 3e 68 61 73 ckage($initial);.if.(!$repo->has
8c540 50 61 63 6b 61 67 65 28 24 74 61 72 67 65 74 29 29 20 7b 0a 24 72 65 70 6f 2d 3e 61 64 64 50 61 Package($target)).{.$repo->addPa
8c560 63 6b 61 67 65 28 63 6c 6f 6e 65 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 ckage(clone.$target);.}.}.....pu
8c580 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 blic.function.uninstall(Installe
8c5a0 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b dRepositoryInterface.$repo,.Pack
8c5c0 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 21 24 72 ageInterface.$package).{.if.(!$r
8c5e0 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 74 68 72 epo->hasPackage($package)).{.thr
8c600 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ow.new.\InvalidArgumentException
8c620 28 27 50 61 63 6b 61 67 65 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 6c 6c 65 64 3a 20 27 2e 24 70 ('Package.is.not.installed:.'.$p
8c640 61 63 6b 61 67 65 29 3b 0a 7d 0a 24 72 65 70 6f 2d 3e 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 ackage);.}.$repo->removePackage(
8c660 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e $package);.}.....public.function
8c680 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 .getInstallPath(PackageInterface
8c6a0 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 24 70 61 63 6b 61 .$package).{.$targetDir.=.$packa
8c6c0 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 ge->getTargetDir();..return.$pac
8c6e0 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 20 2e 20 28 24 74 61 72 67 65 74 kage->getPrettyName()...($target
8c700 44 69 72 20 3f 20 27 2f 27 2e 24 74 61 72 67 65 74 44 69 72 20 3a 20 27 27 29 3b 0a 7d 0a 7d 0a Dir.?.'/'.$targetDir.:.'');.}.}.
8c720 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
8c740 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d ser\Installer;..use.Composer\Com
8c760 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 poser;.use.Composer\IO\IOInterfa
8c780 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c ce;.use.Composer\DependencyResol
8c7a0 76 65 72 5c 4f 70 65 72 61 74 69 6f 6e 5c 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 ver\Operation\OperationInterface
8c7c0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 ;.use.Composer\DependencyResolve
8c7e0 72 5c 50 6f 6c 69 63 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c r\PolicyInterface;.use.Composer\
8c800 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d DependencyResolver\Pool;.use.Com
8c820 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 52 65 71 75 65 73 74 poser\DependencyResolver\Request
8c840 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 ;.use.Composer\Repository\Compos
8c860 69 74 65 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 63 6b 61 iteRepository;.......class.Packa
8c880 67 65 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 49 6e 73 74 61 6c 6c 65 72 45 76 65 6e 74 0a 7b geEvent.extends.InstallerEvent.{
8c8a0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 70 65 72 61 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a ....private.$operation;.........
8c8c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 .......public.function.__constru
8c8e0 63 74 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 ct($eventName,.Composer.$compose
8c900 72 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 64 65 76 4d 6f 64 65 2c 20 50 6f r,.IOInterface.$io,.$devMode,.Po
8c920 6c 69 63 79 49 6e 74 65 72 66 61 63 65 20 24 70 6f 6c 69 63 79 2c 20 50 6f 6f 6c 20 24 70 6f 6f licyInterface.$policy,.Pool.$poo
8c940 6c 2c 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 24 69 6e 73 74 61 6c 6c 65 l,.CompositeRepository.$installe
8c960 64 52 65 70 6f 2c 20 52 65 71 75 65 73 74 20 24 72 65 71 75 65 73 74 2c 20 61 72 72 61 79 20 24 dRepo,.Request.$request,.array.$
8c980 6f 70 65 72 61 74 69 6f 6e 73 2c 20 4f 70 65 72 61 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 operations,.OperationInterface.$
8c9a0 6f 70 65 72 61 74 69 6f 6e 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 operation).{.parent::__construct
8c9c0 28 24 65 76 65 6e 74 4e 61 6d 65 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 69 6f 2c 20 24 64 65 ($eventName,.$composer,.$io,.$de
8c9e0 76 4d 6f 64 65 2c 20 24 70 6f 6c 69 63 79 2c 20 24 70 6f 6f 6c 2c 20 24 69 6e 73 74 61 6c 6c 65 vMode,.$policy,.$pool,.$installe
8ca00 64 52 65 70 6f 2c 20 24 72 65 71 75 65 73 74 2c 20 24 6f 70 65 72 61 74 69 6f 6e 73 29 3b 0a 0a dRepo,.$request,.$operations);..
8ca20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 69 6f 6e 20 3d 20 24 6f 70 65 72 61 74 69 6f 6e 3b 0a 7d $this->operation.=.$operation;.}
8ca40 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 65 72 61 74 .......public.function.getOperat
8ca60 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 69 6f 6e 3b ion().{.return.$this->operation;
8ca80 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
8caa0 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 Composer\Installer;.......class.
8cac0 50 61 63 6b 61 67 65 45 76 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 PackageEvents.{........const.PRE
8cae0 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 20 3d 20 27 70 72 65 2d 70 61 63 6b 61 67 65 2d _PACKAGE_INSTALL.=.'pre-package-
8cb00 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 50 41 43 install';.........const.POST_PAC
8cb20 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 20 3d 20 27 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 69 6e 73 KAGE_INSTALL.=.'post-package-ins
8cb40 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 50 41 43 4b 41 47 45 tall';.........const.PRE_PACKAGE
8cb60 5f 55 50 44 41 54 45 20 3d 20 27 70 72 65 2d 70 61 63 6b 61 67 65 2d 75 70 64 61 74 65 27 3b 0a _UPDATE.=.'pre-package-update';.
8cb80 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 55 50 44 41 54 ........const.POST_PACKAGE_UPDAT
8cba0 45 20 3d 20 27 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 75 70 64 61 74 65 27 3b 0a 0a 0a 0a 0a 0a E.=.'post-package-update';......
8cbc0 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 50 41 43 4b 41 47 45 5f 55 4e 49 4e 53 54 41 4c 4c 20 3d ...const.PRE_PACKAGE_UNINSTALL.=
8cbe0 20 27 70 72 65 2d 70 61 63 6b 61 67 65 2d 75 6e 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a .'pre-package-uninstall';.......
8cc00 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 55 4e 49 4e 53 54 41 4c 4c 20 3d ..const.POST_PACKAGE_UNINSTALL.=
8cc20 20 27 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 75 6e 69 6e 73 74 61 6c 6c 27 3b 0a 7d 0a 3c 3f 70 .'post-package-uninstall';.}.<?p
8cc40 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
8cc60 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 \Installer;..use.Composer\IO\IOI
8cc80 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 nterface;.use.Composer\Package\P
8cca0 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 ackageInterface;.use.Composer\Ut
8ccc0 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c il\Filesystem;.use.Composer\Util
8cce0 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 65 \ProcessExecutor;.......class.Pe
8cd00 61 72 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 20 65 78 74 65 6e 64 73 20 42 69 6e 61 72 79 arBinaryInstaller.extends.Binary
8cd20 49 6e 73 74 61 6c 6c 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 61 6c 6c 65 72 3b 0a Installer.{.private.$installer;.
8cd40 70 72 69 76 61 74 65 20 24 76 65 6e 64 6f 72 44 69 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 private.$vendorDir;..........pub
8cd60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 lic.function.__construct(IOInter
8cd80 66 61 63 65 20 24 69 6f 2c 20 24 62 69 6e 44 69 72 2c 20 24 76 65 6e 64 6f 72 44 69 72 2c 20 24 face.$io,.$binDir,.$vendorDir,.$
8cda0 62 69 6e 43 6f 6d 70 61 74 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 66 69 6c 65 73 79 73 74 65 binCompat,.Filesystem.$filesyste
8cdc0 6d 2c 20 50 65 61 72 49 6e 73 74 61 6c 6c 65 72 20 24 69 6e 73 74 61 6c 6c 65 72 29 0a 7b 0a 70 m,.PearInstaller.$installer).{.p
8cde0 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 62 69 6e 44 69 72 2c arent::__construct($io,.$binDir,
8ce00 20 24 62 69 6e 43 6f 6d 70 61 74 2c 20 24 66 69 6c 65 73 79 73 74 65 6d 29 3b 0a 24 74 68 69 73 .$binCompat,.$filesystem);.$this
8ce20 2d 3e 69 6e 73 74 61 6c 6c 65 72 20 3d 20 24 69 6e 73 74 61 6c 6c 65 72 3b 0a 24 74 68 69 73 2d ->installer.=.$installer;.$this-
8ce40 3e 76 65 6e 64 6f 72 44 69 72 20 3d 20 24 76 65 6e 64 6f 72 44 69 72 3b 0a 7d 0a 0a 70 72 6f 74 >vendorDir.=.$vendorDir;.}..prot
8ce60 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 69 6e 61 72 69 65 73 28 50 61 63 6b 61 ected.function.getBinaries(Packa
8ce80 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 62 69 6e 61 72 69 65 geInterface.$package).{.$binarie
8cea0 73 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 65 72 2d 3e 67 65 74 49 6e 73 sPath.=.$this->installer->getIns
8cec0 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 20 2e 20 27 2f 62 69 6e 2f 27 3b 0a 24 62 tallPath($package)...'/bin/';.$b
8cee0 69 6e 61 72 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 inaries.=.array();.if.(file_exis
8cf00 74 73 28 24 62 69 6e 61 72 69 65 73 50 61 74 68 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 6e 65 ts($binariesPath)).{.foreach.(ne
8cf20 77 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 62 69 6e 61 72 69 65 73 50 w.\FilesystemIterator($binariesP
8cf40 61 74 68 2c 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 4b 45 59 5f 41 53 ath,.\FilesystemIterator::KEY_AS
8cf60 5f 46 49 4c 45 4e 41 4d 45 20 7c 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a _FILENAME.|.\FilesystemIterator:
8cf80 3a 43 55 52 52 45 4e 54 5f 41 53 5f 46 49 4c 45 49 4e 46 4f 29 20 61 73 20 24 66 69 6c 65 4e 61 :CURRENT_AS_FILEINFO).as.$fileNa
8cfa0 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 21 24 76 61 6c 75 65 2d 3e 69 73 44 me.=>.$value).{.if.(!$value->isD
8cfc0 69 72 28 29 29 20 7b 0a 24 62 69 6e 61 72 69 65 73 5b 5d 20 3d 20 27 62 69 6e 2f 27 2e 24 66 69 ir()).{.$binaries[].=.'bin/'.$fi
8cfe0 6c 65 4e 61 6d 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 62 69 6e 61 72 69 65 73 3b leName;.}.}.}..return.$binaries;
8d000 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a .}..protected.function.initializ
8d020 65 42 69 6e 44 69 72 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 42 69 eBinDir().{.parent::initializeBi
8d040 6e 44 69 72 28 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d nDir();.file_put_contents($this-
8d060 3e 62 69 6e 44 69 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 27 2c 20 24 74 68 69 73 2d 3e >binDir.'/composer-php',.$this->
8d080 67 65 6e 65 72 61 74 65 55 6e 69 78 79 50 68 70 50 72 6f 78 79 43 6f 64 65 28 29 29 3b 0a 40 63 generateUnixyPhpProxyCode());.@c
8d0a0 68 6d 6f 64 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 hmod($this->binDir.'/composer-ph
8d0c0 70 27 2c 20 30 37 37 37 20 26 20 7e 75 6d 61 73 6b 28 29 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 p',.0777.&.~umask());.file_put_c
8d0e0 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 ontents($this->binDir.'/composer
8d100 2d 70 68 70 2e 62 61 74 27 2c 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 57 69 6e 64 6f 77 -php.bat',.$this->generateWindow
8d120 73 50 68 70 50 72 6f 78 79 43 6f 64 65 28 29 29 3b 0a 40 63 68 6d 6f 64 28 24 74 68 69 73 2d 3e sPhpProxyCode());.@chmod($this->
8d140 62 69 6e 44 69 72 2e 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 2e 62 61 74 27 2c 20 30 37 37 37 binDir.'/composer-php.bat',.0777
8d160 20 26 20 7e 75 6d 61 73 6b 28 29 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 .&.~umask());.}..protected.funct
8d180 69 6f 6e 20 67 65 6e 65 72 61 74 65 57 69 6e 64 6f 77 73 50 72 6f 78 79 43 6f 64 65 28 24 62 69 ion.generateWindowsProxyCode($bi
8d1a0 6e 2c 20 24 6c 69 6e 6b 29 0a 7b 0a 24 62 69 6e 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 66 69 n,.$link).{.$binPath.=.$this->fi
8d1c0 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 6c 69 6e 6b lesystem->findShortestPath($link
8d1e0 2c 20 24 62 69 6e 29 3b 0a 69 66 20 28 27 2e 62 61 74 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 ,.$bin);.if.('.bat'.===.substr($
8d200 62 69 6e 2c 20 2d 34 29 29 20 7b 0a 24 63 61 6c 6c 65 72 20 3d 20 27 63 61 6c 6c 27 3b 0a 7d 20 bin,.-4)).{.$caller.=.'call';.}.
8d220 65 6c 73 65 20 7b 0a 24 68 61 6e 64 6c 65 20 3d 20 66 6f 70 65 6e 28 24 62 69 6e 2c 20 27 72 27 else.{.$handle.=.fopen($bin,.'r'
8d240 29 3b 0a 24 6c 69 6e 65 20 3d 20 66 67 65 74 73 28 24 68 61 6e 64 6c 65 29 3b 0a 66 63 6c 6f 73 );.$line.=.fgets($handle);.fclos
8d260 65 28 24 68 61 6e 64 6c 65 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 23 21 e($handle);.if.(preg_match('{^#!
8d280 2f 28 3f 3a 75 73 72 2f 62 69 6e 2f 65 6e 76 20 29 3f 28 3f 3a 5b 5e 2f 5d 2b 2f 29 2a 28 2e 2b /(?:usr/bin/env.)?(?:[^/]+/)*(.+
8d2a0 29 24 7d 6d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 61 6c 6c 65 72 )$}m',.$line,.$match)).{.$caller
8d2c0 20 3d 20 74 72 69 6d 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 61 .=.trim($match[1]);.}.else.{.$ca
8d2e0 6c 6c 65 72 20 3d 20 27 70 68 70 27 3b 0a 7d 0a 0a 69 66 20 28 24 63 61 6c 6c 65 72 20 3d 3d 3d ller.=.'php';.}..if.($caller.===
8d300 20 27 70 68 70 27 29 20 7b 0a 72 65 74 75 72 6e 20 22 40 65 63 68 6f 20 6f 66 66 5c 72 5c 6e 22 .'php').{.return."@echo.off\r\n"
8d320 2e 0a 22 70 75 73 68 64 20 2e 5c 72 5c 6e 22 2e 0a 22 63 64 20 25 7e 64 70 30 5c 72 5c 6e 22 2e .."pushd..\r\n".."cd.%~dp0\r\n".
8d340 0a 22 73 65 74 20 50 48 50 5f 50 52 4f 58 59 3d 25 43 44 25 5c 5c 63 6f 6d 70 6f 73 65 72 2d 70 ."set.PHP_PROXY=%CD%\\composer-p
8d360 68 70 2e 62 61 74 5c 72 5c 6e 22 2e 0a 22 63 64 20 22 2e 50 72 6f 63 65 73 73 45 78 65 63 75 74 hp.bat\r\n".."cd.".ProcessExecut
8d380 6f 72 3a 3a 65 73 63 61 70 65 28 64 69 72 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 29 29 2e 22 5c or::escape(dirname($binPath))."\
8d3a0 72 5c 6e 22 2e 0a 22 73 65 74 20 42 49 4e 5f 54 41 52 47 45 54 3d 25 43 44 25 5c 5c 22 2e 62 61 r\n".."set.BIN_TARGET=%CD%\\".ba
8d3c0 73 65 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 29 2e 22 5c 72 5c 6e 22 2e 0a 22 70 6f 70 64 5c 72 sename($binPath)."\r\n".."popd\r
8d3e0 5c 6e 22 2e 0a 22 25 50 48 50 5f 50 52 4f 58 59 25 20 5c 22 25 42 49 4e 5f 54 41 52 47 45 54 25 \n".."%PHP_PROXY%.\"%BIN_TARGET%
8d400 5c 22 20 25 2a 5c 72 5c 6e 22 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 40 65 63 68 6f 20 6f \".%*\r\n";.}.}..return."@echo.o
8d420 66 66 5c 72 5c 6e 22 2e 0a 22 70 75 73 68 64 20 2e 5c 72 5c 6e 22 2e 0a 22 63 64 20 25 7e 64 70 ff\r\n".."pushd..\r\n".."cd.%~dp
8d440 30 5c 72 5c 6e 22 2e 0a 22 63 64 20 22 2e 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 0\r\n".."cd.".ProcessExecutor::e
8d460 73 63 61 70 65 28 64 69 72 6e 61 6d 65 28 24 62 69 6e 50 61 74 68 29 29 2e 22 5c 72 5c 6e 22 2e scape(dirname($binPath))."\r\n".
8d480 0a 22 73 65 74 20 42 49 4e 5f 54 41 52 47 45 54 3d 25 43 44 25 5c 5c 22 2e 62 61 73 65 6e 61 6d ."set.BIN_TARGET=%CD%\\".basenam
8d4a0 65 28 24 62 69 6e 50 61 74 68 29 2e 22 5c 72 5c 6e 22 2e 0a 22 70 6f 70 64 5c 72 5c 6e 22 2e 0a e($binPath)."\r\n".."popd\r\n"..
8d4c0 24 63 61 6c 6c 65 72 2e 22 20 5c 22 25 42 49 4e 5f 54 41 52 47 45 54 25 5c 22 20 25 2a 5c 72 5c $caller.".\"%BIN_TARGET%\".%*\r\
8d4e0 6e 22 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 n";.}..private.function.generate
8d500 57 69 6e 64 6f 77 73 50 68 70 50 72 6f 78 79 43 6f 64 65 28 29 0a 7b 0a 24 62 69 6e 54 6f 56 65 WindowsPhpProxyCode().{.$binToVe
8d520 6e 64 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 53 68 ndor.=.$this->filesystem->findSh
8d540 6f 72 74 65 73 74 50 61 74 68 28 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 2c 20 24 74 68 69 73 2d ortestPath($this->binDir,.$this-
8d560 3e 76 65 6e 64 6f 72 44 69 72 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 0a 22 40 65 63 68 >vendorDir,.true);..return."@ech
8d580 6f 20 6f 66 66 5c 72 5c 6e 22 20 2e 0a 22 73 65 74 6c 6f 63 61 6c 20 65 6e 61 62 6c 65 64 65 6c o.off\r\n"..."setlocal.enabledel
8d5a0 61 79 65 64 65 78 70 61 6e 73 69 6f 6e 5c 72 5c 6e 22 20 2e 0a 22 73 65 74 20 42 49 4e 5f 44 49 ayedexpansion\r\n"..."set.BIN_DI
8d5c0 52 3d 25 7e 64 70 30 5c 72 5c 6e 22 20 2e 0a 22 73 65 74 20 56 45 4e 44 4f 52 5f 44 49 52 3d 25 R=%~dp0\r\n"..."set.VENDOR_DIR=%
8d5e0 42 49 4e 5f 44 49 52 25 5c 5c 22 2e 24 62 69 6e 54 6f 56 65 6e 64 6f 72 2e 22 5c 72 5c 6e 22 20 BIN_DIR%\\".$binToVendor."\r\n".
8d600 2e 0a 22 73 65 74 20 44 49 52 53 3d 2e 5c 72 5c 6e 22 20 2e 0a 22 46 4f 52 20 2f 44 20 25 25 56 .."set.DIRS=.\r\n"..."FOR./D.%%V
8d620 20 49 4e 20 28 25 56 45 4e 44 4f 52 5f 44 49 52 25 5c 5c 2a 29 20 44 4f 20 28 5c 72 5c 6e 22 20 .IN.(%VENDOR_DIR%\\*).DO.(\r\n".
8d640 2e 0a 22 20 20 20 20 46 4f 52 20 2f 44 20 25 25 50 20 49 4e 20 28 25 25 56 5c 5c 2a 29 20 44 4f .."....FOR./D.%%P.IN.(%%V\\*).DO
8d660 20 28 5c 72 5c 6e 22 20 2e 0a 22 20 20 20 20 20 20 20 20 73 65 74 20 44 49 52 53 3d 21 44 49 52 .(\r\n"..."........set.DIRS=!DIR
8d680 53 21 3b 25 25 7e 66 50 5c 72 5c 6e 22 20 2e 0a 22 20 20 20 20 29 5c 72 5c 6e 22 20 2e 0a 22 29 S!;%%~fP\r\n"..."....)\r\n"...")
8d6a0 5c 72 5c 6e 22 20 2e 0a 22 70 68 70 2e 65 78 65 20 2d 64 20 69 6e 63 6c 75 64 65 5f 70 61 74 68 \r\n"..."php.exe.-d.include_path
8d6c0 3d 21 44 49 52 53 21 20 25 2a 5c 72 5c 6e 22 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 =!DIRS!.%*\r\n";.}..private.func
8d6e0 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 55 6e 69 78 79 50 68 70 50 72 6f 78 79 43 6f 64 65 28 29 tion.generateUnixyPhpProxyCode()
8d700 0a 7b 0a 24 62 69 6e 54 6f 56 65 6e 64 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 .{.$binToVendor.=.$this->filesys
8d720 74 65 6d 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 74 68 69 73 2d 3e 62 69 6e tem->findShortestPath($this->bin
8d740 44 69 72 2c 20 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 44 69 72 2c 20 74 72 75 65 29 3b 0a 0a 72 Dir,.$this->vendorDir,.true);..r
8d760 65 74 75 72 6e 0a 22 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 73 68 5c 6e 22 2e 0a 22 53 52 eturn."#!/usr/bin/env.sh\n".."SR
8d780 43 5f 44 49 52 3d 60 70 77 64 60 5c 6e 22 2e 0a 22 42 49 4e 5f 44 49 52 3d 60 64 69 72 6e 61 6d C_DIR=`pwd`\n".."BIN_DIR=`dirnam
8d7a0 65 20 24 30 60 5c 6e 22 2e 0a 22 56 45 4e 44 4f 52 5f 44 49 52 3d 5c 24 42 49 4e 5f 44 49 52 2f e.$0`\n".."VENDOR_DIR=\$BIN_DIR/
8d7c0 22 2e 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 62 69 6e 54 6f 56 65 6e 64 6f 72 29 2e 22 ".escapeshellarg($binToVendor)."
8d7e0 5c 6e 22 2e 0a 22 44 49 52 53 3d 5c 22 5c 22 5c 6e 22 2e 0a 22 66 6f 72 20 76 65 6e 64 6f 72 20 \n".."DIRS=\"\"\n".."for.vendor.
8d800 69 6e 20 5c 24 56 45 4e 44 4f 52 5f 44 49 52 2f 2a 3b 20 64 6f 5c 6e 22 2e 0a 22 20 20 20 20 69 in.\$VENDOR_DIR/*;.do\n".."....i
8d820 66 20 5b 20 2d 64 20 5c 22 5c 24 76 65 6e 64 6f 72 5c 22 20 5d 3b 20 74 68 65 6e 5c 6e 22 2e 0a f.[.-d.\"\$vendor\".];.then\n"..
8d840 22 20 20 20 20 20 20 20 20 66 6f 72 20 70 61 63 6b 61 67 65 20 69 6e 20 5c 24 76 65 6e 64 6f 72 "........for.package.in.\$vendor
8d860 2f 2a 3b 20 64 6f 5c 6e 22 2e 0a 22 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 5b 20 2d 64 20 /*;.do\n".."............if.[.-d.
8d880 5c 22 5c 24 70 61 63 6b 61 67 65 5c 22 20 5d 3b 20 74 68 65 6e 5c 6e 22 2e 0a 22 20 20 20 20 20 \"\$package\".];.then\n"..".....
8d8a0 20 20 20 20 20 20 20 20 20 20 20 44 49 52 53 3d 5c 22 5c 24 7b 44 49 52 53 7d 3a 5c 24 7b 70 61 ...........DIRS=\"\${DIRS}:\${pa
8d8c0 63 6b 61 67 65 7d 5c 22 5c 6e 22 2e 0a 22 20 20 20 20 20 20 20 20 20 20 20 20 66 69 5c 6e 22 2e ckage}\"\n".."............fi\n".
8d8e0 0a 22 20 20 20 20 20 20 20 20 64 6f 6e 65 5c 6e 22 2e 0a 22 20 20 20 20 66 69 5c 6e 22 2e 0a 22 ."........done\n".."....fi\n".."
8d900 64 6f 6e 65 5c 6e 22 2e 0a 22 70 68 70 20 2d 64 20 69 6e 63 6c 75 64 65 5f 70 61 74 68 3d 5c 22 done\n".."php.-d.include_path=\"
8d920 2e 5c 24 44 49 52 53 5c 22 20 24 40 5c 6e 22 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a .\$DIRS\".$@\n";.}.}.<?php......
8d940 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c ......namespace.Composer\Install
8d960 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 er;..use.Composer\IO\IOInterface
8d980 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d ;.use.Composer\Composer;.use.Com
8d9a0 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 50 65 61 72 50 61 63 6b 61 67 65 45 78 74 72 poser\Downloader\PearPackageExtr
8d9c0 61 63 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 actor;.use.Composer\Repository\I
8d9e0 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 nstalledRepositoryInterface;.use
8da00 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 .Composer\Package\PackageInterfa
8da20 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a ce;.use.Composer\Util\Platform;.
8da40 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a use.Composer\Util\Filesystem;...
8da60 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 65 61 72 49 6e 73 74 61 6c 6c 65 72 20 65 78 74 65 6e 64 73 .....class.PearInstaller.extends
8da80 20 4c 69 62 72 61 72 79 49 6e 73 74 61 6c 6c 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .LibraryInstaller.{........publi
8daa0 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 c.function.__construct(IOInterfa
8dac0 63 65 20 24 69 6f 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 74 79 70 ce.$io,.Composer.$composer,.$typ
8dae0 65 20 3d 20 27 70 65 61 72 2d 6c 69 62 72 61 72 79 27 29 0a 7b 0a 24 66 69 6c 65 73 79 73 74 65 e.=.'pear-library').{.$filesyste
8db00 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 62 69 6e 61 72 79 49 6e 73 m.=.new.Filesystem();.$binaryIns
8db20 74 61 6c 6c 65 72 20 3d 20 6e 65 77 20 50 65 61 72 42 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 taller.=.new.PearBinaryInstaller
8db40 28 24 69 6f 2c 20 72 74 72 69 6d 28 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 ($io,.rtrim($composer->getConfig
8db60 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 64 69 72 27 29 2c 20 27 2f 27 29 2c 20 72 74 72 69 6d 28 ()->get('bin-dir'),.'/'),.rtrim(
8db80 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 76 65 6e $composer->getConfig()->get('ven
8dba0 64 6f 72 2d 64 69 72 27 29 2c 20 27 2f 27 29 2c 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 43 dor-dir'),.'/'),.$composer->getC
8dbc0 6f 6e 66 69 67 28 29 2d 3e 67 65 74 28 27 62 69 6e 2d 63 6f 6d 70 61 74 27 29 2c 20 24 66 69 6c onfig()->get('bin-compat'),.$fil
8dbe0 65 73 79 73 74 65 6d 2c 20 24 74 68 69 73 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 esystem,.$this);..parent::__cons
8dc00 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 24 74 79 70 65 2c 20 24 66 69 truct($io,.$composer,.$type,.$fi
8dc20 6c 65 73 79 73 74 65 6d 2c 20 24 62 69 6e 61 72 79 49 6e 73 74 61 6c 6c 65 72 29 3b 0a 7d 0a 0a lesystem,.$binaryInstaller);.}..
8dc40 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 49 6e 73 74 61 6c ...public.function.update(Instal
8dc60 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 ledRepositoryInterface.$repo,.Pa
8dc80 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 ckageInterface.$initial,.Package
8dca0 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 6e 69 6e Interface.$target).{.$this->unin
8dcc0 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 69 6e 69 74 69 61 6c 29 3b 0a 24 74 68 69 73 2d 3e 69 stall($repo,.$initial);.$this->i
8dce0 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 70 72 6f 74 65 nstall($repo,.$target);.}..prote
8dd00 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 43 6f 64 65 28 50 61 63 6b 61 67 cted.function.installCode(Packag
8dd20 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 eInterface.$package).{.parent::i
8dd40 6e 73 74 61 6c 6c 43 6f 64 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 24 69 73 57 69 6e 64 6f 77 nstallCode($package);..$isWindow
8dd60 73 20 3d 20 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 3b 0a 24 70 68 70 5f s.=.Platform::isWindows();.$php_
8dd80 62 69 6e 20 3d 20 24 74 68 69 73 2d 3e 62 69 6e 44 69 72 20 2e 20 28 24 69 73 57 69 6e 64 6f 77 bin.=.$this->binDir...($isWindow
8dda0 73 20 3f 20 27 2f 63 6f 6d 70 6f 73 65 72 2d 70 68 70 2e 62 61 74 27 20 3a 20 27 2f 63 6f 6d 70 s.?.'/composer-php.bat'.:.'/comp
8ddc0 6f 73 65 72 2d 70 68 70 27 29 3b 0a 0a 69 66 20 28 21 24 69 73 57 69 6e 64 6f 77 73 29 20 7b 0a oser-php');..if.(!$isWindows).{.
8dde0 24 70 68 70 5f 62 69 6e 20 3d 20 27 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 27 20 2e 20 24 70 68 $php_bin.=.'/usr/bin/env.'...$ph
8de00 70 5f 62 69 6e 3b 0a 7d 0a 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e p_bin;.}..$installPath.=.$this->
8de20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 76 61 72 73 20 getInstallPath($package);.$vars.
8de40 3d 20 61 72 72 61 79 28 0a 27 6f 73 27 20 3d 3e 20 24 69 73 57 69 6e 64 6f 77 73 20 3f 20 27 77 =.array(.'os'.=>.$isWindows.?.'w
8de60 69 6e 64 6f 77 73 27 20 3a 20 27 6c 69 6e 75 78 27 2c 0a 27 70 68 70 5f 62 69 6e 27 20 3d 3e 20 indows'.:.'linux',.'php_bin'.=>.
8de80 24 70 68 70 5f 62 69 6e 2c 0a 27 70 65 61 72 5f 70 68 70 27 20 3d 3e 20 24 69 6e 73 74 61 6c 6c $php_bin,.'pear_php'.=>.$install
8dea0 50 61 74 68 2c 0a 27 70 68 70 5f 64 69 72 27 20 3d 3e 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 2c Path,.'php_dir'.=>.$installPath,
8dec0 0a 27 62 69 6e 5f 64 69 72 27 20 3d 3e 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 2e 20 27 2f 62 .'bin_dir'.=>.$installPath...'/b
8dee0 69 6e 27 2c 0a 27 64 61 74 61 5f 64 69 72 27 20 3d 3e 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 in',.'data_dir'.=>.$installPath.
8df00 2e 20 27 2f 64 61 74 61 27 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 ..'/data',.'version'.=>.$package
8df20 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 0a 29 3b 0a 0a 24 70 61 63 6b 61 ->getPrettyVersion(),.);..$packa
8df40 67 65 41 72 63 68 69 76 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 geArchive.=.$this->getInstallPat
8df60 68 28 24 70 61 63 6b 61 67 65 29 2e 27 2f 27 2e 70 61 74 68 69 6e 66 6f 28 24 70 61 63 6b 61 67 h($package).'/'.pathinfo($packag
8df80 65 2d 3e 67 65 74 44 69 73 74 55 72 6c 28 29 2c 20 50 41 54 48 49 4e 46 4f 5f 42 41 53 45 4e 41 e->getDistUrl(),.PATHINFO_BASENA
8dfa0 4d 45 29 3b 0a 24 70 65 61 72 45 78 74 72 61 63 74 6f 72 20 3d 20 6e 65 77 20 50 65 61 72 50 61 ME);.$pearExtractor.=.new.PearPa
8dfc0 63 6b 61 67 65 45 78 74 72 61 63 74 6f 72 28 24 70 61 63 6b 61 67 65 41 72 63 68 69 76 65 29 3b ckageExtractor($packageArchive);
8dfe0 0a 24 70 65 61 72 45 78 74 72 61 63 74 6f 72 2d 3e 65 78 74 72 61 63 74 54 6f 28 24 74 68 69 73 .$pearExtractor->extractTo($this
8e000 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 2c 20 61 72 72 61 ->getInstallPath($package),.arra
8e020 79 28 27 70 68 70 27 20 3d 3e 20 27 2f 27 2c 20 27 73 63 72 69 70 74 27 20 3d 3e 20 27 2f 62 69 y('php'.=>.'/',.'script'.=>.'/bi
8e040 6e 27 2c 20 27 64 61 74 61 27 20 3d 3e 20 27 2f 64 61 74 61 27 29 2c 20 24 76 61 72 73 29 3b 0a n',.'data'.=>.'/data'),.$vars);.
8e060 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 43 6c 65 61 .$this->io->writeError('....Clea
8e080 6e 69 6e 67 20 75 70 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 ning.up',.true,.IOInterface::VER
8e0a0 42 4f 53 45 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 75 6e 6c 69 6e 6b BOSE);.$this->filesystem->unlink
8e0c0 28 24 70 61 63 6b 61 67 65 41 72 63 68 69 76 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a ($packageArchive);.}.}.<?php....
8e0e0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e 73 74 61 ........namespace.Composer\Insta
8e100 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 ller;..use.Composer\Composer;.us
8e120 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 e.Composer\IO\IOInterface;.use.C
8e140 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f omposer\Repository\InstalledRepo
8e160 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 sitoryInterface;.use.Composer\Pa
8e180 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 ckage\PackageInterface;........c
8e1a0 6c 61 73 73 20 50 6c 75 67 69 6e 49 6e 73 74 61 6c 6c 65 72 20 65 78 74 65 6e 64 73 20 4c 69 62 lass.PluginInstaller.extends.Lib
8e1c0 72 61 72 79 49 6e 73 74 61 6c 6c 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 61 6c 6c raryInstaller.{.private.$install
8e1e0 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ationManager;........public.func
8e200 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f tion.__construct(IOInterface.$io
8e220 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a ,.Composer.$composer).{.parent::
8e240 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6f 2c 20 24 63 6f 6d 70 6f 73 65 72 2c 20 27 63 6f 6d __construct($io,.$composer,.'com
8e260 70 6f 73 65 72 2d 70 6c 75 67 69 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 poser-plugin');.$this->installat
8e280 69 6f 6e 4d 61 6e 61 67 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 ionManager.=.$composer->getInsta
8e2a0 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 llationManager();.}.....public.f
8e2c0 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 70 65 29 0a 7b unction.supports($packageType).{
8e2e0 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 54 79 70 65 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 .return.$packageType.===.'compos
8e300 65 72 2d 70 6c 75 67 69 6e 27 20 7c 7c 20 24 70 61 63 6b 61 67 65 54 79 70 65 20 3d 3d 3d 20 27 er-plugin'.||.$packageType.===.'
8e320 63 6f 6d 70 6f 73 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 composer-installer';.}.....publi
8e340 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f c.function.install(InstalledRepo
8e360 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e sitoryInterface.$repo,.PackageIn
8e380 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 65 78 74 72 61 20 3d 20 24 70 61 terface.$package).{.$extra.=.$pa
8e3a0 63 6b 61 67 65 2d 3e 67 65 74 45 78 74 72 61 28 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 65 78 ckage->getExtra();.if.(empty($ex
8e3c0 74 72 61 5b 27 63 6c 61 73 73 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 tra['class'])).{.throw.new.\Unex
8e3e0 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 45 72 72 6f 72 20 77 68 69 6c pectedValueException('Error.whil
8e400 65 20 69 6e 73 74 61 6c 6c 69 6e 67 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 e.installing.'.$package->getPret
8e420 74 79 4e 61 6d 65 28 29 2e 27 2c 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 20 70 61 63 6b tyName().',.composer-plugin.pack
8e440 61 67 65 73 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 63 6c 61 73 73 20 64 65 66 69 6e 65 64 ages.should.have.a.class.defined
8e460 20 69 6e 20 74 68 65 69 72 20 65 78 74 72 61 20 6b 65 79 20 74 6f 20 62 65 20 75 73 61 62 6c 65 .in.their.extra.key.to.be.usable
8e480 2e 27 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 69 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 .');.}..parent::install($repo,.$
8e4a0 70 61 63 6b 61 67 65 29 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d package);.try.{.$this->composer-
8e4c0 3e 67 65 74 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 72 65 67 69 73 74 65 72 50 61 63 >getPluginManager()->registerPac
8e4e0 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 74 72 75 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c kage($package,.true);.}.catch.(\
8e500 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 Exception.$e).{...$this->io->wri
8e520 74 65 45 72 72 6f 72 28 27 50 6c 75 67 69 6e 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 61 69 teError('Plugin.installation.fai
8e540 6c 65 64 2c 20 72 6f 6c 6c 69 6e 67 20 62 61 63 6b 27 29 3b 0a 70 61 72 65 6e 74 3a 3a 75 6e 69 led,.rolling.back');.parent::uni
8e560 6e 73 74 61 6c 6c 28 24 72 65 70 6f 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a 74 68 72 6f 77 20 24 nstall($repo,.$package);.throw.$
8e580 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 e;.}.}.....public.function.updat
8e5a0 65 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 e(InstalledRepositoryInterface.$
8e5c0 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c repo,.PackageInterface.$initial,
8e5e0 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 24 65 78 .PackageInterface.$target).{.$ex
8e600 74 72 61 20 3d 20 24 74 61 72 67 65 74 2d 3e 67 65 74 45 78 74 72 61 28 29 3b 0a 69 66 20 28 65 tra.=.$target->getExtra();.if.(e
8e620 6d 70 74 79 28 24 65 78 74 72 61 5b 27 63 6c 61 73 73 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e mpty($extra['class'])).{.throw.n
8e640 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 45 72 ew.\UnexpectedValueException('Er
8e660 72 6f 72 20 77 68 69 6c 65 20 69 6e 73 74 61 6c 6c 69 6e 67 20 27 2e 24 74 61 72 67 65 74 2d 3e ror.while.installing.'.$target->
8e680 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 2c 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 getPrettyName().',.composer-plug
8e6a0 69 6e 20 70 61 63 6b 61 67 65 73 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 63 6c 61 73 73 20 in.packages.should.have.a.class.
8e6c0 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 69 72 20 65 78 74 72 61 20 6b 65 79 20 74 6f 20 62 65 defined.in.their.extra.key.to.be
8e6e0 20 75 73 61 62 6c 65 2e 27 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 75 70 64 61 74 65 28 24 72 .usable.');.}..parent::update($r
8e700 65 70 6f 2c 20 24 69 6e 69 74 69 61 6c 2c 20 24 74 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d 3e epo,.$initial,.$target);.$this->
8e720 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 72 65 composer->getPluginManager()->re
8e740 67 69 73 74 65 72 50 61 63 6b 61 67 65 28 24 74 61 72 67 65 74 2c 20 74 72 75 65 29 3b 0a 7d 0a gisterPackage($target,.true);.}.
8e760 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
8e780 70 6f 73 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 poser\Installer;..use.Composer\P
8e7a0 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d ackage\PackageInterface;.use.Com
8e7c0 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 poser\Downloader\DownloadManager
8e7e0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 49 6e 73 74 61 6c ;.use.Composer\Repository\Instal
8e800 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 ledRepositoryInterface;.use.Comp
8e820 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 oser\Util\Filesystem;........cla
8e840 73 73 20 50 72 6f 6a 65 63 74 49 6e 73 74 61 6c 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 ss.ProjectInstaller.implements.I
8e860 6e 73 74 61 6c 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 73 nstallerInterface.{.private.$ins
8e880 74 61 6c 6c 50 61 74 68 3b 0a 70 72 69 76 61 74 65 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 tallPath;.private.$downloadManag
8e8a0 65 72 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 70 75 62 6c 69 63 er;.private.$filesystem;..public
8e8c0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 73 74 61 6c 6c 50 61 .function.__construct($installPa
8e8e0 74 68 2c 20 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 24 64 6d 29 0a 7b 0a 24 74 68 69 73 th,.DownloadManager.$dm).{.$this
8e900 2d 3e 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 72 74 72 69 6d 28 73 74 72 74 72 28 24 69 6e 73 ->installPath.=.rtrim(strtr($ins
8e920 74 61 6c 6c 50 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 2c 20 27 2f 27 29 2e 27 2f 27 3b 0a tallPath,.'\\',.'/'),.'/').'/';.
8e940 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 3d 20 24 64 6d 3b 0a 24 74 $this->downloadManager.=.$dm;.$t
8e960 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d his->filesystem.=.new.Filesystem
8e980 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f ;.}........public.function.suppo
8e9a0 72 74 73 28 24 70 61 63 6b 61 67 65 54 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b rts($packageType).{.return.true;
8e9c0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 73 74 61 6c 6c .}.....public.function.isInstall
8e9e0 65 64 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 ed(InstalledRepositoryInterface.
8ea00 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 $repo,.PackageInterface.$package
8ea20 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ).{.return.false;.}.....public.f
8ea40 75 6e 63 74 69 6f 6e 20 69 6e 73 74 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 unction.install(InstalledReposit
8ea60 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 oryInterface.$repo,.PackageInter
8ea80 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 69 6e 73 74 61 6c 6c 50 61 74 68 20 3d 20 face.$package).{.$installPath.=.
8eaa0 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 50 61 74 68 3b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 $this->installPath;.if.(file_exi
8eac0 73 74 73 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 20 26 26 20 21 24 74 68 69 73 2d 3e 66 69 6c sts($installPath).&&.!$this->fil
8eae0 65 73 79 73 74 65 6d 2d 3e 69 73 44 69 72 45 6d 70 74 79 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 esystem->isDirEmpty($installPath
8eb00 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 )).{.throw.new.\InvalidArgumentE
8eb20 78 63 65 70 74 69 6f 6e 28 22 50 72 6f 6a 65 63 74 20 64 69 72 65 63 74 6f 72 79 20 24 69 6e 73 xception("Project.directory.$ins
8eb40 74 61 6c 6c 50 61 74 68 20 69 73 20 6e 6f 74 20 65 6d 70 74 79 2e 22 29 3b 0a 7d 0a 69 66 20 28 tallPath.is.not.empty.");.}.if.(
8eb60 21 69 73 5f 64 69 72 28 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 29 20 7b 0a 6d 6b 64 69 72 28 24 !is_dir($installPath)).{.mkdir($
8eb80 69 6e 73 74 61 6c 6c 50 61 74 68 2c 20 30 37 37 37 2c 20 74 72 75 65 29 3b 0a 7d 0a 24 74 68 69 installPath,.0777,.true);.}.$thi
8eba0 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 64 6f 77 6e 6c 6f 61 64 28 24 70 61 s->downloadManager->download($pa
8ebc0 63 6b 61 67 65 2c 20 24 69 6e 73 74 61 6c 6c 50 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ckage,.$installPath);.}.....publ
8ebe0 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f ic.function.update(InstalledRepo
8ec00 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e sitoryInterface.$repo,.PackageIn
8ec20 74 65 72 66 61 63 65 20 24 69 6e 69 74 69 61 6c 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 terface.$initial,.PackageInterfa
8ec40 63 65 20 24 74 61 72 67 65 74 29 0a 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 ce.$target).{.throw.new.\Invalid
8ec60 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 ArgumentException("not.supported
8ec80 22 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 69 6e 73 74 ");.}.....public.function.uninst
8eca0 61 6c 6c 28 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 all(InstalledRepositoryInterface
8ecc0 20 24 72 65 70 6f 2c 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 .$repo,.PackageInterface.$packag
8ece0 65 29 0a 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 e).{.throw.new.\InvalidArgumentE
8ed00 78 63 65 70 74 69 6f 6e 28 22 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 22 29 3b 0a 7d 0a 0a 0a 0a xception("not.supported");.}....
8ed20 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 ....public.function.getInstallPa
8ed40 74 68 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a th(PackageInterface.$package).{.
8ed60 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 50 61 74 68 3b 0a 7d 0a 7d 0a 3c return.$this->installPath;.}.}.<
8ed80 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
8eda0 65 72 5c 49 6e 73 74 61 6c 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 er\Installer;..use.Composer\IO\I
8edc0 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 OInterface;.use.Composer\Package
8ede0 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c \PackageInterface;.use.Composer\
8ee00 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a Repository\RepositoryInterface;.
8ee20 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f use.Symfony\Component\Console\Fo
8ee40 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 rmatter\OutputFormatter;.......c
8ee60 6c 61 73 73 20 53 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 52 65 70 6f 72 74 65 72 0a 7b lass.SuggestedPackagesReporter.{
8ee80 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 ....protected.$suggestedPackages
8eea0 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 70 75 .=.array();.....private.$io;..pu
8eec0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 blic.function.__construct(IOInte
8eee0 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a rface.$io).{.$this->io.=.$io;.}.
8ef00 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 73 28 ....public.function.getPackages(
8ef20 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 ).{.return.$this->suggestedPacka
8ef40 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ges;.}.............public.functi
8ef60 6f 6e 20 61 64 64 50 61 63 6b 61 67 65 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 2c 20 on.addPackage($source,.$target,.
8ef80 24 72 65 61 73 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 $reason).{.$this->suggestedPacka
8efa0 67 65 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 73 6f 75 72 63 65 27 20 3d 3e 20 24 73 6f 75 72 ges[].=.array(.'source'.=>.$sour
8efc0 63 65 2c 0a 27 74 61 72 67 65 74 27 20 3d 3e 20 24 74 61 72 67 65 74 2c 0a 27 72 65 61 73 6f 6e ce,.'target'.=>.$target,.'reason
8efe0 27 20 3d 3e 20 24 72 65 61 73 6f 6e 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a '.=>.$reason,.);..return.$this;.
8f000 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 75 67 67 }........public.function.addSugg
8f020 65 73 74 69 6f 6e 73 46 72 6f 6d 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 estionsFromPackage(PackageInterf
8f040 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 73 6f 75 72 63 65 20 3d 20 24 70 61 63 6b 61 ace.$package).{.$source.=.$packa
8f060 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 ge->getPrettyName();.foreach.($p
8f080 61 63 6b 61 67 65 2d 3e 67 65 74 53 75 67 67 65 73 74 73 28 29 20 61 73 20 24 74 61 72 67 65 74 ackage->getSuggests().as.$target
8f0a0 20 3d 3e 20 24 72 65 61 73 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 .=>.$reason).{.$this->addPackage
8f0c0 28 0a 24 73 6f 75 72 63 65 2c 0a 24 74 61 72 67 65 74 2c 0a 24 72 65 61 73 6f 6e 0a 29 3b 0a 7d (.$source,.$target,.$reason.);.}
8f0e0 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ..return.$this;.}.........public
8f100 20 66 75 6e 63 74 69 6f 6e 20 6f 75 74 70 75 74 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 .function.output(RepositoryInter
8f120 66 61 63 65 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 73 face.$installedRepo.=.null).{.$s
8f140 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 uggestedPackages.=.$this->getPac
8f160 6b 61 67 65 73 28 29 3b 0a 24 69 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 kages();.$installedPackages.=.ar
8f180 72 61 79 28 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 69 6e 73 74 61 6c 6c 65 64 52 65 ray();.if.(null.!==.$installedRe
8f1a0 70 6f 20 26 26 20 21 20 65 6d 70 74 79 28 24 73 75 67 67 65 73 74 65 64 50 61 63 6b 61 67 65 73 po.&&.!.empty($suggestedPackages
8f1c0 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 73 74 61 6c 6c 65 64 52 65 70 6f 2d 3e 67 65 )).{.foreach.($installedRepo->ge
8f1e0 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 69 6e 73 74 tPackages().as.$package).{.$inst
8f200 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 69 6e alledPackages.=.array_merge(.$in
8f220 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 stalledPackages,.$package->getNa
8f240 6d 65 73 28 29 0a 29 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 75 67 67 65 73 74 65 mes().);.}.}..foreach.($suggeste
8f260 64 50 61 63 6b 61 67 65 73 20 61 73 20 24 73 75 67 67 65 73 74 69 6f 6e 29 20 7b 0a 69 66 20 28 dPackages.as.$suggestion).{.if.(
8f280 69 6e 5f 61 72 72 61 79 28 24 73 75 67 67 65 73 74 69 6f 6e 5b 27 74 61 72 67 65 74 27 5d 2c 20 in_array($suggestion['target'],.
8f2a0 24 69 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 73 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b $installedPackages)).{.continue;
8f2c0 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 .}..$this->io->writeError(sprint
8f2e0 66 28 0a 27 25 73 20 73 75 67 67 65 73 74 73 20 69 6e 73 74 61 6c 6c 69 6e 67 20 25 73 25 73 27 f(.'%s.suggests.installing.%s%s'
8f300 2c 0a 24 73 75 67 67 65 73 74 69 6f 6e 5b 27 73 6f 75 72 63 65 27 5d 2c 0a 24 74 68 69 73 2d 3e ,.$suggestion['source'],.$this->
8f320 65 73 63 61 70 65 4f 75 74 70 75 74 28 24 73 75 67 67 65 73 74 69 6f 6e 5b 27 74 61 72 67 65 74 escapeOutput($suggestion['target
8f340 27 5d 29 2c 0a 24 74 68 69 73 2d 3e 65 73 63 61 70 65 4f 75 74 70 75 74 28 27 27 20 21 3d 3d 20 ']),.$this->escapeOutput(''.!==.
8f360 24 73 75 67 67 65 73 74 69 6f 6e 5b 27 72 65 61 73 6f 6e 27 5d 20 3f 20 27 20 28 27 2e 24 73 75 $suggestion['reason'].?.'.('.$su
8f380 67 67 65 73 74 69 6f 6e 5b 27 72 65 61 73 6f 6e 27 5d 2e 27 29 27 20 3a 20 27 27 29 0a 29 29 3b ggestion['reason'].')'.:.'').));
8f3a0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 .}..return.$this;.}......private
8f3c0 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 4f 75 74 70 75 74 28 24 73 74 72 69 6e 67 29 0a .function.escapeOutput($string).
8f3e0 7b 0a 72 65 74 75 72 6e 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 {.return.OutputFormatter::escape
8f400 28 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 43 6f 6e 74 72 6f 6c 43 68 61 72 61 63 74 65 72 73 (.$this->removeControlCharacters
8f420 28 24 73 74 72 69 6e 67 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 ($string).);.}......private.func
8f440 74 69 6f 6e 20 72 65 6d 6f 76 65 43 6f 6e 74 72 6f 6c 43 68 61 72 61 63 74 65 72 73 28 24 73 74 tion.removeControlCharacters($st
8f460 72 69 6e 67 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 0a 27 2f 5b ring).{.return.preg_replace(.'/[
8f480 5b 3a 63 6e 74 72 6c 3a 5d 5d 2f 27 2c 0a 27 27 2c 0a 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c [:cntrl:]]/',.'',.str_replace("\
8f4a0 6e 22 2c 20 27 20 27 2c 20 24 73 74 72 69 6e 67 29 0a 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a n",.'.',.$string).);.}.}.<?php..
8f4c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f ..........namespace.Composer\Jso
8f4e0 6e 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 3b 0a 75 73 n;..use.JsonSchema\Validator;.us
8f500 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 5c 4a 73 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 e.Seld\JsonLint\JsonParser;.use.
8f520 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 5c 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 3b 0a Seld\JsonLint\ParsingException;.
8f540 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 use.Composer\Util\RemoteFilesyst
8f560 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b em;.use.Composer\IO\IOInterface;
8f580 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f .use.Composer\Downloader\Transpo
8f5a0 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 46 69 rtException;........class.JsonFi
8f5c0 6c 65 0a 7b 0a 63 6f 6e 73 74 20 4c 41 58 5f 53 43 48 45 4d 41 20 3d 20 31 3b 0a 63 6f 6e 73 74 le.{.const.LAX_SCHEMA.=.1;.const
8f5e0 20 53 54 52 49 43 54 5f 53 43 48 45 4d 41 20 3d 20 32 3b 0a 0a 63 6f 6e 73 74 20 4a 53 4f 4e 5f .STRICT_SCHEMA.=.2;..const.JSON_
8f600 55 4e 45 53 43 41 50 45 44 5f 53 4c 41 53 48 45 53 20 3d 20 36 34 3b 0a 63 6f 6e 73 74 20 4a 53 UNESCAPED_SLASHES.=.64;.const.JS
8f620 4f 4e 5f 50 52 45 54 54 59 5f 50 52 49 4e 54 20 3d 20 31 32 38 3b 0a 63 6f 6e 73 74 20 4a 53 4f ON_PRETTY_PRINT.=.128;.const.JSO
8f640 4e 5f 55 4e 45 53 43 41 50 45 44 5f 55 4e 49 43 4f 44 45 20 3d 20 32 35 36 3b 0a 0a 63 6f 6e 73 N_UNESCAPED_UNICODE.=.256;..cons
8f660 74 20 43 4f 4d 50 4f 53 45 52 5f 53 43 48 45 4d 41 5f 50 41 54 48 20 3d 20 27 2f 2e 2e 2f 2e 2e t.COMPOSER_SCHEMA_PATH.=.'/../..
8f680 2f 2e 2e 2f 72 65 73 2f 63 6f 6d 70 6f 73 65 72 2d 73 63 68 65 6d 61 2e 6a 73 6f 6e 27 3b 0a 0a /../res/composer-schema.json';..
8f6a0 70 72 69 76 61 74 65 20 24 70 61 74 68 3b 0a 70 72 69 76 61 74 65 20 24 72 66 73 3b 0a 70 72 69 private.$path;.private.$rfs;.pri
8f6c0 76 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 vate.$io;..........public.functi
8f6e0 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 68 2c 20 52 65 6d 6f 74 65 46 69 6c 65 on.__construct($path,.RemoteFile
8f700 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 system.$rfs.=.null,.IOInterface.
8f720 24 69 6f 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 68 20 3d 20 24 70 61 74 $io.=.null).{.$this->path.=.$pat
8f740 68 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 72 66 73 20 26 26 20 70 72 65 67 5f 6d 61 h;..if.(null.===.$rfs.&&.preg_ma
8f760 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 7d 69 27 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 tch('{^https?://}i',.$path)).{.t
8f780 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 hrow.new.\InvalidArgumentExcepti
8f7a0 6f 6e 28 27 68 74 74 70 20 75 72 6c 73 20 72 65 71 75 69 72 65 20 61 20 52 65 6d 6f 74 65 46 69 on('http.urls.require.a.RemoteFi
8f7c0 6c 65 73 79 73 74 65 6d 20 69 6e 73 74 61 6e 63 65 20 74 6f 20 62 65 20 70 61 73 73 65 64 27 29 lesystem.instance.to.be.passed')
8f7e0 3b 0a 7d 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 3b 0a 24 74 68 69 73 2d 3e 69 6f ;.}.$this->rfs.=.$rfs;.$this->io
8f800 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 .=.$io;.}.....public.function.ge
8f820 74 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 68 3b 0a 7d 0a tPath().{.return.$this->path;.}.
8f840 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 73 28 29 0a 7b ......public.function.exists().{
8f860 0a 72 65 74 75 72 6e 20 69 73 5f 66 69 6c 65 28 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 7d 0a .return.is_file($this->path);.}.
8f880 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 28 29 0a 7b 0a .......public.function.read().{.
8f8a0 74 72 79 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 66 73 29 20 7b 0a 24 6a 73 6f 6e 20 3d 20 try.{.if.($this->rfs).{.$json.=.
8f8c0 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 70 $this->rfs->getContents($this->p
8f8e0 61 74 68 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 ath,.$this->path,.false);.}.else
8f900 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 .{.if.($this->io.&&.$this->io->i
8f920 73 44 65 62 75 67 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f sDebug()).{.$this->io->writeErro
8f940 72 28 27 52 65 61 64 69 6e 67 20 27 20 2e 20 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 7d 0a 24 r('Reading.'...$this->path);.}.$
8f960 6a 73 6f 6e 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e json.=.file_get_contents($this->
8f980 70 61 74 68 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 path);.}.}.catch.(TransportExcep
8f9a0 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 tion.$e).{.throw.new.\RuntimeExc
8f9c0 65 70 74 69 6f 6e 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 30 2c 20 24 65 29 3b eption($e->getMessage(),.0,.$e);
8f9e0 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 .}.catch.(\Exception.$e).{.throw
8fa00 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f .new.\RuntimeException('Could.no
8fa20 74 20 72 65 61 64 20 27 2e 24 74 68 69 73 2d 3e 70 61 74 68 2e 22 5c 6e 5c 6e 22 2e 24 65 2d 3e t.read.'.$this->path."\n\n".$e->
8fa40 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 61 74 69 63 3a getMessage());.}..return.static:
8fa60 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a :parseJson($json,.$this->path);.
8fa80 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 }.........public.function.write(
8faa0 61 72 72 61 79 20 24 68 61 73 68 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 34 34 38 29 0a 7b 0a 24 array.$hash,.$options.=.448).{.$
8fac0 64 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 69 66 20 28 dir.=.dirname($this->path);.if.(
8fae0 21 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 !is_dir($dir)).{.if.(file_exists
8fb00 28 24 64 69 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 ($dir)).{.throw.new.\UnexpectedV
8fb20 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 0a 24 64 69 72 2e 27 20 65 78 69 73 74 73 20 61 6e 64 alueException(.$dir.'.exists.and
8fb40 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 6f 72 79 2e 27 0a 29 3b 0a 7d 0a 69 66 20 28 21 .is.not.a.directory.'.);.}.if.(!
8fb60 40 6d 6b 64 69 72 28 24 64 69 72 2c 20 30 37 37 37 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f @mkdir($dir,.0777,.true)).{.thro
8fb80 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 w.new.\UnexpectedValueException(
8fba0 0a 24 64 69 72 2e 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 61 6e 64 20 63 6f 75 6c 64 .$dir.'.does.not.exist.and.could
8fbc0 20 6e 6f 74 20 62 65 20 63 72 65 61 74 65 64 2e 27 0a 29 3b 0a 7d 0a 7d 0a 0a 24 72 65 74 72 69 .not.be.created.'.);.}.}..$retri
8fbe0 65 73 20 3d 20 33 3b 0a 77 68 69 6c 65 20 28 24 72 65 74 72 69 65 73 2d 2d 29 20 7b 0a 74 72 79 es.=.3;.while.($retries--).{.try
8fc00 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 70 61 74 68 .{.file_put_contents($this->path
8fc20 2c 20 73 74 61 74 69 63 3a 3a 65 6e 63 6f 64 65 28 24 68 61 73 68 2c 20 24 6f 70 74 69 6f 6e 73 ,.static::encode($hash,.$options
8fc40 29 2e 20 28 24 6f 70 74 69 6f 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f 4e 5f 50 52 45 54 54 59 )..($options.&.self::JSON_PRETTY
8fc60 5f 50 52 49 4e 54 20 3f 20 22 5c 6e 22 20 3a 20 27 27 29 29 3b 0a 62 72 65 61 6b 3b 0a 7d 20 63 _PRINT.?."\n".:.''));.break;.}.c
8fc80 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 72 65 74 72 atch.(\Exception.$e).{.if.($retr
8fca0 69 65 73 29 20 7b 0a 75 73 6c 65 65 70 28 35 30 30 30 30 30 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b ies).{.usleep(500000);.continue;
8fcc0 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 .}..throw.$e;.}.}.}..........pub
8fce0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 53 63 68 65 6d 61 28 24 73 63 68 lic.function.validateSchema($sch
8fd00 65 6d 61 20 3d 20 73 65 6c 66 3a 3a 53 54 52 49 43 54 5f 53 43 48 45 4d 41 2c 20 24 73 63 68 65 ema.=.self::STRICT_SCHEMA,.$sche
8fd20 6d 61 46 69 6c 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 66 69 6c 65 maFile.=.null).{.$content.=.file
8fd40 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 24 64 61 74 _get_contents($this->path);.$dat
8fd60 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 6f 6e 74 65 6e 74 29 3b 0a 0a 69 66 20 28 a.=.json_decode($content);..if.(
8fd80 6e 75 6c 6c 20 3d 3d 3d 20 24 64 61 74 61 20 26 26 20 27 6e 75 6c 6c 27 20 21 3d 3d 20 24 63 6f null.===.$data.&&.'null'.!==.$co
8fda0 6e 74 65 6e 74 29 20 7b 0a 73 65 6c 66 3a 3a 76 61 6c 69 64 61 74 65 53 79 6e 74 61 78 28 24 63 ntent).{.self::validateSyntax($c
8fdc0 6f 6e 74 65 6e 74 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c ontent,.$this->path);.}..if.(nul
8fde0 6c 20 3d 3d 3d 20 24 73 63 68 65 6d 61 46 69 6c 65 29 20 7b 0a 24 73 63 68 65 6d 61 46 69 6c 65 l.===.$schemaFile).{.$schemaFile
8fe00 20 3d 20 5f 5f 44 49 52 5f 5f 20 2e 20 73 65 6c 66 3a 3a 43 4f 4d 50 4f 53 45 52 5f 53 43 48 45 .=.__DIR__...self::COMPOSER_SCHE
8fe20 4d 41 5f 50 41 54 48 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 MA_PATH;.}....if.(false.===.strp
8fe40 6f 73 28 24 73 63 68 65 6d 61 46 69 6c 65 2c 20 27 3a 2f 2f 27 29 29 20 7b 0a 24 73 63 68 65 6d os($schemaFile,.'://')).{.$schem
8fe60 61 46 69 6c 65 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 24 73 63 68 65 6d 61 46 69 6c 65 3b aFile.=.'file://'...$schemaFile;
8fe80 0a 7d 0a 0a 24 73 63 68 65 6d 61 44 61 74 61 20 3d 20 28 6f 62 6a 65 63 74 29 20 61 72 72 61 79 .}..$schemaData.=.(object).array
8fea0 28 27 24 72 65 66 27 20 3d 3e 20 24 73 63 68 65 6d 61 46 69 6c 65 29 3b 0a 0a 69 66 20 28 24 73 ('$ref'.=>.$schemaFile);..if.($s
8fec0 63 68 65 6d 61 20 3d 3d 3d 20 73 65 6c 66 3a 3a 4c 41 58 5f 53 43 48 45 4d 41 29 20 7b 0a 24 73 chema.===.self::LAX_SCHEMA).{.$s
8fee0 63 68 65 6d 61 44 61 74 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 20 chemaData->additionalProperties.
8ff00 3d 20 74 72 75 65 3b 0a 24 73 63 68 65 6d 61 44 61 74 61 2d 3e 72 65 71 75 69 72 65 64 20 3d 20 =.true;.$schemaData->required.=.
8ff20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 56 61 6c array();.}..$validator.=.new.Val
8ff40 69 64 61 74 6f 72 28 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 64 61 74 idator();.$validator->check($dat
8ff60 61 2c 20 24 73 63 68 65 6d 61 44 61 74 61 29 3b 0a 0a 0a 0a 69 66 20 28 21 24 76 61 6c 69 64 61 a,.$schemaData);....if.(!$valida
8ff80 74 6f 72 2d 3e 69 73 56 61 6c 69 64 28 29 29 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 tor->isValid()).{.$errors.=.arra
8ffa0 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 28 61 72 72 61 79 29 20 24 76 61 6c 69 64 61 74 6f 72 y();.foreach.((array).$validator
8ffc0 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 20 61 73 20 24 65 72 72 6f 72 29 20 7b 0a 24 65 72 72 6f ->getErrors().as.$error).{.$erro
8ffe0 72 73 5b 5d 20 3d 20 28 24 65 72 72 6f 72 5b 27 70 72 6f 70 65 72 74 79 27 5d 20 3f 20 24 65 72 rs[].=.($error['property'].?.$er
90000 72 6f 72 5b 27 70 72 6f 70 65 72 74 79 27 5d 2e 27 20 3a 20 27 20 3a 20 27 27 29 2e 24 65 72 72 ror['property'].'.:.'.:.'').$err
90020 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 4a 73 6f 6e 56 or['message'];.}.throw.new.JsonV
90040 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 27 22 27 2e 24 74 68 69 73 2d 3e 70 61 alidationException('"'.$this->pa
90060 74 68 2e 27 22 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 65 78 70 65 63 74 65 th.'".does.not.match.the.expecte
90080 64 20 4a 53 4f 4e 20 73 63 68 65 6d 61 27 2c 20 24 65 72 72 6f 72 73 29 3b 0a 7d 0a 0a 72 65 74 d.JSON.schema',.$errors);.}..ret
900a0 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 urn.true;.}.........public.stati
900c0 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 63 6f 64 65 28 24 64 61 74 61 2c 20 24 6f 70 74 69 6f 6e c.function.encode($data,.$option
900e0 73 20 3d 20 34 34 38 29 0a 7b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d s.=.448).{.if.(PHP_VERSION_ID.>=
90100 20 35 30 34 30 30 29 20 7b 0a 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 .50400).{.$json.=.json_encode($d
90120 61 74 61 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6a ata,.$options);.if.(false.===.$j
90140 73 6f 6e 29 20 7b 0a 73 65 6c 66 3a 3a 74 68 72 6f 77 45 6e 63 6f 64 65 45 72 72 6f 72 28 6a 73 son).{.self::throwEncodeError(js
90160 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 50 48 50 5f 56 on_last_error());.}....if.(PHP_V
90180 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 34 32 38 20 7c 7c 20 28 50 48 50 5f 56 45 52 53 49 4f ERSION_ID.<.50428.||.(PHP_VERSIO
901a0 4e 5f 49 44 20 3e 3d 20 35 30 35 30 30 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 N_ID.>=.50500.&&.PHP_VERSION_ID.
901c0 3c 20 35 30 35 31 32 29 20 7c 7c 20 28 64 65 66 69 6e 65 64 28 27 4a 53 4f 4e 5f 43 5f 56 45 52 <.50512).||.(defined('JSON_C_VER
901e0 53 49 4f 4e 27 29 20 26 26 20 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 70 68 70 76 65 72 SION').&&.version_compare(phpver
90200 73 69 6f 6e 28 27 6a 73 6f 6e 27 29 2c 20 27 31 2e 33 2e 36 27 2c 20 27 3c 27 29 29 29 20 7b 0a sion('json'),.'1.3.6',.'<'))).{.
90220 24 6a 73 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 5b 5c 73 2b 5c 5d 2f 27 $json.=.preg_replace('/\[\s+\]/'
90240 2c 20 27 5b 5d 27 2c 20 24 6a 73 6f 6e 29 3b 0a 24 6a 73 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 ,.'[]',.$json);.$json.=.preg_rep
90260 6c 61 63 65 28 27 2f 5c 7b 5c 73 2b 5c 7d 2f 27 2c 20 27 7b 7d 27 2c 20 24 6a 73 6f 6e 29 3b 0a lace('/\{\s+\}/',.'{}',.$json);.
90280 7d 0a 0a 72 65 74 75 72 6e 20 24 6a 73 6f 6e 3b 0a 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e }..return.$json;.}..$json.=.json
902a0 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 6a _encode($data);.if.(false.===.$j
902c0 73 6f 6e 29 20 7b 0a 73 65 6c 66 3a 3a 74 68 72 6f 77 45 6e 63 6f 64 65 45 72 72 6f 72 28 6a 73 son).{.self::throwEncodeError(js
902e0 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 29 3b 0a 7d 0a 0a 24 70 72 65 74 74 79 50 72 69 6e on_last_error());.}..$prettyPrin
90300 74 20 3d 20 28 62 6f 6f 6c 29 20 28 24 6f 70 74 69 6f 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f t.=.(bool).($options.&.self::JSO
90320 4e 5f 50 52 45 54 54 59 5f 50 52 49 4e 54 29 3b 0a 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 N_PRETTY_PRINT);.$unescapeUnicod
90340 65 20 3d 20 28 62 6f 6f 6c 29 20 28 24 6f 70 74 69 6f 6e 73 20 26 20 73 65 6c 66 3a 3a 4a 53 4f e.=.(bool).($options.&.self::JSO
90360 4e 5f 55 4e 45 53 43 41 50 45 44 5f 55 4e 49 43 4f 44 45 29 3b 0a 24 75 6e 65 73 63 61 70 65 53 N_UNESCAPED_UNICODE);.$unescapeS
90380 6c 61 73 68 65 73 20 3d 20 28 62 6f 6f 6c 29 20 28 24 6f 70 74 69 6f 6e 73 20 26 20 73 65 6c 66 lashes.=.(bool).($options.&.self
903a0 3a 3a 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 53 4c 41 53 48 45 53 29 3b 0a 0a 69 66 20 28 ::JSON_UNESCAPED_SLASHES);..if.(
903c0 21 24 70 72 65 74 74 79 50 72 69 6e 74 20 26 26 20 21 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f !$prettyPrint.&&.!$unescapeUnico
903e0 64 65 20 26 26 20 21 24 75 6e 65 73 63 61 70 65 53 6c 61 73 68 65 73 29 20 7b 0a 72 65 74 75 72 de.&&.!$unescapeSlashes).{.retur
90400 6e 20 24 6a 73 6f 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 4a 73 6f 6e 46 6f 72 6d 61 74 74 65 72 n.$json;.}..return.JsonFormatter
90420 3a 3a 66 6f 72 6d 61 74 28 24 6a 73 6f 6e 2c 20 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 65 ::format($json,.$unescapeUnicode
90440 2c 20 24 75 6e 65 73 63 61 70 65 53 6c 61 73 68 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 ,.$unescapeSlashes);.}........pr
90460 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 68 72 6f 77 45 6e 63 6f 64 ivate.static.function.throwEncod
90480 65 45 72 72 6f 72 28 24 63 6f 64 65 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 63 6f 64 65 29 20 7b eError($code).{.switch.($code).{
904a0 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 44 45 50 54 48 3a 0a 24 6d 73 67 20 3d 20 27 .case.JSON_ERROR_DEPTH:.$msg.=.'
904c0 4d 61 78 69 6d 75 6d 20 73 74 61 63 6b 20 64 65 70 74 68 20 65 78 63 65 65 64 65 64 27 3b 0a 62 Maximum.stack.depth.exceeded';.b
904e0 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 53 54 41 54 45 5f 4d 49 53 4d reak;.case.JSON_ERROR_STATE_MISM
90500 41 54 43 48 3a 0a 24 6d 73 67 20 3d 20 27 55 6e 64 65 72 66 6c 6f 77 20 6f 72 20 74 68 65 20 6d ATCH:.$msg.=.'Underflow.or.the.m
90520 6f 64 65 73 20 6d 69 73 6d 61 74 63 68 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e odes.mismatch';.break;.case.JSON
90540 5f 45 52 52 4f 52 5f 43 54 52 4c 5f 43 48 41 52 3a 0a 24 6d 73 67 20 3d 20 27 55 6e 65 78 70 65 _ERROR_CTRL_CHAR:.$msg.=.'Unexpe
90560 63 74 65 64 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 20 66 6f 75 6e 64 27 3b 0a 62 cted.control.character.found';.b
90580 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 55 54 46 38 3a 0a 24 6d 73 67 reak;.case.JSON_ERROR_UTF8:.$msg
905a0 20 3d 20 27 4d 61 6c 66 6f 72 6d 65 64 20 55 54 46 2d 38 20 63 68 61 72 61 63 74 65 72 73 2c 20 .=.'Malformed.UTF-8.characters,.
905c0 70 6f 73 73 69 62 6c 79 20 69 6e 63 6f 72 72 65 63 74 6c 79 20 65 6e 63 6f 64 65 64 27 3b 0a 62 possibly.incorrectly.encoded';.b
905e0 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 6d 73 67 20 3d 20 27 55 6e 6b 6e 6f 77 6e 20 65 reak;.default:.$msg.=.'Unknown.e
90600 72 72 6f 72 27 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 rror';.}..throw.new.\RuntimeExce
90620 70 74 69 6f 6e 28 27 4a 53 4f 4e 20 65 6e 63 6f 64 69 6e 67 20 66 61 69 6c 65 64 3a 20 27 2e 24 ption('JSON.encoding.failed:.'.$
90640 6d 73 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 msg);.}..........public.static.f
90660 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e 2c 20 24 66 69 6c 65 20 3d unction.parseJson($json,.$file.=
90680 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6a 73 6f 6e 29 20 7b 0a 72 .null).{.if.(null.===.$json).{.r
906a0 65 74 75 72 6e 3b 0a 7d 0a 24 64 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6a 73 eturn;.}.$data.=.json_decode($js
906c0 6f 6e 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 61 74 61 20 26 26 on,.true);.if.(null.===.$data.&&
906e0 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 4e 4f 4e 45 20 21 3d 3d 20 6a 73 6f 6e 5f 6c 61 73 74 5f 65 .JSON_ERROR_NONE.!==.json_last_e
90700 72 72 6f 72 28 29 29 20 7b 0a 73 65 6c 66 3a 3a 76 61 6c 69 64 61 74 65 53 79 6e 74 61 78 28 24 rror()).{.self::validateSyntax($
90720 6a 73 6f 6e 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d json,.$file);.}..return.$data;.}
90740 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 66 75 6e 63 ...........protected.static.func
90760 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 53 79 6e 74 61 78 28 24 6a 73 6f 6e 2c 20 24 66 69 6c 65 tion.validateSyntax($json,.$file
90780 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 61 72 73 65 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 50 61 72 .=.null).{.$parser.=.new.JsonPar
907a0 73 65 72 28 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 70 61 72 73 65 72 2d 3e 6c 69 6e 74 28 24 ser();.$result.=.$parser->lint($
907c0 6a 73 6f 6e 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 69 json);.if.(null.===.$result).{.i
907e0 66 20 28 64 65 66 69 6e 65 64 28 27 4a 53 4f 4e 5f 45 52 52 4f 52 5f 55 54 46 38 27 29 20 26 26 f.(defined('JSON_ERROR_UTF8').&&
90800 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 55 54 46 38 20 3d 3d 3d 20 6a 73 6f 6e 5f 6c 61 73 74 5f 65 .JSON_ERROR_UTF8.===.json_last_e
90820 72 72 6f 72 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 rror()).{.throw.new.\UnexpectedV
90840 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 22 27 2e 24 66 69 6c 65 2e 27 22 20 69 73 20 6e 6f alueException('"'.$file.'".is.no
90860 74 20 55 54 46 2d 38 2c 20 63 6f 75 6c 64 20 6e 6f 74 20 70 61 72 73 65 20 61 73 20 4a 53 4f 4e t.UTF-8,.could.not.parse.as.JSON
90880 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 ');.}..return.true;.}..throw.new
908a0 20 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 27 22 27 2e 24 66 69 6c 65 2e 27 22 20 64 .ParsingException('"'.$file.'".d
908c0 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 76 61 6c 69 64 20 4a 53 4f 4e 27 2e 22 5c 6e 22 oes.not.contain.valid.JSON'."\n"
908e0 2e 24 72 65 73 75 6c 74 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 24 72 65 73 75 6c 74 2d .$result->getMessage(),.$result-
90900 3e 67 65 74 44 65 74 61 69 6c 73 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a >getDetails());.}.}.<?php.......
90920 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 3b 0a 0a 0a .....namespace.Composer\Json;...
90940 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 46 6f 72 6d 61 74 74 65 72 0a 7b 0a 0a 0a 0a .......class.JsonFormatter.{....
90960 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 .........public.static.function.
90980 66 6f 72 6d 61 74 28 24 6a 73 6f 6e 2c 20 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f 64 65 2c 20 format($json,.$unescapeUnicode,.
909a0 24 75 6e 65 73 63 61 70 65 53 6c 61 73 68 65 73 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 27 27 $unescapeSlashes).{.$result.=.''
909c0 3b 0a 24 70 6f 73 20 3d 20 30 3b 0a 24 73 74 72 4c 65 6e 20 3d 20 73 74 72 6c 65 6e 28 24 6a 73 ;.$pos.=.0;.$strLen.=.strlen($js
909e0 6f 6e 29 3b 0a 24 69 6e 64 65 6e 74 53 74 72 20 3d 20 27 20 20 20 20 27 3b 0a 24 6e 65 77 4c 69 on);.$indentStr.=.'....';.$newLi
90a00 6e 65 20 3d 20 22 5c 6e 22 3b 0a 24 6f 75 74 4f 66 51 75 6f 74 65 73 20 3d 20 74 72 75 65 3b 0a ne.=."\n";.$outOfQuotes.=.true;.
90a20 24 62 75 66 66 65 72 20 3d 20 27 27 3b 0a 24 6e 6f 65 73 63 61 70 65 20 3d 20 74 72 75 65 3b 0a $buffer.=.'';.$noescape.=.true;.
90a40 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 73 74 72 4c 65 6e 3b 20 24 69 2b 2b .for.($i.=.0;.$i.<.$strLen;.$i++
90a60 29 20 7b 0a 0a 20 24 63 68 61 72 20 3d 20 73 75 62 73 74 72 28 24 6a 73 6f 6e 2c 20 24 69 2c 20 ).{...$char.=.substr($json,.$i,.
90a80 31 29 3b 0a 0a 0a 20 69 66 20 28 27 22 27 20 3d 3d 3d 20 24 63 68 61 72 20 26 26 20 24 6e 6f 65 1);....if.('"'.===.$char.&&.$noe
90aa0 73 63 61 70 65 29 20 7b 0a 24 6f 75 74 4f 66 51 75 6f 74 65 73 20 3d 20 21 24 6f 75 74 4f 66 51 scape).{.$outOfQuotes.=.!$outOfQ
90ac0 75 6f 74 65 73 3b 0a 7d 0a 0a 69 66 20 28 21 24 6f 75 74 4f 66 51 75 6f 74 65 73 29 20 7b 0a 24 uotes;.}..if.(!$outOfQuotes).{.$
90ae0 62 75 66 66 65 72 20 2e 3d 20 24 63 68 61 72 3b 0a 24 6e 6f 65 73 63 61 70 65 20 3d 20 27 5c 5c buffer..=.$char;.$noescape.=.'\\
90b00 27 20 3d 3d 3d 20 24 63 68 61 72 20 3f 20 21 24 6e 6f 65 73 63 61 70 65 20 3a 20 74 72 75 65 3b '.===.$char.?.!$noescape.:.true;
90b20 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 27 20 21 3d 3d 20 24 62 75 66 .continue;.}.elseif.(''.!==.$buf
90b40 66 65 72 29 20 7b 0a 69 66 20 28 24 75 6e 65 73 63 61 70 65 53 6c 61 73 68 65 73 29 20 7b 0a 24 fer).{.if.($unescapeSlashes).{.$
90b60 62 75 66 66 65 72 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2f 27 2c 20 27 2f 27 2c buffer.=.str_replace('\\/',.'/',
90b80 20 24 62 75 66 66 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 24 75 6e 65 73 63 61 70 65 55 6e 69 63 6f .$buffer);.}..if.($unescapeUnico
90ba0 64 65 20 26 26 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6d 62 5f 63 6f 6e 76 65 72 de.&&.function_exists('mb_conver
90bc0 74 5f 65 6e 63 6f 64 69 6e 67 27 29 29 20 7b 0a 0a 20 24 62 75 66 66 65 72 20 3d 20 70 72 65 67 t_encoding')).{...$buffer.=.preg
90be0 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 2f 28 5c 5c 5c 5c 2b 29 75 28 5b 30 2d _replace_callback('/(\\\\+)u([0-
90c00 39 61 2d 66 5d 7b 34 7d 29 2f 69 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 29 20 9a-f]{4})/i',.function.($match).
90c20 7b 0a 24 6c 20 3d 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 0a 69 66 20 28 24 {.$l.=.strlen($match[1]);..if.($
90c40 6c 20 25 20 32 29 20 7b 0a 24 63 6f 64 65 20 3d 20 68 65 78 64 65 63 28 24 6d 61 74 63 68 5b 32 l.%.2).{.$code.=.hexdec($match[2
90c60 5d 29 3b 0a 0a 20 0a 20 69 66 20 28 30 78 44 38 30 30 20 3c 3d 20 24 63 6f 64 65 20 26 26 20 30 ]);.....if.(0xD800.<=.$code.&&.0
90c80 78 44 46 46 46 20 3e 3d 20 24 63 6f 64 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b xDFFF.>=.$code).{.return.$match[
90ca0 30 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 65 61 74 28 27 5c 5c 27 2c 20 24 0];.}..return.str_repeat('\\',.$
90cc0 6c 20 2d 20 31 29 20 2e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 0a 70 61 l.-.1)...mb_convert_encoding(.pa
90ce0 63 6b 28 27 48 2a 27 2c 20 24 6d 61 74 63 68 5b 32 5d 29 2c 0a 27 55 54 46 2d 38 27 2c 0a 27 55 ck('H*',.$match[2]),.'UTF-8',.'U
90d00 43 53 2d 32 42 45 27 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 30 5d 3b 0a CS-2BE'.);.}..return.$match[0];.
90d20 7d 2c 20 24 62 75 66 66 65 72 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 62 75 66 66 },.$buffer);.}..$result..=.$buff
90d40 65 72 2e 24 63 68 61 72 3b 0a 24 62 75 66 66 65 72 20 3d 20 27 27 3b 0a 63 6f 6e 74 69 6e 75 65 er.$char;.$buffer.=.'';.continue
90d60 3b 0a 7d 0a 0a 69 66 20 28 27 3a 27 20 3d 3d 3d 20 24 63 68 61 72 29 20 7b 0a 0a 20 24 63 68 61 ;.}..if.(':'.===.$char).{...$cha
90d80 72 20 2e 3d 20 27 20 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 7d 27 20 3d 3d 3d 20 24 63 68 61 r..=.'.';.}.elseif.('}'.===.$cha
90da0 72 20 7c 7c 20 27 5d 27 20 3d 3d 3d 20 24 63 68 61 72 29 20 7b 0a 24 70 6f 73 2d 2d 3b 0a 24 70 r.||.']'.===.$char).{.$pos--;.$p
90dc0 72 65 76 43 68 61 72 20 3d 20 73 75 62 73 74 72 28 24 6a 73 6f 6e 2c 20 24 69 20 2d 20 31 2c 20 revChar.=.substr($json,.$i.-.1,.
90de0 31 29 3b 0a 0a 69 66 20 28 27 7b 27 20 21 3d 3d 20 24 70 72 65 76 43 68 61 72 20 26 26 20 27 5b 1);..if.('{'.!==.$prevChar.&&.'[
90e00 27 20 21 3d 3d 20 24 70 72 65 76 43 68 61 72 29 20 7b 0a 0a 20 0a 20 24 72 65 73 75 6c 74 20 2e '.!==.$prevChar).{.....$result..
90e20 3d 20 24 6e 65 77 4c 69 6e 65 3b 0a 66 6f 72 20 28 24 6a 20 3d 20 30 3b 20 24 6a 20 3c 20 24 70 =.$newLine;.for.($j.=.0;.$j.<.$p
90e40 6f 73 3b 20 24 6a 2b 2b 29 20 7b 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 69 6e 64 65 6e 74 53 74 os;.$j++).{.$result..=.$indentSt
90e60 72 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 72 65 73 75 6c 74 20 3d 20 72 74 72 69 6d 28 r;.}.}.else.{...$result.=.rtrim(
90e80 24 72 65 73 75 6c 74 29 3b 0a 7d 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 63 68 61 72 3b $result);.}.}..$result..=.$char;
90ea0 0a 0a 0a 20 0a 20 69 66 20 28 27 2c 27 20 3d 3d 3d 20 24 63 68 61 72 20 7c 7c 20 27 7b 27 20 3d ......if.(','.===.$char.||.'{'.=
90ec0 3d 3d 20 24 63 68 61 72 20 7c 7c 20 27 5b 27 20 3d 3d 3d 20 24 63 68 61 72 29 20 7b 0a 24 72 65 ==.$char.||.'['.===.$char).{.$re
90ee0 73 75 6c 74 20 2e 3d 20 24 6e 65 77 4c 69 6e 65 3b 0a 0a 69 66 20 28 27 7b 27 20 3d 3d 3d 20 24 sult..=.$newLine;..if.('{'.===.$
90f00 63 68 61 72 20 7c 7c 20 27 5b 27 20 3d 3d 3d 20 24 63 68 61 72 29 20 7b 0a 24 70 6f 73 2b 2b 3b char.||.'['.===.$char).{.$pos++;
90f20 0a 7d 0a 0a 66 6f 72 20 28 24 6a 20 3d 20 30 3b 20 24 6a 20 3c 20 24 70 6f 73 3b 20 24 6a 2b 2b .}..for.($j.=.0;.$j.<.$pos;.$j++
90f40 29 20 7b 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 69 6e 64 65 6e 74 53 74 72 3b 0a 7d 0a 7d 0a 7d ).{.$result..=.$indentStr;.}.}.}
90f60 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a ..return.$result;.}.}.<?php.....
90f80 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 3b 0a .......namespace.Composer\Json;.
90fa0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 .use.Composer\Repository\Platfor
90fc0 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 4d 61 6e 69 70 mRepository;.....class.JsonManip
90fe0 75 6c 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 44 45 46 49 4e 45 53 ulator.{.private.static.$DEFINES
91000 20 3d 20 27 28 3f 28 44 45 46 49 4e 45 29 0a 20 20 20 20 20 20 20 28 3f 3c 6e 75 6d 62 65 72 3e .=.'(?(DEFINE)........(?<number>
91020 20 20 20 2d 3f 20 28 3f 3d 20 5b 31 2d 39 5d 7c 30 28 3f 21 5c 64 29 20 29 20 5c 64 2b 20 28 5c ...-?.(?=.[1-9]|0(?!\d).).\d+.(\
91040 2e 5c 64 2b 29 3f 20 28 5b 65 45 5d 20 5b 2b 2d 5d 3f 20 5c 64 2b 29 3f 20 29 0a 20 20 20 20 20 .\d+)?.([eE].[+-]?.\d+)?.)......
91060 20 20 28 3f 3c 62 6f 6f 6c 65 61 6e 3e 20 20 20 74 72 75 65 20 7c 20 66 61 6c 73 65 20 7c 20 6e ..(?<boolean>...true.|.false.|.n
91080 75 6c 6c 20 29 0a 20 20 20 20 20 20 20 28 3f 3c 73 74 72 69 6e 67 3e 20 20 20 20 22 20 28 5b 5e ull.)........(?<string>....".([^
910a0 22 5c 5c 5c 5c 5d 2a 20 7c 20 5c 5c 5c 5c 20 5b 22 5c 5c 5c 5c 62 66 6e 72 74 5c 2f 5d 20 7c 20 "\\\\]*.|.\\\\.["\\\\bfnrt\/].|.
910c0 5c 5c 5c 5c 20 75 20 5b 30 2d 39 41 2d 46 61 2d 66 5d 7b 34 7d 20 29 2a 20 22 20 29 0a 20 20 20 \\\\.u.[0-9A-Fa-f]{4}.)*.".)....
910e0 20 20 20 20 28 3f 3c 61 72 72 61 79 3e 20 20 20 20 20 5c 5b 20 20 28 3f 3a 20 20 28 3f 26 6a 73 ....(?<array>.....\[..(?:..(?&js
91100 6f 6e 29 20 5c 73 2a 20 28 3f 3a 20 2c 20 28 3f 26 6a 73 6f 6e 29 20 5c 73 2a 20 29 2a 20 20 29 on).\s*.(?:.,.(?&json).\s*.)*..)
91120 3f 20 20 5c 73 2a 20 5c 5d 20 29 0a 20 20 20 20 20 20 20 28 3f 3c 70 61 69 72 3e 20 20 20 20 20 ?..\s*.\].)........(?<pair>.....
91140 20 5c 73 2a 20 28 3f 26 73 74 72 69 6e 67 29 20 5c 73 2a 20 3a 20 28 3f 26 6a 73 6f 6e 29 20 5c .\s*.(?&string).\s*.:.(?&json).\
91160 73 2a 20 29 0a 20 20 20 20 20 20 20 28 3f 3c 6f 62 6a 65 63 74 3e 20 20 20 20 5c 7b 20 20 28 3f s*.)........(?<object>....\{..(?
91180 3a 20 20 28 3f 26 70 61 69 72 29 20 20 28 3f 3a 20 2c 20 28 3f 26 70 61 69 72 29 20 20 29 2a 20 :..(?&pair)..(?:.,.(?&pair)..)*.
911a0 20 29 3f 20 20 5c 73 2a 20 5c 7d 20 29 0a 20 20 20 20 20 20 20 28 3f 3c 6a 73 6f 6e 3e 20 20 20 .)?..\s*.\}.)........(?<json>...
911c0 5c 73 2a 20 28 3f 3a 20 28 3f 26 6e 75 6d 62 65 72 29 20 7c 20 28 3f 26 62 6f 6f 6c 65 61 6e 29 \s*.(?:.(?&number).|.(?&boolean)
911e0 20 7c 20 28 3f 26 73 74 72 69 6e 67 29 20 7c 20 28 3f 26 61 72 72 61 79 29 20 7c 20 28 3f 26 6f .|.(?&string).|.(?&array).|.(?&o
91200 62 6a 65 63 74 29 20 29 20 29 0a 20 20 20 20 29 27 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e bject).).).....)';..private.$con
91220 74 65 6e 74 73 3b 0a 70 72 69 76 61 74 65 20 24 6e 65 77 6c 69 6e 65 3b 0a 70 72 69 76 61 74 65 tents;.private.$newline;.private
91240 20 24 69 6e 64 65 6e 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e .$indent;..public.function.__con
91260 73 74 72 75 63 74 28 24 63 6f 6e 74 65 6e 74 73 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 struct($contents).{.$contents.=.
91280 74 72 69 6d 28 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 69 66 20 28 24 63 6f 6e 74 65 6e 74 73 20 3d trim($contents);.if.($contents.=
912a0 3d 3d 20 27 27 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 27 7b 7d 27 3b 0a 7d 0a 69 66 20 ==.'').{.$contents.=.'{}';.}.if.
912c0 28 21 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 27 23 5e 5c 7b 28 2e 2a 29 5c 7d 24 23 (!$this->pregMatch('#^\{(.*)\}$#
912e0 73 27 2c 20 24 63 6f 6e 74 65 6e 74 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 s',.$contents)).{.throw.new.\Inv
91300 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 6a 73 6f 6e 20 alidArgumentException('The.json.
91320 66 69 6c 65 20 6d 75 73 74 20 62 65 20 61 6e 20 6f 62 6a 65 63 74 20 28 7b 7d 29 27 29 3b 0a 7d file.must.be.an.object.({})');.}
91340 0a 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 3d 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 .$this->newline.=.false.!==.strp
91360 6f 73 28 24 63 6f 6e 74 65 6e 74 73 2c 20 22 5c 72 5c 6e 22 29 20 3f 20 22 5c 72 5c 6e 22 20 3a os($contents,."\r\n").?."\r\n".:
91380 20 22 5c 6e 22 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 24 63 6f 6e 74 65 6e ."\n";.$this->contents.=.$conten
913a0 74 73 20 3d 3d 3d 20 27 7b 7d 27 20 3f 20 27 7b 27 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 ts.===.'{}'.?.'{'...$this->newli
913c0 6e 65 20 2e 20 27 7d 27 20 3a 20 24 63 6f 6e 74 65 6e 74 73 3b 0a 24 74 68 69 73 2d 3e 64 65 74 ne...'}'.:.$contents;.$this->det
913e0 65 63 74 49 6e 64 65 6e 74 69 6e 67 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ectIndenting();.}..public.functi
91400 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d on.getContents().{.return.$this-
91420 3e 63 6f 6e 74 65 6e 74 73 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 3b 0a 7d 0a 0a 70 >contents...$this->newline;.}..p
91440 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 69 6e 6b 28 24 74 79 70 65 2c 20 24 70 ublic.function.addLink($type,.$p
91460 61 63 6b 61 67 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 73 6f 72 74 50 61 63 6b 61 67 ackage,.$constraint,.$sortPackag
91480 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 64 65 63 6f 64 65 64 20 3d 20 4a 73 6f 6e 46 69 6c es.=.false).{.$decoded.=.JsonFil
914a0 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a e::parseJson($this->contents);..
914c0 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 64 65 63 6f 64 65 64 5b 24 74 79 70 65 5d 29 29 20 7b ..if.(!isset($decoded[$type])).{
914e0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 4d 61 69 6e 4b 65 79 28 24 74 79 70 65 2c .return.$this->addMainKey($type,
91500 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 .array($package.=>.$constraint))
91520 3b 0a 7d 0a 0a 24 72 65 67 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 ;.}..$regex.=.'{'.self::$DEFINES
91540 2e 27 5e 28 3f 50 3c 73 74 61 72 74 3e 5c 73 2a 5c 7b 5c 73 2a 28 3f 3a 28 3f 26 73 74 72 69 6e .'^(?P<start>\s*\{\s*(?:(?&strin
91560 67 29 5c 73 2a 3a 5c 73 2a 28 3f 26 6a 73 6f 6e 29 5c 73 2a 2c 5c 73 2a 29 2a 3f 29 27 2e 0a 27 g)\s*:\s*(?&json)\s*,\s*)*?)'..'
91580 28 3f 50 3c 70 72 6f 70 65 72 74 79 3e 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 4a 73 6f 6e 46 69 (?P<property>'.preg_quote(JsonFi
915a0 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 74 79 70 65 29 29 2e 27 5c 73 2a 3a 5c 73 2a 29 28 3f 50 3c le::encode($type)).'\s*:\s*)(?P<
915c0 76 61 6c 75 65 3e 28 3f 26 6a 73 6f 6e 29 29 28 3f 50 3c 65 6e 64 3e 2e 2a 29 7d 73 78 27 3b 0a value>(?&json))(?P<end>.*)}sx';.
915e0 69 66 20 28 21 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 74 if.(!$this->pregMatch($regex,.$t
91600 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 his->contents,.$matches)).{.retu
91620 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 6c 69 6e 6b 73 20 3d 20 24 6d 61 74 63 68 65 73 5b 27 rn.false;.}..$links.=.$matches['
91640 76 61 6c 75 65 27 5d 3b 0a 0a 0a 20 24 70 61 63 6b 61 67 65 52 65 67 65 78 20 3d 20 73 74 72 5f value'];....$packageRegex.=.str_
91660 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 27 5c 5c 5c 5c 3f 2f 27 2c 20 70 72 65 67 5f 71 75 6f 74 replace('/',.'\\\\?/',.preg_quot
91680 65 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 24 72 65 67 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a e($package));.$regex.=.'{'.self:
916a0 3a 24 44 45 46 49 4e 45 53 2e 27 22 28 3f 50 3c 70 61 63 6b 61 67 65 3e 27 2e 24 70 61 63 6b 61 :$DEFINES.'"(?P<package>'.$packa
916c0 67 65 52 65 67 65 78 2e 27 29 22 28 5c 73 2a 3a 5c 73 2a 29 28 3f 26 73 74 72 69 6e 67 29 7d 69 geRegex.')"(\s*:\s*)(?&string)}i
916e0 78 27 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 72 65 67 65 78 2c x';.if.($this->pregMatch($regex,
91700 20 24 6c 69 6e 6b 73 2c 20 24 70 61 63 6b 61 67 65 4d 61 74 63 68 65 73 29 29 20 7b 0a 0a 20 24 .$links,.$packageMatches)).{...$
91720 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 4d 61 74 63 68 65 existingPackage.=.$packageMatche
91740 73 5b 27 70 61 63 6b 61 67 65 27 5d 3b 0a 24 70 61 63 6b 61 67 65 52 65 67 65 78 20 3d 20 73 74 s['package'];.$packageRegex.=.st
91760 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 27 5c 5c 5c 5c 3f 2f 27 2c 20 70 72 65 67 5f 71 75 r_replace('/',.'\\\\?/',.preg_qu
91780 6f 74 65 28 24 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 65 29 29 3b 0a 24 6c 69 6e 6b 73 20 3d ote($existingPackage));.$links.=
917a0 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 27 2e 73 65 6c 66 3a .preg_replace_callback('{'.self:
917c0 3a 24 44 45 46 49 4e 45 53 2e 27 22 27 2e 24 70 61 63 6b 61 67 65 52 65 67 65 78 2e 27 22 28 3f :$DEFINES.'"'.$packageRegex.'"(?
917e0 50 3c 73 65 70 61 72 61 74 6f 72 3e 5c 73 2a 3a 5c 73 2a 29 28 3f 26 73 74 72 69 6e 67 29 7d 69 P<separator>\s*:\s*)(?&string)}i
91800 78 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 29 20 75 73 65 20 28 24 65 78 69 73 74 69 6e 67 x',.function.($m).use.($existing
91820 50 61 63 6b 61 67 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 4a Package,.$constraint).{.return.J
91840 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2f sonFile::encode(str_replace('\\/
91860 27 2c 20 27 2f 27 2c 20 24 65 78 69 73 74 69 6e 67 50 61 63 6b 61 67 65 29 29 20 2e 20 24 6d 5b ',.'/',.$existingPackage))...$m[
91880 27 73 65 70 61 72 61 74 6f 72 27 5d 20 2e 20 27 22 27 20 2e 20 24 63 6f 6e 73 74 72 61 69 6e 74 'separator']...'"'...$constraint
918a0 20 2e 20 27 22 27 3b 0a 7d 2c 20 24 6c 69 6e 6b 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 ...'"';.},.$links);.}.else.{.if.
918c0 28 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 27 23 5e 5c 73 2a 5c 7b 5c 73 2a 5c 53 2b ($this->pregMatch('#^\s*\{\s*\S+
918e0 2e 2a 3f 28 5c 73 2a 5c 7d 5c 73 2a 29 24 23 73 27 2c 20 24 6c 69 6e 6b 73 2c 20 24 6d 61 74 63 .*?(\s*\}\s*)$#s',.$links,.$matc
91900 68 29 29 20 7b 0a 0a 20 24 6c 69 6e 6b 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 0a 27 h)).{...$links.=.preg_replace(.'
91920 7b 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 6d 61 74 63 68 5b 31 5d 29 2e 27 24 7d 27 2c 0a 0a {'.preg_quote($match[1]).'$}',..
91940 20 61 64 64 63 73 6c 61 73 68 65 73 28 27 2c 27 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e .addcslashes(','...$this->newlin
91960 65 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e e...$this->indent...$this->inden
91980 74 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 70 61 63 6b 61 67 65 29 2e 27 t...JsonFile::encode($package).'
919a0 3a 20 27 2e 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 63 6f 6e 73 74 72 61 69 6e 74 :.'.JsonFile::encode($constraint
919c0 29 20 2e 20 24 6d 61 74 63 68 5b 31 5d 2c 20 27 5c 5c 24 27 29 2c 0a 24 6c 69 6e 6b 73 0a 29 3b )...$match[1],.'\\$'),.$links.);
919e0 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 6c 69 6e 6b 73 20 3d 20 27 7b 27 20 2e 20 24 74 68 69 73 .}.else.{...$links.=.'{'...$this
91a00 2d 3e 6e 65 77 6c 69 6e 65 20 2e 0a 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 24 74 68 69 ->newline...$this->indent...$thi
91a20 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 70 61 s->indent...JsonFile::encode($pa
91a40 63 6b 61 67 65 29 2e 27 3a 20 27 2e 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 63 6f ckage).':.'.JsonFile::encode($co
91a60 6e 73 74 72 61 69 6e 74 29 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 0a 24 74 68 nstraint)...$this->newline...$th
91a80 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 27 7d 27 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 is->indent...'}';.}.}..if.(true.
91aa0 3d 3d 3d 20 24 73 6f 72 74 50 61 63 6b 61 67 65 73 29 20 7b 0a 24 72 65 71 75 69 72 65 6d 65 6e ===.$sortPackages).{.$requiremen
91ac0 74 73 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6c 69 6e 6b 73 2c 20 74 72 75 65 29 3b 0a ts.=.json_decode($links,.true);.
91ae0 24 74 68 69 73 2d 3e 73 6f 72 74 50 61 63 6b 61 67 65 73 28 24 72 65 71 75 69 72 65 6d 65 6e 74 $this->sortPackages($requirement
91b00 73 29 3b 0a 24 6c 69 6e 6b 73 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 28 24 72 65 71 75 s);.$links.=.$this->format($requ
91b20 69 72 65 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 irements);.}..$this->contents.=.
91b40 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 70 72 $matches['start']...$matches['pr
91b60 6f 70 65 72 74 79 27 5d 20 2e 20 24 6c 69 6e 6b 73 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 65 6e operty']...$links...$matches['en
91b80 64 27 5d 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 d'];..return.true;.}.........pri
91ba0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 50 61 63 6b 61 67 65 73 28 61 72 72 61 79 vate.function.sortPackages(array
91bc0 20 26 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 70 72 65 66 69 78 .&$packages.=.array()).{.$prefix
91be0 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 72 65 71 75 69 72 65 6d 65 6e 74 29 20 7b 0a 69 66 20 .=.function.($requirement).{.if.
91c00 28 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a (preg_match(PlatformRepository::
91c20 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 72 65 71 75 69 72 65 PLATFORM_PACKAGE_REGEX,.$require
91c40 6d 65 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 0a 61 72 ment)).{.return.preg_replace(.ar
91c60 72 61 79 28 0a 27 2f 5e 70 68 70 2f 27 2c 0a 27 2f 5e 68 68 76 6d 2f 27 2c 0a 27 2f 5e 65 78 74 ray(.'/^php/',.'/^hhvm/',.'/^ext
91c80 2f 27 2c 0a 27 2f 5e 6c 69 62 2f 27 2c 0a 27 2f 5e 5c 44 2f 27 2c 0a 29 2c 0a 61 72 72 61 79 28 /',.'/^lib/',.'/^\D/',.),.array(
91ca0 0a 27 30 2d 24 30 27 2c 0a 27 31 2d 24 30 27 2c 0a 27 32 2d 24 30 27 2c 0a 27 33 2d 24 30 27 2c .'0-$0',.'1-$0',.'2-$0',.'3-$0',
91cc0 0a 27 34 2d 24 30 27 2c 0a 29 2c 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 0a 29 3b 0a 7d 0a 0a 72 .'4-$0',.),.$requirement.);.}..r
91ce0 65 74 75 72 6e 20 27 35 2d 27 2e 24 72 65 71 75 69 72 65 6d 65 6e 74 3b 0a 7d 3b 0a 0a 75 6b 73 eturn.'5-'.$requirement;.};..uks
91d00 6f 72 74 28 24 70 61 63 6b 61 67 65 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 ort($packages,.function.($a,.$b)
91d20 20 75 73 65 20 28 24 70 72 65 66 69 78 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 6e 61 74 63 6d .use.($prefix).{.return.strnatcm
91d40 70 28 24 70 72 65 66 69 78 28 24 61 29 2c 20 24 70 72 65 66 69 78 28 24 62 29 29 3b 0a 7d 29 3b p($prefix($a),.$prefix($b));.});
91d60 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 70 6f 73 69 74 6f 72 .}..public.function.addRepositor
91d80 79 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 y($name,.$config).{.return.$this
91da0 2d 3e 61 64 64 53 75 62 4e 6f 64 65 28 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 2c 20 24 6e 61 ->addSubNode('repositories',.$na
91dc0 6d 65 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e me,.$config);.}..public.function
91de0 20 72 65 6d 6f 76 65 52 65 70 6f 73 69 74 6f 72 79 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 .removeRepository($name).{.retur
91e00 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 27 72 65 70 6f 73 69 74 6f n.$this->removeSubNode('reposito
91e20 72 69 65 73 27 2c 20 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ries',.$name);.}..public.functio
91e40 6e 20 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 n.addConfigSetting($name,.$value
91e60 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 53 75 62 4e 6f 64 65 28 27 63 6f ).{.return.$this->addSubNode('co
91e80 6e 66 69 67 27 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 nfig',.$name,.$value);.}..public
91ea0 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 24 6e .function.removeConfigSetting($n
91ec0 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 53 75 62 4e 6f ame).{.return.$this->removeSubNo
91ee0 64 65 28 27 63 6f 6e 66 69 67 27 2c 20 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 de('config',.$name);.}..public.f
91f00 75 6e 63 74 69 6f 6e 20 61 64 64 50 72 6f 70 65 72 74 79 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 unction.addProperty($name,.$valu
91f20 65 29 0a 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 36 29 20 3d 3d 3d e).{.if.(substr($name,.0,.6).===
91f40 20 27 65 78 74 72 61 2e 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 53 75 .'extra.').{.return.$this->addSu
91f60 62 4e 6f 64 65 28 27 65 78 74 72 61 27 2c 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 36 29 2c bNode('extra',.substr($name,.6),
91f80 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 .$value);.}..if.(substr($name,.0
91fa0 2c 20 38 29 20 3d 3d 3d 20 27 73 63 72 69 70 74 73 2e 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 ,.8).===.'scripts.').{.return.$t
91fc0 68 69 73 2d 3e 61 64 64 53 75 62 4e 6f 64 65 28 27 73 63 72 69 70 74 73 27 2c 20 73 75 62 73 74 his->addSubNode('scripts',.subst
91fe0 72 28 24 6e 61 6d 65 2c 20 38 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 r($name,.8),.$value);.}..return.
92000 24 74 68 69 73 2d 3e 61 64 64 4d 61 69 6e 4b 65 79 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 $this->addMainKey($name,.$value)
92020 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 50 72 6f 70 65 ;.}..public.function.removePrope
92040 72 74 79 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 rty($name).{.if.(substr($name,.0
92060 2c 20 36 29 20 3d 3d 3d 20 27 65 78 74 72 61 2e 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ,.6).===.'extra.').{.return.$thi
92080 73 2d 3e 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 27 65 78 74 72 61 27 2c 20 73 75 62 73 74 72 s->removeSubNode('extra',.substr
920a0 28 24 6e 61 6d 65 2c 20 36 29 29 3b 0a 7d 0a 0a 69 66 20 28 73 75 62 73 74 72 28 24 6e 61 6d 65 ($name,.6));.}..if.(substr($name
920c0 2c 20 30 2c 20 38 29 20 3d 3d 3d 20 27 73 63 72 69 70 74 73 2e 27 29 20 7b 0a 72 65 74 75 72 6e ,.0,.8).===.'scripts.').{.return
920e0 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 53 75 62 4e 6f 64 65 28 27 73 63 72 69 70 74 73 27 2c .$this->removeSubNode('scripts',
92100 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 38 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 .substr($name,.8));.}..return.$t
92120 68 69 73 2d 3e 72 65 6d 6f 76 65 4d 61 69 6e 4b 65 79 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 70 75 his->removeMainKey($name);.}..pu
92140 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 75 62 4e 6f 64 65 28 24 6d 61 69 6e 4e 6f blic.function.addSubNode($mainNo
92160 64 65 2c 20 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 24 64 65 63 6f 64 65 64 20 3d 20 de,.$name,.$value).{.$decoded.=.
92180 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 74 65 JsonFile::parseJson($this->conte
921a0 6e 74 73 29 3b 0a 0a 24 73 75 62 4e 61 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 69 6e 5f 61 nts);..$subName.=.null;.if.(in_a
921c0 72 72 61 79 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 2c 20 rray($mainNode,.array('config',.
921e0 27 65 78 74 72 61 27 2c 20 27 73 63 72 69 70 74 73 27 29 29 20 26 26 20 66 61 6c 73 65 20 21 3d 'extra',.'scripts')).&&.false.!=
92200 3d 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 2e 27 29 29 20 7b 0a 6c 69 73 74 28 24 6e 61 =.strpos($name,.'.')).{.list($na
92220 6d 65 2c 20 24 73 75 62 4e 61 6d 65 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 6e 61 me,.$subName).=.explode('.',.$na
92240 6d 65 2c 20 32 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 64 65 63 6f 64 65 64 me,.2);.}....if.(!isset($decoded
92260 5b 24 6d 61 69 6e 4e 6f 64 65 5d 29 29 20 7b 0a 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d [$mainNode])).{.if.($subName.!==
92280 20 6e 75 6c 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4d 61 69 6e 4b 65 79 28 24 6d 61 69 6e .null).{.$this->addMainKey($main
922a0 4e 6f 64 65 2c 20 61 72 72 61 79 28 24 6e 61 6d 65 20 3d 3e 20 61 72 72 61 79 28 24 73 75 62 4e Node,.array($name.=>.array($subN
922c0 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 ame.=>.$value)));.}.else.{.$this
922e0 2d 3e 61 64 64 4d 61 69 6e 4b 65 79 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 61 72 72 61 79 28 24 6e ->addMainKey($mainNode,.array($n
92300 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b ame.=>.$value));.}..return.true;
92320 0a 7d 0a 0a 0a 20 24 6e 6f 64 65 52 65 67 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 .}....$nodeRegex.=.'{'.self::$DE
92340 46 49 4e 45 53 2e 27 5e 28 3f 50 3c 73 74 61 72 74 3e 20 5c 73 2a 20 5c 7b 20 5c 73 2a 20 28 3f FINES.'^(?P<start>.\s*.\{.\s*.(?
92360 3a 20 28 3f 26 73 74 72 69 6e 67 29 20 5c 73 2a 20 3a 20 28 3f 26 6a 73 6f 6e 29 20 5c 73 2a 20 :.(?&string).\s*.:.(?&json).\s*.
92380 2c 20 5c 73 2a 20 29 2a 3f 27 2e 0a 70 72 65 67 5f 71 75 6f 74 65 28 4a 73 6f 6e 46 69 6c 65 3a ,.\s*.)*?'..preg_quote(JsonFile:
923a0 3a 65 6e 63 6f 64 65 28 24 6d 61 69 6e 4e 6f 64 65 29 29 2e 27 5c 73 2a 3a 5c 73 2a 29 28 3f 50 :encode($mainNode)).'\s*:\s*)(?P
923c0 3c 63 6f 6e 74 65 6e 74 3e 28 3f 26 6f 62 6a 65 63 74 29 29 28 3f 50 3c 65 6e 64 3e 2e 2a 29 7d <content>(?&object))(?P<end>.*)}
923e0 73 78 27 3b 0a 0a 74 72 79 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 sx';..try.{.if.(!$this->pregMatc
92400 68 28 24 6e 6f 64 65 52 65 67 65 78 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 h($nodeRegex,.$this->contents,.$
92420 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 63 61 74 63 match)).{.return.false;.}.}.catc
92440 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 h.(\RuntimeException.$e).{.if.($
92460 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 3d 20 50 52 45 47 5f 42 41 43 4b 54 52 41 43 4b 5f e->getCode().===.PREG_BACKTRACK_
92480 4c 49 4d 49 54 5f 45 52 52 4f 52 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 74 LIMIT_ERROR).{.return.false;.}.t
924a0 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 24 6d 61 74 63 68 5b 27 hrow.$e;.}..$children.=.$match['
924c0 63 6f 6e 74 65 6e 74 27 5d 3b 0a 0a 20 69 66 20 28 21 40 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 content'];...if.(!@json_decode($
924e0 63 68 69 6c 64 72 65 6e 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 children)).{.return.false;.}..$t
92500 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 0a 0a 20 24 63 68 69 6c 64 52 65 67 65 78 20 3d 20 27 7b hat.=.$this;....$childRegex.=.'{
92520 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 28 3f 50 3c 73 74 61 72 74 3e 22 27 2e 70 '.self::$DEFINES.'(?P<start>"'.p
92540 72 65 67 5f 71 75 6f 74 65 28 24 6e 61 6d 65 29 2e 27 22 5c 73 2a 3a 5c 73 2a 29 28 3f 50 3c 63 reg_quote($name).'"\s*:\s*)(?P<c
92560 6f 6e 74 65 6e 74 3e 28 3f 26 6a 73 6f 6e 29 29 28 3f 50 3c 65 6e 64 3e 2c 3f 29 7d 78 27 3b 0a ontent>(?&json))(?P<end>,?)}x';.
92580 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 63 68 69 6c 64 52 65 67 65 78 if.($this->pregMatch($childRegex
925a0 2c 20 24 63 68 69 6c 64 72 65 6e 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 63 68 69 6c 64 ,.$children,.$matches)).{.$child
925c0 72 65 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 24 63 68 69 ren.=.preg_replace_callback($chi
925e0 6c 64 52 65 67 65 78 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 75 73 65 ldRegex,.function.($matches).use
92600 20 28 24 73 75 62 4e 61 6d 65 2c 20 24 76 61 6c 75 65 2c 20 24 74 68 61 74 29 20 7b 0a 69 66 20 .($subName,.$value,.$that).{.if.
92620 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 63 75 72 56 61 6c 20 3d 20 ($subName.!==.null).{.$curVal.=.
92640 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6d 61 74 63 68 65 73 5b 27 63 6f 6e 74 65 6e 74 27 5d 2c json_decode($matches['content'],
92660 20 74 72 75 65 29 3b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 63 75 72 56 61 6c 29 29 20 .true);.if.(!is_array($curVal)).
92680 7b 0a 24 63 75 72 56 61 6c 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 24 63 75 72 56 61 6c 5b 24 {.$curVal.=.array();.}.$curVal[$
926a0 73 75 62 4e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 24 76 61 6c 75 65 20 3d 20 24 63 75 72 subName].=.$value;.$value.=.$cur
926c0 56 61 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d Val;.}..return.$matches['start']
926e0 20 2e 20 24 74 68 61 74 2d 3e 66 6f 72 6d 61 74 28 24 76 61 6c 75 65 2c 20 31 29 20 2e 20 24 6d ...$that->format($value,.1)...$m
92700 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 7d 2c 20 24 63 68 69 6c 64 72 65 6e 29 3b 0a 7d 20 atches['end'];.},.$children);.}.
92720 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 27 23 5e 7b 20 5c 73 2a else.{.$this->pregMatch('#^{.\s*
92740 3f 20 28 3f 50 3c 63 6f 6e 74 65 6e 74 3e 5c 53 2b 2e 2a 3f 29 3f 20 28 3f 50 3c 74 72 61 69 6c ?.(?P<content>\S+.*?)?.(?P<trail
92760 69 6e 67 73 70 61 63 65 3e 5c 73 2a 29 20 7d 24 23 73 78 27 2c 20 24 63 68 69 6c 64 72 65 6e 2c ingspace>\s*).}$#sx',.$children,
92780 20 24 6d 61 74 63 68 29 3b 0a 0a 24 77 68 69 74 65 73 70 61 63 65 20 3d 20 27 27 3b 0a 69 66 20 .$match);..$whitespace.=.'';.if.
927a0 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 74 72 61 69 6c 69 6e 67 73 70 61 63 65 27 5d 29 (!empty($match['trailingspace'])
927c0 29 20 7b 0a 24 77 68 69 74 65 73 70 61 63 65 20 3d 20 24 6d 61 74 63 68 5b 27 74 72 61 69 6c 69 ).{.$whitespace.=.$match['traili
927e0 6e 67 73 70 61 63 65 27 5d 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b ngspace'];.}..if.(!empty($match[
92800 27 63 6f 6e 74 65 6e 74 27 5d 29 29 20 7b 0a 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 'content'])).{.if.($subName.!==.
92820 6e 75 6c 6c 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 61 72 72 61 79 28 24 73 75 62 4e 61 6d 65 20 null).{.$value.=.array($subName.
92840 3d 3e 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 20 24 63 68 69 6c 64 72 65 6e 20 3d 20 70 72 65 =>.$value);.}....$children.=.pre
92860 67 5f 72 65 70 6c 61 63 65 28 0a 27 23 27 2e 24 77 68 69 74 65 73 70 61 63 65 2e 27 7d 24 23 27 g_replace(.'#'.$whitespace.'}$#'
92880 2c 0a 61 64 64 63 73 6c 61 73 68 65 73 28 27 2c 27 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 ,.addcslashes(','...$this->newli
928a0 6e 65 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 ne...$this->indent...$this->inde
928c0 6e 74 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6e 61 6d 65 29 2e 27 3a 20 nt...JsonFile::encode($name).':.
928e0 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 28 24 76 61 6c 75 65 2c 20 31 29 20 2e 20 24 77 68 '.$this->format($value,.1)...$wh
92900 69 74 65 73 70 61 63 65 20 2e 20 27 7d 27 2c 20 27 5c 5c 24 27 29 2c 0a 24 63 68 69 6c 64 72 65 itespace...'}',.'\\$'),.$childre
92920 6e 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e n.);.}.else.{.if.($subName.!==.n
92940 75 6c 6c 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 61 72 72 61 79 28 24 73 75 62 4e 61 6d 65 20 3d ull).{.$value.=.array($subName.=
92960 3e 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 20 24 63 68 69 6c 64 72 65 6e 20 3d 20 27 7b 27 20 >.$value);.}....$children.=.'{'.
92980 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 ..$this->newline...$this->indent
929a0 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 ...$this->indent...JsonFile::enc
929c0 6f 64 65 28 24 6e 61 6d 65 29 2e 27 3a 20 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 28 24 76 ode($name).':.'.$this->format($v
929e0 61 6c 75 65 2c 20 31 29 20 2e 20 24 77 68 69 74 65 73 70 61 63 65 20 2e 20 27 7d 27 3b 0a 7d 0a alue,.1)...$whitespace...'}';.}.
92a00 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 }..$this->contents.=.preg_replac
92a20 65 5f 63 61 6c 6c 62 61 63 6b 28 24 6e 6f 64 65 52 65 67 65 78 2c 20 66 75 6e 63 74 69 6f 6e 20 e_callback($nodeRegex,.function.
92a40 28 24 6d 29 20 75 73 65 20 28 24 63 68 69 6c 64 72 65 6e 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d ($m).use.($children).{.return.$m
92a60 5b 27 73 74 61 72 74 27 5d 20 2e 20 24 63 68 69 6c 64 72 65 6e 20 2e 20 24 6d 5b 27 65 6e 64 27 ['start']...$children...$m['end'
92a80 5d 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 ];.},.$this->contents);..return.
92aa0 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 53 true;.}..public.function.removeS
92ac0 75 62 4e 6f 64 65 28 24 6d 61 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 29 0a 7b 0a 24 64 65 63 6f ubNode($mainNode,.$name).{.$deco
92ae0 64 65 64 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d ded.=.JsonFile::parseJson($this-
92b00 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 0a 20 69 66 20 28 65 6d 70 74 79 28 24 64 65 63 6f 64 65 >contents);....if.(empty($decode
92b20 64 5b 24 6d 61 69 6e 4e 6f 64 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a d[$mainNode])).{.return.true;.}.
92b40 0a 0a 20 24 6e 6f 64 65 52 65 67 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e ...$nodeRegex.=.'{'.self::$DEFIN
92b60 45 53 2e 27 5e 28 3f 50 3c 73 74 61 72 74 3e 20 5c 73 2a 20 5c 7b 20 5c 73 2a 20 28 3f 3a 20 28 ES.'^(?P<start>.\s*.\{.\s*.(?:.(
92b80 3f 26 73 74 72 69 6e 67 29 20 5c 73 2a 20 3a 20 28 3f 26 6a 73 6f 6e 29 20 5c 73 2a 20 2c 20 5c ?&string).\s*.:.(?&json).\s*.,.\
92ba0 73 2a 20 29 2a 3f 27 2e 0a 70 72 65 67 5f 71 75 6f 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e s*.)*?'..preg_quote(JsonFile::en
92bc0 63 6f 64 65 28 24 6d 61 69 6e 4e 6f 64 65 29 29 2e 27 5c 73 2a 3a 5c 73 2a 29 28 3f 50 3c 63 6f code($mainNode)).'\s*:\s*)(?P<co
92be0 6e 74 65 6e 74 3e 28 3f 26 6f 62 6a 65 63 74 29 29 28 3f 50 3c 65 6e 64 3e 2e 2a 29 7d 73 78 27 ntent>(?&object))(?P<end>.*)}sx'
92c00 3b 0a 74 72 79 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 6e ;.try.{.if.(!$this->pregMatch($n
92c20 6f 64 65 52 65 67 65 78 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 odeRegex,.$this->contents,.$matc
92c40 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c h)).{.return.false;.}.}.catch.(\
92c60 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 2d 3e 67 RuntimeException.$e).{.if.($e->g
92c80 65 74 43 6f 64 65 28 29 20 3d 3d 3d 20 50 52 45 47 5f 42 41 43 4b 54 52 41 43 4b 5f 4c 49 4d 49 etCode().===.PREG_BACKTRACK_LIMI
92ca0 54 5f 45 52 52 4f 52 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 74 68 72 6f 77 T_ERROR).{.return.false;.}.throw
92cc0 20 24 65 3b 0a 7d 0a 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 24 6d 61 74 63 68 5b 27 63 6f 6e 74 .$e;.}..$children.=.$match['cont
92ce0 65 6e 74 27 5d 3b 0a 0a 0a 20 69 66 20 28 21 40 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 68 69 ent'];....if.(!@json_decode($chi
92d00 6c 64 72 65 6e 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a ldren,.true)).{.return.false;.}.
92d20 0a 24 73 75 62 4e 61 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 .$subName.=.null;.if.(in_array($
92d40 6d 61 69 6e 4e 6f 64 65 2c 20 61 72 72 61 79 28 27 63 6f 6e 66 69 67 27 2c 20 27 65 78 74 72 61 mainNode,.array('config',.'extra
92d60 27 2c 20 27 73 63 72 69 70 74 73 27 29 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 ',.'scripts')).&&.false.!==.strp
92d80 6f 73 28 24 6e 61 6d 65 2c 20 27 2e 27 29 29 20 7b 0a 6c 69 73 74 28 24 6e 61 6d 65 2c 20 24 73 os($name,.'.')).{.list($name,.$s
92da0 75 62 4e 61 6d 65 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 6e 61 6d 65 2c 20 32 29 ubName).=.explode('.',.$name,.2)
92dc0 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 64 65 63 6f 64 65 64 5b 24 6d 61 69 6e ;.}....if.(!isset($decoded[$main
92de0 4e 6f 64 65 5d 5b 24 6e 61 6d 65 5d 29 20 7c 7c 20 28 24 73 75 62 4e 61 6d 65 20 26 26 20 21 69 Node][$name]).||.($subName.&&.!i
92e00 73 73 65 74 28 24 64 65 63 6f 64 65 64 5b 24 6d 61 69 6e 4e 6f 64 65 5d 5b 24 6e 61 6d 65 5d 5b sset($decoded[$mainNode][$name][
92e20 24 73 75 62 4e 61 6d 65 5d 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a $subName]))).{.return.true;.}...
92e40 20 24 6b 65 79 52 65 67 65 78 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 27 5c .$keyRegex.=.str_replace('/',.'\
92e60 5c 5c 5c 3f 2f 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 6e 61 6d 65 29 29 3b 0a 69 66 20 28 \\\?/',.preg_quote($name));.if.(
92e80 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 27 7b 22 27 2e 24 6b 65 79 52 65 67 65 78 2e $this->pregMatch('{"'.$keyRegex.
92ea0 27 22 5c 73 2a 3a 7d 69 27 2c 20 24 63 68 69 6c 64 72 65 6e 29 29 20 7b 0a 0a 20 69 66 20 28 70 '"\s*:}i',.$children)).{...if.(p
92ec0 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 reg_match_all('{'.self::$DEFINES
92ee0 2e 27 22 27 2e 24 6b 65 79 52 65 67 65 78 2e 27 22 5c 73 2a 3a 5c 73 2a 28 3f 3a 28 3f 26 6a 73 .'"'.$keyRegex.'"\s*:\s*(?:(?&js
92f00 6f 6e 29 29 7d 78 27 2c 20 24 63 68 69 6c 64 72 65 6e 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b on))}x',.$children,.$matches)).{
92f20 0a 24 62 65 73 74 4d 61 74 63 68 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 74 63 .$bestMatch.=.'';.foreach.($matc
92f40 68 65 73 5b 30 5d 20 61 73 20 24 6d 61 74 63 68 29 20 7b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 hes[0].as.$match).{.if.(strlen($
92f60 62 65 73 74 4d 61 74 63 68 29 20 3c 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 bestMatch).<.strlen($match)).{.$
92f80 62 65 73 74 4d 61 74 63 68 20 3d 20 24 6d 61 74 63 68 3b 0a 7d 0a 7d 0a 24 63 68 69 6c 64 72 65 bestMatch.=.$match;.}.}.$childre
92fa0 6e 43 6c 65 61 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 2c 5c 73 2a 27 2e 70 72 nClean.=.preg_replace('{,\s*'.pr
92fc0 65 67 5f 71 75 6f 74 65 28 24 62 65 73 74 4d 61 74 63 68 29 2e 27 7d 69 27 2c 20 27 27 2c 20 24 eg_quote($bestMatch).'}i',.'',.$
92fe0 63 68 69 6c 64 72 65 6e 2c 20 2d 31 2c 20 24 63 6f 75 6e 74 29 3b 0a 69 66 20 28 31 20 21 3d 3d children,.-1,.$count);.if.(1.!==
93000 20 24 63 6f 75 6e 74 29 20 7b 0a 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 20 3d 20 70 72 65 67 .$count).{.$childrenClean.=.preg
93020 5f 72 65 70 6c 61 63 65 28 27 7b 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 62 65 73 74 4d 61 74 _replace('{'.preg_quote($bestMat
93040 63 68 29 2e 27 5c 73 2a 2c 3f 5c 73 2a 7d 69 27 2c 20 27 27 2c 20 24 63 68 69 6c 64 72 65 6e 43 ch).'\s*,?\s*}i',.'',.$childrenC
93060 6c 65 61 6e 2c 20 2d 31 2c 20 24 63 6f 75 6e 74 29 3b 0a 69 66 20 28 31 20 21 3d 3d 20 24 63 6f lean,.-1,.$count);.if.(1.!==.$co
93080 75 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 20 65 6c 73 unt).{.return.false;.}.}.}.}.els
930a0 65 20 7b 0a 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 20 3d 20 24 63 68 69 6c 64 72 65 6e 3b 0a e.{.$childrenClean.=.$children;.
930c0 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 27 23 5e 7b 20 5c 73 2a 3f 20 }....$this->pregMatch('#^{.\s*?.
930e0 28 3f 50 3c 63 6f 6e 74 65 6e 74 3e 5c 53 2b 2e 2a 3f 29 3f 20 28 3f 50 3c 74 72 61 69 6c 69 6e (?P<content>\S+.*?)?.(?P<trailin
93100 67 73 70 61 63 65 3e 5c 73 2a 29 20 7d 24 23 73 78 27 2c 20 24 63 68 69 6c 64 72 65 6e 43 6c 65 gspace>\s*).}$#sx',.$childrenCle
93120 61 6e 2c 20 24 6d 61 74 63 68 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 63 an,.$match);.if.(empty($match['c
93140 6f 6e 74 65 6e 74 27 5d 29 29 20 7b 0a 24 6e 65 77 6c 69 6e 65 20 3d 20 24 74 68 69 73 2d 3e 6e ontent'])).{.$newline.=.$this->n
93160 65 77 6c 69 6e 65 3b 0a 24 69 6e 64 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 3b ewline;.$indent.=.$this->indent;
93180 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 ..$this->contents.=.preg_replace
931a0 5f 63 61 6c 6c 62 61 63 6b 28 24 6e 6f 64 65 52 65 67 65 78 2c 20 66 75 6e 63 74 69 6f 6e 20 28 _callback($nodeRegex,.function.(
931c0 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 69 6e 64 65 6e 74 2c 20 24 6e 65 77 6c 69 6e 65 $matches).use.($indent,.$newline
931e0 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d 20 2e 20 27 ).{.return.$matches['start']...'
93200 7b 27 20 2e 20 24 6e 65 77 6c 69 6e 65 20 2e 20 24 69 6e 64 65 6e 74 20 2e 20 27 7d 27 20 2e 20 {'...$newline...$indent...'}'...
93220 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 $matches['end'];.},.$this->conte
93240 6e 74 73 29 3b 0a 0a 0a 20 69 66 20 28 24 73 75 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 nts);....if.($subName.!==.null).
93260 7b 0a 24 63 75 72 56 61 6c 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 68 69 6c 64 72 65 {.$curVal.=.json_decode($childre
93280 6e 2c 20 74 72 75 65 29 3b 0a 75 6e 73 65 74 28 24 63 75 72 56 61 6c 5b 24 6e 61 6d 65 5d 5b 24 n,.true);.unset($curVal[$name][$
932a0 73 75 62 4e 61 6d 65 5d 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 53 75 62 4e 6f 64 65 28 24 6d 61 subName]);.$this->addSubNode($ma
932c0 69 6e 4e 6f 64 65 2c 20 24 6e 61 6d 65 2c 20 24 63 75 72 56 61 6c 5b 24 6e 61 6d 65 5d 29 3b 0a inNode,.$name,.$curVal[$name]);.
932e0 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 68 61 74 20 3d 20 24 74 68 69 73 }..return.true;.}..$that.=.$this
93300 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 ;.$this->contents.=.preg_replace
93320 5f 63 61 6c 6c 62 61 63 6b 28 24 6e 6f 64 65 52 65 67 65 78 2c 20 66 75 6e 63 74 69 6f 6e 20 28 _callback($nodeRegex,.function.(
93340 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 74 68 61 74 2c 20 24 6e 61 6d 65 2c 20 24 73 75 $matches).use.($that,.$name,.$su
93360 62 4e 61 6d 65 2c 20 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 29 20 7b 0a 69 66 20 28 24 73 75 bName,.$childrenClean).{.if.($su
93380 62 4e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 63 75 72 56 61 6c 20 3d 20 6a 73 6f 6e bName.!==.null).{.$curVal.=.json
933a0 5f 64 65 63 6f 64 65 28 24 6d 61 74 63 68 65 73 5b 27 63 6f 6e 74 65 6e 74 27 5d 2c 20 74 72 75 _decode($matches['content'],.tru
933c0 65 29 3b 0a 75 6e 73 65 74 28 24 63 75 72 56 61 6c 5b 24 6e 61 6d 65 5d 5b 24 73 75 62 4e 61 6d e);.unset($curVal[$name][$subNam
933e0 65 5d 29 3b 0a 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 20 3d 20 24 74 68 61 74 2d 3e 66 6f 72 e]);.$childrenClean.=.$that->for
93400 6d 61 74 28 24 63 75 72 56 61 6c 2c 20 30 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 mat($curVal,.0);.}..return.$matc
93420 68 65 73 5b 27 73 74 61 72 74 27 5d 20 2e 20 24 63 68 69 6c 64 72 65 6e 43 6c 65 61 6e 20 2e 20 hes['start']...$childrenClean...
93440 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 $matches['end'];.},.$this->conte
93460 6e 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 nts);..return.true;.}..public.fu
93480 6e 63 74 69 6f 6e 20 61 64 64 4d 61 69 6e 4b 65 79 28 24 6b 65 79 2c 20 24 63 6f 6e 74 65 6e 74 nction.addMainKey($key,.$content
934a0 29 0a 7b 0a 24 64 65 63 6f 64 65 64 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 ).{.$decoded.=.JsonFile::parseJs
934c0 6f 6e 28 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 on($this->contents);.$content.=.
934e0 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 28 24 63 6f 6e 74 65 6e 74 29 3b 0a 0a 0a 20 24 72 65 67 $this->format($content);....$reg
93500 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 49 4e 45 53 2e 27 5e 28 3f 50 3c 73 74 ex.=.'{'.self::$DEFINES.'^(?P<st
93520 61 72 74 3e 5c 73 2a 5c 7b 5c 73 2a 28 3f 3a 28 3f 26 73 74 72 69 6e 67 29 5c 73 2a 3a 5c 73 2a art>\s*\{\s*(?:(?&string)\s*:\s*
93540 28 3f 26 6a 73 6f 6e 29 5c 73 2a 2c 5c 73 2a 29 2a 3f 29 27 2e 0a 27 28 3f 50 3c 6b 65 79 3e 27 (?&json)\s*,\s*)*?)'..'(?P<key>'
93560 2e 70 72 65 67 5f 71 75 6f 74 65 28 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 .preg_quote(JsonFile::encode($ke
93580 79 29 29 2e 27 5c 73 2a 3a 5c 73 2a 28 3f 26 6a 73 6f 6e 29 29 28 3f 50 3c 65 6e 64 3e 2e 2a 29 y)).'\s*:\s*(?&json))(?P<end>.*)
935a0 7d 73 78 27 3b 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 63 6f 64 65 64 5b 24 6b 65 79 5d 29 20 }sx';.if.(isset($decoded[$key]).
935c0 26 26 20 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 74 68 69 &&.$this->pregMatch($regex,.$thi
935e0 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 0a 20 69 66 20 28 s->contents,.$matches)).{...if.(
93600 21 40 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 27 7b 27 2e 24 6d 61 74 63 68 65 73 5b 27 6b 65 79 27 !@json_decode('{'.$matches['key'
93620 5d 2e 27 7d 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 69 73 ].'}')).{.return.false;.}..$this
93640 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d 20 2e ->contents.=.$matches['start']..
93660 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 79 29 2e 27 3a 20 27 2e 24 63 6f .JsonFile::encode($key).':.'.$co
93680 6e 74 65 6e 74 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 0a 72 65 74 75 72 6e ntent...$matches['end'];..return
936a0 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 .true;.}....if.($this->pregMatch
936c0 28 27 23 5b 5e 7b 5c 73 5d 28 5c 73 2a 29 5c 7d 24 23 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 ('#[^{\s](\s*)\}$#',.$this->cont
936e0 65 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 ents,.$match)).{.$this->contents
93700 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 0a 27 23 27 2e 24 6d 61 74 63 68 5b 31 5d 2e 27 .=.preg_replace(.'#'.$match[1].'
93720 5c 7d 24 23 27 2c 0a 61 64 64 63 73 6c 61 73 68 65 73 28 27 2c 27 20 2e 20 24 74 68 69 73 2d 3e \}$#',.addcslashes(','...$this->
93740 6e 65 77 6c 69 6e 65 20 2e 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e 46 69 newline...$this->indent...JsonFi
93760 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 79 29 2e 20 27 3a 20 27 2e 20 24 63 6f 6e 74 65 6e 74 le::encode($key)..':.'..$content
93780 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 27 7d 27 2c 20 27 5c 5c 24 27 29 2c ...$this->newline...'}',.'\\$'),
937a0 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 .$this->contents.);..return.true
937c0 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 70 72 65 67 5f 72 65 ;.}....$this->contents.=.preg_re
937e0 70 6c 61 63 65 28 0a 27 23 5c 7d 24 23 27 2c 0a 61 64 64 63 73 6c 61 73 68 65 73 28 24 74 68 69 place(.'#\}$#',.addcslashes($thi
93800 73 2d 3e 69 6e 64 65 6e 74 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 s->indent...JsonFile::encode($ke
93820 79 29 2e 20 27 3a 20 27 2e 24 63 6f 6e 74 65 6e 74 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 y)..':.'.$content...$this->newli
93840 6e 65 20 2e 20 27 7d 27 2c 20 27 5c 5c 24 27 29 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 ne...'}',.'\\$'),.$this->content
93860 73 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e s.);..return.true;.}..public.fun
93880 63 74 69 6f 6e 20 72 65 6d 6f 76 65 4d 61 69 6e 4b 65 79 28 24 6b 65 79 29 0a 7b 0a 24 64 65 63 ction.removeMainKey($key).{.$dec
938a0 6f 64 65 64 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 oded.=.JsonFile::parseJson($this
938c0 2d 3e 63 6f 6e 74 65 6e 74 73 29 3b 0a 0a 69 66 20 28 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 ->contents);..if.(!array_key_exi
938e0 73 74 73 28 24 6b 65 79 2c 20 24 64 65 63 6f 64 65 64 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 sts($key,.$decoded)).{.return.tr
93900 75 65 3b 0a 7d 0a 0a 0a 20 24 72 65 67 65 78 20 3d 20 27 7b 27 2e 73 65 6c 66 3a 3a 24 44 45 46 ue;.}....$regex.=.'{'.self::$DEF
93920 49 4e 45 53 2e 27 5e 28 3f 50 3c 73 74 61 72 74 3e 5c 73 2a 5c 7b 5c 73 2a 28 3f 3a 28 3f 26 73 INES.'^(?P<start>\s*\{\s*(?:(?&s
93940 74 72 69 6e 67 29 5c 73 2a 3a 5c 73 2a 28 3f 26 6a 73 6f 6e 29 5c 73 2a 2c 5c 73 2a 29 2a 3f 29 tring)\s*:\s*(?&json)\s*,\s*)*?)
93960 27 2e 0a 27 28 3f 50 3c 72 65 6d 6f 76 61 6c 3e 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 4a 73 6f '..'(?P<removal>'.preg_quote(Jso
93980 6e 46 69 6c 65 3a 3a 65 6e 63 6f 64 65 28 24 6b 65 79 29 29 2e 27 5c 73 2a 3a 5c 73 2a 28 3f 26 nFile::encode($key)).'\s*:\s*(?&
939a0 6a 73 6f 6e 29 29 5c 73 2a 2c 3f 5c 73 2a 28 3f 50 3c 65 6e 64 3e 2e 2a 29 7d 73 78 27 3b 0a 69 json))\s*,?\s*(?P<end>.*)}sx';.i
939c0 66 20 28 24 74 68 69 73 2d 3e 70 72 65 67 4d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 74 68 69 f.($this->pregMatch($regex,.$thi
939e0 73 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 0a 20 69 66 20 28 s->contents,.$matches)).{...if.(
93a00 21 40 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 27 7b 27 2e 24 6d 61 74 63 68 65 73 5b 27 72 65 6d 6f !@json_decode('{'.$matches['remo
93a20 76 61 6c 27 5d 2e 27 7d 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a val'].'}')).{.return.false;.}...
93a40 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 2c 5c 73 2a 24 23 27 2c 20 24 6d 61 74 63 .if.(preg_match('#,\s*$#',.$matc
93a60 68 65 73 5b 27 73 74 61 72 74 27 5d 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 5c hes['start']).&&.preg_match('#^\
93a80 7d 24 23 27 2c 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 29 29 20 7b 0a 24 6d 61 74 63 68 }$#',.$matches['end'])).{.$match
93aa0 65 73 5b 27 73 74 61 72 74 27 5d 20 3d 20 72 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 es['start'].=.rtrim(preg_replace
93ac0 28 27 23 2c 28 5c 73 2a 29 24 23 27 2c 20 27 24 31 27 2c 20 24 6d 61 74 63 68 65 73 5b 27 73 74 ('#,(\s*)$#',.'$1',.$matches['st
93ae0 61 72 74 27 5d 29 2c 20 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 29 3b 0a 7d 0a 0a 24 74 68 69 73 art']),.$this->indent);.}..$this
93b00 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 24 6d 61 74 63 68 65 73 5b 27 73 74 61 72 74 27 5d 20 2e ->contents.=.$matches['start']..
93b20 20 24 6d 61 74 63 68 65 73 5b 27 65 6e 64 27 5d 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 .$matches['end'];.if.(preg_match
93b40 28 27 23 5e 5c 7b 5c 73 2a 5c 7d 5c 73 2a 24 23 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e ('#^\{\s*\}\s*$#',.$this->conten
93b60 74 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 73 20 3d 20 22 7b 5c 6e 7d 22 3b ts)).{.$this->contents.=."{\n}";
93b80 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 .}..return.true;.}..return.false
93ba0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 28 24 64 61 74 ;.}..public.function.format($dat
93bc0 61 2c 20 24 64 65 70 74 68 20 3d 20 30 29 0a 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 64 a,.$depth.=.0).{.if.(is_array($d
93be0 61 74 61 29 29 20 7b 0a 72 65 73 65 74 28 24 64 61 74 61 29 3b 0a 0a 69 66 20 28 69 73 5f 6e 75 ata)).{.reset($data);..if.(is_nu
93c00 6d 65 72 69 63 28 6b 65 79 28 24 64 61 74 61 29 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 meric(key($data))).{.foreach.($d
93c20 61 74 61 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 24 64 61 74 61 5b 24 6b 65 ata.as.$key.=>.$val).{.$data[$ke
93c40 79 5d 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 28 24 76 61 6c 2c 20 24 64 65 70 74 68 20 y].=.$this->format($val,.$depth.
93c60 2b 20 31 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 5b 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 +.1);.}..return.'['.implode(',.'
93c80 2c 20 24 64 61 74 61 29 2e 27 5d 27 3b 0a 7d 0a 0a 24 6f 75 74 20 3d 20 27 7b 27 20 2e 20 24 74 ,.$data).']';.}..$out.=.'{'...$t
93ca0 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 3b 0a 24 65 6c 65 6d 73 20 3d 20 61 72 72 61 79 28 29 3b 0a his->newline;.$elems.=.array();.
93cc0 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 29 20 foreach.($data.as.$key.=>.$val).
93ce0 7b 0a 24 65 6c 65 6d 73 5b 5d 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 24 74 68 69 73 2d 3e 69 {.$elems[].=.str_repeat($this->i
93d00 6e 64 65 6e 74 2c 20 24 64 65 70 74 68 20 2b 20 32 29 20 2e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 ndent,.$depth.+.2)...JsonFile::e
93d20 6e 63 6f 64 65 28 24 6b 65 79 29 2e 20 27 3a 20 27 2e 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 28 ncode($key)..':.'.$this->format(
93d40 24 76 61 6c 2c 20 24 64 65 70 74 68 20 2b 20 31 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 $val,.$depth.+.1);.}..return.$ou
93d60 74 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2c 27 2e 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 2c 20 t...implode(','.$this->newline,.
93d80 24 65 6c 65 6d 73 29 20 2e 20 24 74 68 69 73 2d 3e 6e 65 77 6c 69 6e 65 20 2e 20 73 74 72 5f 72 $elems)...$this->newline...str_r
93da0 65 70 65 61 74 28 24 74 68 69 73 2d 3e 69 6e 64 65 6e 74 2c 20 24 64 65 70 74 68 20 2b 20 31 29 epeat($this->indent,.$depth.+.1)
93dc0 20 2e 20 27 7d 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 4a 73 6f 6e 46 69 6c 65 3a 3a 65 6e 63 6f ...'}';.}..return.JsonFile::enco
93de0 64 65 28 24 64 61 74 61 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e de($data);.}..protected.function
93e00 20 64 65 74 65 63 74 49 6e 64 65 6e 74 69 6e 67 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e .detectIndenting().{.if.($this->
93e20 70 72 65 67 4d 61 74 63 68 28 27 7b 5e 28 5b 20 5c 74 5d 2b 29 22 7d 6d 27 2c 20 24 74 68 69 73 pregMatch('{^([.\t]+)"}m',.$this
93e40 2d 3e 63 6f 6e 74 65 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e ->contents,.$match)).{.$this->in
93e60 64 65 6e 74 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 dent.=.$match[1];.}.else.{.$this
93e80 2d 3e 69 6e 64 65 6e 74 20 3d 20 27 20 20 20 20 27 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 ->indent.=.'....';.}.}..protecte
93ea0 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 67 4d 61 74 63 68 28 24 72 65 2c 20 24 73 74 72 2c 20 d.function.pregMatch($re,.$str,.
93ec0 26 24 6d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 63 6f 75 6e 74 20 3d 20 &$matches.=.array()).{.$count.=.
93ee0 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 2c 20 24 73 74 72 2c 20 24 6d 61 74 63 68 65 73 29 3b preg_match($re,.$str,.$matches);
93f00 0a 0a 69 66 20 28 24 63 6f 75 6e 74 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 73 77 69 74 63 68 ..if.($count.===.false).{.switch
93f20 20 28 70 72 65 67 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 29 20 7b 0a 63 61 73 65 20 50 52 45 47 .(preg_last_error()).{.case.PREG
93f40 5f 4e 4f 5f 45 52 52 4f 52 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 _NO_ERROR:.throw.new.\RuntimeExc
93f60 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a eption('Failed.to.execute.regex:
93f80 20 50 52 45 47 5f 4e 4f 5f 45 52 52 4f 52 27 2c 20 50 52 45 47 5f 4e 4f 5f 45 52 52 4f 52 29 3b .PREG_NO_ERROR',.PREG_NO_ERROR);
93fa0 0a 63 61 73 65 20 50 52 45 47 5f 49 4e 54 45 52 4e 41 4c 5f 45 52 52 4f 52 3a 0a 74 68 72 6f 77 .case.PREG_INTERNAL_ERROR:.throw
93fc0 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 .new.\RuntimeException('Failed.t
93fe0 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f 49 4e 54 45 52 4e 41 4c 5f 45 o.execute.regex:.PREG_INTERNAL_E
94000 52 52 4f 52 27 2c 20 50 52 45 47 5f 49 4e 54 45 52 4e 41 4c 5f 45 52 52 4f 52 29 3b 0a 63 61 73 RROR',.PREG_INTERNAL_ERROR);.cas
94020 65 20 50 52 45 47 5f 42 41 43 4b 54 52 41 43 4b 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 3a 0a 74 68 e.PREG_BACKTRACK_LIMIT_ERROR:.th
94040 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 row.new.\RuntimeException('Faile
94060 64 20 74 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f 42 41 43 4b 54 52 41 d.to.execute.regex:.PREG_BACKTRA
94080 43 4b 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 27 2c 20 50 52 45 47 5f 42 41 43 4b 54 52 41 43 4b 5f CK_LIMIT_ERROR',.PREG_BACKTRACK_
940a0 4c 49 4d 49 54 5f 45 52 52 4f 52 29 3b 0a 63 61 73 65 20 50 52 45 47 5f 52 45 43 55 52 53 49 4f LIMIT_ERROR);.case.PREG_RECURSIO
940c0 4e 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 3a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d N_LIMIT_ERROR:.throw.new.\Runtim
940e0 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 65 20 72 65 eException('Failed.to.execute.re
94100 67 65 78 3a 20 50 52 45 47 5f 52 45 43 55 52 53 49 4f 4e 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 27 gex:.PREG_RECURSION_LIMIT_ERROR'
94120 2c 20 50 52 45 47 5f 52 45 43 55 52 53 49 4f 4e 5f 4c 49 4d 49 54 5f 45 52 52 4f 52 29 3b 0a 63 ,.PREG_RECURSION_LIMIT_ERROR);.c
94140 61 73 65 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 45 52 52 4f 52 3a 0a 74 68 72 6f 77 20 6e ase.PREG_BAD_UTF8_ERROR:.throw.n
94160 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 ew.\RuntimeException('Failed.to.
94180 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 45 52 52 execute.regex:.PREG_BAD_UTF8_ERR
941a0 4f 52 27 2c 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 45 52 52 4f 52 29 3b 0a 63 61 73 65 20 OR',.PREG_BAD_UTF8_ERROR);.case.
941c0 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 4f 46 46 53 45 54 5f 45 52 52 4f 52 3a 0a 74 68 72 6f PREG_BAD_UTF8_OFFSET_ERROR:.thro
941e0 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 w.new.\RuntimeException('Failed.
94200 74 6f 20 65 78 65 63 75 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f to.execute.regex:.PREG_BAD_UTF8_
94220 4f 46 46 53 45 54 5f 45 52 52 4f 52 27 2c 20 50 52 45 47 5f 42 41 44 5f 55 54 46 38 5f 4f 46 46 OFFSET_ERROR',.PREG_BAD_UTF8_OFF
94240 53 45 54 5f 45 52 52 4f 52 29 3b 0a 63 61 73 65 20 36 3a 20 0a 20 69 66 20 28 50 48 50 5f 56 45 SET_ERROR);.case.6:...if.(PHP_VE
94260 52 53 49 4f 4e 5f 49 44 20 3e 20 37 30 30 30 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 RSION_ID.>.70000).{.throw.new.\R
94280 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 untimeException('Failed.to.execu
942a0 74 65 20 72 65 67 65 78 3a 20 50 52 45 47 5f 4a 49 54 5f 53 54 41 43 4b 4c 49 4d 49 54 5f 45 52 te.regex:.PREG_JIT_STACKLIMIT_ER
942c0 52 4f 52 27 2c 20 36 29 3b 0a 7d 0a 0a 20 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 ROR',.6);.}...default:.throw.new
942e0 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 65 78 .\RuntimeException('Failed.to.ex
94300 65 63 75 74 65 20 72 65 67 65 78 3a 20 55 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 27 29 3b 0a 7d 0a ecute.regex:.Unknown.error');.}.
94320 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 75 6e 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a }..return.$count;.}.}.<?php.....
94340 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 3b 0a .......namespace.Composer\Json;.
94360 0a 75 73 65 20 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 56 61 .use.Exception;.....class.JsonVa
94380 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 45 78 63 65 70 74 lidationException.extends.Except
943a0 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 72 72 6f 72 73 3b 0a 0a 70 75 62 6c 69 63 ion.{.protected.$errors;..public
943c0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 .function.__construct($message,.
943e0 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 2c 20 45 78 63 65 70 74 69 6f 6e 20 24 70 72 $errors.=.array(),.Exception.$pr
94400 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d evious.=.null).{.$this->errors.=
94420 20 24 65 72 72 6f 72 73 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d .$errors;.parent::__construct($m
94440 65 73 73 61 67 65 2c 20 30 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 essage,.0,.$previous);.}..public
94460 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 .function.getErrors().{.return.$
94480 74 68 69 73 2d 3e 65 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a this->errors;.}.}.<?php.........
944a0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a ...namespace.Composer\Package;..
944c0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 use.Composer\Semver\Constraint\C
944e0 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c onstraint;.use.Composer\Package\
94500 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 Version\VersionParser;.....class
94520 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 65 78 74 65 6e 64 73 20 42 61 73 65 50 61 63 6b 61 67 .AliasPackage.extends.BasePackag
94540 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 e.implements.CompletePackageInte
94560 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 3b 0a 70 72 6f 74 rface.{.protected.$version;.prot
94580 65 63 74 65 64 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 64 20 ected.$prettyVersion;.protected.
945a0 24 64 65 76 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 $dev;.protected.$rootPackageAlia
945c0 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 74 61 62 69 6c 69 74 79 3b s.=.false;.protected.$stability;
945e0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 6c 69 61 73 4f 66 3b 0a 0a 70 72 6f 74 65 63 74 65 ...protected.$aliasOf;..protecte
94600 64 20 24 72 65 71 75 69 72 65 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 76 52 65 71 75 d.$requires;..protected.$devRequ
94620 69 72 65 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 6c 69 63 74 73 3b 0a 0a 70 72 ires;..protected.$conflicts;..pr
94640 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 otected.$provides;..protected.$r
94660 65 70 6c 61 63 65 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e eplaces;.........public.function
94680 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 61 .__construct(PackageInterface.$a
946a0 6c 69 61 73 4f 66 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e liasOf,.$version,.$prettyVersion
946c0 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 61 6c 69 61 73 4f 66 ).{.parent::__construct($aliasOf
946e0 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 20 3d 20 ->getName());..$this->version.=.
94700 24 76 65 72 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d $version;.$this->prettyVersion.=
94720 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 20 .$prettyVersion;.$this->aliasOf.
94740 3d 20 24 61 6c 69 61 73 4f 66 3b 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 3d 20 56 =.$aliasOf;.$this->stability.=.V
94760 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 76 65 ersionParser::parseStability($ve
94780 72 73 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 64 65 76 20 3d 20 24 74 68 69 73 2d 3e 73 74 61 62 rsion);.$this->dev.=.$this->stab
947a0 69 6c 69 74 79 20 3d 3d 3d 20 27 64 65 76 27 3b 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 ility.===.'dev';..foreach.(array
947c0 28 27 72 65 71 75 69 72 65 73 27 2c 20 27 64 65 76 52 65 71 75 69 72 65 73 27 2c 20 27 63 6f 6e ('requires',.'devRequires',.'con
947e0 66 6c 69 63 74 73 27 2c 20 27 70 72 6f 76 69 64 65 73 27 2c 20 27 72 65 70 6c 61 63 65 73 27 29 flicts',.'provides',.'replaces')
94800 20 61 73 20 24 74 79 70 65 29 20 7b 0a 24 6c 69 6e 6b 73 20 3d 20 24 61 6c 69 61 73 4f 66 2d 3e .as.$type).{.$links.=.$aliasOf->
94820 7b 27 67 65 74 27 20 2e 20 75 63 66 69 72 73 74 28 24 74 79 70 65 29 7d 28 29 3b 0a 24 74 68 69 {'get'...ucfirst($type)}();.$thi
94840 73 2d 3e 24 74 79 70 65 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 s->$type.=.$this->replaceSelfVer
94860 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 6c 69 6e 6b 73 2c 20 24 74 79 70 65 29 3b sionDependencies($links,.$type);
94880 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 .}.}.....public.function.getAlia
948a0 73 4f 66 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 3b 0a 7d sOf().{.return.$this->aliasOf;.}
948c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 28 .....public.function.getVersion(
948e0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a ).{.return.$this->version;.}....
94900 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 0a .public.function.getStability().
94920 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a {.return.$this->stability;.}....
94940 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f .public.function.getPrettyVersio
94960 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f n().{.return.$this->prettyVersio
94980 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 76 28 29 n;.}.....public.function.isDev()
949a0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 76 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c .{.return.$this->dev;.}.....publ
949c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 71 75 69 72 65 73 28 29 0a 7b 0a 72 65 74 75 ic.function.getRequires().{.retu
949e0 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 rn.$this->requires;.}.....public
94a00 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 0a 7b 0a 72 65 74 75 72 .function.getConflicts().{.retur
94a20 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 6c 69 63 74 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 n.$this->conflicts;.}.....public
94a40 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 76 69 64 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e .function.getProvides().{.return
94a60 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .$this->provides;.}.....public.f
94a80 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6c 61 63 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 unction.getReplaces().{.return.$
94aa0 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e this->replaces;.}.....public.fun
94ac0 63 74 69 6f 6e 20 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 ction.getDevRequires().{.return.
94ae0 24 74 68 69 73 2d 3e 64 65 76 52 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a $this->devRequires;.}...........
94b00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c public.function.setRootPackageAl
94b20 69 61 73 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 ias($value).{.return.$this->root
94b40 50 61 63 6b 61 67 65 41 6c 69 61 73 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 PackageAlias.=.$value;.}......pu
94b60 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 6f 6f 74 50 61 63 6b 61 67 65 41 6c 69 61 73 blic.function.isRootPackageAlias
94b80 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 50 61 63 6b 61 67 65 41 6c ().{.return.$this->rootPackageAl
94ba0 69 61 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e ias;.}........protected.function
94bc0 20 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 73 28 .replaceSelfVersionDependencies(
94be0 61 72 72 61 79 20 24 6c 69 6e 6b 73 2c 20 24 6c 69 6e 6b 54 79 70 65 29 0a 7b 0a 69 66 20 28 69 array.$links,.$linkType).{.if.(i
94c00 6e 5f 61 72 72 61 79 28 24 6c 69 6e 6b 54 79 70 65 2c 20 61 72 72 61 79 28 27 63 6f 6e 66 6c 69 n_array($linkType,.array('confli
94c20 63 74 73 27 2c 20 27 70 72 6f 76 69 64 65 73 27 2c 20 27 72 65 70 6c 61 63 65 73 27 29 2c 20 74 cts',.'provides',.'replaces'),.t
94c40 72 75 65 29 29 20 7b 0a 24 6e 65 77 4c 69 6e 6b 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 rue)).{.$newLinks.=.array();.for
94c60 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 0a 20 69 66 20 28 27 each.($links.as.$link).{...if.('
94c80 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 20 3d 3d 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 self.version'.===.$link->getPret
94ca0 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 20 7b 0a 24 6e 65 77 4c 69 6e 6b 73 5b 5d 20 3d 20 tyConstraint()).{.$newLinks[].=.
94cc0 6e 65 77 20 4c 69 6e 6b 28 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 65 28 29 2c 20 24 6c 69 new.Link($link->getSource(),.$li
94ce0 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 nk->getTarget(),.new.Constraint(
94d00 27 3d 27 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 29 2c 20 24 6c 69 6e 6b 54 79 70 65 2c '=',.$this->version),.$linkType,
94d20 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 7d 0a 24 6c 69 6e .$this->prettyVersion);.}.}.$lin
94d40 6b 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6c 69 6e 6b 73 2c 20 24 6e 65 77 4c 69 6e ks.=.array_merge($links,.$newLin
94d60 6b 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 ks);.}.else.{.foreach.($links.as
94d80 20 24 69 6e 64 65 78 20 3d 3e 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 27 73 65 6c 66 2e 76 65 .$index.=>.$link).{.if.('self.ve
94da0 72 73 69 6f 6e 27 20 3d 3d 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 rsion'.===.$link->getPrettyConst
94dc0 72 61 69 6e 74 28 29 29 20 7b 0a 24 6c 69 6e 6b 73 5b 24 69 6e 64 65 78 5d 20 3d 20 6e 65 77 20 raint()).{.$links[$index].=.new.
94de0 4c 69 6e 6b 28 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 65 28 29 2c 20 24 6c 69 6e 6b 2d 3e Link($link->getSource(),.$link->
94e00 67 65 74 54 61 72 67 65 74 28 29 2c 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c getTarget(),.new.Constraint('=',
94e20 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 29 2c 20 24 6c 69 6e 6b 54 79 70 65 2c 20 24 74 68 .$this->version),.$linkType,.$th
94e40 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 is->prettyVersion);.}.}.}..retur
94e60 6e 20 24 6c 69 6e 6b 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e n.$links;.}......public.function
94e80 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 .getType().{.return.$this->alias
94ea0 4f 66 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f Of->getType();.}..public.functio
94ec0 6e 20 67 65 74 54 61 72 67 65 74 44 69 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d n.getTargetDir().{.return.$this-
94ee0 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 7d 0a 0a 70 75 62 >aliasOf->getTargetDir();.}..pub
94f00 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 74 72 61 28 29 0a 7b 0a 72 65 74 75 72 6e lic.function.getExtra().{.return
94f20 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 45 78 74 72 61 28 29 3b 0a 7d 0a 0a .$this->aliasOf->getExtra();.}..
94f40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 public.function.setInstallationS
94f60 6f 75 72 63 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 ource($type).{.$this->aliasOf->s
94f80 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 74 79 70 65 29 3b 0a 7d 0a 0a etInstallationSource($type);.}..
94fa0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 public.function.getInstallationS
94fc0 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d ource().{.return.$this->aliasOf-
94fe0 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 3b 0a 7d 0a 0a 70 75 62 >getInstallationSource();.}..pub
95000 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 0a 7b 0a 72 lic.function.getSourceType().{.r
95020 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 6f 75 72 63 65 54 eturn.$this->aliasOf->getSourceT
95040 79 70 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 ype();.}..public.function.getSou
95060 72 63 65 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 rceUrl().{.return.$this->aliasOf
95080 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ->getSourceUrl();.}..public.func
950a0 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 55 72 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 tion.getSourceUrls().{.return.$t
950c0 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 6f 75 72 63 65 55 72 6c 73 28 29 3b 0a 7d his->aliasOf->getSourceUrls();.}
950e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 ..public.function.getSourceRefer
95100 65 6e 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e ence().{.return.$this->aliasOf->
95120 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 getSourceReference();.}..public.
95140 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 function.setSourceReference($ref
95160 65 72 65 6e 63 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d erence).{.return.$this->aliasOf-
95180 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 3b >setSourceReference($reference);
951a0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 4d 69 72 .}..public.function.setSourceMir
951c0 72 6f 72 73 28 24 6d 69 72 72 6f 72 73 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 rors($mirrors).{.return.$this->a
951e0 6c 69 61 73 4f 66 2d 3e 73 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 24 6d 69 72 72 6f 72 liasOf->setSourceMirrors($mirror
95200 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 s);.}..public.function.getSource
95220 4d 69 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f Mirrors().{.return.$this->aliasO
95240 66 2d 3e 67 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 f->getSourceMirrors();.}..public
95260 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e .function.getDistType().{.return
95280 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a .$this->aliasOf->getDistType();.
952a0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 55 72 6c 28 29 0a }..public.function.getDistUrl().
952c0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 69 73 74 {.return.$this->aliasOf->getDist
952e0 55 72 6c 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 Url();.}..public.function.getDis
95300 74 55 72 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d tUrls().{.return.$this->aliasOf-
95320 3e 67 65 74 44 69 73 74 55 72 6c 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 >getDistUrls();.}..public.functi
95340 6f 6e 20 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 on.getDistReference().{.return.$
95360 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 this->aliasOf->getDistReference(
95380 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 52 65 66 );.}..public.function.setDistRef
953a0 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 erence($reference).{.return.$thi
953c0 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 72 65 s->aliasOf->setDistReference($re
953e0 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ference);.}..public.function.get
95400 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 DistSha1Checksum().{.return.$thi
95420 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 s->aliasOf->getDistSha1Checksum(
95440 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 72 61 6e 73 70 6f );.}..public.function.setTranspo
95460 72 74 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 72 65 74 75 rtOptions(array.$options).{.retu
95480 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 54 72 61 6e 73 70 6f 72 74 4f rn.$this->aliasOf->setTransportO
954a0 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ptions($options);.}..public.func
954c0 74 69 6f 6e 20 67 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 tion.getTransportOptions().{.ret
954e0 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 54 72 61 6e 73 70 6f 72 74 urn.$this->aliasOf->getTransport
95500 4f 70 74 69 6f 6e 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 Options();.}..public.function.se
95520 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 6d 69 72 72 6f 72 73 29 0a 7b 0a 72 65 74 75 72 6e 20 tDistMirrors($mirrors).{.return.
95540 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 $this->aliasOf->setDistMirrors($
95560 6d 69 72 72 6f 72 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 mirrors);.}..public.function.get
95580 44 69 73 74 4d 69 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c DistMirrors().{.return.$this->al
955a0 69 61 73 4f 66 2d 3e 67 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c iasOf->getDistMirrors();.}..publ
955c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 72 69 70 74 73 28 29 0a 7b 0a 72 65 74 75 72 ic.function.getScripts().{.retur
955e0 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 63 72 69 70 74 73 28 29 3b 0a n.$this->aliasOf->getScripts();.
95600 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 28 29 0a }..public.function.getLicense().
95620 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 4c 69 63 65 {.return.$this->aliasOf->getLice
95640 6e 73 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 nse();.}..public.function.getAut
95660 6f 6c 6f 61 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d oload().{.return.$this->aliasOf-
95680 3e 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 >getAutoload();.}..public.functi
956a0 6f 6e 20 67 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 on.getDevAutoload().{.return.$th
956c0 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 29 3b 0a 7d is->aliasOf->getDevAutoload();.}
956e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 6c 75 64 65 50 61 74 68 ..public.function.getIncludePath
95700 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 s().{.return.$this->aliasOf->get
95720 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 IncludePaths();.}..public.functi
95740 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 on.getRepositories().{.return.$t
95760 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 3b his->aliasOf->getRepositories();
95780 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6c 65 61 73 65 44 61 .}..public.function.getReleaseDa
957a0 74 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 te().{.return.$this->aliasOf->ge
957c0 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 tReleaseDate();.}..public.functi
957e0 6f 6e 20 67 65 74 42 69 6e 61 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d on.getBinaries().{.return.$this-
95800 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 42 69 6e 61 72 69 65 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c >aliasOf->getBinaries();.}..publ
95820 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4b 65 79 77 6f 72 64 73 28 29 0a 7b 0a 72 65 74 75 ic.function.getKeywords().{.retu
95840 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 4b 65 79 77 6f 72 64 73 28 29 rn.$this->aliasOf->getKeywords()
95860 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 ;.}..public.function.getDescript
95880 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 ion().{.return.$this->aliasOf->g
958a0 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 etDescription();.}..public.funct
958c0 69 6f 6e 20 67 65 74 48 6f 6d 65 70 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ion.getHomepage().{.return.$this
958e0 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 48 6f 6d 65 70 61 67 65 28 29 3b 0a 7d 0a 0a 70 75 62 ->aliasOf->getHomepage();.}..pub
95900 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 67 67 65 73 74 73 28 29 0a 7b 0a 72 65 74 lic.function.getSuggests().{.ret
95920 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 75 67 67 65 73 74 73 28 urn.$this->aliasOf->getSuggests(
95940 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 6f 72 73 );.}..public.function.getAuthors
95960 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 41 ().{.return.$this->aliasOf->getA
95980 75 74 68 6f 72 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 uthors();.}..public.function.get
959a0 53 75 70 70 6f 72 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f Support().{.return.$this->aliasO
959c0 66 2d 3e 67 65 74 53 75 70 70 6f 72 74 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 f->getSupport();.}..public.funct
959e0 69 6f 6e 20 67 65 74 4e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 ion.getNotificationUrl().{.retur
95a00 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 4e 6f 74 69 66 69 63 61 74 69 6f n.$this->aliasOf->getNotificatio
95a20 6e 55 72 6c 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 nUrl();.}..public.function.getAr
95a40 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e chiveExcludes().{.return.$this->
95a60 61 6c 69 61 73 4f 66 2d 3e 67 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 3b 0a 7d aliasOf->getArchiveExcludes();.}
95a80 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 0a ..public.function.isAbandoned().
95aa0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 69 73 41 62 61 6e 64 {.return.$this->aliasOf->isAband
95ac0 6f 6e 65 64 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 oned();.}..public.function.getRe
95ae0 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 placementPackage().{.return.$thi
95b00 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 s->aliasOf->getReplacementPackag
95b20 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 e();.}..public.function.__toStri
95b40 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 5f 5f 74 6f 53 74 72 69 6e 67 ng().{.return.parent::__toString
95b60 28 29 2e 27 20 28 61 6c 69 61 73 20 6f 66 20 27 2e 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d ().'.(alias.of.'.$this->aliasOf-
95b80 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2e 27 29 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e >getVersion().')';.}..public.fun
95ba0 63 74 69 6f 6e 20 73 65 74 44 69 73 74 55 72 6c 28 24 75 72 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 ction.setDistUrl($url).{.return.
95bc0 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 44 69 73 74 55 72 6c 28 24 75 72 6c 29 $this->aliasOf->setDistUrl($url)
95be0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 54 79 70 65 ;.}..public.function.setDistType
95c00 28 24 74 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d ($type).{.return.$this->aliasOf-
95c20 3e 73 65 74 44 69 73 74 54 79 70 65 28 24 74 79 70 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a >setDistType($type);.}.}.<?php..
95c40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 ..........namespace.Composer\Pac
95c60 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 46 69 6c 74 65 72 49 74 65 72 61 74 kage\Archiver;..use.FilterIterat
95c80 6f 72 3b 0a 75 73 65 20 50 68 61 72 44 61 74 61 3b 0a 0a 63 6c 61 73 73 20 41 72 63 68 69 76 61 or;.use.PharData;..class.Archiva
95ca0 62 6c 65 46 69 6c 65 73 46 69 6c 74 65 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 bleFilesFilter.extends.FilterIte
95cc0 72 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 69 72 73 20 3d 20 61 72 72 61 79 28 29 3b rator.{.private.$dirs.=.array();
95ce0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a .....public.function.accept().{.
95d00 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 6e 65 72 49 74 65 72 61 74 6f 72 28 $file.=.$this->getInnerIterator(
95d20 29 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 69 73 44 69 72 28 29 )->current();.if.($file->isDir()
95d40 29 20 7b 0a 24 74 68 69 73 2d 3e 64 69 72 73 5b 5d 20 3d 20 28 73 74 72 69 6e 67 29 20 24 66 69 ).{.$this->dirs[].=.(string).$fi
95d60 6c 65 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 le;..return.false;.}..return.tru
95d80 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 6d 70 74 79 44 69 e;.}..public.function.addEmptyDi
95da0 72 28 50 68 61 72 44 61 74 61 20 24 70 68 61 72 2c 20 24 73 6f 75 72 63 65 73 29 0a 7b 0a 66 6f r(PharData.$phar,.$sources).{.fo
95dc0 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 69 72 73 20 61 73 20 24 66 69 6c 65 70 61 74 68 29 reach.($this->dirs.as.$filepath)
95de0 20 7b 0a 24 6c 6f 63 61 6c 6e 61 6d 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 24 73 6f 75 .{.$localname.=.str_replace($sou
95e00 72 63 65 73 20 2e 20 22 2f 22 2c 20 27 27 2c 20 24 66 69 6c 65 70 61 74 68 29 3b 0a 24 70 68 61 rces..."/",.'',.$filepath);.$pha
95e20 72 2d 3e 61 64 64 45 6d 70 74 79 44 69 72 28 24 6c 6f 63 61 6c 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a r->addEmptyDir($localname);.}.}.
95e40 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
95e60 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d poser\Package\Archiver;..use.Com
95e80 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 46 69 6c 65 73 poser\Util\Filesystem;.use.Files
95ea0 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f ystemIterator;.use.Symfony\Compo
95ec0 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c nent\Finder\Finder;.use.Symfony\
95ee0 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 3b 0a 0a 0a Component\Finder\SplFileInfo;...
95f00 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6e 64 .......class.ArchivableFilesFind
95f20 65 72 20 65 78 74 65 6e 64 73 20 5c 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a er.extends.\FilterIterator.{....
95f40 70 72 6f 74 65 63 74 65 64 20 24 66 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 protected.$finder;.........publi
95f60 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 73 2c c.function.__construct($sources,
95f80 20 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 73 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 .array.$excludes,.$ignoreFilters
95fa0 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d .=.false).{.$fs.=.new.Filesystem
95fc0 28 29 3b 0a 0a 24 73 6f 75 72 63 65 73 20 3d 20 24 66 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 ();..$sources.=.$fs->normalizePa
95fe0 74 68 28 24 73 6f 75 72 63 65 73 29 3b 0a 0a 69 66 20 28 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 th($sources);..if.($ignoreFilter
96000 73 29 20 7b 0a 24 66 69 6c 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 20 s).{.$filters.=.array();.}.else.
96020 7b 0a 24 66 69 6c 74 65 72 73 20 3d 20 61 72 72 61 79 28 0a 6e 65 77 20 48 67 45 78 63 6c 75 64 {.$filters.=.array(.new.HgExclud
96040 65 46 69 6c 74 65 72 28 24 73 6f 75 72 63 65 73 29 2c 0a 6e 65 77 20 47 69 74 45 78 63 6c 75 64 eFilter($sources),.new.GitExclud
96060 65 46 69 6c 74 65 72 28 24 73 6f 75 72 63 65 73 29 2c 0a 6e 65 77 20 43 6f 6d 70 6f 73 65 72 45 eFilter($sources),.new.ComposerE
96080 78 63 6c 75 64 65 46 69 6c 74 65 72 28 24 73 6f 75 72 63 65 73 2c 20 24 65 78 63 6c 75 64 65 73 xcludeFilter($sources,.$excludes
960a0 29 2c 0a 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 46 69 6e ),.);.}..$this->finder.=.new.Fin
960c0 64 65 72 28 29 3b 0a 0a 24 66 69 6c 74 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 5c 53 70 6c der();..$filter.=.function.(\Spl
960e0 46 69 6c 65 49 6e 66 6f 20 24 66 69 6c 65 29 20 75 73 65 20 28 24 73 6f 75 72 63 65 73 2c 20 24 FileInfo.$file).use.($sources,.$
96100 66 69 6c 74 65 72 73 2c 20 24 66 73 29 20 7b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 69 73 4c 69 6e filters,.$fs).{.if.($file->isLin
96120 6b 28 29 20 26 26 20 73 74 72 70 6f 73 28 24 66 69 6c 65 2d 3e 67 65 74 4c 69 6e 6b 54 61 72 67 k().&&.strpos($file->getLinkTarg
96140 65 74 28 29 2c 20 24 73 6f 75 72 63 65 73 29 20 21 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 et(),.$sources).!==.0).{.return.
96160 66 61 6c 73 65 3b 0a 7d 0a 0a 24 72 65 6c 61 74 69 76 65 50 61 74 68 20 3d 20 70 72 65 67 5f 72 false;.}..$relativePath.=.preg_r
96180 65 70 6c 61 63 65 28 0a 27 23 5e 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 73 6f 75 72 63 65 73 eplace(.'#^'.preg_quote($sources
961a0 2c 20 27 23 27 29 2e 27 23 27 2c 0a 27 27 2c 0a 24 66 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 ,.'#').'#',.'',.$fs->normalizePa
961c0 74 68 28 24 66 69 6c 65 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 29 29 0a 29 3b 0a 0a 24 65 78 th($file->getRealPath()).);..$ex
961e0 63 6c 75 64 65 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 74 65 72 73 clude.=.false;.foreach.($filters
96200 20 61 73 20 24 66 69 6c 74 65 72 29 20 7b 0a 24 65 78 63 6c 75 64 65 20 3d 20 24 66 69 6c 74 65 .as.$filter).{.$exclude.=.$filte
96220 72 2d 3e 66 69 6c 74 65 72 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 24 65 78 63 6c 75 64 r->filter($relativePath,.$exclud
96240 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 21 24 65 78 63 6c 75 64 65 3b 0a 7d 3b 0a 0a 69 66 20 e);.}..return.!$exclude;.};..if.
96260 28 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 66 69 6c 74 65 72 2c 20 27 62 69 6e 64 54 6f 27 (method_exists($filter,.'bindTo'
96280 29 29 20 7b 0a 24 66 69 6c 74 65 72 20 3d 20 24 66 69 6c 74 65 72 2d 3e 62 69 6e 64 54 6f 28 6e )).{.$filter.=.$filter->bindTo(n
962a0 75 6c 6c 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 6e 64 65 72 0a 2d 3e 69 6e 28 24 73 6f 75 ull);.}..$this->finder.->in($sou
962c0 72 63 65 73 29 0a 2d 3e 66 69 6c 74 65 72 28 24 66 69 6c 74 65 72 29 0a 2d 3e 69 67 6e 6f 72 65 rces).->filter($filter).->ignore
962e0 56 43 53 28 74 72 75 65 29 0a 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 66 61 6c 73 65 VCS(true).->ignoreDotFiles(false
96300 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 68 69 73 2d 3e 66 );..parent::__construct($this->f
96320 69 6e 64 65 72 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 inder->getIterator());.}..public
96340 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 0a 24 63 75 72 72 65 6e 74 20 3d .function.accept().{..$current.=
96360 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 6e 65 72 49 74 65 72 61 74 6f 72 28 29 2d 3e 63 75 72 72 .$this->getInnerIterator()->curr
96380 65 6e 74 28 29 3b 0a 0a 69 66 20 28 21 24 63 75 72 72 65 6e 74 2d 3e 69 73 44 69 72 28 29 29 20 ent();..if.(!$current->isDir()).
963a0 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 {.return.true;.}..$iterator.=.ne
963c0 77 20 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 63 75 72 72 65 6e 74 2c 20 46 w.FilesystemIterator($current,.F
963e0 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 3b 0a 0a ilesystemIterator::SKIP_DOTS);..
96400 72 65 74 75 72 6e 20 21 24 69 74 65 72 61 74 6f 72 2d 3e 76 61 6c 69 64 28 29 3b 0a 7d 0a 7d 0a return.!$iterator->valid();.}.}.
96420 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
96440 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f ser\Package\Archiver;..use.Compo
96460 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a ser\Downloader\DownloadManager;.
96480 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 use.Composer\Package\PackageInte
964a0 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 rface;.use.Composer\Package\Root
964c0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 PackageInterface;.use.Composer\U
964e0 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f til\Filesystem;.use.Composer\Jso
96500 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 63 68 69 76 65 4d 61 n\JsonFile;......class.ArchiveMa
96520 6e 61 67 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 nager.{.protected.$downloadManag
96540 65 72 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 61 72 63 68 69 76 65 72 73 20 3d 20 61 72 72 61 er;..protected.$archivers.=.arra
96560 79 28 29 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 76 65 72 77 72 69 74 65 46 69 6c y();.....protected.$overwriteFil
96580 65 73 20 3d 20 74 72 75 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f es.=.true;.....public.function._
965a0 5f 63 6f 6e 73 74 72 75 63 74 28 44 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 20 24 64 6f 77 6e _construct(DownloadManager.$down
965c0 6c 6f 61 64 4d 61 6e 61 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 loadManager).{.$this->downloadMa
965e0 6e 61 67 65 72 20 3d 20 24 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a nager.=.$downloadManager;.}.....
96600 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 72 63 68 69 76 65 72 28 41 72 63 68 public.function.addArchiver(Arch
96620 69 76 65 72 49 6e 74 65 72 66 61 63 65 20 24 61 72 63 68 69 76 65 72 29 0a 7b 0a 24 74 68 69 73 iverInterface.$archiver).{.$this
96640 2d 3e 61 72 63 68 69 76 65 72 73 5b 5d 20 3d 20 24 61 72 63 68 69 76 65 72 3b 0a 7d 0a 0a 0a 0a ->archivers[].=.$archiver;.}....
96660 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 76 65 72 77 72 69 74 .....public.function.setOverwrit
96680 65 46 69 6c 65 73 28 24 6f 76 65 72 77 72 69 74 65 46 69 6c 65 73 29 0a 7b 0a 24 74 68 69 73 2d eFiles($overwriteFiles).{.$this-
966a0 3e 6f 76 65 72 77 72 69 74 65 46 69 6c 65 73 20 3d 20 24 6f 76 65 72 77 72 69 74 65 46 69 6c 65 >overwriteFiles.=.$overwriteFile
966c0 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c s;..return.$this;.}.........publ
966e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 46 69 6c 65 6e 61 6d 65 28 50 ic.function.getPackageFilename(P
96700 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 6e 61 6d ackageInterface.$package).{.$nam
96720 65 50 61 72 74 73 20 3d 20 61 72 72 61 79 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5b 5e eParts.=.array(preg_replace('#[^
96740 61 2d 7a 30 2d 39 2d 5f 5d 23 69 27 2c 20 27 2d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 a-z0-9-_]#i',.'-',.$package->get
96760 4e 61 6d 65 28 29 29 29 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d Name()));..if.(preg_match('{^[a-
96780 66 30 2d 39 5d 7b 34 30 7d 24 7d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 f0-9]{40}$}',.$package->getDistR
967a0 65 66 65 72 65 6e 63 65 28 29 29 29 20 7b 0a 61 72 72 61 79 5f 70 75 73 68 28 24 6e 61 6d 65 50 eference())).{.array_push($nameP
967c0 61 72 74 73 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 arts,.$package->getDistReference
967e0 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 29 3b 0a 7d 20 (),.$package->getDistType());.}.
96800 65 6c 73 65 20 7b 0a 61 72 72 61 79 5f 70 75 73 68 28 24 6e 61 6d 65 50 61 72 74 73 2c 20 24 70 else.{.array_push($nameParts,.$p
96820 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 24 70 61 63 ackage->getPrettyVersion(),.$pac
96840 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 3b 0a 7d 0a 0a 69 66 kage->getDistReference());.}..if
96860 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 .($package->getSourceReference()
96880 29 20 7b 0a 24 6e 61 6d 65 50 61 72 74 73 5b 5d 20 3d 20 73 75 62 73 74 72 28 73 68 61 31 28 24 ).{.$nameParts[].=.substr(sha1($
968a0 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 2c 20 package->getSourceReference()),.
968c0 30 2c 20 36 29 3b 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2d 27 2c 20 61 0,.6);.}..$name.=.implode('-',.a
968e0 72 72 61 79 5f 66 69 6c 74 65 72 28 24 6e 61 6d 65 50 61 72 74 73 2c 20 66 75 6e 63 74 69 6f 6e rray_filter($nameParts,.function
96900 20 28 24 70 29 20 7b 0a 72 65 74 75 72 6e 20 21 65 6d 70 74 79 28 24 70 29 3b 0a 7d 29 29 3b 0a .($p).{.return.!empty($p);.}));.
96920 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 27 2d 27 2c 20 24 6e .return.str_replace('/',.'-',.$n
96940 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ame);.}...............public.fun
96960 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 ction.archive(PackageInterface.$
96980 70 61 63 6b 61 67 65 2c 20 24 66 6f 72 6d 61 74 2c 20 24 74 61 72 67 65 74 44 69 72 2c 20 24 66 package,.$format,.$targetDir,.$f
969a0 69 6c 65 4e 61 6d 65 20 3d 20 6e 75 6c 6c 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 20 3d ileName.=.null,.$ignoreFilters.=
969c0 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 66 6f 72 6d 61 74 29 29 20 7b 0a .false).{.if.(empty($format)).{.
969e0 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 throw.new.\InvalidArgumentExcept
96a00 69 6f 6e 28 27 46 6f 72 6d 61 74 20 6d 75 73 74 20 62 65 20 73 70 65 63 69 66 69 65 64 27 29 3b ion('Format.must.be.specified');
96a20 0a 7d 0a 0a 0a 20 24 75 73 61 62 6c 65 41 72 63 68 69 76 65 72 20 3d 20 6e 75 6c 6c 3b 0a 66 6f .}....$usableArchiver.=.null;.fo
96a40 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 72 73 20 61 73 20 24 61 72 63 68 reach.($this->archivers.as.$arch
96a60 69 76 65 72 29 20 7b 0a 69 66 20 28 24 61 72 63 68 69 76 65 72 2d 3e 73 75 70 70 6f 72 74 73 28 iver).{.if.($archiver->supports(
96a80 24 66 6f 72 6d 61 74 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 $format,.$package->getSourceType
96aa0 28 29 29 29 20 7b 0a 24 75 73 61 62 6c 65 41 72 63 68 69 76 65 72 20 3d 20 24 61 72 63 68 69 76 ())).{.$usableArchiver.=.$archiv
96ac0 65 72 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 er;.break;.}.}....if.(null.===.$
96ae0 75 73 61 62 6c 65 41 72 63 68 69 76 65 72 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e usableArchiver).{.throw.new.\Run
96b00 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4e 6f 20 61 72 63 68 69 76 timeException(sprintf('No.archiv
96b20 65 72 20 66 6f 75 6e 64 20 74 6f 20 73 75 70 70 6f 72 74 20 25 73 20 66 6f 72 6d 61 74 27 2c 20 er.found.to.support.%s.format',.
96b40 24 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 0a 24 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 65 77 20 $format));.}..$filesystem.=.new.
96b60 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 66 69 6c 65 Filesystem();.if.(null.===.$file
96b80 4e 61 6d 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 Name).{.$packageName.=.$this->ge
96ba0 74 50 61 63 6b 61 67 65 46 69 6c 65 6e 61 6d 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 20 65 6c tPackageFilename($package);.}.el
96bc0 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 66 69 6c 65 4e 61 6d 65 3b 0a 7d se.{.$packageName.=.$fileName;.}
96be0 0a 0a 0a 20 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 ....$filesystem->ensureDirectory
96c00 45 78 69 73 74 73 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 24 74 61 72 67 65 74 20 3d 20 72 65 Exists($targetDir);.$target.=.re
96c20 61 6c 70 61 74 68 28 24 74 61 72 67 65 74 44 69 72 29 2e 27 2f 27 2e 24 70 61 63 6b 61 67 65 4e alpath($targetDir).'/'.$packageN
96c40 61 6d 65 2e 27 2e 27 2e 24 66 6f 72 6d 61 74 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e ame.'.'.$format;.$filesystem->en
96c60 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 64 69 72 6e 61 6d 65 28 24 74 61 72 sureDirectoryExists(dirname($tar
96c80 67 65 74 29 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 46 69 6c get));..if.(!$this->overwriteFil
96ca0 65 73 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 61 72 67 65 74 29 29 20 7b 0a 72 65 es.&&.file_exists($target)).{.re
96cc0 74 75 72 6e 20 24 74 61 72 67 65 74 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e turn.$target;.}..if.($package.in
96ce0 73 74 61 6e 63 65 6f 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b stanceof.RootPackageInterface).{
96d00 0a 24 73 6f 75 72 63 65 50 61 74 68 20 3d 20 72 65 61 6c 70 61 74 68 28 27 2e 27 29 3b 0a 7d 20 .$sourcePath.=.realpath('.');.}.
96d20 65 6c 73 65 20 7b 0a 0a 20 24 73 6f 75 72 63 65 50 61 74 68 20 3d 20 73 79 73 5f 67 65 74 5f 74 else.{...$sourcePath.=.sys_get_t
96d40 65 6d 70 5f 64 69 72 28 29 2e 27 2f 63 6f 6d 70 6f 73 65 72 5f 61 72 63 68 69 76 65 27 2e 75 6e emp_dir().'/composer_archive'.un
96d60 69 71 69 64 28 29 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 iqid();.$filesystem->ensureDirec
96d80 74 6f 72 79 45 78 69 73 74 73 28 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 0a 74 72 79 20 7b 0a toryExists($sourcePath);..try.{.
96da0 0a 20 24 74 68 69 73 2d 3e 64 6f 77 6e 6c 6f 61 64 4d 61 6e 61 67 65 72 2d 3e 64 6f 77 6e 6c 6f ..$this->downloadManager->downlo
96dc0 61 64 28 24 70 61 63 6b 61 67 65 2c 20 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 7d 20 63 61 74 ad($package,.$sourcePath);.}.cat
96de0 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 66 69 6c 65 73 79 73 74 65 6d ch.(\Exception.$e).{.$filesystem
96e00 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a ->removeDirectory($sourcePath);.
96e20 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 throw.$e;.}....if.(file_exists($
96e40 63 6f 6d 70 6f 73 65 72 4a 73 6f 6e 50 61 74 68 20 3d 20 24 73 6f 75 72 63 65 50 61 74 68 2e 27 composerJsonPath.=.$sourcePath.'
96e60 2f 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 29 20 7b 0a 24 6a 73 6f 6e 46 69 6c 65 20 3d 20 /composer.json')).{.$jsonFile.=.
96e80 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 63 6f 6d 70 6f 73 65 72 4a 73 6f 6e 50 61 74 68 29 3b new.JsonFile($composerJsonPath);
96ea0 0a 24 6a 73 6f 6e 44 61 74 61 20 3d 20 24 6a 73 6f 6e 46 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a .$jsonData.=.$jsonFile->read();.
96ec0 69 66 20 28 21 65 6d 70 74 79 28 24 6a 73 6f 6e 44 61 74 61 5b 27 61 72 63 68 69 76 65 27 5d 5b if.(!empty($jsonData['archive'][
96ee0 27 65 78 63 6c 75 64 65 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 72 63 68 'exclude'])).{.$package->setArch
96f00 69 76 65 45 78 63 6c 75 64 65 73 28 24 6a 73 6f 6e 44 61 74 61 5b 27 61 72 63 68 69 76 65 27 5d iveExcludes($jsonData['archive']
96f20 5b 27 65 78 63 6c 75 64 65 27 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 24 74 65 6d 70 54 61 72 67 ['exclude']);.}.}.}....$tempTarg
96f40 65 74 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2e 27 2f 63 6f 6d 70 6f 73 et.=.sys_get_temp_dir().'/compos
96f60 65 72 5f 61 72 63 68 69 76 65 27 2e 75 6e 69 71 69 64 28 29 2e 27 2e 27 2e 24 66 6f 72 6d 61 74 er_archive'.uniqid().'.'.$format
96f80 3b 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 ;.$filesystem->ensureDirectoryEx
96fa0 69 73 74 73 28 64 69 72 6e 61 6d 65 28 24 74 65 6d 70 54 61 72 67 65 74 29 29 3b 0a 0a 24 61 72 ists(dirname($tempTarget));..$ar
96fc0 63 68 69 76 65 50 61 74 68 20 3d 20 24 75 73 61 62 6c 65 41 72 63 68 69 76 65 72 2d 3e 61 72 63 chivePath.=.$usableArchiver->arc
96fe0 68 69 76 65 28 24 73 6f 75 72 63 65 50 61 74 68 2c 20 24 74 65 6d 70 54 61 72 67 65 74 2c 20 24 hive($sourcePath,.$tempTarget,.$
97000 66 6f 72 6d 61 74 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 72 63 68 69 76 65 45 78 63 6c format,.$package->getArchiveExcl
97020 75 64 65 73 28 29 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 29 3b 0a 24 66 69 6c 65 73 79 udes(),.$ignoreFilters);.$filesy
97040 73 74 65 6d 2d 3e 72 65 6e 61 6d 65 28 24 61 72 63 68 69 76 65 50 61 74 68 2c 20 24 74 61 72 67 stem->rename($archivePath,.$targ
97060 65 74 29 3b 0a 0a 0a 20 69 66 20 28 21 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 et);....if.(!$package.instanceof
97080 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 66 69 6c 65 73 79 .RootPackageInterface).{.$filesy
970a0 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 73 6f 75 72 63 65 50 61 74 stem->removeDirectory($sourcePat
970c0 68 29 3b 0a 7d 0a 24 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 28 24 74 65 6d 70 54 h);.}.$filesystem->remove($tempT
970e0 61 72 67 65 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 61 72 67 65 74 3b 0a 7d 0a 7d 0a 3c 3f 70 arget);..return.$target;.}.}.<?p
97100 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
97120 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 \Package\Archiver;.......interfa
97140 63 65 20 41 72 63 68 69 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ce.ArchiverInterface.{..........
97160 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 24 73 6f 75 72 63 65 .public.function.archive($source
97180 73 2c 20 24 74 61 72 67 65 74 2c 20 24 66 6f 72 6d 61 74 2c 20 61 72 72 61 79 20 24 65 78 63 6c s,.$target,.$format,.array.$excl
971a0 75 64 65 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 20 3d udes.=.array(),.$ignoreFilters.=
971c0 20 66 61 6c 73 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .false);..........public.functio
971e0 6e 20 73 75 70 70 6f 72 74 73 28 24 66 6f 72 6d 61 74 2c 20 24 73 6f 75 72 63 65 54 79 70 65 29 n.supports($format,.$sourceType)
97200 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 ;.}.<?php............namespace.C
97220 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 53 omposer\Package\Archiver;..use.S
97240 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 61 62 73 ymfony\Component\Finder;.....abs
97260 74 72 61 63 74 20 63 6c 61 73 73 20 42 61 73 65 45 78 63 6c 75 64 65 46 69 6c 74 65 72 0a 7b 0a tract.class.BaseExcludeFilter.{.
97280 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 63 65 50 61 74 68 3b 0a 0a 0a 0a 0a 70 72 ...protected.$sourcePath;.....pr
972a0 6f 74 65 63 74 65 64 20 24 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 3b 0a 0a 0a 0a 0a 70 75 otected.$excludePatterns;.....pu
972c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 blic.function.__construct($sourc
972e0 65 50 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 50 61 74 68 20 3d 20 24 73 6f ePath).{.$this->sourcePath.=.$so
97300 75 72 63 65 50 61 74 68 3b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 urcePath;.$this->excludePatterns
97320 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .=.array();.}............public.
97340 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 24 function.filter($relativePath,.$
97360 65 78 63 6c 75 64 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 exclude).{.foreach.($this->exclu
97380 64 65 50 61 74 74 65 72 6e 73 20 61 73 20 24 70 61 74 74 65 72 6e 44 61 74 61 29 20 7b 0a 6c 69 dePatterns.as.$patternData).{.li
973a0 73 74 28 24 70 61 74 74 65 72 6e 2c 20 24 6e 65 67 61 74 65 2c 20 24 73 74 72 69 70 4c 65 61 64 st($pattern,.$negate,.$stripLead
973c0 69 6e 67 53 6c 61 73 68 29 20 3d 20 24 70 61 74 74 65 72 6e 44 61 74 61 3b 0a 0a 69 66 20 28 24 ingSlash).=.$patternData;..if.($
973e0 73 74 72 69 70 4c 65 61 64 69 6e 67 53 6c 61 73 68 29 20 7b 0a 24 70 61 74 68 20 3d 20 73 75 62 stripLeadingSlash).{.$path.=.sub
97400 73 74 72 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 31 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a str($relativePath,.1);.}.else.{.
97420 24 70 61 74 68 20 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 7d 0a 0a 69 66 20 28 70 72 $path.=.$relativePath;.}..if.(pr
97440 65 67 5f 6d 61 74 63 68 28 24 70 61 74 74 65 72 6e 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 65 78 eg_match($pattern,.$path)).{.$ex
97460 63 6c 75 64 65 20 3d 20 21 24 6e 65 67 61 74 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 clude.=.!$negate;.}.}..return.$e
97480 78 63 6c 75 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e xclude;.}..........protected.fun
974a0 63 74 69 6f 6e 20 70 61 72 73 65 4c 69 6e 65 73 28 61 72 72 61 79 20 24 6c 69 6e 65 73 2c 20 24 ction.parseLines(array.$lines,.$
974c0 6c 69 6e 65 50 61 72 73 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 66 69 6c 74 65 lineParser).{.return.array_filte
974e0 72 28 0a 61 72 72 61 79 5f 6d 61 70 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 6c 69 6e 65 29 20 75 r(.array_map(.function.($line).u
97500 73 65 20 28 24 6c 69 6e 65 50 61 72 73 65 72 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 74 72 69 6d 28 se.($lineParser).{.$line.=.trim(
97520 24 6c 69 6e 65 29 3b 0a 0a 69 66 20 28 21 24 6c 69 6e 65 20 7c 7c 20 30 20 3d 3d 3d 20 73 74 72 $line);..if.(!$line.||.0.===.str
97540 70 6f 73 28 24 6c 69 6e 65 2c 20 27 23 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a pos($line,.'#')).{.return.null;.
97560 7d 0a 0a 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 6c 69 6e 65 50 61 }..return.call_user_func($linePa
97580 72 73 65 72 2c 20 24 6c 69 6e 65 29 3b 0a 7d 2c 0a 24 6c 69 6e 65 73 0a 29 2c 0a 66 75 6e 63 74 rser,.$line);.},.$lines.),.funct
975a0 69 6f 6e 20 28 24 70 61 74 74 65 72 6e 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 74 65 72 6e ion.($pattern).{.return.$pattern
975c0 20 21 3d 3d 20 6e 75 6c 6c 3b 0a 7d 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 .!==.null;.}.);.}.........protec
975e0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 50 61 74 74 65 72 6e 73 28 24 72 ted.function.generatePatterns($r
97600 75 6c 65 73 29 0a 7b 0a 24 70 61 74 74 65 72 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 ules).{.$patterns.=.array();.for
97620 65 61 63 68 20 28 24 72 75 6c 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 24 70 61 74 74 65 72 each.($rules.as.$rule).{.$patter
97640 6e 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 61 74 74 65 72 6e 28 24 72 ns[].=.$this->generatePattern($r
97660 75 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 74 65 72 6e 73 3b 0a 7d 0a 0a 0a 0a ule);.}..return.$patterns;.}....
97680 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 .....protected.function.generate
976a0 50 61 74 74 65 72 6e 28 24 72 75 6c 65 29 0a 7b 0a 24 6e 65 67 61 74 65 20 3d 20 66 61 6c 73 65 Pattern($rule).{.$negate.=.false
976c0 3b 0a 24 70 61 74 74 65 72 6e 20 3d 20 27 7b 27 3b 0a 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 72 ;.$pattern.=.'{';..if.(strlen($r
976e0 75 6c 65 29 20 26 26 20 24 72 75 6c 65 5b 30 5d 20 3d 3d 3d 20 27 21 27 29 20 7b 0a 24 6e 65 67 ule).&&.$rule[0].===.'!').{.$neg
97700 61 74 65 20 3d 20 74 72 75 65 3b 0a 24 72 75 6c 65 20 3d 20 73 75 62 73 74 72 28 24 72 75 6c 65 ate.=.true;.$rule.=.substr($rule
97720 2c 20 31 29 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 72 75 6c 65 29 20 26 26 20 24 72 ,.1);.}..if.(strlen($rule).&&.$r
97740 75 6c 65 5b 30 5d 20 3d 3d 3d 20 27 2f 27 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 2e 3d 20 27 5e ule[0].===.'/').{.$pattern..=.'^
97760 2f 27 3b 0a 24 72 75 6c 65 20 3d 20 73 75 62 73 74 72 28 24 72 75 6c 65 2c 20 31 29 3b 0a 7d 20 /';.$rule.=.substr($rule,.1);.}.
97780 65 6c 73 65 69 66 20 28 73 74 72 6c 65 6e 28 24 72 75 6c 65 29 20 2d 20 31 20 3d 3d 3d 20 73 74 elseif.(strlen($rule).-.1.===.st
977a0 72 70 6f 73 28 24 72 75 6c 65 2c 20 27 2f 27 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 2e 3d 20 rpos($rule,.'/')).{.$pattern..=.
977c0 27 2f 27 3b 0a 24 72 75 6c 65 20 3d 20 73 75 62 73 74 72 28 24 72 75 6c 65 2c 20 30 2c 20 2d 31 '/';.$rule.=.substr($rule,.0,.-1
977e0 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 72 );.}.elseif.(false.===.strpos($r
97800 75 6c 65 2c 20 27 2f 27 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 2e 3d 20 27 2f 27 3b 0a 7d 0a ule,.'/')).{.$pattern..=.'/';.}.
97820 0a 0a 20 24 70 61 74 74 65 72 6e 20 2e 3d 20 73 75 62 73 74 72 28 46 69 6e 64 65 72 5c 47 6c 6f ...$pattern..=.substr(Finder\Glo
97840 62 3a 3a 74 6f 52 65 67 65 78 28 24 72 75 6c 65 29 2c 20 32 2c 20 2d 32 29 20 2e 20 27 28 3f 3d b::toRegex($rule),.2,.-2)...'(?=
97860 24 7c 2f 29 27 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 70 61 74 74 65 72 6e 20 2e 20 $|/)';..return.array($pattern...
97880 27 7d 27 2c 20 24 6e 65 67 61 74 65 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a '}',.$negate,.false);.}.}.<?php.
978a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 ...........namespace.Composer\Pa
978c0 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 ckage\Archiver;.......class.Comp
978e0 6f 73 65 72 45 78 63 6c 75 64 65 46 69 6c 74 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 45 78 oserExcludeFilter.extends.BaseEx
97900 63 6c 75 64 65 46 69 6c 74 65 72 0a 7b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f cludeFilter.{.....public.functio
97920 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 50 61 74 68 2c 20 61 72 72 61 79 n.__construct($sourcePath,.array
97940 20 24 65 78 63 6c 75 64 65 52 75 6c 65 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 .$excludeRules).{.parent::__cons
97960 74 72 75 63 74 28 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 truct($sourcePath);.$this->exclu
97980 64 65 50 61 74 74 65 72 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 61 74 74 dePatterns.=.$this->generatePatt
979a0 65 72 6e 73 28 24 65 78 63 6c 75 64 65 52 75 6c 65 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a erns($excludeRules);.}.}.<?php..
979c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 ..........namespace.Composer\Pac
979e0 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 kage\Archiver;.........class.Git
97a00 45 78 63 6c 75 64 65 46 69 6c 74 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 45 78 63 6c 75 64 ExcludeFilter.extends.BaseExclud
97a20 65 46 69 6c 74 65 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f eFilter.{......public.function._
97a40 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 50 61 74 68 29 0a 7b 0a 70 61 72 65 6e 74 _construct($sourcePath).{.parent
97a60 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 0a 69 66 20 ::__construct($sourcePath);..if.
97a80 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f 2e 67 69 74 69 (file_exists($sourcePath.'/.giti
97aa0 67 6e 6f 72 65 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 50 61 74 74 65 72 6e gnore')).{.$this->excludePattern
97ac0 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 4c 69 6e 65 73 28 0a 66 69 6c 65 28 24 73 6f 75 s.=.$this->parseLines(.file($sou
97ae0 72 63 65 50 61 74 68 2e 27 2f 2e 67 69 74 69 67 6e 6f 72 65 27 29 2c 0a 61 72 72 61 79 28 24 74 rcePath.'/.gitignore'),.array($t
97b00 68 69 73 2c 20 27 70 61 72 73 65 47 69 74 49 67 6e 6f 72 65 4c 69 6e 65 27 29 0a 29 3b 0a 7d 0a his,.'parseGitIgnoreLine').);.}.
97b20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f 2e 67 if.(file_exists($sourcePath.'/.g
97b40 69 74 61 74 74 72 69 62 75 74 65 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 itattributes')).{.$this->exclude
97b60 50 61 74 74 65 72 6e 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 74 68 69 73 2d 3e 65 Patterns.=.array_merge(.$this->e
97b80 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 2c 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 4c 69 6e 65 xcludePatterns,.$this->parseLine
97ba0 73 28 0a 66 69 6c 65 28 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f 2e 67 69 74 61 74 74 72 69 62 s(.file($sourcePath.'/.gitattrib
97bc0 75 74 65 73 27 29 2c 0a 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 70 61 72 73 65 47 69 74 41 74 utes'),.array($this,.'parseGitAt
97be0 74 72 69 62 75 74 65 73 4c 69 6e 65 27 29 0a 29 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a tributesLine').).);.}.}.........
97c00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 47 69 74 49 67 6e 6f 72 65 4c 69 public.function.parseGitIgnoreLi
97c20 6e 65 28 24 6c 69 6e 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 ne($line).{.return.$this->genera
97c40 74 65 50 61 74 74 65 72 6e 28 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c tePattern($line);.}.........publ
97c60 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 47 69 74 41 74 74 72 69 62 75 74 65 73 4c 69 ic.function.parseGitAttributesLi
97c80 6e 65 28 24 6c 69 6e 65 29 0a 7b 0a 24 70 61 72 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 ne($line).{.$parts.=.preg_split(
97ca0 27 23 5c 73 2b 23 27 2c 20 24 6c 69 6e 65 29 3b 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 70 61 72 '#\s+#',.$line);..if.(count($par
97cc0 74 73 29 20 3d 3d 20 32 20 26 26 20 24 70 61 72 74 73 5b 31 5d 20 3d 3d 3d 20 27 65 78 70 6f 72 ts).==.2.&&.$parts[1].===.'expor
97ce0 74 2d 69 67 6e 6f 72 65 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 t-ignore').{.return.$this->gener
97d00 61 74 65 50 61 74 74 65 72 6e 28 24 70 61 72 74 73 5b 30 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e atePattern($parts[0]);.}..return
97d20 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 .null;.}.}.<?php............name
97d40 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 72 63 68 69 76 65 72 3b space.Composer\Package\Archiver;
97d60 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 3b 0a ..use.Symfony\Component\Finder;.
97d80 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 67 45 78 63 6c 75 64 65 46 69 6c 74 65 72 20 65 78 74 65 ......class.HgExcludeFilter.exte
97da0 6e 64 73 20 42 61 73 65 45 78 63 6c 75 64 65 46 69 6c 74 65 72 0a 7b 0a 63 6f 6e 73 74 20 48 47 nds.BaseExcludeFilter.{.const.HG
97dc0 5f 49 47 4e 4f 52 45 5f 52 45 47 45 58 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 48 47 5f 49 47 4e 4f _IGNORE_REGEX.=.1;.const.HG_IGNO
97de0 52 45 5f 47 4c 4f 42 20 3d 20 32 3b 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 74 RE_GLOB.=.2;......protected.$pat
97e00 74 65 72 6e 4d 6f 64 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ternMode;.......public.function.
97e20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 50 61 74 68 29 0a 7b 0a 70 61 72 65 6e __construct($sourcePath).{.paren
97e40 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f 75 72 63 65 50 61 74 68 29 3b 0a 0a 24 74 t::__construct($sourcePath);..$t
97e60 68 69 73 2d 3e 70 61 74 74 65 72 6e 4d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 48 47 5f 49 47 4e 4f his->patternMode.=.self::HG_IGNO
97e80 52 45 5f 52 45 47 45 58 3b 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 73 6f 75 72 RE_REGEX;..if.(file_exists($sour
97ea0 63 65 50 61 74 68 2e 27 2f 2e 68 67 69 67 6e 6f 72 65 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 cePath.'/.hgignore')).{.$this->e
97ec0 78 63 6c 75 64 65 50 61 74 74 65 72 6e 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 4c 69 6e xcludePatterns.=.$this->parseLin
97ee0 65 73 28 0a 66 69 6c 65 28 24 73 6f 75 72 63 65 50 61 74 68 2e 27 2f 2e 68 67 69 67 6e 6f 72 65 es(.file($sourcePath.'/.hgignore
97f00 27 29 2c 0a 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 70 61 72 73 65 48 67 49 67 6e 6f 72 65 4c '),.array($this,.'parseHgIgnoreL
97f20 69 6e 65 27 29 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ine').);.}.}.........public.func
97f40 74 69 6f 6e 20 70 61 72 73 65 48 67 49 67 6e 6f 72 65 4c 69 6e 65 28 24 6c 69 6e 65 29 0a 7b 0a tion.parseHgIgnoreLine($line).{.
97f60 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 73 79 6e 74 61 78 5c 73 2a 3a 5c 73 2a 28 if.(preg_match('#^syntax\s*:\s*(
97f80 67 6c 6f 62 7c 72 65 67 65 78 70 29 24 23 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 68 65 73 glob|regexp)$#',.$line,.$matches
97fa0 29 29 20 7b 0a 69 66 20 28 24 6d 61 74 63 68 65 73 5b 31 5d 20 3d 3d 3d 20 27 67 6c 6f 62 27 29 )).{.if.($matches[1].===.'glob')
97fc0 20 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 4d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 48 47 .{.$this->patternMode.=.self::HG
97fe0 5f 49 47 4e 4f 52 45 5f 47 4c 4f 42 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 61 _IGNORE_GLOB;.}.else.{.$this->pa
98000 74 74 65 72 6e 4d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 48 47 5f 49 47 4e 4f 52 45 5f 52 45 47 45 tternMode.=.self::HG_IGNORE_REGE
98020 58 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d X;.}..return.null;.}..if.($this-
98040 3e 70 61 74 74 65 72 6e 4d 6f 64 65 20 3d 3d 20 73 65 6c 66 3a 3a 48 47 5f 49 47 4e 4f 52 45 5f >patternMode.==.self::HG_IGNORE_
98060 47 4c 4f 42 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 46 72 6f GLOB).{.return.$this->patternFro
98080 6d 47 6c 6f 62 28 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 mGlob($line);.}..return.$this->p
980a0 61 74 74 65 72 6e 46 72 6f 6d 52 65 67 65 78 28 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a atternFromRegex($line);.}.......
980c0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 74 74 65 72 6e 46 72 6f 6d ..protected.function.patternFrom
980e0 47 6c 6f 62 28 24 6c 69 6e 65 29 0a 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 27 23 27 2e 73 75 62 Glob($line).{.$pattern.=.'#'.sub
98100 73 74 72 28 46 69 6e 64 65 72 5c 47 6c 6f 62 3a 3a 74 6f 52 65 67 65 78 28 24 6c 69 6e 65 29 2c str(Finder\Glob::toRegex($line),
98120 20 32 2c 20 2d 31 29 2e 27 23 27 3b 0a 24 70 61 74 74 65 72 6e 20 3d 20 73 74 72 5f 72 65 70 6c .2,.-1).'#';.$pattern.=.str_repl
98140 61 63 65 28 27 5b 5e 2f 5d 2a 27 2c 20 27 2e 2a 27 2c 20 24 70 61 74 74 65 72 6e 29 3b 0a 0a 72 ace('[^/]*',.'.*',.$pattern);..r
98160 65 74 75 72 6e 20 61 72 72 61 79 28 24 70 61 74 74 65 72 6e 2c 20 66 61 6c 73 65 2c 20 74 72 75 eturn.array($pattern,.false,.tru
98180 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 e);.}.........public.function.pa
981a0 74 74 65 72 6e 46 72 6f 6d 52 65 67 65 78 28 24 6c 69 6e 65 29 0a 7b 0a 0a 20 24 70 61 74 74 65 tternFromRegex($line).{...$patte
981c0 72 6e 20 3d 20 27 23 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 28 28 3f 3a 5c 5c 5c 5c rn.=.'#'.preg_replace('/((?:\\\\
981e0 5c 5c 5c 5c 29 2a 29 28 5c 5c 5c 5c 3f 29 23 2f 27 2c 20 27 5c 31 5c 32 5c 32 5c 5c 23 27 2c 20 \\\\)*)(\\\\?)#/',.'\1\2\2\\#',.
98200 24 6c 69 6e 65 29 2e 27 23 27 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 70 61 74 74 65 $line).'#';..return.array($patte
98220 72 6e 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a rn,.false,.true);.}.}.<?php.....
98240 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 .......namespace.Composer\Packag
98260 65 5c 41 72 63 68 69 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 68 61 72 41 72 63 68 e\Archiver;.......class.PharArch
98280 69 76 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 41 72 63 68 69 76 65 72 49 6e 74 65 72 66 61 63 iver.implements.ArchiverInterfac
982a0 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 73 20 3d 20 e.{.protected.static.$formats.=.
982c0 61 72 72 61 79 28 0a 27 7a 69 70 27 20 3d 3e 20 5c 50 68 61 72 3a 3a 5a 49 50 2c 0a 27 74 61 72 array(.'zip'.=>.\Phar::ZIP,.'tar
982e0 27 20 3d 3e 20 5c 50 68 61 72 3a 3a 54 41 52 2c 0a 27 74 61 72 2e 67 7a 27 20 3d 3e 20 5c 50 68 '.=>.\Phar::TAR,.'tar.gz'.=>.\Ph
98300 61 72 3a 3a 54 41 52 2c 0a 27 74 61 72 2e 62 7a 32 27 20 3d 3e 20 5c 50 68 61 72 3a 3a 54 41 52 ar::TAR,.'tar.bz2'.=>.\Phar::TAR
98320 2c 0a 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 24 63 6f 6d 70 72 65 73 73 ,.);..protected.static.$compress
98340 46 6f 72 6d 61 74 73 20 3d 20 61 72 72 61 79 28 0a 27 74 61 72 2e 67 7a 27 20 3d 3e 20 5c 50 68 Formats.=.array(.'tar.gz'.=>.\Ph
98360 61 72 3a 3a 47 5a 2c 0a 27 74 61 72 2e 62 7a 32 27 20 3d 3e 20 5c 50 68 61 72 3a 3a 42 5a 32 2c ar::GZ,.'tar.bz2'.=>.\Phar::BZ2,
98380 0a 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 .);.....public.function.archive(
983a0 24 73 6f 75 72 63 65 73 2c 20 24 74 61 72 67 65 74 2c 20 24 66 6f 72 6d 61 74 2c 20 61 72 72 61 $sources,.$target,.$format,.arra
983c0 79 20 24 65 78 63 6c 75 64 65 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 69 67 6e 6f 72 65 46 69 y.$excludes.=.array(),.$ignoreFi
983e0 6c 74 65 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 73 6f 75 72 63 65 73 20 3d 20 72 65 61 6c lters.=.false).{.$sources.=.real
98400 70 61 74 68 28 24 73 6f 75 72 63 65 73 29 3b 0a 0a 0a 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 path($sources);....if.(file_exis
98420 74 73 28 24 74 61 72 67 65 74 29 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 74 61 72 67 65 74 29 3b 0a ts($target)).{.unlink($target);.
98440 7d 0a 0a 74 72 79 20 7b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 74 61 72 }..try.{.$filename.=.substr($tar
98460 67 65 74 2c 20 30 2c 20 73 74 72 72 70 6f 73 28 24 74 61 72 67 65 74 2c 20 24 66 6f 72 6d 61 74 get,.0,.strrpos($target,.$format
98480 29 20 2d 20 31 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 63 6f ).-.1);....if.(isset(static::$co
984a0 6d 70 72 65 73 73 46 6f 72 6d 61 74 73 5b 24 66 6f 72 6d 61 74 5d 29 29 20 7b 0a 0a 20 24 74 61 mpressFormats[$format])).{...$ta
984c0 72 67 65 74 20 3d 20 24 66 69 6c 65 6e 61 6d 65 20 2e 20 27 2e 74 61 72 27 3b 0a 7d 0a 0a 24 70 rget.=.$filename...'.tar';.}..$p
984e0 68 61 72 20 3d 20 6e 65 77 20 5c 50 68 61 72 44 61 74 61 28 24 74 61 72 67 65 74 2c 20 6e 75 6c har.=.new.\PharData($target,.nul
98500 6c 2c 20 6e 75 6c 6c 2c 20 73 74 61 74 69 63 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 66 6f 72 6d 61 l,.null,.static::$formats[$forma
98520 74 5d 29 3b 0a 24 66 69 6c 65 73 20 3d 20 6e 65 77 20 41 72 63 68 69 76 61 62 6c 65 46 69 6c 65 t]);.$files.=.new.ArchivableFile
98540 73 46 69 6e 64 65 72 28 24 73 6f 75 72 63 65 73 2c 20 24 65 78 63 6c 75 64 65 73 2c 20 24 69 67 sFinder($sources,.$excludes,.$ig
98560 6e 6f 72 65 46 69 6c 74 65 72 73 29 3b 0a 24 66 69 6c 65 73 4f 6e 6c 79 20 3d 20 6e 65 77 20 41 noreFilters);.$filesOnly.=.new.A
98580 72 63 68 69 76 61 62 6c 65 46 69 6c 65 73 46 69 6c 74 65 72 28 24 66 69 6c 65 73 29 3b 0a 24 70 rchivableFilesFilter($files);.$p
985a0 68 61 72 2d 3e 62 75 69 6c 64 46 72 6f 6d 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 73 4f 6e 6c har->buildFromIterator($filesOnl
985c0 79 2c 20 24 73 6f 75 72 63 65 73 29 3b 0a 24 66 69 6c 65 73 4f 6e 6c 79 2d 3e 61 64 64 45 6d 70 y,.$sources);.$filesOnly->addEmp
985e0 74 79 44 69 72 28 24 70 68 61 72 2c 20 24 73 6f 75 72 63 65 73 29 3b 0a 0a 69 66 20 28 69 73 73 tyDir($phar,.$sources);..if.(iss
98600 65 74 28 73 74 61 74 69 63 3a 3a 24 63 6f 6d 70 72 65 73 73 46 6f 72 6d 61 74 73 5b 24 66 6f 72 et(static::$compressFormats[$for
98620 6d 61 74 5d 29 29 20 7b 0a 0a 20 69 66 20 28 21 24 70 68 61 72 2d 3e 63 61 6e 43 6f 6d 70 72 65 mat])).{...if.(!$phar->canCompre
98640 73 73 28 73 74 61 74 69 63 3a 3a 24 63 6f 6d 70 72 65 73 73 46 6f 72 6d 61 74 73 5b 24 66 6f 72 ss(static::$compressFormats[$for
98660 6d 61 74 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 mat])).{.throw.new.\RuntimeExcep
98680 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 6e 20 6e 6f 74 20 63 6f 6d 70 72 65 73 73 20 74 tion(sprintf('Can.not.compress.t
986a0 6f 20 25 73 20 66 6f 72 6d 61 74 27 2c 20 24 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 0a 0a 20 75 6e o.%s.format',.$format));.}....un
986c0 6c 69 6e 6b 28 24 74 61 72 67 65 74 29 3b 0a 0a 0a 20 24 70 68 61 72 2d 3e 63 6f 6d 70 72 65 73 link($target);....$phar->compres
986e0 73 28 73 74 61 74 69 63 3a 3a 24 63 6f 6d 70 72 65 73 73 46 6f 72 6d 61 74 73 5b 24 66 6f 72 6d s(static::$compressFormats[$form
98700 61 74 5d 29 3b 0a 0a 0a 20 24 74 61 72 67 65 74 20 3d 20 24 66 69 6c 65 6e 61 6d 65 20 2e 20 27 at]);....$target.=.$filename...'
98720 2e 27 20 2e 20 24 66 6f 72 6d 61 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 61 72 67 65 74 3b .'...$format;.}..return.$target;
98740 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 .}.catch.(\UnexpectedValueExcept
98760 69 6f 6e 20 24 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 22 43 ion.$e).{.$message.=.sprintf(."C
98780 6f 75 6c 64 20 6e 6f 74 20 63 72 65 61 74 65 20 61 72 63 68 69 76 65 20 27 25 73 27 20 66 72 6f ould.not.create.archive.'%s'.fro
987a0 6d 20 27 25 73 27 3a 20 25 73 22 2c 0a 24 74 61 72 67 65 74 2c 0a 24 73 6f 75 72 63 65 73 2c 0a m.'%s':.%s",.$target,.$sources,.
987c0 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 0a 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c $e->getMessage().);..throw.new.\
987e0 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 65 2d 3e 67 RuntimeException($message,.$e->g
98800 65 74 43 6f 64 65 28 29 2c 20 24 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 etCode(),.$e);.}.}.....public.fu
98820 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 66 6f 72 6d 61 74 2c 20 24 73 6f 75 72 63 65 nction.supports($format,.$source
98840 54 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 66 6f Type).{.return.isset(static::$fo
98860 72 6d 61 74 73 5b 24 66 6f 72 6d 61 74 5d 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a rmats[$format]);.}.}.<?php......
98880 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 ......namespace.Composer\Package
988a0 5c 41 72 63 68 69 76 65 72 3b 0a 0a 75 73 65 20 5a 69 70 41 72 63 68 69 76 65 3b 0a 75 73 65 20 \Archiver;..use.ZipArchive;.use.
988c0 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 63 6c Composer\Util\Filesystem;.....cl
988e0 61 73 73 20 5a 69 70 41 72 63 68 69 76 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 41 72 63 68 69 ass.ZipArchiver.implements.Archi
98900 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 verInterface.{.protected.static.
98920 24 66 6f 72 6d 61 74 73 20 3d 20 61 72 72 61 79 28 0a 27 7a 69 70 27 20 3d 3e 20 31 2c 0a 29 3b $formats.=.array(.'zip'.=>.1,.);
98940 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 63 68 69 76 65 28 24 73 6f .....public.function.archive($so
98960 75 72 63 65 73 2c 20 24 74 61 72 67 65 74 2c 20 24 66 6f 72 6d 61 74 2c 20 61 72 72 61 79 20 24 urces,.$target,.$format,.array.$
98980 65 78 63 6c 75 64 65 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 excludes.=.array(),.$ignoreFilte
989a0 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 rs.=.false).{.$fs.=.new.Filesyst
989c0 65 6d 28 29 3b 0a 24 73 6f 75 72 63 65 73 20 3d 20 24 66 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 em();.$sources.=.$fs->normalizeP
989e0 61 74 68 28 24 73 6f 75 72 63 65 73 29 3b 0a 0a 24 7a 69 70 20 3d 20 6e 65 77 20 5a 69 70 41 72 ath($sources);..$zip.=.new.ZipAr
98a00 63 68 69 76 65 28 29 3b 0a 24 72 65 73 20 3d 20 24 7a 69 70 2d 3e 6f 70 65 6e 28 24 74 61 72 67 chive();.$res.=.$zip->open($targ
98a20 65 74 2c 20 5a 69 70 41 72 63 68 69 76 65 3a 3a 43 52 45 41 54 45 29 3b 0a 69 66 20 28 24 72 65 et,.ZipArchive::CREATE);.if.($re
98a40 73 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 24 66 69 6c 65 73 20 3d 20 6e 65 77 20 41 72 63 68 69 s.===.true).{.$files.=.new.Archi
98a60 76 61 62 6c 65 46 69 6c 65 73 46 69 6e 64 65 72 28 24 73 6f 75 72 63 65 73 2c 20 24 65 78 63 6c vableFilesFinder($sources,.$excl
98a80 75 64 65 73 2c 20 24 69 67 6e 6f 72 65 46 69 6c 74 65 72 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 udes,.$ignoreFilters);.foreach.(
98aa0 24 66 69 6c 65 73 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 0a 24 66 69 6c 65 70 61 74 68 20 3d 20 $files.as.$file).{..$filepath.=.
98ac0 73 74 72 74 72 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 28 29 2e 22 2f 22 2e 24 66 69 6c 65 strtr($file->getPath()."/".$file
98ae0 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 24 6c 6f ->getFilename(),.'\\',.'/');.$lo
98b00 63 61 6c 6e 61 6d 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 24 73 6f 75 72 63 65 73 2e 27 calname.=.str_replace($sources.'
98b20 2f 27 2c 20 27 27 2c 20 24 66 69 6c 65 70 61 74 68 29 3b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 69 /',.'',.$filepath);.if.($file->i
98b40 73 44 69 72 28 29 29 20 7b 0a 24 7a 69 70 2d 3e 61 64 64 45 6d 70 74 79 44 69 72 28 24 6c 6f 63 sDir()).{.$zip->addEmptyDir($loc
98b60 61 6c 6e 61 6d 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 7a 69 70 2d 3e 61 64 64 46 69 6c 65 28 alname);.}.else.{.$zip->addFile(
98b80 24 66 69 6c 65 70 61 74 68 2c 20 24 6c 6f 63 61 6c 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a 69 66 20 28 $filepath,.$localname);.}.}.if.(
98ba0 24 7a 69 70 2d 3e 63 6c 6f 73 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 61 72 67 65 74 3b $zip->close()).{.return.$target;
98bc0 0a 7d 0a 7d 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 22 43 6f 75 6c 64 20 .}.}.$message.=.sprintf(."Could.
98be0 6e 6f 74 20 63 72 65 61 74 65 20 61 72 63 68 69 76 65 20 27 25 73 27 20 66 72 6f 6d 20 27 25 73 not.create.archive.'%s'.from.'%s
98c00 27 3a 20 25 73 22 2c 0a 24 74 61 72 67 65 74 2c 0a 24 73 6f 75 72 63 65 73 2c 0a 24 7a 69 70 2d ':.%s",.$target,.$sources,.$zip-
98c20 3e 67 65 74 53 74 61 74 75 73 53 74 72 69 6e 67 28 29 0a 29 3b 0a 74 68 72 6f 77 20 6e 65 77 20 >getStatusString().);.throw.new.
98c40 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a \RuntimeException($message);.}..
98c60 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 24 66 6f 72 ...public.function.supports($for
98c80 6d 61 74 2c 20 24 73 6f 75 72 63 65 54 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 mat,.$sourceType).{.return.isset
98ca0 28 73 74 61 74 69 63 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 66 6f 72 6d 61 74 5d 29 20 26 26 20 24 (static::$formats[$format]).&&.$
98cc0 74 68 69 73 2d 3e 63 6f 6d 70 72 65 73 73 69 6f 6e 41 76 61 69 6c 61 62 6c 65 28 29 3b 0a 7d 0a this->compressionAvailable();.}.
98ce0 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 72 65 73 73 69 6f 6e 41 76 61 .private.function.compressionAva
98d00 69 6c 61 62 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 ilable().{.return.class_exists('
98d20 5a 69 70 41 72 63 68 69 76 65 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ZipArchive');.}.}.<?php.........
98d40 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a ...namespace.Composer\Package;..
98d60 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f use.Composer\Repository\Reposito
98d80 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 ryInterface;.use.Composer\Reposi
98da0 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 61 tory\PlatformRepository;.......a
98dc0 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 42 61 73 65 50 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d bstract.class.BasePackage.implem
98de0 65 6e 74 73 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 73 ents.PackageInterface.{.public.s
98e00 74 61 74 69 63 20 24 73 75 70 70 6f 72 74 65 64 4c 69 6e 6b 54 79 70 65 73 20 3d 20 61 72 72 61 tatic.$supportedLinkTypes.=.arra
98e20 79 28 0a 27 72 65 71 75 69 72 65 27 20 3d 3e 20 61 72 72 61 79 28 27 64 65 73 63 72 69 70 74 69 y(.'require'.=>.array('descripti
98e40 6f 6e 27 20 3d 3e 20 27 72 65 71 75 69 72 65 73 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 on'.=>.'requires',.'method'.=>.'
98e60 72 65 71 75 69 72 65 73 27 29 2c 0a 27 63 6f 6e 66 6c 69 63 74 27 20 3d 3e 20 61 72 72 61 79 28 requires'),.'conflict'.=>.array(
98e80 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 27 63 6f 6e 66 6c 69 63 74 73 27 2c 20 27 6d 'description'.=>.'conflicts',.'m
98ea0 65 74 68 6f 64 27 20 3d 3e 20 27 63 6f 6e 66 6c 69 63 74 73 27 29 2c 0a 27 70 72 6f 76 69 64 65 ethod'.=>.'conflicts'),.'provide
98ec0 27 20 3d 3e 20 61 72 72 61 79 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 27 70 72 6f '.=>.array('description'.=>.'pro
98ee0 76 69 64 65 73 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 70 72 6f 76 69 64 65 73 27 29 2c vides',.'method'.=>.'provides'),
98f00 0a 27 72 65 70 6c 61 63 65 27 20 3d 3e 20 61 72 72 61 79 28 27 64 65 73 63 72 69 70 74 69 6f 6e .'replace'.=>.array('description
98f20 27 20 3d 3e 20 27 72 65 70 6c 61 63 65 73 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 72 65 '.=>.'replaces',.'method'.=>.'re
98f40 70 6c 61 63 65 73 27 29 2c 0a 27 72 65 71 75 69 72 65 2d 64 65 76 27 20 3d 3e 20 61 72 72 61 79 places'),.'require-dev'.=>.array
98f60 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 27 72 65 71 75 69 72 65 73 20 28 66 6f 72 ('description'.=>.'requires.(for
98f80 20 64 65 76 65 6c 6f 70 6d 65 6e 74 29 27 2c 20 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 64 65 76 .development)',.'method'.=>.'dev
98fa0 52 65 71 75 69 72 65 73 27 29 2c 0a 29 3b 0a 0a 63 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 59 5f Requires'),.);..const.STABILITY_
98fc0 53 54 41 42 4c 45 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 59 5f 52 43 20 3d STABLE.=.0;.const.STABILITY_RC.=
98fe0 20 35 3b 0a 63 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 59 5f 42 45 54 41 20 3d 20 31 30 3b 0a 63 .5;.const.STABILITY_BETA.=.10;.c
99000 6f 6e 73 74 20 53 54 41 42 49 4c 49 54 59 5f 41 4c 50 48 41 20 3d 20 31 35 3b 0a 63 6f 6e 73 74 onst.STABILITY_ALPHA.=.15;.const
99020 20 53 54 41 42 49 4c 49 54 59 5f 44 45 56 20 3d 20 32 30 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 .STABILITY_DEV.=.20;..public.sta
99040 74 69 63 20 24 73 74 61 62 69 6c 69 74 69 65 73 20 3d 20 61 72 72 61 79 28 0a 27 73 74 61 62 6c tic.$stabilities.=.array(.'stabl
99060 65 27 20 3d 3e 20 73 65 6c 66 3a 3a 53 54 41 42 49 4c 49 54 59 5f 53 54 41 42 4c 45 2c 0a 27 52 e'.=>.self::STABILITY_STABLE,.'R
99080 43 27 20 3d 3e 20 73 65 6c 66 3a 3a 53 54 41 42 49 4c 49 54 59 5f 52 43 2c 0a 27 62 65 74 61 27 C'.=>.self::STABILITY_RC,.'beta'
990a0 20 3d 3e 20 73 65 6c 66 3a 3a 53 54 41 42 49 4c 49 54 59 5f 42 45 54 41 2c 0a 27 61 6c 70 68 61 .=>.self::STABILITY_BETA,.'alpha
990c0 27 20 3d 3e 20 73 65 6c 66 3a 3a 53 54 41 42 49 4c 49 54 59 5f 41 4c 50 48 41 2c 0a 27 64 65 76 '.=>.self::STABILITY_ALPHA,.'dev
990e0 27 20 3d 3e 20 73 65 6c 66 3a 3a 53 54 41 42 49 4c 49 54 59 5f 44 45 56 2c 0a 29 3b 0a 0a 0a 0a '.=>.self::STABILITY_DEV,.);....
99100 0a 0a 70 75 62 6c 69 63 20 24 69 64 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 61 6d 65 3b 0a ..public.$id;..protected.$name;.
99120 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 4e 61 6d 65 3b 0a 0a 70 72 6f 74 65 63 74 .protected.$prettyName;..protect
99140 65 64 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 74 72 61 6e ed.$repository;..protected.$tran
99160 73 70 6f 72 74 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 sportOptions.=.array();.......pu
99180 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 29 blic.function.__construct($name)
991a0 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 4e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 .{.$this->prettyName.=.$name;.$t
991c0 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 24 his->name.=.strtolower($name);.$
991e0 74 68 69 73 2d 3e 69 64 20 3d 20 2d 31 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 this->id.=.-1;.}.....public.func
99200 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e tion.getName().{.return.$this->n
99220 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 ame;.}.....public.function.getPr
99240 65 74 74 79 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 ettyName().{.return.$this->prett
99260 79 4e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 yName;.}.....public.function.get
99280 4e 61 6d 65 73 28 29 0a 7b 0a 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 0a 24 74 68 69 73 2d Names().{.$names.=.array(.$this-
992a0 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3e 20 74 72 75 65 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 >getName().=>.true,.);..foreach.
992c0 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 76 69 64 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 ($this->getProvides().as.$link).
992e0 7b 0a 24 6e 61 6d 65 73 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 74 {.$names[$link->getTarget()].=.t
99300 72 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6c 61 rue;.}..foreach.($this->getRepla
99320 63 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 6e 61 6d 65 73 5b 24 6c 69 6e 6b 2d 3e ces().as.$link).{.$names[$link->
99340 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 getTarget()].=.true;.}..return.a
99360 72 72 61 79 5f 6b 65 79 73 28 24 6e 61 6d 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 rray_keys($names);.}.....public.
99380 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 64 28 24 69 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 64 20 function.setId($id).{.$this->id.
993a0 3d 20 24 69 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 =.$id;.}.....public.function.get
993c0 49 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 64 3b 0a 7d 0a 0a 0a 0a 0a 70 Id().{.return.$this->id;.}.....p
993e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 ublic.function.setRepository(Rep
99400 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a ositoryInterface.$repository).{.
99420 69 66 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 26 26 20 24 72 65 70 6f 73 69 if.($this->repository.&&.$reposi
99440 74 6f 72 79 20 21 3d 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 74 68 tory.!==.$this->repository).{.th
99460 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 41 20 70 61 63 6b 61 row.new.\LogicException('A.packa
99480 67 65 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 61 64 64 65 64 20 74 6f 20 6f 6e 65 20 72 65 70 6f ge.can.only.be.added.to.one.repo
994a0 73 69 74 6f 72 79 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 sitory');.}.$this->repository.=.
994c0 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 $repository;.}.....public.functi
994e0 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 on.getRepository().{.return.$thi
99500 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s->repository;.}.....public.func
99520 74 69 6f 6e 20 67 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 0a 7b 0a 72 65 74 tion.getTransportOptions().{.ret
99540 75 72 6e 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a urn.$this->transportOptions;.}..
99560 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 72 61 6e 73 70 6f 72 .....public.function.setTranspor
99580 74 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 tOptions(array.$options).{.$this
995a0 2d 3e 74 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 20 3d 20 24 6f 70 74 69 6f 6e 73 3b 0a 7d ->transportOptions.=.$options;.}
995c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 6c 61 74 66 6f 72 .......public.function.isPlatfor
995e0 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 m().{.return.$this->getRepositor
99600 79 28 29 20 69 6e 73 74 61 6e 63 65 6f 66 20 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 y().instanceof.PlatformRepositor
99620 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 6e y;.}.......public.function.getUn
99640 69 71 75 65 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 iqueName().{.return.$this->getNa
99660 6d 65 28 29 2e 27 2d 27 2e 24 74 68 69 73 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a me().'-'.$this->getVersion();.}.
99680 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 71 75 61 6c 73 28 50 61 63 6b 61 67 65 49 .public.function.equals(PackageI
996a0 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 73 65 6c 66 20 3d 20 24 74 68 nterface.$package).{.$self.=.$th
996c0 69 73 3b 0a 69 66 20 28 24 74 68 69 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 is;.if.($this.instanceof.AliasPa
996e0 63 6b 61 67 65 29 20 7b 0a 24 73 65 6c 66 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 6c 69 61 73 ckage).{.$self.=.$this->getAlias
99700 4f 66 28 29 3b 0a 7d 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 Of();.}.if.($package.instanceof.
99720 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b AliasPackage).{.$package.=.$pack
99740 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 age->getAliasOf();.}..return.$pa
99760 63 6b 61 67 65 20 3d 3d 3d 20 24 73 65 6c 66 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ckage.===.$self;.}.......public.
99780 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 function.__toString().{.return.$
997a0 74 68 69 73 2d 3e 67 65 74 55 6e 69 71 75 65 4e 61 6d 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 this->getUniqueName();.}..public
997c0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 .function.getPrettyString().{.re
997e0 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 20 27 2e turn.$this->getPrettyName().'.'.
99800 24 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 0a $this->getPrettyVersion();.}....
99820 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 .public.function.getFullPrettyVe
99840 72 73 69 6f 6e 28 24 74 72 75 6e 63 61 74 65 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 21 24 rsion($truncate.=.true).{.if.(!$
99860 74 68 69 73 2d 3e 69 73 44 65 76 28 29 20 7c 7c 20 21 69 6e 5f 61 72 72 61 79 28 24 74 68 69 73 this->isDev().||.!in_array($this
99880 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 2c 20 61 72 72 61 79 28 27 68 67 27 2c 20 27 ->getSourceType(),.array('hg',.'
998a0 67 69 74 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 git'))).{.return.$this->getPrett
998c0 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 72 75 6e 63 61 74 65 20 26 yVersion();.}....if.($truncate.&
998e0 26 20 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e &.strlen($this->getSourceReferen
99900 63 65 28 29 29 20 3d 3d 3d 20 34 30 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 ce()).===.40).{.return.$this->ge
99920 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 20 2e 20 27 20 27 20 2e 20 73 75 62 73 74 72 28 tPrettyVersion()...'.'...substr(
99940 24 74 68 69 73 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 2c 20 30 2c 20 $this->getSourceReference(),.0,.
99960 37 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 65 74 74 79 56 65 7);.}..return.$this->getPrettyVe
99980 72 73 69 6f 6e 28 29 20 2e 20 27 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 53 6f 75 72 63 65 rsion()...'.'...$this->getSource
999a0 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 Reference();.}..public.function.
999c0 67 65 74 53 74 61 62 69 6c 69 74 79 50 72 69 6f 72 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 getStabilityPriority().{.return.
999e0 73 65 6c 66 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 74 68 69 73 2d 3e 67 65 74 53 74 61 self::$stabilities[$this->getSta
99a00 62 69 6c 69 74 79 28 29 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f bility()];.}..public.function.__
99a20 63 6c 6f 6e 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 6e 75 clone().{.$this->repository.=.nu
99a40 6c 6c 3b 0a 24 74 68 69 73 2d 3e 69 64 20 3d 20 2d 31 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ll;.$this->id.=.-1;.}.........pu
99a60 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 63 6b 61 67 65 4e 61 6d 65 blic.static.function.packageName
99a80 54 6f 52 65 67 65 78 70 28 24 77 68 69 74 65 4c 69 73 74 65 64 50 61 74 74 65 72 6e 2c 20 24 77 ToRegexp($whiteListedPattern,.$w
99aa0 72 61 70 20 3d 20 27 7b 5e 25 73 24 7d 69 27 29 0a 7b 0a 24 63 6c 65 61 6e 65 64 57 68 69 74 65 rap.=.'{^%s$}i').{.$cleanedWhite
99ac0 4c 69 73 74 65 64 50 61 74 74 65 72 6e 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 2a ListedPattern.=.str_replace('\\*
99ae0 27 2c 20 27 2e 2a 27 2c 20 70 72 65 67 5f 71 75 6f 74 65 28 24 77 68 69 74 65 4c 69 73 74 65 64 ',.'.*',.preg_quote($whiteListed
99b00 50 61 74 74 65 72 6e 29 29 3b 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 24 77 72 61 70 Pattern));..return.sprintf($wrap
99b20 2c 20 24 63 6c 65 61 6e 65 64 57 68 69 74 65 4c 69 73 74 65 64 50 61 74 74 65 72 6e 29 3b 0a 7d ,.$cleanedWhiteListedPattern);.}
99b40 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f .}.<?php............namespace.Co
99b60 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 61 72 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 mposer\Package\Comparer;.......c
99b80 6c 61 73 73 20 43 6f 6d 70 61 72 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 6f 75 72 63 65 3b lass.Comparer.{.private.$source;
99ba0 0a 70 72 69 76 61 74 65 20 24 75 70 64 61 74 65 3b 0a 70 72 69 76 61 74 65 20 24 63 68 61 6e 67 .private.$update;.private.$chang
99bc0 65 64 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 28 24 ed;..public.function.setSource($
99be0 73 6f 75 72 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 20 3d 20 24 73 6f 75 72 63 source).{.$this->source.=.$sourc
99c00 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 70 64 61 74 65 28 e;.}..public.function.setUpdate(
99c20 24 75 70 64 61 74 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 20 3d 20 24 75 70 64 61 $update).{.$this->update.=.$upda
99c40 74 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 te;.}..public.function.getChange
99c60 64 28 24 74 6f 53 74 72 69 6e 67 20 3d 20 66 61 6c 73 65 2c 20 24 65 78 70 6c 69 63 61 74 65 64 d($toString.=.false,.$explicated
99c80 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 63 68 61 6e 67 65 64 20 3d 20 24 74 68 69 73 2d 3e 63 68 .=.false).{.$changed.=.$this->ch
99ca0 61 6e 67 65 64 3b 0a 69 66 20 28 21 63 6f 75 6e 74 28 24 63 68 61 6e 67 65 64 29 29 20 7b 0a 72 anged;.if.(!count($changed)).{.r
99cc0 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 24 65 78 70 6c 69 63 61 74 65 64 29 20 eturn.false;.}.if.($explicated).
99ce0 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 68 61 6e 67 65 64 20 61 73 20 24 73 65 63 74 69 6f 6e 4b {.foreach.($changed.as.$sectionK
99d00 65 79 20 3d 3e 20 24 69 74 65 6d 53 65 63 74 69 6f 6e 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 ey.=>.$itemSection).{.foreach.($
99d20 69 74 65 6d 53 65 63 74 69 6f 6e 20 61 73 20 24 69 74 65 6d 4b 65 79 20 3d 3e 20 24 69 74 65 6d itemSection.as.$itemKey.=>.$item
99d40 29 20 7b 0a 24 63 68 61 6e 67 65 64 5b 24 73 65 63 74 69 6f 6e 4b 65 79 5d 5b 24 69 74 65 6d 4b ).{.$changed[$sectionKey][$itemK
99d60 65 79 5d 20 3d 20 24 69 74 65 6d 2e 27 20 28 27 2e 24 73 65 63 74 69 6f 6e 4b 65 79 2e 27 29 27 ey].=.$item.'.('.$sectionKey.')'
99d80 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 6f 53 74 72 69 6e 67 29 20 7b 0a 66 6f 72 65 61 63 ;.}.}.}..if.($toString).{.foreac
99da0 68 20 28 24 63 68 61 6e 67 65 64 20 61 73 20 24 73 65 63 74 69 6f 6e 4b 65 79 20 3d 3e 20 24 69 h.($changed.as.$sectionKey.=>.$i
99dc0 74 65 6d 53 65 63 74 69 6f 6e 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 69 74 65 6d 53 65 63 74 temSection).{.foreach.($itemSect
99de0 69 6f 6e 20 61 73 20 24 69 74 65 6d 4b 65 79 20 3d 3e 20 24 69 74 65 6d 29 20 7b 0a 24 63 68 61 ion.as.$itemKey.=>.$item).{.$cha
99e00 6e 67 65 64 5b 27 73 74 72 69 6e 67 27 5d 5b 5d 20 3d 20 24 69 74 65 6d 2e 22 5c 72 5c 6e 22 3b nged['string'][].=.$item."\r\n";
99e20 0a 7d 0a 7d 0a 24 63 68 61 6e 67 65 64 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 72 5c 6e 22 2c 20 .}.}.$changed.=.implode("\r\n",.
99e40 24 63 68 61 6e 67 65 64 5b 27 73 74 72 69 6e 67 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 $changed['string']);.}..return.$
99e60 63 68 61 6e 67 65 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 43 6f changed;.}..public.function.doCo
99e80 6d 70 61 72 65 28 29 0a 7b 0a 24 73 6f 75 72 63 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 65 mpare().{.$source.=.array();.$de
99ea0 73 74 69 6e 61 74 69 6f 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 63 68 61 6e stination.=.array();.$this->chan
99ec0 67 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 63 75 72 72 65 6e 74 44 69 72 65 63 74 6f 72 79 ged.=.array();.$currentDirectory
99ee0 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 63 68 64 69 72 28 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 .=.getcwd();.chdir($this->source
99f00 29 3b 0a 24 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 64 6f 54 72 65 65 28 27 2e 27 2c 20 );.$source.=.$this->doTree('.',.
99f20 24 73 6f 75 72 63 65 29 3b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 73 6f 75 72 63 65 29 $source);.if.(!is_array($source)
99f40 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 63 68 64 69 72 28 24 63 75 72 72 65 6e 74 44 69 72 65 ).{.return;.}.chdir($currentDire
99f60 63 74 6f 72 79 29 3b 0a 63 68 64 69 72 28 24 74 68 69 73 2d 3e 75 70 64 61 74 65 29 3b 0a 24 64 ctory);.chdir($this->update);.$d
99f80 65 73 74 69 6e 61 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 6f 54 72 65 65 28 27 2e 27 2c 20 estination.=.$this->doTree('.',.
99fa0 24 64 65 73 74 69 6e 61 74 69 6f 6e 29 3b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 65 $destination);.if.(!is_array($de
99fc0 73 74 69 6e 61 74 69 6f 6e 29 29 20 7b 0a 65 78 69 74 3b 0a 7d 0a 63 68 64 69 72 28 24 63 75 72 stination)).{.exit;.}.chdir($cur
99fe0 72 65 6e 74 44 69 72 65 63 74 6f 72 79 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 6f 75 72 63 65 rentDirectory);.foreach.($source
9a000 20 61 73 20 24 64 69 72 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 .as.$dir.=>.$value).{.foreach.($
9a020 76 61 6c 75 65 20 61 73 20 24 66 69 6c 65 20 3d 3e 20 24 68 61 73 68 29 20 7b 0a 69 66 20 28 69 value.as.$file.=>.$hash).{.if.(i
9a040 73 73 65 74 28 24 64 65 73 74 69 6e 61 74 69 6f 6e 5b 24 64 69 72 5d 5b 24 66 69 6c 65 5d 29 29 sset($destination[$dir][$file]))
9a060 20 7b 0a 69 66 20 28 24 68 61 73 68 20 21 3d 3d 20 24 64 65 73 74 69 6e 61 74 69 6f 6e 5b 24 64 .{.if.($hash.!==.$destination[$d
9a080 69 72 5d 5b 24 66 69 6c 65 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 67 65 64 5b 27 63 68 ir][$file]).{.$this->changed['ch
9a0a0 61 6e 67 65 64 27 5d 5b 5d 20 3d 20 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 3b 0a 7d 0a 7d 20 anged'][].=.$dir.'/'.$file;.}.}.
9a0c0 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 67 65 64 5b 27 72 65 6d 6f 76 65 64 27 5d else.{.$this->changed['removed']
9a0e0 5b 5d 20 3d 20 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 7d 0a 66 6f 72 65 61 [].=.$dir.'/'.$file;.}.}.}.forea
9a100 63 68 20 28 24 64 65 73 74 69 6e 61 74 69 6f 6e 20 61 73 20 24 64 69 72 20 3d 3e 20 24 76 61 6c ch.($destination.as.$dir.=>.$val
9a120 75 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 20 61 73 20 24 66 69 6c 65 20 3d ue).{.foreach.($value.as.$file.=
9a140 3e 20 24 68 61 73 68 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 73 6f 75 72 63 65 5b 24 64 >.$hash).{.if.(!isset($source[$d
9a160 69 72 5d 5b 24 66 69 6c 65 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 67 65 64 5b 27 61 ir][$file])).{.$this->changed['a
9a180 64 64 65 64 27 5d 5b 5d 20 3d 20 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 7d dded'][].=.$dir.'/'.$file;.}.}.}
9a1a0 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 54 72 65 65 28 24 64 69 72 .}..private.function.doTree($dir
9a1c0 2c 20 26 24 61 72 72 61 79 29 0a 7b 0a 69 66 20 28 24 64 68 20 3d 20 6f 70 65 6e 64 69 72 28 24 ,.&$array).{.if.($dh.=.opendir($
9a1e0 64 69 72 29 29 20 7b 0a 77 68 69 6c 65 20 28 24 66 69 6c 65 20 3d 20 72 65 61 64 64 69 72 28 24 dir)).{.while.($file.=.readdir($
9a200 64 68 29 29 20 7b 0a 69 66 20 28 24 66 69 6c 65 20 21 3d 3d 20 27 2e 27 20 26 26 20 24 66 69 6c dh)).{.if.($file.!==.'.'.&&.$fil
9a220 65 20 21 3d 3d 20 27 2e 2e 27 29 20 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 64 69 72 2e 27 2f e.!==.'..').{.if.(is_dir($dir.'/
9a240 27 2e 24 66 69 6c 65 29 29 20 7b 0a 69 66 20 28 21 63 6f 75 6e 74 28 24 61 72 72 61 79 29 29 20 '.$file)).{.if.(!count($array)).
9a260 7b 0a 24 61 72 72 61 79 5b 30 5d 20 3d 20 27 54 65 6d 70 27 3b 0a 7d 0a 69 66 20 28 21 24 74 68 {.$array[0].=.'Temp';.}.if.(!$th
9a280 69 73 2d 3e 64 6f 54 72 65 65 28 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 2c 20 24 61 72 72 61 is->doTree($dir.'/'.$file,.$arra
9a2a0 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 y)).{.return.false;.}.}.else.{.i
9a2c0 66 20 28 66 69 6c 65 73 69 7a 65 28 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 29 29 20 7b 0a 73 f.(filesize($dir.'/'.$file)).{.s
9a2e0 65 74 5f 74 69 6d 65 5f 6c 69 6d 69 74 28 33 30 29 3b 0a 24 61 72 72 61 79 5b 24 64 69 72 5d 5b et_time_limit(30);.$array[$dir][
9a300 24 66 69 6c 65 5d 20 3d 20 6d 64 35 5f 66 69 6c 65 28 24 64 69 72 2e 27 2f 27 2e 24 66 69 6c 65 $file].=.md5_file($dir.'/'.$file
9a320 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 69 66 20 28 63 6f 75 6e 74 28 24 61 72 72 61 79 29 20 3e 20 31 );.}.}.}.}.if.(count($array).>.1
9a340 20 26 26 20 69 73 73 65 74 28 24 61 72 72 61 79 5b 27 30 27 5d 29 29 20 7b 0a 75 6e 73 65 74 28 .&&.isset($array['0'])).{.unset(
9a360 24 61 72 72 61 79 5b 27 30 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 72 72 61 79 3b 0a $array['0']);.}..return.$array;.
9a380 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a }..return.false;.}.}.<?php......
9a3a0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 ......namespace.Composer\Package
9a3c0 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 20 65 78 ;.......class.CompletePackage.ex
9a3e0 74 65 6e 64 73 20 50 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6d 70 6c 65 74 tends.Package.implements.Complet
9a400 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 ePackageInterface.{.protected.$r
9a420 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 69 63 65 6e 73 65 20 epositories;.protected.$license.
9a440 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6b 65 79 77 6f 72 64 73 3b 0a =.array();.protected.$keywords;.
9a460 70 72 6f 74 65 63 74 65 64 20 24 61 75 74 68 6f 72 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 protected.$authors;.protected.$d
9a480 65 73 63 72 69 70 74 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 68 6f 6d 65 70 61 67 65 3b escription;.protected.$homepage;
9a4a0 0a 70 72 6f 74 65 63 74 65 64 20 24 73 63 72 69 70 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 .protected.$scripts.=.array();.p
9a4c0 72 6f 74 65 63 74 65 64 20 24 73 75 70 70 6f 72 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f rotected.$support.=.array();.pro
9a4e0 74 65 63 74 65 64 20 24 61 62 61 6e 64 6f 6e 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 tected.$abandoned.=.false;.....p
9a500 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 63 72 69 70 74 73 28 61 72 72 61 79 20 ublic.function.setScripts(array.
9a520 24 73 63 72 69 70 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 63 72 69 70 74 73 20 3d 20 24 73 63 $scripts).{.$this->scripts.=.$sc
9a540 72 69 70 74 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ripts;.}.....public.function.get
9a560 53 63 72 69 70 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 72 69 70 74 Scripts().{.return.$this->script
9a580 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 s;.}.......public.function.setRe
9a5a0 70 6f 73 69 74 6f 72 69 65 73 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 0a 7b 0a 24 74 68 69 positories($repositories).{.$thi
9a5c0 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 3b s->repositories.=.$repositories;
9a5e0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 .}.....public.function.getReposi
9a600 74 6f 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 tories().{.return.$this->reposit
9a620 6f 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ories;.}.......public.function.s
9a640 65 74 4c 69 63 65 6e 73 65 28 61 72 72 61 79 20 24 6c 69 63 65 6e 73 65 29 0a 7b 0a 24 74 68 69 etLicense(array.$license).{.$thi
9a660 73 2d 3e 6c 69 63 65 6e 73 65 20 3d 20 24 6c 69 63 65 6e 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 s->license.=.$license;.}.....pub
9a680 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 28 29 0a 7b 0a 72 65 74 75 lic.function.getLicense().{.retu
9a6a0 72 6e 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 rn.$this->license;.}.......publi
9a6c0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4b 65 79 77 6f 72 64 73 28 61 72 72 61 79 20 24 6b 65 c.function.setKeywords(array.$ke
9a6e0 79 77 6f 72 64 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6b 65 79 77 6f 72 64 73 20 3d 20 24 6b 65 79 ywords).{.$this->keywords.=.$key
9a700 77 6f 72 64 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 words;.}.....public.function.get
9a720 4b 65 79 77 6f 72 64 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6b 65 79 77 6f Keywords().{.return.$this->keywo
9a740 72 64 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 rds;.}.......public.function.set
9a760 41 75 74 68 6f 72 73 28 61 72 72 61 79 20 24 61 75 74 68 6f 72 73 29 0a 7b 0a 24 74 68 69 73 2d Authors(array.$authors).{.$this-
9a780 3e 61 75 74 68 6f 72 73 20 3d 20 24 61 75 74 68 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 >authors.=.$authors;.}.....publi
9a7a0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e c.function.getAuthors().{.return
9a7c0 20 24 74 68 69 73 2d 3e 61 75 74 68 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .$this->authors;.}.......public.
9a7e0 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 64 65 73 63 72 69 70 function.setDescription($descrip
9a800 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 65 tion).{.$this->description.=.$de
9a820 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e scription;.}.....public.function
9a840 20 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 .getDescription().{.return.$this
9a860 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ->description;.}.......public.fu
9a880 6e 63 74 69 6f 6e 20 73 65 74 48 6f 6d 65 70 61 67 65 28 24 68 6f 6d 65 70 61 67 65 29 0a 7b 0a nction.setHomepage($homepage).{.
9a8a0 24 74 68 69 73 2d 3e 68 6f 6d 65 70 61 67 65 20 3d 20 24 68 6f 6d 65 70 61 67 65 3b 0a 7d 0a 0a $this->homepage.=.$homepage;.}..
9a8c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 6f 6d 65 70 61 67 65 28 29 ...public.function.getHomepage()
9a8e0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 6f 6d 65 70 61 67 65 3b 0a 7d 0a 0a 0a 0a .{.return.$this->homepage;.}....
9a900 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 70 70 6f 72 74 28 61 72 ...public.function.setSupport(ar
9a920 72 61 79 20 24 73 75 70 70 6f 72 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 70 70 6f 72 74 20 3d ray.$support).{.$this->support.=
9a940 20 24 73 75 70 70 6f 72 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$support;.}.....public.function
9a960 20 67 65 74 53 75 70 70 6f 72 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 75 .getSupport().{.return.$this->su
9a980 70 70 6f 72 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 pport;.}.....public.function.isA
9a9a0 62 61 6e 64 6f 6e 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 bandoned().{.return.(bool).$this
9a9c0 2d 3e 61 62 61 6e 64 6f 6e 65 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ->abandoned;.}.....public.functi
9a9e0 6f 6e 20 73 65 74 41 62 61 6e 64 6f 6e 65 64 28 24 61 62 61 6e 64 6f 6e 65 64 29 0a 7b 0a 24 74 on.setAbandoned($abandoned).{.$t
9aa00 68 69 73 2d 3e 61 62 61 6e 64 6f 6e 65 64 20 3d 20 24 61 62 61 6e 64 6f 6e 65 64 3b 0a 7d 0a 0a his->abandoned.=.$abandoned;.}..
9aa20 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6c 61 63 65 6d .....public.function.getReplacem
9aa40 65 6e 74 50 61 63 6b 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 5f 73 74 72 69 6e 67 28 entPackage().{.return.is_string(
9aa60 24 74 68 69 73 2d 3e 61 62 61 6e 64 6f 6e 65 64 29 20 3f 20 24 74 68 69 73 2d 3e 61 62 61 6e 64 $this->abandoned).?.$this->aband
9aa80 6f 6e 65 64 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a oned.:.null;.}.}.<?php..........
9aaa0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 0a ..namespace.Composer\Package;...
9aac0 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 ....interface.CompletePackageInt
9aae0 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a erface.extends.PackageInterface.
9ab00 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 72 69 70 74 {......public.function.getScript
9ab20 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 s();.........public.function.get
9ab40 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e Repositories();.......public.fun
9ab60 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ction.getLicense();.......public
9ab80 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4b 65 79 77 6f 72 64 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 .function.getKeywords();.......p
9aba0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 3b ublic.function.getDescription();
9abc0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 6f 6d 65 70 61 .......public.function.getHomepa
9abe0 67 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ge();.........public.function.ge
9ac00 74 41 75 74 68 6f 72 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f tAuthors();.......public.functio
9ac20 6e 20 67 65 74 53 75 70 70 6f 72 74 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e n.getSupport();.......public.fun
9ac40 63 74 69 6f 6e 20 69 73 41 62 61 6e 64 6f 6e 65 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ction.isAbandoned();.......publi
9ac60 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 c.function.getReplacementPackage
9ac80 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ();.}.<?php............namespace
9aca0 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 3b 0a 0a 75 73 65 20 43 .Composer\Package\Dumper;..use.C
9acc0 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 omposer\Package\BasePackage;.use
9ace0 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 .Composer\Package\PackageInterfa
9ad00 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 ce;.use.Composer\Package\Complet
9ad20 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c ePackageInterface;.use.Composer\
9ad40 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a Package\RootPackageInterface;...
9ad60 0a 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 44 75 6d 70 65 72 0a 7b 0a 70 75 62 6c 69 63 20 66 75 ...class.ArrayDumper.{.public.fu
9ad80 6e 63 74 69 6f 6e 20 64 75 6d 70 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 nction.dump(PackageInterface.$pa
9ada0 63 6b 61 67 65 29 0a 7b 0a 24 6b 65 79 73 20 3d 20 61 72 72 61 79 28 0a 27 62 69 6e 61 72 69 65 ckage).{.$keys.=.array(.'binarie
9adc0 73 27 20 3d 3e 20 27 62 69 6e 27 2c 0a 27 74 79 70 65 27 2c 0a 27 65 78 74 72 61 27 2c 0a 27 69 s'.=>.'bin',.'type',.'extra',.'i
9ade0 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 27 20 3d 3e 20 27 69 6e 73 74 61 6c 6c 61 74 nstallationSource'.=>.'installat
9ae00 69 6f 6e 2d 73 6f 75 72 63 65 27 2c 0a 27 61 75 74 6f 6c 6f 61 64 27 2c 0a 27 64 65 76 41 75 74 ion-source',.'autoload',.'devAut
9ae20 6f 6c 6f 61 64 27 20 3d 3e 20 27 61 75 74 6f 6c 6f 61 64 2d 64 65 76 27 2c 0a 27 6e 6f 74 69 66 oload'.=>.'autoload-dev',.'notif
9ae40 69 63 61 74 69 6f 6e 55 72 6c 27 20 3d 3e 20 27 6e 6f 74 69 66 69 63 61 74 69 6f 6e 2d 75 72 6c icationUrl'.=>.'notification-url
9ae60 27 2c 0a 27 69 6e 63 6c 75 64 65 50 61 74 68 73 27 20 3d 3e 20 27 69 6e 63 6c 75 64 65 2d 70 61 ',.'includePaths'.=>.'include-pa
9ae80 74 68 27 2c 0a 29 3b 0a 0a 24 64 61 74 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 61 74 61 5b th',.);..$data.=.array();.$data[
9aea0 27 6e 61 6d 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 4e 61 6d 'name'].=.$package->getPrettyNam
9aec0 65 28 29 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 e();.$data['version'].=.$package
9aee0 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 24 64 61 74 61 5b 27 76 65 72 ->getPrettyVersion();.$data['ver
9af00 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 sion_normalized'].=.$package->ge
9af20 74 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 tVersion();..if.($package->getTa
9af40 72 67 65 74 44 69 72 28 29 29 20 7b 0a 24 64 61 74 61 5b 27 74 61 72 67 65 74 2d 64 69 72 27 5d rgetDir()).{.$data['target-dir']
9af60 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 61 72 67 65 74 44 69 72 28 29 3b 0a 7d 0a 0a .=.$package->getTargetDir();.}..
9af80 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 29 20 7b if.($package->getSourceType()).{
9afa0 0a 24 64 61 74 61 5b 27 73 6f 75 72 63 65 27 5d 5b 27 74 79 70 65 27 5d 20 3d 20 24 70 61 63 6b .$data['source']['type'].=.$pack
9afc0 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a 24 64 61 74 61 5b 27 73 6f 75 age->getSourceType();.$data['sou
9afe0 72 63 65 27 5d 5b 27 75 72 6c 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 rce']['url'].=.$package->getSour
9b000 63 65 55 72 6c 28 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 28 24 76 61 6c 75 65 20 3d 20 ceUrl();.if.(null.!==.($value.=.
9b020 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 29 29 $package->getSourceReference()))
9b040 20 7b 0a 24 64 61 74 61 5b 27 73 6f 75 72 63 65 27 5d 5b 27 72 65 66 65 72 65 6e 63 65 27 5d 20 .{.$data['source']['reference'].
9b060 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 69 66 20 28 24 6d 69 72 72 6f 72 73 20 3d 20 24 70 61 63 6b =.$value;.}.if.($mirrors.=.$pack
9b080 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 29 29 20 7b 0a 24 64 61 74 61 age->getSourceMirrors()).{.$data
9b0a0 5b 27 73 6f 75 72 63 65 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 20 3d 20 24 6d 69 72 72 6f 72 73 ['source']['mirrors'].=.$mirrors
9b0c0 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 ;.}.}..if.($package->getDistType
9b0e0 28 29 29 20 7b 0a 24 64 61 74 61 5b 27 64 69 73 74 27 5d 5b 27 74 79 70 65 27 5d 20 3d 20 24 70 ()).{.$data['dist']['type'].=.$p
9b100 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 24 64 61 74 61 5b 27 64 69 ackage->getDistType();.$data['di
9b120 73 74 27 5d 5b 27 75 72 6c 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 55 st']['url'].=.$package->getDistU
9b140 72 6c 28 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 28 24 76 61 6c 75 65 20 3d 20 24 70 61 rl();.if.(null.!==.($value.=.$pa
9b160 63 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 29 29 20 7b 0a 24 64 ckage->getDistReference())).{.$d
9b180 61 74 61 5b 27 64 69 73 74 27 5d 5b 27 72 65 66 65 72 65 6e 63 65 27 5d 20 3d 20 24 76 61 6c 75 ata['dist']['reference'].=.$valu
9b1a0 65 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 28 24 76 61 6c 75 65 20 3d 20 24 70 61 63 e;.}.if.(null.!==.($value.=.$pac
9b1c0 6b 61 67 65 2d 3e 67 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 29 29 20 7b 0a kage->getDistSha1Checksum())).{.
9b1e0 24 64 61 74 61 5b 27 64 69 73 74 27 5d 5b 27 73 68 61 73 75 6d 27 5d 20 3d 20 24 76 61 6c 75 65 $data['dist']['shasum'].=.$value
9b200 3b 0a 7d 0a 69 66 20 28 24 6d 69 72 72 6f 72 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 ;.}.if.($mirrors.=.$package->get
9b220 44 69 73 74 4d 69 72 72 6f 72 73 28 29 29 20 7b 0a 24 64 61 74 61 5b 27 64 69 73 74 27 5d 5b 27 DistMirrors()).{.$data['dist']['
9b240 6d 69 72 72 6f 72 73 27 5d 20 3d 20 24 6d 69 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 mirrors'].=.$mirrors;.}.}..if.($
9b260 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 29 20 7b package->getArchiveExcludes()).{
9b280 0a 24 64 61 74 61 5b 27 61 72 63 68 69 76 65 27 5d 5b 27 65 78 63 6c 75 64 65 27 5d 20 3d 20 24 .$data['archive']['exclude'].=.$
9b2a0 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 3b 0a 7d package->getArchiveExcludes();.}
9b2c0 0a 0a 66 6f 72 65 61 63 68 20 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 75 70 70 6f 72 74 ..foreach.(BasePackage::$support
9b2e0 65 64 4c 69 6e 6b 54 79 70 65 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6f 70 74 73 29 20 7b edLinkTypes.as.$type.=>.$opts).{
9b300 0a 69 66 20 28 24 6c 69 6e 6b 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 7b 27 67 65 74 27 2e 75 .if.($links.=.$package->{'get'.u
9b320 63 66 69 72 73 74 28 24 6f 70 74 73 5b 27 6d 65 74 68 6f 64 27 5d 29 7d 28 29 29 20 7b 0a 66 6f cfirst($opts['method'])}()).{.fo
9b340 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 64 61 74 61 5b reach.($links.as.$link).{.$data[
9b360 24 74 79 70 65 5d 5b 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 24 6c 69 $type][$link->getTarget()].=.$li
9b380 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 3b 0a 7d 0a 6b 73 6f nk->getPrettyConstraint();.}.kso
9b3a0 72 74 28 24 64 61 74 61 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b rt($data[$type]);.}.}..if.($pack
9b3c0 61 67 65 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 75 67 67 65 73 74 73 28 29 29 20 ages.=.$package->getSuggests()).
9b3e0 7b 0a 6b 73 6f 72 74 28 24 70 61 63 6b 61 67 65 73 29 3b 0a 24 64 61 74 61 5b 27 73 75 67 67 65 {.ksort($packages);.$data['sugge
9b400 73 74 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 st'].=.$packages;.}..if.($packag
9b420 65 2d 3e 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 29 20 7b 0a 24 64 61 74 61 5b 27 74 69 e->getReleaseDate()).{.$data['ti
9b440 6d 65 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 me'].=.$package->getReleaseDate(
9b460 29 2d 3e 66 6f 72 6d 61 74 28 44 41 54 45 5f 52 46 43 33 33 33 39 29 3b 0a 7d 0a 0a 24 64 61 74 )->format(DATE_RFC3339);.}..$dat
9b480 61 20 3d 20 24 74 68 69 73 2d 3e 64 75 6d 70 56 61 6c 75 65 73 28 24 70 61 63 6b 61 67 65 2c 20 a.=.$this->dumpValues($package,.
9b4a0 24 6b 65 79 73 2c 20 24 64 61 74 61 29 3b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 $keys,.$data);..if.($package.ins
9b4c0 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 tanceof.CompletePackageInterface
9b4e0 29 20 7b 0a 24 6b 65 79 73 20 3d 20 61 72 72 61 79 28 0a 27 73 63 72 69 70 74 73 27 2c 0a 27 6c ).{.$keys.=.array(.'scripts',.'l
9b500 69 63 65 6e 73 65 27 2c 0a 27 61 75 74 68 6f 72 73 27 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e icense',.'authors',.'description
9b520 27 2c 0a 27 68 6f 6d 65 70 61 67 65 27 2c 0a 27 6b 65 79 77 6f 72 64 73 27 2c 0a 27 72 65 70 6f ',.'homepage',.'keywords',.'repo
9b540 73 69 74 6f 72 69 65 73 27 2c 0a 27 73 75 70 70 6f 72 74 27 2c 0a 29 3b 0a 0a 24 64 61 74 61 20 sitories',.'support',.);..$data.
9b560 3d 20 24 74 68 69 73 2d 3e 64 75 6d 70 56 61 6c 75 65 73 28 24 70 61 63 6b 61 67 65 2c 20 24 6b =.$this->dumpValues($package,.$k
9b580 65 79 73 2c 20 24 64 61 74 61 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 6b eys,.$data);..if.(isset($data['k
9b5a0 65 79 77 6f 72 64 73 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 64 61 74 61 5b 27 6b 65 eywords']).&&.is_array($data['ke
9b5c0 79 77 6f 72 64 73 27 5d 29 29 20 7b 0a 73 6f 72 74 28 24 64 61 74 61 5b 27 6b 65 79 77 6f 72 64 ywords'])).{.sort($data['keyword
9b5e0 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 69 73 41 62 61 6e 64 6f 6e s']);.}..if.($package->isAbandon
9b600 65 64 28 29 29 20 7b 0a 24 64 61 74 61 5b 27 61 62 61 6e 64 6f 6e 65 64 27 5d 20 3d 20 24 70 61 ed()).{.$data['abandoned'].=.$pa
9b620 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 6d 65 6e 74 50 61 63 6b 61 67 65 28 29 20 3f ckage->getReplacementPackage().?
9b640 3a 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e :.true;.}.}..if.($package.instan
9b660 63 65 6f 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6d 69 ceof.RootPackageInterface).{.$mi
9b680 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4d 69 nimumStability.=.$package->getMi
9b6a0 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 69 66 20 28 24 6d 69 6e 69 6d 75 6d 53 74 nimumStability();.if.($minimumSt
9b6c0 61 62 69 6c 69 74 79 29 20 7b 0a 24 64 61 74 61 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c ability).{.$data['minimum-stabil
9b6e0 69 74 79 27 5d 20 3d 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 7d 0a 0a ity'].=.$minimumStability;.}.}..
9b700 69 66 20 28 63 6f 75 6e 74 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 72 61 6e 73 70 6f 72 74 if.(count($package->getTransport
9b720 4f 70 74 69 6f 6e 73 28 29 29 20 3e 20 30 29 20 7b 0a 24 64 61 74 61 5b 27 74 72 61 6e 73 70 6f Options()).>.0).{.$data['transpo
9b740 72 74 2d 6f 70 74 69 6f 6e 73 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 72 61 6e rt-options'].=.$package->getTran
9b760 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b sportOptions();.}..return.$data;
9b780 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 75 6d 70 56 61 6c 75 65 73 28 .}..private.function.dumpValues(
9b7a0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 61 72 72 61 79 PackageInterface.$package,.array
9b7c0 20 24 6b 65 79 73 2c 20 61 72 72 61 79 20 24 64 61 74 61 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 .$keys,.array.$data).{.foreach.(
9b7e0 24 6b 65 79 73 20 61 73 20 24 6d 65 74 68 6f 64 20 3d 3e 20 24 6b 65 79 29 20 7b 0a 69 66 20 28 $keys.as.$method.=>.$key).{.if.(
9b800 69 73 5f 6e 75 6d 65 72 69 63 28 24 6d 65 74 68 6f 64 29 29 20 7b 0a 24 6d 65 74 68 6f 64 20 3d is_numeric($method)).{.$method.=
9b820 20 24 6b 65 79 3b 0a 7d 0a 0a 24 67 65 74 74 65 72 20 3d 20 27 67 65 74 27 2e 75 63 66 69 72 73 .$key;.}..$getter.=.'get'.ucfirs
9b840 74 28 24 6d 65 74 68 6f 64 29 3b 0a 24 76 61 6c 75 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 24 t($method);.$value.=.$package->$
9b860 67 65 74 74 65 72 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 61 6c 75 65 20 26 getter();..if.(null.!==.$value.&
9b880 26 20 21 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 20 26 26 20 30 20 3d 3d 3d 20 63 6f &.!(is_array($value).&&.0.===.co
9b8a0 75 6e 74 28 24 76 61 6c 75 65 29 29 29 20 7b 0a 24 64 61 74 61 5b 24 6b 65 79 5d 20 3d 20 24 76 unt($value))).{.$data[$key].=.$v
9b8c0 61 6c 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 7d 0a 3c 3f 70 alue;.}.}..return.$data;.}.}.<?p
9b8e0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
9b900 5c 50 61 63 6b 61 67 65 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 \Package;..use.Composer\Semver\C
9b920 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a onstraint\ConstraintInterface;..
9b940 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 69 6e 6b 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 .....class.Link.{....protected.$
9b960 73 6f 75 72 63 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 72 67 65 74 3b 0a 0a source;.....protected.$target;..
9b980 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 70 72 ...protected.$constraint;.....pr
9b9a0 6f 74 65 63 74 65 64 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 otected.$description;.....protec
9b9c0 74 65 64 20 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ted.$prettyConstraint;..........
9b9e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 6f .public.function.__construct($so
9ba00 75 72 63 65 2c 20 24 74 61 72 67 65 74 2c 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 urce,.$target,.ConstraintInterfa
9ba20 63 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 ce.$constraint.=.null,.$descript
9ba40 69 6f 6e 20 3d 20 27 72 65 6c 61 74 65 73 20 74 6f 27 2c 20 24 70 72 65 74 74 79 43 6f 6e 73 74 ion.=.'relates.to',.$prettyConst
9ba60 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 20 3d 20 raint.=.null).{.$this->source.=.
9ba80 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 6f 75 72 63 65 29 3b 0a 24 74 68 69 73 2d 3e 74 61 72 67 strtolower($source);.$this->targ
9baa0 65 74 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d et.=.strtolower($target);.$this-
9bac0 3e 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 24 74 68 69 73 >constraint.=.$constraint;.$this
9bae0 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 24 74 ->description.=.$description;.$t
9bb00 68 69 73 2d 3e 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 70 72 65 74 74 79 43 his->prettyConstraint.=.$prettyC
9bb20 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e onstraint;.}.....public.function
9bb40 20 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 .getDescription().{.return.$this
9bb60 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ->description;.}.....public.func
9bb80 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d tion.getSource().{.return.$this-
9bba0 3e 73 6f 75 72 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 >source;.}.....public.function.g
9bbc0 65 74 54 61 72 67 65 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 72 67 65 etTarget().{.return.$this->targe
9bbe0 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 73 t;.}.....public.function.getCons
9bc00 74 72 61 69 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 traint().{.return.$this->constra
9bc20 69 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 int;.}......public.function.getP
9bc40 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d rettyConstraint().{.if.(null.===
9bc60 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 74 68 72 6f .$this->prettyConstraint).{.thro
9bc80 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 w.new.\UnexpectedValueException(
9bca0 73 70 72 69 6e 74 66 28 27 4c 69 6e 6b 20 25 73 20 68 61 73 20 62 65 65 6e 20 6d 69 73 63 6f 6e sprintf('Link.%s.has.been.miscon
9bcc0 66 69 67 75 72 65 64 20 61 6e 64 20 68 61 64 20 6e 6f 20 70 72 65 74 74 79 43 6f 6e 73 74 72 61 figured.and.had.no.prettyConstra
9bce0 69 6e 74 20 67 69 76 65 6e 2e 27 2c 20 24 74 68 69 73 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 int.given.',.$this));.}..return.
9bd00 24 74 68 69 73 2d 3e 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 $this->prettyConstraint;.}.....p
9bd20 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 ublic.function.__toString().{.re
9bd40 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 2e 27 20 27 2e 24 74 68 69 73 2d 3e 64 65 turn.$this->source.'.'.$this->de
9bd60 73 63 72 69 70 74 69 6f 6e 2e 27 20 27 2e 24 74 68 69 73 2d 3e 74 61 72 67 65 74 2e 27 20 28 27 scription.'.'.$this->target.'.('
9bd80 2e 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 2e 27 29 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 .$this->constraint.')';.}......p
9bda0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 50 ublic.function.getPrettyString(P
9bdc0 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 73 6f 75 72 63 65 50 61 63 6b 61 67 65 29 0a ackageInterface.$sourcePackage).
9bde0 7b 0a 72 65 74 75 72 6e 20 24 73 6f 75 72 63 65 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 {.return.$sourcePackage->getPret
9be00 74 79 53 74 72 69 6e 67 28 29 2e 27 20 27 2e 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f tyString().'.'.$this->descriptio
9be20 6e 2e 27 20 27 2e 24 74 68 69 73 2d 3e 74 61 72 67 65 74 2e 27 20 27 2e 24 74 68 69 73 2d 3e 63 n.'.'.$this->target.'.'.$this->c
9be40 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 2e 27 27 3b onstraint->getPrettyString().'';
9be60 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
9be80 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 3b Composer\Package\LinkConstraint;
9bea0 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 ..use.Composer\Semver\Constraint
9bec0 5c 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 61 73 20 53 65 6d 76 65 72 45 6d 70 74 79 43 \EmptyConstraint.as.SemverEmptyC
9bee0 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 onstraint;..trigger_error('The.'
9bf00 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 5c 45 6d 70 74 79 43 6f 6e 73 74 72 ...__NAMESPACE__...'\EmptyConstr
9bf20 61 69 6e 74 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 20 43 6f aint.class.is.deprecated,.use.Co
9bf40 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 45 6d 70 74 79 43 6f mposer\Semver\Constraint\EmptyCo
9bf60 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 nstraint.instead.',.E_USER_DEPRE
9bf80 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e CATED);.....class.EmptyConstrain
9bfa0 74 20 65 78 74 65 6e 64 73 20 53 65 6d 76 65 72 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 t.extends.SemverEmptyConstraint.
9bfc0 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 implements.LinkConstraintInterfa
9bfe0 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 ce.{.}.<?php............namespac
9c000 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e e.Composer\Package\LinkConstrain
9c020 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 t;..use.Composer\Semver\Constrai
9c040 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 74 72 69 67 67 65 72 nt\ConstraintInterface;..trigger
9c060 5f 65 72 72 6f 72 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 _error('The.'...__NAMESPACE__...
9c080 27 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 69 6e 74 65 72 66 '\LinkConstraintInterface.interf
9c0a0 61 63 65 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c ace.is.deprecated,.use.Composer\
9c0c0 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 Semver\Constraint\ConstraintInte
9c0e0 72 66 61 63 65 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 rface.instead.',.E_USER_DEPRECAT
9c100 45 44 29 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e ED);.....interface.LinkConstrain
9c120 74 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 tInterface.extends.ConstraintInt
9c140 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 erface.{.}.<?php............name
9c160 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e 73 74 space.Composer\Package\LinkConst
9c180 72 61 69 6e 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 raint;..use.Composer\Semver\Cons
9c1a0 74 72 61 69 6e 74 5c 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 20 61 73 20 53 65 6d 76 65 72 traint\MultiConstraint.as.Semver
9c1c0 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 MultiConstraint;..trigger_error(
9c1e0 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 5c 4d 75 6c 74 69 'The.'...__NAMESPACE__...'\Multi
9c200 43 6f 6e 73 74 72 61 69 6e 74 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 Constraint.class.is.deprecated,.
9c220 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 4d use.Composer\Semver\Constraint\M
9c240 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 ultiConstraint.instead.',.E_USER
9c260 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d 75 6c 74 69 43 6f 6e _DEPRECATED);.....class.MultiCon
9c280 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 53 65 6d 76 65 72 4d 75 6c 74 69 43 6f 6e 73 74 straint.extends.SemverMultiConst
9c2a0 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 49 raint.implements.LinkConstraintI
9c2c0 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 nterface.{.}.<?php............na
9c2e0 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 43 6f 6e mespace.Composer\Package\LinkCon
9c300 73 74 72 61 69 6e 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f straint;..use.Composer\Semver\Co
9c320 6e 73 74 72 61 69 6e 74 5c 41 62 73 74 72 61 63 74 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 74 72 nstraint\AbstractConstraint;..tr
9c340 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 igger_error('The.'...__NAMESPACE
9c360 5f 5f 20 2e 20 27 5c 53 70 65 63 69 66 69 63 43 6f 6e 73 74 72 61 69 6e 74 20 61 62 73 74 72 61 __...'\SpecificConstraint.abstra
9c380 63 74 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 74 68 65 72 65 20 69 73 ct.class.is.deprecated,.there.is
9c3a0 20 6e 6f 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 69 74 2e 27 2c 20 45 5f 55 53 45 52 .no.replacement.for.it.',.E_USER
9c3c0 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 _DEPRECATED);.....abstract.class
9c3e0 20 53 70 65 63 69 66 69 63 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 41 62 73 74 .SpecificConstraint.extends.Abst
9c400 72 61 63 74 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 69 6e 6b 43 6f ractConstraint.implements.LinkCo
9c420 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a nstraintInterface.{.}.<?php.....
9c440 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 .......namespace.Composer\Packag
9c460 65 5c 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c e\LinkConstraint;..use.Composer\
9c480 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 74 Semver\Constraint\Constraint;..t
9c4a0 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 rigger_error('The.'...__NAMESPAC
9c4c0 45 5f 5f 20 2e 20 27 5c 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 63 6c 61 73 73 20 E__...'\VersionConstraint.class.
9c4e0 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 is.deprecated,.use.Composer\Semv
9c500 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 65 61 64 er\Constraint\Constraint.instead
9c520 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 .',.E_USER_DEPRECATED);.....clas
9c540 73 20 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 s.VersionConstraint.extends.Cons
9c560 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 traint.implements.LinkConstraint
9c580 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e Interface.{.}.<?php............n
9c5a0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 amespace.Composer\Package\Loader
9c5c0 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d ;..use.Composer\Package;.use.Com
9c5e0 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 poser\Package\AliasPackage;.use.
9c600 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 43 6f 6d 70 6f Composer\Package\Link;.use.Compo
9c620 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 ser\Package\RootAliasPackage;.us
9c640 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e e.Composer\Package\RootPackageIn
9c660 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 terface;.use.Composer\Package\Ve
9c680 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 rsion\VersionParser;.use.Compose
9c6a0 72 5c 53 65 6d 76 65 72 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 61 73 20 53 65 6d 76 65 72 r\Semver\VersionParser.as.Semver
9c6c0 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 4c VersionParser;......class.ArrayL
9c6e0 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 oader.implements.LoaderInterface
9c700 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 6f .{.protected.$versionParser;.pro
9c720 74 65 63 74 65 64 20 24 6c 6f 61 64 4f 70 74 69 6f 6e 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e tected.$loadOptions;..public.fun
9c740 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 53 65 6d 76 65 72 56 65 72 73 69 6f 6e 50 ction.__construct(SemverVersionP
9c760 61 72 73 65 72 20 24 70 61 72 73 65 72 20 3d 20 6e 75 6c 6c 2c 20 24 6c 6f 61 64 4f 70 74 69 6f arser.$parser.=.null,.$loadOptio
9c780 6e 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 70 61 72 73 65 72 29 20 7b 0a 24 70 ns.=.false).{.if.(!$parser).{.$p
9c7a0 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 7d 0a 24 74 68 arser.=.new.VersionParser;.}.$th
9c7c0 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 24 70 61 72 73 65 72 3b 0a 24 74 68 is->versionParser.=.$parser;.$th
9c7e0 69 73 2d 3e 6c 6f 61 64 4f 70 74 69 6f 6e 73 20 3d 20 24 6c 6f 61 64 4f 70 74 69 6f 6e 73 3b 0a is->loadOptions.=.$loadOptions;.
9c800 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 28 61 72 72 61 79 20 24 63 }..public.function.load(array.$c
9c820 6f 6e 66 69 67 2c 20 24 63 6c 61 73 73 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 onfig,.$class.=.'Composer\Packag
9c840 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 27 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 e\CompletePackage').{.if.(!isset
9c860 28 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c ($config['name'])).{.throw.new.\
9c880 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 UnexpectedValueException('Unknow
9c8a0 6e 20 70 61 63 6b 61 67 65 20 68 61 73 20 6e 6f 20 6e 61 6d 65 20 64 65 66 69 6e 65 64 20 28 27 n.package.has.no.name.defined.('
9c8c0 2e 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6e 66 69 67 29 2e 27 29 2e 27 29 3b 0a 7d 0a 69 .json_encode($config).').');.}.i
9c8e0 66 20 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b f.(!isset($config['version'])).{
9c900 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 .throw.new.\UnexpectedValueExcep
9c920 74 69 6f 6e 28 27 50 61 63 6b 61 67 65 20 27 2e 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 2e tion('Package.'.$config['name'].
9c940 27 20 68 61 73 20 6e 6f 20 76 65 72 73 69 6f 6e 20 64 65 66 69 6e 65 64 2e 27 29 3b 0a 7d 0a 0a '.has.no.version.defined.');.}..
9c960 0a 20 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 ..if.(isset($config['version_nor
9c980 6d 61 6c 69 7a 65 64 27 5d 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 63 6f 6e 66 69 67 malized'])).{.$version.=.$config
9c9a0 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b ['version_normalized'];.}.else.{
9c9c0 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 .$version.=.$this->versionParser
9c9e0 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b ->normalize($config['version']);
9ca00 0a 7d 0a 24 70 61 63 6b 61 67 65 20 3d 20 6e 65 77 20 24 63 6c 61 73 73 28 24 63 6f 6e 66 69 67 .}.$package.=.new.$class($config
9ca20 5b 27 6e 61 6d 65 27 5d 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 63 6f 6e 66 69 67 5b 27 76 65 72 ['name'],.$version,.$config['ver
9ca40 73 69 6f 6e 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 54 79 70 65 28 69 73 73 65 74 sion']);.$package->setType(isset
9ca60 28 24 63 6f 6e 66 69 67 5b 27 74 79 70 65 27 5d 29 20 3f 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 ($config['type']).?.strtolower($
9ca80 63 6f 6e 66 69 67 5b 27 74 79 70 65 27 5d 29 20 3a 20 27 6c 69 62 72 61 72 79 27 29 3b 0a 0a 69 config['type']).:.'library');..i
9caa0 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 74 61 72 67 65 74 2d 64 69 72 27 5d 29 29 f.(isset($config['target-dir']))
9cac0 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 54 61 72 67 65 74 44 69 72 28 24 63 6f 6e 66 69 .{.$package->setTargetDir($confi
9cae0 67 5b 27 74 61 72 67 65 74 2d 64 69 72 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 g['target-dir']);.}..if.(isset($
9cb00 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f config['extra']).&&.is_array($co
9cb20 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 45 nfig['extra'])).{.$package->setE
9cb40 78 74 72 61 28 24 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 xtra($config['extra']);.}..if.(i
9cb60 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 sset($config['bin'])).{.foreach.
9cb80 28 28 61 72 72 61 79 29 20 24 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 20 61 73 20 24 6b 65 79 20 ((array).$config['bin'].as.$key.
9cba0 3d 3e 20 24 62 69 6e 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 5b 24 6b 65 79 5d 20 =>.$bin).{.$config['bin'][$key].
9cbc0 3d 20 6c 74 72 69 6d 28 24 62 69 6e 2c 20 27 2f 27 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e =.ltrim($bin,.'/');.}.$package->
9cbe0 73 65 74 42 69 6e 61 72 69 65 73 28 28 61 72 72 61 79 29 20 24 63 6f 6e 66 69 67 5b 27 62 69 6e setBinaries((array).$config['bin
9cc00 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 69 6e 73 74 61 ']);.}..if.(isset($config['insta
9cc20 6c 6c 61 74 69 6f 6e 2d 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 llation-source'])).{.$package->s
9cc40 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 63 6f 6e 66 69 67 5b 27 69 6e etInstallationSource($config['in
9cc60 73 74 61 6c 6c 61 74 69 6f 6e 2d 73 6f 75 72 63 65 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 stallation-source']);.}..if.(iss
9cc80 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 69 66 20 28 21 69 73 et($config['source'])).{.if.(!is
9cca0 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 74 79 70 65 27 5d 29 20 7c set($config['source']['type']).|
9ccc0 7c 20 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 75 72 6c 27 |.!isset($config['source']['url'
9cce0 5d 29 20 7c 7c 20 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 ]).||.!isset($config['source']['
9cd00 72 65 66 65 72 65 6e 63 65 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 reference'])).{.throw.new.\Unexp
9cd20 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 22 50 61 ectedValueException(sprintf(."Pa
9cd40 63 6b 61 67 65 20 25 73 27 73 20 73 6f 75 72 63 65 20 6b 65 79 20 73 68 6f 75 6c 64 20 62 65 20 ckage.%s's.source.key.should.be.
9cd60 73 70 65 63 69 66 69 65 64 20 61 73 20 7b 5c 22 74 79 70 65 5c 22 3a 20 2e 2e 2e 2c 20 5c 22 75 specified.as.{\"type\":....,.\"u
9cd80 72 6c 5c 22 3a 20 2e 2e 2e 2c 20 5c 22 72 65 66 65 72 65 6e 63 65 5c 22 3a 20 2e 2e 2e 7d 2c 5c rl\":....,.\"reference\":....},\
9cda0 6e 25 73 20 67 69 76 65 6e 2e 22 2c 0a 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 2c 0a 6a 73 n%s.given.",.$config['name'],.js
9cdc0 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 29 0a 29 29 3b on_encode($config['source']).));
9cde0 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 54 79 70 65 28 24 63 6f 6e 66 .}.$package->setSourceType($conf
9ce00 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 74 79 70 65 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d ig['source']['type']);.$package-
9ce20 3e 73 65 74 53 6f 75 72 63 65 55 72 6c 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b >setSourceUrl($config['source'][
9ce40 27 75 72 6c 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 52 65 66 65 'url']);.$package->setSourceRefe
9ce60 72 65 6e 63 65 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 72 rence(isset($config['source']['r
9ce80 65 66 65 72 65 6e 63 65 27 5d 29 20 3f 20 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b eference']).?.$config['source'][
9cea0 27 72 65 66 65 72 65 6e 63 65 27 5d 20 3a 20 6e 75 6c 6c 29 3b 0a 69 66 20 28 69 73 73 65 74 28 'reference'].:.null);.if.(isset(
9cec0 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 29 29 20 7b $config['source']['mirrors'])).{
9cee0 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 24 63 6f 6e .$package->setSourceMirrors($con
9cf00 66 69 67 5b 27 73 6f 75 72 63 65 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 29 3b 0a 7d 0a 7d 0a 0a fig['source']['mirrors']);.}.}..
9cf20 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 29 29 20 7b 0a 69 66 if.(isset($config['dist'])).{.if
9cf40 20 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 74 79 70 65 27 5d .(!isset($config['dist']['type']
9cf60 29 0a 7c 7c 20 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 75 72 6c ).||.!isset($config['dist']['url
9cf80 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 '])).{.throw.new.\UnexpectedValu
9cfa0 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 22 50 61 63 6b 61 67 65 20 25 73 27 eException(sprintf(."Package.%s'
9cfc0 73 20 64 69 73 74 20 6b 65 79 20 73 68 6f 75 6c 64 20 62 65 20 73 70 65 63 69 66 69 65 64 20 61 s.dist.key.should.be.specified.a
9cfe0 73 20 22 2e 0a 22 7b 5c 22 74 79 70 65 5c 22 3a 20 2e 2e 2e 2c 20 5c 22 75 72 6c 5c 22 3a 20 2e s.".."{\"type\":....,.\"url\":..
9d000 2e 2e 2c 20 5c 22 72 65 66 65 72 65 6e 63 65 5c 22 3a 20 2e 2e 2e 2c 20 5c 22 73 68 61 73 75 6d ..,.\"reference\":....,.\"shasum
9d020 5c 22 3a 20 2e 2e 2e 7d 2c 5c 6e 25 73 20 67 69 76 65 6e 2e 22 2c 0a 24 63 6f 6e 66 69 67 5b 27 \":....},\n%s.given.",.$config['
9d040 6e 61 6d 65 27 5d 2c 0a 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 name'],.json_encode($config['dis
9d060 74 27 5d 29 0a 29 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 54 79 70 65 t']).));.}.$package->setDistType
9d080 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 74 79 70 65 27 5d 29 3b 0a 24 70 61 63 6b ($config['dist']['type']);.$pack
9d0a0 61 67 65 2d 3e 73 65 74 44 69 73 74 55 72 6c 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b age->setDistUrl($config['dist'][
9d0c0 27 75 72 6c 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 52 65 66 65 72 65 'url']);.$package->setDistRefere
9d0e0 6e 63 65 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 72 65 66 65 72 nce(isset($config['dist']['refer
9d100 65 6e 63 65 27 5d 29 20 3f 20 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 72 65 66 65 72 ence']).?.$config['dist']['refer
9d120 65 6e 63 65 27 5d 20 3a 20 6e 75 6c 6c 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 ence'].:.null);.$package->setDis
9d140 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 64 69 73 tSha1Checksum(isset($config['dis
9d160 74 27 5d 5b 27 73 68 61 73 75 6d 27 5d 29 20 3f 20 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d t']['shasum']).?.$config['dist']
9d180 5b 27 73 68 61 73 75 6d 27 5d 20 3a 20 6e 75 6c 6c 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 63 ['shasum'].:.null);.if.(isset($c
9d1a0 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 29 29 20 7b 0a 24 70 61 onfig['dist']['mirrors'])).{.$pa
9d1c0 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 63 6f 6e 66 69 67 5b 27 64 ckage->setDistMirrors($config['d
9d1e0 69 73 74 27 5d 5b 27 6d 69 72 72 6f 72 73 27 5d 29 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 ist']['mirrors']);.}.}..foreach.
9d200 28 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 75 70 70 6f 72 74 65 64 (Package\BasePackage::$supported
9d220 4c 69 6e 6b 54 79 70 65 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6f 70 74 73 29 20 7b 0a 69 LinkTypes.as.$type.=>.$opts).{.i
9d240 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 24 74 79 70 65 5d 29 29 20 7b 0a 24 6d 65 74 f.(isset($config[$type])).{.$met
9d260 68 6f 64 20 3d 20 27 73 65 74 27 2e 75 63 66 69 72 73 74 28 24 6f 70 74 73 5b 27 6d 65 74 68 6f hod.=.'set'.ucfirst($opts['metho
9d280 64 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 7b 24 6d 65 74 68 6f 64 7d 28 0a 24 74 68 69 73 d']);.$package->{$method}(.$this
9d2a0 2d 3e 70 61 72 73 65 4c 69 6e 6b 73 28 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 ->parseLinks(.$package->getName(
9d2c0 29 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c ),.$package->getPrettyVersion(),
9d2e0 0a 24 6f 70 74 73 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 2c 0a 24 63 6f 6e 66 69 67 5b 24 .$opts['description'],.$config[$
9d300 74 79 70 65 5d 0a 29 0a 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 type].).);.}.}..if.(isset($confi
9d320 67 5b 27 73 75 67 67 65 73 74 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 g['suggest']).&&.is_array($confi
9d340 67 5b 27 73 75 67 67 65 73 74 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 66 69 g['suggest'])).{.foreach.($confi
9d360 67 5b 27 73 75 67 67 65 73 74 27 5d 20 61 73 20 24 74 61 72 67 65 74 20 3d 3e 20 24 72 65 61 73 g['suggest'].as.$target.=>.$reas
9d380 6f 6e 29 20 7b 0a 69 66 20 28 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 20 3d 3d 3d 20 74 72 69 on).{.if.('self.version'.===.tri
9d3a0 6d 28 24 72 65 61 73 6f 6e 29 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d m($reason)).{.$config['suggest']
9d3c0 5b 24 74 61 72 67 65 74 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 [$target].=.$package->getPrettyV
9d3e0 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 75 67 67 65 ersion();.}.}.$package->setSugge
9d400 73 74 73 28 24 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 sts($config['suggest']);.}..if.(
9d420 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 29 29 20 7b 0a 24 70 isset($config['autoload'])).{.$p
9d440 61 63 6b 61 67 65 2d 3e 73 65 74 41 75 74 6f 6c 6f 61 64 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 ackage->setAutoload($config['aut
9d460 6f 6c 6f 61 64 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 oload']);.}..if.(isset($config['
9d480 61 75 74 6f 6c 6f 61 64 2d 64 65 76 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 autoload-dev'])).{.$package->set
9d4a0 44 65 76 41 75 74 6f 6c 6f 61 64 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 2d 64 65 DevAutoload($config['autoload-de
9d4c0 76 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 69 6e 63 6c v']);.}..if.(isset($config['incl
9d4e0 75 64 65 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 6e 63 6c ude-path'])).{.$package->setIncl
9d500 75 64 65 50 61 74 68 73 28 24 63 6f 6e 66 69 67 5b 27 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 5d udePaths($config['include-path']
9d520 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d );.}..if.(!empty($config['time']
9d540 29 29 20 7b 0a 24 74 69 6d 65 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 64 2b 2b 24 )).{.$time.=.preg_match('/^\d++$
9d560 2f 44 27 2c 20 24 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 29 20 3f 20 27 40 27 2e 24 63 6f 6e /D',.$config['time']).?.'@'.$con
9d580 66 69 67 5b 27 74 69 6d 65 27 5d 20 3a 20 24 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 3b 0a 0a fig['time'].:.$config['time'];..
9d5a0 74 72 79 20 7b 0a 24 64 61 74 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 74 69 6d try.{.$date.=.new.\DateTime($tim
9d5c0 65 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 24 70 e,.new.\DateTimeZone('UTC'));.$p
9d5e0 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 24 64 61 74 65 29 3b 0a 7d ackage->setReleaseDate($date);.}
9d600 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 69 66 .catch.(\Exception.$e).{.}.}..if
9d620 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 6e 6f 74 69 66 69 63 61 74 69 6f 6e 2d 75 .(!empty($config['notification-u
9d640 72 6c 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 4e 6f 74 69 66 69 63 61 74 69 rl'])).{.$package->setNotificati
9d660 6f 6e 55 72 6c 28 24 63 6f 6e 66 69 67 5b 27 6e 6f 74 69 66 69 63 61 74 69 6f 6e 2d 75 72 6c 27 onUrl($config['notification-url'
9d680 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 61 72 63 68 69 ]);.}..if.(!empty($config['archi
9d6a0 76 65 27 5d 5b 27 65 78 63 6c 75 64 65 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 ve']['exclude'])).{.$package->se
9d6c0 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 24 63 6f 6e 66 69 67 5b 27 61 72 63 68 69 76 tArchiveExcludes($config['archiv
9d6e0 65 27 5d 5b 27 65 78 63 6c 75 64 65 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 e']['exclude']);.}..if.($package
9d700 20 69 6e 73 74 61 6e 63 65 6f 66 20 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b .instanceof.Package\CompletePack
9d720 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 ageInterface).{.if.(isset($confi
9d740 67 5b 27 73 63 72 69 70 74 73 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 g['scripts']).&&.is_array($confi
9d760 67 5b 27 73 63 72 69 70 74 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 66 69 g['scripts'])).{.foreach.($confi
9d780 67 5b 27 73 63 72 69 70 74 73 27 5d 20 61 73 20 24 65 76 65 6e 74 20 3d 3e 20 24 6c 69 73 74 65 g['scripts'].as.$event.=>.$liste
9d7a0 6e 65 72 73 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 73 63 72 69 70 74 73 27 5d 5b 24 65 76 65 6e ners).{.$config['scripts'][$even
9d7c0 74 5d 20 3d 20 28 61 72 72 61 79 29 20 24 6c 69 73 74 65 6e 65 72 73 3b 0a 7d 0a 69 66 20 28 69 t].=.(array).$listeners;.}.if.(i
9d7e0 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 73 63 72 69 70 74 73 27 5d 5b 27 63 6f 6d 70 6f 73 65 sset($config['scripts']['compose
9d800 72 27 5d 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 60 63 6f 6d 70 r'])).{.trigger_error('The.`comp
9d820 6f 73 65 72 60 20 73 63 72 69 70 74 20 6e 61 6d 65 20 69 73 20 72 65 73 65 72 76 65 64 20 66 6f oser`.script.name.is.reserved.fo
9d840 72 20 69 6e 74 65 72 6e 61 6c 20 75 73 65 2c 20 70 6c 65 61 73 65 20 61 76 6f 69 64 20 64 65 66 r.internal.use,.please.avoid.def
9d860 69 6e 69 6e 67 20 69 74 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d ining.it',.E_USER_DEPRECATED);.}
9d880 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 63 72 69 70 74 73 28 24 63 6f 6e 66 69 67 5b 27 73 .$package->setScripts($config['s
9d8a0 63 72 69 70 74 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 cripts']);.}..if.(!empty($config
9d8c0 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 24 63 ['description']).&&.is_string($c
9d8e0 6f 6e 66 69 67 5b 27 64 65 73 63 72 69 70 74 69 6f 6e 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 onfig['description'])).{.$packag
9d900 65 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 63 6f 6e 66 69 67 5b 27 64 65 73 63 72 e->setDescription($config['descr
9d920 69 70 74 69 6f 6e 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 iption']);.}..if.(!empty($config
9d940 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 24 63 6f 6e 66 ['homepage']).&&.is_string($conf
9d960 69 67 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 ig['homepage'])).{.$package->set
9d980 48 6f 6d 65 70 61 67 65 28 24 63 6f 6e 66 69 67 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 3b 0a 7d Homepage($config['homepage']);.}
9d9a0 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 6b 65 79 77 6f 72 64 73 27 5d ..if.(!empty($config['keywords']
9d9c0 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 6b 65 79 77 6f 72 64 73 27 ).&&.is_array($config['keywords'
9d9e0 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 4b 65 79 77 6f 72 64 73 28 24 63 6f 6e ])).{.$package->setKeywords($con
9da00 66 69 67 5b 27 6b 65 79 77 6f 72 64 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 fig['keywords']);.}..if.(!empty(
9da20 24 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d $config['license'])).{.$package-
9da40 3e 73 65 74 4c 69 63 65 6e 73 65 28 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 6c 69 >setLicense(is_array($config['li
9da60 63 65 6e 73 65 27 5d 29 20 3f 20 24 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 20 3a 20 cense']).?.$config['license'].:.
9da80 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 29 3b 0a 7d 0a 0a 69 array($config['license']));.}..i
9daa0 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 29 20 26 26 f.(!empty($config['authors']).&&
9dac0 20 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 29 29 20 7b .is_array($config['authors'])).{
9dae0 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 75 74 68 6f 72 73 28 24 63 6f 6e 66 69 67 5b 27 61 .$package->setAuthors($config['a
9db00 75 74 68 6f 72 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b uthors']);.}..if.(isset($config[
9db20 27 73 75 70 70 6f 72 74 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 75 70 70 'support'])).{.$package->setSupp
9db40 6f 72 74 28 24 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 ort($config['support']);.}..if.(
9db60 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 61 62 61 6e 64 6f 6e 65 64 27 5d 29 29 20 7b 0a 24 isset($config['abandoned'])).{.$
9db80 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 62 61 6e 64 6f 6e 65 64 28 24 63 6f 6e 66 69 67 5b 27 61 package->setAbandoned($config['a
9dba0 62 61 6e 64 6f 6e 65 64 27 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 61 6c 69 61 73 4e 6f 72 6d bandoned']);.}.}..if.($aliasNorm
9dbc0 61 6c 69 7a 65 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 41 6c 69 61 73 28 24 alized.=.$this->getBranchAlias($
9dbe0 63 6f 6e 66 69 67 29 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 config)).{.if.($package.instance
9dc00 6f 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 70 61 63 6b of.RootPackageInterface).{.$pack
9dc20 61 67 65 20 3d 20 6e 65 77 20 52 6f 6f 74 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b age.=.new.RootAliasPackage($pack
9dc40 61 67 65 2c 20 24 61 6c 69 61 73 4e 6f 72 6d 61 6c 69 7a 65 64 2c 20 70 72 65 67 5f 72 65 70 6c age,.$aliasNormalized,.preg_repl
9dc60 61 63 65 28 27 7b 28 5c 2e 39 7b 37 7d 29 2b 7d 27 2c 20 27 2e 78 27 2c 20 24 61 6c 69 61 73 4e ace('{(\.9{7})+}',.'.x',.$aliasN
9dc80 6f 72 6d 61 6c 69 7a 65 64 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d ormalized));.}.else.{.$package.=
9dca0 20 6e 65 77 20 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 61 6c 69 .new.AliasPackage($package,.$ali
9dcc0 61 73 4e 6f 72 6d 61 6c 69 7a 65 64 2c 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 5c 2e asNormalized,.preg_replace('{(\.
9dce0 39 7b 37 7d 29 2b 7d 27 2c 20 27 2e 78 27 2c 20 24 61 6c 69 61 73 4e 6f 72 6d 61 6c 69 7a 65 64 9{7})+}',.'.x',.$aliasNormalized
9dd00 29 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 61 64 4f 70 74 69 6f 6e 73 20 ));.}.}..if.($this->loadOptions.
9dd20 26 26 20 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 74 72 61 6e 73 70 6f 72 74 2d 6f 70 74 69 &&.isset($config['transport-opti
9dd40 6f 6e 73 27 5d 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 54 72 61 6e 73 70 6f 72 74 ons'])).{.$package->setTransport
9dd60 4f 70 74 69 6f 6e 73 28 24 63 6f 6e 66 69 67 5b 27 74 72 61 6e 73 70 6f 72 74 2d 6f 70 74 69 6f Options($config['transport-optio
9dd80 6e 73 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a ns']);.}..return.$package;.}....
9dda0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4c 69 6e 6b 73 28 .....public.function.parseLinks(
9ddc0 24 73 6f 75 72 63 65 2c 20 24 73 6f 75 72 63 65 56 65 72 73 69 6f 6e 2c 20 24 64 65 73 63 72 69 $source,.$sourceVersion,.$descri
9dde0 70 74 69 6f 6e 2c 20 24 6c 69 6e 6b 73 29 0a 7b 0a 24 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b ption,.$links).{.$res.=.array();
9de00 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 74 61 72 67 65 74 20 3d 3e 20 24 .foreach.($links.as.$target.=>.$
9de20 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 63 6f constraint).{.if.(!is_string($co
9de40 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 nstraint)).{.throw.new.\Unexpect
9de60 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 4c 69 6e 6b 20 63 6f 6e 73 74 72 61 69 6e edValueException('Link.constrain
9de80 74 20 69 6e 20 27 2e 24 73 6f 75 72 63 65 2e 27 20 27 2e 24 64 65 73 63 72 69 70 74 69 6f 6e 2e t.in.'.$source.'.'.$description.
9dea0 27 20 3e 20 27 2e 24 74 61 72 67 65 74 2e 27 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 74 72 69 '.>.'.$target.'.should.be.a.stri
9dec0 6e 67 2c 20 67 6f 74 20 27 2e 67 65 74 74 79 70 65 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 2e ng,.got.'.gettype($constraint)..
9dee0 20 27 20 28 27 20 2e 20 76 61 72 5f 65 78 70 6f 72 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 .'.('...var_export($constraint,.
9df00 74 72 75 65 29 20 2e 20 27 29 27 29 3b 0a 7d 0a 69 66 20 28 27 73 65 6c 66 2e 76 65 72 73 69 6f true)...')');.}.if.('self.versio
9df20 6e 27 20 3d 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 70 61 72 73 65 64 43 6f 6e n'.===.$constraint).{.$parsedCon
9df40 73 74 72 61 69 6e 74 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e straint.=.$this->versionParser->
9df60 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 73 6f 75 72 63 65 56 65 72 73 69 6f 6e 29 parseConstraints($sourceVersion)
9df80 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 72 73 65 64 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 ;.}.else.{.$parsedConstraint.=.$
9dfa0 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 this->versionParser->parseConstr
9dfc0 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 24 72 65 73 5b 73 74 72 74 aints($constraint);.}..$res[strt
9dfe0 6f 6c 6f 77 65 72 28 24 74 61 72 67 65 74 29 5d 20 3d 20 6e 65 77 20 4c 69 6e 6b 28 24 73 6f 75 olower($target)].=.new.Link($sou
9e000 72 63 65 2c 20 24 74 61 72 67 65 74 2c 20 24 70 61 72 73 65 64 43 6f 6e 73 74 72 61 69 6e 74 2c rce,.$target,.$parsedConstraint,
9e020 20 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a .$description,.$constraint);.}..
9e040 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e return.$res;.}........public.fun
9e060 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 41 6c 69 61 73 28 61 72 72 61 79 20 24 63 6f 6e 66 ction.getBranchAlias(array.$conf
9e080 69 67 29 0a 7b 0a 69 66 20 28 28 27 64 65 76 2d 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 63 6f ig).{.if.(('dev-'.!==.substr($co
9e0a0 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 30 2c 20 34 29 20 26 26 20 27 2d 64 65 76 27 nfig['version'],.0,.4).&&.'-dev'
9e0c0 20 21 3d 3d 20 73 75 62 73 74 72 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 .!==.substr($config['version'],.
9e0e0 2d 34 29 29 0a 7c 7c 20 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b -4)).||.!isset($config['extra'][
9e100 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 29 0a 7c 7c 20 21 69 73 5f 61 72 72 61 79 28 24 63 'branch-alias']).||.!is_array($c
9e120 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 29 0a onfig['extra']['branch-alias']).
9e140 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 66 69 67 5b ).{.return;.}..foreach.($config[
9e160 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 20 61 73 20 24 73 6f 75 'extra']['branch-alias'].as.$sou
9e180 72 63 65 42 72 61 6e 63 68 20 3d 3e 20 24 74 61 72 67 65 74 42 72 61 6e 63 68 29 20 7b 0a 0a 20 rceBranch.=>.$targetBranch).{...
9e1a0 69 66 20 28 27 2d 64 65 76 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 74 61 72 67 65 74 42 72 61 if.('-dev'.!==.substr($targetBra
9e1c0 6e 63 68 2c 20 2d 34 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 76 61 6c 69 nch,.-4)).{.continue;.}....$vali
9e1e0 64 61 74 65 64 54 61 72 67 65 74 42 72 61 6e 63 68 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 datedTargetBranch.=.$this->versi
9e200 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 73 75 62 73 74 72 onParser->normalizeBranch(substr
9e220 28 24 74 61 72 67 65 74 42 72 61 6e 63 68 2c 20 30 2c 20 2d 34 29 29 3b 0a 69 66 20 28 27 2d 64 ($targetBranch,.0,.-4));.if.('-d
9e240 65 76 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 76 61 6c 69 64 61 74 65 64 54 61 72 67 65 74 42 ev'.!==.substr($validatedTargetB
9e260 72 61 6e 63 68 2c 20 2d 34 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 ranch,.-4)).{.continue;.}....if.
9e280 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 (strtolower($config['version']).
9e2a0 21 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 6f 75 72 63 65 42 72 61 6e 63 68 29 29 20 7b !==.strtolower($sourceBranch)).{
9e2c0 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 28 24 73 6f 75 72 63 65 50 72 65 66 .continue;.}....if.(($sourcePref
9e2e0 69 78 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 ix.=.$this->versionParser->parse
9e300 4e 75 6d 65 72 69 63 41 6c 69 61 73 50 72 65 66 69 78 28 24 73 6f 75 72 63 65 42 72 61 6e 63 68 NumericAliasPrefix($sourceBranch
9e320 29 29 0a 26 26 20 28 24 74 61 72 67 65 74 50 72 65 66 69 78 20 3d 20 24 74 68 69 73 2d 3e 76 65 )).&&.($targetPrefix.=.$this->ve
9e340 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 4e 75 6d 65 72 69 63 41 6c 69 61 73 50 72 rsionParser->parseNumericAliasPr
9e360 65 66 69 78 28 24 74 61 72 67 65 74 42 72 61 6e 63 68 29 29 0a 26 26 20 28 73 74 72 69 70 6f 73 efix($targetBranch)).&&.(stripos
9e380 28 24 74 61 72 67 65 74 50 72 65 66 69 78 2c 20 24 73 6f 75 72 63 65 50 72 65 66 69 78 29 20 21 ($targetPrefix,.$sourcePrefix).!
9e3a0 3d 3d 20 30 29 0a 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 ==.0).).{.continue;.}..return.$v
9e3c0 61 6c 69 64 61 74 65 64 54 61 72 67 65 74 42 72 61 6e 63 68 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 alidatedTargetBranch;.}.}.}.<?ph
9e3e0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
9e400 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 Package\Loader;.....class.Invali
9e420 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 45 78 63 65 70 dPackageException.extends.\Excep
9e440 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 65 72 72 6f 72 73 3b 0a 70 72 69 76 61 74 65 20 tion.{.private.$errors;.private.
9e460 24 77 61 72 6e 69 6e 67 73 3b 0a 70 72 69 76 61 74 65 20 24 64 61 74 61 3b 0a 0a 70 75 62 6c 69 $warnings;.private.$data;..publi
9e480 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 65 72 c.function.__construct(array.$er
9e4a0 72 6f 72 73 2c 20 61 72 72 61 79 20 24 77 61 72 6e 69 6e 67 73 2c 20 61 72 72 61 79 20 24 64 61 rors,.array.$warnings,.array.$da
9e4c0 74 61 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 65 72 72 6f 72 73 3b 0a 24 ta).{.$this->errors.=.$errors;.$
9e4e0 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 20 3d 20 24 77 61 72 6e 69 6e 67 73 3b 0a 24 74 68 69 this->warnings.=.$warnings;.$thi
9e500 73 2d 3e 64 61 74 61 20 3d 20 24 64 61 74 61 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 s->data.=.$data;.parent::__const
9e520 72 75 63 74 28 22 49 6e 76 61 6c 69 64 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f ruct("Invalid.package.informatio
9e540 6e 3a 20 5c 6e 22 2e 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 72 72 61 79 5f 6d 65 72 67 65 n:.\n".implode("\n",.array_merge
9e560 28 24 65 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 29 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 ($errors,.$warnings)));.}..publi
9e580 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 61 74 61 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 c.function.getData().{.return.$t
9e5a0 68 69 73 2d 3e 64 61 74 61 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 his->data;.}..public.function.ge
9e5c0 74 45 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 tErrors().{.return.$this->errors
9e5e0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 57 61 72 6e 69 6e 67 73 ;.}..public.function.getWarnings
9e600 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 3b 0a 7d 0a 7d ().{.return.$this->warnings;.}.}
9e620 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
9e640 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 oser\Package\Loader;..use.Compos
9e660 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e er\Json\JsonFile;.....class.Json
9e680 4c 6f 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 6c 6f 61 64 65 72 3b 0a 0a 70 75 62 6c 69 Loader.{.private.$loader;..publi
9e6a0 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4c 6f 61 64 65 72 49 6e 74 c.function.__construct(LoaderInt
9e6c0 65 72 66 61 63 65 20 24 6c 6f 61 64 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 erface.$loader).{.$this->loader.
9e6e0 3d 20 24 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f =.$loader;.}......public.functio
9e700 6e 20 6c 6f 61 64 28 24 6a 73 6f 6e 29 0a 7b 0a 69 66 20 28 24 6a 73 6f 6e 20 69 6e 73 74 61 6e n.load($json).{.if.($json.instan
9e720 63 65 6f 66 20 4a 73 6f 6e 46 69 6c 65 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 24 6a 73 6f 6e ceof.JsonFile).{.$config.=.$json
9e740 2d 3e 72 65 61 64 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 ->read();.}.elseif.(file_exists(
9e760 24 6a 73 6f 6e 29 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 $json)).{.$config.=.JsonFile::pa
9e780 72 73 65 4a 73 6f 6e 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 6a 73 6f 6e 29 rseJson(file_get_contents($json)
9e7a0 2c 20 24 6a 73 6f 6e 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 6a ,.$json);.}.elseif.(is_string($j
9e7c0 73 6f 6e 29 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 son)).{.$config.=.JsonFile::pars
9e7e0 65 4a 73 6f 6e 28 24 6a 73 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c eJson($json);.}..return.$this->l
9e800 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a oader->load($config);.}.}.<?php.
9e820 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 ...........namespace.Composer\Pa
9e840 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4c 6f ckage\Loader;.......interface.Lo
9e860 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 aderInterface.{........public.fu
9e880 6e 63 74 69 6f 6e 20 6c 6f 61 64 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 2c 20 24 63 6c 61 nction.load(array.$package,.$cla
9e8a0 73 73 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 ss.=.'Composer\Package\CompleteP
9e8c0 61 63 6b 61 67 65 27 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d ackage');.}.<?php............nam
9e8e0 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a espace.Composer\Package\Loader;.
9e900 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 .use.Composer\Package\BasePackag
9e920 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 e;.use.Composer\Package\AliasPac
9e940 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 kage;.use.Composer\Config;.use.C
9e960 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 omposer\IO\IOInterface;.use.Comp
9e980 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 oser\Package\RootPackageInterfac
9e9a0 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 e;.use.Composer\Repository\Repos
9e9c0 69 74 6f 72 79 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 itoryFactory;.use.Composer\Packa
9e9e0 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 3b 0a 75 73 65 20 43 ge\Version\VersionGuesser;.use.C
9ea00 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 omposer\Package\Version\VersionP
9ea20 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 arser;.use.Composer\Repository\R
9ea40 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 epositoryManager;.use.Composer\U
9ea60 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 til\ProcessExecutor;.........cla
9ea80 73 73 20 52 6f 6f 74 50 61 63 6b 61 67 65 4c 6f 61 64 65 72 20 65 78 74 65 6e 64 73 20 41 72 72 ss.RootPackageLoader.extends.Arr
9eaa0 61 79 4c 6f 61 64 65 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6d 61 6e 61 67 65 72 3b 0a ayLoader.{....private.$manager;.
9eac0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 ....private.$config;.....private
9eae0 20 24 76 65 72 73 69 6f 6e 47 75 65 73 73 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 .$versionGuesser;.....private.$i
9eb00 6f 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 o;..public.function.__construct(
9eb20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 6d 61 6e 61 67 65 72 2c 20 43 6f 6e 66 RepositoryManager.$manager,.Conf
9eb40 69 67 20 24 63 6f 6e 66 69 67 2c 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 24 70 61 72 73 65 ig.$config,.VersionParser.$parse
9eb60 72 20 3d 20 6e 75 6c 6c 2c 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 20 24 76 65 72 73 69 6f r.=.null,.VersionGuesser.$versio
9eb80 6e 47 75 65 73 73 65 72 20 3d 20 6e 75 6c 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f nGuesser.=.null,.IOInterface.$io
9eba0 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 .=.null).{.parent::__construct($
9ebc0 70 61 72 73 65 72 29 3b 0a 0a 24 74 68 69 73 2d 3e 6d 61 6e 61 67 65 72 20 3d 20 24 6d 61 6e 61 parser);..$this->manager.=.$mana
9ebe0 67 65 72 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 ger;.$this->config.=.$config;.$t
9ec00 68 69 73 2d 3e 76 65 72 73 69 6f 6e 47 75 65 73 73 65 72 20 3d 20 24 76 65 72 73 69 6f 6e 47 75 his->versionGuesser.=.$versionGu
9ec20 65 73 73 65 72 20 3f 3a 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 28 24 63 6f 6e esser.?:.new.VersionGuesser($con
9ec40 66 69 67 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 29 2c 20 24 74 68 69 fig,.new.ProcessExecutor(),.$thi
9ec60 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 s->versionParser);.$this->io.=.$
9ec80 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 io;.}........public.function.loa
9eca0 64 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 2c 20 24 63 6c 61 73 73 20 3d 20 27 43 6f 6d 70 6f d(array.$config,.$class.=.'Compo
9ecc0 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 27 2c 20 24 63 77 64 20 3d ser\Package\RootPackage',.$cwd.=
9ece0 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 6e 61 6d .null).{.if.(!isset($config['nam
9ed00 65 27 5d 29 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 20 3d 20 27 5f 5f 72 6f 6f e'])).{.$config['name'].=.'__roo
9ed20 74 5f 5f 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 29 20 7b 0a 69 66 20 t__';.}.elseif.($this->io).{.if.
9ed40 28 24 65 72 72 20 3d 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3a 3a 68 ($err.=.ValidatingArrayLoader::h
9ed60 61 73 50 61 63 6b 61 67 65 4e 61 6d 69 6e 67 45 72 72 6f 72 28 24 63 6f 6e 66 69 67 5b 27 6e 61 asPackageNamingError($config['na
9ed80 6d 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 me'])).{.$this->io->writeError('
9eda0 3c 77 61 72 6e 69 6e 67 3e 44 65 70 72 65 63 61 74 69 6f 6e 20 77 61 72 6e 69 6e 67 3a 20 59 6f <warning>Deprecation.warning:.Yo
9edc0 75 72 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 27 2e 24 65 72 72 2e 27 20 4d 61 6b 65 20 73 75 ur.package.name.'.$err.'.Make.su
9ede0 72 65 20 79 6f 75 20 66 69 78 20 74 68 69 73 20 61 73 20 43 6f 6d 70 6f 73 65 72 20 32 2e 30 20 re.you.fix.this.as.Composer.2.0.
9ee00 77 69 6c 6c 20 65 72 72 6f 72 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 24 61 75 will.error.</warning>');.}.}.$au
9ee20 74 6f 56 65 72 73 69 6f 6e 65 64 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 21 69 73 73 65 74 28 toVersioned.=.false;.if.(!isset(
9ee40 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 63 6f 6d 6d 69 74 20 3d $config['version'])).{.$commit.=
9ee60 20 6e 75 6c 6c 3b 0a 0a 0a 20 69 66 20 28 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 52 .null;....if.(getenv('COMPOSER_R
9ee80 4f 4f 54 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f OOT_VERSION')).{.$config['versio
9eea0 6e 27 5d 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 52 4f 4f 54 5f 56 45 52 53 n'].=.getenv('COMPOSER_ROOT_VERS
9eec0 49 4f 4e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 65 72 73 69 6f 6e 44 61 74 61 20 3d 20 24 ION');.}.else.{.$versionData.=.$
9eee0 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 47 75 65 73 73 65 72 2d 3e 67 75 65 73 73 56 65 72 73 69 this->versionGuesser->guessVersi
9ef00 6f 6e 28 24 63 6f 6e 66 69 67 2c 20 24 63 77 64 20 3f 3a 20 67 65 74 63 77 64 28 29 29 3b 0a 69 on($config,.$cwd.?:.getcwd());.i
9ef20 66 20 28 24 76 65 72 73 69 6f 6e 44 61 74 61 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 f.($versionData).{.$config['vers
9ef40 69 6f 6e 27 5d 20 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 70 72 65 74 74 79 5f 76 65 72 ion'].=.$versionData['pretty_ver
9ef60 73 69 6f 6e 27 5d 3b 0a 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 sion'];.$config['version_normali
9ef80 7a 65 64 27 5d 20 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 3b zed'].=.$versionData['version'];
9efa0 0a 24 63 6f 6d 6d 69 74 20 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 63 6f 6d 6d 69 74 27 .$commit.=.$versionData['commit'
9efc0 5d 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 ];.}.}..if.(!isset($config['vers
9efe0 69 6f 6e 27 5d 29 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 27 ion'])).{.$config['version'].=.'
9f000 31 2e 30 2e 30 27 3b 0a 24 61 75 74 6f 56 65 72 73 69 6f 6e 65 64 20 3d 20 74 72 75 65 3b 0a 7d 1.0.0';.$autoVersioned.=.true;.}
9f020 0a 0a 69 66 20 28 24 63 6f 6d 6d 69 74 29 20 7b 0a 24 63 6f 6e 66 69 67 5b 27 73 6f 75 72 63 65 ..if.($commit).{.$config['source
9f040 27 5d 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 27 27 2c 0a 27 75 72 6c 27 20 '].=.array(.'type'.=>.'',.'url'.
9f060 3d 3e 20 27 27 2c 0a 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 63 6f 6d 6d 69 74 2c 0a 29 =>.'',.'reference'.=>.$commit,.)
9f080 3b 0a 24 63 6f 6e 66 69 67 5b 27 64 69 73 74 27 5d 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 ;.$config['dist'].=.array(.'type
9f0a0 27 20 3d 3e 20 27 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 27 27 2c 0a 27 72 65 66 65 72 65 6e 63 65 '.=>.'',.'url'.=>.'',.'reference
9f0c0 27 20 3d 3e 20 24 63 6f 6d 6d 69 74 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 24 72 65 61 6c 50 61 63 6b 61 '.=>.$commit,.);.}.}..$realPacka
9f0e0 67 65 20 3d 20 24 70 61 63 6b 61 67 65 20 3d 20 70 61 72 65 6e 74 3a 3a 6c 6f 61 64 28 24 63 6f ge.=.$package.=.parent::load($co
9f100 6e 66 69 67 2c 20 24 63 6c 61 73 73 29 3b 0a 69 66 20 28 24 72 65 61 6c 50 61 63 6b 61 67 65 20 nfig,.$class);.if.($realPackage.
9f120 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 72 65 61 6c instanceof.AliasPackage).{.$real
9f140 50 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 Package.=.$package->getAliasOf()
9f160 3b 0a 7d 0a 0a 69 66 20 28 24 61 75 74 6f 56 65 72 73 69 6f 6e 65 64 29 20 7b 0a 24 72 65 61 6c ;.}..if.($autoVersioned).{.$real
9f180 50 61 63 6b 61 67 65 2d 3e 72 65 70 6c 61 63 65 56 65 72 73 69 6f 6e 28 24 72 65 61 6c 50 61 63 Package->replaceVersion($realPac
9f1a0 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 27 4e 6f 20 76 65 72 73 69 6f 6e 20 kage->getVersion(),.'No.version.
9f1c0 73 65 74 20 28 70 61 72 73 65 64 20 61 73 20 31 2e 30 2e 30 29 27 29 3b 0a 7d 0a 0a 69 66 20 28 set.(parsed.as.1.0.0)');.}..if.(
9f1e0 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 isset($config['minimum-stability
9f200 27 5d 29 29 20 7b 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 4d 69 6e 69 6d 75 6d 53 '])).{.$realPackage->setMinimumS
9f220 74 61 62 69 6c 69 74 79 28 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 6e 6f 72 6d 61 6c 69 7a tability(VersionParser::normaliz
9f240 65 53 74 61 62 69 6c 69 74 79 28 24 63 6f 6e 66 69 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 eStability($config['minimum-stab
9f260 69 6c 69 74 79 27 5d 29 29 3b 0a 7d 0a 0a 24 61 6c 69 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 ility']));.}..$aliases.=.array()
9f280 3b 0a 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 ;.$stabilityFlags.=.array();.$re
9f2a0 66 65 72 65 6e 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 ferences.=.array();.foreach.(arr
9f2c0 61 79 28 27 72 65 71 75 69 72 65 27 2c 20 27 72 65 71 75 69 72 65 2d 64 65 76 27 29 20 61 73 20 ay('require',.'require-dev').as.
9f2e0 24 6c 69 6e 6b 54 79 70 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 24 $linkType).{.if.(isset($config[$
9f300 6c 69 6e 6b 54 79 70 65 5d 29 29 20 7b 0a 24 6c 69 6e 6b 49 6e 66 6f 20 3d 20 42 61 73 65 50 61 linkType])).{.$linkInfo.=.BasePa
9f320 63 6b 61 67 65 3a 3a 24 73 75 70 70 6f 72 74 65 64 4c 69 6e 6b 54 79 70 65 73 5b 24 6c 69 6e 6b ckage::$supportedLinkTypes[$link
9f340 54 79 70 65 5d 3b 0a 24 6d 65 74 68 6f 64 20 3d 20 27 67 65 74 27 2e 75 63 66 69 72 73 74 28 24 Type];.$method.=.'get'.ucfirst($
9f360 6c 69 6e 6b 49 6e 66 6f 5b 27 6d 65 74 68 6f 64 27 5d 29 3b 0a 24 6c 69 6e 6b 73 20 3d 20 61 72 linkInfo['method']);.$links.=.ar
9f380 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 24 6d ray();.foreach.($realPackage->$m
9f3a0 65 74 68 6f 64 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 24 6c 69 6e 6b 73 5b 24 6c 69 6e 6b ethod().as.$link).{.$links[$link
9f3c0 2d 3e 67 65 74 54 61 72 67 65 74 28 29 5d 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 ->getTarget()].=.$link->getConst
9f3e0 72 61 69 6e 74 28 29 2d 3e 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 24 61 raint()->getPrettyString();.}.$a
9f400 6c 69 61 73 65 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 41 6c 69 61 73 65 73 28 24 liases.=.$this->extractAliases($
9f420 6c 69 6e 6b 73 2c 20 24 61 6c 69 61 73 65 73 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 links,.$aliases);.$stabilityFlag
9f440 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 s.=.$this->extractStabilityFlags
9f460 28 24 6c 69 6e 6b 73 2c 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 2c 20 24 72 65 61 6c 50 ($links,.$stabilityFlags,.$realP
9f480 61 63 6b 61 67 65 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 29 3b 0a ackage->getMinimumStability());.
9f4a0 24 72 65 66 65 72 65 6e 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 52 65 66 65 $references.=.$this->extractRefe
9f4c0 72 65 6e 63 65 73 28 24 6c 69 6e 6b 73 2c 20 24 72 65 66 65 72 65 6e 63 65 73 29 3b 0a 7d 0a 7d rences($links,.$references);.}.}
9f4e0 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 ..if.($this->io).{.foreach.(arra
9f500 79 5f 6b 65 79 73 28 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 75 70 70 6f 72 74 65 64 4c 69 y_keys(BasePackage::$supportedLi
9f520 6e 6b 54 79 70 65 73 29 20 61 73 20 24 6c 69 6e 6b 54 79 70 65 29 20 7b 0a 69 66 20 28 69 73 73 nkTypes).as.$linkType).{.if.(iss
9f540 65 74 28 24 63 6f 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 29 29 20 7b 0a 66 6f 72 65 61 63 et($config[$linkType])).{.foreac
9f560 68 20 28 24 63 6f 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 20 61 73 20 24 6c 69 6e 6b 4e 61 h.($config[$linkType].as.$linkNa
9f580 6d 65 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 24 65 72 72 20 3d 20 me.=>.$constraint).{.if.($err.=.
9f5a0 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3a 3a 68 61 73 50 61 63 6b 61 67 ValidatingArrayLoader::hasPackag
9f5c0 65 4e 61 6d 69 6e 67 45 72 72 6f 72 28 24 6c 69 6e 6b 4e 61 6d 65 2c 20 74 72 75 65 29 29 20 7b eNamingError($linkName,.true)).{
9f5e0 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 .$this->io->writeError('<warning
9f600 3e 44 65 70 72 65 63 61 74 69 6f 6e 20 77 61 72 6e 69 6e 67 3a 20 27 2e 24 6c 69 6e 6b 54 79 70 >Deprecation.warning:.'.$linkTyp
9f620 65 2e 27 2e 27 2e 24 65 72 72 2e 27 20 4d 61 6b 65 20 73 75 72 65 20 79 6f 75 20 66 69 78 20 74 e.'.'.$err.'.Make.sure.you.fix.t
9f640 68 69 73 20 61 73 20 43 6f 6d 70 6f 73 65 72 20 32 2e 30 20 77 69 6c 6c 20 65 72 72 6f 72 2e 3c his.as.Composer.2.0.will.error.<
9f660 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 /warning>');.}.}.}.}.}..if.(isse
9f680 74 28 24 6c 69 6e 6b 73 5b 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 5d 29 29 20 7b 0a 74 68 t($links[$config['name']])).{.th
9f6a0 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f row.new.\InvalidArgumentExceptio
9f6c0 6e 28 73 70 72 69 6e 74 66 28 27 52 6f 6f 74 20 70 61 63 6b 61 67 65 20 5c 27 25 73 5c 27 20 63 n(sprintf('Root.package.\'%s\'.c
9f6e0 61 6e 6e 6f 74 20 72 65 71 75 69 72 65 20 69 74 73 65 6c 66 20 69 6e 20 69 74 73 20 63 6f 6d 70 annot.require.itself.in.its.comp
9f700 6f 73 65 72 2e 6a 73 6f 6e 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 0a 27 44 69 64 20 79 6f 75 20 oser.json'...PHP_EOL...'Did.you.
9f720 61 63 63 69 64 65 6e 74 61 6c 6c 79 20 6e 61 6d 65 20 79 6f 75 72 20 72 6f 6f 74 20 70 61 63 6b accidentally.name.your.root.pack
9f740 61 67 65 20 61 66 74 65 72 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 70 61 63 6b 61 67 65 3f 27 2c age.after.an.external.package?',
9f760 20 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 29 29 3b 0a 7d 0a 0a 24 72 65 61 6c 50 61 63 6b .$config['name']));.}..$realPack
9f780 61 67 65 2d 3e 73 65 74 41 6c 69 61 73 65 73 28 24 61 6c 69 61 73 65 73 29 3b 0a 24 72 65 61 6c age->setAliases($aliases);.$real
9f7a0 50 61 63 6b 61 67 65 2d 3e 73 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 24 73 74 61 62 Package->setStabilityFlags($stab
9f7c0 69 6c 69 74 79 46 6c 61 67 73 29 3b 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 ilityFlags);.$realPackage->setRe
9f7e0 66 65 72 65 6e 63 65 73 28 24 72 65 66 65 72 65 6e 63 65 73 29 3b 0a 0a 69 66 20 28 69 73 73 65 ferences($references);..if.(isse
9f800 74 28 24 63 6f 6e 66 69 67 5b 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 5d 29 29 20 7b 0a 24 t($config['prefer-stable'])).{.$
9f820 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 28 62 6f realPackage->setPreferStable((bo
9f840 6f 6c 29 20 24 63 6f 6e 66 69 67 5b 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 5d 29 3b 0a 7d ol).$config['prefer-stable']);.}
9f860 0a 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 29 29 20 ..if.(isset($config['config'])).
9f880 7b 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 63 6f 6e 66 69 {.$realPackage->setConfig($confi
9f8a0 67 5b 27 63 6f 6e 66 69 67 27 5d 29 3b 0a 7d 0a 0a 24 72 65 70 6f 73 20 3d 20 52 65 70 6f 73 69 g['config']);.}..$repos.=.Reposi
9f8c0 74 6f 72 79 46 61 63 74 6f 72 79 3a 3a 64 65 66 61 75 6c 74 52 65 70 6f 73 28 6e 75 6c 6c 2c 20 toryFactory::defaultRepos(null,.
9f8e0 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 6d 61 6e 61 67 65 72 29 3b 0a $this->config,.$this->manager);.
9f900 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 20 61 73 20 24 72 65 70 6f 29 20 7b 0a 24 74 68 69 foreach.($repos.as.$repo).{.$thi
9f920 73 2d 3e 6d 61 6e 61 67 65 72 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 29 s->manager->addRepository($repo)
9f940 3b 0a 7d 0a 24 72 65 61 6c 50 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 69 65 ;.}.$realPackage->setRepositorie
9f960 73 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 s($this->config->getRepositories
9f980 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 ());..return.$package;.}..privat
9f9a0 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 20 e.function.extractAliases(array.
9f9c0 24 72 65 71 75 69 72 65 73 2c 20 61 72 72 61 79 20 24 61 6c 69 61 73 65 73 29 0a 7b 0a 66 6f 72 $requires,.array.$aliases).{.for
9f9e0 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 4e 61 6d 65 20 3d 3e 20 24 each.($requires.as.$reqName.=>.$
9fa00 72 65 71 56 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e reqVersion).{.if.(preg_match('{^
9fa20 28 5b 5e 2c 5c 73 23 5d 2b 29 28 3f 3a 23 5b 5e 20 5d 2b 29 3f 20 2b 61 73 20 2b 28 5b 5e 2c 5c ([^,\s#]+)(?:#[^.]+)?.+as.+([^,\
9fa40 73 5d 2b 29 24 7d 27 2c 20 24 72 65 71 56 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b s]+)$}',.$reqVersion,.$match)).{
9fa60 0a 24 61 6c 69 61 73 65 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 70 61 63 6b 61 67 65 27 20 3d .$aliases[].=.array(.'package'.=
9fa80 3e 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 4e 61 6d 65 29 2c 0a 27 76 65 72 73 69 6f 6e >.strtolower($reqName),.'version
9faa0 27 20 3d 3e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 '.=>.$this->versionParser->norma
9fac0 6c 69 7a 65 28 24 6d 61 74 63 68 5b 31 5d 2c 20 24 72 65 71 56 65 72 73 69 6f 6e 29 2c 0a 27 61 lize($match[1],.$reqVersion),.'a
9fae0 6c 69 61 73 27 20 3d 3e 20 24 6d 61 74 63 68 5b 32 5d 2c 0a 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 lias'.=>.$match[2],.'alias_norma
9fb00 6c 69 7a 65 64 27 20 3d 3e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e lized'.=>.$this->versionParser->
9fb20 6e 6f 72 6d 61 6c 69 7a 65 28 24 6d 61 74 63 68 5b 32 5d 2c 20 24 72 65 71 56 65 72 73 69 6f 6e normalize($match[2],.$reqVersion
9fb40 29 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 6c 69 61 73 65 73 3b 0a 7d 0a 0a 70 ),.);.}.}..return.$aliases;.}..p
9fb60 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 53 74 61 62 69 6c 69 74 79 rivate.function.extractStability
9fb80 46 6c 61 67 73 28 61 72 72 61 79 20 24 72 65 71 75 69 72 65 73 2c 20 61 72 72 61 79 20 24 73 74 Flags(array.$requires,.array.$st
9fba0 61 62 69 6c 69 74 79 46 6c 61 67 73 2c 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 29 abilityFlags,.$minimumStability)
9fbc0 0a 7b 0a 24 73 74 61 62 69 6c 69 74 69 65 73 20 3d 20 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 .{.$stabilities.=.BasePackage::$
9fbe0 73 74 61 62 69 6c 69 74 69 65 73 3b 0a 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d stabilities;.$minimumStability.=
9fc00 20 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 5d .$stabilities[$minimumStability]
9fc20 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 4e 61 6d 65 ;.foreach.($requires.as.$reqName
9fc40 20 3d 3e 20 24 72 65 71 56 65 72 73 69 6f 6e 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 .=>.$reqVersion).{.$constraints.
9fc60 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 24 6f 72 53 70 6c 69 74 20 3d 20 70 72 65 67 5f 73 70 =.array();....$orSplit.=.preg_sp
9fc80 6c 69 74 28 27 7b 5c 73 2a 5c 7c 5c 7c 3f 5c 73 2a 7d 27 2c 20 74 72 69 6d 28 24 72 65 71 56 65 lit('{\s*\|\|?\s*}',.trim($reqVe
9fca0 72 73 69 6f 6e 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 72 53 70 6c 69 74 20 61 73 20 24 6f rsion));.foreach.($orSplit.as.$o
9fcc0 72 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 61 6e 64 53 70 6c 69 74 20 3d 20 70 72 65 67 5f rConstraint).{.$andSplit.=.preg_
9fce0 73 70 6c 69 74 28 27 7b 28 3f 3c 21 5e 7c 61 73 7c 5b 3d 3e 3c 20 2c 5d 29 20 2a 28 3f 3c 21 2d split('{(?<!^|as|[=><.,]).*(?<!-
9fd00 29 5b 2c 20 5d 28 3f 21 2d 29 20 2a 28 3f 21 2c 7c 61 73 7c 24 29 7d 27 2c 20 24 6f 72 43 6f 6e )[,.](?!-).*(?!,|as|$)}',.$orCon
9fd20 73 74 72 61 69 6e 74 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 6e 64 53 70 6c 69 74 20 61 73 20 straint);.foreach.($andSplit.as.
9fd40 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 73 5b 5d $andConstraint).{.$constraints[]
9fd60 20 3d 20 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 7d 0a 0a 0a 20 24 6d 61 74 63 68 .=.$andConstraint;.}.}....$match
9fd80 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 .=.false;.foreach.($constraints.
9fda0 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 as.$constraint).{.if.(preg_match
9fdc0 28 27 7b 5e 5b 5e 40 5d 2a 3f 40 28 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 61 72 72 61 79 ('{^[^@]*?@('.implode('|',.array
9fde0 5f 6b 65 79 73 28 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 2e 27 29 24 7d 69 27 2c 20 24 63 6f _keys($stabilities)).')$}i',.$co
9fe00 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 nstraint,.$match)).{.$name.=.str
9fe20 74 6f 6c 6f 77 65 72 28 24 72 65 71 4e 61 6d 65 29 3b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 tolower($reqName);.$stability.=.
9fe40 24 73 74 61 62 69 6c 69 74 69 65 73 5b 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 6e 6f 72 6d $stabilities[VersionParser::norm
9fe60 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 24 6d 61 74 63 68 5b 31 5d 29 5d 3b 0a 0a 69 66 20 alizeStability($match[1])];..if.
9fe80 28 69 73 73 65 74 28 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 6d 65 5d 29 20 26 (isset($stabilityFlags[$name]).&
9fea0 26 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 6d 65 5d 20 3e 20 24 73 74 61 62 &.$stabilityFlags[$name].>.$stab
9fec0 69 6c 69 74 79 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 73 74 61 62 69 6c 69 74 79 46 ility).{.continue;.}.$stabilityF
9fee0 6c 61 67 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 24 6d 61 74 63 68 lags[$name].=.$stability;.$match
9ff00 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 6d 61 74 63 68 29 20 7b 0a 63 6f 6e 74 .=.true;.}.}..if.($match).{.cont
9ff20 69 6e 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 inue;.}..foreach.($constraints.a
9ff40 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 0a 20 0a 20 24 72 65 71 56 65 72 73 69 6f 6e s.$constraint).{.....$reqVersion
9ff60 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 5b 5e 2c 5c 73 40 5d 2b 29 20 61 73 .=.preg_replace('{^([^,\s@]+).as
9ff80 20 2e 2b 24 7d 27 2c 20 27 24 31 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 69 66 20 28 ..+$}',.'$1',.$constraint);.if.(
9ffa0 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 5e 2c 5c 73 40 5d 2b 24 7d 27 2c 20 24 72 65 71 56 preg_match('{^[^,\s@]+$}',.$reqV
9ffc0 65 72 73 69 6f 6e 29 20 26 26 20 27 73 74 61 62 6c 65 27 20 21 3d 3d 20 28 24 73 74 61 62 69 6c ersion).&&.'stable'.!==.($stabil
9ffe0 69 74 79 4e 61 6d 65 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 65 53 74 ityName.=.VersionParser::parseSt
a0000 61 62 69 6c 69 74 79 28 24 72 65 71 56 65 72 73 69 6f 6e 29 29 29 20 7b 0a 24 6e 61 6d 65 20 3d ability($reqVersion))).{.$name.=
a0020 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 4e 61 6d 65 29 3b 0a 24 73 74 61 62 69 6c 69 74 .strtolower($reqName);.$stabilit
a0040 79 20 3d 20 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 73 74 61 62 69 6c 69 74 79 4e 61 6d 65 5d y.=.$stabilities[$stabilityName]
a0060 3b 0a 69 66 20 28 28 69 73 73 65 74 28 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 ;.if.((isset($stabilityFlags[$na
a0080 6d 65 5d 29 20 26 26 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 6d 65 5d 20 3e me]).&&.$stabilityFlags[$name].>
a00a0 20 24 73 74 61 62 69 6c 69 74 79 29 20 7c 7c 20 28 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 .$stability).||.($minimumStabili
a00c0 74 79 20 3e 20 24 73 74 61 62 69 6c 69 74 79 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a ty.>.$stability)).{.continue;.}.
a00e0 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 73 74 61 62 69 6c $stabilityFlags[$name].=.$stabil
a0100 69 74 79 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 ity;.}.}.}..return.$stabilityFla
a0120 67 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 52 gs;.}..private.function.extractR
a0140 65 66 65 72 65 6e 63 65 73 28 61 72 72 61 79 20 24 72 65 71 75 69 72 65 73 2c 20 61 72 72 61 79 eferences(array.$requires,.array
a0160 20 24 72 65 66 65 72 65 6e 63 65 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 .$references).{.foreach.($requir
a0180 65 73 20 61 73 20 24 72 65 71 4e 61 6d 65 20 3d 3e 20 24 72 65 71 56 65 72 73 69 6f 6e 29 20 7b es.as.$reqName.=>.$reqVersion).{
a01a0 0a 24 72 65 71 56 65 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 .$reqVersion.=.preg_replace('{^(
a01c0 5b 5e 2c 5c 73 40 5d 2b 29 20 61 73 20 2e 2b 24 7d 27 2c 20 27 24 31 27 2c 20 24 72 65 71 56 65 [^,\s@]+).as..+$}',.'$1',.$reqVe
a01e0 72 73 69 6f 6e 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 5e 2c 5c 73 40 rsion);.if.(preg_match('{^[^,\s@
a0200 5d 2b 3f 23 28 5b 61 2d 66 30 2d 39 5d 2b 29 24 7d 27 2c 20 24 72 65 71 56 65 72 73 69 6f 6e 2c ]+?#([a-f0-9]+)$}',.$reqVersion,
a0220 20 24 6d 61 74 63 68 29 20 26 26 20 27 64 65 76 27 20 3d 3d 3d 20 56 65 72 73 69 6f 6e 50 61 72 .$match).&&.'dev'.===.VersionPar
a0240 73 65 72 3a 3a 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 72 65 71 56 65 72 73 69 6f 6e 29 ser::parseStability($reqVersion)
a0260 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 4e 61 6d 65 29 ).{.$name.=.strtolower($reqName)
a0280 3b 0a 24 72 65 66 65 72 65 6e 63 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 6d 61 74 63 68 5b 31 5d ;.$references[$name].=.$match[1]
a02a0 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 66 65 72 65 6e 63 65 73 3b 0a 7d 0a 7d 0a 3c ;.}.}..return.$references;.}.}.<
a02c0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
a02e0 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 er\Package\Loader;..use.Composer
a0300 5c 50 61 63 6b 61 67 65 5c 42 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 \Package\BasePackage;.use.Compos
a0320 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b er\Semver\Constraint\Constraint;
a0340 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 .use.Composer\Package\Version\Ve
a0360 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 rsionParser;.use.Composer\Reposi
a0380 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d tory\PlatformRepository;.use.Com
a03a0 70 6f 73 65 72 5c 53 70 64 78 5c 53 70 64 78 4c 69 63 65 6e 73 65 73 3b 0a 0a 0a 0a 0a 63 6c 61 poser\Spdx\SpdxLicenses;.....cla
a03c0 73 73 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 20 69 6d 70 6c 65 6d 65 ss.ValidatingArrayLoader.impleme
a03e0 6e 74 73 20 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 43 48 45 43 nts.LoaderInterface.{.const.CHEC
a0400 4b 5f 41 4c 4c 20 3d 20 33 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 55 4e 42 4f 55 4e 44 5f 43 K_ALL.=.3;.const.CHECK_UNBOUND_C
a0420 4f 4e 53 54 52 41 49 4e 54 53 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 53 54 52 49 ONSTRAINTS.=.1;.const.CHECK_STRI
a0440 43 54 5f 43 4f 4e 53 54 52 41 49 4e 54 53 20 3d 20 32 3b 0a 0a 70 72 69 76 61 74 65 20 24 6c 6f CT_CONSTRAINTS.=.2;..private.$lo
a0460 61 64 65 72 3b 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 ader;.private.$versionParser;.pr
a0480 69 76 61 74 65 20 24 65 72 72 6f 72 73 3b 0a 70 72 69 76 61 74 65 20 24 77 61 72 6e 69 6e 67 73 ivate.$errors;.private.$warnings
a04a0 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 73 74 72 69 ;.private.$config;.private.$stri
a04c0 63 74 4e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 66 6c 61 67 73 3b 0a 0a 70 75 62 6c 69 63 20 ctName;.private.$flags;..public.
a04e0 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4c 6f 61 64 65 72 49 6e 74 65 72 function.__construct(LoaderInter
a0500 66 61 63 65 20 24 6c 6f 61 64 65 72 2c 20 24 73 74 72 69 63 74 4e 61 6d 65 20 3d 20 74 72 75 65 face.$loader,.$strictName.=.true
a0520 2c 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 24 70 61 72 73 65 72 20 3d 20 6e 75 6c 6c 2c 20 ,.VersionParser.$parser.=.null,.
a0540 24 66 6c 61 67 73 20 3d 20 30 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 24 6c $flags.=.0).{.$this->loader.=.$l
a0560 6f 61 64 65 72 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 24 70 oader;.$this->versionParser.=.$p
a0580 61 72 73 65 72 20 3f 3a 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 74 arser.?:.new.VersionParser();.$t
a05a0 68 69 73 2d 3e 73 74 72 69 63 74 4e 61 6d 65 20 3d 20 24 73 74 72 69 63 74 4e 61 6d 65 3b 0a 24 his->strictName.=.$strictName;.$
a05c0 74 68 69 73 2d 3e 66 6c 61 67 73 20 3d 20 24 66 6c 61 67 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 this->flags.=.$flags;.}..public.
a05e0 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 2c 20 24 63 6c function.load(array.$config,.$cl
a0600 61 73 73 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 ass.=.'Composer\Package\Complete
a0620 50 61 63 6b 61 67 65 27 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 61 72 72 61 Package').{.$this->errors.=.arra
a0640 79 28 29 3b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a y();.$this->warnings.=.array();.
a0660 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 0a 69 66 20 28 24 65 $this->config.=.$config;..if.($e
a0680 72 72 20 3d 20 73 65 6c 66 3a 3a 68 61 73 50 61 63 6b 61 67 65 4e 61 6d 69 6e 67 45 72 72 6f 72 rr.=.self::hasPackageNamingError
a06a0 28 24 63 6f 6e 66 69 67 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e ($config['name'])).{.$this->warn
a06c0 69 6e 67 73 5b 5d 20 3d 20 27 44 65 70 72 65 63 61 74 69 6f 6e 20 77 61 72 6e 69 6e 67 3a 20 59 ings[].=.'Deprecation.warning:.Y
a06e0 6f 75 72 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 27 2e 24 65 72 72 2e 27 20 4d 61 6b 65 20 73 our.package.name.'.$err.'.Make.s
a0700 75 72 65 20 79 6f 75 20 66 69 78 20 74 68 69 73 20 61 73 20 43 6f 6d 70 6f 73 65 72 20 32 2e 30 ure.you.fix.this.as.Composer.2.0
a0720 20 77 69 6c 6c 20 65 72 72 6f 72 2e 27 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 74 72 .will.error.';.}..if.($this->str
a0740 69 63 74 4e 61 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 ictName).{.$this->validateRegex(
a0760 27 6e 61 6d 65 27 2c 20 27 5b 41 2d 5a 61 2d 7a 30 2d 39 5d 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 'name',.'[A-Za-z0-9][A-Za-z0-9_.
a0780 2d 5d 2a 2f 5b 41 2d 5a 61 2d 7a 30 2d 39 5d 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 2d 5d 2a 27 2c -]*/[A-Za-z0-9][A-Za-z0-9_.-]*',
a07a0 20 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 .true);.}.else.{.$this->validate
a07c0 53 74 72 69 6e 67 28 27 6e 61 6d 65 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d String('name',.true);.}..if.(!em
a07e0 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b pty($this->config['version'])).{
a0800 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 .try.{.$this->versionParser->nor
a0820 6d 61 6c 69 7a 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 malize($this->config['version'])
a0840 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 ;.}.catch.(\Exception.$e).{.$thi
a0860 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 76 65 72 73 69 6f 6e 20 3a 20 69 6e 76 61 6c 69 64 s->errors[].=.'version.:.invalid
a0880 20 76 61 6c 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e .value.('.$this->config['version
a08a0 27 5d 2e 27 29 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 75 6e 73 65 74 '].'):.'.$e->getMessage();.unset
a08c0 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 7d 0a 7d 0a ($this->config['version']);.}.}.
a08e0 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 .if.(!empty($this->config['confi
a0900 67 27 5d 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 28 61 72 g']['platform'])).{.foreach.((ar
a0920 72 61 79 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 63 6f 6e 66 69 67 27 5d 5b 27 70 6c ray).$this->config['config']['pl
a0940 61 74 66 6f 72 6d 27 5d 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 70 6c 61 74 66 6f 72 6d 29 20 7b atform'].as.$key.=>.$platform).{
a0960 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 .try.{.$this->versionParser->nor
a0980 6d 61 6c 69 7a 65 28 24 70 6c 61 74 66 6f 72 6d 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 malize($platform);.}.catch.(\Exc
a09a0 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 eption.$e).{.$this->errors[].=.'
a09c0 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 2e 27 20 2e 20 24 6b 65 79 20 2e 20 27 20 3a 20 69 config.platform.'...$key...'.:.i
a09e0 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 70 6c 61 74 66 6f 72 6d 2e 27 29 3a 20 27 2e nvalid.value.('.$platform.'):.'.
a0a00 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e $e->getMessage();.}.}.}..$this->
a0a20 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 27 74 79 70 65 27 2c 20 27 5b 41 2d 5a 61 2d 7a 30 2d validateRegex('type',.'[A-Za-z0-
a0a40 39 2d 5d 2b 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 27 74 9-]+');.$this->validateString('t
a0a60 61 72 67 65 74 2d 64 69 72 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 arget-dir');.$this->validateArra
a0a80 79 28 27 65 78 74 72 61 27 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f y('extra');..if.(isset($this->co
a0aa0 6e 66 69 67 5b 27 62 69 6e 27 5d 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 74 nfig['bin'])).{.if.(is_string($t
a0ac0 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 62 69 6e 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 his->config['bin'])).{.$this->va
a0ae0 6c 69 64 61 74 65 53 74 72 69 6e 67 28 27 62 69 6e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 lidateString('bin');.}.else.{.$t
a0b00 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 46 6c 61 74 41 72 72 61 79 28 27 62 69 6e 27 29 3b 0a 7d his->validateFlatArray('bin');.}
a0b20 0a 7d 0a 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 27 73 63 72 69 70 74 .}..$this->validateArray('script
a0b40 73 27 29 3b 20 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 27 64 65 s');...$this->validateString('de
a0b60 73 63 72 69 70 74 69 6f 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 55 72 6c 28 scription');.$this->validateUrl(
a0b80 27 68 6f 6d 65 70 61 67 65 27 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 46 6c 61 74 'homepage');.$this->validateFlat
a0ba0 41 72 72 61 79 28 27 6b 65 79 77 6f 72 64 73 27 2c 20 27 5b 5c 70 7b 4e 7d 5c 70 7b 4c 7d 20 2e Array('keywords',.'[\p{N}\p{L}..
a0bc0 5f 2d 5d 2b 27 29 3b 0a 0a 24 72 65 6c 65 61 73 65 44 61 74 65 20 3d 20 6e 75 6c 6c 3b 0a 24 74 _-]+');..$releaseDate.=.null;.$t
a0be0 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 27 74 69 6d 65 27 29 3b 0a 69 66 20 his->validateString('time');.if.
a0c00 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 29 29 20 (!empty($this->config['time'])).
a0c20 7b 0a 74 72 79 20 7b 0a 24 72 65 6c 65 61 73 65 44 61 74 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 {.try.{.$releaseDate.=.new.\Date
a0c40 54 69 6d 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 2c 20 6e 65 77 20 Time($this->config['time'],.new.
a0c60 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 \DateTimeZone('UTC'));.}.catch.(
a0c80 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d \Exception.$e).{.$this->errors[]
a0ca0 20 3d 20 27 74 69 6d 65 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 74 68 69 .=.'time.:.invalid.value.('.$thi
a0cc0 73 2d 3e 63 6f 6e 66 69 67 5b 27 74 69 6d 65 27 5d 2e 27 29 3a 20 27 2e 24 65 2d 3e 67 65 74 4d s->config['time'].'):.'.$e->getM
a0ce0 65 73 73 61 67 65 28 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 74 essage();.unset($this->config['t
a0d00 69 6d 65 27 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e ime']);.}.}....if.(isset($this->
a0d20 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 20 26 26 20 28 21 24 72 65 6c 65 61 73 65 config['license']).&&.(!$release
a0d40 44 61 74 65 20 7c 7c 20 24 72 65 6c 65 61 73 65 44 61 74 65 2d 3e 67 65 74 54 69 6d 65 73 74 61 Date.||.$releaseDate->getTimesta
a0d60 6d 70 28 29 20 3e 3d 20 73 74 72 74 6f 74 69 6d 65 28 27 2d 38 64 61 79 73 27 29 29 29 20 7b 0a mp().>=.strtotime('-8days'))).{.
a0d80 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 if.(is_array($this->config['lice
a0da0 6e 73 65 27 5d 29 20 7c 7c 20 69 73 5f 73 74 72 69 6e 67 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 nse']).||.is_string($this->confi
a0dc0 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 29 20 7b 0a 24 6c 69 63 65 6e 73 65 73 20 3d 20 28 61 72 g['license'])).{.$licenses.=.(ar
a0de0 72 61 79 29 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 3b 0a 0a ray).$this->config['license'];..
a0e00 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 69 63 65 6e 73 65 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 ..foreach.($licenses.as.$key.=>.
a0e20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 69 66 20 28 27 70 72 6f 70 72 69 65 74 61 72 79 27 20 3d 3d $license).{.if.('proprietary'.==
a0e40 3d 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 75 6e 73 65 74 28 24 6c 69 63 65 6e 73 65 73 5b 24 6b =.$license).{.unset($licenses[$k
a0e60 65 79 5d 29 3b 0a 7d 0a 7d 0a 0a 24 6c 69 63 65 6e 73 65 56 61 6c 69 64 61 74 6f 72 20 3d 20 6e ey]);.}.}..$licenseValidator.=.n
a0e80 65 77 20 53 70 64 78 4c 69 63 65 6e 73 65 73 28 29 3b 0a 69 66 20 28 63 6f 75 6e 74 28 24 6c 69 ew.SpdxLicenses();.if.(count($li
a0ea0 63 65 6e 73 65 73 29 20 3d 3d 3d 20 31 20 26 26 20 21 24 6c 69 63 65 6e 73 65 56 61 6c 69 64 61 censes).===.1.&&.!$licenseValida
a0ec0 74 6f 72 2d 3e 76 61 6c 69 64 61 74 65 28 24 6c 69 63 65 6e 73 65 73 29 20 26 26 20 24 6c 69 63 tor->validate($licenses).&&.$lic
a0ee0 65 6e 73 65 56 61 6c 69 64 61 74 6f 72 2d 3e 76 61 6c 69 64 61 74 65 28 74 72 69 6d 28 24 6c 69 enseValidator->validate(trim($li
a0f00 63 65 6e 73 65 73 5b 30 5d 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d censes[0]))).{.$this->warnings[]
a0f20 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 4c 69 63 65 6e 73 65 20 25 73 20 6d 75 73 74 20 6e 6f 74 .=.sprintf(.'License.%s.must.not
a0f40 20 63 6f 6e 74 61 69 6e 20 65 78 74 72 61 20 73 70 61 63 65 73 2c 20 6d 61 6b 65 20 73 75 72 65 .contain.extra.spaces,.make.sure
a0f60 20 74 6f 20 74 72 69 6d 20 69 74 2e 27 2c 0a 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 74 68 69 73 .to.trim.it.',.json_encode($this
a0f80 2d 3e 63 6f 6e 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 0a 29 3b 0a 7d 20 65 6c 73 65 69 66 ->config['license']).);.}.elseif
a0fa0 20 28 61 72 72 61 79 28 29 20 21 3d 3d 20 24 6c 69 63 65 6e 73 65 73 20 26 26 20 21 24 6c 69 63 .(array().!==.$licenses.&&.!$lic
a0fc0 65 6e 73 65 56 61 6c 69 64 61 74 6f 72 2d 3e 76 61 6c 69 64 61 74 65 28 24 6c 69 63 65 6e 73 65 enseValidator->validate($license
a0fe0 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 73 70 72 69 6e 74 s)).{.$this->warnings[].=.sprint
a1000 66 28 0a 27 4c 69 63 65 6e 73 65 20 25 73 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 53 50 f(.'License.%s.is.not.a.valid.SP
a1020 44 58 20 6c 69 63 65 6e 73 65 20 69 64 65 6e 74 69 66 69 65 72 2c 20 73 65 65 20 68 74 74 70 73 DX.license.identifier,.see.https
a1040 3a 2f 2f 73 70 64 78 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 20 69 66 20 79 6f 75 20 75 73 65 ://spdx.org/licenses/.if.you.use
a1060 20 61 6e 20 6f 70 65 6e 20 6c 69 63 65 6e 73 65 2e 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 0a 27 .an.open.license.'...PHP_EOL...'
a1080 49 66 20 74 68 65 20 73 6f 66 74 77 61 72 65 20 69 73 20 63 6c 6f 73 65 64 2d 73 6f 75 72 63 65 If.the.software.is.closed-source
a10a0 2c 20 79 6f 75 20 6d 61 79 20 75 73 65 20 22 70 72 6f 70 72 69 65 74 61 72 79 22 20 61 73 20 6c ,.you.may.use."proprietary".as.l
a10c0 69 63 65 6e 73 65 2e 27 2c 0a 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 74 68 69 73 2d 3e 63 6f 6e icense.',.json_encode($this->con
a10e0 66 69 67 5b 27 6c 69 63 65 6e 73 65 27 5d 29 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 fig['license']).);.}.}.}..if.($t
a1100 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 27 61 75 74 68 6f 72 73 27 29 20 26 26 his->validateArray('authors').&&
a1120 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d .!empty($this->config['authors']
a1140 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 )).{.foreach.($this->config['aut
a1160 68 6f 72 73 27 5d 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 61 75 74 68 6f 72 29 20 7b 0a 69 66 20 hors'].as.$key.=>.$author).{.if.
a1180 28 21 69 73 5f 61 72 72 61 79 28 24 61 75 74 68 6f 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 (!is_array($author)).{.$this->er
a11a0 72 6f 72 73 5b 5d 20 3d 20 27 61 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 2e 27 20 3a 20 73 68 6f rors[].=.'authors.'.$key.'.:.sho
a11c0 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 2c 20 27 2e 67 65 74 74 79 70 65 28 24 61 75 74 68 uld.be.an.array,.'.gettype($auth
a11e0 6f 72 29 2e 27 20 67 69 76 65 6e 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 or).'.given';.unset($this->confi
a1200 67 5b 27 61 75 74 68 6f 72 73 27 5d 5b 24 6b 65 79 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d g['authors'][$key]);.continue;.}
a1220 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 68 6f 6d 65 70 61 67 65 27 2c 20 27 65 6d 61 .foreach.(array('homepage',.'ema
a1240 69 6c 27 2c 20 27 6e 61 6d 65 27 2c 20 27 72 6f 6c 65 27 29 20 61 73 20 24 61 75 74 68 6f 72 44 il',.'name',.'role').as.$authorD
a1260 61 74 61 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 6f 72 5b 24 61 75 74 68 6f 72 ata).{.if.(isset($author[$author
a1280 44 61 74 61 5d 29 20 26 26 20 21 69 73 5f 73 74 72 69 6e 67 28 24 61 75 74 68 6f 72 5b 24 61 75 Data]).&&.!is_string($author[$au
a12a0 74 68 6f 72 44 61 74 61 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 thorData])).{.$this->errors[].=.
a12c0 27 61 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 2e 27 2e 27 2e 24 61 75 74 68 6f 72 44 61 74 61 2e 'authors.'.$key.'.'.$authorData.
a12e0 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 2c 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 '.:.invalid.value,.must.be.a.str
a1300 69 6e 67 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f ing';.unset($this->config['autho
a1320 72 73 27 5d 5b 24 6b 65 79 5d 5b 24 61 75 74 68 6f 72 44 61 74 61 5d 29 3b 0a 7d 0a 7d 0a 69 66 rs'][$key][$authorData]);.}.}.if
a1340 20 28 69 73 73 65 74 28 24 61 75 74 68 6f 72 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 20 26 26 20 .(isset($author['homepage']).&&.
a1360 21 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 55 72 6c 28 24 61 75 74 68 6f 72 5b 27 68 6f 6d 65 70 !$this->filterUrl($author['homep
a1380 61 67 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 61 age'])).{.$this->warnings[].=.'a
a13a0 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 2e 27 2e 68 6f 6d 65 70 61 67 65 20 3a 20 69 6e 76 61 6c uthors.'.$key.'.homepage.:.inval
a13c0 69 64 20 76 61 6c 75 65 20 28 27 2e 24 61 75 74 68 6f 72 5b 27 68 6f 6d 65 70 61 67 65 27 5d 2e id.value.('.$author['homepage'].
a13e0 27 29 2c 20 6d 75 73 74 20 62 65 20 61 6e 20 68 74 74 70 2f 68 74 74 70 73 20 55 52 4c 27 3b 0a '),.must.be.an.http/https.URL';.
a1400 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 5b 24 unset($this->config['authors'][$
a1420 6b 65 79 5d 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 key]['homepage']);.}.if.(isset($
a1440 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c 27 5d 29 20 26 26 20 21 66 69 6c 74 65 72 5f 76 61 72 28 author['email']).&&.!filter_var(
a1460 24 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c 27 5d 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 $author['email'],.FILTER_VALIDAT
a1480 45 5f 45 4d 41 49 4c 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 E_EMAIL)).{.$this->warnings[].=.
a14a0 27 61 75 74 68 6f 72 73 2e 27 2e 24 6b 65 79 2e 27 2e 65 6d 61 69 6c 20 3a 20 69 6e 76 61 6c 69 'authors.'.$key.'.email.:.invali
a14c0 64 20 76 61 6c 75 65 20 28 27 2e 24 61 75 74 68 6f 72 5b 27 65 6d 61 69 6c 27 5d 2e 27 29 2c 20 d.value.('.$author['email'].'),.
a14e0 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 65 6d 61 69 6c 20 61 64 64 72 65 73 73 27 3b 0a must.be.a.valid.email.address';.
a1500 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 5b 24 unset($this->config['authors'][$
a1520 6b 65 79 5d 5b 27 65 6d 61 69 6c 27 5d 29 3b 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 key]['email']);.}.if.(empty($thi
a1540 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 5b 24 6b 65 79 5d 29 29 20 7b 0a 75 s->config['authors'][$key])).{.u
a1560 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 5b 24 6b nset($this->config['authors'][$k
a1580 65 79 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 ey]);.}.}.if.(empty($this->confi
a15a0 67 5b 27 61 75 74 68 6f 72 73 27 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f g['authors'])).{.unset($this->co
a15c0 6e 66 69 67 5b 27 61 75 74 68 6f 72 73 27 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 nfig['authors']);.}.}..if.($this
a15e0 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 27 73 75 70 70 6f 72 74 27 29 20 26 26 20 21 65 ->validateArray('support').&&.!e
a1600 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 29 29 20 mpty($this->config['support'])).
a1620 7b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 69 73 73 75 65 73 27 2c 20 27 66 6f 72 75 {.foreach.(array('issues',.'foru
a1640 6d 27 2c 20 27 77 69 6b 69 27 2c 20 27 73 6f 75 72 63 65 27 2c 20 27 65 6d 61 69 6c 27 2c 20 27 m',.'wiki',.'source',.'email',.'
a1660 69 72 63 27 2c 20 27 64 6f 63 73 27 2c 20 27 72 73 73 27 2c 20 27 63 68 61 74 27 29 20 61 73 20 irc',.'docs',.'rss',.'chat').as.
a1680 24 6b 65 79 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b $key).{.if.(isset($this->config[
a16a0 27 73 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 20 26 26 20 21 69 73 5f 73 74 72 69 6e 67 28 'support'][$key]).&&.!is_string(
a16c0 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 29 $this->config['support'][$key]))
a16e0 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 73 75 70 70 6f 72 74 2e 27 2e .{.$this->errors[].=.'support.'.
a1700 24 6b 65 79 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 2c 20 6d 75 73 74 20 62 65 20 $key.'.:.invalid.value,.must.be.
a1720 61 20 73 74 72 69 6e 67 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 a.string';.unset($this->config['
a1740 73 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 support'][$key]);.}.}..if.(isset
a1760 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 65 6d 61 69 6c ($this->config['support']['email
a1780 27 5d 29 20 26 26 20 21 66 69 6c 74 65 72 5f 76 61 72 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 ']).&&.!filter_var($this->config
a17a0 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 65 6d 61 69 6c 27 5d 2c 20 46 49 4c 54 45 52 5f 56 41 4c ['support']['email'],.FILTER_VAL
a17c0 49 44 41 54 45 5f 45 4d 41 49 4c 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b IDATE_EMAIL)).{.$this->warnings[
a17e0 5d 20 3d 20 27 73 75 70 70 6f 72 74 2e 65 6d 61 69 6c 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c ].=.'support.email.:.invalid.val
a1800 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 ue.('.$this->config['support']['
a1820 65 6d 61 69 6c 27 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 65 6d 61 69 email'].'),.must.be.a.valid.emai
a1840 6c 20 61 64 64 72 65 73 73 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b l.address';.unset($this->config[
a1860 27 73 75 70 70 6f 72 74 27 5d 5b 27 65 6d 61 69 6c 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 'support']['email']);.}..if.(iss
a1880 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 72 63 et($this->config['support']['irc
a18a0 27 5d 29 20 26 26 20 21 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 55 72 6c 28 24 74 68 69 73 2d 3e ']).&&.!$this->filterUrl($this->
a18c0 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 72 63 27 5d 2c 20 61 72 72 61 79 28 config['support']['irc'],.array(
a18e0 27 69 72 63 27 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 'irc'))).{.$this->warnings[].=.'
a1900 73 75 70 70 6f 72 74 2e 69 72 63 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 support.irc.:.invalid.value.('.$
a1920 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 72 63 27 5d 2e 27 this->config['support']['irc'].'
a1940 29 2c 20 6d 75 73 74 20 62 65 20 61 20 69 72 63 3a 2f 2f 3c 73 65 72 76 65 72 3e 2f 3c 63 68 61 ),.must.be.a.irc://<server>/<cha
a1960 6e 6e 65 6c 3e 20 55 52 4c 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b nnel>.URL';.unset($this->config[
a1980 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 72 63 27 5d 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 'support']['irc']);.}..foreach.(
a19a0 61 72 72 61 79 28 27 69 73 73 75 65 73 27 2c 20 27 66 6f 72 75 6d 27 2c 20 27 77 69 6b 69 27 2c array('issues',.'forum',.'wiki',
a19c0 20 27 73 6f 75 72 63 65 27 2c 20 27 64 6f 63 73 27 2c 20 27 63 68 61 74 27 29 20 61 73 20 24 6b .'source',.'docs',.'chat').as.$k
a19e0 65 79 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 ey).{.if.(isset($this->config['s
a1a00 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 29 20 26 26 20 21 24 74 68 69 73 2d 3e 66 69 6c 74 65 upport'][$key]).&&.!$this->filte
a1a20 72 55 72 6c 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 24 6b rUrl($this->config['support'][$k
a1a40 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 73 75 70 ey])).{.$this->warnings[].=.'sup
a1a60 70 6f 72 74 2e 27 2e 24 6b 65 79 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 port.'.$key.'.:.invalid.value.('
a1a80 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 24 6b 65 79 5d 2e .$this->config['support'][$key].
a1aa0 27 29 2c 20 6d 75 73 74 20 62 65 20 61 6e 20 68 74 74 70 2f 68 74 74 70 73 20 55 52 4c 27 3b 0a '),.must.be.an.http/https.URL';.
a1ac0 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 5b 24 unset($this->config['support'][$
a1ae0 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 key]);.}.}.if.(empty($this->conf
a1b00 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 ig['support'])).{.unset($this->c
a1b20 6f 6e 66 69 67 5b 27 73 75 70 70 6f 72 74 27 5d 29 3b 0a 7d 0a 7d 0a 0a 24 75 6e 62 6f 75 6e 64 onfig['support']);.}.}..$unbound
a1b40 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c Constraint.=.new.Constraint('=',
a1b60 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 .$this->versionParser->normalize
a1b80 28 27 64 65 76 2d 6d 61 73 74 65 72 27 29 29 3b 0a 24 73 74 61 62 6c 65 43 6f 6e 73 74 72 61 69 ('dev-master'));.$stableConstrai
a1ba0 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 27 31 2e 30 2e 30 27 nt.=.new.Constraint('=',.'1.0.0'
a1bc0 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6b 65 79 73 28 42 61 73 65 50 61 63 6b );..foreach.(array_keys(BasePack
a1be0 61 67 65 3a 3a 24 73 75 70 70 6f 72 74 65 64 4c 69 6e 6b 54 79 70 65 73 29 20 61 73 20 24 6c 69 age::$supportedLinkTypes).as.$li
a1c00 6e 6b 54 79 70 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 nkType).{.if.($this->validateArr
a1c20 61 79 28 24 6c 69 6e 6b 54 79 70 65 29 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f ay($linkType).&&.isset($this->co
a1c40 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 nfig[$linkType])).{.foreach.($th
a1c60 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6c 69 6e 6b 54 79 70 65 5d 20 61 73 20 24 70 61 63 6b 61 67 is->config[$linkType].as.$packag
a1c80 65 20 3d 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 24 65 72 72 20 3d 20 73 e.=>.$constraint).{.if.($err.=.s
a1ca0 65 6c 66 3a 3a 68 61 73 50 61 63 6b 61 67 65 4e 61 6d 69 6e 67 45 72 72 6f 72 28 24 70 61 63 6b elf::hasPackageNamingError($pack
a1cc0 61 67 65 2c 20 74 72 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 age,.true)).{.$this->warnings[].
a1ce0 3d 20 27 44 65 70 72 65 63 61 74 69 6f 6e 20 77 61 72 6e 69 6e 67 3a 20 27 2e 24 6c 69 6e 6b 54 =.'Deprecation.warning:.'.$linkT
a1d00 79 70 65 2e 27 2e 27 2e 24 65 72 72 2e 27 20 4d 61 6b 65 20 73 75 72 65 20 79 6f 75 20 66 69 78 ype.'.'.$err.'.Make.sure.you.fix
a1d20 20 74 68 69 73 20 61 73 20 43 6f 6d 70 6f 73 65 72 20 32 2e 30 20 77 69 6c 6c 20 65 72 72 6f 72 .this.as.Composer.2.0.will.error
a1d40 2e 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 41 2d .';.}.elseif.(!preg_match('{^[A-
a1d60 5a 61 2d 7a 30 2d 39 5f 2e 2f 2d 5d 2b 24 7d 27 2c 20 24 70 61 63 6b 61 67 65 29 29 20 7b 0a 24 Za-z0-9_./-]+$}',.$package)).{.$
a1d80 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 24 6c 69 6e 6b 54 79 70 65 2e 27 2e 27 this->warnings[].=.$linkType.'.'
a1da0 2e 24 70 61 63 6b 61 67 65 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 6b 65 79 2c 20 70 61 63 6b 61 .$package.'.:.invalid.key,.packa
a1dc0 67 65 20 6e 61 6d 65 73 20 6d 75 73 74 20 62 65 20 73 74 72 69 6e 67 73 20 63 6f 6e 74 61 69 6e ge.names.must.be.strings.contain
a1de0 69 6e 67 20 6f 6e 6c 79 20 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2e 2f 2d 5d 27 3b 0a 7d 0a 69 66 20 ing.only.[A-Za-z0-9_./-]';.}.if.
a1e00 28 21 69 73 5f 73 74 72 69 6e 67 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 74 68 69 (!is_string($constraint)).{.$thi
a1e20 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 6c 69 6e 6b 54 79 70 65 2e 27 2e 27 2e 24 70 61 63 s->errors[].=.$linkType.'.'.$pac
a1e40 6b 61 67 65 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 2c 20 6d 75 73 74 20 62 65 20 kage.'.:.invalid.value,.must.be.
a1e60 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 76 65 72 73 69 6f 6e 20 63 6f a.string.containing.a.version.co
a1e80 6e 73 74 72 61 69 6e 74 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 nstraint';.unset($this->config[$
a1ea0 6c 69 6e 6b 54 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 linkType][$package]);.}.elseif.(
a1ec0 27 73 65 6c 66 2e 76 65 72 73 69 6f 6e 27 20 21 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 'self.version'.!==.$constraint).
a1ee0 7b 0a 74 72 79 20 7b 0a 24 6c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 74 68 69 73 2d {.try.{.$linkConstraint.=.$this-
a1f00 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 >versionParser->parseConstraints
a1f20 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 ($constraint);.}.catch.(\Excepti
a1f40 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 6c 69 6e 6b on.$e).{.$this->errors[].=.$link
a1f60 54 79 70 65 2e 27 2e 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 65 Type.'.'.$package.'.:.invalid.ve
a1f80 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 28 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 rsion.constraint.('.$e->getMessa
a1fa0 67 65 28 29 2e 27 29 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 6c ge().')';.unset($this->config[$l
a1fc0 69 6e 6b 54 79 70 65 5d 5b 24 70 61 63 6b 61 67 65 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d inkType][$package]);.continue;.}
a1fe0 0a 0a 0a 20 69 66 20 28 0a 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 43 ....if.(.($this->flags.&.self::C
a2000 48 45 43 4b 5f 55 4e 42 4f 55 4e 44 5f 43 4f 4e 53 54 52 41 49 4e 54 53 29 0a 26 26 20 27 72 65 HECK_UNBOUND_CONSTRAINTS).&&.'re
a2020 71 75 69 72 65 27 20 3d 3d 3d 20 24 6c 69 6e 6b 54 79 70 65 0a 26 26 20 24 6c 69 6e 6b 43 6f 6e quire'.===.$linkType.&&.$linkCon
a2040 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 75 6e 62 6f 75 6e 64 43 6f 6e 73 74 72 61 straint->matches($unboundConstra
a2060 69 6e 74 29 0a 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f int).&&.!preg_match(PlatformRepo
a2080 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 sitory::PLATFORM_PACKAGE_REGEX,.
a20a0 24 70 61 63 6b 61 67 65 29 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 $package).).{.$this->warnings[].
a20c0 3d 20 24 6c 69 6e 6b 54 79 70 65 2e 27 2e 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 3a 20 75 6e 62 =.$linkType.'.'.$package.'.:.unb
a20e0 6f 75 6e 64 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 27 2e 24 63 6f 6e ound.version.constraints.('.$con
a2100 73 74 72 61 69 6e 74 2e 27 29 20 73 68 6f 75 6c 64 20 62 65 20 61 76 6f 69 64 65 64 27 3b 0a 7d straint.').should.be.avoided';.}
a2120 20 65 6c 73 65 69 66 20 28 0a 0a 20 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 .elseif.(...($this->flags.&.self
a2140 3a 3a 43 48 45 43 4b 5f 53 54 52 49 43 54 5f 43 4f 4e 53 54 52 41 49 4e 54 53 29 0a 26 26 20 27 ::CHECK_STRICT_CONSTRAINTS).&&.'
a2160 72 65 71 75 69 72 65 27 20 3d 3d 3d 20 24 6c 69 6e 6b 54 79 70 65 0a 26 26 20 73 75 62 73 74 72 require'.===.$linkType.&&.substr
a2180 28 24 6c 69 6e 6b 43 6f 6e 73 74 72 61 69 6e 74 2c 20 30 2c 20 31 29 20 3d 3d 3d 20 27 3d 27 0a ($linkConstraint,.0,.1).===.'='.
a21a0 26 26 20 24 73 74 61 62 6c 65 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 76 65 72 73 69 6f 6e 43 6f 6d &&.$stableConstraint->versionCom
a21c0 70 61 72 65 28 24 73 74 61 62 6c 65 43 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6c 69 6e 6b 43 6f 6e pare($stableConstraint,.$linkCon
a21e0 73 74 72 61 69 6e 74 2c 20 27 3c 3d 27 29 0a 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e straint,.'<=').).{.$this->warnin
a2200 67 73 5b 5d 20 3d 20 24 6c 69 6e 6b 54 79 70 65 2e 27 2e 27 2e 24 70 61 63 6b 61 67 65 2e 27 20 gs[].=.$linkType.'.'.$package.'.
a2220 3a 20 65 78 61 63 74 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 27 2e 24 :.exact.version.constraints.('.$
a2240 63 6f 6e 73 74 72 61 69 6e 74 2e 27 29 20 73 68 6f 75 6c 64 20 62 65 20 61 76 6f 69 64 65 64 20 constraint.').should.be.avoided.
a2260 69 66 20 74 68 65 20 70 61 63 6b 61 67 65 20 66 6f 6c 6c 6f 77 73 20 73 65 6d 61 6e 74 69 63 20 if.the.package.follows.semantic.
a2280 76 65 72 73 69 6f 6e 69 6e 67 27 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 versioning';.}.}.}.}.}..if.($thi
a22a0 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 27 73 75 67 67 65 73 74 27 29 20 26 26 20 21 s->validateArray('suggest').&&.!
a22c0 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 29 29 empty($this->config['suggest']))
a22e0 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 .{.foreach.($this->config['sugge
a2300 73 74 27 5d 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 64 65 73 63 72 69 70 74 69 6f 6e st'].as.$package.=>.$description
a2320 29 20 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 64 65 73 63 72 69 70 74 69 6f 6e 29 ).{.if.(!is_string($description)
a2340 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 73 75 67 67 65 73 74 2e 27 ).{.$this->errors[].=.'suggest.'
a2360 2e 24 70 61 63 6b 61 67 65 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 2c 20 6d 75 73 .$package.'.:.invalid.value,.mus
a2380 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 64 65 73 63 72 69 62 69 6e 67 20 77 68 79 20 74 68 65 t.be.a.string.describing.why.the
a23a0 20 70 61 63 6b 61 67 65 20 69 73 20 73 75 67 67 65 73 74 65 64 27 3b 0a 75 6e 73 65 74 28 24 74 .package.is.suggested';.unset($t
a23c0 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 73 75 67 67 65 73 74 27 5d 5b 24 70 61 63 6b 61 67 65 5d his->config['suggest'][$package]
a23e0 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 );.}.}.}..if.($this->validateStr
a2400 69 6e 67 28 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 29 20 26 26 20 21 65 6d 70 ing('minimum-stability').&&.!emp
a2420 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c ty($this->config['minimum-stabil
a2440 69 74 79 27 5d 29 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 42 61 73 65 50 61 63 6b 61 67 65 ity'])).{.if.(!isset(BasePackage
a2460 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6d 69 ::$stabilities[$this->config['mi
a2480 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 nimum-stability']])).{.$this->er
a24a0 72 6f 72 73 5b 5d 20 3d 20 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 20 3a 20 69 6e rors[].=.'minimum-stability.:.in
a24c0 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6d 69 valid.value.('.$this->config['mi
a24e0 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 2e 27 29 2c 20 6d 75 73 74 20 62 65 20 6f 6e nimum-stability'].'),.must.be.on
a2500 65 20 6f 66 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 e.of.'.implode(',.',.array_keys(
a2520 42 61 73 65 50 61 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 29 29 3b 0a 75 6e 73 BasePackage::$stabilities));.uns
a2540 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c et($this->config['minimum-stabil
a2560 69 74 79 27 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 ity']);.}.}..if.($this->validate
a2580 41 72 72 61 79 28 27 61 75 74 6f 6c 6f 61 64 27 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 Array('autoload').&&.!empty($thi
a25a0 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 29 29 20 7b 0a 24 74 79 70 65 73 s->config['autoload'])).{.$types
a25c0 20 3d 20 61 72 72 61 79 28 27 70 73 72 2d 30 27 2c 20 27 70 73 72 2d 34 27 2c 20 27 63 6c 61 73 .=.array('psr-0',.'psr-4',.'clas
a25e0 73 6d 61 70 27 2c 20 27 66 69 6c 65 73 27 2c 20 27 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c smap',.'files',.'exclude-from-cl
a2600 61 73 73 6d 61 70 27 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 assmap');.foreach.($this->config
a2620 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 74 79 70 65 43 6f ['autoload'].as.$type.=>.$typeCo
a2640 6e 66 69 67 29 20 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 74 79 70 65 2c 20 24 74 79 nfig).{.if.(!in_array($type,.$ty
a2660 70 65 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 27 61 75 74 6f 6c pes)).{.$this->errors[].=.'autol
a2680 6f 61 64 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 74 79 70 65 2e 27 29 2c oad.:.invalid.value.('.$type.'),
a26a0 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 .must.be.one.of.'.implode(',.',.
a26c0 24 74 79 70 65 73 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 $types);.unset($this->config['au
a26e0 74 6f 6c 6f 61 64 27 5d 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 69 66 20 28 24 74 79 70 65 20 3d 3d toload'][$type]);.}.if.($type.==
a2700 3d 20 27 70 73 72 2d 34 27 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 79 70 65 43 6f 6e 66 69 =.'psr-4').{.foreach.($typeConfi
a2720 67 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 3e 20 24 64 69 72 73 29 20 7b 0a 69 66 20 28 g.as.$namespace.=>.$dirs).{.if.(
a2740 24 6e 61 6d 65 73 70 61 63 65 20 21 3d 3d 20 27 27 20 26 26 20 27 5c 5c 27 20 21 3d 3d 20 73 75 $namespace.!==.''.&&.'\\'.!==.su
a2760 62 73 74 72 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 2d 31 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 bstr($namespace,.-1)).{.$this->e
a2780 72 72 6f 72 73 5b 5d 20 3d 20 27 61 75 74 6f 6c 6f 61 64 2e 70 73 72 2d 34 20 3a 20 69 6e 76 61 rrors[].=.'autoload.psr-4.:.inva
a27a0 6c 69 64 20 76 61 6c 75 65 20 28 27 2e 24 6e 61 6d 65 73 70 61 63 65 2e 27 29 2c 20 6e 61 6d 65 lid.value.('.$namespace.'),.name
a27c0 73 70 61 63 65 73 20 6d 75 73 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 spaces.must.end.with.a.namespace
a27e0 20 73 65 70 61 72 61 74 6f 72 2c 20 73 68 6f 75 6c 64 20 62 65 20 27 2e 24 6e 61 6d 65 73 70 61 .separator,.should.be.'.$namespa
a2800 63 65 2e 27 5c 5c 5c 5c 27 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 ce.'\\\\';.}.}.}.}.}..if.(!empty
a2820 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 5b 27 70 73 72 2d ($this->config['autoload']['psr-
a2840 34 27 5d 29 20 26 26 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 74 61 4']).&&.!empty($this->config['ta
a2860 72 67 65 74 2d 64 69 72 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d rget-dir'])).{.$this->errors[].=
a2880 20 27 74 61 72 67 65 74 2d 64 69 72 20 3a 20 74 68 69 73 20 63 61 6e 20 6e 6f 74 20 62 65 20 75 .'target-dir.:.this.can.not.be.u
a28a0 73 65 64 20 74 6f 67 65 74 68 65 72 20 77 69 74 68 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 2e 70 sed.together.with.the.autoload.p
a28c0 73 72 2d 34 20 73 65 74 74 69 6e 67 2c 20 72 65 6d 6f 76 65 20 74 61 72 67 65 74 2d 64 69 72 20 sr-4.setting,.remove.target-dir.
a28e0 74 6f 20 75 70 67 72 61 64 65 20 74 6f 20 70 73 72 2d 34 27 3b 0a 0a 20 0a 20 75 6e 73 65 74 28 to.upgrade.to.psr-4';.....unset(
a2900 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 61 75 74 6f 6c 6f 61 64 27 5d 5b 27 70 73 72 2d 34 $this->config['autoload']['psr-4
a2920 27 5d 29 3b 0a 7d 0a 0a 0a 20 0a 0a 0a 20 0a 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 46 ']);.}..........$this->validateF
a2940 6c 61 74 41 72 72 61 79 28 27 69 6e 63 6c 75 64 65 2d 70 61 74 68 27 29 3b 0a 24 74 68 69 73 2d latArray('include-path');.$this-
a2960 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 27 74 72 61 6e 73 70 6f 72 74 2d 6f 70 74 69 6f 6e >validateArray('transport-option
a2980 73 27 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b s');....if.(isset($this->config[
a29a0 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 29 29 20 7b 0a 69 66 20 'extra']['branch-alias'])).{.if.
a29c0 28 21 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 (!is_array($this->config['extra'
a29e0 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 ]['branch-alias'])).{.$this->err
a2a00 6f 72 73 5b 5d 20 3d 20 27 65 78 74 72 61 2e 62 72 61 6e 63 68 2d 61 6c 69 61 73 20 3a 20 6d 75 ors[].=.'extra.branch-alias.:.mu
a2a20 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 20 6f 66 20 76 65 72 73 69 6f 6e 73 20 3d 3e 20 61 6c st.be.an.array.of.versions.=>.al
a2a40 69 61 73 65 73 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d iases';.}.else.{.foreach.($this-
a2a60 3e 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d >config['extra']['branch-alias']
a2a80 20 61 73 20 24 73 6f 75 72 63 65 42 72 61 6e 63 68 20 3d 3e 20 24 74 61 72 67 65 74 42 72 61 6e .as.$sourceBranch.=>.$targetBran
a2aa0 63 68 29 20 7b 0a 0a 20 69 66 20 28 27 2d 64 65 76 27 20 21 3d 3d 20 73 75 62 73 74 72 28 24 74 ch).{...if.('-dev'.!==.substr($t
a2ac0 61 72 67 65 74 42 72 61 6e 63 68 2c 20 2d 34 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 argetBranch,.-4)).{.$this->warni
a2ae0 6e 67 73 5b 5d 20 3d 20 27 65 78 74 72 61 2e 62 72 61 6e 63 68 2d 61 6c 69 61 73 2e 27 2e 24 73 ngs[].=.'extra.branch-alias.'.$s
a2b00 6f 75 72 63 65 42 72 61 6e 63 68 2e 27 20 3a 20 74 68 65 20 74 61 72 67 65 74 20 62 72 61 6e 63 ourceBranch.'.:.the.target.branc
a2b20 68 20 28 27 2e 24 74 61 72 67 65 74 42 72 61 6e 63 68 2e 27 29 20 6d 75 73 74 20 65 6e 64 20 69 h.('.$targetBranch.').must.end.i
a2b40 6e 20 2d 64 65 76 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 27 65 78 n.-dev';.unset($this->config['ex
a2b60 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 5b 24 73 6f 75 72 63 65 42 72 61 tra']['branch-alias'][$sourceBra
a2b80 6e 63 68 5d 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 76 61 6c 69 64 61 74 65 nch]);..continue;.}....$validate
a2ba0 64 54 61 72 67 65 74 42 72 61 6e 63 68 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 dTargetBranch.=.$this->versionPa
a2bc0 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 73 75 62 73 74 72 28 24 74 61 rser->normalizeBranch(substr($ta
a2be0 72 67 65 74 42 72 61 6e 63 68 2c 20 30 2c 20 2d 34 29 29 3b 0a 69 66 20 28 27 2d 64 65 76 27 20 rgetBranch,.0,.-4));.if.('-dev'.
a2c00 21 3d 3d 20 73 75 62 73 74 72 28 24 76 61 6c 69 64 61 74 65 64 54 61 72 67 65 74 42 72 61 6e 63 !==.substr($validatedTargetBranc
a2c20 68 2c 20 2d 34 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 65 h,.-4)).{.$this->warnings[].=.'e
a2c40 78 74 72 61 2e 62 72 61 6e 63 68 2d 61 6c 69 61 73 2e 27 2e 24 73 6f 75 72 63 65 42 72 61 6e 63 xtra.branch-alias.'.$sourceBranc
a2c60 68 2e 27 20 3a 20 74 68 65 20 74 61 72 67 65 74 20 62 72 61 6e 63 68 20 28 27 2e 24 74 61 72 67 h.'.:.the.target.branch.('.$targ
a2c80 65 74 42 72 61 6e 63 68 2e 27 29 20 6d 75 73 74 20 62 65 20 61 20 70 61 72 73 65 61 62 6c 65 20 etBranch.').must.be.a.parseable.
a2ca0 6e 75 6d 62 65 72 20 6c 69 6b 65 20 32 2e 30 2d 64 65 76 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 number.like.2.0-dev';.unset($thi
a2cc0 73 2d 3e 63 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 s->config['extra']['branch-alias
a2ce0 27 5d 5b 24 73 6f 75 72 63 65 42 72 61 6e 63 68 5d 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d '][$sourceBranch]);..continue;.}
a2d00 0a 0a 0a 20 69 66 20 28 28 24 73 6f 75 72 63 65 50 72 65 66 69 78 20 3d 20 24 74 68 69 73 2d 3e ....if.(($sourcePrefix.=.$this->
a2d20 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 4e 75 6d 65 72 69 63 41 6c 69 61 73 versionParser->parseNumericAlias
a2d40 50 72 65 66 69 78 28 24 73 6f 75 72 63 65 42 72 61 6e 63 68 29 29 0a 26 26 20 28 24 74 61 72 67 Prefix($sourceBranch)).&&.($targ
a2d60 65 74 50 72 65 66 69 78 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d etPrefix.=.$this->versionParser-
a2d80 3e 70 61 72 73 65 4e 75 6d 65 72 69 63 41 6c 69 61 73 50 72 65 66 69 78 28 24 74 61 72 67 65 74 >parseNumericAliasPrefix($target
a2da0 42 72 61 6e 63 68 29 29 0a 26 26 20 28 73 74 72 69 70 6f 73 28 24 74 61 72 67 65 74 50 72 65 66 Branch)).&&.(stripos($targetPref
a2dc0 69 78 2c 20 24 73 6f 75 72 63 65 50 72 65 66 69 78 29 20 21 3d 3d 20 30 29 0a 29 20 7b 0a 24 74 ix,.$sourcePrefix).!==.0).).{.$t
a2de0 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 65 78 74 72 61 2e 62 72 61 6e 63 68 2d his->warnings[].=.'extra.branch-
a2e00 61 6c 69 61 73 2e 27 2e 24 73 6f 75 72 63 65 42 72 61 6e 63 68 2e 27 20 3a 20 74 68 65 20 74 61 alias.'.$sourceBranch.'.:.the.ta
a2e20 72 67 65 74 20 62 72 61 6e 63 68 20 28 27 2e 24 74 61 72 67 65 74 42 72 61 6e 63 68 2e 27 29 20 rget.branch.('.$targetBranch.').
a2e40 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 6e 75 6d 65 72 69 63 20 61 6c 69 61 73 20 66 6f 72 is.not.a.valid.numeric.alias.for
a2e60 20 74 68 69 73 20 76 65 72 73 69 6f 6e 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e .this.version';.unset($this->con
a2e80 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 5b 24 73 6f fig['extra']['branch-alias'][$so
a2ea0 75 72 63 65 42 72 61 6e 63 68 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 urceBranch]);.}.}.}.}..if.($this
a2ec0 2d 3e 65 72 72 6f 72 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 50 61 63 ->errors).{.throw.new.InvalidPac
a2ee0 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 2c 20 24 74 68 kageException($this->errors,.$th
a2f00 69 73 2d 3e 77 61 72 6e 69 6e 67 73 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 24 70 61 63 6b is->warnings,.$config);.}..$pack
a2f20 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 74 68 69 73 2d age.=.$this->loader->load($this-
a2f40 3e 63 6f 6e 66 69 67 2c 20 24 63 6c 61 73 73 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 >config,.$class);.$this->config.
a2f60 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 70 75 62 =.null;..return.$package;.}..pub
a2f80 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 57 61 72 6e 69 6e 67 73 28 29 0a 7b 0a 72 65 74 lic.function.getWarnings().{.ret
a2fa0 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 urn.$this->warnings;.}..public.f
a2fc0 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 unction.getErrors().{.return.$th
a2fe0 69 73 2d 3e 65 72 72 6f 72 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e is->errors;.}..public.static.fun
a3000 63 74 69 6f 6e 20 68 61 73 50 61 63 6b 61 67 65 4e 61 6d 69 6e 67 45 72 72 6f 72 28 24 6e 61 6d ction.hasPackageNamingError($nam
a3020 65 2c 20 24 69 73 4c 69 6e 6b 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d e,.$isLink.=.false).{.if.(preg_m
a3040 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 atch(PlatformRepository::PLATFOR
a3060 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 72 65 74 75 72 M_PACKAGE_REGEX,.$name)).{.retur
a3080 6e 3b 0a 7d 0a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 7a 30 2d 39 n;.}..if.(!preg_match('{^[a-z0-9
a30a0 5d 28 5b 5f 2e 2d 5d 3f 5b 61 2d 7a 30 2d 39 5d 2b 29 2a 2f 5b 61 2d 7a 30 2d 39 5d 28 5b 5f 2e ]([_.-]?[a-z0-9]+)*/[a-z0-9]([_.
a30c0 2d 5d 3f 5b 61 2d 7a 30 2d 39 5d 2b 29 2a 24 7d 69 44 27 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 72 -]?[a-z0-9]+)*$}iD',.$name)).{.r
a30e0 65 74 75 72 6e 20 24 6e 61 6d 65 2e 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 69 74 20 73 68 6f eturn.$name.'.is.invalid,.it.sho
a3100 75 6c 64 20 68 61 76 65 20 61 20 76 65 6e 64 6f 72 20 6e 61 6d 65 2c 20 61 20 66 6f 72 77 61 72 uld.have.a.vendor.name,.a.forwar
a3120 64 20 73 6c 61 73 68 2c 20 61 6e 64 20 61 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 2e 20 54 68 65 d.slash,.and.a.package.name..The
a3140 20 76 65 6e 64 6f 72 20 61 6e 64 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 63 61 6e 20 62 65 20 .vendor.and.package.name.can.be.
a3160 77 6f 72 64 73 20 73 65 70 61 72 61 74 65 64 20 62 79 20 2d 2c 20 2e 20 6f 72 20 5f 2e 20 54 68 words.separated.by.-,...or._..Th
a3180 65 20 63 6f 6d 70 6c 65 74 65 20 6e 61 6d 65 20 73 68 6f 75 6c 64 20 6d 61 74 63 68 20 22 5b 61 e.complete.name.should.match."[a
a31a0 2d 7a 30 2d 39 5d 28 5b 5f 2e 2d 5d 3f 5b 61 2d 7a 30 2d 39 5d 2b 29 2a 2f 5b 61 2d 7a 30 2d 39 -z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9
a31c0 5d 28 5b 5f 2e 2d 5d 3f 5b 61 2d 7a 30 2d 39 5d 2b 29 2a 22 2e 27 3b 0a 7d 0a 0a 24 72 65 73 65 ]([_.-]?[a-z0-9]+)*".';.}..$rese
a31e0 72 76 65 64 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 27 6e 75 6c 27 2c 20 27 63 6f 6e 27 2c 20 rvedNames.=.array('nul',.'con',.
a3200 27 70 72 6e 27 2c 20 27 61 75 78 27 2c 20 27 63 6f 6d 31 27 2c 20 27 63 6f 6d 32 27 2c 20 27 63 'prn',.'aux',.'com1',.'com2',.'c
a3220 6f 6d 33 27 2c 20 27 63 6f 6d 34 27 2c 20 27 63 6f 6d 35 27 2c 20 27 63 6f 6d 36 27 2c 20 27 63 om3',.'com4',.'com5',.'com6',.'c
a3240 6f 6d 37 27 2c 20 27 63 6f 6d 38 27 2c 20 27 63 6f 6d 39 27 2c 20 27 6c 70 74 31 27 2c 20 27 6c om7',.'com8',.'com9',.'lpt1',.'l
a3260 70 74 32 27 2c 20 27 6c 70 74 33 27 2c 20 27 6c 70 74 34 27 2c 20 27 6c 70 74 35 27 2c 20 27 6c pt2',.'lpt3',.'lpt4',.'lpt5',.'l
a3280 70 74 36 27 2c 20 27 6c 70 74 37 27 2c 20 27 6c 70 74 38 27 2c 20 27 6c 70 74 39 27 29 3b 0a 24 pt6',.'lpt7',.'lpt8',.'lpt9');.$
a32a0 62 69 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 bits.=.explode('/',.strtolower($
a32c0 6e 61 6d 65 29 29 3b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 62 69 74 73 5b 30 5d 2c 20 24 name));.if.(in_array($bits[0],.$
a32e0 72 65 73 65 72 76 65 64 4e 61 6d 65 73 2c 20 74 72 75 65 29 20 7c 7c 20 69 6e 5f 61 72 72 61 79 reservedNames,.true).||.in_array
a3300 28 24 62 69 74 73 5b 31 5d 2c 20 24 72 65 73 65 72 76 65 64 4e 61 6d 65 73 2c 20 74 72 75 65 29 ($bits[1],.$reservedNames,.true)
a3320 29 20 7b 0a 72 65 74 75 72 6e 20 24 6e 61 6d 65 2e 27 20 69 73 20 72 65 73 65 72 76 65 64 2c 20 ).{.return.$name.'.is.reserved,.
a3340 70 61 63 6b 61 67 65 20 61 6e 64 20 76 65 6e 64 6f 72 20 6e 61 6d 65 73 20 63 61 6e 20 6e 6f 74 package.and.vendor.names.can.not
a3360 20 6d 61 74 63 68 20 61 6e 79 20 6f 66 3a 20 27 2e 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 24 .match.any.of:.'.implode(',.',.$
a3380 72 65 73 65 72 76 65 64 4e 61 6d 65 73 29 2e 27 2e 27 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f reservedNames).'.';.}..if.(preg_
a33a0 6d 61 74 63 68 28 27 7b 5c 2e 6a 73 6f 6e 24 7d 27 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 72 65 74 match('{\.json$}',.$name)).{.ret
a33c0 75 72 6e 20 24 6e 61 6d 65 2e 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 70 61 63 6b 61 67 65 20 urn.$name.'.is.invalid,.package.
a33e0 6e 61 6d 65 73 20 63 61 6e 20 6e 6f 74 20 65 6e 64 20 69 6e 20 2e 6a 73 6f 6e 2c 20 63 6f 6e 73 names.can.not.end.in..json,.cons
a3400 69 64 65 72 20 72 65 6e 61 6d 69 6e 67 20 69 74 20 6f 72 20 70 65 72 68 61 70 73 20 75 73 69 6e ider.renaming.it.or.perhaps.usin
a3420 67 20 61 20 2d 6a 73 6f 6e 20 73 75 66 66 69 78 20 69 6e 73 74 65 61 64 2e 27 3b 0a 7d 0a 0a 69 g.a.-json.suffix.instead.';.}..i
a3440 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5b 41 2d 5a 5d 7d 27 2c 20 24 6e 61 6d 65 29 29 f.(preg_match('{[A-Z]}',.$name))
a3460 20 7b 0a 69 66 20 28 24 69 73 4c 69 6e 6b 29 20 7b 0a 72 65 74 75 72 6e 20 24 6e 61 6d 65 2e 27 .{.if.($isLink).{.return.$name.'
a3480 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 69 74 20 73 68 6f 75 6c 64 20 6e 6f 74 20 63 6f 6e 74 61 .is.invalid,.it.should.not.conta
a34a0 69 6e 20 75 70 70 65 72 63 61 73 65 20 63 68 61 72 61 63 74 65 72 73 2e 20 50 6c 65 61 73 65 20 in.uppercase.characters..Please.
a34c0 75 73 65 20 27 2e 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 2e 27 20 69 6e 73 74 65 61 use.'.strtolower($name).'.instea
a34e0 64 2e 27 3b 0a 7d 0a 0a 24 73 75 67 67 65 73 74 4e 61 6d 65 20 3d 20 70 72 65 67 5f 72 65 70 6c d.';.}..$suggestName.=.preg_repl
a3500 61 63 65 28 27 7b 28 3f 3a 28 5b 61 2d 7a 5d 29 28 5b 41 2d 5a 5d 29 7c 28 5b 41 2d 5a 5d 29 28 ace('{(?:([a-z])([A-Z])|([A-Z])(
a3520 5b 41 2d 5a 5d 5b 61 2d 7a 5d 29 29 7d 27 2c 20 27 5c 5c 31 5c 5c 33 2d 5c 5c 32 5c 5c 34 27 2c [A-Z][a-z]))}',.'\\1\\3-\\2\\4',
a3540 20 24 6e 61 6d 65 29 3b 0a 24 73 75 67 67 65 73 74 4e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 .$name);.$suggestName.=.strtolow
a3560 65 72 28 24 73 75 67 67 65 73 74 4e 61 6d 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6e 61 6d 65 2e er($suggestName);..return.$name.
a3580 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 69 74 20 73 68 6f 75 6c 64 20 6e 6f 74 20 63 6f 6e 74 '.is.invalid,.it.should.not.cont
a35a0 61 69 6e 20 75 70 70 65 72 63 61 73 65 20 63 68 61 72 61 63 74 65 72 73 2e 20 57 65 20 73 75 67 ain.uppercase.characters..We.sug
a35c0 67 65 73 74 20 75 73 69 6e 67 20 27 2e 24 73 75 67 67 65 73 74 4e 61 6d 65 2e 27 20 69 6e 73 74 gest.using.'.$suggestName.'.inst
a35e0 65 61 64 2e 27 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c ead.';.}.}..private.function.val
a3600 69 64 61 74 65 52 65 67 65 78 28 24 70 72 6f 70 65 72 74 79 2c 20 24 72 65 67 65 78 2c 20 24 6d idateRegex($property,.$regex,.$m
a3620 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e andatory.=.false).{.if.(!$this->
a3640 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 24 70 72 6f 70 65 72 74 79 2c 20 24 6d 61 6e 64 61 validateString($property,.$manda
a3660 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 70 tory)).{.return.false;.}..if.(!p
a3680 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 27 2e 24 72 65 67 65 78 2e 27 24 7d 75 27 2c 20 24 74 68 reg_match('{^'.$regex.'$}u',.$th
a36a0 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 29 20 7b 0a 24 6d 65 73 73 61 is->config[$property])).{.$messa
a36c0 67 65 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 ge.=.$property.'.:.invalid.value
a36e0 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 2e 27 29 2c .('.$this->config[$property].'),
a3700 20 6d 75 73 74 20 6d 61 74 63 68 20 27 2e 24 72 65 67 65 78 3b 0a 69 66 20 28 24 6d 61 6e 64 61 .must.match.'.$regex;.if.($manda
a3720 74 6f 72 79 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 6d 65 73 73 61 tory).{.$this->errors[].=.$messa
a3740 67 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d 20 3d ge;.}.else.{.$this->warnings[].=
a3760 20 24 6d 65 73 73 61 67 65 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 .$message;.}.unset($this->config
a3780 5b 24 70 72 6f 70 65 72 74 79 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a [$property]);..return.false;.}..
a37a0 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e return.true;.}..private.function
a37c0 20 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 24 70 72 6f 70 65 72 74 79 2c 20 24 6d 61 6e 64 .validateString($property,.$mand
a37e0 61 74 6f 72 79 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 atory.=.false).{.if.(isset($this
a3800 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 20 26 26 20 21 69 73 5f 73 74 72 69 ->config[$property]).&&.!is_stri
a3820 6e 67 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 29 20 7b 0a ng($this->config[$property])).{.
a3840 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 $this->errors[].=.$property.'.:.
a3860 73 68 6f 75 6c 64 20 62 65 20 61 20 73 74 72 69 6e 67 2c 20 27 2e 67 65 74 74 79 70 65 28 24 74 should.be.a.string,.'.gettype($t
a3880 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 2e 27 20 67 69 76 65 6e 27 his->config[$property]).'.given'
a38a0 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d ;.unset($this->config[$property]
a38c0 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 );..return.false;.}..if.(!isset(
a38e0 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 20 7c 7c 20 74 72 69 $this->config[$property]).||.tri
a3900 6d 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 20 3d 3d 3d 20 m($this->config[$property]).===.
a3920 27 27 29 20 7b 0a 69 66 20 28 24 6d 61 6e 64 61 74 6f 72 79 29 20 7b 0a 24 74 68 69 73 2d 3e 65 '').{.if.($mandatory).{.$this->e
a3940 72 72 6f 72 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 6d 75 73 74 20 62 65 20 rrors[].=.$property.'.:.must.be.
a3960 70 72 65 73 65 6e 74 27 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b present';.}.unset($this->config[
a3980 24 70 72 6f 70 65 72 74 79 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 $property]);..return.false;.}..r
a39a0 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 eturn.true;.}..private.function.
a39c0 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 24 70 72 6f 70 65 72 74 79 2c 20 24 6d 61 6e 64 61 74 validateArray($property,.$mandat
a39e0 6f 72 79 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e ory.=.false).{.if.(isset($this->
a3a00 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 20 26 26 20 21 69 73 5f 61 72 72 61 79 28 config[$property]).&&.!is_array(
a3a20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 29 20 7b 0a 24 74 68 $this->config[$property])).{.$th
a3a40 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 73 68 6f is->errors[].=.$property.'.:.sho
a3a60 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 2c 20 27 2e 67 65 74 74 79 70 65 28 24 74 68 69 73 uld.be.an.array,.'.gettype($this
a3a80 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 2e 27 20 67 69 76 65 6e 27 3b 0a 75 ->config[$property]).'.given';.u
a3aa0 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 3b 0a nset($this->config[$property]);.
a3ac0 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 .return.false;.}..if.(!isset($th
a3ae0 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 20 7c 7c 20 21 63 6f 75 6e 74 is->config[$property]).||.!count
a3b00 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 29 20 7b 0a 69 66 ($this->config[$property])).{.if
a3b20 20 28 24 6d 61 6e 64 61 74 6f 72 79 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b 5d 20 .($mandatory).{.$this->errors[].
a3b40 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 6d 75 73 74 20 62 65 20 70 72 65 73 65 6e 74 20 =.$property.'.:.must.be.present.
a3b60 61 6e 64 20 63 6f 6e 74 61 69 6e 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 and.contain.at.least.one.element
a3b80 27 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 ';.}.unset($this->config[$proper
a3ba0 74 79 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 ty]);..return.false;.}..return.t
a3bc0 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 rue;.}..private.function.validat
a3be0 65 46 6c 61 74 41 72 72 61 79 28 24 70 72 6f 70 65 72 74 79 2c 20 24 72 65 67 65 78 20 3d 20 6e eFlatArray($property,.$regex.=.n
a3c00 75 6c 6c 2c 20 24 6d 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 ull,.$mandatory.=.false).{.if.(!
a3c20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 72 72 61 79 28 24 70 72 6f 70 65 72 74 79 2c 20 $this->validateArray($property,.
a3c40 24 6d 61 6e 64 61 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a $mandatory)).{.return.false;.}..
a3c60 24 70 61 73 73 20 3d 20 74 72 75 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f $pass.=.true;.foreach.($this->co
a3c80 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 nfig[$property].as.$key.=>.$valu
a3ca0 65 29 20 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 20 26 26 20 21 e).{.if.(!is_string($value).&&.!
a3cc0 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 is_numeric($value)).{.$this->err
a3ce0 6f 72 73 5b 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 2e 27 2e 24 6b 65 79 2e 27 20 3a 20 6d ors[].=.$property.'.'.$key.'.:.m
a3d00 75 73 74 20 62 65 20 61 20 73 74 72 69 6e 67 20 6f 72 20 69 6e 74 2c 20 27 2e 67 65 74 74 79 70 ust.be.a.string.or.int,.'.gettyp
a3d20 65 28 24 76 61 6c 75 65 29 2e 27 20 67 69 76 65 6e 27 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d e($value).'.given';.unset($this-
a3d40 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 5b 24 6b 65 79 5d 29 3b 0a 24 70 61 73 73 >config[$property][$key]);.$pass
a3d60 20 3d 20 66 61 6c 73 65 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 67 .=.false;..continue;.}..if.($reg
a3d80 65 78 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 27 2e 24 72 65 67 65 78 2e 27 24 ex.&&.!preg_match('{^'.$regex.'$
a3da0 7d 75 27 2c 20 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b }u',.$value)).{.$this->warnings[
a3dc0 5d 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 2e 27 2e 24 6b 65 79 2e 27 20 3a 20 69 6e 76 61 6c ].=.$property.'.'.$key.'.:.inval
a3de0 69 64 20 76 61 6c 75 65 20 28 27 2e 24 76 61 6c 75 65 2e 27 29 2c 20 6d 75 73 74 20 6d 61 74 63 id.value.('.$value.'),.must.matc
a3e00 68 20 27 2e 24 72 65 67 65 78 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b h.'.$regex;.unset($this->config[
a3e20 24 70 72 6f 70 65 72 74 79 5d 5b 24 6b 65 79 5d 29 3b 0a 24 70 61 73 73 20 3d 20 66 61 6c 73 65 $property][$key]);.$pass.=.false
a3e40 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 73 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 ;.}.}..return.$pass;.}..private.
a3e60 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 55 72 6c 28 24 70 72 6f 70 65 72 74 79 2c 20 function.validateUrl($property,.
a3e80 24 6d 61 6e 64 61 74 6f 72 79 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 $mandatory.=.false).{.if.(!$this
a3ea0 2d 3e 76 61 6c 69 64 61 74 65 53 74 72 69 6e 67 28 24 70 72 6f 70 65 72 74 79 2c 20 24 6d 61 6e ->validateString($property,.$man
a3ec0 64 61 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 datory)).{.return.false;.}..if.(
a3ee0 21 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 55 72 6c 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b !$this->filterUrl($this->config[
a3f00 24 70 72 6f 70 65 72 74 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 72 6e 69 6e 67 73 5b 5d $property])).{.$this->warnings[]
a3f20 20 3d 20 24 70 72 6f 70 65 72 74 79 2e 27 20 3a 20 69 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 28 .=.$property.'.:.invalid.value.(
a3f40 27 2e 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 2e 27 29 2c 20 6d '.$this->config[$property].'),.m
a3f60 75 73 74 20 62 65 20 61 6e 20 68 74 74 70 2f 68 74 74 70 73 20 55 52 4c 27 3b 0a 75 6e 73 65 74 ust.be.an.http/https.URL';.unset
a3f80 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 5b 24 70 72 6f 70 65 72 74 79 5d 29 3b 0a 0a 72 65 74 ($this->config[$property]);..ret
a3fa0 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 urn.false;.}..return.true;.}..pr
a3fc0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 55 72 6c 28 24 76 61 6c 75 65 2c ivate.function.filterUrl($value,
a3fe0 20 61 72 72 61 79 20 24 73 63 68 65 6d 65 73 20 3d 20 61 72 72 61 79 28 27 68 74 74 70 27 2c 20 .array.$schemes.=.array('http',.
a4000 27 68 74 74 70 73 27 29 29 0a 7b 0a 69 66 20 28 24 76 61 6c 75 65 20 3d 3d 3d 20 27 27 29 20 7b 'https')).{.if.($value.===.'').{
a4020 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 62 69 74 73 20 3d 20 70 61 72 73 65 5f 75 .return.true;.}..$bits.=.parse_u
a4040 72 6c 28 24 76 61 6c 75 65 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 62 69 74 73 5b 27 73 63 68 rl($value);.if.(empty($bits['sch
a4060 65 6d 65 27 5d 29 20 7c 7c 20 65 6d 70 74 79 28 24 62 69 74 73 5b 27 68 6f 73 74 27 5d 29 29 20 eme']).||.empty($bits['host'])).
a4080 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 {.return.false;.}..if.(!in_array
a40a0 28 24 62 69 74 73 5b 27 73 63 68 65 6d 65 27 5d 2c 20 24 73 63 68 65 6d 65 73 2c 20 74 72 75 65 ($bits['scheme'],.$schemes,.true
a40c0 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 )).{.return.false;.}..return.tru
a40e0 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 e;.}.}.<?php............namespac
a4100 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 e.Composer\Package;..use.Compose
a4120 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 6e r\Json\JsonFile;.use.Composer\In
a4140 73 74 61 6c 6c 65 72 5c 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 75 73 65 staller\InstallationManager;.use
a4160 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 4d .Composer\Repository\RepositoryM
a4180 61 6e 61 67 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 anager;.use.Composer\Util\Proces
a41a0 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f sExecutor;.use.Composer\Reposito
a41c0 72 79 5c 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 ry\ArrayRepository;.use.Composer
a41e0 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 75 73 65 \Package\Dumper\ArrayDumper;.use
a4200 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f .Composer\Package\Loader\ArrayLo
a4220 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 20 61 73 20 47 ader;.use.Composer\Util\Git.as.G
a4240 69 74 55 74 69 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 itUtil;.use.Composer\IO\IOInterf
a4260 61 63 65 3b 0a 75 73 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 5c 50 61 72 73 69 6e 67 45 78 ace;.use.Seld\JsonLint\ParsingEx
a4280 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 6f 63 6b 65 72 0a 7b 0a 70 ception;........class.Locker.{.p
a42a0 72 69 76 61 74 65 20 24 6c 6f 63 6b 46 69 6c 65 3b 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 rivate.$lockFile;.private.$repos
a42c0 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 73 74 61 6c 6c 61 74 itoryManager;.private.$installat
a42e0 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 70 72 69 76 61 74 65 20 24 68 61 73 68 3b 0a 70 72 69 76 61 ionManager;.private.$hash;.priva
a4300 74 65 20 24 63 6f 6e 74 65 6e 74 48 61 73 68 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 61 64 65 72 te.$contentHash;.private.$loader
a4320 3b 0a 70 72 69 76 61 74 65 20 24 64 75 6d 70 65 72 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 ;.private.$dumper;.private.$proc
a4340 65 73 73 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 63 6b 44 61 74 61 43 61 63 68 65 3b 0a 0a 0a 0a ess;.private.$lockDataCache;....
a4360 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 .......public.function.__constru
a4380 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 4a 73 6f 6e 46 69 6c 65 20 24 6c 6f ct(IOInterface.$io,.JsonFile.$lo
a43a0 63 6b 46 69 6c 65 2c 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 20 24 72 65 70 6f 73 ckFile,.RepositoryManager.$repos
a43c0 69 74 6f 72 79 4d 61 6e 61 67 65 72 2c 20 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 itoryManager,.InstallationManage
a43e0 72 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2c 20 24 63 6f 6d 70 6f 73 65 r.$installationManager,.$compose
a4400 72 46 69 6c 65 43 6f 6e 74 65 6e 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 rFileContents).{.$this->lockFile
a4420 20 3d 20 24 6c 6f 63 6b 46 69 6c 65 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 4d .=.$lockFile;.$this->repositoryM
a4440 61 6e 61 67 65 72 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 3b 0a 24 74 68 anager.=.$repositoryManager;.$th
a4460 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 20 3d 20 24 69 6e 73 74 61 is->installationManager.=.$insta
a4480 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 3b 0a 24 74 68 69 73 2d 3e 68 61 73 68 20 3d 20 6d 64 llationManager;.$this->hash.=.md
a44a0 35 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 73 29 3b 0a 24 74 68 69 73 2d 5($composerFileContents);.$this-
a44c0 3e 63 6f 6e 74 65 6e 74 48 61 73 68 20 3d 20 73 65 6c 66 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 48 >contentHash.=.self::getContentH
a44e0 61 73 68 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 73 29 3b 0a 24 74 68 69 ash($composerFileContents);.$thi
a4500 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 75 6c 6c s->loader.=.new.ArrayLoader(null
a4520 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 72 72 ,.true);.$this->dumper.=.new.Arr
a4540 61 79 44 75 6d 70 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 ayDumper();.$this->process.=.new
a4560 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a .ProcessExecutor($io);.}........
a4580 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 .public.static.function.getConte
a45a0 6e 74 48 61 73 68 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 73 29 0a 7b 0a ntHash($composerFileContents).{.
a45c0 24 63 6f 6e 74 65 6e 74 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 72 $content.=.json_decode($composer
a45e0 46 69 6c 65 43 6f 6e 74 65 6e 74 73 2c 20 74 72 75 65 29 3b 0a 0a 24 72 65 6c 65 76 61 6e 74 4b FileContents,.true);..$relevantK
a4600 65 79 73 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 2c 0a 27 76 65 72 73 69 6f 6e 27 2c 0a eys.=.array(.'name',.'version',.
a4620 27 72 65 71 75 69 72 65 27 2c 0a 27 72 65 71 75 69 72 65 2d 64 65 76 27 2c 0a 27 63 6f 6e 66 6c 'require',.'require-dev',.'confl
a4640 69 63 74 27 2c 0a 27 72 65 70 6c 61 63 65 27 2c 0a 27 70 72 6f 76 69 64 65 27 2c 0a 27 6d 69 6e ict',.'replace',.'provide',.'min
a4660 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 2c 0a 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 imum-stability',.'prefer-stable'
a4680 2c 0a 27 72 65 70 6f 73 69 74 6f 72 69 65 73 27 2c 0a 27 65 78 74 72 61 27 2c 0a 29 3b 0a 0a 24 ,.'repositories',.'extra',.);..$
a46a0 72 65 6c 65 76 61 6e 74 43 6f 6e 74 65 6e 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 relevantContent.=.array();..fore
a46c0 61 63 68 20 28 61 72 72 61 79 5f 69 6e 74 65 72 73 65 63 74 28 24 72 65 6c 65 76 61 6e 74 4b 65 ach.(array_intersect($relevantKe
a46e0 79 73 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 63 6f 6e 74 65 6e 74 29 29 20 61 73 20 24 6b 65 ys,.array_keys($content)).as.$ke
a4700 79 29 20 7b 0a 24 72 65 6c 65 76 61 6e 74 43 6f 6e 74 65 6e 74 5b 24 6b 65 79 5d 20 3d 20 24 63 y).{.$relevantContent[$key].=.$c
a4720 6f 6e 74 65 6e 74 5b 24 6b 65 79 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 74 65 ontent[$key];.}.if.(isset($conte
a4740 6e 74 5b 27 63 6f 6e 66 69 67 27 5d 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 29 29 20 7b 0a 24 72 65 nt['config']['platform'])).{.$re
a4760 6c 65 76 61 6e 74 43 6f 6e 74 65 6e 74 5b 27 63 6f 6e 66 69 67 27 5d 5b 27 70 6c 61 74 66 6f 72 levantContent['config']['platfor
a4780 6d 27 5d 20 3d 20 24 63 6f 6e 74 65 6e 74 5b 27 63 6f 6e 66 69 67 27 5d 5b 27 70 6c 61 74 66 6f m'].=.$content['config']['platfo
a47a0 72 6d 27 5d 3b 0a 7d 0a 0a 6b 73 6f 72 74 28 24 72 65 6c 65 76 61 6e 74 43 6f 6e 74 65 6e 74 29 rm'];.}..ksort($relevantContent)
a47c0 3b 0a 0a 72 65 74 75 72 6e 20 6d 64 35 28 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 72 65 6c 65 76 ;..return.md5(json_encode($relev
a47e0 61 6e 74 43 6f 6e 74 65 6e 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e antContent));.}.......public.fun
a4800 63 74 69 6f 6e 20 69 73 4c 6f 63 6b 65 64 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c ction.isLocked().{.if.(!$this->l
a4820 6f 63 6b 46 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 ockFile->exists()).{.return.fals
a4840 65 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 e;.}..$data.=.$this->getLockData
a4860 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 64 61 74 61 5b 27 70 61 63 6b 61 67 65 ();..return.isset($data['package
a4880 73 27 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 s']);.}.......public.function.is
a48a0 46 72 65 73 68 28 29 0a 7b 0a 24 6c 6f 63 6b 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c Fresh().{.$lock.=.$this->lockFil
a48c0 65 2d 3e 72 65 61 64 28 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6c 6f 63 6b 5b 27 63 6f e->read();..if.(!empty($lock['co
a48e0 6e 74 65 6e 74 2d 68 61 73 68 27 5d 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d ntent-hash'])).{...return.$this-
a4900 3e 63 6f 6e 74 65 6e 74 48 61 73 68 20 3d 3d 3d 20 24 6c 6f 63 6b 5b 27 63 6f 6e 74 65 6e 74 2d >contentHash.===.$lock['content-
a4920 68 61 73 68 27 5d 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 65 6d 70 74 79 28 24 6c 6f 63 6b 5b 27 68 hash'];.}....if.(!empty($lock['h
a4940 61 73 68 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 68 20 3d 3d 3d ash'])).{.return.$this->hash.===
a4960 20 24 6c 6f 63 6b 5b 27 68 61 73 68 27 5d 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 66 61 6c 73 .$lock['hash'];.}....return.fals
a4980 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 e;.}.........public.function.get
a49a0 4c 6f 63 6b 65 64 52 65 70 6f 73 69 74 6f 72 79 28 24 77 69 74 68 44 65 76 52 65 71 73 20 3d 20 LockedRepository($withDevReqs.=.
a49c0 66 61 6c 73 65 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c false).{.$lockData.=.$this->getL
a49e0 6f 63 6b 44 61 74 61 28 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 6e 65 77 20 41 72 72 61 79 ockData();.$packages.=.new.Array
a4a00 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 0a 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 73 20 3d Repository();..$lockedPackages.=
a4a20 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 3b 0a 69 66 20 28 24 77 69 74 .$lockData['packages'];.if.($wit
a4a40 68 44 65 76 52 65 71 73 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b hDevReqs).{.if.(isset($lockData[
a4a60 27 70 61 63 6b 61 67 65 73 2d 64 65 76 27 5d 29 29 20 7b 0a 24 6c 6f 63 6b 65 64 50 61 63 6b 61 'packages-dev'])).{.$lockedPacka
a4a80 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 ges.=.array_merge($lockedPackage
a4aa0 73 2c 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 61 63 6b 61 67 65 73 2d 64 65 76 27 5d 29 3b 0a 7d s,.$lockData['packages-dev']);.}
a4ac0 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 .else.{.throw.new.\RuntimeExcept
a4ae0 69 6f 6e 28 27 54 68 65 20 6c 6f 63 6b 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 ion('The.lock.file.does.not.cont
a4b00 61 69 6e 20 72 65 71 75 69 72 65 2d 64 65 76 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 72 75 6e ain.require-dev.information,.run
a4b20 20 69 6e 73 74 61 6c 6c 20 77 69 74 68 20 74 68 65 20 2d 2d 6e 6f 2d 64 65 76 20 6f 70 74 69 6f .install.with.the.--no-dev.optio
a4b40 6e 20 6f 72 20 72 75 6e 20 75 70 64 61 74 65 20 74 6f 20 69 6e 73 74 61 6c 6c 20 74 68 6f 73 65 n.or.run.update.to.install.those
a4b60 20 70 61 63 6b 61 67 65 73 2e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 6c 6f .packages.');.}.}..if.(empty($lo
a4b80 63 6b 65 64 50 61 63 6b 61 67 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 ckedPackages)).{.return.$package
a4ba0 73 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6c 6f 63 6b 65 64 50 61 63 6b 61 67 65 73 5b s;.}..if.(isset($lockedPackages[
a4bc0 30 5d 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6c 6f 63 6b 65 64 50 0]['name'])).{.foreach.($lockedP
a4be0 61 63 6b 61 67 65 73 20 61 73 20 24 69 6e 66 6f 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 2d 3e 61 ackages.as.$info).{.$packages->a
a4c00 64 64 50 61 63 6b 61 67 65 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 69 ddPackage($this->loader->load($i
a4c20 6e 66 6f 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 74 nfo));.}..return.$packages;.}..t
a4c40 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 72 hrow.new.\RuntimeException('Your
a4c60 20 63 6f 6d 70 6f 73 65 72 2e 6c 6f 63 6b 20 77 61 73 20 63 72 65 61 74 65 64 20 62 65 66 6f 72 .composer.lock.was.created.befor
a4c80 65 20 32 30 31 32 2d 30 39 2d 31 35 2c 20 61 6e 64 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 e.2012-09-15,.and.is.not.support
a4ca0 65 64 20 61 6e 79 6d 6f 72 65 2e 20 52 75 6e 20 22 63 6f 6d 70 6f 73 65 72 20 75 70 64 61 74 65 ed.anymore..Run."composer.update
a4cc0 22 20 74 6f 20 67 65 6e 65 72 61 74 65 20 61 20 6e 65 77 20 6f 6e 65 2e 27 29 3b 0a 7d 0a 0a 0a ".to.generate.a.new.one.');.}...
a4ce0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 61 74 66 6f 72 6d .....public.function.getPlatform
a4d00 52 65 71 75 69 72 65 6d 65 6e 74 73 28 24 77 69 74 68 44 65 76 52 65 71 73 20 3d 20 66 61 6c 73 Requirements($withDevReqs.=.fals
a4d20 65 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 e).{.$lockData.=.$this->getLockD
a4d40 61 74 61 28 29 3b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ata();.$requirements.=.array();.
a4d60 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 27 .if.(!empty($lockData['platform'
a4d80 5d 29 29 20 7b 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 ])).{.$requirements.=.$this->loa
a4da0 64 65 72 2d 3e 70 61 72 73 65 4c 69 6e 6b 73 28 0a 27 5f 5f 52 4f 4f 54 5f 5f 27 2c 0a 27 31 2e der->parseLinks(.'__ROOT__',.'1.
a4dc0 30 2e 30 27 2c 0a 27 72 65 71 75 69 72 65 73 27 2c 0a 69 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 0.0',.'requires',.isset($lockDat
a4de0 61 5b 27 70 6c 61 74 66 6f 72 6d 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 a['platform']).?.$lockData['plat
a4e00 66 6f 72 6d 27 5d 20 3a 20 61 72 72 61 79 28 29 0a 29 3b 0a 7d 0a 0a 69 66 20 28 24 77 69 74 68 form'].:.array().);.}..if.($with
a4e20 44 65 76 52 65 71 73 20 26 26 20 21 65 6d 70 74 79 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 DevReqs.&&.!empty($lockData['pla
a4e40 74 66 6f 72 6d 2d 64 65 76 27 5d 29 29 20 7b 0a 24 64 65 76 52 65 71 75 69 72 65 6d 65 6e 74 73 tform-dev'])).{.$devRequirements
a4e60 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 70 61 72 73 65 4c 69 6e 6b 73 28 0a 27 5f .=.$this->loader->parseLinks(.'_
a4e80 5f 52 4f 4f 54 5f 5f 27 2c 0a 27 31 2e 30 2e 30 27 2c 0a 27 72 65 71 75 69 72 65 73 27 2c 0a 69 _ROOT__',.'1.0.0',.'requires',.i
a4ea0 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 2d 64 65 76 27 5d 29 20 sset($lockData['platform-dev']).
a4ec0 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 2d 64 65 76 27 5d 20 3a 20 61 72 ?.$lockData['platform-dev'].:.ar
a4ee0 72 61 79 28 29 0a 29 3b 0a 0a 24 72 65 71 75 69 72 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f ray().);..$requirements.=.array_
a4f00 6d 65 72 67 65 28 24 72 65 71 75 69 72 65 6d 65 6e 74 73 2c 20 24 64 65 76 52 65 71 75 69 72 65 merge($requirements,.$devRequire
a4f20 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 71 75 69 72 65 6d 65 6e 74 73 3b ments);.}..return.$requirements;
a4f40 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 69 6e 69 6d 75 6d 53 74 .}..public.function.getMinimumSt
a4f60 61 62 69 6c 69 74 79 28 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 ability().{.$lockData.=.$this->g
a4f80 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 6c 6f 63 etLockData();..return.isset($loc
a4fa0 6b 44 61 74 61 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 29 20 3f 20 24 6c kData['minimum-stability']).?.$l
a4fc0 6f 63 6b 44 61 74 61 5b 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 74 79 27 5d 20 3a 20 27 ockData['minimum-stability'].:.'
a4fe0 73 74 61 62 6c 65 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 stable';.}..public.function.getS
a5000 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 tabilityFlags().{.$lockData.=.$t
a5020 68 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 his->getLockData();..return.isse
a5040 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 73 74 61 62 69 6c 69 74 79 2d 66 6c 61 67 73 27 5d 29 20 t($lockData['stability-flags']).
a5060 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 73 74 61 62 69 6c 69 74 79 2d 66 6c 61 67 73 27 5d 20 3a ?.$lockData['stability-flags'].:
a5080 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 .array();.}..public.function.get
a50a0 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 PreferStable().{.$lockData.=.$th
a50c0 69 73 2d 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 0a 20 0a 20 72 65 74 75 72 6e 20 69 is->getLockData();......return.i
a50e0 73 73 65 74 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 5d 29 sset($lockData['prefer-stable'])
a5100 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 5d 20 3a 20 .?.$lockData['prefer-stable'].:.
a5120 6e 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 null;.}..public.function.getPref
a5140 65 72 4c 6f 77 65 73 74 28 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e erLowest().{.$lockData.=.$this->
a5160 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 0a 20 0a 20 72 65 74 75 72 6e 20 69 73 73 65 74 getLockData();......return.isset
a5180 28 24 6c 6f 63 6b 44 61 74 61 5b 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 5d 29 20 3f 20 24 ($lockData['prefer-lowest']).?.$
a51a0 6c 6f 63 6b 44 61 74 61 5b 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 5d 20 3a 20 6e 75 6c 6c lockData['prefer-lowest'].:.null
a51c0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 61 74 66 6f 72 6d ;.}..public.function.getPlatform
a51e0 4f 76 65 72 72 69 64 65 73 28 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d Overrides().{.$lockData.=.$this-
a5200 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 6c >getLockData();..return.isset($l
a5220 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 2d 6f 76 65 72 72 69 64 65 73 27 5d 29 20 3f ockData['platform-overrides']).?
a5240 20 24 6c 6f 63 6b 44 61 74 61 5b 27 70 6c 61 74 66 6f 72 6d 2d 6f 76 65 72 72 69 64 65 73 27 5d .$lockData['platform-overrides']
a5260 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 .:.array();.}..public.function.g
a5280 65 74 41 6c 69 61 73 65 73 28 29 0a 7b 0a 24 6c 6f 63 6b 44 61 74 61 20 3d 20 24 74 68 69 73 2d etAliases().{.$lockData.=.$this-
a52a0 3e 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 6c >getLockData();..return.isset($l
a52c0 6f 63 6b 44 61 74 61 5b 27 61 6c 69 61 73 65 73 27 5d 29 20 3f 20 24 6c 6f 63 6b 44 61 74 61 5b ockData['aliases']).?.$lockData[
a52e0 27 61 6c 69 61 73 65 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 'aliases'].:.array();.}..public.
a5300 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 63 6b 44 61 74 61 28 29 0a 7b 0a 69 66 20 28 6e 75 6c function.getLockData().{.if.(nul
a5320 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 44 61 74 61 43 61 63 68 65 29 20 7b 0a 72 65 l.!==.$this->lockDataCache).{.re
a5340 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 44 61 74 61 43 61 63 68 65 3b 0a 7d 0a 0a 69 66 turn.$this->lockDataCache;.}..if
a5360 20 28 21 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 20 7b 0a .(!$this->lockFile->exists()).{.
a5380 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 20 6c 6f throw.new.\LogicException('No.lo
a53a0 63 6b 66 69 6c 65 20 66 6f 75 6e 64 2e 20 55 6e 61 62 6c 65 20 74 6f 20 72 65 61 64 20 6c 6f 63 ckfile.found..Unable.to.read.loc
a53c0 6b 65 64 20 70 61 63 6b 61 67 65 73 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d ked.packages');.}..return.$this-
a53e0 3e 6c 6f 63 6b 44 61 74 61 43 61 63 68 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 >lockDataCache.=.$this->lockFile
a5400 2d 3e 72 65 61 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ->read();.}..................pub
a5420 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 63 6b 44 61 74 61 28 61 72 72 61 79 20 24 lic.function.setLockData(array.$
a5440 70 61 63 6b 61 67 65 73 2c 20 24 64 65 76 50 61 63 6b 61 67 65 73 2c 20 61 72 72 61 79 20 24 70 packages,.$devPackages,.array.$p
a5460 6c 61 74 66 6f 72 6d 52 65 71 73 2c 20 24 70 6c 61 74 66 6f 72 6d 44 65 76 52 65 71 73 2c 20 61 latformReqs,.$platformDevReqs,.a
a5480 72 72 61 79 20 24 61 6c 69 61 73 65 73 2c 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 rray.$aliases,.$minimumStability
a54a0 2c 20 61 72 72 61 79 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 2c 20 24 70 72 65 66 65 72 ,.array.$stabilityFlags,.$prefer
a54c0 53 74 61 62 6c 65 2c 20 24 70 72 65 66 65 72 4c 6f 77 65 73 74 2c 20 61 72 72 61 79 20 24 70 6c Stable,.$preferLowest,.array.$pl
a54e0 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 0a 7b 0a 24 6c 6f 63 6b 20 3d 20 61 72 72 61 79 atformOverrides).{.$lock.=.array
a5500 28 0a 27 5f 72 65 61 64 6d 65 27 20 3d 3e 20 61 72 72 61 79 28 27 54 68 69 73 20 66 69 6c 65 20 (.'_readme'.=>.array('This.file.
a5520 6c 6f 63 6b 73 20 74 68 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 6f 66 20 79 6f 75 72 20 70 locks.the.dependencies.of.your.p
a5540 72 6f 6a 65 63 74 20 74 6f 20 61 20 6b 6e 6f 77 6e 20 73 74 61 74 65 27 2c 0a 27 52 65 61 64 20 roject.to.a.known.state',.'Read.
a5560 6d 6f 72 65 20 61 62 6f 75 74 20 69 74 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 more.about.it.at.https://getcomp
a5580 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 31 2d 62 61 73 69 63 2d 75 73 61 67 65 2e 6d 64 23 69 oser.org/doc/01-basic-usage.md#i
a55a0 6e 73 74 61 6c 6c 69 6e 67 2d 64 65 70 65 6e 64 65 6e 63 69 65 73 27 2c 0a 27 54 68 69 73 20 66 nstalling-dependencies',.'This.f
a55c0 69 6c 65 20 69 73 20 40 67 65 6e 65 72 27 2e 27 61 74 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c ile.is.@gener'.'ated.automatical
a55e0 6c 79 27 2c 20 29 2c 0a 27 63 6f 6e 74 65 6e 74 2d 68 61 73 68 27 20 3d 3e 20 24 74 68 69 73 2d ly',.),.'content-hash'.=>.$this-
a5600 3e 63 6f 6e 74 65 6e 74 48 61 73 68 2c 0a 27 70 61 63 6b 61 67 65 73 27 20 3d 3e 20 6e 75 6c 6c >contentHash,.'packages'.=>.null
a5620 2c 0a 27 70 61 63 6b 61 67 65 73 2d 64 65 76 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 61 6c 69 61 73 ,.'packages-dev'.=>.null,.'alias
a5640 65 73 27 20 3d 3e 20 61 72 72 61 79 28 29 2c 0a 27 6d 69 6e 69 6d 75 6d 2d 73 74 61 62 69 6c 69 es'.=>.array(),.'minimum-stabili
a5660 74 79 27 20 3d 3e 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 2c 0a 27 73 74 61 62 69 ty'.=>.$minimumStability,.'stabi
a5680 6c 69 74 79 2d 66 6c 61 67 73 27 20 3d 3e 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 2c 0a lity-flags'.=>.$stabilityFlags,.
a56a0 27 70 72 65 66 65 72 2d 73 74 61 62 6c 65 27 20 3d 3e 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 'prefer-stable'.=>.$preferStable
a56c0 2c 0a 27 70 72 65 66 65 72 2d 6c 6f 77 65 73 74 27 20 3d 3e 20 24 70 72 65 66 65 72 4c 6f 77 65 ,.'prefer-lowest'.=>.$preferLowe
a56e0 73 74 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 6c 69 61 73 65 73 20 61 73 20 24 70 61 st,.);..foreach.($aliases.as.$pa
a5700 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 ckage.=>.$versions).{.foreach.($
a5720 76 65 72 73 69 6f 6e 73 20 61 73 20 24 76 65 72 73 69 6f 6e 20 3d 3e 20 24 61 6c 69 61 73 29 20 versions.as.$version.=>.$alias).
a5740 7b 0a 24 6c 6f 63 6b 5b 27 61 6c 69 61 73 65 73 27 5d 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 61 {.$lock['aliases'][].=.array(.'a
a5760 6c 69 61 73 27 20 3d 3e 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 27 5d 2c 0a 27 61 6c 69 61 73 lias'.=>.$alias['alias'],.'alias
a5780 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 20 3d 3e 20 24 61 6c 69 61 73 5b 27 61 6c 69 61 73 5f 6e 6f _normalized'.=>.$alias['alias_no
a57a0 72 6d 61 6c 69 7a 65 64 27 5d 2c 0a 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f rmalized'],.'version'.=>.$versio
a57c0 6e 2c 0a 27 70 61 63 6b 61 67 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2c 0a 29 3b 0a 7d 0a 7d n,.'package'.=>.$package,.);.}.}
a57e0 0a 0a 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 67 65 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 ..$lock['packages'].=.$this->loc
a5800 6b 50 61 63 6b 61 67 65 73 28 24 70 61 63 6b 61 67 65 73 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 kPackages($packages);.if.(null.!
a5820 3d 3d 20 24 64 65 76 50 61 63 6b 61 67 65 73 29 20 7b 0a 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 67 ==.$devPackages).{.$lock['packag
a5840 65 73 2d 64 65 76 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 50 61 63 6b 61 67 65 73 28 24 es-dev'].=.$this->lockPackages($
a5860 64 65 76 50 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 24 6c 6f 63 6b 5b 27 70 6c 61 74 66 6f 72 6d devPackages);.}..$lock['platform
a5880 27 5d 20 3d 20 24 70 6c 61 74 66 6f 72 6d 52 65 71 73 3b 0a 24 6c 6f 63 6b 5b 27 70 6c 61 74 66 '].=.$platformReqs;.$lock['platf
a58a0 6f 72 6d 2d 64 65 76 27 5d 20 3d 20 24 70 6c 61 74 66 6f 72 6d 44 65 76 52 65 71 73 3b 0a 69 66 orm-dev'].=.$platformDevReqs;.if
a58c0 20 28 24 70 6c 61 74 66 6f 72 6d 4f 76 65 72 72 69 64 65 73 29 20 7b 0a 24 6c 6f 63 6b 5b 27 70 .($platformOverrides).{.$lock['p
a58e0 6c 61 74 66 6f 72 6d 2d 6f 76 65 72 72 69 64 65 73 27 5d 20 3d 20 24 70 6c 61 74 66 6f 72 6d 4f latform-overrides'].=.$platformO
a5900 76 65 72 72 69 64 65 73 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 6c 6f 63 6b 5b 27 70 61 verrides;.}..if.(empty($lock['pa
a5920 63 6b 61 67 65 73 27 5d 29 20 26 26 20 65 6d 70 74 79 28 24 6c 6f 63 6b 5b 27 70 61 63 6b 61 67 ckages']).&&.empty($lock['packag
a5940 65 73 2d 64 65 76 27 5d 29 20 26 26 20 65 6d 70 74 79 28 24 6c 6f 63 6b 5b 27 70 6c 61 74 66 6f es-dev']).&&.empty($lock['platfo
a5960 72 6d 27 5d 29 20 26 26 20 65 6d 70 74 79 28 24 6c 6f 63 6b 5b 27 70 6c 61 74 66 6f 72 6d 2d 64 rm']).&&.empty($lock['platform-d
a5980 65 76 27 5d 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 2d 3e 65 78 ev'])).{.if.($this->lockFile->ex
a59a0 69 73 74 73 28 29 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 ists()).{.unlink($this->lockFile
a59c0 2d 3e 67 65 74 50 61 74 68 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d ->getPath());.}..return.false;.}
a59e0 0a 0a 74 72 79 20 7b 0a 24 69 73 4c 6f 63 6b 65 64 20 3d 20 24 74 68 69 73 2d 3e 69 73 4c 6f 63 ..try.{.$isLocked.=.$this->isLoc
a5a00 6b 65 64 28 29 3b 0a 7d 20 63 61 74 63 68 20 28 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e ked();.}.catch.(ParsingException
a5a20 20 24 65 29 20 7b 0a 24 69 73 4c 6f 63 6b 65 64 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 .$e).{.$isLocked.=.false;.}.if.(
a5a40 21 24 69 73 4c 6f 63 6b 65 64 20 7c 7c 20 24 6c 6f 63 6b 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 !$isLocked.||.$lock.!==.$this->g
a5a60 65 74 4c 6f 63 6b 44 61 74 61 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 63 6b 46 69 6c 65 2d etLockData()).{.$this->lockFile-
a5a80 3e 77 72 69 74 65 28 24 6c 6f 63 6b 29 3b 0a 24 74 68 69 73 2d 3e 6c 6f 63 6b 44 61 74 61 43 61 >write($lock);.$this->lockDataCa
a5aa0 63 68 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 che.=.null;..return.true;.}..ret
a5ac0 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6c urn.false;.}..private.function.l
a5ae0 6f 63 6b 50 61 63 6b 61 67 65 73 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 29 0a 7b 0a 24 ockPackages(array.$packages).{.$
a5b00 6c 6f 63 6b 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 locked.=.array();..foreach.($pac
a5b20 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 kages.as.$package).{.if.($packag
a5b40 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 63 6f 6e e.instanceof.AliasPackage).{.con
a5b60 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 tinue;.}..$name.=.$package->getP
a5b80 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 rettyName();.$version.=.$package
a5ba0 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 69 66 20 28 21 24 6e 61 6d ->getPrettyVersion();..if.(!$nam
a5bc0 65 20 7c 7c 20 21 24 76 65 72 73 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 e.||.!$version).{.throw.new.\Log
a5be0 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 50 61 63 6b 61 67 65 20 22 25 icException(sprintf(.'Package."%
a5c00 73 22 20 68 61 73 20 6e 6f 20 76 65 72 73 69 6f 6e 20 6f 72 20 6e 61 6d 65 20 61 6e 64 20 63 61 s".has.no.version.or.name.and.ca
a5c20 6e 20 6e 6f 74 20 62 65 20 6c 6f 63 6b 65 64 27 2c 0a 24 70 61 63 6b 61 67 65 0a 29 29 3b 0a 7d n.not.be.locked',.$package.));.}
a5c40 0a 0a 24 73 70 65 63 20 3d 20 24 74 68 69 73 2d 3e 64 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 ..$spec.=.$this->dumper->dump($p
a5c60 61 63 6b 61 67 65 29 3b 0a 75 6e 73 65 74 28 24 73 70 65 63 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f ackage);.unset($spec['version_no
a5c80 72 6d 61 6c 69 7a 65 64 27 5d 29 3b 0a 0a 0a 20 24 74 69 6d 65 20 3d 20 69 73 73 65 74 28 24 73 rmalized']);....$time.=.isset($s
a5ca0 70 65 63 5b 27 74 69 6d 65 27 5d 29 20 3f 20 24 73 70 65 63 5b 27 74 69 6d 65 27 5d 20 3a 20 6e pec['time']).?.$spec['time'].:.n
a5cc0 75 6c 6c 3b 0a 75 6e 73 65 74 28 24 73 70 65 63 5b 27 74 69 6d 65 27 5d 29 3b 0a 69 66 20 28 24 ull;.unset($spec['time']);.if.($
a5ce0 70 61 63 6b 61 67 65 2d 3e 69 73 44 65 76 28 29 20 26 26 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 package->isDev().&&.$package->ge
a5d00 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 20 3d 3d 3d 20 27 73 6f 75 72 63 tInstallationSource().===.'sourc
a5d20 65 27 29 20 7b 0a 0a 20 24 74 69 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 e').{...$time.=.$this->getPackag
a5d40 65 54 69 6d 65 28 24 70 61 63 6b 61 67 65 29 20 3f 3a 20 24 74 69 6d 65 3b 0a 7d 0a 69 66 20 28 eTime($package).?:.$time;.}.if.(
a5d60 6e 75 6c 6c 20 21 3d 3d 20 24 74 69 6d 65 29 20 7b 0a 24 73 70 65 63 5b 27 74 69 6d 65 27 5d 20 null.!==.$time).{.$spec['time'].
a5d80 3d 20 24 74 69 6d 65 3b 0a 7d 0a 0a 75 6e 73 65 74 28 24 73 70 65 63 5b 27 69 6e 73 74 61 6c 6c =.$time;.}..unset($spec['install
a5da0 61 74 69 6f 6e 2d 73 6f 75 72 63 65 27 5d 29 3b 0a 0a 24 6c 6f 63 6b 65 64 5b 5d 20 3d 20 24 73 ation-source']);..$locked[].=.$s
a5dc0 70 65 63 3b 0a 7d 0a 0a 75 73 6f 72 74 28 24 6c 6f 63 6b 65 64 2c 20 66 75 6e 63 74 69 6f 6e 20 pec;.}..usort($locked,.function.
a5de0 28 24 61 2c 20 24 62 29 20 7b 0a 24 63 6f 6d 70 61 72 69 73 6f 6e 20 3d 20 73 74 72 63 6d 70 28 ($a,.$b).{.$comparison.=.strcmp(
a5e00 24 61 5b 27 6e 61 6d 65 27 5d 2c 20 24 62 5b 27 6e 61 6d 65 27 5d 29 3b 0a 0a 69 66 20 28 30 20 $a['name'],.$b['name']);..if.(0.
a5e20 21 3d 3d 20 24 63 6f 6d 70 61 72 69 73 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 61 !==.$comparison).{.return.$compa
a5e40 72 69 73 6f 6e 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 73 74 72 63 6d 70 28 24 61 5b 27 76 65 rison;.}....return.strcmp($a['ve
a5e60 72 73 69 6f 6e 27 5d 2c 20 24 62 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 7d 29 3b 0a 0a 72 65 rsion'],.$b['version']);.});..re
a5e80 74 75 72 6e 20 24 6c 6f 63 6b 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 turn.$locked;.}........private.f
a5ea0 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 54 69 6d 65 28 50 61 63 6b 61 67 65 49 6e unction.getPackageTime(PackageIn
a5ec0 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 69 66 20 28 21 66 75 6e 63 74 69 6f terface.$package).{.if.(!functio
a5ee0 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 n_exists('proc_open')).{.return.
a5f00 6e 75 6c 6c 3b 0a 7d 0a 0a 24 70 61 74 68 20 3d 20 72 65 61 6c 70 61 74 68 28 24 74 68 69 73 2d null;.}..$path.=.realpath($this-
a5f20 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c >installationManager->getInstall
a5f40 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 24 73 6f 75 72 63 65 54 79 70 65 20 3d 20 24 Path($package));.$sourceType.=.$
a5f60 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a 24 64 61 74 65 74 package->getSourceType();.$datet
a5f80 69 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 69 66 20 28 24 70 61 74 68 20 26 26 20 69 6e 5f 61 72 72 ime.=.null;..if.($path.&&.in_arr
a5fa0 61 79 28 24 73 6f 75 72 63 65 54 79 70 65 2c 20 61 72 72 61 79 28 27 67 69 74 27 2c 20 27 68 67 ay($sourceType,.array('git',.'hg
a5fc0 27 29 29 29 20 7b 0a 24 73 6f 75 72 63 65 52 65 66 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 '))).{.$sourceRef.=.$package->ge
a5fe0 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 20 3f 3a 20 24 70 61 63 6b 61 67 65 2d 3e tSourceReference().?:.$package->
a6000 67 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 73 77 69 74 63 68 20 28 24 73 6f 75 getDistReference();.switch.($sou
a6020 72 63 65 54 79 70 65 29 20 7b 0a 63 61 73 65 20 27 67 69 74 27 3a 0a 47 69 74 55 74 69 6c 3a 3a rceType).{.case.'git':.GitUtil::
a6040 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 cleanEnv();..if.(0.===.$this->pr
a6060 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 6c 6f 67 20 2d 6e 31 20 2d 2d 70 72 ocess->execute('git.log.-n1.--pr
a6080 65 74 74 79 3d 25 63 74 20 27 2e 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 etty=%ct.'.ProcessExecutor::esca
a60a0 70 65 28 24 73 6f 75 72 63 65 52 65 66 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 20 pe($sourceRef),.$output,.$path).
a60c0 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a 5c 64 2b 5c 73 2a 24 7d 27 2c 20 24 &&.preg_match('{^\s*\d+\s*$}',.$
a60e0 6f 75 74 70 75 74 29 29 20 7b 0a 24 64 61 74 65 74 69 6d 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 output)).{.$datetime.=.new.\Date
a6100 54 69 6d 65 28 27 40 27 2e 74 72 69 6d 28 24 6f 75 74 70 75 74 29 2c 20 6e 65 77 20 5c 44 61 74 Time('@'.trim($output),.new.\Dat
a6120 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 eTimeZone('UTC'));.}.break;..cas
a6140 65 20 27 68 67 27 3a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 e.'hg':.if.(0.===.$this->process
a6160 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 6c 6f 67 20 2d 2d 74 65 6d 70 6c 61 74 65 20 22 7b 64 ->execute('hg.log.--template."{d
a6180 61 74 65 7c 68 67 64 61 74 65 7d 22 20 2d 72 20 27 2e 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f ate|hgdate}".-r.'.ProcessExecuto
a61a0 72 3a 3a 65 73 63 61 70 65 28 24 73 6f 75 72 63 65 52 65 66 29 2c 20 24 6f 75 74 70 75 74 2c 20 r::escape($sourceRef),.$output,.
a61c0 24 70 61 74 68 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a 28 5c 64 2b 29 $path).&&.preg_match('{^\s*(\d+)
a61e0 5c 73 2a 7d 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 64 61 74 65 \s*}',.$output,.$match)).{.$date
a6200 74 69 6d 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 27 40 27 2e 24 6d 61 74 63 68 5b time.=.new.\DateTime('@'.$match[
a6220 31 5d 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 7d 1],.new.\DateTimeZone('UTC'));.}
a6240 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 65 74 69 6d 65 20 3f 20 .break;.}.}..return.$datetime.?.
a6260 24 64 61 74 65 74 69 6d 65 2d 3e 66 6f 72 6d 61 74 28 44 41 54 45 5f 52 46 43 33 33 33 39 29 20 $datetime->format(DATE_RFC3339).
a6280 3a 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d :.null;.}.}.<?php............nam
a62a0 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 75 73 65 20 43 6f espace.Composer\Package;..use.Co
a62c0 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 mposer\Package\Version\VersionPa
a62e0 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 43 6f 6d 70 6f 73 65 72 rser;.use.Composer\Util\Composer
a6300 4d 69 72 72 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 63 6b 61 67 65 20 65 78 74 65 Mirror;.......class.Package.exte
a6320 6e 64 73 20 42 61 73 65 50 61 63 6b 61 67 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 79 70 nds.BasePackage.{.protected.$typ
a6340 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 72 67 65 74 44 69 72 3b 0a 70 72 6f 74 65 63 74 e;.protected.$targetDir;.protect
a6360 65 64 20 24 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 3b 0a 70 72 6f 74 65 63 74 65 ed.$installationSource;.protecte
a6380 64 20 24 73 6f 75 72 63 65 54 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 63 65 d.$sourceType;.protected.$source
a63a0 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 3b Url;.protected.$sourceReference;
a63c0 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 3b 0a 70 72 6f 74 65 .protected.$sourceMirrors;.prote
a63e0 63 74 65 64 20 24 64 69 73 74 54 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 55 cted.$distType;.protected.$distU
a6400 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 52 65 66 65 72 65 6e 63 65 3b 0a 70 72 rl;.protected.$distReference;.pr
a6420 6f 74 65 63 74 65 64 20 24 64 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 3b 0a 70 72 6f 74 65 otected.$distSha1Checksum;.prote
a6440 63 74 65 64 20 24 64 69 73 74 4d 69 72 72 6f 72 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 cted.$distMirrors;.protected.$ve
a6460 72 73 69 6f 6e 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b rsion;.protected.$prettyVersion;
a6480 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 6c 65 61 73 65 44 61 74 65 3b 0a 70 72 6f 74 65 63 74 .protected.$releaseDate;.protect
a64a0 65 64 20 24 65 78 74 72 61 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 ed.$extra.=.array();.protected.$
a64c0 62 69 6e 61 72 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 binaries.=.array();.protected.$d
a64e0 65 76 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 70 72 6f 74 65 63 ev;.protected.$stability;.protec
a6500 74 65 64 20 24 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 ted.$notificationUrl;...protecte
a6520 64 20 24 72 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 d.$requires.=.array();..protecte
a6540 64 20 24 63 6f 6e 66 6c 69 63 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 d.$conflicts.=.array();..protect
a6560 65 64 20 24 70 72 6f 76 69 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 ed.$provides.=.array();..protect
a6580 65 64 20 24 72 65 70 6c 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 ed.$replaces.=.array();..protect
a65a0 65 64 20 24 64 65 76 52 65 71 75 69 72 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 ed.$devRequires.=.array();.prote
a65c0 63 74 65 64 20 24 73 75 67 67 65 73 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 cted.$suggests.=.array();.protec
a65e0 74 65 64 20 24 61 75 74 6f 6c 6f 61 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 ted.$autoload.=.array();.protect
a6600 65 64 20 24 64 65 76 41 75 74 6f 6c 6f 61 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 ed.$devAutoload.=.array();.prote
a6620 63 74 65 64 20 24 69 6e 63 6c 75 64 65 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 cted.$includePaths.=.array();.pr
a6640 6f 74 65 63 74 65 64 20 24 61 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 20 3d 20 61 72 72 61 79 otected.$archiveExcludes.=.array
a6660 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ();.........public.function.__co
a6680 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 nstruct($name,.$version,.$pretty
a66a0 56 65 72 73 69 6f 6e 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 Version).{.parent::__construct($
a66c0 6e 61 6d 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f name);..$this->version.=.$versio
a66e0 6e 3b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 70 72 65 74 74 n;.$this->prettyVersion.=.$prett
a6700 79 56 65 72 73 69 6f 6e 3b 0a 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 3d 20 56 65 yVersion;..$this->stability.=.Ve
a6720 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 76 65 72 rsionParser::parseStability($ver
a6740 73 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 64 65 76 20 3d 20 24 74 68 69 73 2d 3e 73 74 61 62 69 sion);.$this->dev.=.$this->stabi
a6760 6c 69 74 79 20 3d 3d 3d 20 27 64 65 76 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e lity.===.'dev';.}.....public.fun
a6780 63 74 69 6f 6e 20 69 73 44 65 76 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 ction.isDev().{.return.$this->de
a67a0 76 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 79 70 65 v;.}.....public.function.setType
a67c0 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 7d ($type).{.$this->type.=.$type;.}
a67e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b .....public.function.getType().{
a6800 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 79 70 65 20 3f 3a 20 27 6c 69 62 72 61 72 79 27 .return.$this->type.?:.'library'
a6820 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 ;.}.....public.function.getStabi
a6840 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 lity().{.return.$this->stability
a6860 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 61 72 67 65 ;.}.....public.function.setTarge
a6880 74 44 69 72 28 24 74 61 72 67 65 74 44 69 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 72 67 65 74 tDir($targetDir).{.$this->target
a68a0 44 69 72 20 3d 20 24 74 61 72 67 65 74 44 69 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 Dir.=.$targetDir;.}.....public.f
a68c0 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 72 67 65 74 44 69 72 28 29 0a 7b 0a 69 66 20 28 6e 75 6c unction.getTargetDir().{.if.(nul
a68e0 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 44 69 72 29 20 7b 0a 72 65 74 75 72 6e l.===.$this->targetDir).{.return
a6900 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6c 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 ;.}..return.ltrim(preg_replace('
a6920 7b 20 28 3f 3a 5e 7c 5b 5c 5c 5c 5c 2f 5d 2b 29 20 5c 2e 5c 2e 3f 20 28 3f 3a 5b 5c 5c 5c 5c 2f {.(?:^|[\\\\/]+).\.\.?.(?:[\\\\/
a6940 5d 2b 7c 24 29 20 28 3f 3a 5c 2e 5c 2e 3f 20 28 3f 3a 5b 5c 5c 5c 5c 2f 5d 2b 7c 24 29 20 29 2a ]+|$).(?:\.\.?.(?:[\\\\/]+|$).)*
a6960 7d 78 27 2c 20 27 2f 27 2c 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 44 69 72 29 2c 20 27 2f 27 }x',.'/',.$this->targetDir),.'/'
a6980 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 74 72 );.}.....public.function.setExtr
a69a0 61 28 61 72 72 61 79 20 24 65 78 74 72 61 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 74 72 61 20 3d a(array.$extra).{.$this->extra.=
a69c0 20 24 65 78 74 72 61 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 .$extra;.}.....public.function.g
a69e0 65 74 45 78 74 72 61 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 74 72 61 3b etExtra().{.return.$this->extra;
a6a00 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 69 6e 61 72 69 .}.....public.function.setBinari
a6a20 65 73 28 61 72 72 61 79 20 24 62 69 6e 61 72 69 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 6e es(array.$binaries).{.$this->bin
a6a40 61 72 69 65 73 20 3d 20 24 62 69 6e 61 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 aries.=.$binaries;.}.....public.
a6a60 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 69 6e 61 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 function.getBinaries().{.return.
a6a80 24 74 68 69 73 2d 3e 62 69 6e 61 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 $this->binaries;.}.....public.fu
a6aa0 6e 63 74 69 6f 6e 20 73 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 74 79 nction.setInstallationSource($ty
a6ac0 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 20 pe).{.$this->installationSource.
a6ae0 3d 20 24 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 =.$type;.}.....public.function.g
a6b00 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 etInstallationSource().{.return.
a6b20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 3b 0a 7d 0a 0a 0a 0a $this->installationSource;.}....
a6b40 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 54 79 70 65 28 24 .public.function.setSourceType($
a6b60 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 54 79 70 65 20 3d 20 24 74 79 70 type).{.$this->sourceType.=.$typ
a6b80 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 e;.}.....public.function.getSour
a6ba0 63 65 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 54 ceType().{.return.$this->sourceT
a6bc0 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f ype;.}.....public.function.setSo
a6be0 75 72 63 65 55 72 6c 28 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 55 72 6c urceUrl($url).{.$this->sourceUrl
a6c00 20 3d 20 24 75 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 .=.$url;.}.....public.function.g
a6c20 65 74 53 6f 75 72 63 65 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f etSourceUrl().{.return.$this->so
a6c40 75 72 63 65 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 urceUrl;.}.....public.function.s
a6c60 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a etSourceReference($reference).{.
a6c80 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 20 3d 20 24 72 65 66 65 72 65 $this->sourceReference.=.$refere
a6ca0 6e 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f nce;.}.....public.function.getSo
a6cc0 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e urceReference().{.return.$this->
a6ce0 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 sourceReference;.}.....public.fu
a6d00 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 24 6d 69 72 72 6f 72 73 nction.setSourceMirrors($mirrors
a6d20 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 20 3d 20 24 6d 69 72 72 ).{.$this->sourceMirrors.=.$mirr
a6d40 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f ors;.}.....public.function.getSo
a6d60 75 72 63 65 4d 69 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f urceMirrors().{.return.$this->so
a6d80 75 72 63 65 4d 69 72 72 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 urceMirrors;.}.....public.functi
a6da0 6f 6e 20 67 65 74 53 6f 75 72 63 65 55 72 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 on.getSourceUrls().{.return.$thi
a6dc0 73 2d 3e 67 65 74 55 72 6c 73 28 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 55 72 6c 2c 20 24 74 68 s->getUrls($this->sourceUrl,.$th
a6de0 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 2c 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 is->sourceMirrors,.$this->source
a6e00 52 65 66 65 72 65 6e 63 65 2c 20 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 54 79 70 65 2c 20 27 73 Reference,.$this->sourceType,.'s
a6e20 6f 75 72 63 65 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ource');.}.....public.function.s
a6e40 65 74 44 69 73 74 54 79 70 65 28 24 74 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 74 54 etDistType($type).{.$this->distT
a6e60 79 70 65 20 3d 20 24 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ype.=.$type;.}.....public.functi
a6e80 6f 6e 20 67 65 74 44 69 73 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d on.getDistType().{.return.$this-
a6ea0 3e 64 69 73 74 54 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e >distType;.}.....public.function
a6ec0 20 73 65 74 44 69 73 74 55 72 6c 28 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 74 55 .setDistUrl($url).{.$this->distU
a6ee0 72 6c 20 3d 20 24 75 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e rl.=.$url;.}.....public.function
a6f00 20 67 65 74 44 69 73 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 .getDistUrl().{.return.$this->di
a6f20 73 74 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 stUrl;.}.....public.function.set
a6f40 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 24 74 68 69 DistReference($reference).{.$thi
a6f60 73 2d 3e 64 69 73 74 52 65 66 65 72 65 6e 63 65 20 3d 20 24 72 65 66 65 72 65 6e 63 65 3b 0a 7d s->distReference.=.$reference;.}
a6f80 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 52 65 66 65 .....public.function.getDistRefe
a6fa0 72 65 6e 63 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 74 52 65 66 65 rence().{.return.$this->distRefe
a6fc0 72 65 6e 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 rence;.}.....public.function.set
a6fe0 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 24 73 68 61 31 63 68 65 63 6b 73 75 6d 29 0a DistSha1Checksum($sha1checksum).
a7000 7b 0a 24 74 68 69 73 2d 3e 64 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 20 3d 20 24 73 68 61 {.$this->distSha1Checksum.=.$sha
a7020 31 63 68 65 63 6b 73 75 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 1checksum;.}.....public.function
a7040 20 67 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 .getDistSha1Checksum().{.return.
a7060 24 74 68 69 73 2d 3e 64 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 $this->distSha1Checksum;.}.....p
a7080 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 24 6d ublic.function.setDistMirrors($m
a70a0 69 72 72 6f 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 74 4d 69 72 72 6f 72 73 20 3d 20 24 irrors).{.$this->distMirrors.=.$
a70c0 6d 69 72 72 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 mirrors;.}.....public.function.g
a70e0 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e etDistMirrors().{.return.$this->
a7100 64 69 73 74 4d 69 72 72 6f 72 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 distMirrors;.}.....public.functi
a7120 6f 6e 20 67 65 74 44 69 73 74 55 72 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d on.getDistUrls().{.return.$this-
a7140 3e 67 65 74 55 72 6c 73 28 24 74 68 69 73 2d 3e 64 69 73 74 55 72 6c 2c 20 24 74 68 69 73 2d 3e >getUrls($this->distUrl,.$this->
a7160 64 69 73 74 4d 69 72 72 6f 72 73 2c 20 24 74 68 69 73 2d 3e 64 69 73 74 52 65 66 65 72 65 6e 63 distMirrors,.$this->distReferenc
a7180 65 2c 20 24 74 68 69 73 2d 3e 64 69 73 74 54 79 70 65 2c 20 27 64 69 73 74 27 29 3b 0a 7d 0a 0a e,.$this->distType,.'dist');.}..
a71a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 28 29 0a ...public.function.getVersion().
a71c0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 {.return.$this->version;.}.....p
a71e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 ublic.function.getPrettyVersion(
a7200 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b ).{.return.$this->prettyVersion;
a7220 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 6c 65 .}.......public.function.setRele
a7240 61 73 65 44 61 74 65 28 5c 44 61 74 65 54 69 6d 65 20 24 72 65 6c 65 61 73 65 44 61 74 65 29 0a aseDate(\DateTime.$releaseDate).
a7260 7b 0a 24 74 68 69 73 2d 3e 72 65 6c 65 61 73 65 44 61 74 65 20 3d 20 24 72 65 6c 65 61 73 65 44 {.$this->releaseDate.=.$releaseD
a7280 61 74 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 ate;.}.....public.function.getRe
a72a0 6c 65 61 73 65 44 61 74 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6c 65 leaseDate().{.return.$this->rele
a72c0 61 73 65 44 61 74 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e aseDate;.}.......public.function
a72e0 20 73 65 74 52 65 71 75 69 72 65 73 28 61 72 72 61 79 20 24 72 65 71 75 69 72 65 73 29 0a 7b 0a .setRequires(array.$requires).{.
a7300 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 20 3d 20 24 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a $this->requires.=.$requires;.}..
a7320 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 71 75 69 72 65 73 28 29 ...public.function.getRequires()
a7340 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a .{.return.$this->requires;.}....
a7360 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 ...public.function.setConflicts(
a7380 61 72 72 61 79 20 24 63 6f 6e 66 6c 69 63 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 6c array.$conflicts).{.$this->confl
a73a0 69 63 74 73 20 3d 20 24 63 6f 6e 66 6c 69 63 74 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 icts.=.$conflicts;.}.....public.
a73c0 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e function.getConflicts().{.return
a73e0 20 24 74 68 69 73 2d 3e 63 6f 6e 66 6c 69 63 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .$this->conflicts;.}.......publi
a7400 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 76 69 64 65 73 28 61 72 72 61 79 20 24 70 72 c.function.setProvides(array.$pr
a7420 6f 76 69 64 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 73 20 3d 20 24 70 72 6f ovides).{.$this->provides.=.$pro
a7440 76 69 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 vides;.}.....public.function.get
a7460 50 72 6f 76 69 64 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 Provides().{.return.$this->provi
a7480 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 des;.}.......public.function.set
a74a0 52 65 70 6c 61 63 65 73 28 61 72 72 61 79 20 24 72 65 70 6c 61 63 65 73 29 0a 7b 0a 24 74 68 69 Replaces(array.$replaces).{.$thi
a74c0 73 2d 3e 72 65 70 6c 61 63 65 73 20 3d 20 24 72 65 70 6c 61 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 s->replaces.=.$replaces;.}.....p
a74e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6c 61 63 65 73 28 29 0a 7b 0a 72 ublic.function.getReplaces().{.r
a7500 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 eturn.$this->replaces;.}.......p
a7520 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 52 65 71 75 69 72 65 73 28 61 72 ublic.function.setDevRequires(ar
a7540 72 61 79 20 24 64 65 76 52 65 71 75 69 72 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 76 52 65 ray.$devRequires).{.$this->devRe
a7560 71 75 69 72 65 73 20 3d 20 24 64 65 76 52 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 quires.=.$devRequires;.}.....pub
a7580 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 0a 7b 0a lic.function.getDevRequires().{.
a75a0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 76 52 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a return.$this->devRequires;.}....
a75c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 67 67 65 73 74 73 28 61 ...public.function.setSuggests(a
a75e0 72 72 61 79 20 24 73 75 67 67 65 73 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 67 67 65 73 74 rray.$suggests).{.$this->suggest
a7600 73 20 3d 20 24 73 75 67 67 65 73 74 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s.=.$suggests;.}.....public.func
a7620 74 69 6f 6e 20 67 65 74 53 75 67 67 65 73 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 tion.getSuggests().{.return.$thi
a7640 73 2d 3e 73 75 67 67 65 73 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s->suggests;.}.......public.func
a7660 74 69 6f 6e 20 73 65 74 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 20 24 61 75 74 6f 6c 6f 61 64 tion.setAutoload(array.$autoload
a7680 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 20 3d 20 24 61 75 74 6f 6c 6f 61 64 3b ).{.$this->autoload.=.$autoload;
a76a0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 6f 6c 6f .}.....public.function.getAutolo
a76c0 61 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 75 74 6f 6c 6f 61 64 3b 0a 7d ad().{.return.$this->autoload;.}
a76e0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 41 75 74 .......public.function.setDevAut
a7700 6f 6c 6f 61 64 28 61 72 72 61 79 20 24 64 65 76 41 75 74 6f 6c 6f 61 64 29 0a 7b 0a 24 74 68 69 oload(array.$devAutoload).{.$thi
a7720 73 2d 3e 64 65 76 41 75 74 6f 6c 6f 61 64 20 3d 20 24 64 65 76 41 75 74 6f 6c 6f 61 64 3b 0a 7d s->devAutoload.=.$devAutoload;.}
a7740 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 76 41 75 74 6f 6c .....public.function.getDevAutol
a7760 6f 61 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 76 41 75 74 6f 6c 6f 61 oad().{.return.$this->devAutoloa
a7780 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e d;.}.......public.function.setIn
a77a0 63 6c 75 64 65 50 61 74 68 73 28 61 72 72 61 79 20 24 69 6e 63 6c 75 64 65 50 61 74 68 73 29 0a cludePaths(array.$includePaths).
a77c0 7b 0a 24 74 68 69 73 2d 3e 69 6e 63 6c 75 64 65 50 61 74 68 73 20 3d 20 24 69 6e 63 6c 75 64 65 {.$this->includePaths.=.$include
a77e0 50 61 74 68 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 Paths;.}.....public.function.get
a7800 49 6e 63 6c 75 64 65 50 61 74 68 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 IncludePaths().{.return.$this->i
a7820 6e 63 6c 75 64 65 50 61 74 68 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ncludePaths;.}.......public.func
a7840 74 69 6f 6e 20 73 65 74 4e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 28 24 6e 6f 74 69 66 69 63 tion.setNotificationUrl($notific
a7860 61 74 69 6f 6e 55 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 ationUrl).{.$this->notificationU
a7880 72 6c 20 3d 20 24 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 rl.=.$notificationUrl;.}.....pub
a78a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 6c 28 lic.function.getNotificationUrl(
a78c0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 6f 74 69 66 69 63 61 74 69 6f 6e 55 72 ).{.return.$this->notificationUr
a78e0 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 72 l;.}.......public.function.setAr
a7900 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 61 72 72 61 79 20 24 65 78 63 6c 75 64 65 73 29 0a 7b chiveExcludes(array.$excludes).{
a7920 0a 24 74 68 69 73 2d 3e 61 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 20 3d 20 24 65 78 63 6c 75 .$this->archiveExcludes.=.$exclu
a7940 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 des;.}.....public.function.getAr
a7960 63 68 69 76 65 45 78 63 6c 75 64 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e chiveExcludes().{.return.$this->
a7980 61 72 63 68 69 76 65 45 78 63 6c 75 64 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 archiveExcludes;.}.........publi
a79a0 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6c 61 63 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 c.function.replaceVersion($versi
a79c0 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 on,.$prettyVersion).{.$this->ver
a79e0 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 56 65 sion.=.$version;.$this->prettyVe
a7a00 72 73 69 6f 6e 20 3d 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 0a 24 74 68 69 73 2d 3e rsion.=.$prettyVersion;..$this->
a7a20 73 74 61 62 69 6c 69 74 79 20 3d 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 65 stability.=.VersionParser::parse
a7a40 53 74 61 62 69 6c 69 74 79 28 24 76 65 72 73 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 64 65 76 20 Stability($version);.$this->dev.
a7a60 3d 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 3d 3d 3d 20 27 64 65 76 27 3b 0a 7d 0a =.$this->stability.===.'dev';.}.
a7a80 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 73 28 24 75 72 6c .protected.function.getUrls($url
a7aa0 2c 20 24 6d 69 72 72 6f 72 73 2c 20 24 72 65 66 2c 20 24 74 79 70 65 2c 20 24 75 72 6c 54 79 70 ,.$mirrors,.$ref,.$type,.$urlTyp
a7ac0 65 29 0a 7b 0a 69 66 20 28 21 24 75 72 6c 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 e).{.if.(!$url).{.return.array()
a7ae0 3b 0a 7d 0a 24 75 72 6c 73 20 3d 20 61 72 72 61 79 28 24 75 72 6c 29 3b 0a 69 66 20 28 24 6d 69 ;.}.$urls.=.array($url);.if.($mi
a7b00 72 72 6f 72 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6d 69 72 72 6f 72 73 20 61 73 20 24 6d rrors).{.foreach.($mirrors.as.$m
a7b20 69 72 72 6f 72 29 20 7b 0a 69 66 20 28 24 75 72 6c 54 79 70 65 20 3d 3d 3d 20 27 64 69 73 74 27 irror).{.if.($urlType.===.'dist'
a7b40 29 20 7b 0a 24 6d 69 72 72 6f 72 55 72 6c 20 3d 20 43 6f 6d 70 6f 73 65 72 4d 69 72 72 6f 72 3a ).{.$mirrorUrl.=.ComposerMirror:
a7b60 3a 70 72 6f 63 65 73 73 55 72 6c 28 24 6d 69 72 72 6f 72 5b 27 75 72 6c 27 5d 2c 20 24 74 68 69 :processUrl($mirror['url'],.$thi
a7b80 73 2d 3e 6e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 2c 20 24 72 65 66 2c 20 24 s->name,.$this->version,.$ref,.$
a7ba0 74 79 70 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 75 72 6c 54 79 70 65 20 3d 3d 3d 20 27 73 type);.}.elseif.($urlType.===.'s
a7bc0 6f 75 72 63 65 27 20 26 26 20 24 74 79 70 65 20 3d 3d 3d 20 27 67 69 74 27 29 20 7b 0a 24 6d 69 ource'.&&.$type.===.'git').{.$mi
a7be0 72 72 6f 72 55 72 6c 20 3d 20 43 6f 6d 70 6f 73 65 72 4d 69 72 72 6f 72 3a 3a 70 72 6f 63 65 73 rrorUrl.=.ComposerMirror::proces
a7c00 73 47 69 74 55 72 6c 28 24 6d 69 72 72 6f 72 5b 27 75 72 6c 27 5d 2c 20 24 74 68 69 73 2d 3e 6e sGitUrl($mirror['url'],.$this->n
a7c20 61 6d 65 2c 20 24 75 72 6c 2c 20 24 74 79 70 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 75 72 ame,.$url,.$type);.}.elseif.($ur
a7c40 6c 54 79 70 65 20 3d 3d 3d 20 27 73 6f 75 72 63 65 27 20 26 26 20 24 74 79 70 65 20 3d 3d 3d 20 lType.===.'source'.&&.$type.===.
a7c60 27 68 67 27 29 20 7b 0a 24 6d 69 72 72 6f 72 55 72 6c 20 3d 20 43 6f 6d 70 6f 73 65 72 4d 69 72 'hg').{.$mirrorUrl.=.ComposerMir
a7c80 72 6f 72 3a 3a 70 72 6f 63 65 73 73 48 67 55 72 6c 28 24 6d 69 72 72 6f 72 5b 27 75 72 6c 27 5d ror::processHgUrl($mirror['url']
a7ca0 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 2c 20 24 75 72 6c 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 69 ,.$this->name,.$url,.$type);.}.i
a7cc0 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6d 69 72 72 6f 72 55 72 6c 2c 20 24 75 72 6c 73 29 29 f.(!in_array($mirrorUrl,.$urls))
a7ce0 20 7b 0a 24 66 75 6e 63 20 3d 20 24 6d 69 72 72 6f 72 5b 27 70 72 65 66 65 72 72 65 64 27 5d 20 .{.$func.=.$mirror['preferred'].
a7d00 3f 20 27 61 72 72 61 79 5f 75 6e 73 68 69 66 74 27 20 3a 20 27 61 72 72 61 79 5f 70 75 73 68 27 ?.'array_unshift'.:.'array_push'
a7d20 3b 0a 24 66 75 6e 63 28 24 75 72 6c 73 2c 20 24 6d 69 72 72 6f 72 55 72 6c 29 3b 0a 7d 0a 7d 0a ;.$func($urls,.$mirrorUrl);.}.}.
a7d40 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 6c 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a }..return.$urls;.}.}.<?php......
a7d60 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 ......namespace.Composer\Package
a7d80 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 ;..use.Composer\Repository\Repos
a7da0 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 itoryInterface;.......interface.
a7dc0 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 PackageInterface.{......public.f
a7de0 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 unction.getName();.......public.
a7e00 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 4e 61 6d 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a function.getPrettyName();.......
a7e20 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 73 28 29 3b 0a 0a ...public.function.getNames();..
a7e40 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 64 28 24 69 64 29 3b .....public.function.setId($id);
a7e60 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 64 28 29 3b 0a .......public.function.getId();.
a7e80 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 76 28 29 3b 0a 0a ......public.function.isDev();..
a7ea0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 3b 0a .....public.function.getType();.
a7ec0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 72 67 65 74 44 ......public.function.getTargetD
a7ee0 69 72 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 ir();.......public.function.getE
a7f00 78 74 72 61 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 xtra();.......public.function.se
a7f20 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 53 6f 75 72 63 65 28 24 74 79 70 65 29 3b 0a 0a 0a 0a 0a tInstallationSource($type);.....
a7f40 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f ..public.function.getInstallatio
a7f60 6e 53 6f 75 72 63 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e nSource();.......public.function
a7f80 20 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .getSourceType();.......public.f
a7fa0 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 55 72 6c 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 unction.getSourceUrl();.......pu
a7fc0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 55 72 6c 73 28 29 3b 0a 0a blic.function.getSourceUrls();..
a7fe0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 52 65 .....public.function.getSourceRe
a8000 66 65 72 65 6e 63 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ference();.......public.function
a8020 20 67 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .getSourceMirrors();.......publi
a8040 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 54 79 70 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a c.function.getDistType();.......
a8060 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 55 72 6c 28 29 3b 0a 0a 0a public.function.getDistUrl();...
a8080 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 55 72 6c 73 28 ....public.function.getDistUrls(
a80a0 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 );.......public.function.getDist
a80c0 52 65 66 65 72 65 6e 63 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 Reference();.......public.functi
a80e0 6f 6e 20 67 65 74 44 69 73 74 53 68 61 31 43 68 65 63 6b 73 75 6d 28 29 3b 0a 0a 0a 0a 0a 0a 0a on.getDistSha1Checksum();.......
a8100 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 4d 69 72 72 6f 72 73 28 29 public.function.getDistMirrors()
a8120 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 ;.......public.function.getVersi
a8140 6f 6e 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 on();.......public.function.getP
a8160 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 rettyVersion();..........public.
a8180 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 75 6c 6c 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 24 74 function.getFullPrettyVersion($t
a81a0 72 75 6e 63 61 74 65 20 3d 20 74 72 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 runcate.=.true);.......public.fu
a81c0 6e 63 74 69 6f 6e 20 67 65 74 52 65 6c 65 61 73 65 44 61 74 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 nction.getReleaseDate();.......p
a81e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 28 29 3b 0a 0a ublic.function.getStability();..
a8200 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 71 75 69 72 65 ......public.function.getRequire
a8220 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 s();........public.function.getC
a8240 6f 6e 66 6c 69 63 74 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 onflicts();........public.functi
a8260 6f 6e 20 67 65 74 50 72 6f 76 69 64 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 on.getProvides();........public.
a8280 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6c 61 63 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 function.getReplaces();........p
a82a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 3b ublic.function.getDevRequires();
a82c0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 67 67 65 ........public.function.getSugge
a82e0 73 74 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f sts();............public.functio
a8300 6e 20 67 65 74 41 75 74 6f 6c 6f 61 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c n.getAutoload();............publ
a8320 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 28 29 3b 0a 0a 0a ic.function.getDevAutoload();...
a8340 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 6c 75 64 65 50 .....public.function.getIncludeP
a8360 61 74 68 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 aths();.......public.function.se
a8380 74 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 tRepository(RepositoryInterface.
a83a0 24 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 $repository);.......public.funct
a83c0 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ion.getRepository();.......publi
a83e0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 69 6e 61 72 69 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a c.function.getBinaries();.......
a8400 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 6e 69 71 75 65 4e 61 6d 65 28 29 3b public.function.getUniqueName();
a8420 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 6f 74 69 66 69 .......public.function.getNotifi
a8440 63 61 74 69 6f 6e 55 72 6c 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 cationUrl();.......public.functi
a8460 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 on.__toString();.......public.fu
a8480 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 3b 0a 0a 0a 0a 0a 0a 0a nction.getPrettyString();.......
a84a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 63 68 69 76 65 45 78 63 6c 75 64 public.function.getArchiveExclud
a84c0 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 es();.......public.function.getT
a84e0 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ransportOptions();.......public.
a8500 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 28 24 72 65 66 function.setSourceReference($ref
a8520 65 72 65 6e 63 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 erence);.......public.function.s
a8540 65 74 44 69 73 74 55 72 6c 28 24 75 72 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 etDistUrl($url);.......public.fu
a8560 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 54 79 70 65 28 24 74 79 70 65 29 3b 0a 0a 0a 0a 0a 0a nction.setDistType($type);......
a8580 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 74 52 65 66 65 72 65 6e 63 .public.function.setDistReferenc
a85a0 65 28 24 72 65 66 65 72 65 6e 63 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a e($reference);.}.<?php..........
a85c0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 0a ..namespace.Composer\Package;...
a85e0 0a 0a 63 6c 61 73 73 20 52 6f 6f 74 41 6c 69 61 73 50 61 63 6b 61 67 65 20 65 78 74 65 6e 64 73 ..class.RootAliasPackage.extends
a8600 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 52 6f 6f 74 50 61 63 .AliasPackage.implements.RootPac
a8620 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 kageInterface.{.public.function.
a8640 5f 5f 63 6f 6e 73 74 72 75 63 74 28 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 __construct(RootPackageInterface
a8660 20 24 61 6c 69 61 73 4f 66 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 .$aliasOf,.$version,.$prettyVers
a8680 69 6f 6e 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 61 6c 69 61 ion).{.parent::__construct($alia
a86a0 73 4f 66 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a sOf,.$version,.$prettyVersion);.
a86c0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 65 73 }.....public.function.getAliases
a86e0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 41 ().{.return.$this->aliasOf->getA
a8700 6c 69 61 73 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 liases();.}.....public.function.
a8720 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 getMinimumStability().{.return.$
a8740 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 this->aliasOf->getMinimumStabili
a8760 74 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 ty();.}.....public.function.getS
a8780 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e tabilityFlags().{.return.$this->
a87a0 61 6c 69 61 73 4f 66 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 3b 0a 7d 0a aliasOf->getStabilityFlags();.}.
a87c0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 66 65 72 65 6e 63 65 ....public.function.getReference
a87e0 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 s().{.return.$this->aliasOf->get
a8800 52 65 66 65 72 65 6e 63 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 References();.}.....public.funct
a8820 69 6f 6e 20 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ion.getPreferStable().{.return.$
a8840 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 this->aliasOf->getPreferStable()
a8860 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 69 ;.}.....public.function.getConfi
a8880 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 67 65 74 g().{.return.$this->aliasOf->get
a88a0 43 6f 6e 66 69 67 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 Config();.}.....public.function.
a88c0 73 65 74 52 65 71 75 69 72 65 73 28 61 72 72 61 79 20 24 72 65 71 75 69 72 65 29 0a 7b 0a 24 74 setRequires(array.$require).{.$t
a88e0 68 69 73 2d 3e 72 65 71 75 69 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 53 65 his->requires.=.$this->replaceSe
a8900 6c 66 56 65 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 72 65 71 75 69 72 65 2c 20 lfVersionDependencies($require,.
a8920 27 72 65 71 75 69 72 65 73 27 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 'requires');..$this->aliasOf->se
a8940 74 52 65 71 75 69 72 65 73 28 24 72 65 71 75 69 72 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 tRequires($require);.}.....publi
a8960 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 52 65 71 75 69 72 65 73 28 61 72 72 61 79 20 c.function.setDevRequires(array.
a8980 24 64 65 76 52 65 71 75 69 72 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 76 52 65 71 75 69 72 65 $devRequire).{.$this->devRequire
a89a0 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 73 69 6f 6e 44 65 70 s.=.$this->replaceSelfVersionDep
a89c0 65 6e 64 65 6e 63 69 65 73 28 24 64 65 76 52 65 71 75 69 72 65 2c 20 27 64 65 76 52 65 71 75 69 endencies($devRequire,.'devRequi
a89e0 72 65 73 27 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 44 65 76 52 65 res');..$this->aliasOf->setDevRe
a8a00 71 75 69 72 65 73 28 24 64 65 76 52 65 71 75 69 72 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 quires($devRequire);.}.....publi
a8a20 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 61 72 72 61 79 20 24 63 c.function.setConflicts(array.$c
a8a40 6f 6e 66 6c 69 63 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 6c 69 63 74 73 20 3d 20 24 onflicts).{.$this->conflicts.=.$
a8a60 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e this->replaceSelfVersionDependen
a8a80 63 69 65 73 28 24 63 6f 6e 66 6c 69 63 74 73 2c 20 27 63 6f 6e 66 6c 69 63 74 73 27 29 3b 0a 24 cies($conflicts,.'conflicts');.$
a8aa0 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 24 63 6f 6e this->aliasOf->setConflicts($con
a8ac0 66 6c 69 63 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 flicts);.}.....public.function.s
a8ae0 65 74 50 72 6f 76 69 64 65 73 28 61 72 72 61 79 20 24 70 72 6f 76 69 64 65 73 29 0a 7b 0a 24 74 etProvides(array.$provides).{.$t
a8b00 68 69 73 2d 3e 70 72 6f 76 69 64 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 53 65 his->provides.=.$this->replaceSe
a8b20 6c 66 56 65 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 70 72 6f 76 69 64 65 73 2c lfVersionDependencies($provides,
a8b40 20 27 70 72 6f 76 69 64 65 73 27 29 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 .'provides');.$this->aliasOf->se
a8b60 74 50 72 6f 76 69 64 65 73 28 24 70 72 6f 76 69 64 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c tProvides($provides);.}.....publ
a8b80 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6c 61 63 65 73 28 61 72 72 61 79 20 24 72 ic.function.setReplaces(array.$r
a8ba0 65 70 6c 61 63 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6c 61 63 65 73 20 3d 20 24 74 68 eplaces).{.$this->replaces.=.$th
a8bc0 69 73 2d 3e 72 65 70 6c 61 63 65 53 65 6c 66 56 65 72 73 69 6f 6e 44 65 70 65 6e 64 65 6e 63 69 is->replaceSelfVersionDependenci
a8be0 65 73 28 24 72 65 70 6c 61 63 65 73 2c 20 27 72 65 70 6c 61 63 65 73 27 29 3b 0a 24 74 68 69 73 es($replaces,.'replaces');.$this
a8c00 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 52 65 70 6c 61 63 65 73 28 24 72 65 70 6c 61 63 65 73 ->aliasOf->setReplaces($replaces
a8c20 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6f );.}.....public.function.setRepo
a8c40 73 69 74 6f 72 69 65 73 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 29 0a 7b 0a 24 74 68 69 73 2d sitories($repositories).{.$this-
a8c60 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 24 72 65 70 6f 73 >aliasOf->setRepositories($repos
a8c80 69 74 6f 72 69 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 itories);.}.....public.function.
a8ca0 73 65 74 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 20 24 61 75 74 6f 6c 6f 61 64 29 0a 7b 0a 24 setAutoload(array.$autoload).{.$
a8cc0 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 41 75 74 6f 6c 6f 61 64 28 24 61 75 74 6f this->aliasOf->setAutoload($auto
a8ce0 6c 6f 61 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 load);.}.....public.function.set
a8d00 44 65 76 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 20 24 64 65 76 41 75 74 6f 6c 6f 61 64 29 0a DevAutoload(array.$devAutoload).
a8d20 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 44 65 76 41 75 74 6f 6c 6f 61 64 {.$this->aliasOf->setDevAutoload
a8d40 28 24 64 65 76 41 75 74 6f 6c 6f 61 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ($devAutoload);.}.....public.fun
a8d60 63 74 69 6f 6e 20 73 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 61 72 72 61 79 20 24 73 ction.setStabilityFlags(array.$s
a8d80 74 61 62 69 6c 69 74 79 46 6c 61 67 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d tabilityFlags).{.$this->aliasOf-
a8da0 3e 73 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 24 73 74 61 62 69 6c 69 74 79 46 6c 61 >setStabilityFlags($stabilityFla
a8dc0 67 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 gs);.}.....public.function.setSu
a8de0 67 67 65 73 74 73 28 61 72 72 61 79 20 24 73 75 67 67 65 73 74 73 29 0a 7b 0a 24 74 68 69 73 2d ggests(array.$suggests).{.$this-
a8e00 3e 61 6c 69 61 73 4f 66 2d 3e 73 65 74 53 75 67 67 65 73 74 73 28 24 73 75 67 67 65 73 74 73 29 >aliasOf->setSuggests($suggests)
a8e20 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 74 72 61 ;.}.....public.function.setExtra
a8e40 28 61 72 72 61 79 20 24 65 78 74 72 61 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 2d (array.$extra).{.$this->aliasOf-
a8e60 3e 73 65 74 45 78 74 72 61 28 24 65 78 74 72 61 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e >setExtra($extra);.}..public.fun
a8e80 63 74 69 6f 6e 20 5f 5f 63 6c 6f 6e 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6c 6f 6e ction.__clone().{.parent::__clon
a8ea0 65 28 29 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 4f 66 20 3d 20 63 6c 6f 6e 65 20 24 74 68 69 e();.$this->aliasOf.=.clone.$thi
a8ec0 73 2d 3e 61 6c 69 61 73 4f 66 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a s->aliasOf;.}.}.<?php...........
a8ee0 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a .namespace.Composer\Package;....
a8f00 0a 0a 0a 63 6c 61 73 73 20 52 6f 6f 74 50 61 63 6b 61 67 65 20 65 78 74 65 6e 64 73 20 43 6f 6d ...class.RootPackage.extends.Com
a8f20 70 6c 65 74 65 50 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 52 6f 6f 74 50 61 63 6b pletePackage.implements.RootPack
a8f40 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 69 6e 69 6d 75 ageInterface.{.protected.$minimu
a8f60 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 6c 65 27 3b 0a 70 72 6f 74 65 63 74 65 64 mStability.=.'stable';.protected
a8f80 20 24 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 .$preferStable.=.false;.protecte
a8fa0 64 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f d.$stabilityFlags.=.array();.pro
a8fc0 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 tected.$config.=.array();.protec
a8fe0 74 65 64 20 24 72 65 66 65 72 65 6e 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 ted.$references.=.array();.prote
a9000 63 74 65 64 20 24 61 6c 69 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 cted.$aliases.=.array();.......p
a9020 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 ublic.function.setMinimumStabili
a9040 74 79 28 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d ty($minimumStability).{.$this->m
a9060 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 20 3d 20 24 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c inimumStability.=.$minimumStabil
a9080 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 69 ity;.}.....public.function.getMi
a90a0 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d nimumStability().{.return.$this-
a90c0 3e 6d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 >minimumStability;.}.......publi
a90e0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 61 72 72 c.function.setStabilityFlags(arr
a9100 61 79 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 ay.$stabilityFlags).{.$this->sta
a9120 62 69 6c 69 74 79 46 6c 61 67 73 20 3d 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 3b 0a 7d bilityFlags.=.$stabilityFlags;.}
a9140 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 .....public.function.getStabilit
a9160 79 46 6c 61 67 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 yFlags().{.return.$this->stabili
a9180 74 79 46 6c 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e tyFlags;.}.......public.function
a91a0 20 73 65 74 50 72 65 66 65 72 53 74 61 62 6c 65 28 24 70 72 65 66 65 72 53 74 61 62 6c 65 29 0a .setPreferStable($preferStable).
a91c0 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 65 72 53 74 61 62 6c 65 20 3d 20 24 70 72 65 66 65 72 53 {.$this->preferStable.=.$preferS
a91e0 74 61 62 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 table;.}.....public.function.get
a9200 50 72 65 66 65 72 53 74 61 62 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 PreferStable().{.return.$this->p
a9220 72 65 66 65 72 53 74 61 62 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 referStable;.}.......public.func
a9240 74 69 6f 6e 20 73 65 74 43 6f 6e 66 69 67 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 29 0a 7b 0a tion.setConfig(array.$config).{.
a9260 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 70 $this->config.=.$config;.}.....p
a9280 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 ublic.function.getConfig().{.ret
a92a0 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 urn.$this->config;.}.......publi
a92c0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 66 65 72 65 6e 63 65 73 28 61 72 72 61 79 20 24 c.function.setReferences(array.$
a92e0 72 65 66 65 72 65 6e 63 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 66 65 72 65 6e 63 65 73 20 references).{.$this->references.
a9300 3d 20 24 72 65 66 65 72 65 6e 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 =.$references;.}.....public.func
a9320 74 69 6f 6e 20 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 tion.getReferences().{.return.$t
a9340 68 69 73 2d 3e 72 65 66 65 72 65 6e 63 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 his->references;.}.......public.
a9360 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 6c 69 61 73 65 73 28 61 72 72 61 79 20 24 61 6c 69 61 73 function.setAliases(array.$alias
a9380 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 20 3d 20 24 61 6c 69 61 73 65 73 3b es).{.$this->aliases.=.$aliases;
a93a0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 65 .}.....public.function.getAliase
a93c0 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 3b 0a 7d 0a 7d s().{.return.$this->aliases;.}.}
a93e0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
a9400 6f 73 65 72 5c 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 52 6f oser\Package;.......interface.Ro
a9420 6f 74 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 43 6f 6d 70 6c otPackageInterface.extends.Compl
a9440 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 etePackageInterface.{......publi
a9460 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 c.function.getAliases();.......p
a9480 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 69 6e 69 6d 75 6d 53 74 61 62 69 6c 69 ublic.function.getMinimumStabili
a94a0 74 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ty();.........public.function.ge
a94c0 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 tStabilityFlags();.........publi
a94e0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 29 3b 0a 0a 0a 0a 0a c.function.getReferences();.....
a9500 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 65 72 53 74 61 62 6c ..public.function.getPreferStabl
a9520 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f e();.......public.function.getCo
a9540 6e 66 69 67 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 nfig();.......public.function.se
a9560 74 52 65 71 75 69 72 65 73 28 61 72 72 61 79 20 24 72 65 71 75 69 72 65 73 29 3b 0a 0a 0a 0a 0a tRequires(array.$requires);.....
a9580 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 52 65 71 75 69 72 65 73 ..public.function.setDevRequires
a95a0 28 61 72 72 61 79 20 24 64 65 76 52 65 71 75 69 72 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c (array.$devRequires);.......publ
a95c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 66 6c 69 63 74 73 28 61 72 72 61 79 20 24 ic.function.setConflicts(array.$
a95e0 63 6f 6e 66 6c 69 63 74 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f conflicts);.......public.functio
a9600 6e 20 73 65 74 50 72 6f 76 69 64 65 73 28 61 72 72 61 79 20 24 70 72 6f 76 69 64 65 73 29 3b 0a n.setProvides(array.$provides);.
a9620 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6c 61 63 65 ......public.function.setReplace
a9640 73 28 61 72 72 61 79 20 24 72 65 70 6c 61 63 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 s(array.$replaces);.......public
a9660 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 24 72 65 70 6f 73 .function.setRepositories($repos
a9680 69 74 6f 72 69 65 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 itories);.......public.function.
a96a0 73 65 74 41 75 74 6f 6c 6f 61 64 28 61 72 72 61 79 20 24 61 75 74 6f 6c 6f 61 64 29 3b 0a 0a 0a setAutoload(array.$autoload);...
a96c0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 76 41 75 74 6f 6c 6f ....public.function.setDevAutolo
a96e0 61 64 28 61 72 72 61 79 20 24 64 65 76 41 75 74 6f 6c 6f 61 64 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 ad(array.$devAutoload);.......pu
a9700 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 62 69 6c 69 74 79 46 6c 61 67 73 28 blic.function.setStabilityFlags(
a9720 61 72 72 61 79 20 24 73 74 61 62 69 6c 69 74 79 46 6c 61 67 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 array.$stabilityFlags);.......pu
a9740 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 67 67 65 73 74 73 28 61 72 72 61 79 20 blic.function.setSuggests(array.
a9760 24 73 75 67 67 65 73 74 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 $suggests);.....public.function.
a9780 73 65 74 45 78 74 72 61 28 61 72 72 61 79 20 24 65 78 74 72 61 29 3b 0a 7d 0a 3c 3f 70 68 70 0a setExtra(array.$extra);.}.<?php.
a97a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 ...........namespace.Composer\Pa
a97c0 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e ckage\Version;..use.Composer\Con
a97e0 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 fig;.use.Composer\Repository\Vcs
a9800 5c 48 67 44 72 69 76 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 4e 75 6c 6c 49 \HgDriver;.use.Composer\IO\NullI
a9820 4f 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 56 65 72 73 69 6f 6e 50 61 O;.use.Composer\Semver\VersionPa
a9840 72 73 65 72 20 61 73 20 53 65 6d 76 65 72 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 rser.as.SemverVersionParser;.use
a9860 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 20 61 73 20 47 69 74 55 74 69 6c 3b 0a 75 .Composer\Util\Git.as.GitUtil;.u
a9880 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 se.Composer\Util\ProcessExecutor
a98a0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 76 6e 20 61 73 20 53 76 6e 55 74 ;.use.Composer\Util\Svn.as.SvnUt
a98c0 69 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 0a il;........class.VersionGuesser.
a98e0 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 {....private.$config;.....privat
a9900 65 20 24 70 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e e.$process;.....private.$version
a9920 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f Parser;.......public.function.__
a9940 63 6f 6e 73 74 72 75 63 74 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 construct(Config.$config,.Proces
a9960 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 2c 20 53 65 6d 76 65 72 56 65 72 73 69 6f sExecutor.$process,.SemverVersio
a9980 6e 50 61 72 73 65 72 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 0a 7b 0a 24 74 68 69 73 2d nParser.$versionParser).{.$this-
a99a0 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 >config.=.$config;.$this->proces
a99c0 73 20 3d 20 24 70 72 6f 63 65 73 73 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 s.=.$process;.$this->versionPars
a99e0 65 72 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 er.=.$versionParser;.}........pu
a9a00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 73 73 56 65 72 73 69 6f 6e 28 61 72 72 61 79 blic.function.guessVersion(array
a9a20 20 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 66 75 .$packageConfig,.$path).{.if.(fu
a9a40 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 24 76 nction_exists('proc_open')).{.$v
a9a60 65 72 73 69 6f 6e 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 47 69 74 56 65 72 73 ersionData.=.$this->guessGitVers
a9a80 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 3b 0a 69 66 20 28 ion($packageConfig,.$path);.if.(
a9aa0 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 20 26 26 20 6e 75 6c 6c 20 21 3d null.!==.$versionData.&&.null.!=
a9ac0 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 7b 0a 72 65 74 =.$versionData['version']).{.ret
a9ae0 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 73 74 70 72 6f 63 65 73 73 28 24 76 65 72 73 69 6f 6e 44 urn.$this->postprocess($versionD
a9b00 61 74 61 29 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 ata);.}..$versionData.=.$this->g
a9b20 75 65 73 73 48 67 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 uessHgVersion($packageConfig,.$p
a9b40 61 74 68 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 20 ath);.if.(null.!==.$versionData.
a9b60 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f &&.null.!==.$versionData['versio
a9b80 6e 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 73 74 70 72 6f 63 65 73 73 n']).{.return.$this->postprocess
a9ba0 28 24 76 65 72 73 69 6f 6e 44 61 74 61 29 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 44 61 74 61 20 ($versionData);.}..$versionData.
a9bc0 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 46 6f 73 73 69 6c 56 65 72 73 69 6f 6e 28 24 70 61 63 =.$this->guessFossilVersion($pac
a9be0 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d kageConfig,.$path);.if.(null.!==
a9c00 20 24 76 65 72 73 69 6f 6e 44 61 74 61 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 .$versionData.&&.null.!==.$versi
a9c20 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 onData['version']).{.return.$thi
a9c40 73 2d 3e 70 6f 73 74 70 72 6f 63 65 73 73 28 24 76 65 72 73 69 6f 6e 44 61 74 61 29 3b 0a 7d 0a s->postprocess($versionData);.}.
a9c60 0a 24 76 65 72 73 69 6f 6e 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 53 76 6e 56 .$versionData.=.$this->guessSvnV
a9c80 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 3b 0a 69 ersion($packageConfig,.$path);.i
a9ca0 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 20 26 26 20 6e 75 6c 6c f.(null.!==.$versionData.&&.null
a9cc0 20 21 3d 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 7b 0a .!==.$versionData['version']).{.
a9ce0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 73 74 70 72 6f 63 65 73 73 28 24 76 65 72 73 69 return.$this->postprocess($versi
a9d00 6f 6e 44 61 74 61 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e onData);.}.}.}..private.function
a9d20 20 70 6f 73 74 70 72 6f 63 65 73 73 28 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e 44 61 74 61 29 .postprocess(array.$versionData)
a9d40 0a 7b 0a 69 66 20 28 27 2d 64 65 76 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 76 65 72 73 69 6f .{.if.('-dev'.===.substr($versio
a9d60 6e 44 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 2c 20 2d 34 29 20 26 26 20 70 72 65 67 5f 6d 61 nData['version'],.-4).&&.preg_ma
a9d80 74 63 68 28 27 7b 5c 2e 39 7b 37 7d 7d 27 2c 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 tch('{\.9{7}}',.$versionData['ve
a9da0 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 70 72 65 74 74 79 rsion'])).{.$versionData['pretty
a9dc0 5f 76 65 72 73 69 6f 6e 27 5d 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 5c 2e 39 _version'].=.preg_replace('{(\.9
a9de0 7b 37 7d 29 2b 7d 27 2c 20 27 2e 78 27 2c 20 24 76 65 72 73 69 6f 6e 44 61 74 61 5b 27 76 65 72 {7})+}',.'.x',.$versionData['ver
a9e00 73 69 6f 6e 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 44 61 74 61 3b sion']);.}..return.$versionData;
a9e20 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 73 73 47 69 74 56 65 72 .}..private.function.guessGitVer
a9e40 73 69 6f 6e 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 sion(array.$packageConfig,.$path
a9e60 29 0a 7b 0a 47 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 24 63 6f 6d 6d 69 74 ).{.GitUtil::cleanEnv();.$commit
a9e80 20 3d 20 6e 75 6c 6c 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 70 72 65 74 74 .=.null;.$version.=.null;.$prett
a9ea0 79 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 69 73 44 65 74 61 63 68 65 64 20 3d 20 66 yVersion.=.null;.$isDetached.=.f
a9ec0 61 6c 73 65 3b 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 alse;....if.(0.===.$this->proces
a9ee0 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 62 72 61 6e 63 68 20 2d 2d 6e 6f 2d 63 6f 6c 6f s->execute('git.branch.--no-colo
a9f00 72 20 2d 2d 6e 6f 2d 61 62 62 72 65 76 20 2d 76 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 r.--no-abbrev.-v',.$output,.$pat
a9f20 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 69 73 46 65 h)).{.$branches.=.array();.$isFe
a9f40 61 74 75 72 65 42 72 61 6e 63 68 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 atureBranch.=.false;....foreach.
a9f60 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 ($this->process->splitLines($out
a9f80 70 75 74 29 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 69 66 20 28 24 62 72 61 6e 63 68 20 26 put).as.$branch).{.if.($branch.&
a9fa0 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 3a 5c 2a 20 29 20 2a 28 5c 28 6e 6f 20 62 &.preg_match('{^(?:\*.).*(\(no.b
a9fc0 72 61 6e 63 68 5c 29 7c 5c 28 64 65 74 61 63 68 65 64 20 66 72 6f 6d 20 5c 53 2b 5c 29 7c 5c 28 ranch\)|\(detached.from.\S+\)|\(
a9fe0 48 45 41 44 20 64 65 74 61 63 68 65 64 20 61 74 20 5c 53 2b 5c 29 7c 5c 53 2b 29 20 2a 28 5b 61 HEAD.detached.at.\S+\)|\S+).*([a
aa000 2d 66 30 2d 39 5d 2b 29 20 2e 2a 24 7d 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 68 29 -f0-9]+)..*$}',.$branch,.$match)
aa020 29 20 7b 0a 69 66 20 28 24 6d 61 74 63 68 5b 31 5d 20 3d 3d 3d 20 27 28 6e 6f 20 62 72 61 6e 63 ).{.if.($match[1].===.'(no.branc
aa040 68 29 27 20 7c 7c 20 73 75 62 73 74 72 28 24 6d 61 74 63 68 5b 31 5d 2c 20 30 2c 20 31 30 29 20 h)'.||.substr($match[1],.0,.10).
aa060 3d 3d 3d 20 27 28 64 65 74 61 63 68 65 64 20 27 20 7c 7c 20 73 75 62 73 74 72 28 24 6d 61 74 63 ===.'(detached.'.||.substr($matc
aa080 68 5b 31 5d 2c 20 30 2c 20 31 37 29 20 3d 3d 3d 20 27 28 48 45 41 44 20 64 65 74 61 63 68 65 64 h[1],.0,.17).===.'(HEAD.detached
aa0a0 20 61 74 27 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 27 64 65 76 2d 27 20 2e 20 24 6d 61 74 .at').{.$version.=.'dev-'...$mat
aa0c0 63 68 5b 32 5d 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e ch[2];.$prettyVersion.=.$version
aa0e0 3b 0a 24 69 73 46 65 61 74 75 72 65 42 72 61 6e 63 68 20 3d 20 74 72 75 65 3b 0a 24 69 73 44 65 ;.$isFeatureBranch.=.true;.$isDe
aa100 74 61 63 68 65 64 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 65 72 73 69 6f 6e tached.=.true;.}.else.{.$version
aa120 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 .=.$this->versionParser->normali
aa140 7a 65 42 72 61 6e 63 68 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 zeBranch($match[1]);.$prettyVers
aa160 69 6f 6e 20 3d 20 27 64 65 76 2d 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 69 73 46 65 61 ion.=.'dev-'...$match[1];.$isFea
aa180 74 75 72 65 42 72 61 6e 63 68 20 3d 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 76 65 72 73 69 tureBranch.=.0.===.strpos($versi
aa1a0 6f 6e 2c 20 27 64 65 76 2d 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 6d 61 74 63 68 5b 32 5d 29 20 7b on,.'dev-');.}..if.($match[2]).{
aa1c0 0a 24 63 6f 6d 6d 69 74 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 .$commit.=.$match[2];.}.}..if.($
aa1e0 62 72 61 6e 63 68 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 20 2a 5b 5e 2f 5d 2b branch.&&.!preg_match('{^.*[^/]+
aa200 2f 48 45 41 44 20 7d 27 2c 20 24 62 72 61 6e 63 68 29 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d /HEAD.}',.$branch)).{.if.(preg_m
aa220 61 74 63 68 28 27 7b 5e 28 3f 3a 5c 2a 20 29 3f 20 2a 28 5c 53 2b 29 20 2a 28 5b 61 2d 66 30 2d atch('{^(?:\*.)?.*(\S+).*([a-f0-
aa240 39 5d 2b 29 20 2e 2a 24 7d 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 9]+)..*$}',.$branch,.$match)).{.
aa260 24 62 72 61 6e 63 68 65 73 5b 5d 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a $branches[].=.$match[1];.}.}.}..
aa280 69 66 20 28 24 69 73 46 65 61 74 75 72 65 42 72 61 6e 63 68 29 20 7b 0a 0a 20 24 72 65 73 75 6c if.($isFeatureBranch).{...$resul
aa2a0 74 20 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 46 65 61 74 75 72 65 56 65 72 73 69 6f 6e 28 24 t.=.$this->guessFeatureVersion($
aa2c0 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 62 72 61 6e 63 68 packageConfig,.$version,.$branch
aa2e0 65 73 2c 20 27 67 69 74 20 72 65 76 2d 6c 69 73 74 20 25 63 61 6e 64 69 64 61 74 65 25 2e 2e 25 es,.'git.rev-list.%candidate%..%
aa300 62 72 61 6e 63 68 25 27 2c 20 24 70 61 74 68 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 72 65 branch%',.$path);.$version.=.$re
aa320 73 75 6c 74 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 sult['version'];.$prettyVersion.
aa340 3d 20 24 72 65 73 75 6c 74 5b 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d 0a 7d =.$result['pretty_version'];.}.}
aa360 0a 0a 69 66 20 28 21 24 76 65 72 73 69 6f 6e 20 7c 7c 20 24 69 73 44 65 74 61 63 68 65 64 29 20 ..if.(!$version.||.$isDetached).
aa380 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 46 72 6f 6d 47 69 {.$result.=.$this->versionFromGi
aa3a0 74 54 61 67 73 28 24 70 61 74 68 29 3b 0a 69 66 20 28 24 72 65 73 75 6c 74 29 20 7b 0a 24 76 65 tTags($path);.if.($result).{.$ve
aa3c0 72 73 69 6f 6e 20 3d 20 24 72 65 73 75 6c 74 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 24 70 72 65 rsion.=.$result['version'];.$pre
aa3e0 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 72 65 73 75 6c 74 5b 27 70 72 65 74 74 79 5f 76 65 72 ttyVersion.=.$result['pretty_ver
aa400 73 69 6f 6e 27 5d 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 63 6f 6d 6d 69 74 29 20 7b 0a 24 63 6f sion'];.}.}..if.(!$commit).{.$co
aa420 6d 6d 61 6e 64 20 3d 20 27 67 69 74 20 6c 6f 67 20 2d 2d 70 72 65 74 74 79 3d 22 25 48 22 20 2d mmand.=.'git.log.--pretty="%H".-
aa440 6e 31 20 48 45 41 44 27 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 n1.HEAD';.if.(0.===.$this->proce
aa460 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 2c 20 24 ss->execute($command,.$output,.$
aa480 70 61 74 68 29 29 20 7b 0a 24 63 6f 6d 6d 69 74 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 path)).{.$commit.=.trim($output)
aa4a0 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 .?:.null;.}.}..return.array('ver
aa4c0 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 63 6f 6d 6d 69 74 27 20 3d 3e 20 24 sion'.=>.$version,.'commit'.=>.$
aa4e0 63 6f 6d 6d 69 74 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 72 65 commit,.'pretty_version'.=>.$pre
aa500 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ttyVersion);.}..private.function
aa520 20 76 65 72 73 69 6f 6e 46 72 6f 6d 47 69 74 54 61 67 73 28 24 70 61 74 68 29 0a 7b 0a 0a 20 69 .versionFromGitTags($path).{...i
aa540 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 f.(0.===.$this->process->execute
aa560 28 27 67 69 74 20 64 65 73 63 72 69 62 65 20 2d 2d 65 78 61 63 74 2d 6d 61 74 63 68 20 2d 2d 74 ('git.describe.--exact-match.--t
aa580 61 67 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 74 72 79 20 7b 0a 24 ags',.$output,.$path)).{.try.{.$
aa5a0 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e version.=.$this->versionParser->
aa5c0 6e 6f 72 6d 61 6c 69 7a 65 28 74 72 69 6d 28 24 6f 75 74 70 75 74 29 29 3b 0a 0a 72 65 74 75 72 normalize(trim($output));..retur
aa5e0 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 n.array('version'.=>.$version,.'
aa600 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 pretty_version'.=>.trim($output)
aa620 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d );.}.catch.(\Exception.$e).{.}.}
aa640 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 ..return.null;.}..private.functi
aa660 6f 6e 20 67 75 65 73 73 48 67 56 65 72 73 69 6f 6e 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 on.guessHgVersion(array.$package
aa680 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 29 0a 7b 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 Config,.$path).{...if.(0.===.$th
aa6a0 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 62 72 61 6e 63 68 27 is->process->execute('hg.branch'
aa6c0 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 20 3d 20 74 ,.$output,.$path)).{.$branch.=.t
aa6e0 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e rim($output);.$version.=.$this->
aa700 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 versionParser->normalizeBranch($
aa720 62 72 61 6e 63 68 29 3b 0a 24 69 73 46 65 61 74 75 72 65 42 72 61 6e 63 68 20 3d 20 30 20 3d 3d branch);.$isFeatureBranch.=.0.==
aa740 3d 20 73 74 72 70 6f 73 28 24 76 65 72 73 69 6f 6e 2c 20 27 64 65 76 2d 27 29 3b 0a 0a 69 66 20 =.strpos($version,.'dev-');..if.
aa760 28 27 39 39 39 39 39 39 39 2d 64 65 76 27 20 3d 3d 3d 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 72 ('9999999-dev'.===.$version).{.r
aa780 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f eturn.array('version'.=>.$versio
aa7a0 6e 2c 20 27 63 6f 6d 6d 69 74 27 20 3d 3e 20 6e 75 6c 6c 2c 20 27 70 72 65 74 74 79 5f 76 65 72 n,.'commit'.=>.null,.'pretty_ver
aa7c0 73 69 6f 6e 27 20 3d 3e 20 27 64 65 76 2d 27 2e 24 62 72 61 6e 63 68 29 3b 0a 7d 0a 0a 69 66 20 sion'.=>.'dev-'.$branch);.}..if.
aa7e0 28 21 24 69 73 46 65 61 74 75 72 65 42 72 61 6e 63 68 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 (!$isFeatureBranch).{.return.arr
aa800 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 63 6f 6d 6d 69 ay('version'.=>.$version,.'commi
aa820 74 27 20 3d 3e 20 6e 75 6c 6c 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 t'.=>.null,.'pretty_version'.=>.
aa840 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 0a 20 24 64 72 69 76 65 72 20 3d 20 6e 65 77 20 48 67 $version);.}....$driver.=.new.Hg
aa860 44 72 69 76 65 72 28 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 70 61 74 68 29 2c 20 6e 65 Driver(array('url'.=>.$path),.ne
aa880 77 20 4e 75 6c 6c 49 4f 28 29 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 w.NullIO(),.$this->config,.$this
aa8a0 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 5f 6b 65 ->process);.$branches.=.array_ke
aa8c0 79 73 28 24 64 72 69 76 65 72 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 29 3b 0a 0a 0a 20 24 ys($driver->getBranches());....$
aa8e0 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 46 65 61 74 75 72 65 56 65 72 73 result.=.$this->guessFeatureVers
aa900 69 6f 6e 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 62 ion($packageConfig,.$version,.$b
aa920 72 61 6e 63 68 65 73 2c 20 27 68 67 20 6c 6f 67 20 2d 72 20 22 6e 6f 74 20 61 6e 63 65 73 74 6f ranches,.'hg.log.-r."not.ancesto
aa940 72 73 28 5c 27 25 63 61 6e 64 69 64 61 74 65 25 5c 27 29 20 61 6e 64 20 61 6e 63 65 73 74 6f 72 rs(\'%candidate%\').and.ancestor
aa960 73 28 5c 27 25 62 72 61 6e 63 68 25 5c 27 29 22 20 2d 2d 74 65 6d 70 6c 61 74 65 20 22 7b 6e 6f s(\'%branch%\')".--template."{no
aa980 64 65 7d 5c 5c 6e 22 27 2c 20 24 70 61 74 68 29 3b 0a 24 72 65 73 75 6c 74 5b 27 63 6f 6d 6d 69 de}\\n"',.$path);.$result['commi
aa9a0 74 27 5d 20 3d 20 27 27 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 7d 0a 0a t'].=.'';..return.$result;.}.}..
aa9c0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 73 73 46 65 61 74 75 72 65 56 65 72 private.function.guessFeatureVer
aa9e0 73 69 6f 6e 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 76 65 72 73 sion(array.$packageConfig,.$vers
aaa00 69 6f 6e 2c 20 61 72 72 61 79 20 24 62 72 61 6e 63 68 65 73 2c 20 24 73 63 6d 43 6d 64 6c 69 6e ion,.array.$branches,.$scmCmdlin
aaa20 65 2c 20 24 70 61 74 68 29 0a 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 76 65 e,.$path).{.$prettyVersion.=.$ve
aaa40 72 73 69 6f 6e 3b 0a 0a 0a 20 0a 20 69 66 20 28 28 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 43 rsion;......if.((isset($packageC
aaa60 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 29 20 onfig['extra']['branch-alias']).
aaa80 26 26 20 21 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 65 78 74 72 61 27 &&.!isset($packageConfig['extra'
aaaa0 5d 5b 27 62 72 61 6e 63 68 2d 61 6c 69 61 73 27 5d 5b 24 76 65 72 73 69 6f 6e 5d 29 29 0a 7c 7c ]['branch-alias'][$version])).||
aaac0 20 73 74 72 70 6f 73 28 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 .strpos(json_encode($packageConf
aaae0 69 67 29 2c 20 27 22 73 65 6c 66 2e 76 65 72 73 69 6f 6e 22 27 29 0a 29 20 7b 0a 24 62 72 61 6e ig),.'"self.version"').).{.$bran
aab00 63 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 64 65 76 2d 7d 27 2c 20 27 27 2c ch.=.preg_replace('{^dev-}',.'',
aab20 20 24 76 65 72 73 69 6f 6e 29 3b 0a 24 6c 65 6e 67 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 .$version);.$length.=.PHP_INT_MA
aab40 58 3b 0a 0a 24 6e 6f 6e 46 65 61 74 75 72 65 42 72 61 6e 63 68 65 73 20 3d 20 27 27 3b 0a 69 66 X;..$nonFeatureBranches.=.'';.if
aab60 20 28 21 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 6e 6f 6e 2d 66 65 61 .(!empty($packageConfig['non-fea
aab80 74 75 72 65 2d 62 72 61 6e 63 68 65 73 27 5d 29 29 20 7b 0a 24 6e 6f 6e 46 65 61 74 75 72 65 42 ture-branches'])).{.$nonFeatureB
aaba0 72 61 6e 63 68 65 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 70 61 63 6b 61 67 65 43 ranches.=.implode('|',.$packageC
aabc0 6f 6e 66 69 67 5b 27 6e 6f 6e 2d 66 65 61 74 75 72 65 2d 62 72 61 6e 63 68 65 73 27 5d 29 3b 0a onfig['non-feature-branches']);.
aabe0 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 62 72 61 6e 63 68 65 73 20 61 73 20 24 63 61 6e 64 69 64 }..foreach.($branches.as.$candid
aac00 61 74 65 29 20 7b 0a 0a 20 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 20 3d 3d 3d 20 24 62 72 61 ate).{...if.($candidate.===.$bra
aac20 6e 63 68 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 27 20 2e 20 24 6e 6f 6e 46 65 nch.&&.preg_match('{^('...$nonFe
aac40 61 74 75 72 65 42 72 61 6e 63 68 65 73 20 2e 20 27 29 24 7d 27 2c 20 24 63 61 6e 64 69 64 61 74 atureBranches...')$}',.$candidat
aac60 65 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 e)).{.break;.}....if.($candidate
aac80 20 3d 3d 3d 20 24 62 72 61 6e 63 68 20 7c 7c 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 .===.$branch.||.!preg_match('{^(
aaca0 27 20 2e 20 24 6e 6f 6e 46 65 61 74 75 72 65 42 72 61 6e 63 68 65 73 20 2e 20 27 7c 6d 61 73 74 '...$nonFeatureBranches...'|mast
aacc0 65 72 7c 74 72 75 6e 6b 7c 64 65 66 61 75 6c 74 7c 64 65 76 65 6c 6f 70 7c 5c 64 2b 5c 2e 2e 2b er|trunk|default|develop|\d+\..+
aace0 29 24 7d 27 2c 20 24 63 61 6e 64 69 64 61 74 65 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 63 6f 6e )$}',.$candidate,.$match)).{.con
aad00 74 69 6e 75 65 3b 0a 7d 0a 0a 24 63 6d 64 4c 69 6e 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 tinue;.}..$cmdLine.=.str_replace
aad20 28 61 72 72 61 79 28 27 25 63 61 6e 64 69 64 61 74 65 25 27 2c 20 27 25 62 72 61 6e 63 68 25 27 (array('%candidate%',.'%branch%'
aad40 29 2c 20 61 72 72 61 79 28 24 63 61 6e 64 69 64 61 74 65 2c 20 24 62 72 61 6e 63 68 29 2c 20 24 ),.array($candidate,.$branch),.$
aad60 73 63 6d 43 6d 64 6c 69 6e 65 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 scmCmdline);.if.(0.!==.$this->pr
aad80 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6d 64 4c 69 6e 65 2c 20 24 6f 75 74 70 75 74 ocess->execute($cmdLine,.$output
aada0 2c 20 24 70 61 74 68 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 ,.$path)).{.continue;.}..if.(str
aadc0 6c 65 6e 28 24 6f 75 74 70 75 74 29 20 3c 20 24 6c 65 6e 67 74 68 29 20 7b 0a 24 6c 65 6e 67 74 len($output).<.$length).{.$lengt
aade0 68 20 3d 20 73 74 72 6c 65 6e 28 24 6f 75 74 70 75 74 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 h.=.strlen($output);.$version.=.
aae00 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 $this->versionParser->normalizeB
aae20 72 61 6e 63 68 28 24 63 61 6e 64 69 64 61 74 65 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f ranch($candidate);.$prettyVersio
aae40 6e 20 3d 20 27 64 65 76 2d 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 n.=.'dev-'...$match[1];.}.}.}..r
aae60 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 72 73 69 6f eturn.array('version'.=>.$versio
aae80 6e 2c 20 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 72 65 74 74 79 56 65 n,.'pretty_version'.=>.$prettyVe
aaea0 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 73 rsion);.}..private.function.gues
aaec0 73 46 6f 73 73 69 6c 56 65 72 73 69 6f 6e 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 43 6f 6e sFossilVersion(array.$packageCon
aaee0 66 69 67 2c 20 24 70 61 74 68 29 0a 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 fig,.$path).{.$version.=.null;.$
aaf00 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 69 66 20 28 30 20 3d prettyVersion.=.null;....if.(0.=
aaf20 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 ==.$this->process->execute('foss
aaf40 69 6c 20 62 72 61 6e 63 68 20 6c 69 73 74 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 il.branch.list',.$output,.$path)
aaf60 29 20 7b 0a 24 62 72 61 6e 63 68 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 3b 0a 24 76 65 ).{.$branch.=.trim($output);.$ve
aaf80 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f rsion.=.$this->versionParser->no
aafa0 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 62 72 61 6e 63 68 29 3b 0a 24 70 72 65 74 74 79 56 rmalizeBranch($branch);.$prettyV
aafc0 65 72 73 69 6f 6e 20 3d 20 27 64 65 76 2d 27 20 2e 20 24 62 72 61 6e 63 68 3b 0a 7d 0a 0a 0a 20 ersion.=.'dev-'...$branch;.}....
aafe0 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 if.(0.===.$this->process->execut
ab000 65 28 27 66 6f 73 73 69 6c 20 74 61 67 20 6c 69 73 74 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 e('fossil.tag.list',.$output,.$p
ab020 61 74 68 29 29 20 7b 0a 74 72 79 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e ath)).{.try.{.$version.=.$this->
ab040 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 74 72 69 6d 28 24 6f versionParser->normalize(trim($o
ab060 75 74 70 75 74 29 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 74 72 69 6d 28 24 utput));.$prettyVersion.=.trim($
ab080 6f 75 74 70 75 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 output);.}.catch.(\Exception.$e)
ab0a0 20 7b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d .{.}.}..return.array('version'.=
ab0c0 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 63 6f 6d 6d 69 74 27 20 3d 3e 20 27 27 2c 20 27 70 72 65 >.$version,.'commit'.=>.'',.'pre
ab0e0 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b tty_version'.=>.$prettyVersion);
ab100 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 73 73 53 76 6e 56 65 72 .}..private.function.guessSvnVer
ab120 73 69 6f 6e 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 2c 20 24 70 61 74 68 sion(array.$packageConfig,.$path
ab140 29 0a 7b 0a 53 76 6e 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 3b 0a 0a 0a 20 69 66 20 28 ).{.SvnUtil::cleanEnv();....if.(
ab160 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 73 0.===.$this->process->execute('s
ab180 76 6e 20 69 6e 66 6f 20 2d 2d 78 6d 6c 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 vn.info.--xml',.$output,.$path))
ab1a0 20 7b 0a 24 74 72 75 6e 6b 50 61 74 68 20 3d 20 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 43 6f .{.$trunkPath.=.isset($packageCo
ab1c0 6e 66 69 67 5b 27 74 72 75 6e 6b 2d 70 61 74 68 27 5d 29 20 3f 20 70 72 65 67 5f 71 75 6f 74 65 nfig['trunk-path']).?.preg_quote
ab1e0 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 74 72 75 6e 6b 2d 70 61 74 68 27 5d 2c 20 27 ($packageConfig['trunk-path'],.'
ab200 23 27 29 20 3a 20 27 74 72 75 6e 6b 27 3b 0a 24 62 72 61 6e 63 68 65 73 50 61 74 68 20 3d 20 69 #').:.'trunk';.$branchesPath.=.i
ab220 73 73 65 74 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 65 73 2d 70 61 sset($packageConfig['branches-pa
ab240 74 68 27 5d 29 20 3f 20 70 72 65 67 5f 71 75 6f 74 65 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 th']).?.preg_quote($packageConfi
ab260 67 5b 27 62 72 61 6e 63 68 65 73 2d 70 61 74 68 27 5d 2c 20 27 23 27 29 20 3a 20 27 62 72 61 6e g['branches-path'],.'#').:.'bran
ab280 63 68 65 73 27 3b 0a 24 74 61 67 73 50 61 74 68 20 3d 20 69 73 73 65 74 28 24 70 61 63 6b 61 67 ches';.$tagsPath.=.isset($packag
ab2a0 65 43 6f 6e 66 69 67 5b 27 74 61 67 73 2d 70 61 74 68 27 5d 29 20 3f 20 70 72 65 67 5f 71 75 6f eConfig['tags-path']).?.preg_quo
ab2c0 74 65 28 24 70 61 63 6b 61 67 65 43 6f 6e 66 69 67 5b 27 74 61 67 73 2d 70 61 74 68 27 5d 2c 20 te($packageConfig['tags-path'],.
ab2e0 27 23 27 29 20 3a 20 27 74 61 67 73 27 3b 0a 0a 24 75 72 6c 50 61 74 74 65 72 6e 20 3d 20 27 23 '#').:.'tags';..$urlPattern.=.'#
ab300 3c 75 72 6c 3e 2e 2a 2f 28 27 20 2e 20 24 74 72 75 6e 6b 50 61 74 68 20 2e 20 27 7c 28 27 20 2e <url>.*/('...$trunkPath...'|('..
ab320 20 24 62 72 61 6e 63 68 65 73 50 61 74 68 20 2e 20 27 7c 27 20 2e 20 24 74 61 67 73 50 61 74 68 .$branchesPath...'|'...$tagsPath
ab340 20 2e 20 27 29 2f 28 2e 2a 29 29 3c 2f 75 72 6c 3e 23 27 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d ...')/(.*))</url>#';..if.(preg_m
ab360 61 74 63 68 28 24 75 72 6c 50 61 74 74 65 72 6e 2c 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 74 63 atch($urlPattern,.$output,.$matc
ab380 68 65 73 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 26 hes)).{.if.(isset($matches[2]).&
ab3a0 26 20 28 24 62 72 61 6e 63 68 65 73 50 61 74 68 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d &.($branchesPath.===.$matches[2]
ab3c0 20 7c 7c 20 24 74 61 67 73 50 61 74 68 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 .||.$tagsPath.===.$matches[2])).
ab3e0 7b 0a 0a 20 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 {...$version.=.$this->versionPar
ab400 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 6d 61 74 63 68 65 73 5b 33 5d ser->normalizeBranch($matches[3]
ab420 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 27 64 65 76 2d 27 20 2e 20 24 6d 61 );.$prettyVersion.=.'dev-'...$ma
ab440 74 63 68 65 73 5b 33 5d 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e tches[3];..return.array('version
ab460 27 20 3d 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 63 6f 6d 6d 69 74 27 20 3d 3e 20 27 27 2c 20 27 '.=>.$version,.'commit'.=>.'',.'
ab480 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 72 65 74 74 79 56 65 72 73 69 6f pretty_version'.=>.$prettyVersio
ab4a0 6e 29 3b 0a 7d 0a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 74 72 69 6d 28 24 6d 61 n);.}..$prettyVersion.=.trim($ma
ab4c0 74 63 68 65 73 5b 31 5d 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 tches[1]);.$version.=.$this->ver
ab4e0 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 sionParser->normalize($prettyVer
ab500 73 69 6f 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d sion);..return.array('version'.=
ab520 3e 20 24 76 65 72 73 69 6f 6e 2c 20 27 63 6f 6d 6d 69 74 27 20 3d 3e 20 27 27 2c 20 27 70 72 65 >.$version,.'commit'.=>.'',.'pre
ab540 74 74 79 5f 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b tty_version'.=>.$prettyVersion);
ab560 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 .}.}.}.}.<?php............namesp
ab580 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 3b 0a 0a 75 ace.Composer\Package\Version;..u
ab5a0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 6c 61 74 66 6f 72 6d 52 se.Composer\Repository\PlatformR
ab5c0 65 70 6f 73 69 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 56 epository;.use.Composer\Semver\V
ab5e0 65 72 73 69 6f 6e 50 61 72 73 65 72 20 61 73 20 53 65 6d 76 65 72 56 65 72 73 69 6f 6e 50 61 72 ersionParser.as.SemverVersionPar
ab600 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 53 65 6d 76 65 72 3b ser;.use.Composer\Semver\Semver;
ab620 0a 0a 63 6c 61 73 73 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 65 78 74 65 6e 64 73 20 53 65 ..class.VersionParser.extends.Se
ab640 6d 76 65 72 56 65 72 73 69 6f 6e 50 61 72 73 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 mverVersionParser.{.private.stat
ab660 69 63 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 ic.$constraints.=.array();.....p
ab680 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 ublic.function.parseConstraints(
ab6a0 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a $constraints).{.if.(!isset(self:
ab6c0 3a 24 63 6f 6e 73 74 72 61 69 6e 74 73 5b 24 63 6f 6e 73 74 72 61 69 6e 74 73 5d 29 29 20 7b 0a :$constraints[$constraints])).{.
ab6e0 73 65 6c 66 3a 3a 24 63 6f 6e 73 74 72 61 69 6e 74 73 5b 24 63 6f 6e 73 74 72 61 69 6e 74 73 5d self::$constraints[$constraints]
ab700 20 3d 20 70 61 72 65 6e 74 3a 3a 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e .=.parent::parseConstraints($con
ab720 73 74 72 61 69 6e 74 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 6f 6e 73 straints);.}..return.self::$cons
ab740 74 72 61 69 6e 74 73 5b 24 63 6f 6e 73 74 72 61 69 6e 74 73 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a traints[$constraints];.}........
ab760 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4e 61 6d 65 56 65 72 ....public.function.parseNameVer
ab780 73 69 6f 6e 50 61 69 72 73 28 61 72 72 61 79 20 24 70 61 69 72 73 29 0a 7b 0a 24 70 61 69 72 73 sionPairs(array.$pairs).{.$pairs
ab7a0 20 3d 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 70 61 69 72 73 29 3b 0a 24 72 65 73 75 6c 74 .=.array_values($pairs);.$result
ab7c0 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 2c 20 24 63 6f 75 6e 74 .=.array();..for.($i.=.0,.$count
ab7e0 20 3d 20 63 6f 75 6e 74 28 24 70 61 69 72 73 29 3b 20 24 69 20 3c 20 24 63 6f 75 6e 74 3b 20 24 .=.count($pairs);.$i.<.$count;.$
ab800 69 2b 2b 29 20 7b 0a 24 70 61 69 72 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 i++).{.$pair.=.preg_replace('{^(
ab820 5b 5e 3d 3a 20 5d 2b 29 5b 3d 3a 20 5d 28 2e 2a 29 24 7d 27 2c 20 27 24 31 20 24 32 27 2c 20 74 [^=:.]+)[=:.](.*)$}',.'$1.$2',.t
ab840 72 69 6d 28 24 70 61 69 72 73 5b 24 69 5d 29 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 rim($pairs[$i]));.if.(false.===.
ab860 73 74 72 70 6f 73 28 24 70 61 69 72 2c 20 27 20 27 29 20 26 26 20 69 73 73 65 74 28 24 70 61 69 strpos($pair,.'.').&&.isset($pai
ab880 72 73 5b 24 69 20 2b 20 31 5d 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 rs[$i.+.1]).&&.false.===.strpos(
ab8a0 24 70 61 69 72 73 5b 24 69 20 2b 20 31 5d 2c 20 27 2f 27 29 20 26 26 20 21 70 72 65 67 5f 6d 61 $pairs[$i.+.1],.'/').&&.!preg_ma
ab8c0 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d tch(PlatformRepository::PLATFORM
ab8e0 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 70 61 69 72 73 5b 24 69 20 2b 20 31 5d 29 29 _PACKAGE_REGEX,.$pairs[$i.+.1]))
ab900 20 7b 0a 24 70 61 69 72 20 2e 3d 20 27 20 27 2e 24 70 61 69 72 73 5b 24 69 20 2b 20 31 5d 3b 0a .{.$pair..=.'.'.$pairs[$i.+.1];.
ab920 24 69 2b 2b 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 70 6f 73 28 24 70 61 69 72 2c 20 27 20 27 29 29 $i++;.}..if.(strpos($pair,.'.'))
ab940 20 7b 0a 6c 69 73 74 28 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 29 20 3d 20 65 78 70 6c 6f .{.list($name,.$version).=.explo
ab960 64 65 28 27 20 27 2c 20 24 70 61 69 72 2c 20 32 29 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 61 de('.',.$pair,.2);.$result[].=.a
ab980 72 72 61 79 28 27 6e 61 6d 65 27 20 3d 3e 20 24 6e 61 6d 65 2c 20 27 76 65 72 73 69 6f 6e 27 20 rray('name'.=>.$name,.'version'.
ab9a0 3d 3e 20 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 73 75 6c 74 5b 5d =>.$version);.}.else.{.$result[]
ab9c0 20 3d 20 61 72 72 61 79 28 27 6e 61 6d 65 27 20 3d 3e 20 24 70 61 69 72 29 3b 0a 7d 0a 7d 0a 0a .=.array('name'.=>.$pair);.}.}..
ab9e0 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 return.$result;.}.....public.sta
aba00 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 55 70 67 72 61 64 65 28 24 6e 6f 72 6d 61 6c 69 7a tic.function.isUpgrade($normaliz
aba20 65 64 46 72 6f 6d 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 64 54 6f 29 0a 7b 0a 69 66 20 28 73 75 62 edFrom,.$normalizedTo).{.if.(sub
aba40 73 74 72 28 24 6e 6f 72 6d 61 6c 69 7a 65 64 46 72 6f 6d 2c 20 30 2c 20 34 29 20 3d 3d 3d 20 27 str($normalizedFrom,.0,.4).===.'
aba60 64 65 76 2d 27 20 7c 7c 20 73 75 62 73 74 72 28 24 6e 6f 72 6d 61 6c 69 7a 65 64 54 6f 2c 20 30 dev-'.||.substr($normalizedTo,.0
aba80 2c 20 34 29 20 3d 3d 3d 20 27 64 65 76 2d 27 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a ,.4).===.'dev-').{.return.true;.
abaa0 7d 0a 0a 24 73 6f 72 74 65 64 20 3d 20 53 65 6d 76 65 72 3a 3a 73 6f 72 74 28 61 72 72 61 79 28 }..$sorted.=.Semver::sort(array(
abac0 24 6e 6f 72 6d 61 6c 69 7a 65 64 54 6f 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 64 46 72 6f 6d 29 29 $normalizedTo,.$normalizedFrom))
abae0 3b 0a 0a 72 65 74 75 72 6e 20 24 73 6f 72 74 65 64 5b 30 5d 20 3d 3d 3d 20 24 6e 6f 72 6d 61 6c ;..return.$sorted[0].===.$normal
abb00 69 7a 65 64 46 72 6f 6d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e izedFrom;.}.}.<?php............n
abb20 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f amespace.Composer\Package\Versio
abb40 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c n;..use.Composer\DependencyResol
abb60 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 42 ver\Pool;.use.Composer\Package\B
abb80 61 73 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 asePackage;.use.Composer\Package
abba0 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c \PackageInterface;.use.Composer\
abbc0 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 Package\Loader\ArrayLoader;.use.
abbe0 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 5c 41 72 72 61 79 44 75 6d Composer\Package\Dumper\ArrayDum
abc00 70 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 per;.use.Composer\Semver\Constra
abc20 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 65 72 int\Constraint;........class.Ver
abc40 73 69 6f 6e 53 65 6c 65 63 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 6f 6f 6c 3b 0a 0a 70 sionSelector.{.private.$pool;..p
abc60 72 69 76 61 74 65 20 24 70 61 72 73 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e rivate.$parser;..public.function
abc80 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 6f 6f 6c 20 24 70 6f 6f 6c 29 0a 7b 0a 24 74 68 69 73 .__construct(Pool.$pool).{.$this
abca0 2d 3e 70 6f 6f 6c 20 3d 20 24 70 6f 6f 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ->pool.=.$pool;.}............pub
abcc0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 42 65 73 74 43 61 6e 64 69 64 61 74 65 28 24 lic.function.findBestCandidate($
abce0 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 56 65 72 73 69 packageName,.$targetPackageVersi
abd00 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 74 61 72 67 65 74 50 68 70 56 65 72 73 69 6f 6e 20 3d 20 6e on.=.null,.$targetPhpVersion.=.n
abd20 75 6c 6c 2c 20 24 70 72 65 66 65 72 72 65 64 53 74 61 62 69 6c 69 74 79 20 3d 20 27 73 74 61 62 ull,.$preferredStability.=.'stab
abd40 6c 65 27 29 0a 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 74 61 72 67 65 74 50 61 63 6b le').{.$constraint.=.$targetPack
abd60 61 67 65 56 65 72 73 69 6f 6e 20 3f 20 24 74 68 69 73 2d 3e 67 65 74 50 61 72 73 65 72 28 29 2d ageVersion.?.$this->getParser()-
abd80 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 74 61 72 67 65 74 50 61 63 6b 61 67 65 >parseConstraints($targetPackage
abda0 56 65 72 73 69 6f 6e 29 20 3a 20 6e 75 6c 6c 3b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 24 Version).:.null;.$candidates.=.$
abdc0 74 68 69 73 2d 3e 70 6f 6f 6c 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 73 74 72 74 6f 6c 6f this->pool->whatProvides(strtolo
abde0 77 65 72 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 wer($packageName),.$constraint,.
abe00 74 72 75 65 29 3b 0a 0a 69 66 20 28 24 74 61 72 67 65 74 50 68 70 56 65 72 73 69 6f 6e 29 20 7b true);..if.($targetPhpVersion).{
abe20 0a 24 70 68 70 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 .$phpConstraint.=.new.Constraint
abe40 28 27 3d 3d 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 50 61 72 73 65 72 28 29 2d 3e 6e 6f 72 6d 61 ('==',.$this->getParser()->norma
abe60 6c 69 7a 65 28 24 74 61 72 67 65 74 50 68 70 56 65 72 73 69 6f 6e 29 29 3b 0a 24 63 61 6e 64 69 lize($targetPhpVersion));.$candi
abe80 64 61 74 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 63 61 6e 64 69 64 61 74 65 73 dates.=.array_filter($candidates
abea0 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 6b 67 29 20 75 73 65 20 28 24 70 68 70 43 6f 6e 73 74 ,.function.($pkg).use.($phpConst
abec0 72 61 69 6e 74 29 20 7b 0a 24 72 65 71 73 20 3d 20 24 70 6b 67 2d 3e 67 65 74 52 65 71 75 69 72 raint).{.$reqs.=.$pkg->getRequir
abee0 65 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 21 69 73 73 65 74 28 24 72 65 71 73 5b 27 70 68 70 27 es();..return.!isset($reqs['php'
abf00 5d 29 20 7c 7c 20 24 72 65 71 73 5b 27 70 68 70 27 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e ]).||.$reqs['php']->getConstrain
abf20 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 24 70 68 70 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 29 t()->matches($phpConstraint);.})
abf40 3b 0a 7d 0a 0a 69 66 20 28 21 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a 72 65 74 75 72 6e 20 ;.}..if.(!$candidates).{.return.
abf60 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 24 70 61 63 6b 61 67 65 20 3d 20 72 65 73 65 74 28 24 63 61 false;.}....$package.=.reset($ca
abf80 6e 64 69 64 61 74 65 73 29 3b 0a 24 6d 69 6e 50 72 69 6f 72 69 74 79 20 3d 20 42 61 73 65 50 61 ndidates);.$minPriority.=.BasePa
abfa0 63 6b 61 67 65 3a 3a 24 73 74 61 62 69 6c 69 74 69 65 73 5b 24 70 72 65 66 65 72 72 65 64 53 74 ckage::$stabilities[$preferredSt
abfc0 61 62 69 6c 69 74 79 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 61 ability];.foreach.($candidates.a
abfe0 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 50 72 69 6f 72 69 s.$candidate).{.$candidatePriori
ac000 74 79 20 3d 20 24 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 50 72 69 ty.=.$candidate->getStabilityPri
ac020 6f 72 69 74 79 28 29 3b 0a 24 63 75 72 72 65 6e 74 50 72 69 6f 72 69 74 79 20 3d 20 24 70 61 63 ority();.$currentPriority.=.$pac
ac040 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 69 6c 69 74 79 50 72 69 6f 72 69 74 79 28 29 3b 0a 0a 0a kage->getStabilityPriority();...
ac060 20 0a 20 69 66 20 28 24 6d 69 6e 50 72 69 6f 72 69 74 79 20 3c 20 24 63 61 6e 64 69 64 61 74 65 ...if.($minPriority.<.$candidate
ac080 50 72 69 6f 72 69 74 79 20 26 26 20 24 63 75 72 72 65 6e 74 50 72 69 6f 72 69 74 79 20 3c 20 24 Priority.&&.$currentPriority.<.$
ac0a0 63 61 6e 64 69 64 61 74 65 50 72 69 6f 72 69 74 79 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d candidatePriority).{.continue;.}
ac0c0 0a 0a 0a 20 0a 20 69 66 20 28 24 6d 69 6e 50 72 69 6f 72 69 74 79 20 3c 20 24 63 61 6e 64 69 64 ......if.($minPriority.<.$candid
ac0e0 61 74 65 50 72 69 6f 72 69 74 79 20 26 26 20 24 63 61 6e 64 69 64 61 74 65 50 72 69 6f 72 69 74 atePriority.&&.$candidatePriorit
ac100 79 20 3c 20 24 63 75 72 72 65 6e 74 50 72 69 6f 72 69 74 79 29 20 7b 0a 24 70 61 63 6b 61 67 65 y.<.$currentPriority).{.$package
ac120 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 0a 20 .=.$candidate;.continue;.}......
ac140 69 66 20 28 24 6d 69 6e 50 72 69 6f 72 69 74 79 20 3e 3d 20 24 63 61 6e 64 69 64 61 74 65 50 72 if.($minPriority.>=.$candidatePr
ac160 69 6f 72 69 74 79 20 26 26 20 24 6d 69 6e 50 72 69 6f 72 69 74 79 20 3c 20 24 63 75 72 72 65 6e iority.&&.$minPriority.<.$curren
ac180 74 50 72 69 6f 72 69 74 79 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 63 61 6e 64 69 64 61 tPriority).{.$package.=.$candida
ac1a0 74 65 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 76 65 72 73 69 6f 6e 5f 63 te;.continue;.}....if.(version_c
ac1c0 6f 6d 70 61 72 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 24 ompare($package->getVersion(),.$
ac1e0 63 61 6e 64 69 64 61 74 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 20 27 3c 27 29 29 20 7b candidate->getVersion(),.'<')).{
ac200 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 .$package.=.$candidate;.}.}..ret
ac220 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a urn.$package;.}.................
ac240 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 52 65 63 6f 6d 6d 65 6e 64 65 64 52 public.function.findRecommendedR
ac260 65 71 75 69 72 65 56 65 72 73 69 6f 6e 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 equireVersion(PackageInterface.$
ac280 70 61 63 6b 61 67 65 29 0a 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e package).{.$version.=.$package->
ac2a0 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 2d 3e 69 73 44 getVersion();.if.(!$package->isD
ac2c0 65 76 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 66 6f 72 6d 56 ev()).{.return.$this->transformV
ac2e0 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 ersion($version,.$package->getPr
ac300 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 74 61 62 ettyVersion(),.$package->getStab
ac320 69 6c 69 74 79 28 29 29 3b 0a 7d 0a 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 ility());.}..$loader.=.new.Array
ac340 4c 6f 61 64 65 72 28 24 74 68 69 73 2d 3e 67 65 74 50 61 72 73 65 72 28 29 29 3b 0a 24 64 75 6d Loader($this->getParser());.$dum
ac360 70 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 44 75 6d 70 65 72 28 29 3b 0a 24 65 78 74 72 61 20 per.=.new.ArrayDumper();.$extra.
ac380 3d 20 24 6c 6f 61 64 65 72 2d 3e 67 65 74 42 72 61 6e 63 68 41 6c 69 61 73 28 24 64 75 6d 70 65 =.$loader->getBranchAlias($dumpe
ac3a0 72 2d 3e 64 75 6d 70 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 69 66 20 28 24 65 78 74 72 61 29 20 r->dump($package));.if.($extra).
ac3c0 7b 0a 24 65 78 74 72 61 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 5c 64 2b 5c {.$extra.=.preg_replace('{^(\d+\
ac3e0 2e 5c 64 2b 5c 2e 5c 64 2b 29 28 5c 2e 39 39 39 39 39 39 39 29 2d 64 65 76 24 7d 27 2c 20 27 24 .\d+\.\d+)(\.9999999)-dev$}',.'$
ac400 31 2e 30 27 2c 20 24 65 78 74 72 61 2c 20 2d 31 2c 20 24 63 6f 75 6e 74 29 3b 0a 69 66 20 28 24 1.0',.$extra,.-1,.$count);.if.($
ac420 63 6f 75 6e 74 29 20 7b 0a 24 65 78 74 72 61 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2e count).{.$extra.=.str_replace('.
ac440 39 39 39 39 39 39 39 27 2c 20 27 2e 30 27 2c 20 24 65 78 74 72 61 29 3b 0a 0a 72 65 74 75 72 6e 9999999',.'.0',.$extra);..return
ac460 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 66 6f 72 6d 56 65 72 73 69 6f 6e 28 24 65 78 74 72 61 2c .$this->transformVersion($extra,
ac480 20 24 65 78 74 72 61 2c 20 27 64 65 76 27 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 .$extra,.'dev');.}.}..return.$pa
ac4a0 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 0a 70 72 ckage->getPrettyVersion();.}..pr
ac4c0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 72 61 6e 73 66 6f 72 6d 56 65 72 73 69 6f 6e 28 ivate.function.transformVersion(
ac4e0 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 2c 20 24 73 74 61 62 69 $version,.$prettyVersion,.$stabi
ac500 6c 69 74 79 29 0a 7b 0a 0a 20 0a 20 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 lity).{.....$semanticVersionPart
ac520 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 0a 0a 20 69 s.=.explode('.',.$version);....i
ac540 66 20 28 63 6f 75 6e 74 28 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 29 20 f.(count($semanticVersionParts).
ac560 3d 3d 20 34 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 30 5c 44 3f 7d 27 2c 20 24 73 ==.4.&&.preg_match('{^0\D?}',.$s
ac580 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 5b 33 5d 29 29 20 7b 0a 0a 20 69 66 20 emanticVersionParts[3])).{...if.
ac5a0 28 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 5b 30 5d 20 3d 3d 3d 20 27 30 ($semanticVersionParts[0].===.'0
ac5c0 27 29 20 7b 0a 75 6e 73 65 74 28 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 ').{.unset($semanticVersionParts
ac5e0 5b 33 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 75 6e 73 65 74 28 24 73 65 6d 61 6e 74 69 63 56 65 [3]);.}.else.{.unset($semanticVe
ac600 72 73 69 6f 6e 50 61 72 74 73 5b 32 5d 2c 20 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 rsionParts[2],.$semanticVersionP
ac620 61 72 74 73 5b 33 5d 29 3b 0a 7d 0a 24 76 65 72 73 69 6f 6e 20 3d 20 69 6d 70 6c 6f 64 65 28 27 arts[3]);.}.$version.=.implode('
ac640 2e 27 2c 20 24 73 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 50 61 72 74 73 29 3b 0a 7d 20 65 6c .',.$semanticVersionParts);.}.el
ac660 73 65 20 7b 0a 72 65 74 75 72 6e 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a se.{.return.$prettyVersion;.}...
ac680 20 69 66 20 28 24 73 74 61 62 69 6c 69 74 79 20 21 3d 20 27 73 74 61 62 6c 65 27 29 20 7b 0a 24 .if.($stability.!=.'stable').{.$
ac6a0 76 65 72 73 69 6f 6e 20 2e 3d 20 27 40 27 2e 24 73 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 20 version..=.'@'.$stability;.}....
ac6c0 72 65 74 75 72 6e 20 27 5e 27 20 2e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 70 72 69 76 61 74 return.'^'...$version;.}..privat
ac6e0 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 72 73 65 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 e.function.getParser().{.if.($th
ac700 69 73 2d 3e 70 61 72 73 65 72 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 is->parser.===.null).{.$this->pa
ac720 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 7d 0a 0a 72 rser.=.new.VersionParser();.}..r
ac740 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 72 73 65 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a eturn.$this->parser;.}.}.<?php..
ac760 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 ..........namespace.Composer\Plu
ac780 67 69 6e 5c 43 61 70 61 62 69 6c 69 74 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 gin\Capability;........interface
ac7a0 20 43 61 70 61 62 69 6c 69 74 79 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .Capability.{.}.<?php...........
ac7c0 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 61 70 61 62 .namespace.Composer\Plugin\Capab
ac7e0 69 6c 69 74 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6d 6d ility;............interface.Comm
ac800 61 6e 64 50 72 6f 76 69 64 65 72 20 65 78 74 65 6e 64 73 20 43 61 70 61 62 69 6c 69 74 79 0a 7b andProvider.extends.Capability.{
ac820 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 ......public.function.getCommand
ac840 73 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 s();.}.<?php............namespac
ac860 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 e.Composer\Plugin;.........inter
ac880 66 61 63 65 20 43 61 70 61 62 6c 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a face.Capable.{..................
ac8a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 61 70 61 62 69 6c 69 74 69 65 73 .public.function.getCapabilities
ac8c0 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ();.}.<?php............namespace
ac8e0 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c .Composer\Plugin;..use.Composer\
ac900 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f EventDispatcher\Event;.use.Symfo
ac920 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 ny\Component\Console\Input\Input
ac940 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 Interface;.use.Symfony\Component
ac960 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b \Console\Output\OutputInterface;
ac980 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 65 78 74 65 6e 64 .......class.CommandEvent.extend
ac9a0 73 20 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d s.Event.{....private.$commandNam
ac9c0 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 0a 0a 0a 0a 70 72 69 76 61 e;.....private.$input;.....priva
ac9e0 74 65 20 24 6f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 te.$output;............public.fu
aca00 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 24 63 6f 6d 6d 61 nction.__construct($name,.$comma
aca20 6e 64 4e 61 6d 65 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 61 72 72 61 79 20 24 ndName,.$input,.$output,.array.$
aca40 61 72 67 73 20 3d 20 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 20 24 66 6c 61 67 73 20 3d 20 61 args.=.array(),.array.$flags.=.a
aca60 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e rray()).{.parent::__construct($n
aca80 61 6d 65 2c 20 24 61 72 67 73 2c 20 24 66 6c 61 67 73 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d ame,.$args,.$flags);.$this->comm
acaa0 61 6e 64 4e 61 6d 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 69 andName.=.$commandName;.$this->i
acac0 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 nput.=.$input;.$this->output.=.$
acae0 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 output;.}.......public.function.
acb00 67 65 74 49 6e 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 getInput().{.return.$this->input
acb20 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 75 74 ;.}.......public.function.getOut
acb40 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a put().{.return.$this->output;.}.
acb60 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 ......public.function.getCommand
acb80 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 4e 61 Name().{.return.$this->commandNa
acba0 6d 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 me;.}.}.<?php............namespa
acbc0 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 ce.Composer\Plugin;.......class.
acbe0 50 6c 75 67 69 6e 45 76 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 49 4e 49 PluginEvents.{.........const.INI
acc00 54 20 3d 20 27 69 6e 69 74 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 43 4f 4d 4d 41 T.=.'init';..........const.COMMA
acc20 4e 44 20 3d 20 27 63 6f 6d 6d 61 6e 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 ND.=.'command';..........const.P
acc40 52 45 5f 46 49 4c 45 5f 44 4f 57 4e 4c 4f 41 44 20 3d 20 27 70 72 65 2d 66 69 6c 65 2d 64 6f 77 RE_FILE_DOWNLOAD.=.'pre-file-dow
acc60 6e 6c 6f 61 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 43 4f 4d 4d 41 nload';..........const.PRE_COMMA
acc80 4e 44 5f 52 55 4e 20 3d 20 27 70 72 65 2d 63 6f 6d 6d 61 6e 64 2d 72 75 6e 27 3b 0a 7d 0a 3c 3f ND_RUN.=.'pre-command-run';.}.<?
acca0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 php............namespace.Compose
accc0 72 5c 50 6c 75 67 69 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 r\Plugin;..use.Composer\Composer
acce0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a ;.use.Composer\IO\IOInterface;..
acd00 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 65 0a 7b .....interface.PluginInterface.{
acd20 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4c 55 47 49 4e 5f 41 50 49 5f 56 45 52 53 49 4f 4e 20 3d ......const.PLUGIN_API_VERSION.=
acd40 20 27 31 2e 31 2e 30 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .'1.1.0';........public.function
acd60 20 61 63 74 69 76 61 74 65 28 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 49 4f .activate(Composer.$composer,.IO
acd80 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a Interface.$io);.}.<?php.........
acda0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 3b 0a 0a 75 ...namespace.Composer\Plugin;..u
acdc0 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 se.Composer\Composer;.use.Compos
acde0 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 53 75 62 73 63 72 69 62 er\EventDispatcher\EventSubscrib
ace00 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 erInterface;.use.Composer\IO\IOI
ace20 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 nterface;.use.Composer\Package\C
ace40 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 ompletePackage;.use.Composer\Pac
ace60 6b 61 67 65 5c 50 61 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 kage\Package;.use.Composer\Packa
ace80 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f ge\Version\VersionParser;.use.Co
acea0 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 mposer\Repository\RepositoryInte
acec0 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b rface;.use.Composer\Package\Pack
acee0 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 ageInterface;.use.Composer\Packa
acf00 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e ge\Link;.use.Composer\Semver\Con
acf20 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 straint\Constraint;.use.Composer
acf40 5c 44 65 70 65 6e 64 65 6e 63 79 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f \DependencyResolver\Pool;.use.Co
acf60 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 43 61 70 61 62 69 6c 69 74 79 5c 43 61 70 61 62 69 6c mposer\Plugin\Capability\Capabil
acf80 69 74 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 61 63 6b 61 67 65 53 6f ity;.use.Composer\Util\PackageSo
acfa0 72 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 6c 75 67 69 6e 4d 61 6e 61 67 65 72 rter;........class.PluginManager
acfc0 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 .{.protected.$composer;.protecte
acfe0 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 d.$io;.protected.$globalComposer
ad000 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 6f 74 ;.protected.$versionParser;.prot
ad020 65 63 74 65 64 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 20 3d 20 66 61 6c 73 65 3b 0a 0a ected.$disablePlugins.=.false;..
ad040 70 72 6f 74 65 63 74 65 64 20 24 70 6c 75 67 69 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 protected.$plugins.=.array();.pr
ad060 6f 74 65 63 74 65 64 20 24 72 65 67 69 73 74 65 72 65 64 50 6c 75 67 69 6e 73 20 3d 20 61 72 72 otected.$registeredPlugins.=.arr
ad080 61 79 28 29 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 6c 61 73 73 43 6f 75 6e ay();..private.static.$classCoun
ad0a0 74 65 72 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ter.=.0;..........public.functio
ad0c0 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 n.__construct(IOInterface.$io,.C
ad0e0 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 2c 20 43 6f 6d 70 6f 73 65 72 20 24 67 6c 6f omposer.$composer,.Composer.$glo
ad100 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 61 62 6c 65 50 6c 75 67 balComposer.=.null,.$disablePlug
ad120 69 6e 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a ins.=.false).{.$this->io.=.$io;.
ad140 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 24 74 68 $this->composer.=.$composer;.$th
ad160 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3d 20 24 67 6c 6f 62 61 6c 43 6f 6d 70 is->globalComposer.=.$globalComp
ad180 6f 73 65 72 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 oser;.$this->versionParser.=.new
ad1a0 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 .VersionParser();.$this->disable
ad1c0 50 6c 75 67 69 6e 73 20 3d 20 24 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 3b 0a 7d 0a 0a 0a 0a Plugins.=.$disablePlugins;.}....
ad1e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 49 6e 73 74 61 6c 6c 65 64 50 6c .public.function.loadInstalledPl
ad200 75 67 69 6e 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 ugins().{.if.($this->disablePlug
ad220 69 6e 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 72 65 70 6f 20 3d 20 24 74 68 69 73 2d ins).{.return;.}..$repo.=.$this-
ad240 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 >composer->getRepositoryManager(
ad260 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 3b 0a 24 67 6c 6f 62 61 6c )->getLocalRepository();.$global
ad280 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3f 20 24 Repo.=.$this->globalComposer.?.$
ad2a0 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 this->globalComposer->getReposit
ad2c0 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 oryManager()->getLocalRepository
ad2e0 28 29 20 3a 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 72 65 70 6f 29 20 7b 0a 24 74 68 69 73 2d 3e 6c ().:.null;.if.($repo).{.$this->l
ad300 6f 61 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 29 3b 0a 7d 0a 69 66 20 28 24 67 6c 6f oadRepository($repo);.}.if.($glo
ad320 62 61 6c 52 65 70 6f 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 52 65 70 6f 73 69 74 6f 72 79 balRepo).{.$this->loadRepository
ad340 28 24 67 6c 6f 62 61 6c 52 65 70 6f 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ($globalRepo);.}.}.......public.
ad360 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 75 67 69 6e 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 function.getPlugins().{.return.$
ad380 74 68 69 73 2d 3e 70 6c 75 67 69 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 this->plugins;.}.......public.fu
ad3a0 6e 63 74 69 6f 6e 20 67 65 74 47 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 28 29 0a 7b 0a 72 65 74 nction.getGlobalComposer().{.ret
ad3c0 75 72 6e 20 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a urn.$this->globalComposer;.}....
ad3e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 .........public.function.registe
ad400 72 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 rPackage(PackageInterface.$packa
ad420 67 65 2c 20 24 66 61 69 6c 4f 6e 4d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 20 3d 20 66 61 6c 73 ge,.$failOnMissingClasses.=.fals
ad440 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 50 6c 75 67 69 6e 73 29 20 e).{.if.($this->disablePlugins).
ad460 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 {.return;.}..if.($package->getTy
ad480 70 65 28 29 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 27 29 20 7b 0a 24 72 pe().===.'composer-plugin').{.$r
ad4a0 65 71 75 69 72 65 73 43 6f 6d 70 6f 73 65 72 20 3d 20 6e 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 20 equiresComposer.=.null;.foreach.
ad4c0 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e ($package->getRequires().as.$lin
ad4e0 6b 29 20 7b 20 0a 69 66 20 28 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 27 20 k).{..if.('composer-plugin-api'.
ad500 3d 3d 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 20 7b 0a 24 72 65 71 75 69 ===.$link->getTarget()).{.$requi
ad520 72 65 73 43 6f 6d 70 6f 73 65 72 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 resComposer.=.$link->getConstrai
ad540 6e 74 28 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 72 65 71 75 69 72 65 73 nt();.break;.}.}..if.(!$requires
ad560 43 6f 6d 70 6f 73 65 72 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 Composer).{.throw.new.\RuntimeEx
ad580 63 65 70 74 69 6f 6e 28 22 50 6c 75 67 69 6e 20 22 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e ception("Plugin.".$package->getN
ad5a0 61 6d 65 28 29 2e 22 20 69 73 20 6d 69 73 73 69 6e 67 20 61 20 72 65 71 75 69 72 65 20 73 74 61 ame().".is.missing.a.require.sta
ad5c0 74 65 6d 65 6e 74 20 66 6f 72 20 61 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 63 6f 6d 70 tement.for.a.version.of.the.comp
ad5e0 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 20 70 61 63 6b 61 67 65 2e 22 29 3b 0a 7d 0a 0a 24 oser-plugin-api.package.");.}..$
ad600 63 75 72 72 65 6e 74 50 6c 75 67 69 6e 41 70 69 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d currentPluginApiVersion.=.$this-
ad620 3e 67 65 74 50 6c 75 67 69 6e 41 70 69 56 65 72 73 69 6f 6e 28 29 3b 0a 24 63 75 72 72 65 6e 74 >getPluginApiVersion();.$current
ad640 50 6c 75 67 69 6e 41 70 69 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 PluginApiConstraint.=.new.Constr
ad660 61 69 6e 74 28 27 3d 3d 27 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d aint('==',.$this->versionParser-
ad680 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 63 75 72 72 65 6e 74 50 6c 75 67 69 6e 41 70 69 56 65 72 73 >normalize($currentPluginApiVers
ad6a0 69 6f 6e 29 29 3b 0a 0a 69 66 20 28 24 72 65 71 75 69 72 65 73 43 6f 6d 70 6f 73 65 72 2d 3e 67 ion));..if.($requiresComposer->g
ad6c0 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 20 3d 3d 3d 20 27 31 2e 30 2e 30 27 20 26 26 20 etPrettyString().===.'1.0.0'.&&.
ad6e0 24 74 68 69 73 2d 3e 67 65 74 50 6c 75 67 69 6e 41 70 69 56 65 72 73 69 6f 6e 28 29 20 3d 3d 3d $this->getPluginApiVersion().===
ad700 20 27 31 2e 30 2e 30 27 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f .'1.0.0').{.$this->io->writeErro
ad720 72 28 27 3c 77 61 72 6e 69 6e 67 3e 54 68 65 20 22 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 r('<warning>The."'...$package->g
ad740 65 74 4e 61 6d 65 28 29 20 2e 20 27 22 20 70 6c 75 67 69 6e 20 72 65 71 75 69 72 65 73 20 63 6f etName()...'".plugin.requires.co
ad760 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 20 31 2e 30 2e 30 2c 20 74 68 69 73 20 2a 57 mposer-plugin-api.1.0.0,.this.*W
ad780 49 4c 4c 2a 20 62 72 65 61 6b 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 20 61 6e 64 20 69 74 20 ILL*.break.in.the.future.and.it.
ad7a0 73 68 6f 75 6c 64 20 62 65 20 66 69 78 65 64 20 41 53 41 50 20 28 72 65 71 75 69 72 65 20 5e 31 should.be.fixed.ASAP.(require.^1
ad7c0 2e 30 20 66 6f 72 20 65 78 61 6d 70 6c 65 29 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 20 .0.for.example).</warning>');.}.
ad7e0 65 6c 73 65 69 66 20 28 21 24 72 65 71 75 69 72 65 73 43 6f 6d 70 6f 73 65 72 2d 3e 6d 61 74 63 elseif.(!$requiresComposer->matc
ad800 68 65 73 28 24 63 75 72 72 65 6e 74 50 6c 75 67 69 6e 41 70 69 43 6f 6e 73 74 72 61 69 6e 74 29 hes($currentPluginApiConstraint)
ad820 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e ).{.$this->io->writeError('<warn
ad840 69 6e 67 3e 54 68 65 20 22 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 ing>The."'...$package->getName()
ad860 20 2e 20 27 22 20 70 6c 75 67 69 6e 20 77 61 73 20 73 6b 69 70 70 65 64 20 62 65 63 61 75 73 65 ...'".plugin.was.skipped.because
ad880 20 69 74 20 72 65 71 75 69 72 65 73 20 61 20 50 6c 75 67 69 6e 20 41 50 49 20 76 65 72 73 69 6f .it.requires.a.Plugin.API.versio
ad8a0 6e 20 28 22 27 20 2e 20 24 72 65 71 75 69 72 65 73 43 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 50 72 n.("'...$requiresComposer->getPr
ad8c0 65 74 74 79 53 74 72 69 6e 67 28 29 20 2e 20 27 22 29 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 ettyString()...'").that.does.not
ad8e0 20 6d 61 74 63 68 20 79 6f 75 72 20 43 6f 6d 70 6f 73 65 72 20 69 6e 73 74 61 6c 6c 61 74 69 6f .match.your.Composer.installatio
ad900 6e 20 28 22 27 20 2e 20 24 63 75 72 72 65 6e 74 50 6c 75 67 69 6e 41 70 69 56 65 72 73 69 6f 6e n.("'...$currentPluginApiVersion
ad920 20 2e 20 27 22 29 2e 20 59 6f 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 72 75 6e 20 63 6f 6d 70 ...'")..You.may.need.to.run.comp
ad940 6f 73 65 72 20 75 70 64 61 74 65 20 77 69 74 68 20 74 68 65 20 22 2d 2d 6e 6f 2d 70 6c 75 67 69 oser.update.with.the."--no-plugi
ad960 6e 73 22 20 6f 70 74 69 6f 6e 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 0a 72 65 74 75 72 6e ns".option.</warning>');..return
ad980 3b 0a 7d 0a 7d 0a 0a 24 6f 6c 64 49 6e 73 74 61 6c 6c 65 72 50 6c 75 67 69 6e 20 3d 20 28 24 70 ;.}.}..$oldInstallerPlugin.=.($p
ad9a0 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3d 3d 3d 20 27 63 6f 6d 70 6f 73 65 72 2d ackage->getType().===.'composer-
ad9c0 69 6e 73 74 61 6c 6c 65 72 27 29 3b 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b installer');..if.(in_array($pack
ad9e0 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 65 age->getName(),.$this->registere
ada00 64 50 6c 75 67 69 6e 73 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 65 78 74 72 61 20 3d dPlugins)).{.return;.}..$extra.=
ada20 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 45 78 74 72 61 28 29 3b 0a 69 66 20 28 65 6d 70 74 79 .$package->getExtra();.if.(empty
ada40 28 24 65 78 74 72 61 5b 27 63 6c 61 73 73 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c ($extra['class'])).{.throw.new.\
ada60 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 45 72 72 6f 72 20 UnexpectedValueException('Error.
ada80 77 68 69 6c 65 20 69 6e 73 74 61 6c 6c 69 6e 67 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 while.installing.'.$package->get
adaa0 50 72 65 74 74 79 4e 61 6d 65 28 29 2e 27 2c 20 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 20 PrettyName().',.composer-plugin.
adac0 70 61 63 6b 61 67 65 73 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 63 6c 61 73 73 20 64 65 66 packages.should.have.a.class.def
adae0 69 6e 65 64 20 69 6e 20 74 68 65 69 72 20 65 78 74 72 61 20 6b 65 79 20 74 6f 20 62 65 20 75 73 ined.in.their.extra.key.to.be.us
adb00 61 62 6c 65 2e 27 29 3b 0a 7d 0a 24 63 6c 61 73 73 65 73 20 3d 20 69 73 5f 61 72 72 61 79 28 24 able.');.}.$classes.=.is_array($
adb20 65 78 74 72 61 5b 27 63 6c 61 73 73 27 5d 29 20 3f 20 24 65 78 74 72 61 5b 27 63 6c 61 73 73 27 extra['class']).?.$extra['class'
adb40 5d 20 3a 20 61 72 72 61 79 28 24 65 78 74 72 61 5b 27 63 6c 61 73 73 27 5d 29 3b 0a 0a 24 6c 6f ].:.array($extra['class']);..$lo
adb60 63 61 6c 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 52 65 calRepo.=.$this->composer->getRe
adb80 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 positoryManager()->getLocalRepos
adba0 69 74 6f 72 79 28 29 3b 0a 24 67 6c 6f 62 61 6c 52 65 70 6f 20 3d 20 24 74 68 69 73 2d 3e 67 6c itory();.$globalRepo.=.$this->gl
adbc0 6f 62 61 6c 43 6f 6d 70 6f 73 65 72 20 3f 20 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 obalComposer.?.$this->globalComp
adbe0 6f 73 65 72 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 oser->getRepositoryManager()->ge
adc00 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 20 3a 20 6e 75 6c 6c 3b 0a 0a 24 70 6f 6f tLocalRepository().:.null;..$poo
adc20 6c 20 3d 20 6e 65 77 20 50 6f 6f 6c 28 27 64 65 76 27 29 3b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 l.=.new.Pool('dev');.$pool->addR
adc40 65 70 6f 73 69 74 6f 72 79 28 24 6c 6f 63 61 6c 52 65 70 6f 29 3b 0a 69 66 20 28 24 67 6c 6f 62 epository($localRepo);.if.($glob
adc60 61 6c 52 65 70 6f 29 20 7b 0a 24 70 6f 6f 6c 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 alRepo).{.$pool->addRepository($
adc80 67 6c 6f 62 61 6c 52 65 70 6f 29 3b 0a 7d 0a 0a 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 globalRepo);.}..$autoloadPackage
adca0 73 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3e s.=.array($package->getName().=>
adcc0 20 24 70 61 63 6b 61 67 65 29 3b 0a 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 73 20 3d 20 .$package);.$autoloadPackages.=.
adce0 24 74 68 69 73 2d 3e 63 6f 6c 6c 65 63 74 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 70 6f 6f 6c $this->collectDependencies($pool
add00 2c 20 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 73 2c 20 24 70 61 63 6b 61 67 65 29 3b 0a ,.$autoloadPackages,.$package);.
add20 0a 24 67 65 6e 65 72 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 .$generator.=.$this->composer->g
add40 65 74 41 75 74 6f 6c 6f 61 64 47 65 6e 65 72 61 74 6f 72 28 29 3b 0a 24 61 75 74 6f 6c 6f 61 64 etAutoloadGenerator();.$autoload
add60 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 6c 6f 61 64 50 s.=.array();.foreach.($autoloadP
add80 61 63 6b 61 67 65 73 20 61 73 20 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 29 20 7b 0a 24 ackages.as.$autoloadPackage).{.$
adda0 64 6f 77 6e 6c 6f 61 64 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 73 74 61 6c 6c downloadPath.=.$this->getInstall
addc0 50 61 74 68 28 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 2c 20 24 67 6c 6f 62 61 6c 52 65 Path($autoloadPackage,.$globalRe
adde0 70 6f 20 26 26 20 24 67 6c 6f 62 61 6c 52 65 70 6f 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 61 po.&&.$globalRepo->hasPackage($a
ade00 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 29 29 3b 0a 24 61 75 74 6f 6c 6f 61 64 73 5b 5d 20 3d utoloadPackage));.$autoloads[].=
ade20 20 61 72 72 61 79 28 24 61 75 74 6f 6c 6f 61 64 50 61 63 6b 61 67 65 2c 20 24 64 6f 77 6e 6c 6f .array($autoloadPackage,.$downlo
ade40 61 64 50 61 74 68 29 3b 0a 7d 0a 0a 24 6d 61 70 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d 3e 70 adPath);.}..$map.=.$generator->p
ade60 61 72 73 65 41 75 74 6f 6c 6f 61 64 73 28 24 61 75 74 6f 6c 6f 61 64 73 2c 20 6e 65 77 20 50 61 arseAutoloads($autoloads,.new.Pa
ade80 63 6b 61 67 65 28 27 64 75 6d 6d 79 27 2c 20 27 31 2e 30 2e 30 2e 30 27 2c 20 27 31 2e 30 2e 30 ckage('dummy',.'1.0.0.0',.'1.0.0
adea0 27 29 29 3b 0a 24 63 6c 61 73 73 4c 6f 61 64 65 72 20 3d 20 24 67 65 6e 65 72 61 74 6f 72 2d 3e '));.$classLoader.=.$generator->
adec0 63 72 65 61 74 65 4c 6f 61 64 65 72 28 24 6d 61 70 29 3b 0a 24 63 6c 61 73 73 4c 6f 61 64 65 72 createLoader($map);.$classLoader
adee0 2d 3e 72 65 67 69 73 74 65 72 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6c 61 73 73 65 73 ->register();..foreach.($classes
adf00 20 61 73 20 24 63 6c 61 73 73 29 20 7b 0a 69 66 20 28 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 .as.$class).{.if.(class_exists($
adf20 63 6c 61 73 73 2c 20 66 61 6c 73 65 29 29 20 7b 0a 24 63 6c 61 73 73 20 3d 20 74 72 69 6d 28 24 class,.false)).{.$class.=.trim($
adf40 63 6c 61 73 73 2c 20 27 5c 5c 27 29 3b 0a 24 70 61 74 68 20 3d 20 24 63 6c 61 73 73 4c 6f 61 64 class,.'\\');.$path.=.$classLoad
adf60 65 72 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 3b 0a 24 63 6f 64 65 20 3d 20 66 69 er->findFile($class);.$code.=.fi
adf80 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 61 74 68 29 3b 0a 24 73 65 70 61 72 61 74 le_get_contents($path);.$separat
adfa0 6f 72 50 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 29 3b 0a 24 orPos.=.strrpos($class,.'\\');.$
adfc0 63 6c 61 73 73 4e 61 6d 65 20 3d 20 24 63 6c 61 73 73 3b 0a 69 66 20 28 24 73 65 70 61 72 61 74 className.=.$class;.if.($separat
adfe0 6f 72 50 6f 73 29 20 7b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 63 6c orPos).{.$className.=.substr($cl
ae000 61 73 73 2c 20 24 73 65 70 61 72 61 74 6f 72 50 6f 73 20 2b 20 31 29 3b 0a 7d 0a 24 63 6f 64 65 ass,.$separatorPos.+.1);.}.$code
ae020 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 28 3f 3a 66 69 6e 61 6c 5c 73 2b 29 .=.preg_replace('{^((?:final\s+)
ae040 3f 28 3f 3a 5c 73 2a 29 29 63 6c 61 73 73 5c 73 2b 28 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 ?(?:\s*))class\s+('.preg_quote($
ae060 63 6c 61 73 73 4e 61 6d 65 29 2e 27 29 7d 6d 69 27 2c 20 27 24 31 63 6c 61 73 73 20 24 32 5f 63 className).')}mi',.'$1class.$2_c
ae080 6f 6d 70 6f 73 65 72 5f 74 6d 70 27 2e 73 65 6c 66 3a 3a 24 63 6c 61 73 73 43 6f 75 6e 74 65 72 omposer_tmp'.self::$classCounter
ae0a0 2c 20 24 63 6f 64 65 2c 20 31 29 3b 0a 24 63 6f 64 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 ,.$code,.1);.$code.=.str_replace
ae0c0 28 27 5f 5f 46 49 4c 45 5f 5f 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 24 70 61 74 68 2c 20 74 ('__FILE__',.var_export($path,.t
ae0e0 72 75 65 29 2c 20 24 63 6f 64 65 29 3b 0a 24 63 6f 64 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 rue),.$code);.$code.=.str_replac
ae100 65 28 27 5f 5f 44 49 52 5f 5f 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 64 69 72 6e 61 6d 65 28 e('__DIR__',.var_export(dirname(
ae120 24 70 61 74 68 29 2c 20 74 72 75 65 29 2c 20 24 63 6f 64 65 29 3b 0a 24 63 6f 64 65 20 3d 20 73 $path),.true),.$code);.$code.=.s
ae140 74 72 5f 72 65 70 6c 61 63 65 28 27 5f 5f 43 4c 41 53 53 5f 5f 27 2c 20 76 61 72 5f 65 78 70 6f tr_replace('__CLASS__',.var_expo
ae160 72 74 28 24 63 6c 61 73 73 2c 20 74 72 75 65 29 2c 20 24 63 6f 64 65 29 3b 0a 24 63 6f 64 65 20 rt($class,.true),.$code);.$code.
ae180 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5e 5c 73 2a 3c 5c 3f 28 70 68 70 29 3f 2f 69 =.preg_replace('/^\s*<\?(php)?/i
ae1a0 27 2c 20 27 27 2c 20 24 63 6f 64 65 2c 20 31 29 3b 0a 65 76 61 6c 28 24 63 6f 64 65 29 3b 0a 24 ',.'',.$code,.1);.eval($code);.$
ae1c0 63 6c 61 73 73 20 2e 3d 20 27 5f 63 6f 6d 70 6f 73 65 72 5f 74 6d 70 27 2e 73 65 6c 66 3a 3a 24 class..=.'_composer_tmp'.self::$
ae1e0 63 6c 61 73 73 43 6f 75 6e 74 65 72 3b 0a 73 65 6c 66 3a 3a 24 63 6c 61 73 73 43 6f 75 6e 74 65 classCounter;.self::$classCounte
ae200 72 2b 2b 3b 0a 7d 0a 0a 69 66 20 28 24 6f 6c 64 49 6e 73 74 61 6c 6c 65 72 50 6c 75 67 69 6e 29 r++;.}..if.($oldInstallerPlugin)
ae220 20 7b 0a 24 69 6e 73 74 61 6c 6c 65 72 20 3d 20 6e 65 77 20 24 63 6c 61 73 73 28 24 74 68 69 73 .{.$installer.=.new.$class($this
ae240 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 29 3b 0a 24 74 68 69 73 2d 3e 63 ->io,.$this->composer);.$this->c
ae260 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 omposer->getInstallationManager(
ae280 29 2d 3e 61 64 64 49 6e 73 74 61 6c 6c 65 72 28 24 69 6e 73 74 61 6c 6c 65 72 29 3b 0a 7d 20 65 )->addInstaller($installer);.}.e
ae2a0 6c 73 65 69 66 20 28 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 29 29 20 7b 0a 24 lseif.(class_exists($class)).{.$
ae2c0 70 6c 75 67 69 6e 20 3d 20 6e 65 77 20 24 63 6c 61 73 73 28 29 3b 0a 24 74 68 69 73 2d 3e 61 64 plugin.=.new.$class();.$this->ad
ae2e0 64 50 6c 75 67 69 6e 28 24 70 6c 75 67 69 6e 29 3b 0a 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 dPlugin($plugin);.$this->registe
ae300 72 65 64 50 6c 75 67 69 6e 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 redPlugins[].=.$package->getName
ae320 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 66 61 69 6c 4f 6e 4d 69 73 73 69 6e 67 43 6c 61 73 ();.}.elseif.($failOnMissingClas
ae340 73 65 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 ses).{.throw.new.\UnexpectedValu
ae360 65 45 78 63 65 70 74 69 6f 6e 28 27 50 6c 75 67 69 6e 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 eException('Plugin.'.$package->g
ae380 65 74 4e 61 6d 65 28 29 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 69 6e 69 74 69 61 6c 69 etName().'.could.not.be.initiali
ae3a0 7a 65 64 2c 20 63 6c 61 73 73 20 6e 6f 74 20 66 6f 75 6e 64 3a 20 27 2e 24 63 6c 61 73 73 29 3b zed,.class.not.found:.'.$class);
ae3c0 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 .}.}.}.......protected.function.
ae3e0 67 65 74 50 6c 75 67 69 6e 41 70 69 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 50 getPluginApiVersion().{.return.P
ae400 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 65 3a 3a 50 4c 55 47 49 4e 5f 41 50 49 5f 56 45 52 53 49 luginInterface::PLUGIN_API_VERSI
ae420 4f 4e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ON;.}...........public.function.
ae440 61 64 64 50 6c 75 67 69 6e 28 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 65 20 24 70 6c 75 67 69 addPlugin(PluginInterface.$plugi
ae460 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4c 6f 61 64 n).{.$this->io->writeError('Load
ae480 69 6e 67 20 70 6c 75 67 69 6e 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 70 6c 75 67 69 6e 29 2c ing.plugin.'.get_class($plugin),
ae4a0 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 24 74 68 69 .true,.IOInterface::DEBUG);.$thi
ae4c0 73 2d 3e 70 6c 75 67 69 6e 73 5b 5d 20 3d 20 24 70 6c 75 67 69 6e 3b 0a 24 70 6c 75 67 69 6e 2d s->plugins[].=.$plugin;.$plugin-
ae4e0 3e 61 63 74 69 76 61 74 65 28 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2c 20 24 74 68 69 73 >activate($this->composer,.$this
ae500 2d 3e 69 6f 29 3b 0a 0a 69 66 20 28 24 70 6c 75 67 69 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 45 ->io);..if.($plugin.instanceof.E
ae520 76 65 6e 74 53 75 62 73 63 72 69 62 65 72 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 74 68 69 73 ventSubscriberInterface).{.$this
ae540 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 28 29 ->composer->getEventDispatcher()
ae560 2d 3e 61 64 64 53 75 62 73 63 72 69 62 65 72 28 24 70 6c 75 67 69 6e 29 3b 0a 7d 0a 7d 0a 0a 0a ->addSubscriber($plugin);.}.}...
ae580 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 52 ..........private.function.loadR
ae5a0 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 epository(RepositoryInterface.$r
ae5c0 65 70 6f 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 72 65 70 6f 2d 3e 67 65 74 50 61 63 epo).{.$packages.=.$repo->getPac
ae5e0 6b 61 67 65 73 28 29 3b 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 kages();.$sortedPackages.=.array
ae600 5f 72 65 76 65 72 73 65 28 50 61 63 6b 61 67 65 53 6f 72 74 65 72 3a 3a 73 6f 72 74 50 61 63 6b _reverse(PackageSorter::sortPack
ae620 61 67 65 73 28 24 70 61 63 6b 61 67 65 73 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 6f 72 74 ages($packages));.foreach.($sort
ae640 65 64 50 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 21 28 edPackages.as.$package).{.if.(!(
ae660 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b $package.instanceof.CompletePack
ae680 61 67 65 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 27 63 6f 6d 70 6f 73 65 age)).{.continue;.}.if.('compose
ae6a0 72 2d 70 6c 75 67 69 6e 27 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 r-plugin'.===.$package->getType(
ae6c0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 50 61 63 6b 61 67 65 28 24 70 61 63 )).{.$this->registerPackage($pac
ae6e0 6b 61 67 65 29 3b 0a 0a 20 7d 20 65 6c 73 65 69 66 20 28 27 63 6f 6d 70 6f 73 65 72 2d 69 6e 73 kage);...}.elseif.('composer-ins
ae700 74 61 6c 6c 65 72 27 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 29 taller'.===.$package->getType())
ae720 20 7b 0a 24 74 68 69 73 2d 3e 72 65 67 69 73 74 65 72 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 .{.$this->registerPackage($packa
ae740 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e ge);.}.}.}...........private.fun
ae760 63 74 69 6f 6e 20 63 6f 6c 6c 65 63 74 44 65 70 65 6e 64 65 6e 63 69 65 73 28 50 6f 6f 6c 20 24 ction.collectDependencies(Pool.$
ae780 70 6f 6f 6c 2c 20 61 72 72 61 79 20 24 63 6f 6c 6c 65 63 74 65 64 2c 20 50 61 63 6b 61 67 65 49 pool,.array.$collected,.PackageI
ae7a0 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 72 65 71 75 69 72 65 73 20 3d nterface.$package).{.$requires.=
ae7c0 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 .array_merge(.$package->getRequi
ae7e0 72 65 73 28 29 2c 0a 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 res(),.$package->getDevRequires(
ae800 29 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 71 75 69 72 65 73 20 61 73 20 24 72 65 71 ).);..foreach.($requires.as.$req
ae820 75 69 72 65 4c 69 6e 6b 29 20 7b 0a 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 20 3d 20 24 uireLink).{.$requiredPackage.=.$
ae840 74 68 69 73 2d 3e 6c 6f 6f 6b 75 70 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 24 70 6f this->lookupInstalledPackage($po
ae860 6f 6c 2c 20 24 72 65 71 75 69 72 65 4c 69 6e 6b 29 3b 0a 69 66 20 28 24 72 65 71 75 69 72 65 64 ol,.$requireLink);.if.($required
ae880 50 61 63 6b 61 67 65 20 26 26 20 21 69 73 73 65 74 28 24 63 6f 6c 6c 65 63 74 65 64 5b 24 72 65 Package.&&.!isset($collected[$re
ae8a0 71 75 69 72 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 24 63 quiredPackage->getName()])).{.$c
ae8c0 6f 6c 6c 65 63 74 65 64 5b 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 ollected[$requiredPackage->getNa
ae8e0 6d 65 28 29 5d 20 3d 20 24 72 65 71 75 69 72 65 64 50 61 63 6b 61 67 65 3b 0a 24 63 6f 6c 6c 65 me()].=.$requiredPackage;.$colle
ae900 63 74 65 64 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 6c 65 63 74 44 65 70 65 6e 64 65 6e 63 69 65 cted.=.$this->collectDependencie
ae920 73 28 24 70 6f 6f 6c 2c 20 24 63 6f 6c 6c 65 63 74 65 64 2c 20 24 72 65 71 75 69 72 65 64 50 61 s($pool,.$collected,.$requiredPa
ae940 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6c 6c 65 63 74 65 64 3b 0a ckage);.}.}..return.$collected;.
ae960 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6c 6f }............private.function.lo
ae980 6f 6b 75 70 49 6e 73 74 61 6c 6c 65 64 50 61 63 6b 61 67 65 28 50 6f 6f 6c 20 24 70 6f 6f 6c 2c okupInstalledPackage(Pool.$pool,
ae9a0 20 4c 69 6e 6b 20 24 6c 69 6e 6b 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 70 6f 6f 6c .Link.$link).{.$packages.=.$pool
ae9c0 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 ->whatProvides($link->getTarget(
ae9e0 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 0a 72 65 74 ),.$link->getConstraint());..ret
aea00 75 72 6e 20 21 65 6d 70 74 79 28 24 70 61 63 6b 61 67 65 73 29 20 3f 20 24 70 61 63 6b 61 67 65 urn.!empty($packages).?.$package
aea20 73 5b 30 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 s[0].:.null;.}..........private.
aea40 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 50 61 63 6b 61 67 65 49 function.getInstallPath(PackageI
aea60 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 2c 20 24 67 6c 6f 62 61 6c 20 3d 20 66 61 6c nterface.$package,.$global.=.fal
aea80 73 65 29 0a 7b 0a 69 66 20 28 21 24 67 6c 6f 62 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 se).{.if.(!$global).{.return.$th
aeaa0 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e is->composer->getInstallationMan
aeac0 61 67 65 72 28 29 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 ager()->getInstallPath($package)
aeae0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 6c 6f 62 61 6c 43 6f 6d 70 6f 73 65 ;.}..return.$this->globalCompose
aeb00 72 2d 3e 67 65 74 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 4d 61 6e 61 67 65 72 28 29 2d 3e 67 65 74 r->getInstallationManager()->get
aeb20 49 6e 73 74 61 6c 6c 50 61 74 68 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a InstallPath($package);.}........
aeb40 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 61 70 61 62 69 6c 69 74 79 protected.function.getCapability
aeb60 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 43 6c 61 73 73 4e 61 6d 65 28 50 6c 75 67 69 6e 49 6e ImplementationClassName(PluginIn
aeb80 74 65 72 66 61 63 65 20 24 70 6c 75 67 69 6e 2c 20 24 63 61 70 61 62 69 6c 69 74 79 29 0a 7b 0a terface.$plugin,.$capability).{.
aeba0 69 66 20 28 21 28 24 70 6c 75 67 69 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 61 70 61 62 6c 65 if.(!($plugin.instanceof.Capable
aebc0 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 61 70 61 62 69 6c 69 74 69 )).{.return.null;.}..$capabiliti
aebe0 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 70 6c 75 67 69 6e 2d 3e 67 65 74 43 61 70 61 62 69 6c es.=.(array).$plugin->getCapabil
aec00 69 74 69 65 73 28 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 63 61 70 61 62 69 6c 69 74 69 ities();..if.(!empty($capabiliti
aec20 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 24 63 es[$capability]).&&.is_string($c
aec40 61 70 61 62 69 6c 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 29 20 26 26 20 74 72 69 apabilities[$capability]).&&.tri
aec60 6d 28 24 63 61 70 61 62 69 6c 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 29 29 20 7b m($capabilities[$capability])).{
aec80 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 63 61 70 61 62 69 6c 69 74 69 65 73 5b 24 63 61 70 61 .return.trim($capabilities[$capa
aeca0 62 69 6c 69 74 79 5d 29 3b 0a 7d 0a 0a 69 66 20 28 0a 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 bility]);.}..if.(.array_key_exis
aecc0 74 73 28 24 63 61 70 61 62 69 6c 69 74 79 2c 20 24 63 61 70 61 62 69 6c 69 74 69 65 73 29 0a 26 ts($capability,.$capabilities).&
aece0 26 20 28 65 6d 70 74 79 28 24 63 61 70 61 62 69 6c 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 &.(empty($capabilities[$capabili
aed00 74 79 5d 29 20 7c 7c 20 21 69 73 5f 73 74 72 69 6e 67 28 24 63 61 70 61 62 69 6c 69 74 69 65 73 ty]).||.!is_string($capabilities
aed20 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 29 20 7c 7c 20 21 74 72 69 6d 28 24 63 61 70 61 62 69 6c [$capability]).||.!trim($capabil
aed40 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 29 29 0a 29 20 7b 0a 74 68 72 6f 77 20 6e ities[$capability])).).{.throw.n
aed60 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 50 6c ew.\UnexpectedValueException('Pl
aed80 75 67 69 6e 20 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 70 6c 75 67 69 6e 29 2e 27 20 70 72 6f 76 ugin.'.get_class($plugin).'.prov
aeda0 69 64 65 64 20 69 6e 76 61 6c 69 64 20 63 61 70 61 62 69 6c 69 74 79 20 63 6c 61 73 73 20 6e 61 ided.invalid.capability.class.na
aedc0 6d 65 28 73 29 2c 20 67 6f 74 20 27 2e 76 61 72 5f 65 78 70 6f 72 74 28 24 63 61 70 61 62 69 6c me(s),.got.'.var_export($capabil
aede0 69 74 69 65 73 5b 24 63 61 70 61 62 69 6c 69 74 79 5d 2c 20 31 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a ities[$capability],.1));.}.}....
aee00 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 75 67 69 6e 43 ......public.function.getPluginC
aee20 61 70 61 62 69 6c 69 74 79 28 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 65 20 24 70 6c 75 67 69 apability(PluginInterface.$plugi
aee40 6e 2c 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d 65 2c 20 61 72 72 61 79 20 24 n,.$capabilityClassName,.array.$
aee60 63 74 6f 72 41 72 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 24 63 61 70 61 62 ctorArgs.=.array()).{.if.($capab
aee80 69 6c 69 74 79 43 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 61 70 61 62 69 6c 69 74 ilityClass.=.$this->getCapabilit
aeea0 79 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 43 6c 61 73 73 4e 61 6d 65 28 24 70 6c 75 67 69 6e yImplementationClassName($plugin
aeec0 2c 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d 65 29 29 20 7b 0a 69 66 20 28 21 ,.$capabilityClassName)).{.if.(!
aeee0 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 29 29 20 class_exists($capabilityClass)).
aef00 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 43 {.throw.new.\RuntimeException("C
aef20 61 6e 6e 6f 74 20 69 6e 73 74 61 6e 74 69 61 74 65 20 43 61 70 61 62 69 6c 69 74 79 2c 20 61 73 annot.instantiate.Capability,.as
aef40 20 63 6c 61 73 73 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 20 66 72 6f 6d 20 70 6c 75 .class.$capabilityClass.from.plu
aef60 67 69 6e 20 22 2e 67 65 74 5f 63 6c 61 73 73 28 24 70 6c 75 67 69 6e 29 2e 22 20 64 6f 65 73 20 gin.".get_class($plugin).".does.
aef80 6e 6f 74 20 65 78 69 73 74 2e 22 29 3b 0a 7d 0a 0a 24 63 74 6f 72 41 72 67 73 5b 27 70 6c 75 67 not.exist.");.}..$ctorArgs['plug
aefa0 69 6e 27 5d 20 3d 20 24 70 6c 75 67 69 6e 3b 0a 24 63 61 70 61 62 69 6c 69 74 79 4f 62 6a 20 3d in'].=.$plugin;.$capabilityObj.=
aefc0 20 6e 65 77 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 28 24 63 74 6f 72 41 72 67 73 29 .new.$capabilityClass($ctorArgs)
aefe0 3b 0a 0a 0a 20 69 66 20 28 21 24 63 61 70 61 62 69 6c 69 74 79 4f 62 6a 20 69 6e 73 74 61 6e 63 ;....if.(!$capabilityObj.instanc
af000 65 6f 66 20 43 61 70 61 62 69 6c 69 74 79 20 7c 7c 20 21 24 63 61 70 61 62 69 6c 69 74 79 4f 62 eof.Capability.||.!$capabilityOb
af020 6a 20 69 6e 73 74 61 6e 63 65 6f 66 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d j.instanceof.$capabilityClassNam
af040 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e e).{.throw.new.\RuntimeException
af060 28 0a 27 43 6c 61 73 73 20 27 20 2e 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 20 2e 20 (.'Class.'...$capabilityClass...
af080 27 20 6d 75 73 74 20 69 6d 70 6c 65 6d 65 6e 74 20 62 6f 74 68 20 43 6f 6d 70 6f 73 65 72 5c 50 '.must.implement.both.Composer\P
af0a0 6c 75 67 69 6e 5c 43 61 70 61 62 69 6c 69 74 79 5c 43 61 70 61 62 69 6c 69 74 79 20 61 6e 64 20 lugin\Capability\Capability.and.
af0c0 27 2e 20 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d 65 20 2e 20 27 2e 27 0a 29 3b '..$capabilityClassName...'.'.);
af0e0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 61 70 61 62 69 6c 69 74 79 4f 62 6a 3b 0a 7d 0a 7d 0a 0a .}..return.$capabilityObj;.}.}..
af100 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 75 67 69 6e .......public.function.getPlugin
af120 43 61 70 61 62 69 6c 69 74 69 65 73 28 24 63 61 70 61 62 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d Capabilities($capabilityClassNam
af140 65 2c 20 61 72 72 61 79 20 24 63 74 6f 72 41 72 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a e,.array.$ctorArgs.=.array()).{.
af160 24 63 61 70 61 62 69 6c 69 74 69 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 $capabilities.=.array();.foreach
af180 20 28 24 74 68 69 73 2d 3e 67 65 74 50 6c 75 67 69 6e 73 28 29 20 61 73 20 24 70 6c 75 67 69 6e .($this->getPlugins().as.$plugin
af1a0 29 20 7b 0a 69 66 20 28 24 63 61 70 61 62 69 6c 69 74 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 ).{.if.($capability.=.$this->get
af1c0 50 6c 75 67 69 6e 43 61 70 61 62 69 6c 69 74 79 28 24 70 6c 75 67 69 6e 2c 20 24 63 61 70 61 62 PluginCapability($plugin,.$capab
af1e0 69 6c 69 74 79 43 6c 61 73 73 4e 61 6d 65 2c 20 24 63 74 6f 72 41 72 67 73 29 29 20 7b 0a 24 63 ilityClassName,.$ctorArgs)).{.$c
af200 61 70 61 62 69 6c 69 74 69 65 73 5b 5d 20 3d 20 24 63 61 70 61 62 69 6c 69 74 79 3b 0a 7d 0a 7d apabilities[].=.$capability;.}.}
af220 0a 0a 72 65 74 75 72 6e 20 24 63 61 70 61 62 69 6c 69 74 69 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 ..return.$capabilities;.}.}.<?ph
af240 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
af260 50 6c 75 67 69 6e 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 Plugin;..use.Composer\EventDispa
af280 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 tcher\Event;.use.Symfony\Compone
af2a0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b nt\Console\Input\InputInterface;
af2c0 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 65 43 6f 6d 6d 61 6e 64 52 75 6e 45 76 65 6e 74 20 .......class.PreCommandRunEvent.
af2e0 65 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 extends.Event.{....private.$inpu
af300 74 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 0a 0a 0a t;.....private.$command;........
af320 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 .public.function.__construct($na
af340 6d 65 2c 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 24 63 6f 6d 6d me,.InputInterface.$input,.$comm
af360 61 6e 64 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 and).{.parent::__construct($name
af380 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 24 74 68 69 73 2d );.$this->input.=.$input;.$this-
af3a0 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 >command.=.$command;.}.......pub
af3c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e lic.function.getInput().{.return
af3e0 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .$this->input;.}.......public.fu
af400 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 nction.getCommand().{.return.$th
af420 69 73 2d 3e 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a is->command;.}.}.<?php..........
af440 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 3b 0a 0a 75 73 ..namespace.Composer\Plugin;..us
af460 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 e.Composer\EventDispatcher\Event
af480 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 ;.use.Composer\Util\RemoteFilesy
af4a0 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 stem;.......class.PreFileDownloa
af4c0 64 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 dEvent.extends.Event.{....privat
af4e0 65 20 24 72 66 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 65 64 55 72 e.$rfs;.....private.$processedUr
af500 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e l;.........public.function.__con
af520 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 struct($name,.RemoteFilesystem.$
af540 72 66 73 2c 20 24 70 72 6f 63 65 73 73 65 64 55 72 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f rfs,.$processedUrl).{.parent::__
af560 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 29 3b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 construct($name);.$this->rfs.=.$
af580 72 66 73 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 65 64 55 72 6c 20 3d 20 24 70 72 6f 63 rfs;.$this->processedUrl.=.$proc
af5a0 65 73 73 65 64 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f essedUrl;.}.......public.functio
af5c0 6e 20 67 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 29 0a 7b 0a 72 65 74 75 72 6e n.getRemoteFilesystem().{.return
af5e0 20 24 74 68 69 73 2d 3e 72 66 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .$this->rfs;.}.......public.func
af600 74 69 6f 6e 20 73 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 52 65 6d 6f 74 65 46 tion.setRemoteFilesystem(RemoteF
af620 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 ilesystem.$rfs).{.$this->rfs.=.$
af640 72 66 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 rfs;.}.......public.function.get
af660 50 72 6f 63 65 73 73 65 64 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 ProcessedUrl().{.return.$this->p
af680 72 6f 63 65 73 73 65 64 55 72 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a rocessedUrl;.}.}.<?php..........
af6a0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a ..namespace.Composer\Question;..
af6c0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 use.Symfony\Component\Console\Ex
af6e0 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ception\InvalidArgumentException
af700 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
af720 51 75 65 73 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 Question\Question;.........class
af740 20 53 74 72 69 63 74 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 20 65 78 74 65 .StrictConfirmationQuestion.exte
af760 6e 64 73 20 51 75 65 73 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 72 75 65 41 6e 73 77 nds.Question.{.private.$trueAnsw
af780 65 72 52 65 67 65 78 3b 0a 70 72 69 76 61 74 65 20 24 66 61 6c 73 65 41 6e 73 77 65 72 52 65 67 erRegex;.private.$falseAnswerReg
af7a0 65 78 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 ex;..........public.function.__c
af7c0 6f 6e 73 74 72 75 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 74 onstruct($question,.$default.=.t
af7e0 72 75 65 2c 20 24 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 20 3d 20 27 2f 5e 79 28 3f 3a 65 rue,.$trueAnswerRegex.=.'/^y(?:e
af800 73 29 3f 24 2f 69 27 2c 20 24 66 61 6c 73 65 41 6e 73 77 65 72 52 65 67 65 78 20 3d 20 27 2f 5e s)?$/i',.$falseAnswerRegex.=.'/^
af820 6e 6f 3f 24 2f 69 27 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 no?$/i').{.parent::__construct($
af840 71 75 65 73 74 69 6f 6e 2c 20 28 62 6f 6f 6c 29 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 24 74 68 question,.(bool).$default);..$th
af860 69 73 2d 3e 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 20 3d 20 24 74 72 75 65 41 6e 73 77 65 is->trueAnswerRegex.=.$trueAnswe
af880 72 52 65 67 65 78 3b 0a 24 74 68 69 73 2d 3e 66 61 6c 73 65 41 6e 73 77 65 72 52 65 67 65 78 20 rRegex;.$this->falseAnswerRegex.
af8a0 3d 20 24 66 61 6c 73 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 24 74 68 69 73 2d 3e 73 65 74 4e =.$falseAnswerRegex;.$this->setN
af8c0 6f 72 6d 61 6c 69 7a 65 72 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 4e 6f 72 6d 61 ormalizer($this->getDefaultNorma
af8e0 6c 69 7a 65 72 28 29 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 24 74 lizer());.$this->setValidator($t
af900 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 29 3b 0a 7d 0a 0a his->getDefaultValidator());.}..
af920 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 .....private.function.getDefault
af940 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 0a 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 24 74 68 69 73 2d Normalizer().{.$default.=.$this-
af960 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 24 74 72 75 65 52 65 67 65 78 20 3d 20 24 74 68 69 >getDefault();.$trueRegex.=.$thi
af980 73 2d 3e 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 24 66 61 6c 73 65 52 65 67 65 78 20 s->trueAnswerRegex;.$falseRegex.
af9a0 3d 20 24 74 68 69 73 2d 3e 66 61 6c 73 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 0a 72 65 74 75 =.$this->falseAnswerRegex;..retu
af9c0 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 6e 73 77 65 72 29 20 75 73 65 20 28 24 64 65 66 61 rn.function.($answer).use.($defa
af9e0 75 6c 74 2c 20 24 74 72 75 65 52 65 67 65 78 2c 20 24 66 61 6c 73 65 52 65 67 65 78 29 20 7b 0a ult,.$trueRegex,.$falseRegex).{.
afa00 69 66 20 28 69 73 5f 62 6f 6f 6c 28 24 61 6e 73 77 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 if.(is_bool($answer)).{.return.$
afa20 61 6e 73 77 65 72 3b 0a 7d 0a 69 66 20 28 65 6d 70 74 79 28 24 61 6e 73 77 65 72 29 20 26 26 20 answer;.}.if.(empty($answer).&&.
afa40 21 65 6d 70 74 79 28 24 64 65 66 61 75 6c 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 65 66 61 !empty($default)).{.return.$defa
afa60 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 74 72 75 65 52 65 67 65 ult;.}..if.(preg_match($trueRege
afa80 78 2c 20 24 61 6e 73 77 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 x,.$answer)).{.return.true;.}..i
afaa0 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 66 61 6c 73 65 52 65 67 65 78 2c 20 24 61 6e 73 77 f.(preg_match($falseRegex,.$answ
afac0 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e er)).{.return.false;.}..return.n
afae0 75 6c 6c 3b 0a 7d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ull;.};.}.......private.function
afb00 20 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 .getDefaultValidator().{.return.
afb20 66 75 6e 63 74 69 6f 6e 20 28 24 61 6e 73 77 65 72 29 20 7b 0a 69 66 20 28 21 69 73 5f 62 6f 6f function.($answer).{.if.(!is_boo
afb40 6c 28 24 61 6e 73 77 65 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 l($answer)).{.throw.new.InvalidA
afb60 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 50 6c 65 61 73 65 20 61 6e 73 77 65 72 20 rgumentException('Please.answer.
afb80 79 65 73 2c 20 79 2c 20 6e 6f 2c 20 6f 72 20 6e 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 yes,.y,.no,.or.n.');.}..return.$
afba0 61 6e 73 77 65 72 3b 0a 7d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a answer;.};.}.}.<?php............
afbc0 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a namespace.Composer\Repository;..
afbe0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 use.Composer\Package\AliasPackag
afc00 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 e;.use.Composer\Package\PackageI
afc20 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 nterface;.use.Composer\Package\C
afc40 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d ompletePackageInterface;.use.Com
afc60 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 poser\Package\Version\VersionPar
afc80 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 ser;.use.Composer\Semver\Constra
afca0 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d int\ConstraintInterface;.use.Com
afcc0 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 poser\Semver\Constraint\Constrai
afce0 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 nt;.......class.ArrayRepository.
afd00 65 78 74 65 6e 64 73 20 42 61 73 65 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a 0a 70 72 6f 74 65 63 extends.BaseRepository.{..protec
afd20 74 65 64 20 24 70 61 63 6b 61 67 65 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ted.$packages;..public.function.
afd40 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 __construct(array.$packages.=.ar
afd60 72 61 79 28 29 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 ray()).{.foreach.($packages.as.$
afd80 70 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 61 package).{.$this->addPackage($pa
afda0 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ckage);.}.}.....public.function.
afdc0 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a findPackage($name,.$constraint).
afde0 7b 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 0a 69 66 {.$name.=.strtolower($name);..if
afe00 20 28 21 24 63 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 74 72 .(!$constraint.instanceof.Constr
afe20 61 69 6e 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 aintInterface).{.$versionParser.
afe40 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 63 6f 6e 73 74 72 61 69 =.new.VersionParser();.$constrai
afe60 6e 74 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 nt.=.$versionParser->parseConstr
afe80 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 aints($constraint);.}..foreach.(
afea0 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 $this->getPackages().as.$package
afec0 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e ).{.if.($name.===.$package->getN
afee0 61 6d 65 28 29 29 20 7b 0a 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f ame()).{.$pkgConstraint.=.new.Co
aff00 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 nstraint('==',.$package->getVers
aff20 69 6f 6e 28 29 29 3b 0a 69 66 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 ion());.if.($constraint->matches
aff40 28 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b ($pkgConstraint)).{.return.$pack
aff60 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 age;.}.}.}..return.null;.}.....p
aff80 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d ublic.function.findPackages($nam
affa0 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 24 6e 61 6d 65 e,.$constraint.=.null).{...$name
affc0 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 .=.strtolower($name);.$packages.
affe0 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 6f 6e 73 74 72 =.array();..if.(null.!==.$constr
b0000 61 69 6e 74 20 26 26 20 21 24 63 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 aint.&&.!$constraint.instanceof.
b0020 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 ConstraintInterface).{.$versionP
b0040 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 63 6f arser.=.new.VersionParser();.$co
b0060 6e 73 74 72 61 69 6e 74 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 nstraint.=.$versionParser->parse
b0080 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 Constraints($constraint);.}..for
b00a0 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 each.($this->getPackages().as.$p
b00c0 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 ackage).{.if.($name.===.$package
b00e0 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 ->getName()).{.$pkgConstraint.=.
b0100 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 new.Constraint('==',.$package->g
b0120 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6e 73 etVersion());.if.(null.===.$cons
b0140 74 72 61 69 6e 74 20 7c 7c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 traint.||.$constraint->matches($
b0160 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 pkgConstraint)).{.$packages[].=.
b0180 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 $package;.}.}.}..return.$package
b01a0 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 28 s;.}.....public.function.search(
b01c0 24 71 75 65 72 79 2c 20 24 6d 6f 64 65 20 3d 20 30 2c 20 24 74 79 70 65 20 3d 20 6e 75 6c 6c 29 $query,.$mode.=.0,.$type.=.null)
b01e0 0a 7b 0a 24 72 65 67 65 78 20 3d 20 27 7b 28 3f 3a 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 .{.$regex.=.'{(?:'.implode('|',.
b0200 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2b 7d 27 2c 20 24 71 75 65 72 79 29 29 2e 27 29 7d preg_split('{\s+}',.$query)).')}
b0220 69 27 3b 0a 0a 24 6d 61 74 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 i';..$matches.=.array();.foreach
b0240 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 .($this->getPackages().as.$packa
b0260 67 65 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 ge).{.$name.=.$package->getName(
b0280 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 6e 61 6d 65 5d 29 29 20 7b );.if.(isset($matches[$name])).{
b02a0 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 .continue;.}.if.(preg_match($reg
b02c0 65 78 2c 20 24 6e 61 6d 65 29 0a 7c 7c 20 28 24 6d 6f 64 65 20 3d 3d 3d 20 73 65 6c 66 3a 3a 53 ex,.$name).||.($mode.===.self::S
b02e0 45 41 52 43 48 5f 46 55 4c 4c 54 45 58 54 20 26 26 20 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 EARCH_FULLTEXT.&&.$package.insta
b0300 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 26 nceof.CompletePackageInterface.&
b0320 26 20 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 69 6d 70 6c 6f 64 65 28 27 20 27 &.preg_match($regex,.implode('.'
b0340 2c 20 28 61 72 72 61 79 29 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4b 65 79 77 6f 72 64 73 28 ,.(array).$package->getKeywords(
b0360 29 29 20 2e 20 27 20 27 20 2e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 73 63 72 69 70 74 ))...'.'...$package->getDescript
b0380 69 6f 6e 28 29 29 29 0a 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 79 70 65 20 26 ion())).).{.if.(null.!==.$type.&
b03a0 26 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 54 79 70 65 28 29 20 21 3d 3d 20 24 74 79 70 65 29 &.$package->getType().!==.$type)
b03c0 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6d 61 74 63 68 65 73 5b 24 6e 61 6d 65 5d 20 .{.continue;.}..$matches[$name].
b03e0 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 =.array(.'name'.=>.$package->get
b0400 50 72 65 74 74 79 4e 61 6d 65 28 29 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 24 PrettyName(),.'description'.=>.$
b0420 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 package.instanceof.CompletePacka
b0440 67 65 49 6e 74 65 72 66 61 63 65 20 3f 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 73 63 72 geInterface.?.$package->getDescr
b0460 69 70 74 69 6f 6e 28 29 20 3a 20 6e 75 6c 6c 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 iption().:.null,.);.}.}..return.
b0480 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 6d 61 74 63 68 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 array_values($matches);.}.....pu
b04a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 blic.function.hasPackage(Package
b04c0 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 64 Interface.$package).{.$packageId
b04e0 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 55 6e 69 71 75 65 4e 61 6d 65 28 29 3b 0a 0a 66 .=.$package->getUniqueName();..f
b0500 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 oreach.($this->getPackages().as.
b0520 24 72 65 70 6f 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 49 64 20 3d $repoPackage).{.if.($packageId.=
b0540 3d 3d 20 24 72 65 70 6f 50 61 63 6b 61 67 65 2d 3e 67 65 74 55 6e 69 71 75 65 4e 61 6d 65 28 29 ==.$repoPackage->getUniqueName()
b0560 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c ).{.return.true;.}.}..return.fal
b0580 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 se;.}.......public.function.addP
b05a0 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 ackage(PackageInterface.$package
b05c0 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 ).{.if.(null.===.$this->packages
b05e0 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 24 70 61 63 6b ).{.$this->initialize();.}.$pack
b0600 61 67 65 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 29 3b 0a 24 74 68 69 73 age->setRepository($this);.$this
b0620 2d 3e 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 0a 69 66 20 28 24 70 ->packages[].=.$package;..if.($p
b0640 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 ackage.instanceof.AliasPackage).
b0660 7b 0a 24 61 6c 69 61 73 65 64 50 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 {.$aliasedPackage.=.$package->ge
b0680 74 41 6c 69 61 73 4f 66 28 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 6c 69 61 73 65 tAliasOf();.if.(null.===.$aliase
b06a0 64 50 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 28 29 29 20 7b 0a 24 74 68 dPackage->getRepository()).{.$th
b06c0 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 61 6c 69 61 73 65 64 50 61 63 6b 61 67 65 29 3b is->addPackage($aliasedPackage);
b06e0 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 .}.}.}..protected.function.creat
b0700 65 41 6c 69 61 73 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 eAliasPackage(PackageInterface.$
b0720 70 61 63 6b 61 67 65 2c 20 24 61 6c 69 61 73 2c 20 24 70 72 65 74 74 79 41 6c 69 61 73 29 0a 7b package,.$alias,.$prettyAlias).{
b0740 0a 72 65 74 75 72 6e 20 6e 65 77 20 41 6c 69 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 .return.new.AliasPackage($packag
b0760 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 20 3f 20 24 70 61 63 e.instanceof.AliasPackage.?.$pac
b0780 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 20 3a 20 24 70 61 63 6b 61 67 65 2c 20 24 kage->getAliasOf().:.$package,.$
b07a0 61 6c 69 61 73 2c 20 24 70 72 65 74 74 79 41 6c 69 61 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 alias,.$prettyAlias);.}.......pu
b07c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 50 61 63 6b blic.function.removePackage(Pack
b07e0 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 24 70 61 63 6b 61 67 ageInterface.$package).{.$packag
b0800 65 49 64 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 55 6e 69 71 75 65 4e 61 6d 65 28 29 3b eId.=.$package->getUniqueName();
b0820 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 ..foreach.($this->getPackages().
b0840 61 73 20 24 6b 65 79 20 3d 3e 20 24 72 65 70 6f 50 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 as.$key.=>.$repoPackage).{.if.($
b0860 70 61 63 6b 61 67 65 49 64 20 3d 3d 3d 20 24 72 65 70 6f 50 61 63 6b 61 67 65 2d 3e 67 65 74 55 packageId.===.$repoPackage->getU
b0880 6e 69 71 75 65 4e 61 6d 65 28 29 29 20 7b 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 74 68 69 niqueName()).{.array_splice($thi
b08a0 73 2d 3e 70 61 63 6b 61 67 65 73 2c 20 24 6b 65 79 2c 20 31 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a s->packages,.$key,.1);..return;.
b08c0 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 }.}.}.....public.function.getPac
b08e0 6b 61 67 65 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 61 kages().{.if.(null.===.$this->pa
b0900 63 6b 61 67 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d ckages).{.$this->initialize();.}
b0920 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a ..return.$this->packages;.}.....
b0940 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 ..public.function.count().{.retu
b0960 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a rn.count($this->packages);.}....
b0980 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 .protected.function.initialize()
b09a0 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a .{.$this->packages.=.array();.}.
b09c0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d }.<?php............namespace.Com
b09e0 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c poser\Repository;..use.Composer\
b0a00 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f IO\IOInterface;.use.Composer\Jso
b0a20 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 n\JsonFile;.use.Composer\Package
b0a40 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 \Loader\ArrayLoader;.use.Compose
b0a60 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 4c 6f 61 64 65 72 49 6e 74 65 72 66 61 63 65 r\Package\Loader\LoaderInterface
b0a80 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 5a 69 70 3b 0a 0a 0a 0a 0a 63 6c 61 ;.use.Composer\Util\Zip;.....cla
b0aa0 73 73 20 41 72 74 69 66 61 63 74 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 ss.ArtifactRepository.extends.Ar
b0ac0 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 75 rayRepository.implements.Configu
b0ae0 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 70 72 6f 74 rableRepositoryInterface.{..prot
b0b00 65 63 74 65 64 20 24 6c 6f 61 64 65 72 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 6f 6b 75 ected.$loader;..protected.$looku
b0b20 70 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 p;.protected.$repoConfig;.privat
b0b40 65 20 24 69 6f 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 e.$io;..public.function.__constr
b0b60 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 6e 74 65 72 66 61 uct(array.$repoConfig,.IOInterfa
b0b80 63 65 20 24 69 6f 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b ce.$io).{.parent::__construct();
b0ba0 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 69 70 27 29 29 20 7b .if.(!extension_loaded('zip')).{
b0bc0 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 .throw.new.\RuntimeException('Th
b0be0 65 20 61 72 74 69 66 61 63 74 20 72 65 70 6f 73 69 74 6f 72 79 20 72 65 71 75 69 72 65 73 20 50 e.artifact.repository.requires.P
b0c00 48 50 5c 27 73 20 7a 69 70 20 65 78 74 65 6e 73 69 6f 6e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d HP\'s.zip.extension');.}..$this-
b0c20 3e 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 29 3b 0a 24 74 68 >loader.=.new.ArrayLoader();.$th
b0c40 69 73 2d 3e 6c 6f 6f 6b 75 70 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b is->lookup.=.$repoConfig['url'];
b0c60 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e .$this->io.=.$io;.$this->repoCon
b0c80 66 69 67 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e fig.=.$repoConfig;.}..public.fun
b0ca0 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ction.getRepoConfig().{.return.$
b0cc0 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 this->repoConfig;.}..protected.f
b0ce0 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 unction.initialize().{.parent::i
b0d00 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 63 61 6e 44 69 72 65 63 74 6f nitialize();..$this->scanDirecto
b0d20 72 79 28 24 74 68 69 73 2d 3e 6c 6f 6f 6b 75 70 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 ry($this->lookup);.}..private.fu
b0d40 6e 63 74 69 6f 6e 20 73 63 61 6e 44 69 72 65 63 74 6f 72 79 28 24 70 61 74 68 29 0a 7b 0a 24 69 nction.scanDirectory($path).{.$i
b0d60 6f 20 3d 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 0a 24 64 69 72 65 63 74 6f 72 79 20 3d 20 6e 65 77 o.=.$this->io;..$directory.=.new
b0d80 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 70 61 .\RecursiveDirectoryIterator($pa
b0da0 74 68 2c 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a th,.\RecursiveDirectoryIterator:
b0dc0 3a 46 4f 4c 4c 4f 57 5f 53 59 4d 4c 49 4e 4b 53 29 3b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e :FOLLOW_SYMLINKS);.$iterator.=.n
b0de0 65 77 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 24 64 ew.\RecursiveIteratorIterator($d
b0e00 69 72 65 63 74 6f 72 79 29 3b 0a 24 72 65 67 65 78 20 3d 20 6e 65 77 20 5c 52 65 67 65 78 49 74 irectory);.$regex.=.new.\RegexIt
b0e20 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 27 2f 5e 2e 2b 5c 2e 28 7a 69 70 7c 70 68 erator($iterator,.'/^.+\.(zip|ph
b0e40 61 72 29 24 2f 69 27 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 67 65 78 20 61 73 20 24 66 69 ar)$/i');.foreach.($regex.as.$fi
b0e60 6c 65 29 20 7b 0a 0a 69 66 20 28 21 24 66 69 6c 65 2d 3e 69 73 46 69 6c 65 28 29 29 20 7b 0a 63 le).{..if.(!$file->isFile()).{.c
b0e80 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 ontinue;.}..$package.=.$this->ge
b0ea0 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 66 69 6c 65 29 3b 0a 69 66 20 tComposerInformation($file);.if.
b0ec0 28 21 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 46 (!$package).{.$io->writeError("F
b0ee0 69 6c 65 20 3c 63 6f 6d 6d 65 6e 74 3e 7b 24 66 69 6c 65 2d 3e 67 65 74 42 61 73 65 6e 61 6d 65 ile.<comment>{$file->getBasename
b0f00 28 29 7d 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 64 6f 65 73 6e 27 74 20 73 65 65 6d 20 74 6f 20 68 6f ()}</comment>.doesn't.seem.to.ho
b0f20 6c 64 20 61 20 70 61 63 6b 61 67 65 22 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 ld.a.package",.true,.IOInterface
b0f40 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 74 65 6d 70 6c 61 ::VERBOSE);.continue;.}..$templa
b0f60 74 65 20 3d 20 27 46 6f 75 6e 64 20 70 61 63 6b 61 67 65 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e te.=.'Found.package.<info>%s</in
b0f80 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 20 69 6e 20 66 fo>.(<comment>%s</comment>).in.f
b0fa0 69 6c 65 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 3b 0a 24 69 6f 2d 3e 77 72 69 74 65 ile.<info>%s</info>';.$io->write
b0fc0 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 24 74 65 6d 70 6c 61 74 65 2c 20 24 70 61 63 6b 61 67 Error(sprintf($template,.$packag
b0fe0 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 e->getName(),.$package->getPrett
b1000 79 56 65 72 73 69 6f 6e 28 29 2c 20 24 66 69 6c 65 2d 3e 67 65 74 42 61 73 65 6e 61 6d 65 28 29 yVersion(),.$file->getBasename()
b1020 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a ),.true,.IOInterface::VERBOSE);.
b1040 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a .$this->addPackage($package);.}.
b1060 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 49 }..private.function.getComposerI
b1080 6e 66 6f 72 6d 61 74 69 6f 6e 28 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 20 24 66 69 6c 65 29 0a 7b nformation(\SplFileInfo.$file).{
b10a0 0a 24 6a 73 6f 6e 20 3d 20 5a 69 70 3a 3a 67 65 74 43 6f 6d 70 6f 73 65 72 4a 73 6f 6e 28 24 66 .$json.=.Zip::getComposerJson($f
b10c0 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d ile->getPathname());..if.(null.=
b10e0 3d 3d 20 24 6a 73 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 61 ==.$json).{.return.false;.}..$pa
b1100 63 6b 61 67 65 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f ckage.=.JsonFile::parseJson($jso
b1120 6e 2c 20 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2e 27 23 63 6f 6d 70 6f 73 n,.$file->getPathname().'#compos
b1140 65 72 2e 6a 73 6f 6e 27 29 3b 0a 24 70 61 63 6b 61 67 65 5b 27 64 69 73 74 27 5d 20 3d 20 61 72 er.json');.$package['dist'].=.ar
b1160 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 27 7a 69 70 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 73 ray(.'type'.=>.'zip',.'url'.=>.s
b1180 74 72 74 72 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 27 5c 5c 27 2c trtr($file->getPathname(),.'\\',
b11a0 20 27 2f 27 29 2c 0a 27 73 68 61 73 75 6d 27 20 3d 3e 20 73 68 61 31 5f 66 69 6c 65 28 24 66 69 .'/'),.'shasum'.=>.sha1_file($fi
b11c0 6c 65 2d 3e 67 65 74 52 65 61 6c 50 61 74 68 28 29 29 2c 0a 29 3b 0a 0a 74 72 79 20 7b 0a 24 70 le->getRealPath()),.);..try.{.$p
b11e0 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 70 61 ackage.=.$this->loader->load($pa
b1200 63 6b 61 67 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 ckage);.}.catch.(\UnexpectedValu
b1220 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 eException.$e).{.throw.new.\Unex
b1240 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 6c 6f 61 pectedValueException('Failed.loa
b1260 64 69 6e 67 20 70 61 63 6b 61 67 65 20 69 6e 20 27 2e 24 66 69 6c 65 2e 27 3a 20 27 2e 24 65 2d ding.package.in.'.$file.':.'.$e-
b1280 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 30 2c 20 24 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e >getMessage(),.0,.$e);.}..return
b12a0 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .$package;.}.}.<?php............
b12c0 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a namespace.Composer\Repository;..
b12e0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 52 6f 6f 74 50 61 63 6b 61 67 65 use.Composer\Package\RootPackage
b1300 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 Interface;.use.Composer\Semver\C
b1320 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 onstraint\ConstraintInterface;.u
b1340 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f se.Composer\Semver\Constraint\Co
b1360 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c nstraint;.use.Composer\Package\L
b1380 69 6e 6b 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 42 61 73 65 52 65 ink;.......abstract.class.BaseRe
b13a0 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 52 65 70 6f 73 69 74 6f 72 79 49 6e pository.implements.RepositoryIn
b13c0 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 terface.{..............public.fu
b13e0 6e 63 74 69 6f 6e 20 67 65 74 44 65 70 65 6e 64 65 6e 74 73 28 24 6e 65 65 64 6c 65 2c 20 24 63 nction.getDependents($needle,.$c
b1400 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e 76 65 72 74 20 3d 20 66 61 6c 73 onstraint.=.null,.$invert.=.fals
b1420 65 2c 20 24 72 65 63 75 72 73 65 20 3d 20 74 72 75 65 2c 20 24 70 61 63 6b 61 67 65 73 46 6f 75 e,.$recurse.=.true,.$packagesFou
b1440 6e 64 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6e 65 65 64 6c 65 73 20 3d 20 61 72 72 61 79 5f 6d 61 nd.=.null).{.$needles.=.array_ma
b1460 70 28 27 73 74 72 74 6f 6c 6f 77 65 72 27 2c 20 28 61 72 72 61 79 29 20 24 6e 65 65 64 6c 65 29 p('strtolower',.(array).$needle)
b1480 3b 0a 24 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 69 66 20 28 6e 75 6c ;.$results.=.array();....if.(nul
b14a0 6c 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 73 46 6f 75 6e 64 29 20 7b 0a 24 70 61 63 6b 61 67 65 l.===.$packagesFound).{.$package
b14c0 73 46 6f 75 6e 64 20 3d 20 24 6e 65 65 64 6c 65 73 3b 0a 7d 0a 0a 0a 20 24 72 6f 6f 74 50 61 63 sFound.=.$needles;.}....$rootPac
b14e0 6b 61 67 65 20 3d 20 6e 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 kage.=.null;.foreach.($this->get
b1500 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 Packages().as.$package).{.if.($p
b1520 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 ackage.instanceof.RootPackageInt
b1540 65 72 66 61 63 65 29 20 7b 0a 24 72 6f 6f 74 50 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 erface).{.$rootPackage.=.$packag
b1560 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d e;.break;.}.}....foreach.($this-
b1580 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 6c >getPackages().as.$package).{.$l
b15a0 69 6e 6b 73 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 3b 0a inks.=.$package->getRequires();.
b15c0 0a 0a 20 0a 20 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 20 3d 20 24 70 61 63 6b 61 67 65 73 .....$packagesInTree.=.$packages
b15e0 46 6f 75 6e 64 3b 0a 0a 0a 20 69 66 20 28 21 24 69 6e 76 65 72 74 29 20 7b 0a 24 6c 69 6e 6b 73 Found;....if.(!$invert).{.$links
b1600 20 2b 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 65 73 28 29 3b 0a 0a 0a 20 .+=.$package->getReplaces();....
b1620 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 70 6c 61 63 ....foreach.($package->getReplac
b1640 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6e 65 65 64 6c es().as.$link).{.foreach.($needl
b1660 65 73 20 61 73 20 24 6e 65 65 64 6c 65 29 20 7b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 53 es.as.$needle).{.if.($link->getS
b1680 6f 75 72 63 65 28 29 20 3d 3d 3d 20 24 6e 65 65 64 6c 65 29 20 7b 0a 69 66 20 28 24 63 6f 6e 73 ource().===.$needle).{.if.($cons
b16a0 74 72 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f traint.===.null.||.($link->getCo
b16c0 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 nstraint()->matches($constraint)
b16e0 20 3d 3d 3d 20 21 24 69 6e 76 65 72 74 29 29 20 7b 0a 0a 20 69 66 20 28 69 6e 5f 61 72 72 61 79 .===.!$invert)).{...if.(in_array
b1700 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 70 61 63 6b 61 67 65 73 49 6e ($link->getTarget(),.$packagesIn
b1720 54 72 65 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 Tree)).{.$results[].=.array($pac
b1740 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 66 61 6c 73 65 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d kage,.$link,.false);.continue;.}
b1760 0a 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 5b 5d 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 .$packagesInTree[].=.$link->getT
b1780 61 72 67 65 74 28 29 3b 0a 24 64 65 70 65 6e 64 65 6e 74 73 20 3d 20 24 72 65 63 75 72 73 65 20 arget();.$dependents.=.$recurse.
b17a0 3f 20 24 74 68 69 73 2d 3e 67 65 74 44 65 70 65 6e 64 65 6e 74 73 28 24 6c 69 6e 6b 2d 3e 67 65 ?.$this->getDependents($link->ge
b17c0 74 54 61 72 67 65 74 28 29 2c 20 6e 75 6c 6c 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 2c 20 24 70 tTarget(),.null,.false,.true,.$p
b17e0 61 63 6b 61 67 65 73 49 6e 54 72 65 65 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 24 72 65 73 75 6c ackagesInTree).:.array();.$resul
b1800 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 24 64 ts[].=.array($package,.$link,.$d
b1820 65 70 65 6e 64 65 6e 74 73 29 3b 0a 24 6e 65 65 64 6c 65 73 5b 5d 20 3d 20 24 6c 69 6e 6b 2d 3e ependents);.$needles[].=.$link->
b1840 67 65 74 54 61 72 67 65 74 28 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 70 getTarget();.}.}.}.}.}....if.($p
b1860 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 6f 6f 74 50 61 63 6b 61 67 65 49 6e 74 ackage.instanceof.RootPackageInt
b1880 65 72 66 61 63 65 29 20 7b 0a 24 6c 69 6e 6b 73 20 2b 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 erface).{.$links.+=.$package->ge
b18a0 74 44 65 76 52 65 71 75 69 72 65 73 28 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6c tDevRequires();.}....foreach.($l
b18c0 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6e 65 65 64 6c inks.as.$link).{.foreach.($needl
b18e0 65 73 20 61 73 20 24 6e 65 65 64 6c 65 29 20 7b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 es.as.$needle).{.if.($link->getT
b1900 61 72 67 65 74 28 29 20 3d 3d 3d 20 24 6e 65 65 64 6c 65 29 20 7b 0a 69 66 20 28 24 63 6f 6e 73 arget().===.$needle).{.if.($cons
b1920 74 72 61 69 6e 74 20 3d 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f traint.===.null.||.($link->getCo
b1940 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 nstraint()->matches($constraint)
b1960 20 3d 3d 3d 20 21 24 69 6e 76 65 72 74 29 29 20 7b 0a 0a 20 69 66 20 28 69 6e 5f 61 72 72 61 79 .===.!$invert)).{...if.(in_array
b1980 28 24 6c 69 6e 6b 2d 3e 67 65 74 53 6f 75 72 63 65 28 29 2c 20 24 70 61 63 6b 61 67 65 73 49 6e ($link->getSource(),.$packagesIn
b19a0 54 72 65 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 Tree)).{.$results[].=.array($pac
b19c0 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 66 61 6c 73 65 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d kage,.$link,.false);.continue;.}
b19e0 0a 24 70 61 63 6b 61 67 65 73 49 6e 54 72 65 65 5b 5d 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 53 .$packagesInTree[].=.$link->getS
b1a00 6f 75 72 63 65 28 29 3b 0a 24 64 65 70 65 6e 64 65 6e 74 73 20 3d 20 24 72 65 63 75 72 73 65 20 ource();.$dependents.=.$recurse.
b1a20 3f 20 24 74 68 69 73 2d 3e 67 65 74 44 65 70 65 6e 64 65 6e 74 73 28 24 6c 69 6e 6b 2d 3e 67 65 ?.$this->getDependents($link->ge
b1a40 74 53 6f 75 72 63 65 28 29 2c 20 6e 75 6c 6c 2c 20 66 61 6c 73 65 2c 20 74 72 75 65 2c 20 24 70 tSource(),.null,.false,.true,.$p
b1a60 61 63 6b 61 67 65 73 49 6e 54 72 65 65 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 24 72 65 73 75 6c ackagesInTree).:.array();.$resul
b1a80 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 24 64 ts[].=.array($package,.$link,.$d
b1aa0 65 70 65 6e 64 65 6e 74 73 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 69 6e 76 65 ependents);.}.}.}.}....if.($inve
b1ac0 72 74 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 rt.&&.in_array($package->getName
b1ae0 28 29 2c 20 24 6e 65 65 64 6c 65 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 (),.$needles)).{.foreach.($packa
b1b00 67 65 2d 3e 67 65 74 43 6f 6e 66 6c 69 63 74 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 66 ge->getConflicts().as.$link).{.f
b1b20 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6c 69 6e oreach.($this->findPackages($lin
b1b40 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 20 61 73 20 24 70 6b 67 29 20 7b 0a 24 76 65 72 73 k->getTarget()).as.$pkg).{.$vers
b1b60 69 6f 6e 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 6b 67 2d 3e ion.=.new.Constraint('=',.$pkg->
b1b80 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 69 66 20 28 24 6c 69 6e 6b 2d 3e 67 65 74 43 6f 6e getVersion());.if.($link->getCon
b1ba0 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 24 76 65 72 73 69 6f 6e 29 20 3d 3d 3d straint()->matches($version).===
b1bc0 20 24 69 6e 76 65 72 74 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 .$invert).{.$results[].=.array($
b1be0 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a package,.$link,.false);.}.}.}.}.
b1c00 0a 0a 20 69 66 20 28 24 69 6e 76 65 72 74 20 26 26 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 26 26 ...if.($invert.&&.$constraint.&&
b1c20 20 69 6e 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 .in_array($package->getName(),.$
b1c40 6e 65 65 64 6c 65 73 29 20 26 26 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 needles).&&.$constraint->matches
b1c60 28 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 (new.Constraint('=',.$package->g
b1c80 65 74 56 65 72 73 69 6f 6e 28 29 29 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 etVersion()))).{.foreach.($packa
b1ca0 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 ge->getRequires().as.$link).{.if
b1cc0 20 28 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 6f 73 69 74 6f 72 79 3a .(preg_match(PlatformRepository:
b1ce0 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6c 69 6e 6b 2d 3e :PLATFORM_PACKAGE_REGEX,.$link->
b1d00 67 65 74 54 61 72 67 65 74 28 29 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 69 6e 64 50 getTarget())).{.if.($this->findP
b1d20 61 63 6b 61 67 65 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 6c 69 6e 6b ackage($link->getTarget(),.$link
b1d40 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a ->getConstraint())).{.continue;.
b1d60 7d 0a 0a 24 70 6c 61 74 66 6f 72 6d 50 6b 67 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 50 61 63 }..$platformPkg.=.$this->findPac
b1d80 6b 61 67 65 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 27 2a 27 29 3b 0a 24 kage($link->getTarget(),.'*');.$
b1da0 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 70 6c 61 74 66 6f 72 6d 50 6b 67 20 3f 20 27 62 75 description.=.$platformPkg.?.'bu
b1dc0 74 20 27 2e 24 70 6c 61 74 66 6f 72 6d 50 6b 67 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 t.'.$platformPkg->getPrettyVersi
b1de0 6f 6e 28 29 2e 27 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 27 20 3a 20 27 62 75 74 20 69 74 20 69 on().'.is.installed'.:.'but.it.i
b1e00 73 20 6d 69 73 73 69 6e 67 27 3b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 s.missing';.$results[].=.array($
b1e20 70 61 63 6b 61 67 65 2c 20 6e 65 77 20 4c 69 6e 6b 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e package,.new.Link($package->getN
b1e40 61 6d 65 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 6e 75 6c 6c 2c ame(),.$link->getTarget(),.null,
b1e60 20 27 72 65 71 75 69 72 65 73 27 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 50 72 65 74 74 79 43 6f 6e .'requires',.$link->getPrettyCon
b1e80 73 74 72 61 69 6e 74 28 29 2e 27 20 27 2e 24 64 65 73 63 72 69 70 74 69 6f 6e 29 2c 20 66 61 6c straint().'.'.$description),.fal
b1ea0 73 65 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 se);..continue;.}..foreach.($thi
b1ec0 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 6b 67 29 20 7b 0a 69 66 20 28 s->getPackages().as.$pkg).{.if.(
b1ee0 21 69 6e 5f 61 72 72 61 79 28 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2c 20 24 70 !in_array($link->getTarget(),.$p
b1f00 6b 67 2d 3e 67 65 74 4e 61 6d 65 73 28 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a kg->getNames())).{.continue;.}..
b1f20 24 76 65 72 73 69 6f 6e 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 27 2c 20 24 $version.=.new.Constraint('=',.$
b1f40 70 6b 67 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 69 66 20 28 21 24 6c 69 6e 6b 2d 3e pkg->getVersion());.if.(!$link->
b1f60 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 24 76 65 72 73 69 6f getConstraint()->matches($versio
b1f80 6e 29 29 20 7b 0a 0a 20 0a 20 69 66 20 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 29 20 7b 0a 66 6f n)).{.....if.($rootPackage).{.fo
b1fa0 72 65 61 63 68 20 28 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d reach.(array_merge($rootPackage-
b1fc0 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 20 24 72 6f 6f 74 50 61 63 6b 61 67 65 2d 3e 67 65 >getRequires(),.$rootPackage->ge
b1fe0 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 20 61 73 20 24 72 6f 6f 74 52 65 71 29 20 7b 0a 69 tDevRequires()).as.$rootReq).{.i
b2000 66 20 28 69 6e 5f 61 72 72 61 79 28 24 72 6f 6f 74 52 65 71 2d 3e 67 65 74 54 61 72 67 65 74 28 f.(in_array($rootReq->getTarget(
b2020 29 2c 20 24 70 6b 67 2d 3e 67 65 74 4e 61 6d 65 73 28 29 29 20 26 26 20 21 24 72 6f 6f 74 52 65 ),.$pkg->getNames()).&&.!$rootRe
b2040 71 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 2d 3e 6d 61 74 63 68 65 73 28 24 6c 69 6e q->getConstraint()->matches($lin
b2060 6b 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b k->getConstraint())).{.$results[
b2080 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 66 61 6c 73 65 ].=.array($package,.$link,.false
b20a0 29 3b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 72 6f 6f 74 50 61 63 6b 61 );.$results[].=.array($rootPacka
b20c0 67 65 2c 20 24 72 6f 6f 74 52 65 71 2c 20 66 61 6c 73 65 29 3b 0a 63 6f 6e 74 69 6e 75 65 20 33 ge,.$rootReq,.false);.continue.3
b20e0 3b 0a 7d 0a 7d 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 70 61 63 6b 61 67 ;.}.}.$results[].=.array($packag
b2100 65 2c 20 24 6c 69 6e 6b 2c 20 66 61 6c 73 65 29 3b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 e,.$link,.false);.$results[].=.a
b2120 72 72 61 79 28 24 72 6f 6f 74 50 61 63 6b 61 67 65 2c 20 6e 65 77 20 4c 69 6e 6b 28 24 72 6f 6f rray($rootPackage,.new.Link($roo
b2140 74 50 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 tPackage->getName(),.$link->getT
b2160 61 72 67 65 74 28 29 2c 20 6e 75 6c 6c 2c 20 27 64 6f 65 73 20 6e 6f 74 20 72 65 71 75 69 72 65 arget(),.null,.'does.not.require
b2180 27 2c 20 27 62 75 74 20 27 20 2e 20 24 70 6b 67 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 ',.'but.'...$pkg->getPrettyVersi
b21a0 6f 6e 28 29 20 2e 20 27 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 27 29 2c 20 66 61 6c 73 65 29 3b on()...'.is.installed'),.false);
b21c0 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 .}.else.{...$results[].=.array($
b21e0 70 61 63 6b 61 67 65 2c 20 24 6c 69 6e 6b 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 0a 63 6f 6e package,.$link,.false);.}.}..con
b2200 74 69 6e 75 65 20 32 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 6b 73 6f 72 74 28 24 72 65 73 75 6c 74 73 tinue.2;.}.}.}.}..ksort($results
b2220 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a );..return.$results;.}.}.<?php..
b2240 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 ..........namespace.Composer\Rep
b2260 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c ository;..use.Composer\Package\L
b2280 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c oader\ArrayLoader;.use.Composer\
b22a0 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f Package\PackageInterface;.use.Co
b22c0 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 75 73 65 mposer\Package\AliasPackage;.use
b22e0 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f .Composer\Package\Version\Versio
b2300 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 65 70 65 6e 64 65 6e 63 79 nParser;.use.Composer\Dependency
b2320 52 65 73 6f 6c 76 65 72 5c 50 6f 6f 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e Resolver\Pool;.use.Composer\Json
b2340 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 \JsonFile;.use.Composer\Cache;.u
b2360 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 se.Composer\Config;.use.Composer
b2380 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b \Composer;.use.Composer\Factory;
b23a0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 .use.Composer\IO\IOInterface;.us
b23c0 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d e.Composer\Util\RemoteFilesystem
b23e0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 45 76 65 6e ;.use.Composer\Plugin\PluginEven
b2400 74 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 6c 75 67 69 6e 5c 50 72 65 46 69 6c 65 44 ts;.use.Composer\Plugin\PreFileD
b2420 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 ownloadEvent;.use.Composer\Event
b2440 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 Dispatcher\EventDispatcher;.use.
b2460 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 Composer\Downloader\TransportExc
b2480 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 eption;.use.Composer\Semver\Cons
b24a0 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 traint\ConstraintInterface;.use.
b24c0 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 Composer\Semver\Constraint\Const
b24e0 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 raint;.....class.ComposerReposit
b2500 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c ory.extends.ArrayRepository.impl
b2520 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 ements.ConfigurableRepositoryInt
b2540 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 70 72 6f 74 erface.{.protected.$config;.prot
b2560 65 63 74 65 64 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 70 ected.$repoConfig;.protected.$op
b2580 74 69 6f 6e 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 tions;.protected.$url;.protected
b25a0 20 24 62 61 73 65 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 .$baseUrl;.protected.$io;.protec
b25c0 74 65 64 20 24 72 66 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 ted.$rfs;.protected.$cache;.prot
b25e0 65 63 74 65 64 20 24 6e 6f 74 69 66 79 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 65 61 ected.$notifyUrl;.protected.$sea
b2600 72 63 68 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 68 61 73 50 72 6f 76 69 64 65 72 73 20 rchUrl;.protected.$hasProviders.
b2620 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 72 73 55 72 6c =.false;.protected.$providersUrl
b2640 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 61 7a 79 50 72 6f 76 69 64 65 72 73 55 72 6c 3b 0a 70 ;.protected.$lazyProvidersUrl;.p
b2660 72 6f 74 65 63 74 65 64 20 24 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 3b 0a 70 72 6f 74 65 rotected.$providerListing;.prote
b2680 63 74 65 64 20 24 70 72 6f 76 69 64 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 cted.$providers.=.array();.prote
b26a0 63 74 65 64 20 24 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 20 3d 20 61 72 72 61 79 28 29 3b 0a cted.$providersByUid.=.array();.
b26c0 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 61 64 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f protected.$loader;.protected.$ro
b26e0 6f 74 41 6c 69 61 73 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 61 6c 6c 6f 77 53 73 6c 44 6f otAliases;.protected.$allowSslDo
b2700 77 6e 67 72 61 64 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 76 65 6e wngrade.=.false;.protected.$even
b2720 74 44 69 73 70 61 74 63 68 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f 75 72 63 65 4d 69 tDispatcher;.protected.$sourceMi
b2740 72 72 6f 72 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 69 73 74 4d 69 72 72 6f 72 73 3b 0a 70 rrors;.protected.$distMirrors;.p
b2760 72 69 76 61 74 65 20 24 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d 20 66 61 6c 73 65 3b 0a 70 72 rivate.$degradedMode.=.false;.pr
b2780 69 76 61 74 65 20 24 72 6f 6f 74 44 61 74 61 3b 0a 70 72 69 76 61 74 65 20 24 68 61 73 50 61 72 ivate.$rootData;.private.$hasPar
b27a0 74 69 61 6c 50 61 63 6b 61 67 65 73 3b 0a 70 72 69 76 61 74 65 20 24 70 61 72 74 69 61 6c 50 61 tialPackages;.private.$partialPa
b27c0 63 6b 61 67 65 73 42 79 4e 61 6d 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f ckagesByName;..public.function._
b27e0 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f _construct(array.$repoConfig,.IO
b2800 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 Interface.$io,.Config.$config,.E
b2820 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 ventDispatcher.$eventDispatcher.
b2840 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 =.null,.RemoteFilesystem.$rfs.=.
b2860 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 69 null).{.parent::__construct();.i
b2880 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 5c 77 2e 5d 2b 5c 3f 3f 3a 2f 2f 7d 27 f.(!preg_match('{^[\w.]+\??://}'
b28a0 2c 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 29 20 7b 0a 0a 20 24 72 65 70 6f ,.$repoConfig['url'])).{...$repo
b28c0 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 20 3d 20 27 68 74 74 70 3a 2f 2f 27 2e 24 72 65 70 6f 43 Config['url'].=.'http://'.$repoC
b28e0 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 7d 0a 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c onfig['url'];.}.$repoConfig['url
b2900 27 5d 20 3d 20 72 74 72 69 6d 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 2c 20 27 '].=.rtrim($repoConfig['url'],.'
b2920 2f 27 29 3b 0a 0a 69 66 20 28 27 68 74 74 70 73 3f 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 72 /');..if.('https?'.===.substr($r
b2940 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 2c 20 30 2c 20 36 29 29 20 7b 0a 24 72 65 70 6f epoConfig['url'],.0,.6)).{.$repo
b2960 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 20 3d 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 Config['url'].=.(extension_loade
b2980 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 3f 20 27 68 74 74 70 73 27 20 3a 20 27 68 74 74 70 27 29 d('openssl').?.'https'.:.'http')
b29a0 20 2e 20 73 75 62 73 74 72 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 2c 20 36 29 ...substr($repoConfig['url'],.6)
b29c0 3b 0a 7d 0a 0a 24 75 72 6c 42 69 74 73 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 72 65 70 6f 43 ;.}..$urlBits.=.parse_url($repoC
b29e0 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 69 66 20 28 24 75 72 6c 42 69 74 73 20 3d 3d 3d 20 onfig['url']);.if.($urlBits.===.
b2a00 66 61 6c 73 65 20 7c 7c 20 65 6d 70 74 79 28 24 75 72 6c 42 69 74 73 5b 27 73 63 68 65 6d 65 27 false.||.empty($urlBits['scheme'
b2a20 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 ])).{.throw.new.\UnexpectedValue
b2a40 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 75 72 6c 20 67 69 76 65 6e 20 66 6f 72 Exception('Invalid.url.given.for
b2a60 20 43 6f 6d 70 6f 73 65 72 20 72 65 70 6f 73 69 74 6f 72 79 3a 20 27 2e 24 72 65 70 6f 43 6f 6e .Composer.repository:.'.$repoCon
b2a80 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 72 65 70 6f fig['url']);.}..if.(!isset($repo
b2aa0 43 6f 6e 66 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 29 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 Config['options'])).{.$repoConfi
b2ac0 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 69 66 20 28 69 73 g['options'].=.array();.}.if.(is
b2ae0 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 61 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 set($repoConfig['allow_ssl_downg
b2b00 72 61 64 65 27 5d 29 20 26 26 20 74 72 75 65 20 3d 3d 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b rade']).&&.true.===.$repoConfig[
b2b20 27 61 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 72 61 64 65 27 5d 29 20 7b 0a 24 74 68 69 73 2d 'allow_ssl_downgrade']).{.$this-
b2b40 3e 61 6c 6c 6f 77 53 73 6c 44 6f 77 6e 67 72 61 64 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 >allowSslDowngrade.=.true;.}..$t
b2b60 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 6f 70 his->config.=.$config;.$this->op
b2b80 74 69 6f 6e 73 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 3b 0a tions.=.$repoConfig['options'];.
b2ba0 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b $this->url.=.$repoConfig['url'];
b2bc0 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 50 3c 70 72 6f 74 6f 3e ....if.(preg_match('{^(?P<proto>
b2be0 68 74 74 70 73 3f 29 3a 2f 2f 70 61 63 6b 61 67 69 73 74 5c 2e 6f 72 67 2f 3f 24 7d 69 27 2c 20 https?)://packagist\.org/?$}i',.
b2c00 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 $this->url,.$match)).{.$this->ur
b2c20 6c 20 3d 20 24 6d 61 74 63 68 5b 27 70 72 6f 74 6f 27 5d 2e 27 3a 2f 2f 72 65 70 6f 2e 70 61 63 l.=.$match['proto'].'://repo.pac
b2c40 6b 61 67 69 73 74 2e 6f 72 67 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 3d kagist.org';.}..$this->baseUrl.=
b2c60 20 72 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 3f 3a 2f 5b 5e 2f 5c 5c 5c .rtrim(preg_replace('{(?:/[^/\\\
b2c80 5c 5d 2b 5c 2e 6a 73 6f 6e 29 3f 28 3f 3a 5b 3f 23 5d 2e 2a 29 3f 24 7d 27 2c 20 27 27 2c 20 24 \]+\.json)?(?:[?#].*)?$}',.'',.$
b2ca0 74 68 69 73 2d 3e 75 72 6c 29 2c 20 27 2f 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 this->url),.'/');.$this->io.=.$i
b2cc0 6f 3b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 69 6f 2c o;.$this->cache.=.new.Cache($io,
b2ce0 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 2e .$config->get('cache-repo-dir').
b2d00 27 2f 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 2e 5d 7d 69 27 '/'.preg_replace('{[^a-z0-9.]}i'
b2d20 2c 20 27 2d 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 2c 20 27 61 2d 7a 30 2d 39 2e 24 27 29 3b ,.'-',.$this->url),.'a-z0-9.$');
b2d40 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 .$this->loader.=.new.ArrayLoader
b2d60 28 29 3b 0a 69 66 20 28 24 72 66 73 20 26 26 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 20 ();.if.($rfs.&&.$this->options).
b2d80 7b 0a 24 72 66 73 20 3d 20 63 6c 6f 6e 65 20 24 72 66 73 3b 0a 24 72 66 73 2d 3e 73 65 74 4f 70 {.$rfs.=.clone.$rfs;.$rfs->setOp
b2da0 74 69 6f 6e 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e tions($this->options);.}.$this->
b2dc0 72 66 73 20 3d 20 24 72 66 73 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d rfs.=.$rfs.?:.Factory::createRem
b2de0 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e oteFilesystem($this->io,.$this->
b2e00 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e config,.$this->options);.$this->
b2e20 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 eventDispatcher.=.$eventDispatch
b2e40 65 72 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 24 72 65 70 6f 43 6f 6e er;.$this->repoConfig.=.$repoCon
b2e60 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 fig;.}..public.function.getRepoC
b2e80 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 onfig().{.return.$this->repoConf
b2ea0 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 6f 6f 74 41 6c ig;.}..public.function.setRootAl
b2ec0 69 61 73 65 73 28 61 72 72 61 79 20 24 72 6f 6f 74 41 6c 69 61 73 65 73 29 0a 7b 0a 24 74 68 69 iases(array.$rootAliases).{.$thi
b2ee0 73 2d 3e 72 6f 6f 74 41 6c 69 61 73 65 73 20 3d 20 24 72 6f 6f 74 41 6c 69 61 73 65 73 3b 0a 7d s->rootAliases.=.$rootAliases;.}
b2f00 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 .....public.function.findPackage
b2f20 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 ($name,.$constraint).{.if.(!$thi
b2f40 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 s->hasProviders()).{.return.pare
b2f60 6e 74 3a 3a 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 nt::findPackage($name,.$constrai
b2f80 6e 74 29 3b 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 nt);.}..$name.=.strtolower($name
b2fa0 29 3b 0a 69 66 20 28 21 24 63 6f 6e 73 74 72 61 69 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 );.if.(!$constraint.instanceof.C
b2fc0 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 61 onstraintInterface).{.$versionPa
b2fe0 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 63 6f 6e rser.=.new.VersionParser();.$con
b3000 73 74 72 61 69 6e 74 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 straint.=.$versionParser->parseC
b3020 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 65 onstraints($constraint);.}..fore
b3040 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 76 69 64 65 72 4e 61 6d 65 73 28 29 20 61 ach.($this->getProviderNames().a
b3060 73 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d 3d s.$providerName).{.if.($name.===
b3080 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 .$providerName).{.$packages.=.$t
b30a0 68 69 73 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 6e 65 77 20 50 6f 6f 6c 28 27 64 65 76 27 his->whatProvides(new.Pool('dev'
b30c0 29 2c 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 ),.$providerName);.foreach.($pac
b30e0 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d kages.as.$package).{.if.($name.=
b3100 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 70 6b 67 43 6f ==.$package->getName()).{.$pkgCo
b3120 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 nstraint.=.new.Constraint('==',.
b3140 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 69 66 20 28 24 63 6f $package->getVersion());.if.($co
b3160 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 nstraint->matches($pkgConstraint
b3180 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a 62 72 65 61 )).{.return.$package;.}.}.}.brea
b31a0 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e k;.}.}.}.....public.function.fin
b31c0 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e dPackages($name,.$constraint.=.n
b31e0 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 28 ull).{.if.(!$this->hasProviders(
b3200 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 66 69 6e 64 50 61 63 6b 61 67 65 73 )).{.return.parent::findPackages
b3220 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 20 24 6e 61 6d 65 20 ($name,.$constraint);.}...$name.
b3240 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 =.strtolower($name);..if.(null.!
b3260 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 26 26 20 21 24 63 6f 6e 73 74 72 61 69 6e 74 20 69 ==.$constraint.&&.!$constraint.i
b3280 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 29 20 7b nstanceof.ConstraintInterface).{
b32a0 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 .$versionParser.=.new.VersionPar
b32c0 73 65 72 28 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 ser();.$constraint.=.$versionPar
b32e0 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 6e ser->parseConstraints($constrain
b3300 74 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 t);.}..$packages.=.array();..for
b3320 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 76 69 64 65 72 4e 61 6d 65 73 28 29 20 each.($this->getProviderNames().
b3340 61 73 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 20 3d 3d as.$providerName).{.if.($name.==
b3360 3d 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d =.$providerName).{.$candidates.=
b3380 20 24 74 68 69 73 2d 3e 77 68 61 74 50 72 6f 76 69 64 65 73 28 6e 65 77 20 50 6f 6f 6c 28 27 64 .$this->whatProvides(new.Pool('d
b33a0 65 76 27 29 2c 20 24 70 72 6f 76 69 64 65 72 4e 61 6d 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 ev'),.$providerName);.foreach.($
b33c0 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 6e candidates.as.$package).{.if.($n
b33e0 61 6d 65 20 3d 3d 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 24 ame.===.$package->getName()).{.$
b3400 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 pkgConstraint.=.new.Constraint('
b3420 3d 3d 27 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 69 66 ==',.$package->getVersion());.if
b3440 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 7c 7c 20 24 63 6f 6e 73 74 .(null.===.$constraint.||.$const
b3460 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 70 6b 67 43 6f 6e 73 74 72 61 69 6e 74 29 29 20 raint->matches($pkgConstraint)).
b3480 7b 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 7d 0a {.$packages[].=.$package;.}.}.}.
b34a0 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a break;.}.}..return.$packages;.}.
b34c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 73 28 29 0a 7b .public.function.getPackages().{
b34e0 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 29 20 7b 0a 74 68 .if.($this->hasProviders()).{.th
b3500 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 6d 70 6f 73 65 row.new.\LogicException('Compose
b3520 72 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 74 68 61 74 20 68 61 76 65 20 70 72 6f 76 69 64 65 r.repositories.that.have.provide
b3540 72 73 20 63 61 6e 20 6e 6f 74 20 6c 6f 61 64 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 6c 69 73 rs.can.not.load.the.complete.lis
b3560 74 20 6f 66 20 70 61 63 6b 61 67 65 73 2c 20 75 73 65 20 67 65 74 50 72 6f 76 69 64 65 72 4e 61 t.of.packages,.use.getProviderNa
b3580 6d 65 73 20 69 6e 73 74 65 61 64 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 mes.instead.');.}..return.parent
b35a0 3a 3a 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ::getPackages();.}.....public.fu
b35c0 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 28 24 71 75 65 72 79 2c 20 24 6d 6f 64 65 20 3d 20 30 2c nction.search($query,.$mode.=.0,
b35e0 20 24 74 79 70 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 .$type.=.null).{.$this->loadRoot
b3600 53 65 72 76 65 72 46 69 6c 65 28 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 65 61 72 63 68 ServerFile();..if.($this->search
b3620 55 72 6c 20 26 26 20 24 6d 6f 64 65 20 3d 3d 3d 20 73 65 6c 66 3a 3a 53 45 41 52 43 48 5f 46 55 Url.&&.$mode.===.self::SEARCH_FU
b3640 4c 4c 54 45 58 54 29 20 7b 0a 24 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 LLTEXT).{.$url.=.str_replace(arr
b3660 61 79 28 27 25 71 75 65 72 79 25 27 2c 20 27 25 74 79 70 65 25 27 29 2c 20 61 72 72 61 79 28 24 ay('%query%',.'%type%'),.array($
b3680 71 75 65 72 79 2c 20 24 74 79 70 65 29 2c 20 24 74 68 69 73 2d 3e 73 65 61 72 63 68 55 72 6c 29 query,.$type),.$this->searchUrl)
b36a0 3b 0a 0a 24 6f 72 69 67 69 6e 20 3d 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3a 3a 67 ;..$origin.=.RemoteFilesystem::g
b36c0 65 74 4f 72 69 67 69 6e 28 24 75 72 6c 29 3b 0a 24 6a 73 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 72 etOrigin($url);.$json.=.$this->r
b36e0 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 2c 20 24 75 72 6c 2c 20 66 fs->getContents($origin,.$url,.f
b3700 61 6c 73 65 29 3b 0a 24 73 65 61 72 63 68 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 alse);.$search.=.JsonFile::parse
b3720 4a 73 6f 6e 28 24 6a 73 6f 6e 2c 20 24 75 72 6c 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 73 Json($json,.$url);..if.(empty($s
b3740 65 61 72 63 68 5b 27 72 65 73 75 6c 74 73 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 earch['results'])).{.return.arra
b3760 79 28 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 y();.}..$results.=.array();.fore
b3780 61 63 68 20 28 24 73 65 61 72 63 68 5b 27 72 65 73 75 6c 74 73 27 5d 20 61 73 20 24 72 65 73 75 ach.($search['results'].as.$resu
b37a0 6c 74 29 20 7b 0a 0a 20 69 66 20 28 65 6d 70 74 79 28 24 72 65 73 75 6c 74 5b 27 76 69 72 74 75 lt).{...if.(empty($result['virtu
b37c0 61 6c 27 5d 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 24 72 65 73 75 6c 74 3b 0a 7d al'])).{.$results[].=.$result;.}
b37e0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 73 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 .}..return.$results;.}..if.($thi
b3800 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 29 20 7b 0a 24 72 65 73 75 6c 74 73 20 3d 20 s->hasProviders()).{.$results.=.
b3820 61 72 72 61 79 28 29 3b 0a 24 72 65 67 65 78 20 3d 20 27 7b 28 3f 3a 27 2e 69 6d 70 6c 6f 64 65 array();.$regex.=.'{(?:'.implode
b3840 28 27 7c 27 2c 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2b 7d 27 2c 20 24 71 75 65 72 79 ('|',.preg_split('{\s+}',.$query
b3860 29 29 2e 27 29 7d 69 27 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 50 72 )).')}i';..foreach.($this->getPr
b3880 6f 76 69 64 65 72 4e 61 6d 65 73 28 29 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 69 66 20 28 70 72 oviderNames().as.$name).{.if.(pr
b38a0 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 24 72 65 73 75 eg_match($regex,.$name)).{.$resu
b38c0 6c 74 73 5b 5d 20 3d 20 61 72 72 61 79 28 27 6e 61 6d 65 27 20 3d 3e 20 24 6e 61 6d 65 29 3b 0a lts[].=.array('name'.=>.$name);.
b38e0 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 }.}..return.$results;.}..return.
b3900 70 61 72 65 6e 74 3a 3a 73 65 61 72 63 68 28 24 71 75 65 72 79 2c 20 24 6d 6f 64 65 29 3b 0a 7d parent::search($query,.$mode);.}
b3920 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 76 69 64 65 72 4e 61 6d ..public.function.getProviderNam
b3940 65 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 es().{.$this->loadRootServerFile
b3960 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 ();..if.(null.===.$this->provide
b3980 72 4c 69 73 74 69 6e 67 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 50 72 6f 76 69 64 65 72 4c rListing).{.$this->loadProviderL
b39a0 69 73 74 69 6e 67 73 28 24 74 68 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c istings($this->loadRootServerFil
b39c0 65 28 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 65 72 e());.}..if.($this->lazyProvider
b39e0 73 55 72 6c 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 sUrl).{...return.array();.}..if.
b3a00 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 72 6c 29 20 7b 0a 72 65 74 75 72 6e 20 61 ($this->providersUrl).{.return.a
b3a20 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 rray_keys($this->providerListing
b3a40 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 );.}..return.array();.}..protect
b3a60 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 50 61 63 6b 61 67 65 54 72 61 6e ed.function.configurePackageTran
b3a80 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 sportOptions(PackageInterface.$p
b3aa0 61 63 6b 61 67 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 ackage).{.foreach.($package->get
b3ac0 44 69 73 74 55 72 6c 73 28 29 20 61 73 20 24 75 72 6c 29 20 7b 0a 69 66 20 28 73 74 72 70 6f 73 DistUrls().as.$url).{.if.(strpos
b3ae0 28 24 75 72 6c 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 29 20 3d 3d 3d 20 30 29 20 7b 0a ($url,.$this->baseUrl).===.0).{.
b3b00 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 6f 6e 73 28 24 74 $package->setTransportOptions($t
b3b20 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 his->options);..return;.}.}.}..p
b3b40 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 72 6f 76 69 64 65 72 73 28 29 0a 7b 0a ublic.function.hasProviders().{.
b3b60 24 74 68 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 3b 0a 0a 72 65 $this->loadRootServerFile();..re
b3b80 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 3b 0a 7d 0a 0a 70 75 62 turn.$this->hasProviders;.}..pub
b3ba0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 50 61 63 6b 61 67 65 49 64 73 28 29 0a 7b lic.function.resetPackageIds().{
b3bc0 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 20 .foreach.($this->providersByUid.
b3be0 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 as.$package).{.if.($package.inst
b3c00 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 2d anceof.AliasPackage).{.$package-
b3c20 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 2d 3e 73 65 74 49 64 28 2d 31 29 3b 0a 7d 0a 24 70 61 63 >getAliasOf()->setId(-1);.}.$pac
b3c40 6b 61 67 65 2d 3e 73 65 74 49 64 28 2d 31 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c kage->setId(-1);.}.}........publ
b3c60 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 68 61 74 50 72 6f 76 69 64 65 73 28 50 6f 6f 6c 20 24 70 ic.function.whatProvides(Pool.$p
b3c80 6f 6f 6c 2c 20 24 6e 61 6d 65 2c 20 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 20 3d 20 66 61 6c ool,.$name,.$bypassFilters.=.fal
b3ca0 73 65 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 se).{.if.(isset($this->providers
b3cc0 5b 24 6e 61 6d 65 5d 29 20 26 26 20 21 24 62 79 70 61 73 73 46 69 6c 74 65 72 73 29 20 7b 0a 72 [$name]).&&.!$bypassFilters).{.r
b3ce0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 3b 0a 7d eturn.$this->providers[$name];.}
b3d00 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 50 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 20 ..if.($this->hasPartialPackages.
b3d20 26 26 20 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 &&.null.===.$this->partialPackag
b3d40 65 73 42 79 4e 61 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 50 61 72 esByName).{.$this->initializePar
b3d60 74 69 61 6c 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 tialPackages();.}..if.(!$this->h
b3d80 61 73 50 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 20 7c 7c 20 21 69 73 73 65 74 28 24 74 68 69 asPartialPackages.||.!isset($thi
b3da0 73 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 29 s->partialPackagesByName[$name])
b3dc0 29 20 7b 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 50 6c 61 74 66 6f 72 6d 52 65 70 ).{...if.(preg_match(PlatformRep
b3de0 6f 73 69 74 6f 72 79 3a 3a 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c ository::PLATFORM_PACKAGE_REGEX,
b3e00 20 24 6e 61 6d 65 29 20 7c 7c 20 27 5f 5f 72 6f 6f 74 5f 5f 27 20 3d 3d 3d 20 24 6e 61 6d 65 20 .$name).||.'__root__'.===.$name.
b3e20 7c 7c 20 27 63 6f 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 27 20 3d 3d 3d 20 24 6e 61 ||.'composer-plugin-api'.===.$na
b3e40 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c me).{.return.array();.}..if.(nul
b3e60 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 29 20 7b 0a l.===.$this->providerListing).{.
b3e80 24 74 68 69 73 2d 3e 6c 6f 61 64 50 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 73 28 24 74 68 69 $this->loadProviderListings($thi
b3ea0 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 29 3b 0a 7d 0a 0a 24 75 73 s->loadRootServerFile());.}..$us
b3ec0 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 43 68 65 63 6b 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 eLastModifiedCheck.=.false;.if.(
b3ee0 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 65 72 73 55 72 6c 20 26 26 20 21 69 73 73 65 $this->lazyProvidersUrl.&&.!isse
b3f00 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 5b 24 6e 61 6d 65 5d 29 t($this->providerListing[$name])
b3f20 29 20 7b 0a 24 68 61 73 68 20 3d 20 6e 75 6c 6c 3b 0a 24 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 ).{.$hash.=.null;.$url.=.str_rep
b3f40 6c 61 63 65 28 27 25 70 61 63 6b 61 67 65 25 27 2c 20 24 6e 61 6d 65 2c 20 24 74 68 69 73 2d 3e lace('%package%',.$name,.$this->
b3f60 6c 61 7a 79 50 72 6f 76 69 64 65 72 73 55 72 6c 29 3b 0a 24 63 61 63 68 65 4b 65 79 20 3d 20 27 lazyProvidersUrl);.$cacheKey.=.'
b3f80 70 72 6f 76 69 64 65 72 2d 27 2e 73 74 72 74 72 28 24 6e 61 6d 65 2c 20 27 2f 27 2c 20 27 24 27 provider-'.strtr($name,.'/',.'$'
b3fa0 29 2e 27 2e 6a 73 6f 6e 27 3b 0a 24 75 73 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 43 68 65 63 6b ).'.json';.$useLastModifiedCheck
b3fc0 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 .=.true;.}.elseif.($this->provid
b3fe0 65 72 73 55 72 6c 29 20 7b 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 ersUrl).{...if.(!isset($this->pr
b4000 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 oviderListing[$name])).{.return.
b4020 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 68 61 73 68 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 array();.}..$hash.=.$this->provi
b4040 64 65 72 4c 69 73 74 69 6e 67 5b 24 6e 61 6d 65 5d 5b 27 73 68 61 32 35 36 27 5d 3b 0a 24 75 72 derListing[$name]['sha256'];.$ur
b4060 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 25 70 61 63 6b 61 67 65 25 l.=.str_replace(array('%package%
b4080 27 2c 20 27 25 68 61 73 68 25 27 29 2c 20 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 68 61 73 68 ',.'%hash%'),.array($name,.$hash
b40a0 29 2c 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 72 6c 29 3b 0a 24 63 61 63 68 65 4b ),.$this->providersUrl);.$cacheK
b40c0 65 79 20 3d 20 27 70 72 6f 76 69 64 65 72 2d 27 2e 73 74 72 74 72 28 24 6e 61 6d 65 2c 20 27 2f ey.=.'provider-'.strtr($name,.'/
b40e0 27 2c 20 27 24 27 29 2e 27 2e 6a 73 6f 6e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 72 65 74 75 72 6e ',.'$').'.json';.}.else.{.return
b4100 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 6e 75 6c 6c 3b 0a 69 .array();.}..$packages.=.null;.i
b4120 66 20 28 24 63 61 63 68 65 4b 65 79 29 20 7b 0a 69 66 20 28 21 24 75 73 65 4c 61 73 74 4d 6f 64 f.($cacheKey).{.if.(!$useLastMod
b4140 69 66 69 65 64 43 68 65 63 6b 20 26 26 20 24 68 61 73 68 20 26 26 20 24 74 68 69 73 2d 3e 63 61 ifiedCheck.&&.$hash.&&.$this->ca
b4160 63 68 65 2d 3e 73 68 61 32 35 36 28 24 63 61 63 68 65 4b 65 79 29 20 3d 3d 3d 20 24 68 61 73 68 che->sha256($cacheKey).===.$hash
b4180 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 74 68 69 ).{.$packages.=.json_decode($thi
b41a0 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 63 61 63 68 65 4b 65 79 29 2c 20 74 72 75 65 29 s->cache->read($cacheKey),.true)
b41c0 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 75 73 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 43 68 65 63 ;.}.elseif.($useLastModifiedChec
b41e0 6b 29 20 7b 0a 69 66 20 28 24 63 6f 6e 74 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 k).{.if.($contents.=.$this->cach
b4200 65 2d 3e 72 65 61 64 28 24 63 61 63 68 65 4b 65 79 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 73 20 e->read($cacheKey)).{.$contents.
b4220 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 6f 6e 74 65 6e 74 73 2c 20 74 72 75 65 29 3b 0a =.json_decode($contents,.true);.
b4240 69 66 20 28 69 73 73 65 74 28 24 63 6f 6e 74 65 6e 74 73 5b 27 6c 61 73 74 2d 6d 6f 64 69 66 69 if.(isset($contents['last-modifi
b4260 65 64 27 5d 29 29 20 7b 0a 24 72 65 73 70 6f 6e 73 65 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 ed'])).{.$response.=.$this->fetc
b4280 68 46 69 6c 65 49 66 4c 61 73 74 4d 6f 64 69 66 69 65 64 28 24 75 72 6c 2c 20 24 63 61 63 68 65 hFileIfLastModified($url,.$cache
b42a0 4b 65 79 2c 20 24 63 6f 6e 74 65 6e 74 73 5b 27 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 27 5d 29 Key,.$contents['last-modified'])
b42c0 3b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 72 65 73 70 6f 6e 73 65 29 20 7b 0a 24 70 61 63 ;.if.(true.===.$response).{.$pac
b42e0 6b 61 67 65 73 20 3d 20 24 63 6f 6e 74 65 6e 74 73 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 72 65 kages.=.$contents;.}.elseif.($re
b4300 73 70 6f 6e 73 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 72 65 73 70 6f 6e 73 65 3b sponse).{.$packages.=.$response;
b4320 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 74 72 .}.}.}.}.}..if.(!$packages).{.tr
b4340 79 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 68 46 69 6c 65 y.{.$packages.=.$this->fetchFile
b4360 28 24 75 72 6c 2c 20 24 63 61 63 68 65 4b 65 79 2c 20 24 68 61 73 68 2c 20 24 75 73 65 4c 61 73 ($url,.$cacheKey,.$hash,.$useLas
b4380 74 4d 6f 64 69 66 69 65 64 43 68 65 63 6b 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 tModifiedCheck);.}.catch.(Transp
b43a0 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 69 66 20 28 24 65 2d 3e 67 65 74 ortException.$e).{...if.($e->get
b43c0 53 74 61 74 75 73 43 6f 64 65 28 29 20 3d 3d 3d 20 34 30 34 20 26 26 20 24 74 68 69 73 2d 3e 6c StatusCode().===.404.&&.$this->l
b43e0 61 7a 79 50 72 6f 76 69 64 65 72 73 55 72 6c 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 azyProvidersUrl).{.$packages.=.a
b4400 72 72 61 79 28 27 70 61 63 6b 61 67 65 73 27 20 3d 3e 20 61 72 72 61 79 28 29 29 3b 0a 7d 20 65 rray('packages'.=>.array());.}.e
b4420 6c 73 65 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 6c 6f 61 64 69 6e 67 50 lse.{.throw.$e;.}.}.}..$loadingP
b4440 61 72 74 69 61 6c 50 61 63 6b 61 67 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a artialPackage.=.false;.}.else.{.
b4460 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 27 70 61 63 6b 61 67 65 73 27 20 3d 3e 20 $packages.=.array('packages'.=>.
b4480 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 73 27 20 3d 3e 20 24 74 68 69 73 2d 3e 70 61 72 74 69 array('versions'.=>.$this->parti
b44a0 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 6e 61 6d 65 5d 29 29 3b 0a 24 6c 6f 61 64 alPackagesByName[$name]));.$load
b44c0 69 6e 67 50 61 72 74 69 61 6c 50 61 63 6b 61 67 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 68 ingPartialPackage.=.true;.}..$th
b44e0 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a is->providers[$name].=.array();.
b4500 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 5b 27 70 61 63 6b 61 67 65 73 27 5d 20 61 foreach.($packages['packages'].a
b4520 73 20 24 76 65 72 73 69 6f 6e 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e s.$versions).{.foreach.($version
b4540 73 20 61 73 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 21 24 6c 6f 61 64 69 6e 67 50 61 s.as.$version).{.if.(!$loadingPa
b4560 72 74 69 61 6c 50 61 63 6b 61 67 65 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 50 61 72 74 69 61 rtialPackage.&&.$this->hasPartia
b4580 6c 50 61 63 6b 61 67 65 73 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 61 72 74 69 61 lPackages.&&.isset($this->partia
b45a0 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 76 65 72 73 69 6f 6e 5b 27 6e 61 6d 65 27 5d lPackagesByName[$version['name']
b45c0 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 ])).{.continue;.}....if.(isset($
b45e0 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 this->providersByUid[$version['u
b4600 69 64 27 5d 5d 29 29 20 7b 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 id']])).{...if.(!isset($this->pr
b4620 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 29 oviders[$name][$version['uid']])
b4640 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b ).{...if.($this->providersByUid[
b4660 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 $version['uid']].instanceof.Alia
b4680 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 sPackage).{.$this->providers[$na
b46a0 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 74 68 69 73 2d 3e 70 72 me][$version['uid']].=.$this->pr
b46c0 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 2d 3e 67 ovidersByUid[$version['uid']]->g
b46e0 65 74 41 6c 69 61 73 4f 66 28 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e etAliasOf();.$this->providers[$n
b4700 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 61 6c 69 61 73 27 5d 20 3d ame][$version['uid'].'-alias'].=
b4720 20 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b .$this->providersByUid[$version[
b4740 27 75 69 64 27 5d 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 'uid']];.}.else.{.$this->provide
b4760 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 74 68 rs[$name][$version['uid']].=.$th
b4780 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 is->providersByUid[$version['uid
b47a0 27 5d 5d 3b 0a 7d 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 ']];.}...if.(isset($this->provid
b47c0 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 ersByUid[$version['uid'].'-root'
b47e0 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 ])).{.$this->providers[$name][$v
b4800 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 20 3d 20 24 74 68 69 73 2d 3e ersion['uid'].'-root'].=.$this->
b4820 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 providersByUid[$version['uid'].'
b4840 2d 72 6f 6f 74 27 5d 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 24 62 79 70 61 -root'];.}.}.}.else.{.if.(!$bypa
b4860 73 73 46 69 6c 74 65 72 73 20 26 26 20 21 24 70 6f 6f 6c 2d 3e 69 73 50 61 63 6b 61 67 65 41 63 ssFilters.&&.!$pool->isPackageAc
b4880 63 65 70 74 61 62 6c 65 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 76 65 72 73 69 6f 6e 5b 27 6e 61 ceptable(strtolower($version['na
b48a0 6d 65 27 5d 29 2c 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3a 3a 70 61 72 73 65 53 74 61 62 69 me']),.VersionParser::parseStabi
b48c0 6c 69 74 79 28 24 76 65 72 73 69 6f 6e 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 29 20 7b 0a 63 6f lity($version['version']))).{.co
b48e0 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 63 ntinue;.}....$package.=.$this->c
b4900 72 65 61 74 65 50 61 63 6b 61 67 65 28 24 76 65 72 73 69 6f 6e 2c 20 27 43 6f 6d 70 6f 73 65 72 reatePackage($version,.'Composer
b4920 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 27 29 3b 0a 24 70 61 63 \Package\CompletePackage');.$pac
b4940 6b 61 67 65 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 24 74 68 69 73 29 3b 0a 0a 69 66 20 kage->setRepository($this);..if.
b4960 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 ($package.instanceof.AliasPackag
b4980 65 29 20 7b 0a 24 61 6c 69 61 73 65 64 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 e).{.$aliased.=.$package->getAli
b49a0 61 73 4f 66 28 29 3b 0a 24 61 6c 69 61 73 65 64 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 28 asOf();.$aliased->setRepository(
b49c0 24 74 68 69 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d $this);..$this->providers[$name]
b49e0 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 61 6c 69 61 73 65 64 3b 0a 24 74 [$version['uid']].=.$aliased;.$t
b4a00 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 his->providers[$name][$version['
b4a20 75 69 64 27 5d 2e 27 2d 61 6c 69 61 73 27 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 0a 0a 20 24 uid'].'-alias'].=.$package;....$
b4a40 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 this->providersByUid[$version['u
b4a60 69 64 27 5d 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 id']].=.$package;.}.else.{.$this
b4a80 2d 3e 70 72 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 ->providers[$name][$version['uid
b4aa0 27 5d 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 ']].=.$package;.$this->providers
b4ac0 42 79 55 69 64 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 5d 20 3d 20 24 70 61 63 6b 61 67 ByUid[$version['uid']].=.$packag
b4ae0 65 3b 0a 7d 0a 0a 0a 20 75 6e 73 65 74 28 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 29 3b 0a 0a e;.}....unset($rootAliasData);..
b4b00 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 6f 6f 74 41 6c 69 61 73 65 73 5b 24 70 61 if.(isset($this->rootAliases[$pa
b4b20 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 ckage->getName()][$package->getV
b4b40 65 72 73 69 6f 6e 28 29 5d 29 29 20 7b 0a 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 20 3d 20 24 ersion()])).{.$rootAliasData.=.$
b4b60 74 68 69 73 2d 3e 72 6f 6f 74 41 6c 69 61 73 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e this->rootAliases[$package->getN
b4b80 61 6d 65 28 29 5d 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 5d 3b 0a ame()][$package->getVersion()];.
b4ba0 7d 20 65 6c 73 65 69 66 20 28 24 70 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c }.elseif.($package.instanceof.Al
b4bc0 69 61 73 50 61 63 6b 61 67 65 20 26 26 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 6f 6f 74 41 iasPackage.&&.isset($this->rootA
b4be0 6c 69 61 73 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 70 61 63 liases[$package->getName()][$pac
b4c00 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 kage->getAliasOf()->getVersion()
b4c20 5d 29 29 20 7b 0a 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 72 6f ])).{.$rootAliasData.=.$this->ro
b4c40 6f 74 41 6c 69 61 73 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 24 otAliases[$package->getName()][$
b4c60 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f 66 28 29 2d 3e 67 65 74 56 65 72 73 69 6f package->getAliasOf()->getVersio
b4c80 6e 28 29 5d 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 n()];.}..if.(isset($rootAliasDat
b4ca0 61 29 29 20 7b 0a 24 61 6c 69 61 73 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 41 6c 69 61 a)).{.$alias.=.$this->createAlia
b4cc0 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 24 72 6f 6f 74 41 6c 69 61 73 44 61 74 sPackage($package,.$rootAliasDat
b4ce0 61 5b 27 61 6c 69 61 73 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2c 20 24 72 6f 6f 74 41 6c 69 61 a['alias_normalized'],.$rootAlia
b4d00 73 44 61 74 61 5b 27 61 6c 69 61 73 27 5d 29 3b 0a 24 61 6c 69 61 73 2d 3e 73 65 74 52 65 70 6f sData['alias']);.$alias->setRepo
b4d20 73 69 74 6f 72 79 28 24 74 68 69 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 sitory($this);..$this->providers
b4d40 5b 24 6e 61 6d 65 5d 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d [$name][$version['uid'].'-root']
b4d60 20 3d 20 24 61 6c 69 61 73 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 .=.$alias;.$this->providersByUid
b4d80 5b 24 76 65 72 73 69 6f 6e 5b 27 75 69 64 27 5d 2e 27 2d 72 6f 6f 74 27 5d 20 3d 20 24 61 6c 69 [$version['uid'].'-root'].=.$ali
b4da0 61 73 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 as;.}.}.}.}..$result.=.$this->pr
b4dc0 6f 76 69 64 65 72 73 5b 24 6e 61 6d 65 5d 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 62 79 70 61 73 73 oviders[$name];......if.($bypass
b4de0 46 69 6c 74 65 72 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 Filters).{.foreach.($this->provi
b4e00 64 65 72 73 5b 24 6e 61 6d 65 5d 20 61 73 20 24 75 69 64 20 3d 3e 20 24 70 72 6f 76 69 64 65 72 ders[$name].as.$uid.=>.$provider
b4e20 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 42 79 55 69 64 5b ).{.unset($this->providersByUid[
b4e40 24 75 69 64 5d 29 3b 0a 7d 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 $uid]);.}.unset($this->providers
b4e60 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a [$name]);.}..return.$result;.}..
b4e80 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 ...protected.function.initialize
b4ea0 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 72 65 70 ().{.parent::initialize();..$rep
b4ec0 6f 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 44 61 74 61 46 72 6f 6d 53 65 72 76 65 oData.=.$this->loadDataFromServe
b4ee0 72 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 44 61 74 61 20 61 73 20 24 70 61 63 r();..foreach.($repoData.as.$pac
b4f00 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 74 68 69 73 2d kage).{.$this->addPackage($this-
b4f20 3e 63 72 65 61 74 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2c 20 27 43 6f 6d 70 6f 73 >createPackage($package,.'Compos
b4f40 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 27 29 29 3b 0a 7d er\Package\CompletePackage'));.}
b4f60 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 61 63 6b .}.......public.function.addPack
b4f80 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b age(PackageInterface.$package).{
b4fa0 0a 70 61 72 65 6e 74 3a 3a 61 64 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 .parent::addPackage($package);.$
b4fc0 74 68 69 73 2d 3e 63 6f 6e 66 69 67 75 72 65 50 61 63 6b 61 67 65 54 72 61 6e 73 70 6f 72 74 4f this->configurePackageTransportO
b4fe0 70 74 69 6f 6e 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 ptions($package);.}..protected.f
b5000 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 28 29 0a 7b 0a 69 unction.loadRootServerFile().{.i
b5020 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 44 61 74 61 29 20 7b 0a 72 f.(null.!==.$this->rootData).{.r
b5040 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 44 61 74 61 3b 0a 7d 0a 0a 69 66 20 28 21 65 eturn.$this->rootData;.}..if.(!e
b5060 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 26 26 20 27 68 xtension_loaded('openssl').&&.'h
b5080 74 74 70 73 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 30 2c 20 ttps'.===.substr($this->url,.0,.
b50a0 35 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 5)).{.throw.new.\RuntimeExceptio
b50c0 6e 28 27 59 6f 75 20 6d 75 73 74 20 65 6e 61 62 6c 65 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 65 n('You.must.enable.the.openssl.e
b50e0 78 74 65 6e 73 69 6f 6e 20 69 6e 20 79 6f 75 72 20 70 68 70 2e 69 6e 69 20 74 6f 20 6c 6f 61 64 xtension.in.your.php.ini.to.load
b5100 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 29 3b .information.from.'.$this->url);
b5120 0a 7d 0a 0a 24 6a 73 6f 6e 55 72 6c 50 61 72 74 73 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 .}..$jsonUrlParts.=.parse_url($t
b5140 68 69 73 2d 3e 75 72 6c 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6a 73 6f 6e 55 72 6c 50 61 his->url);..if.(isset($jsonUrlPa
b5160 72 74 73 5b 27 70 61 74 68 27 5d 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 rts['path']).&&.false.!==.strpos
b5180 28 24 6a 73 6f 6e 55 72 6c 50 61 72 74 73 5b 27 70 61 74 68 27 5d 2c 20 27 2e 6a 73 6f 6e 27 29 ($jsonUrlParts['path'],.'.json')
b51a0 29 20 7b 0a 24 6a 73 6f 6e 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 20 65 6c 73 ).{.$jsonUrl.=.$this->url;.}.els
b51c0 65 20 7b 0a 24 6a 73 6f 6e 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 20 2e 20 27 2f 70 61 e.{.$jsonUrl.=.$this->url...'/pa
b51e0 63 6b 61 67 65 73 2e 6a 73 6f 6e 27 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e ckages.json';.}..$data.=.$this->
b5200 66 65 74 63 68 46 69 6c 65 28 24 6a 73 6f 6e 55 72 6c 2c 20 27 70 61 63 6b 61 67 65 73 2e 6a 73 fetchFile($jsonUrl,.'packages.js
b5220 6f 6e 27 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 6e 6f 74 69 66 79 2d on');..if.(!empty($data['notify-
b5240 62 61 74 63 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 55 72 6c 20 3d 20 24 batch'])).{.$this->notifyUrl.=.$
b5260 74 68 69 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 5b 27 6e 6f 74 this->canonicalizeUrl($data['not
b5280 69 66 79 2d 62 61 74 63 68 27 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 65 6d 70 74 79 28 24 ify-batch']);.}.elseif.(!empty($
b52a0 64 61 74 61 5b 27 6e 6f 74 69 66 79 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 data['notify'])).{.$this->notify
b52c0 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 64 61 Url.=.$this->canonicalizeUrl($da
b52e0 74 61 5b 27 6e 6f 74 69 66 79 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 ta['notify']);.}..if.(!empty($da
b5300 74 61 5b 27 73 65 61 72 63 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 61 72 63 68 55 72 ta['search'])).{.$this->searchUr
b5320 6c 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 l.=.$this->canonicalizeUrl($data
b5340 5b 27 73 65 61 72 63 68 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 ['search']);.}..if.(!empty($data
b5360 5b 27 6d 69 72 72 6f 72 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 5b 27 ['mirrors'])).{.foreach.($data['
b5380 6d 69 72 72 6f 72 73 27 5d 20 61 73 20 24 6d 69 72 72 6f 72 29 20 7b 0a 69 66 20 28 21 65 6d 70 mirrors'].as.$mirror).{.if.(!emp
b53a0 74 79 28 24 6d 69 72 72 6f 72 5b 27 67 69 74 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d ty($mirror['git-url'])).{.$this-
b53c0 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 5b 27 67 69 74 27 5d 5b 5d 20 3d 20 61 72 72 61 79 28 >sourceMirrors['git'][].=.array(
b53e0 27 75 72 6c 27 20 3d 3e 20 24 6d 69 72 72 6f 72 5b 27 67 69 74 2d 75 72 6c 27 5d 2c 20 27 70 72 'url'.=>.$mirror['git-url'],.'pr
b5400 65 66 65 72 72 65 64 27 20 3d 3e 20 21 65 6d 70 74 79 28 24 6d 69 72 72 6f 72 5b 27 70 72 65 66 eferred'.=>.!empty($mirror['pref
b5420 65 72 72 65 64 27 5d 29 29 3b 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 69 72 72 6f 72 5b erred']));.}.if.(!empty($mirror[
b5440 27 68 67 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 72 6f 'hg-url'])).{.$this->sourceMirro
b5460 72 73 5b 27 68 67 27 5d 5b 5d 20 3d 20 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 6d 69 72 rs['hg'][].=.array('url'.=>.$mir
b5480 72 6f 72 5b 27 68 67 2d 75 72 6c 27 5d 2c 20 27 70 72 65 66 65 72 72 65 64 27 20 3d 3e 20 21 65 ror['hg-url'],.'preferred'.=>.!e
b54a0 6d 70 74 79 28 24 6d 69 72 72 6f 72 5b 27 70 72 65 66 65 72 72 65 64 27 5d 29 29 3b 0a 7d 0a 69 mpty($mirror['preferred']));.}.i
b54c0 66 20 28 21 65 6d 70 74 79 28 24 6d 69 72 72 6f 72 5b 27 64 69 73 74 2d 75 72 6c 27 5d 29 29 20 f.(!empty($mirror['dist-url'])).
b54e0 7b 0a 24 74 68 69 73 2d 3e 64 69 73 74 4d 69 72 72 6f 72 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a {.$this->distMirrors[].=.array(.
b5500 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 'url'.=>.$this->canonicalizeUrl(
b5520 24 6d 69 72 72 6f 72 5b 27 64 69 73 74 2d 75 72 6c 27 5d 29 2c 0a 27 70 72 65 66 65 72 72 65 64 $mirror['dist-url']),.'preferred
b5540 27 20 3d 3e 20 21 65 6d 70 74 79 28 24 6d 69 72 72 6f 72 5b 27 70 72 65 66 65 72 72 65 64 27 5d '.=>.!empty($mirror['preferred']
b5560 29 2c 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 ),.);.}.}.}..if.(!empty($data['p
b5580 72 6f 76 69 64 65 72 73 2d 6c 61 7a 79 2d 75 72 6c 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6c roviders-lazy-url'])).{.$this->l
b55a0 61 7a 79 50 72 6f 76 69 64 65 72 73 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 6f 6e 69 63 azyProvidersUrl.=.$this->canonic
b55c0 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 2d 6c 61 7a 79 2d 75 alizeUrl($data['providers-lazy-u
b55e0 72 6c 27 5d 29 3b 0a 24 74 68 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 73 20 3d 20 74 72 75 rl']);.$this->hasProviders.=.tru
b5600 65 3b 0a 0a 24 74 68 69 73 2d 3e 68 61 73 50 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 20 3d 20 e;..$this->hasPartialPackages.=.
b5620 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 20 26 26 20 69 73 5f !empty($data['packages']).&&.is_
b5640 61 72 72 61 79 28 24 64 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 3b 0a 7d 0a 0a 69 66 20 array($data['packages']);.}..if.
b5660 28 24 74 68 69 73 2d 3e 61 6c 6c 6f 77 53 73 6c 44 6f 77 6e 67 72 61 64 65 29 20 7b 0a 24 74 68 ($this->allowSslDowngrade).{.$th
b5680 69 73 2d 3e 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 68 74 74 70 73 3a 2f 2f 27 is->url.=.str_replace('https://'
b56a0 2c 20 27 68 74 74 70 3a 2f 2f 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 24 74 68 69 73 2d ,.'http://',.$this->url);.$this-
b56c0 3e 62 61 73 65 55 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 68 74 74 70 73 3a 2f 2f >baseUrl.=.str_replace('https://
b56e0 27 2c 20 27 68 74 74 70 3a 2f 2f 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 29 3b 0a 7d ',.'http://',.$this->baseUrl);.}
b5700 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 2d 75 72 ..if.(!empty($data['providers-ur
b5720 6c 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 72 6c 20 3d 20 24 74 l'])).{.$this->providersUrl.=.$t
b5740 68 69 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 64 61 74 61 5b 27 70 72 6f 76 his->canonicalizeUrl($data['prov
b5760 69 64 65 72 73 2d 75 72 6c 27 5d 29 3b 0a 24 74 68 69 73 2d 3e 68 61 73 50 72 6f 76 69 64 65 72 iders-url']);.$this->hasProvider
b5780 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 s.=.true;.}..if.(!empty($data['p
b57a0 72 6f 76 69 64 65 72 73 27 5d 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 72 6f roviders']).||.!empty($data['pro
b57c0 76 69 64 65 72 73 2d 69 6e 63 6c 75 64 65 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 68 61 73 viders-includes'])).{.$this->has
b57e0 50 72 6f 76 69 64 65 72 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f Providers.=.true;.}....if.(preg_
b5800 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 72 65 70 6f 5c 2e 70 61 63 6b 61 67 69 73 match('{^https?://repo\.packagis
b5820 74 5c 2e 6f 72 67 2f 3f 24 7d 69 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 20 26 26 20 21 65 6d t\.org/?$}i',.$this->url).&&.!em
b5840 70 74 79 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 66 6f 72 63 65 2d 6c 61 7a pty($this->repoConfig['force-laz
b5860 79 2d 70 72 6f 76 69 64 65 72 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 27 y-providers'])).{.$this->url.=.'
b5880 68 74 74 70 73 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 3b 0a 24 74 68 https://repo.packagist.org';.$th
b58a0 69 73 2d 3e 62 61 73 65 55 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b is->baseUrl.=.'https://repo.pack
b58c0 61 67 69 73 74 2e 6f 72 67 27 3b 0a 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 65 72 73 agist.org';.$this->lazyProviders
b58e0 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 27 68 74 Url.=.$this->canonicalizeUrl('ht
b5900 74 70 73 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 2f 70 2f 25 70 61 63 6b tps://repo.packagist.org/p/%pack
b5920 61 67 65 25 2e 6a 73 6f 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 72 6c age%.json');.$this->providersUrl
b5940 20 3d 20 6e 75 6c 6c 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d .=.null;.}.elseif.(!empty($this-
b5960 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 66 6f 72 63 65 2d 6c 61 7a 79 2d 70 72 6f 76 69 64 65 72 >repoConfig['force-lazy-provider
b5980 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 61 7a 79 50 72 6f 76 69 64 65 72 73 55 72 6c 20 s'])).{.$this->lazyProvidersUrl.
b59a0 3d 20 24 74 68 69 73 2d 3e 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 27 2f 70 2f 25 70 61 =.$this->canonicalizeUrl('/p/%pa
b59c0 63 6b 61 67 65 25 2e 6a 73 6f 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 ckage%.json');.$this->providersU
b59e0 72 6c 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 rl.=.null;.}..return.$this->root
b5a00 44 61 74 61 20 3d 20 24 64 61 74 61 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 Data.=.$data;.}..protected.funct
b5a20 69 6f 6e 20 63 61 6e 6f 6e 69 63 61 6c 69 7a 65 55 72 6c 28 24 75 72 6c 29 0a 7b 0a 69 66 20 28 ion.canonicalizeUrl($url).{.if.(
b5a40 27 2f 27 20 3d 3d 3d 20 24 75 72 6c 5b 30 5d 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 '/'.===.$url[0]).{.if.(preg_matc
b5a60 68 28 27 7b 5e 5b 5e 3a 5d 2b 2b 3a 2f 2f 5b 5e 2f 5d 2a 2b 7d 27 2c 20 24 74 68 69 73 2d 3e 75 h('{^[^:]++://[^/]*+}',.$this->u
b5a80 72 6c 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 rl,.$matches)).{.return.$matches
b5aa0 5b 30 5d 20 2e 20 24 75 72 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 6c [0]...$url;.}..return.$this->url
b5ac0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 6c 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 ;.}..return.$url;.}..protected.f
b5ae0 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 44 61 74 61 46 72 6f 6d 53 65 72 76 65 72 28 29 0a 7b 0a 24 unction.loadDataFromServer().{.$
b5b00 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 65 72 76 65 72 46 69 6c 65 data.=.$this->loadRootServerFile
b5b20 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 61 64 49 6e 63 6c 75 64 65 73 28 ();..return.$this->loadIncludes(
b5b40 24 64 61 74 61 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c 6f $data);.}..protected.function.lo
b5b60 61 64 50 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 73 28 24 64 61 74 61 29 0a 7b 0a 69 66 20 28 adProviderListings($data).{.if.(
b5b80 69 73 73 65 74 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 27 5d 29 29 20 7b 0a 69 66 20 isset($data['providers'])).{.if.
b5ba0 28 21 69 73 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e (!is_array($this->providerListin
b5bc0 67 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 20 3d 20 61 g)).{.$this->providerListing.=.a
b5be0 72 72 61 79 28 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 rray();.}.$this->providerListing
b5c00 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 4c 69 .=.array_merge($this->providerLi
b5c20 73 74 69 6e 67 2c 20 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 73 27 5d 29 3b 0a 7d 0a 0a 69 sting,.$data['providers']);.}..i
b5c40 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 76 69 64 65 72 73 55 72 6c 20 26 26 20 69 73 73 65 74 28 f.($this->providersUrl.&&.isset(
b5c60 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 2d 69 6e 63 6c 75 64 65 73 27 5d 29 29 20 7b 0a 24 $data['provider-includes'])).{.$
b5c80 69 6e 63 6c 75 64 65 73 20 3d 20 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 2d 69 6e 63 6c 75 includes.=.$data['provider-inclu
b5ca0 64 65 73 27 5d 3b 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 63 6c 75 64 65 73 20 61 73 20 24 69 6e des'];.foreach.($includes.as.$in
b5cc0 63 6c 75 64 65 20 3d 3e 20 24 6d 65 74 61 64 61 74 61 29 20 7b 0a 24 75 72 6c 20 3d 20 24 74 68 clude.=>.$metadata).{.$url.=.$th
b5ce0 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 27 2f 27 20 2e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 is->baseUrl...'/'...str_replace(
b5d00 27 25 68 61 73 68 25 27 2c 20 24 6d 65 74 61 64 61 74 61 5b 27 73 68 61 32 35 36 27 5d 2c 20 24 '%hash%',.$metadata['sha256'],.$
b5d20 69 6e 63 6c 75 64 65 29 3b 0a 24 63 61 63 68 65 4b 65 79 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 include);.$cacheKey.=.str_replac
b5d40 65 28 61 72 72 61 79 28 27 25 68 61 73 68 25 27 2c 27 24 27 29 2c 20 27 27 2c 20 24 69 6e 63 6c e(array('%hash%','$'),.'',.$incl
b5d60 75 64 65 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 73 68 61 32 35 36 28 24 ude);.if.($this->cache->sha256($
b5d80 63 61 63 68 65 4b 65 79 29 20 3d 3d 3d 20 24 6d 65 74 61 64 61 74 61 5b 27 73 68 61 32 35 36 27 cacheKey).===.$metadata['sha256'
b5da0 5d 29 20 7b 0a 24 69 6e 63 6c 75 64 65 64 44 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 ]).{.$includedData.=.json_decode
b5dc0 28 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 63 61 63 68 65 4b 65 79 29 2c 20 ($this->cache->read($cacheKey),.
b5de0 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 63 6c 75 64 65 64 44 61 74 61 20 3d 20 true);.}.else.{.$includedData.=.
b5e00 24 74 68 69 73 2d 3e 66 65 74 63 68 46 69 6c 65 28 24 75 72 6c 2c 20 24 63 61 63 68 65 4b 65 79 $this->fetchFile($url,.$cacheKey
b5e20 2c 20 24 6d 65 74 61 64 61 74 61 5b 27 73 68 61 32 35 36 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 ,.$metadata['sha256']);.}..$this
b5e40 2d 3e 6c 6f 61 64 50 72 6f 76 69 64 65 72 4c 69 73 74 69 6e 67 73 28 24 69 6e 63 6c 75 64 65 64 ->loadProviderListings($included
b5e60 44 61 74 61 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e Data);.}.}.}..protected.function
b5e80 20 6c 6f 61 64 49 6e 63 6c 75 64 65 73 28 24 64 61 74 61 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 .loadIncludes($data).{.$packages
b5ea0 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 64 61 74 61 5b .=.array();....if.(!isset($data[
b5ec0 27 70 61 63 6b 61 67 65 73 27 5d 29 20 26 26 20 21 69 73 73 65 74 28 24 64 61 74 61 5b 27 69 6e 'packages']).&&.!isset($data['in
b5ee0 63 6c 75 64 65 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 20 61 73 20 24 cludes'])).{.foreach.($data.as.$
b5f00 70 6b 67 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 6b 67 5b 27 76 65 72 73 69 6f 6e 73 27 5d pkg).{.foreach.($pkg['versions']
b5f20 20 61 73 20 24 6d 65 74 61 64 61 74 61 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 .as.$metadata).{.$packages[].=.$
b5f40 6d 65 74 61 64 61 74 61 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b metadata;.}.}..return.$packages;
b5f60 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 .}..if.(isset($data['packages'])
b5f80 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 20 61 ).{.foreach.($data['packages'].a
b5fa0 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 73 29 20 7b 0a 66 6f 72 65 61 s.$package.=>.$versions).{.forea
b5fc0 63 68 20 28 24 76 65 72 73 69 6f 6e 73 20 61 73 20 24 76 65 72 73 69 6f 6e 20 3d 3e 20 24 6d 65 ch.($versions.as.$version.=>.$me
b5fe0 74 61 64 61 74 61 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 6d 65 74 61 64 61 74 tadata).{.$packages[].=.$metadat
b6000 61 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 69 6e 63 6c 75 a;.}.}.}..if.(isset($data['inclu
b6020 64 65 73 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 5b 27 69 6e 63 6c 75 64 des'])).{.foreach.($data['includ
b6040 65 73 27 5d 20 61 73 20 24 69 6e 63 6c 75 64 65 20 3d 3e 20 24 6d 65 74 61 64 61 74 61 29 20 7b es'].as.$include.=>.$metadata).{
b6060 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 73 68 61 31 28 24 69 6e 63 6c 75 64 65 .if.($this->cache->sha1($include
b6080 29 20 3d 3d 3d 20 24 6d 65 74 61 64 61 74 61 5b 27 73 68 61 31 27 5d 29 20 7b 0a 24 69 6e 63 6c ).===.$metadata['sha1']).{.$incl
b60a0 75 64 65 64 44 61 74 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 74 68 69 73 2d 3e 63 61 udedData.=.json_decode($this->ca
b60c0 63 68 65 2d 3e 72 65 61 64 28 24 69 6e 63 6c 75 64 65 29 2c 20 74 72 75 65 29 3b 0a 7d 20 65 6c che->read($include),.true);.}.el
b60e0 73 65 20 7b 0a 24 69 6e 63 6c 75 64 65 64 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 66 65 74 63 se.{.$includedData.=.$this->fetc
b6100 68 46 69 6c 65 28 24 69 6e 63 6c 75 64 65 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 hFile($include);.}.$packages.=.a
b6120 72 72 61 79 5f 6d 65 72 67 65 28 24 70 61 63 6b 61 67 65 73 2c 20 24 74 68 69 73 2d 3e 6c 6f 61 rray_merge($packages,.$this->loa
b6140 64 49 6e 63 6c 75 64 65 73 28 24 69 6e 63 6c 75 64 65 64 44 61 74 61 29 29 3b 0a 7d 0a 7d 0a 0a dIncludes($includedData));.}.}..
b6160 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 return.$packages;.}..protected.f
b6180 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 50 61 63 6b 61 67 65 28 61 72 72 61 79 20 24 64 61 74 unction.createPackage(array.$dat
b61a0 61 2c 20 24 63 6c 61 73 73 20 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f a,.$class.=.'Composer\Package\Co
b61c0 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 27 29 0a 7b 0a 74 72 79 20 7b 0a 69 66 20 28 21 69 73 73 mpletePackage').{.try.{.if.(!iss
b61e0 65 74 28 24 64 61 74 61 5b 27 6e 6f 74 69 66 69 63 61 74 69 6f 6e 2d 75 72 6c 27 5d 29 29 20 7b et($data['notification-url'])).{
b6200 0a 24 64 61 74 61 5b 27 6e 6f 74 69 66 69 63 61 74 69 6f 6e 2d 75 72 6c 27 5d 20 3d 20 24 74 68 .$data['notification-url'].=.$th
b6220 69 73 2d 3e 6e 6f 74 69 66 79 55 72 6c 3b 0a 7d 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 is->notifyUrl;.}..$package.=.$th
b6240 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 64 61 74 61 2c 20 24 63 6c 61 73 73 29 3b is->loader->load($data,.$class);
b6260 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 5b .if.(isset($this->sourceMirrors[
b6280 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 63 65 54 79 70 65 28 29 5d 29 29 20 7b 0a 24 $package->getSourceType()])).{.$
b62a0 70 61 63 6b 61 67 65 2d 3e 73 65 74 53 6f 75 72 63 65 4d 69 72 72 6f 72 73 28 24 74 68 69 73 2d package->setSourceMirrors($this-
b62c0 3e 73 6f 75 72 63 65 4d 69 72 72 6f 72 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 53 6f 75 72 >sourceMirrors[$package->getSour
b62e0 63 65 54 79 70 65 28 29 5d 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 74 4d ceType()]);.}.$package->setDistM
b6300 69 72 72 6f 72 73 28 24 74 68 69 73 2d 3e 64 69 73 74 4d 69 72 72 6f 72 73 29 3b 0a 24 74 68 69 irrors($this->distMirrors);.$thi
b6320 73 2d 3e 63 6f 6e 66 69 67 75 72 65 50 61 63 6b 61 67 65 54 72 61 6e 73 70 6f 72 74 4f 70 74 69 s->configurePackageTransportOpti
b6340 6f 6e 73 28 24 70 61 63 6b 61 67 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b ons($package);..return.$package;
b6360 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 .}.catch.(\Exception.$e).{.throw
b6380 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f .new.\RuntimeException('Could.no
b63a0 74 20 6c 6f 61 64 20 70 61 63 6b 61 67 65 20 27 2e 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 6e t.load.package.'.(isset($data['n
b63c0 61 6d 65 27 5d 29 20 3f 20 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3a 20 6a 73 6f 6e 5f 65 6e ame']).?.$data['name'].:.json_en
b63e0 63 6f 64 65 28 24 64 61 74 61 29 29 2e 27 20 69 6e 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 code($data)).'.in.'.$this->url.'
b6400 3a 20 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 29 2e 27 5d 20 27 2e 24 65 2d 3e 67 65 74 4d :.['.get_class($e).'].'.$e->getM
b6420 65 73 73 61 67 65 28 29 2c 20 30 2c 20 24 65 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 essage(),.0,.$e);.}.}..protected
b6440 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 46 69 6c 65 28 24 66 69 6c 65 6e 61 6d 65 2c 20 24 .function.fetchFile($filename,.$
b6460 63 61 63 68 65 4b 65 79 20 3d 20 6e 75 6c 6c 2c 20 24 73 68 61 32 35 36 20 3d 20 6e 75 6c 6c 2c cacheKey.=.null,.$sha256.=.null,
b6480 20 24 73 74 6f 72 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 54 69 6d 65 20 3d 20 66 61 6c 73 65 29 .$storeLastModifiedTime.=.false)
b64a0 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 61 63 68 65 4b 65 79 29 20 7b 0a 24 63 61 .{.if.(null.===.$cacheKey).{.$ca
b64c0 63 68 65 4b 65 79 20 3d 20 24 66 69 6c 65 6e 61 6d 65 3b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 cheKey.=.$filename;.$filename.=.
b64e0 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 2e 27 2f 27 2e 24 66 69 6c 65 6e 61 6d 65 3b 0a 7d 0a $this->baseUrl.'/'.$filename;.}.
b6500 0a 0a 20 69 66 20 28 28 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 66 69 6c 65 6e 61 6d 65 2c ...if.(($pos.=.strpos($filename,
b6520 20 27 24 27 29 29 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f .'$')).&&.preg_match('{^https?:/
b6540 2f 2e 2a 7d 69 27 2c 20 24 66 69 6c 65 6e 61 6d 65 29 29 20 7b 0a 24 66 69 6c 65 6e 61 6d 65 20 /.*}i',.$filename)).{.$filename.
b6560 3d 20 73 75 62 73 74 72 28 24 66 69 6c 65 6e 61 6d 65 2c 20 30 2c 20 24 70 6f 73 29 20 2e 20 27 =.substr($filename,.0,.$pos)...'
b6580 25 32 34 27 20 2e 20 73 75 62 73 74 72 28 24 66 69 6c 65 6e 61 6d 65 2c 20 24 70 6f 73 20 2b 20 %24'...substr($filename,.$pos.+.
b65a0 31 29 3b 0a 7d 0a 0a 24 72 65 74 72 69 65 73 20 3d 20 33 3b 0a 77 68 69 6c 65 20 28 24 72 65 74 1);.}..$retries.=.3;.while.($ret
b65c0 72 69 65 73 2d 2d 29 20 7b 0a 74 72 79 20 7b 0a 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 ries--).{.try.{.$preFileDownload
b65e0 45 76 65 6e 74 20 3d 20 6e 65 77 20 50 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 Event.=.new.PreFileDownloadEvent
b6600 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 50 52 45 5f 46 49 4c 45 5f 44 4f 57 4e 4c 4f 41 44 (PluginEvents::PRE_FILE_DOWNLOAD
b6620 2c 20 24 74 68 69 73 2d 3e 72 66 73 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 69 66 20 28 24 74 ,.$this->rfs,.$filename);.if.($t
b6640 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 65 his->eventDispatcher).{.$this->e
b6660 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 28 24 70 72 65 46 69 6c ventDispatcher->dispatch($preFil
b6680 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 70 72 65 46 eDownloadEvent->getName(),.$preF
b66a0 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 29 3b 0a 7d 0a 0a 24 6f 72 69 67 69 6e 20 3d 20 ileDownloadEvent);.}..$origin.=.
b66c0 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3a 3a 67 65 74 4f 72 69 67 69 6e 28 24 66 69 6c RemoteFilesystem::getOrigin($fil
b66e0 65 6e 61 6d 65 29 3b 0a 24 72 66 73 20 3d 20 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 ename);.$rfs.=.$preFileDownloadE
b6700 76 65 6e 74 2d 3e 67 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 0a 24 6a vent->getRemoteFilesystem();..$j
b6720 73 6f 6e 20 3d 20 24 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 2c son.=.$rfs->getContents($origin,
b6740 20 24 66 69 6c 65 6e 61 6d 65 2c 20 66 61 6c 73 65 29 3b 0a 69 66 20 28 24 73 68 61 32 35 36 20 .$filename,.false);.if.($sha256.
b6760 26 26 20 24 73 68 61 32 35 36 20 21 3d 3d 20 68 61 73 68 28 27 73 68 61 32 35 36 27 2c 20 24 6a &&.$sha256.!==.hash('sha256',.$j
b6780 73 6f 6e 29 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 61 6c 6c 6f 77 53 73 6c 44 6f 77 son)).{...if.($this->allowSslDow
b67a0 6e 67 72 61 64 65 29 20 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c 61 ngrade).{.$this->url.=.str_repla
b67c0 63 65 28 27 68 74 74 70 3a 2f 2f 27 2c 20 27 68 74 74 70 73 3a 2f 2f 27 2c 20 24 74 68 69 73 2d ce('http://',.'https://',.$this-
b67e0 3e 75 72 6c 29 3b 0a 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 3d 20 73 74 72 5f 72 65 70 6c >url);.$this->baseUrl.=.str_repl
b6800 61 63 65 28 27 68 74 74 70 3a 2f 2f 27 2c 20 27 68 74 74 70 73 3a 2f 2f 27 2c 20 24 74 68 69 73 ace('http://',.'https://',.$this
b6820 2d 3e 62 61 73 65 55 72 6c 29 3b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 73 74 72 5f 72 65 70 6c ->baseUrl);.$filename.=.str_repl
b6840 61 63 65 28 27 68 74 74 70 3a 2f 2f 27 2c 20 27 68 74 74 70 73 3a 2f 2f 27 2c 20 24 66 69 6c 65 ace('http://',.'https://',.$file
b6860 6e 61 6d 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 74 72 69 65 73 29 20 7b 0a 75 73 6c 65 65 70 name);.}..if.($retries).{.usleep
b6880 28 31 30 30 30 30 30 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 74 68 72 6f 77 20 (100000);..continue;.}....throw.
b68a0 6e 65 77 20 52 65 70 6f 73 69 74 6f 72 79 53 65 63 75 72 69 74 79 45 78 63 65 70 74 69 6f 6e 28 new.RepositorySecurityException(
b68c0 27 54 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 27 2e 24 66 69 6c 65 6e 61 6d 65 2e 27 20 64 'The.contents.of.'.$filename.'.d
b68e0 6f 20 6e 6f 74 20 6d 61 74 63 68 20 69 74 73 20 73 69 67 6e 61 74 75 72 65 2e 20 54 68 69 73 20 o.not.match.its.signature..This.
b6900 63 6f 75 6c 64 20 69 6e 64 69 63 61 74 65 20 61 20 6d 61 6e 2d 69 6e 2d 74 68 65 2d 6d 69 64 64 could.indicate.a.man-in-the-midd
b6920 6c 65 20 61 74 74 61 63 6b 20 6f 72 20 65 2e 67 2e 20 61 6e 74 69 76 69 72 75 73 20 73 6f 66 74 le.attack.or.e.g..antivirus.soft
b6940 77 61 72 65 20 63 6f 72 72 75 70 74 69 6e 67 20 66 69 6c 65 73 2e 20 54 72 79 20 72 75 6e 6e 69 ware.corrupting.files..Try.runni
b6960 6e 67 20 63 6f 6d 70 6f 73 65 72 20 61 67 61 69 6e 20 61 6e 64 20 72 65 70 6f 72 74 20 74 68 69 ng.composer.again.and.report.thi
b6980 73 20 69 66 20 79 6f 75 20 74 68 69 6e 6b 20 69 74 20 69 73 20 61 20 6d 69 73 74 61 6b 65 2e 27 s.if.you.think.it.is.a.mistake.'
b69a0 29 3b 0a 7d 0a 0a 24 64 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f );.}..$data.=.JsonFile::parseJso
b69c0 6e 28 24 6a 73 6f 6e 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 52 65 6d 6f 74 65 46 69 6c 65 73 n($json,.$filename);.RemoteFiles
b69e0 79 73 74 65 6d 3a 3a 6f 75 74 70 75 74 57 61 72 6e 69 6e 67 73 28 24 74 68 69 73 2d 3e 69 6f 2c ystem::outputWarnings($this->io,
b6a00 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 64 61 74 61 29 3b 0a 0a 69 66 20 28 24 63 61 63 68 65 .$this->url,.$data);..if.($cache
b6a20 4b 65 79 29 20 7b 0a 69 66 20 28 24 73 74 6f 72 65 4c 61 73 74 4d 6f 64 69 66 69 65 64 54 69 6d Key).{.if.($storeLastModifiedTim
b6a40 65 29 20 7b 0a 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 44 61 74 65 20 3d 20 24 72 66 73 2d 3e 66 e).{.$lastModifiedDate.=.$rfs->f
b6a60 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 72 66 73 2d 3e 67 65 74 4c 61 73 74 48 65 61 64 indHeaderValue($rfs->getLastHead
b6a80 65 72 73 28 29 2c 20 27 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 27 29 3b 0a 69 66 20 28 24 6c 61 ers(),.'last-modified');.if.($la
b6aa0 73 74 4d 6f 64 69 66 69 65 64 44 61 74 65 29 20 7b 0a 24 64 61 74 61 5b 27 6c 61 73 74 2d 6d 6f stModifiedDate).{.$data['last-mo
b6ac0 64 69 66 69 65 64 27 5d 20 3d 20 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 44 61 74 65 3b 0a 24 6a dified'].=.$lastModifiedDate;.$j
b6ae0 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 64 61 74 61 29 3b 0a 7d 0a 7d 0a 24 74 son.=.json_encode($data);.}.}.$t
b6b00 68 69 73 2d 3e 63 61 63 68 65 2d 3e 77 72 69 74 65 28 24 63 61 63 68 65 4b 65 79 2c 20 24 6a 73 his->cache->write($cacheKey,.$js
b6b20 6f 6e 29 3b 0a 7d 0a 0a 62 72 65 61 6b 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 on);.}..break;.}.catch.(\Excepti
b6b40 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 on.$e).{.if.($e.instanceof.Trans
b6b60 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 26 26 20 24 65 2d 3e 67 65 74 53 74 61 74 75 73 43 6f portException.&&.$e->getStatusCo
b6b80 64 65 28 29 20 3d 3d 3d 20 34 30 34 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 de().===.404).{.throw.$e;.}..if.
b6ba0 28 24 72 65 74 72 69 65 73 29 20 7b 0a 75 73 6c 65 65 70 28 31 30 30 30 30 30 29 3b 0a 63 6f 6e ($retries).{.usleep(100000);.con
b6bc0 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 52 65 70 6f tinue;.}..if.($e.instanceof.Repo
b6be0 73 69 74 6f 72 79 53 65 63 75 72 69 74 79 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 sitorySecurityException).{.throw
b6c00 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 63 61 63 68 65 4b 65 79 20 26 26 20 28 24 63 6f 6e 74 65 .$e;.}..if.($cacheKey.&&.($conte
b6c20 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 63 61 63 68 65 4b nts.=.$this->cache->read($cacheK
b6c40 65 79 29 29 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 ey))).{.if.(!$this->degradedMode
b6c60 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e ).{.$this->io->writeError('<warn
b6c80 69 6e 67 3e 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 77 61 72 6e 69 6e ing>'.$e->getMessage().'</warnin
b6ca0 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 g>');.$this->io->writeError('<wa
b6cc0 72 6e 69 6e 67 3e 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 rning>'.$this->url.'.could.not.b
b6ce0 65 20 66 75 6c 6c 79 20 6c 6f 61 64 65 64 2c 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 e.fully.loaded,.package.informat
b6d00 69 6f 6e 20 77 61 73 20 6c 6f 61 64 65 64 20 66 72 6f 6d 20 74 68 65 20 6c 6f 63 61 6c 20 63 61 ion.was.loaded.from.the.local.ca
b6d20 63 68 65 20 61 6e 64 20 6d 61 79 20 62 65 20 6f 75 74 20 6f 66 20 64 61 74 65 3c 2f 77 61 72 6e che.and.may.be.out.of.date</warn
b6d40 69 6e 67 3e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d 20 ing>');.}.$this->degradedMode.=.
b6d60 74 72 75 65 3b 0a 24 64 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f true;.$data.=.JsonFile::parseJso
b6d80 6e 28 24 63 6f 6e 74 65 6e 74 73 2c 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 67 65 74 52 6f n($contents,.$this->cache->getRo
b6da0 6f 74 28 29 2e 24 63 61 63 68 65 4b 65 79 29 3b 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 74 68 72 6f ot().$cacheKey);..break;.}..thro
b6dc0 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 0a 70 72 6f 74 w.$e;.}.}..return.$data;.}..prot
b6de0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 46 69 6c 65 49 66 4c 61 73 74 4d 6f ected.function.fetchFileIfLastMo
b6e00 64 69 66 69 65 64 28 24 66 69 6c 65 6e 61 6d 65 2c 20 24 63 61 63 68 65 4b 65 79 2c 20 24 6c 61 dified($filename,.$cacheKey,.$la
b6e20 73 74 4d 6f 64 69 66 69 65 64 54 69 6d 65 29 0a 7b 0a 24 72 65 74 72 69 65 73 20 3d 20 33 3b 0a stModifiedTime).{.$retries.=.3;.
b6e40 77 68 69 6c 65 20 28 24 72 65 74 72 69 65 73 2d 2d 29 20 7b 0a 74 72 79 20 7b 0a 24 70 72 65 46 while.($retries--).{.try.{.$preF
b6e60 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 20 3d 20 6e 65 77 20 50 72 65 46 69 6c 65 44 6f ileDownloadEvent.=.new.PreFileDo
b6e80 77 6e 6c 6f 61 64 45 76 65 6e 74 28 50 6c 75 67 69 6e 45 76 65 6e 74 73 3a 3a 50 52 45 5f 46 49 wnloadEvent(PluginEvents::PRE_FI
b6ea0 4c 45 5f 44 4f 57 4e 4c 4f 41 44 2c 20 24 74 68 69 73 2d 3e 72 66 73 2c 20 24 66 69 6c 65 6e 61 LE_DOWNLOAD,.$this->rfs,.$filena
b6ec0 6d 65 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 29 me);.if.($this->eventDispatcher)
b6ee0 20 7b 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 .{.$this->eventDispatcher->dispa
b6f00 74 63 68 28 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2d 3e 67 65 74 4e 61 tch($preFileDownloadEvent->getNa
b6f20 6d 65 28 29 2c 20 24 70 72 65 46 69 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 29 3b 0a 7d 0a me(),.$preFileDownloadEvent);.}.
b6f40 0a 24 6f 72 69 67 69 6e 20 3d 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3a 3a 67 65 74 .$origin.=.RemoteFilesystem::get
b6f60 4f 72 69 67 69 6e 28 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 24 72 66 73 20 3d 20 24 70 72 65 46 69 Origin($filename);.$rfs.=.$preFi
b6f80 6c 65 44 6f 77 6e 6c 6f 61 64 45 76 65 6e 74 2d 3e 67 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 leDownloadEvent->getRemoteFilesy
b6fa0 73 74 65 6d 28 29 3b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 27 68 74 74 70 27 20 stem();.$options.=.array('http'.
b6fc0 3d 3e 20 61 72 72 61 79 28 27 68 65 61 64 65 72 27 20 3d 3e 20 61 72 72 61 79 28 27 49 66 2d 4d =>.array('header'.=>.array('If-M
b6fe0 6f 64 69 66 69 65 64 2d 53 69 6e 63 65 3a 20 27 2e 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 54 69 odified-Since:.'.$lastModifiedTi
b7000 6d 65 29 29 29 3b 0a 24 6a 73 6f 6e 20 3d 20 24 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 me)));.$json.=.$rfs->getContents
b7020 28 24 6f 72 69 67 69 6e 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 66 61 6c 73 65 2c 20 24 6f 70 74 ($origin,.$filename,.false,.$opt
b7040 69 6f 6e 73 29 3b 0a 69 66 20 28 24 6a 73 6f 6e 20 3d 3d 3d 20 27 27 20 26 26 20 24 72 66 73 2d ions);.if.($json.===.''.&&.$rfs-
b7060 3e 66 69 6e 64 53 74 61 74 75 73 43 6f 64 65 28 24 72 66 73 2d 3e 67 65 74 4c 61 73 74 48 65 61 >findStatusCode($rfs->getLastHea
b7080 64 65 72 73 28 29 29 20 3d 3d 3d 20 33 30 34 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a ders()).===.304).{.return.true;.
b70a0 7d 0a 0a 24 64 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 }..$data.=.JsonFile::parseJson($
b70c0 6a 73 6f 6e 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 json,.$filename);.RemoteFilesyst
b70e0 65 6d 3a 3a 6f 75 74 70 75 74 57 61 72 6e 69 6e 67 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 em::outputWarnings($this->io,.$t
b7100 68 69 73 2d 3e 75 72 6c 2c 20 24 64 61 74 61 29 3b 0a 0a 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 his->url,.$data);..$lastModified
b7120 44 61 74 65 20 3d 20 24 72 66 73 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 72 66 Date.=.$rfs->findHeaderValue($rf
b7140 73 2d 3e 67 65 74 4c 61 73 74 48 65 61 64 65 72 73 28 29 2c 20 27 6c 61 73 74 2d 6d 6f 64 69 66 s->getLastHeaders(),.'last-modif
b7160 69 65 64 27 29 3b 0a 69 66 20 28 24 6c 61 73 74 4d 6f 64 69 66 69 65 64 44 61 74 65 29 20 7b 0a ied');.if.($lastModifiedDate).{.
b7180 24 64 61 74 61 5b 27 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 27 5d 20 3d 20 24 6c 61 73 74 4d 6f $data['last-modified'].=.$lastMo
b71a0 64 69 66 69 65 64 44 61 74 65 3b 0a 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 difiedDate;.$json.=.json_encode(
b71c0 24 64 61 74 61 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 77 72 69 74 65 28 24 63 $data);.}.$this->cache->write($c
b71e0 61 63 68 65 4b 65 79 2c 20 24 6a 73 6f 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a acheKey,.$json);..return.$data;.
b7200 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 }.catch.(\Exception.$e).{.if.($e
b7220 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 26 .instanceof.TransportException.&
b7240 26 20 24 65 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 20 3d 3d 3d 20 34 30 34 29 20 7b &.$e->getStatusCode().===.404).{
b7260 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 72 65 74 72 69 65 73 29 20 7b 0a 75 73 .throw.$e;.}..if.($retries).{.us
b7280 6c 65 65 70 28 31 30 30 30 30 30 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 leep(100000);.continue;.}..if.(!
b72a0 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f $this->degradedMode).{.$this->io
b72c0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 65 2d 3e 67 65 74 ->writeError('<warning>'.$e->get
b72e0 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e Message().'</warning>');.$this->
b7300 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 27 2e 24 74 68 69 73 io->writeError('<warning>'.$this
b7320 2d 3e 75 72 6c 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 75 6c 6c 79 20 6c 6f 61 64 65 ->url.'.could.not.be.fully.loade
b7340 64 2c 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 77 61 73 20 6c 6f 61 64 65 d,.package.information.was.loade
b7360 64 20 66 72 6f 6d 20 74 68 65 20 6c 6f 63 61 6c 20 63 61 63 68 65 20 61 6e 64 20 6d 61 79 20 62 d.from.the.local.cache.and.may.b
b7380 65 20 6f 75 74 20 6f 66 20 64 61 74 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 24 74 68 e.out.of.date</warning>');.}.$th
b73a0 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e is->degradedMode.=.true;..return
b73c0 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 .true;.}.}.}.......private.funct
b73e0 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 50 61 72 74 69 61 6c 50 61 63 6b 61 67 65 73 28 29 0a ion.initializePartialPackages().
b7400 7b 0a 24 72 6f 6f 74 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 52 6f 6f 74 53 65 72 {.$rootData.=.$this->loadRootSer
b7420 76 65 72 46 69 6c 65 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 verFile();..$this->partialPackag
b7440 65 73 42 79 4e 61 6d 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 6f esByName.=.array();.foreach.($ro
b7460 6f 74 44 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d otData['packages'].as.$package.=
b7480 3e 20 24 76 65 72 73 69 6f 6e 73 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 73 74 72 74 6f 6c >.$versions).{.$package.=.strtol
b74a0 6f 77 65 72 28 24 70 61 63 6b 61 67 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f ower($package);.foreach.($versio
b74c0 6e 73 20 61 73 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 74 69 61 6c ns.as.$version).{.$this->partial
b74e0 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 70 61 63 6b 61 67 65 5d 5b 5d 20 3d 20 24 76 65 PackagesByName[$package][].=.$ve
b7500 72 73 69 6f 6e 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 76 65 72 73 69 6f 6e 5b 27 70 72 6f 76 rsion;.if.(!empty($version['prov
b7520 69 64 65 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 76 65 72 73 69 6f 6e 5b 27 70 72 6f ide']).&&.is_array($version['pro
b7540 76 69 64 65 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 5b 27 70 72 vide'])).{.foreach.($version['pr
b7560 6f 76 69 64 65 27 5d 20 61 73 20 24 70 72 6f 76 69 64 65 64 20 3d 3e 20 24 70 72 6f 76 69 64 65 ovide'].as.$provided.=>.$provide
b7580 64 56 65 72 73 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 74 69 61 6c 50 61 63 6b 61 67 dVersion).{.$this->partialPackag
b75a0 65 73 42 79 4e 61 6d 65 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 72 6f 76 69 64 65 64 29 5d 5b esByName[strtolower($provided)][
b75c0 5d 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 28 24 76 65 ].=.$version;.}.}.if.(!empty($ve
b75e0 72 73 69 6f 6e 5b 27 72 65 70 6c 61 63 65 27 5d 29 20 26 26 20 69 73 5f 61 72 72 61 79 28 24 76 rsion['replace']).&&.is_array($v
b7600 65 72 73 69 6f 6e 5b 27 72 65 70 6c 61 63 65 27 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 ersion['replace'])).{.foreach.($
b7620 76 65 72 73 69 6f 6e 5b 27 72 65 70 6c 61 63 65 27 5d 20 61 73 20 24 70 72 6f 76 69 64 65 64 20 version['replace'].as.$provided.
b7640 3d 3e 20 24 70 72 6f 76 69 64 65 64 56 65 72 73 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 =>.$providedVersion).{.$this->pa
b7660 72 74 69 61 6c 50 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 rtialPackagesByName[strtolower($
b7680 70 72 6f 76 69 64 65 64 29 5d 5b 5d 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 7d 0a 7d provided)][].=.$version;.}.}.}.}
b76a0 0a 0a 0a 20 24 74 68 69 73 2d 3e 72 6f 6f 74 44 61 74 61 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a ....$this->rootData.=.true;.}.}.
b76c0 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
b76e0 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 ser\Repository;..use.Composer\Pa
b7700 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c ckage\PackageInterface;.......cl
b7720 61 73 73 20 43 6f 6d 70 6f 73 69 74 65 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 ass.CompositeRepository.extends.
b7740 42 61 73 65 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 65 BaseRepository.{.....private.$re
b7760 70 6f 73 69 74 6f 72 69 65 73 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e positories;......public.function
b7780 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 .__construct(array.$repositories
b77a0 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 61 72 72 61 79 28 ).{.$this->repositories.=.array(
b77c0 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 );.foreach.($repositories.as.$re
b77e0 70 6f 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f po).{.$this->addRepository($repo
b7800 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 );.}.}.......public.function.get
b7820 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 Repositories().{.return.$this->r
b7840 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 epositories;.}.....public.functi
b7860 6f 6e 20 68 61 73 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 on.hasPackage(PackageInterface.$
b7880 70 61 63 6b 61 67 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 package).{.foreach.($this->repos
b78a0 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 69 66 20 28 24 itories.as.$repository).{..if.($
b78c0 72 65 70 6f 73 69 74 6f 72 79 2d 3e 68 61 73 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 repository->hasPackage($package)
b78e0 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c ).{.return.true;.}.}..return.fal
b7900 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 se;.}.....public.function.findPa
b7920 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 66 6f 72 65 ckage($name,.$constraint).{.fore
b7940 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 ach.($this->repositories.as.$rep
b7960 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 72 65 70 6f 73 69 74 6f ository).{..$package.=.$reposito
b7980 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 ry->findPackage($name,.$constrai
b79a0 6e 74 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 72 65 nt);.if.(null.!==.$package).{.re
b79c0 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b turn.$package;.}.}..return.null;
b79e0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 .}.....public.function.findPacka
b7a00 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b ges($name,.$constraint.=.null).{
b7a20 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 .$packages.=.array();.foreach.($
b7a40 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 this->repositories.as.$repositor
b7a60 79 29 20 7b 0a 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d y).{..$packages[].=.$repository-
b7a80 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 >findPackages($name,.$constraint
b7aa0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 20 3f 20 63 61 6c 6c 5f 75 73 );.}..return.$packages.?.call_us
b7ac0 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 70 61 er_func_array('array_merge',.$pa
b7ae0 63 6b 61 67 65 73 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ckages).:.array();.}.....public.
b7b00 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 28 24 71 75 65 72 79 2c 20 24 6d 6f 64 65 20 3d 20 function.search($query,.$mode.=.
b7b20 30 2c 20 24 74 79 70 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6d 61 74 63 68 65 73 20 3d 20 61 72 0,.$type.=.null).{.$matches.=.ar
b7b40 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 ray();.foreach.($this->repositor
b7b60 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 6d 61 74 63 68 65 73 5b ies.as.$repository).{..$matches[
b7b80 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 73 65 61 72 63 68 28 24 71 75 65 72 79 2c 20 ].=.$repository->search($query,.
b7ba0 24 6d 6f 64 65 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 $mode,.$type);.}..return.$matche
b7bc0 73 20 3f 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 79 5f s.?.call_user_func_array('array_
b7be0 6d 65 72 67 65 27 2c 20 24 6d 61 74 63 68 65 73 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a merge',.$matches).:.array();.}..
b7c00 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 73 28 29 ...public.function.getPackages()
b7c20 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 .{.$packages.=.array();.foreach.
b7c40 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 ($this->repositories.as.$reposit
b7c60 6f 72 79 29 20 7b 0a 0a 24 70 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 ory).{..$packages[].=.$repositor
b7c80 79 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 y->getPackages();.}..return.$pac
b7ca0 6b 61 67 65 73 20 3f 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 kages.?.call_user_func_array('ar
b7cc0 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 70 61 63 6b 61 67 65 73 29 20 3a 20 61 72 72 61 79 28 29 ray_merge',.$packages).:.array()
b7ce0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 50 61 ;.}.....public.function.removePa
b7d00 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 ckage(PackageInterface.$package)
b7d20 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 .{.foreach.($this->repositories.
b7d40 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e as.$repository).{..$repository->
b7d60 72 65 6d 6f 76 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a removePackage($package);.}.}....
b7d80 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 28 29 0a 7b 0a 24 74 6f 74 61 .public.function.count().{.$tota
b7da0 6c 20 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 l.=.0;.foreach.($this->repositor
b7dc0 69 65 73 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 24 74 6f 74 61 6c 20 2b 3d ies.as.$repository).{..$total.+=
b7de0 20 24 72 65 70 6f 73 69 74 6f 72 79 2d 3e 63 6f 75 6e 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e .$repository->count();.}..return
b7e00 20 24 74 6f 74 61 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .$total;.}......public.function.
b7e20 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 addRepository(RepositoryInterfac
b7e40 65 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a 69 66 20 28 24 72 65 70 6f 73 69 74 6f 72 79 e.$repository).{.if.($repository
b7e60 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 .instanceof.self).{.foreach.($re
b7e80 70 6f 73 69 74 6f 72 79 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 20 61 73 20 24 pository->getRepositories().as.$
b7ea0 72 65 70 6f 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 repo).{.$this->addRepository($re
b7ec0 70 6f 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 po);.}.}.else.{.$this->repositor
b7ee0 69 65 73 5b 5d 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 ies[].=.$repository;.}.}.}.<?php
b7f00 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 ............namespace.Composer\R
b7f20 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6e 66 69 epository;.......interface.Confi
b7f40 67 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 gurableRepositoryInterface.{.pub
b7f60 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 3b 0a 7d 0a lic.function.getRepoConfig();.}.
b7f80 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
b7fa0 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 ser\Repository;..use.Composer\Js
b7fc0 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 on\JsonFile;.use.Composer\Packag
b7fe0 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 e\Loader\ArrayLoader;.use.Compos
b8000 65 72 5c 50 61 63 6b 61 67 65 5c 44 75 6d 70 65 72 5c 41 72 72 61 79 44 75 6d 70 65 72 3b 0a 0a er\Package\Dumper\ArrayDumper;..
b8020 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 ......class.FilesystemRepository
b8040 20 65 78 74 65 6e 64 73 20 57 72 69 74 61 62 6c 65 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 .extends.WritableArrayRepository
b8060 0a 7b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .{.private.$file;.......public.f
b8080 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4a 73 6f 6e 46 69 6c 65 20 24 72 65 unction.__construct(JsonFile.$re
b80a0 70 6f 73 69 74 6f 72 79 46 69 6c 65 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 positoryFile).{.parent::__constr
b80c0 75 63 74 28 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d 20 24 72 65 70 6f 73 69 74 6f 72 79 uct();.$this->file.=.$repository
b80e0 46 69 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 File;.}.....protected.function.i
b8100 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 nitialize().{.parent::initialize
b8120 28 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 65 78 69 73 74 73 28 29 29 ();..if.(!$this->file->exists())
b8140 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 .{.return;.}..try.{.$packages.=.
b8160 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 72 65 61 64 28 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 $this->file->read();....if.(isse
b8180 74 28 24 70 61 63 6b 61 67 65 73 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 29 20 7b 0a 24 70 61 63 t($packages['packages'])).{.$pac
b81a0 6b 61 67 65 73 20 3d 20 24 70 61 63 6b 61 67 65 73 5b 27 70 61 63 6b 61 67 65 73 27 5d 3b 0a 7d kages.=.$packages['packages'];.}
b81c0 0a 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 73 29 29 20 7b 0a 74 68 ..if.(!is_array($packages)).{.th
b81e0 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f row.new.\UnexpectedValueExceptio
b8200 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 70 61 72 73 65 20 70 61 63 6b 61 67 65 20 6c 69 73 74 20 n('Could.not.parse.package.list.
b8220 66 72 6f 6d 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 from.the.repository');.}.}.catch
b8240 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 .(\Exception.$e).{.throw.new.Inv
b8260 61 6c 69 64 52 65 70 6f 73 69 74 6f 72 79 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 alidRepositoryException('Invalid
b8280 20 72 65 70 6f 73 69 74 6f 72 79 20 64 61 74 61 20 69 6e 20 27 2e 24 74 68 69 73 2d 3e 66 69 6c .repository.data.in.'.$this->fil
b82a0 65 2d 3e 67 65 74 50 61 74 68 28 29 2e 27 2c 20 70 61 63 6b 61 67 65 73 20 63 6f 75 6c 64 20 6e e->getPath().',.packages.could.n
b82c0 6f 74 20 62 65 20 6c 6f 61 64 65 64 3a 20 5b 27 2e 67 65 74 5f 63 6c 61 73 73 28 24 65 29 2e 27 ot.be.loaded:.['.get_class($e).'
b82e0 5d 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 7d 0a 0a 24 6c 6f 61 64 65 ].'.$e->getMessage());.}..$loade
b8300 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 75 6c 6c 2c 20 74 72 75 65 29 3b r.=.new.ArrayLoader(null,.true);
b8320 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 44 .foreach.($packages.as.$packageD
b8340 61 74 61 29 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 ata).{.$package.=.$loader->load(
b8360 24 70 61 63 6b 61 67 65 44 61 74 61 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 $packageData);.$this->addPackage
b8380 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ($package);.}.}..public.function
b83a0 20 72 65 6c 6f 61 64 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 20 3d 20 6e 75 .reload().{.$this->packages.=.nu
b83c0 6c 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 ll;.$this->initialize();.}.....p
b83e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 29 0a 7b 0a 24 64 61 74 61 20 3d ublic.function.write().{.$data.=
b8400 20 61 72 72 61 79 28 29 3b 0a 24 64 75 6d 70 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 44 75 6d .array();.$dumper.=.new.ArrayDum
b8420 70 65 72 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 43 61 6e 6f 6e per();..foreach.($this->getCanon
b8440 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 24 64 icalPackages().as.$package).{.$d
b8460 61 74 61 5b 5d 20 3d 20 24 64 75 6d 70 65 72 2d 3e 64 75 6d 70 28 24 70 61 63 6b 61 67 65 29 3b ata[].=.$dumper->dump($package);
b8480 0a 7d 0a 0a 75 73 6f 72 74 28 24 64 61 74 61 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 .}..usort($data,.function.($a,.$
b84a0 62 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 63 6d 70 28 24 61 5b 27 6e 61 6d 65 27 5d 2c 20 24 b).{.return.strcmp($a['name'],.$
b84c0 62 5b 27 6e 61 6d 65 27 5d 29 3b 0a 7d 29 3b 0a 0a 24 74 68 69 73 2d 3e 66 69 6c 65 2d 3e 77 72 b['name']);.});..$this->file->wr
b84e0 69 74 65 28 24 64 61 74 61 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ite($data);.}.}.<?php...........
b8500 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a .namespace.Composer\Repository;.
b8520 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 64 41 72 72 61 79 52 65 70 6f ........class.InstalledArrayRepo
b8540 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 57 72 69 74 61 62 6c 65 41 72 72 61 79 52 65 70 6f sitory.extends.WritableArrayRepo
b8560 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 73 74 61 6c 6c 65 64 52 65 70 6f 73 sitory.implements.InstalledRepos
b8580 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a itoryInterface.{.}.<?php........
b85a0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 ....namespace.Composer\Repositor
b85c0 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 73 74 61 6c 6c 65 64 46 69 6c 65 73 79 73 74 y;.......class.InstalledFilesyst
b85e0 65 6d 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 46 69 6c 65 73 79 73 74 65 6d 52 emRepository.extends.FilesystemR
b8600 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 73 74 61 6c 6c 65 64 52 65 epository.implements.InstalledRe
b8620 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a positoryInterface.{.}.<?php.....
b8640 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 .......namespace.Composer\Reposi
b8660 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 6e 73 74 61 6c 6c 65 tory;.........interface.Installe
b8680 64 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 57 72 69 dRepositoryInterface.extends.Wri
b86a0 74 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 tableRepositoryInterface.{.}.<?p
b86c0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
b86e0 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 \Repository;.......class.Invalid
b8700 52 65 70 6f 73 69 74 6f 72 79 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 45 78 63 RepositoryException.extends.\Exc
b8720 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 eption.{.}.<?php............name
b8740 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 space.Composer\Repository;..use.
b8760 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 Composer\Package\Loader\ArrayLoa
b8780 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 der;.use.Composer\Package\Loader
b87a0 5c 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c \ValidatingArrayLoader;.......cl
b87c0 61 73 73 20 50 61 63 6b 61 67 65 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 ass.PackageRepository.extends.Ar
b87e0 72 61 79 52 65 70 6f 73 69 74 6f 72 79 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b rayRepository.{.private.$config;
b8800 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 .......public.function.__constru
b8820 63 74 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f ct(array.$config).{.parent::__co
b8840 6e 73 74 72 75 63 74 28 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 nstruct();.$this->config.=.$conf
b8860 69 67 5b 27 70 61 63 6b 61 67 65 27 5d 3b 0a 0a 0a 20 69 66 20 28 21 69 73 5f 6e 75 6d 65 72 69 ig['package'];....if.(!is_numeri
b8880 63 28 6b 65 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e c(key($this->config))).{.$this->
b88a0 63 6f 6e 66 69 67 20 3d 20 61 72 72 61 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 7d config.=.array($this->config);.}
b88c0 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 .}.....protected.function.initia
b88e0 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a lize().{.parent::initialize();..
b8900 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 $loader.=.new.ValidatingArrayLoa
b8920 64 65 72 28 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 75 6c 6c 2c 20 74 72 75 65 29 2c der(new.ArrayLoader(null,.true),
b8940 20 66 61 6c 73 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 .false);.foreach.($this->config.
b8960 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 74 72 79 20 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 as.$package).{.try.{.$package.=.
b8980 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 20 63 61 74 63 68 $loader->load($package);.}.catch
b89a0 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 .(\Exception.$e).{.throw.new.Inv
b89c0 61 6c 69 64 52 65 70 6f 73 69 74 6f 72 79 45 78 63 65 70 74 69 6f 6e 28 27 41 20 72 65 70 6f 73 alidRepositoryException('A.repos
b89e0 69 74 6f 72 79 20 6f 66 20 74 79 70 65 20 22 70 61 63 6b 61 67 65 22 20 63 6f 6e 74 61 69 6e 73 itory.of.type."package".contains
b8a00 20 61 6e 20 69 6e 76 61 6c 69 64 20 70 61 63 6b 61 67 65 20 64 65 66 69 6e 69 74 69 6f 6e 3a 20 .an.invalid.package.definition:.
b8a20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 22 5c 6e 5c 6e 49 6e 76 61 6c 69 64 20 '.$e->getMessage()."\n\nInvalid.
b8a40 70 61 63 6b 61 67 65 20 64 65 66 69 6e 69 74 69 6f 6e 3a 5c 6e 22 2e 6a 73 6f 6e 5f 65 6e 63 6f package.definition:\n".json_enco
b8a60 64 65 28 24 70 61 63 6b 61 67 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b de($package));.}..$this->addPack
b8a80 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a age($package);.}.}.}.<?php......
b8aa0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 ......namespace.Composer\Reposit
b8ac0 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 ory;..use.Composer\Config;.use.C
b8ae0 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 omposer\IO\IOInterface;.use.Comp
b8b00 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 oser\Json\JsonFile;.use.Composer
b8b20 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 \Package\Loader\ArrayLoader;.use
b8b40 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f .Composer\Package\Version\Versio
b8b60 6e 47 75 65 73 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 nGuesser;.use.Composer\Package\V
b8b80 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 ersion\VersionParser;.use.Compos
b8ba0 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 er\Util\Platform;.use.Composer\U
b8bc0 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a til\ProcessExecutor;............
b8be0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 .........................class.P
b8c00 61 74 68 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 72 61 79 52 65 70 6f 73 athRepository.extends.ArrayRepos
b8c20 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 75 72 61 62 6c 65 52 65 70 itory.implements.ConfigurableRep
b8c40 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6c ositoryInterface.{....private.$l
b8c60 6f 61 64 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 47 75 65 73 73 oader;.....private.$versionGuess
b8c80 65 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 75 72 6c 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 er;.....private.$url;.....privat
b8ca0 65 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 e.$repoConfig;.....private.$proc
b8cc0 65 73 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 3b 0a 0a 0a 0a 0a 0a ess;.....private.$options;......
b8ce0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 ...public.function.__construct(a
b8d00 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 rray.$repoConfig,.IOInterface.$i
b8d20 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 o,.Config.$config).{.if.(!isset(
b8d40 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 $repoConfig['url'])).{.throw.new
b8d60 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 73 70 65 .\RuntimeException('You.must.spe
b8d80 63 69 66 79 20 74 68 65 20 60 75 72 6c 60 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 6f 72 cify.the.`url`.configuration.for
b8da0 20 74 68 65 20 70 61 74 68 20 72 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 .the.path.repository');.}..$this
b8dc0 2d 3e 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 6e 75 6c 6c 2c ->loader.=.new.ArrayLoader(null,
b8de0 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 50 6c 61 74 66 6f 72 6d 3a 3a 65 .true);.$this->url.=.Platform::e
b8e00 78 70 61 6e 64 50 61 74 68 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b 0a 24 xpandPath($repoConfig['url']);.$
b8e20 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 this->process.=.new.ProcessExecu
b8e40 74 6f 72 28 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 47 75 65 73 73 65 72 20 tor($io);.$this->versionGuesser.
b8e60 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 47 75 65 73 73 65 72 28 24 63 6f 6e 66 69 67 2c 20 24 74 =.new.VersionGuesser($config,.$t
b8e80 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 his->process,.new.VersionParser(
b8ea0 29 29 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 24 72 65 70 6f 43 6f 6e ));.$this->repoConfig.=.$repoCon
b8ec0 66 69 67 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 69 73 73 65 74 28 24 72 65 70 fig;.$this->options.=.isset($rep
b8ee0 6f 43 6f 6e 66 69 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 29 20 3f 20 24 72 65 70 6f 43 6f 6e 66 69 oConfig['options']).?.$repoConfi
b8f00 67 5b 27 6f 70 74 69 6f 6e 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 0a 70 61 72 65 6e 74 3a g['options'].:.array();..parent:
b8f20 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 :__construct();.}..public.functi
b8f40 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 on.getRepoConfig().{.return.$thi
b8f60 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 s->repoConfig;.}.......protected
b8f80 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a .function.initialize().{.parent:
b8fa0 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e :initialize();..foreach.($this->
b8fc0 67 65 74 55 72 6c 4d 61 74 63 68 65 73 28 29 20 61 73 20 24 75 72 6c 29 20 7b 0a 24 70 61 74 68 getUrlMatches().as.$url).{.$path
b8fe0 20 3d 20 72 65 61 6c 70 61 74 68 28 24 75 72 6c 29 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 .=.realpath($url)...DIRECTORY_SE
b9000 50 41 52 41 54 4f 52 3b 0a 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 50 61 74 68 20 3d 20 24 70 61 PARATOR;.$composerFilePath.=.$pa
b9020 74 68 2e 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 th.'composer.json';..if.(!file_e
b9040 78 69 73 74 73 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 50 61 74 68 29 29 20 7b 0a 63 6f 6e 74 xists($composerFilePath)).{.cont
b9060 69 6e 75 65 3b 0a 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e inue;.}..$json.=.file_get_conten
b9080 74 73 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 50 61 74 68 29 3b 0a 24 70 61 63 6b 61 67 65 20 ts($composerFilePath);.$package.
b90a0 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e 2c 20 24 63 6f =.JsonFile::parseJson($json,.$co
b90c0 6d 70 6f 73 65 72 46 69 6c 65 50 61 74 68 29 3b 0a 24 70 61 63 6b 61 67 65 5b 27 64 69 73 74 27 mposerFilePath);.$package['dist'
b90e0 5d 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 27 70 61 74 68 27 2c 0a 27 75 72 ].=.array(.'type'.=>.'path',.'ur
b9100 6c 27 20 3d 3e 20 24 75 72 6c 2c 0a 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 73 68 61 31 28 l'.=>.$url,.'reference'.=>.sha1(
b9120 24 6a 73 6f 6e 20 2e 20 73 65 72 69 61 6c 69 7a 65 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 $json...serialize($this->options
b9140 29 29 2c 0a 29 3b 0a 24 70 61 63 6b 61 67 65 5b 27 74 72 61 6e 73 70 6f 72 74 2d 6f 70 74 69 6f )),.);.$package['transport-optio
b9160 6e 73 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 0a 0a 20 69 66 20 28 21 69 ns'].=.$this->options;....if.(!i
b9180 73 73 65 74 28 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 26 26 20 28 24 72 sset($package['version']).&&.($r
b91a0 6f 6f 74 56 65 72 73 69 6f 6e 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d 50 4f 53 45 52 5f 52 4f ootVersion.=.getenv('COMPOSER_RO
b91c0 4f 54 5f 56 45 52 53 49 4f 4e 27 29 29 29 20 7b 0a 69 66 20 28 0a 30 20 3d 3d 3d 20 24 74 68 69 OT_VERSION'))).{.if.(.0.===.$thi
b91e0 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 76 2d 70 61 72 s->process->execute('git.rev-par
b9200 73 65 20 48 45 41 44 27 2c 20 24 72 65 66 31 2c 20 24 70 61 74 68 29 0a 26 26 20 30 20 3d 3d 3d se.HEAD',.$ref1,.$path).&&.0.===
b9220 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 .$this->process->execute('git.re
b9240 76 2d 70 61 72 73 65 20 48 45 41 44 27 2c 20 24 72 65 66 32 29 0a 26 26 20 24 72 65 66 31 20 3d v-parse.HEAD',.$ref2).&&.$ref1.=
b9260 3d 3d 20 24 72 65 66 32 0a 29 20 7b 0a 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d ==.$ref2.).{.$package['version']
b9280 20 3d 20 24 72 6f 6f 74 56 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 .=.$rootVersion;.}.}..if.(!isset
b92a0 28 24 70 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 76 65 72 73 69 6f ($package['version'])).{.$versio
b92c0 6e 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 47 75 65 73 73 65 72 2d 3e 67 nData.=.$this->versionGuesser->g
b92e0 75 65 73 73 56 65 72 73 69 6f 6e 28 24 70 61 63 6b 61 67 65 2c 20 24 70 61 74 68 29 3b 0a 69 66 uessVersion($package,.$path);.if
b9300 20 28 69 73 5f 61 72 72 61 79 28 24 76 65 72 73 69 6f 6e 44 61 74 61 29 20 26 26 20 24 76 65 72 .(is_array($versionData).&&.$ver
b9320 73 69 6f 6e 44 61 74 61 5b 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 5d 29 20 7b 0a 24 70 sionData['pretty_version']).{.$p
b9340 61 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 24 76 65 72 73 69 6f 6e 44 61 74 61 ackage['version'].=.$versionData
b9360 5b 27 70 72 65 74 74 79 5f 76 65 72 73 69 6f 6e 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 ['pretty_version'];.}.else.{.$pa
b9380 63 6b 61 67 65 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 27 64 65 76 2d 6d 61 73 74 65 72 27 3b ckage['version'].=.'dev-master';
b93a0 0a 7d 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 27 27 3b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 .}.}..$output.=.'';.if.(is_dir($
b93c0 70 61 74 68 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 27 2e 67 path...DIRECTORY_SEPARATOR...'.g
b93e0 69 74 27 29 20 26 26 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 it').&&.0.===.$this->process->ex
b9400 65 63 75 74 65 28 27 67 69 74 20 6c 6f 67 20 2d 6e 31 20 2d 2d 70 72 65 74 74 79 3d 25 48 27 2c ecute('git.log.-n1.--pretty=%H',
b9420 20 24 6f 75 74 70 75 74 2c 20 24 70 61 74 68 29 29 20 7b 0a 24 70 61 63 6b 61 67 65 5b 27 64 69 .$output,.$path)).{.$package['di
b9440 73 74 27 5d 5b 27 72 65 66 65 72 65 6e 63 65 27 5d 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 74 st']['reference'].=.trim($output
b9460 29 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c );.}.$package.=.$this->loader->l
b9480 6f 61 64 28 24 70 61 63 6b 61 67 65 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 oad($package);.$this->addPackage
b94a0 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 ($package);.}.}.......private.fu
b94c0 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 4d 61 74 63 68 65 73 28 29 0a 7b 0a 24 66 6c 61 67 73 20 nction.getUrlMatches().{.$flags.
b94e0 3d 20 47 4c 4f 42 5f 4d 41 52 4b 20 7c 20 47 4c 4f 42 5f 4f 4e 4c 59 44 49 52 3b 0a 0a 69 66 20 =.GLOB_MARK.|.GLOB_ONLYDIR;..if.
b9500 28 64 65 66 69 6e 65 64 28 27 47 4c 4f 42 5f 42 52 41 43 45 27 29 29 20 7b 0a 24 66 6c 61 67 73 (defined('GLOB_BRACE')).{.$flags
b9520 20 7c 3d 20 47 4c 4f 42 5f 42 52 41 43 45 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 74 72 70 6f 73 .|=.GLOB_BRACE;.}.elseif.(strpos
b9540 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 27 7b 27 29 20 21 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 73 ($this->url,.'{').!==.false.||.s
b9560 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 27 7d 27 29 20 21 3d 3d 20 66 61 6c 73 65 trpos($this->url,.'}').!==.false
b9580 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 ).{.throw.new.\RuntimeException(
b95a0 27 54 68 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 64 6f 65 73 20 6e 6f 74 20 73 'The.operating.system.does.not.s
b95c0 75 70 70 6f 72 74 20 47 4c 4f 42 5f 42 52 41 43 45 20 77 68 69 63 68 20 69 73 20 72 65 71 75 69 upport.GLOB_BRACE.which.is.requi
b95e0 72 65 64 20 66 6f 72 20 74 68 65 20 75 72 6c 20 27 2e 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a red.for.the.url.'..$this->url);.
b9600 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 }....return.array_map(function.(
b9620 24 76 61 6c 29 20 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 73 74 72 5f 72 65 70 6c 61 63 65 $val).{.return.rtrim(str_replace
b9640 28 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 27 2f 27 2c 20 24 76 61 6c 29 (DIRECTORY_SEPARATOR,.'/',.$val)
b9660 2c 20 27 2f 27 29 3b 0a 7d 2c 20 67 6c 6f 62 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 66 6c 61 ,.'/');.},.glob($this->url,.$fla
b9680 67 73 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 gs));.}.}.<?php............names
b96a0 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a pace.Composer\Repository\Pear;..
b96c0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 use.Composer\Util\RemoteFilesyst
b96e0 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 42 61 73 65 43 em;.........abstract.class.BaseC
b9700 68 61 6e 6e 65 6c 52 65 61 64 65 72 0a 7b 0a 0a 0a 0a 63 6f 6e 73 74 20 43 48 41 4e 4e 45 4c 5f hannelReader.{....const.CHANNEL_
b9720 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 63 68 61 6e 6e 65 NS.=.'http://pear.php.net/channe
b9740 6c 2d 31 2e 30 27 3b 0a 63 6f 6e 73 74 20 41 4c 4c 5f 43 41 54 45 47 4f 52 49 45 53 5f 4e 53 20 l-1.0';.const.ALL_CATEGORIES_NS.
b9760 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 72 65 73 74 2e =.'http://pear.php.net/dtd/rest.
b9780 61 6c 6c 63 61 74 65 67 6f 72 69 65 73 27 3b 0a 63 6f 6e 73 74 20 43 41 54 45 47 4f 52 59 5f 50 allcategories';.const.CATEGORY_P
b97a0 41 43 4b 41 47 45 53 5f 49 4e 46 4f 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 ACKAGES_INFO_NS.=.'http://pear.p
b97c0 68 70 2e 6e 65 74 2f 64 74 64 2f 72 65 73 74 2e 63 61 74 65 67 6f 72 79 70 61 63 6b 61 67 65 69 hp.net/dtd/rest.categorypackagei
b97e0 6e 66 6f 27 3b 0a 63 6f 6e 73 74 20 41 4c 4c 5f 50 41 43 4b 41 47 45 53 5f 4e 53 20 3d 20 27 68 nfo';.const.ALL_PACKAGES_NS.=.'h
b9800 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 72 65 73 74 2e 61 6c 6c 70 ttp://pear.php.net/dtd/rest.allp
b9820 61 63 6b 61 67 65 73 27 3b 0a 63 6f 6e 73 74 20 41 4c 4c 5f 52 45 4c 45 41 53 45 53 5f 4e 53 20 ackages';.const.ALL_RELEASES_NS.
b9840 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 72 65 73 74 2e =.'http://pear.php.net/dtd/rest.
b9860 61 6c 6c 72 65 6c 65 61 73 65 73 27 3b 0a 63 6f 6e 73 74 20 50 41 43 4b 41 47 45 5f 49 4e 46 4f allreleases';.const.PACKAGE_INFO
b9880 5f 4e 53 20 3d 20 27 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 72 _NS.=.'http://pear.php.net/dtd/r
b98a0 65 73 74 2e 70 61 63 6b 61 67 65 27 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 66 73 3b 0a 0a 70 est.package';...private.$rfs;..p
b98c0 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 52 65 rotected.function.__construct(Re
b98e0 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 66 moteFilesystem.$rfs).{.$this->rf
b9900 73 20 3d 20 24 72 66 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 s.=.$rfs;.}..........protected.f
b9920 75 6e 63 74 69 6f 6e 20 72 65 71 75 65 73 74 43 6f 6e 74 65 6e 74 28 24 6f 72 69 67 69 6e 2c 20 unction.requestContent($origin,.
b9940 24 70 61 74 68 29 0a 7b 0a 24 75 72 6c 20 3d 20 72 74 72 69 6d 28 24 6f 72 69 67 69 6e 2c 20 27 $path).{.$url.=.rtrim($origin,.'
b9960 2f 27 29 20 2e 20 27 2f 27 20 2e 20 6c 74 72 69 6d 28 24 70 61 74 68 2c 20 27 2f 27 29 3b 0a 24 /')...'/'...ltrim($path,.'/');.$
b9980 63 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 content.=.$this->rfs->getContent
b99a0 73 28 24 6f 72 69 67 69 6e 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 29 3b 0a 69 66 20 28 21 24 63 s($origin,.$url,.false);.if.(!$c
b99c0 6f 6e 74 65 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 ontent).{.throw.new.\UnexpectedV
b99e0 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 50 45 41 52 20 63 68 61 6e 6e 65 6c 20 alueException('The.PEAR.channel.
b9a00 61 74 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 20 64 69 64 20 6e 6f 74 20 72 65 73 70 6f 6e 64 2e at.'...$url...'.did.not.respond.
b9a20 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 68 74 74 70 3a ');.}..return.str_replace('http:
b9a40 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 72 65 73 74 2f 27 2c 20 27 68 74 74 70 73 3a 2f 2f //pear.php.net/rest/',.'https://
b9a60 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 72 65 73 74 2f 27 2c 20 24 63 6f 6e 74 65 6e 74 29 3b 0a pear.php.net/rest/',.$content);.
b9a80 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 }..........protected.function.re
b9aa0 71 75 65 73 74 58 6d 6c 28 24 6f 72 69 67 69 6e 2c 20 24 70 61 74 68 29 0a 7b 0a 0a 20 24 78 6d questXml($origin,.$path).{...$xm
b9ac0 6c 20 3d 20 73 69 6d 70 6c 65 78 6d 6c 5f 6c 6f 61 64 5f 73 74 72 69 6e 67 28 24 74 68 69 73 2d l.=.simplexml_load_string($this-
b9ae0 3e 72 65 71 75 65 73 74 43 6f 6e 74 65 6e 74 28 24 6f 72 69 67 69 6e 2c 20 24 70 61 74 68 29 2c >requestContent($origin,.$path),
b9b00 20 22 53 69 6d 70 6c 65 58 4d 4c 45 6c 65 6d 65 6e 74 22 2c 20 4c 49 42 58 4d 4c 5f 4e 4f 45 52 ."SimpleXMLElement",.LIBXML_NOER
b9b20 52 4f 52 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 78 6d 6c 29 20 7b 0a 74 68 72 ROR);..if.(false.===.$xml).{.thr
b9b40 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e ow.new.\UnexpectedValueException
b9b60 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 50 45 41 52 20 63 68 61 6e 6e 65 6c 20 61 74 20 27 20 (sprintf('The.PEAR.channel.at.'.
b9b80 2e 20 24 6f 72 69 67 69 6e 20 2e 20 27 20 69 73 20 62 72 6f 6b 65 6e 2e 20 28 49 6e 76 61 6c 69 ..$origin...'.is.broken..(Invali
b9ba0 64 20 58 4d 4c 20 61 74 20 66 69 6c 65 20 60 25 73 60 29 27 2c 20 24 70 61 74 68 29 29 3b 0a 7d d.XML.at.file.`%s`)',.$path));.}
b9bc0 0a 0a 72 65 74 75 72 6e 20 24 78 6d 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a ..return.$xml;.}.}.<?php........
b9be0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 ....namespace.Composer\Repositor
b9c00 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 68 61 6e 6e 65 6c 49 6e 66 6f 0a y\Pear;.......class.ChannelInfo.
b9c20 7b 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 61 6c 69 61 73 3b {.private.$name;.private.$alias;
b9c40 0a 70 72 69 76 61 74 65 20 24 70 61 63 6b 61 67 65 73 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .private.$packages;.......public
b9c60 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 24 61 6c .function.__construct($name,.$al
b9c80 69 61 73 2c 20 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e ias,.array.$packages).{.$this->n
b9ca0 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 20 3d 20 24 61 6c 69 ame.=.$name;.$this->alias.=.$ali
b9cc0 61 73 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 20 3d 20 24 70 61 63 6b 61 67 65 73 3b as;.$this->packages.=.$packages;
b9ce0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 .}.......public.function.getName
b9d00 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a ().{.return.$this->name;.}......
b9d20 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 28 29 0a 7b 0a 72 65 .public.function.getAlias().{.re
b9d40 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 turn.$this->alias;.}.......publi
b9d60 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 73 28 29 0a 7b 0a 72 65 74 75 72 c.function.getPackages().{.retur
b9d80 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a n.$this->packages;.}.}.<?php....
b9da0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 ........namespace.Composer\Repos
b9dc0 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 itory\Pear;..use.Composer\Util\R
b9de0 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 emoteFilesystem;.........class.C
b9e00 68 61 6e 6e 65 6c 52 65 61 64 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 68 61 6e 6e 65 6c hannelReader.extends.BaseChannel
b9e20 52 65 61 64 65 72 0a 7b 0a 0a 70 72 69 76 61 74 65 20 24 72 65 61 64 65 72 4d 61 70 3b 0a 0a 70 Reader.{..private.$readerMap;..p
b9e40 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 52 65 6d 6f 74 ublic.function.__construct(Remot
b9e60 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f eFilesystem.$rfs).{.parent::__co
b9e80 6e 73 74 72 75 63 74 28 24 72 66 73 29 3b 0a 0a 24 72 65 73 74 31 30 72 65 61 64 65 72 20 3d 20 nstruct($rfs);..$rest10reader.=.
b9ea0 6e 65 77 20 43 68 61 6e 6e 65 6c 52 65 73 74 31 30 52 65 61 64 65 72 28 24 72 66 73 29 3b 0a 24 new.ChannelRest10Reader($rfs);.$
b9ec0 72 65 73 74 31 31 72 65 61 64 65 72 20 3d 20 6e 65 77 20 43 68 61 6e 6e 65 6c 52 65 73 74 31 31 rest11reader.=.new.ChannelRest11
b9ee0 52 65 61 64 65 72 28 24 72 66 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 61 64 65 72 4d 61 70 20 Reader($rfs);..$this->readerMap.
b9f00 3d 20 61 72 72 61 79 28 0a 27 52 45 53 54 31 2e 33 27 20 3d 3e 20 24 72 65 73 74 31 31 72 65 61 =.array(.'REST1.3'.=>.$rest11rea
b9f20 64 65 72 2c 0a 27 52 45 53 54 31 2e 32 27 20 3d 3e 20 24 72 65 73 74 31 31 72 65 61 64 65 72 2c der,.'REST1.2'.=>.$rest11reader,
b9f40 0a 27 52 45 53 54 31 2e 31 27 20 3d 3e 20 24 72 65 73 74 31 31 72 65 61 64 65 72 2c 0a 27 52 45 .'REST1.1'.=>.$rest11reader,.'RE
b9f60 53 54 31 2e 30 27 20 3d 3e 20 24 72 65 73 74 31 30 72 65 61 64 65 72 2c 0a 29 3b 0a 7d 0a 0a 0a ST1.0'.=>.$rest10reader,.);.}...
b9f80 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 28 24 75 72 6c 29 ......public.function.read($url)
b9fa0 0a 7b 0a 24 78 6d 6c 20 3d 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 58 6d 6c 28 24 75 72 6c .{.$xml.=.$this->requestXml($url
b9fc0 2c 20 22 2f 63 68 61 6e 6e 65 6c 2e 78 6d 6c 22 29 3b 0a 0a 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 ,."/channel.xml");..$channelName
b9fe0 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 6e 61 6d 65 3b 0a 24 63 68 61 6e 6e 65 6c .=.(string).$xml->name;.$channel
ba000 41 6c 69 61 73 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 73 75 67 67 65 73 74 65 64 Alias.=.(string).$xml->suggested
ba020 61 6c 69 61 73 3b 0a 0a 24 73 75 70 70 6f 72 74 65 64 56 65 72 73 69 6f 6e 73 20 3d 20 61 72 72 alias;..$supportedVersions.=.arr
ba040 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 72 65 61 64 65 72 4d 61 70 29 3b 0a 24 73 65 6c 65 ay_keys($this->readerMap);.$sele
ba060 63 74 65 64 52 65 73 74 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 73 65 6c 65 63 74 52 ctedRestVersion.=.$this->selectR
ba080 65 73 74 56 65 72 73 69 6f 6e 28 24 78 6d 6c 2c 20 24 73 75 70 70 6f 72 74 65 64 56 65 72 73 69 estVersion($xml,.$supportedVersi
ba0a0 6f 6e 73 29 3b 0a 69 66 20 28 21 24 73 65 6c 65 63 74 65 64 52 65 73 74 56 65 72 73 69 6f 6e 29 ons);.if.(!$selectedRestVersion)
ba0c0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 .{.throw.new.\UnexpectedValueExc
ba0e0 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 50 45 41 52 20 72 65 70 6f 73 69 74 6f 72 79 20 eption(sprintf('PEAR.repository.
ba100 25 73 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 73 20 61 6e 79 20 6f 66 20 25 73 20 70 %s.does.not.supports.any.of.%s.p
ba120 72 6f 74 6f 63 6f 6c 73 2e 27 2c 20 24 75 72 6c 2c 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 rotocols.',.$url,.implode(',.',.
ba140 24 73 75 70 70 6f 72 74 65 64 56 65 72 73 69 6f 6e 73 29 29 29 3b 0a 7d 0a 0a 24 72 65 61 64 65 $supportedVersions)));.}..$reade
ba160 72 20 3d 20 24 74 68 69 73 2d 3e 72 65 61 64 65 72 4d 61 70 5b 24 73 65 6c 65 63 74 65 64 52 65 r.=.$this->readerMap[$selectedRe
ba180 73 74 56 65 72 73 69 6f 6e 5b 27 76 65 72 73 69 6f 6e 27 5d 5d 3b 0a 24 70 61 63 6b 61 67 65 44 stVersion['version']];.$packageD
ba1a0 65 66 69 6e 69 74 69 6f 6e 73 20 3d 20 24 72 65 61 64 65 72 2d 3e 72 65 61 64 28 24 73 65 6c 65 efinitions.=.$reader->read($sele
ba1c0 63 74 65 64 52 65 73 74 56 65 72 73 69 6f 6e 5b 27 62 61 73 65 55 72 6c 27 5d 29 3b 0a 0a 72 65 ctedRestVersion['baseUrl']);..re
ba1e0 74 75 72 6e 20 6e 65 77 20 43 68 61 6e 6e 65 6c 49 6e 66 6f 28 24 63 68 61 6e 6e 65 6c 4e 61 6d turn.new.ChannelInfo($channelNam
ba200 65 2c 20 24 63 68 61 6e 6e 65 6c 41 6c 69 61 73 2c 20 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 e,.$channelAlias,.$packageDefini
ba220 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 tions);.}.........private.functi
ba240 6f 6e 20 73 65 6c 65 63 74 52 65 73 74 56 65 72 73 69 6f 6e 28 24 63 68 61 6e 6e 65 6c 58 6d 6c on.selectRestVersion($channelXml
ba260 2c 20 24 73 75 70 70 6f 72 74 65 64 56 65 72 73 69 6f 6e 73 29 0a 7b 0a 24 63 68 61 6e 6e 65 6c ,.$supportedVersions).{.$channel
ba280 58 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 27 Xml->registerXPathNamespace('ns'
ba2a0 2c 20 73 65 6c 66 3a 3a 43 48 41 4e 4e 45 4c 5f 4e 53 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 ,.self::CHANNEL_NS);..foreach.($
ba2c0 73 75 70 70 6f 72 74 65 64 56 65 72 73 69 6f 6e 73 20 61 73 20 24 76 65 72 73 69 6f 6e 29 20 7b supportedVersions.as.$version).{
ba2e0 0a 24 78 70 61 74 68 54 65 73 74 20 3d 20 22 6e 73 3a 73 65 72 76 65 72 73 2f 6e 73 3a 2a 2f 6e .$xpathTest.=."ns:servers/ns:*/n
ba300 73 3a 72 65 73 74 2f 6e 73 3a 62 61 73 65 75 72 6c 5b 40 74 79 70 65 3d 27 7b 24 76 65 72 73 69 s:rest/ns:baseurl[@type='{$versi
ba320 6f 6e 7d 27 5d 22 3b 0a 24 74 65 73 74 52 65 73 75 6c 74 20 3d 20 24 63 68 61 6e 6e 65 6c 58 6d on}']";.$testResult.=.$channelXm
ba340 6c 2d 3e 78 70 61 74 68 28 24 78 70 61 74 68 54 65 73 74 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 l->xpath($xpathTest);..foreach.(
ba360 24 74 65 73 74 52 65 73 75 6c 74 20 61 73 20 24 72 65 73 75 6c 74 29 20 7b 0a 0a 20 24 72 65 73 $testResult.as.$result).{...$res
ba380 75 6c 74 20 3d 20 28 73 74 72 69 6e 67 29 20 24 72 65 73 75 6c 74 3b 0a 69 66 20 28 70 72 65 67 ult.=.(string).$result;.if.(preg
ba3a0 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3a 2f 2f 7d 69 27 2c 20 24 72 65 73 75 6c 74 29 29 _match('{^https://}i',.$result))
ba3c0 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 .{.return.array('version'.=>.$ve
ba3e0 72 73 69 6f 6e 2c 20 27 62 61 73 65 55 72 6c 27 20 3d 3e 20 24 72 65 73 75 6c 74 29 3b 0a 7d 0a rsion,.'baseUrl'.=>.$result);.}.
ba400 7d 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 74 65 73 74 52 65 73 75 6c 74 29 20 3e 20 30 29 }....if.(count($testResult).>.0)
ba420 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 .{.return.array('version'.=>.$ve
ba440 72 73 69 6f 6e 2c 20 27 62 61 73 65 55 72 6c 27 20 3d 3e 20 28 73 74 72 69 6e 67 29 20 24 74 65 rsion,.'baseUrl'.=>.(string).$te
ba460 73 74 52 65 73 75 6c 74 5b 30 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a stResult[0]);.}.}..return.null;.
ba480 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 }.}.<?php............namespace.C
ba4a0 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 75 73 65 20 43 6f omposer\Repository\Pear;..use.Co
ba4c0 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 mposer\Downloader\TransportExcep
ba4e0 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 68 61 6e 6e 65 6c 52 tion;.............class.ChannelR
ba500 65 73 74 31 30 52 65 61 64 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 68 61 6e 6e 65 6c 52 est10Reader.extends.BaseChannelR
ba520 65 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 65 70 65 6e 64 65 6e 63 79 52 65 61 64 65 eader.{.private.$dependencyReade
ba540 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 r;..public.function.__construct(
ba560 24 72 66 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 66 73 $rfs).{.parent::__construct($rfs
ba580 29 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 52 65 61 64 65 72 20 3d 20 6e 65 );..$this->dependencyReader.=.ne
ba5a0 77 20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 28 29 3b 0a 7d 0a 0a w.PackageDependencyParser();.}..
ba5c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 28 24 62 61 73 .......public.function.read($bas
ba5e0 65 55 72 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 64 50 61 63 6b 61 67 eUrl).{.return.$this->readPackag
ba600 65 73 28 24 62 61 73 65 55 72 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 es($baseUrl);.}.........private.
ba620 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 29 0a function.readPackages($baseUrl).
ba640 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 78 6d 6c 50 61 74 68 20 3d {.$result.=.array();..$xmlPath.=
ba660 20 27 2f 70 2f 70 61 63 6b 61 67 65 73 2e 78 6d 6c 27 3b 0a 24 78 6d 6c 20 3d 20 24 74 68 69 73 .'/p/packages.xml';.$xml.=.$this
ba680 2d 3e 72 65 71 75 65 73 74 58 6d 6c 28 24 62 61 73 65 55 72 6c 2c 20 24 78 6d 6c 50 61 74 68 29 ->requestXml($baseUrl,.$xmlPath)
ba6a0 3b 0a 24 78 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 65 28 27 ;.$xml->registerXPathNamespace('
ba6c0 6e 73 27 2c 20 73 65 6c 66 3a 3a 41 4c 4c 5f 50 41 43 4b 41 47 45 53 5f 4e 53 29 3b 0a 66 6f 72 ns',.self::ALL_PACKAGES_NS);.for
ba6e0 65 61 63 68 20 28 24 78 6d 6c 2d 3e 78 70 61 74 68 28 27 6e 73 3a 70 27 29 20 61 73 20 24 6e 6f each.($xml->xpath('ns:p').as.$no
ba700 64 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e de).{.$packageName.=.(string).$n
ba720 6f 64 65 3b 0a 24 70 61 63 6b 61 67 65 49 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 72 65 61 64 50 ode;.$packageInfo.=.$this->readP
ba740 61 63 6b 61 67 65 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 3b 0a ackage($baseUrl,.$packageName);.
ba760 24 72 65 73 75 6c 74 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 3b 0a 7d 0a 0a 72 65 74 $result[].=.$packageInfo;.}..ret
ba780 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 urn.$result;.}..........private.
ba7a0 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 65 28 24 62 61 73 65 55 72 6c 2c 20 24 function.readPackage($baseUrl,.$
ba7c0 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 24 78 6d 6c 50 61 74 68 20 3d 20 27 2f 70 2f 27 20 packageName).{.$xmlPath.=.'/p/'.
ba7e0 2e 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 20 2e 20 27 2f 69 ..strtolower($packageName)...'/i
ba800 6e 66 6f 2e 78 6d 6c 27 3b 0a 24 78 6d 6c 20 3d 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 58 nfo.xml';.$xml.=.$this->requestX
ba820 6d 6c 28 24 62 61 73 65 55 72 6c 2c 20 24 78 6d 6c 50 61 74 68 29 3b 0a 24 78 6d 6c 2d 3e 72 65 ml($baseUrl,.$xmlPath);.$xml->re
ba840 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a gisterXPathNamespace('ns',.self:
ba860 3a 50 41 43 4b 41 47 45 5f 49 4e 46 4f 5f 4e 53 29 3b 0a 0a 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 :PACKAGE_INFO_NS);..$channelName
ba880 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 63 3b 0a 24 70 61 63 6b 61 67 65 4e 61 6d .=.(string).$xml->c;.$packageNam
ba8a0 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 6e 3b 0a 24 6c 69 63 65 6e 73 65 20 3d e.=.(string).$xml->n;.$license.=
ba8c0 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 6c 3b 0a 24 73 68 6f 72 74 44 65 73 63 72 69 70 .(string).$xml->l;.$shortDescrip
ba8e0 74 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 73 3b 0a 24 64 65 73 63 72 69 tion.=.(string).$xml->s;.$descri
ba900 70 74 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 78 6d 6c 2d 3e 64 3b 0a 0a 72 65 74 75 72 ption.=.(string).$xml->d;..retur
ba920 6e 20 6e 65 77 20 50 61 63 6b 61 67 65 49 6e 66 6f 28 0a 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 2c n.new.PackageInfo(.$channelName,
ba940 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 0a 24 6c 69 63 65 6e 73 65 2c 0a 24 73 68 6f 72 74 44 .$packageName,.$license,.$shortD
ba960 65 73 63 72 69 70 74 69 6f 6e 2c 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 0a 24 74 68 69 73 2d escription,.$description,.$this-
ba980 3e 72 65 61 64 50 61 63 6b 61 67 65 52 65 6c 65 61 73 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 >readPackageReleases($baseUrl,.$
ba9a0 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 packageName).);.}...........priv
ba9c0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 65 52 65 6c 65 61 73 65 73 ate.function.readPackageReleases
ba9e0 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 24 72 65 73 75 ($baseUrl,.$packageName).{.$resu
baa00 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 74 72 79 20 7b 0a 24 78 6d 6c 50 61 74 68 20 3d 20 lt.=.array();..try.{.$xmlPath.=.
baa20 27 2f 72 2f 27 20 2e 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 '/r/'...strtolower($packageName)
baa40 20 2e 20 27 2f 61 6c 6c 72 65 6c 65 61 73 65 73 2e 78 6d 6c 27 3b 0a 24 78 6d 6c 20 3d 20 24 74 ...'/allreleases.xml';.$xml.=.$t
baa60 68 69 73 2d 3e 72 65 71 75 65 73 74 58 6d 6c 28 24 62 61 73 65 55 72 6c 2c 20 24 78 6d 6c 50 61 his->requestXml($baseUrl,.$xmlPa
baa80 74 68 29 3b 0a 24 78 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 th);.$xml->registerXPathNamespac
baaa0 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 41 4c 4c 5f 52 45 4c 45 41 53 45 53 5f 4e 53 29 3b 0a e('ns',.self::ALL_RELEASES_NS);.
baac0 66 6f 72 65 61 63 68 20 28 24 78 6d 6c 2d 3e 78 70 61 74 68 28 27 6e 73 3a 72 27 29 20 61 73 20 foreach.($xml->xpath('ns:r').as.
baae0 24 6e 6f 64 65 29 20 7b 0a 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 20 3d 20 28 73 74 72 69 $node).{.$releaseVersion.=.(stri
bab00 6e 67 29 20 24 6e 6f 64 65 2d 3e 76 3b 0a 24 72 65 6c 65 61 73 65 53 74 61 62 69 6c 69 74 79 20 ng).$node->v;.$releaseStability.
bab20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 73 3b 0a 0a 74 72 79 20 7b 0a 24 72 65 73 =.(string).$node->s;..try.{.$res
bab40 75 6c 74 5b 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 5d 20 3d 20 6e 65 77 20 52 65 6c 65 61 ult[$releaseVersion].=.new.Relea
bab60 73 65 49 6e 66 6f 28 0a 24 72 65 6c 65 61 73 65 53 74 61 62 69 6c 69 74 79 2c 0a 24 74 68 69 73 seInfo(.$releaseStability,.$this
bab80 2d 3e 72 65 61 64 50 61 63 6b 61 67 65 52 65 6c 65 61 73 65 44 65 70 65 6e 64 65 6e 63 69 65 73 ->readPackageReleaseDependencies
baba0 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 72 65 6c 65 61 73 ($baseUrl,.$packageName,.$releas
babc0 65 56 65 72 73 69 6f 6e 29 0a 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 eVersion).);.}.catch.(TransportE
babe0 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 69 66 20 28 24 65 78 63 65 xception.$exception).{.if.($exce
bac00 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 64 65 28 29 20 21 3d 20 34 30 34 29 20 7b 0a 74 68 72 6f 77 ption->getCode().!=.404).{.throw
bac20 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a 7d 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e .$exception;.}.}.}.}.catch.(Tran
bac40 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 69 66 20 sportException.$exception).{.if.
bac60 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 64 65 28 29 20 21 3d 20 34 30 34 29 20 7b ($exception->getCode().!=.404).{
bac80 0a 74 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 .throw.$exception;.}.}..return.$
baca0 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 result;.}...........private.func
bacc0 74 69 6f 6e 20 72 65 61 64 50 61 63 6b 61 67 65 52 65 6c 65 61 73 65 44 65 70 65 6e 64 65 6e 63 tion.readPackageReleaseDependenc
bace0 69 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 65 72 ies($baseUrl,.$packageName,.$ver
bad00 73 69 6f 6e 29 0a 7b 0a 24 64 65 70 65 6e 64 65 6e 63 79 52 65 61 64 65 72 20 3d 20 6e 65 77 20 sion).{.$dependencyReader.=.new.
bad20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 28 29 3b 0a 0a 24 64 65 70 PackageDependencyParser();..$dep
bad40 74 68 50 61 74 68 20 3d 20 27 2f 72 2f 27 20 2e 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 70 61 63 thPath.=.'/r/'...strtolower($pac
bad60 6b 61 67 65 4e 61 6d 65 29 20 2e 20 27 2f 64 65 70 73 2e 27 20 2e 20 24 76 65 72 73 69 6f 6e 20 kageName)...'/deps.'...$version.
bad80 2e 20 27 2e 74 78 74 27 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 72 65 71 75 ..'.txt';.$content.=.$this->requ
bada0 65 73 74 43 6f 6e 74 65 6e 74 28 24 62 61 73 65 55 72 6c 2c 20 24 64 65 70 74 68 50 61 74 68 29 estContent($baseUrl,.$depthPath)
badc0 3b 0a 24 64 65 70 65 6e 64 65 6e 63 79 41 72 72 61 79 20 3d 20 75 6e 73 65 72 69 61 6c 69 7a 65 ;.$dependencyArray.=.unserialize
bade0 28 24 63 6f 6e 74 65 6e 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 65 70 65 6e 64 65 6e 63 79 52 ($content);..return.$dependencyR
bae00 65 61 64 65 72 2d 3e 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 24 64 65 70 65 eader->buildDependencyInfo($depe
bae20 6e 64 65 6e 63 79 41 72 72 61 79 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ndencyArray);.}.}.<?php.........
bae40 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 ...namespace.Composer\Repository
bae60 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 68 61 6e 6e 65 6c 52 65 \Pear;...........class.ChannelRe
bae80 73 74 31 31 52 65 61 64 65 72 20 65 78 74 65 6e 64 73 20 42 61 73 65 43 68 61 6e 6e 65 6c 52 65 st11Reader.extends.BaseChannelRe
baea0 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 65 70 65 6e 64 65 6e 63 79 52 65 61 64 65 72 ader.{.private.$dependencyReader
baec0 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 ;..public.function.__construct($
baee0 72 66 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 72 66 73 29 rfs).{.parent::__construct($rfs)
baf00 3b 0a 0a 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 52 65 61 64 65 72 20 3d 20 6e 65 77 ;..$this->dependencyReader.=.new
baf20 20 50 61 63 6b 61 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 28 29 3b 0a 7d 0a 0a 0a .PackageDependencyParser();.}...
baf40 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 28 24 62 61 73 65 ......public.function.read($base
baf60 55 72 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 61 64 43 68 61 6e 6e 65 6c Url).{.return.$this->readChannel
baf80 50 61 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 Packages($baseUrl);.}.........pr
bafa0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 43 68 61 6e 6e 65 6c 50 61 63 6b 61 67 ivate.function.readChannelPackag
bafc0 65 73 28 24 62 61 73 65 55 72 6c 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 es($baseUrl).{.$result.=.array()
bafe0 3b 0a 0a 24 78 6d 6c 20 3d 20 24 74 68 69 73 2d 3e 72 65 71 75 65 73 74 58 6d 6c 28 24 62 61 73 ;..$xml.=.$this->requestXml($bas
bb000 65 55 72 6c 2c 20 22 2f 63 2f 63 61 74 65 67 6f 72 69 65 73 2e 78 6d 6c 22 29 3b 0a 24 78 6d 6c eUrl,."/c/categories.xml");.$xml
bb020 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 27 2c 20 73 ->registerXPathNamespace('ns',.s
bb040 65 6c 66 3a 3a 41 4c 4c 5f 43 41 54 45 47 4f 52 49 45 53 5f 4e 53 29 3b 0a 66 6f 72 65 61 63 68 elf::ALL_CATEGORIES_NS);.foreach
bb060 20 28 24 78 6d 6c 2d 3e 78 70 61 74 68 28 27 6e 73 3a 63 27 29 20 61 73 20 24 6e 6f 64 65 29 20 .($xml->xpath('ns:c').as.$node).
bb080 7b 0a 24 63 61 74 65 67 6f 72 79 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 {.$categoryName.=.(string).$node
bb0a0 3b 0a 24 63 61 74 65 67 6f 72 79 50 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 61 ;.$categoryPackages.=.$this->rea
bb0c0 64 43 61 74 65 67 6f 72 79 50 61 63 6b 61 67 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 63 61 74 dCategoryPackages($baseUrl,.$cat
bb0e0 65 67 6f 72 79 4e 61 6d 65 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 egoryName);.$result.=.array_merg
bb100 65 28 24 72 65 73 75 6c 74 2c 20 24 63 61 74 65 67 6f 72 79 50 61 63 6b 61 67 65 73 29 3b 0a 7d e($result,.$categoryPackages);.}
bb120 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 ..return.$result;.}..........pri
bb140 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 43 61 74 65 67 6f 72 79 50 61 63 6b 61 67 vate.function.readCategoryPackag
bb160 65 73 28 24 62 61 73 65 55 72 6c 2c 20 24 63 61 74 65 67 6f 72 79 4e 61 6d 65 29 0a 7b 0a 24 72 es($baseUrl,.$categoryName).{.$r
bb180 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 63 61 74 65 67 6f 72 79 50 61 74 68 20 esult.=.array();..$categoryPath.
bb1a0 3d 20 27 2f 63 2f 27 2e 75 72 6c 65 6e 63 6f 64 65 28 24 63 61 74 65 67 6f 72 79 4e 61 6d 65 29 =.'/c/'.urlencode($categoryName)
bb1c0 2e 27 2f 70 61 63 6b 61 67 65 73 69 6e 66 6f 2e 78 6d 6c 27 3b 0a 24 78 6d 6c 20 3d 20 24 74 68 .'/packagesinfo.xml';.$xml.=.$th
bb1e0 69 73 2d 3e 72 65 71 75 65 73 74 58 6d 6c 28 24 62 61 73 65 55 72 6c 2c 20 24 63 61 74 65 67 6f is->requestXml($baseUrl,.$catego
bb200 72 79 50 61 74 68 29 3b 0a 24 78 6d 6c 2d 3e 72 65 67 69 73 74 65 72 58 50 61 74 68 4e 61 6d 65 ryPath);.$xml->registerXPathName
bb220 73 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 43 41 54 45 47 4f 52 59 5f 50 41 43 4b 41 space('ns',.self::CATEGORY_PACKA
bb240 47 45 53 5f 49 4e 46 4f 5f 4e 53 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 78 6d 6c 2d 3e 78 70 61 GES_INFO_NS);.foreach.($xml->xpa
bb260 74 68 28 27 6e 73 3a 70 69 27 29 20 61 73 20 24 6e 6f 64 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 th('ns:pi').as.$node).{.$package
bb280 49 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 50 61 63 6b 61 67 65 28 24 6e 6f 64 65 Info.=.$this->parsePackage($node
bb2a0 29 3b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 3b 0a 7d 0a 0a );.$result[].=.$packageInfo;.}..
bb2c0 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 return.$result;.}........private
bb2e0 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 49 .function.parsePackage($packageI
bb300 6e 66 6f 29 0a 7b 0a 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 72 65 67 69 73 74 65 72 58 50 61 nfo).{.$packageInfo->registerXPa
bb320 74 68 4e 61 6d 65 73 70 61 63 65 28 27 6e 73 27 2c 20 73 65 6c 66 3a 3a 43 41 54 45 47 4f 52 59 thNamespace('ns',.self::CATEGORY
bb340 5f 50 41 43 4b 41 47 45 53 5f 49 4e 46 4f 5f 4e 53 29 3b 0a 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 _PACKAGES_INFO_NS);.$channelName
bb360 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 70 2d 3e 63 3b 0a .=.(string).$packageInfo->p->c;.
bb380 24 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 $packageName.=.(string).$package
bb3a0 49 6e 66 6f 2d 3e 70 2d 3e 6e 3b 0a 24 6c 69 63 65 6e 73 65 20 3d 20 28 73 74 72 69 6e 67 29 20 Info->p->n;.$license.=.(string).
bb3c0 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 70 2d 3e 6c 3b 0a 24 73 68 6f 72 74 44 65 73 63 72 69 $packageInfo->p->l;.$shortDescri
bb3e0 70 74 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 70 ption.=.(string).$packageInfo->p
bb400 2d 3e 73 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 70 61 ->s;.$description.=.(string).$pa
bb420 63 6b 61 67 65 49 6e 66 6f 2d 3e 70 2d 3e 64 3b 0a 0a 24 64 65 70 65 6e 64 65 6e 63 69 65 73 20 ckageInfo->p->d;..$dependencies.
bb440 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 49 6e 66 6f =.array();.foreach.($packageInfo
bb460 2d 3e 78 70 61 74 68 28 27 6e 73 3a 64 65 70 73 27 29 20 61 73 20 24 6e 6f 64 65 29 20 7b 0a 24 ->xpath('ns:deps').as.$node).{.$
bb480 64 65 70 65 6e 64 65 6e 63 79 56 65 72 73 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6e 6f dependencyVersion.=.(string).$no
bb4a0 64 65 2d 3e 76 3b 0a 24 64 65 70 65 6e 64 65 6e 63 79 41 72 72 61 79 20 3d 20 75 6e 73 65 72 69 de->v;.$dependencyArray.=.unseri
bb4c0 61 6c 69 7a 65 28 28 73 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 64 29 3b 0a 0a 24 64 65 70 65 alize((string).$node->d);..$depe
bb4e0 6e 64 65 6e 63 79 49 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 52 65 ndencyInfo.=.$this->dependencyRe
bb500 61 64 65 72 2d 3e 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 24 64 65 70 65 6e ader->buildDependencyInfo($depen
bb520 64 65 6e 63 79 41 72 72 61 79 29 3b 0a 0a 24 64 65 70 65 6e 64 65 6e 63 69 65 73 5b 24 64 65 70 dencyArray);..$dependencies[$dep
bb540 65 6e 64 65 6e 63 79 56 65 72 73 69 6f 6e 5d 20 3d 20 24 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 endencyVersion].=.$dependencyInf
bb560 6f 3b 0a 7d 0a 0a 24 72 65 6c 65 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 6c 65 o;.}..$releases.=.array();.$rele
bb580 61 73 65 73 49 6e 66 6f 20 3d 20 24 70 61 63 6b 61 67 65 49 6e 66 6f 2d 3e 78 70 61 74 68 28 27 asesInfo.=.$packageInfo->xpath('
bb5a0 6e 73 3a 61 2f 6e 73 3a 72 27 29 3b 0a 69 66 20 28 24 72 65 6c 65 61 73 65 73 49 6e 66 6f 29 20 ns:a/ns:r');.if.($releasesInfo).
bb5c0 7b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 6c 65 61 73 65 73 49 6e 66 6f 20 61 73 20 24 6e 6f 64 {.foreach.($releasesInfo.as.$nod
bb5e0 65 29 20 7b 0a 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 20 3d 20 28 73 74 72 69 6e 67 29 20 e).{.$releaseVersion.=.(string).
bb600 24 6e 6f 64 65 2d 3e 76 3b 0a 24 72 65 6c 65 61 73 65 53 74 61 62 69 6c 69 74 79 20 3d 20 28 73 $node->v;.$releaseStability.=.(s
bb620 74 72 69 6e 67 29 20 24 6e 6f 64 65 2d 3e 73 3b 0a 24 72 65 6c 65 61 73 65 73 5b 24 72 65 6c 65 tring).$node->s;.$releases[$rele
bb640 61 73 65 56 65 72 73 69 6f 6e 5d 20 3d 20 6e 65 77 20 52 65 6c 65 61 73 65 49 6e 66 6f 28 0a 24 aseVersion].=.new.ReleaseInfo(.$
bb660 72 65 6c 65 61 73 65 53 74 61 62 69 6c 69 74 79 2c 0a 69 73 73 65 74 28 24 64 65 70 65 6e 64 65 releaseStability,.isset($depende
bb680 6e 63 69 65 73 5b 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 5d 29 20 3f 20 24 64 65 70 65 6e ncies[$releaseVersion]).?.$depen
bb6a0 64 65 6e 63 69 65 73 5b 24 72 65 6c 65 61 73 65 56 65 72 73 69 6f 6e 5d 20 3a 20 6e 65 77 20 44 dencies[$releaseVersion].:.new.D
bb6c0 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 28 29 29 0a ependencyInfo(array(),.array()).
bb6e0 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 50 61 63 6b 61 67 65 49 6e 66 6f 28 0a );.}.}..return.new.PackageInfo(.
bb700 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 2c 0a 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 0a 24 6c 69 63 $channelName,.$packageName,.$lic
bb720 65 6e 73 65 2c 0a 24 73 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 2c 0a 24 64 65 73 63 72 69 ense,.$shortDescription,.$descri
bb740 70 74 69 6f 6e 2c 0a 24 72 65 6c 65 61 73 65 73 0a 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a ption,.$releases.);.}.}.<?php...
bb760 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f .........namespace.Composer\Repo
bb780 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 70 65 6e 64 65 sitory\Pear;.......class.Depende
bb7a0 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 79 70 65 3b 0a 70 ncyConstraint.{.private.$type;.p
bb7c0 72 69 76 61 74 65 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 63 68 61 rivate.$constraint;.private.$cha
bb7e0 6e 6e 65 6c 4e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a nnelName;.private.$packageName;.
bb800 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 .......public.function.__constru
bb820 63 74 28 24 74 79 70 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 63 68 61 6e 6e 65 6c 4e ct($type,.$constraint,.$channelN
bb840 61 6d 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 79 70 65 ame,.$packageName).{.$this->type
bb860 20 3d 20 24 74 79 70 65 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 63 .=.$type;.$this->constraint.=.$c
bb880 6f 6e 73 74 72 61 69 6e 74 3b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 onstraint;.$this->channelName.=.
bb8a0 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 $channelName;.$this->packageName
bb8c0 20 3d 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .=.$packageName;.}..public.funct
bb8e0 69 6f 6e 20 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 ion.getChannelName().{.return.$t
bb900 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 his->channelName;.}..public.func
bb920 74 69 6f 6e 20 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 tion.getConstraint().{.return.$t
bb940 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 his->constraint;.}..public.funct
bb960 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 ion.getPackageName().{.return.$t
bb980 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 his->packageName;.}..public.func
bb9a0 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 tion.getType().{.return.$this->t
bb9c0 79 70 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 ype;.}.}.<?php............namesp
bb9e0 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a ace.Composer\Repository\Pear;...
bba00 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 0a 7b 0a 70 72 69 76 61 ....class.DependencyInfo.{.priva
bba20 74 65 20 24 72 65 71 75 69 72 65 73 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 61 6c 73 te.$requires;.private.$optionals
bba40 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 ;......public.function.__constru
bba60 63 74 28 24 72 65 71 75 69 72 65 73 2c 20 24 6f 70 74 69 6f 6e 61 6c 73 29 0a 7b 0a 24 74 68 69 ct($requires,.$optionals).{.$thi
bba80 73 2d 3e 72 65 71 75 69 72 65 73 20 3d 20 24 72 65 71 75 69 72 65 73 3b 0a 24 74 68 69 73 2d 3e s->requires.=.$requires;.$this->
bbaa0 6f 70 74 69 6f 6e 61 6c 73 20 3d 20 24 6f 70 74 69 6f 6e 61 6c 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 optionals.=.$optionals;.}.....pu
bbac0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 71 75 69 72 65 73 28 29 0a 7b 0a 72 65 blic.function.getRequires().{.re
bbae0 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c turn.$this->requires;.}.....publ
bbb00 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 61 6c 73 28 29 0a 7b 0a 72 65 74 ic.function.getOptionals().{.ret
bbb20 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 61 6c 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a urn.$this->optionals;.}.}.<?php.
bbb40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 ...........namespace.Composer\Re
bbb60 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 63 6b 61 pository\Pear;.......class.Packa
bbb80 67 65 44 65 70 65 6e 64 65 6e 63 79 50 61 72 73 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 geDependencyParser.{.......publi
bbba0 63 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 24 c.function.buildDependencyInfo($
bbbc0 64 65 70 41 72 72 61 79 29 0a 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 64 65 70 41 72 depArray).{.if.(!is_array($depAr
bbbe0 72 61 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 ray)).{.return.new.DependencyInf
bbc00 6f 28 61 72 72 61 79 28 29 2c 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 69 66 20 28 21 24 74 68 69 o(array(),.array());.}.if.(!$thi
bbc20 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 41 72 72 61 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e s->isHash($depArray)).{.return.n
bbc40 65 77 20 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 ew.DependencyInfo($this->buildDe
bbc60 70 65 6e 64 65 6e 63 79 31 30 49 6e 66 6f 28 24 64 65 70 41 72 72 61 79 29 2c 20 61 72 72 61 79 pendency10Info($depArray),.array
bbc80 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 65 6e ());.}..return.$this->buildDepen
bbca0 64 65 6e 63 79 32 30 49 6e 66 6f 28 24 64 65 70 41 72 72 61 79 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a dency20Info($depArray);.}.......
bbcc0 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 44 65 70 .......private.function.buildDep
bbce0 65 6e 64 65 6e 63 79 31 30 49 6e 66 6f 28 24 64 65 70 41 72 72 61 79 29 0a 7b 0a 73 74 61 74 69 endency10Info($depArray).{.stati
bbd00 63 20 24 64 65 70 31 30 74 6f 4f 70 65 72 61 74 6f 72 4d 61 70 20 3d 20 61 72 72 61 79 28 27 68 c.$dep10toOperatorMap.=.array('h
bbd20 61 73 27 20 3d 3e 20 27 3d 3d 27 2c 20 27 65 71 27 20 3d 3e 20 27 3d 3d 27 2c 20 27 67 65 27 20 as'.=>.'==',.'eq'.=>.'==',.'ge'.
bbd40 3d 3e 20 27 3e 3d 27 2c 20 27 67 74 27 20 3d 3e 20 27 3e 27 2c 20 27 6c 65 27 20 3d 3e 20 27 3c =>.'>=',.'gt'.=>.'>',.'le'.=>.'<
bbd60 3d 27 2c 20 27 6c 74 27 20 3d 3e 20 27 3c 27 2c 20 27 6e 6f 74 27 20 3d 3e 20 27 21 3d 27 29 3b =',.'lt'.=>.'<',.'not'.=>.'!=');
bbd80 0a 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 ..$result.=.array();..foreach.($
bbda0 64 65 70 41 72 72 61 79 20 61 73 20 24 64 65 70 49 74 65 6d 29 20 7b 0a 69 66 20 28 65 6d 70 74 depArray.as.$depItem).{.if.(empt
bbdc0 79 28 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 29 20 7c 7c 20 21 61 72 72 61 79 5f 6b 65 79 y($depItem['rel']).||.!array_key
bbde0 5f 65 78 69 73 74 73 28 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 2c 20 24 64 65 70 31 30 74 _exists($depItem['rel'],.$dep10t
bbe00 6f 4f 70 65 72 61 74 6f 72 4d 61 70 29 29 20 7b 0a 0a 20 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a oOperatorMap)).{...continue;.}..
bbe20 24 64 65 70 54 79 70 65 20 3d 20 21 65 6d 70 74 79 28 24 64 65 70 49 74 65 6d 5b 27 6f 70 74 69 $depType.=.!empty($depItem['opti
bbe40 6f 6e 61 6c 27 5d 29 20 26 26 20 27 79 65 73 27 20 3d 3d 20 24 64 65 70 49 74 65 6d 5b 27 6f 70 onal']).&&.'yes'.==.$depItem['op
bbe60 74 69 6f 6e 61 6c 27 5d 0a 3f 20 27 6f 70 74 69 6f 6e 61 6c 27 0a 3a 20 27 72 65 71 75 69 72 65 tional'].?.'optional'.:.'require
bbe80 64 27 3b 0a 24 64 65 70 54 79 70 65 20 3d 20 27 6e 6f 74 27 20 3d 3d 20 24 64 65 70 49 74 65 6d d';.$depType.=.'not'.==.$depItem
bbea0 5b 27 72 65 6c 27 5d 0a 3f 20 27 63 6f 6e 66 6c 69 63 74 73 27 0a 3a 20 24 64 65 70 54 79 70 65 ['rel'].?.'conflicts'.:.$depType
bbec0 3b 0a 0a 24 64 65 70 56 65 72 73 69 6f 6e 20 3d 20 21 65 6d 70 74 79 28 24 64 65 70 49 74 65 6d ;..$depVersion.=.!empty($depItem
bbee0 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 3f 20 24 74 68 69 73 2d 3e 70 61 72 73 65 56 65 72 73 69 ['version']).?.$this->parseVersi
bbf00 6f 6e 28 24 64 65 70 49 74 65 6d 5b 27 76 65 72 73 69 6f 6e 27 5d 29 20 3a 20 27 2a 27 3b 0a 0a on($depItem['version']).:.'*';..
bbf20 0a 20 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 28 27 68 61 73 27 ..$depVersionConstraint.=.('has'
bbf40 20 3d 3d 20 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 20 7c 7c 20 27 6e 6f 74 27 20 3d 3d 20 .==.$depItem['rel'].||.'not'.==.
bbf60 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 29 20 26 26 20 27 2a 27 20 3d 3d 20 24 64 65 70 56 $depItem['rel']).&&.'*'.==.$depV
bbf80 65 72 73 69 6f 6e 0a 3f 20 27 2a 27 0a 3a 20 24 64 65 70 31 30 74 6f 4f 70 65 72 61 74 6f 72 4d ersion.?.'*'.:.$dep10toOperatorM
bbfa0 61 70 5b 24 64 65 70 49 74 65 6d 5b 27 72 65 6c 27 5d 5d 20 2e 20 24 64 65 70 56 65 72 73 69 6f ap[$depItem['rel']]...$depVersio
bbfc0 6e 3b 0a 0a 73 77 69 74 63 68 20 28 24 64 65 70 49 74 65 6d 5b 27 74 79 70 65 27 5d 29 20 7b 0a n;..switch.($depItem['type']).{.
bbfe0 63 61 73 65 20 27 70 68 70 27 3a 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 27 70 case.'php':.$depChannelName.=.'p
bc000 68 70 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 27 27 3b 0a 62 72 65 61 6b hp';.$depPackageName.=.'';.break
bc020 3b 0a 63 61 73 65 20 27 70 6b 67 27 3a 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 ;.case.'pkg':.$depChannelName.=.
bc040 21 65 6d 70 74 79 28 24 64 65 70 49 74 65 6d 5b 27 63 68 61 6e 6e 65 6c 27 5d 29 20 3f 20 24 64 !empty($depItem['channel']).?.$d
bc060 65 70 49 74 65 6d 5b 27 63 68 61 6e 6e 65 6c 27 5d 20 3a 20 27 70 65 61 72 2e 70 68 70 2e 6e 65 epItem['channel'].:.'pear.php.ne
bc080 74 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 64 65 70 49 74 65 6d 5b 27 t';.$depPackageName.=.$depItem['
bc0a0 6e 61 6d 65 27 5d 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 65 78 74 27 3a 0a 24 64 65 70 43 name'];.break;.case.'ext':.$depC
bc0c0 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 27 65 78 74 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e hannelName.=.'ext';.$depPackageN
bc0e0 61 6d 65 20 3d 20 24 64 65 70 49 74 65 6d 5b 27 6e 61 6d 65 27 5d 3b 0a 62 72 65 61 6b 3b 0a 63 ame.=.$depItem['name'];.break;.c
bc100 61 73 65 20 27 6f 73 27 3a 0a 63 61 73 65 20 27 73 61 70 69 27 3a 0a 24 64 65 70 43 68 61 6e 6e ase.'os':.case.'sapi':.$depChann
bc120 65 6c 4e 61 6d 65 20 3d 20 27 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 27 elName.=.'';.$depPackageName.=.'
bc140 27 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 ';.break;.default:.$depChannelNa
bc160 6d 65 20 3d 20 27 27 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 27 27 3b 0a 62 me.=.'';.$depPackageName.=.'';.b
bc180 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 27 27 20 21 3d 20 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 reak;.}..if.(''.!=.$depChannelNa
bc1a0 6d 65 29 20 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 79 me).{.$result[].=.new.Dependency
bc1c0 43 6f 6e 73 74 72 61 69 6e 74 28 0a 24 64 65 70 54 79 70 65 2c 0a 24 64 65 70 56 65 72 73 69 6f Constraint(.$depType,.$depVersio
bc1e0 6e 43 6f 6e 73 74 72 61 69 6e 74 2c 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 2c 0a 24 64 nConstraint,.$depChannelName,.$d
bc200 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 0a 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 epPackageName.);.}.}..return.$re
bc220 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 sult;.}........private.function.
bc240 62 75 69 6c 64 44 65 70 65 6e 64 65 6e 63 79 32 30 49 6e 66 6f 28 24 64 65 70 41 72 72 61 79 29 buildDependency20Info($depArray)
bc260 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6f 70 74 69 6f 6e 61 6c 73 .{.$result.=.array();.$optionals
bc280 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 61 6c 73 20 3d 20 .=.array();.$defaultOptionals.=.
bc2a0 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 41 72 72 61 79 20 61 73 20 24 array();.foreach.($depArray.as.$
bc2c0 64 65 70 54 79 70 65 20 3d 3e 20 24 64 65 70 54 79 70 65 47 72 6f 75 70 29 20 7b 0a 69 66 20 28 depType.=>.$depTypeGroup).{.if.(
bc2e0 21 69 73 5f 61 72 72 61 79 28 24 64 65 70 54 79 70 65 47 72 6f 75 70 29 29 20 7b 0a 63 6f 6e 74 !is_array($depTypeGroup)).{.cont
bc300 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 27 72 65 71 75 69 72 65 64 27 20 3d 3d 20 24 64 65 70 54 79 inue;.}.if.('required'.==.$depTy
bc320 70 65 20 7c 7c 20 27 6f 70 74 69 6f 6e 61 6c 27 20 3d 3d 20 24 64 65 70 54 79 70 65 29 20 7b 0a pe.||.'optional'.==.$depType).{.
bc340 66 6f 72 65 61 63 68 20 28 24 64 65 70 54 79 70 65 47 72 6f 75 70 20 61 73 20 24 64 65 70 49 74 foreach.($depTypeGroup.as.$depIt
bc360 65 6d 54 79 70 65 20 3d 3e 20 24 64 65 70 49 74 65 6d 29 20 7b 0a 73 77 69 74 63 68 20 28 24 64 emType.=>.$depItem).{.switch.($d
bc380 65 70 49 74 65 6d 54 79 70 65 29 20 7b 0a 63 61 73 65 20 27 70 68 70 27 3a 0a 24 72 65 73 75 6c epItemType).{.case.'php':.$resul
bc3a0 74 5b 5d 20 3d 20 6e 65 77 20 44 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 28 0a t[].=.new.DependencyConstraint(.
bc3c0 24 64 65 70 54 79 70 65 2c 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 32 30 56 65 72 73 69 6f 6e 43 $depType,.$this->parse20VersionC
bc3e0 6f 6e 73 74 72 61 69 6e 74 28 24 64 65 70 49 74 65 6d 29 2c 0a 27 70 68 70 27 2c 0a 27 27 0a 29 onstraint($depItem),.'php',.''.)
bc400 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 70 61 63 6b 61 67 65 27 3a 0a 24 64 65 70 73 20 3d ;.break;.case.'package':.$deps.=
bc420 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 65 43 6f 6e 73 74 72 61 69 6e .$this->buildDepPackageConstrain
bc440 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 65 70 54 79 70 65 29 3b 0a 24 72 65 73 75 6c 74 20 ts($depItem,.$depType);.$result.
bc460 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 73 75 6c 74 2c 20 24 64 65 70 73 29 3b 0a 62 =.array_merge($result,.$deps);.b
bc480 72 65 61 6b 3b 0a 63 61 73 65 20 27 65 78 74 65 6e 73 69 6f 6e 27 3a 0a 24 64 65 70 73 20 3d 20 reak;.case.'extension':.$deps.=.
bc4a0 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 45 78 74 65 6e 73 69 6f 6e 43 6f 6e 73 74 72 61 69 $this->buildDepExtensionConstrai
bc4c0 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 65 70 54 79 70 65 29 3b 0a 24 72 65 73 75 6c 74 nts($depItem,.$depType);.$result
bc4e0 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 72 65 73 75 6c 74 2c 20 24 64 65 70 73 29 3b 0a .=.array_merge($result,.$deps);.
bc500 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 73 75 62 70 61 63 6b 61 67 65 27 3a 0a 24 64 65 70 73 20 break;.case.'subpackage':.$deps.
bc520 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 65 43 6f 6e 73 74 72 61 69 =.$this->buildDepPackageConstrai
bc540 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 27 72 65 70 6c 61 63 65 73 27 29 3b 0a 24 64 65 66 61 nts($depItem,.'replaces');.$defa
bc560 75 6c 74 4f 70 74 69 6f 6e 61 6c 73 20 2b 3d 20 24 64 65 70 73 3b 0a 62 72 65 61 6b 3b 0a 63 61 ultOptionals.+=.$deps;.break;.ca
bc580 73 65 20 27 6f 73 27 3a 0a 63 61 73 65 20 27 70 65 61 72 69 6e 73 74 61 6c 6c 65 72 27 3a 0a 62 se.'os':.case.'pearinstaller':.b
bc5a0 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 reak;.default:.break;.}.}.}.else
bc5c0 69 66 20 28 27 67 72 6f 75 70 27 20 3d 3d 20 24 64 65 70 54 79 70 65 29 20 7b 0a 69 66 20 28 24 if.('group'.==.$depType).{.if.($
bc5e0 74 68 69 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 54 79 70 65 47 72 6f 75 70 29 29 20 7b 0a 24 this->isHash($depTypeGroup)).{.$
bc600 64 65 70 54 79 70 65 47 72 6f 75 70 20 3d 20 61 72 72 61 79 28 24 64 65 70 54 79 70 65 47 72 6f depTypeGroup.=.array($depTypeGro
bc620 75 70 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 54 79 70 65 47 72 6f 75 70 20 61 up);.}..foreach.($depTypeGroup.a
bc640 73 20 24 64 65 70 49 74 65 6d 29 20 7b 0a 24 67 72 6f 75 70 4e 61 6d 65 20 3d 20 24 64 65 70 49 s.$depItem).{.$groupName.=.$depI
bc660 74 65 6d 5b 27 61 74 74 72 69 62 73 27 5d 5b 27 6e 61 6d 65 27 5d 3b 0a 69 66 20 28 21 69 73 73 tem['attribs']['name'];.if.(!iss
bc680 65 74 28 24 6f 70 74 69 6f 6e 61 6c 73 5b 24 67 72 6f 75 70 4e 61 6d 65 5d 29 29 20 7b 0a 24 6f et($optionals[$groupName])).{.$o
bc6a0 70 74 69 6f 6e 61 6c 73 5b 24 67 72 6f 75 70 4e 61 6d 65 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a ptionals[$groupName].=.array();.
bc6c0 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 70 49 74 65 6d 5b 27 73 75 62 70 61 63 6b 61 67 }..if.(isset($depItem['subpackag
bc6e0 65 27 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 61 6c 73 5b 24 67 72 6f 75 70 4e 61 6d 65 5d 20 2b e'])).{.$optionals[$groupName].+
bc700 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 65 43 6f 6e 73 74 72 61 69 =.$this->buildDepPackageConstrai
bc720 6e 74 73 28 24 64 65 70 49 74 65 6d 5b 27 73 75 62 70 61 63 6b 61 67 65 27 5d 2c 20 27 72 65 70 nts($depItem['subpackage'],.'rep
bc740 6c 61 63 65 73 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 73 75 6c 74 20 2b 3d 20 24 74 68 laces');.}.else.{.$result.+=.$th
bc760 69 73 2d 3e 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 is->buildDepPackageConstraints($
bc780 64 65 70 49 74 65 6d 5b 27 70 61 63 6b 61 67 65 27 5d 2c 20 27 6f 70 74 69 6f 6e 61 6c 27 29 3b depItem['package'],.'optional');
bc7a0 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 64 65 66 61 75 6c 74 4f 70 74 69 .}.}.}.}..if.(count($defaultOpti
bc7c0 6f 6e 61 6c 73 29 20 3e 20 30 29 20 7b 0a 24 6f 70 74 69 6f 6e 61 6c 73 5b 27 2a 27 5d 20 3d 20 onals).>.0).{.$optionals['*'].=.
bc7e0 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 61 6c 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 $defaultOptionals;.}..return.new
bc800 20 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 24 72 65 73 75 6c 74 2c 20 24 6f 70 74 69 6f 6e .DependencyInfo($result,.$option
bc820 61 6c 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e als);.}.........private.function
bc840 20 62 75 69 6c 64 44 65 70 45 78 74 65 6e 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 .buildDepExtensionConstraints($d
bc860 65 70 49 74 65 6d 2c 20 24 64 65 70 54 79 70 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 epItem,.$depType).{.if.($this->i
bc880 73 48 61 73 68 28 24 64 65 70 49 74 65 6d 29 29 20 7b 0a 24 64 65 70 49 74 65 6d 20 3d 20 61 72 sHash($depItem)).{.$depItem.=.ar
bc8a0 72 61 79 28 24 64 65 70 49 74 65 6d 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 ray($depItem);.}..$result.=.arra
bc8c0 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 49 74 65 6d 20 61 73 20 24 73 75 62 44 65 y();.foreach.($depItem.as.$subDe
bc8e0 70 49 74 65 6d 29 20 7b 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 27 65 78 74 27 pItem).{.$depChannelName.=.'ext'
bc900 3b 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 73 75 62 44 65 70 49 74 65 6d 5b ;.$depPackageName.=.$subDepItem[
bc920 27 6e 61 6d 65 27 5d 3b 0a 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 3d 'name'];.$depVersionConstraint.=
bc940 20 24 74 68 69 73 2d 3e 70 61 72 73 65 32 30 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 .$this->parse20VersionConstraint
bc960 28 24 73 75 62 44 65 70 49 74 65 6d 29 3b 0a 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 6e 65 77 20 ($subDepItem);..$result[].=.new.
bc980 44 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 28 0a 24 64 65 70 54 79 70 65 2c 0a DependencyConstraint(.$depType,.
bc9a0 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2c 0a 24 64 65 70 43 68 61 6e 6e $depVersionConstraint,.$depChann
bc9c0 65 6c 4e 61 6d 65 2c 0a 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 0a 29 3b 0a 7d 0a 0a 72 65 elName,.$depPackageName.);.}..re
bc9e0 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 turn.$result;.}.........private.
bca00 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 44 65 70 50 61 63 6b 61 67 65 43 6f 6e 73 74 72 61 69 function.buildDepPackageConstrai
bca20 6e 74 73 28 24 64 65 70 49 74 65 6d 2c 20 24 64 65 70 54 79 70 65 29 0a 7b 0a 69 66 20 28 24 74 nts($depItem,.$depType).{.if.($t
bca40 68 69 73 2d 3e 69 73 48 61 73 68 28 24 64 65 70 49 74 65 6d 29 29 20 7b 0a 24 64 65 70 49 74 65 his->isHash($depItem)).{.$depIte
bca60 6d 20 3d 20 61 72 72 61 79 28 24 64 65 70 49 74 65 6d 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 m.=.array($depItem);.}..$result.
bca80 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 49 74 65 6d 20 61 73 20 =.array();.foreach.($depItem.as.
bcaa0 24 73 75 62 44 65 70 49 74 65 6d 29 20 7b 0a 69 66 20 28 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 $subDepItem).{.if.(!array_key_ex
bcac0 69 73 74 73 28 27 63 68 61 6e 6e 65 6c 27 2c 20 24 73 75 62 44 65 70 49 74 65 6d 29 29 20 7b 0a ists('channel',.$subDepItem)).{.
bcae0 24 73 75 62 44 65 70 49 74 65 6d 5b 27 63 68 61 6e 6e 65 6c 27 5d 20 3d 20 24 73 75 62 44 65 70 $subDepItem['channel'].=.$subDep
bcb00 49 74 65 6d 5b 27 75 72 69 27 5d 3b 0a 7d 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d Item['uri'];.}.$depChannelName.=
bcb20 20 24 73 75 62 44 65 70 49 74 65 6d 5b 27 63 68 61 6e 6e 65 6c 27 5d 3b 0a 24 64 65 70 50 61 63 .$subDepItem['channel'];.$depPac
bcb40 6b 61 67 65 4e 61 6d 65 20 3d 20 24 73 75 62 44 65 70 49 74 65 6d 5b 27 6e 61 6d 65 27 5d 3b 0a kageName.=.$subDepItem['name'];.
bcb60 24 64 65 70 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 74 68 69 73 2d 3e 70 $depVersionConstraint.=.$this->p
bcb80 61 72 73 65 32 30 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 24 73 75 62 44 65 70 49 arse20VersionConstraint($subDepI
bcba0 74 65 6d 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 73 75 62 44 65 70 49 74 65 6d 5b 27 63 6f 6e tem);.if.(isset($subDepItem['con
bcbc0 66 6c 69 63 74 73 27 5d 29 29 20 7b 0a 24 64 65 70 54 79 70 65 20 3d 20 27 63 6f 6e 66 6c 69 63 flicts'])).{.$depType.=.'conflic
bcbe0 74 73 27 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 6e 65 77 20 44 65 70 65 6e 64 65 6e ts';.}..$result[].=.new.Dependen
bcc00 63 79 43 6f 6e 73 74 72 61 69 6e 74 28 0a 24 64 65 70 54 79 70 65 2c 0a 24 64 65 70 56 65 72 73 cyConstraint(.$depType,.$depVers
bcc20 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 2c 0a 24 64 65 70 43 68 61 6e 6e 65 6c 4e 61 6d 65 2c 0a ionConstraint,.$depChannelName,.
bcc40 24 64 65 70 50 61 63 6b 61 67 65 4e 61 6d 65 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 $depPackageName.);.}..return.$re
bcc60 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 sult;.}........private.function.
bcc80 70 61 72 73 65 32 30 56 65 72 73 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 28 61 72 72 61 79 20 24 parse20VersionConstraint(array.$
bcca0 64 61 74 61 29 0a 7b 0a 73 74 61 74 69 63 20 24 64 65 70 32 30 74 6f 4f 70 65 72 61 74 6f 72 4d data).{.static.$dep20toOperatorM
bccc0 61 70 20 3d 20 61 72 72 61 79 28 27 68 61 73 27 20 3d 3e 20 27 3d 3d 27 2c 20 27 6d 69 6e 27 20 ap.=.array('has'.=>.'==',.'min'.
bcce0 3d 3e 20 27 3e 3d 27 2c 20 27 6d 61 78 27 20 3d 3e 20 27 3c 3d 27 2c 20 27 65 78 63 6c 75 64 65 =>.'>=',.'max'.=>.'<=',.'exclude
bcd00 27 20 3d 3e 20 27 21 3d 27 29 3b 0a 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 '.=>.'!=');..$versions.=.array()
bcd20 3b 0a 24 76 61 6c 75 65 73 20 3d 20 61 72 72 61 79 5f 69 6e 74 65 72 73 65 63 74 5f 6b 65 79 28 ;.$values.=.array_intersect_key(
bcd40 24 64 61 74 61 2c 20 24 64 65 70 32 30 74 6f 4f 70 65 72 61 74 6f 72 4d 61 70 29 3b 0a 69 66 20 $data,.$dep20toOperatorMap);.if.
bcd60 28 30 20 3d 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 (0.==.count($values)).{.return.'
bcd80 2a 27 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 6d 69 6e 27 5d 29 20 *';.}.if.(isset($values['min']).
bcda0 26 26 20 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 65 78 63 6c 75 64 65 27 5d 29 20 26 26 20 &&.isset($values['exclude']).&&.
bcdc0 24 64 61 74 61 5b 27 6d 69 6e 27 5d 20 3d 3d 20 24 64 61 74 61 5b 27 65 78 63 6c 75 64 65 27 5d $data['min'].==.$data['exclude']
bcde0 29 20 7b 0a 24 76 65 72 73 69 6f 6e 73 5b 5d 20 3d 20 27 3e 27 20 2e 20 24 74 68 69 73 2d 3e 70 ).{.$versions[].=.'>'...$this->p
bce00 61 72 73 65 56 65 72 73 69 6f 6e 28 24 76 61 6c 75 65 73 5b 27 6d 69 6e 27 5d 29 3b 0a 7d 20 65 arseVersion($values['min']);.}.e
bce20 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 6d 61 78 27 5d 29 20 26 26 20 lseif.(isset($values['max']).&&.
bce40 69 73 73 65 74 28 24 76 61 6c 75 65 73 5b 27 65 78 63 6c 75 64 65 27 5d 29 20 26 26 20 24 64 61 isset($values['exclude']).&&.$da
bce60 74 61 5b 27 6d 61 78 27 5d 20 3d 3d 20 24 64 61 74 61 5b 27 65 78 63 6c 75 64 65 27 5d 29 20 7b ta['max'].==.$data['exclude']).{
bce80 0a 24 76 65 72 73 69 6f 6e 73 5b 5d 20 3d 20 27 3c 27 20 2e 20 24 74 68 69 73 2d 3e 70 61 72 73 .$versions[].=.'<'...$this->pars
bcea0 65 56 65 72 73 69 6f 6e 28 24 76 61 6c 75 65 73 5b 27 6d 61 78 27 5d 29 3b 0a 7d 20 65 6c 73 65 eVersion($values['max']);.}.else
bcec0 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 73 20 61 73 20 24 6f 70 20 3d 3e 20 24 76 .{.foreach.($values.as.$op.=>.$v
bcee0 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 27 65 78 63 6c 75 64 65 27 20 3d 3d 20 24 6f 70 20 26 ersion).{.if.('exclude'.==.$op.&
bcf00 26 20 69 73 5f 61 72 72 61 79 28 24 76 65 72 73 69 6f 6e 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 &.is_array($version)).{.foreach.
bcf20 28 24 76 65 72 73 69 6f 6e 20 61 73 20 24 76 65 72 73 69 6f 6e 50 61 72 74 29 20 7b 0a 24 76 65 ($version.as.$versionPart).{.$ve
bcf40 72 73 69 6f 6e 73 5b 5d 20 3d 20 24 64 65 70 32 30 74 6f 4f 70 65 72 61 74 6f 72 4d 61 70 5b 24 rsions[].=.$dep20toOperatorMap[$
bcf60 6f 70 5d 20 2e 20 24 74 68 69 73 2d 3e 70 61 72 73 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 op]...$this->parseVersion($versi
bcf80 6f 6e 50 61 72 74 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 65 72 73 69 6f 6e 73 5b 5d 20 onPart);.}.}.else.{.$versions[].
bcfa0 3d 20 24 64 65 70 32 30 74 6f 4f 70 65 72 61 74 6f 72 4d 61 70 5b 24 6f 70 5d 20 2e 20 24 74 68 =.$dep20toOperatorMap[$op]...$th
bcfc0 69 73 2d 3e 70 61 72 73 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 0a 7d 0a is->parseVersion($version);.}.}.
bcfe0 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2c 27 2c 20 24 76 65 72 73 69 6f 6e 73 }..return.implode(',',.$versions
bd000 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 );.}........private.function.par
bd020 73 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d seVersion($version).{.if.(preg_m
bd040 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 7b 31 2c 33 7d 29 28 5c 2e 5c 64 2b 29 3f 28 5c 2e 5c 64 atch('{^v?(\d{1,3})(\.\d+)?(\.\d
bd060 2b 29 3f 28 5c 2e 5c 64 2b 29 3f 7d 69 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 +)?(\.\d+)?}i',.$version,.$match
bd080 65 73 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 0a 2e 28 es)).{.$version.=.$matches[1]..(
bd0a0 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 32 !empty($matches[2]).?.$matches[2
bd0c0 5d 20 3a 20 27 2e 30 27 29 0a 2e 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 ].:.'.0')..(!empty($matches[3]).
bd0e0 3f 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 3a 20 27 2e 30 27 29 0a 2e 28 21 65 6d 70 74 79 28 24 ?.$matches[3].:.'.0')..(!empty($
bd100 6d 61 74 63 68 65 73 5b 34 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 34 5d 20 3a 20 27 2e 30 27 matches[4]).?.$matches[4].:.'.0'
bd120 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e );..return.$version;.}..return.n
bd140 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 ull;.}........private.function.i
bd160 73 48 61 73 68 28 61 72 72 61 79 20 24 61 72 72 61 79 29 0a 7b 0a 72 65 74 75 72 6e 20 21 61 72 sHash(array.$array).{.return.!ar
bd180 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 31 2c 20 24 61 72 72 61 79 29 20 26 26 20 21 61 72 ray_key_exists(1,.$array).&&.!ar
bd1a0 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 30 2c 20 24 61 72 72 61 79 29 3b 0a 7d 0a 7d 0a 3c ray_key_exists(0,.$array);.}.}.<
bd1c0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
bd1e0 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 er\Repository\Pear;.......class.
bd200 50 61 63 6b 61 67 65 49 6e 66 6f 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 68 61 6e 6e 65 6c 4e 61 PackageInfo.{.private.$channelNa
bd220 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 70 72 69 76 61 74 me;.private.$packageName;.privat
bd240 65 20 24 6c 69 63 65 6e 73 65 3b 0a 70 72 69 76 61 74 65 20 24 73 68 6f 72 74 44 65 73 63 72 69 e.$license;.private.$shortDescri
bd260 70 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 70 72 69 ption;.private.$description;.pri
bd280 76 61 74 65 20 24 72 65 6c 65 61 73 65 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 vate.$releases;..........public.
bd2a0 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 68 61 6e 6e 65 6c 4e 61 6d function.__construct($channelNam
bd2c0 65 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 6c 69 63 65 6e 73 65 2c 20 24 73 68 6f 72 e,.$packageName,.$license,.$shor
bd2e0 74 44 65 73 63 72 69 70 74 69 6f 6e 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 2c 20 24 72 65 6c tDescription,.$description,.$rel
bd300 65 61 73 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 4e 61 6d 65 20 3d 20 24 63 eases).{.$this->channelName.=.$c
bd320 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d hannelName;.$this->packageName.=
bd340 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 20 3d 20 .$packageName;.$this->license.=.
bd360 24 6c 69 63 65 6e 73 65 3b 0a 24 74 68 69 73 2d 3e 73 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f $license;.$this->shortDescriptio
bd380 6e 20 3d 20 24 73 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 64 65 n.=.$shortDescription;.$this->de
bd3a0 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 24 74 68 69 73 2d scription.=.$description;.$this-
bd3c0 3e 72 65 6c 65 61 73 65 73 20 3d 20 24 72 65 6c 65 61 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 >releases.=.$releases;.}.....pub
bd3e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 0a 7b 0a lic.function.getChannelName().{.
bd400 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 4e 61 6d 65 3b 0a 7d 0a 0a 0a 0a return.$this->channelName;.}....
bd420 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 .public.function.getPackageName(
bd440 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 7d ).{.return.$this->packageName;.}
bd460 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 .....public.function.getDescript
bd480 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f ion().{.return.$this->descriptio
bd4a0 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 68 6f 72 n;.}.....public.function.getShor
bd4c0 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 tDescription().{.return.$this->s
bd4e0 68 6f 72 74 44 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 hortDescription;.}.....public.fu
bd500 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 nction.getLicense().{.return.$th
bd520 69 73 2d 3e 6c 69 63 65 6e 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 is->license;.}.....public.functi
bd540 6f 6e 20 67 65 74 52 65 6c 65 61 73 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d on.getReleases().{.return.$this-
bd560 3e 72 65 6c 65 61 73 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a >releases;.}.}.<?php............
bd580 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 namespace.Composer\Repository\Pe
bd5a0 61 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 6c 65 61 73 65 49 6e 66 6f 0a 7b 0a 70 72 ar;.......class.ReleaseInfo.{.pr
bd5c0 69 76 61 74 65 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 70 72 69 76 61 74 65 20 24 64 65 70 65 6e ivate.$stability;.private.$depen
bd5e0 64 65 6e 63 79 49 6e 66 6f 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 dencyInfo;......public.function.
bd600 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 73 74 61 62 69 6c 69 74 79 2c 20 24 64 65 70 65 6e 64 65 __construct($stability,.$depende
bd620 6e 63 79 49 6e 66 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 20 3d 20 24 73 ncyInfo).{.$this->stability.=.$s
bd640 74 61 62 69 6c 69 74 79 3b 0a 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 20 tability;.$this->dependencyInfo.
bd660 3d 20 24 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 =.$dependencyInfo;.}.....public.
bd680 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 29 0a 7b 0a 72 function.getDependencyInfo().{.r
bd6a0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 3b 0a 7d 0a 0a eturn.$this->dependencyInfo;.}..
bd6c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 62 69 6c 69 74 79 28 ...public.function.getStability(
bd6e0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 7d ).{.return.$this->stability;.}.}
bd700 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
bd720 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 oser\Repository;..use.Composer\I
bd740 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 O\IOInterface;.use.Composer\Semv
bd760 65 72 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 20 61 73 20 53 65 6d 76 65 72 56 65 72 73 69 6f er\VersionParser.as.SemverVersio
bd780 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 nParser;.use.Composer\Package\Ve
bd7a0 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 rsion\VersionParser;.use.Compose
bd7c0 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 65 61 72 5c 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 3b r\Repository\Pear\ChannelReader;
bd7e0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 .use.Composer\Package\CompletePa
bd800 63 6b 61 67 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 ckage;.use.Composer\Repository\P
bd820 65 61 72 5c 43 68 61 6e 6e 65 6c 49 6e 66 6f 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 ear\ChannelInfo;.use.Composer\Ev
bd840 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 entDispatcher\EventDispatcher;.u
bd860 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 43 6f se.Composer\Package\Link;.use.Co
bd880 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 mposer\Semver\Constraint\Constra
bd8a0 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c int;.use.Composer\Util\RemoteFil
bd8c0 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 esystem;.use.Composer\Config;.us
bd8e0 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c e.Composer\Factory;...........cl
bd900 61 73 73 20 50 65 61 72 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 72 61 79 ass.PearRepository.extends.Array
bd920 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 66 69 67 75 72 61 62 Repository.implements.Configurab
bd940 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 leRepositoryInterface.{.private.
bd960 24 75 72 6c 3b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 70 72 69 76 61 74 65 20 24 72 66 73 3b $url;.private.$io;.private.$rfs;
bd980 0a 70 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 69 76 61 74 65 .private.$versionParser;.private
bd9a0 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 76 65 6e 64 6f .$repoConfig;.....private.$vendo
bd9c0 72 41 6c 69 61 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 rAlias;..public.function.__const
bd9e0 72 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 6e 74 65 72 66 ruct(array.$repoConfig,.IOInterf
bda00 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 ace.$io,.Config.$config,.EventDi
bda20 73 70 61 74 63 68 65 72 20 24 64 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d spatcher.$dispatcher.=.null,.Rem
bda40 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 oteFilesystem.$rfs.=.null).{.par
bda60 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 ent::__construct();.if.(!preg_ma
bda80 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 7d 27 2c 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b tch('{^https?://}',.$repoConfig[
bdaa0 27 75 72 6c 27 5d 29 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 20 3d 20 'url'])).{.$repoConfig['url'].=.
bdac0 27 68 74 74 70 3a 2f 2f 27 2e 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 7d 0a 'http://'.$repoConfig['url'];.}.
bdae0 0a 24 75 72 6c 42 69 74 73 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 72 65 70 6f 43 6f 6e 66 69 .$urlBits.=.parse_url($repoConfi
bdb00 67 5b 27 75 72 6c 27 5d 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 75 72 6c 42 69 74 73 5b 27 73 g['url']);.if.(empty($urlBits['s
bdb20 63 68 65 6d 65 27 5d 29 20 7c 7c 20 65 6d 70 74 79 28 24 75 72 6c 42 69 74 73 5b 27 68 6f 73 74 cheme']).||.empty($urlBits['host
bdb40 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 '])).{.throw.new.\UnexpectedValu
bdb60 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 75 72 6c 20 67 69 76 65 6e 20 66 6f eException('Invalid.url.given.fo
bdb80 72 20 50 45 41 52 20 72 65 70 6f 73 69 74 6f 72 79 3a 20 27 2e 24 72 65 70 6f 43 6f 6e 66 69 67 r.PEAR.repository:.'.$repoConfig
bdba0 5b 27 75 72 6c 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 72 74 72 69 6d 28 ['url']);.}..$this->url.=.rtrim(
bdbc0 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 2c 20 27 2f 27 29 3b 0a 24 74 68 69 73 2d $repoConfig['url'],.'/');.$this-
bdbe0 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 20 3f 3a 20 >io.=.$io;.$this->rfs.=.$rfs.?:.
bdc00 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 Factory::createRemoteFilesystem(
bdc20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 76 65 6e 64 $this->io,.$config);.$this->vend
bdc40 6f 72 41 6c 69 61 73 20 3d 20 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 76 65 6e orAlias.=.isset($repoConfig['ven
bdc60 64 6f 72 2d 61 6c 69 61 73 27 5d 29 20 3f 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 76 65 6e 64 dor-alias']).?.$repoConfig['vend
bdc80 6f 72 2d 61 6c 69 61 73 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f or-alias'].:.null;.$this->versio
bdca0 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 nParser.=.new.VersionParser();.$
bdcc0 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a this->repoConfig.=.$repoConfig;.
bdce0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 }..public.function.getRepoConfig
bdd00 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d ().{.return.$this->repoConfig;.}
bdd20 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 ..protected.function.initialize(
bdd40 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 74 68 69 73 ).{.parent::initialize();..$this
bdd60 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 49 6e 69 74 69 61 6c 69 7a 69 6e 67 20 50 ->io->writeError('Initializing.P
bdd80 45 41 52 20 72 65 70 6f 73 69 74 6f 72 79 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 0a 24 EAR.repository.'.$this->url);..$
bdda0 72 65 61 64 65 72 20 3d 20 6e 65 77 20 43 68 61 6e 6e 65 6c 52 65 61 64 65 72 28 24 74 68 69 73 reader.=.new.ChannelReader($this
bddc0 2d 3e 72 66 73 29 3b 0a 74 72 79 20 7b 0a 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 20 3d 20 24 72 65 ->rfs);.try.{.$channelInfo.=.$re
bdde0 61 64 65 72 2d 3e 72 65 61 64 28 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 20 63 61 74 63 68 20 ader->read($this->url);.}.catch.
bde00 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 (\Exception.$e).{.$this->io->wri
bde20 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 50 45 41 52 20 72 65 70 6f 73 69 74 6f 72 teError('<warning>PEAR.repositor
bde40 79 20 66 72 6f 6d 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 y.from.'.$this->url.'.could.not.
bde60 62 65 20 6c 6f 61 64 65 64 2e 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c be.loaded..'.$e->getMessage().'<
bde80 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 70 61 63 6b 61 67 65 /warning>');..return;.}.$package
bdea0 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 73 s.=.$this->buildComposerPackages
bdec0 28 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 ($channelInfo,.$this->versionPar
bdee0 73 65 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 ser);.foreach.($packages.as.$pac
bdf00 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 kage).{.$this->addPackage($packa
bdf20 67 65 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f ge);.}.}.........private.functio
bdf40 6e 20 62 75 69 6c 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 73 28 43 68 61 6e 6e 65 6c 49 n.buildComposerPackages(ChannelI
bdf60 6e 66 6f 20 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 2c 20 53 65 6d 76 65 72 56 65 72 73 69 6f 6e 50 nfo.$channelInfo,.SemverVersionP
bdf80 61 72 73 65 72 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 0a 7b 0a 24 72 65 73 75 6c 74 20 arser.$versionParser).{.$result.
bdfa0 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 68 61 6e 6e 65 6c 49 6e 66 6f =.array();.foreach.($channelInfo
bdfc0 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 20 61 73 20 24 70 61 63 6b 61 67 65 44 65 66 69 6e ->getPackages().as.$packageDefin
bdfe0 69 74 69 6f 6e 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 ition).{.foreach.($packageDefini
be000 74 69 6f 6e 2d 3e 67 65 74 52 65 6c 65 61 73 65 73 28 29 20 61 73 20 24 76 65 72 73 69 6f 6e 20 tion->getReleases().as.$version.
be020 3d 3e 20 24 72 65 6c 65 61 73 65 49 6e 66 6f 29 20 7b 0a 74 72 79 20 7b 0a 24 6e 6f 72 6d 61 6c =>.$releaseInfo).{.try.{.$normal
be040 69 7a 65 64 56 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f izedVersion.=.$versionParser->no
be060 72 6d 61 6c 69 7a 65 28 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 rmalize($version);.}.catch.(\Une
be080 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 xpectedValueException.$e).{.$thi
be0a0 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 43 6f 75 6c 64 20 6e 6f 74 20 6c 6f 61 s->io->writeError('Could.not.loa
be0c0 64 20 27 2e 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 d.'.$packageDefinition->getPacka
be0e0 67 65 4e 61 6d 65 28 29 2e 27 20 27 2e 24 76 65 72 73 69 6f 6e 2e 27 3a 20 27 2e 24 65 2d 3e 67 geName().'.'.$version.':.'.$e->g
be100 65 74 4d 65 73 73 61 67 65 28 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a etMessage(),.true,.IOInterface::
be120 56 45 52 42 4f 53 45 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 VERBOSE);.continue;.}..$composer
be140 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f 6d 70 6f 73 PackageName.=.$this->buildCompos
be160 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e erPackageName($packageDefinition
be180 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 2c 20 24 70 61 63 6b 61 67 65 44 65 66 69 ->getChannelName(),.$packageDefi
be1a0 6e 69 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 29 3b 0a 0a 0a 20 0a 20 nition->getPackageName());......
be1c0 24 75 72 6c 42 69 74 73 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e 75 72 6c 29 $urlBits.=.parse_url($this->url)
be1e0 3b 0a 24 73 63 68 65 6d 65 20 3d 20 28 69 73 73 65 74 28 24 75 72 6c 42 69 74 73 5b 27 73 63 68 ;.$scheme.=.(isset($urlBits['sch
be200 65 6d 65 27 5d 29 20 26 26 20 27 68 74 74 70 73 27 20 3d 3d 3d 20 24 75 72 6c 42 69 74 73 5b 27 eme']).&&.'https'.===.$urlBits['
be220 73 63 68 65 6d 65 27 5d 20 26 26 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 scheme'].&&.extension_loaded('op
be240 65 6e 73 73 6c 27 29 29 20 3f 20 27 68 74 74 70 73 27 20 3a 20 27 68 74 74 70 27 3b 0a 24 64 69 enssl')).?.'https'.:.'http';.$di
be260 73 74 55 72 6c 20 3d 20 22 7b 24 73 63 68 65 6d 65 7d 3a 2f 2f 7b 24 70 61 63 6b 61 67 65 44 65 stUrl.=."{$scheme}://{$packageDe
be280 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 7d 2f 67 65 74 2f finition->getChannelName()}/get/
be2a0 7b 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 67 65 4e {$packageDefinition->getPackageN
be2c0 61 6d 65 28 29 7d 2d 7b 24 76 65 72 73 69 6f 6e 7d 2e 74 67 7a 22 3b 0a 0a 24 72 65 71 75 69 72 ame()}-{$version}.tgz";..$requir
be2e0 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 73 75 67 67 65 73 74 73 20 3d 20 61 72 72 61 79 28 es.=.array();.$suggests.=.array(
be300 29 3b 0a 24 63 6f 6e 66 6c 69 63 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 70 6c 61 63 );.$conflicts.=.array();.$replac
be320 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 63 68 61 6e 6e 65 6c 49 es.=.array();......if.($channelI
be340 6e 66 6f 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 20 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 nfo->getName().==.$packageDefini
be360 74 69 6f 6e 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 29 20 7b 0a 24 63 6f 6d 70 6f tion->getChannelName()).{.$compo
be380 73 65 72 50 61 63 6b 61 67 65 41 6c 69 61 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f serPackageAlias.=.$this->buildCo
be3a0 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 2d 3e mposerPackageName($channelInfo->
be3c0 67 65 74 41 6c 69 61 73 28 29 2c 20 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e getAlias(),.$packageDefinition->
be3e0 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 29 3b 0a 24 61 6c 69 61 73 43 6f 6e 73 74 72 61 getPackageName());.$aliasConstra
be400 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 6e 6f 72 6d int.=.new.Constraint('==',.$norm
be420 61 6c 69 7a 65 64 56 65 72 73 69 6f 6e 29 3b 0a 24 72 65 70 6c 61 63 65 73 5b 5d 20 3d 20 6e 65 alizedVersion);.$replaces[].=.ne
be440 77 20 4c 69 6e 6b 28 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 63 6f w.Link($composerPackageName,.$co
be460 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 41 6c 69 61 73 2c 20 24 61 6c 69 61 73 43 6f 6e 73 74 72 mposerPackageAlias,.$aliasConstr
be480 61 69 6e 74 2c 20 27 72 65 70 6c 61 63 65 73 27 2c 20 28 73 74 72 69 6e 67 29 20 24 61 6c 69 61 aint,.'replaces',.(string).$alia
be4a0 73 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 65 6d 70 74 79 28 24 74 sConstraint);.}....if.(!empty($t
be4c0 68 69 73 2d 3e 76 65 6e 64 6f 72 41 6c 69 61 73 29 0a 26 26 20 28 24 74 68 69 73 2d 3e 76 65 6e his->vendorAlias).&&.($this->ven
be4e0 64 6f 72 41 6c 69 61 73 20 21 3d 20 27 70 65 61 72 2d 27 2e 24 63 68 61 6e 6e 65 6c 49 6e 66 6f dorAlias.!=.'pear-'.$channelInfo
be500 2d 3e 67 65 74 41 6c 69 61 73 28 29 20 7c 7c 20 24 63 68 61 6e 6e 65 6c 49 6e 66 6f 2d 3e 67 65 ->getAlias().||.$channelInfo->ge
be520 74 4e 61 6d 65 28 29 20 21 3d 20 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 tName().!=.$packageDefinition->g
be540 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 29 0a 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 50 61 etChannelName()).).{.$composerPa
be560 63 6b 61 67 65 41 6c 69 61 73 20 3d 20 22 7b 24 74 68 69 73 2d 3e 76 65 6e 64 6f 72 41 6c 69 61 ckageAlias.=."{$this->vendorAlia
be580 73 7d 2f 7b 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 50 61 63 6b 61 s}/{$packageDefinition->getPacka
be5a0 67 65 4e 61 6d 65 28 29 7d 22 3b 0a 24 61 6c 69 61 73 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e geName()}";.$aliasConstraint.=.n
be5c0 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 64 56 ew.Constraint('==',.$normalizedV
be5e0 65 72 73 69 6f 6e 29 3b 0a 24 72 65 70 6c 61 63 65 73 5b 5d 20 3d 20 6e 65 77 20 4c 69 6e 6b 28 ersion);.$replaces[].=.new.Link(
be600 24 63 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 63 6f 6d 70 6f 73 65 72 50 $composerPackageName,.$composerP
be620 61 63 6b 61 67 65 41 6c 69 61 73 2c 20 24 61 6c 69 61 73 43 6f 6e 73 74 72 61 69 6e 74 2c 20 27 ackageAlias,.$aliasConstraint,.'
be640 72 65 70 6c 61 63 65 73 27 2c 20 28 73 74 72 69 6e 67 29 20 24 61 6c 69 61 73 43 6f 6e 73 74 72 replaces',.(string).$aliasConstr
be660 61 69 6e 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 6c 65 61 73 65 49 6e 66 6f 2d aint);.}..foreach.($releaseInfo-
be680 3e 67 65 74 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 29 2d 3e 67 65 74 52 65 71 75 69 72 65 >getDependencyInfo()->getRequire
be6a0 73 28 29 20 61 73 20 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a s().as.$dependencyConstraint).{.
be6c0 24 64 65 70 65 6e 64 65 6e 63 79 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e $dependencyPackageName.=.$this->
be6e0 62 75 69 6c 64 43 6f 6d 70 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 64 65 70 65 6e 64 buildComposerPackageName($depend
be700 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 encyConstraint->getChannelName()
be720 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 50 61 63 6b ,.$dependencyConstraint->getPack
be740 61 67 65 4e 61 6d 65 28 29 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 76 65 72 73 69 ageName());.$constraint.=.$versi
be760 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 65 70 65 onParser->parseConstraints($depe
be780 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 ndencyConstraint->getConstraint(
be7a0 29 29 3b 0a 24 6c 69 6e 6b 20 3d 20 6e 65 77 20 4c 69 6e 6b 28 24 63 6f 6d 70 6f 73 65 72 50 61 ));.$link.=.new.Link($composerPa
be7c0 63 6b 61 67 65 4e 61 6d 65 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 50 61 63 6b 61 67 65 4e 61 6d ckageName,.$dependencyPackageNam
be7e0 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 e,.$constraint,.$dependencyConst
be800 72 61 69 6e 74 2d 3e 67 65 74 54 79 70 65 28 29 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e raint->getType(),.$dependencyCon
be820 73 74 72 61 69 6e 74 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 29 3b 0a 73 77 69 74 63 straint->getConstraint());.switc
be840 68 20 28 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 54 79 70 h.($dependencyConstraint->getTyp
be860 65 28 29 29 20 7b 0a 63 61 73 65 20 27 72 65 71 75 69 72 65 64 27 3a 0a 24 72 65 71 75 69 72 65 e()).{.case.'required':.$require
be880 73 5b 5d 20 3d 20 24 6c 69 6e 6b 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 63 6f 6e 66 6c 69 s[].=.$link;.break;.case.'confli
be8a0 63 74 73 27 3a 0a 24 63 6f 6e 66 6c 69 63 74 73 5b 5d 20 3d 20 24 6c 69 6e 6b 3b 0a 62 72 65 61 cts':.$conflicts[].=.$link;.brea
be8c0 6b 3b 0a 63 61 73 65 20 27 72 65 70 6c 61 63 65 73 27 3a 0a 24 72 65 70 6c 61 63 65 73 5b 5d 20 k;.case.'replaces':.$replaces[].
be8e0 3d 20 24 6c 69 6e 6b 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 =.$link;.break;.}.}..foreach.($r
be900 65 6c 65 61 73 65 49 6e 66 6f 2d 3e 67 65 74 44 65 70 65 6e 64 65 6e 63 79 49 6e 66 6f 28 29 2d eleaseInfo->getDependencyInfo()-
be920 3e 67 65 74 4f 70 74 69 6f 6e 61 6c 73 28 29 20 61 73 20 24 67 72 6f 75 70 20 3d 3e 20 24 64 65 >getOptionals().as.$group.=>.$de
be940 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 pendencyConstraints).{.foreach.(
be960 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 73 20 61 73 20 24 64 65 70 65 6e $dependencyConstraints.as.$depen
be980 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 64 65 70 65 6e 64 65 6e 63 79 50 61 dencyConstraint).{.$dependencyPa
be9a0 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f 6d 70 6f 73 65 72 ckageName.=.$this->buildComposer
be9c0 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 69 6e PackageName($dependencyConstrain
be9e0 74 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 4e 61 6d 65 28 29 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 t->getChannelName(),.$dependency
bea00 43 6f 6e 73 74 72 61 69 6e 74 2d 3e 67 65 74 50 61 63 6b 61 67 65 4e 61 6d 65 28 29 29 3b 0a 24 Constraint->getPackageName());.$
bea20 73 75 67 67 65 73 74 73 5b 24 67 72 6f 75 70 2e 27 2d 27 2e 24 64 65 70 65 6e 64 65 6e 63 79 50 suggests[$group.'-'.$dependencyP
bea40 61 63 6b 61 67 65 4e 61 6d 65 5d 20 3d 20 24 64 65 70 65 6e 64 65 6e 63 79 43 6f 6e 73 74 72 61 ackageName].=.$dependencyConstra
bea60 69 6e 74 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 28 29 3b 0a 7d 0a 7d 0a 0a 24 70 61 63 6b int->getConstraint();.}.}..$pack
bea80 61 67 65 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 24 63 6f 6d 70 6f age.=.new.CompletePackage($compo
beaa0 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 6e 6f 72 6d 61 6c 69 7a 65 64 56 65 72 73 69 serPackageName,.$normalizedVersi
beac0 6f 6e 2c 20 24 76 65 72 73 69 6f 6e 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 54 79 70 65 on,.$version);.$package->setType
beae0 28 27 70 65 61 72 2d 6c 69 62 72 61 72 79 27 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 ('pear-library');.$package->setD
beb00 65 73 63 72 69 70 74 69 6f 6e 28 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 escription($packageDefinition->g
beb20 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 4c etDescription());.$package->setL
beb40 69 63 65 6e 73 65 28 61 72 72 61 79 28 24 70 61 63 6b 61 67 65 44 65 66 69 6e 69 74 69 6f 6e 2d icense(array($packageDefinition-
beb60 3e 67 65 74 4c 69 63 65 6e 73 65 28 29 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 >getLicense()));.$package->setDi
beb80 73 74 54 79 70 65 28 27 66 69 6c 65 27 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 69 73 stType('file');.$package->setDis
beba0 74 55 72 6c 28 24 64 69 73 74 55 72 6c 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 41 75 74 tUrl($distUrl);.$package->setAut
bebc0 6f 6c 6f 61 64 28 61 72 72 61 79 28 27 63 6c 61 73 73 6d 61 70 27 20 3d 3e 20 61 72 72 61 79 28 oload(array('classmap'.=>.array(
bebe0 27 27 29 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 49 6e 63 6c 75 64 65 50 61 74 68 73 '')));.$package->setIncludePaths
bec00 28 61 72 72 61 79 28 27 2f 27 29 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 52 65 71 75 69 (array('/'));.$package->setRequi
bec20 72 65 73 28 24 72 65 71 75 69 72 65 73 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 43 6f 6e res($requires);.$package->setCon
bec40 66 6c 69 63 74 73 28 24 63 6f 6e 66 6c 69 63 74 73 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 flicts($conflicts);.$package->se
bec60 74 53 75 67 67 65 73 74 73 28 24 73 75 67 67 65 73 74 73 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e tSuggests($suggests);.$package->
bec80 73 65 74 52 65 70 6c 61 63 65 73 28 24 72 65 70 6c 61 63 65 73 29 3b 0a 24 72 65 73 75 6c 74 5b setReplaces($replaces);.$result[
beca0 5d 20 3d 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c ].=.$package;.}.}..return.$resul
becc0 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 43 6f 6d 70 t;.}..private.function.buildComp
bece0 6f 73 65 72 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 2c 20 24 70 oserPackageName($channelName,.$p
bed00 61 63 6b 61 67 65 4e 61 6d 65 29 0a 7b 0a 69 66 20 28 27 70 68 70 27 20 3d 3d 3d 20 24 63 68 61 ackageName).{.if.('php'.===.$cha
bed20 6e 6e 65 6c 4e 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 22 70 68 70 22 3b 0a 7d 0a 69 66 20 28 nnelName).{.return."php";.}.if.(
bed40 27 65 78 74 27 20 3d 3d 3d 20 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e 'ext'.===.$channelName).{.return
bed60 20 22 65 78 74 2d 7b 24 70 61 63 6b 61 67 65 4e 61 6d 65 7d 22 3b 0a 7d 0a 0a 72 65 74 75 72 6e ."ext-{$packageName}";.}..return
bed80 20 22 70 65 61 72 2d 7b 24 63 68 61 6e 6e 65 6c 4e 61 6d 65 7d 2f 7b 24 70 61 63 6b 61 67 65 4e ."pear-{$channelName}/{$packageN
beda0 61 6d 65 7d 22 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 ame}";.}.}.<?php............name
bedc0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 space.Composer\Repository;..use.
bede0 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 Composer\Package\CompletePackage
bee00 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e ;.use.Composer\Package\PackageIn
bee20 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 terface;.use.Composer\Package\Ve
bee40 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 rsion\VersionParser;.use.Compose
bee60 72 5c 50 6c 75 67 69 6e 5c 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f r\Plugin\PluginInterface;.use.Co
bee80 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 mposer\Util\ProcessExecutor;.use
beea0 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 69 6c 65 6e 63 65 72 3b 0a 75 73 65 20 43 6f 6d .Composer\Util\Silencer;.use.Com
beec0 70 6f 73 65 72 5c 55 74 69 6c 5c 50 6c 61 74 66 6f 72 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 poser\Util\Platform;.use.Compose
beee0 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3b 0a 75 r\XdebugHandler\XdebugHandler;.u
bef00 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 65 se.Symfony\Component\Process\Exe
bef20 63 75 74 61 62 6c 65 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 6c 61 74 66 6f 72 cutableFinder;.....class.Platfor
bef40 6d 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 mRepository.extends.ArrayReposit
bef60 6f 72 79 0a 7b 0a 63 6f 6e 73 74 20 50 4c 41 54 46 4f 52 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 ory.{.const.PLATFORM_PACKAGE_REG
bef80 45 58 20 3d 20 27 7b 5e 28 3f 3a 70 68 70 28 3f 3a 2d 36 34 62 69 74 7c 2d 69 70 76 36 7c 2d 7a EX.=.'{^(?:php(?:-64bit|-ipv6|-z
befa0 74 73 7c 2d 64 65 62 75 67 29 3f 7c 68 68 76 6d 7c 28 3f 3a 65 78 74 7c 6c 69 62 29 2d 5b 61 2d ts|-debug)?|hhvm|(?:ext|lib)-[a-
befc0 7a 30 2d 39 5d 28 3f 3a 5b 5f 2e 2d 5d 3f 5b 61 2d 7a 30 2d 39 5d 2b 29 2a 7c 63 6f 6d 70 6f 73 z0-9](?:[_.-]?[a-z0-9]+)*|compos
befe0 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 29 24 7d 69 44 27 3b 0a 0a 70 72 69 76 61 74 65 20 24 76 er-plugin-api)$}iD';..private.$v
bf000 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f ersionParser;.........private.$o
bf020 76 65 72 72 69 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 70 72 verrides.=.array();..private.$pr
bf040 6f 63 65 73 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 ocess;..public.function.__constr
bf060 75 63 74 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 2c 20 61 uct(array.$packages.=.array(),.a
bf080 72 72 61 79 20 24 6f 76 65 72 72 69 64 65 73 20 3d 20 61 72 72 61 79 28 29 2c 20 50 72 6f 63 65 rray.$overrides.=.array(),.Proce
bf0a0 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 ssExecutor.$process.=.null).{.$t
bf0c0 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3d 3d 3d 20 6e 75 6c 6c his->process.=.$process.===.null
bf0e0 20 3f 20 28 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 29 29 20 3a 20 24 70 72 .?.(new.ProcessExecutor()).:.$pr
bf100 6f 63 65 73 73 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 76 65 72 72 69 64 65 73 20 61 73 20 24 6e ocess;.foreach.($overrides.as.$n
bf120 61 6d 65 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 76 65 72 72 69 ame.=>.$version).{.$this->overri
bf140 64 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 20 3d 20 61 72 72 61 79 28 27 des[strtolower($name)].=.array('
bf160 6e 61 6d 65 27 20 3d 3e 20 24 6e 61 6d 65 2c 20 27 76 65 72 73 69 6f 6e 27 20 3d 3e 20 24 76 65 name'.=>.$name,.'version'.=>.$ve
bf180 72 73 69 6f 6e 29 3b 0a 7d 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 rsion);.}.parent::__construct($p
bf1a0 61 63 6b 61 67 65 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 ackages);.}..protected.function.
bf1c0 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 69 6e 69 74 69 61 6c 69 7a initialize().{.parent::initializ
bf1e0 65 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 e();..$this->versionParser.=.new
bf200 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 0a 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 .VersionParser();......foreach.(
bf220 24 74 68 69 73 2d 3e 6f 76 65 72 72 69 64 65 73 20 61 73 20 24 6f 76 65 72 72 69 64 65 29 20 7b $this->overrides.as.$override).{
bf240 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 73 65 6c 66 3a 3a 50 4c 41 54 46 4f 52 ...if.(!preg_match(self::PLATFOR
bf260 4d 5f 50 41 43 4b 41 47 45 5f 52 45 47 45 58 2c 20 24 6f 76 65 72 72 69 64 65 5b 27 6e 61 6d 65 M_PACKAGE_REGEX,.$override['name
bf280 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e '])).{.throw.new.\InvalidArgumen
bf2a0 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 70 6c 61 74 66 6f 72 6d 20 70 61 63 tException('Invalid.platform.pac
bf2c0 6b 61 67 65 20 6e 61 6d 65 20 69 6e 20 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 3a 20 27 2e kage.name.in.config.platform:.'.
bf2e0 24 6f 76 65 72 72 69 64 65 5b 27 6e 61 6d 65 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 $override['name']);.}..$this->ad
bf300 64 4f 76 65 72 72 69 64 64 65 6e 50 61 63 6b 61 67 65 28 24 6f 76 65 72 72 69 64 65 29 3b 0a 7d dOverriddenPackage($override);.}
bf320 0a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 50 6c 75 67 69 6e 49 6e 74 65 72 66 61 ..$prettyVersion.=.PluginInterfa
bf340 63 65 3a 3a 50 4c 55 47 49 4e 5f 41 50 49 5f 56 45 52 53 49 4f 4e 3b 0a 24 76 65 72 73 69 6f 6e ce::PLUGIN_API_VERSION;.$version
bf360 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 .=.$this->versionParser->normali
bf380 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 50 6c 75 ze($prettyVersion);.$composerPlu
bf3a0 67 69 6e 41 70 69 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 27 63 6f ginApi.=.new.CompletePackage('co
bf3c0 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 2d 61 70 69 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 mposer-plugin-api',.$version,.$p
bf3e0 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 50 6c 75 67 69 6e 41 70 rettyVersion);.$composerPluginAp
bf400 69 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 43 6f 6d 70 6f 73 65 72 20 i->setDescription('The.Composer.
bf420 50 6c 75 67 69 6e 20 41 50 49 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 Plugin.API');.$this->addPackage(
bf440 24 63 6f 6d 70 6f 73 65 72 50 6c 75 67 69 6e 41 70 69 29 3b 0a 0a 74 72 79 20 7b 0a 24 70 72 65 $composerPluginApi);..try.{.$pre
bf460 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 50 48 50 5f 56 45 52 53 49 4f 4e 3b 0a 24 76 65 72 73 69 ttyVersion.=.PHP_VERSION;.$versi
bf480 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 on.=.$this->versionParser->norma
bf4a0 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c lize($prettyVersion);.}.catch.(\
bf4c0 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 UnexpectedValueException.$e).{.$
bf4e0 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5e prettyVersion.=.preg_replace('#^
bf500 28 5b 5e 7e 2b 2d 5d 2b 29 2e 2a 24 23 27 2c 20 27 24 31 27 2c 20 50 48 50 5f 56 45 52 53 49 4f ([^~+-]+).*$#',.'$1',.PHP_VERSIO
bf520 4e 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 N);.$version.=.$this->versionPar
bf540 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a ser->normalize($prettyVersion);.
bf560 7d 0a 0a 24 70 68 70 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 27 70 }..$php.=.new.CompletePackage('p
bf580 68 70 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a hp',.$version,.$prettyVersion);.
bf5a0 24 70 68 70 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 50 48 50 20 69 6e $php->setDescription('The.PHP.in
bf5c0 74 65 72 70 72 65 74 65 72 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 terpreter');.$this->addPackage($
bf5e0 70 68 70 29 3b 0a 0a 69 66 20 28 50 48 50 5f 44 45 42 55 47 29 20 7b 0a 24 70 68 70 64 65 62 75 php);..if.(PHP_DEBUG).{.$phpdebu
bf600 67 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 27 70 68 70 2d 64 65 62 g.=.new.CompletePackage('php-deb
bf620 75 67 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a ug',.$version,.$prettyVersion);.
bf640 24 70 68 70 64 65 62 75 67 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 50 $phpdebug->setDescription('The.P
bf660 48 50 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 77 69 74 68 20 64 65 62 75 67 67 69 6e 67 20 73 HP.interpreter,.with.debugging.s
bf680 79 6d 62 6f 6c 73 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 68 70 ymbols');.$this->addPackage($php
bf6a0 64 65 62 75 67 29 3b 0a 7d 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 5f 5a 54 53 27 debug);.}..if.(defined('PHP_ZTS'
bf6c0 29 20 26 26 20 50 48 50 5f 5a 54 53 29 20 7b 0a 24 70 68 70 7a 74 73 20 3d 20 6e 65 77 20 43 6f ).&&.PHP_ZTS).{.$phpzts.=.new.Co
bf6e0 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 27 70 68 70 2d 7a 74 73 27 2c 20 24 76 65 72 73 69 6f mpletePackage('php-zts',.$versio
bf700 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 70 68 70 7a 74 73 2d 3e 73 65 74 n,.$prettyVersion);.$phpzts->set
bf720 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 50 48 50 20 69 6e 74 65 72 70 72 65 74 65 72 Description('The.PHP.interpreter
bf740 2c 20 77 69 74 68 20 5a 65 6e 64 20 54 68 72 65 61 64 20 53 61 66 65 74 79 27 29 3b 0a 24 74 68 ,.with.Zend.Thread.Safety');.$th
bf760 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 68 70 7a 74 73 29 3b 0a 7d 0a 0a 69 66 20 28 is->addPackage($phpzts);.}..if.(
bf780 50 48 50 5f 49 4e 54 5f 53 49 5a 45 20 3d 3d 3d 20 38 29 20 7b 0a 24 70 68 70 36 34 20 3d 20 6e PHP_INT_SIZE.===.8).{.$php64.=.n
bf7a0 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 27 70 68 70 2d 36 34 62 69 74 27 2c 20 ew.CompletePackage('php-64bit',.
bf7c0 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 70 68 70 36 $version,.$prettyVersion);.$php6
bf7e0 34 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 50 48 50 20 69 6e 74 65 72 4->setDescription('The.PHP.inter
bf800 70 72 65 74 65 72 2c 20 36 34 62 69 74 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 preter,.64bit');.$this->addPacka
bf820 67 65 28 24 70 68 70 36 34 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 64 65 66 69 6e 65 64 28 27 ge($php64);.}......if.(defined('
bf840 41 46 5f 49 4e 45 54 36 27 29 20 7c 7c 20 53 69 6c 65 6e 63 65 72 3a 3a 63 61 6c 6c 28 27 69 6e AF_INET6').||.Silencer::call('in
bf860 65 74 5f 70 74 6f 6e 27 2c 20 27 3a 3a 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 70 68 et_pton',.'::').!==.false).{.$ph
bf880 70 49 70 76 36 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 27 70 68 70 pIpv6.=.new.CompletePackage('php
bf8a0 2d 69 70 76 36 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e -ipv6',.$version,.$prettyVersion
bf8c0 29 3b 0a 24 70 68 70 49 70 76 36 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 );.$phpIpv6->setDescription('The
bf8e0 20 50 48 50 20 69 6e 74 65 72 70 72 65 74 65 72 2c 20 77 69 74 68 20 49 50 76 36 20 73 75 70 70 .PHP.interpreter,.with.IPv6.supp
bf900 6f 72 74 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 70 68 70 49 70 76 ort');.$this->addPackage($phpIpv
bf920 36 29 3b 0a 7d 0a 0a 24 6c 6f 61 64 65 64 45 78 74 65 6e 73 69 6f 6e 73 20 3d 20 67 65 74 5f 6c 6);.}..$loadedExtensions.=.get_l
bf940 6f 61 64 65 64 5f 65 78 74 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 oaded_extensions();....foreach.(
bf960 24 6c 6f 61 64 65 64 45 78 74 65 6e 73 69 6f 6e 73 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 69 66 $loadedExtensions.as.$name).{.if
bf980 20 28 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 61 72 72 61 79 28 27 73 74 61 6e 64 61 72 .(in_array($name,.array('standar
bf9a0 64 27 2c 20 27 43 6f 72 65 27 29 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 72 65 d',.'Core'))).{.continue;.}..$re
bf9c0 66 6c 45 78 74 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 45 78 74 65 6e 73 69 6f 6e flExt.=.new.\ReflectionExtension
bf9e0 28 24 6e 61 6d 65 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 72 65 66 6c 45 ($name);.$prettyVersion.=.$reflE
bfa00 78 74 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 45 78 74 65 xt->getVersion();.$this->addExte
bfa20 6e 73 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a nsion($name,.$prettyVersion);.}.
bfa40 0a 0a 20 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 78 64 65 62 75 67 27 2c 20 24 6c 6f 61 64 ...if.(!in_array('xdebug',.$load
bfa60 65 64 45 78 74 65 6e 73 69 6f 6e 73 2c 20 74 72 75 65 29 20 26 26 20 28 24 70 72 65 74 74 79 56 edExtensions,.true).&&.($prettyV
bfa80 65 72 73 69 6f 6e 20 3d 20 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3a 3a 67 65 74 53 6b 69 70 70 ersion.=.XdebugHandler::getSkipp
bfaa0 65 64 56 65 72 73 69 6f 6e 28 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 78 74 65 6e 73 edVersion())).{.$this->addExtens
bfac0 69 6f 6e 28 27 78 64 65 62 75 67 27 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d ion('xdebug',.$prettyVersion);.}
bfae0 0a 0a 0a 20 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 6f 61 64 65 64 45 78 74 65 6e 73 69 6f ........foreach.($loadedExtensio
bfb00 6e 73 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 ns.as.$name).{.$prettyVersion.=.
bfb20 6e 75 6c 6c 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 54 68 65 20 27 2e 24 6e 61 6d null;.$description.=.'The.'.$nam
bfb40 65 2e 27 20 50 48 50 20 6c 69 62 72 61 72 79 27 3b 0a 73 77 69 74 63 68 20 28 24 6e 61 6d 65 29 e.'.PHP.library';.switch.($name)
bfb60 20 7b 0a 63 61 73 65 20 27 63 75 72 6c 27 3a 0a 24 63 75 72 6c 56 65 72 73 69 6f 6e 20 3d 20 63 .{.case.'curl':.$curlVersion.=.c
bfb80 75 72 6c 5f 76 65 72 73 69 6f 6e 28 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 url_version();.$prettyVersion.=.
bfba0 24 63 75 72 6c 56 65 72 73 69 6f 6e 5b 27 76 65 72 73 69 6f 6e 27 5d 3b 0a 62 72 65 61 6b 3b 0a $curlVersion['version'];.break;.
bfbc0 0a 63 61 73 65 20 27 69 63 6f 6e 76 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 .case.'iconv':.$prettyVersion.=.
bfbe0 49 43 4f 4e 56 5f 56 45 52 53 49 4f 4e 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 6e 74 ICONV_VERSION;.break;..case.'int
bfc00 6c 27 3a 0a 24 6e 61 6d 65 20 3d 20 27 49 43 55 27 3b 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 l':.$name.=.'ICU';.if.(defined('
bfc20 49 4e 54 4c 5f 49 43 55 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 24 70 72 65 74 74 79 56 65 72 INTL_ICU_VERSION')).{.$prettyVer
bfc40 73 69 6f 6e 20 3d 20 49 4e 54 4c 5f 49 43 55 5f 56 45 52 53 49 4f 4e 3b 0a 7d 20 65 6c 73 65 20 sion.=.INTL_ICU_VERSION;.}.else.
bfc60 7b 0a 24 72 65 66 6c 65 63 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 45 78 {.$reflector.=.new.\ReflectionEx
bfc80 74 65 6e 73 69 6f 6e 28 27 69 6e 74 6c 27 29 3b 0a 0a 6f 62 5f 73 74 61 72 74 28 29 3b 0a 24 72 tension('intl');..ob_start();.$r
bfca0 65 66 6c 65 63 74 6f 72 2d 3e 69 6e 66 6f 28 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 6f 62 5f 67 eflector->info();.$output.=.ob_g
bfcc0 65 74 5f 63 6c 65 61 6e 28 29 3b 0a 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 49 43 55 20 76 et_clean();..preg_match('/^ICU.v
bfce0 65 72 73 69 6f 6e 20 3d 3e 20 28 2e 2a 29 24 2f 6d 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 ersion.=>.(.*)$/m',.$output,.$ma
bfd00 74 63 68 65 73 29 3b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 tches);.$prettyVersion.=.$matche
bfd20 73 5b 31 5d 3b 0a 7d 0a 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 6d 61 67 69 63 6b 27 3a s[1];.}..break;..case.'imagick':
bfd40 0a 24 69 6d 61 67 69 63 6b 20 3d 20 6e 65 77 20 5c 49 6d 61 67 69 63 6b 28 29 3b 0a 24 69 6d 61 .$imagick.=.new.\Imagick();.$ima
bfd60 67 65 4d 61 67 69 63 6b 56 65 72 73 69 6f 6e 20 3d 20 24 69 6d 61 67 69 63 6b 2d 3e 67 65 74 56 geMagickVersion.=.$imagick->getV
bfd80 65 72 73 69 6f 6e 28 29 3b 0a 0a 20 0a 20 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 49 6d 61 67 ersion();.....preg_match('/^Imag
bfda0 65 4d 61 67 69 63 6b 20 28 5b 5c 64 2e 5d 2b 29 28 3f 3a 2d 28 5c 64 2b 29 29 3f 2f 27 2c 20 24 eMagick.([\d.]+)(?:-(\d+))?/',.$
bfdc0 69 6d 61 67 65 4d 61 67 69 63 6b 56 65 72 73 69 6f 6e 5b 27 76 65 72 73 69 6f 6e 53 74 72 69 6e imageMagickVersion['versionStrin
bfde0 67 27 5d 2c 20 24 6d 61 74 63 68 65 73 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 g'],.$matches);.if.(isset($match
bfe00 65 73 5b 32 5d 29 29 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 22 7b 24 6d 61 es[2])).{.$prettyVersion.=."{$ma
bfe20 74 63 68 65 73 5b 31 5d 7d 2e 7b 24 6d 61 74 63 68 65 73 5b 32 5d 7d 22 3b 0a 7d 20 65 6c 73 65 tches[1]}.{$matches[2]}";.}.else
bfe40 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 3b .{.$prettyVersion.=.$matches[1];
bfe60 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 6c 69 62 78 6d 6c 27 3a 0a 24 70 72 65 74 74 .}.break;..case.'libxml':.$prett
bfe80 79 56 65 72 73 69 6f 6e 20 3d 20 4c 49 42 58 4d 4c 5f 44 4f 54 54 45 44 5f 56 45 52 53 49 4f 4e yVersion.=.LIBXML_DOTTED_VERSION
bfea0 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 6f 70 65 6e 73 73 6c 27 3a 0a 24 70 72 65 74 74 ;.break;..case.'openssl':.$prett
bfec0 79 56 65 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b yVersion.=.preg_replace_callback
bfee0 28 27 7b 5e 28 3f 3a 4f 70 65 6e 53 53 4c 7c 4c 69 62 72 65 53 53 4c 29 3f 5c 73 2a 28 5b 30 2d ('{^(?:OpenSSL|LibreSSL)?\s*([0-
bff00 39 2e 5d 2b 29 28 5b 61 2d 7a 5d 2a 29 2e 2a 7d 69 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 9.]+)([a-z]*).*}i',.function.($m
bff20 61 74 63 68 29 20 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a atch).{.if.(empty($match[2])).{.
bff40 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 0a 20 0a 0a 69 66 20 28 21 70 72 return.$match[1];.}......if.(!pr
bff60 65 67 5f 6d 61 74 63 68 28 27 7b 5e 7a 2a 5b 61 2d 7a 5d 24 7d 27 2c 20 24 6d 61 74 63 68 5b 32 eg_match('{^z*[a-z]$}',.$match[2
bff80 5d 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 6c 65 6e 20 3d 20 73 74 72 6c ])).{...return.0;.}..$len.=.strl
bffa0 65 6e 28 24 6d 61 74 63 68 5b 32 5d 29 3b 0a 24 70 61 74 63 68 56 65 72 73 69 6f 6e 20 3d 20 28 en($match[2]);.$patchVersion.=.(
bffc0 24 6c 65 6e 20 2d 20 31 29 20 2a 20 32 36 3b 20 0a 20 24 70 61 74 63 68 56 65 72 73 69 6f 6e 20 $len.-.1).*.26;...$patchVersion.
bffe0 2b 3d 20 6f 72 64 28 24 6d 61 74 63 68 5b 32 5d 5b 24 6c 65 6e 20 2d 20 31 5d 29 20 2d 20 39 36 +=.ord($match[2][$len.-.1]).-.96
c0000 3b 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 31 5d 2e 27 2e 27 2e 24 70 61 74 63 68 56 65 ;..return.$match[1].'.'.$patchVe
c0020 72 73 69 6f 6e 3b 0a 7d 2c 20 4f 50 45 4e 53 53 4c 5f 56 45 52 53 49 4f 4e 5f 54 45 58 54 29 3b rsion;.},.OPENSSL_VERSION_TEXT);
c0040 0a 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 4f 50 45 4e 53 53 4c 5f 56 45 52 53 49 4f 4e ..$description.=.OPENSSL_VERSION
c0060 5f 54 45 58 54 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 70 63 72 65 27 3a 0a 24 70 72 65 _TEXT;.break;..case.'pcre':.$pre
c0080 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 5c 53 ttyVersion.=.preg_replace('{^(\S
c00a0 2b 29 2e 2a 7d 27 2c 20 27 24 31 27 2c 20 50 43 52 45 5f 56 45 52 53 49 4f 4e 29 3b 0a 62 72 65 +).*}',.'$1',.PCRE_VERSION);.bre
c00c0 61 6b 3b 0a 0a 63 61 73 65 20 27 75 75 69 64 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e ak;..case.'uuid':.$prettyVersion
c00e0 20 3d 20 70 68 70 76 65 72 73 69 6f 6e 28 27 75 75 69 64 27 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 .=.phpversion('uuid');.break;..c
c0100 61 73 65 20 27 78 73 6c 27 3a 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 4c 49 42 58 ase.'xsl':.$prettyVersion.=.LIBX
c0120 53 4c 54 5f 44 4f 54 54 45 44 5f 56 45 52 53 49 4f 4e 3b 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 SLT_DOTTED_VERSION;.break;..defa
c0140 75 6c 74 3a 0a 0a 20 63 6f 6e 74 69 6e 75 65 20 32 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 76 65 72 ult:...continue.2;.}..try.{.$ver
c0160 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 sion.=.$this->versionParser->nor
c0180 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 20 63 61 74 63 68 20 malize($prettyVersion);.}.catch.
c01a0 28 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b (\UnexpectedValueException.$e).{
c01c0 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c 69 62 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 .continue;.}..$lib.=.new.Complet
c01e0 65 50 61 63 6b 61 67 65 28 27 6c 69 62 2d 27 2e 24 6e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 2c ePackage('lib-'.$name,.$version,
c0200 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 6c 69 62 2d 3e 73 65 74 44 65 73 63 72 .$prettyVersion);.$lib->setDescr
c0220 69 70 74 69 6f 6e 28 24 64 65 73 63 72 69 70 74 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 iption($description);.$this->add
c0240 50 61 63 6b 61 67 65 28 24 6c 69 62 29 3b 0a 7d 0a 0a 24 68 68 76 6d 56 65 72 73 69 6f 6e 20 3d Package($lib);.}..$hhvmVersion.=
c0260 20 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 3f 20 48 48 56 4d 5f .defined('HHVM_VERSION').?.HHVM_
c0280 56 45 52 53 49 4f 4e 20 3a 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 68 68 76 6d 56 65 72 73 69 6f 6e VERSION.:.null;.if.($hhvmVersion
c02a0 20 3d 3d 3d 20 6e 75 6c 6c 20 26 26 20 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 .===.null.&&.!Platform::isWindow
c02c0 73 28 29 29 20 7b 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 45 78 65 63 75 74 61 62 6c 65 46 s()).{.$finder.=.new.ExecutableF
c02e0 69 6e 64 65 72 28 29 3b 0a 24 68 68 76 6d 20 3d 20 24 66 69 6e 64 65 72 2d 3e 66 69 6e 64 28 27 inder();.$hhvm.=.$finder->find('
c0300 68 68 76 6d 27 29 3b 0a 69 66 20 28 24 68 68 76 6d 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 65 hhvm');.if.($hhvm.!==.null).{.$e
c0320 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 xitCode.=.$this->process->execut
c0340 65 28 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 68 68 76 6d e(.ProcessExecutor::escape($hhvm
c0360 29 2e 0a 27 20 2d 2d 70 68 70 20 2d 64 20 68 68 76 6d 2e 6a 69 74 3d 30 20 2d 72 20 22 65 63 68 )..'.--php.-d.hhvm.jit=0.-r."ech
c0380 6f 20 48 48 56 4d 5f 56 45 52 53 49 4f 4e 3b 22 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 27 2c 0a 24 o.HHVM_VERSION;".2>/dev/null',.$
c03a0 68 68 76 6d 56 65 72 73 69 6f 6e 0a 29 3b 0a 69 66 20 28 24 65 78 69 74 43 6f 64 65 20 21 3d 3d hhvmVersion.);.if.($exitCode.!==
c03c0 20 30 29 20 7b 0a 24 68 68 76 6d 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 7d .0).{.$hhvmVersion.=.null;.}.}.}
c03e0 0a 69 66 20 28 24 68 68 76 6d 56 65 72 73 69 6f 6e 29 20 7b 0a 74 72 79 20 7b 0a 24 70 72 65 74 .if.($hhvmVersion).{.try.{.$pret
c0400 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 68 68 76 6d 56 65 72 73 69 6f 6e 3b 0a 24 76 65 72 73 69 tyVersion.=.$hhvmVersion;.$versi
c0420 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 on.=.$this->versionParser->norma
c0440 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c lize($prettyVersion);.}.catch.(\
c0460 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 UnexpectedValueException.$e).{.$
c0480 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5e prettyVersion.=.preg_replace('#^
c04a0 28 5b 5e 7e 2b 2d 5d 2b 29 2e 2a 24 23 27 2c 20 27 24 31 27 2c 20 24 68 68 76 6d 56 65 72 73 69 ([^~+-]+).*$#',.'$1',.$hhvmVersi
c04c0 6f 6e 29 3b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 on);.$version.=.$this->versionPa
c04e0 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b rser->normalize($prettyVersion);
c0500 0a 7d 0a 0a 24 68 68 76 6d 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 61 63 6b 61 67 65 28 .}..$hhvm.=.new.CompletePackage(
c0520 27 68 68 76 6d 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 'hhvm',.$version,.$prettyVersion
c0540 29 3b 0a 24 68 68 76 6d 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 54 68 65 20 48 48 );.$hhvm->setDescription('The.HH
c0560 56 4d 20 52 75 6e 74 69 6d 65 20 28 36 34 62 69 74 29 27 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 VM.Runtime.(64bit)');.$this->add
c0580 50 61 63 6b 61 67 65 28 24 68 68 76 6d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 Package($hhvm);.}.}.....public.f
c05a0 75 6e 63 74 69 6f 6e 20 61 64 64 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 unction.addPackage(PackageInterf
c05c0 61 63 65 20 24 70 61 63 6b 61 67 65 29 0a 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 ace.$package).{...if.(isset($thi
c05e0 73 2d 3e 6f 76 65 72 72 69 64 65 73 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 s->overrides[$package->getName()
c0600 5d 29 29 20 7b 0a 24 6f 76 65 72 72 69 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 50 61 ])).{.$overrider.=.$this->findPa
c0620 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 27 2a 27 29 3b ckage($package->getName(),.'*');
c0640 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 20 3d 3d 3d 20 .if.($package->getVersion().===.
c0660 24 6f 76 65 72 72 69 64 65 72 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 24 61 63 74 $overrider->getVersion()).{.$act
c0680 75 61 6c 54 65 78 74 20 3d 20 27 73 61 6d 65 20 61 73 20 61 63 74 75 61 6c 27 3b 0a 7d 20 65 6c ualText.=.'same.as.actual';.}.el
c06a0 73 65 20 7b 0a 24 61 63 74 75 61 6c 54 65 78 74 20 3d 20 27 61 63 74 75 61 6c 3a 20 27 2e 24 70 se.{.$actualText.=.'actual:.'.$p
c06c0 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 3b 0a 7d 0a 24 6f ackage->getPrettyVersion();.}.$o
c06e0 76 65 72 72 69 64 65 72 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 6f 76 65 72 72 69 verrider->setDescription($overri
c0700 64 65 72 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2e 27 20 28 27 2e 24 61 63 74 75 der->getDescription().'.('.$actu
c0720 61 6c 54 65 78 74 2e 27 29 27 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 alText.')');..return;.}....if.(i
c0740 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 76 65 72 72 69 64 65 73 5b 27 70 68 70 27 5d 29 20 26 26 sset($this->overrides['php']).&&
c0760 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 .0.===.strpos($package->getName(
c0780 29 2c 20 27 70 68 70 2d 27 29 29 20 7b 0a 24 6f 76 65 72 72 69 64 65 72 20 3d 20 24 74 68 69 73 ),.'php-')).{.$overrider.=.$this
c07a0 2d 3e 61 64 64 4f 76 65 72 72 69 64 64 65 6e 50 61 63 6b 61 67 65 28 24 74 68 69 73 2d 3e 6f 76 ->addOverriddenPackage($this->ov
c07c0 65 72 72 69 64 65 73 5b 27 70 68 70 27 5d 2c 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 errides['php'],.$package->getPre
c07e0 74 74 79 4e 61 6d 65 28 29 29 3b 0a 69 66 20 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 56 65 72 ttyName());.if.($package->getVer
c0800 73 69 6f 6e 28 29 20 3d 3d 3d 20 24 6f 76 65 72 72 69 64 65 72 2d 3e 67 65 74 56 65 72 73 69 6f sion().===.$overrider->getVersio
c0820 6e 28 29 29 20 7b 0a 24 61 63 74 75 61 6c 54 65 78 74 20 3d 20 27 73 61 6d 65 20 61 73 20 61 63 n()).{.$actualText.=.'same.as.ac
c0840 74 75 61 6c 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 63 74 75 61 6c 54 65 78 74 20 3d 20 27 61 tual';.}.else.{.$actualText.=.'a
c0860 63 74 75 61 6c 3a 20 27 2e 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 ctual:.'.$package->getPrettyVers
c0880 69 6f 6e 28 29 3b 0a 7d 0a 24 6f 76 65 72 72 69 64 65 72 2d 3e 73 65 74 44 65 73 63 72 69 70 74 ion();.}.$overrider->setDescript
c08a0 69 6f 6e 28 24 6f 76 65 72 72 69 64 65 72 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 ion($overrider->getDescription()
c08c0 2e 27 20 28 27 2e 24 61 63 74 75 61 6c 54 65 78 74 2e 27 29 27 29 3b 0a 0a 72 65 74 75 72 6e 3b .'.('.$actualText.')');..return;
c08e0 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 61 64 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 .}..parent::addPackage($package)
c0900 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4f 76 65 72 72 69 64 ;.}..private.function.addOverrid
c0920 64 65 6e 50 61 63 6b 61 67 65 28 61 72 72 61 79 20 24 6f 76 65 72 72 69 64 65 2c 20 24 6e 61 6d denPackage(array.$override,.$nam
c0940 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 e.=.null).{.$version.=.$this->ve
c0960 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 6f 76 65 72 72 69 64 65 rsionParser->normalize($override
c0980 5b 27 76 65 72 73 69 6f 6e 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 20 3d 20 6e 65 77 20 43 6f 6d ['version']);.$package.=.new.Com
c09a0 70 6c 65 74 65 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 20 3f 3a 20 24 6f 76 65 72 72 69 64 65 5b pletePackage($name.?:.$override[
c09c0 27 6e 61 6d 65 27 5d 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6f 76 65 72 72 69 64 65 5b 27 76 65 'name'],.$version,.$override['ve
c09e0 72 73 69 6f 6e 27 5d 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 rsion']);.$package->setDescripti
c0a00 6f 6e 28 27 50 61 63 6b 61 67 65 20 6f 76 65 72 72 69 64 64 65 6e 20 76 69 61 20 63 6f 6e 66 69 on('Package.overridden.via.confi
c0a20 67 2e 70 6c 61 74 66 6f 72 6d 27 29 3b 0a 24 70 61 63 6b 61 67 65 2d 3e 73 65 74 45 78 74 72 61 g.platform');.$package->setExtra
c0a40 28 61 72 72 61 79 28 27 63 6f 6e 66 69 67 2e 70 6c 61 74 66 6f 72 6d 27 20 3d 3e 20 74 72 75 65 (array('config.platform'.=>.true
c0a60 29 29 3b 0a 70 61 72 65 6e 74 3a 3a 61 64 64 50 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 29 ));.parent::addPackage($package)
c0a80 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 ;..return.$package;.}........pri
c0aa0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 78 74 65 6e 73 69 6f 6e 28 24 6e 61 6d 65 vate.function.addExtension($name
c0ac0 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 0a 7b 0a 24 65 78 74 72 61 44 65 73 63 72 69 ,.$prettyVersion).{.$extraDescri
c0ae0 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 0a 74 72 79 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 ption.=.null;..try.{.$version.=.
c0b00 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 $this->versionParser->normalize(
c0b20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 78 70 $prettyVersion);.}.catch.(\Unexp
c0b40 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 65 78 74 72 61 ectedValueException.$e).{.$extra
c0b60 44 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 20 28 61 63 74 75 61 6c 20 76 65 72 73 69 6f 6e 3a Description.=.'.(actual.version:
c0b80 20 27 2e 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 2e 27 29 27 3b 0a 69 66 20 28 70 72 65 67 5f .'.$prettyVersion.')';.if.(preg_
c0ba0 6d 61 74 63 68 28 27 7b 5e 28 5c 64 2b 5c 2e 5c 64 2b 5c 2e 5c 64 2b 28 3f 3a 5c 2e 5c 64 2b 29 match('{^(\d+\.\d+\.\d+(?:\.\d+)
c0bc0 3f 29 7d 27 2c 20 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b ?)}',.$prettyVersion,.$match)).{
c0be0 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 20 65 .$prettyVersion.=.$match[1];.}.e
c0c00 6c 73 65 20 7b 0a 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 20 3d 20 27 30 27 3b 0a 7d 0a 24 76 lse.{.$prettyVersion.=.'0';.}.$v
c0c20 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e ersion.=.$this->versionParser->n
c0c40 6f 72 6d 61 6c 69 7a 65 28 24 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 24 70 61 ormalize($prettyVersion);.}..$pa
c0c60 63 6b 61 67 65 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 50 61 63 6b 61 67 65 4e ckageName.=.$this->buildPackageN
c0c80 61 6d 65 28 24 6e 61 6d 65 29 3b 0a 24 65 78 74 20 3d 20 6e 65 77 20 43 6f 6d 70 6c 65 74 65 50 ame($name);.$ext.=.new.CompleteP
c0ca0 61 63 6b 61 67 65 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 ackage($packageName,.$version,.$
c0cc0 70 72 65 74 74 79 56 65 72 73 69 6f 6e 29 3b 0a 24 65 78 74 2d 3e 73 65 74 44 65 73 63 72 69 70 prettyVersion);.$ext->setDescrip
c0ce0 74 69 6f 6e 28 27 54 68 65 20 27 2e 24 6e 61 6d 65 2e 27 20 50 48 50 20 65 78 74 65 6e 73 69 6f tion('The.'.$name.'.PHP.extensio
c0d00 6e 27 2e 24 65 78 74 72 61 44 65 73 63 72 69 70 74 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 61 64 n'.$extraDescription);.$this->ad
c0d20 64 50 61 63 6b 61 67 65 28 24 65 78 74 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 dPackage($ext);.}..private.funct
c0d40 69 6f 6e 20 62 75 69 6c 64 50 61 63 6b 61 67 65 4e 61 6d 65 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 ion.buildPackageName($name).{.re
c0d60 74 75 72 6e 20 27 65 78 74 2d 27 20 2e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 20 27 2c 20 27 turn.'ext-'...str_replace('.',.'
c0d80 2d 27 2c 20 24 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a -',.$name);.}.}.<?php...........
c0da0 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a .namespace.Composer\Repository;.
c0dc0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f .use.Composer\Factory;.use.Compo
c0de0 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 ser\IO\IOInterface;.use.Composer
c0e00 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 \Config;.use.Composer\EventDispa
c0e20 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f tcher\EventDispatcher;.use.Compo
c0e40 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 ser\Util\RemoteFilesystem;.use.C
c0e60 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 omposer\Json\JsonFile;.....class
c0e80 20 52 65 70 6f 73 69 74 6f 72 79 46 61 63 74 6f 72 79 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c .RepositoryFactory.{........publ
c0ea0 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 46 72 6f 6d 53 74 72 ic.static.function.configFromStr
c0ec0 69 6e 67 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e ing(IOInterface.$io,.Config.$con
c0ee0 66 69 67 2c 20 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 24 61 6c 6c 6f 77 46 69 6c 65 73 79 73 74 fig,.$repository,.$allowFilesyst
c0f00 65 6d 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 em.=.false).{.if.(0.===.strpos($
c0f20 72 65 70 6f 73 69 74 6f 72 79 2c 20 27 68 74 74 70 27 29 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 repository,.'http')).{.$repoConf
c0f40 69 67 20 3d 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 63 6f 6d 70 6f 73 65 72 27 2c ig.=.array('type'.=>.'composer',
c0f60 20 27 75 72 6c 27 20 3d 3e 20 24 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 7d 20 65 6c 73 65 69 66 .'url'.=>.$repository);.}.elseif
c0f80 20 28 22 6a 73 6f 6e 22 20 3d 3d 3d 20 70 61 74 68 69 6e 66 6f 28 24 72 65 70 6f 73 69 74 6f 72 .("json".===.pathinfo($repositor
c0fa0 79 2c 20 50 41 54 48 49 4e 46 4f 5f 45 58 54 45 4e 53 49 4f 4e 29 29 20 7b 0a 24 6a 73 6f 6e 20 y,.PATHINFO_EXTENSION)).{.$json.
c0fc0 3d 20 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 72 65 70 6f 73 69 74 6f 72 79 2c 20 46 61 63 74 =.new.JsonFile($repository,.Fact
c0fe0 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 2c ory::createRemoteFilesystem($io,
c1000 20 24 63 6f 6e 66 69 67 29 29 3b 0a 24 64 61 74 61 20 3d 20 24 6a 73 6f 6e 2d 3e 72 65 61 64 28 .$config));.$data.=.$json->read(
c1020 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 61 63 6b 61 67 65 73 27 5d 29 );.if.(!empty($data['packages'])
c1040 20 7c 7c 20 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 69 6e 63 6c 75 64 65 73 27 5d 29 20 7c 7c .||.!empty($data['includes']).||
c1060 20 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 70 72 6f 76 69 64 65 72 2d 69 6e 63 6c 75 64 65 73 .!empty($data['provider-includes
c1080 27 5d 29 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 61 72 72 61 79 28 27 74 79 70 65 '])).{.$repoConfig.=.array('type
c10a0 27 20 3d 3e 20 27 63 6f 6d 70 6f 73 65 72 27 2c 20 27 75 72 6c 27 20 3d 3e 20 27 66 69 6c 65 3a '.=>.'composer',.'url'.=>.'file:
c10c0 2f 2f 27 20 2e 20 73 74 72 74 72 28 72 65 61 6c 70 61 74 68 28 24 72 65 70 6f 73 69 74 6f 72 79 //'...strtr(realpath($repository
c10e0 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 61 6c 6c 6f 77 ),.'\\',.'/'));.}.elseif.($allow
c1100 46 69 6c 65 73 79 73 74 65 6d 29 20 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 61 72 72 61 Filesystem).{.$repoConfig.=.arra
c1120 79 28 27 74 79 70 65 27 20 3d 3e 20 27 66 69 6c 65 73 79 73 74 65 6d 27 2c 20 27 6a 73 6f 6e 27 y('type'.=>.'filesystem',.'json'
c1140 20 3d 3e 20 24 6a 73 6f 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c .=>.$json);.}.else.{.throw.new.\
c1160 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 49 6e 76 61 6c 69 InvalidArgumentException("Invali
c1180 64 20 72 65 70 6f 73 69 74 6f 72 79 20 55 52 4c 20 28 24 72 65 70 6f 73 69 74 6f 72 79 29 20 67 d.repository.URL.($repository).g
c11a0 69 76 65 6e 2e 20 54 68 69 73 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e iven..This.file.does.not.contain
c11c0 20 61 20 76 61 6c 69 64 20 63 6f 6d 70 6f 73 65 72 20 72 65 70 6f 73 69 74 6f 72 79 2e 22 29 3b .a.valid.composer.repository.");
c11e0 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 7b 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 72 65 70 .}.}.elseif.('{'.===.substr($rep
c1200 6f 73 69 74 6f 72 79 2c 20 30 2c 20 31 29 29 20 7b 0a 0a 20 24 72 65 70 6f 43 6f 6e 66 69 67 20 ository,.0,.1)).{...$repoConfig.
c1220 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 72 65 70 6f 73 69 74 6f 72 =.JsonFile::parseJson($repositor
c1240 79 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 y);.}.else.{.throw.new.\InvalidA
c1260 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 22 49 6e 76 61 6c 69 64 20 72 65 70 6f 73 69 rgumentException("Invalid.reposi
c1280 74 6f 72 79 20 75 72 6c 20 28 24 72 65 70 6f 73 69 74 6f 72 79 29 20 67 69 76 65 6e 2e 20 48 61 tory.url.($repository).given..Ha
c12a0 73 20 74 6f 20 62 65 20 61 20 2e 6a 73 6f 6e 20 66 69 6c 65 2c 20 61 6e 20 68 74 74 70 20 75 72 s.to.be.a..json.file,.an.http.ur
c12c0 6c 20 6f 72 20 61 20 4a 53 4f 4e 20 6f 62 6a 65 63 74 2e 22 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e l.or.a.JSON.object.");.}..return
c12e0 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 .$repoConfig;.}.........public.s
c1300 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 72 6f 6d 53 74 72 69 6e 67 28 49 4f 49 6e 74 65 tatic.function.fromString(IOInte
c1320 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f rface.$io,.Config.$config,.$repo
c1340 73 69 74 6f 72 79 2c 20 24 61 6c 6c 6f 77 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 66 61 6c 73 65 sitory,.$allowFilesystem.=.false
c1360 29 0a 7b 0a 24 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 73 74 61 74 69 63 3a 3a 63 6f 6e 66 69 67 ).{.$repoConfig.=.static::config
c1380 46 72 6f 6d 53 74 72 69 6e 67 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 72 65 70 6f 73 69 FromString($io,.$config,.$reposi
c13a0 74 6f 72 79 2c 20 24 61 6c 6c 6f 77 46 69 6c 65 73 79 73 74 65 6d 29 3b 0a 0a 72 65 74 75 72 6e tory,.$allowFilesystem);..return
c13c0 20 73 74 61 74 69 63 3a 3a 63 72 65 61 74 65 52 65 70 6f 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 .static::createRepo($io,.$config
c13e0 2c 20 24 72 65 70 6f 43 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ,.$repoConfig);.}........public.
c1400 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 70 6f 28 49 4f 49 6e 74 static.function.createRepo(IOInt
c1420 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 61 72 72 61 erface.$io,.Config.$config,.arra
c1440 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 29 0a 7b 0a 24 72 6d 20 3d 20 73 74 61 74 69 63 3a 3a 6d y.$repoConfig).{.$rm.=.static::m
c1460 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 6e 75 6c 6c 2c 20 46 61 63 74 6f anager($io,.$config,.null,.Facto
c1480 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 2c 20 ry::createRemoteFilesystem($io,.
c14a0 24 63 6f 6e 66 69 67 29 29 3b 0a 24 72 65 70 6f 73 20 3d 20 73 74 61 74 69 63 3a 3a 63 72 65 61 $config));.$repos.=.static::crea
c14c0 74 65 52 65 70 6f 73 28 24 72 6d 2c 20 61 72 72 61 79 28 24 72 65 70 6f 43 6f 6e 66 69 67 29 29 teRepos($rm,.array($repoConfig))
c14e0 3b 0a 0a 72 65 74 75 72 6e 20 72 65 73 65 74 28 24 72 65 70 6f 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a ;..return.reset($repos);.}......
c1500 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 61 75 6c 74 ..public.static.function.default
c1520 52 65 70 6f 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 2c 20 43 6f Repos(IOInterface.$io.=.null,.Co
c1540 6e 66 69 67 20 24 63 6f 6e 66 69 67 20 3d 20 6e 75 6c 6c 2c 20 52 65 70 6f 73 69 74 6f 72 79 4d nfig.$config.=.null,.RepositoryM
c1560 61 6e 61 67 65 72 20 24 72 6d 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 24 63 6f 6e 66 69 anager.$rm.=.null).{.if.(!$confi
c1580 67 29 20 7b 0a 24 63 6f 6e 66 69 67 20 3d 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 43 6f g).{.$config.=.Factory::createCo
c15a0 6e 66 69 67 28 24 69 6f 29 3b 0a 7d 0a 69 66 20 28 24 69 6f 29 20 7b 0a 24 69 6f 2d 3e 6c 6f 61 nfig($io);.}.if.($io).{.$io->loa
c15c0 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 69 66 20 28 21 dConfiguration($config);.}.if.(!
c15e0 24 72 6d 29 20 7b 0a 69 66 20 28 21 24 69 6f 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e $rm).{.if.(!$io).{.throw.new.\In
c1600 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 69 73 20 66 75 6e validArgumentException('This.fun
c1620 63 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 65 69 74 68 65 72 20 61 6e 20 49 4f 49 6e 74 65 72 ction.requires.either.an.IOInter
c1640 66 61 63 65 20 6f 72 20 61 20 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e 61 67 65 72 27 29 3b 0a 7d face.or.a.RepositoryManager');.}
c1660 0a 24 72 6d 20 3d 20 73 74 61 74 69 63 3a 3a 6d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e .$rm.=.static::manager($io,.$con
c1680 66 69 67 2c 20 6e 75 6c 6c 2c 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 fig,.null,.Factory::createRemote
c16a0 46 69 6c 65 73 79 73 74 65 6d 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 29 29 3b 0a 7d 0a 0a 72 65 Filesystem($io,.$config));.}..re
c16c0 74 75 72 6e 20 73 74 61 74 69 63 3a 3a 63 72 65 61 74 65 52 65 70 6f 73 28 24 72 6d 2c 20 24 63 turn.static::createRepos($rm,.$c
c16e0 6f 6e 66 69 67 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 29 3b 0a 7d 0a 0a 0a 0a onfig->getRepositories());.}....
c1700 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6e 61 .....public.static.function.mana
c1720 67 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e ger(IOInterface.$io,.Config.$con
c1740 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 76 65 6e 74 44 69 73 70 61 fig,.EventDispatcher.$eventDispa
c1760 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 tcher.=.null,.RemoteFilesystem.$
c1780 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 72 6d 20 3d 20 6e 65 77 20 52 65 70 6f 73 69 74 6f rfs.=.null).{.$rm.=.new.Reposito
c17a0 72 79 4d 61 6e 61 67 65 72 28 24 69 6f 2c 20 24 63 6f 6e 66 69 67 2c 20 24 65 76 65 6e 74 44 69 ryManager($io,.$config,.$eventDi
c17c0 73 70 61 74 63 68 65 72 2c 20 24 72 66 73 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 spatcher,.$rfs);.$rm->setReposit
c17e0 6f 72 79 43 6c 61 73 73 28 27 63 6f 6d 70 6f 73 65 72 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 oryClass('composer',.'Composer\R
c1800 65 70 6f 73 69 74 6f 72 79 5c 43 6f 6d 70 6f 73 65 72 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a epository\ComposerRepository');.
c1820 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 76 63 73 27 2c 20 27 $rm->setRepositoryClass('vcs',.'
c1840 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 Composer\Repository\VcsRepositor
c1860 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 70 61 y');.$rm->setRepositoryClass('pa
c1880 63 6b 61 67 65 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 50 61 63 ckage',.'Composer\Repository\Pac
c18a0 6b 61 67 65 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 kageRepository');.$rm->setReposi
c18c0 74 6f 72 79 43 6c 61 73 73 28 27 70 65 61 72 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f toryClass('pear',.'Composer\Repo
c18e0 73 69 74 6f 72 79 5c 50 65 61 72 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 sitory\PearRepository');.$rm->se
c1900 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 67 69 74 27 2c 20 27 43 6f 6d 70 6f 73 65 tRepositoryClass('git',.'Compose
c1920 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 r\Repository\VcsRepository');.$r
c1940 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 67 69 74 2d 62 69 74 62 75 m->setRepositoryClass('git-bitbu
c1960 63 6b 65 74 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 cket',.'Composer\Repository\VcsR
c1980 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 epository');.$rm->setRepositoryC
c19a0 6c 61 73 73 28 27 67 69 74 68 75 62 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 lass('github',.'Composer\Reposit
c19c0 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 ory\VcsRepository');.$rm->setRep
c19e0 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 67 69 74 6c 61 62 27 2c 20 27 43 6f 6d 70 6f 73 65 72 ositoryClass('gitlab',.'Composer
c1a00 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d \Repository\VcsRepository');.$rm
c1a20 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 73 76 6e 27 2c 20 27 43 6f 6d ->setRepositoryClass('svn',.'Com
c1a40 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 poser\Repository\VcsRepository')
c1a60 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 66 6f 73 73 69 ;.$rm->setRepositoryClass('fossi
c1a80 6c 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f l',.'Composer\Repository\VcsRepo
c1aa0 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 sitory');.$rm->setRepositoryClas
c1ac0 73 28 27 70 65 72 66 6f 72 63 65 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f s('perforce',.'Composer\Reposito
c1ae0 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f ry\VcsRepository');.$rm->setRepo
c1b00 73 69 74 6f 72 79 43 6c 61 73 73 28 27 68 67 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f sitoryClass('hg',.'Composer\Repo
c1b20 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 sitory\VcsRepository');.$rm->set
c1b40 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 68 67 2d 62 69 74 62 75 63 6b 65 74 27 2c 20 RepositoryClass('hg-bitbucket',.
c1b60 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 52 65 70 6f 73 69 74 6f 'Composer\Repository\VcsReposito
c1b80 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 61 ry');.$rm->setRepositoryClass('a
c1ba0 72 74 69 66 61 63 74 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 41 rtifact',.'Composer\Repository\A
c1bc0 72 74 69 66 61 63 74 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 24 72 6d 2d 3e 73 65 74 52 65 70 rtifactRepository');.$rm->setRep
c1be0 6f 73 69 74 6f 72 79 43 6c 61 73 73 28 27 70 61 74 68 27 2c 20 27 43 6f 6d 70 6f 73 65 72 5c 52 ositoryClass('path',.'Composer\R
c1c00 65 70 6f 73 69 74 6f 72 79 5c 50 61 74 68 52 65 70 6f 73 69 74 6f 72 79 27 29 3b 0a 0a 72 65 74 epository\PathRepository');..ret
c1c20 75 72 6e 20 24 72 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 urn.$rm;.}.....private.static.fu
c1c40 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 70 6f 73 28 52 65 70 6f 73 69 74 6f 72 79 4d 61 6e nction.createRepos(RepositoryMan
c1c60 61 67 65 72 20 24 72 6d 2c 20 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 73 29 0a 7b 0a ager.$rm,.array.$repoConfigs).{.
c1c80 24 72 65 70 6f 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 70 $repos.=.array();..foreach.($rep
c1ca0 6f 43 6f 6e 66 69 67 73 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 24 72 65 70 6f 29 20 7b 0a 69 oConfigs.as.$index.=>.$repo).{.i
c1cc0 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 65 70 6f 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 f.(is_string($repo)).{.throw.new
c1ce0 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 22 72 65 70 .\UnexpectedValueException('"rep
c1d00 6f 73 69 74 6f 72 69 65 73 22 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 20 6f 66 ositories".should.be.an.array.of
c1d20 20 72 65 70 6f 73 69 74 6f 72 79 20 64 65 66 69 6e 69 74 69 6f 6e 73 2c 20 6f 6e 6c 79 20 61 20 .repository.definitions,.only.a.
c1d40 73 69 6e 67 6c 65 20 72 65 70 6f 73 69 74 6f 72 79 20 77 61 73 20 67 69 76 65 6e 27 29 3b 0a 7d single.repository.was.given');.}
c1d60 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 72 65 70 6f 29 29 20 7b 0a 74 68 72 6f 77 20 6e .if.(!is_array($repo)).{.throw.n
c1d80 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 52 65 ew.\UnexpectedValueException('Re
c1da0 70 6f 73 69 74 6f 72 79 20 22 27 2e 24 69 6e 64 65 78 2e 27 22 20 28 27 2e 6a 73 6f 6e 5f 65 6e pository."'.$index.'".('.json_en
c1dc0 63 6f 64 65 28 24 72 65 70 6f 29 2e 27 29 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 code($repo).').should.be.an.arra
c1de0 79 2c 20 27 2e 67 65 74 74 79 70 65 28 24 72 65 70 6f 29 2e 27 20 67 69 76 65 6e 27 29 3b 0a 7d y,.'.gettype($repo).'.given');.}
c1e00 0a 69 66 20 28 21 69 73 73 65 74 28 24 72 65 70 6f 5b 27 74 79 70 65 27 5d 29 29 20 7b 0a 74 68 .if.(!isset($repo['type'])).{.th
c1e20 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f row.new.\UnexpectedValueExceptio
c1e40 6e 28 27 52 65 70 6f 73 69 74 6f 72 79 20 22 27 2e 24 69 6e 64 65 78 2e 27 22 20 28 27 2e 6a 73 n('Repository."'.$index.'".('.js
c1e60 6f 6e 5f 65 6e 63 6f 64 65 28 24 72 65 70 6f 29 2e 27 29 20 6d 75 73 74 20 68 61 76 65 20 61 20 on_encode($repo).').must.have.a.
c1e80 74 79 70 65 20 64 65 66 69 6e 65 64 27 29 3b 0a 7d 0a 24 6e 61 6d 65 20 3d 20 69 73 5f 69 6e 74 type.defined');.}.$name.=.is_int
c1ea0 28 24 69 6e 64 65 78 29 20 26 26 20 69 73 73 65 74 28 24 72 65 70 6f 5b 27 75 72 6c 27 5d 29 20 ($index).&&.isset($repo['url']).
c1ec0 3f 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 7d 69 27 2c 20 ?.preg_replace('{^https?://}i',.
c1ee0 27 27 2c 20 24 72 65 70 6f 5b 27 75 72 6c 27 5d 29 20 3a 20 24 69 6e 64 65 78 3b 0a 77 68 69 6c '',.$repo['url']).:.$index;.whil
c1f00 65 20 28 69 73 73 65 74 28 24 72 65 70 6f 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 24 6e 61 6d 65 e.(isset($repos[$name])).{.$name
c1f20 20 2e 3d 20 27 32 27 3b 0a 7d 0a 69 66 20 28 24 72 65 70 6f 5b 27 74 79 70 65 27 5d 20 3d 3d 3d ..=.'2';.}.if.($repo['type'].===
c1f40 20 27 66 69 6c 65 73 79 73 74 65 6d 27 29 20 7b 0a 24 72 65 70 6f 73 5b 24 6e 61 6d 65 5d 20 3d .'filesystem').{.$repos[$name].=
c1f60 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 5b .new.FilesystemRepository($repo[
c1f80 27 6a 73 6f 6e 27 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 70 6f 73 5b 24 6e 61 6d 65 5d 'json']);.}.else.{.$repos[$name]
c1fa0 20 3d 20 24 72 6d 2d 3e 63 72 65 61 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 72 65 70 6f 5b 27 .=.$rm->createRepository($repo['
c1fc0 74 79 70 65 27 5d 2c 20 24 72 65 70 6f 2c 20 24 69 6e 64 65 78 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 type'],.$repo,.$index);.}.}..ret
c1fe0 75 72 6e 20 24 72 65 70 6f 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a urn.$repos;.}.}.<?php...........
c2000 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a .namespace.Composer\Repository;.
c2020 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 .use.Composer\Package\PackageInt
c2040 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 52 65 70 6f 73 69 erface;.........interface.Reposi
c2060 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 5c 43 6f 75 6e 74 61 62 6c 65 toryInterface.extends.\Countable
c2080 0a 7b 0a 63 6f 6e 73 74 20 53 45 41 52 43 48 5f 46 55 4c 4c 54 45 58 54 20 3d 20 30 3b 0a 63 6f .{.const.SEARCH_FULLTEXT.=.0;.co
c20a0 6e 73 74 20 53 45 41 52 43 48 5f 4e 41 4d 45 20 3d 20 31 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 nst.SEARCH_NAME.=.1;.........pub
c20c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 lic.function.hasPackage(PackageI
c20e0 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 nterface.$package);..........pub
c2100 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 lic.function.findPackage($name,.
c2120 24 63 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 $constraint);..........public.fu
c2140 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 nction.findPackages($name,.$cons
c2160 74 72 61 69 6e 74 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e traint.=.null);.......public.fun
c2180 63 74 69 6f 6e 20 67 65 74 50 61 63 6b 61 67 65 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ction.getPackages();..........pu
c21a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 28 24 71 75 65 72 79 2c 20 24 6d 6f blic.function.search($query,.$mo
c21c0 64 65 20 3d 20 30 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 de.=.0);.}.<?php............name
c21e0 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 space.Composer\Repository;..use.
c2200 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d Composer\IO\IOInterface;.use.Com
c2220 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 poser\Config;.use.Composer\Event
c2240 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 Dispatcher\EventDispatcher;.use.
c2260 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 Composer\Package\PackageInterfac
c2280 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 e;.use.Composer\Util\RemoteFiles
c22a0 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 70 6f 73 69 74 6f 72 79 4d ystem;.........class.RepositoryM
c22c0 61 6e 61 67 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 6c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 anager.{.private.$localRepositor
c22e0 79 3b 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 69 65 73 20 3d 20 61 72 72 61 79 y;.private.$repositories.=.array
c2300 28 29 3b 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 65 73 20 3d ();.private.$repositoryClasses.=
c2320 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 70 72 69 76 61 74 65 20 24 .array();.private.$io;.private.$
c2340 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 config;.private.$eventDispatcher
c2360 3b 0a 70 72 69 76 61 74 65 20 24 72 66 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ;.private.$rfs;..public.function
c2380 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f .__construct(IOInterface.$io,.Co
c23a0 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 65 nfig.$config,.EventDispatcher.$e
c23c0 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c ventDispatcher.=.null,.RemoteFil
c23e0 65 73 79 73 74 65 6d 20 24 72 66 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f esystem.$rfs.=.null).{.$this->io
c2400 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b .=.$io;.$this->config.=.$config;
c2420 0a 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 3d 20 24 65 76 65 6e 74 .$this->eventDispatcher.=.$event
c2440 44 69 73 70 61 74 63 68 65 72 3b 0a 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 3b 0a 7d Dispatcher;.$this->rfs.=.$rfs;.}
c2460 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 ..........public.function.findPa
c2480 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 66 6f 72 65 ckage($name,.$constraint).{.fore
c24a0 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 20 61 73 20 24 72 65 70 ach.($this->repositories.as.$rep
c24c0 6f 73 69 74 6f 72 79 29 20 7b 0a 0a 69 66 20 28 24 70 61 63 6b 61 67 65 20 3d 20 24 72 65 70 6f ository).{..if.($package.=.$repo
c24e0 73 69 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 sitory->findPackage($name,.$cons
c2500 74 72 61 69 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a traint)).{.return.$package;.}.}.
c2520 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .return.null;.}..........public.
c2540 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f function.findPackages($name,.$co
c2560 6e 73 74 72 61 69 6e 74 29 0a 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b nstraint).{.$packages.=.array();
c2580 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 69 65 ..foreach.($this->getRepositorie
c25a0 73 28 29 20 61 73 20 24 72 65 70 6f 73 69 74 6f 72 79 29 20 7b 0a 24 70 61 63 6b 61 67 65 73 20 s().as.$repository).{.$packages.
c25c0 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 61 63 6b 61 67 65 73 2c 20 24 72 65 70 6f 73 69 =.array_merge($packages,.$reposi
c25e0 74 6f 72 79 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6e 73 74 tory->findPackages($name,.$const
c2600 72 61 69 6e 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 63 6b 61 67 65 73 3b 0a 7d 0a raint));.}..return.$packages;.}.
c2620 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 65 70 6f 73 69 74 ......public.function.addReposit
c2640 6f 72 79 28 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 69 74 ory(RepositoryInterface.$reposit
c2660 6f 72 79 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 5b 5d 20 3d 20 24 ory).{.$this->repositories[].=.$
c2680 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e repository;.}.........public.fun
c26a0 63 74 69 6f 6e 20 70 72 65 70 65 6e 64 52 65 70 6f 73 69 74 6f 72 79 28 52 65 70 6f 73 69 74 6f ction.prependRepository(Reposito
c26c0 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 69 74 6f 72 79 29 0a 7b 0a 61 72 72 61 79 ryInterface.$repository).{.array
c26e0 5f 75 6e 73 68 69 66 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 2c 20 24 72 _unshift($this->repositories,.$r
c2700 65 70 6f 73 69 74 6f 72 79 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 epository);.}...........public.f
c2720 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 70 6f 73 69 74 6f 72 79 28 24 74 79 70 65 2c 20 unction.createRepository($type,.
c2740 24 63 6f 6e 66 69 67 2c 20 24 6e 61 6d 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 69 73 $config,.$name.=.null).{.if.(!is
c2760 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 65 73 5b 24 74 79 set($this->repositoryClasses[$ty
c2780 70 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 pe])).{.throw.new.\InvalidArgume
c27a0 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 52 65 70 6f 73 69 74 6f 72 79 20 74 79 70 65 20 69 73 20 ntException('Repository.type.is.
c27c0 6e 6f 74 20 72 65 67 69 73 74 65 72 65 64 3a 20 27 2e 24 74 79 70 65 29 3b 0a 7d 0a 0a 69 66 20 not.registered:.'.$type);.}..if.
c27e0 28 69 73 73 65 74 28 24 63 6f 6e 66 69 67 5b 27 70 61 63 6b 61 67 69 73 74 27 5d 29 20 26 26 20 (isset($config['packagist']).&&.
c2800 66 61 6c 73 65 20 3d 3d 3d 20 24 63 6f 6e 66 69 67 5b 27 70 61 63 6b 61 67 69 73 74 27 5d 29 20 false.===.$config['packagist']).
c2820 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e {.$this->io->writeError('<warnin
c2840 67 3e 52 65 70 6f 73 69 74 6f 72 79 20 22 27 2e 24 6e 61 6d 65 2e 27 22 20 28 27 2e 6a 73 6f 6e g>Repository."'.$name.'".('.json
c2860 5f 65 6e 63 6f 64 65 28 24 63 6f 6e 66 69 67 29 2e 27 29 20 68 61 73 20 61 20 70 61 63 6b 61 67 _encode($config).').has.a.packag
c2880 69 73 74 20 6b 65 79 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 20 69 74 73 20 6f ist.key.which.should.be.in.its.o
c28a0 77 6e 20 72 65 70 6f 73 69 74 6f 72 79 20 64 65 66 69 6e 69 74 69 6f 6e 3c 2f 77 61 72 6e 69 6e wn.repository.definition</warnin
c28c0 67 3e 27 29 3b 0a 7d 0a 0a 24 63 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 g>');.}..$class.=.$this->reposit
c28e0 6f 72 79 43 6c 61 73 73 65 73 5b 24 74 79 70 65 5d 3b 0a 0a 24 72 65 66 6c 4d 65 74 68 6f 64 20 oryClasses[$type];..$reflMethod.
c2900 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 4d 65 74 68 6f 64 28 24 63 6c 61 73 73 2c 20 =.new.\ReflectionMethod($class,.
c2920 27 5f 5f 63 6f 6e 73 74 72 75 63 74 27 29 3b 0a 24 70 61 72 61 6d 73 20 3d 20 24 72 65 66 6c 4d '__construct');.$params.=.$reflM
c2940 65 74 68 6f 64 2d 3e 67 65 74 50 61 72 61 6d 65 74 65 72 73 28 29 3b 0a 69 66 20 28 69 73 73 65 ethod->getParameters();.if.(isse
c2960 74 28 24 70 61 72 61 6d 73 5b 34 5d 29 20 26 26 20 24 70 61 72 61 6d 73 5b 34 5d 2d 3e 67 65 74 t($params[4]).&&.$params[4]->get
c2980 43 6c 61 73 73 28 29 20 26 26 20 24 70 61 72 61 6d 73 5b 34 5d 2d 3e 67 65 74 43 6c 61 73 73 28 Class().&&.$params[4]->getClass(
c29a0 29 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 27 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c )->getName().===.'Composer\Util\
c29c0 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 27 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 RemoteFilesystem').{.return.new.
c29e0 24 63 6c 61 73 73 28 24 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 $class($config,.$this->io,.$this
c2a00 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 ->config,.$this->eventDispatcher
c2a20 2c 20 24 74 68 69 73 2d 3e 72 66 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 24 63 6c ,.$this->rfs);.}..return.new.$cl
c2a40 61 73 73 28 24 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 ass($config,.$this->io,.$this->c
c2a60 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 65 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 29 3b 0a onfig,.$this->eventDispatcher);.
c2a80 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 70 6f }........public.function.setRepo
c2aa0 73 69 74 6f 72 79 43 6c 61 73 73 28 24 74 79 70 65 2c 20 24 63 6c 61 73 73 29 0a 7b 0a 24 74 68 sitoryClass($type,.$class).{.$th
c2ac0 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 43 6c 61 73 73 65 73 5b 24 74 79 70 65 5d 20 3d 20 24 is->repositoryClasses[$type].=.$
c2ae0 63 6c 61 73 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 class;.}.......public.function.g
c2b00 65 74 52 65 70 6f 73 69 74 6f 72 69 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d etRepositories().{.return.$this-
c2b20 3e 72 65 70 6f 73 69 74 6f 72 69 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 >repositories;.}.......public.fu
c2b40 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 57 72 69 74 61 62 nction.setLocalRepository(Writab
c2b60 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 24 72 65 70 6f 73 69 74 6f 72 leRepositoryInterface.$repositor
c2b80 79 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 72 y).{.$this->localRepository.=.$r
c2ba0 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 epository;.}.......public.functi
c2bc0 6f 6e 20 67 65 74 4c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 28 29 0a 7b 0a 72 65 74 75 72 6e on.getLocalRepository().{.return
c2be0 20 24 74 68 69 73 2d 3e 6c 6f 63 61 6c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 7d 0a 3c 3f 70 .$this->localRepository;.}.}.<?p
c2c00 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
c2c20 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 70 6f 73 69 74 \Repository;.......class.Reposit
c2c40 6f 72 79 53 65 63 75 72 69 74 79 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 45 78 orySecurityException.extends.\Ex
c2c60 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d ception.{.}.<?php............nam
c2c80 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a espace.Composer\Repository\Vcs;.
c2ca0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 .use.Composer\Cache;.use.Compose
c2cc0 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b r\Downloader\TransportException;
c2ce0 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 .use.Composer\Json\JsonFile;.use
c2d00 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 42 69 74 62 75 63 6b 65 74 3b 0a 0a 61 62 73 74 72 .Composer\Util\Bitbucket;..abstr
c2d20 61 63 74 20 63 6c 61 73 73 20 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 20 65 78 74 65 6e 64 act.class.BitbucketDriver.extend
c2d40 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b s.VcsDriver.{..protected.$cache;
c2d60 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 77 6e 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 .protected.$owner;.protected.$re
c2d80 70 6f 73 69 74 6f 72 79 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 68 61 73 49 73 73 75 65 73 3b 0a pository;.protected.$hasIssues;.
c2da0 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 70 72 6f 74 65 protected.$rootIdentifier;.prote
c2dc0 63 74 65 64 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 65 73 3b cted.$tags;.protected.$branches;
c2de0 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b .protected.$infoCache.=.array();
c2e00 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 65 73 55 72 6c 20 3d 20 27 27 3b 0a 70 72 .protected.$branchesUrl.=.'';.pr
c2e20 6f 74 65 63 74 65 64 20 24 74 61 67 73 55 72 6c 20 3d 20 27 27 3b 0a 70 72 6f 74 65 63 74 65 64 otected.$tagsUrl.=.'';.protected
c2e40 20 24 68 6f 6d 65 55 72 6c 20 3d 20 27 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 65 62 73 69 .$homeUrl.=.'';.protected.$websi
c2e60 74 65 20 3d 20 27 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6c 6f 6e 65 48 74 74 70 73 55 72 te.=.'';.protected.$cloneHttpsUr
c2e80 6c 20 3d 20 27 27 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 61 6c 6c 62 61 63 6b 44 l.=.'';.....protected.$fallbackD
c2ea0 72 69 76 65 72 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 76 63 73 54 79 70 65 3b 0a 0a 0a 0a 0a river;..protected.$vcsType;.....
c2ec0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 public.function.initialize().{.p
c2ee0 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 68 74 74 70 73 3f 3a 2f 2f 62 69 74 62 75 63 6b 65 74 5c reg_match('#^https?://bitbucket\
c2f00 2e 6f 72 67 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 3f 29 28 5c 2e 67 69 74 7c 2f 3f 29 24 .org/([^/]+)/([^/]+?)(\.git|/?)$
c2f20 23 69 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 6d 61 74 63 68 29 3b 0a 24 74 68 69 73 2d #i',.$this->url,.$match);.$this-
c2f40 3e 6f 77 6e 65 72 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 >owner.=.$match[1];.$this->repos
c2f60 69 74 6f 72 79 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e itory.=.$match[2];.$this->origin
c2f80 55 72 6c 20 3d 20 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 3b 0a 24 74 68 69 73 2d 3e 63 61 Url.=.'bitbucket.org';.$this->ca
c2fa0 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 0a 24 74 68 69 73 2d 3e 69 6f 2c 0a 69 6d 70 6c che.=.new.Cache(.$this->io,.impl
c2fc0 6f 64 65 28 27 2f 27 2c 20 61 72 72 61 79 28 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 ode('/',.array(.$this->config->g
c2fe0 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 2c 0a 24 74 68 69 73 2d 3e 6f 72 69 et('cache-repo-dir'),.$this->ori
c3000 67 69 6e 55 72 6c 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 ginUrl,.$this->owner,.$this->rep
c3020 6f 73 69 74 6f 72 79 2c 0a 29 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ository,.)).);.}.....public.func
c3040 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 tion.getUrl().{.if.($this->fallb
c3060 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 ackDriver).{.return.$this->fallb
c3080 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 55 72 6c 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 ackDriver->getUrl();.}..return.$
c30a0 74 68 69 73 2d 3e 63 6c 6f 6e 65 48 74 74 70 73 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 this->cloneHttpsUrl;.}........pr
c30c0 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 44 61 74 61 28 29 0a 7b otected.function.getRepoData().{
c30e0 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 61 .$resource.=.sprintf(.'https://a
c3100 70 69 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 32 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 65 pi.bitbucket.org/2.0/repositorie
c3120 73 2f 25 73 2f 25 73 3f 25 73 27 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 73 s/%s/%s?%s',.$this->owner,.$this
c3140 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2c 0a 68 74 74 70 5f 62 75 69 6c 64 5f 71 75 65 72 79 28 0a ->repository,.http_build_query(.
c3160 61 72 72 61 79 28 27 66 69 65 6c 64 73 27 20 3d 3e 20 27 2d 70 72 6f 6a 65 63 74 2c 2d 6f 77 6e array('fields'.=>.'-project,-own
c3180 65 72 27 29 2c 0a 6e 75 6c 6c 2c 0a 27 26 27 0a 29 0a 29 3b 0a 0a 24 72 65 70 6f 44 61 74 61 20 er'),.null,.'&'.).);..$repoData.
c31a0 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 =.JsonFile::parseJson($this->get
c31c0 43 6f 6e 74 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 72 65 ContentsWithOAuthCredentials($re
c31e0 73 6f 75 72 63 65 2c 20 74 72 75 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 69 66 20 28 24 source,.true),.$resource);.if.($
c3200 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 66 this->fallbackDriver).{.return.f
c3220 61 6c 73 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 43 6c 6f 6e 65 55 72 6c 73 28 24 72 alse;.}.$this->parseCloneUrls($r
c3240 65 70 6f 44 61 74 61 5b 27 6c 69 6e 6b 73 27 5d 5b 27 63 6c 6f 6e 65 27 5d 29 3b 0a 0a 24 74 68 epoData['links']['clone']);..$th
c3260 69 73 2d 3e 68 61 73 49 73 73 75 65 73 20 3d 20 21 65 6d 70 74 79 28 24 72 65 70 6f 44 61 74 61 is->hasIssues.=.!empty($repoData
c3280 5b 27 68 61 73 5f 69 73 73 75 65 73 27 5d 29 3b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 ['has_issues']);.$this->branches
c32a0 55 72 6c 20 3d 20 24 72 65 70 6f 44 61 74 61 5b 27 6c 69 6e 6b 73 27 5d 5b 27 62 72 61 6e 63 68 Url.=.$repoData['links']['branch
c32c0 65 73 27 5d 5b 27 68 72 65 66 27 5d 3b 0a 24 74 68 69 73 2d 3e 74 61 67 73 55 72 6c 20 3d 20 24 es']['href'];.$this->tagsUrl.=.$
c32e0 72 65 70 6f 44 61 74 61 5b 27 6c 69 6e 6b 73 27 5d 5b 27 74 61 67 73 27 5d 5b 27 68 72 65 66 27 repoData['links']['tags']['href'
c3300 5d 3b 0a 24 74 68 69 73 2d 3e 68 6f 6d 65 55 72 6c 20 3d 20 24 72 65 70 6f 44 61 74 61 5b 27 6c ];.$this->homeUrl.=.$repoData['l
c3320 69 6e 6b 73 27 5d 5b 27 68 74 6d 6c 27 5d 5b 27 68 72 65 66 27 5d 3b 0a 24 74 68 69 73 2d 3e 77 inks']['html']['href'];.$this->w
c3340 65 62 73 69 74 65 20 3d 20 24 72 65 70 6f 44 61 74 61 5b 27 77 65 62 73 69 74 65 27 5d 3b 0a 24 ebsite.=.$repoData['website'];.$
c3360 74 68 69 73 2d 3e 76 63 73 54 79 70 65 20 3d 20 24 72 65 70 6f 44 61 74 61 5b 27 73 63 6d 27 5d this->vcsType.=.$repoData['scm']
c3380 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ;..return.true;.}.....public.fun
c33a0 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 ction.getComposerInformation($id
c33c0 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 entifier).{.if.($this->fallbackD
c33e0 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 river).{.return.$this->fallbackD
c3400 72 69 76 65 72 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 river->getComposerInformation($i
c3420 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d dentifier);.}..if.(!isset($this-
c3440 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 69 66 20 28 >infoCache[$identifier])).{.if.(
c3460 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 20 $this->shouldCache($identifier).
c3480 26 26 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 69 64 &&.$res.=.$this->cache->read($id
c34a0 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 entifier)).{.return.$this->infoC
c34c0 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 ache[$identifier].=.JsonFile::pa
c34e0 72 73 65 4a 73 6f 6e 28 24 72 65 73 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 rseJson($res);.}..$composer.=.$t
c3500 68 69 73 2d 3e 67 65 74 42 61 73 65 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 his->getBaseComposerInformation(
c3520 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a $identifier);..if.($composer).{.
c3540 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f 72 74 27 ..if.(!isset($composer['support'
c3560 5d 5b 27 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 24 6c 61 62 65 6c 20 3d 20 61 72 72 61 79 5f 73 ]['source'])).{.$label.=.array_s
c3580 65 61 72 63 68 28 0a 24 69 64 65 6e 74 69 66 69 65 72 2c 0a 24 74 68 69 73 2d 3e 67 65 74 54 61 earch(.$identifier,.$this->getTa
c35a0 67 73 28 29 0a 29 20 3f 3a 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 0a 24 69 64 65 6e 74 69 66 gs().).?:.array_search(.$identif
c35c0 69 65 72 2c 0a 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 29 20 3f 3a 20 24 ier,.$this->getBranches().).?:.$
c35e0 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 identifier;..if.(array_key_exist
c3600 73 28 24 6c 61 62 65 6c 2c 20 24 74 61 67 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 61 67 73 s($label,.$tags.=.$this->getTags
c3620 28 29 29 29 20 7b 0a 24 68 61 73 68 20 3d 20 24 74 61 67 73 5b 24 6c 61 62 65 6c 5d 3b 0a 7d 20 ())).{.$hash.=.$tags[$label];.}.
c3640 65 6c 73 65 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 6c 61 62 65 6c 2c elseif.(array_key_exists($label,
c3660 20 24 62 72 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 .$branches.=.$this->getBranches(
c3680 29 29 29 20 7b 0a 24 68 61 73 68 20 3d 20 24 62 72 61 6e 63 68 65 73 5b 24 6c 61 62 65 6c 5d 3b ))).{.$hash.=.$branches[$label];
c36a0 0a 7d 0a 0a 69 66 20 28 21 20 69 73 73 65 74 28 24 68 61 73 68 29 29 20 7b 0a 24 63 6f 6d 70 6f .}..if.(!.isset($hash)).{.$compo
c36c0 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 73 6f 75 72 63 65 27 5d 20 3d 20 73 70 72 69 6e ser['support']['source'].=.sprin
c36e0 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 25 73 2f 25 73 2f 25 73 2f 73 72 63 27 2c 0a 24 74 68 69 tf(.'https://%s/%s/%s/src',.$thi
c3700 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 s->originUrl,.$this->owner,.$thi
c3720 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6d 70 6f s->repository.);.}.else.{.$compo
c3740 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 73 6f 75 72 63 65 27 5d 20 3d 20 73 70 72 69 6e ser['support']['source'].=.sprin
c3760 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 25 73 2f 25 73 2f 25 73 2f 73 72 63 2f 25 73 2f 3f 61 74 tf(.'https://%s/%s/%s/src/%s/?at
c3780 3d 25 73 27 2c 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 0a 24 74 68 69 73 2d 3e 6f =%s',.$this->originUrl,.$this->o
c37a0 77 6e 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2c 0a 24 68 61 73 68 2c 0a wner,.$this->repository,.$hash,.
c37c0 24 6c 61 62 65 6c 0a 29 3b 0a 7d 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 $label.);.}.}.if.(!isset($compos
c37e0 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 73 73 75 65 73 27 5d 29 20 26 26 20 24 74 68 69 er['support']['issues']).&&.$thi
c3800 73 2d 3e 68 61 73 49 73 73 75 65 73 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f s->hasIssues).{.$composer['suppo
c3820 72 74 27 5d 5b 27 69 73 73 75 65 73 27 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 rt']['issues'].=.sprintf(.'https
c3840 3a 2f 2f 25 73 2f 25 73 2f 25 73 2f 69 73 73 75 65 73 27 2c 0a 24 74 68 69 73 2d 3e 6f 72 69 67 ://%s/%s/%s/issues',.$this->orig
c3860 69 6e 55 72 6c 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f inUrl,.$this->owner,.$this->repo
c3880 73 69 74 6f 72 79 0a 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 sitory.);.}.if.(!isset($composer
c38a0 5b 27 68 6f 6d 65 70 61 67 65 27 5d 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 68 6f 6d 65 ['homepage'])).{.$composer['home
c38c0 70 61 67 65 27 5d 20 3d 20 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 77 65 62 73 69 74 65 29 20 3f page'].=.empty($this->website).?
c38e0 20 24 74 68 69 73 2d 3e 68 6f 6d 65 55 72 6c 20 3a 20 24 74 68 69 73 2d 3e 77 65 62 73 69 74 65 .$this->homeUrl.:.$this->website
c3900 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 ;.}.}..$this->infoCache[$identif
c3920 69 65 72 5d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 68 ier].=.$composer;..if.($this->sh
c3940 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 24 74 68 69 73 2d ouldCache($identifier)).{.$this-
c3960 3e 63 61 63 68 65 2d 3e 77 72 69 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 6a 73 6f 6e 5f >cache->write($identifier,.json_
c3980 65 6e 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 72 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 encode($composer));.}.}..return.
c39a0 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 3b 0a 7d $this->infoCache[$identifier];.}
c39c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 .....public.function.getFileCont
c39e0 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 ent($file,.$identifier).{.if.($t
c3a00 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 his->fallbackDriver).{.return.$t
c3a20 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 46 69 6c 65 43 6f 6e 74 his->fallbackDriver->getFileCont
c3a40 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 ent($file,.$identifier);.}..if.(
c3a60 73 74 72 70 6f 73 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 2f 27 29 20 21 3d 3d 20 66 61 6c strpos($identifier,.'/').!==.fal
c3a80 73 65 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e se).{.$branches.=.$this->getBran
c3aa0 63 68 65 73 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 62 72 61 6e 63 68 65 73 5b 24 69 64 65 ches();.if.(isset($branches[$ide
c3ac0 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 24 69 64 65 6e 74 69 66 69 65 72 20 3d 20 24 62 72 61 6e ntifier])).{.$identifier.=.$bran
c3ae0 63 68 65 73 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 3b 0a 7d 0a 7d 0a 0a 24 72 65 73 6f 75 72 63 ches[$identifier];.}.}..$resourc
c3b00 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 62 69 74 62 75 63 e.=.sprintf(.'https://api.bitbuc
c3b20 6b 65 74 2e 6f 72 67 2f 32 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 65 73 2f 25 73 2f 25 73 2f 73 ket.org/2.0/repositories/%s/%s/s
c3b40 72 63 2f 25 73 2f 25 73 27 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 73 2d 3e rc/%s/%s',.$this->owner,.$this->
c3b60 72 65 70 6f 73 69 74 6f 72 79 2c 0a 24 69 64 65 6e 74 69 66 69 65 72 2c 0a 24 66 69 6c 65 0a 29 repository,.$identifier,.$file.)
c3b80 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 57 69 74 68 ;..return.$this->getContentsWith
c3ba0 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 72 65 73 6f 75 72 63 65 29 3b 0a 7d 0a 0a OAuthCredentials($resource);.}..
c3bc0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 ...public.function.getChangeDate
c3be0 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 ($identifier).{.if.($this->fallb
c3c00 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 ackDriver).{.return.$this->fallb
c3c20 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 ackDriver->getChangeDate($identi
c3c40 66 69 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 70 6f 73 28 24 69 64 65 6e 74 69 66 69 65 72 fier);.}..if.(strpos($identifier
c3c60 2c 20 27 2f 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 ,.'/').!==.false).{.$branches.=.
c3c80 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 $this->getBranches();.if.(isset(
c3ca0 24 62 72 61 6e 63 68 65 73 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 24 69 64 65 6e $branches[$identifier])).{.$iden
c3cc0 74 69 66 69 65 72 20 3d 20 24 62 72 61 6e 63 68 65 73 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 3b tifier.=.$branches[$identifier];
c3ce0 0a 7d 0a 7d 0a 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 .}.}..$resource.=.sprintf(.'http
c3d00 73 3a 2f 2f 61 70 69 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 32 2e 30 2f 72 65 70 6f 73 69 s://api.bitbucket.org/2.0/reposi
c3d20 74 6f 72 69 65 73 2f 25 73 2f 25 73 2f 63 6f 6d 6d 69 74 2f 25 73 3f 66 69 65 6c 64 73 3d 64 61 tories/%s/%s/commit/%s?fields=da
c3d40 74 65 27 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 te',.$this->owner,.$this->reposi
c3d60 74 6f 72 79 2c 0a 24 69 64 65 6e 74 69 66 69 65 72 0a 29 3b 0a 24 63 6f 6d 6d 69 74 20 3d 20 4a tory,.$identifier.);.$commit.=.J
c3d80 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e sonFile::parseJson($this->getCon
c3da0 74 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 72 65 73 6f 75 tentsWithOAuthCredentials($resou
c3dc0 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 rce),.$resource);..return.new.\D
c3de0 61 74 65 54 69 6d 65 28 24 63 6f 6d 6d 69 74 5b 27 64 61 74 65 27 5d 29 3b 0a 7d 0a 0a 0a 0a 0a ateTime($commit['date']);.}.....
c3e00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 public.function.getSource($ident
c3e20 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 ifier).{.if.($this->fallbackDriv
c3e40 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 er).{.return.$this->fallbackDriv
c3e60 65 72 2d 3e 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 72 er->getSource($identifier);.}..r
c3e80 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 76 63 73 eturn.array('type'.=>.$this->vcs
c3ea0 54 79 70 65 2c 20 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 28 29 2c 20 Type,.'url'.=>.$this->getUrl(),.
c3ec0 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 'reference'.=>.$identifier);.}..
c3ee0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 6e ...public.function.getDist($iden
c3f00 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 tifier).{.if.($this->fallbackDri
c3f20 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 ver).{.return.$this->fallbackDri
c3f40 76 65 72 2d 3e 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 24 75 ver->getDist($identifier);.}..$u
c3f60 72 6c 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 62 69 74 62 75 63 6b 65 74 rl.=.sprintf(.'https://bitbucket
c3f80 2e 6f 72 67 2f 25 73 2f 25 73 2f 67 65 74 2f 25 73 2e 7a 69 70 27 2c 0a 24 74 68 69 73 2d 3e 6f .org/%s/%s/get/%s.zip',.$this->o
c3fa0 77 6e 65 72 2c 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2c 0a 24 69 64 65 6e 74 69 wner,.$this->repository,.$identi
c3fc0 66 69 65 72 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 fier.);..return.array('type'.=>.
c3fe0 27 7a 69 70 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 2c 20 27 72 65 66 65 72 65 6e 63 65 'zip',.'url'.=>.$url,.'reference
c4000 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 73 68 61 73 75 6d 27 20 3d 3e 20 27 27 '.=>.$identifier,.'shasum'.=>.''
c4020 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 );.}.....public.function.getTags
c4040 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 ().{.if.($this->fallbackDriver).
c4060 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e {.return.$this->fallbackDriver->
c4080 67 65 74 54 61 67 73 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 getTags();.}..if.(null.===.$this
c40a0 2d 3e 74 61 67 73 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b ->tags).{.$this->tags.=.array();
c40c0 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 25 73 3f 25 73 27 2c 0a 24 .$resource.=.sprintf(.'%s?%s',.$
c40e0 74 68 69 73 2d 3e 74 61 67 73 55 72 6c 2c 0a 68 74 74 70 5f 62 75 69 6c 64 5f 71 75 65 72 79 28 this->tagsUrl,.http_build_query(
c4100 0a 61 72 72 61 79 28 0a 27 70 61 67 65 6c 65 6e 27 20 3d 3e 20 31 30 30 2c 0a 27 66 69 65 6c 64 .array(.'pagelen'.=>.100,.'field
c4120 73 27 20 3d 3e 20 27 76 61 6c 75 65 73 2e 6e 61 6d 65 2c 76 61 6c 75 65 73 2e 74 61 72 67 65 74 s'.=>.'values.name,values.target
c4140 2e 68 61 73 68 2c 6e 65 78 74 27 2c 0a 27 73 6f 72 74 27 20 3d 3e 20 27 2d 74 61 72 67 65 74 2e .hash,next',.'sort'.=>.'-target.
c4160 64 61 74 65 27 2c 0a 29 2c 0a 6e 75 6c 6c 2c 0a 27 26 27 0a 29 0a 29 3b 0a 24 68 61 73 4e 65 78 date',.),.null,.'&'.).);.$hasNex
c4180 74 20 3d 20 74 72 75 65 3b 0a 77 68 69 6c 65 20 28 24 68 61 73 4e 65 78 74 29 20 7b 0a 24 74 61 t.=.true;.while.($hasNext).{.$ta
c41a0 67 73 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 gsData.=.JsonFile::parseJson($th
c41c0 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 is->getContentsWithOAuthCredenti
c41e0 61 6c 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 66 6f 72 65 als($resource),.$resource);.fore
c4200 61 63 68 20 28 24 74 61 67 73 44 61 74 61 5b 27 76 61 6c 75 65 73 27 5d 20 61 73 20 24 64 61 74 ach.($tagsData['values'].as.$dat
c4220 61 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 5b 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 5d 20 a).{.$this->tags[$data['name']].
c4240 3d 20 24 64 61 74 61 5b 27 74 61 72 67 65 74 27 5d 5b 27 68 61 73 68 27 5d 3b 0a 7d 0a 69 66 20 =.$data['target']['hash'];.}.if.
c4260 28 65 6d 70 74 79 28 24 74 61 67 73 44 61 74 61 5b 27 6e 65 78 74 27 5d 29 29 20 7b 0a 24 68 61 (empty($tagsData['next'])).{.$ha
c4280 73 4e 65 78 74 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 73 6f 75 72 63 sNext.=.false;.}.else.{.$resourc
c42a0 65 20 3d 20 24 74 61 67 73 44 61 74 61 5b 27 6e 65 78 74 27 5d 3b 0a 7d 0a 7d 0a 69 66 20 28 24 e.=.$tagsData['next'];.}.}.if.($
c42c0 74 68 69 73 2d 3e 76 63 73 54 79 70 65 20 3d 3d 3d 20 27 68 67 27 29 20 7b 0a 75 6e 73 65 74 28 this->vcsType.===.'hg').{.unset(
c42e0 24 74 68 69 73 2d 3e 74 61 67 73 5b 27 74 69 70 27 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e $this->tags['tip']);.}.}..return
c4300 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .$this->tags;.}.....public.funct
c4320 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 ion.getBranches().{.if.($this->f
c4340 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 allbackDriver).{.return.$this->f
c4360 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a allbackDriver->getBranches();.}.
c4380 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 7b .if.(null.===.$this->branches).{
c43a0 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 73 .$this->branches.=.array();.$res
c43c0 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 25 73 3f 25 73 27 2c 0a 24 74 68 69 73 2d ource.=.sprintf(.'%s?%s',.$this-
c43e0 3e 62 72 61 6e 63 68 65 73 55 72 6c 2c 0a 68 74 74 70 5f 62 75 69 6c 64 5f 71 75 65 72 79 28 0a >branchesUrl,.http_build_query(.
c4400 61 72 72 61 79 28 0a 27 70 61 67 65 6c 65 6e 27 20 3d 3e 20 31 30 30 2c 0a 27 66 69 65 6c 64 73 array(.'pagelen'.=>.100,.'fields
c4420 27 20 3d 3e 20 27 76 61 6c 75 65 73 2e 6e 61 6d 65 2c 76 61 6c 75 65 73 2e 74 61 72 67 65 74 2e '.=>.'values.name,values.target.
c4440 68 61 73 68 2c 76 61 6c 75 65 73 2e 68 65 61 64 73 2c 6e 65 78 74 27 2c 0a 27 73 6f 72 74 27 20 hash,values.heads,next',.'sort'.
c4460 3d 3e 20 27 2d 74 61 72 67 65 74 2e 64 61 74 65 27 2c 0a 29 2c 0a 6e 75 6c 6c 2c 0a 27 26 27 0a =>.'-target.date',.),.null,.'&'.
c4480 29 0a 29 3b 0a 24 68 61 73 4e 65 78 74 20 3d 20 74 72 75 65 3b 0a 77 68 69 6c 65 20 28 24 68 61 ).);.$hasNext.=.true;.while.($ha
c44a0 73 4e 65 78 74 29 20 7b 0a 24 62 72 61 6e 63 68 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a sNext).{.$branchData.=.JsonFile:
c44c0 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 57 69 74 :parseJson($this->getContentsWit
c44e0 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 hOAuthCredentials($resource),.$r
c4500 65 73 6f 75 72 63 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 72 61 6e 63 68 44 61 74 61 5b 27 esource);.foreach.($branchData['
c4520 76 61 6c 75 65 73 27 5d 20 61 73 20 24 64 61 74 61 29 20 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 values'].as.$data).{...if.($this
c4540 2d 3e 76 63 73 54 79 70 65 20 3d 3d 3d 20 27 68 67 27 20 26 26 20 65 6d 70 74 79 28 24 64 61 74 ->vcsType.===.'hg'.&&.empty($dat
c4560 61 5b 27 68 65 61 64 73 27 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 74 68 69 a['heads'])).{.continue;.}..$thi
c4580 73 2d 3e 62 72 61 6e 63 68 65 73 5b 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 64 61 s->branches[$data['name']].=.$da
c45a0 74 61 5b 27 74 61 72 67 65 74 27 5d 5b 27 68 61 73 68 27 5d 3b 0a 7d 0a 69 66 20 28 65 6d 70 74 ta['target']['hash'];.}.if.(empt
c45c0 79 28 24 62 72 61 6e 63 68 44 61 74 61 5b 27 6e 65 78 74 27 5d 29 29 20 7b 0a 24 68 61 73 4e 65 y($branchData['next'])).{.$hasNe
c45e0 78 74 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d xt.=.false;.}.else.{.$resource.=
c4600 20 24 62 72 61 6e 63 68 44 61 74 61 5b 27 6e 65 78 74 27 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 .$branchData['next'];.}.}.}..ret
c4620 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a urn.$this->branches;.}..........
c4640 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 57 69 protected.function.getContentsWi
c4660 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 75 72 6c 2c 20 24 66 65 74 63 68 69 thOAuthCredentials($url,.$fetchi
c4680 6e 67 52 65 70 6f 44 61 74 61 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 74 72 79 20 7b 0a 72 65 74 75 ngRepoData.=.false).{.try.{.retu
c46a0 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 20 rn.parent::getContents($url);.}.
c46c0 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a catch.(TransportException.$e).{.
c46e0 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 20 3d 20 6e 65 77 20 42 69 74 62 75 63 6b 65 74 28 24 $bitbucketUtil.=.new.Bitbucket($
c4700 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e this->io,.$this->config,.$this->
c4720 70 72 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d process,.$this->remoteFilesystem
c4740 29 3b 0a 0a 69 66 20 28 34 30 33 20 3d 3d 3d 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 7c 7c );..if.(403.===.$e->getCode().||
c4760 20 28 34 30 31 20 3d 3d 3d 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 26 26 20 73 74 72 70 6f .(401.===.$e->getCode().&&.strpo
c4780 73 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 43 6f 75 6c 64 20 6e 6f 74 20 61 s($e->getMessage(),.'Could.not.a
c47a0 75 74 68 65 6e 74 69 63 61 74 65 20 61 67 61 69 6e 73 74 27 29 20 3d 3d 3d 20 30 29 29 20 7b 0a uthenticate.against').===.0)).{.
c47c0 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f if.(!$this->io->hasAuthenticatio
c47e0 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 0a 26 26 20 24 62 69 74 62 75 63 6b 65 n($this->originUrl).&&.$bitbucke
c4800 74 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 tUtil->authorizeOAuth($this->ori
c4820 67 69 6e 55 72 6c 29 0a 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f ginUrl).).{.return.parent::getCo
c4840 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d ntents($url);.}..if.(!$this->io-
c4860 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 26 26 20 24 66 65 74 63 68 69 6e 67 52 65 70 >isInteractive().&&.$fetchingRep
c4880 6f 44 61 74 61 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 74 43 6c oData).{.return.$this->attemptCl
c48a0 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a oneFallback();.}.}..throw.$e;.}.
c48c0 7d 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 }.......abstract.protected.funct
c48e0 69 6f 6e 20 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 ion.generateSshUrl();..protected
c4900 20 66 75 6e 63 74 69 6f 6e 20 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 .function.attemptCloneFallback()
c4920 0a 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 75 70 46 61 6c 6c 62 61 63 6b 44 72 69 .{.try.{.$this->setupFallbackDri
c4940 76 65 72 28 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 29 3b 0a 7d 20 ver($this->generateSshUrl());.}.
c4960 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 catch.(\RuntimeException.$e).{.$
c4980 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 24 74 this->fallbackDriver.=.null;..$t
c49a0 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 0a 27 3c 65 72 72 6f 72 3e 46 61 69 his->io->writeError(.'<error>Fai
c49c0 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 74 68 65 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 6e 65 led.to.clone.the.'...$this->gene
c49e0 72 61 74 65 53 73 68 55 72 6c 28 29 20 2e 20 27 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 74 72 79 rateSshUrl()...'.repository,.try
c4a00 20 72 75 6e 6e 69 6e 67 20 69 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 27 0a 2e 20 .running.in.interactive.mode'...
c4a20 27 20 73 6f 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 65 6e 74 65 72 20 79 6f 75 72 20 42 69 74 '.so.that.you.can.enter.your.Bit
c4a40 62 75 63 6b 65 74 20 4f 41 75 74 68 20 63 6f 6e 73 75 6d 65 72 20 63 72 65 64 65 6e 74 69 61 6c bucket.OAuth.consumer.credential
c4a60 73 3c 2f 65 72 72 6f 72 3e 27 0a 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a s</error>'.);.throw.$e;.}.}.....
c4a80 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 .abstract.protected.function.set
c4aa0 75 70 46 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 28 24 75 72 6c 29 3b 0a 0a 0a 0a 0a 0a 70 72 6f upFallbackDriver($url);......pro
c4ac0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 43 6c 6f 6e 65 55 72 6c 73 28 61 tected.function.parseCloneUrls(a
c4ae0 72 72 61 79 20 24 63 6c 6f 6e 65 4c 69 6e 6b 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6c rray.$cloneLinks).{.foreach.($cl
c4b00 6f 6e 65 4c 69 6e 6b 73 20 61 73 20 24 63 6c 6f 6e 65 4c 69 6e 6b 29 20 7b 0a 69 66 20 28 24 63 oneLinks.as.$cloneLink).{.if.($c
c4b20 6c 6f 6e 65 4c 69 6e 6b 5b 27 6e 61 6d 65 27 5d 20 3d 3d 3d 20 27 68 74 74 70 73 27 29 20 7b 0a loneLink['name'].===.'https').{.
c4b40 0a 20 0a 20 24 74 68 69 73 2d 3e 63 6c 6f 6e 65 48 74 74 70 73 55 72 6c 20 3d 20 70 72 65 67 5f ....$this->cloneHttpsUrl.=.preg_
c4b60 72 65 70 6c 61 63 65 28 27 2f 68 74 74 70 73 3a 5c 2f 5c 2f 28 5b 5e 40 5d 2b 40 29 3f 2f 27 2c replace('/https:\/\/([^@]+@)?/',
c4b80 20 27 68 74 74 70 73 3a 2f 2f 27 2c 20 24 63 6c 6f 6e 65 4c 69 6e 6b 5b 27 68 72 65 66 27 5d 29 .'https://',.$cloneLink['href'])
c4ba0 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 ;.}.}.}.....protected.function.g
c4bc0 65 74 4d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 28 29 0a 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d etMainBranchData().{.$resource.=
c4be0 20 73 70 72 69 6e 74 66 28 0a 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 62 69 74 62 75 63 6b 65 74 .sprintf(.'https://api.bitbucket
c4c00 2e 6f 72 67 2f 32 2e 30 2f 72 65 70 6f 73 69 74 6f 72 69 65 73 2f 25 73 2f 25 73 3f 66 69 65 6c .org/2.0/repositories/%s/%s?fiel
c4c20 64 73 3d 6d 61 69 6e 62 72 61 6e 63 68 27 2c 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 0a 24 74 ds=mainbranch',.$this->owner,.$t
c4c40 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 0a 29 3b 0a 0a 24 64 61 74 61 20 3d 20 4a 73 6f 6e his->repository.);..$data.=.Json
c4c60 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e File::parseJson($this->getConten
c4c80 74 73 57 69 74 68 4f 41 75 74 68 43 72 65 64 65 6e 74 69 61 6c 73 28 24 72 65 73 6f 75 72 63 65 tsWithOAuthCredentials($resource
c4ca0 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 27 ),.$resource);.if.(isset($data['
c4cc0 6d 61 69 6e 62 72 61 6e 63 68 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 61 74 61 5b 27 6d mainbranch'])).{.return.$data['m
c4ce0 61 69 6e 62 72 61 6e 63 68 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 7d ainbranch'];.}..return.null;.}.}
c4d00 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
c4d20 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 oser\Repository\Vcs;..use.Compos
c4d40 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 er\Cache;.use.Composer\Config;.u
c4d60 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 se.Composer\Util\ProcessExecutor
c4d80 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a ;.use.Composer\Util\Filesystem;.
c4da0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a use.Composer\IO\IOInterface;....
c4dc0 0a 63 6c 61 73 73 20 46 6f 73 73 69 6c 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 .class.FossilDriver.extends.VcsD
c4de0 72 69 76 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 river.{.protected.$tags;.protect
c4e00 65 64 20 24 62 72 61 6e 63 68 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 ed.$branches;.protected.$rootIde
c4e20 6e 74 69 66 69 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 46 69 6c 65 3b 0a 70 72 ntifier;.protected.$repoFile;.pr
c4e40 6f 74 65 63 74 65 64 20 24 63 68 65 63 6b 6f 75 74 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 otected.$checkoutDir;.protected.
c4e60 24 69 6e 66 6f 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 $infoCache.=.array();.....public
c4e80 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 0a 20 24 74 68 69 73 .function.initialize().{...$this
c4ea0 2d 3e 63 68 65 63 6b 46 6f 73 73 69 6c 28 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 ->checkFossil();....$this->confi
c4ec0 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 74 68 69 73 2d 3e 75 72 g->prohibitUrlByConfig($this->ur
c4ee0 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 46 69 6c 65 73 79 73 74 l,.$this->io);......if.(Filesyst
c4f00 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 74 68 69 73 2d 3e 75 72 6c 29 20 26 26 20 69 em::isLocalPath($this->url).&&.i
c4f20 73 5f 64 69 72 28 24 74 68 69 73 2d 3e 75 72 6c 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 s_dir($this->url)).{.$this->chec
c4f40 6b 6f 75 74 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 koutDir.=.$this->url;.}.else.{.i
c4f60 66 20 28 21 43 61 63 68 65 3a 3a 69 73 55 73 61 62 6c 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 f.(!Cache::isUsable($this->confi
c4f80 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 29 20 7c 7c 20 21 43 61 g->get('cache-repo-dir')).||.!Ca
c4fa0 63 68 65 3a 3a 69 73 55 73 61 62 6c 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 che::isUsable($this->config->get
c4fc0 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 ('cache-vcs-dir'))).{.throw.new.
c4fe0 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 6f 73 73 69 6c 44 72 69 76 65 72 20 \RuntimeException('FossilDriver.
c5000 72 65 71 75 69 72 65 73 20 61 20 75 73 61 62 6c 65 20 63 61 63 68 65 20 64 69 72 65 63 74 6f 72 requires.a.usable.cache.director
c5020 79 2c 20 61 6e 64 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 79 6f 75 20 73 65 74 20 69 74 20 y,.and.it.looks.like.you.set.it.
c5040 74 6f 20 62 65 20 64 69 73 61 62 6c 65 64 27 29 3b 0a 7d 0a 0a 24 6c 6f 63 61 6c 4e 61 6d 65 20 to.be.disabled');.}..$localName.
c5060 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 5d 7d 69 27 2c 20 27 =.preg_replace('{[^a-z0-9]}i',.'
c5080 2d 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 -',.$this->url);.$this->repoFile
c50a0 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 .=.$this->config->get('cache-rep
c50c0 6f 2d 64 69 72 27 29 20 2e 20 27 2f 27 20 2e 20 24 6c 6f 63 61 6c 4e 61 6d 65 20 2e 20 27 2e 66 o-dir')...'/'...$localName...'.f
c50e0 6f 73 73 69 6c 27 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 20 3d 20 24 74 68 ossil';.$this->checkoutDir.=.$th
c5100 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 is->config->get('cache-vcs-dir')
c5120 20 2e 20 27 2f 27 20 2e 20 24 6c 6f 63 61 6c 4e 61 6d 65 20 2e 20 27 2f 27 3b 0a 0a 24 74 68 69 ...'/'...$localName...'/';..$thi
c5140 73 2d 3e 75 70 64 61 74 65 4c 6f 63 61 6c 52 65 70 6f 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e s->updateLocalRepo();.}..$this->
c5160 67 65 74 54 61 67 73 28 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b getTags();.$this->getBranches();
c5180 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 46 .}.....protected.function.checkF
c51a0 6f 73 73 69 6c 28 29 0a 7b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 ossil().{.if.(0.!==.$this->proce
c51c0 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 76 65 72 73 69 6f 6e 27 2c 20 24 69 ss->execute('fossil.version',.$i
c51e0 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 gnoredOutput)).{.throw.new.\Runt
c5200 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 66 6f 73 73 69 6c 20 77 61 73 20 6e 6f 74 20 66 6f 75 imeException("fossil.was.not.fou
c5220 6e 64 2c 20 63 68 65 63 6b 20 74 68 61 74 20 69 74 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 61 nd,.check.that.it.is.installed.a
c5240 6e 64 20 69 6e 20 79 6f 75 72 20 50 41 54 48 20 65 6e 76 2e 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 nd.in.your.PATH.env.\n\n"...$thi
c5260 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d s->process->getErrorOutput());.}
c5280 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 .}.....protected.function.update
c52a0 4c 6f 63 61 6c 52 65 70 6f 28 29 0a 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 LocalRepo().{.$fs.=.new.Filesyst
c52c0 65 6d 28 29 3b 0a 24 66 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 em();.$fs->ensureDirectoryExists
c52e0 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b 0a 0a 69 66 20 28 21 69 73 5f 77 ($this->checkoutDir);..if.(!is_w
c5300 72 69 74 61 62 6c 65 28 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 ritable(dirname($this->checkoutD
c5320 69 72 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 ir))).{.throw.new.\RuntimeExcept
c5340 69 6f 6e 28 27 43 61 6e 20 6e 6f 74 20 63 6c 6f 6e 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e ion('Can.not.clone.'.$this->url.
c5360 27 20 74 6f 20 61 63 63 65 73 73 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e '.to.access.package.information.
c5380 20 54 68 65 20 22 27 2e 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 2e 27 22 20 64 69 .The."'.$this->checkoutDir.'".di
c53a0 72 65 63 74 6f 72 79 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 20 62 79 20 74 68 65 20 63 rectory.is.not.writable.by.the.c
c53c0 75 72 72 65 6e 74 20 75 73 65 72 2e 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 66 69 6c 65 urrent.user.');.}....if.(is_file
c53e0 28 24 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 29 20 26 26 20 69 73 5f 64 69 72 28 24 74 68 69 ($this->repoFile).&&.is_dir($thi
c5400 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 20 26 26 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e s->checkoutDir).&&.0.===.$this->
c5420 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 69 6e 66 6f 27 2c 20 process->execute('fossil.info',.
c5440 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 29 20 7b 0a $output,.$this->checkoutDir)).{.
c5460 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 if.(0.!==.$this->process->execut
c5480 65 28 27 66 6f 73 73 69 6c 20 70 75 6c 6c 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d e('fossil.pull',.$output,.$this-
c54a0 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 >checkoutDir)).{.$this->io->writ
c54c0 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 75 70 64 61 74 65 20 eError('<error>Failed.to.update.
c54e0 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 '.$this->url.',.package.informat
c5500 69 6f 6e 20 66 72 6f 6d 20 74 68 69 73 20 72 65 70 6f 73 69 74 6f 72 79 20 6d 61 79 20 62 65 20 ion.from.this.repository.may.be.
c5520 6f 75 74 64 61 74 65 64 20 28 27 2e 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 outdated.('.$this->process->getE
c5540 72 72 6f 72 4f 75 74 70 75 74 28 29 2e 27 29 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 7d 20 65 rrorOutput().')</error>');.}.}.e
c5560 6c 73 65 20 7b 0a 0a 20 24 66 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 74 68 lse.{...$fs->removeDirectory($th
c5580 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b 0a 24 66 73 2d 3e 72 65 6d 6f 76 65 28 24 74 is->checkoutDir);.$fs->remove($t
c55a0 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 29 3b 0a 0a 24 66 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 his->repoFile);..$fs->ensureDire
c55c0 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b ctoryExists($this->checkoutDir);
c55e0 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 ..if.(0.!==.$this->process->exec
c5600 75 74 65 28 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 63 6c 6f 6e 65 20 25 73 20 25 73 27 ute(sprintf('fossil.clone.%s.%s'
c5620 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 68 69 73 2d ,.ProcessExecutor::escape($this-
c5640 3e 75 72 6c 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 >url),.ProcessExecutor::escape($
c5660 74 68 69 73 2d 3e 72 65 70 6f 46 69 6c 65 29 29 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 6f this->repoFile)),.$output)).{.$o
c5680 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 utput.=.$this->process->getError
c56a0 4f 75 74 70 75 74 28 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 Output();..throw.new.\RuntimeExc
c56c0 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 27 2e 24 74 68 69 73 2d eption('Failed.to.clone.'.$this-
c56e0 3e 75 72 6c 2e 27 20 74 6f 20 72 65 70 6f 73 69 74 6f 72 79 20 27 20 2e 20 24 74 68 69 73 2d 3e >url.'.to.repository.'...$this->
c5700 72 65 70 6f 46 69 6c 65 20 2e 20 22 5c 6e 5c 6e 22 20 2e 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a repoFile..."\n\n"..$output);.}..
c5720 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 if.(0.!==.$this->process->execut
c5740 65 28 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 6f 70 65 6e 20 25 73 20 2d 2d 6e 65 73 74 e(sprintf('fossil.open.%s.--nest
c5760 65 64 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 68 ed',.ProcessExecutor::escape($th
c5780 69 73 2d 3e 72 65 70 6f 46 69 6c 65 29 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e is->repoFile)),.$output,.$this->
c57a0 63 68 65 63 6b 6f 75 74 44 69 72 29 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d checkoutDir)).{.$output.=.$this-
c57c0 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 0a 74 68 72 >process->getErrorOutput();..thr
c57e0 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 ow.new.\RuntimeException('Failed
c5800 20 74 6f 20 6f 70 65 6e 20 72 65 70 6f 73 69 74 6f 72 79 20 27 2e 24 74 68 69 73 2d 3e 72 65 70 .to.open.repository.'.$this->rep
c5820 6f 46 69 6c 65 2e 27 20 69 6e 20 27 20 2e 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 oFile.'.in.'...$this->checkoutDi
c5840 72 20 2e 20 22 5c 6e 5c 6e 22 20 2e 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a r..."\n\n"..$output);.}.}.}.....
c5860 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 public.function.getRootIdentifie
c5880 72 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 r().{.if.(null.===.$this->rootId
c58a0 65 6e 74 69 66 69 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 entifier).{.$this->rootIdentifie
c58c0 72 20 3d 20 27 74 72 75 6e 6b 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f r.=.'trunk';.}..return.$this->ro
c58e0 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 otIdentifier;.}.....public.funct
c5900 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 6c ion.getUrl().{.return.$this->url
c5920 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 ;.}.....public.function.getSourc
c5940 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 e($identifier).{.return.array('t
c5960 79 70 65 27 20 3d 3e 20 27 66 6f 73 73 69 6c 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 ype'.=>.'fossil',.'url'.=>.$this
c5980 2d 3e 67 65 74 55 72 6c 28 29 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e ->getUrl(),.'reference'.=>.$iden
c59a0 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 tifier);.}.....public.function.g
c59c0 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c etDist($identifier).{.return.nul
c59e0 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 l;.}.....public.function.getFile
c5a00 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 63 Content($file,.$identifier).{.$c
c5a20 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 27 66 6f 73 73 69 6c 20 63 61 74 20 2d 72 20 ommand.=.sprintf('fossil.cat.-r.
c5a40 25 73 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 %s.%s',.ProcessExecutor::escape(
c5a60 24 69 64 65 6e 74 69 66 69 65 72 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 $identifier),.ProcessExecutor::e
c5a80 73 63 61 70 65 28 24 66 69 6c 65 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 scape($file));.$this->process->e
c5aa0 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 63 6f 6e 74 65 6e 74 2c 20 24 74 68 69 73 xecute($command,.$content,.$this
c5ac0 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b 0a 0a 69 66 20 28 21 74 72 69 6d 28 24 63 6f 6e 74 ->checkoutDir);..if.(!trim($cont
c5ae0 65 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 ent)).{.return.null;.}..return.$
c5b00 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 content;.}.....public.function.g
c5b20 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 74 68 69 etChangeDate($identifier).{.$thi
c5b40 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 66 69 6e 66 s->process->execute('fossil.finf
c5b60 6f 20 2d 62 20 2d 6e 20 31 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 2c 20 24 6f 75 74 70 75 o.-b.-n.1.composer.json',.$outpu
c5b80 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 3b 0a 6c 69 73 74 28 24 63 6b t,.$this->checkoutDir);.list($ck
c5ba0 6f 75 74 2c 20 24 64 61 74 65 2c 20 24 6d 65 73 73 61 67 65 29 20 3d 20 65 78 70 6c 6f 64 65 28 out,.$date,.$message).=.explode(
c5bc0 27 20 27 2c 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 2c 20 33 29 3b 0a 0a 72 65 74 75 72 6e 20 '.',.trim($output),.3);..return.
c5be0 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 64 61 74 65 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 new.\DateTime($date,.new.\DateTi
c5c00 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e meZone('UTC'));.}.....public.fun
c5c20 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 ction.getTags().{.if.(null.===.$
c5c40 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a this->tags).{.$tags.=.array();..
c5c60 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 $this->process->execute('fossil.
c5c80 74 61 67 20 6c 69 73 74 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b tag.list',.$output,.$this->check
c5ca0 6f 75 74 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 outDir);.foreach.($this->process
c5cc0 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 74 61 67 29 20 7b ->splitLines($output).as.$tag).{
c5ce0 0a 24 74 61 67 73 5b 24 74 61 67 5d 20 3d 20 24 74 61 67 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 .$tags[$tag].=.$tag;.}..$this->t
c5d00 61 67 73 20 3d 20 24 74 61 67 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 ags.=.$tags;.}..return.$this->ta
c5d20 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 gs;.}.....public.function.getBra
c5d40 6e 63 68 65 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 72 nches().{.if.(null.===.$this->br
c5d60 61 6e 63 68 65 73 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 anches).{.$branches.=.array();.$
c5d80 62 6f 6f 6b 6d 61 72 6b 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f bookmarks.=.array();..$this->pro
c5da0 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 62 72 61 6e 63 68 20 6c 69 73 cess->execute('fossil.branch.lis
c5dc0 74 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 6f 75 74 44 69 72 29 t',.$output,.$this->checkoutDir)
c5de0 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 ;.foreach.($this->process->split
c5e00 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 24 62 72 Lines($output).as.$branch).{.$br
c5e20 61 6e 63 68 20 3d 20 74 72 69 6d 28 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5e 5c 2a 2f 27 anch.=.trim(preg_replace('/^\*/'
c5e40 2c 20 27 27 2c 20 74 72 69 6d 28 24 62 72 61 6e 63 68 29 29 29 3b 0a 24 62 72 61 6e 63 68 65 73 ,.'',.trim($branch)));.$branches
c5e60 5b 24 62 72 61 6e 63 68 5d 20 3d 20 24 62 72 61 6e 63 68 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 [$branch].=.$branch;.}..$this->b
c5e80 72 61 6e 63 68 65 73 20 3d 20 24 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 ranches.=.$branches;.}..return.$
c5ea0 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 this->branches;.}.....public.sta
c5ec0 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 tic.function.supports(IOInterfac
c5ee0 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 e.$io,.Config.$config,.$url,.$de
c5f00 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 28 ep.=.false).{.if.(preg_match('#(
c5f20 5e 28 3f 3a 68 74 74 70 73 3f 7c 73 73 68 29 3a 2f 2f 28 3f 3a 5b 5e 40 5d 40 29 3f 28 3f 3a 63 ^(?:https?|ssh)://(?:[^@]@)?(?:c
c5f40 68 69 73 65 6c 61 70 70 5c 2e 63 6f 6d 7c 66 6f 73 73 69 6c 5c 2e 29 29 23 69 27 2c 20 24 75 72 hiselapp\.com|fossil\.))#i',.$ur
c5f60 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d l)).{.return.true;.}..if.(preg_m
c5f80 61 74 63 68 28 27 21 2f 66 6f 73 73 69 6c 2f 7c 5c 2e 66 6f 73 73 69 6c 21 27 2c 20 24 75 72 6c atch('!/fossil/|\.fossil!',.$url
c5fa0 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 46 69 6c 65 73 )).{.return.true;.}....if.(Files
c5fc0 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 24 75 72 6c ystem::isLocalPath($url)).{.$url
c5fe0 20 3d 20 46 69 6c 65 73 79 73 74 65 6d 3a 3a 67 65 74 50 6c 61 74 66 6f 72 6d 50 61 74 68 28 24 .=.Filesystem::getPlatformPath($
c6000 75 72 6c 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 url);.if.(!is_dir($url)).{.retur
c6020 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 n.false;.}..$process.=.new.Proce
c6040 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 20 69 66 20 28 24 70 72 6f 63 65 73 73 2d ssExecutor($io);...if.($process-
c6060 3e 65 78 65 63 75 74 65 28 27 66 6f 73 73 69 6c 20 69 6e 66 6f 27 2c 20 24 6f 75 74 70 75 74 2c >execute('fossil.info',.$output,
c6080 20 24 75 72 6c 29 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d .$url).===.0).{.return.true;.}.}
c60a0 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a ..return.false;.}.}.<?php.......
c60c0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f .....namespace.Composer\Reposito
c60e0 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 ry\Vcs;..use.Composer\Config;.us
c6100 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 e.Composer\IO\IOInterface;.....c
c6120 6c 61 73 73 20 47 69 74 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 lass.GitBitbucketDriver.extends.
c6140 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 BitbucketDriver.{....public.func
c6160 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 69 66 20 28 24 tion.getRootIdentifier().{.if.($
c6180 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 this->fallbackDriver).{.return.$
c61a0 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 this->fallbackDriver->getRootIde
c61c0 6e 74 69 66 69 65 72 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 ntifier();.}..if.(null.===.$this
c61e0 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 69 66 20 28 21 20 24 74 68 69 73 2d ->rootIdentifier).{.if.(!.$this-
c6200 3e 67 65 74 52 65 70 6f 44 61 74 61 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e >getRepoData()).{.return.$this->
c6220 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 fallbackDriver->getRootIdentifie
c6240 72 28 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 63 73 54 79 70 65 20 21 3d 3d 20 27 r();.}..if.($this->vcsType.!==.'
c6260 67 69 74 27 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 git').{.throw.new.\RuntimeExcept
c6280 69 6f 6e 28 0a 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 65 61 ion(.$this->url.'.does.not.appea
c62a0 72 20 74 6f 20 62 65 20 61 20 67 69 74 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 75 73 65 20 27 2e r.to.be.a.git.repository,.use.'.
c62c0 0a 24 74 68 69 73 2d 3e 63 6c 6f 6e 65 48 74 74 70 73 55 72 6c 2e 27 20 69 66 20 74 68 69 73 20 .$this->cloneHttpsUrl.'.if.this.
c62e0 69 73 20 61 20 6d 65 72 63 75 72 69 61 6c 20 62 69 74 62 75 63 6b 65 74 20 72 65 70 6f 73 69 74 is.a.mercurial.bitbucket.reposit
c6300 6f 72 79 27 0a 29 3b 0a 7d 0a 0a 24 6d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 20 3d 20 24 74 68 ory'.);.}..$mainBranchData.=.$th
c6320 69 73 2d 3e 67 65 74 4d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 28 29 3b 0a 24 74 68 69 73 2d 3e is->getMainBranchData();.$this->
c6340 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 21 65 6d 70 74 79 28 24 6d 61 69 6e 42 72 61 rootIdentifier.=.!empty($mainBra
c6360 6e 63 68 44 61 74 61 5b 27 6e 61 6d 65 27 5d 29 20 3f 20 24 6d 61 69 6e 42 72 61 6e 63 68 44 61 nchData['name']).?.$mainBranchDa
c6380 74 61 5b 27 6e 61 6d 65 27 5d 20 3a 20 27 6d 61 73 74 65 72 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e ta['name'].:.'master';.}..return
c63a0 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 .$this->rootIdentifier;.}.....pu
c63c0 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f blic.static.function.supports(IO
c63e0 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 Interface.$io,.Config.$config,.$
c6400 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f url,.$deep.=.false).{.if.(!preg_
c6420 6d 61 74 63 68 28 27 23 5e 68 74 74 70 73 3f 3a 2f 2f 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 match('#^https?://bitbucket\.org
c6440 2f 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 5c 2e 67 69 74 24 23 69 27 2c 20 24 75 72 6c 29 29 20 /([^/]+)/(.+?)\.git$#i',.$url)).
c6460 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f {.return.false;.}..if.(!extensio
c6480 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 n_loaded('openssl')).{.$io->writ
c64a0 65 45 72 72 6f 72 28 27 53 6b 69 70 70 69 6e 67 20 42 69 74 62 75 63 6b 65 74 20 67 69 74 20 64 eError('Skipping.Bitbucket.git.d
c64c0 72 69 76 65 72 20 66 6f 72 20 27 2e 24 75 72 6c 2e 27 20 62 65 63 61 75 73 65 20 74 68 65 20 4f river.for.'.$url.'.because.the.O
c64e0 70 65 6e 53 53 4c 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e penSSL.PHP.extension.is.missing.
c6500 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a ',.true,.IOInterface::VERBOSE);.
c6520 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d .return.false;.}..return.true;.}
c6540 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 46 61 6c .....protected.function.setupFal
c6560 6c 62 61 63 6b 44 72 69 76 65 72 28 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 lbackDriver($url).{.$this->fallb
c6580 61 63 6b 44 72 69 76 65 72 20 3d 20 6e 65 77 20 47 69 74 44 72 69 76 65 72 28 0a 61 72 72 61 79 ackDriver.=.new.GitDriver(.array
c65a0 28 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 29 2c 0a 24 74 68 69 73 2d 3e 69 6f 2c 0a 24 74 68 69 ('url'.=>.$url),.$this->io,.$thi
c65c0 73 2d 3e 63 6f 6e 66 69 67 2c 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 0a 24 74 68 69 73 s->config,.$this->process,.$this
c65e0 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 0a 29 3b 0a 24 74 68 69 73 2d 3e 66 61 6c ->remoteFilesystem.);.$this->fal
c6600 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a 0a 0a lbackDriver->initialize();.}....
c6620 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 53 73 68 55 .protected.function.generateSshU
c6640 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 67 69 74 40 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 rl().{.return.'git@'...$this->or
c6660 69 67 69 6e 55 72 6c 20 2e 20 27 3a 27 20 2e 20 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 iginUrl...':'...$this->owner.'/'
c6680 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2e 67 69 74 27 3b 0a 7d 0a 7d 0a 3c .$this->repository.'.git';.}.}.<
c66a0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
c66c0 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 er\Repository\Vcs;..use.Composer
c66e0 5c 55 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f \Util\ProcessExecutor;.use.Compo
c6700 73 65 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 ser\Util\Filesystem;.use.Compose
c6720 72 5c 55 74 69 6c 5c 47 69 74 20 61 73 20 47 69 74 55 74 69 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f r\Util\Git.as.GitUtil;.use.Compo
c6740 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 ser\IO\IOInterface;.use.Composer
c6760 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a 0a 0a \Cache;.use.Composer\Config;....
c6780 0a 63 6c 61 73 73 20 47 69 74 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 .class.GitDriver.extends.VcsDriv
c67a0 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 65 63 74 65 64 er.{.protected.$cache;.protected
c67c0 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 65 73 3b 0a 70 72 6f .$tags;.protected.$branches;.pro
c67e0 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 70 72 6f 74 65 63 74 65 tected.$rootIdentifier;.protecte
c6800 64 20 24 72 65 70 6f 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 68 65 d.$repoDir;.protected.$infoCache
c6820 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .=.array();.....public.function.
c6840 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 initialize().{.if.(Filesystem::i
c6860 73 4c 6f 63 61 6c 50 61 74 68 28 24 74 68 69 73 2d 3e 75 72 6c 29 29 20 7b 0a 24 74 68 69 73 2d sLocalPath($this->url)).{.$this-
c6880 3e 75 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5c 5c 2f 5d 5c 2e 67 69 74 >url.=.preg_replace('{[\\/]\.git
c68a0 2f 3f 24 7d 27 2c 20 27 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 24 74 68 69 73 2d 3e 72 /?$}',.'',.$this->url);.$this->r
c68c0 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 24 63 61 63 68 65 55 72 6c 20 3d epoDir.=.$this->url;.$cacheUrl.=
c68e0 20 72 65 61 6c 70 61 74 68 28 24 74 68 69 73 2d 3e 75 72 6c 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a .realpath($this->url);.}.else.{.
c6900 69 66 20 28 21 43 61 63 68 65 3a 3a 69 73 55 73 61 62 6c 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 if.(!Cache::isUsable($this->conf
c6920 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 29 29 20 7b 0a 74 68 72 ig->get('cache-vcs-dir'))).{.thr
c6940 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 47 69 74 44 72 69 ow.new.\RuntimeException('GitDri
c6960 76 65 72 20 72 65 71 75 69 72 65 73 20 61 20 75 73 61 62 6c 65 20 63 61 63 68 65 20 64 69 72 65 ver.requires.a.usable.cache.dire
c6980 63 74 6f 72 79 2c 20 61 6e 64 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 79 6f 75 20 73 65 74 ctory,.and.it.looks.like.you.set
c69a0 20 69 74 20 74 6f 20 62 65 20 64 69 73 61 62 6c 65 64 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e .it.to.be.disabled');.}..$this->
c69c0 72 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 repoDir.=.$this->config->get('ca
c69e0 63 68 65 2d 76 63 73 2d 64 69 72 27 29 20 2e 20 27 2f 27 20 2e 20 70 72 65 67 5f 72 65 70 6c 61 che-vcs-dir')...'/'...preg_repla
c6a00 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 2e 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 74 68 69 73 2d 3e ce('{[^a-z0-9.]}i',.'-',.$this->
c6a20 75 72 6c 29 20 2e 20 27 2f 27 3b 0a 0a 47 69 74 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 29 url)...'/';..GitUtil::cleanEnv()
c6a40 3b 0a 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e ;..$fs.=.new.Filesystem();.$fs->
c6a60 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 64 69 72 6e 61 6d 65 28 24 74 ensureDirectoryExists(dirname($t
c6a80 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 3b 0a 0a 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c his->repoDir));..if.(!is_writabl
c6aa0 65 28 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 29 20 7b 0a 74 68 e(dirname($this->repoDir))).{.th
c6ac0 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 20 6e row.new.\RuntimeException('Can.n
c6ae0 6f 74 20 63 6c 6f 6e 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 74 6f 20 61 63 63 65 73 ot.clone.'.$this->url.'.to.acces
c6b00 73 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 54 68 65 20 22 27 2e 64 69 s.package.information..The."'.di
c6b20 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 2e 27 22 20 64 69 72 65 63 74 6f rname($this->repoDir).'".directo
c6b40 72 79 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 20 62 79 20 74 68 65 20 63 75 72 72 65 6e ry.is.not.writable.by.the.curren
c6b60 74 20 75 73 65 72 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e t.user.');.}..if.(preg_match('{^
c6b80 73 73 68 3a 2f 2f 5b 5e 40 5d 2b 40 5b 5e 3a 5d 2b 3a 5b 5e 30 2d 39 5d 2b 7d 27 2c 20 24 74 68 ssh://[^@]+@[^:]+:[^0-9]+}',.$th
c6ba0 69 73 2d 3e 75 72 6c 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 is->url)).{.throw.new.\InvalidAr
c6bc0 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 73 6f 75 72 63 65 20 55 52 4c 20 gumentException('The.source.URL.
c6be0 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 69 73 20 69 6e 76 61 6c 69 64 2c 20 73 73 68 20 55 '.$this->url.'.is.invalid,.ssh.U
c6c00 52 4c 73 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 70 6f 72 74 20 6e 75 6d 62 65 72 20 61 66 RLs.should.have.a.port.number.af
c6c20 74 65 72 20 22 3a 22 2e 27 2e 22 5c 6e 22 2e 27 55 73 65 20 73 73 68 3a 2f 2f 67 69 74 40 65 78 ter.":".'."\n".'Use.ssh://git@ex
c6c40 61 6d 70 6c 65 2e 63 6f 6d 3a 32 32 2f 70 61 74 68 20 6f 72 20 6a 75 73 74 20 67 69 74 40 65 78 ample.com:22/path.or.just.git@ex
c6c60 61 6d 70 6c 65 2e 63 6f 6d 3a 70 61 74 68 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 77 61 6e ample.com:path.if.you.do.not.wan
c6c80 74 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 70 61 73 73 77 6f 72 64 20 6f 72 20 63 75 73 74 6f t.to.provide.a.password.or.custo
c6ca0 6d 20 70 6f 72 74 2e 27 29 3b 0a 7d 0a 0a 24 67 69 74 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 m.port.');.}..$gitUtil.=.new.Git
c6cc0 55 74 69 6c 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 Util($this->io,.$this->config,.$
c6ce0 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 24 66 73 29 3b 0a 69 66 20 28 21 24 67 69 74 55 74 this->process,.$fs);.if.(!$gitUt
c6d00 69 6c 2d 3e 73 79 6e 63 4d 69 72 72 6f 72 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 74 68 69 73 il->syncMirror($this->url,.$this
c6d20 2d 3e 72 65 70 6f 44 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 ->repoDir)).{.$this->io->writeEr
c6d40 72 6f 72 28 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 75 70 64 61 74 65 20 27 2e 24 ror('<error>Failed.to.update.'.$
c6d60 74 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e this->url.',.package.information
c6d80 20 66 72 6f 6d 20 74 68 69 73 20 72 65 70 6f 73 69 74 6f 72 79 20 6d 61 79 20 62 65 20 6f 75 74 .from.this.repository.may.be.out
c6da0 64 61 74 65 64 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 0a 24 63 61 63 68 65 55 72 6c 20 3d 20 dated</error>');.}..$cacheUrl.=.
c6dc0 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 67 65 74 54 61 67 73 28 29 3b $this->url;.}..$this->getTags();
c6de0 0a 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 .$this->getBranches();..$this->c
c6e00 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 ache.=.new.Cache($this->io,.$thi
c6e20 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 s->config->get('cache-repo-dir')
c6e40 2e 27 2f 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 2e 5d 7d 69 .'/'.preg_replace('{[^a-z0-9.]}i
c6e60 27 2c 20 27 2d 27 2c 20 24 63 61 63 68 65 55 72 6c 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 ',.'-',.$cacheUrl));.}.....publi
c6e80 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b c.function.getRootIdentifier().{
c6ea0 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 .if.(null.===.$this->rootIdentif
c6ec0 69 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 27 ier).{.$this->rootIdentifier.=.'
c6ee0 6d 61 73 74 65 72 27 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 master';....$this->process->exec
c6f00 75 74 65 28 27 67 69 74 20 62 72 61 6e 63 68 20 2d 2d 6e 6f 2d 63 6f 6c 6f 72 27 2c 20 24 6f 75 ute('git.branch.--no-color',.$ou
c6f20 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 24 62 72 61 6e 63 68 65 73 tput,.$this->repoDir);.$branches
c6f40 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f .=.$this->process->splitLines($o
c6f60 75 74 70 75 74 29 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 2a 20 6d 61 73 74 65 72 27 utput);.if.(!in_array('*.master'
c6f80 2c 20 24 62 72 61 6e 63 68 65 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 62 72 61 6e 63 68 ,.$branches)).{.foreach.($branch
c6fa0 65 73 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 69 66 20 28 24 62 72 61 6e 63 68 20 26 26 20 es.as.$branch).{.if.($branch.&&.
c6fc0 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 2a 20 2b 28 5c 53 2b 29 7d 27 2c 20 24 62 72 61 6e preg_match('{^\*.+(\S+)}',.$bran
c6fe0 63 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 ch,.$match)).{.$this->rootIdenti
c7000 66 69 65 72 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d fier.=.$match[1];.break;.}.}.}.}
c7020 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a ..return.$this->rootIdentifier;.
c7040 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b }.....public.function.getUrl().{
c7060 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .return.$this->url;.}.....public
c7080 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 .function.getSource($identifier)
c70a0 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 67 69 74 27 2c .{.return.array('type'.=>.'git',
c70c0 20 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 28 29 2c 20 27 72 65 66 65 .'url'.=>.$this->getUrl(),.'refe
c70e0 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 rence'.=>.$identifier);.}.....pu
c7100 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 blic.function.getDist($identifie
c7120 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 r).{.return.null;.}.....public.f
c7140 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 unction.getFileContent($file,.$i
c7160 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 dentifier).{.$resource.=.sprintf
c7180 28 27 25 73 3a 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 ('%s:%s',.ProcessExecutor::escap
c71a0 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a e($identifier),.ProcessExecutor:
c71c0 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d :escape($file));.$this->process-
c71e0 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 67 69 74 20 73 68 6f 77 20 25 73 27 2c 20 >execute(sprintf('git.show.%s',.
c7200 24 72 65 73 6f 75 72 63 65 29 2c 20 24 63 6f 6e 74 65 6e 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 $resource),.$content,.$this->rep
c7220 6f 44 69 72 29 3b 0a 0a 69 66 20 28 21 74 72 69 6d 28 24 63 6f 6e 74 65 6e 74 29 29 20 7b 0a 72 oDir);..if.(!trim($content)).{.r
c7240 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a eturn.null;.}..return.$content;.
c7260 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 }.....public.function.getChangeD
c7280 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 ate($identifier).{.$this->proces
c72a0 73 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 0a 27 67 69 74 20 6c 6f 67 20 2d 31 20 s->execute(sprintf(.'git.log.-1.
c72c0 2d 2d 66 6f 72 6d 61 74 3d 25 25 61 74 20 25 73 27 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 --format=%%at.%s',.ProcessExecut
c72e0 6f 72 3a 3a 65 73 63 61 70 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 29 2c 20 24 6f 75 74 70 or::escape($identifier).),.$outp
c7300 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 ut,.$this->repoDir);..return.new
c7320 20 5c 44 61 74 65 54 69 6d 65 28 27 40 27 2e 74 72 69 6d 28 24 6f 75 74 70 75 74 29 2c 20 6e 65 .\DateTime('@'.trim($output),.ne
c7340 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 w.\DateTimeZone('UTC'));.}.....p
c7360 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 69 66 20 28 6e ublic.function.getTags().{.if.(n
c7380 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 ull.===.$this->tags).{.$this->ta
c73a0 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 gs.=.array();..$this->process->e
c73c0 78 65 63 75 74 65 28 27 67 69 74 20 73 68 6f 77 2d 72 65 66 20 2d 2d 74 61 67 73 20 2d 2d 64 65 xecute('git.show-ref.--tags.--de
c73e0 72 65 66 65 72 65 6e 63 65 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f reference',.$output,.$this->repo
c7400 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e Dir);.foreach.($output.=.$this->
c7420 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 process->splitLines($output).as.
c7440 24 74 61 67 29 20 7b 0a 69 66 20 28 24 74 61 67 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 $tag).{.if.($tag.&&.preg_match('
c7460 7b 5e 28 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 29 20 72 65 66 73 2f 74 61 67 73 2f 28 5c 53 2b 3f {^([a-f0-9]{40}).refs/tags/(\S+?
c7480 29 28 5c 5e 5c 7b 5c 7d 29 3f 24 7d 27 2c 20 24 74 61 67 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a )(\^\{\})?$}',.$tag,.$match)).{.
c74a0 24 74 68 69 73 2d 3e 74 61 67 73 5b 24 6d 61 74 63 68 5b 32 5d 5d 20 3d 20 24 6d 61 74 63 68 5b $this->tags[$match[2]].=.$match[
c74c0 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 1];.}.}.}..return.$this->tags;.}
c74e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 .....public.function.getBranches
c7500 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 ().{.if.(null.===.$this->branche
c7520 73 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 69 73 s).{.$branches.=.array();..$this
c7540 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 62 72 61 6e 63 68 20 2d ->process->execute('git.branch.-
c7560 2d 6e 6f 2d 63 6f 6c 6f 72 20 2d 2d 6e 6f 2d 61 62 62 72 65 76 20 2d 76 27 2c 20 24 6f 75 74 70 -no-color.--no-abbrev.-v',.$outp
c7580 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 ut,.$this->repoDir);.foreach.($t
c75a0 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 his->process->splitLines($output
c75c0 29 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 69 66 20 28 24 62 72 61 6e 63 68 20 26 26 20 21 ).as.$branch).{.if.($branch.&&.!
c75e0 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 20 2a 5b 5e 2f 5d 2b 2f 48 45 41 44 20 7d 27 2c 20 24 preg_match('{^.*[^/]+/HEAD.}',.$
c7600 62 72 61 6e 63 68 29 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 3a branch)).{.if.(preg_match('{^(?:
c7620 5c 2a 20 29 3f 20 2a 28 5c 53 2b 29 20 2a 28 5b 61 2d 66 30 2d 39 5d 2b 29 28 3f 3a 20 2e 2a 29 \*.)?.*(\S+).*([a-f0-9]+)(?:..*)
c7640 3f 24 7d 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 62 72 61 6e 63 ?$}',.$branch,.$match)).{.$branc
c7660 68 65 73 5b 24 6d 61 74 63 68 5b 31 5d 5d 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a hes[$match[1]].=.$match[2];.}.}.
c7680 7d 0a 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 24 62 72 61 6e 63 68 65 73 3b 0a }..$this->branches.=.$branches;.
c76a0 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 0a 0a }..return.$this->branches;.}....
c76c0 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 .public.static.function.supports
c76e0 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 (IOInterface.$io,.Config.$config
c7700 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 70 72 65 ,.$url,.$deep.=.false).{.if.(pre
c7720 67 5f 6d 61 74 63 68 28 27 23 28 5e 67 69 74 3a 2f 2f 7c 5c 2e 67 69 74 2f 3f 24 7c 67 69 74 28 g_match('#(^git://|\.git/?$|git(
c7740 3f 3a 6f 6c 69 74 65 29 3f 40 7c 2f 2f 67 69 74 5c 2e 7c 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f ?:olite)?@|//git\.|//github.com/
c7760 29 23 69 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a )#i',.$url)).{.return.true;.}...
c7780 20 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 .if.(Filesystem::isLocalPath($ur
c77a0 6c 29 29 20 7b 0a 24 75 72 6c 20 3d 20 46 69 6c 65 73 79 73 74 65 6d 3a 3a 67 65 74 50 6c 61 74 l)).{.$url.=.Filesystem::getPlat
c77c0 66 6f 72 6d 50 61 74 68 28 24 75 72 6c 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 75 72 6c formPath($url);.if.(!is_dir($url
c77e0 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 20 3d )).{.return.false;.}..$process.=
c7800 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 20 69 66 20 .new.ProcessExecutor($io);...if.
c7820 28 24 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 74 61 67 27 2c 20 24 6f ($process->execute('git.tag',.$o
c7840 75 74 70 75 74 2c 20 24 75 72 6c 29 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 utput,.$url).===.0).{.return.tru
c7860 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 64 65 65 70 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c e;.}.}..if.(!$deep).{.return.fal
c7880 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 se;.}..$process.=.new.ProcessExe
c78a0 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 2d 3e 65 78 cutor($io);..return.$process->ex
c78c0 65 63 75 74 65 28 27 67 69 74 20 6c 73 2d 72 65 6d 6f 74 65 20 2d 2d 68 65 61 64 73 20 27 20 2e ecute('git.ls-remote.--heads.'..
c78e0 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 .ProcessExecutor::escape($url),.
c7900 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 30 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a $output).===.0;.}.}.<?php.......
c7920 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f .....namespace.Composer\Reposito
c7940 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 ry\Vcs;..use.Composer\Config;.us
c7960 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 e.Composer\Downloader\TransportE
c7980 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e xception;.use.Composer\Json\Json
c79a0 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f File;.use.Composer\Cache;.use.Co
c79c0 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f mposer\IO\IOInterface;.use.Compo
c79e0 73 65 72 5c 55 74 69 6c 5c 47 69 74 48 75 62 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 48 75 ser\Util\GitHub;.....class.GitHu
c7a00 62 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a 70 72 6f 74 bDriver.extends.VcsDriver.{.prot
c7a20 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 77 6e 65 72 3b 0a ected.$cache;.protected.$owner;.
c7a40 70 72 6f 74 65 63 74 65 64 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 70 72 6f 74 65 63 74 65 64 protected.$repository;.protected
c7a60 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 65 73 3b 0a 70 72 6f .$tags;.protected.$branches;.pro
c7a80 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 70 72 6f 74 65 63 74 65 tected.$rootIdentifier;.protecte
c7aa0 64 20 24 72 65 70 6f 44 61 74 61 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 68 61 73 49 73 73 75 65 d.$repoData;.protected.$hasIssue
c7ac0 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 s;.protected.$infoCache.=.array(
c7ae0 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 73 50 72 69 76 61 74 65 20 3d 20 66 61 6c 73 65 3b );.protected.$isPrivate.=.false;
c7b00 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 67 69 74 44 72 69 76 65 72 3b 0a 0a 0a 0a .......protected.$gitDriver;....
c7b20 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a .public.function.initialize().{.
c7b40 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 28 3f 3a 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 3a preg_match('#^(?:(?:https?|git):
c7b60 2f 2f 28 5b 5e 2f 5d 2b 29 2f 7c 67 69 74 40 28 5b 5e 3a 5d 2b 29 3a 2f 3f 29 28 5b 5e 2f 5d 2b //([^/]+)/|git@([^:]+):/?)([^/]+
c7b80 29 2f 28 2e 2b 3f 29 28 3f 3a 5c 2e 67 69 74 7c 2f 29 3f 24 23 27 2c 20 24 74 68 69 73 2d 3e 75 )/(.+?)(?:\.git|/)?$#',.$this->u
c7ba0 72 6c 2c 20 24 6d 61 74 63 68 29 3b 0a 24 74 68 69 73 2d 3e 6f 77 6e 65 72 20 3d 20 24 6d 61 74 rl,.$match);.$this->owner.=.$mat
c7bc0 63 68 5b 33 5d 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 6d 61 74 63 ch[3];.$this->repository.=.$matc
c7be0 68 5b 34 5d 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 20 73 74 72 74 6f 6c 6f h[4];.$this->originUrl.=.strtolo
c7c00 77 65 72 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 31 5d 29 20 3f 20 24 6d 61 74 63 68 5b 31 wer(!empty($match[1]).?.$match[1
c7c20 5d 20 3a 20 24 6d 61 74 63 68 5b 32 5d 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 ].:.$match[2]);.if.($this->origi
c7c40 6e 55 72 6c 20 3d 3d 3d 20 27 77 77 77 2e 67 69 74 68 75 62 2e 63 6f 6d 27 29 20 7b 0a 24 74 68 nUrl.===.'www.github.com').{.$th
c7c60 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 3b 0a 7d 0a is->originUrl.=.'github.com';.}.
c7c80 24 74 68 69 73 2d 3e 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 74 68 69 73 2d 3e $this->cache.=.new.Cache($this->
c7ca0 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 io,.$this->config->get('cache-re
c7cc0 70 6f 2d 64 69 72 27 29 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2e 27 2f po-dir').'/'.$this->originUrl.'/
c7ce0 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 '.$this->owner.'/'.$this->reposi
c7d00 74 6f 72 79 29 3b 0a 0a 69 66 20 28 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 tory);..if.(.$this->config->get(
c7d20 27 75 73 65 2d 67 69 74 68 75 62 2d 61 70 69 27 29 20 3d 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 28 'use-github-api').===.false.||.(
c7d40 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6e 6f 2d 61 70 69 27 isset($this->repoConfig['no-api'
c7d60 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6e 6f 2d 61 70 69 27 ]).&&.$this->repoConfig['no-api'
c7d80 5d 20 29 20 29 7b 0a 24 74 68 69 73 2d 3e 73 65 74 75 70 47 69 74 44 72 69 76 65 72 28 24 74 68 ].).){.$this->setupGitDriver($th
c7da0 69 73 2d 3e 75 72 6c 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 65 74 is->url);..return;.}..$this->fet
c7dc0 63 68 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 chRootIdentifier();.}..public.fu
c7de0 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 73 69 74 6f 72 79 55 72 6c 28 29 0a 7b 0a 72 65 74 75 nction.getRepositoryUrl().{.retu
c7e00 72 6e 20 27 68 74 74 70 73 3a 2f 2f 27 2e 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2e 27 rn.'https://'.$this->originUrl.'
c7e20 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 /'.$this->owner.'/'.$this->repos
c7e40 69 74 6f 72 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 itory;.}.....public.function.get
c7e60 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 RootIdentifier().{.if.($this->gi
c7e80 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 tDriver).{.return.$this->gitDriv
c7ea0 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 7d 0a 0a 72 65 74 75 er->getRootIdentifier();.}..retu
c7ec0 72 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a rn.$this->rootIdentifier;.}.....
c7ee0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 69 66 20 28 24 public.function.getUrl().{.if.($
c7f00 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d this->gitDriver).{.return.$this-
c7f20 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 55 72 6c 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 >gitDriver->getUrl();.}..return.
c7f40 27 68 74 74 70 73 3a 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 2e 20 'https://'...$this->originUrl...
c7f60 27 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f '/'.$this->owner.'/'.$this->repo
c7f80 73 69 74 6f 72 79 2e 27 2e 67 69 74 27 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 sitory.'.git';.}.....protected.f
c7fa0 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 69 55 72 6c 28 29 0a 7b 0a 69 66 20 28 27 67 69 74 68 75 unction.getApiUrl().{.if.('githu
c7fc0 62 2e 63 6f 6d 27 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 20 7b 0a 24 b.com'.===.$this->originUrl).{.$
c7fe0 61 70 69 55 72 6c 20 3d 20 27 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 27 3b 0a 7d 20 65 6c 73 apiUrl.=.'api.github.com';.}.els
c8000 65 20 7b 0a 24 61 70 69 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 2e e.{.$apiUrl.=.$this->originUrl..
c8020 20 27 2f 61 70 69 2f 76 33 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 68 74 74 70 73 3a 2f 2f 27 .'/api/v3';.}..return.'https://'
c8040 20 2e 20 24 61 70 69 55 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ...$apiUrl;.}.....public.functio
c8060 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 n.getSource($identifier).{.if.($
c8080 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d this->gitDriver).{.return.$this-
c80a0 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 >gitDriver->getSource($identifie
c80c0 72 29 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 50 72 69 76 61 74 65 29 20 7b 0a 0a 20 r);.}.if.($this->isPrivate).{...
c80e0 0a 20 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 ..$url.=.$this->generateSshUrl()
c8100 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 28 ;.}.else.{.$url.=.$this->getUrl(
c8120 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 67 69 );.}..return.array('type'.=>.'gi
c8140 74 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d t',.'url'.=>.$url,.'reference'.=
c8160 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e >.$identifier);.}.....public.fun
c8180 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 75 72 ction.getDist($identifier).{.$ur
c81a0 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 20 2e 20 27 2f 72 65 70 6f 73 l.=.$this->getApiUrl()...'/repos
c81c0 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 /'.$this->owner.'/'.$this->repos
c81e0 69 74 6f 72 79 2e 27 2f 7a 69 70 62 61 6c 6c 2f 27 2e 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a itory.'/zipball/'.$identifier;..
c8200 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 7a 69 70 27 2c 20 27 75 return.array('type'.=>.'zip',.'u
c8220 72 6c 27 20 3d 3e 20 24 75 72 6c 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 rl'.=>.$url,.'reference'.=>.$ide
c8240 6e 74 69 66 69 65 72 2c 20 27 73 68 61 73 75 6d 27 20 3d 3e 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a ntifier,.'shasum'.=>.'');.}.....
c8260 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 public.function.getComposerInfor
c8280 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d mation($identifier).{.if.($this-
c82a0 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 >gitDriver).{.return.$this->gitD
c82c0 72 69 76 65 72 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 river->getComposerInformation($i
c82e0 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d dentifier);.}..if.(!isset($this-
c8300 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 69 66 20 28 >infoCache[$identifier])).{.if.(
c8320 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 20 $this->shouldCache($identifier).
c8340 26 26 20 24 72 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 69 64 &&.$res.=.$this->cache->read($id
c8360 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 entifier)).{.return.$this->infoC
c8380 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 ache[$identifier].=.JsonFile::pa
c83a0 72 73 65 4a 73 6f 6e 28 24 72 65 73 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 rseJson($res);.}..$composer.=.$t
c83c0 68 69 73 2d 3e 67 65 74 42 61 73 65 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 his->getBaseComposerInformation(
c83e0 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 24 63 6f 6d 70 6f 73 65 72 29 20 7b 0a $identifier);..if.($composer).{.
c8400 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f 72 74 27 ..if.(!isset($composer['support'
c8420 5d 5b 27 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 24 6c 61 62 65 6c 20 3d 20 61 72 72 61 79 5f 73 ]['source'])).{.$label.=.array_s
c8440 65 61 72 63 68 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 74 68 69 73 2d 3e 67 65 74 54 61 67 earch($identifier,.$this->getTag
c8460 73 28 29 29 20 3f 3a 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 69 64 65 6e 74 69 66 69 65 72 s()).?:.array_search($identifier
c8480 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 29 20 3f 3a 20 24 69 64 65 6e ,.$this->getBranches()).?:.$iden
c84a0 74 69 66 69 65 72 3b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f 72 74 27 5d 5b 27 73 6f tifier;.$composer['support']['so
c84c0 75 72 63 65 27 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 68 74 74 70 73 3a 2f 2f 25 73 2f 25 73 2f urce'].=.sprintf('https://%s/%s/
c84e0 25 73 2f 74 72 65 65 2f 25 73 27 2c 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 %s/tree/%s',.$this->originUrl,.$
c8500 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2c 20 this->owner,.$this->repository,.
c8520 24 6c 61 62 65 6c 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 6f 6d 70 6f 73 65 72 5b $label);.}.if.(!isset($composer[
c8540 27 73 75 70 70 6f 72 74 27 5d 5b 27 69 73 73 75 65 73 27 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 'support']['issues']).&&.$this->
c8560 68 61 73 49 73 73 75 65 73 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 73 75 70 70 6f 72 74 27 hasIssues).{.$composer['support'
c8580 5d 5b 27 69 73 73 75 65 73 27 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 68 74 74 70 73 3a 2f 2f 25 ]['issues'].=.sprintf('https://%
c85a0 73 2f 25 73 2f 25 73 2f 69 73 73 75 65 73 27 2c 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 s/%s/%s/issues',.$this->originUr
c85c0 6c 2c 20 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f l,.$this->owner,.$this->reposito
c85e0 72 79 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 ry);.}.}..if.($this->shouldCache
c8600 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 77 ($identifier)).{.$this->cache->w
c8620 72 69 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 rite($identifier,.json_encode($c
c8640 6f 6d 70 6f 73 65 72 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 omposer));.}..$this->infoCache[$
c8660 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 72 65 74 75 identifier].=.$composer;.}..retu
c8680 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d rn.$this->infoCache[$identifier]
c86a0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 ;.}.....public.function.getFileC
c86c0 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 ontent($file,.$identifier).{.if.
c86e0 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ($this->gitDriver).{.return.$thi
c8700 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 s->gitDriver->getFileContent($fi
c8720 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 24 72 65 73 6f 75 72 63 65 20 3d le,.$identifier);.}..$resource.=
c8740 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 20 2e 20 27 2f 72 65 70 6f 73 2f 27 2e .$this->getApiUrl()...'/repos/'.
c8760 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f $this->owner.'/'.$this->reposito
c8780 72 79 2e 27 2f 63 6f 6e 74 65 6e 74 73 2f 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 3f 72 65 66 3d ry.'/contents/'...$file...'?ref=
c87a0 27 2e 75 72 6c 65 6e 63 6f 64 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 24 72 65 73 6f 75 '.urlencode($identifier);.$resou
c87c0 72 63 65 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d rce.=.JsonFile::parseJson($this-
c87e0 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 29 3b 0a 69 66 20 28 65 6d >getContents($resource));.if.(em
c8800 70 74 79 28 24 72 65 73 6f 75 72 63 65 5b 27 63 6f 6e 74 65 6e 74 27 5d 29 20 7c 7c 20 24 72 65 pty($resource['content']).||.$re
c8820 73 6f 75 72 63 65 5b 27 65 6e 63 6f 64 69 6e 67 27 5d 20 21 3d 3d 20 27 62 61 73 65 36 34 27 20 source['encoding'].!==.'base64'.
c8840 7c 7c 20 21 28 24 63 6f 6e 74 65 6e 74 20 3d 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 28 24 72 ||.!($content.=.base64_decode($r
c8860 65 73 6f 75 72 63 65 5b 27 63 6f 6e 74 65 6e 74 27 5d 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 esource['content']))).{.throw.ne
c8880 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 72 w.\RuntimeException('Could.not.r
c88a0 65 74 72 69 65 76 65 20 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 20 66 6f 72 20 27 2e 24 69 64 65 etrieve.'...$file...'.for.'.$ide
c88c0 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a ntifier);.}..return.$content;.}.
c88e0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 ....public.function.getChangeDat
c8900 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 e($identifier).{.if.($this->gitD
c8920 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 river).{.return.$this->gitDriver
c8940 2d 3e 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a ->getChangeDate($identifier);.}.
c8960 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 20 .$resource.=.$this->getApiUrl().
c8980 2e 20 27 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 ..'/repos/'.$this->owner.'/'.$th
c89a0 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 63 6f 6d 6d 69 74 73 2f 27 2e 75 72 6c 65 6e is->repository.'/commits/'.urlen
c89c0 63 6f 64 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 24 63 6f 6d 6d 69 74 20 3d 20 4a 73 6f code($identifier);.$commit.=.Jso
c89e0 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 nFile::parseJson($this->getConte
c8a00 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 0a 72 65 74 nts($resource),.$resource);..ret
c8a20 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 63 6f 6d 6d 69 74 5b 27 63 6f 6d 6d 69 urn.new.\DateTime($commit['commi
c8a40 74 27 5d 5b 27 63 6f 6d 6d 69 74 74 65 72 27 5d 5b 27 64 61 74 65 27 5d 29 3b 0a 7d 0a 0a 0a 0a t']['committer']['date']);.}....
c8a60 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 69 66 20 .public.function.getTags().{.if.
c8a80 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ($this->gitDriver).{.return.$thi
c8aa0 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 54 61 67 73 28 29 3b 0a 7d 0a 69 66 20 28 6e s->gitDriver->getTags();.}.if.(n
c8ac0 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 ull.===.$this->tags).{.$this->ta
c8ae0 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d gs.=.array();.$resource.=.$this-
c8b00 3e 67 65 74 41 70 69 55 72 6c 28 29 20 2e 20 27 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 73 2d 3e >getApiUrl()...'/repos/'.$this->
c8b20 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 74 61 owner.'/'.$this->repository.'/ta
c8b40 67 73 3f 70 65 72 5f 70 61 67 65 3d 31 30 30 27 3b 0a 0a 64 6f 20 7b 0a 24 74 61 67 73 44 61 74 gs?per_page=100';..do.{.$tagsDat
c8b60 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 a.=.JsonFile::parseJson($this->g
c8b80 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 etContents($resource),.$resource
c8ba0 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 61 67 73 44 61 74 61 20 61 73 20 24 74 61 67 29 20 7b );.foreach.($tagsData.as.$tag).{
c8bc0 0a 24 74 68 69 73 2d 3e 74 61 67 73 5b 24 74 61 67 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 74 61 .$this->tags[$tag['name']].=.$ta
c8be0 67 5b 27 63 6f 6d 6d 69 74 27 5d 5b 27 73 68 61 27 5d 3b 0a 7d 0a 0a 24 72 65 73 6f 75 72 63 65 g['commit']['sha'];.}..$resource
c8c00 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 65 78 74 50 61 67 65 28 29 3b 0a 7d 20 77 68 69 6c 65 .=.$this->getNextPage();.}.while
c8c20 20 28 24 72 65 73 6f 75 72 63 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 .($resource);.}..return.$this->t
c8c40 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 ags;.}.....public.function.getBr
c8c60 61 6e 63 68 65 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 anches().{.if.($this->gitDriver)
c8c80 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 42 .{.return.$this->gitDriver->getB
c8ca0 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d ranches();.}.if.(null.===.$this-
c8cc0 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 61 >branches).{.$this->branches.=.a
c8ce0 72 72 61 79 28 29 3b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 rray();.$resource.=.$this->getAp
c8d00 69 55 72 6c 28 29 20 2e 20 27 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e iUrl()...'/repos/'.$this->owner.
c8d20 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2f 67 69 74 2f 72 65 66 73 '/'.$this->repository.'/git/refs
c8d40 2f 68 65 61 64 73 3f 70 65 72 5f 70 61 67 65 3d 31 30 30 27 3b 0a 0a 24 62 72 61 6e 63 68 42 6c /heads?per_page=100';..$branchBl
c8d60 61 63 6b 6c 69 73 74 20 3d 20 61 72 72 61 79 28 27 67 68 2d 70 61 67 65 73 27 29 3b 0a 0a 64 6f acklist.=.array('gh-pages');..do
c8d80 20 7b 0a 24 62 72 61 6e 63 68 44 61 74 61 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 .{.$branchData.=.JsonFile::parse
c8da0 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 Json($this->getContents($resourc
c8dc0 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 72 61 6e 63 68 e),.$resource);.foreach.($branch
c8de0 44 61 74 61 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 73 75 62 73 74 Data.as.$branch).{.$name.=.subst
c8e00 72 28 24 62 72 61 6e 63 68 5b 27 72 65 66 27 5d 2c 20 31 31 29 3b 0a 69 66 20 28 21 69 6e 5f 61 r($branch['ref'],.11);.if.(!in_a
c8e20 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 62 72 61 6e 63 68 42 6c 61 63 6b 6c 69 73 74 29 29 20 7b rray($name,.$branchBlacklist)).{
c8e40 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 62 72 61 6e 63 .$this->branches[$name].=.$branc
c8e60 68 5b 27 6f 62 6a 65 63 74 27 5d 5b 27 73 68 61 27 5d 3b 0a 7d 0a 7d 0a 0a 24 72 65 73 6f 75 72 h['object']['sha'];.}.}..$resour
c8e80 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 65 78 74 50 61 67 65 28 29 3b 0a 7d 20 77 68 69 ce.=.$this->getNextPage();.}.whi
c8ea0 6c 65 20 28 24 72 65 73 6f 75 72 63 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d le.($resource);.}..return.$this-
c8ec0 3e 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 >branches;.}.....public.static.f
c8ee0 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f unction.supports(IOInterface.$io
c8f00 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 ,.Config.$config,.$url,.$deep.=.
c8f20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 28 28 3f 3a false).{.if.(!preg_match('#^((?:
c8f40 68 74 74 70 73 3f 7c 67 69 74 29 3a 2f 2f 28 5b 5e 2f 5d 2b 29 2f 7c 67 69 74 40 28 5b 5e 3a 5d https?|git)://([^/]+)/|git@([^:]
c8f60 2b 29 3a 2f 3f 29 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 28 3f 3a 5c 2e 67 69 74 7c 2f 29 3f 24 +):/?)([^/]+)/(.+?)(?:\.git|/)?$
c8f80 23 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 #',.$url,.$matches)).{.return.fa
c8fa0 6c 73 65 3b 0a 7d 0a 0a 24 6f 72 69 67 69 6e 55 72 6c 20 3d 20 21 65 6d 70 74 79 28 24 6d 61 74 lse;.}..$originUrl.=.!empty($mat
c8fc0 63 68 65 73 5b 32 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 3a 20 24 6d 61 74 63 68 65 ches[2]).?.$matches[2].:.$matche
c8fe0 73 5b 33 5d 3b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 73 74 72 74 6f 6c 6f 77 65 72 28 70 s[3];.if.(!in_array(strtolower(p
c9000 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 77 77 77 5c 2e 7d 69 27 2c 20 27 27 2c 20 24 6f 72 reg_replace('{^www\.}i',.'',.$or
c9020 69 67 69 6e 55 72 6c 29 29 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d iginUrl)),.$config->get('github-
c9040 64 6f 6d 61 69 6e 73 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 domains'))).{.return.false;.}..i
c9060 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 f.(!extension_loaded('openssl'))
c9080 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 53 6b 69 70 70 69 6e 67 20 47 69 74 .{.$io->writeError('Skipping.Git
c90a0 48 75 62 20 64 72 69 76 65 72 20 66 6f 72 20 27 2e 24 75 72 6c 2e 27 20 62 65 63 61 75 73 65 20 Hub.driver.for.'.$url.'.because.
c90c0 74 68 65 20 4f 70 65 6e 53 53 4c 20 50 48 50 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 the.OpenSSL.PHP.extension.is.mis
c90e0 73 69 6e 67 2e 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f sing.',.true,.IOInterface::VERBO
c9100 53 45 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 SE);..return.false;.}..return.tr
c9120 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 ue;.}.......public.function.getR
c9140 65 70 6f 44 61 74 61 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 65 74 63 68 52 6f 6f 74 49 64 65 6e epoData().{.$this->fetchRootIden
c9160 74 69 66 69 65 72 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 tifier();..return.$this->repoDat
c9180 61 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 a;.}.......protected.function.ge
c91a0 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 nerateSshUrl().{.if.(false.!==.s
c91c0 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 27 3a 27 29 29 20 7b 0a trpos($this->originUrl,.':')).{.
c91e0 72 65 74 75 72 6e 20 27 73 73 68 3a 2f 2f 67 69 74 40 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 return.'ssh://git@'...$this->ori
c9200 67 69 6e 55 72 6c 20 2e 20 27 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 ginUrl...'/'.$this->owner.'/'.$t
c9220 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2e 67 69 74 27 3b 0a 7d 0a 0a 72 65 74 75 72 his->repository.'.git';.}..retur
c9240 6e 20 27 67 69 74 40 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 2e 20 27 3a n.'git@'...$this->originUrl...':
c9260 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 '.$this->owner.'/'.$this->reposi
c9280 74 6f 72 79 2e 27 2e 67 69 74 27 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e tory.'.git';.}.....protected.fun
c92a0 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 2c 20 24 66 65 74 63 68 69 6e ction.getContents($url,.$fetchin
c92c0 67 52 65 70 6f 44 61 74 61 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 gRepoData.=.false).{.try.{.retur
c92e0 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 20 63 n.parent::getContents($url);.}.c
c9300 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 atch.(TransportException.$e).{.$
c9320 67 69 74 48 75 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 48 75 62 28 24 74 68 69 73 2d 3e 69 gitHubUtil.=.new.GitHub($this->i
c9340 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 o,.$this->config,.$this->process
c9360 2c 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 29 3b 0a 0a 73 77 69 ,.$this->remoteFilesystem);..swi
c9380 74 63 68 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 29 20 7b 0a 63 61 73 65 20 34 30 31 3a 0a tch.($e->getCode()).{.case.401:.
c93a0 63 61 73 65 20 34 30 34 3a 0a 0a 20 69 66 20 28 21 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 case.404:...if.(!$fetchingRepoDa
c93c0 74 61 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 67 69 74 48 75 62 55 74 ta).{.throw.$e;.}..if.($gitHubUt
c93e0 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e il->authorizeOAuth($this->origin
c9400 55 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e Url)).{.return.parent::getConten
c9420 74 73 28 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 ts($url);.}..if.(!$this->io->isI
c9440 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 74 nteractive()).{.return.$this->at
c9460 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 3b 0a 7d 0a 0a 24 73 63 6f 70 65 73 temptCloneFallback();.}..$scopes
c9480 49 73 73 75 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 73 63 6f 70 65 73 4e 65 65 64 65 64 20 Issued.=.array();.$scopesNeeded.
c94a0 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 68 65 61 64 65 72 73 20 3d 20 24 65 2d 3e 67 65 =.array();.if.($headers.=.$e->ge
c94c0 74 48 65 61 64 65 72 73 28 29 29 20 7b 0a 69 66 20 28 24 73 63 6f 70 65 73 20 3d 20 24 74 68 69 tHeaders()).{.if.($scopes.=.$thi
c94e0 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 s->remoteFilesystem->findHeaderV
c9500 61 6c 75 65 28 24 68 65 61 64 65 72 73 2c 20 27 58 2d 4f 41 75 74 68 2d 53 63 6f 70 65 73 27 29 alue($headers,.'X-OAuth-Scopes')
c9520 29 20 7b 0a 24 73 63 6f 70 65 73 49 73 73 75 65 64 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c ).{.$scopesIssued.=.explode('.',
c9540 20 24 73 63 6f 70 65 73 29 3b 0a 7d 0a 69 66 20 28 24 73 63 6f 70 65 73 20 3d 20 24 74 68 69 73 .$scopes);.}.if.($scopes.=.$this
c9560 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 61 ->remoteFilesystem->findHeaderVa
c9580 6c 75 65 28 24 68 65 61 64 65 72 73 2c 20 27 58 2d 41 63 63 65 70 74 65 64 2d 4f 41 75 74 68 2d lue($headers,.'X-Accepted-OAuth-
c95a0 53 63 6f 70 65 73 27 29 29 20 7b 0a 24 73 63 6f 70 65 73 4e 65 65 64 65 64 20 3d 20 65 78 70 6c Scopes')).{.$scopesNeeded.=.expl
c95c0 6f 64 65 28 27 20 27 2c 20 24 73 63 6f 70 65 73 29 3b 0a 7d 0a 7d 0a 24 73 63 6f 70 65 73 46 61 ode('.',.$scopes);.}.}.$scopesFa
c95e0 69 6c 65 64 20 3d 20 61 72 72 61 79 5f 64 69 66 66 28 24 73 63 6f 70 65 73 4e 65 65 64 65 64 2c iled.=.array_diff($scopesNeeded,
c9600 20 24 73 63 6f 70 65 73 49 73 73 75 65 64 29 3b 0a 0a 20 0a 20 69 66 20 28 21 24 68 65 61 64 65 .$scopesIssued);.....if.(!$heade
c9620 72 73 20 7c 7c 20 21 63 6f 75 6e 74 28 24 73 63 6f 70 65 73 4e 65 65 64 65 64 29 20 7c 7c 20 63 rs.||.!count($scopesNeeded).||.c
c9640 6f 75 6e 74 28 24 73 63 6f 70 65 73 46 61 69 6c 65 64 29 29 20 7b 0a 24 67 69 74 48 75 62 55 74 ount($scopesFailed)).{.$gitHubUt
c9660 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 il->authorizeOAuthInteractively(
c9680 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 27 59 6f 75 72 20 47 69 74 48 75 62 20 63 $this->originUrl,.'Your.GitHub.c
c96a0 72 65 64 65 6e 74 69 61 6c 73 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 66 65 74 63 68 redentials.are.required.to.fetch
c96c0 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 69 74 6f 72 79 20 6d 65 74 61 64 61 74 61 20 28 3c 69 .private.repository.metadata.(<i
c96e0 6e 66 6f 3e 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 3c 2f 69 6e 66 6f 3e 29 27 29 3b 0a 7d 0a nfo>'.$this->url.'</info>)');.}.
c9700 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c .return.parent::getContents($url
c9720 29 3b 0a 0a 63 61 73 65 20 34 30 33 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 );..case.403:.if.(!$this->io->ha
c9740 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c sAuthentication($this->originUrl
c9760 29 20 26 26 20 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 ).&&.$gitHubUtil->authorizeOAuth
c9780 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 ($this->originUrl)).{.return.par
c97a0 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 ent::getContents($url);.}..if.(!
c97c0 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 26 26 20 24 66 $this->io->isInteractive().&&.$f
c97e0 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d etchingRepoData).{.return.$this-
c9800 3e 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 3b 0a 7d 0a 0a 24 72 61 74 >attemptCloneFallback();.}..$rat
c9820 65 4c 69 6d 69 74 65 64 20 3d 20 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 69 73 52 61 74 65 4c 69 eLimited.=.$gitHubUtil->isRateLi
c9840 6d 69 74 65 64 28 24 65 2d 3e 67 65 74 48 65 61 64 65 72 73 28 29 29 3b 0a 0a 69 66 20 28 21 24 mited($e->getHeaders());..if.(!$
c9860 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 this->io->hasAuthentication($thi
c9880 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d s->originUrl)).{.if.(!$this->io-
c98a0 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 >isInteractive()).{.$this->io->w
c98c0 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 47 69 74 48 75 62 20 41 50 49 20 6c 69 6d riteError('<error>GitHub.API.lim
c98e0 69 74 20 65 78 68 61 75 73 74 65 64 2e 20 46 61 69 6c 65 64 20 74 6f 20 67 65 74 20 6d 65 74 61 it.exhausted..Failed.to.get.meta
c9900 64 61 74 61 20 66 6f 72 20 74 68 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 72 65 70 6f data.for.the.'.$this->url.'.repo
c9920 73 69 74 6f 72 79 2c 20 74 72 79 20 72 75 6e 6e 69 6e 67 20 69 6e 20 69 6e 74 65 72 61 63 74 69 sitory,.try.running.in.interacti
c9940 76 65 20 6d 6f 64 65 20 73 6f 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 65 6e 74 65 72 20 79 6f ve.mode.so.that.you.can.enter.yo
c9960 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 6e 74 69 61 6c 73 20 74 6f 20 69 6e 63 72 65 61 73 ur.GitHub.credentials.to.increas
c9980 65 20 74 68 65 20 41 50 49 20 6c 69 6d 69 74 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 74 68 72 6f 77 e.the.API.limit</error>');.throw
c99a0 20 24 65 3b 0a 7d 0a 0a 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 .$e;.}..$gitHubUtil->authorizeOA
c99c0 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 uthInteractively($this->originUr
c99e0 6c 2c 20 27 41 50 49 20 6c 69 6d 69 74 20 65 78 68 61 75 73 74 65 64 2e 20 45 6e 74 65 72 20 79 l,.'API.limit.exhausted..Enter.y
c9a00 6f 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 6e 74 69 61 6c 73 20 74 6f 20 67 65 74 20 61 20 our.GitHub.credentials.to.get.a.
c9a20 6c 61 72 67 65 72 20 41 50 49 20 6c 69 6d 69 74 20 28 3c 69 6e 66 6f 3e 27 2e 24 74 68 69 73 2d larger.API.limit.(<info>'.$this-
c9a40 3e 75 72 6c 2e 27 3c 2f 69 6e 66 6f 3e 29 27 29 3b 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 >url.'</info>)');..return.parent
c9a60 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 24 72 61 74 ::getContents($url);.}..if.($rat
c9a80 65 4c 69 6d 69 74 65 64 29 20 7b 0a 24 72 61 74 65 4c 69 6d 69 74 20 3d 20 24 67 69 74 48 75 62 eLimited).{.$rateLimit.=.$gitHub
c9aa0 55 74 69 6c 2d 3e 67 65 74 52 61 74 65 4c 69 6d 69 74 28 24 65 2d 3e 67 65 74 48 65 61 64 65 72 Util->getRateLimit($e->getHeader
c9ac0 73 28 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 s());.$this->io->writeError(spri
c9ae0 6e 74 66 28 0a 27 3c 65 72 72 6f 72 3e 47 69 74 48 75 62 20 41 50 49 20 6c 69 6d 69 74 20 28 25 ntf(.'<error>GitHub.API.limit.(%
c9b00 64 20 63 61 6c 6c 73 2f 68 72 29 20 69 73 20 65 78 68 61 75 73 74 65 64 2e 20 59 6f 75 20 61 72 d.calls/hr).is.exhausted..You.ar
c9b20 65 20 61 6c 72 65 61 64 79 20 61 75 74 68 6f 72 69 7a 65 64 20 73 6f 20 79 6f 75 20 68 61 76 65 e.already.authorized.so.you.have
c9b40 20 74 6f 20 77 61 69 74 20 75 6e 74 69 6c 20 25 73 20 62 65 66 6f 72 65 20 64 6f 69 6e 67 20 6d .to.wait.until.%s.before.doing.m
c9b60 6f 72 65 20 72 65 71 75 65 73 74 73 3c 2f 65 72 72 6f 72 3e 27 2c 0a 24 72 61 74 65 4c 69 6d 69 ore.requests</error>',.$rateLimi
c9b80 74 5b 27 6c 69 6d 69 74 27 5d 2c 0a 24 72 61 74 65 4c 69 6d 69 74 5b 27 72 65 73 65 74 27 5d 0a t['limit'],.$rateLimit['reset'].
c9ba0 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 ));.}..throw.$e;..default:.throw
c9bc0 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 .$e;.}.}.}.......protected.funct
c9be0 69 6f 6e 20 66 65 74 63 68 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 69 66 20 28 ion.fetchRootIdentifier().{.if.(
c9c00 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 72 $this->repoData).{.return;.}..$r
c9c20 65 70 6f 44 61 74 61 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 20 epoDataUrl.=.$this->getApiUrl().
c9c40 2e 20 27 2f 72 65 70 6f 73 2f 27 2e 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 ..'/repos/'.$this->owner.'/'.$th
c9c60 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 is->repository;..$this->repoData
c9c80 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 .=.JsonFile::parseJson($this->ge
c9ca0 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 70 6f 44 61 74 61 55 72 6c 2c 20 74 72 75 65 29 2c 20 24 tContents($repoDataUrl,.true),.$
c9cc0 72 65 70 6f 44 61 74 61 55 72 6c 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 repoDataUrl);.if.(null.===.$this
c9ce0 2d 3e 72 65 70 6f 44 61 74 61 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 69 ->repoData.&&.null.!==.$this->gi
c9d00 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 77 6e tDriver).{.return;.}..$this->own
c9d20 65 72 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 6f 77 6e 65 72 27 5d 5b 27 6c er.=.$this->repoData['owner']['l
c9d40 6f 67 69 6e 27 5d 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 3d 20 24 74 68 69 ogin'];.$this->repository.=.$thi
c9d60 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 6e 61 6d 65 27 5d 3b 0a 0a 24 74 68 69 73 2d 3e 69 73 50 s->repoData['name'];..$this->isP
c9d80 72 69 76 61 74 65 20 3d 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 5b rivate.=.!empty($this->repoData[
c9da0 27 70 72 69 76 61 74 65 27 5d 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 'private']);.if.(isset($this->re
c9dc0 70 6f 44 61 74 61 5b 27 64 65 66 61 75 6c 74 5f 62 72 61 6e 63 68 27 5d 29 29 20 7b 0a 24 74 68 poData['default_branch'])).{.$th
c9de0 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f is->rootIdentifier.=.$this->repo
c9e00 44 61 74 61 5b 27 64 65 66 61 75 6c 74 5f 62 72 61 6e 63 68 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 Data['default_branch'];.}.elseif
c9e20 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 6d 61 73 74 65 72 5f .(isset($this->repoData['master_
c9e40 62 72 61 6e 63 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 branch'])).{.$this->rootIdentifi
c9e60 65 72 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 6d 61 73 74 65 72 5f 62 72 61 er.=.$this->repoData['master_bra
c9e80 6e 63 68 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 nch'];.}.else.{.$this->rootIdent
c9ea0 69 66 69 65 72 20 3d 20 27 6d 61 73 74 65 72 27 3b 0a 7d 0a 24 74 68 69 73 2d 3e 68 61 73 49 73 ifier.=.'master';.}.$this->hasIs
c9ec0 73 75 65 73 20 3d 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 61 74 61 5b 27 68 sues.=.!empty($this->repoData['h
c9ee0 61 73 5f 69 73 73 75 65 73 27 5d 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 as_issues']);.}..protected.funct
c9f00 69 6f 6e 20 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 0a 7b 0a 24 74 68 ion.attemptCloneFallback().{.$th
c9f20 69 73 2d 3e 69 73 50 72 69 76 61 74 65 20 3d 20 74 72 75 65 3b 0a 0a 74 72 79 20 7b 0a 0a 20 0a is->isPrivate.=.true;..try.{....
c9f40 20 0a 20 0a 20 24 74 68 69 73 2d 3e 73 65 74 75 70 47 69 74 44 72 69 76 65 72 28 24 74 68 69 73 .....$this->setupGitDriver($this
c9f60 2d 3e 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 20 ->generateSshUrl());..return;.}.
c9f80 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 catch.(\RuntimeException.$e).{.$
c9fa0 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 24 74 68 69 73 2d 3e this->gitDriver.=.null;..$this->
c9fc0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f io->writeError('<error>Failed.to
c9fe0 20 63 6c 6f 6e 65 20 74 68 65 20 27 2e 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 53 73 68 55 .clone.the.'.$this->generateSshU
ca000 72 6c 28 29 2e 27 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 74 72 79 20 72 75 6e 6e 69 6e 67 20 69 rl().'.repository,.try.running.i
ca020 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 20 73 6f 20 74 68 61 74 20 79 6f 75 20 63 n.interactive.mode.so.that.you.c
ca040 61 6e 20 65 6e 74 65 72 20 79 6f 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 6e 74 69 61 6c 73 an.enter.your.GitHub.credentials
ca060 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 </error>');.throw.$e;.}.}..prote
ca080 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 47 69 74 44 72 69 76 65 72 28 24 75 72 cted.function.setupGitDriver($ur
ca0a0 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 20 3d 20 6e 65 77 20 47 69 74 44 l).{.$this->gitDriver.=.new.GitD
ca0c0 72 69 76 65 72 28 0a 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 29 2c 0a 24 74 68 river(.array('url'.=>.$url),.$th
ca0e0 69 73 2d 3e 69 6f 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 0a 24 74 68 69 73 2d 3e 70 72 is->io,.$this->config,.$this->pr
ca100 6f 63 65 73 73 2c 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 0a 29 ocess,.$this->remoteFilesystem.)
ca120 3b 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 ;.$this->gitDriver->initialize()
ca140 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 65 78 74 50 ;.}..protected.function.getNextP
ca160 61 67 65 28 29 0a 7b 0a 24 68 65 61 64 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 age().{.$headers.=.$this->remote
ca180 46 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 4c 61 73 74 48 65 61 64 65 72 73 28 29 3b 0a 66 6f Filesystem->getLastHeaders();.fo
ca1a0 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 69 66 reach.($headers.as.$header).{.if
ca1c0 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 6c 69 6e 6b 3a 5c 73 2a 28 2e 2b 3f 29 5c 73 2a .(preg_match('{^link:\s*(.+?)\s*
ca1e0 24 7d 69 27 2c 20 24 68 65 61 64 65 72 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 6c 69 6e 6b 73 $}i',.$header,.$match)).{.$links
ca200 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 66 6f 72 65 .=.explode(',',.$match[1]);.fore
ca220 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 70 72 65 67 ach.($links.as.$link).{.if.(preg
ca240 5f 6d 61 74 63 68 28 27 7b 3c 28 2e 2b 3f 29 3e 3b 20 2a 72 65 6c 3d 22 6e 65 78 74 22 7d 27 2c _match('{<(.+?)>;.*rel="next"}',
ca260 20 24 6c 69 6e 6b 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 .$link,.$match)).{.return.$match
ca280 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a [1];.}.}.}.}.}.}.<?php..........
ca2a0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c ..namespace.Composer\Repository\
ca2c0 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 Vcs;..use.Composer\Config;.use.C
ca2e0 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 omposer\Cache;.use.Composer\IO\I
ca300 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 OInterface;.use.Composer\Json\Js
ca320 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c onFile;.use.Composer\Downloader\
ca340 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 TransportException;.use.Composer
ca360 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 \Util\RemoteFilesystem;.use.Comp
ca380 6f 73 65 72 5c 55 74 69 6c 5c 47 69 74 4c 61 62 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 oser\Util\GitLab;........class.G
ca3a0 69 74 4c 61 62 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a itLabDriver.extends.VcsDriver.{.
ca3c0 70 72 69 76 61 74 65 20 24 73 63 68 65 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 73 70 private.$scheme;.private.$namesp
ca3e0 61 63 65 3b 0a 70 72 69 76 61 74 65 20 24 72 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 0a 0a 0a 70 72 ace;.private.$repository;.....pr
ca400 69 76 61 74 65 20 24 70 72 6f 6a 65 63 74 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d ivate.$project;.....private.$com
ca420 6d 69 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 74 61 67 mits.=.array();.....private.$tag
ca440 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 62 72 61 6e 63 68 65 73 3b 0a 0a 0a 0a 0a 0a 0a s;.....private.$branches;.......
ca460 70 72 6f 74 65 63 74 65 64 20 24 67 69 74 44 72 69 76 65 72 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 protected.$gitDriver;.......priv
ca480 61 74 65 20 24 69 73 50 72 69 76 61 74 65 20 3d 20 74 72 75 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 ate.$isPrivate.=.true;.....priva
ca4a0 74 65 20 24 68 61 73 4e 6f 6e 73 74 61 6e 64 61 72 64 4f 72 69 67 69 6e 20 3d 20 66 61 6c 73 65 te.$hasNonstandardOrigin.=.false
ca4c0 3b 0a 0a 63 6f 6e 73 74 20 55 52 4c 5f 52 45 47 45 58 20 3d 20 27 23 5e 28 3f 3a 28 3f 50 3c 73 ;..const.URL_REGEX.=.'#^(?:(?P<s
ca4e0 63 68 65 6d 65 3e 68 74 74 70 73 3f 29 3a 2f 2f 28 3f 50 3c 64 6f 6d 61 69 6e 3e 2e 2b 3f 29 28 cheme>https?)://(?P<domain>.+?)(
ca500 3f 3a 3a 28 3f 50 3c 70 6f 72 74 3e 5b 30 2d 39 5d 2b 29 29 3f 2f 7c 67 69 74 40 28 3f 50 3c 64 ?::(?P<port>[0-9]+))?/|git@(?P<d
ca520 6f 6d 61 69 6e 32 3e 5b 5e 3a 5d 2b 29 3a 29 28 3f 50 3c 70 61 72 74 73 3e 2e 2b 29 2f 28 3f 50 omain2>[^:]+):)(?P<parts>.+)/(?P
ca540 3c 72 65 70 6f 3e 5b 5e 2f 5d 2b 3f 29 28 3f 3a 5c 2e 67 69 74 7c 2f 29 3f 24 23 27 3b 0a 0a 0a <repo>[^/]+?)(?:\.git|/)?$#';...
ca560 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 ......public.function.initialize
ca580 28 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 73 65 6c 66 3a 3a 55 52 4c 5f 52 ().{.if.(!preg_match(self::URL_R
ca5a0 45 47 45 58 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 74 68 72 EGEX,.$this->url,.$match)).{.thr
ca5c0 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ow.new.\InvalidArgumentException
ca5e0 28 27 54 68 65 20 55 52 4c 20 70 72 6f 76 69 64 65 64 20 69 73 20 69 6e 76 61 6c 69 64 2e 20 49 ('The.URL.provided.is.invalid..I
ca600 74 20 6d 75 73 74 20 62 65 20 74 68 65 20 48 54 54 50 20 55 52 4c 20 6f 66 20 61 20 47 69 74 4c t.must.be.the.HTTP.URL.of.a.GitL
ca620 61 62 20 70 72 6f 6a 65 63 74 2e 27 29 3b 0a 7d 0a 0a 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e ab.project.');.}..$guessedDomain
ca640 20 3d 20 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 64 6f 6d 61 69 6e 27 5d 29 20 3f 20 24 6d .=.!empty($match['domain']).?.$m
ca660 61 74 63 68 5b 27 64 6f 6d 61 69 6e 27 5d 20 3a 20 24 6d 61 74 63 68 5b 27 64 6f 6d 61 69 6e 32 atch['domain'].:.$match['domain2
ca680 27 5d 3b 0a 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 20 3d 20 24 74 68 69 73 2d 3e '];.$configuredDomains.=.$this->
ca6a0 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 3b 0a 24 config->get('gitlab-domains');.$
ca6c0 75 72 6c 50 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 6d 61 74 63 68 5b 27 urlParts.=.explode('/',.$match['
ca6e0 70 61 72 74 73 27 5d 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 20 3d 20 21 65 6d 70 74 parts']);..$this->scheme.=.!empt
ca700 79 28 24 6d 61 74 63 68 5b 27 73 63 68 65 6d 65 27 5d 29 0a 3f 20 24 6d 61 74 63 68 5b 27 73 63 y($match['scheme']).?.$match['sc
ca720 68 65 6d 65 27 5d 0a 3a 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 heme'].:.(isset($this->repoConfi
ca740 67 5b 27 73 65 63 75 72 65 2d 68 74 74 70 27 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 72 65 70 6f g['secure-http']).&&.$this->repo
ca760 43 6f 6e 66 69 67 5b 27 73 65 63 75 72 65 2d 68 74 74 70 27 5d 20 3d 3d 3d 20 66 61 6c 73 65 20 Config['secure-http'].===.false.
ca780 3f 20 27 68 74 74 70 27 20 3a 20 27 68 74 74 70 73 27 29 0a 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 ?.'http'.:.'https').;.$this->ori
ca7a0 67 69 6e 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 4f 72 69 67 69 6e 28 ginUrl.=.$this->determineOrigin(
ca7c0 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 2c 20 24 67 75 65 73 73 65 64 44 6f 6d 61 $configuredDomains,.$guessedDoma
ca7e0 69 6e 2c 20 24 75 72 6c 50 61 72 74 73 2c 20 24 6d 61 74 63 68 5b 27 70 6f 72 74 27 5d 29 3b 0a in,.$urlParts,.$match['port']);.
ca800 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 6f 72 69 .if.(false.!==.strpos($this->ori
ca820 67 69 6e 55 72 6c 2c 20 27 3a 27 29 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 ginUrl,.':').||.false.!==.strpos
ca840 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 27 2f 27 29 29 20 7b 0a 24 74 68 69 73 ($this->originUrl,.'/')).{.$this
ca860 2d 3e 68 61 73 4e 6f 6e 73 74 61 6e 64 61 72 64 4f 72 69 67 69 6e 20 3d 20 74 72 75 65 3b 0a 7d ->hasNonstandardOrigin.=.true;.}
ca880 0a 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2f 27 ..$this->namespace.=.implode('/'
ca8a0 2c 20 24 75 72 6c 50 61 72 74 73 29 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 ,.$urlParts);.$this->repository.
ca8c0 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 23 28 5c 2e 67 69 74 29 24 23 27 2c 20 27 27 2c =.preg_replace('#(\.git)$#',.'',
ca8e0 20 24 6d 61 74 63 68 5b 27 72 65 70 6f 27 5d 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 20 .$match['repo']);..$this->cache.
ca900 3d 20 6e 65 77 20 43 61 63 68 65 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f =.new.Cache($this->io,.$this->co
ca920 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 27 29 2e 27 2f 27 2e nfig->get('cache-repo-dir').'/'.
ca940 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 6e 61 6d 65 $this->originUrl.'/'.$this->name
ca960 73 70 61 63 65 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 0a 24 space.'/'.$this->repository);..$
ca980 74 68 69 73 2d 3e 66 65 74 63 68 50 72 6f 6a 65 63 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 this->fetchProject();.}........p
ca9a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 ublic.function.setRemoteFilesyst
ca9c0 65 6d 28 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 em(RemoteFilesystem.$remoteFiles
ca9e0 79 73 74 65 6d 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d ystem).{.$this->remoteFilesystem
caa00 20 3d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c .=.$remoteFilesystem;.}.....publ
caa20 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 ic.function.getFileContent($file
caa40 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 ,.$identifier).{.if.($this->gitD
caa60 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 river).{.return.$this->gitDriver
caa80 2d 3e 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 ->getFileContent($file,.$identif
caaa0 69 65 72 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5b 61 2d ier);.}....if.(!preg_match('{[a-
caac0 66 30 2d 39 5d 7b 34 30 7d 7d 69 27 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 24 62 f0-9]{40}}i',.$identifier)).{.$b
caae0 72 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a ranches.=.$this->getBranches();.
cab00 69 66 20 28 69 73 73 65 74 28 24 62 72 61 6e 63 68 65 73 5b 24 69 64 65 6e 74 69 66 69 65 72 5d if.(isset($branches[$identifier]
cab20 29 29 20 7b 0a 24 69 64 65 6e 74 69 66 69 65 72 20 3d 20 24 62 72 61 6e 63 68 65 73 5b 24 69 64 )).{.$identifier.=.$branches[$id
cab40 65 6e 74 69 66 69 65 72 5d 3b 0a 7d 0a 7d 0a 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 entifier];.}.}..$resource.=.$thi
cab60 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 2e 27 2f 72 65 70 6f 73 69 74 6f 72 79 2f 66 69 6c 65 s->getApiUrl().'/repository/file
cab80 73 2f 27 2e 24 74 68 69 73 2d 3e 75 72 6c 45 6e 63 6f 64 65 41 6c 6c 28 24 66 69 6c 65 29 2e 27 s/'.$this->urlEncodeAll($file).'
caba0 2f 72 61 77 3f 72 65 66 3d 27 2e 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 74 72 79 20 7b 0a 24 /raw?ref='.$identifier;..try.{.$
cabc0 63 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 72 65 content.=.$this->getContents($re
cabe0 73 6f 75 72 63 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 source);.}.catch.(TransportExcep
cac00 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 21 3d 3d tion.$e).{.if.($e->getCode().!==
cac20 20 34 30 34 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c .404).{.throw.$e;.}..return.null
cac40 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ;.}..return.$content;.}.....publ
cac60 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 ic.function.getChangeDate($ident
cac80 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b ifier).{.if.($this->gitDriver).{
caca0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 43 68 61 .return.$this->gitDriver->getCha
cacc0 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 ngeDate($identifier);.}..if.(iss
cace0 65 74 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 69 74 73 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 et($this->commits[$identifier]))
cad00 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 74 68 69 73 2d 3e 63 .{.return.new.\DateTime($this->c
cad20 6f 6d 6d 69 74 73 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 5b 27 63 6f 6d 6d 69 74 74 65 64 5f 64 ommits[$identifier]['committed_d
cad40 61 74 65 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 ate']);.}..return.new.\DateTime(
cad60 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f );.}.....public.function.getRepo
cad80 73 69 74 6f 72 79 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 50 72 sitoryUrl().{.return.$this->isPr
cada0 69 76 61 74 65 20 3f 20 24 74 68 69 73 2d 3e 70 72 6f 6a 65 63 74 5b 27 73 73 68 5f 75 72 6c 5f ivate.?.$this->project['ssh_url_
cadc0 74 6f 5f 72 65 70 6f 27 5d 20 3a 20 24 74 68 69 73 2d 3e 70 72 6f 6a 65 63 74 5b 27 68 74 74 70 to_repo'].:.$this->project['http
cade0 5f 75 72 6c 5f 74 6f 5f 72 65 70 6f 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e _url_to_repo'];.}.....public.fun
cae00 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 ction.getUrl().{.if.($this->gitD
cae20 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 river).{.return.$this->gitDriver
cae40 2d 3e 67 65 74 55 72 6c 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f ->getUrl();.}..return.$this->pro
cae60 6a 65 63 74 5b 27 77 65 62 5f 75 72 6c 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ject['web_url'];.}.....public.fu
cae80 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 75 nction.getDist($identifier).{.$u
caea0 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 2e 27 2f 72 65 70 6f 73 69 rl.=.$this->getApiUrl().'/reposi
caec0 74 6f 72 79 2f 61 72 63 68 69 76 65 2e 7a 69 70 3f 73 68 61 3d 27 2e 24 69 64 65 6e 74 69 66 69 tory/archive.zip?sha='.$identifi
caee0 65 72 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 7a 69 70 er;..return.array('type'.=>.'zip
caf00 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e ',.'url'.=>.$url,.'reference'.=>
caf20 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 73 68 61 73 75 6d 27 20 3d 3e 20 27 27 29 3b 0a 7d .$identifier,.'shasum'.=>.'');.}
caf40 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 .....public.function.getSource($
caf60 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 identifier).{.if.($this->gitDriv
caf80 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 er).{.return.$this->gitDriver->g
cafa0 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e etSource($identifier);.}..return
cafc0 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 67 69 74 27 2c 20 27 75 72 6c 27 20 3d 3e .array('type'.=>.'git',.'url'.=>
cafe0 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 6f 73 69 74 6f 72 79 55 72 6c 28 29 2c 20 27 72 65 66 .$this->getRepositoryUrl(),.'ref
cb000 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 erence'.=>.$identifier);.}.....p
cb020 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 ublic.function.getRootIdentifier
cb040 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 ().{.if.($this->gitDriver).{.ret
cb060 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 urn.$this->gitDriver->getRootIde
cb080 6e 74 69 66 69 65 72 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 6a ntifier();.}..return.$this->proj
cb0a0 65 63 74 5b 27 64 65 66 61 75 6c 74 5f 62 72 61 6e 63 68 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 ect['default_branch'];.}.....pub
cb0c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 69 66 20 lic.function.getBranches().{.if.
cb0e0 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ($this->gitDriver).{.return.$thi
cb100 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 0a s->gitDriver->getBranches();.}..
cb120 69 66 20 28 21 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 62 if.(!$this->branches).{.$this->b
cb140 72 61 6e 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 27 ranches.=.$this->getReferences('
cb160 62 72 61 6e 63 68 65 73 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 branches');.}..return.$this->bra
cb180 6e 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 nches;.}.....public.function.get
cb1a0 54 61 67 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 29 20 7b Tags().{.if.($this->gitDriver).{
cb1c0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 67 65 74 54 61 67 .return.$this->gitDriver->getTag
cb1e0 73 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 68 69 s();.}..if.(!$this->tags).{.$thi
cb200 73 2d 3e 74 61 67 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 27 s->tags.=.$this->getReferences('
cb220 74 61 67 73 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d tags');.}..return.$this->tags;.}
cb240 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 69 55 72 6c 28 29 .....public.function.getApiUrl()
cb260 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 2e 27 3a 2f 2f 27 2e 24 74 .{.return.$this->scheme.'://'.$t
cb280 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2e 27 2f 61 70 69 2f 76 34 2f 70 72 6f 6a 65 63 74 73 his->originUrl.'/api/v4/projects
cb2a0 2f 27 2e 24 74 68 69 73 2d 3e 75 72 6c 45 6e 63 6f 64 65 41 6c 6c 28 24 74 68 69 73 2d 3e 6e 61 /'.$this->urlEncodeAll($this->na
cb2c0 6d 65 73 70 61 63 65 29 2e 27 25 32 46 27 2e 24 74 68 69 73 2d 3e 75 72 6c 45 6e 63 6f 64 65 41 mespace).'%2F'.$this->urlEncodeA
cb2e0 6c 6c 28 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ll($this->repository);.}........
cb300 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 72 6c 45 6e 63 6f 64 65 41 6c 6c 28 24 73 private.function.urlEncodeAll($s
cb320 74 72 69 6e 67 29 0a 7b 0a 24 65 6e 63 6f 64 65 64 20 3d 20 27 27 3b 0a 66 6f 72 20 28 24 69 20 tring).{.$encoded.=.'';.for.($i.
cb340 3d 20 30 3b 20 69 73 73 65 74 28 24 73 74 72 69 6e 67 5b 24 69 5d 29 3b 20 24 69 2b 2b 29 20 7b =.0;.isset($string[$i]);.$i++).{
cb360 0a 24 63 68 61 72 61 63 74 65 72 20 3d 20 24 73 74 72 69 6e 67 5b 24 69 5d 3b 0a 69 66 20 28 21 .$character.=.$string[$i];.if.(!
cb380 63 74 79 70 65 5f 61 6c 6e 75 6d 28 24 63 68 61 72 61 63 74 65 72 29 20 26 26 20 21 69 6e 5f 61 ctype_alnum($character).&&.!in_a
cb3a0 72 72 61 79 28 24 63 68 61 72 61 63 74 65 72 2c 20 61 72 72 61 79 28 27 2d 27 2c 20 27 5f 27 29 rray($character,.array('-',.'_')
cb3c0 2c 20 74 72 75 65 29 29 20 7b 0a 24 63 68 61 72 61 63 74 65 72 20 3d 20 27 25 27 20 2e 20 73 70 ,.true)).{.$character.=.'%'...sp
cb3e0 72 69 6e 74 66 28 27 25 30 32 58 27 2c 20 6f 72 64 28 24 63 68 61 72 61 63 74 65 72 29 29 3b 0a rintf('%02X',.ord($character));.
cb400 7d 0a 24 65 6e 63 6f 64 65 64 20 2e 3d 20 24 63 68 61 72 61 63 74 65 72 3b 0a 7d 0a 0a 72 65 74 }.$encoded..=.$character;.}..ret
cb420 75 72 6e 20 24 65 6e 63 6f 64 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 urn.$encoded;.}.......protected.
cb440 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 66 65 72 65 6e 63 65 73 28 24 74 79 70 65 29 0a 7b 0a function.getReferences($type).{.
cb460 24 70 65 72 50 61 67 65 20 3d 20 31 30 30 3b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 $perPage.=.100;.$resource.=.$thi
cb480 73 2d 3e 67 65 74 41 70 69 55 72 6c 28 29 2e 27 2f 72 65 70 6f 73 69 74 6f 72 79 2f 27 2e 24 74 s->getApiUrl().'/repository/'.$t
cb4a0 79 70 65 2e 27 3f 70 65 72 5f 70 61 67 65 3d 27 2e 24 70 65 72 50 61 67 65 3b 0a 0a 24 72 65 66 ype.'?per_page='.$perPage;..$ref
cb4c0 65 72 65 6e 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 64 6f 20 7b 0a 24 64 61 74 61 20 3d 20 erences.=.array();.do.{.$data.=.
cb4e0 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f JsonFile::parseJson($this->getCo
cb500 6e 74 65 6e 74 73 28 24 72 65 73 6f 75 72 63 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 0a ntents($resource),.$resource);..
cb520 66 6f 72 65 61 63 68 20 28 24 64 61 74 61 20 61 73 20 24 64 61 74 75 6d 29 20 7b 0a 24 72 65 66 foreach.($data.as.$datum).{.$ref
cb540 65 72 65 6e 63 65 73 5b 24 64 61 74 75 6d 5b 27 6e 61 6d 65 27 5d 5d 20 3d 20 24 64 61 74 75 6d erences[$datum['name']].=.$datum
cb560 5b 27 63 6f 6d 6d 69 74 27 5d 5b 27 69 64 27 5d 3b 0a 0a 0a 20 0a 20 24 74 68 69 73 2d 3e 63 6f ['commit']['id'];......$this->co
cb580 6d 6d 69 74 73 5b 24 64 61 74 75 6d 5b 27 63 6f 6d 6d 69 74 27 5d 5b 27 69 64 27 5d 5d 20 3d 20 mmits[$datum['commit']['id']].=.
cb5a0 24 64 61 74 75 6d 5b 27 63 6f 6d 6d 69 74 27 5d 3b 0a 7d 0a 0a 69 66 20 28 63 6f 75 6e 74 28 24 $datum['commit'];.}..if.(count($
cb5c0 64 61 74 61 29 20 3e 3d 20 24 70 65 72 50 61 67 65 29 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d data).>=.$perPage).{.$resource.=
cb5e0 20 24 74 68 69 73 2d 3e 67 65 74 4e 65 78 74 50 61 67 65 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a .$this->getNextPage();.}.else.{.
cb600 24 72 65 73 6f 75 72 63 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 77 68 69 6c 65 20 28 24 72 $resource.=.false;.}.}.while.($r
cb620 65 73 6f 75 72 63 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 66 65 72 65 6e 63 65 73 3b 0a 7d esource);..return.$references;.}
cb640 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 50 72 6f 6a 65 63 ..protected.function.fetchProjec
cb660 74 28 29 0a 7b 0a 0a 20 24 72 65 73 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 t().{...$resource.=.$this->getAp
cb680 69 55 72 6c 28 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 6a 65 63 74 20 3d 20 4a 73 6f 6e 46 69 6c iUrl();.$this->project.=.JsonFil
cb6a0 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 e::parseJson($this->getContents(
cb6c0 24 72 65 73 6f 75 72 63 65 2c 20 74 72 75 65 29 2c 20 24 72 65 73 6f 75 72 63 65 29 3b 0a 69 66 $resource,.true),.$resource);.if
cb6e0 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 6f 6a 65 63 74 5b 27 76 69 73 69 62 69 6c 69 .(isset($this->project['visibili
cb700 74 79 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 73 50 72 69 76 61 74 65 20 3d 20 24 74 68 69 ty'])).{.$this->isPrivate.=.$thi
cb720 73 2d 3e 70 72 6f 6a 65 63 74 5b 27 76 69 73 69 62 69 6c 69 74 79 27 5d 20 21 3d 3d 20 27 70 75 s->project['visibility'].!==.'pu
cb740 62 6c 69 63 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 69 73 50 72 69 76 61 blic';.}.else.{...$this->isPriva
cb760 74 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 te.=.false;.}.}..protected.funct
cb780 69 6f 6e 20 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 0a 7b 0a 74 72 79 ion.attemptCloneFallback().{.try
cb7a0 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 50 72 69 76 61 74 65 20 3d 3d 3d 20 66 61 6c 73 .{.if.($this->isPrivate.===.fals
cb7c0 65 29 20 7b 0a 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 75 62 6c 69 e).{.$url.=.$this->generatePubli
cb7e0 63 55 72 6c 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 67 cUrl();.}.else.{.$url.=.$this->g
cb800 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 24 74 68 69 73 2d enerateSshUrl();.}........$this-
cb820 3e 73 65 74 75 70 47 69 74 44 72 69 76 65 72 28 24 75 72 6c 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a >setupGitDriver($url);..return;.
cb840 7d 20 63 61 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b }.catch.(\RuntimeException.$e).{
cb860 0a 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 24 74 68 69 73 .$this->gitDriver.=.null;..$this
cb880 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 46 61 69 6c 65 64 20 ->io->writeError('<error>Failed.
cb8a0 74 6f 20 63 6c 6f 6e 65 20 74 68 65 20 27 2e 24 75 72 6c 2e 27 20 72 65 70 6f 73 69 74 6f 72 79 to.clone.the.'.$url.'.repository
cb8c0 2c 20 74 72 79 20 72 75 6e 6e 69 6e 67 20 69 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 ,.try.running.in.interactive.mod
cb8e0 65 20 73 6f 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 65 6e 74 65 72 20 79 6f 75 72 20 63 72 65 e.so.that.you.can.enter.your.cre
cb900 64 65 6e 74 69 61 6c 73 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a dentials</error>');.throw.$e;.}.
cb920 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 }.......protected.function.gener
cb940 61 74 65 53 73 68 55 72 6c 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 4e 6f 6e 73 ateSshUrl().{.if.($this->hasNons
cb960 74 61 6e 64 61 72 64 4f 72 69 67 69 6e 29 20 7b 0a 72 65 74 75 72 6e 20 27 73 73 68 3a 2f 2f 67 tandardOrigin).{.return.'ssh://g
cb980 69 74 40 27 2e 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2e 27 2f 27 2e 24 74 68 69 73 2d it@'.$this->originUrl.'/'.$this-
cb9a0 3e 6e 61 6d 65 73 70 61 63 65 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 >namespace.'/'.$this->repository
cb9c0 2e 27 2e 67 69 74 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 67 69 74 40 27 20 2e 20 24 74 68 69 .'.git';.}..return.'git@'...$thi
cb9e0 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 2e 20 27 3a 27 2e 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 s->originUrl...':'.$this->namesp
cba00 61 63 65 2e 27 2f 27 2e 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 2e 27 2e 67 69 74 27 ace.'/'.$this->repository.'.git'
cba20 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 ;.}..protected.function.generate
cba40 50 75 62 6c 69 63 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 68 65 PublicUrl().{.return.$this->sche
cba60 6d 65 20 2e 20 27 3a 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 2e 20 me...'://'...$this->originUrl...
cba80 27 2f 27 2e 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 2e 27 2f 27 2e 24 74 68 69 73 2d 3e '/'.$this->namespace.'/'.$this->
cbaa0 72 65 70 6f 73 69 74 6f 72 79 2e 27 2e 67 69 74 27 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 repository.'.git';.}..protected.
cbac0 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 47 69 74 44 72 69 76 65 72 28 24 75 72 6c 29 0a 7b 0a function.setupGitDriver($url).{.
cbae0 24 74 68 69 73 2d 3e 67 69 74 44 72 69 76 65 72 20 3d 20 6e 65 77 20 47 69 74 44 72 69 76 65 72 $this->gitDriver.=.new.GitDriver
cbb00 28 0a 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 24 75 72 6c 29 2c 0a 24 74 68 69 73 2d 3e 69 (.array('url'.=>.$url),.$this->i
cbb20 6f 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 o,.$this->config,.$this->process
cbb40 2c 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 0a 29 3b 0a 24 74 68 ,.$this->remoteFilesystem.);.$th
cbb60 69 73 2d 3e 67 69 74 44 72 69 76 65 72 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a is->gitDriver->initialize();.}..
cbb80 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 ...protected.function.getContent
cbba0 73 28 24 75 72 6c 2c 20 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 20 3d 20 66 61 6c 73 s($url,.$fetchingRepoData.=.fals
cbbc0 65 29 0a 7b 0a 74 72 79 20 7b 0a 24 72 65 73 20 3d 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e e).{.try.{.$res.=.parent::getCon
cbbe0 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 0a 69 66 20 28 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 tents($url);..if.($fetchingRepoD
cbc00 61 74 61 29 20 7b 0a 24 6a 73 6f 6e 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 ata).{.$json.=.JsonFile::parseJs
cbc20 6f 6e 28 24 72 65 73 2c 20 24 75 72 6c 29 3b 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 6a on($res,.$url);....if.(!isset($j
cbc40 73 6f 6e 5b 27 64 65 66 61 75 6c 74 5f 62 72 61 6e 63 68 27 5d 29 29 20 7b 0a 69 66 20 28 21 65 son['default_branch'])).{.if.(!e
cbc60 6d 70 74 79 28 24 6a 73 6f 6e 5b 27 69 64 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 73 50 72 mpty($json['id'])).{.$this->isPr
cbc80 69 76 61 74 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e ivate.=.false;.}..throw.new.Tran
cbca0 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 47 69 74 4c 61 62 20 41 50 49 20 73 65 65 6d 73 sportException('GitLab.API.seems
cbcc0 20 74 6f 20 6e 6f 74 20 62 65 20 61 75 74 68 65 6e 74 69 63 61 74 65 64 20 61 73 20 69 74 20 64 .to.not.be.authenticated.as.it.d
cbce0 69 64 20 6e 6f 74 20 72 65 74 75 72 6e 20 61 20 64 65 66 61 75 6c 74 5f 62 72 61 6e 63 68 27 2c id.not.return.a.default_branch',
cbd00 20 34 30 31 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 3b 0a 7d 20 63 61 74 63 68 .401);.}.}..return.$res;.}.catch
cbd20 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 67 69 74 4c .(TransportException.$e).{.$gitL
cbd40 61 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 4c 61 62 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 abUtil.=.new.GitLab($this->io,.$
cbd60 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 20 24 74 this->config,.$this->process,.$t
cbd80 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 29 3b 0a 0a 73 77 69 74 63 68 20 his->remoteFilesystem);..switch.
cbda0 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 29 20 7b 0a 63 61 73 65 20 34 30 31 3a 0a 63 61 73 65 ($e->getCode()).{.case.401:.case
cbdc0 20 34 30 34 3a 0a 0a 20 69 66 20 28 21 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 29 20 .404:...if.(!$fetchingRepoData).
cbde0 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 24 67 69 74 4c 61 62 55 74 69 6c 2d 3e {.throw.$e;.}..if.($gitLabUtil->
cbe00 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 authorizeOAuth($this->originUrl)
cbe20 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 ).{.return.parent::getContents($
cbe40 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 url);.}..if.(!$this->io->isInter
cbe60 61 63 74 69 76 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 active()).{.return.$this->attemp
cbe80 74 43 6c 6f 6e 65 46 61 6c 6c 62 61 63 6b 28 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 tCloneFallback();.}.$this->io->w
cbea0 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 46 61 69 6c 65 64 20 74 6f 20 64 6f riteError('<warning>Failed.to.do
cbec0 77 6e 6c 6f 61 64 20 27 20 2e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 20 2e 20 27 2f wnload.'...$this->namespace...'/
cbee0 27 20 2e 20 24 74 68 69 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 20 2e 20 27 3a 27 20 2e 20 24 65 '...$this->repository...':'...$e
cbf00 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a ->getMessage()...'</warning>');.
cbf20 24 67 69 74 4c 61 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 $gitLabUtil->authorizeOAuthInter
cbf40 61 63 74 69 76 65 6c 79 28 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 2c 20 24 74 68 69 73 2d 3e 6f actively($this->scheme,.$this->o
cbf60 72 69 67 69 6e 55 72 6c 2c 20 27 59 6f 75 72 20 63 72 65 64 65 6e 74 69 61 6c 73 20 61 72 65 20 riginUrl,.'Your.credentials.are.
cbf80 72 65 71 75 69 72 65 64 20 74 6f 20 66 65 74 63 68 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 69 required.to.fetch.private.reposi
cbfa0 74 6f 72 79 20 6d 65 74 61 64 61 74 61 20 28 3c 69 6e 66 6f 3e 27 2e 24 74 68 69 73 2d 3e 75 72 tory.metadata.(<info>'.$this->ur
cbfc0 6c 2e 27 3c 2f 69 6e 66 6f 3e 29 27 29 3b 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 l.'</info>)');..return.parent::g
cbfe0 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 3b 0a 0a 63 61 73 65 20 34 30 33 3a 0a 69 66 20 etContents($url);..case.403:.if.
cc000 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 (!$this->io->hasAuthentication($
cc020 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 20 26 26 20 24 67 69 74 4c 61 62 55 74 69 6c 2d this->originUrl).&&.$gitLabUtil-
cc040 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c >authorizeOAuth($this->originUrl
cc060 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 6f 6e 74 65 6e 74 73 28 )).{.return.parent::getContents(
cc080 24 75 72 6c 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 $url);.}..if.(!$this->io->isInte
cc0a0 72 61 63 74 69 76 65 28 29 20 26 26 20 24 66 65 74 63 68 69 6e 67 52 65 70 6f 44 61 74 61 29 20 ractive().&&.$fetchingRepoData).
cc0c0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 74 74 65 6d 70 74 43 6c 6f 6e 65 46 61 6c 6c {.return.$this->attemptCloneFall
cc0e0 62 61 63 6b 28 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 back();.}..throw.$e;..default:.t
cc100 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 hrow.$e;.}.}.}........public.sta
cc120 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 tic.function.supports(IOInterfac
cc140 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 e.$io,.Config.$config,.$url,.$de
cc160 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 73 65 ep.=.false).{.if.(!preg_match(se
cc180 6c 66 3a 3a 55 52 4c 5f 52 45 47 45 58 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a lf::URL_REGEX,.$url,.$match)).{.
cc1a0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 73 63 68 65 6d 65 20 3d 20 21 65 6d 70 74 return.false;.}..$scheme.=.!empt
cc1c0 79 28 24 6d 61 74 63 68 5b 27 73 63 68 65 6d 65 27 5d 29 20 3f 20 24 6d 61 74 63 68 5b 27 73 63 y($match['scheme']).?.$match['sc
cc1e0 68 65 6d 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 20 3d 20 heme'].:.null;.$guessedDomain.=.
cc200 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 27 64 6f 6d 61 69 6e 27 5d 29 20 3f 20 24 6d 61 74 63 !empty($match['domain']).?.$matc
cc220 68 5b 27 64 6f 6d 61 69 6e 27 5d 20 3a 20 24 6d 61 74 63 68 5b 27 64 6f 6d 61 69 6e 32 27 5d 3b h['domain'].:.$match['domain2'];
cc240 0a 24 75 72 6c 50 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 6d 61 74 63 68 .$urlParts.=.explode('/',.$match
cc260 5b 27 70 61 72 74 73 27 5d 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 65 6c 66 3a ['parts']);..if.(false.===.self:
cc280 3a 64 65 74 65 72 6d 69 6e 65 4f 72 69 67 69 6e 28 28 61 72 72 61 79 29 20 24 63 6f 6e 66 69 67 :determineOrigin((array).$config
cc2a0 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 24 67 75 65 73 73 65 ->get('gitlab-domains'),.$guesse
cc2c0 64 44 6f 6d 61 69 6e 2c 20 24 75 72 6c 50 61 72 74 73 2c 20 24 6d 61 74 63 68 5b 27 70 6f 72 74 dDomain,.$urlParts,.$match['port
cc2e0 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 27 68 74 74 '])).{.return.false;.}..if.('htt
cc300 70 73 27 20 3d 3d 3d 20 24 73 63 68 65 6d 65 20 26 26 20 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f ps'.===.$scheme.&&.!extension_lo
cc320 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 aded('openssl')).{.$io->writeErr
cc340 6f 72 28 27 53 6b 69 70 70 69 6e 67 20 47 69 74 4c 61 62 20 64 72 69 76 65 72 20 66 6f 72 20 27 or('Skipping.GitLab.driver.for.'
cc360 2e 24 75 72 6c 2e 27 20 62 65 63 61 75 73 65 20 74 68 65 20 4f 70 65 6e 53 53 4c 20 50 48 50 20 .$url.'.because.the.OpenSSL.PHP.
cc380 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 27 2c 20 74 72 75 65 2c 20 49 4f extension.is.missing.',.true,.IO
cc3a0 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c Interface::VERBOSE);..return.fal
cc3c0 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 se;.}..return.true;.}..private.f
cc3e0 75 6e 63 74 69 6f 6e 20 67 65 74 4e 65 78 74 50 61 67 65 28 29 0a 7b 0a 24 68 65 61 64 65 72 73 unction.getNextPage().{.$headers
cc400 20 3d 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 4c .=.$this->remoteFilesystem->getL
cc420 61 73 74 48 65 61 64 65 72 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 astHeaders();.foreach.($headers.
cc440 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e as.$header).{.if.(preg_match('{^
cc460 6c 69 6e 6b 3a 5c 73 2a 28 2e 2b 3f 29 5c 73 2a 24 7d 69 27 2c 20 24 68 65 61 64 65 72 2c 20 24 link:\s*(.+?)\s*$}i',.$header,.$
cc480 6d 61 74 63 68 29 29 20 7b 0a 24 6c 69 6e 6b 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 match)).{.$links.=.explode(',',.
cc4a0 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 6b 73 20 61 73 20 24 $match[1]);.foreach.($links.as.$
cc4c0 6c 69 6e 6b 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 3c 28 2e 2b 3f 29 3e link).{.if.(preg_match('{<(.+?)>
cc4e0 3b 20 2a 72 65 6c 3d 22 6e 65 78 74 22 7d 27 2c 20 24 6c 69 6e 6b 2c 20 24 6d 61 74 63 68 29 29 ;.*rel="next"}',.$link,.$match))
cc500 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a .{.return.$match[1];.}.}.}.}.}..
cc520 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 ......private.static.function.de
cc540 74 65 72 6d 69 6e 65 4f 72 69 67 69 6e 28 61 72 72 61 79 20 24 63 6f 6e 66 69 67 75 72 65 64 44 termineOrigin(array.$configuredD
cc560 6f 6d 61 69 6e 73 2c 20 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 2c 20 61 72 72 61 79 20 26 24 omains,.$guessedDomain,.array.&$
cc580 75 72 6c 50 61 72 74 73 2c 20 24 70 6f 72 74 4e 75 6d 62 65 72 29 0a 7b 0a 24 67 75 65 73 73 65 urlParts,.$portNumber).{.$guesse
cc5a0 64 44 6f 6d 61 69 6e 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 67 75 65 73 73 65 64 44 6f 6d dDomain.=.strtolower($guessedDom
cc5c0 61 69 6e 29 3b 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 67 75 65 73 73 65 64 44 6f 6d 61 ain);..if.(in_array($guessedDoma
cc5e0 69 6e 2c 20 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 29 20 7c 7c 20 28 24 70 6f 72 in,.$configuredDomains).||.($por
cc600 74 4e 75 6d 62 65 72 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 67 75 65 73 73 65 64 44 6f 6d 61 tNumber.&&.in_array($guessedDoma
cc620 69 6e 2e 27 3a 27 2e 24 70 6f 72 74 4e 75 6d 62 65 72 2c 20 24 63 6f 6e 66 69 67 75 72 65 64 44 in.':'.$portNumber,.$configuredD
cc640 6f 6d 61 69 6e 73 29 29 29 20 7b 0a 69 66 20 28 24 70 6f 72 74 4e 75 6d 62 65 72 29 20 7b 0a 72 omains))).{.if.($portNumber).{.r
cc660 65 74 75 72 6e 20 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 2e 27 3a 27 2e 24 70 6f 72 74 4e 75 eturn.$guessedDomain.':'.$portNu
cc680 6d 62 65 72 3b 0a 7d 0a 72 65 74 75 72 6e 20 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 3b 0a 7d mber;.}.return.$guessedDomain;.}
cc6a0 0a 0a 69 66 20 28 24 70 6f 72 74 4e 75 6d 62 65 72 29 20 7b 0a 24 67 75 65 73 73 65 64 44 6f 6d ..if.($portNumber).{.$guessedDom
cc6c0 61 69 6e 20 2e 3d 20 27 3a 27 2e 24 70 6f 72 74 4e 75 6d 62 65 72 3b 0a 7d 0a 0a 77 68 69 6c 65 ain..=.':'.$portNumber;.}..while
cc6e0 20 28 6e 75 6c 6c 20 21 3d 3d 20 28 24 70 61 72 74 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 .(null.!==.($part.=.array_shift(
cc700 24 75 72 6c 50 61 72 74 73 29 29 29 20 7b 0a 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 20 2e 3d $urlParts))).{.$guessedDomain..=
cc720 20 27 2f 27 20 2e 20 24 70 61 72 74 3b 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 67 75 65 .'/'...$part;..if.(in_array($gue
cc740 73 73 65 64 44 6f 6d 61 69 6e 2c 20 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 29 20 ssedDomain,.$configuredDomains).
cc760 7c 7c 20 28 24 70 6f 72 74 4e 75 6d 62 65 72 20 26 26 20 69 6e 5f 61 72 72 61 79 28 70 72 65 67 ||.($portNumber.&&.in_array(preg
cc780 5f 72 65 70 6c 61 63 65 28 27 7b 3a 5c 64 2b 7d 27 2c 20 27 27 2c 20 24 67 75 65 73 73 65 64 44 _replace('{:\d+}',.'',.$guessedD
cc7a0 6f 6d 61 69 6e 29 2c 20 24 63 6f 6e 66 69 67 75 72 65 64 44 6f 6d 61 69 6e 73 29 29 29 20 7b 0a omain),.$configuredDomains))).{.
cc7c0 72 65 74 75 72 6e 20 24 67 75 65 73 73 65 64 44 6f 6d 61 69 6e 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 return.$guessedDomain;.}.}..retu
cc7e0 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e rn.false;.}.}.<?php............n
cc800 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 amespace.Composer\Repository\Vcs
cc820 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 ;..use.Composer\Config;.use.Comp
cc840 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 oser\IO\IOInterface;.....class.H
cc860 67 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 42 69 74 62 75 63 6b gBitbucketDriver.extends.Bitbuck
cc880 65 74 44 72 69 76 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 etDriver.{....public.function.ge
cc8a0 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 tRootIdentifier().{.if.($this->f
cc8c0 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 allbackDriver).{.return.$this->f
cc8e0 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 allbackDriver->getRootIdentifier
cc900 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 ();.}..if.(null.===.$this->rootI
cc920 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 69 66 20 28 21 20 24 74 68 69 73 2d 3e 67 65 74 52 65 70 dentifier).{.if.(!.$this->getRep
cc940 6f 44 61 74 61 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 oData()).{.return.$this->fallbac
cc960 6b 44 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 7d 0a kDriver->getRootIdentifier();.}.
cc980 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 63 73 54 79 70 65 20 21 3d 3d 20 27 68 67 27 29 20 7b 0a .if.($this->vcsType.!==.'hg').{.
cc9a0 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 24 74 68 throw.new.\RuntimeException(.$th
cc9c0 69 73 2d 3e 75 72 6c 2e 27 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 65 61 72 20 74 6f 20 62 65 20 is->url.'.does.not.appear.to.be.
cc9e0 61 20 6d 65 72 63 75 72 69 61 6c 20 72 65 70 6f 73 69 74 6f 72 79 2c 20 75 73 65 20 27 2e 0a 24 a.mercurial.repository,.use.'..$
cca00 74 68 69 73 2d 3e 63 6c 6f 6e 65 48 74 74 70 73 55 72 6c 2e 27 20 69 66 20 74 68 69 73 20 69 73 this->cloneHttpsUrl.'.if.this.is
cca20 20 61 20 67 69 74 20 62 69 74 62 75 63 6b 65 74 20 72 65 70 6f 73 69 74 6f 72 79 27 0a 29 3b 0a .a.git.bitbucket.repository'.);.
cca40 7d 0a 0a 24 6d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4d }..$mainBranchData.=.$this->getM
cca60 61 69 6e 42 72 61 6e 63 68 44 61 74 61 28 29 3b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e ainBranchData();.$this->rootIden
cca80 74 69 66 69 65 72 20 3d 20 21 65 6d 70 74 79 28 24 6d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 5b tifier.=.!empty($mainBranchData[
ccaa0 27 6e 61 6d 65 27 5d 29 20 3f 20 24 6d 61 69 6e 42 72 61 6e 63 68 44 61 74 61 5b 27 6e 61 6d 65 'name']).?.$mainBranchData['name
ccac0 27 5d 20 3a 20 27 64 65 66 61 75 6c 74 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d '].:.'default';.}..return.$this-
ccae0 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 >rootIdentifier;.}.....public.st
ccb00 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 atic.function.supports(IOInterfa
ccb20 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 ce.$io,.Config.$config,.$url,.$d
ccb40 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 eep.=.false).{.if.(!preg_match('
ccb60 23 5e 68 74 74 70 73 3f 3a 2f 2f 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 2f 28 5b 5e 2f 5d 2b #^https?://bitbucket\.org/([^/]+
ccb80 29 2f 28 5b 5e 2f 5d 2b 29 2f 3f 24 23 69 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e )/([^/]+)/?$#i',.$url)).{.return
ccba0 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 .false;.}..if.(!extension_loaded
ccbc0 28 27 6f 70 65 6e 73 73 6c 27 29 29 20 7b 0a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 ('openssl')).{.$io->writeError('
ccbe0 53 6b 69 70 70 69 6e 67 20 42 69 74 62 75 63 6b 65 74 20 68 67 20 64 72 69 76 65 72 20 66 6f 72 Skipping.Bitbucket.hg.driver.for
ccc00 20 27 2e 24 75 72 6c 2e 27 20 62 65 63 61 75 73 65 20 74 68 65 20 4f 70 65 6e 53 53 4c 20 50 48 .'.$url.'.because.the.OpenSSL.PH
ccc20 50 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6d 69 73 73 69 6e 67 2e 27 2c 20 74 72 75 65 2c 20 P.extension.is.missing.',.true,.
ccc40 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 45 29 3b 0a 0a 72 65 74 75 72 6e 20 66 IOInterface::VERBOSE);..return.f
ccc60 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 alse;.}..return.true;.}.....prot
ccc80 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 75 70 46 61 6c 6c 62 61 63 6b 44 72 69 76 ected.function.setupFallbackDriv
ccca0 65 72 28 24 75 72 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 72 er($url).{.$this->fallbackDriver
cccc0 20 3d 20 6e 65 77 20 48 67 44 72 69 76 65 72 28 0a 61 72 72 61 79 28 27 75 72 6c 27 20 3d 3e 20 .=.new.HgDriver(.array('url'.=>.
ccce0 24 75 72 6c 29 2c 0a 24 74 68 69 73 2d 3e 69 6f 2c 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c $url),.$this->io,.$this->config,
ccd00 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2c 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 .$this->process,.$this->remoteFi
ccd20 6c 65 73 79 73 74 65 6d 0a 29 3b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 72 69 76 65 lesystem.);.$this->fallbackDrive
ccd40 72 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 r->initialize();.}.....protected
ccd60 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 53 73 68 55 72 6c 28 29 0a 7b 0a 72 65 74 .function.generateSshUrl().{.ret
ccd80 75 72 6e 20 27 73 73 68 3a 2f 2f 68 67 40 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 urn.'ssh://hg@'...$this->originU
ccda0 72 6c 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 6f 77 6e 65 72 2e 27 2f 27 2e 24 74 68 69 rl...'/'...$this->owner.'/'.$thi
ccdc0 73 2d 3e 72 65 70 6f 73 69 74 6f 72 79 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a s->repository;.}.}.<?php........
ccde0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 ....namespace.Composer\Repositor
cce00 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 y\Vcs;..use.Composer\Config;.use
cce20 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 .Composer\Cache;.use.Composer\Ut
cce40 69 6c 5c 48 67 20 61 73 20 48 67 55 74 69 6c 73 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 il\Hg.as.HgUtils;.use.Composer\U
cce60 74 69 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 til\ProcessExecutor;.use.Compose
cce80 72 5c 55 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c r\Util\Filesystem;.use.Composer\
ccea0 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 67 44 72 69 76 IO\IOInterface;.....class.HgDriv
ccec0 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 er.extends.VcsDriver.{.protected
ccee0 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 65 73 3b 0a 70 72 6f .$tags;.protected.$branches;.pro
ccf00 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 70 72 6f 74 65 63 74 65 tected.$rootIdentifier;.protecte
ccf20 64 20 24 72 65 70 6f 44 69 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 68 65 d.$repoDir;.protected.$infoCache
ccf40 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .=.array();.....public.function.
ccf60 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 initialize().{.if.(Filesystem::i
ccf80 73 4c 6f 63 61 6c 50 61 74 68 28 24 74 68 69 73 2d 3e 75 72 6c 29 29 20 7b 0a 24 74 68 69 73 2d sLocalPath($this->url)).{.$this-
ccfa0 3e 72 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a >repoDir.=.$this->url;.}.else.{.
ccfc0 69 66 20 28 21 43 61 63 68 65 3a 3a 69 73 55 73 61 62 6c 65 28 24 74 68 69 73 2d 3e 63 6f 6e 66 if.(!Cache::isUsable($this->conf
ccfe0 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 29 29 20 7b 0a 74 68 72 ig->get('cache-vcs-dir'))).{.thr
cd000 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 48 67 44 72 69 76 ow.new.\RuntimeException('HgDriv
cd020 65 72 20 72 65 71 75 69 72 65 73 20 61 20 75 73 61 62 6c 65 20 63 61 63 68 65 20 64 69 72 65 63 er.requires.a.usable.cache.direc
cd040 74 6f 72 79 2c 20 61 6e 64 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 79 6f 75 20 73 65 74 20 tory,.and.it.looks.like.you.set.
cd060 69 74 20 74 6f 20 62 65 20 64 69 73 61 62 6c 65 64 27 29 3b 0a 7d 0a 0a 24 63 61 63 68 65 44 69 it.to.be.disabled');.}..$cacheDi
cd080 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 r.=.$this->config->get('cache-vc
cd0a0 73 2d 64 69 72 27 29 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 20 3d 20 24 63 61 63 68 65 s-dir');.$this->repoDir.=.$cache
cd0c0 44 69 72 20 2e 20 27 2f 27 20 2e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a Dir...'/'...preg_replace('{[^a-z
cd0e0 30 2d 39 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 74 68 69 73 2d 3e 75 72 6c 29 20 2e 20 27 2f 27 3b 0-9]}i',.'-',.$this->url)...'/';
cd100 0a 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e 65 ..$fs.=.new.Filesystem();.$fs->e
cd120 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 63 61 63 68 65 44 69 72 29 3b nsureDirectoryExists($cacheDir);
cd140 0a 0a 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 28 64 69 72 6e 61 6d 65 28 24 74 68 69 73 ..if.(!is_writable(dirname($this
cd160 2d 3e 72 65 70 6f 44 69 72 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d ->repoDir))).{.throw.new.\Runtim
cd180 65 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 20 6e 6f 74 20 63 6c 6f 6e 65 20 27 2e 24 74 68 69 eException('Can.not.clone.'.$thi
cd1a0 73 2d 3e 75 72 6c 2e 27 20 74 6f 20 61 63 63 65 73 73 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 s->url.'.to.access.package.infor
cd1c0 6d 61 74 69 6f 6e 2e 20 54 68 65 20 22 27 2e 24 63 61 63 68 65 44 69 72 2e 27 22 20 64 69 72 65 mation..The."'.$cacheDir.'".dire
cd1e0 63 74 6f 72 79 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 20 62 79 20 74 68 65 20 63 75 72 ctory.is.not.writable.by.the.cur
cd200 72 65 6e 74 20 75 73 65 72 2e 27 29 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 rent.user.');.}....$this->config
cd220 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 74 68 69 73 2d 3e 75 72 6c ->prohibitUrlByConfig($this->url
cd240 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 24 68 67 55 74 69 6c 73 20 3d 20 6e 65 77 20 48 67 ,.$this->io);..$hgUtils.=.new.Hg
cd260 55 74 69 6c 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 Utils($this->io,.$this->config,.
cd280 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 0a 0a 20 69 66 20 28 69 73 5f 64 69 72 28 24 $this->process);....if.(is_dir($
cd2a0 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 20 26 26 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 this->repoDir).&&.0.===.$this->p
cd2c0 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 73 75 6d 6d 61 72 79 27 2c 20 24 6f rocess->execute('hg.summary',.$o
cd2e0 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 20 7b 0a 69 66 20 28 30 20 utput,.$this->repoDir)).{.if.(0.
cd300 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 !==.$this->process->execute('hg.
cd320 70 75 6c 6c 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 29 pull',.$output,.$this->repoDir))
cd340 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 .{.$this->io->writeError('<error
cd360 3e 46 61 69 6c 65 64 20 74 6f 20 75 70 64 61 74 65 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 >Failed.to.update.'.$this->url.'
cd380 2c 20 70 61 63 6b 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 72 6f 6d 20 74 68 69 73 20 ,.package.information.from.this.
cd3a0 72 65 70 6f 73 69 74 6f 72 79 20 6d 61 79 20 62 65 20 6f 75 74 64 61 74 65 64 20 28 27 2e 24 74 repository.may.be.outdated.('.$t
cd3c0 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2e 27 his->process->getErrorOutput().'
cd3e0 29 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 66 73 2d 3e 72 )</error>');.}.}.else.{...$fs->r
cd400 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a emoveDirectory($this->repoDir);.
cd420 0a 24 72 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 3b 0a 24 63 6f 6d .$repoDir.=.$this->repoDir;.$com
cd440 6d 61 6e 64 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 75 72 6c 29 20 75 73 65 20 28 24 72 65 70 mand.=.function.($url).use.($rep
cd460 6f 44 69 72 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 68 67 20 63 6c 6f 6e 65 oDir).{.return.sprintf('hg.clone
cd480 20 2d 2d 6e 6f 75 70 64 61 74 65 20 25 73 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 .--noupdate.%s.%s',.ProcessExecu
cd4a0 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 tor::escape($url),.ProcessExecut
cd4c0 6f 72 3a 3a 65 73 63 61 70 65 28 24 72 65 70 6f 44 69 72 29 29 3b 0a 7d 3b 0a 0a 24 68 67 55 74 or::escape($repoDir));.};..$hgUt
cd4e0 69 6c 73 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 74 68 69 73 2d ils->runCommand($command,.$this-
cd500 3e 75 72 6c 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 67 65 74 54 61 67 73 >url,.null);.}.}..$this->getTags
cd520 28 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a ();.$this->getBranches();.}.....
cd540 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 public.function.getRootIdentifie
cd560 72 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 r().{.if.(null.===.$this->rootId
cd580 65 6e 74 69 66 69 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 entifier).{.$this->process->exec
cd5a0 75 74 65 28 73 70 72 69 6e 74 66 28 27 68 67 20 74 69 70 20 2d 2d 74 65 6d 70 6c 61 74 65 20 22 ute(sprintf('hg.tip.--template."
cd5c0 7b 6e 6f 64 65 7d 22 27 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 {node}"'),.$output,.$this->repoD
cd5e0 69 72 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 ir);.$output.=.$this->process->s
cd600 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 3b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 49 plitLines($output);.$this->rootI
cd620 64 65 6e 74 69 66 69 65 72 20 3d 20 24 6f 75 74 70 75 74 5b 30 5d 3b 0a 7d 0a 0a 72 65 74 75 72 dentifier.=.$output[0];.}..retur
cd640 6e 20 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 n.$this->rootIdentifier;.}.....p
cd660 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e ublic.function.getUrl().{.return
cd680 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .$this->url;.}.....public.functi
cd6a0 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 on.getSource($identifier).{.retu
cd6c0 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 68 67 27 2c 20 27 75 72 6c 27 20 3d rn.array('type'.=>.'hg',.'url'.=
cd6e0 3e 20 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 28 29 2c 20 27 72 65 66 65 72 65 6e 63 65 27 20 3d >.$this->getUrl(),.'reference'.=
cd700 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e >.$identifier);.}.....public.fun
cd720 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 ction.getDist($identifier).{.ret
cd740 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 urn.null;.}.....public.function.
cd760 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 getFileContent($file,.$identifie
cd780 72 29 0a 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 73 70 72 69 6e 74 66 28 27 68 67 20 63 61 74 r).{.$resource.=.sprintf('hg.cat
cd7a0 20 2d 72 20 25 73 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 .-r.%s.%s',.ProcessExecutor::esc
cd7c0 61 70 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f ape($identifier),.ProcessExecuto
cd7e0 72 3a 3a 65 73 63 61 70 65 28 24 66 69 6c 65 29 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 r::escape($file));.$this->proces
cd800 73 2d 3e 65 78 65 63 75 74 65 28 24 72 65 73 6f 75 72 63 65 2c 20 24 63 6f 6e 74 65 6e 74 2c 20 s->execute($resource,.$content,.
cd820 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 0a 69 66 20 28 21 74 72 69 6d 28 24 63 6f 6e $this->repoDir);..if.(!trim($con
cd840 74 65 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 tent)).{.return;.}..return.$cont
cd860 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 ent;.}.....public.function.getCh
cd880 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 angeDate($identifier).{.$this->p
cd8a0 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 0a 73 70 72 69 6e 74 66 28 0a 27 68 67 20 6c 6f rocess->execute(.sprintf(.'hg.lo
cd8c0 67 20 2d 2d 74 65 6d 70 6c 61 74 65 20 22 7b 64 61 74 65 7c 72 66 63 33 33 33 39 64 61 74 65 7d g.--template."{date|rfc3339date}
cd8e0 22 20 2d 72 20 25 73 27 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 ".-r.%s',.ProcessExecutor::escap
cd900 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 29 2c 0a 24 6f 75 74 70 75 74 2c 0a 24 74 68 69 73 e($identifier).),.$output,.$this
cd920 2d 3e 72 65 70 6f 44 69 72 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 ->repoDir.);..return.new.\DateTi
cd940 6d 65 28 74 72 69 6d 28 24 6f 75 74 70 75 74 29 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a me(trim($output),.new.\DateTimeZ
cd960 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 one('UTC'));.}.....public.functi
cd980 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 on.getTags().{.if.(null.===.$thi
cd9a0 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 s->tags).{.$tags.=.array();..$th
cd9c0 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 74 61 67 73 27 2c 20 is->process->execute('hg.tags',.
cd9e0 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 66 6f 72 65 61 63 $output,.$this->repoDir);.foreac
cda00 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f h.($this->process->splitLines($o
cda20 75 74 70 75 74 29 20 61 73 20 24 74 61 67 29 20 7b 0a 69 66 20 28 24 74 61 67 20 26 26 20 70 72 utput).as.$tag).{.if.($tag.&&.pr
cda40 65 67 5f 6d 61 74 63 68 28 27 28 5e 28 5b 5e 5c 73 5d 2b 29 5c 73 2b 5c 64 2b 3a 28 2e 2a 29 24 eg_match('(^([^\s]+)\s+\d+:(.*)$
cda60 29 27 2c 20 24 74 61 67 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 61 67 73 5b 24 6d 61 74 63 )',.$tag,.$match)).{.$tags[$matc
cda80 68 5b 31 5d 5d 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 75 6e 73 65 74 28 24 74 61 h[1]].=.$match[2];.}.}.unset($ta
cdaa0 67 73 5b 27 74 69 70 27 5d 29 3b 0a 0a 24 74 68 69 73 2d 3e 74 61 67 73 20 3d 20 24 74 61 67 73 gs['tip']);..$this->tags.=.$tags
cdac0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 0a 0a 0a 0a 0a 70 ;.}..return.$this->tags;.}.....p
cdae0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 69 ublic.function.getBranches().{.i
cdb00 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 7b 0a 24 f.(null.===.$this->branches).{.$
cdb20 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 62 6f 6f 6b 6d 61 72 6b 73 20 3d branches.=.array();.$bookmarks.=
cdb40 20 61 72 72 61 79 28 29 3b 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 .array();..$this->process->execu
cdb60 74 65 28 27 68 67 20 62 72 61 6e 63 68 65 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 te('hg.branches',.$output,.$this
cdb80 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 ->repoDir);.foreach.($this->proc
cdba0 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 62 72 61 ess->splitLines($output).as.$bra
cdbc0 6e 63 68 29 20 7b 0a 69 66 20 28 24 62 72 61 6e 63 68 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 nch).{.if.($branch.&&.preg_match
cdbe0 28 27 28 5e 28 5b 5e 5c 73 5d 2b 29 5c 73 2b 5c 64 2b 3a 28 5b 61 2d 66 30 2d 39 5d 2b 29 29 27 ('(^([^\s]+)\s+\d+:([a-f0-9]+))'
cdc00 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 62 72 61 6e 63 68 65 73 5b ,.$branch,.$match)).{.$branches[
cdc20 24 6d 61 74 63 68 5b 31 5d 5d 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 0a 24 74 68 $match[1]].=.$match[2];.}.}..$th
cdc40 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 62 6f 6f 6b 6d 61 72 is->process->execute('hg.bookmar
cdc60 6b 73 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 44 69 72 29 3b 0a 66 ks',.$output,.$this->repoDir);.f
cdc80 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e oreach.($this->process->splitLin
cdca0 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 62 72 61 6e 63 68 29 20 7b 0a 69 66 20 28 24 62 es($output).as.$branch).{.if.($b
cdcc0 72 61 6e 63 68 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 28 5e 28 3f 3a 5b 5c 73 2a 5d 2a ranch.&&.preg_match('(^(?:[\s*]*
cdce0 29 28 5b 5e 5c 73 5d 2b 29 5c 73 2b 5c 64 2b 3a 28 2e 2a 29 24 29 27 2c 20 24 62 72 61 6e 63 68 )([^\s]+)\s+\d+:(.*)$)',.$branch
cdd00 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 62 6f 6f 6b 6d 61 72 6b 73 5b 24 6d 61 74 63 68 5b 31 ,.$match)).{.$bookmarks[$match[1
cdd20 5d 5d 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 62 72 ]].=.$match[2];.}.}....$this->br
cdd40 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 62 6f 6f 6b 6d 61 72 6b 73 2c anches.=.array_merge($bookmarks,
cdd60 20 24 62 72 61 6e 63 68 65 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 .$branches);.}..return.$this->br
cdd80 61 6e 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 anches;.}.....public.static.func
cdda0 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 tion.supports(IOInterface.$io,.C
cddc0 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c onfig.$config,.$url,.$deep.=.fal
cdde0 73 65 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 28 5e 28 3f 3a 68 74 74 70 se).{.if.(preg_match('#(^(?:http
cde00 73 3f 7c 73 73 68 29 3a 2f 2f 28 3f 3a 5b 5e 40 5d 2b 40 29 3f 62 69 74 62 75 63 6b 65 74 2e 6f s?|ssh)://(?:[^@]+@)?bitbucket.o
cde20 72 67 7c 68 74 74 70 73 3a 2f 2f 28 3f 3a 2e 2a 3f 29 5c 2e 6b 69 6c 6e 68 67 2e 63 6f 6d 29 23 rg|https://(?:.*?)\.kilnhg.com)#
cde40 69 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 i',.$url)).{.return.true;.}....i
cde60 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 6c 29 f.(Filesystem::isLocalPath($url)
cde80 29 20 7b 0a 24 75 72 6c 20 3d 20 46 69 6c 65 73 79 73 74 65 6d 3a 3a 67 65 74 50 6c 61 74 66 6f ).{.$url.=.Filesystem::getPlatfo
cdea0 72 6d 50 61 74 68 28 24 75 72 6c 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 75 72 6c 29 29 rmPath($url);.if.(!is_dir($url))
cdec0 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e .{.return.false;.}..$process.=.n
cdee0 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 20 69 66 20 28 24 ew.ProcessExecutor($io);...if.($
cdf00 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 73 75 6d 6d 61 72 79 27 2c 20 24 process->execute('hg.summary',.$
cdf20 6f 75 74 70 75 74 2c 20 24 75 72 6c 29 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 output,.$url).===.0).{.return.tr
cdf40 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 64 65 65 70 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 ue;.}.}..if.(!$deep).{.return.fa
cdf60 6c 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 3d 20 6e 65 77 20 50 lse;.}..$processExecutor.=.new.P
cdf80 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 24 65 78 69 74 20 3d 20 24 70 72 rocessExecutor($io);.$exit.=.$pr
cdfa0 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 65 78 65 63 75 74 65 28 73 70 72 69 6e 74 66 28 27 ocessExecutor->execute(sprintf('
cdfc0 68 67 20 69 64 65 6e 74 69 66 79 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 hg.identify.%s',.ProcessExecutor
cdfe0 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 29 2c 20 24 69 67 6e 6f 72 65 64 29 3b 0a 0a 72 65 74 ::escape($url)),.$ignored);..ret
ce000 75 72 6e 20 24 65 78 69 74 20 3d 3d 3d 20 30 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a urn.$exit.===.0;.}.}.<?php......
ce020 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 ......namespace.Composer\Reposit
ce040 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 ory\Vcs;..use.Composer\Config;.u
ce060 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c se.Composer\Cache;.use.Composer\
ce080 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 IO\IOInterface;.use.Composer\Uti
ce0a0 6c 5c 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c l\ProcessExecutor;.use.Composer\
ce0c0 55 74 69 6c 5c 50 65 72 66 6f 72 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 65 72 66 6f 72 63 Util\Perforce;.....class.Perforc
ce0e0 65 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a 70 72 6f 74 eDriver.extends.VcsDriver.{.prot
ce100 65 63 74 65 64 20 24 64 65 70 6f 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 3b ected.$depot;.protected.$branch;
ce120 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 65 72 66 6f 72 63 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 ..protected.$perforce;.....publi
ce140 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 24 74 68 69 73 2d c.function.initialize().{.$this-
ce160 3e 64 65 70 6f 74 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 64 65 70 6f >depot.=.$this->repoConfig['depo
ce180 74 27 5d 3b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 20 3d 20 27 27 3b 0a 69 66 20 28 21 65 6d t'];.$this->branch.=.'';.if.(!em
ce1a0 70 74 79 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 27 5d 29 pty($this->repoConfig['branch'])
ce1c0 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 ).{.$this->branch.=.$this->repoC
ce1e0 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 27 5d 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 50 onfig['branch'];.}..$this->initP
ce200 65 72 66 6f 72 63 65 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 29 3b 0a 24 74 68 69 erforce($this->repoConfig);.$thi
ce220 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 70 34 4c 6f 67 69 6e 28 29 3b 0a 24 74 68 69 73 2d 3e 70 s->perforce->p4Login();.$this->p
ce240 65 72 66 6f 72 63 65 2d 3e 63 68 65 63 6b 53 74 72 65 61 6d 28 29 3b 0a 0a 24 74 68 69 73 2d 3e erforce->checkStream();..$this->
ce260 70 65 72 66 6f 72 63 65 2d 3e 77 72 69 74 65 50 34 43 6c 69 65 6e 74 53 70 65 63 28 29 3b 0a 24 perforce->writeP4ClientSpec();.$
ce280 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 63 6f 6e 6e 65 63 74 43 6c 69 65 6e 74 28 29 3b this->perforce->connectClient();
ce2a0 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 ..return.true;.}..private.functi
ce2c0 6f 6e 20 69 6e 69 74 50 65 72 66 6f 72 63 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 29 0a 7b 0a 69 on.initPerforce($repoConfig).{.i
ce2e0 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 29 29 20 7b 0a 72 65 f.(!empty($this->perforce)).{.re
ce300 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 43 61 63 68 65 3a 3a 69 73 55 73 61 62 6c 65 28 24 74 turn;.}..if.(!Cache::isUsable($t
ce320 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 his->config->get('cache-vcs-dir'
ce340 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f ))).{.throw.new.\RuntimeExceptio
ce360 6e 28 27 50 65 72 66 6f 72 63 65 44 72 69 76 65 72 20 72 65 71 75 69 72 65 73 20 61 20 75 73 61 n('PerforceDriver.requires.a.usa
ce380 62 6c 65 20 63 61 63 68 65 20 64 69 72 65 63 74 6f 72 79 2c 20 61 6e 64 20 69 74 20 6c 6f 6f 6b ble.cache.directory,.and.it.look
ce3a0 73 20 6c 69 6b 65 20 79 6f 75 20 73 65 74 20 69 74 20 74 6f 20 62 65 20 64 69 73 61 62 6c 65 64 s.like.you.set.it.to.be.disabled
ce3c0 27 29 3b 0a 7d 0a 0a 24 72 65 70 6f 44 69 72 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d ');.}..$repoDir.=.$this->config-
ce3e0 3e 67 65 74 28 27 63 61 63 68 65 2d 76 63 73 2d 64 69 72 27 29 20 2e 20 27 2f 27 20 2e 20 24 74 >get('cache-vcs-dir')...'/'...$t
ce400 68 69 73 2d 3e 64 65 70 6f 74 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 20 3d 20 50 65 his->depot;.$this->perforce.=.Pe
ce420 72 66 6f 72 63 65 3a 3a 63 72 65 61 74 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 74 68 69 rforce::create($repoConfig,.$thi
ce440 73 2d 3e 67 65 74 55 72 6c 28 29 2c 20 24 72 65 70 6f 44 69 72 2c 20 24 74 68 69 73 2d 3e 70 72 s->getUrl(),.$repoDir,.$this->pr
ce460 6f 63 65 73 73 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ocess,.$this->io);.}.....public.
ce480 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 function.getFileContent($file,.$
ce4a0 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 65 72 66 identifier).{.return.$this->perf
ce4c0 6f 72 63 65 2d 3e 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 orce->getFileContent($file,.$ide
ce4e0 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ntifier);.}.....public.function.
ce500 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 getChangeDate($identifier).{.ret
ce520 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 urn.null;.}.....public.function.
ce540 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 getRootIdentifier().{.return.$th
ce560 69 73 2d 3e 62 72 61 6e 63 68 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f is->branch;.}.....public.functio
ce580 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e n.getBranches().{.return.$this->
ce5a0 70 65 72 66 6f 72 63 65 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 perforce->getBranches();.}.....p
ce5c0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 72 65 74 75 72 ublic.function.getTags().{.retur
ce5e0 6e 20 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 67 65 74 54 61 67 73 28 29 3b 0a 7d 0a n.$this->perforce->getTags();.}.
ce600 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 ....public.function.getDist($ide
ce620 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 ntifier).{.return.null;.}.....pu
ce640 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 blic.function.getSource($identif
ce660 69 65 72 29 0a 7b 0a 24 73 6f 75 72 63 65 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d ier).{.$source.=.array(.'type'.=
ce680 3e 20 27 70 65 72 66 6f 72 63 65 27 2c 0a 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 2d 3e 72 65 >.'perforce',.'url'.=>.$this->re
ce6a0 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 2c 0a 27 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 poConfig['url'],.'reference'.=>.
ce6c0 24 69 64 65 6e 74 69 66 69 65 72 2c 0a 27 70 34 75 73 65 72 27 20 3d 3e 20 24 74 68 69 73 2d 3e $identifier,.'p4user'.=>.$this->
ce6e0 70 65 72 66 6f 72 63 65 2d 3e 67 65 74 55 73 65 72 28 29 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 perforce->getUser(),.);..return.
ce700 24 73 6f 75 72 63 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 $source;.}.....public.function.g
ce720 65 74 55 72 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 0a 0a etUrl().{.return.$this->url;.}..
ce740 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 43 6f 6d 70 6f 73 65 72 46 69 ...public.function.hasComposerFi
ce760 6c 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 49 6e 66 6f 20 le($identifier).{.$composerInfo.
ce780 3d 20 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e =.$this->perforce->getComposerIn
ce7a0 66 6f 72 6d 61 74 69 6f 6e 28 27 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 64 65 70 6f 74 20 2e 20 formation('//'...$this->depot...
ce7c0 27 2f 27 20 2e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 49 6e 66 '/'...$identifier);.$composerInf
ce7e0 6f 49 64 65 6e 74 69 66 69 65 72 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 72 65 74 75 oIdentifier.=.$identifier;..retu
ce800 72 6e 20 21 65 6d 70 74 79 28 24 63 6f 6d 70 6f 73 65 72 49 6e 66 6f 29 3b 0a 7d 0a 0a 0a 0a 0a rn.!empty($composerInfo);.}.....
ce820 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c public.function.getContents($url
ce840 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 ).{.return.false;.}.....public.s
ce860 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 tatic.function.supports(IOInterf
ce880 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 ace.$io,.Config.$config,.$url,.$
ce8a0 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 64 65 65 70 20 7c 7c 20 70 72 65 deep.=.false).{.if.($deep.||.pre
ce8c0 67 5f 6d 61 74 63 68 28 27 23 5c 62 28 70 65 72 66 6f 72 63 65 7c 70 34 29 5c 62 23 69 27 2c 20 g_match('#\b(perforce|p4)\b#i',.
ce8e0 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 50 65 72 66 6f 72 63 65 3a 3a 63 68 65 63 6b 53 $url)).{.return.Perforce::checkS
ce900 65 72 76 65 72 45 78 69 73 74 73 28 24 75 72 6c 2c 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 erverExists($url,.new.ProcessExe
ce920 63 75 74 6f 72 28 24 69 6f 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a cutor($io));.}..return.false;.}.
ce940 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 75 70 28 29 0a 7b 0a ....public.function.cleanup().{.
ce960 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 2d 3e 63 6c 65 61 6e 75 70 43 6c 69 65 6e 74 53 70 $this->perforce->cleanupClientSp
ce980 65 63 28 29 3b 0a 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 63 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a ec();.$this->perforce.=.null;.}.
ce9a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 70 6f 74 28 29 0a 7b 0a 72 65 .public.function.getDepot().{.re
ce9c0 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 70 6f 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e turn.$this->depot;.}..public.fun
ce9e0 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ction.getBranch().{.return.$this
cea00 2d 3e 62 72 61 6e 63 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e ->branch;.}.}.<?php............n
cea20 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 amespace.Composer\Repository\Vcs
cea40 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 6f 6d 70 6f ;..use.Composer\Cache;.use.Compo
cea60 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 ser\Config;.use.Composer\Json\Js
cea80 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f 63 65 73 onFile;.use.Composer\Util\Proces
ceaa0 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 46 69 6c sExecutor;.use.Composer\Util\Fil
ceac0 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 53 76 6e 20 61 esystem;.use.Composer\Util\Svn.a
ceae0 73 20 53 76 6e 55 74 69 6c 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 s.SvnUtil;.use.Composer\IO\IOInt
ceb00 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c erface;.use.Composer\Downloader\
ceb20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 TransportException;......class.S
ceb40 76 6e 44 72 69 76 65 72 20 65 78 74 65 6e 64 73 20 56 63 73 44 72 69 76 65 72 0a 7b 0a 0a 0a 0a vnDriver.extends.VcsDriver.{....
ceb60 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 61 73 protected.$cache;.protected.$bas
ceb80 65 55 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 3b 0a 70 72 6f 74 65 63 74 65 64 eUrl;.protected.$tags;.protected
ceba0 20 24 62 72 61 6e 63 68 65 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 6f 6f 74 49 64 65 6e 74 .$branches;.protected.$rootIdent
cebc0 69 66 69 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 68 65 20 3d 20 61 72 ifier;.protected.$infoCache.=.ar
cebe0 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 74 72 75 6e 6b 50 61 74 68 20 3d 20 27 ray();..protected.$trunkPath.=.'
cec00 74 72 75 6e 6b 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 6e 63 68 65 73 50 61 74 68 20 trunk';.protected.$branchesPath.
cec20 3d 20 27 62 72 61 6e 63 68 65 73 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 74 61 67 73 50 61 74 =.'branches';.protected.$tagsPat
cec40 68 20 3d 20 27 74 61 67 73 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 63 6b 61 67 65 50 61 h.=.'tags';.protected.$packagePa
cec60 74 68 20 3d 20 27 27 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 43 72 65 64 65 6e 74 th.=.'';.protected.$cacheCredent
cec80 69 61 6c 73 20 3d 20 74 72 75 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 75 74 69 6c 3b 0a ials.=.true;.....private.$util;.
ceca0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 ....public.function.initialize()
cecc0 0a 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 3d .{.$this->url.=.$this->baseUrl.=
cece0 20 72 74 72 69 6d 28 73 65 6c 66 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 55 72 6c 28 24 74 68 69 73 2d .rtrim(self::normalizeUrl($this-
ced00 3e 75 72 6c 29 2c 20 27 2f 27 29 3b 0a 0a 53 76 6e 55 74 69 6c 3a 3a 63 6c 65 61 6e 45 6e 76 28 >url),.'/');..SvnUtil::cleanEnv(
ced20 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b );..if.(isset($this->repoConfig[
ced40 27 74 72 75 6e 6b 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 74 72 75 6e 6b 50 61 'trunk-path'])).{.$this->trunkPa
ced60 74 68 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 74 72 75 6e 6b 2d 70 61 th.=.$this->repoConfig['trunk-pa
ced80 74 68 27 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e th'];.}.if.(isset($this->repoCon
ceda0 66 69 67 5b 27 62 72 61 6e 63 68 65 73 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e fig['branches-path'])).{.$this->
cedc0 62 72 61 6e 63 68 65 73 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 branchesPath.=.$this->repoConfig
cede0 5b 27 62 72 61 6e 63 68 65 73 2d 70 61 74 68 27 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 ['branches-path'];.}.if.(isset($
cee00 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 74 61 67 73 2d 70 61 74 68 27 5d 29 29 20 this->repoConfig['tags-path'])).
cee20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 {.$this->tagsPath.=.$this->repoC
cee40 6f 6e 66 69 67 5b 27 74 61 67 73 2d 70 61 74 68 27 5d 3b 0a 7d 0a 69 66 20 28 61 72 72 61 79 5f onfig['tags-path'];.}.if.(array_
cee60 6b 65 79 5f 65 78 69 73 74 73 28 27 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 6e 74 69 61 6c key_exists('svn-cache-credential
cee80 73 27 2c 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 29 29 20 7b 0a 24 74 68 69 73 2d s',.$this->repoConfig)).{.$this-
ceea0 3e 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 >cacheCredentials.=.(bool).$this
ceec0 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 6e 74 69 ->repoConfig['svn-cache-credenti
ceee0 61 6c 73 27 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f als'];.}.if.(isset($this->repoCo
cef00 6e 66 69 67 5b 27 70 61 63 6b 61 67 65 2d 70 61 74 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e nfig['package-path'])).{.$this->
cef20 70 61 63 6b 61 67 65 50 61 74 68 20 3d 20 27 2f 27 20 2e 20 74 72 69 6d 28 24 74 68 69 73 2d 3e packagePath.=.'/'...trim($this->
cef40 72 65 70 6f 43 6f 6e 66 69 67 5b 27 70 61 63 6b 61 67 65 2d 70 61 74 68 27 5d 2c 20 27 2f 27 29 repoConfig['package-path'],.'/')
cef60 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 70 6f 73 20 3d 20 73 74 72 72 70 ;.}..if.(false.!==.($pos.=.strrp
cef80 6f 73 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 74 72 75 6e os($this->url,.'/'...$this->trun
cefa0 6b 50 61 74 68 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 3d 20 73 75 62 73 kPath))).{.$this->baseUrl.=.subs
cefc0 74 72 28 24 74 68 69 73 2d 3e 75 72 6c 2c 20 30 2c 20 24 70 6f 73 29 3b 0a 7d 0a 0a 24 74 68 69 tr($this->url,.0,.$pos);.}..$thi
cefe0 73 2d 3e 63 61 63 68 65 20 3d 20 6e 65 77 20 43 61 63 68 65 28 24 74 68 69 73 2d 3e 69 6f 2c 20 s->cache.=.new.Cache($this->io,.
cf000 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 63 61 63 68 65 2d 72 65 70 6f 2d 64 $this->config->get('cache-repo-d
cf020 69 72 27 29 2e 27 2f 27 2e 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 ir').'/'.preg_replace('{[^a-z0-9
cf040 2e 5d 7d 69 27 2c 20 27 2d 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 29 29 3b 0a 0a 24 .]}i',.'-',.$this->baseUrl));..$
cf060 74 68 69 73 2d 3e 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 54 this->getBranches();.$this->getT
cf080 61 67 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ags();.}.....public.function.get
cf0a0 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d RootIdentifier().{.return.$this-
cf0c0 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3f 3a 20 24 74 68 69 73 2d 3e 74 72 75 6e 6b 50 >rootIdentifier.?:.$this->trunkP
cf0e0 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 ath;.}.....public.function.getUr
cf100 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 l().{.return.$this->url;.}.....p
cf120 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 ublic.function.getSource($identi
cf140 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 74 79 70 65 27 20 3d 3e 20 27 fier).{.return.array('type'.=>.'
cf160 73 76 6e 27 2c 20 27 75 72 6c 27 20 3d 3e 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 2c 20 27 svn',.'url'.=>.$this->baseUrl,.'
cf180 72 65 66 65 72 65 6e 63 65 27 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a reference'.=>.$identifier);.}...
cf1a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 ..public.function.getDist($ident
cf1c0 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 ifier).{.return.null;.}.....prot
cf1e0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e ected.function.shouldCache($iden
cf200 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 63 68 65 20 26 26 tifier).{.return.$this->cache.&&
cf220 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 40 5c 64 2b 24 7d 27 2c 20 24 69 64 65 6e 74 69 66 69 .preg_match('{@\d+$}',.$identifi
cf240 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f er);.}.....public.function.getCo
cf260 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b mposerInformation($identifier).{
cf280 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 .if.(!isset($this->infoCache[$id
cf2a0 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 entifier])).{.if.($this->shouldC
cf2c0 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 20 26 26 20 24 72 65 73 20 3d 20 24 74 68 69 ache($identifier).&&.$res.=.$thi
cf2e0 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 69 64 65 6e 74 69 66 69 65 72 2e 27 2e 6a 73 6f s->cache->read($identifier.'.jso
cf300 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 n')).{.return.$this->infoCache[$
cf320 69 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f identifier].=.JsonFile::parseJso
cf340 6e 28 24 72 65 73 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 n($res);.}..try.{.$composer.=.$t
cf360 68 69 73 2d 3e 67 65 74 42 61 73 65 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 his->getBaseComposerInformation(
cf380 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 $identifier);.}.catch.(Transport
cf3a0 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 65 2d 3e 67 Exception.$e).{.$message.=.$e->g
cf3c0 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 69 66 20 28 73 74 72 69 70 6f 73 28 24 6d 65 73 73 61 67 etMessage();.if.(stripos($messag
cf3e0 65 2c 20 27 70 61 74 68 20 6e 6f 74 20 66 6f 75 6e 64 27 29 20 3d 3d 3d 20 66 61 6c 73 65 20 26 e,.'path.not.found').===.false.&
cf400 26 20 73 74 72 69 70 6f 73 28 24 6d 65 73 73 61 67 65 2c 20 27 73 76 6e 3a 20 77 61 72 6e 69 6e &.stripos($message,.'svn:.warnin
cf420 67 3a 20 57 31 36 30 30 31 33 27 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 74 68 72 6f 77 20 g:.W160013').===.false).{.throw.
cf440 24 65 3b 0a 7d 0a 0a 20 24 63 6f 6d 70 6f 73 65 72 20 3d 20 27 27 3b 0a 7d 0a 0a 69 66 20 28 24 $e;.}...$composer.=.'';.}..if.($
cf460 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 this->shouldCache($identifier)).
cf480 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 77 72 69 74 65 28 24 69 64 65 6e 74 69 66 69 65 {.$this->cache->write($identifie
cf4a0 72 2e 27 2e 6a 73 6f 6e 27 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 72 r.'.json',.json_encode($composer
cf4c0 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 ));.}..$this->infoCache[$identif
cf4e0 69 65 72 5d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 ier].=.$composer;.}..return.$thi
cf500 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 3b 0a 7d 0a 0a 0a 0a s->infoCache[$identifier];.}....
cf520 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 ..public.function.getFileContent
cf540 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 69 64 65 6e 74 69 66 69 ($file,.$identifier).{.$identifi
cf560 65 72 20 3d 20 27 2f 27 20 2e 20 74 72 69 6d 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 2f 27 er.=.'/'...trim($identifier,.'/'
cf580 29 20 2e 20 27 2f 27 3b 0a 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 2e 2b 3f 29 28 40 5c )...'/';..preg_match('{^(.+?)(@\
cf5a0 64 2b 29 3f 2f 24 7d 27 2c 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 6d 61 74 63 68 29 3b 0a d+)?/$}',.$identifier,.$match);.
cf5c0 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a 24 70 61 74 68 20 3d if.(!empty($match[2])).{.$path.=
cf5e0 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 72 65 76 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 20 .$match[1];.$rev.=.$match[2];.}.
cf600 65 6c 73 65 20 7b 0a 24 70 61 74 68 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 24 72 65 76 else.{.$path.=.$identifier;.$rev
cf620 20 3d 20 27 27 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 72 65 73 6f 75 72 63 65 20 3d 20 24 70 61 74 .=.'';.}..try.{.$resource.=.$pat
cf640 68 2e 24 66 69 6c 65 3b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 h.$file;.$output.=.$this->execut
cf660 65 28 27 73 76 6e 20 63 61 74 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 24 72 e('svn.cat',.$this->baseUrl...$r
cf680 65 73 6f 75 72 63 65 20 2e 20 24 72 65 76 29 3b 0a 69 66 20 28 21 74 72 69 6d 28 24 6f 75 74 70 esource...$rev);.if.(!trim($outp
cf6a0 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c ut)).{.return.null;.}.}.catch.(\
cf6c0 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 RuntimeException.$e).{.throw.new
cf6e0 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 .TransportException($e->getMessa
cf700 67 65 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a ge());.}..return.$output;.}.....
cf720 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 public.function.getChangeDate($i
cf740 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 69 64 65 6e 74 69 66 69 65 72 20 3d 20 27 2f 27 20 2e dentifier).{.$identifier.=.'/'..
cf760 20 74 72 69 6d 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 27 2f 27 29 20 2e 20 27 2f 27 3b 0a 0a .trim($identifier,.'/')...'/';..
cf780 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 2e 2b 3f 29 28 40 5c 64 2b 29 3f 2f 24 7d 27 2c 20 preg_match('{^(.+?)(@\d+)?/$}',.
cf7a0 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 6d 61 74 63 68 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 $identifier,.$match);.if.(!empty
cf7c0 28 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 6d 61 74 63 68 5b 31 5d ($match[2])).{.$path.=.$match[1]
cf7e0 3b 0a 24 72 65 76 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 ;.$rev.=.$match[2];.}.else.{.$pa
cf800 74 68 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 24 72 65 76 20 3d 20 27 27 3b 0a 7d 0a 0a th.=.$identifier;.$rev.=.'';.}..
cf820 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 69 6e $output.=.$this->execute('svn.in
cf840 66 6f 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 24 70 61 74 68 20 2e 20 24 72 fo',.$this->baseUrl...$path...$r
cf860 65 76 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 ev);.foreach.($this->process->sp
cf880 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 69 66 litLines($output).as.$line).{.if
cf8a0 20 28 24 6c 69 6e 65 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 4c 61 73 74 20 43 68 .($line.&&.preg_match('{^Last.Ch
cf8c0 61 6e 67 65 64 20 44 61 74 65 3a 20 28 5b 5e 28 5d 2b 29 7d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d anged.Date:.([^(]+)}',.$line,.$m
cf8e0 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 28 24 6d atch)).{.return.new.\DateTime($m
cf900 61 74 63 68 5b 31 5d 2c 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 atch[1],.new.\DateTimeZone('UTC'
cf920 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ));.}.}..return.null;.}.....publ
cf940 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c ic.function.getTags().{.if.(null
cf960 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 61 67 73 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 20 .===.$this->tags).{.$this->tags.
cf980 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 74 61 67 73 50 61 74 68 20 =.array();..if.($this->tagsPath.
cf9a0 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 65 78 !==.false).{.$output.=.$this->ex
cf9c0 65 63 75 74 65 28 27 73 76 6e 20 6c 73 20 2d 2d 76 65 72 62 6f 73 65 27 2c 20 24 74 68 69 73 2d ecute('svn.ls.--verbose',.$this-
cf9e0 3e 62 61 73 65 55 72 6c 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 74 61 67 73 50 61 74 68 >baseUrl...'/'...$this->tagsPath
cfa00 29 3b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 );.if.($output).{.foreach.($this
cfa20 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 61 ->process->splitLines($output).a
cfa40 73 20 24 6c 69 6e 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 74 72 69 6d 28 24 6c 69 6e 65 29 3b 0a s.$line).{.$line.=.trim($line);.
cfa60 69 66 20 28 24 6c 69 6e 65 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a 28 5c if.($line.&&.preg_match('{^\s*(\
cfa80 53 2b 29 2e 2a 3f 28 5c 53 2b 29 5c 73 2a 24 7d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 68 S+).*?(\S+)\s*$}',.$line,.$match
cfaa0 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 20 69 73 73 )).{.if.(isset($match[1]).&&.iss
cfac0 65 74 28 24 6d 61 74 63 68 5b 32 5d 29 20 26 26 20 24 6d 61 74 63 68 5b 32 5d 20 21 3d 3d 20 27 et($match[2]).&&.$match[2].!==.'
cfae0 2e 2f 27 29 20 7b 0a 24 74 68 69 73 2d 3e 74 61 67 73 5b 72 74 72 69 6d 28 24 6d 61 74 63 68 5b ./').{.$this->tags[rtrim($match[
cfb00 32 5d 2c 20 27 2f 27 29 5d 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 49 64 65 6e 74 69 66 69 2],.'/')].=.$this->buildIdentifi
cfb20 65 72 28 0a 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 74 61 67 73 50 61 74 68 20 2e 20 27 2f 27 20 er(.'/'...$this->tagsPath...'/'.
cfb40 2e 20 24 6d 61 74 63 68 5b 32 5d 2c 0a 24 6d 61 74 63 68 5b 31 5d 0a 29 3b 0a 7d 0a 7d 0a 7d 0a ..$match[2],.$match[1].);.}.}.}.
cfb60 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 67 73 3b 0a 7d 0a 0a 0a 0a }.}.}..return.$this->tags;.}....
cfb80 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b .public.function.getBranches().{
cfba0 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 29 20 7b .if.(null.===.$this->branches).{
cfbc0 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 .$this->branches.=.array();..if.
cfbe0 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 72 75 6e 6b 50 61 74 68 29 20 7b 0a 24 (false.===.$this->trunkPath).{.$
cfc00 74 72 75 6e 6b 50 61 72 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 27 trunkParent.=.$this->baseUrl...'
cfc20 2f 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 72 75 6e 6b 50 61 72 65 6e 74 20 3d 20 24 74 68 69 /';.}.else.{.$trunkParent.=.$thi
cfc40 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 74 72 75 6e 6b 50 s->baseUrl...'/'...$this->trunkP
cfc60 61 74 68 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 ath;.}..$output.=.$this->execute
cfc80 28 27 73 76 6e 20 6c 73 20 2d 2d 76 65 72 62 6f 73 65 27 2c 20 24 74 72 75 6e 6b 50 61 72 65 6e ('svn.ls.--verbose',.$trunkParen
cfca0 74 29 3b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 t);.if.($output).{.foreach.($thi
cfcc0 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 6e 65 73 28 24 6f 75 74 70 75 74 29 20 s->process->splitLines($output).
cfce0 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 74 72 69 6d 28 24 6c 69 6e 65 29 3b as.$line).{.$line.=.trim($line);
cfd00 0a 69 66 20 28 24 6c 69 6e 65 20 26 26 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a 28 .if.($line.&&.preg_match('{^\s*(
cfd20 5c 53 2b 29 2e 2a 3f 28 5c 53 2b 29 5c 73 2a 24 7d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 \S+).*?(\S+)\s*$}',.$line,.$matc
cfd40 68 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 20 69 73 h)).{.if.(isset($match[1]).&&.is
cfd60 73 65 74 28 24 6d 61 74 63 68 5b 32 5d 29 20 26 26 20 24 6d 61 74 63 68 5b 32 5d 20 3d 3d 3d 20 set($match[2]).&&.$match[2].===.
cfd80 27 2e 2f 27 29 20 7b 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 5b 27 74 72 75 6e 6b 27 5d './').{.$this->branches['trunk']
cfda0 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 49 64 65 6e 74 69 66 69 65 72 28 0a 27 2f 27 20 2e .=.$this->buildIdentifier(.'/'..
cfdc0 20 24 74 68 69 73 2d 3e 74 72 75 6e 6b 50 61 74 68 2c 0a 24 6d 61 74 63 68 5b 31 5d 0a 29 3b 0a .$this->trunkPath,.$match[1].);.
cfde0 24 74 68 69 73 2d 3e 72 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 20 3d 20 24 74 68 69 73 2d 3e 62 $this->rootIdentifier.=.$this->b
cfe00 72 61 6e 63 68 65 73 5b 27 74 72 75 6e 6b 27 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 7d ranches['trunk'];.break;.}.}.}.}
cfe20 0a 75 6e 73 65 74 28 24 6f 75 74 70 75 74 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 62 72 61 .unset($output);..if.($this->bra
cfe40 6e 63 68 65 73 50 61 74 68 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d nchesPath.!==.false).{.$output.=
cfe60 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 28 27 73 76 6e 20 6c 73 20 2d 2d 76 65 72 62 6f 73 .$this->execute('svn.ls.--verbos
cfe80 65 27 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 e',.$this->baseUrl...'/'...$this
cfea0 2d 3e 62 72 61 6e 63 68 65 73 50 61 74 68 29 3b 0a 69 66 20 28 24 6f 75 74 70 75 74 29 20 7b 0a ->branchesPath);.if.($output).{.
cfec0 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 73 70 6c 69 74 4c 69 foreach.($this->process->splitLi
cfee0 6e 65 73 28 74 72 69 6d 28 24 6f 75 74 70 75 74 29 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 nes(trim($output)).as.$line).{.$
cff00 6c 69 6e 65 20 3d 20 74 72 69 6d 28 24 6c 69 6e 65 29 3b 0a 69 66 20 28 24 6c 69 6e 65 20 26 26 line.=.trim($line);.if.($line.&&
cff20 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 73 2a 28 5c 53 2b 29 2e 2a 3f 28 5c 53 2b 29 5c .preg_match('{^\s*(\S+).*?(\S+)\
cff40 73 2a 24 7d 27 2c 20 24 6c 69 6e 65 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 69 66 20 28 69 73 73 s*$}',.$line,.$match)).{.if.(iss
cff60 65 74 28 24 6d 61 74 63 68 5b 31 5d 29 20 26 26 20 69 73 73 65 74 28 24 6d 61 74 63 68 5b 32 5d et($match[1]).&&.isset($match[2]
cff80 29 20 26 26 20 24 6d 61 74 63 68 5b 32 5d 20 21 3d 3d 20 27 2e 2f 27 29 20 7b 0a 24 74 68 69 73 ).&&.$match[2].!==.'./').{.$this
cffa0 2d 3e 62 72 61 6e 63 68 65 73 5b 72 74 72 69 6d 28 24 6d 61 74 63 68 5b 32 5d 2c 20 27 2f 27 29 ->branches[rtrim($match[2],.'/')
cffc0 5d 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 49 64 65 6e 74 69 66 69 65 72 28 0a 27 2f 27 20 ].=.$this->buildIdentifier(.'/'.
cffe0 2e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 50 61 74 68 20 2e 20 27 2f 27 20 2e 20 24 6d ..$this->branchesPath...'/'...$m
d0000 61 74 63 68 5b 32 5d 2c 0a 24 6d 61 74 63 68 5b 31 5d 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a atch[2],.$match[1].);.}.}.}.}.}.
d0020 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 0a 0a }..return.$this->branches;.}....
d0040 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 .public.static.function.supports
d0060 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 (IOInterface.$io,.Config.$config
d0080 2c 20 24 75 72 6c 2c 20 24 64 65 65 70 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 75 72 6c 20 3d 20 ,.$url,.$deep.=.false).{.$url.=.
d00a0 73 65 6c 66 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 55 72 6c 28 24 75 72 6c 29 3b 0a 69 66 20 28 70 72 self::normalizeUrl($url);.if.(pr
d00c0 65 67 5f 6d 61 74 63 68 28 27 23 28 5e 73 76 6e 3a 2f 2f 7c 5e 73 76 6e 5c 2b 73 73 68 3a 2f 2f eg_match('#(^svn://|^svn\+ssh://
d00e0 7c 73 76 6e 5c 2e 29 23 69 27 2c 20 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 |svn\.)#i',.$url)).{.return.true
d0100 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 64 65 65 70 20 26 26 20 21 46 69 6c 65 73 79 73 74 65 6d ;.}....if.(!$deep.&&.!Filesystem
d0120 3a 3a 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 75 72 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 ::isLocalPath($url)).{.return.fa
d0140 6c 73 65 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 3d 20 6e 65 77 20 50 lse;.}..$processExecutor.=.new.P
d0160 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 0a 24 65 78 69 74 20 3d 20 24 70 rocessExecutor($io);..$exit.=.$p
d0180 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 65 78 65 63 75 74 65 28 0a 22 73 76 6e 20 69 6e rocessExecutor->execute(."svn.in
d01a0 66 6f 20 2d 2d 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 20 22 2e 50 72 6f 63 65 73 73 45 78 fo.--non-interactive.".ProcessEx
d01c0 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 0a 24 69 67 6e 6f 72 65 64 4f 75 ecutor::escape($url),.$ignoredOu
d01e0 74 70 75 74 0a 29 3b 0a 0a 69 66 20 28 24 65 78 69 74 20 3d 3d 3d 20 30 29 20 7b 0a 0a 20 72 65 tput.);..if.($exit.===.0).{...re
d0200 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 turn.true;.}....if.(false.!==.st
d0220 72 69 70 6f 73 28 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 ripos($processExecutor->getError
d0240 4f 75 74 70 75 74 28 29 2c 20 27 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 66 61 69 6c 65 64 3a Output(),.'authorization.failed:
d0260 27 29 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 ')).{.....return.true;.}....if.(
d0280 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 69 70 6f 73 28 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 false.!==.stripos($processExecut
d02a0 6f 72 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 2c 20 27 41 75 74 68 65 6e 74 69 63 or->getErrorOutput(),.'Authentic
d02c0 61 74 69 6f 6e 20 66 61 69 6c 65 64 27 29 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 74 72 75 ation.failed')).{.....return.tru
d02e0 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 e;.}..return.false;.}.........pr
d0300 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a otected.static.function.normaliz
d0320 65 55 72 6c 28 24 75 72 6c 29 0a 7b 0a 24 66 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 eUrl($url).{.$fs.=.new.Filesyste
d0340 6d 28 29 3b 0a 69 66 20 28 24 66 73 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 75 72 m();.if.($fs->isAbsolutePath($ur
d0360 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 73 74 72 74 72 28 24 l)).{.return.'file://'...strtr($
d0380 75 72 6c 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 6c 3b url,.'\\',.'/');.}..return.$url;
d03a0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 .}...........protected.function.
d03c0 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 29 0a 7b 0a 69 66 20 28 6e 75 execute($command,.$url).{.if.(nu
d03e0 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 75 74 69 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 75 74 69 ll.===.$this->util).{.$this->uti
d0400 6c 20 3d 20 6e 65 77 20 53 76 6e 55 74 69 6c 28 24 74 68 69 73 2d 3e 62 61 73 65 55 72 6c 2c 20 l.=.new.SvnUtil($this->baseUrl,.
d0420 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d $this->io,.$this->config,.$this-
d0440 3e 70 72 6f 63 65 73 73 29 3b 0a 24 74 68 69 73 2d 3e 75 74 69 6c 2d 3e 73 65 74 43 61 63 68 65 >process);.$this->util->setCache
d0460 43 72 65 64 65 6e 74 69 61 6c 73 28 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 65 64 65 6e 74 69 Credentials($this->cacheCredenti
d0480 61 6c 73 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 74 69 als);.}..try.{.return.$this->uti
d04a0 6c 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 72 6c 29 3b 0a 7d 20 63 61 l->execute($command,.$url);.}.ca
d04c0 74 63 68 20 28 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 tch.(\RuntimeException.$e).{.if.
d04e0 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 75 74 69 6c 2d 3e 62 69 6e 61 72 79 56 65 72 (null.===.$this->util->binaryVer
d0500 73 69 6f 6e 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 sion()).{.throw.new.\RuntimeExce
d0520 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 6c 6f 61 64 20 27 2e 24 74 68 69 73 2d 3e 75 ption('Failed.to.load.'.$this->u
d0540 72 6c 2e 27 2c 20 73 76 6e 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 63 68 65 63 6b 20 74 rl.',.svn.was.not.found,.check.t
d0560 68 61 74 20 69 74 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 61 6e 64 20 69 6e 20 79 6f 75 72 20 hat.it.is.installed.and.in.your.
d0580 50 41 54 48 20 65 6e 76 2e 27 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f PATH.env.'..."\n\n"...$this->pro
d05a0 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 0a 0a 74 68 72 6f cess->getErrorOutput());.}..thro
d05c0 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 52 65 70 6f 73 69 w.new.\RuntimeException(.'Reposi
d05e0 74 6f 72 79 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 tory.'.$this->url.'.could.not.be
d0600 20 70 72 6f 63 65 73 73 65 64 2c 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 0a 29 .processed,.'.$e->getMessage().)
d0620 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f ;.}.}..........protected.functio
d0640 6e 20 62 75 69 6c 64 49 64 65 6e 74 69 66 69 65 72 28 24 62 61 73 65 44 69 72 2c 20 24 72 65 76 n.buildIdentifier($baseDir,.$rev
d0660 69 73 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 62 61 73 65 44 69 72 2c 20 ision).{.return.rtrim($baseDir,.
d0680 27 2f 27 29 20 2e 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 50 61 74 68 20 2e 20 27 2f 40 27 '/')...$this->packagePath...'/@'
d06a0 20 2e 20 24 72 65 76 69 73 69 6f 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ...$revision;.}.}.<?php.........
d06c0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 ...namespace.Composer\Repository
d06e0 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 63 68 65 3b 0a 75 73 65 20 43 \Vcs;..use.Composer\Cache;.use.C
d0700 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 omposer\Downloader\TransportExce
d0720 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 ption;.use.Composer\Config;.use.
d0740 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 Composer\Factory;.use.Composer\I
d0760 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e O\IOInterface;.use.Composer\Json
d0780 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 50 72 6f \JsonFile;.use.Composer\Util\Pro
d07a0 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c cessExecutor;.use.Composer\Util\
d07c0 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 RemoteFilesystem;.use.Composer\U
d07e0 74 69 6c 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 til\Filesystem;.......abstract.c
d0800 6c 61 73 73 20 56 63 73 44 72 69 76 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 56 63 73 44 72 69 lass.VcsDriver.implements.VcsDri
d0820 76 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 6c 3b 0a verInterface.{..protected.$url;.
d0840 0a 70 72 6f 74 65 63 74 65 64 20 24 6f 72 69 67 69 6e 55 72 6c 3b 0a 0a 70 72 6f 74 65 63 74 65 .protected.$originUrl;..protecte
d0860 64 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a d.$repoConfig;..protected.$io;..
d0880 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 protected.$config;..protected.$p
d08a0 72 6f 63 65 73 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 rocess;..protected.$remoteFilesy
d08c0 73 74 65 6d 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 66 6f 43 61 63 68 65 20 3d 20 61 72 stem;..protected.$infoCache.=.ar
d08e0 72 61 79 28 29 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 3b 0a 0a 0a 0a 0a 0a 0a ray();..protected.$cache;.......
d0900 0a 0a 0a 0a 66 69 6e 61 6c 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 ....final.public.function.__cons
d0920 74 72 75 63 74 28 61 72 72 61 79 20 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 6e 74 65 72 truct(array.$repoConfig,.IOInter
d0940 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 face.$io,.Config.$config,.Proces
d0960 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 sExecutor.$process.=.null,.Remot
d0980 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 eFilesystem.$remoteFilesystem.=.
d09a0 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 46 69 6c 65 73 79 73 74 65 6d 3a 3a 69 73 4c 6f 63 61 6c 50 null).{.if.(Filesystem::isLocalP
d09c0 61 74 68 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 29 20 7b 0a 24 72 65 70 6f ath($repoConfig['url'])).{.$repo
d09e0 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 20 3d 20 46 69 6c 65 73 79 73 74 65 6d 3a 3a 67 65 74 50 Config['url'].=.Filesystem::getP
d0a00 6c 61 74 66 6f 72 6d 50 61 74 68 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 29 3b latformPath($repoConfig['url']);
d0a20 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 .}..$this->url.=.$repoConfig['ur
d0a40 6c 27 5d 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 20 24 72 65 70 6f 43 6f 6e l'];.$this->originUrl.=.$repoCon
d0a60 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 20 3d 20 fig['url'];.$this->repoConfig.=.
d0a80 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 $repoConfig;.$this->io.=.$io;.$t
d0aa0 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 his->config.=.$config;.$this->pr
d0ac0 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 ocess.=.$process.?:.new.ProcessE
d0ae0 78 65 63 75 74 6f 72 28 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 xecutor($io);.$this->remoteFiles
d0b00 79 73 74 65 6d 20 3d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 46 61 63 ystem.=.$remoteFilesystem.?:.Fac
d0b20 74 6f 72 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 tory::createRemoteFilesystem($th
d0b40 69 73 2d 3e 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 is->io,.$config);.}........prote
d0b60 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 cted.function.shouldCache($ident
d0b80 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 63 68 65 20 26 26 20 ifier).{.return.$this->cache.&&.
d0ba0 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5b 61 2d 66 30 2d 39 5d 7b 34 30 7d 7d 69 27 2c 20 24 69 preg_match('{[a-f0-9]{40}}i',.$i
d0bc0 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f dentifier);.}.....public.functio
d0be0 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 n.getComposerInformation($identi
d0c00 66 69 65 72 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 fier).{.if.(!isset($this->infoCa
d0c20 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e che[$identifier])).{.if.($this->
d0c40 73 68 6f 75 6c 64 43 61 63 68 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 20 26 26 20 24 72 65 73 shouldCache($identifier).&&.$res
d0c60 20 3d 20 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 72 65 61 64 28 24 69 64 65 6e 74 69 66 69 65 .=.$this->cache->read($identifie
d0c80 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 r)).{.return.$this->infoCache[$i
d0ca0 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e dentifier].=.JsonFile::parseJson
d0cc0 28 24 72 65 73 29 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 ($res);.}..$composer.=.$this->ge
d0ce0 74 42 61 73 65 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 tBaseComposerInformation($identi
d0d00 66 69 65 72 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 43 61 63 68 65 28 24 fier);..if.($this->shouldCache($
d0d20 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 2d 3e 77 72 69 identifier)).{.$this->cache->wri
d0d40 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 63 6f 6d te($identifier,.json_encode($com
d0d60 70 6f 73 65 72 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 poser));.}..$this->infoCache[$id
d0d80 65 6e 74 69 66 69 65 72 5d 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e entifier].=.$composer;.}..return
d0da0 20 24 74 68 69 73 2d 3e 69 6e 66 6f 43 61 63 68 65 5b 24 69 64 65 6e 74 69 66 69 65 72 5d 3b 0a .$this->infoCache[$identifier];.
d0dc0 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 61 73 65 43 6f 6d }..protected.function.getBaseCom
d0de0 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a poserInformation($identifier).{.
d0e00 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 $composerFileContent.=.$this->ge
d0e20 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 2c 20 24 69 tFileContent('composer.json',.$i
d0e40 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 21 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 dentifier);..if.(!$composerFileC
d0e60 6f 6e 74 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 6f 6d 70 6f ontent).{.return.null;.}..$compo
d0e80 73 65 72 20 3d 20 4a 73 6f 6e 46 69 6c 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 63 6f 6d 70 6f ser.=.JsonFile::parseJson($compo
d0ea0 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 2c 20 24 69 64 65 6e 74 69 66 69 65 72 20 2e 20 27 3a serFileContent,.$identifier...':
d0ec0 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 63 6f 6d composer.json');..if.(empty($com
d0ee0 70 6f 73 65 72 5b 27 74 69 6d 65 27 5d 29 20 26 26 20 24 63 68 61 6e 67 65 44 61 74 65 20 3d 20 poser['time']).&&.$changeDate.=.
d0f00 24 74 68 69 73 2d 3e 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 24 69 64 65 6e 74 69 66 69 65 72 $this->getChangeDate($identifier
d0f20 29 29 20 7b 0a 24 63 6f 6d 70 6f 73 65 72 5b 27 74 69 6d 65 27 5d 20 3d 20 24 63 68 61 6e 67 65 )).{.$composer['time'].=.$change
d0f40 44 61 74 65 2d 3e 66 6f 72 6d 61 74 28 44 41 54 45 5f 52 46 43 33 33 33 39 29 3b 0a 7d 0a 0a 72 Date->format(DATE_RFC3339);.}..r
d0f60 65 74 75 72 6e 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 eturn.$composer;.}.....public.fu
d0f80 6e 63 74 69 6f 6e 20 68 61 73 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 24 69 64 65 6e 74 69 66 69 nction.hasComposerFile($identifi
d0fa0 65 72 29 0a 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d er).{.try.{.return.(bool).$this-
d0fc0 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 >getComposerInformation($identif
d0fe0 69 65 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f ier);.}.catch.(TransportExceptio
d1000 6e 20 24 65 29 20 7b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a n.$e).{.}..return.false;.}......
d1020 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 68 65 6d 65 28 ...protected.function.getScheme(
d1040 29 0a 7b 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 ).{.if.(extension_loaded('openss
d1060 6c 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 68 74 74 70 73 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e l')).{.return.'https';.}..return
d1080 20 27 68 74 74 70 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e .'http';.}.........protected.fun
d10a0 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 75 72 6c 29 0a 7b 0a 24 6f 70 74 69 6f ction.getContents($url).{.$optio
d10c0 6e 73 20 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6f 70 ns.=.isset($this->repoConfig['op
d10e0 74 69 6f 6e 73 27 5d 29 20 3f 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 5b 27 6f 70 tions']).?.$this->repoConfig['op
d1100 74 69 6f 6e 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 tions'].:.array();..return.$this
d1120 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 ->remoteFilesystem->getContents(
d1140 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 75 72 6c 2c 20 66 61 6c 73 65 2c 20 24 $this->originUrl,.$url,.false,.$
d1160 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 options);.}.....public.function.
d1180 63 6c 65 61 6e 75 70 28 29 0a 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a cleanup().{.return;.}.}.<?php...
d11a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f .........namespace.Composer\Repo
d11c0 73 69 74 6f 72 79 5c 56 63 73 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 sitory\Vcs;..use.Composer\Config
d11e0 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a ;.use.Composer\IO\IOInterface;..
d1200 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 56 63 73 44 72 69 76 65 72 49 6e 74 65 72 66 61 63 65 0a ...interface.VcsDriverInterface.
d1220 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 {....public.function.initialize(
d1240 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d );........public.function.getCom
d1260 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a poserInformation($identifier);..
d1280 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 43 6f .......public.function.getFileCo
d12a0 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 0a ntent($file,.$identifier);......
d12c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 44 61 74 65 28 ..public.function.getChangeDate(
d12e0 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 $identifier);.......public.funct
d1300 69 6f 6e 20 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 ion.getRootIdentifier();.......p
d1320 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 0a 0a ublic.function.getBranches();...
d1340 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 3b 0a 0a ....public.function.getTags();..
d1360 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 74 28 24 69 64 65 ....public.function.getDist($ide
d1380 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 ntifier);......public.function.g
d13a0 65 74 53 6f 75 72 63 65 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 etSource($identifier);.......pub
d13c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 lic.function.getUrl();.........p
d13e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 43 6f 6d 70 6f 73 65 72 46 69 6c 65 28 24 ublic.function.hasComposerFile($
d1400 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e identifier);.....public.function
d1420 20 63 6c 65 61 6e 75 70 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 .cleanup();...........public.sta
d1440 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 28 49 4f 49 6e 74 65 72 66 61 63 tic.function.supports(IOInterfac
d1460 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 64 65 e.$io,.Config.$config,.$url,.$de
d1480 65 70 20 3d 20 66 61 6c 73 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ep.=.false);.}.<?php............
d14a0 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a namespace.Composer\Repository;..
d14c0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 use.Composer\Downloader\Transpor
d14e0 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 tException;.use.Composer\Reposit
d1500 6f 72 79 5c 56 63 73 5c 56 63 73 44 72 69 76 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 ory\Vcs\VcsDriverInterface;.use.
d1520 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f 6e Composer\Package\Version\Version
d1540 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 Parser;.use.Composer\Package\Loa
d1560 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 der\ArrayLoader;.use.Composer\Pa
d1580 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 ckage\Loader\ValidatingArrayLoad
d15a0 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c er;.use.Composer\Package\Loader\
d15c0 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d InvalidPackageException;.use.Com
d15e0 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 4c 6f 61 64 65 72 49 6e 74 65 72 poser\Package\Loader\LoaderInter
d1600 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 face;.use.Composer\EventDispatch
d1620 65 72 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 er\EventDispatcher;.use.Composer
d1640 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f \IO\IOInterface;.use.Composer\Co
d1660 6e 66 69 67 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 63 73 52 65 70 6f 73 69 74 6f 72 79 20 65 78 nfig;.....class.VcsRepository.ex
d1680 74 65 6e 64 73 20 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 tends.ArrayRepository.implements
d16a0 20 43 6f 6e 66 69 67 75 72 61 62 6c 65 52 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 .ConfigurableRepositoryInterface
d16c0 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 6c 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 .{.protected.$url;.protected.$pa
d16e0 63 6b 61 67 65 4e 61 6d 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 73 56 65 72 62 6f 73 65 3b ckageName;.protected.$isVerbose;
d1700 0a 70 72 6f 74 65 63 74 65 64 20 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 3b 0a 70 72 6f 74 65 .protected.$isVeryVerbose;.prote
d1720 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 70 72 6f cted.$io;.protected.$config;.pro
d1740 74 65 63 74 65 64 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 tected.$versionParser;.protected
d1760 20 24 74 79 70 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 61 64 65 72 3b 0a 70 72 6f 74 65 .$type;.protected.$loader;.prote
d1780 63 74 65 64 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 62 72 61 cted.$repoConfig;.protected.$bra
d17a0 6e 63 68 45 72 72 6f 72 4f 63 63 75 72 72 65 64 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 nchErrorOccurred.=.false;.privat
d17c0 65 20 24 64 72 69 76 65 72 73 3b 0a 0a 70 72 69 76 61 74 65 20 24 64 72 69 76 65 72 3b 0a 0a 70 e.$drivers;..private.$driver;..p
d17e0 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 43 61 63 68 65 3b 0a 70 72 69 76 61 74 65 20 24 65 rivate.$versionCache;.private.$e
d1800 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 mptyReferences.=.array();..publi
d1820 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 72 65 c.function.__construct(array.$re
d1840 70 6f 43 6f 6e 66 69 67 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 poConfig,.IOInterface.$io,.Confi
d1860 67 20 24 63 6f 6e 66 69 67 2c 20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 20 24 64 69 73 70 g.$config,.EventDispatcher.$disp
d1880 61 74 63 68 65 72 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 64 72 69 76 65 72 73 20 3d 20 atcher.=.null,.array.$drivers.=.
d18a0 6e 75 6c 6c 2c 20 56 65 72 73 69 6f 6e 43 61 63 68 65 49 6e 74 65 72 66 61 63 65 20 24 76 65 72 null,.VersionCacheInterface.$ver
d18c0 73 69 6f 6e 43 61 63 68 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f sionCache.=.null).{.parent::__co
d18e0 6e 73 74 72 75 63 74 28 29 3b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 73 20 3d 20 24 64 72 69 nstruct();.$this->drivers.=.$dri
d1900 76 65 72 73 20 3f 3a 20 61 72 72 61 79 28 0a 27 67 69 74 68 75 62 27 20 3d 3e 20 27 43 6f 6d 70 vers.?:.array(.'github'.=>.'Comp
d1920 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 47 69 74 48 75 62 44 72 69 76 65 72 oser\Repository\Vcs\GitHubDriver
d1940 27 2c 0a 27 67 69 74 6c 61 62 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 ',.'gitlab'.=>.'Composer\Reposit
d1960 6f 72 79 5c 56 63 73 5c 47 69 74 4c 61 62 44 72 69 76 65 72 27 2c 0a 27 67 69 74 2d 62 69 74 62 ory\Vcs\GitLabDriver',.'git-bitb
d1980 75 63 6b 65 74 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 ucket'.=>.'Composer\Repository\V
d19a0 63 73 5c 47 69 74 42 69 74 62 75 63 6b 65 74 44 72 69 76 65 72 27 2c 0a 27 67 69 74 27 20 3d 3e cs\GitBitbucketDriver',.'git'.=>
d19c0 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 47 69 74 44 72 69 .'Composer\Repository\Vcs\GitDri
d19e0 76 65 72 27 2c 0a 27 68 67 2d 62 69 74 62 75 63 6b 65 74 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 ver',.'hg-bitbucket'.=>.'Compose
d1a00 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 48 67 42 69 74 62 75 63 6b 65 74 44 72 69 76 r\Repository\Vcs\HgBitbucketDriv
d1a20 65 72 27 2c 0a 27 68 67 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 er',.'hg'.=>.'Composer\Repositor
d1a40 79 5c 56 63 73 5c 48 67 44 72 69 76 65 72 27 2c 0a 27 70 65 72 66 6f 72 63 65 27 20 3d 3e 20 27 y\Vcs\HgDriver',.'perforce'.=>.'
d1a60 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 50 65 72 66 6f 72 63 65 Composer\Repository\Vcs\Perforce
d1a80 44 72 69 76 65 72 27 2c 0a 27 66 6f 73 73 69 6c 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 Driver',.'fossil'.=>.'Composer\R
d1aa0 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 5c 46 6f 73 73 69 6c 44 72 69 76 65 72 27 2c 0a 0a 20 27 epository\Vcs\FossilDriver',...'
d1ac0 73 76 6e 27 20 3d 3e 20 27 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 5c 56 63 73 svn'.=>.'Composer\Repository\Vcs
d1ae0 5c 53 76 6e 44 72 69 76 65 72 27 2c 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 72 \SvnDriver',.);..$this->url.=.$r
d1b00 65 70 6f 43 6f 6e 66 69 67 5b 27 75 72 6c 27 5d 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 epoConfig['url'];.$this->io.=.$i
d1b20 6f 3b 0a 24 74 68 69 73 2d 3e 74 79 70 65 20 3d 20 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 o;.$this->type.=.isset($repoConf
d1b40 69 67 5b 27 74 79 70 65 27 5d 29 20 3f 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 74 79 70 65 27 ig['type']).?.$repoConfig['type'
d1b60 5d 20 3a 20 27 76 63 73 27 3b 0a 24 74 68 69 73 2d 3e 69 73 56 65 72 62 6f 73 65 20 3d 20 24 69 ].:.'vcs';.$this->isVerbose.=.$i
d1b80 6f 2d 3e 69 73 56 65 72 62 6f 73 65 28 29 3b 0a 24 74 68 69 73 2d 3e 69 73 56 65 72 79 56 65 72 o->isVerbose();.$this->isVeryVer
d1ba0 62 6f 73 65 20 3d 20 24 69 6f 2d 3e 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 3b 0a 24 74 68 bose.=.$io->isVeryVerbose();.$th
d1bc0 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 72 65 70 is->config.=.$config;.$this->rep
d1be0 6f 43 6f 6e 66 69 67 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 76 65 oConfig.=.$repoConfig;.$this->ve
d1c00 72 73 69 6f 6e 43 61 63 68 65 20 3d 20 24 76 65 72 73 69 6f 6e 43 61 63 68 65 3b 0a 7d 0a 0a 70 rsionCache.=.$versionCache;.}..p
d1c20 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 70 6f 43 6f 6e 66 69 67 28 29 0a 7b ublic.function.getRepoConfig().{
d1c40 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 .return.$this->repoConfig;.}..pu
d1c60 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 61 64 65 72 28 4c 6f 61 64 65 72 49 6e blic.function.setLoader(LoaderIn
d1c80 74 65 72 66 61 63 65 20 24 6c 6f 61 64 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 terface.$loader).{.$this->loader
d1ca0 20 3d 20 24 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 .=.$loader;.}..public.function.g
d1cc0 65 74 44 72 69 76 65 72 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 72 69 76 65 72 29 20 etDriver().{.if.($this->driver).
d1ce0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 72 69 76 65 72 3b 0a 7d 0a 0a 69 66 20 28 69 {.return.$this->driver;.}..if.(i
d1d00 73 73 65 74 28 24 74 68 69 73 2d 3e 64 72 69 76 65 72 73 5b 24 74 68 69 73 2d 3e 74 79 70 65 5d sset($this->drivers[$this->type]
d1d20 29 29 20 7b 0a 24 63 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 64 72 69 76 65 72 73 5b 24 74 68 )).{.$class.=.$this->drivers[$th
d1d40 69 73 2d 3e 74 79 70 65 5d 3b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 20 3d 20 6e 65 77 20 24 is->type];.$this->driver.=.new.$
d1d60 63 6c 61 73 73 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e class($this->repoConfig,.$this->
d1d80 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 io,.$this->config);.$this->drive
d1da0 72 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e r->initialize();..return.$this->
d1dc0 64 72 69 76 65 72 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 72 69 76 65 driver;.}..foreach.($this->drive
d1de0 72 73 20 61 73 20 24 64 72 69 76 65 72 29 20 7b 0a 69 66 20 28 24 64 72 69 76 65 72 3a 3a 73 75 rs.as.$driver).{.if.($driver::su
d1e00 70 70 6f 72 74 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c pports($this->io,.$this->config,
d1e20 20 24 74 68 69 73 2d 3e 75 72 6c 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 20 3d 20 .$this->url)).{.$this->driver.=.
d1e40 6e 65 77 20 24 64 72 69 76 65 72 28 24 74 68 69 73 2d 3e 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 new.$driver($this->repoConfig,.$
d1e60 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d this->io,.$this->config);.$this-
d1e80 3e 64 72 69 76 65 72 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 >driver->initialize();..return.$
d1ea0 74 68 69 73 2d 3e 64 72 69 76 65 72 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 this->driver;.}.}..foreach.($thi
d1ec0 73 2d 3e 64 72 69 76 65 72 73 20 61 73 20 24 64 72 69 76 65 72 29 20 7b 0a 69 66 20 28 24 64 72 s->drivers.as.$driver).{.if.($dr
d1ee0 69 76 65 72 3a 3a 73 75 70 70 6f 72 74 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d iver::supports($this->io,.$this-
d1f00 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 75 72 6c 2c 20 74 72 75 65 29 29 20 7b 0a 24 74 >config,.$this->url,.true)).{.$t
d1f20 68 69 73 2d 3e 64 72 69 76 65 72 20 3d 20 6e 65 77 20 24 64 72 69 76 65 72 28 24 74 68 69 73 2d his->driver.=.new.$driver($this-
d1f40 3e 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 >repoConfig,.$this->io,.$this->c
d1f60 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 64 72 69 76 65 72 2d 3e 69 6e 69 74 69 61 6c 69 7a onfig);.$this->driver->initializ
d1f80 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 72 69 76 65 72 3b 0a 7d 0a 7d 0a e();..return.$this->driver;.}.}.
d1fa0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 64 49 6e 76 61 6c 69 64 42 72 61 }..public.function.hadInvalidBra
d1fc0 6e 63 68 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 45 72 nches().{.return.$this->branchEr
d1fe0 72 6f 72 4f 63 63 75 72 72 65 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 rorOccurred;.}..public.function.
d2000 67 65 74 45 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 getEmptyReferences().{.return.$t
d2020 68 69 73 2d 3e 65 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 his->emptyReferences;.}..protect
d2040 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 70 61 72 65 6e ed.function.initialize().{.paren
d2060 74 3a 3a 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 24 69 73 56 65 72 62 6f 73 65 20 3d 20 24 t::initialize();..$isVerbose.=.$
d2080 74 68 69 73 2d 3e 69 73 56 65 72 62 6f 73 65 3b 0a 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 20 this->isVerbose;.$isVeryVerbose.
d20a0 3d 20 24 74 68 69 73 2d 3e 69 73 56 65 72 79 56 65 72 62 6f 73 65 3b 0a 0a 24 64 72 69 76 65 72 =.$this->isVeryVerbose;..$driver
d20c0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 72 69 76 65 72 28 29 3b 0a 69 66 20 28 21 24 64 72 69 .=.$this->getDriver();.if.(!$dri
d20e0 76 65 72 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e ver).{.throw.new.\InvalidArgumen
d2100 74 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 20 64 72 69 76 65 72 20 66 6f 75 6e 64 20 74 6f 20 68 tException('No.driver.found.to.h
d2120 61 6e 64 6c 65 20 56 43 53 20 72 65 70 6f 73 69 74 6f 72 79 20 27 2e 24 74 68 69 73 2d 3e 75 72 andle.VCS.repository.'.$this->ur
d2140 6c 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 l);.}..$this->versionParser.=.ne
d2160 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c 6f 61 w.VersionParser;.if.(!$this->loa
d2180 64 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 41 72 72 61 79 der).{.$this->loader.=.new.Array
d21a0 4c 6f 61 64 65 72 28 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 3b 0a 7d 0a Loader($this->versionParser);.}.
d21c0 0a 74 72 79 20 7b 0a 69 66 20 28 24 64 72 69 76 65 72 2d 3e 68 61 73 43 6f 6d 70 6f 73 65 72 46 .try.{.if.($driver->hasComposerF
d21e0 69 6c 65 28 24 64 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 6e 74 69 66 69 65 72 28 29 ile($driver->getRootIdentifier()
d2200 29 29 20 7b 0a 24 64 61 74 61 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 )).{.$data.=.$driver->getCompose
d2220 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 64 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f 74 49 64 65 rInformation($driver->getRootIde
d2240 6e 74 69 66 69 65 72 28 29 29 3b 0a 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 20 3d ntifier());.$this->packageName.=
d2260 20 21 65 6d 70 74 79 28 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 29 20 3f 20 24 64 61 74 61 5b 27 .!empty($data['name']).?.$data['
d2280 6e 61 6d 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 name'].:.null;.}.}.catch.(\Excep
d22a0 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b tion.$e).{.if.($isVeryVerbose).{
d22c0 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 53 .$this->io->writeError('<error>S
d22e0 6b 69 70 70 65 64 20 70 61 72 73 69 6e 67 20 27 2e 24 64 72 69 76 65 72 2d 3e 67 65 74 52 6f 6f kipped.parsing.'.$driver->getRoo
d2300 74 49 64 65 6e 74 69 66 69 65 72 28 29 2e 27 2c 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 tIdentifier().',.'.$e->getMessag
d2320 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 e().'</error>');.}.}..foreach.($
d2340 64 72 69 76 65 72 2d 3e 67 65 74 54 61 67 73 28 29 20 61 73 20 24 74 61 67 20 3d 3e 20 24 69 64 driver->getTags().as.$tag.=>.$id
d2360 65 6e 74 69 66 69 65 72 29 20 7b 0a 24 6d 73 67 20 3d 20 27 52 65 61 64 69 6e 67 20 63 6f 6d 70 entifier).{.$msg.=.'Reading.comp
d2380 6f 73 65 72 2e 6a 73 6f 6e 20 6f 66 20 3c 69 6e 66 6f 3e 27 20 2e 20 28 24 74 68 69 73 2d 3e 70 oser.json.of.<info>'...($this->p
d23a0 61 63 6b 61 67 65 4e 61 6d 65 20 3f 3a 20 24 74 68 69 73 2d 3e 75 72 6c 29 20 2e 20 27 3c 2f 69 ackageName.?:.$this->url)...'</i
d23c0 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 74 61 67 20 2e 20 27 3c 2f 63 6f 6d nfo>.(<comment>'...$tag...'</com
d23e0 6d 65 6e 74 3e 29 27 3b 0a 69 66 20 28 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 ment>)';.if.($isVeryVerbose).{.$
d2400 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 73 67 29 3b 0a 7d 20 65 6c this->io->writeError($msg);.}.el
d2420 73 65 69 66 20 28 24 69 73 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f seif.($isVerbose).{.$this->io->o
d2440 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 24 6d 73 67 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 0a verwriteError($msg,.false);.}...
d2460 20 24 74 61 67 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 72 65 6c 65 61 73 65 2d 27 2c 20 .$tag.=.str_replace('release-',.
d2480 27 27 2c 20 24 74 61 67 29 3b 0a 0a 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 20 3d 20 24 74 68 '',.$tag);..$cachedPackage.=.$th
d24a0 69 73 2d 3e 67 65 74 43 61 63 68 65 64 50 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 28 24 74 61 67 is->getCachedPackageVersion($tag
d24c0 2c 20 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 69 73 56 65 72 62 6f 73 65 2c 20 24 69 73 56 65 ,.$identifier,.$isVerbose,.$isVe
d24e0 72 79 56 65 72 62 6f 73 65 29 3b 0a 69 66 20 28 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 29 20 ryVerbose);.if.($cachedPackage).
d2500 7b 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 63 61 63 68 65 64 50 61 63 6b 61 {.$this->addPackage($cachedPacka
d2520 67 65 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 63 61 63 68 65 ge);..continue;.}.elseif.($cache
d2540 64 50 61 63 6b 61 67 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 dPackage.===.false).{.$this->emp
d2560 74 79 52 65 66 65 72 65 6e 63 65 73 5b 5d 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 63 tyReferences[].=.$identifier;..c
d2580 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 70 61 72 73 65 64 54 61 67 20 3d 20 24 74 ontinue;.}..if.(!$parsedTag.=.$t
d25a0 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 61 67 28 24 74 61 67 29 29 20 7b 0a 69 66 20 28 24 69 his->validateTag($tag)).{.if.($i
d25c0 73 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 sVeryVerbose).{.$this->io->write
d25e0 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 74 61 67 20 27 2e 24 74 Error('<warning>Skipped.tag.'.$t
d2600 61 67 2e 27 2c 20 69 6e 76 61 6c 69 64 20 74 61 67 20 6e 61 6d 65 3c 2f 77 61 72 6e 69 6e 67 3e ag.',.invalid.tag.name</warning>
d2620 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 69 66 20 28 21 24 64 ');.}.continue;.}..try.{.if.(!$d
d2640 61 74 61 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d ata.=.$driver->getComposerInform
d2660 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 29 20 7b 0a 69 66 20 28 24 69 73 56 65 72 ation($identifier)).{.if.($isVer
d2680 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f yVerbose).{.$this->io->writeErro
d26a0 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 74 61 67 20 27 2e 24 74 61 67 2e 27 r('<warning>Skipped.tag.'.$tag.'
d26c0 2c 20 6e 6f 20 63 6f 6d 70 6f 73 65 72 20 66 69 6c 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a ,.no.composer.file</warning>');.
d26e0 7d 0a 24 74 68 69 73 2d 3e 65 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 5b 5d 20 3d 20 24 69 64 }.$this->emptyReferences[].=.$id
d2700 65 6e 74 69 66 69 65 72 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 entifier;.continue;.}....if.(iss
d2720 65 74 28 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 7b 0a 24 64 61 74 61 5b 27 76 et($data['version'])).{.$data['v
d2740 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 3d 20 24 74 68 69 73 2d 3e 76 65 72 ersion_normalized'].=.$this->ver
d2760 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 64 61 74 61 5b 27 76 65 72 sionParser->normalize($data['ver
d2780 73 69 6f 6e 27 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 64 61 74 61 5b 27 76 65 72 73 69 sion']);.}.else.{...$data['versi
d27a0 6f 6e 27 5d 20 3d 20 24 74 61 67 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d on'].=.$tag;.$data['version_norm
d27c0 61 6c 69 7a 65 64 27 5d 20 3d 20 24 70 61 72 73 65 64 54 61 67 3b 0a 7d 0a 0a 0a 20 24 64 61 74 alized'].=.$parsedTag;.}....$dat
d27e0 61 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5b 2e a['version'].=.preg_replace('{[.
d2800 2d 5d 3f 64 65 76 24 7d 69 27 2c 20 27 27 2c 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d -]?dev$}i',.'',.$data['version']
d2820 29 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 20 3d );.$data['version_normalized'].=
d2840 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 5e 64 65 76 2d 7c 5b 2e 2d 5d 3f 64 65 76 24 .preg_replace('{(^dev-|[.-]?dev$
d2860 29 7d 69 27 2c 20 27 27 2c 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 )}i',.'',.$data['version_normali
d2880 7a 65 64 27 5d 29 3b 0a 0a 0a 20 69 66 20 28 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f zed']);....if.($data['version_no
d28a0 72 6d 61 6c 69 7a 65 64 27 5d 20 21 3d 3d 20 24 70 61 72 73 65 64 54 61 67 29 20 7b 0a 69 66 20 rmalized'].!==.$parsedTag).{.if.
d28c0 28 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 ($isVeryVerbose).{.$this->io->wr
d28e0 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 74 61 67 20 27 iteError('<warning>Skipped.tag.'
d2900 2e 24 74 61 67 2e 27 2c 20 74 61 67 20 28 27 2e 24 70 61 72 73 65 64 54 61 67 2e 27 29 20 64 6f .$tag.',.tag.('.$parsedTag.').do
d2920 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 76 65 72 73 69 6f 6e 20 28 27 2e 24 64 61 74 61 5b 27 76 es.not.match.version.('.$data['v
d2940 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2e 27 29 20 69 6e 20 63 6f 6d 70 6f 73 ersion_normalized'].').in.compos
d2960 65 72 2e 6a 73 6f 6e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b er.json</warning>');.}.continue;
d2980 0a 7d 0a 0a 24 74 61 67 50 61 63 6b 61 67 65 4e 61 6d 65 20 3d 20 69 73 73 65 74 28 24 64 61 74 .}..$tagPackageName.=.isset($dat
d29a0 61 5b 27 6e 61 6d 65 27 5d 29 20 3f 20 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3a 20 24 74 68 a['name']).?.$data['name'].:.$th
d29c0 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 69 66 20 28 24 65 78 69 73 74 69 6e 67 50 61 is->packageName;.if.($existingPa
d29e0 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 74 61 67 50 ckage.=.$this->findPackage($tagP
d2a00 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 ackageName,.$data['version_norma
d2a20 6c 69 7a 65 64 27 5d 29 29 20 7b 0a 69 66 20 28 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 29 20 lized'])).{.if.($isVeryVerbose).
d2a40 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e {.$this->io->writeError('<warnin
d2a60 67 3e 53 6b 69 70 70 65 64 20 74 61 67 20 27 2e 24 74 61 67 2e 27 2c 20 69 74 20 63 6f 6e 66 6c g>Skipped.tag.'.$tag.',.it.confl
d2a80 69 63 74 73 20 77 69 74 68 20 61 6e 20 61 6e 6f 74 68 65 72 20 74 61 67 20 28 27 2e 24 65 78 69 icts.with.an.another.tag.('.$exi
d2aa0 73 74 69 6e 67 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 stingPackage->getPrettyVersion()
d2ac0 2e 27 29 20 61 73 20 62 6f 74 68 20 72 65 73 6f 6c 76 65 20 74 6f 20 27 2e 24 64 61 74 61 5b 27 .').as.both.resolve.to.'.$data['
d2ae0 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2e 27 20 69 6e 74 65 72 6e 61 6c 6c version_normalized'].'.internall
d2b00 79 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 y</warning>');.}.continue;.}..if
d2b20 20 28 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 .($isVeryVerbose).{.$this->io->w
d2b40 72 69 74 65 45 72 72 6f 72 28 27 49 6d 70 6f 72 74 69 6e 67 20 74 61 67 20 27 2e 24 74 61 67 2e riteError('Importing.tag.'.$tag.
d2b60 27 20 28 27 2e 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d '.('.$data['version_normalized']
d2b80 2e 27 29 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b 61 67 65 28 24 74 68 69 .')');.}..$this->addPackage($thi
d2ba0 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 74 68 69 73 2d 3e 70 72 65 50 72 6f 63 65 73 s->loader->load($this->preProces
d2bc0 73 28 24 64 72 69 76 65 72 2c 20 24 64 61 74 61 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 29 29 s($driver,.$data,.$identifier)))
d2be0 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 ;.}.catch.(\Exception.$e).{.if.(
d2c00 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e $e.instanceof.TransportException
d2c20 20 26 26 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 20 3d 3d 3d 20 34 30 34 29 20 7b 0a 24 74 68 .&&.$e->getCode().===.404).{.$th
d2c40 69 73 2d 3e 65 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 5b 5d 20 3d 20 24 69 64 65 6e 74 69 66 is->emptyReferences[].=.$identif
d2c60 69 65 72 3b 0a 7d 0a 69 66 20 28 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 ier;.}.if.($isVeryVerbose).{.$th
d2c80 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 is->io->writeError('<warning>Ski
d2ca0 70 70 65 64 20 74 61 67 20 27 2e 24 74 61 67 2e 27 2c 20 27 2e 28 24 65 20 69 6e 73 74 61 6e 63 pped.tag.'.$tag.',.'.($e.instanc
d2cc0 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 3f 20 27 6e 6f 20 63 6f 6d eof.TransportException.?.'no.com
d2ce0 70 6f 73 65 72 20 66 69 6c 65 20 77 61 73 20 66 6f 75 6e 64 27 20 3a 20 24 65 2d 3e 67 65 74 4d poser.file.was.found'.:.$e->getM
d2d00 65 73 73 61 67 65 28 29 29 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 essage()).'</warning>');.}.conti
d2d20 6e 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b nue;.}.}..if.(!$isVeryVerbose).{
d2d40 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c 20 66 .$this->io->overwriteError('',.f
d2d60 61 6c 73 65 29 3b 0a 7d 0a 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 alse);.}..$branches.=.$driver->g
d2d80 65 74 42 72 61 6e 63 68 65 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 62 72 61 6e 63 68 65 73 etBranches();.foreach.($branches
d2da0 20 61 73 20 24 62 72 61 6e 63 68 20 3d 3e 20 24 69 64 65 6e 74 69 66 69 65 72 29 20 7b 0a 24 6d .as.$branch.=>.$identifier).{.$m
d2dc0 73 67 20 3d 20 27 52 65 61 64 69 6e 67 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 66 20 3c sg.=.'Reading.composer.json.of.<
d2de0 69 6e 66 6f 3e 27 20 2e 20 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 20 3f 3a 20 info>'...($this->packageName.?:.
d2e00 24 74 68 69 73 2d 3e 75 72 6c 29 20 2e 20 27 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 $this->url)...'</info>.(<comment
d2e20 3e 27 20 2e 20 24 62 72 61 6e 63 68 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 27 3b 0a 69 66 >'...$branch...'</comment>)';.if
d2e40 20 28 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 .($isVeryVerbose).{.$this->io->w
d2e60 72 69 74 65 45 72 72 6f 72 28 24 6d 73 67 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 73 56 65 riteError($msg);.}.elseif.($isVe
d2e80 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 rbose).{.$this->io->overwriteErr
d2ea0 6f 72 28 24 6d 73 67 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 62 72 61 6e 63 68 20 or($msg,.false);.}..if.($branch.
d2ec0 3d 3d 3d 20 27 74 72 75 6e 6b 27 20 26 26 20 69 73 73 65 74 28 24 62 72 61 6e 63 68 65 73 5b 27 ===.'trunk'.&&.isset($branches['
d2ee0 6d 61 73 74 65 72 27 5d 29 29 20 7b 0a 69 66 20 28 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 29 master'])).{.if.($isVeryVerbose)
d2f00 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 .{.$this->io->writeError('<warni
d2f20 6e 67 3e 53 6b 69 70 70 65 64 20 62 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 63 ng>Skipped.branch.'.$branch.',.c
d2f40 61 6e 20 6e 6f 74 20 70 61 72 73 65 20 62 6f 74 68 20 6d 61 73 74 65 72 20 61 6e 64 20 74 72 75 an.not.parse.both.master.and.tru
d2f60 6e 6b 20 62 72 61 6e 63 68 65 73 20 61 73 20 74 68 65 79 20 62 6f 74 68 20 72 65 73 6f 6c 76 65 nk.branches.as.they.both.resolve
d2f80 20 74 6f 20 39 39 39 39 39 39 39 2d 64 65 76 20 69 6e 74 65 72 6e 61 6c 6c 79 3c 2f 77 61 72 6e .to.9999999-dev.internally</warn
d2fa0 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 24 70 61 72 ing>');.}.continue;.}..if.(!$par
d2fc0 73 65 64 42 72 61 6e 63 68 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 42 72 61 6e 63 sedBranch.=.$this->validateBranc
d2fe0 68 28 24 62 72 61 6e 63 68 29 29 20 7b 0a 69 66 20 28 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 h($branch)).{.if.($isVeryVerbose
d3000 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e ).{.$this->io->writeError('<warn
d3020 69 6e 67 3e 53 6b 69 70 70 65 64 20 62 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 ing>Skipped.branch.'.$branch.',.
d3040 69 6e 76 61 6c 69 64 20 6e 61 6d 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 invalid.name</warning>');.}.cont
d3060 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 27 64 65 76 2d 27 20 3d 3d 3d 20 73 75 62 73 74 72 inue;.}....if.('dev-'.===.substr
d3080 28 24 70 61 72 73 65 64 42 72 61 6e 63 68 2c 20 30 2c 20 34 29 20 7c 7c 20 27 39 39 39 39 39 39 ($parsedBranch,.0,.4).||.'999999
d30a0 39 2d 64 65 76 27 20 3d 3d 3d 20 24 70 61 72 73 65 64 42 72 61 6e 63 68 29 20 7b 0a 24 76 65 72 9-dev'.===.$parsedBranch).{.$ver
d30c0 73 69 6f 6e 20 3d 20 27 64 65 76 2d 27 20 2e 20 24 62 72 61 6e 63 68 3b 0a 7d 20 65 6c 73 65 20 sion.=.'dev-'...$branch;.}.else.
d30e0 7b 0a 24 70 72 65 66 69 78 20 3d 20 73 75 62 73 74 72 28 24 62 72 61 6e 63 68 2c 20 30 2c 20 31 {.$prefix.=.substr($branch,.0,.1
d3100 29 20 3d 3d 3d 20 27 76 27 20 3f 20 27 76 27 20 3a 20 27 27 3b 0a 24 76 65 72 73 69 6f 6e 20 3d ).===.'v'.?.'v'.:.'';.$version.=
d3120 20 24 70 72 65 66 69 78 20 2e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 5c 2e 39 7b 37 .$prefix...preg_replace('{(\.9{7
d3140 7d 29 2b 7d 27 2c 20 27 2e 78 27 2c 20 24 70 61 72 73 65 64 42 72 61 6e 63 68 29 3b 0a 7d 0a 0a })+}',.'.x',.$parsedBranch);.}..
d3160 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 61 63 68 65 $cachedPackage.=.$this->getCache
d3180 64 50 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 2c 20 24 69 64 65 6e 74 dPackageVersion($version,.$ident
d31a0 69 66 69 65 72 2c 20 24 69 73 56 65 72 62 6f 73 65 2c 20 24 69 73 56 65 72 79 56 65 72 62 6f 73 ifier,.$isVerbose,.$isVeryVerbos
d31c0 65 29 3b 0a 69 66 20 28 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 29 20 7b 0a 24 74 68 69 73 2d e);.if.($cachedPackage).{.$this-
d31e0 3e 61 64 64 50 61 63 6b 61 67 65 28 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 29 3b 0a 0a 63 6f >addPackage($cachedPackage);..co
d3200 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 ntinue;.}.elseif.($cachedPackage
d3220 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 74 79 52 65 66 65 72 65 .===.false).{.$this->emptyRefere
d3240 6e 63 65 73 5b 5d 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b nces[].=.$identifier;..continue;
d3260 0a 7d 0a 0a 74 72 79 20 7b 0a 69 66 20 28 21 24 64 61 74 61 20 3d 20 24 64 72 69 76 65 72 2d 3e .}..try.{.if.(!$data.=.$driver->
d3280 67 65 74 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 getComposerInformation($identifi
d32a0 65 72 29 29 20 7b 0a 69 66 20 28 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 er)).{.if.($isVeryVerbose).{.$th
d32c0 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 is->io->writeError('<warning>Ski
d32e0 70 70 65 64 20 62 72 61 6e 63 68 20 27 2e 24 62 72 61 6e 63 68 2e 27 2c 20 6e 6f 20 63 6f 6d 70 pped.branch.'.$branch.',.no.comp
d3300 6f 73 65 72 20 66 69 6c 65 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e oser.file</warning>');.}.$this->
d3320 65 6d 70 74 79 52 65 66 65 72 65 6e 63 65 73 5b 5d 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b emptyReferences[].=.$identifier;
d3340 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d .continue;.}....$data['version']
d3360 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d .=.$version;.$data['version_norm
d3380 61 6c 69 7a 65 64 27 5d 20 3d 20 24 70 61 72 73 65 64 42 72 61 6e 63 68 3b 0a 0a 69 66 20 28 24 alized'].=.$parsedBranch;..if.($
d33a0 69 73 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 isVeryVerbose).{.$this->io->writ
d33c0 65 45 72 72 6f 72 28 27 49 6d 70 6f 72 74 69 6e 67 20 62 72 61 6e 63 68 20 27 2e 24 62 72 61 6e eError('Importing.branch.'.$bran
d33e0 63 68 2e 27 20 28 27 2e 24 64 61 74 61 5b 27 76 65 72 73 69 6f 6e 27 5d 2e 27 29 27 29 3b 0a 7d ch.'.('.$data['version'].')');.}
d3400 0a 0a 24 70 61 63 6b 61 67 65 44 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 70 72 65 50 72 6f 63 65 ..$packageData.=.$this->preProce
d3420 73 73 28 24 64 72 69 76 65 72 2c 20 24 64 61 74 61 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b ss($driver,.$data,.$identifier);
d3440 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 .$package.=.$this->loader->load(
d3460 24 70 61 63 6b 61 67 65 44 61 74 61 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 $packageData);.if.($this->loader
d3480 20 69 6e 73 74 61 6e 63 65 6f 66 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c 6f 61 64 65 .instanceof.ValidatingArrayLoade
d34a0 72 20 26 26 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 67 65 74 57 61 72 6e 69 6e 67 73 28 r.&&.$this->loader->getWarnings(
d34c0 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 )).{.throw.new.InvalidPackageExc
d34e0 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 eption($this->loader->getErrors(
d3500 29 2c 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 67 65 74 57 61 72 6e 69 6e 67 73 28 29 2c ),.$this->loader->getWarnings(),
d3520 20 24 70 61 63 6b 61 67 65 44 61 74 61 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 61 64 64 50 61 63 6b .$packageData);.}.$this->addPack
d3540 61 67 65 28 24 70 61 63 6b 61 67 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 age($package);.}.catch.(Transpor
d3560 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 2d 3e 67 65 74 43 6f 64 65 tException.$e).{.if.($e->getCode
d3580 28 29 20 3d 3d 3d 20 34 30 34 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 74 79 52 65 66 65 72 65 ().===.404).{.$this->emptyRefere
d35a0 6e 63 65 73 5b 5d 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 3b 0a 7d 0a 69 66 20 28 24 69 73 56 nces[].=.$identifier;.}.if.($isV
d35c0 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 eryVerbose).{.$this->io->writeEr
d35e0 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 62 72 61 6e 63 68 20 27 2e 24 ror('<warning>Skipped.branch.'.$
d3600 62 72 61 6e 63 68 2e 27 2c 20 6e 6f 20 63 6f 6d 70 6f 73 65 72 20 66 69 6c 65 20 77 61 73 20 66 branch.',.no.composer.file.was.f
d3620 6f 75 6e 64 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 ound</warning>');.}.continue;.}.
d3640 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 21 24 69 73 catch.(\Exception.$e).{.if.(!$is
d3660 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 VeryVerbose).{.$this->io->writeE
d3680 72 72 6f 72 28 27 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 62 72 61 6e 63 68 45 72 72 6f 72 4f 63 rror('');.}.$this->branchErrorOc
d36a0 63 75 72 72 65 64 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 curred.=.true;.$this->io->writeE
d36c0 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 53 6b 69 70 70 65 64 20 62 72 61 6e 63 68 20 27 2e 24 62 rror('<error>Skipped.branch.'.$b
d36e0 72 61 6e 63 68 2e 27 2c 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 ranch.',.'.$e->getMessage().'</e
d3700 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 rror>');.$this->io->writeError('
d3720 27 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 24 64 72 69 76 65 72 2d 3e 63 6c 65 61 6e ');.continue;.}.}.$driver->clean
d3740 75 70 28 29 3b 0a 0a 69 66 20 28 21 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 up();..if.(!$isVeryVerbose).{.$t
d3760 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c 20 66 61 6c 73 his->io->overwriteError('',.fals
d3780 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 28 29 e);.}..if.(!$this->getPackages()
d37a0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 52 65 70 6f 73 69 74 6f 72 79 45 ).{.throw.new.InvalidRepositoryE
d37c0 78 63 65 70 74 69 6f 6e 28 27 4e 6f 20 76 61 6c 69 64 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e xception('No.valid.composer.json
d37e0 20 77 61 73 20 66 6f 75 6e 64 20 69 6e 20 61 6e 79 20 62 72 61 6e 63 68 20 6f 72 20 74 61 67 20 .was.found.in.any.branch.or.tag.
d3800 6f 66 20 27 2e 24 74 68 69 73 2d 3e 75 72 6c 2e 27 2c 20 63 6f 75 6c 64 20 6e 6f 74 20 6c 6f 61 of.'.$this->url.',.could.not.loa
d3820 64 20 61 20 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 69 74 2e 27 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f d.a.package.from.it.');.}.}..pro
d3840 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 50 72 6f 63 65 73 73 28 56 63 73 44 72 tected.function.preProcess(VcsDr
d3860 69 76 65 72 49 6e 74 65 72 66 61 63 65 20 24 64 72 69 76 65 72 2c 20 61 72 72 61 79 20 24 64 61 iverInterface.$driver,.array.$da
d3880 74 61 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 0a 20 24 64 61 74 61 50 61 63 6b 61 67 ta,.$identifier).{...$dataPackag
d38a0 65 4e 61 6d 65 20 3d 20 69 73 73 65 74 28 24 64 61 74 61 5b 27 6e 61 6d 65 27 5d 29 20 3f 20 24 eName.=.isset($data['name']).?.$
d38c0 64 61 74 61 5b 27 6e 61 6d 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 64 61 74 61 5b 27 6e 61 6d 65 data['name'].:.null;.$data['name
d38e0 27 5d 20 3d 20 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 20 3f 3a 20 24 64 61 74 61 '].=.$this->packageName.?:.$data
d3900 50 61 63 6b 61 67 65 4e 61 6d 65 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 61 74 61 5b 27 PackageName;..if.(!isset($data['
d3920 64 69 73 74 27 5d 29 29 20 7b 0a 24 64 61 74 61 5b 27 64 69 73 74 27 5d 20 3d 20 24 64 72 69 76 dist'])).{.$data['dist'].=.$driv
d3940 65 72 2d 3e 67 65 74 44 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 69 66 20 28 er->getDist($identifier);.}.if.(
d3960 21 69 73 73 65 74 28 24 64 61 74 61 5b 27 73 6f 75 72 63 65 27 5d 29 29 20 7b 0a 24 64 61 74 61 !isset($data['source'])).{.$data
d3980 5b 27 73 6f 75 72 63 65 27 5d 20 3d 20 24 64 72 69 76 65 72 2d 3e 67 65 74 53 6f 75 72 63 65 28 ['source'].=.$driver->getSource(
d39a0 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d $identifier);.}..return.$data;.}
d39c0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 42 72 61 6e 63 ..private.function.validateBranc
d39e0 68 28 24 62 72 61 6e 63 68 29 0a 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d h($branch).{.try.{.return.$this-
d3a00 3e 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 >versionParser->normalizeBranch(
d3a20 24 62 72 61 6e 63 68 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 $branch);.}.catch.(\Exception.$e
d3a40 29 20 7b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 ).{.}..return.false;.}..private.
d3a60 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 54 61 67 28 24 76 65 72 73 69 6f 6e 29 0a 7b function.validateTag($version).{
d3a80 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 50 61 72 73 .try.{.return.$this->versionPars
d3aa0 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 76 65 72 73 69 6f 6e 29 3b 0a 7d 20 63 61 74 63 68 er->normalize($version);.}.catch
d3ac0 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c .(\Exception.$e).{.}..return.fal
d3ae0 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 61 63 68 65 se;.}..private.function.getCache
d3b00 64 50 61 63 6b 61 67 65 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 2c 20 24 69 64 65 6e 74 dPackageVersion($version,.$ident
d3b20 69 66 69 65 72 2c 20 24 69 73 56 65 72 62 6f 73 65 2c 20 24 69 73 56 65 72 79 56 65 72 62 6f 73 ifier,.$isVerbose,.$isVeryVerbos
d3b40 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 43 61 63 68 65 29 20 7b e).{.if.(!$this->versionCache).{
d3b60 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 20 3d 20 24 74 68 .return;.}..$cachedPackage.=.$th
d3b80 69 73 2d 3e 76 65 72 73 69 6f 6e 43 61 63 68 65 2d 3e 67 65 74 56 65 72 73 69 6f 6e 50 61 63 6b is->versionCache->getVersionPack
d3ba0 61 67 65 28 24 76 65 72 73 69 6f 6e 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 69 66 20 28 age($version,.$identifier);.if.(
d3bc0 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 69 66 20 28 $cachedPackage.===.false).{.if.(
d3be0 24 69 73 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 $isVeryVerbose).{.$this->io->wri
d3c00 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 27 2e 24 76 65 72 teError('<warning>Skipped.'.$ver
d3c20 73 69 6f 6e 2e 27 2c 20 6e 6f 20 63 6f 6d 70 6f 73 65 72 20 66 69 6c 65 20 28 63 61 63 68 65 64 sion.',.no.composer.file.(cached
d3c40 20 66 72 6f 6d 20 72 65 66 20 27 2e 24 69 64 65 6e 74 69 66 69 65 72 2e 27 29 3c 2f 77 61 72 6e .from.ref.'.$identifier.')</warn
d3c60 69 6e 67 3e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 ing>');.}..return.false;.}..if.(
d3c80 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 29 20 7b 0a 24 6d 73 67 20 3d 20 27 46 6f 75 6e 64 20 $cachedPackage).{.$msg.=.'Found.
d3ca0 63 61 63 68 65 64 20 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 20 6f 66 20 3c 69 6e 66 6f 3e 27 20 cached.composer.json.of.<info>'.
d3cc0 2e 20 28 24 74 68 69 73 2d 3e 70 61 63 6b 61 67 65 4e 61 6d 65 20 3f 3a 20 24 74 68 69 73 2d 3e ..($this->packageName.?:.$this->
d3ce0 75 72 6c 29 20 2e 20 27 3c 2f 69 6e 66 6f 3e 20 28 3c 63 6f 6d 6d 65 6e 74 3e 27 20 2e 20 24 76 url)...'</info>.(<comment>'...$v
d3d00 65 72 73 69 6f 6e 20 2e 20 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 27 3b 0a 69 66 20 28 24 69 73 56 ersion...'</comment>)';.if.($isV
d3d20 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 eryVerbose).{.$this->io->writeEr
d3d40 72 6f 72 28 24 6d 73 67 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 73 56 65 72 62 6f 73 65 29 ror($msg);.}.elseif.($isVerbose)
d3d60 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 28 24 6d 73 .{.$this->io->overwriteError($ms
d3d80 67 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 65 78 69 73 74 69 6e 67 50 61 63 6b 61 g,.false);.}..if.($existingPacka
d3da0 67 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 50 61 63 6b 61 67 65 28 24 63 61 63 68 65 64 50 ge.=.$this->findPackage($cachedP
d3dc0 61 63 6b 61 67 65 5b 27 6e 61 6d 65 27 5d 2c 20 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 5b 27 ackage['name'],.$cachedPackage['
d3de0 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 29 29 20 7b 0a 69 66 20 28 24 69 73 version_normalized'])).{.if.($is
d3e00 56 65 72 79 56 65 72 62 6f 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 VeryVerbose).{.$this->io->writeE
d3e20 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 53 6b 69 70 70 65 64 20 63 61 63 68 65 64 20 76 65 rror('<warning>Skipped.cached.ve
d3e40 72 73 69 6f 6e 20 27 2e 24 76 65 72 73 69 6f 6e 2e 27 2c 20 69 74 20 63 6f 6e 66 6c 69 63 74 73 rsion.'.$version.',.it.conflicts
d3e60 20 77 69 74 68 20 61 6e 20 61 6e 6f 74 68 65 72 20 74 61 67 20 28 27 2e 24 65 78 69 73 74 69 6e .with.an.another.tag.('.$existin
d3e80 67 50 61 63 6b 61 67 65 2d 3e 67 65 74 50 72 65 74 74 79 56 65 72 73 69 6f 6e 28 29 2e 27 29 20 gPackage->getPrettyVersion().').
d3ea0 61 73 20 62 6f 74 68 20 72 65 73 6f 6c 76 65 20 74 6f 20 27 2e 24 63 61 63 68 65 64 50 61 63 6b as.both.resolve.to.'.$cachedPack
d3ec0 61 67 65 5b 27 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 27 5d 2e 27 20 69 6e 74 65 age['version_normalized'].'.inte
d3ee0 72 6e 61 6c 6c 79 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 7d 0a 24 63 61 63 68 65 64 50 61 63 rnally</warning>');.}.$cachedPac
d3f00 6b 61 67 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 63 61 63 68 65 64 50 61 63 kage.=.null;.}.}..if.($cachedPac
d3f20 6b 61 67 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 72 2d 3e 6c 6f kage).{.return.$this->loader->lo
d3f40 61 64 28 24 63 61 63 68 65 64 50 61 63 6b 61 67 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 ad($cachedPackage);.}..return.nu
d3f60 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ll;.}.}.<?php............namespa
d3f80 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 69 6e 74 65 72 66 61 ce.Composer\Repository;..interfa
d3fa0 63 65 20 56 65 72 73 69 6f 6e 43 61 63 68 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a ce.VersionCacheInterface.{......
d3fc0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 50 61 63 6b 61 67 public.function.getVersionPackag
d3fe0 65 28 24 76 65 72 73 69 6f 6e 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 7d 0a 3c 3f 70 68 e($version,.$identifier);.}.<?ph
d4000 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
d4020 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 Repository;..use.Composer\Packag
d4040 65 5c 41 6c 69 61 73 50 61 63 6b 61 67 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 57 72 69 74 e\AliasPackage;.......class.Writ
d4060 61 62 6c 65 41 72 72 61 79 52 65 70 6f 73 69 74 6f 72 79 20 65 78 74 65 6e 64 73 20 41 72 72 61 ableArrayRepository.extends.Arra
d4080 79 52 65 70 6f 73 69 74 6f 72 79 20 69 6d 70 6c 65 6d 65 6e 74 73 20 57 72 69 74 61 62 6c 65 52 yRepository.implements.WritableR
d40a0 65 70 6f 73 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 epositoryInterface.{....public.f
d40c0 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 unction.write().{.}.....public.f
d40e0 75 6e 63 74 69 6f 6e 20 72 65 6c 6f 61 64 28 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 unction.reload().{.}.....public.
d4100 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 0a function.getCanonicalPackages().
d4120 7b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 63 6b 61 67 65 73 {.$packages.=.$this->getPackages
d4140 28 29 3b 0a 0a 0a 20 24 70 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 20 3d 20 61 72 72 61 79 28 29 ();....$packagesByName.=.array()
d4160 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 ;.foreach.($packages.as.$package
d4180 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 70 61 63 6b 61 67 65 73 42 79 4e 61 6d 65 5b 24 ).{.if.(!isset($packagesByName[$
d41a0 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 20 7c 7c 20 24 70 61 63 6b 61 67 65 package->getName()]).||.$package
d41c0 73 42 79 4e 61 6d 65 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 69 6e 73 sByName[$package->getName()].ins
d41e0 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 7b 0a 24 70 61 63 6b 61 67 65 tanceof.AliasPackage).{.$package
d4200 73 42 79 4e 61 6d 65 5b 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 sByName[$package->getName()].=.$
d4220 70 61 63 6b 61 67 65 3b 0a 7d 0a 7d 0a 0a 24 63 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 package;.}.}..$canonicalPackages
d4240 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 .=.array();....foreach.($package
d4260 73 42 79 4e 61 6d 65 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 0a 77 68 69 6c 65 20 28 24 70 sByName.as.$package).{.while.($p
d4280 61 63 6b 61 67 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 6c 69 61 73 50 61 63 6b 61 67 65 29 20 ackage.instanceof.AliasPackage).
d42a0 7b 0a 24 70 61 63 6b 61 67 65 20 3d 20 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 41 6c 69 61 73 4f {.$package.=.$package->getAliasO
d42c0 66 28 29 3b 0a 7d 0a 0a 24 63 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 5b 5d 20 3d 20 24 f();.}..$canonicalPackages[].=.$
d42e0 70 61 63 6b 61 67 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 61 6e 6f 6e 69 63 61 6c 50 61 63 package;.}..return.$canonicalPac
d4300 6b 61 67 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 kages;.}.}.<?php............name
d4320 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 52 65 70 6f 73 69 74 6f 72 79 3b 0a 0a 75 73 65 20 space.Composer\Repository;..use.
d4340 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 Composer\Package\PackageInterfac
d4360 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 57 72 69 74 61 62 6c 65 52 65 70 6f 73 e;.......interface.WritableRepos
d4380 69 74 6f 72 79 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 73 20 52 65 70 6f 73 69 74 6f 72 itoryInterface.extends.Repositor
d43a0 79 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 yInterface.{....public.function.
d43c0 77 72 69 74 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 write();.......public.function.a
d43e0 64 64 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b ddPackage(PackageInterface.$pack
d4400 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f age);.......public.function.remo
d4420 76 65 50 61 63 6b 61 67 65 28 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 70 61 63 6b vePackage(PackageInterface.$pack
d4440 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 age);.......public.function.getC
d4460 61 6e 6f 6e 69 63 61 6c 50 61 63 6b 61 67 65 73 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 anonicalPackages();.....public.f
d4480 75 6e 63 74 69 6f 6e 20 72 65 6c 6f 61 64 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a unction.reload();.}.<?php.......
d44a0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 3b 0a .....namespace.Composer\Script;.
d44c0 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 65 78 74 65 6e 64 73 ......class.CommandEvent.extends
d44e0 20 45 76 65 6e 74 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 .Event.{.}.<?php............name
d4500 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 space.Composer\Script;..use.Comp
d4520 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 oser\Composer;.use.Composer\IO\I
d4540 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 45 76 65 6e 74 44 69 OInterface;.use.Composer\EventDi
d4560 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 20 61 73 20 42 61 73 65 45 76 65 6e 74 3b 0a 0a 0a 0a spatcher\Event.as.BaseEvent;....
d4580 0a 0a 0a 0a 63 6c 61 73 73 20 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 42 61 73 65 45 76 65 6e ....class.Event.extends.BaseEven
d45a0 74 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 0a 0a 0a 0a 70 72 t.{....private.$composer;.....pr
d45c0 69 76 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 65 76 4d 6f 64 65 3b ivate.$io;.....private.$devMode;
d45e0 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 72 69 67 69 6e 61 74 69 6e 67 45 76 65 6e 74 3b 0a .....private.$originatingEvent;.
d4600 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e ...........public.function.__con
d4620 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 43 6f 6d 70 6f 73 65 72 20 24 63 6f 6d 70 6f 73 65 72 struct($name,.Composer.$composer
d4640 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 24 64 65 76 4d 6f 64 65 20 3d 20 66 61 ,.IOInterface.$io,.$devMode.=.fa
d4660 6c 73 65 2c 20 61 72 72 61 79 20 24 61 72 67 73 20 3d 20 61 72 72 61 79 28 29 2c 20 61 72 72 61 lse,.array.$args.=.array(),.arra
d4680 79 20 24 66 6c 61 67 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f y.$flags.=.array()).{.parent::__
d46a0 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 24 61 72 67 73 2c 20 24 66 6c 61 67 73 29 3b construct($name,.$args,.$flags);
d46c0 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 6f 73 65 72 20 3d 20 24 63 6f 6d 70 6f 73 65 72 3b 0a 24 74 .$this->composer.=.$composer;.$t
d46e0 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 20 3d 20 his->io.=.$io;.$this->devMode.=.
d4700 24 64 65 76 4d 6f 64 65 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 61 74 69 6e 67 45 76 65 6e $devMode;.$this->originatingEven
d4720 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f t.=.null;.}.......public.functio
d4740 6e 20 67 65 74 43 6f 6d 70 6f 73 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e n.getComposer().{.return.$this->
d4760 63 6f 6d 70 6f 73 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f composer;.}.......public.functio
d4780 6e 20 67 65 74 49 4f 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 7d 0a n.getIO().{.return.$this->io;.}.
d47a0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 76 4d 6f 64 65 28 ......public.function.isDevMode(
d47c0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 76 4d 6f 64 65 3b 0a 7d 0a 0a 0a 0a ).{.return.$this->devMode;.}....
d47e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 72 69 67 69 6e 61 74 69 6e ...public.function.getOriginatin
d4800 67 45 76 65 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 61 gEvent().{.return.$this->origina
d4820 74 69 6e 67 45 76 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 tingEvent;.}........public.funct
d4840 69 6f 6e 20 73 65 74 4f 72 69 67 69 6e 61 74 69 6e 67 45 76 65 6e 74 28 42 61 73 65 45 76 65 6e ion.setOriginatingEvent(BaseEven
d4860 74 20 24 65 76 65 6e 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 61 74 69 6e 67 45 76 t.$event).{.$this->originatingEv
d4880 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 63 61 6c 63 75 6c 61 74 65 4f 72 69 67 69 6e 61 74 69 6e ent.=.$this->calculateOriginatin
d48a0 67 45 76 65 6e 74 28 24 65 76 65 6e 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d gEvent($event);..return.$this;.}
d48c0 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 63 75 6c 61 ........private.function.calcula
d48e0 74 65 4f 72 69 67 69 6e 61 74 69 6e 67 45 76 65 6e 74 28 42 61 73 65 45 76 65 6e 74 20 24 65 76 teOriginatingEvent(BaseEvent.$ev
d4900 65 6e 74 29 0a 7b 0a 69 66 20 28 24 65 76 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 45 76 65 ent).{.if.($event.instanceof.Eve
d4920 6e 74 20 26 26 20 24 65 76 65 6e 74 2d 3e 67 65 74 4f 72 69 67 69 6e 61 74 69 6e 67 45 76 65 6e nt.&&.$event->getOriginatingEven
d4940 74 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 6c 63 75 6c 61 74 65 4f 72 t()).{.return.$this->calculateOr
d4960 69 67 69 6e 61 74 69 6e 67 45 76 65 6e 74 28 24 65 76 65 6e 74 2d 3e 67 65 74 4f 72 69 67 69 6e iginatingEvent($event->getOrigin
d4980 61 74 69 6e 67 45 76 65 6e 74 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 76 65 6e 74 3b atingEvent());.}..return.$event;
d49a0 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
d49c0 43 6f 6d 70 6f 73 65 72 5c 53 63 72 69 70 74 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 Composer\Script;..use.Composer\I
d49e0 6e 73 74 61 6c 6c 65 72 5c 50 61 63 6b 61 67 65 45 76 65 6e 74 20 61 73 20 42 61 73 65 50 61 63 nstaller\PackageEvent.as.BasePac
d4a00 6b 61 67 65 45 76 65 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 63 6b 61 67 65 45 76 kageEvent;.......class.PackageEv
d4a20 65 6e 74 20 65 78 74 65 6e 64 73 20 42 61 73 65 50 61 63 6b 61 67 65 45 76 65 6e 74 0a 7b 0a 7d ent.extends.BasePackageEvent.{.}
d4a40 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 .<?php............namespace.Comp
d4a60 6f 73 65 72 5c 53 63 72 69 70 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 63 72 69 70 74 oser\Script;........class.Script
d4a80 45 76 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 49 4e 53 54 41 4c Events.{........const.PRE_INSTAL
d4aa0 4c 5f 43 4d 44 20 3d 20 27 70 72 65 2d 69 6e 73 74 61 6c 6c 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a L_CMD.=.'pre-install-cmd';......
d4ac0 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 49 4e 53 54 41 4c 4c 5f 43 4d 44 20 3d 20 27 70 6f 73 ...const.POST_INSTALL_CMD.=.'pos
d4ae0 74 2d 69 6e 73 74 61 6c 6c 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 t-install-cmd';.........const.PR
d4b00 45 5f 55 50 44 41 54 45 5f 43 4d 44 20 3d 20 27 70 72 65 2d 75 70 64 61 74 65 2d 63 6d 64 27 3b E_UPDATE_CMD.=.'pre-update-cmd';
d4b20 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 55 50 44 41 54 45 5f 43 4d 44 20 3d .........const.POST_UPDATE_CMD.=
d4b40 20 27 70 6f 73 74 2d 75 70 64 61 74 65 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 .'post-update-cmd';.........cons
d4b60 74 20 50 52 45 5f 53 54 41 54 55 53 5f 43 4d 44 20 3d 20 27 70 72 65 2d 73 74 61 74 75 73 2d 63 t.PRE_STATUS_CMD.=.'pre-status-c
d4b80 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 53 54 41 54 55 53 5f 43 md';.........const.POST_STATUS_C
d4ba0 4d 44 20 3d 20 27 70 6f 73 74 2d 73 74 61 74 75 73 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a MD.=.'post-status-cmd';.........
d4bc0 63 6f 6e 73 74 20 50 52 45 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 20 3d 20 27 70 72 65 2d 61 const.PRE_AUTOLOAD_DUMP.=.'pre-a
d4be0 75 74 6f 6c 6f 61 64 2d 64 75 6d 70 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 utoload-dump';.........const.POS
d4c00 54 5f 41 55 54 4f 4c 4f 41 44 5f 44 55 4d 50 20 3d 20 27 70 6f 73 74 2d 61 75 74 6f 6c 6f 61 64 T_AUTOLOAD_DUMP.=.'post-autoload
d4c20 2d 64 75 6d 70 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 52 4f 4f 54 5f -dump';.........const.POST_ROOT_
d4c40 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 20 3d 20 27 70 6f 73 74 2d 72 6f 6f 74 2d 70 61 63 PACKAGE_INSTALL.=.'post-root-pac
d4c60 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f kage-install';..........const.PO
d4c80 53 54 5f 43 52 45 41 54 45 5f 50 52 4f 4a 45 43 54 5f 43 4d 44 20 3d 20 27 70 6f 73 74 2d 63 72 ST_CREATE_PROJECT_CMD.=.'post-cr
d4ca0 65 61 74 65 2d 70 72 6f 6a 65 63 74 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 eate-project-cmd';.........const
d4cc0 20 50 52 45 5f 41 52 43 48 49 56 45 5f 43 4d 44 20 3d 20 27 70 72 65 2d 61 72 63 68 69 76 65 2d .PRE_ARCHIVE_CMD.=.'pre-archive-
d4ce0 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 41 52 43 48 49 56 45 cmd';.........const.POST_ARCHIVE
d4d00 5f 43 4d 44 20 3d 20 27 70 6f 73 74 2d 61 72 63 68 69 76 65 2d 63 6d 64 27 3b 0a 0a 0a 0a 0a 0a _CMD.=.'post-archive-cmd';......
d4d20 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 20 ......const.PRE_PACKAGE_INSTALL.
d4d40 3d 20 27 70 72 65 2d 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a =.'pre-package-install';........
d4d60 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 49 4e 53 54 41 4c 4c 20 3d 20 27 ..const.POST_PACKAGE_INSTALL.=.'
d4d80 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a post-package-install';..........
d4da0 63 6f 6e 73 74 20 50 52 45 5f 50 41 43 4b 41 47 45 5f 55 50 44 41 54 45 20 3d 20 27 70 72 65 2d const.PRE_PACKAGE_UPDATE.=.'pre-
d4dc0 70 61 63 6b 61 67 65 2d 75 70 64 61 74 65 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 package-update';..........const.
d4de0 50 4f 53 54 5f 50 41 43 4b 41 47 45 5f 55 50 44 41 54 45 20 3d 20 27 70 6f 73 74 2d 70 61 63 6b POST_PACKAGE_UPDATE.=.'post-pack
d4e00 61 67 65 2d 75 70 64 61 74 65 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 52 45 5f age-update';..........const.PRE_
d4e20 50 41 43 4b 41 47 45 5f 55 4e 49 4e 53 54 41 4c 4c 20 3d 20 27 70 72 65 2d 70 61 63 6b 61 67 65 PACKAGE_UNINSTALL.=.'pre-package
d4e40 2d 75 6e 69 6e 73 74 61 6c 6c 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 50 4f 53 54 -uninstall';..........const.POST
d4e60 5f 50 41 43 4b 41 47 45 5f 55 4e 49 4e 53 54 41 4c 4c 20 3d 20 27 70 6f 73 74 2d 70 61 63 6b 61 _PACKAGE_UNINSTALL.=.'post-packa
d4e80 67 65 2d 75 6e 69 6e 73 74 61 6c 6c 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ge-uninstall';.}.<?php..........
d4ea0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 3b ..namespace.Composer\SelfUpdate;
d4ec0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4b 65 79 73 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 .....class.Keys.{.public.static.
d4ee0 66 75 6e 63 74 69 6f 6e 20 66 69 6e 67 65 72 70 72 69 6e 74 28 24 70 61 74 68 29 0a 7b 0a 24 68 function.fingerprint($path).{.$h
d4f00 61 73 68 20 3d 20 73 74 72 74 6f 75 70 70 65 72 28 68 61 73 68 28 27 73 68 61 32 35 36 27 2c 20 ash.=.strtoupper(hash('sha256',.
d4f20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5c 73 7d 27 2c 20 27 27 2c 20 66 69 6c 65 5f 67 65 preg_replace('{\s}',.'',.file_ge
d4f40 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 61 74 68 29 29 29 29 3b 0a 0a 72 65 74 75 72 6e 20 69 6d t_contents($path))));..return.im
d4f60 70 6c 6f 64 65 28 27 20 27 2c 20 61 72 72 61 79 28 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 plode('.',.array(.substr($hash,.
d4f80 30 2c 20 38 29 2c 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 38 2c 20 38 29 2c 0a 73 75 62 73 0,.8),.substr($hash,.8,.8),.subs
d4fa0 74 72 28 24 68 61 73 68 2c 20 31 36 2c 20 38 29 2c 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 tr($hash,.16,.8),.substr($hash,.
d4fc0 32 34 2c 20 38 29 2c 0a 27 27 2c 20 0a 20 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 33 32 2c 20 24,.8),.'',...substr($hash,.32,.
d4fe0 38 29 2c 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 34 30 2c 20 38 29 2c 0a 73 75 62 73 74 72 8),.substr($hash,.40,.8),.substr
d5000 28 24 68 61 73 68 2c 20 34 38 2c 20 38 29 2c 0a 73 75 62 73 74 72 28 24 68 61 73 68 2c 20 35 36 ($hash,.48,.8),.substr($hash,.56
d5020 2c 20 38 29 2c 0a 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e ,.8),.));.}.}.<?php............n
d5040 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6c 66 55 70 64 61 74 65 3b 0a 0a 75 amespace.Composer\SelfUpdate;..u
d5060 73 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 5c 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 se.Composer\Util\RemoteFilesyste
d5080 6d 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 m;.use.Composer\Config;.use.Comp
d50a0 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 65 oser\Json\JsonFile;.....class.Ve
d50c0 72 73 69 6f 6e 73 0a 7b 0a 70 72 69 76 61 74 65 20 24 72 66 73 3b 0a 70 72 69 76 61 74 65 20 24 rsions.{.private.$rfs;.private.$
d50e0 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 63 68 61 6e 6e 65 6c 3b 0a 0a 70 75 62 6c 69 config;.private.$channel;..publi
d5100 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6e 66 69 67 20 24 63 c.function.__construct(Config.$c
d5120 6f 6e 66 69 67 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 66 73 29 0a 7b 0a onfig,.RemoteFilesystem.$rfs).{.
d5140 24 74 68 69 73 2d 3e 72 66 73 20 3d 20 24 72 66 73 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 $this->rfs.=.$rfs;.$this->config
d5160 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 .=.$config;.}..public.function.g
d5180 65 74 43 68 61 6e 6e 65 6c 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c etChannel().{.if.($this->channel
d51a0 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 3b 0a 7d 0a 0a 24 63 ).{.return.$this->channel;.}..$c
d51c0 68 61 6e 6e 65 6c 46 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 hannelFile.=.$this->config->get(
d51e0 27 68 6f 6d 65 27 29 2e 27 2f 75 70 64 61 74 65 2d 63 68 61 6e 6e 65 6c 27 3b 0a 69 66 20 28 66 'home').'/update-channel';.if.(f
d5200 69 6c 65 5f 65 78 69 73 74 73 28 24 63 68 61 6e 6e 65 6c 46 69 6c 65 29 29 20 7b 0a 24 63 68 61 ile_exists($channelFile)).{.$cha
d5220 6e 6e 65 6c 20 3d 20 74 72 69 6d 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 63 nnel.=.trim(file_get_contents($c
d5240 68 61 6e 6e 65 6c 46 69 6c 65 29 29 3b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 63 68 61 6e hannelFile));.if.(in_array($chan
d5260 6e 65 6c 2c 20 61 72 72 61 79 28 27 73 74 61 62 6c 65 27 2c 20 27 70 72 65 76 69 65 77 27 2c 20 nel,.array('stable',.'preview',.
d5280 27 73 6e 61 70 73 68 6f 74 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 'snapshot'),.true)).{.return.$th
d52a0 69 73 2d 3e 63 68 61 6e 6e 65 6c 20 3d 20 24 63 68 61 6e 6e 65 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 is->channel.=.$channel;.}.}..ret
d52c0 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 20 3d 20 27 73 74 61 62 6c 65 27 3b 0a 7d urn.$this->channel.=.'stable';.}
d52e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 68 61 6e 6e 65 6c 28 24 63 68 ..public.function.setChannel($ch
d5300 61 6e 6e 65 6c 29 0a 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 63 68 61 6e 6e 65 6c 2c annel).{.if.(!in_array($channel,
d5320 20 61 72 72 61 79 28 27 73 74 61 62 6c 65 27 2c 20 27 70 72 65 76 69 65 77 27 2c 20 27 73 6e 61 .array('stable',.'preview',.'sna
d5340 70 73 68 6f 74 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 pshot'),.true)).{.throw.new.\Inv
d5360 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 63 alidArgumentException('Invalid.c
d5380 68 61 6e 6e 65 6c 20 27 2e 24 63 68 61 6e 6e 65 6c 2e 27 2c 20 6d 75 73 74 20 62 65 20 6f 6e 65 hannel.'.$channel.',.must.be.one
d53a0 20 6f 66 3a 20 73 74 61 62 6c 65 2c 20 70 72 65 76 69 65 77 2c 20 73 6e 61 70 73 68 6f 74 27 29 .of:.stable,.preview,.snapshot')
d53c0 3b 0a 7d 0a 0a 24 63 68 61 6e 6e 65 6c 46 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 ;.}..$channelFile.=.$this->confi
d53e0 67 2d 3e 67 65 74 28 27 68 6f 6d 65 27 29 2e 27 2f 75 70 64 61 74 65 2d 63 68 61 6e 6e 65 6c 27 g->get('home').'/update-channel'
d5400 3b 0a 24 74 68 69 73 2d 3e 63 68 61 6e 6e 65 6c 20 3d 20 24 63 68 61 6e 6e 65 6c 3b 0a 66 69 6c ;.$this->channel.=.$channel;.fil
d5420 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 63 68 61 6e 6e 65 6c 46 69 6c 65 2c 20 24 63 68 e_put_contents($channelFile,.$ch
d5440 61 6e 6e 65 6c 2e 50 48 50 5f 45 4f 4c 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 annel.PHP_EOL);.}..public.functi
d5460 6f 6e 20 67 65 74 4c 61 74 65 73 74 28 29 0a 7b 0a 24 70 72 6f 74 6f 63 6f 6c 20 3d 20 65 78 74 on.getLatest().{.$protocol.=.ext
d5480 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 6e 73 73 6c 27 29 20 3f 20 27 68 74 74 70 ension_loaded('openssl').?.'http
d54a0 73 27 20 3a 20 27 68 74 74 70 27 3b 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 4a 73 6f 6e 46 69 6c s'.:.'http';.$versions.=.JsonFil
d54c0 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 74 68 69 73 2d 3e 72 66 73 2d 3e 67 65 74 43 6f 6e 74 e::parseJson($this->rfs->getCont
d54e0 65 6e 74 73 28 27 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 27 2c 20 24 70 72 6f 74 6f 63 6f ents('getcomposer.org',.$protoco
d5500 6c 20 2e 20 27 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 76 65 72 73 69 6f 6e 73 l...'://getcomposer.org/versions
d5520 27 2c 20 66 61 6c 73 65 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 76 65 72 73 69 6f 6e 73 5b ',.false));..foreach.($versions[
d5540 24 74 68 69 73 2d 3e 67 65 74 43 68 61 6e 6e 65 6c 28 29 5d 20 61 73 20 24 76 65 72 73 69 6f 6e $this->getChannel()].as.$version
d5560 29 20 7b 0a 69 66 20 28 24 76 65 72 73 69 6f 6e 5b 27 6d 69 6e 2d 70 68 70 27 5d 20 3c 3d 20 50 ).{.if.($version['min-php'].<=.P
d5580 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e HP_VERSION_ID).{.return.$version
d55a0 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e ;.}.}..throw.new.\LogicException
d55c0 28 27 54 68 65 72 65 20 69 73 20 6e 6f 20 76 65 72 73 69 6f 6e 20 6f 66 20 43 6f 6d 70 6f 73 65 ('There.is.no.version.of.Compose
d55e0 72 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 79 6f 75 72 20 50 48 50 20 76 65 72 73 69 6f 6e r.available.for.your.PHP.version
d5600 20 28 27 2e 50 48 50 5f 56 45 52 53 49 4f 4e 2e 27 29 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a .('.PHP_VERSION.')');.}.}.<?php.
d5620 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 ...........namespace.Composer\Ut
d5640 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f il;..use.Composer\Config;.use.Co
d5660 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 mposer\IO\IOInterface;.....class
d5680 20 41 75 74 68 48 65 6c 70 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f .AuthHelper.{.protected.$io;.pro
d56a0 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e tected.$config;..public.function
d56c0 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f .__construct(IOInterface.$io,.Co
d56e0 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b nfig.$config).{.$this->io.=.$io;
d5700 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 7d 0a 0a 70 75 62 .$this->config.=.$config;.}..pub
d5720 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 72 65 41 75 74 68 28 24 6f 72 69 67 69 6e 55 72 lic.function.storeAuth($originUr
d5740 6c 2c 20 24 73 74 6f 72 65 41 75 74 68 29 0a 7b 0a 24 73 74 6f 72 65 20 3d 20 66 61 6c 73 65 3b l,.$storeAuth).{.$store.=.false;
d5760 0a 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e .$configSource.=.$this->config->
d5780 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 3b 0a 69 66 20 28 24 73 74 6f 72 getAuthConfigSource();.if.($stor
d57a0 65 41 75 74 68 20 3d 3d 3d 20 74 72 75 65 29 20 7b 0a 24 73 74 6f 72 65 20 3d 20 24 63 6f 6e 66 eAuth.===.true).{.$store.=.$conf
d57c0 69 67 53 6f 75 72 63 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 73 74 6f 72 65 41 75 74 68 20 3d igSource;.}.elseif.($storeAuth.=
d57e0 3d 3d 20 27 70 72 6f 6d 70 74 27 29 20 7b 0a 24 61 6e 73 77 65 72 20 3d 20 24 74 68 69 73 2d 3e ==.'prompt').{.$answer.=.$this->
d5800 69 6f 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 0a 27 44 6f 20 79 6f 75 20 77 61 6e 74 io->askAndValidate(.'Do.you.want
d5820 20 74 6f 20 73 74 6f 72 65 20 63 72 65 64 65 6e 74 69 61 6c 73 20 66 6f 72 20 27 2e 24 6f 72 69 .to.store.credentials.for.'.$ori
d5840 67 69 6e 55 72 6c 2e 27 20 69 6e 20 27 2e 24 63 6f 6e 66 69 67 53 6f 75 72 63 65 2d 3e 67 65 74 ginUrl.'.in.'.$configSource->get
d5860 4e 61 6d 65 28 29 2e 27 20 3f 20 5b 59 6e 5d 20 27 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 Name().'.?.[Yn].',.function.($va
d5880 6c 75 65 29 20 7b 0a 24 69 6e 70 75 74 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 73 75 62 73 74 lue).{.$input.=.strtolower(subst
d58a0 72 28 74 72 69 6d 28 24 76 61 6c 75 65 29 2c 20 30 2c 20 31 29 29 3b 0a 69 66 20 28 69 6e 5f 61 r(trim($value),.0,.1));.if.(in_a
d58c0 72 72 61 79 28 24 69 6e 70 75 74 2c 20 61 72 72 61 79 28 27 79 27 2c 27 6e 27 29 29 29 20 7b 0a rray($input,.array('y','n'))).{.
d58e0 72 65 74 75 72 6e 20 24 69 6e 70 75 74 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 return.$input;.}.throw.new.\Runt
d5900 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 50 6c 65 61 73 65 20 61 6e 73 77 65 72 20 28 79 29 65 imeException('Please.answer.(y)e
d5920 73 20 6f 72 20 28 6e 29 6f 27 29 3b 0a 7d 2c 0a 6e 75 6c 6c 2c 0a 27 79 27 0a 29 3b 0a 0a 69 66 s.or.(n)o');.},.null,.'y'.);..if
d5940 20 28 24 61 6e 73 77 65 72 20 3d 3d 3d 20 27 79 27 29 20 7b 0a 24 73 74 6f 72 65 20 3d 20 24 63 .($answer.===.'y').{.$store.=.$c
d5960 6f 6e 66 69 67 53 6f 75 72 63 65 3b 0a 7d 0a 7d 0a 69 66 20 28 24 73 74 6f 72 65 29 20 7b 0a 24 onfigSource;.}.}.if.($store).{.$
d5980 73 74 6f 72 65 2d 3e 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 0a 27 68 74 74 70 2d 62 store->addConfigSetting(.'http-b
d59a0 61 73 69 63 2e 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2c 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 asic.'.$originUrl,.$this->io->ge
d59c0 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 0a 29 3b 0a 7d tAuthentication($originUrl).);.}
d59e0 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
d5a00 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 Composer\Util;..use.Composer\Fac
d5a20 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 tory;.use.Composer\IO\IOInterfac
d5a40 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 e;.use.Composer\Config;.use.Comp
d5a60 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 oser\Downloader\TransportExcepti
d5a80 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 69 74 62 75 63 6b 65 74 0a 7b 0a 70 72 69 76 61 74 on;.....class.Bitbucket.{.privat
d5aa0 65 20 24 69 6f 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 e.$io;.private.$config;.private.
d5ac0 24 70 72 6f 63 65 73 73 3b 0a 70 72 69 76 61 74 65 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 $process;.private.$remoteFilesys
d5ae0 74 65 6d 3b 0a 70 72 69 76 61 74 65 20 24 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 tem;.private.$token.=.array();.p
d5b00 72 69 76 61 74 65 20 24 74 69 6d 65 3b 0a 0a 63 6f 6e 73 74 20 4f 41 55 54 48 32 5f 41 43 43 45 rivate.$time;..const.OAUTH2_ACCE
d5b20 53 53 5f 54 4f 4b 45 4e 5f 55 52 4c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 62 69 74 62 75 63 6b 65 SS_TOKEN_URL.=.'https://bitbucke
d5b40 74 2e 6f 72 67 2f 73 69 74 65 2f 6f 61 75 74 68 32 2f 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 3b t.org/site/oauth2/access_token';
d5b60 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e ...........public.function.__con
d5b80 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 struct(IOInterface.$io,.Config.$
d5ba0 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 config,.ProcessExecutor.$process
d5bc0 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 65 6d 6f 74 .=.null,.RemoteFilesystem.$remot
d5be0 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 2c 20 24 74 69 6d 65 20 3d 20 6e 75 6c 6c eFilesystem.=.null,.$time.=.null
d5c00 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 ).{.$this->io.=.$io;.$this->conf
d5c20 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 ig.=.$config;.$this->process.=.$
d5c40 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 process.?:.new.ProcessExecutor($
d5c60 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 io);.$this->remoteFilesystem.=.$
d5c80 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 remoteFilesystem.?:.Factory::cre
d5ca0 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 ateRemoteFilesystem($this->io,.$
d5cc0 63 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 74 69 6d 65 20 3d 20 24 74 69 6d 65 3b 0a 7d 0a config);.$this->time.=.$time;.}.
d5ce0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 6f 6b 65 6e 28 29 0a 7b ....public.function.getToken().{
d5d00 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 61 63 63 65 73 73 .if.(!isset($this->token['access
d5d20 5f 74 6f 6b 65 6e 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 72 65 74 75 72 _token'])).{.return.'';.}..retur
d5d40 6e 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 5d 3b 0a n.$this->token['access_token'];.
d5d60 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 69 }........public.function.authori
d5d80 7a 65 4f 41 75 74 68 28 24 6f 72 69 67 69 6e 55 72 6c 29 0a 7b 0a 69 66 20 28 24 6f 72 69 67 69 zeOAuth($originUrl).{.if.($origi
d5da0 6e 55 72 6c 20 21 3d 3d 20 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 29 20 7b 0a 72 65 74 75 nUrl.!==.'bitbucket.org').{.retu
d5dc0 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e rn.false;.}....if.(0.===.$this->
d5de0 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 63 6f 6e 66 69 67 20 62 69 74 process->execute('git.config.bit
d5e00 62 75 63 6b 65 74 2e 61 63 63 65 73 73 74 6f 6b 65 6e 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b bucket.accesstoken',.$output)).{
d5e20 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f .$this->io->setAuthentication($o
d5e40 72 69 67 69 6e 55 72 6c 2c 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 74 68 27 2c 20 74 72 69 6d 28 24 riginUrl,.'x-token-auth',.trim($
d5e60 6f 75 74 70 75 74 29 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 output));..return.true;.}..retur
d5e80 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e n.false;.}......private.function
d5ea0 20 72 65 71 75 65 73 74 41 63 63 65 73 73 54 6f 6b 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 0a .requestAccessToken($originUrl).
d5ec0 7b 0a 74 72 79 20 7b 0a 24 6a 73 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c {.try.{.$json.=.$this->remoteFil
d5ee0 65 73 79 73 74 65 6d 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c esystem->getContents($originUrl,
d5f00 20 73 65 6c 66 3a 3a 4f 41 55 54 48 32 5f 41 43 43 45 53 53 5f 54 4f 4b 45 4e 5f 55 52 4c 2c 20 .self::OAUTH2_ACCESS_TOKEN_URL,.
d5f20 66 61 6c 73 65 2c 20 61 72 72 61 79 28 0a 27 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 false,.array(.'retry-auth-failur
d5f40 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 68 74 74 70 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 6d e'.=>.false,.'http'.=>.array(.'m
d5f60 65 74 68 6f 64 27 20 3d 3e 20 27 50 4f 53 54 27 2c 0a 27 63 6f 6e 74 65 6e 74 27 20 3d 3e 20 27 ethod'.=>.'POST',.'content'.=>.'
d5f80 67 72 61 6e 74 5f 74 79 70 65 3d 63 6c 69 65 6e 74 5f 63 72 65 64 65 6e 74 69 61 6c 73 27 2c 0a grant_type=client_credentials',.
d5fa0 29 2c 0a 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f ),.));..$this->token.=.json_deco
d5fc0 64 65 28 24 6a 73 6f 6e 2c 20 74 72 75 65 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 de($json,.true);.}.catch.(Transp
d5fe0 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 2d 3e 67 65 74 43 6f ortException.$e).{.if.($e->getCo
d6000 64 65 28 29 20 3d 3d 3d 20 34 30 30 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 de().===.400).{.$this->io->write
d6020 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 49 6e 76 61 6c 69 64 20 4f 41 75 74 68 20 63 6f 6e 73 Error('<error>Invalid.OAuth.cons
d6040 75 6d 65 72 20 70 72 6f 76 69 64 65 64 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d umer.provided.</error>');.$this-
d6060 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 54 68 69 73 20 63 61 6e 20 68 61 76 65 20 74 >io->writeError('This.can.have.t
d6080 77 6f 20 72 65 61 73 6f 6e 73 3a 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 wo.reasons:');.$this->io->writeE
d60a0 72 72 6f 72 28 27 31 2e 20 59 6f 75 20 61 72 65 20 61 75 74 68 65 6e 74 69 63 61 74 69 6e 67 20 rror('1..You.are.authenticating.
d60c0 77 69 74 68 20 61 20 62 69 74 62 75 63 6b 65 74 20 75 73 65 72 6e 61 6d 65 2f 70 61 73 73 77 6f with.a.bitbucket.username/passwo
d60e0 72 64 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 rd.combination');.$this->io->wri
d6100 74 65 45 72 72 6f 72 28 27 32 2e 20 59 6f 75 20 61 72 65 20 75 73 69 6e 67 20 61 6e 20 4f 41 75 teError('2..You.are.using.an.OAu
d6120 74 68 20 63 6f 6e 73 75 6d 65 72 2c 20 62 75 74 20 64 69 64 6e 5c 27 74 20 63 6f 6e 66 69 67 75 th.consumer,.but.didn\'t.configu
d6140 72 65 20 61 20 28 64 75 6d 6d 79 29 20 63 61 6c 6c 62 61 63 6b 20 75 72 6c 27 29 3b 0a 0a 72 65 re.a.(dummy).callback.url');..re
d6160 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 turn.false;.}.elseif.(in_array($
d6180 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 20 61 72 72 61 79 28 34 30 33 2c 20 34 30 31 29 29 29 20 e->getCode(),.array(403,.401))).
d61a0 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e {.$this->io->writeError('<error>
d61c0 49 6e 76 61 6c 69 64 20 4f 41 75 74 68 20 63 6f 6e 73 75 6d 65 72 20 70 72 6f 76 69 64 65 64 2e Invalid.OAuth.consumer.provided.
d61e0 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f </error>');.$this->io->writeErro
d6200 72 28 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 61 64 64 20 69 74 20 6d 61 6e 75 61 6c 6c 79 20 r('You.can.also.add.it.manually.
d6220 6c 61 74 65 72 20 62 79 20 75 73 69 6e 67 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 later.by.using."composer.config.
d6240 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 61 75 74 68 20 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 2e --global.--auth.bitbucket-oauth.
d6260 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 20 3c 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 3e 20 3c 63 6f bitbucket.org.<consumer-key>.<co
d6280 6e 73 75 6d 65 72 2d 73 65 63 72 65 74 3e 22 27 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 nsumer-secret>"');..return.false
d62a0 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d ;.}..throw.$e;.}..return.true;.}
d62c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f ...........public.function.autho
d62e0 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 6f 72 69 67 69 6e 55 72 rizeOAuthInteractively($originUr
d6300 6c 2c 20 24 6d 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6d 65 73 73 61 l,.$message.=.null).{.if.($messa
d6320 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 ge).{.$this->io->writeError($mes
d6340 73 61 67 65 29 3b 0a 7d 0a 0a 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 63 6f 6e 66 6c 75 sage);.}..$url.=.'https://conflu
d6360 65 6e 63 65 2e 61 74 6c 61 73 73 69 61 6e 2e 63 6f 6d 2f 62 69 74 62 75 63 6b 65 74 2f 6f 61 75 ence.atlassian.com/bitbucket/oau
d6380 74 68 2d 6f 6e 2d 62 69 74 62 75 63 6b 65 74 2d 63 6c 6f 75 64 2d 32 33 38 30 32 37 34 33 31 2e th-on-bitbucket-cloud-238027431.
d63a0 68 74 6d 6c 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 html';.$this->io->writeError(spr
d63c0 69 6e 74 66 28 27 46 6f 6c 6c 6f 77 20 74 68 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 6f 6e intf('Follow.the.instructions.on
d63e0 20 25 73 27 2c 20 24 75 72 6c 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 .%s',.$url));.$this->io->writeEr
d6400 72 6f 72 28 73 70 72 69 6e 74 66 28 27 74 6f 20 63 72 65 61 74 65 20 61 20 63 6f 6e 73 75 6d 65 ror(sprintf('to.create.a.consume
d6420 72 2e 20 49 74 20 77 69 6c 6c 20 62 65 20 73 74 6f 72 65 64 20 69 6e 20 22 25 73 22 20 66 6f 72 r..It.will.be.stored.in."%s".for
d6440 20 66 75 74 75 72 65 20 75 73 65 20 62 79 20 43 6f 6d 70 6f 73 65 72 2e 27 2c 20 24 74 68 69 73 .future.use.by.Composer.',.$this
d6460 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d ->config->getAuthConfigSource()-
d6480 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 >getName()));.$this->io->writeEr
d64a0 72 6f 72 28 27 45 6e 73 75 72 65 20 79 6f 75 20 65 6e 74 65 72 20 61 20 22 43 61 6c 6c 62 61 63 ror('Ensure.you.enter.a."Callbac
d64c0 6b 20 55 52 4c 22 20 28 68 74 74 70 3a 2f 2f 65 78 61 6d 70 6c 65 2e 63 6f 6d 20 69 73 20 66 69 k.URL".(http://example.com.is.fi
d64e0 6e 65 29 20 6f 72 20 69 74 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 70 6f 73 73 69 62 6c 65 20 74 ne).or.it.will.not.be.possible.t
d6500 6f 20 63 72 65 61 74 65 20 61 6e 20 41 63 63 65 73 73 20 54 6f 6b 65 6e 20 28 74 68 69 73 20 63 o.create.an.Access.Token.(this.c
d6520 61 6c 6c 62 61 63 6b 20 75 72 6c 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 75 73 65 64 20 62 79 20 allback.url.will.not.be.used.by.
d6540 63 6f 6d 70 6f 73 65 72 29 27 29 3b 0a 0a 24 63 6f 6e 73 75 6d 65 72 4b 65 79 20 3d 20 74 72 69 composer)');..$consumerKey.=.tri
d6560 6d 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 43 m($this->io->askAndHideAnswer('C
d6580 6f 6e 73 75 6d 65 72 20 4b 65 79 20 28 68 69 64 64 65 6e 29 3a 20 27 29 29 3b 0a 0a 69 66 20 28 onsumer.Key.(hidden):.'));..if.(
d65a0 21 24 63 6f 6e 73 75 6d 65 72 4b 65 79 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 !$consumerKey).{.$this->io->writ
d65c0 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 6e 67 3e 4e 6f 20 63 6f 6e 73 75 6d 65 72 20 6b 65 79 eError('<warning>No.consumer.key
d65e0 20 67 69 76 65 6e 2c 20 61 62 6f 72 74 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 .given,.aborting.</warning>');.$
d6600 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 59 6f 75 20 63 61 6e 20 61 6c this->io->writeError('You.can.al
d6620 73 6f 20 61 64 64 20 69 74 20 6d 61 6e 75 61 6c 6c 79 20 6c 61 74 65 72 20 62 79 20 75 73 69 6e so.add.it.manually.later.by.usin
d6640 67 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 61 75 g."composer.config.--global.--au
d6660 74 68 20 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 th.bitbucket-oauth.bitbucket.org
d6680 20 3c 63 6f 6e 73 75 6d 65 72 2d 6b 65 79 3e 20 3c 63 6f 6e 73 75 6d 65 72 2d 73 65 63 72 65 74 .<consumer-key>.<consumer-secret
d66a0 3e 22 27 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 63 6f 6e 73 75 6d 65 >"');..return.false;.}..$consume
d66c0 72 53 65 63 72 65 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 rSecret.=.trim($this->io->askAnd
d66e0 48 69 64 65 41 6e 73 77 65 72 28 27 43 6f 6e 73 75 6d 65 72 20 53 65 63 72 65 74 20 28 68 69 64 HideAnswer('Consumer.Secret.(hid
d6700 64 65 6e 29 3a 20 27 29 29 3b 0a 0a 69 66 20 28 21 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 den):.'));..if.(!$consumerSecret
d6720 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e ).{.$this->io->writeError('<warn
d6740 69 6e 67 3e 4e 6f 20 63 6f 6e 73 75 6d 65 72 20 73 65 63 72 65 74 20 67 69 76 65 6e 2c 20 61 62 ing>No.consumer.secret.given,.ab
d6760 6f 72 74 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e orting.</warning>');.$this->io->
d6780 77 72 69 74 65 45 72 72 6f 72 28 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 61 64 64 20 69 74 20 writeError('You.can.also.add.it.
d67a0 6d 61 6e 75 61 6c 6c 79 20 6c 61 74 65 72 20 62 79 20 75 73 69 6e 67 20 22 63 6f 6d 70 6f 73 65 manually.later.by.using."compose
d67c0 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 61 75 74 68 20 62 69 74 62 75 63 6b r.config.--global.--auth.bitbuck
d67e0 65 74 2d 6f 61 75 74 68 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 20 3c 63 6f 6e 73 75 6d 65 72 et-oauth.bitbucket.org.<consumer
d6800 2d 6b 65 79 3e 20 3c 63 6f 6e 73 75 6d 65 72 2d 73 65 63 72 65 74 3e 22 27 29 3b 0a 0a 72 65 74 -key>.<consumer-secret>"');..ret
d6820 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 urn.false;.}..$this->io->setAuth
d6840 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 entication($originUrl,.$consumer
d6860 4b 65 79 2c 20 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 3b 0a 0a 69 66 20 28 21 24 74 68 Key,.$consumerSecret);..if.(!$th
d6880 69 73 2d 3e 72 65 71 75 65 73 74 41 63 63 65 73 73 54 6f 6b 65 6e 28 24 6f 72 69 67 69 6e 55 72 is->requestAccessToken($originUr
d68a0 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e l)).{.return.false;.}....$this->
d68c0 73 74 6f 72 65 49 6e 41 75 74 68 43 6f 6e 66 69 67 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 storeInAuthConfig($originUrl,.$c
d68e0 6f 6e 73 75 6d 65 72 4b 65 79 2c 20 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 3b 0a 0a 0a onsumerKey,.$consumerSecret);...
d6900 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 .$this->config->getAuthConfigSou
d6920 72 63 65 28 29 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 27 68 74 74 70 rce()->removeConfigSetting('http
d6940 2d 62 61 73 69 63 2e 27 20 2e 20 24 6f 72 69 67 69 6e 55 72 6c 29 3b 0a 0a 24 74 68 69 73 2d 3e -basic.'...$originUrl);..$this->
d6960 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 43 6f 6e 73 75 6d 65 72 20 73 io->writeError('<info>Consumer.s
d6980 74 6f 72 65 64 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 72 tored.successfully.</info>');..r
d69a0 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 eturn.true;.}..........public.fu
d69c0 6e 63 74 69 6f 6e 20 72 65 71 75 65 73 74 54 6f 6b 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 nction.requestToken($originUrl,.
d69e0 24 63 6f 6e 73 75 6d 65 72 4b 65 79 2c 20 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 0a 7b $consumerKey,.$consumerSecret).{
d6a00 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 29 20 7c 7c 20 24 74 68 .if.(!empty($this->token).||.$th
d6a20 69 73 2d 3e 67 65 74 54 6f 6b 65 6e 46 72 6f 6d 43 6f 6e 66 69 67 28 24 6f 72 69 67 69 6e 55 72 is->getTokenFromConfig($originUr
d6a40 6c 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 61 63 63 65 73 l)).{.return.$this->token['acces
d6a60 73 5f 74 6f 6b 65 6e 27 5d 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 s_token'];.}..$this->io->setAuth
d6a80 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 entication($originUrl,.$consumer
d6aa0 4b 65 79 2c 20 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 3b 0a 69 66 20 28 21 24 74 68 69 Key,.$consumerSecret);.if.(!$thi
d6ac0 73 2d 3e 72 65 71 75 65 73 74 41 63 63 65 73 73 54 6f 6b 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c s->requestAccessToken($originUrl
d6ae0 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 74 6f 72 65 49 )).{.return.'';.}..$this->storeI
d6b00 6e 41 75 74 68 43 6f 6e 66 69 67 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 nAuthConfig($originUrl,.$consume
d6b20 72 4b 65 79 2c 20 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 3b 0a 0a 72 65 74 75 72 6e 20 rKey,.$consumerSecret);..return.
d6b40 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 5d 3b 0a 7d 0a $this->token['access_token'];.}.
d6b60 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 72 65 49 6e 41 .......private.function.storeInA
d6b80 75 74 68 43 6f 6e 66 69 67 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 4b uthConfig($originUrl,.$consumerK
d6ba0 65 79 2c 20 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f ey,.$consumerSecret).{.$this->co
d6bc0 6e 66 69 67 2d 3e 67 65 74 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 72 65 6d 6f 76 65 43 nfig->getConfigSource()->removeC
d6be0 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 2e 27 2e onfigSetting('bitbucket-oauth.'.
d6c00 24 6f 72 69 67 69 6e 55 72 6c 29 3b 0a 0a 24 74 69 6d 65 20 3d 20 6e 75 6c 6c 20 3d 3d 3d 20 24 $originUrl);..$time.=.null.===.$
d6c20 74 68 69 73 2d 3e 74 69 6d 65 20 3f 20 74 69 6d 65 28 29 20 3a 20 24 74 68 69 73 2d 3e 74 69 6d this->time.?.time().:.$this->tim
d6c40 65 3b 0a 24 63 6f 6e 73 75 6d 65 72 20 3d 20 61 72 72 61 79 28 0a 22 63 6f 6e 73 75 6d 65 72 2d e;.$consumer.=.array(."consumer-
d6c60 6b 65 79 22 20 3d 3e 20 24 63 6f 6e 73 75 6d 65 72 4b 65 79 2c 0a 22 63 6f 6e 73 75 6d 65 72 2d key".=>.$consumerKey,."consumer-
d6c80 73 65 63 72 65 74 22 20 3d 3e 20 24 63 6f 6e 73 75 6d 65 72 53 65 63 72 65 74 2c 0a 22 61 63 63 secret".=>.$consumerSecret,."acc
d6ca0 65 73 73 2d 74 6f 6b 65 6e 22 20 3d 3e 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 61 63 63 65 ess-token".=>.$this->token['acce
d6cc0 73 73 5f 74 6f 6b 65 6e 27 5d 2c 0a 22 61 63 63 65 73 73 2d 74 6f 6b 65 6e 2d 65 78 70 69 72 61 ss_token'],."access-token-expira
d6ce0 74 69 6f 6e 22 20 3d 3e 20 24 74 69 6d 65 20 2b 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 5b 27 65 tion".=>.$time.+.$this->token['e
d6d00 78 70 69 72 65 73 5f 69 6e 27 5d 2c 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e xpires_in'],.);..$this->config->
d6d20 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 61 64 64 43 6f 6e 66 69 67 getAuthConfigSource()->addConfig
d6d40 53 65 74 74 69 6e 67 28 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 2e 27 2e 24 6f 72 69 67 Setting('bitbucket-oauth.'.$orig
d6d60 69 6e 55 72 6c 2c 20 24 63 6f 6e 73 75 6d 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 inUrl,.$consumer);.}......privat
d6d80 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 6f 6b 65 6e 46 72 6f 6d 43 6f 6e 66 69 67 28 24 6f e.function.getTokenFromConfig($o
d6da0 72 69 67 69 6e 55 72 6c 29 0a 7b 0a 24 61 75 74 68 43 6f 6e 66 69 67 20 3d 20 24 74 68 69 73 2d riginUrl).{.$authConfig.=.$this-
d6dc0 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 62 69 74 62 75 63 6b 65 74 2d 6f 61 75 74 68 27 29 3b >config->get('bitbucket-oauth');
d6de0 0a 0a 69 66 20 28 0a 21 69 73 73 65 74 28 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 6f 72 69 67 69 ..if.(.!isset($authConfig[$origi
d6e00 6e 55 72 6c 5d 5b 27 61 63 63 65 73 73 2d 74 6f 6b 65 6e 27 5d 29 0a 7c 7c 20 21 69 73 73 65 74 nUrl]['access-token']).||.!isset
d6e20 28 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 6f 72 69 67 69 6e 55 72 6c 5d 5b 27 61 63 63 65 73 73 ($authConfig[$originUrl]['access
d6e40 2d 74 6f 6b 65 6e 2d 65 78 70 69 72 61 74 69 6f 6e 27 5d 29 0a 7c 7c 20 74 69 6d 65 28 29 20 3e -token-expiration']).||.time().>
d6e60 20 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 6f 72 69 67 69 6e 55 72 6c 5d 5b 27 61 63 63 65 73 73 .$authConfig[$originUrl]['access
d6e80 2d 74 6f 6b 65 6e 2d 65 78 70 69 72 61 74 69 6f 6e 27 5d 0a 29 20 7b 0a 72 65 74 75 72 6e 20 66 -token-expiration'].).{.return.f
d6ea0 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 0a 27 alse;.}..$this->token.=.array(.'
d6ec0 61 63 63 65 73 73 5f 74 6f 6b 65 6e 27 20 3d 3e 20 24 61 75 74 68 43 6f 6e 66 69 67 5b 24 6f 72 access_token'.=>.$authConfig[$or
d6ee0 69 67 69 6e 55 72 6c 5d 5b 27 61 63 63 65 73 73 2d 74 6f 6b 65 6e 27 5d 2c 0a 29 3b 0a 0a 72 65 iginUrl]['access-token'],.);..re
d6f00 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a turn.true;.}.}.<?php............
d6f20 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 0a 0a 0a 0a 0a 63 namespace.Composer\Util;.......c
d6f40 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 4d 69 72 72 6f 72 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 lass.ComposerMirror.{.public.sta
d6f60 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 55 72 6c 28 24 6d 69 72 72 6f 72 55 tic.function.processUrl($mirrorU
d6f80 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 72 65 66 rl,.$packageName,.$version,.$ref
d6fa0 65 72 65 6e 63 65 2c 20 24 74 79 70 65 29 0a 7b 0a 69 66 20 28 24 72 65 66 65 72 65 6e 63 65 29 erence,.$type).{.if.($reference)
d6fc0 20 7b 0a 24 72 65 66 65 72 65 6e 63 65 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b .{.$reference.=.preg_match('{^([
d6fe0 61 2d 66 30 2d 39 5d 2a 7c 25 72 65 66 65 72 65 6e 63 65 25 29 24 7d 27 2c 20 24 72 65 66 65 72 a-f0-9]*|%reference%)$}',.$refer
d7000 65 6e 63 65 29 20 3f 20 24 72 65 66 65 72 65 6e 63 65 20 3a 20 6d 64 35 28 24 72 65 66 65 72 65 ence).?.$reference.:.md5($refere
d7020 6e 63 65 29 3b 0a 7d 0a 24 76 65 72 73 69 6f 6e 20 3d 20 73 74 72 70 6f 73 28 24 76 65 72 73 69 nce);.}.$version.=.strpos($versi
d7040 6f 6e 2c 20 27 2f 27 29 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 24 76 65 72 73 69 6f 6e 20 3a 20 on,.'/').===.false.?.$version.:.
d7060 6d 64 35 28 24 76 65 72 73 69 6f 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 md5($version);..return.str_repla
d7080 63 65 28 0a 61 72 72 61 79 28 27 25 70 61 63 6b 61 67 65 25 27 2c 20 27 25 76 65 72 73 69 6f 6e ce(.array('%package%',.'%version
d70a0 25 27 2c 20 27 25 72 65 66 65 72 65 6e 63 65 25 27 2c 20 27 25 74 79 70 65 25 27 29 2c 0a 61 72 %',.'%reference%',.'%type%'),.ar
d70c0 72 61 79 28 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 72 65 66 ray($packageName,.$version,.$ref
d70e0 65 72 65 6e 63 65 2c 20 24 74 79 70 65 29 2c 0a 24 6d 69 72 72 6f 72 55 72 6c 0a 29 3b 0a 7d 0a erence,.$type),.$mirrorUrl.);.}.
d7100 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 63 65 73 73 47 .public.static.function.processG
d7120 69 74 55 72 6c 28 24 6d 69 72 72 6f 72 55 72 6c 2c 20 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 itUrl($mirrorUrl,.$packageName,.
d7140 24 75 72 6c 2c 20 24 74 79 70 65 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 $url,.$type).{.if.(preg_match('#
d7160 5e 28 3f 3a 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 3a 2f 2f 67 69 74 68 75 62 5c 2e 63 6f 6d ^(?:(?:https?|git)://github\.com
d7180 2f 7c 67 69 74 40 67 69 74 68 75 62 5c 2e 63 6f 6d 3a 29 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b 3f 29 /|git@github\.com:)([^/]+)/(.+?)
d71a0 28 3f 3a 5c 2e 67 69 74 29 3f 24 23 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a (?:\.git)?$#',.$url,.$match)).{.
d71c0 24 75 72 6c 20 3d 20 27 67 68 2d 27 2e 24 6d 61 74 63 68 5b 31 5d 2e 27 2f 27 2e 24 6d 61 74 63 $url.=.'gh-'.$match[1].'/'.$matc
d71e0 68 5b 32 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 68 74 h[2];.}.elseif.(preg_match('#^ht
d7200 74 70 73 3a 2f 2f 62 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 2f 28 5b 5e 2f 5d 2b 29 2f 28 2e 2b tps://bitbucket\.org/([^/]+)/(.+
d7220 3f 29 28 3f 3a 5c 2e 67 69 74 29 3f 2f 3f 24 23 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 ?)(?:\.git)?/?$#',.$url,.$match)
d7240 29 20 7b 0a 24 75 72 6c 20 3d 20 27 62 62 2d 27 2e 24 6d 61 74 63 68 5b 31 5d 2e 27 2f 27 2e 24 ).{.$url.=.'bb-'.$match[1].'/'.$
d7260 6d 61 74 63 68 5b 32 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 75 72 6c 20 3d 20 70 72 65 67 5f 72 match[2];.}.else.{.$url.=.preg_r
d7280 65 70 6c 61 63 65 28 27 7b 5b 5e 61 2d 7a 30 2d 39 5f 2e 2d 5d 7d 69 27 2c 20 27 2d 27 2c 20 74 eplace('{[^a-z0-9_.-]}i',.'-',.t
d72a0 72 69 6d 28 24 75 72 6c 2c 20 27 2f 27 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 rim($url,.'/'));.}..return.str_r
d72c0 65 70 6c 61 63 65 28 0a 61 72 72 61 79 28 27 25 70 61 63 6b 61 67 65 25 27 2c 20 27 25 6e 6f 72 eplace(.array('%package%',.'%nor
d72e0 6d 61 6c 69 7a 65 64 55 72 6c 25 27 2c 20 27 25 74 79 70 65 25 27 29 2c 0a 61 72 72 61 79 28 24 malizedUrl%',.'%type%'),.array($
d7300 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 75 72 6c 2c 20 24 74 79 70 65 29 2c 0a 24 6d 69 72 72 packageName,.$url,.$type),.$mirr
d7320 6f 72 55 72 6c 0a 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 orUrl.);.}..public.static.functi
d7340 6f 6e 20 70 72 6f 63 65 73 73 48 67 55 72 6c 28 24 6d 69 72 72 6f 72 55 72 6c 2c 20 24 70 61 63 on.processHgUrl($mirrorUrl,.$pac
d7360 6b 61 67 65 4e 61 6d 65 2c 20 24 75 72 6c 2c 20 24 74 79 70 65 29 0a 7b 0a 72 65 74 75 72 6e 20 kageName,.$url,.$type).{.return.
d7380 73 65 6c 66 3a 3a 70 72 6f 63 65 73 73 47 69 74 55 72 6c 28 24 6d 69 72 72 6f 72 55 72 6c 2c 20 self::processGitUrl($mirrorUrl,.
d73a0 24 70 61 63 6b 61 67 65 4e 61 6d 65 2c 20 24 75 72 6c 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 7d 0a $packageName,.$url,.$type);.}.}.
d73c0 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
d73e0 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c ser\Util;..use.Composer\Package\
d7400 4c 6f 61 64 65 72 5c 41 72 72 61 79 4c 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 Loader\ArrayLoader;.use.Composer
d7420 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 65 72 5c 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c \Package\Loader\ValidatingArrayL
d7440 6f 61 64 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 6f 61 64 oader;.use.Composer\Package\Load
d7460 65 72 5c 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 er\InvalidPackageException;.use.
d7480 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 Composer\Json\JsonValidationExce
d74a0 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 ption;.use.Composer\IO\IOInterfa
d74c0 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 6f 6e 46 69 6c 65 3b 0a ce;.use.Composer\Json\JsonFile;.
d74e0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 70 64 78 5c 53 70 64 78 4c 69 63 65 6e 73 65 73 3b 0a use.Composer\Spdx\SpdxLicenses;.
d7500 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 66 69 67 56 61 6c 69 64 61 74 6f 72 0a 7b 0a 70 .......class.ConfigValidator.{.p
d7520 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 rivate.$io;..public.function.__c
d7540 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 onstruct(IOInterface.$io).{.$thi
d7560 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 s->io.=.$io;.}..........public.f
d7580 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 28 24 66 69 6c 65 2c 20 24 61 72 72 61 79 4c 6f unction.validate($file,.$arrayLo
d75a0 61 64 65 72 56 61 6c 69 64 61 74 69 6f 6e 46 6c 61 67 73 20 3d 20 56 61 6c 69 64 61 74 69 6e 67 aderValidationFlags.=.Validating
d75c0 41 72 72 61 79 4c 6f 61 64 65 72 3a 3a 43 48 45 43 4b 5f 41 4c 4c 29 0a 7b 0a 24 65 72 72 6f 72 ArrayLoader::CHECK_ALL).{.$error
d75e0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 20 3d 20 61 72 s.=.array();.$publishErrors.=.ar
d7600 72 61 79 28 29 3b 0a 24 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 24 ray();.$warnings.=.array();....$
d7620 6c 61 78 56 61 6c 69 64 20 3d 20 66 61 6c 73 65 3b 0a 74 72 79 20 7b 0a 24 6a 73 6f 6e 20 3d 20 laxValid.=.false;.try.{.$json.=.
d7640 6e 65 77 20 4a 73 6f 6e 46 69 6c 65 28 24 66 69 6c 65 2c 20 6e 75 6c 6c 2c 20 24 74 68 69 73 2d new.JsonFile($file,.null,.$this-
d7660 3e 69 6f 29 3b 0a 24 6d 61 6e 69 66 65 73 74 20 3d 20 24 6a 73 6f 6e 2d 3e 72 65 61 64 28 29 3b >io);.$manifest.=.$json->read();
d7680 0a 0a 24 6a 73 6f 6e 2d 3e 76 61 6c 69 64 61 74 65 53 63 68 65 6d 61 28 4a 73 6f 6e 46 69 6c 65 ..$json->validateSchema(JsonFile
d76a0 3a 3a 4c 41 58 5f 53 43 48 45 4d 41 29 3b 0a 24 6c 61 78 56 61 6c 69 64 20 3d 20 74 72 75 65 3b ::LAX_SCHEMA);.$laxValid.=.true;
d76c0 0a 24 6a 73 6f 6e 2d 3e 76 61 6c 69 64 61 74 65 53 63 68 65 6d 61 28 29 3b 0a 7d 20 63 61 74 63 .$json->validateSchema();.}.catc
d76e0 68 20 28 4a 73 6f 6e 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b h.(JsonValidationException.$e).{
d7700 0a 66 6f 72 65 61 63 68 20 28 24 65 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 20 61 73 20 24 6d 65 .foreach.($e->getErrors().as.$me
d7720 73 73 61 67 65 29 20 7b 0a 69 66 20 28 24 6c 61 78 56 61 6c 69 64 29 20 7b 0a 24 70 75 62 6c 69 ssage).{.if.($laxValid).{.$publi
d7740 73 68 45 72 72 6f 72 73 5b 5d 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a shErrors[].=.$message;.}.else.{.
d7760 24 65 72 72 6f 72 73 5b 5d 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 7d 0a 7d 0a 7d 20 63 61 74 63 $errors[].=.$message;.}.}.}.catc
d7780 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 65 72 72 6f 72 73 5b 5d 20 3d 20 h.(\Exception.$e).{.$errors[].=.
d77a0 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 $e->getMessage();..return.array(
d77c0 24 65 72 72 6f 72 73 2c 20 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e $errors,.$publishErrors,.$warnin
d77e0 67 73 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 65 6d 70 74 79 28 24 6d 61 6e 69 66 65 73 74 5b 27 6c gs);.}....if.(empty($manifest['l
d7800 69 63 65 6e 73 65 27 5d 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 4e 6f 20 6c icense'])).{.$warnings[].=.'No.l
d7820 69 63 65 6e 73 65 20 73 70 65 63 69 66 69 65 64 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e icense.specified,.it.is.recommen
d7840 64 65 64 20 74 6f 20 64 6f 20 73 6f 2e 20 46 6f 72 20 63 6c 6f 73 65 64 2d 73 6f 75 72 63 65 20 ded.to.do.so..For.closed-source.
d7860 73 6f 66 74 77 61 72 65 20 79 6f 75 20 6d 61 79 20 75 73 65 20 22 70 72 6f 70 72 69 65 74 61 72 software.you.may.use."proprietar
d7880 79 22 20 61 73 20 6c 69 63 65 6e 73 65 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6c 69 63 65 6e y".as.license.';.}.else.{.$licen
d78a0 73 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 6d 61 6e 69 66 65 73 74 5b 27 6c 69 63 65 6e 73 65 ses.=.(array).$manifest['license
d78c0 27 5d 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 6c 69 63 65 6e 73 65 73 20 61 73 20 24 6b 65 '];....foreach.($licenses.as.$ke
d78e0 79 20 3d 3e 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 69 66 20 28 27 70 72 6f 70 72 69 65 74 61 72 y.=>.$license).{.if.('proprietar
d7900 79 27 20 3d 3d 3d 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 75 6e 73 65 74 28 24 6c 69 63 65 6e 73 y'.===.$license).{.unset($licens
d7920 65 73 5b 24 6b 65 79 5d 29 3b 0a 7d 0a 7d 0a 0a 24 6c 69 63 65 6e 73 65 56 61 6c 69 64 61 74 6f es[$key]);.}.}..$licenseValidato
d7940 72 20 3d 20 6e 65 77 20 53 70 64 78 4c 69 63 65 6e 73 65 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 r.=.new.SpdxLicenses();.foreach.
d7960 28 24 6c 69 63 65 6e 73 65 73 20 61 73 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 24 73 70 64 78 4c ($licenses.as.$license).{.$spdxL
d7980 69 63 65 6e 73 65 20 3d 20 24 6c 69 63 65 6e 73 65 56 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 4c icense.=.$licenseValidator->getL
d79a0 69 63 65 6e 73 65 42 79 49 64 65 6e 74 69 66 69 65 72 28 24 6c 69 63 65 6e 73 65 29 3b 0a 69 66 icenseByIdentifier($license);.if
d79c0 20 28 24 73 70 64 78 4c 69 63 65 6e 73 65 20 26 26 20 24 73 70 64 78 4c 69 63 65 6e 73 65 5b 33 .($spdxLicense.&&.$spdxLicense[3
d79e0 5d 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 41 4c 5d 3f 47 50 4c 2d ]).{.if.(preg_match('{^[AL]?GPL-
d7a00 5b 31 32 33 5d 28 5c 2e 5b 30 31 5d 29 3f 5c 2b 24 7d 69 27 2c 20 24 6c 69 63 65 6e 73 65 29 29 [123](\.[01])?\+$}i',.$license))
d7a20 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 4c 69 63 65 6e .{.$warnings[].=.sprintf(.'Licen
d7a40 73 65 20 22 25 73 22 20 69 73 20 61 20 64 65 70 72 65 63 61 74 65 64 20 53 50 44 58 20 6c 69 63 se."%s".is.a.deprecated.SPDX.lic
d7a60 65 6e 73 65 20 69 64 65 6e 74 69 66 69 65 72 2c 20 75 73 65 20 22 27 2e 73 74 72 5f 72 65 70 6c ense.identifier,.use."'.str_repl
d7a80 61 63 65 28 27 2b 27 2c 20 27 27 2c 20 24 6c 69 63 65 6e 73 65 29 2e 27 2d 6f 72 2d 6c 61 74 65 ace('+',.'',.$license).'-or-late
d7aa0 72 22 20 69 6e 73 74 65 61 64 27 2c 0a 24 6c 69 63 65 6e 73 65 0a 29 3b 0a 7d 20 65 6c 73 65 69 r".instead',.$license.);.}.elsei
d7ac0 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 41 4c 5d 3f 47 50 4c 2d 5b 31 32 33 5d 28 f.(preg_match('{^[AL]?GPL-[123](
d7ae0 5c 2e 5b 30 31 5d 29 3f 24 7d 69 27 2c 20 24 6c 69 63 65 6e 73 65 29 29 20 7b 0a 24 77 61 72 6e \.[01])?$}i',.$license)).{.$warn
d7b00 69 6e 67 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 4c 69 63 65 6e 73 65 20 22 25 73 22 20 ings[].=.sprintf(.'License."%s".
d7b20 69 73 20 61 20 64 65 70 72 65 63 61 74 65 64 20 53 50 44 58 20 6c 69 63 65 6e 73 65 20 69 64 65 is.a.deprecated.SPDX.license.ide
d7b40 6e 74 69 66 69 65 72 2c 20 75 73 65 20 22 27 2e 24 6c 69 63 65 6e 73 65 2e 27 2d 6f 6e 6c 79 22 ntifier,.use."'.$license.'-only"
d7b60 20 6f 72 20 22 27 2e 24 6c 69 63 65 6e 73 65 2e 27 2d 6f 72 2d 6c 61 74 65 72 22 20 69 6e 73 74 .or."'.$license.'-or-later".inst
d7b80 65 61 64 27 2c 0a 24 6c 69 63 65 6e 73 65 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 77 61 72 6e ead',.$license.);.}.else.{.$warn
d7ba0 69 6e 67 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 4c 69 63 65 6e 73 65 20 22 25 73 22 20 ings[].=.sprintf(.'License."%s".
d7bc0 69 73 20 61 20 64 65 70 72 65 63 61 74 65 64 20 53 50 44 58 20 6c 69 63 65 6e 73 65 20 69 64 65 is.a.deprecated.SPDX.license.ide
d7be0 6e 74 69 66 69 65 72 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 73 70 64 78 2e 6f 72 67 2f 6c 69 ntifier,.see.https://spdx.org/li
d7c00 63 65 6e 73 65 73 2f 27 2c 0a 24 6c 69 63 65 6e 73 65 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 censes/',.$license.);.}.}.}.}..i
d7c20 66 20 28 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 76 65 72 73 69 6f 6e 27 5d 29 29 20 f.(isset($manifest['version'])).
d7c40 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 27 54 68 65 20 76 65 72 73 69 6f 6e 20 66 69 65 {.$warnings[].=.'The.version.fie
d7c60 6c 64 20 69 73 20 70 72 65 73 65 6e 74 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 ld.is.present,.it.is.recommended
d7c80 20 74 6f 20 6c 65 61 76 65 20 69 74 20 6f 75 74 20 69 66 20 74 68 65 20 70 61 63 6b 61 67 65 20 .to.leave.it.out.if.the.package.
d7ca0 69 73 20 70 75 62 6c 69 73 68 65 64 20 6f 6e 20 50 61 63 6b 61 67 69 73 74 2e 27 3b 0a 7d 0a 0a is.published.on.Packagist.';.}..
d7cc0 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 29 20 26 26 if.(!empty($manifest['name']).&&
d7ce0 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5b 41 2d 5a 5d 7d 27 2c 20 24 6d 61 6e 69 66 65 73 74 .preg_match('{[A-Z]}',.$manifest
d7d00 5b 27 6e 61 6d 65 27 5d 29 29 20 7b 0a 24 73 75 67 67 65 73 74 4e 61 6d 65 20 3d 20 70 72 65 67 ['name'])).{.$suggestName.=.preg
d7d20 5f 72 65 70 6c 61 63 65 28 27 7b 28 3f 3a 28 5b 61 2d 7a 5d 29 28 5b 41 2d 5a 5d 29 7c 28 5b 41 _replace('{(?:([a-z])([A-Z])|([A
d7d40 2d 5a 5d 29 28 5b 41 2d 5a 5d 5b 61 2d 7a 5d 29 29 7d 27 2c 20 27 5c 5c 31 5c 5c 33 2d 5c 5c 32 -Z])([A-Z][a-z]))}',.'\\1\\3-\\2
d7d60 5c 5c 34 27 2c 20 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 29 3b 0a 24 73 75 67 67 65 \\4',.$manifest['name']);.$sugge
d7d80 73 74 4e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 75 67 67 65 73 74 4e 61 6d 65 stName.=.strtolower($suggestName
d7da0 29 3b 0a 0a 24 70 75 62 6c 69 73 68 45 72 72 6f 72 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a );..$publishErrors[].=.sprintf(.
d7dc0 27 4e 61 6d 65 20 22 25 73 22 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 62 65 'Name."%s".does.not.match.the.be
d7de0 73 74 20 70 72 61 63 74 69 63 65 20 28 65 2e 67 2e 20 6c 6f 77 65 72 2d 63 61 73 65 64 2f 77 69 st.practice.(e.g..lower-cased/wi
d7e00 74 68 2d 64 61 73 68 65 73 29 2e 20 57 65 20 73 75 67 67 65 73 74 20 75 73 69 6e 67 20 22 25 73 th-dashes)..We.suggest.using."%s
d7e20 22 20 69 6e 73 74 65 61 64 2e 20 41 73 20 73 75 63 68 20 79 6f 75 20 77 69 6c 6c 20 6e 6f 74 20 ".instead..As.such.you.will.not.
d7e40 62 65 20 61 62 6c 65 20 74 6f 20 73 75 62 6d 69 74 20 69 74 20 74 6f 20 50 61 63 6b 61 67 69 73 be.able.to.submit.it.to.Packagis
d7e60 74 2e 27 2c 0a 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 2c 0a 24 73 75 67 67 65 73 74 t.',.$manifest['name'],.$suggest
d7e80 4e 61 6d 65 0a 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 6e 69 66 65 73 74 5b Name.);.}..if.(!empty($manifest[
d7ea0 27 74 79 70 65 27 5d 29 20 26 26 20 24 6d 61 6e 69 66 65 73 74 5b 27 74 79 70 65 27 5d 20 3d 3d 'type']).&&.$manifest['type'].==
d7ec0 20 27 63 6f 6d 70 6f 73 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 29 20 7b 0a 24 77 61 72 6e 69 6e .'composer-installer').{.$warnin
d7ee0 67 73 5b 5d 20 3d 20 22 54 68 65 20 70 61 63 6b 61 67 65 20 74 79 70 65 20 27 63 6f 6d 70 6f 73 gs[].=."The.package.type.'compos
d7f00 65 72 2d 69 6e 73 74 61 6c 6c 65 72 27 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2e 20 50 6c 65 er-installer'.is.deprecated..Ple
d7f20 61 73 65 20 64 69 73 74 72 69 62 75 74 65 20 79 6f 75 72 20 63 75 73 74 6f 6d 20 69 6e 73 74 61 ase.distribute.your.custom.insta
d7f40 6c 6c 65 72 73 20 61 73 20 70 6c 75 67 69 6e 73 20 66 72 6f 6d 20 6e 6f 77 20 6f 6e 2e 20 53 65 llers.as.plugins.from.now.on..Se
d7f60 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 e.https://getcomposer.org/doc/ar
d7f80 74 69 63 6c 65 73 2f 70 6c 75 67 69 6e 73 2e 6d 64 20 66 6f 72 20 70 6c 75 67 69 6e 20 64 6f 63 ticles/plugins.md.for.plugin.doc
d7fa0 75 6d 65 6e 74 61 74 69 6f 6e 2e 22 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 6d 61 umentation.";.}....if.(isset($ma
d7fc0 6e 69 66 65 73 74 5b 27 72 65 71 75 69 72 65 27 5d 29 20 26 26 20 69 73 73 65 74 28 24 6d 61 6e nifest['require']).&&.isset($man
d7fe0 69 66 65 73 74 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 29 29 20 7b 0a 24 72 65 71 75 69 72 ifest['require-dev'])).{.$requir
d8000 65 4f 76 65 72 72 69 64 65 73 20 3d 20 61 72 72 61 79 5f 69 6e 74 65 72 73 65 63 74 5f 6b 65 79 eOverrides.=.array_intersect_key
d8020 28 24 6d 61 6e 69 66 65 73 74 5b 27 72 65 71 75 69 72 65 27 5d 2c 20 24 6d 61 6e 69 66 65 73 74 ($manifest['require'],.$manifest
d8040 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 72 ['require-dev']);..if.(!empty($r
d8060 65 71 75 69 72 65 4f 76 65 72 72 69 64 65 73 29 29 20 7b 0a 24 70 6c 75 72 61 6c 20 3d 20 28 63 equireOverrides)).{.$plural.=.(c
d8080 6f 75 6e 74 28 24 72 65 71 75 69 72 65 4f 76 65 72 72 69 64 65 73 29 20 3e 20 31 29 20 3f 20 27 ount($requireOverrides).>.1).?.'
d80a0 61 72 65 27 20 3a 20 27 69 73 27 3b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 69 6d 70 6c 6f are'.:.'is';.$warnings[].=.implo
d80c0 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 72 65 71 75 69 72 65 4f 76 65 72 de(',.',.array_keys($requireOver
d80e0 72 69 64 65 73 29 29 2e 20 22 20 7b 24 70 6c 75 72 61 6c 7d 20 72 65 71 75 69 72 65 64 20 62 6f rides))..".{$plural}.required.bo
d8100 74 68 20 69 6e 20 72 65 71 75 69 72 65 20 61 6e 64 20 72 65 71 75 69 72 65 2d 64 65 76 2c 20 74 th.in.require.and.require-dev,.t
d8120 68 69 73 20 63 61 6e 20 6c 65 61 64 20 74 6f 20 75 6e 65 78 70 65 63 74 65 64 20 62 65 68 61 76 his.can.lead.to.unexpected.behav
d8140 69 6f 72 22 3b 0a 7d 0a 7d 0a 0a 0a 20 24 72 65 71 75 69 72 65 20 3d 20 69 73 73 65 74 28 24 6d ior";.}.}....$require.=.isset($m
d8160 61 6e 69 66 65 73 74 5b 27 72 65 71 75 69 72 65 27 5d 29 20 3f 20 24 6d 61 6e 69 66 65 73 74 5b anifest['require']).?.$manifest[
d8180 27 72 65 71 75 69 72 65 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 24 72 65 71 75 69 72 65 44 65 'require'].:.array();.$requireDe
d81a0 76 20 3d 20 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 72 65 71 75 69 72 65 2d 64 65 76 v.=.isset($manifest['require-dev
d81c0 27 5d 29 20 3f 20 24 6d 61 6e 69 66 65 73 74 5b 27 72 65 71 75 69 72 65 2d 64 65 76 27 5d 20 3a ']).?.$manifest['require-dev'].:
d81e0 20 61 72 72 61 79 28 29 3b 0a 24 70 61 63 6b 61 67 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 .array();.$packages.=.array_merg
d8200 65 28 24 72 65 71 75 69 72 65 2c 20 24 72 65 71 75 69 72 65 44 65 76 29 3b 0a 66 6f 72 65 61 63 e($require,.$requireDev);.foreac
d8220 68 20 28 24 70 61 63 6b 61 67 65 73 20 61 73 20 24 70 61 63 6b 61 67 65 20 3d 3e 20 24 76 65 72 h.($packages.as.$package.=>.$ver
d8240 73 69 6f 6e 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 23 2f 27 2c 20 24 76 sion).{.if.(preg_match('/#/',.$v
d8260 65 72 73 69 6f 6e 29 20 3d 3d 3d 20 31 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 73 ersion).===.1).{.$warnings[].=.s
d8280 70 72 69 6e 74 66 28 0a 27 54 68 65 20 70 61 63 6b 61 67 65 20 22 25 73 22 20 69 73 20 70 6f 69 printf(.'The.package."%s".is.poi
d82a0 6e 74 69 6e 67 20 74 6f 20 61 20 63 6f 6d 6d 69 74 2d 72 65 66 2c 20 74 68 69 73 20 69 73 20 62 nting.to.a.commit-ref,.this.is.b
d82c0 61 64 20 70 72 61 63 74 69 63 65 20 61 6e 64 20 63 61 6e 20 63 61 75 73 65 20 75 6e 66 6f 72 65 ad.practice.and.can.cause.unfore
d82e0 73 65 65 6e 20 69 73 73 75 65 73 2e 27 2c 0a 24 70 61 63 6b 61 67 65 0a 29 3b 0a 7d 0a 7d 0a 0a seen.issues.',.$package.);.}.}..
d8300 0a 20 24 73 63 72 69 70 74 73 44 65 73 63 72 69 70 74 69 6f 6e 73 20 3d 20 69 73 73 65 74 28 24 ..$scriptsDescriptions.=.isset($
d8320 6d 61 6e 69 66 65 73 74 5b 27 73 63 72 69 70 74 73 2d 64 65 73 63 72 69 70 74 69 6f 6e 73 27 5d manifest['scripts-descriptions']
d8340 29 20 3f 20 24 6d 61 6e 69 66 65 73 74 5b 27 73 63 72 69 70 74 73 2d 64 65 73 63 72 69 70 74 69 ).?.$manifest['scripts-descripti
d8360 6f 6e 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 24 73 63 72 69 70 74 73 20 3d 20 69 73 73 65 ons'].:.array();.$scripts.=.isse
d8380 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 73 63 72 69 70 74 73 27 5d 29 20 3f 20 24 6d 61 6e 69 66 t($manifest['scripts']).?.$manif
d83a0 65 73 74 5b 27 73 63 72 69 70 74 73 27 5d 20 3a 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 est['scripts'].:.array();.foreac
d83c0 68 20 28 24 73 63 72 69 70 74 73 44 65 73 63 72 69 70 74 69 6f 6e 73 20 61 73 20 24 73 63 72 69 h.($scriptsDescriptions.as.$scri
d83e0 70 74 4e 61 6d 65 20 3d 3e 20 24 73 63 72 69 70 74 44 65 73 63 72 69 70 74 69 6f 6e 29 20 7b 0a ptName.=>.$scriptDescription).{.
d8400 69 66 20 28 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 73 63 72 69 70 74 4e 61 6d if.(!array_key_exists($scriptNam
d8420 65 2c 20 24 73 63 72 69 70 74 73 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d 20 73 70 e,.$scripts)).{.$warnings[].=.sp
d8440 72 69 6e 74 66 28 0a 27 44 65 73 63 72 69 70 74 69 6f 6e 20 66 6f 72 20 6e 6f 6e 2d 65 78 69 73 rintf(.'Description.for.non-exis
d8460 74 65 6e 74 20 73 63 72 69 70 74 20 22 25 73 22 20 66 6f 75 6e 64 20 69 6e 20 22 73 63 72 69 70 tent.script."%s".found.in."scrip
d8480 74 73 2d 64 65 73 63 72 69 70 74 69 6f 6e 73 22 27 2c 0a 24 73 63 72 69 70 74 4e 61 6d 65 0a 29 ts-descriptions"',.$scriptName.)
d84a0 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 61 75 ;.}.}....if.(isset($manifest['au
d84c0 74 6f 6c 6f 61 64 27 5d 5b 27 70 73 72 2d 30 27 5d 5b 27 27 5d 29 29 20 7b 0a 24 77 61 72 6e 69 toload']['psr-0'][''])).{.$warni
d84e0 6e 67 73 5b 5d 20 3d 20 22 44 65 66 69 6e 69 6e 67 20 61 75 74 6f 6c 6f 61 64 2e 70 73 72 2d 30 ngs[].=."Defining.autoload.psr-0
d8500 20 77 69 74 68 20 61 6e 20 65 6d 70 74 79 20 6e 61 6d 65 73 70 61 63 65 20 70 72 65 66 69 78 20 .with.an.empty.namespace.prefix.
d8520 69 73 20 61 20 62 61 64 20 69 64 65 61 20 66 6f 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 22 3b 0a is.a.bad.idea.for.performance";.
d8540 7d 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 61 75 74 6f 6c 6f 61 64 27 }.if.(isset($manifest['autoload'
d8560 5d 5b 27 70 73 72 2d 34 27 5d 5b 27 27 5d 29 29 20 7b 0a 24 77 61 72 6e 69 6e 67 73 5b 5d 20 3d ]['psr-4'][''])).{.$warnings[].=
d8580 20 22 44 65 66 69 6e 69 6e 67 20 61 75 74 6f 6c 6f 61 64 2e 70 73 72 2d 34 20 77 69 74 68 20 61 ."Defining.autoload.psr-4.with.a
d85a0 6e 20 65 6d 70 74 79 20 6e 61 6d 65 73 70 61 63 65 20 70 72 65 66 69 78 20 69 73 20 61 20 62 61 n.empty.namespace.prefix.is.a.ba
d85c0 64 20 69 64 65 61 20 66 6f 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 22 3b 0a 7d 0a 0a 74 72 79 20 d.idea.for.performance";.}..try.
d85e0 7b 0a 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 56 61 6c 69 64 61 74 69 6e 67 41 72 72 61 79 4c {.$loader.=.new.ValidatingArrayL
d8600 6f 61 64 65 72 28 6e 65 77 20 41 72 72 61 79 4c 6f 61 64 65 72 28 29 2c 20 74 72 75 65 2c 20 6e oader(new.ArrayLoader(),.true,.n
d8620 75 6c 6c 2c 20 24 61 72 72 61 79 4c 6f 61 64 65 72 56 61 6c 69 64 61 74 69 6f 6e 46 6c 61 67 73 ull,.$arrayLoaderValidationFlags
d8640 29 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 76 65 72 73 69 6f 6e );.if.(!isset($manifest['version
d8660 27 5d 29 29 20 7b 0a 24 6d 61 6e 69 66 65 73 74 5b 27 76 65 72 73 69 6f 6e 27 5d 20 3d 20 27 31 '])).{.$manifest['version'].=.'1
d8680 2e 30 2e 30 27 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 6d 61 6e 69 66 65 73 74 5b 27 6e .0.0';.}.if.(!isset($manifest['n
d86a0 61 6d 65 27 5d 29 29 20 7b 0a 24 6d 61 6e 69 66 65 73 74 5b 27 6e 61 6d 65 27 5d 20 3d 20 27 64 ame'])).{.$manifest['name'].=.'d
d86c0 75 6d 6d 79 2f 64 75 6d 6d 79 27 3b 0a 7d 0a 24 6c 6f 61 64 65 72 2d 3e 6c 6f 61 64 28 24 6d 61 ummy/dummy';.}.$loader->load($ma
d86e0 6e 69 66 65 73 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 49 6e 76 61 6c 69 64 50 61 63 6b 61 67 65 nifest);.}.catch.(InvalidPackage
d8700 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 5f Exception.$e).{.$errors.=.array_
d8720 6d 65 72 67 65 28 24 65 72 72 6f 72 73 2c 20 24 65 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b merge($errors,.$e->getErrors());
d8740 0a 7d 0a 0a 24 77 61 72 6e 69 6e 67 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 77 61 72 .}..$warnings.=.array_merge($war
d8760 6e 69 6e 67 73 2c 20 24 6c 6f 61 64 65 72 2d 3e 67 65 74 57 61 72 6e 69 6e 67 73 28 29 29 3b 0a nings,.$loader->getWarnings());.
d8780 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 65 72 72 6f 72 73 2c 20 24 70 75 62 6c 69 73 68 45 .return.array($errors,.$publishE
d87a0 72 72 6f 72 73 2c 20 24 77 61 72 6e 69 6e 67 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a rrors,.$warnings);.}.}.<?php....
d87c0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b ........namespace.Composer\Util;
d87e0 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a ..use.Composer\IO\IOInterface;..
d8800 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 0a 7b 0a 70 72 69 76 61 74 .....class.ErrorHandler.{.privat
d8820 65 20 73 74 61 74 69 63 20 24 69 6f 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 e.static.$io;..............publi
d8840 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 28 24 6c 65 76 65 6c 2c c.static.function.handle($level,
d8860 20 24 6d 65 73 73 61 67 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 0a 7b 0a 0a 20 69 66 20 .$message,.$file,.$line).{...if.
d8880 28 21 28 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 20 26 20 24 6c 65 76 65 6c 29 29 20 (!(error_reporting().&.$level)).
d88a0 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c 74 65 72 5f 76 61 72 28 69 6e 69 5f {.return;.}..if.(filter_var(ini_
d88c0 67 65 74 28 27 78 64 65 62 75 67 2e 73 63 72 65 61 6d 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c get('xdebug.scream'),.FILTER_VAL
d88e0 49 44 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c IDATE_BOOLEAN)).{.$message..=."\
d8900 6e 5c 6e 57 61 72 6e 69 6e 67 3a 20 59 6f 75 20 68 61 76 65 20 78 64 65 62 75 67 2e 73 63 72 65 n\nWarning:.You.have.xdebug.scre
d8920 61 6d 20 65 6e 61 62 6c 65 64 2c 20 74 68 65 20 77 61 72 6e 69 6e 67 20 61 62 6f 76 65 20 6d 61 am.enabled,.the.warning.above.ma
d8940 79 20 62 65 22 2e 0a 22 5c 6e 61 20 6c 65 67 69 74 69 6d 61 74 65 6c 79 20 73 75 70 70 72 65 73 y.be".."\na.legitimately.suppres
d8960 73 65 64 20 65 72 72 6f 72 20 74 68 61 74 20 79 6f 75 20 77 65 72 65 20 6e 6f 74 20 73 75 70 70 sed.error.that.you.were.not.supp
d8980 6f 73 65 64 20 74 6f 20 73 65 65 2e 22 3b 0a 7d 0a 0a 69 66 20 28 24 6c 65 76 65 6c 20 21 3d 3d osed.to.see.";.}..if.($level.!==
d89a0 20 45 5f 44 45 50 52 45 43 41 54 45 44 20 26 26 20 24 6c 65 76 65 6c 20 21 3d 3d 20 45 5f 55 53 .E_DEPRECATED.&&.$level.!==.E_US
d89c0 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 72 72 6f ER_DEPRECATED).{.throw.new.\Erro
d89e0 72 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 30 2c 20 24 6c 65 76 65 6c 2c 20 rException($message,.0,.$level,.
d8a00 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 69 66 20 28 73 65 6c 66 3a 3a 24 69 6f 29 $file,.$line);.}..if.(self::$io)
d8a20 20 7b 0a 73 65 6c 66 3a 3a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 72 6e 69 .{.self::$io->writeError('<warni
d8a40 6e 67 3e 44 65 70 72 65 63 61 74 69 6f 6e 20 4e 6f 74 69 63 65 3a 20 27 2e 24 6d 65 73 73 61 67 ng>Deprecation.Notice:.'.$messag
d8a60 65 2e 27 20 69 6e 20 27 2e 24 66 69 6c 65 2e 27 3a 27 2e 24 6c 69 6e 65 2e 27 3c 2f 77 61 72 6e e.'.in.'.$file.':'.$line.'</warn
d8a80 69 6e 67 3e 27 29 3b 0a 69 66 20 28 73 65 6c 66 3a 3a 24 69 6f 2d 3e 69 73 56 65 72 62 6f 73 65 ing>');.if.(self::$io->isVerbose
d8aa0 28 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 77 61 ()).{.self::$io->writeError('<wa
d8ac0 72 6e 69 6e 67 3e 53 74 61 63 6b 20 74 72 61 63 65 3a 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a rning>Stack.trace:</warning>');.
d8ae0 73 65 6c 66 3a 3a 24 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 5f 66 69 6c 74 self::$io->writeError(array_filt
d8b00 65 72 28 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 61 29 20 7b 0a 69 66 20 er(array_map(function.($a).{.if.
d8b20 28 69 73 73 65 74 28 24 61 5b 27 6c 69 6e 65 27 5d 2c 20 24 61 5b 27 66 69 6c 65 27 5d 29 29 20 (isset($a['line'],.$a['file'])).
d8b40 7b 0a 72 65 74 75 72 6e 20 27 3c 77 61 72 6e 69 6e 67 3e 20 27 2e 24 61 5b 27 66 69 6c 65 27 5d {.return.'<warning>.'.$a['file']
d8b60 2e 27 3a 27 2e 24 61 5b 27 6c 69 6e 65 27 5d 2e 27 3c 2f 77 61 72 6e 69 6e 67 3e 27 3b 0a 7d 0a .':'.$a['line'].'</warning>';.}.
d8b80 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 2c 20 61 72 72 61 79 5f 73 6c 69 63 65 28 64 65 62 .return.null;.},.array_slice(deb
d8ba0 75 67 5f 62 61 63 6b 74 72 61 63 65 28 29 2c 20 32 29 29 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 ug_backtrace(),.2))));.}.}..retu
d8bc0 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 rn.true;.}.......public.static.f
d8be0 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f unction.register(IOInterface.$io
d8c00 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 61 72 72 .=.null).{.set_error_handler(arr
d8c20 61 79 28 5f 5f 43 4c 41 53 53 5f 5f 2c 20 27 68 61 6e 64 6c 65 27 29 29 3b 0a 65 72 72 6f 72 5f ay(__CLASS__,.'handle'));.error_
d8c40 72 65 70 6f 72 74 69 6e 67 28 45 5f 41 4c 4c 20 7c 20 45 5f 53 54 52 49 43 54 29 3b 0a 73 65 6c reporting(E_ALL.|.E_STRICT);.sel
d8c60 66 3a 3a 24 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a f::$io.=.$io;.}.}.<?php.........
d8c80 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 ...namespace.Composer\Util;..use
d8ca0 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 .RecursiveDirectoryIterator;.use
d8cc0 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 .RecursiveIteratorIterator;.use.
d8ce0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 63 Symfony\Component\Filesystem\Exc
d8d00 65 70 74 69 6f 6e 5c 49 4f 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c eption\IOException;.use.Symfony\
d8d20 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 63 6c Component\Finder\Finder;......cl
d8d40 61 73 73 20 46 69 6c 65 73 79 73 74 65 6d 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 ass.Filesystem.{.private.$proces
d8d60 73 45 78 65 63 75 74 6f 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f sExecutor;..public.function.__co
d8d80 6e 73 74 72 75 63 74 28 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 65 78 65 63 75 74 6f nstruct(ProcessExecutor.$executo
d8da0 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 45 78 65 63 75 74 r.=.null).{.$this->processExecut
d8dc0 6f 72 20 3d 20 24 65 78 65 63 75 74 6f 72 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 or.=.$executor.?:.new.ProcessExe
d8de0 63 75 74 6f 72 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f cutor();.}..public.function.remo
d8e00 76 65 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 66 69 6c 65 29 29 20 7b ve($file).{.if.(is_dir($file)).{
d8e20 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 .return.$this->removeDirectory($
d8e40 66 69 6c 65 29 3b 0a 7d 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 file);.}..if.(file_exists($file)
d8e60 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 6e 6c 69 6e 6b 28 24 66 69 6c 65 29 3b ).{.return.$this->unlink($file);
d8e80 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .}..return.false;.}........publi
d8ea0 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 69 72 45 6d 70 74 79 28 24 64 69 72 29 0a 7b 0a 24 66 c.function.isDirEmpty($dir).{.$f
d8ec0 69 6e 64 65 72 20 3d 20 46 69 6e 64 65 72 3a 3a 63 72 65 61 74 65 28 29 0a 2d 3e 69 67 6e 6f 72 inder.=.Finder::create().->ignor
d8ee0 65 56 43 53 28 66 61 6c 73 65 29 0a 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 66 61 6c eVCS(false).->ignoreDotFiles(fal
d8f00 73 65 29 0a 2d 3e 64 65 70 74 68 28 30 29 0a 2d 3e 69 6e 28 24 64 69 72 29 3b 0a 0a 72 65 74 75 se).->depth(0).->in($dir);..retu
d8f20 72 6e 20 63 6f 75 6e 74 28 24 66 69 6e 64 65 72 29 20 3d 3d 3d 20 30 3b 0a 7d 0a 0a 70 75 62 6c rn.count($finder).===.0;.}..publ
d8f40 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6d 70 74 79 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 2c ic.function.emptyDirectory($dir,
d8f60 20 24 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 20 3d 20 74 72 75 65 29 0a .$ensureDirectoryExists.=.true).
d8f80 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 29 20 26 26 20 69 73 5f 6c 69 {.if.(file_exists($dir).&&.is_li
d8fa0 6e 6b 28 24 64 69 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 6e 6c 69 6e 6b 28 24 64 69 72 29 3b nk($dir)).{.$this->unlink($dir);
d8fc0 0a 7d 0a 0a 69 66 20 28 24 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 29 20 .}..if.($ensureDirectoryExists).
d8fe0 7b 0a 24 74 68 69 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 {.$this->ensureDirectoryExists($
d9000 64 69 72 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 24 66 69 dir);.}..if.(is_dir($dir)).{.$fi
d9020 6e 64 65 72 20 3d 20 46 69 6e 64 65 72 3a 3a 63 72 65 61 74 65 28 29 0a 2d 3e 69 67 6e 6f 72 65 nder.=.Finder::create().->ignore
d9040 56 43 53 28 66 61 6c 73 65 29 0a 2d 3e 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 66 61 6c 73 VCS(false).->ignoreDotFiles(fals
d9060 65 29 0a 2d 3e 64 65 70 74 68 28 30 29 0a 2d 3e 69 6e 28 24 64 69 72 29 3b 0a 0a 66 6f 72 65 61 e).->depth(0).->in($dir);..forea
d9080 63 68 20 28 24 66 69 6e 64 65 72 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 74 68 69 73 2d 3e 72 ch.($finder.as.$path).{.$this->r
d90a0 65 6d 6f 76 65 28 28 73 74 72 69 6e 67 29 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a emove((string).$path);.}.}.}....
d90c0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 44 69 ........public.function.removeDi
d90e0 72 65 63 74 6f 72 79 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d rectory($directory).{.if.($this-
d9100 3e 69 73 53 79 6d 6c 69 6e 6b 65 64 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 65 63 74 6f 72 79 >isSymlinkedDirectory($directory
d9120 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 6e 6c 69 6e 6b 53 79 6d 6c 69 6e 6b )).{.return.$this->unlinkSymlink
d9140 65 64 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 7d 0a 0a 69 66 20 28 edDirectory($directory);.}..if.(
d9160 24 74 68 69 73 2d 3e 69 73 4a 75 6e 63 74 69 6f 6e 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b $this->isJunction($directory)).{
d9180 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 4a 75 6e 63 74 69 6f 6e 28 24 64 .return.$this->removeJunction($d
d91a0 69 72 65 63 74 6f 72 79 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 64 69 72 65 63 irectory);.}..if.(is_link($direc
d91c0 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 75 6e 6c 69 6e 6b 28 24 64 69 72 65 63 74 6f 72 tory)).{.return.unlink($director
d91e0 79 29 3b 0a 7d 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 64 69 72 65 63 74 6f y);.}..if.(!file_exists($directo
d9200 72 79 29 20 7c 7c 20 21 69 73 5f 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 72 65 ry).||.!is_dir($directory)).{.re
d9220 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e turn.true;.}..if.(preg_match('{^
d9240 28 3f 3a 5b 61 2d 7a 5d 3a 29 3f 5b 2f 5c 5c 5c 5c 5d 2b 24 7d 69 27 2c 20 24 64 69 72 65 63 74 (?:[a-z]:)?[/\\\\]+$}i',.$direct
d9260 6f 72 79 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 ory)).{.throw.new.\RuntimeExcept
d9280 69 6f 6e 28 27 41 62 6f 72 74 69 6e 67 20 61 6e 20 61 74 74 65 6d 70 74 65 64 20 64 65 6c 65 74 ion('Aborting.an.attempted.delet
d92a0 69 6f 6e 20 6f 66 20 27 2e 24 64 69 72 65 63 74 6f 72 79 2e 27 2c 20 74 68 69 73 20 77 61 73 20 ion.of.'.$directory.',.this.was.
d92c0 70 72 6f 62 61 62 6c 79 20 6e 6f 74 20 69 6e 74 65 6e 64 65 64 2c 20 69 66 20 69 74 20 69 73 20 probably.not.intended,.if.it.is.
d92e0 61 20 72 65 61 6c 20 75 73 65 20 63 61 73 65 20 70 6c 65 61 73 65 20 72 65 70 6f 72 74 20 69 74 a.real.use.case.please.report.it
d9300 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 .');.}..if.(!function_exists('pr
d9320 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 oc_open')).{.return.$this->remov
d9340 65 44 69 72 65 63 74 6f 72 79 50 68 70 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 7d 0a 0a 69 66 eDirectoryPhp($directory);.}..if
d9360 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 63 6d 64 20 .(Platform::isWindows()).{.$cmd.
d9380 3d 20 73 70 72 69 6e 74 66 28 27 72 6d 64 69 72 20 2f 53 20 2f 51 20 25 73 27 2c 20 50 72 6f 63 =.sprintf('rmdir./S./Q.%s',.Proc
d93a0 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 72 65 61 6c 70 61 74 68 28 24 64 69 essExecutor::escape(realpath($di
d93c0 72 65 63 74 6f 72 79 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6d 64 20 3d 20 73 70 72 69 rectory)));.}.else.{.$cmd.=.spri
d93e0 6e 74 66 28 27 72 6d 20 2d 72 66 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 ntf('rm.-rf.%s',.ProcessExecutor
d9400 3a 3a 65 73 63 61 70 65 28 24 64 69 72 65 63 74 6f 72 79 29 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c ::escape($directory));.}..$resul
d9420 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 63 65 73 73 28 29 2d 3e 65 78 65 63 75 74 65 t.=.$this->getProcess()->execute
d9440 28 24 63 6d 64 2c 20 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 30 3b 0a 0a 0a 20 63 6c 65 61 72 73 ($cmd,.$output).===.0;....clears
d9460 74 61 74 63 61 63 68 65 28 29 3b 0a 0a 69 66 20 28 24 72 65 73 75 6c 74 20 26 26 20 21 66 69 6c tatcache();..if.($result.&&.!fil
d9480 65 5f 65 78 69 73 74 73 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 e_exists($directory)).{.return.t
d94a0 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 rue;.}..return.$this->removeDire
d94c0 63 74 6f 72 79 50 68 70 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ctoryPhp($directory);.}.........
d94e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 44 69 72 65 63 74 6f ...public.function.removeDirecto
d9500 72 79 50 68 70 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 74 72 79 20 7b 0a 24 69 74 20 3d 20 ryPhp($directory).{.try.{.$it.=.
d9520 6e 65 77 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 new.RecursiveDirectoryIterator($
d9540 64 69 72 65 63 74 6f 72 79 2c 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 directory,.RecursiveDirectoryIte
d9560 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 rator::SKIP_DOTS);.}.catch.(\Une
d9580 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 0a 20 xpectedValueException.$e).{.....
d95a0 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 75 73 6c 65 65 70 28 31 30 30 30 30 30 29 clearstatcache();.usleep(100000)
d95c0 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 72 65 74 ;.if.(!is_dir($directory)).{.ret
d95e0 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 24 69 74 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 44 urn.true;.}.$it.=.new.RecursiveD
d9600 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 64 69 72 65 63 74 6f 72 79 2c 20 52 65 63 irectoryIterator($directory,.Rec
d9620 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f ursiveDirectoryIterator::SKIP_DO
d9640 54 53 29 3b 0a 7d 0a 24 72 69 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 TS);.}.$ri.=.new.RecursiveIterat
d9660 6f 72 49 74 65 72 61 74 6f 72 28 24 69 74 2c 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f orIterator($it,.RecursiveIterato
d9680 72 49 74 65 72 61 74 6f 72 3a 3a 43 48 49 4c 44 5f 46 49 52 53 54 29 3b 0a 0a 66 6f 72 65 61 63 rIterator::CHILD_FIRST);..foreac
d96a0 68 20 28 24 72 69 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 24 66 69 6c 65 2d 3e 69 73 h.($ri.as.$file).{.if.($file->is
d96c0 44 69 72 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 6d 64 69 72 28 24 66 69 6c 65 2d 3e 67 65 74 Dir()).{.$this->rmdir($file->get
d96e0 50 61 74 68 6e 61 6d 65 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 75 6e 6c Pathname());.}.else.{.$this->unl
d9700 69 6e 6b 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 3b 0a 7d 0a 7d 0a 0a ink($file->getPathname());.}.}..
d9720 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6d 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 29 3b return.$this->rmdir($directory);
d9740 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 73 75 72 65 44 69 72 65 63 74 .}..public.function.ensureDirect
d9760 6f 72 79 45 78 69 73 74 73 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 69 66 20 28 21 69 73 5f oryExists($directory).{.if.(!is_
d9780 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 dir($directory)).{.if.(file_exis
d97a0 74 73 28 24 64 69 72 65 63 74 6f 72 79 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e ts($directory)).{.throw.new.\Run
d97c0 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 24 64 69 72 65 63 74 6f 72 79 2e 27 20 65 78 69 73 timeException(.$directory.'.exis
d97e0 74 73 20 61 6e 64 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 6f 72 79 2e 27 0a 29 3b 0a 7d ts.and.is.not.a.directory.'.);.}
d9800 0a 69 66 20 28 21 40 6d 6b 64 69 72 28 24 64 69 72 65 63 74 6f 72 79 2c 20 30 37 37 37 2c 20 74 .if.(!@mkdir($directory,.0777,.t
d9820 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 rue)).{.throw.new.\RuntimeExcept
d9840 69 6f 6e 28 0a 24 64 69 72 65 63 74 6f 72 79 2e 27 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 ion(.$directory.'.does.not.exist
d9860 20 61 6e 64 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 72 65 61 74 65 64 2e 27 0a 29 3b 0a 7d .and.could.not.be.created.'.);.}
d9880 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 6c .}.}.........public.function.unl
d98a0 69 6e 6b 28 24 70 61 74 68 29 0a 7b 0a 24 75 6e 6c 69 6e 6b 65 64 20 3d 20 40 24 74 68 69 73 2d ink($path).{.$unlinked.=.@$this-
d98c0 3e 75 6e 6c 69 6e 6b 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 28 24 70 61 74 68 29 3b 0a 69 66 >unlinkImplementation($path);.if
d98e0 20 28 21 24 75 6e 6c 69 6e 6b 65 64 29 20 7b 0a 0a 20 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a .(!$unlinked).{...if.(Platform::
d9900 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 75 73 6c 65 65 70 28 33 35 30 30 30 30 29 3b 0a 24 isWindows()).{.usleep(350000);.$
d9920 75 6e 6c 69 6e 6b 65 64 20 3d 20 40 24 74 68 69 73 2d 3e 75 6e 6c 69 6e 6b 49 6d 70 6c 65 6d 65 unlinked.=.@$this->unlinkImpleme
d9940 6e 74 61 74 69 6f 6e 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 75 6e 6c 69 6e 6b 65 ntation($path);.}..if.(!$unlinke
d9960 64 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 65 72 72 6f 72 5f 67 65 74 5f 6c 61 73 74 28 29 3b 0a d).{.$error.=.error_get_last();.
d9980 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6f 75 6c 64 20 6e 6f 74 20 64 65 6c 65 74 65 20 27 2e 24 $message.=.'Could.not.delete.'.$
d99a0 70 61 74 68 2e 27 3a 20 27 20 2e 20 40 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 3b 0a path.':.'...@$error['message'];.
d99c0 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 6d 65 if.(Platform::isWindows()).{.$me
d99e0 73 73 61 67 65 20 2e 3d 20 22 5c 6e 54 68 69 73 20 63 61 6e 20 62 65 20 64 75 65 20 74 6f 20 61 ssage..=."\nThis.can.be.due.to.a
d9a00 6e 20 61 6e 74 69 76 69 72 75 73 20 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 53 65 61 72 63 n.antivirus.or.the.Windows.Searc
d9a20 68 20 49 6e 64 65 78 65 72 20 6c 6f 63 6b 69 6e 67 20 74 68 65 20 66 69 6c 65 20 77 68 69 6c 65 h.Indexer.locking.the.file.while
d9a40 20 74 68 65 79 20 61 72 65 20 61 6e 61 6c 79 7a 65 64 22 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 .they.are.analyzed";.}..throw.ne
d9a60 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d w.\RuntimeException($message);.}
d9a80 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .}..return.true;.}.........publi
d9aa0 63 20 66 75 6e 63 74 69 6f 6e 20 72 6d 64 69 72 28 24 70 61 74 68 29 0a 7b 0a 24 64 65 6c 65 74 c.function.rmdir($path).{.$delet
d9ac0 65 64 20 3d 20 40 72 6d 64 69 72 28 24 70 61 74 68 29 3b 0a 69 66 20 28 21 24 64 65 6c 65 74 65 ed.=.@rmdir($path);.if.(!$delete
d9ae0 64 29 20 7b 0a 0a 20 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 d).{...if.(Platform::isWindows()
d9b00 29 20 7b 0a 75 73 6c 65 65 70 28 33 35 30 30 30 30 29 3b 0a 24 64 65 6c 65 74 65 64 20 3d 20 40 ).{.usleep(350000);.$deleted.=.@
d9b20 72 6d 64 69 72 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 64 65 6c 65 74 65 64 29 20 rmdir($path);.}..if.(!$deleted).
d9b40 7b 0a 24 65 72 72 6f 72 20 3d 20 65 72 72 6f 72 5f 67 65 74 5f 6c 61 73 74 28 29 3b 0a 24 6d 65 {.$error.=.error_get_last();.$me
d9b60 73 73 61 67 65 20 3d 20 27 43 6f 75 6c 64 20 6e 6f 74 20 64 65 6c 65 74 65 20 27 2e 24 70 61 74 ssage.=.'Could.not.delete.'.$pat
d9b80 68 2e 27 3a 20 27 20 2e 20 40 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 3b 0a 69 66 20 h.':.'...@$error['message'];.if.
d9ba0 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 6d 65 73 73 61 (Platform::isWindows()).{.$messa
d9bc0 67 65 20 2e 3d 20 22 5c 6e 54 68 69 73 20 63 61 6e 20 62 65 20 64 75 65 20 74 6f 20 61 6e 20 61 ge..=."\nThis.can.be.due.to.an.a
d9be0 6e 74 69 76 69 72 75 73 20 6f 72 20 74 68 65 20 57 69 6e 64 6f 77 73 20 53 65 61 72 63 68 20 49 ntivirus.or.the.Windows.Search.I
d9c00 6e 64 65 78 65 72 20 6c 6f 63 6b 69 6e 67 20 74 68 65 20 66 69 6c 65 20 77 68 69 6c 65 20 74 68 ndexer.locking.the.file.while.th
d9c20 65 79 20 61 72 65 20 61 6e 61 6c 79 7a 65 64 22 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c ey.are.analyzed";.}..throw.new.\
d9c40 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a RuntimeException($message);.}.}.
d9c60 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .return.true;.}...........public
d9c80 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 54 68 65 6e 52 65 6d 6f 76 65 28 24 73 6f 75 72 63 65 .function.copyThenRemove($source
d9ca0 2c 20 24 74 61 72 67 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 70 79 28 24 73 6f 75 72 63 65 ,.$target).{.$this->copy($source
d9cc0 2c 20 24 74 61 72 67 65 74 29 3b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 73 6f 75 72 63 65 29 ,.$target);.if.(!is_dir($source)
d9ce0 29 20 7b 0a 24 74 68 69 73 2d 3e 75 6e 6c 69 6e 6b 28 24 73 6f 75 72 63 65 29 3b 0a 0a 72 65 74 ).{.$this->unlink($source);..ret
d9d00 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 50 68 urn;.}..$this->removeDirectoryPh
d9d20 70 28 24 73 6f 75 72 63 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e p($source);.}.........public.fun
d9d40 63 74 69 6f 6e 20 63 6f 70 79 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 0a 7b 0a 69 ction.copy($source,.$target).{.i
d9d60 66 20 28 21 69 73 5f 64 69 72 28 24 73 6f 75 72 63 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 63 6f f.(!is_dir($source)).{.return.co
d9d80 70 79 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 24 69 74 20 3d 20 6e py($source,.$target);.}..$it.=.n
d9da0 65 77 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 73 ew.RecursiveDirectoryIterator($s
d9dc0 6f 75 72 63 65 2c 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f ource,.RecursiveDirectoryIterato
d9de0 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 3b 0a 24 72 69 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 r::SKIP_DOTS);.$ri.=.new.Recursi
d9e00 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 24 69 74 2c 20 52 65 63 75 72 73 69 76 veIteratorIterator($it,.Recursiv
d9e20 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 53 45 4c 46 5f 46 49 52 53 54 29 3b 0a eIteratorIterator::SELF_FIRST);.
d9e40 24 74 68 69 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 74 61 $this->ensureDirectoryExists($ta
d9e60 72 67 65 74 29 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 20 74 72 75 65 3b 0a 66 6f 72 65 61 63 68 20 rget);..$result.=.true;.foreach.
d9e80 28 24 72 69 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 24 74 61 72 67 65 74 50 61 74 68 20 3d 20 24 ($ri.as.$file).{.$targetPath.=.$
d9ea0 74 61 72 67 65 74 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 target...DIRECTORY_SEPARATOR...$
d9ec0 72 69 2d 3e 67 65 74 53 75 62 50 61 74 68 4e 61 6d 65 28 29 3b 0a 69 66 20 28 24 66 69 6c 65 2d ri->getSubPathName();.if.($file-
d9ee0 3e 69 73 44 69 72 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f >isDir()).{.$this->ensureDirecto
d9f00 72 79 45 78 69 73 74 73 28 24 74 61 72 67 65 74 50 61 74 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a ryExists($targetPath);.}.else.{.
d9f20 24 72 65 73 75 6c 74 20 3d 20 24 72 65 73 75 6c 74 20 26 26 20 63 6f 70 79 28 24 66 69 6c 65 2d $result.=.$result.&&.copy($file-
d9f40 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 24 74 61 72 67 65 74 50 61 74 68 29 3b 0a 7d 0a >getPathname(),.$targetPath);.}.
d9f60 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e }..return.$result;.}..public.fun
d9f80 63 74 69 6f 6e 20 72 65 6e 61 6d 65 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 29 0a 7b ction.rename($source,.$target).{
d9fa0 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 40 72 65 6e 61 6d 65 28 24 73 6f 75 72 63 65 2c 20 24 .if.(true.===.@rename($source,.$
d9fc0 74 61 72 67 65 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 66 75 6e 63 74 target)).{.return;.}..if.(!funct
d9fe0 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 72 65 74 75 72 ion_exists('proc_open')).{.retur
da000 6e 20 24 74 68 69 73 2d 3e 63 6f 70 79 54 68 65 6e 52 65 6d 6f 76 65 28 24 73 6f 75 72 63 65 2c n.$this->copyThenRemove($source,
da020 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 0a 69 66 20 28 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 .$target);.}..if.(Platform::isWi
da040 6e 64 6f 77 73 28 29 29 20 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 ndows()).{...$command.=.sprintf(
da060 27 78 63 6f 70 79 20 25 73 20 25 73 20 2f 45 20 2f 49 20 2f 51 20 2f 59 27 2c 20 50 72 6f 63 65 'xcopy.%s.%s./E./I./Q./Y',.Proce
da080 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 73 6f 75 72 63 65 29 2c 20 50 72 6f ssExecutor::escape($source),.Pro
da0a0 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 61 72 67 65 74 29 29 3b 0a cessExecutor::escape($target));.
da0c0 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 $result.=.$this->processExecutor
da0e0 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 0a ->execute($command,.$output);...
da100 20 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 72 .clearstatcache();..if.(0.===.$r
da120 65 73 75 6c 74 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 28 24 73 6f 75 72 63 65 29 3b esult).{.$this->remove($source);
da140 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 0a 20 24 63 6f 6d 6d 61 6e ..return;.}.}.else.{.....$comman
da160 64 20 3d 20 73 70 72 69 6e 74 66 28 27 6d 76 20 25 73 20 25 73 27 2c 20 50 72 6f 63 65 73 73 45 d.=.sprintf('mv.%s.%s',.ProcessE
da180 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 73 6f 75 72 63 65 29 2c 20 50 72 6f 63 65 73 xecutor::escape($source),.Proces
da1a0 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 61 72 67 65 74 29 29 3b 0a 24 72 65 sExecutor::escape($target));.$re
da1c0 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 65 sult.=.$this->processExecutor->e
da1e0 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 0a 20 63 6c xecute($command,.$output);....cl
da200 65 61 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 72 65 73 75 earstatcache();..if.(0.===.$resu
da220 6c 74 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d lt).{.return;.}.}..return.$this-
da240 3e 63 6f 70 79 54 68 65 6e 52 65 6d 6f 76 65 28 24 73 6f 75 72 63 65 2c 20 24 74 61 72 67 65 74 >copyThenRemove($source,.$target
da260 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 );.}...........public.function.f
da280 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 64 69 72 indShortestPath($from,.$to,.$dir
da2a0 65 63 74 6f 72 69 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e ectories.=.false).{.if.(!$this->
da2c0 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 66 72 6f 6d 29 20 7c 7c 20 21 24 74 68 69 73 2d isAbsolutePath($from).||.!$this-
da2e0 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 74 6f 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 >isAbsolutePath($to)).{.throw.ne
da300 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 w.\InvalidArgumentException(spri
da320 6e 74 66 28 27 24 66 72 6f 6d 20 28 25 73 29 20 61 6e 64 20 24 74 6f 20 28 25 73 29 20 6d 75 73 ntf('$from.(%s).and.$to.(%s).mus
da340 74 20 62 65 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 73 2e 27 2c 20 24 66 72 6f 6d 2c 20 24 74 t.be.absolute.paths.',.$from,.$t
da360 6f 29 29 3b 0a 7d 0a 0a 24 66 72 6f 6d 20 3d 20 6c 63 66 69 72 73 74 28 24 74 68 69 73 2d 3e 6e o));.}..$from.=.lcfirst($this->n
da380 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 66 72 6f 6d 29 29 3b 0a 24 74 6f 20 3d 20 6c 63 66 69 ormalizePath($from));.$to.=.lcfi
da3a0 72 73 74 28 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 74 6f 29 29 3b 0a rst($this->normalizePath($to));.
da3c0 0a 69 66 20 28 24 64 69 72 65 63 74 6f 72 69 65 73 29 20 7b 0a 24 66 72 6f 6d 20 3d 20 72 74 72 .if.($directories).{.$from.=.rtr
da3e0 69 6d 28 24 66 72 6f 6d 2c 20 27 2f 27 29 20 2e 20 27 2f 64 75 6d 6d 79 5f 66 69 6c 65 27 3b 0a im($from,.'/')...'/dummy_file';.
da400 7d 0a 0a 69 66 20 28 64 69 72 6e 61 6d 65 28 24 66 72 6f 6d 29 20 3d 3d 3d 20 64 69 72 6e 61 6d }..if.(dirname($from).===.dirnam
da420 65 28 24 74 6f 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 2e 2f 27 2e 62 61 73 65 6e 61 6d 65 28 24 e($to)).{.return.'./'.basename($
da440 74 6f 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 3d 20 24 74 6f 3b 0a 77 68 69 6c 65 to);.}..$commonPath.=.$to;.while
da460 20 28 73 74 72 70 6f 73 28 24 66 72 6f 6d 2e 27 2f 27 2c 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 2e .(strpos($from.'/',.$commonPath.
da480 27 2f 27 29 20 21 3d 3d 20 30 20 26 26 20 27 2f 27 20 21 3d 3d 20 24 63 6f 6d 6d 6f 6e 50 61 74 '/').!==.0.&&.'/'.!==.$commonPat
da4a0 68 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 7a 5d 3a 2f 3f 24 7d 69 27 h.&&.!preg_match('{^[a-z]:/?$}i'
da4c0 2c 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 29 20 7b 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 3d 20 ,.$commonPath)).{.$commonPath.=.
da4e0 73 74 72 74 72 28 64 69 72 6e 61 6d 65 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 2c 20 27 5c 5c 27 strtr(dirname($commonPath),.'\\'
da500 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 66 72 6f ,.'/');.}..if.(0.!==.strpos($fro
da520 6d 2c 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 7c 7c 20 27 2f 27 20 3d 3d 3d 20 24 63 6f 6d 6d m,.$commonPath).||.'/'.===.$comm
da540 6f 6e 50 61 74 68 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 6f 3b 0a 7d 0a 0a 24 63 6f 6d 6d 6f 6e onPath).{.return.$to;.}..$common
da560 50 61 74 68 20 3d 20 72 74 72 69 6d 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 2c 20 27 2f 27 29 20 2e Path.=.rtrim($commonPath,.'/')..
da580 20 27 2f 27 3b 0a 24 73 6f 75 72 63 65 50 61 74 68 44 65 70 74 68 20 3d 20 73 75 62 73 74 72 5f .'/';.$sourcePathDepth.=.substr_
da5a0 63 6f 75 6e 74 28 73 75 62 73 74 72 28 24 66 72 6f 6d 2c 20 73 74 72 6c 65 6e 28 24 63 6f 6d 6d count(substr($from,.strlen($comm
da5c0 6f 6e 50 61 74 68 29 29 2c 20 27 2f 27 29 3b 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 65 20 onPath)),.'/');.$commonPathCode.
da5e0 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 2e 2e 2f 27 2c 20 24 73 6f 75 72 63 65 50 61 74 68 44 =.str_repeat('../',.$sourcePathD
da600 65 70 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 65 20 epth);..return.($commonPathCode.
da620 2e 20 73 75 62 73 74 72 28 24 74 6f 2c 20 73 74 72 6c 65 6e 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 ..substr($to,.strlen($commonPath
da640 29 29 29 20 3f 3a 20 27 2e 2f 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ))).?:.'./';.}............public
da660 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 43 6f 64 65 28 24 .function.findShortestPathCode($
da680 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 64 69 72 65 63 74 6f 72 69 65 73 20 3d 20 66 61 6c 73 65 2c from,.$to,.$directories.=.false,
da6a0 20 24 73 74 61 74 69 63 43 6f 64 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 .$staticCode.=.false).{.if.(!$th
da6c0 69 73 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 66 72 6f 6d 29 20 7c 7c 20 21 24 74 is->isAbsolutePath($from).||.!$t
da6e0 68 69 73 2d 3e 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 74 6f 29 29 20 7b 0a 74 68 72 6f his->isAbsolutePath($to)).{.thro
da700 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 w.new.\InvalidArgumentException(
da720 73 70 72 69 6e 74 66 28 27 24 66 72 6f 6d 20 28 25 73 29 20 61 6e 64 20 24 74 6f 20 28 25 73 29 sprintf('$from.(%s).and.$to.(%s)
da740 20 6d 75 73 74 20 62 65 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 73 2e 27 2c 20 24 66 72 6f 6d .must.be.absolute.paths.',.$from
da760 2c 20 24 74 6f 29 29 3b 0a 7d 0a 0a 24 66 72 6f 6d 20 3d 20 6c 63 66 69 72 73 74 28 24 74 68 69 ,.$to));.}..$from.=.lcfirst($thi
da780 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 66 72 6f 6d 29 29 3b 0a 24 74 6f 20 3d 20 s->normalizePath($from));.$to.=.
da7a0 6c 63 66 69 72 73 74 28 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 74 6f lcfirst($this->normalizePath($to
da7c0 29 29 3b 0a 0a 69 66 20 28 24 66 72 6f 6d 20 3d 3d 3d 20 24 74 6f 29 20 7b 0a 72 65 74 75 72 6e ));..if.($from.===.$to).{.return
da7e0 20 24 64 69 72 65 63 74 6f 72 69 65 73 20 3f 20 27 5f 5f 44 49 52 5f 5f 27 20 3a 20 27 5f 5f 46 .$directories.?.'__DIR__'.:.'__F
da800 49 4c 45 5f 5f 27 3b 0a 7d 0a 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 3d 20 24 74 6f 3b 0a 77 68 ILE__';.}..$commonPath.=.$to;.wh
da820 69 6c 65 20 28 73 74 72 70 6f 73 28 24 66 72 6f 6d 2e 27 2f 27 2c 20 24 63 6f 6d 6d 6f 6e 50 61 ile.(strpos($from.'/',.$commonPa
da840 74 68 2e 27 2f 27 29 20 21 3d 3d 20 30 20 26 26 20 27 2f 27 20 21 3d 3d 20 24 63 6f 6d 6d 6f 6e th.'/').!==.0.&&.'/'.!==.$common
da860 50 61 74 68 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 7a 5d 3a 2f 3f 24 Path.&&.!preg_match('{^[a-z]:/?$
da880 7d 69 27 2c 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 26 26 20 27 2e 27 20 21 3d 3d 20 24 63 6f }i',.$commonPath).&&.'.'.!==.$co
da8a0 6d 6d 6f 6e 50 61 74 68 29 20 7b 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 20 3d 20 73 74 72 74 72 28 mmonPath).{.$commonPath.=.strtr(
da8c0 64 69 72 6e 61 6d 65 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 dirname($commonPath),.'\\',.'/')
da8e0 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 66 72 6f 6d 2c 20 24 63 6f ;.}..if.(0.!==.strpos($from,.$co
da900 6d 6d 6f 6e 50 61 74 68 29 20 7c 7c 20 27 2f 27 20 3d 3d 3d 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 mmonPath).||.'/'.===.$commonPath
da920 20 7c 7c 20 27 2e 27 20 3d 3d 3d 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 20 7b 0a 72 65 74 75 72 .||.'.'.===.$commonPath).{.retur
da940 6e 20 76 61 72 5f 65 78 70 6f 72 74 28 24 74 6f 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 24 63 6f 6d n.var_export($to,.true);.}..$com
da960 6d 6f 6e 50 61 74 68 20 3d 20 72 74 72 69 6d 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 2c 20 27 2f 27 monPath.=.rtrim($commonPath,.'/'
da980 29 20 2e 20 27 2f 27 3b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 74 6f 2c 20 24 66 72 6f 6d 2e 27 )...'/';.if.(strpos($to,.$from.'
da9a0 2f 27 29 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 27 5f 5f 44 49 52 5f 5f 20 2e 20 27 /').===.0).{.return.'__DIR__...'
da9c0 2e 76 61 72 5f 65 78 70 6f 72 74 28 73 75 62 73 74 72 28 24 74 6f 2c 20 73 74 72 6c 65 6e 28 24 .var_export(substr($to,.strlen($
da9e0 66 72 6f 6d 29 29 2c 20 74 72 75 65 29 3b 0a 7d 0a 24 73 6f 75 72 63 65 50 61 74 68 44 65 70 74 from)),.true);.}.$sourcePathDept
daa00 68 20 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 73 75 62 73 74 72 28 24 66 72 6f 6d 2c 20 73 h.=.substr_count(substr($from,.s
daa20 74 72 6c 65 6e 28 24 63 6f 6d 6d 6f 6e 50 61 74 68 29 29 2c 20 27 2f 27 29 20 2b 20 24 64 69 72 trlen($commonPath)),.'/').+.$dir
daa40 65 63 74 6f 72 69 65 73 3b 0a 69 66 20 28 24 73 74 61 74 69 63 43 6f 64 65 29 20 7b 0a 24 63 6f ectories;.if.($staticCode).{.$co
daa60 6d 6d 6f 6e 50 61 74 68 43 6f 64 65 20 3d 20 22 5f 5f 44 49 52 5f 5f 20 2e 20 27 22 2e 73 74 72 mmonPathCode.=."__DIR__...'".str
daa80 5f 72 65 70 65 61 74 28 27 2f 2e 2e 27 2c 20 24 73 6f 75 72 63 65 50 61 74 68 44 65 70 74 68 29 _repeat('/..',.$sourcePathDepth)
daaa0 2e 22 27 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 65 20 3d ."'";.}.else.{.$commonPathCode.=
daac0 20 73 74 72 5f 72 65 70 65 61 74 28 27 64 69 72 6e 61 6d 65 28 27 2c 20 24 73 6f 75 72 63 65 50 .str_repeat('dirname(',.$sourceP
daae0 61 74 68 44 65 70 74 68 29 2e 27 5f 5f 44 49 52 5f 5f 27 2e 73 74 72 5f 72 65 70 65 61 74 28 27 athDepth).'__DIR__'.str_repeat('
dab00 29 27 2c 20 24 73 6f 75 72 63 65 50 61 74 68 44 65 70 74 68 29 3b 0a 7d 0a 24 72 65 6c 54 61 72 )',.$sourcePathDepth);.}.$relTar
dab20 67 65 74 20 3d 20 73 75 62 73 74 72 28 24 74 6f 2c 20 73 74 72 6c 65 6e 28 24 63 6f 6d 6d 6f 6e get.=.substr($to,.strlen($common
dab40 50 61 74 68 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 6f 6e 50 61 74 68 43 6f 64 65 20 Path));..return.$commonPathCode.
dab60 2e 20 28 73 74 72 6c 65 6e 28 24 72 65 6c 54 61 72 67 65 74 29 20 3f 20 27 2e 27 20 2e 20 76 61 ..(strlen($relTarget).?.'.'...va
dab80 72 5f 65 78 70 6f 72 74 28 27 2f 27 20 2e 20 24 72 65 6c 54 61 72 67 65 74 2c 20 74 72 75 65 29 r_export('/'...$relTarget,.true)
daba0 20 3a 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .:.'');.}........public.function
dabc0 20 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 .isAbsolutePath($path).{.return.
dabe0 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 30 2c 20 31 29 20 3d 3d 3d 20 27 2f 27 20 7c 7c 20 73 substr($path,.0,.1).===.'/'.||.s
dac00 75 62 73 74 72 28 24 70 61 74 68 2c 20 31 2c 20 31 29 20 3d 3d 3d 20 27 3a 27 20 7c 7c 20 73 75 ubstr($path,.1,.1).===.':'.||.su
dac20 62 73 74 72 28 24 70 61 74 68 2c 20 30 2c 20 32 29 20 3d 3d 3d 20 27 5c 5c 5c 5c 27 3b 0a 7d 0a bstr($path,.0,.2).===.'\\\\';.}.
dac40 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 69 7a 65 28 24 70 .........public.function.size($p
dac60 61 74 68 29 0a 7b 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 24 70 61 74 68 29 29 20 ath).{.if.(!file_exists($path)).
dac80 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 22 24 {.throw.new.\RuntimeException("$
daca0 70 61 74 68 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 29 3b 0a 7d 0a 69 66 20 28 69 73 path.does.not.exist.");.}.if.(is
dacc0 5f 64 69 72 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 72 _dir($path)).{.return.$this->dir
dace0 65 63 74 6f 72 79 53 69 7a 65 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 69 6c ectorySize($path);.}..return.fil
dad00 65 73 69 7a 65 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 esize($path);.}.........public.f
dad20 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 24 unction.normalizePath($path).{.$
dad40 70 61 72 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 70 61 74 68 20 3d 20 73 74 72 74 72 28 24 parts.=.array();.$path.=.strtr($
dad60 70 61 74 68 2c 20 27 5c 5c 27 2c 20 27 2f 27 29 3b 0a 24 70 72 65 66 69 78 20 3d 20 27 27 3b 0a path,.'\\',.'/');.$prefix.=.'';.
dad80 24 61 62 73 6f 6c 75 74 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d $absolute.=.false;....if.(preg_m
dada0 61 74 63 68 28 27 7b 5e 28 20 5b 30 2d 39 61 2d 7a 5d 7b 32 2c 7d 2b 3a 20 28 3f 3a 20 2f 2f 20 atch('{^(.[0-9a-z]{2,}+:.(?:.//.
dadc0 28 3f 3a 20 5b 61 2d 7a 5d 3a 20 29 3f 20 29 3f 20 7c 20 5b 61 2d 7a 5d 3a 20 29 7d 69 78 27 2c (?:.[a-z]:.)?.)?.|.[a-z]:.)}ix',
dade0 20 24 70 61 74 68 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 70 72 65 66 69 78 20 3d 20 24 6d 61 .$path,.$match)).{.$prefix.=.$ma
dae00 74 63 68 5b 31 5d 3b 0a 24 70 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 73 74 tch[1];.$path.=.substr($path,.st
dae20 72 6c 65 6e 28 24 70 72 65 66 69 78 29 29 3b 0a 7d 0a 0a 69 66 20 28 73 75 62 73 74 72 28 24 70 rlen($prefix));.}..if.(substr($p
dae40 61 74 68 2c 20 30 2c 20 31 29 20 3d 3d 3d 20 27 2f 27 29 20 7b 0a 24 61 62 73 6f 6c 75 74 65 20 ath,.0,.1).===.'/').{.$absolute.
dae60 3d 20 74 72 75 65 3b 0a 24 70 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 31 29 =.true;.$path.=.substr($path,.1)
dae80 3b 0a 7d 0a 0a 24 75 70 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f ;.}..$up.=.false;.foreach.(explo
daea0 64 65 28 27 2f 27 2c 20 24 70 61 74 68 29 20 61 73 20 24 63 68 75 6e 6b 29 20 7b 0a 69 66 20 28 de('/',.$path).as.$chunk).{.if.(
daec0 27 2e 2e 27 20 3d 3d 3d 20 24 63 68 75 6e 6b 20 26 26 20 28 24 61 62 73 6f 6c 75 74 65 20 7c 7c '..'.===.$chunk.&&.($absolute.||
daee0 20 24 75 70 29 29 20 7b 0a 61 72 72 61 79 5f 70 6f 70 28 24 70 61 72 74 73 29 3b 0a 24 75 70 20 .$up)).{.array_pop($parts);.$up.
daf00 3d 20 21 28 65 6d 70 74 79 28 24 70 61 72 74 73 29 20 7c 7c 20 27 2e 2e 27 20 3d 3d 3d 20 65 6e =.!(empty($parts).||.'..'.===.en
daf20 64 28 24 70 61 72 74 73 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 2e 27 20 21 3d 3d 20 24 63 d($parts));.}.elseif.('.'.!==.$c
daf40 68 75 6e 6b 20 26 26 20 27 27 20 21 3d 3d 20 24 63 68 75 6e 6b 29 20 7b 0a 24 70 61 72 74 73 5b hunk.&&.''.!==.$chunk).{.$parts[
daf60 5d 20 3d 20 24 63 68 75 6e 6b 3b 0a 24 75 70 20 3d 20 27 2e 2e 27 20 21 3d 3d 20 24 63 68 75 6e ].=.$chunk;.$up.=.'..'.!==.$chun
daf80 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 66 69 78 2e 28 24 61 62 73 6f 6c 75 74 k;.}.}..return.$prefix.($absolut
dafa0 65 20 3f 20 27 2f 27 20 3a 20 27 27 29 2e 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 24 70 61 72 74 e.?.'/'.:.'').implode('/',.$part
dafc0 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 s);.}........public.static.funct
dafe0 69 6f 6e 20 69 73 4c 6f 63 61 6c 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 ion.isLocalPath($path).{.return.
db000 28 62 6f 6f 6c 29 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 66 69 6c 65 3a 2f 2f 28 3f 21 (bool).preg_match('{^(file://(?!
db020 2f 2f 29 7c 2f 28 3f 21 2f 29 7c 2f 3f 5b 61 2d 7a 5d 3a 5b 5c 5c 5c 5c 2f 5d 7c 5c 2e 5c 2e 5b //)|/(?!/)|/?[a-z]:[\\\\/]|\.\.[
db040 5c 5c 5c 5c 2f 5d 7c 5b 61 2d 7a 30 2d 39 5f 2e 2d 5d 2b 5b 5c 5c 5c 5c 2f 5d 29 7d 69 27 2c 20 \\\\/]|[a-z0-9_.-]+[\\\\/])}i',.
db060 24 70 61 74 68 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f $path);.}..public.static.functio
db080 6e 20 67 65 74 50 6c 61 74 66 6f 72 6d 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 50 n.getPlatformPath($path).{.if.(P
db0a0 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 29 20 7b 0a 24 70 61 74 68 20 3d 20 latform::isWindows()).{.$path.=.
db0c0 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 3f 3a 66 69 6c 65 3a 2f 2f 2f 28 5b 61 2d 7a preg_replace('{^(?:file:///([a-z
db0e0 5d 29 3a 3f 2f 29 7d 69 27 2c 20 27 66 69 6c 65 3a 2f 2f 24 31 3a 2f 27 2c 20 24 70 61 74 68 29 ]):?/)}i',.'file://$1:/',.$path)
db100 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 66 69 6c 65 ;.}..return.preg_replace('{^file
db120 3a 2f 2f 7d 69 27 2c 20 27 27 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 ://}i',.'',.$path);.}..protected
db140 20 66 75 6e 63 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 79 53 69 7a 65 28 24 64 69 72 65 63 74 6f .function.directorySize($directo
db160 72 79 29 0a 7b 0a 24 69 74 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f ry).{.$it.=.new.RecursiveDirecto
db180 72 79 49 74 65 72 61 74 6f 72 28 24 64 69 72 65 63 74 6f 72 79 2c 20 52 65 63 75 72 73 69 76 65 ryIterator($directory,.Recursive
db1a0 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 29 3b 0a 24 DirectoryIterator::SKIP_DOTS);.$
db1c0 72 69 20 3d 20 6e 65 77 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 ri.=.new.RecursiveIteratorIterat
db1e0 6f 72 28 24 69 74 2c 20 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f or($it,.RecursiveIteratorIterato
db200 72 3a 3a 43 48 49 4c 44 5f 46 49 52 53 54 29 3b 0a 0a 24 73 69 7a 65 20 3d 20 30 3b 0a 66 6f 72 r::CHILD_FIRST);..$size.=.0;.for
db220 65 61 63 68 20 28 24 72 69 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 24 66 69 6c 65 2d each.($ri.as.$file).{.if.($file-
db240 3e 69 73 46 69 6c 65 28 29 29 20 7b 0a 24 73 69 7a 65 20 2b 3d 20 24 66 69 6c 65 2d 3e 67 65 74 >isFile()).{.$size.+=.$file->get
db260 53 69 7a 65 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 69 7a 65 3b 0a 7d 0a 0a 70 72 Size();.}.}..return.$size;.}..pr
db280 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 63 65 73 73 28 29 0a 7b 0a otected.function.getProcess().{.
db2a0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3b 0a 7d return.$this->processExecutor;.}
db2c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 6e 6c 69 ...........private.function.unli
db2e0 6e 6b 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 28 24 70 61 74 68 29 0a 7b 0a 69 66 20 28 50 6c nkImplementation($path).{.if.(Pl
db300 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 69 73 5f 64 69 72 28 24 70 atform::isWindows().&&.is_dir($p
db320 61 74 68 29 20 26 26 20 69 73 5f 6c 69 6e 6b 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e ath).&&.is_link($path)).{.return
db340 20 72 6d 64 69 72 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 75 6e 6c 69 6e 6b 28 .rmdir($path);.}..return.unlink(
db360 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f $path);.}.........public.functio
db380 6e 20 72 65 6c 61 74 69 76 65 53 79 6d 6c 69 6e 6b 28 24 74 61 72 67 65 74 2c 20 24 6c 69 6e 6b n.relativeSymlink($target,.$link
db3a0 29 0a 7b 0a 24 63 77 64 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 0a 24 72 65 6c 61 74 69 76 65 50 ).{.$cwd.=.getcwd();..$relativeP
db3c0 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 53 68 6f 72 74 65 73 74 50 61 74 68 28 24 6c ath.=.$this->findShortestPath($l
db3e0 69 6e 6b 2c 20 24 74 61 72 67 65 74 29 3b 0a 63 68 64 69 72 28 64 69 72 6e 61 6d 65 28 24 6c 69 ink,.$target);.chdir(dirname($li
db400 6e 6b 29 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 40 73 79 6d 6c 69 6e 6b 28 24 72 65 6c 61 74 69 nk));.$result.=.@symlink($relati
db420 76 65 50 61 74 68 2c 20 24 6c 69 6e 6b 29 3b 0a 0a 63 68 64 69 72 28 24 63 77 64 29 3b 0a 0a 72 vePath,.$link);..chdir($cwd);..r
db440 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 eturn.$result;.}.........public.
db460 66 75 6e 63 74 69 6f 6e 20 69 73 53 79 6d 6c 69 6e 6b 65 64 44 69 72 65 63 74 6f 72 79 28 24 64 function.isSymlinkedDirectory($d
db480 69 72 65 63 74 6f 72 79 29 0a 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 65 63 74 6f irectory).{.if.(!is_dir($directo
db4a0 72 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 72 65 73 6f 6c 76 65 ry)).{.return.false;.}..$resolve
db4c0 64 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 53 79 6d 6c 69 6e 6b 65 64 44 69 72 65 63 d.=.$this->resolveSymlinkedDirec
db4e0 74 6f 72 79 53 79 6d 6c 69 6e 6b 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 0a 72 65 74 75 72 6e torySymlink($directory);..return
db500 20 69 73 5f 6c 69 6e 6b 28 24 72 65 73 6f 6c 76 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 .is_link($resolved);.}.......pri
db520 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 75 6e 6c 69 6e 6b 53 79 6d 6c 69 6e 6b 65 64 44 69 72 vate.function.unlinkSymlinkedDir
db540 65 63 74 6f 72 79 28 24 64 69 72 65 63 74 6f 72 79 29 0a 7b 0a 24 72 65 73 6f 6c 76 65 64 20 3d ectory($directory).{.$resolved.=
db560 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 53 79 6d 6c 69 6e 6b 65 64 44 69 72 65 63 74 6f 72 .$this->resolveSymlinkedDirector
db580 79 53 79 6d 6c 69 6e 6b 28 24 64 69 72 65 63 74 6f 72 79 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 ySymlink($directory);..return.$t
db5a0 68 69 73 2d 3e 75 6e 6c 69 6e 6b 28 24 72 65 73 6f 6c 76 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a his->unlink($resolved);.}.......
db5c0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 53 79 6d 6c 69 6e ..private.function.resolveSymlin
db5e0 6b 65 64 44 69 72 65 63 74 6f 72 79 53 79 6d 6c 69 6e 6b 28 24 70 61 74 68 6e 61 6d 65 29 0a 7b kedDirectorySymlink($pathname).{
db600 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 70 61 74 68 6e 61 6d 65 29 29 20 7b 0a 72 65 74 75 72 .if.(!is_dir($pathname)).{.retur
db620 6e 20 24 70 61 74 68 6e 61 6d 65 3b 0a 7d 0a 0a 24 72 65 73 6f 6c 76 65 64 20 3d 20 72 74 72 69 n.$pathname;.}..$resolved.=.rtri
db640 6d 28 24 70 61 74 68 6e 61 6d 65 2c 20 27 2f 27 29 3b 0a 0a 69 66 20 28 21 73 74 72 6c 65 6e 28 m($pathname,.'/');..if.(!strlen(
db660 24 72 65 73 6f 6c 76 65 64 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 6e 61 6d 65 3b 0a $resolved)).{.return.$pathname;.
db680 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 6f 6c 76 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 }..return.$resolved;.}........pu
db6a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6a 75 6e 63 74 69 6f 6e 28 24 74 61 72 67 65 74 2c 20 blic.function.junction($target,.
db6c0 24 6a 75 6e 63 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 $junction).{.if.(!Platform::isWi
db6e0 6e 64 6f 77 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 ndows()).{.throw.new.\LogicExcep
db700 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 75 6e 63 74 69 6f 6e 20 25 73 20 69 73 20 6e 6f 74 tion(sprintf('Function.%s.is.not
db720 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 6e 6f 6e 2d 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f .available.on.non-Windows.platfo
db740 72 6d 27 2c 20 5f 5f 43 4c 41 53 53 5f 5f 29 29 3b 0a 7d 0a 69 66 20 28 21 69 73 5f 64 69 72 28 rm',.__CLASS__));.}.if.(!is_dir(
db760 24 74 61 72 67 65 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f $target)).{.throw.new.IOExceptio
db780 6e 28 73 70 72 69 6e 74 66 28 27 43 61 6e 6e 6f 74 20 6a 75 6e 63 74 69 6f 6e 20 74 6f 20 22 25 n(sprintf('Cannot.junction.to."%
db7a0 73 22 20 61 73 20 69 74 20 69 73 20 6e 6f 74 20 61 20 64 69 72 65 63 74 6f 72 79 2e 27 2c 20 24 s".as.it.is.not.a.directory.',.$
db7c0 74 61 72 67 65 74 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 24 63 target),.0,.null,.$target);.}.$c
db7e0 6d 64 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 6d 6b 6c 69 6e 6b 20 2f 4a 20 25 73 20 25 73 27 2c md.=.sprintf(.'mklink./J.%s.%s',
db800 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 73 74 72 5f 72 65 70 .ProcessExecutor::escape(str_rep
db820 6c 61 63 65 28 27 2f 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 lace('/',.DIRECTORY_SEPARATOR,.$
db840 6a 75 6e 63 74 69 6f 6e 29 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 junction)),.ProcessExecutor::esc
db860 61 70 65 28 72 65 61 6c 70 61 74 68 28 24 74 61 72 67 65 74 29 29 0a 29 3b 0a 69 66 20 28 24 74 ape(realpath($target)).);.if.($t
db880 68 69 73 2d 3e 67 65 74 50 72 6f 63 65 73 73 28 29 2d 3e 65 78 65 63 75 74 65 28 24 63 6d 64 2c his->getProcess()->execute($cmd,
db8a0 20 24 6f 75 74 70 75 74 29 20 21 3d 3d 20 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 .$output).!==.0).{.throw.new.IOE
db8c0 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 72 65 61 xception(sprintf('Failed.to.crea
db8e0 74 65 20 6a 75 6e 63 74 69 6f 6e 20 74 6f 20 22 25 73 22 20 61 74 20 22 25 73 22 2e 27 2c 20 24 te.junction.to."%s".at."%s".',.$
db900 74 61 72 67 65 74 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 61 target,.$junction),.0,.null,.$ta
db920 72 67 65 74 29 3b 0a 7d 0a 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 74 72 75 65 2c 20 24 6a rget);.}.clearstatcache(true,.$j
db940 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a unction);.}.....................
db960 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4a 75 6e 63 74 69 6f 6e 28 24 6a 75 6e .public.function.isJunction($jun
db980 63 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 ction).{.if.(!Platform::isWindow
db9a0 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 63 6c 65 61 72 73 s()).{.return.false;.}....clears
db9c0 74 61 74 63 61 63 68 65 28 74 72 75 65 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 3b 0a 0a 69 66 20 28 tatcache(true,.$junction);..if.(
db9e0 21 69 73 5f 64 69 72 28 24 6a 75 6e 63 74 69 6f 6e 29 20 7c 7c 20 69 73 5f 6c 69 6e 6b 28 24 6a !is_dir($junction).||.is_link($j
dba00 75 6e 63 74 69 6f 6e 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 73 74 unction)).{.return.false;.}..$st
dba20 61 74 20 3d 20 6c 73 74 61 74 28 24 6a 75 6e 63 74 69 6f 6e 29 3b 0a 0a 0a 20 72 65 74 75 72 6e at.=.lstat($junction);....return
dba40 20 24 73 74 61 74 20 3f 20 30 78 34 30 30 30 20 21 3d 3d 20 28 24 73 74 61 74 5b 27 6d 6f 64 65 .$stat.?.0x4000.!==.($stat['mode
dba60 27 5d 20 26 20 30 78 46 30 30 30 29 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 '].&.0xF000).:.false;.}........p
dba80 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 4a 75 6e 63 74 69 6f 6e 28 24 6a ublic.function.removeJunction($j
dbaa0 75 6e 63 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 50 6c 61 74 66 6f 72 6d 3a 3a 69 73 57 69 6e 64 unction).{.if.(!Platform::isWind
dbac0 6f 77 73 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 24 6a 75 6e 63 74 69 ows()).{.return.false;.}.$juncti
dbae0 6f 6e 20 3d 20 72 74 72 69 6d 28 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 44 49 52 45 on.=.rtrim(str_replace('/',.DIRE
dbb00 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 2c 20 44 49 52 CTORY_SEPARATOR,.$junction),.DIR
dbb20 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 ECTORY_SEPARATOR);.if.(!$this->i
dbb40 73 4a 75 6e 63 74 69 6f 6e 28 24 6a 75 6e 63 74 69 6f 6e 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 sJunction($junction)).{.throw.ne
dbb60 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 25 73 20 69 73 20 6e 6f 74 w.IOException(sprintf('%s.is.not
dbb80 20 61 20 6a 75 6e 63 74 69 6f 6e 20 61 6e 64 20 74 68 75 73 20 63 61 6e 6e 6f 74 20 62 65 20 72 .a.junction.and.thus.cannot.be.r
dbba0 65 6d 6f 76 65 64 20 61 73 20 6f 6e 65 27 2c 20 24 6a 75 6e 63 74 69 6f 6e 29 29 3b 0a 7d 0a 0a emoved.as.one',.$junction));.}..
dbbc0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 6d 64 69 72 28 24 6a 75 6e 63 74 69 6f 6e 29 3b 0a return.$this->rmdir($junction);.
dbbe0 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 }.}.<?php............namespace.C
dbc00 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 omposer\Util;..use.Composer\Conf
dbc20 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b ig;.use.Composer\IO\IOInterface;
dbc40 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 .....class.Git.{.private.static.
dbc60 24 76 65 72 73 69 6f 6e 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 70 72 6f 74 $version;...protected.$io;..prot
dbc80 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 ected.$config;..protected.$proce
dbca0 73 73 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 70 75 62 ss;..protected.$filesystem;..pub
dbcc0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 lic.function.__construct(IOInter
dbce0 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 face.$io,.Config.$config,.Proces
dbd00 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 2c 20 46 69 6c 65 73 79 73 74 65 6d 20 24 sExecutor.$process,.Filesystem.$
dbd20 66 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f fs).{.$this->io.=.$io;.$this->co
dbd40 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d nfig.=.$config;.$this->process.=
dbd60 20 24 70 72 6f 63 65 73 73 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 .$process;.$this->filesystem.=.$
dbd80 66 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 43 6f 6d 6d 61 6e fs;.}..public.function.runComman
dbda0 64 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c 20 24 63 77 64 2c 20 d($commandCallable,.$url,.$cwd,.
dbdc0 24 69 6e 69 74 69 61 6c 43 6c 6f 6e 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 24 74 68 69 73 $initialClone.=.false).{...$this
dbde0 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 75 ->config->prohibitUrlByConfig($u
dbe00 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 69 66 20 28 24 69 6e 69 74 69 61 6c 43 6c 6f rl,.$this->io);..if.($initialClo
dbe20 6e 65 29 20 7b 0a 24 6f 72 69 67 43 77 64 20 3d 20 24 63 77 64 3b 0a 24 63 77 64 20 3d 20 6e 75 ne).{.$origCwd.=.$cwd;.$cwd.=.nu
dbe40 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 73 73 68 3a 2f 2f 5b ll;.}..if.(preg_match('{^ssh://[
dbe60 5e 40 5d 2b 40 5b 5e 3a 5d 2b 3a 5b 5e 30 2d 39 5d 2b 7d 27 2c 20 24 75 72 6c 29 29 20 7b 0a 74 ^@]+@[^:]+:[^0-9]+}',.$url)).{.t
dbe80 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 hrow.new.\InvalidArgumentExcepti
dbea0 6f 6e 28 27 54 68 65 20 73 6f 75 72 63 65 20 55 52 4c 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 20 on('The.source.URL.'...$url...'.
dbec0 69 73 20 69 6e 76 61 6c 69 64 2c 20 73 73 68 20 55 52 4c 73 20 73 68 6f 75 6c 64 20 68 61 76 65 is.invalid,.ssh.URLs.should.have
dbee0 20 61 20 70 6f 72 74 20 6e 75 6d 62 65 72 20 61 66 74 65 72 20 22 3a 22 2e 27 20 2e 20 22 5c 6e .a.port.number.after.":".'..."\n
dbf00 22 20 2e 20 27 55 73 65 20 73 73 68 3a 2f 2f 67 69 74 40 65 78 61 6d 70 6c 65 2e 63 6f 6d 3a 32 "...'Use.ssh://git@example.com:2
dbf20 32 2f 70 61 74 68 20 6f 72 20 6a 75 73 74 20 67 69 74 40 65 78 61 6d 70 6c 65 2e 63 6f 6d 3a 70 2/path.or.just.git@example.com:p
dbf40 61 74 68 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 ath.if.you.do.not.want.to.provid
dbf60 65 20 61 20 70 61 73 73 77 6f 72 64 20 6f 72 20 63 75 73 74 6f 6d 20 70 6f 72 74 2e 27 29 3b 0a e.a.password.or.custom.port.');.
dbf80 7d 0a 0a 69 66 20 28 21 24 69 6e 69 74 69 61 6c 43 6c 6f 6e 65 29 20 7b 0a 0a 20 24 74 68 69 73 }..if.(!$initialClone).{...$this
dbfa0 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 6d 6f 74 65 20 2d ->process->execute('git.remote.-
dbfc0 76 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 63 77 64 29 3b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 v',.$output,.$cwd);.if.(preg_mat
dbfe0 63 68 28 27 7b 5e 28 3f 3a 63 6f 6d 70 6f 73 65 72 7c 6f 72 69 67 69 6e 29 5c 73 2b 68 74 74 70 ch('{^(?:composer|origin)\s+http
dc000 73 3f 3a 2f 2f 28 2e 2b 29 3a 28 2e 2b 29 40 28 5b 5e 2f 5d 2b 29 7d 69 6d 27 2c 20 24 6f 75 74 s?://(.+):(.+)@([^/]+)}im',.$out
dc020 70 75 74 2c 20 24 6d 61 74 63 68 29 20 26 26 20 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 put,.$match).&&.!$this->io->hasA
dc040 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 33 5d 29 29 20 7b 0a 24 74 68 69 uthentication($match[3])).{.$thi
dc060 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b s->io->setAuthentication($match[
dc080 33 5d 2c 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 6d 61 74 63 68 5b 31 5d 29 2c 20 72 61 77 3],.rawurldecode($match[1]),.raw
dc0a0 75 72 6c 64 65 63 6f 64 65 28 24 6d 61 74 63 68 5b 32 5d 29 29 3b 0a 7d 0a 7d 0a 0a 24 70 72 6f urldecode($match[2]));.}.}..$pro
dc0c0 74 6f 63 6f 6c 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 tocols.=.$this->config->get('git
dc0e0 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 27 29 3b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 hub-protocols');.if.(!is_array($
dc100 70 72 6f 74 6f 63 6f 6c 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 protocols)).{.throw.new.\Runtime
dc120 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 6e 66 69 67 20 76 61 6c 75 65 20 22 67 69 74 68 75 62 2d Exception('Config.value."github-
dc140 70 72 6f 74 6f 63 6f 6c 73 22 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 2c 20 67 6f 74 protocols".must.be.an.array,.got
dc160 20 27 20 2e 20 67 65 74 74 79 70 65 28 24 70 72 6f 74 6f 63 6f 6c 73 29 29 3b 0a 7d 0a 0a 20 69 .'...gettype($protocols));.}...i
dc180 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 3a 68 74 74 70 73 3f 7c 67 69 74 29 3a f.(preg_match('{^(?:https?|git):
dc1a0 2f 2f 27 20 2e 20 73 65 6c 66 3a 3a 67 65 74 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 //'...self::getGitHubDomainsRege
dc1c0 78 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 20 2e 20 27 2f 28 2e 2a 29 7d 27 2c 20 24 75 72 x($this->config)...'/(.*)}',.$ur
dc1e0 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 l,.$match)).{.$messages.=.array(
dc200 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 72 6f 74 6f 63 6f 6c 73 20 61 73 20 24 70 72 6f 74 6f );.foreach.($protocols.as.$proto
dc220 63 6f 6c 29 20 7b 0a 69 66 20 28 27 73 73 68 27 20 3d 3d 3d 20 24 70 72 6f 74 6f 63 6f 6c 29 20 col).{.if.('ssh'.===.$protocol).
dc240 7b 0a 24 70 72 6f 74 6f 55 72 6c 20 3d 20 22 67 69 74 40 22 20 2e 20 24 6d 61 74 63 68 5b 31 5d {.$protoUrl.=."git@"...$match[1]
dc260 20 2e 20 22 3a 22 20 2e 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 ...":"...$match[2];.}.else.{.$pr
dc280 6f 74 6f 55 72 6c 20 3d 20 24 70 72 6f 74 6f 63 6f 6c 20 2e 20 22 3a 2f 2f 22 20 2e 20 24 6d 61 otoUrl.=.$protocol..."://"...$ma
dc2a0 74 63 68 5b 31 5d 20 2e 20 22 2f 22 20 2e 20 24 6d 61 74 63 68 5b 32 5d 3b 0a 7d 0a 0a 69 66 20 tch[1]..."/"...$match[2];.}..if.
dc2c0 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 63 (0.===.$this->process->execute(c
dc2e0 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 all_user_func($commandCallable,.
dc300 24 70 72 6f 74 6f 55 72 6c 29 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 $protoUrl),.$ignoredOutput,.$cwd
dc320 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 27 2d 20 )).{.return;.}.$messages[].=.'-.
dc340 27 20 2e 20 24 70 72 6f 74 6f 55 72 6c 20 2e 20 22 5c 6e 22 20 2e 20 70 72 65 67 5f 72 65 70 6c '...$protoUrl..."\n"...preg_repl
dc360 61 63 65 28 27 23 5e 23 6d 27 2c 20 27 20 20 27 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 ace('#^#m',.'..',.$this->process
dc380 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 69 66 20 28 24 69 6e 69 74 69 61 ->getErrorOutput());.if.($initia
dc3a0 6c 43 6c 6f 6e 65 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d lClone).{.$this->filesystem->rem
dc3c0 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 6f 72 69 67 43 77 64 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 oveDirectory($origCwd);.}.}....$
dc3e0 74 68 69 73 2d 3e 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 20 74 6f 20 this->throwException('Failed.to.
dc400 63 6c 6f 6e 65 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 20 76 69 61 20 27 20 2e 20 69 6d 70 6c 6f clone.'...$url...'.via.'...implo
dc420 64 65 28 27 2c 20 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 73 29 20 2e 20 27 20 70 72 6f 74 6f 63 6f de(',.',.$protocols)...'.protoco
dc440 6c 73 2c 20 61 62 6f 72 74 69 6e 67 2e 27 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 69 6d 70 6c 6f 64 ls,.aborting.'..."\n\n"...implod
dc460 65 28 22 5c 6e 22 2c 20 24 6d 65 73 73 61 67 65 73 29 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 0a 20 e("\n",.$messages),.$url);.}....
dc480 24 62 79 70 61 73 73 53 73 68 46 6f 72 47 69 74 48 75 62 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 $bypassSshForGitHub.=.preg_match
dc4a0 28 27 7b 5e 67 69 74 40 27 20 2e 20 73 65 6c 66 3a 3a 67 65 74 47 69 74 48 75 62 44 6f 6d 61 69 ('{^git@'...self::getGitHubDomai
dc4c0 6e 73 52 65 67 65 78 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 20 2e 20 27 3a 28 2e 2b 3f 29 nsRegex($this->config)...':(.+?)
dc4e0 5c 2e 67 69 74 24 7d 69 27 2c 20 24 75 72 6c 29 20 26 26 20 21 69 6e 5f 61 72 72 61 79 28 27 73 \.git$}i',.$url).&&.!in_array('s
dc500 73 68 27 2c 20 24 70 72 6f 74 6f 63 6f 6c 73 2c 20 74 72 75 65 29 3b 0a 0a 24 63 6f 6d 6d 61 6e sh',.$protocols,.true);..$comman
dc520 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 d.=.call_user_func($commandCalla
dc540 62 6c 65 2c 20 24 75 72 6c 29 3b 0a 0a 24 61 75 74 68 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 ble,.$url);..$auth.=.null;.if.($
dc560 62 79 70 61 73 73 53 73 68 46 6f 72 47 69 74 48 75 62 20 7c 7c 20 30 20 21 3d 3d 20 24 74 68 69 bypassSshForGitHub.||.0.!==.$thi
dc580 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 s->process->execute($command,.$i
dc5a0 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 0a 20 69 66 20 28 70 72 65 gnoredOutput,.$cwd)).{...if.(pre
dc5c0 67 5f 6d 61 74 63 68 28 27 7b 5e 67 69 74 40 27 20 2e 20 73 65 6c 66 3a 3a 67 65 74 47 69 74 48 g_match('{^git@'...self::getGitH
dc5e0 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 20 2e 20 ubDomainsRegex($this->config)...
dc600 27 3a 28 2e 2b 3f 29 5c 2e 67 69 74 24 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 0a ':(.+?)\.git$}i',.$url,.$match).
dc620 7c 7c 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 68 74 74 70 73 3f 29 3a 2f 2f 27 20 2e 20 ||.preg_match('{^(https?)://'...
dc640 73 65 6c 66 3a 3a 67 65 74 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 24 74 68 69 self::getGitHubDomainsRegex($thi
dc660 73 2d 3e 63 6f 6e 66 69 67 29 20 2e 20 27 2f 28 2e 2a 29 7d 27 2c 20 24 75 72 6c 2c 20 24 6d 61 s->config)...'/(.*)}',.$url,.$ma
dc680 74 63 68 29 0a 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 tch).).{.if.(!$this->io->hasAuth
dc6a0 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 29 20 7b 0a 24 67 69 74 48 75 62 entication($match[1])).{.$gitHub
dc6c0 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 48 75 62 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 Util.=.new.GitHub($this->io,.$th
dc6e0 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 24 6d 65 is->config,.$this->process);.$me
dc700 73 73 61 67 65 20 3d 20 27 43 6c 6f 6e 69 6e 67 20 66 61 69 6c 65 64 20 75 73 69 6e 67 20 61 6e ssage.=.'Cloning.failed.using.an
dc720 20 73 73 68 20 6b 65 79 20 66 6f 72 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2c 20 65 6e 74 .ssh.key.for.authentication,.ent
dc740 65 72 20 79 6f 75 72 20 47 69 74 48 75 62 20 63 72 65 64 65 6e 74 69 61 6c 73 20 74 6f 20 61 63 er.your.GitHub.credentials.to.ac
dc760 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 3b 0a 0a 69 66 20 28 21 24 67 69 74 48 cess.private.repos';..if.(!$gitH
dc780 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 6d 61 74 63 68 5b 31 5d ubUtil->authorizeOAuth($match[1]
dc7a0 29 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 ).&&.$this->io->isInteractive())
dc7c0 20 7b 0a 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e .{.$gitHubUtil->authorizeOAuthIn
dc7e0 74 65 72 61 63 74 69 76 65 6c 79 28 24 6d 61 74 63 68 5b 31 5d 2c 20 24 6d 65 73 73 61 67 65 29 teractively($match[1],.$message)
dc800 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 ;.}.}..if.($this->io->hasAuthent
dc820 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 74 ication($match[1])).{.$auth.=.$t
dc840 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 his->io->getAuthentication($matc
dc860 68 5b 31 5d 29 3b 0a 24 61 75 74 68 55 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 27 20 2e 20 72 h[1]);.$authUrl.=.'https://'...r
dc880 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 29 20 2e awurlencode($auth['username'])..
dc8a0 20 27 3a 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 70 61 73 73 77 .':'...rawurlencode($auth['passw
dc8c0 6f 72 64 27 5d 29 20 2e 20 27 40 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 27 20 2e ord'])...'@'...$match[1]...'/'..
dc8e0 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2e 67 69 74 27 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 .$match[2]...'.git';.$command.=.
dc900 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c call_user_func($commandCallable,
dc920 20 24 61 75 74 68 55 72 6c 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f .$authUrl);.if.(0.===.$this->pro
dc940 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 cess->execute($command,.$ignored
dc960 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 20 65 Output,.$cwd)).{.return;.}.}.}.e
dc980 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3a 2f 2f 28 62 69 lseif.(preg_match('{^https://(bi
dc9a0 74 62 75 63 6b 65 74 5c 2e 6f 72 67 29 2f 28 2e 2a 29 28 5c 2e 67 69 74 29 3f 24 7d 55 27 2c 20 tbucket\.org)/(.*)(\.git)?$}U',.
dc9c0 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 20 0a 20 24 62 69 74 62 75 63 6b 65 74 55 74 69 $url,.$match)).{...$bitbucketUti
dc9e0 6c 20 3d 20 6e 65 77 20 42 69 74 62 75 63 6b 65 74 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 l.=.new.Bitbucket($this->io,.$th
dca00 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 0a 69 66 is->config,.$this->process);..if
dca20 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 .(!$this->io->hasAuthentication(
dca40 24 6d 61 74 63 68 5b 31 5d 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 45 6e 74 65 72 20 $match[1])).{.$message.=.'Enter.
dca60 79 6f 75 72 20 42 69 74 62 75 63 6b 65 74 20 63 72 65 64 65 6e 74 69 61 6c 73 20 74 6f 20 61 63 your.Bitbucket.credentials.to.ac
dca80 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 3b 0a 0a 69 66 20 28 21 24 62 69 74 62 cess.private.repos';..if.(!$bitb
dcaa0 75 63 6b 65 74 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 6d 61 74 63 68 ucketUtil->authorizeOAuth($match
dcac0 5b 31 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 [1]).&&.$this->io->isInteractive
dcae0 28 29 29 20 7b 0a 24 62 69 74 62 75 63 6b 65 74 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f ()).{.$bitbucketUtil->authorizeO
dcb00 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 6d 61 74 63 68 5b 31 5d 2c 20 24 6d 65 AuthInteractively($match[1],.$me
dcb20 73 73 61 67 65 29 3b 0a 24 61 63 63 65 73 73 54 6f 6b 65 6e 20 3d 20 24 62 69 74 62 75 63 6b 65 ssage);.$accessToken.=.$bitbucke
dcb40 74 55 74 69 6c 2d 3e 67 65 74 54 6f 6b 65 6e 28 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 tUtil->getToken();.$this->io->se
dcb60 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 2c 20 27 78 2d 74 6f tAuthentication($match[1],.'x-to
dcb80 6b 65 6e 2d 61 75 74 68 27 2c 20 24 61 63 63 65 73 73 54 6f 6b 65 6e 29 3b 0a 7d 0a 7d 20 65 6c ken-auth',.$accessToken);.}.}.el
dcba0 73 65 20 7b 20 0a 20 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 se.{...$auth.=.$this->io->getAut
dcbc0 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 0a 0a 20 69 66 20 28 24 hentication($match[1]);....if.($
dcbe0 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 21 3d 3d 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 auth['username'].!==.'x-token-au
dcc00 74 68 27 29 20 7b 0a 24 61 63 63 65 73 73 54 6f 6b 65 6e 20 3d 20 24 62 69 74 62 75 63 6b 65 74 th').{.$accessToken.=.$bitbucket
dcc20 55 74 69 6c 2d 3e 72 65 71 75 65 73 74 54 6f 6b 65 6e 28 24 6d 61 74 63 68 5b 31 5d 2c 20 24 61 Util->requestToken($match[1],.$a
dcc40 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 2c 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 uth['username'],.$auth['password
dcc60 27 5d 29 3b 0a 69 66 20 28 21 20 65 6d 70 74 79 28 24 61 63 63 65 73 73 54 6f 6b 65 6e 29 29 20 ']);.if.(!.empty($accessToken)).
dcc80 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 {.$this->io->setAuthentication($
dcca0 6d 61 74 63 68 5b 31 5d 2c 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 74 68 27 2c 20 24 61 63 63 65 73 match[1],.'x-token-auth',.$acces
dccc0 73 54 6f 6b 65 6e 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 sToken);.}.}.}..if.($this->io->h
dcce0 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 29 20 7b 0a 24 asAuthentication($match[1])).{.$
dcd00 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 auth.=.$this->io->getAuthenticat
dcd20 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 24 61 75 74 68 55 72 6c 20 3d 20 27 68 74 74 70 ion($match[1]);.$authUrl.=.'http
dcd40 73 3a 2f 2f 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 73 65 72 s://'...rawurlencode($auth['user
dcd60 6e 61 6d 65 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 name'])...':'...rawurlencode($au
dcd80 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 40 27 20 2e 20 24 6d 61 74 63 68 5b 31 th['password'])...'@'...$match[1
dcda0 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2e 67 69 74 27 3b 0a 0a 24 ]...'/'...$match[2]...'.git';..$
dcdc0 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 6e command.=.call_user_func($comman
dcde0 64 43 61 6c 6c 61 62 6c 65 2c 20 24 61 75 74 68 55 72 6c 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 dCallable,.$authUrl);.if.(0.===.
dce00 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 $this->process->execute($command
dce20 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 74 75 72 ,.$ignoredOutput,.$cwd)).{.retur
dce40 6e 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 20 0a 20 24 73 73 68 55 72 6c 20 3d 20 27 67 69 74 40 62 n;.}.}.else.{...$sshUrl.=.'git@b
dce60 69 74 62 75 63 6b 65 74 2e 6f 72 67 3a 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2e 67 itbucket.org:'...$match[2]...'.g
dce80 69 74 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 it';.$this->io->writeError('....
dcea0 4e 6f 20 62 69 74 62 75 63 6b 65 74 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 63 6f 6e 66 No.bitbucket.authentication.conf
dcec0 69 67 75 72 65 64 2e 20 46 61 6c 6c 69 6e 67 20 62 61 63 6b 20 74 6f 20 73 73 68 2e 27 29 3b 0a igured..Falling.back.to.ssh.');.
dcee0 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 $command.=.call_user_func($comma
dcf00 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 73 73 68 55 72 6c 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 ndCallable,.$sshUrl);.if.(0.===.
dcf20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 $this->process->execute($command
dcf40 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 74 75 72 ,.$ignoredOutput,.$cwd)).{.retur
dcf60 6e 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e n;.}.}.}.elseif.(.preg_match('{^
dcf80 28 67 69 74 29 40 27 20 2e 20 73 65 6c 66 3a 3a 67 65 74 47 69 74 4c 61 62 44 6f 6d 61 69 6e 73 (git)@'...self::getGitLabDomains
dcfa0 52 65 67 65 78 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 20 2e 20 27 3a 28 2e 2b 3f 29 5c 2e Regex($this->config)...':(.+?)\.
dcfc0 67 69 74 24 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 0a 7c 7c 20 70 72 65 67 5f 6d git$}i',.$url,.$match).||.preg_m
dcfe0 61 74 63 68 28 27 7b 5e 28 68 74 74 70 73 3f 29 3a 2f 2f 27 20 2e 20 73 65 6c 66 3a 3a 67 65 74 atch('{^(https?)://'...self::get
dd000 47 69 74 4c 61 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 GitLabDomainsRegex($this->config
dd020 29 20 2e 20 27 2f 28 2e 2a 29 7d 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 0a 29 20 7b 0a )...'/(.*)}',.$url,.$match).).{.
dd040 69 66 20 28 24 6d 61 74 63 68 5b 31 5d 20 3d 3d 3d 20 27 67 69 74 27 29 20 7b 0a 24 6d 61 74 63 if.($match[1].===.'git').{.$matc
dd060 68 5b 31 5d 20 3d 20 27 68 74 74 70 73 27 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 h[1].=.'https';.}..if.(!$this->i
dd080 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 32 5d 29 29 o->hasAuthentication($match[2]))
dd0a0 20 7b 0a 24 67 69 74 4c 61 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 4c 61 62 28 24 74 68 69 .{.$gitLabUtil.=.new.GitLab($thi
dd0c0 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 24 74 68 69 73 2d 3e 70 72 6f s->io,.$this->config,.$this->pro
dd0e0 63 65 73 73 29 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6c 6f 6e 69 6e 67 20 66 61 69 6c 65 cess);.$message.=.'Cloning.faile
dd100 64 2c 20 65 6e 74 65 72 20 79 6f 75 72 20 47 69 74 4c 61 62 20 63 72 65 64 65 6e 74 69 61 6c 73 d,.enter.your.GitLab.credentials
dd120 20 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 3b 0a 0a 69 66 20 28 .to.access.private.repos';..if.(
dd140 21 24 67 69 74 4c 61 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 6d 61 !$gitLabUtil->authorizeOAuth($ma
dd160 74 63 68 5b 32 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 tch[2]).&&.$this->io->isInteract
dd180 69 76 65 28 29 29 20 7b 0a 24 67 69 74 4c 61 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f ive()).{.$gitLabUtil->authorizeO
dd1a0 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 6d 61 74 63 68 5b 31 5d 2c 20 24 6d 61 AuthInteractively($match[1],.$ma
dd1c0 74 63 68 5b 32 5d 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 tch[2],.$message);.}.}..if.($thi
dd1e0 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b s->io->hasAuthentication($match[
dd200 32 5d 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 2])).{.$auth.=.$this->io->getAut
dd220 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 32 5d 29 3b 0a 69 66 20 28 24 61 75 74 hentication($match[2]);.if.($aut
dd240 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 3d 3d 20 27 70 72 69 76 61 74 65 2d 74 6f 6b 65 6e h['password'].===.'private-token
dd260 27 20 7c 7c 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 3d 3d 20 27 6f 61 75 74 '.||.$auth['password'].===.'oaut
dd280 68 32 27 20 7c 7c 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 3d 3d 20 27 67 69 h2'.||.$auth['password'].===.'gi
dd2a0 74 6c 61 62 2d 63 69 2d 74 6f 6b 65 6e 27 29 20 7b 0a 24 61 75 74 68 55 72 6c 20 3d 20 24 6d 61 tlab-ci-token').{.$authUrl.=.$ma
dd2c0 74 63 68 5b 31 5d 20 2e 20 27 3a 2f 2f 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 tch[1]...'://'...rawurlencode($a
dd2e0 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 72 6c 65 uth['password'])...':'...rawurle
dd300 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 29 20 2e 20 27 40 27 20 2e ncode($auth['username'])...'@'..
dd320 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 33 5d 3b 20 0a 20 .$match[2]...'/'...$match[3];...
dd340 7d 20 65 6c 73 65 20 7b 0a 24 61 75 74 68 55 72 6c 20 3d 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 }.else.{.$authUrl.=.$match[1]...
dd360 27 3a 2f 2f 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 73 65 72 '://'...rawurlencode($auth['user
dd380 6e 61 6d 65 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 name'])...':'...rawurlencode($au
dd3a0 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 40 27 20 2e 20 24 6d 61 74 63 68 5b 32 th['password'])...'@'...$match[2
dd3c0 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 33 5d 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 ]...'/'...$match[3];.}..$command
dd3e0 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 .=.call_user_func($commandCallab
dd400 6c 65 2c 20 24 61 75 74 68 55 72 6c 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e le,.$authUrl);.if.(0.===.$this->
dd420 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f process->execute($command,.$igno
dd440 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a redOutput,.$cwd)).{.return;.}.}.
dd460 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f }.elseif.($this->isAuthenticatio
dd480 6e 46 61 69 6c 75 72 65 28 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 20 0a 20 69 66 20 28 nFailure($url,.$match)).{...if.(
dd4a0 73 74 72 70 6f 73 28 24 6d 61 74 63 68 5b 32 5d 2c 20 27 40 27 29 29 20 7b 0a 6c 69 73 74 28 24 strpos($match[2],.'@')).{.list($
dd4c0 61 75 74 68 50 61 72 74 73 2c 20 24 6d 61 74 63 68 5b 32 5d 29 20 3d 20 65 78 70 6c 6f 64 65 28 authParts,.$match[2]).=.explode(
dd4e0 27 40 27 2c 20 24 6d 61 74 63 68 5b 32 5d 2c 20 32 29 3b 0a 7d 0a 0a 24 73 74 6f 72 65 41 75 74 '@',.$match[2],.2);.}..$storeAut
dd500 68 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 h.=.false;.if.($this->io->hasAut
dd520 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 32 5d 29 29 20 7b 0a 24 61 75 74 68 20 hentication($match[2])).{.$auth.
dd540 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 =.$this->io->getAuthentication($
dd560 6d 61 74 63 68 5b 32 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e match[2]);.}.elseif.($this->io->
dd580 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 55 73 65 72 6e isInteractive()).{.$defaultUsern
dd5a0 61 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 68 50 61 72 74 73 ame.=.null;.if.(isset($authParts
dd5c0 29 20 26 26 20 24 61 75 74 68 50 61 72 74 73 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d ).&&.$authParts).{.if.(false.!==
dd5e0 20 73 74 72 70 6f 73 28 24 61 75 74 68 50 61 72 74 73 2c 20 27 3a 27 29 29 20 7b 0a 6c 69 73 74 .strpos($authParts,.':')).{.list
dd600 28 24 64 65 66 61 75 6c 74 55 73 65 72 6e 61 6d 65 2c 20 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 ($defaultUsername,.).=.explode('
dd620 3a 27 2c 20 24 61 75 74 68 50 61 72 74 73 2c 20 32 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 :',.$authParts,.2);.}.else.{.$de
dd640 66 61 75 6c 74 55 73 65 72 6e 61 6d 65 20 3d 20 24 61 75 74 68 50 61 72 74 73 3b 0a 7d 0a 7d 0a faultUsername.=.$authParts;.}.}.
dd660 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 20 20 20 20 41 75 74 68 .$this->io->writeError('....Auth
dd680 65 6e 74 69 63 61 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 28 3c 69 6e 66 6f 3e 27 20 2e 20 24 entication.required.(<info>'...$
dd6a0 6d 61 74 63 68 5b 32 5d 20 2e 20 27 3c 2f 69 6e 66 6f 3e 29 3a 27 29 3b 0a 24 61 75 74 68 20 3d match[2]...'</info>):');.$auth.=
dd6c0 20 61 72 72 61 79 28 0a 27 75 73 65 72 6e 61 6d 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 69 6f 2d .array(.'username'.=>.$this->io-
dd6e0 3e 61 73 6b 28 27 20 20 20 20 20 20 55 73 65 72 6e 61 6d 65 3a 20 27 2c 20 24 64 65 66 61 75 6c >ask('......Username:.',.$defaul
dd700 74 55 73 65 72 6e 61 6d 65 29 2c 0a 27 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 24 74 68 69 73 2d tUsername),.'password'.=>.$this-
dd720 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 20 20 20 20 20 20 50 61 73 >io->askAndHideAnswer('......Pas
dd740 73 77 6f 72 64 3a 20 27 29 2c 0a 29 3b 0a 24 73 74 6f 72 65 41 75 74 68 20 3d 20 24 74 68 69 73 sword:.'),.);.$storeAuth.=.$this
dd760 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 73 74 6f 72 65 2d 61 75 74 68 73 27 29 3b 0a 7d 0a ->config->get('store-auths');.}.
dd780 0a 69 66 20 28 24 61 75 74 68 29 20 7b 0a 24 61 75 74 68 55 72 6c 20 3d 20 24 6d 61 74 63 68 5b .if.($auth).{.$authUrl.=.$match[
dd7a0 31 5d 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 1]...rawurlencode($auth['usernam
dd7c0 65 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b e'])...':'...rawurlencode($auth[
dd7e0 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 40 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 'password'])...'@'...$match[2]..
dd800 20 24 6d 61 74 63 68 5b 33 5d 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 63 61 6c 6c 5f 75 73 65 .$match[3];..$command.=.call_use
dd820 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 61 75 74 68 55 72 r_func($commandCallable,.$authUr
dd840 6c 29 3b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 l);.if.(0.===.$this->process->ex
dd860 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 ecute($command,.$ignoredOutput,.
dd880 24 63 77 64 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 $cwd)).{.$this->io->setAuthentic
dd8a0 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 32 5d 2c 20 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 ation($match[2],.$auth['username
dd8c0 27 5d 2c 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 24 61 75 74 68 48 65 6c '],.$auth['password']);.$authHel
dd8e0 70 65 72 20 3d 20 6e 65 77 20 41 75 74 68 48 65 6c 70 65 72 28 24 74 68 69 73 2d 3e 69 6f 2c 20 per.=.new.AuthHelper($this->io,.
dd900 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 61 75 74 68 48 65 6c 70 65 72 2d 3e 73 74 6f $this->config);.$authHelper->sto
dd920 72 65 41 75 74 68 28 24 6d 61 74 63 68 5b 32 5d 2c 20 24 73 74 6f 72 65 41 75 74 68 29 3b 0a 0a reAuth($match[2],.$storeAuth);..
dd940 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 65 72 72 6f 72 4d 73 67 20 3d 20 24 74 68 69 73 return;.}.}.}..$errorMsg.=.$this
dd960 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 69 66 20 ->process->getErrorOutput();.if.
dd980 28 24 69 6e 69 74 69 61 6c 43 6c 6f 6e 65 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 ($initialClone).{.$this->filesys
dd9a0 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 6f 72 69 67 43 77 64 29 3b 0a tem->removeDirectory($origCwd);.
dd9c0 7d 0a 0a 24 74 68 69 73 2d 3e 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 64 }..$this->throwException('Failed
dd9e0 20 74 6f 20 65 78 65 63 75 74 65 20 27 20 2e 20 24 63 6f 6d 6d 61 6e 64 20 2e 20 22 5c 6e 5c 6e .to.execute.'...$command..."\n\n
dda00 22 20 2e 20 24 65 72 72 6f 72 4d 73 67 2c 20 24 75 72 6c 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 "...$errorMsg,.$url);.}.}..publi
dda20 63 20 66 75 6e 63 74 69 6f 6e 20 73 79 6e 63 4d 69 72 72 6f 72 28 24 75 72 6c 2c 20 24 64 69 72 c.function.syncMirror($url,.$dir
dda40 29 0a 7b 0a 0a 20 69 66 20 28 69 73 5f 64 69 72 28 24 64 69 72 29 20 26 26 20 30 20 3d 3d 3d 20 ).{...if.(is_dir($dir).&&.0.===.
dda60 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 72 65 76 $this->process->execute('git.rev
dda80 2d 70 61 72 73 65 20 2d 2d 67 69 74 2d 64 69 72 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 64 69 72 -parse.--git-dir',.$output,.$dir
ddaa0 29 20 26 26 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 27 2e 27 29 20 7b 0a 74 72 ).&&.trim($output).===.'.').{.tr
ddac0 79 20 7b 0a 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 y.{.$commandCallable.=.function.
ddae0 28 24 75 72 6c 29 20 7b 0a 24 73 61 6e 69 74 69 7a 65 64 55 72 6c 20 3d 20 70 72 65 67 5f 72 65 ($url).{.$sanitizedUrl.=.preg_re
ddb00 70 6c 61 63 65 28 27 7b 3a 2f 2f 28 5b 5e 40 5d 2b 3f 29 3a 28 2e 2b 3f 29 40 7d 27 2c 20 27 3a place('{://([^@]+?):(.+?)@}',.':
ddb20 2f 2f 27 2c 20 24 75 72 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 67 69 74 //',.$url);..return.sprintf('git
ddb40 20 72 65 6d 6f 74 65 20 73 65 74 2d 75 72 6c 20 6f 72 69 67 69 6e 20 25 73 20 26 26 20 67 69 74 .remote.set-url.origin.%s.&&.git
ddb60 20 72 65 6d 6f 74 65 20 75 70 64 61 74 65 20 2d 2d 70 72 75 6e 65 20 6f 72 69 67 69 6e 20 26 26 .remote.update.--prune.origin.&&
ddb80 20 67 69 74 20 72 65 6d 6f 74 65 20 73 65 74 2d 75 72 6c 20 6f 72 69 67 69 6e 20 25 73 27 2c 20 .git.remote.set-url.origin.%s',.
ddba0 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 50 ProcessExecutor::escape($url),.P
ddbc0 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 73 61 6e 69 74 69 7a 65 rocessExecutor::escape($sanitize
ddbe0 64 55 72 6c 29 29 3b 0a 7d 3b 0a 24 74 68 69 73 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f dUrl));.};.$this->runCommand($co
ddc00 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c 20 24 64 69 72 29 3b 0a 7d 20 63 61 mmandCallable,.$url,.$dir);.}.ca
ddc20 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c tch.(\Exception.$e).{.return.fal
ddc40 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e se;.}..return.true;.}....$this->
ddc60 66 69 6c 65 73 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 filesystem->removeDirectory($dir
ddc80 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 );..$commandCallable.=.function.
ddca0 28 24 75 72 6c 29 20 75 73 65 20 28 24 64 69 72 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e ($url).use.($dir).{.return.sprin
ddcc0 74 66 28 27 67 69 74 20 63 6c 6f 6e 65 20 2d 2d 6d 69 72 72 6f 72 20 25 73 20 25 73 27 2c 20 50 tf('git.clone.--mirror.%s.%s',.P
ddce0 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 2c 20 50 72 rocessExecutor::escape($url),.Pr
ddd00 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 64 69 72 29 29 3b 0a 7d 3b ocessExecutor::escape($dir));.};
ddd20 0a 0a 24 74 68 69 73 2d 3e 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c ..$this->runCommand($commandCall
ddd40 61 62 6c 65 2c 20 24 75 72 6c 2c 20 24 64 69 72 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e able,.$url,.$dir,.true);..return
ddd60 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 52 .true;.}..public.function.fetchR
ddd80 65 66 4f 72 53 79 6e 63 4d 69 72 72 6f 72 28 24 75 72 6c 2c 20 24 64 69 72 2c 20 24 72 65 66 29 efOrSyncMirror($url,.$dir,.$ref)
ddda0 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 68 65 63 6b 52 65 66 49 73 49 6e 4d 69 72 72 6f 72 .{.if.($this->checkRefIsInMirror
dddc0 28 24 75 72 6c 2c 20 24 64 69 72 2c 20 24 72 65 66 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 ($url,.$dir,.$ref)).{.return.tru
ddde0 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 79 6e 63 4d 69 72 72 6f 72 28 24 75 72 6c e;.}..if.($this->syncMirror($url
dde00 2c 20 24 64 69 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 52 65 ,.$dir)).{.return.$this->checkRe
dde20 66 49 73 49 6e 4d 69 72 72 6f 72 28 24 75 72 6c 2c 20 24 64 69 72 2c 20 24 72 65 66 29 3b 0a 7d fIsInMirror($url,.$dir,.$ref);.}
dde40 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 ..return.false;.}..private.funct
dde60 69 6f 6e 20 63 68 65 63 6b 52 65 66 49 73 49 6e 4d 69 72 72 6f 72 28 24 75 72 6c 2c 20 24 64 69 ion.checkRefIsInMirror($url,.$di
dde80 72 2c 20 24 72 65 66 29 0a 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 64 69 72 29 20 26 26 20 30 r,.$ref).{.if.(is_dir($dir).&&.0
ddea0 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 .===.$this->process->execute('gi
ddec0 74 20 72 65 76 2d 70 61 72 73 65 20 2d 2d 67 69 74 2d 64 69 72 27 2c 20 24 6f 75 74 70 75 74 2c t.rev-parse.--git-dir',.$output,
ddee0 20 24 64 69 72 29 20 26 26 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 27 2e 27 29 .$dir).&&.trim($output).===.'.')
ddf00 20 7b 0a 24 65 73 63 61 70 65 64 52 65 66 20 3d 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 .{.$escapedRef.=.ProcessExecutor
ddf20 3a 3a 65 73 63 61 70 65 28 24 72 65 66 2e 27 5e 7b 63 6f 6d 6d 69 74 7d 27 29 3b 0a 24 65 78 69 ::escape($ref.'^{commit}');.$exi
ddf40 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 tCode.=.$this->process->execute(
ddf60 73 70 72 69 6e 74 66 28 27 67 69 74 20 72 65 76 2d 70 61 72 73 65 20 2d 2d 71 75 69 65 74 20 2d sprintf('git.rev-parse.--quiet.-
ddf80 2d 76 65 72 69 66 79 20 25 73 27 2c 20 24 65 73 63 61 70 65 64 52 65 66 29 2c 20 24 69 67 6e 6f -verify.%s',.$escapedRef),.$igno
ddfa0 72 65 64 4f 75 74 70 75 74 2c 20 24 64 69 72 29 3b 0a 69 66 20 28 24 65 78 69 74 43 6f 64 65 20 redOutput,.$dir);.if.($exitCode.
ddfc0 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 ===.0).{.return.true;.}.}..retur
ddfe0 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 n.false;.}..private.function.isA
de000 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 46 61 69 6c 75 72 65 28 24 75 72 6c 2c 20 26 24 6d 61 74 uthenticationFailure($url,.&$mat
de020 63 68 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 68 74 74 70 73 3f ch).{.if.(!preg_match('{^(https?
de040 3a 2f 2f 29 28 5b 5e 2f 5d 2b 29 28 2e 2a 29 24 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 ://)([^/]+)(.*)$}i',.$url,.$matc
de060 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 61 75 74 68 46 61 69 6c h)).{.return.false;.}..$authFail
de080 75 72 65 73 20 3d 20 61 72 72 61 79 28 0a 27 66 61 74 61 6c 3a 20 41 75 74 68 65 6e 74 69 63 61 ures.=.array(.'fatal:.Authentica
de0a0 74 69 6f 6e 20 66 61 69 6c 65 64 27 2c 0a 27 72 65 6d 6f 74 65 20 65 72 72 6f 72 3a 20 49 6e 76 tion.failed',.'remote.error:.Inv
de0c0 61 6c 69 64 20 75 73 65 72 6e 61 6d 65 20 6f 72 20 70 61 73 73 77 6f 72 64 2e 27 2c 0a 27 65 72 alid.username.or.password.',.'er
de0e0 72 6f 72 3a 20 34 30 31 20 55 6e 61 75 74 68 6f 72 69 7a 65 64 27 2c 0a 27 66 61 74 61 6c 3a 20 ror:.401.Unauthorized',.'fatal:.
de100 75 6e 61 62 6c 65 20 74 6f 20 61 63 63 65 73 73 27 2c 0a 27 66 61 74 61 6c 3a 20 63 6f 75 6c 64 unable.to.access',.'fatal:.could
de120 20 6e 6f 74 20 72 65 61 64 20 55 73 65 72 6e 61 6d 65 27 2c 0a 29 3b 0a 0a 24 65 72 72 6f 72 4f .not.read.Username',.);..$errorO
de140 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 utput.=.$this->process->getError
de160 4f 75 74 70 75 74 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 68 46 61 69 6c 75 72 65 73 Output();.foreach.($authFailures
de180 20 61 73 20 24 61 75 74 68 46 61 69 6c 75 72 65 29 20 7b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 .as.$authFailure).{.if.(strpos($
de1a0 65 72 72 6f 72 4f 75 74 70 75 74 2c 20 24 61 75 74 68 46 61 69 6c 75 72 65 29 20 21 3d 3d 20 66 errorOutput,.$authFailure).!==.f
de1c0 61 6c 73 65 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e alse).{.return.true;.}.}..return
de1e0 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f .false;.}..public.static.functio
de200 6e 20 63 6c 65 61 6e 45 6e 76 28 29 0a 7b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 n.cleanEnv().{.if.(PHP_VERSION_I
de220 44 20 3c 20 35 30 34 30 30 20 26 26 20 69 6e 69 5f 67 65 74 28 27 73 61 66 65 5f 6d 6f 64 65 27 D.<.50400.&&.ini_get('safe_mode'
de240 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 69 6e 69 5f 67 65 74 28 27 73 ).&&.false.===.strpos(ini_get('s
de260 61 66 65 5f 6d 6f 64 65 5f 61 6c 6c 6f 77 65 64 5f 65 6e 76 5f 76 61 72 73 27 29 2c 20 27 47 49 afe_mode_allowed_env_vars'),.'GI
de280 54 5f 41 53 4b 50 41 53 53 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d T_ASKPASS')).{.throw.new.\Runtim
de2a0 65 45 78 63 65 70 74 69 6f 6e 28 27 73 61 66 65 5f 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 64 eException('safe_mode.is.enabled
de2c0 20 61 6e 64 20 73 61 66 65 5f 6d 6f 64 65 5f 61 6c 6c 6f 77 65 64 5f 65 6e 76 5f 76 61 72 73 20 .and.safe_mode_allowed_env_vars.
de2e0 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 47 49 54 5f 41 53 4b 50 41 53 53 2c 20 63 61 does.not.contain.GIT_ASKPASS,.ca
de300 6e 20 6e 6f 74 20 73 65 74 20 65 6e 76 20 76 61 72 2e 20 59 6f 75 20 63 61 6e 20 64 69 73 61 62 n.not.set.env.var..You.can.disab
de320 6c 65 20 73 61 66 65 5f 6d 6f 64 65 20 77 69 74 68 20 22 2d 64 73 61 66 65 5f 6d 6f 64 65 3d 30 le.safe_mode.with."-dsafe_mode=0
de340 22 20 77 68 65 6e 20 72 75 6e 6e 69 6e 67 20 63 6f 6d 70 6f 73 65 72 27 29 3b 0a 7d 0a 0a 0a 20 ".when.running.composer');.}....
de360 69 66 20 28 67 65 74 65 6e 76 28 27 47 49 54 5f 41 53 4b 50 41 53 53 27 29 20 21 3d 3d 20 27 65 if.(getenv('GIT_ASKPASS').!==.'e
de380 63 68 6f 27 29 20 7b 0a 70 75 74 65 6e 76 28 27 47 49 54 5f 41 53 4b 50 41 53 53 3d 65 63 68 6f cho').{.putenv('GIT_ASKPASS=echo
de3a0 27 29 3b 0a 75 6e 73 65 74 28 24 5f 53 45 52 56 45 52 5b 27 47 49 54 5f 41 53 4b 50 41 53 53 27 ');.unset($_SERVER['GIT_ASKPASS'
de3c0 5d 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 67 65 74 65 6e 76 28 27 47 49 54 5f 44 49 52 27 29 29 20 ]);.}....if.(getenv('GIT_DIR')).
de3e0 7b 0a 70 75 74 65 6e 76 28 27 47 49 54 5f 44 49 52 27 29 3b 0a 75 6e 73 65 74 28 24 5f 53 45 52 {.putenv('GIT_DIR');.unset($_SER
de400 56 45 52 5b 27 47 49 54 5f 44 49 52 27 5d 29 3b 0a 7d 0a 69 66 20 28 67 65 74 65 6e 76 28 27 47 VER['GIT_DIR']);.}.if.(getenv('G
de420 49 54 5f 57 4f 52 4b 5f 54 52 45 45 27 29 29 20 7b 0a 70 75 74 65 6e 76 28 27 47 49 54 5f 57 4f IT_WORK_TREE')).{.putenv('GIT_WO
de440 52 4b 5f 54 52 45 45 27 29 3b 0a 75 6e 73 65 74 28 24 5f 53 45 52 56 45 52 5b 27 47 49 54 5f 57 RK_TREE');.unset($_SERVER['GIT_W
de460 4f 52 4b 5f 54 52 45 45 27 5d 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 67 65 74 65 6e 76 28 27 4c 41 ORK_TREE']);.}....if.(getenv('LA
de480 4e 47 55 41 47 45 27 29 20 21 3d 3d 20 27 43 27 29 20 7b 0a 70 75 74 65 6e 76 28 27 4c 41 4e 47 NGUAGE').!==.'C').{.putenv('LANG
de4a0 55 41 47 45 3d 43 27 29 3b 0a 7d 0a 0a 0a 20 70 75 74 65 6e 76 28 22 44 59 4c 44 5f 4c 49 42 52 UAGE=C');.}....putenv("DYLD_LIBR
de4c0 41 52 59 5f 50 41 54 48 22 29 3b 0a 75 6e 73 65 74 28 24 5f 53 45 52 56 45 52 5b 27 44 59 4c 44 ARY_PATH");.unset($_SERVER['DYLD
de4e0 5f 4c 49 42 52 41 52 59 5f 50 41 54 48 27 5d 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 _LIBRARY_PATH']);.}..public.stat
de500 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 47 69 74 48 75 62 44 6f 6d 61 69 6e 73 52 65 67 65 ic.function.getGitHubDomainsRege
de520 78 28 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 72 65 74 75 72 6e 20 27 28 27 20 2e x(Config.$config).{.return.'('..
de540 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 61 72 72 61 79 5f 6d 61 70 28 27 70 72 65 67 5f 71 75 .implode('|',.array_map('preg_qu
de560 6f 74 65 27 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 ote',.$config->get('github-domai
de580 6e 73 27 29 29 29 20 2e 20 27 29 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 ns')))...')';.}..public.static.f
de5a0 75 6e 63 74 69 6f 6e 20 67 65 74 47 69 74 4c 61 62 44 6f 6d 61 69 6e 73 52 65 67 65 78 28 43 6f unction.getGitLabDomainsRegex(Co
de5c0 6e 66 69 67 20 24 63 6f 6e 66 69 67 29 0a 7b 0a 72 65 74 75 72 6e 20 27 28 27 20 2e 20 69 6d 70 nfig.$config).{.return.'('...imp
de5e0 6c 6f 64 65 28 27 7c 27 2c 20 61 72 72 61 79 5f 6d 61 70 28 27 70 72 65 67 5f 71 75 6f 74 65 27 lode('|',.array_map('preg_quote'
de600 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 ,.$config->get('gitlab-domains')
de620 29 29 20 2e 20 27 29 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 ))...')';.}..public.static.funct
de640 69 6f 6e 20 73 61 6e 69 74 69 7a 65 55 72 6c 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 72 65 74 75 ion.sanitizeUrl($message).{.retu
de660 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 3a 2f 2f 28 3f rn.preg_replace_callback('{://(?
de680 50 3c 75 73 65 72 3e 5b 5e 40 5d 2b 3f 29 3a 28 3f 50 3c 70 61 73 73 77 6f 72 64 3e 2e 2b 3f 29 P<user>[^@]+?):(?P<password>.+?)
de6a0 40 7d 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 @}',.function.($m).{.if.(preg_ma
de6c0 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 5d 7b 31 32 2c 7d 24 7d 27 2c 20 24 6d 5b 31 5d 29 29 tch('{^[a-f0-9]{12,}$}',.$m[1]))
de6e0 20 7b 0a 72 65 74 75 72 6e 20 27 3a 2f 2f 2a 2a 2a 3a 2a 2a 2a 40 27 3b 0a 7d 0a 0a 72 65 74 75 .{.return.'://***:***@';.}..retu
de700 72 6e 20 27 3a 2f 2f 27 20 2e 20 24 6d 5b 31 5d 20 2e 20 27 3a 2a 2a 2a 40 27 3b 0a 7d 2c 20 24 rn.'://'...$m[1]...':***@';.},.$
de720 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 68 message);.}..private.function.th
de740 72 6f 77 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 75 72 6c 29 0a 7b 0a 0a rowException($message,.$url).{..
de760 20 63 6c 65 61 72 73 74 61 74 63 61 63 68 65 28 29 3b 0a 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 .clearstatcache();..if.(0.!==.$t
de780 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 2d 2d 76 65 72 his->process->execute('git.--ver
de7a0 73 69 6f 6e 27 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 sion',.$ignoredOutput)).{.throw.
de7c0 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 73 61 6e 69 new.\RuntimeException(self::sani
de7e0 74 69 7a 65 55 72 6c 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 27 20 2e 20 24 75 72 tizeUrl('Failed.to.clone.'...$ur
de800 6c 20 2e 20 27 2c 20 67 69 74 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 63 68 65 63 6b 20 l...',.git.was.not.found,.check.
de820 74 68 61 74 20 69 74 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 61 6e 64 20 69 6e 20 79 6f 75 72 that.it.is.installed.and.in.your
de840 20 50 41 54 48 20 65 6e 76 2e 27 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 .PATH.env.'..."\n\n"...$this->pr
de860 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 29 3b 0a 7d 0a 0a 74 68 ocess->getErrorOutput()));.}..th
de880 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 65 6c 66 3a 3a row.new.\RuntimeException(self::
de8a0 73 61 6e 69 74 69 7a 65 55 72 6c 28 24 6d 65 73 73 61 67 65 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a sanitizeUrl($message));.}.......
de8c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 69 public.function.getVersion().{.i
de8e0 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 29 29 20 7b 0a 72 65 74 75 f.(isset(self::$version)).{.retu
de900 72 6e 20 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 69 66 20 28 30 20 21 3d 3d 20 24 rn.self::$version;.}.if.(0.!==.$
de920 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 74 20 2d 2d 76 65 this->process->execute('git.--ve
de940 72 73 69 6f 6e 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 rsion',.$output)).{.return;.}.if
de960 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 67 69 74 20 76 65 72 73 69 6f 6e 20 28 5c 64 2b .(preg_match('/^git.version.(\d+
de980 28 3f 3a 5c 2e 5c 64 2b 29 2b 29 2f 6d 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 74 63 68 65 (?:\.\d+)+)/m',.$output,.$matche
de9a0 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 20 3d 20 24 6d s)).{.return.self::$version.=.$m
de9c0 61 74 63 68 65 73 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a atches[1];.}.}.}.<?php..........
de9e0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 ..namespace.Composer\Util;..use.
dea00 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 Composer\Factory;.use.Composer\I
dea20 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 O\IOInterface;.use.Composer\Conf
dea40 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e ig;.use.Composer\Downloader\Tran
dea60 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 48 75 62 sportException;.....class.GitHub
dea80 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e .{.protected.$io;.protected.$con
deaa0 66 69 67 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 6f 74 65 63 74 fig;.protected.$process;.protect
deac0 65 64 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ed.$remoteFilesystem;..........p
deae0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 ublic.function.__construct(IOInt
deb00 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 erface.$io,.Config.$config,.Proc
deb20 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d essExecutor.$process.=.null,.Rem
deb40 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 oteFilesystem.$remoteFilesystem.
deb60 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 =.null).{.$this->io.=.$io;.$this
deb80 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 ->config.=.$config;.$this->proce
deba0 73 73 20 3d 20 24 70 72 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 ss.=.$process.?:.new.ProcessExec
debc0 75 74 6f 72 28 24 69 6f 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 utor($io);.$this->remoteFilesyst
debe0 65 6d 20 3d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 46 61 63 74 6f 72 em.=.$remoteFilesystem.?:.Factor
dec00 79 3a 3a 63 72 65 61 74 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d y::createRemoteFilesystem($this-
dec20 3e 69 6f 2c 20 24 63 6f 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 >io,.$config);.}........public.f
dec40 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 6f 72 69 67 69 6e 55 72 unction.authorizeOAuth($originUr
dec60 6c 29 0a 7b 0a 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 l).{.if.(!in_array($originUrl,.$
dec80 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e this->config->get('github-domain
deca0 73 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 s'))).{.return.false;.}....if.(0
decc0 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 .===.$this->process->execute('gi
dece0 74 20 63 6f 6e 66 69 67 20 67 69 74 68 75 62 2e 61 63 63 65 73 73 74 6f 6b 65 6e 27 2c 20 24 6f t.config.github.accesstoken',.$o
ded00 75 74 70 75 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 utput)).{.$this->io->setAuthenti
ded20 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 cation($originUrl,.trim($output)
ded40 2c 20 27 78 2d 6f 61 75 74 68 2d 62 61 73 69 63 27 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 ,.'x-oauth-basic');..return.true
ded60 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ;.}..return.false;.}...........p
ded80 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 ublic.function.authorizeOAuthInt
deda0 65 72 61 63 74 69 76 65 6c 79 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 6d 65 73 73 61 67 65 20 eractively($originUrl,.$message.
dedc0 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 74 68 69 73 2d =.null).{.if.($message).{.$this-
dede0 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 24 6e >io->writeError($message);.}..$n
dee00 6f 74 65 20 3d 20 27 43 6f 6d 70 6f 73 65 72 27 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e ote.=.'Composer';.if.($this->con
dee20 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 65 78 70 6f 73 65 2d 68 6f 73 74 6e 61 6d 65 fig->get('github-expose-hostname
dee40 27 29 20 3d 3d 3d 20 74 72 75 65 20 26 26 20 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 ').===.true.&&.0.===.$this->proc
dee60 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 6f 73 74 6e 61 6d 65 27 2c 20 24 6f 75 74 70 75 74 ess->execute('hostname',.$output
dee80 29 29 20 7b 0a 24 6e 6f 74 65 20 2e 3d 20 27 20 6f 6e 20 27 20 2e 20 74 72 69 6d 28 24 6f 75 74 )).{.$note..=.'.on.'...trim($out
deea0 70 75 74 29 3b 0a 7d 0a 24 6e 6f 74 65 20 2e 3d 20 27 20 27 20 2e 20 64 61 74 65 28 27 59 2d 6d put);.}.$note..=.'.'...date('Y-m
deec0 2d 64 20 48 69 27 29 3b 0a 0a 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 27 2e 24 6f 72 69 -d.Hi');..$url.=.'https://'.$ori
deee0 67 69 6e 55 72 6c 2e 27 2f 73 65 74 74 69 6e 67 73 2f 74 6f 6b 65 6e 73 2f 6e 65 77 3f 73 63 6f ginUrl.'/settings/tokens/new?sco
def00 70 65 73 3d 72 65 70 6f 26 64 65 73 63 72 69 70 74 69 6f 6e 3d 27 20 2e 20 73 74 72 5f 72 65 70 pes=repo&description='...str_rep
def20 6c 61 63 65 28 27 25 32 30 27 2c 20 27 2b 27 2c 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 24 6e lace('%20',.'+',.rawurlencode($n
def40 6f 74 65 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 ote));.$this->io->writeError(spr
def60 69 6e 74 66 28 27 48 65 61 64 20 74 6f 20 25 73 27 2c 20 24 75 72 6c 29 29 3b 0a 24 74 68 69 73 intf('Head.to.%s',.$url));.$this
def80 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 74 6f 20 72 65 74 ->io->writeError(sprintf('to.ret
defa0 72 69 65 76 65 20 61 20 74 6f 6b 65 6e 2e 20 49 74 20 77 69 6c 6c 20 62 65 20 73 74 6f 72 65 64 rieve.a.token..It.will.be.stored
defc0 20 69 6e 20 22 25 73 22 20 66 6f 72 20 66 75 74 75 72 65 20 75 73 65 20 62 79 20 43 6f 6d 70 6f .in."%s".for.future.use.by.Compo
defe0 73 65 72 2e 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e ser.',.$this->config->getAuthCon
df000 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 0a 24 74 6f 6b 65 figSource()->getName()));..$toke
df020 6e 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e n.=.trim($this->io->askAndHideAn
df040 73 77 65 72 28 27 54 6f 6b 65 6e 20 28 68 69 64 64 65 6e 29 3a 20 27 29 29 3b 0a 0a 69 66 20 28 swer('Token.(hidden):.'));..if.(
df060 21 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 !$token).{.$this->io->writeError
df080 28 27 3c 77 61 72 6e 69 6e 67 3e 4e 6f 20 74 6f 6b 65 6e 20 67 69 76 65 6e 2c 20 61 62 6f 72 74 ('<warning>No.token.given,.abort
df0a0 69 6e 67 2e 3c 2f 77 61 72 6e 69 6e 67 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 ing.</warning>');.$this->io->wri
df0c0 74 65 45 72 72 6f 72 28 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 61 64 64 20 69 74 20 6d 61 6e teError('You.can.also.add.it.man
df0e0 75 61 6c 6c 79 20 6c 61 74 65 72 20 62 79 20 75 73 69 6e 67 20 22 63 6f 6d 70 6f 73 65 72 20 63 ually.later.by.using."composer.c
df100 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 61 75 74 68 20 67 69 74 68 75 62 2d 6f 61 75 onfig.--global.--auth.github-oau
df120 74 68 2e 67 69 74 68 75 62 2e 63 6f 6d 20 3c 74 6f 6b 65 6e 3e 22 27 29 3b 0a 0a 72 65 74 75 72 th.github.com.<token>"');..retur
df140 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e n.false;.}..$this->io->setAuthen
df160 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 6f 6b 65 6e 2c 20 27 78 2d tication($originUrl,.$token,.'x-
df180 6f 61 75 74 68 2d 62 61 73 69 63 27 29 3b 0a 0a 74 72 79 20 7b 0a 24 61 70 69 55 72 6c 20 3d 20 oauth-basic');..try.{.$apiUrl.=.
df1a0 28 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 3d 3d 3d 20 24 6f 72 69 67 69 6e 55 72 6c 29 20 3f 20 ('github.com'.===.$originUrl).?.
df1c0 27 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 2f 27 20 3a 20 24 6f 72 69 67 69 6e 55 72 6c 20 2e 'api.github.com/'.:.$originUrl..
df1e0 20 27 2f 61 70 69 2f 76 33 2f 27 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 .'/api/v3/';..$this->remoteFiles
df200 79 73 74 65 6d 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 27 ystem->getContents($originUrl,.'
df220 68 74 74 70 73 3a 2f 2f 27 2e 20 24 61 70 69 55 72 6c 2c 20 66 61 6c 73 65 2c 20 61 72 72 61 79 https://'..$apiUrl,.false,.array
df240 28 0a 27 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 65 27 20 3d 3e 20 66 61 6c 73 65 2c (.'retry-auth-failure'.=>.false,
df260 0a 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e .));.}.catch.(TransportException
df280 20 24 65 29 20 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 .$e).{.if.(in_array($e->getCode(
df2a0 29 2c 20 61 72 72 61 79 28 34 30 33 2c 20 34 30 31 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f ),.array(403,.401))).{.$this->io
df2c0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 3c 65 72 72 6f 72 3e 49 6e 76 61 6c 69 64 20 74 6f 6b ->writeError('<error>Invalid.tok
df2e0 65 6e 20 70 72 6f 76 69 64 65 64 2e 3c 2f 65 72 72 6f 72 3e 27 29 3b 0a 24 74 68 69 73 2d 3e 69 en.provided.</error>');.$this->i
df300 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 61 64 64 20 o->writeError('You.can.also.add.
df320 69 74 20 6d 61 6e 75 61 6c 6c 79 20 6c 61 74 65 72 20 62 79 20 75 73 69 6e 67 20 22 63 6f 6d 70 it.manually.later.by.using."comp
df340 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d 61 75 74 68 20 67 69 74 68 oser.config.--global.--auth.gith
df360 75 62 2d 6f 61 75 74 68 2e 67 69 74 68 75 62 2e 63 6f 6d 20 3c 74 6f 6b 65 6e 3e 22 27 29 3b 0a ub-oauth.github.com.<token>"');.
df380 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 0a .return.false;.}..throw.$e;.}...
df3a0 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 .$this->config->getConfigSource(
df3c0 29 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 27 67 69 74 68 75 62 2d 6f )->removeConfigSetting('github-o
df3e0 61 75 74 68 2e 27 2e 24 6f 72 69 67 69 6e 55 72 6c 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 auth.'.$originUrl);.$this->confi
df400 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e 61 64 64 43 6f 6e g->getAuthConfigSource()->addCon
df420 66 69 67 53 65 74 74 69 6e 67 28 27 67 69 74 68 75 62 2d 6f 61 75 74 68 2e 27 2e 24 6f 72 69 67 figSetting('github-oauth.'.$orig
df440 69 6e 55 72 6c 2c 20 24 74 6f 6b 65 6e 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 inUrl,.$token);..$this->io->writ
df460 65 45 72 72 6f 72 28 27 3c 69 6e 66 6f 3e 54 6f 6b 65 6e 20 73 74 6f 72 65 64 20 73 75 63 63 65 eError('<info>Token.stored.succe
df480 73 73 66 75 6c 6c 79 2e 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b ssfully.</info>');..return.true;
df4a0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 61 .}.........public.function.getRa
df4c0 74 65 4c 69 6d 69 74 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 72 61 74 65 4c teLimit(array.$headers).{.$rateL
df4e0 69 6d 69 74 20 3d 20 61 72 72 61 79 28 0a 27 6c 69 6d 69 74 27 20 3d 3e 20 27 3f 27 2c 0a 27 72 imit.=.array(.'limit'.=>.'?',.'r
df500 65 73 65 74 27 20 3d 3e 20 27 3f 27 2c 0a 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 eset'.=>.'?',.);..foreach.($head
df520 65 72 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 24 68 65 61 64 65 72 20 3d 20 74 72 69 6d ers.as.$header).{.$header.=.trim
df540 28 24 68 65 61 64 65 72 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 ($header);.if.(false.===.strpos(
df560 24 68 65 61 64 65 72 2c 20 27 58 2d 52 61 74 65 4c 69 6d 69 74 2d 27 29 29 20 7b 0a 63 6f 6e 74 $header,.'X-RateLimit-')).{.cont
df580 69 6e 75 65 3b 0a 7d 0a 6c 69 73 74 28 24 74 79 70 65 2c 20 24 76 61 6c 75 65 29 20 3d 20 65 78 inue;.}.list($type,.$value).=.ex
df5a0 70 6c 6f 64 65 28 27 3a 27 2c 20 24 68 65 61 64 65 72 2c 20 32 29 3b 0a 73 77 69 74 63 68 20 28 plode(':',.$header,.2);.switch.(
df5c0 24 74 79 70 65 29 20 7b 0a 63 61 73 65 20 27 58 2d 52 61 74 65 4c 69 6d 69 74 2d 4c 69 6d 69 74 $type).{.case.'X-RateLimit-Limit
df5e0 27 3a 0a 24 72 61 74 65 4c 69 6d 69 74 5b 27 6c 69 6d 69 74 27 5d 20 3d 20 28 69 6e 74 29 20 74 ':.$rateLimit['limit'].=.(int).t
df600 72 69 6d 28 24 76 61 6c 75 65 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 58 2d 52 61 74 65 rim($value);.break;.case.'X-Rate
df620 4c 69 6d 69 74 2d 52 65 73 65 74 27 3a 0a 24 72 61 74 65 4c 69 6d 69 74 5b 27 72 65 73 65 74 27 Limit-Reset':.$rateLimit['reset'
df640 5d 20 3d 20 64 61 74 65 28 27 59 2d 6d 2d 64 20 48 3a 69 3a 73 27 2c 20 28 69 6e 74 29 20 74 72 ].=.date('Y-m-d.H:i:s',.(int).tr
df660 69 6d 28 24 76 61 6c 75 65 29 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 im($value));.break;.}.}..return.
df680 24 72 61 74 65 4c 69 6d 69 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $rateLimit;.}.........public.fun
df6a0 63 74 69 6f 6e 20 69 73 52 61 74 65 4c 69 6d 69 74 65 64 28 61 72 72 61 79 20 24 68 65 61 64 65 ction.isRateLimited(array.$heade
df6c0 72 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 rs).{.foreach.($headers.as.$head
df6e0 65 72 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 58 2d 52 61 74 65 4c 69 er).{.if.(preg_match('{^X-RateLi
df700 6d 69 74 2d 52 65 6d 61 69 6e 69 6e 67 3a 20 2a 30 24 7d 69 27 2c 20 74 72 69 6d 28 24 68 65 61 mit-Remaining:.*0$}i',.trim($hea
df720 64 65 72 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 der))).{.return.true;.}.}..retur
df740 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 n.false;.}.}.<?php............na
df760 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 mespace.Composer\Util;..use.Comp
df780 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 oser\IO\IOInterface;.use.Compose
df7a0 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 46 61 63 74 6f 72 79 3b 0a r\Config;.use.Composer\Factory;.
df7c0 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 61 6e 73 70 6f 72 use.Composer\Downloader\Transpor
df7e0 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 4a 73 6f 6e 5c 4a 73 tException;.use.Composer\Json\Js
df800 6f 6e 46 69 6c 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 69 74 4c 61 62 0a 7b 0a 70 72 6f 74 65 onFile;.....class.GitLab.{.prote
df820 63 74 65 64 20 24 69 6f 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 69 67 3b 0a 70 72 6f cted.$io;.protected.$config;.pro
df840 74 65 63 74 65 64 20 24 70 72 6f 63 65 73 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 72 65 6d 6f tected.$process;.protected.$remo
df860 74 65 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 teFilesystem;..........public.fu
df880 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 nction.__construct(IOInterface.$
df8a0 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 io,.Config.$config,.ProcessExecu
df8c0 74 6f 72 20 24 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 2c 20 52 65 6d 6f 74 65 46 69 6c 65 73 tor.$process.=.null,.RemoteFiles
df8e0 79 73 74 65 6d 20 24 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 6e 75 6c 6c 29 0a ystem.$remoteFilesystem.=.null).
df900 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 {.$this->io.=.$io;.$this->config
df920 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 .=.$config;.$this->process.=.$pr
df940 6f 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f ocess.?:.new.ProcessExecutor($io
df960 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3d 20 24 72 65 );.$this->remoteFilesystem.=.$re
df980 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 20 3f 3a 20 46 61 63 74 6f 72 79 3a 3a 63 72 65 61 74 moteFilesystem.?:.Factory::creat
df9a0 65 52 65 6d 6f 74 65 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 63 6f eRemoteFilesystem($this->io,.$co
df9c0 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e nfig);.}.........public.function
df9e0 20 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 6f 72 69 67 69 6e 55 72 6c 29 0a 7b 0a 0a 20 .authorizeOAuth($originUrl).{...
dfa00 24 62 63 4f 72 69 67 69 6e 55 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 3a 5c $bcOriginUrl.=.preg_replace('{:\
dfa20 64 2b 7d 27 2c 20 27 27 2c 20 24 6f 72 69 67 69 6e 55 72 6c 29 3b 0a 0a 69 66 20 28 21 69 6e 5f d+}',.'',.$originUrl);..if.(!in_
dfa40 61 72 72 61 79 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d array($originUrl,.$this->config-
dfa60 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 72 75 65 29 20 26 26 >get('gitlab-domains'),.true).&&
dfa80 20 21 69 6e 5f 61 72 72 61 79 28 24 62 63 4f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e .!in_array($bcOriginUrl,.$this->
dfaa0 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 config->get('gitlab-domains'),.t
dfac0 72 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 30 rue)).{.return.false;.}....if.(0
dfae0 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 67 69 .===.$this->process->execute('gi
dfb00 74 20 63 6f 6e 66 69 67 20 67 69 74 6c 61 62 2e 61 63 63 65 73 73 74 6f 6b 65 6e 27 2c 20 24 6f t.config.gitlab.accesstoken',.$o
dfb20 75 74 70 75 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 utput)).{.$this->io->setAuthenti
dfb40 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 74 72 69 6d 28 24 6f 75 74 70 75 74 29 cation($originUrl,.trim($output)
dfb60 2c 20 27 6f 61 75 74 68 32 27 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 ,.'oauth2');..return.true;.}....
dfb80 24 61 75 74 68 54 6f 6b 65 6e 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 $authTokens.=.$this->config->get
dfba0 28 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 ('gitlab-token');..if.(isset($au
dfbc0 74 68 54 6f 6b 65 6e 73 5b 24 6f 72 69 67 69 6e 55 72 6c 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e thTokens[$originUrl])).{.$this->
dfbe0 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c io->setAuthentication($originUrl
dfc00 2c 20 24 61 75 74 68 54 6f 6b 65 6e 73 5b 24 6f 72 69 67 69 6e 55 72 6c 5d 2c 20 27 70 72 69 76 ,.$authTokens[$originUrl],.'priv
dfc20 61 74 65 2d 74 6f 6b 65 6e 27 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 ate-token');..return.true;.}..if
dfc40 20 28 69 73 73 65 74 28 24 61 75 74 68 54 6f 6b 65 6e 73 5b 24 62 63 4f 72 69 67 69 6e 55 72 6c .(isset($authTokens[$bcOriginUrl
dfc60 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 ])).{.$this->io->setAuthenticati
dfc80 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 61 75 74 68 54 6f 6b 65 6e 73 5b 24 62 63 4f 72 on($originUrl,.$authTokens[$bcOr
dfca0 69 67 69 6e 55 72 6c 5d 2c 20 27 70 72 69 76 61 74 65 2d 74 6f 6b 65 6e 27 29 3b 0a 0a 72 65 74 iginUrl],.'private-token');..ret
dfcc0 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a urn.true;.}..return.false;.}....
dfce0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 68 6f 72 ..........public.function.author
dfd00 69 7a 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 73 63 68 65 6d 65 2c 20 24 izeOAuthInteractively($scheme,.$
dfd20 6f 72 69 67 69 6e 55 72 6c 2c 20 24 6d 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 originUrl,.$message.=.null).{.if
dfd40 20 28 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 .($message).{.$this->io->writeEr
dfd60 72 6f 72 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 ror($message);.}..$this->io->wri
dfd80 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 41 20 74 6f 6b 65 6e 20 77 69 6c 6c 20 62 65 teError(sprintf('A.token.will.be
dfda0 20 63 72 65 61 74 65 64 20 61 6e 64 20 73 74 6f 72 65 64 20 69 6e 20 22 25 73 22 2c 20 79 6f 75 .created.and.stored.in."%s",.you
dfdc0 72 20 70 61 73 73 77 6f 72 64 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 73 74 6f 72 65 64 27 r.password.will.never.be.stored'
dfde0 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f ,.$this->config->getAuthConfigSo
dfe00 75 72 63 65 28 29 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e urce()->getName()));.$this->io->
dfe20 77 72 69 74 65 45 72 72 6f 72 28 27 54 6f 20 72 65 76 6f 6b 65 20 61 63 63 65 73 73 20 74 6f 20 writeError('To.revoke.access.to.
dfe40 74 68 69 73 20 74 6f 6b 65 6e 20 79 6f 75 20 63 61 6e 20 76 69 73 69 74 20 27 2e 24 6f 72 69 67 this.token.you.can.visit.'.$orig
dfe60 69 6e 55 72 6c 2e 27 2f 70 72 6f 66 69 6c 65 2f 61 70 70 6c 69 63 61 74 69 6f 6e 73 27 29 3b 0a inUrl.'/profile/applications');.
dfe80 0a 24 61 74 74 65 6d 70 74 43 6f 75 6e 74 65 72 20 3d 20 30 3b 0a 0a 77 68 69 6c 65 20 28 24 61 .$attemptCounter.=.0;..while.($a
dfea0 74 74 65 6d 70 74 43 6f 75 6e 74 65 72 2b 2b 20 3c 20 35 29 20 7b 0a 74 72 79 20 7b 0a 24 72 65 ttemptCounter++.<.5).{.try.{.$re
dfec0 73 70 6f 6e 73 65 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 54 6f 6b 65 6e 28 24 73 63 68 sponse.=.$this->createToken($sch
dfee0 65 6d 65 2c 20 24 6f 72 69 67 69 6e 55 72 6c 29 3b 0a 7d 20 63 61 74 63 68 20 28 54 72 61 6e 73 eme,.$originUrl);.}.catch.(Trans
dff00 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 0a 20 69 66 20 28 69 6e 5f 61 portException.$e).{.....if.(in_a
dff20 72 72 61 79 28 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 20 61 72 72 61 79 28 34 30 33 2c 20 34 rray($e->getCode(),.array(403,.4
dff40 30 31 29 29 29 20 7b 0a 69 66 20 28 34 30 31 20 3d 3d 3d 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 01))).{.if.(401.===.$e->getCode(
dff60 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 42 61 64 20 )).{.$this->io->writeError('Bad.
dff80 63 72 65 64 65 6e 74 69 61 6c 73 2e 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e credentials.');.}.else.{.$this->
dffa0 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 4d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f io->writeError('Maximum.number.o
dffc0 66 20 6c 6f 67 69 6e 20 61 74 74 65 6d 70 74 73 20 65 78 63 65 65 64 65 64 2e 20 50 6c 65 61 73 f.login.attempts.exceeded..Pleas
dffe0 65 20 74 72 79 20 61 67 61 69 6e 20 6c 61 74 65 72 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e e.try.again.later.');.}..$this->
e0000 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 6d 61 6e io->writeError('You.can.also.man
e0020 75 61 6c 6c 79 20 63 72 65 61 74 65 20 61 20 70 65 72 73 6f 6e 61 6c 20 74 6f 6b 65 6e 20 61 74 ually.create.a.personal.token.at
e0040 20 27 2e 24 73 63 68 65 6d 65 2e 27 3a 2f 2f 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2e 27 2f 70 72 .'.$scheme.'://'.$originUrl.'/pr
e0060 6f 66 69 6c 65 2f 70 65 72 73 6f 6e 61 6c 5f 61 63 63 65 73 73 5f 74 6f 6b 65 6e 73 27 29 3b 0a ofile/personal_access_tokens');.
e0080 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 41 64 64 20 69 74 20 75 73 $this->io->writeError('Add.it.us
e00a0 69 6e 67 20 22 63 6f 6d 70 6f 73 65 72 20 63 6f 6e 66 69 67 20 2d 2d 67 6c 6f 62 61 6c 20 2d 2d ing."composer.config.--global.--
e00c0 61 75 74 68 20 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 2e 27 2e 24 6f 72 69 67 69 6e 55 72 6c 2e 27 auth.gitlab-token.'.$originUrl.'
e00e0 20 3c 74 6f 6b 65 6e 3e 22 27 29 3b 0a 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 .<token>"');..continue;.}..throw
e0100 20 24 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 .$e;.}..$this->io->setAuthentica
e0120 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 72 65 73 70 6f 6e 73 65 5b 27 61 63 63 65 tion($originUrl,.$response['acce
e0140 73 73 5f 74 6f 6b 65 6e 27 5d 2c 20 27 6f 61 75 74 68 32 27 29 3b 0a 0a 0a 20 24 74 68 69 73 2d ss_token'],.'oauth2');....$this-
e0160 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 41 75 74 68 43 6f 6e 66 69 67 53 6f 75 72 63 65 28 29 2d 3e >config->getAuthConfigSource()->
e0180 61 64 64 43 6f 6e 66 69 67 53 65 74 74 69 6e 67 28 27 67 69 74 6c 61 62 2d 6f 61 75 74 68 2e 27 addConfigSetting('gitlab-oauth.'
e01a0 2e 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 72 65 73 70 6f 6e 73 65 5b 27 61 63 63 65 73 73 5f 74 .$originUrl,.$response['access_t
e01c0 6f 6b 65 6e 27 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 oken']);..return.true;.}..throw.
e01e0 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 47 new.\RuntimeException('Invalid.G
e0200 69 74 4c 61 62 20 63 72 65 64 65 6e 74 69 61 6c 73 20 35 20 74 69 6d 65 73 20 69 6e 20 61 20 72 itLab.credentials.5.times.in.a.r
e0220 6f 77 2c 20 61 62 6f 72 74 69 6e 67 2e 27 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 ow,.aborting.');.}..private.func
e0240 74 69 6f 6e 20 63 72 65 61 74 65 54 6f 6b 65 6e 28 24 73 63 68 65 6d 65 2c 20 24 6f 72 69 67 69 tion.createToken($scheme,.$origi
e0260 6e 55 72 6c 29 0a 7b 0a 24 75 73 65 72 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 nUrl).{.$username.=.$this->io->a
e0280 73 6b 28 27 55 73 65 72 6e 61 6d 65 3a 20 27 29 3b 0a 24 70 61 73 73 77 6f 72 64 20 3d 20 24 74 sk('Username:.');.$password.=.$t
e02a0 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 50 61 73 73 77 his->io->askAndHideAnswer('Passw
e02c0 6f 72 64 3a 20 27 29 3b 0a 0a 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 27 43 6f 6e 74 ord:.');..$headers.=.array('Cont
e02e0 65 6e 74 2d 54 79 70 65 3a 20 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d ent-Type:.application/x-www-form
e0300 2d 75 72 6c 65 6e 63 6f 64 65 64 27 29 3b 0a 0a 24 61 70 69 55 72 6c 20 3d 20 24 6f 72 69 67 69 -urlencoded');..$apiUrl.=.$origi
e0320 6e 55 72 6c 3b 0a 24 64 61 74 61 20 3d 20 68 74 74 70 5f 62 75 69 6c 64 5f 71 75 65 72 79 28 61 nUrl;.$data.=.http_build_query(a
e0340 72 72 61 79 28 0a 27 75 73 65 72 6e 61 6d 65 27 20 3d 3e 20 24 75 73 65 72 6e 61 6d 65 2c 0a 27 rray(.'username'.=>.$username,.'
e0360 70 61 73 73 77 6f 72 64 27 20 3d 3e 20 24 70 61 73 73 77 6f 72 64 2c 0a 27 67 72 61 6e 74 5f 74 password'.=>.$password,.'grant_t
e0380 79 70 65 27 20 3d 3e 20 27 70 61 73 73 77 6f 72 64 27 2c 0a 29 2c 20 6e 75 6c 6c 2c 20 27 26 27 ype'.=>.'password',.),.null,.'&'
e03a0 29 3b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 27 72 65 74 72 79 2d 61 75 74 68 );.$options.=.array(.'retry-auth
e03c0 2d 66 61 69 6c 75 72 65 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 27 68 74 74 70 27 20 3d 3e 20 61 72 -failure'.=>.false,.'http'.=>.ar
e03e0 72 61 79 28 0a 27 6d 65 74 68 6f 64 27 20 3d 3e 20 27 50 4f 53 54 27 2c 0a 27 68 65 61 64 65 72 ray(.'method'.=>.'POST',.'header
e0400 27 20 3d 3e 20 24 68 65 61 64 65 72 73 2c 0a 27 63 6f 6e 74 65 6e 74 27 20 3d 3e 20 24 64 61 74 '.=>.$headers,.'content'.=>.$dat
e0420 61 2c 0a 29 2c 0a 29 3b 0a 0a 24 6a 73 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 72 65 6d 6f 74 65 46 a,.),.);..$json.=.$this->remoteF
e0440 69 6c 65 73 79 73 74 65 6d 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 ilesystem->getContents($originUr
e0460 6c 2c 20 24 73 63 68 65 6d 65 2e 27 3a 2f 2f 27 2e 24 61 70 69 55 72 6c 2e 27 2f 6f 61 75 74 68 l,.$scheme.'://'.$apiUrl.'/oauth
e0480 2f 74 6f 6b 65 6e 27 2c 20 66 61 6c 73 65 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 /token',.false,.$options);..$thi
e04a0 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 54 6f 6b 65 6e 20 73 75 63 63 65 73 73 s->io->writeError('Token.success
e04c0 66 75 6c 6c 79 20 63 72 65 61 74 65 64 27 29 3b 0a 0a 72 65 74 75 72 6e 20 4a 73 6f 6e 46 69 6c fully.created');..return.JsonFil
e04e0 65 3a 3a 70 61 72 73 65 4a 73 6f 6e 28 24 6a 73 6f 6e 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a e::parseJson($json);.}.}.<?php..
e0500 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 ..........namespace.Composer\Uti
e0520 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 6f 6d l;..use.Composer\Config;.use.Com
e0540 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 poser\IO\IOInterface;.....class.
e0560 48 67 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 Hg.{....private.$io;.....private
e0580 20 24 63 6f 6e 66 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b 0a .$config;.....private.$process;.
e05a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 .public.function.__construct(IOI
e05c0 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 nterface.$io,.Config.$config,.Pr
e05e0 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 29 0a 7b 0a 24 74 68 69 73 2d ocessExecutor.$process).{.$this-
e0600 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 >io.=.$io;.$this->config.=.$conf
e0620 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 3b 0a 7d ig;.$this->process.=.$process;.}
e0640 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f ..public.function.runCommand($co
e0660 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c 20 24 75 72 6c 2c 20 24 63 77 64 29 0a 7b 0a 24 74 68 mmandCallable,.$url,.$cwd).{.$th
e0680 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 is->config->prohibitUrlByConfig(
e06a0 24 75 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 $url,.$this->io);....$command.=.
e06c0 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 6c 65 2c call_user_func($commandCallable,
e06e0 20 24 75 72 6c 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 .$url);..if.(0.===.$this->proces
e0700 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 s->execute($command,.$ignoredOut
e0720 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 put,.$cwd)).{.return;.}....if.(p
e0740 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 68 74 74 70 73 3f 29 3a 2f 2f 28 28 2e 2b 29 28 3f 3a reg_match('{^(https?)://((.+)(?:
e0760 5c 3a 28 2e 2b 29 29 3f 40 29 3f 28 5b 5e 2f 5d 2b 29 28 2f 2e 2a 29 3f 7d 6d 69 27 2c 20 24 75 \:(.+))?@)?([^/]+)(/.*)?}mi',.$u
e0780 72 6c 2c 20 24 6d 61 74 63 68 29 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 rl,.$match).&&.$this->io->hasAut
e07a0 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6d 61 74 63 68 5b 35 5d 29 29 20 7b 0a 24 61 75 74 68 20 hentication($match[5])).{.$auth.
e07c0 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 =.$this->io->getAuthentication($
e07e0 6d 61 74 63 68 5b 35 5d 29 3b 0a 24 61 75 74 68 65 6e 74 69 63 61 74 65 64 55 72 6c 20 3d 20 24 match[5]);.$authenticatedUrl.=.$
e0800 6d 61 74 63 68 5b 31 5d 20 2e 20 27 3a 2f 2f 27 20 2e 20 72 61 77 75 72 6c 65 6e 63 6f 64 65 28 match[1]...'://'...rawurlencode(
e0820 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 29 20 2e 20 27 3a 27 20 2e 20 72 61 77 75 72 $auth['username'])...':'...rawur
e0840 6c 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 2e 20 27 40 27 lencode($auth['password'])...'@'
e0860 20 2e 20 24 6d 61 74 63 68 5b 35 5d 20 2e 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 36 5d ...$match[5]...(!empty($match[6]
e0880 29 20 3f 20 24 6d 61 74 63 68 5b 36 5d 20 3a 20 6e 75 6c 6c 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 ).?.$match[6].:.null);..$command
e08a0 20 3d 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 6f 6d 6d 61 6e 64 43 61 6c 6c 61 62 .=.call_user_func($commandCallab
e08c0 6c 65 2c 20 24 61 75 74 68 65 6e 74 69 63 61 74 65 64 55 72 6c 29 3b 0a 0a 69 66 20 28 30 20 3d le,.$authenticatedUrl);..if.(0.=
e08e0 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d ==.$this->process->execute($comm
e0900 61 6e 64 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 2c 20 24 63 77 64 29 29 20 7b 0a 72 65 and,.$ignoredOutput,.$cwd)).{.re
e0920 74 75 72 6e 3b 0a 7d 0a 0a 24 65 72 72 6f 72 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 turn;.}..$error.=.$this->process
e0940 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 72 ->getErrorOutput();.}.else.{.$er
e0960 72 6f 72 20 3d 20 27 54 68 65 20 67 69 76 65 6e 20 55 52 4c 20 28 27 20 2e 20 24 75 72 6c 20 2e ror.=.'The.given.URL.('...$url..
e0980 20 27 29 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 72 65 71 75 69 72 65 64 20 .').does.not.match.the.required.
e09a0 66 6f 72 6d 61 74 20 28 68 74 74 70 28 73 29 3a 2f 2f 28 75 73 65 72 6e 61 6d 65 3a 70 61 73 73 format.(http(s)://(username:pass
e09c0 77 6f 72 64 40 29 65 78 61 6d 70 6c 65 2e 63 6f 6d 2f 70 61 74 68 2d 74 6f 2d 72 65 70 6f 73 69 word@)example.com/path-to-reposi
e09e0 74 6f 72 79 29 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e tory)';.}..$this->throwException
e0a00 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 27 20 2e 20 24 75 72 6c 20 2e 20 27 2c 20 ('Failed.to.clone.'...$url...',.
e0a20 27 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 65 72 72 6f 72 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 70 '..."\n\n"...$error,.$url);.}..p
e0a40 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 61 6e 69 74 69 7a 65 55 72 ublic.static.function.sanitizeUr
e0a60 6c 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 l($message).{.return.preg_replac
e0a80 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 3a 2f 2f 28 3f 50 3c 75 73 65 72 3e 5b 5e 40 5d 2b 3f 29 e_callback('{://(?P<user>[^@]+?)
e0aa0 3a 28 3f 50 3c 70 61 73 73 77 6f 72 64 3e 2e 2b 3f 29 40 7d 27 2c 20 66 75 6e 63 74 69 6f 6e 20 :(?P<password>.+?)@}',.function.
e0ac0 28 24 6d 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 61 2d 66 30 2d 39 ($m).{.if.(preg_match('{^[a-f0-9
e0ae0 5d 7b 31 32 2c 7d 24 7d 27 2c 20 24 6d 5b 31 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 3a 2f 2f ]{12,}$}',.$m[1])).{.return.'://
e0b00 2a 2a 2a 3a 2a 2a 2a 40 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 3a 2f 2f 27 20 2e 20 24 6d 5b ***:***@';.}..return.'://'...$m[
e0b20 31 5d 20 2e 20 27 3a 2a 2a 2a 40 27 3b 0a 7d 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 70 1]...':***@';.},.$message);.}..p
e0b40 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 28 24 rivate.function.throwException($
e0b60 6d 65 73 73 61 67 65 2c 20 24 75 72 6c 29 0a 7b 0a 69 66 20 28 30 20 21 3d 3d 20 24 74 68 69 73 message,.$url).{.if.(0.!==.$this
e0b80 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 68 67 20 2d 2d 76 65 72 73 69 6f 6e ->process->execute('hg.--version
e0ba0 27 2c 20 24 69 67 6e 6f 72 65 64 4f 75 74 70 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 ',.$ignoredOutput)).{.throw.new.
e0bc0 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 73 61 6e 69 74 69 7a 65 \RuntimeException(self::sanitize
e0be0 55 72 6c 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6c 6f 6e 65 20 27 20 2e 20 24 75 72 6c 20 2e 20 Url('Failed.to.clone.'...$url...
e0c00 27 2c 20 68 67 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 2c 20 63 68 65 63 6b 20 74 68 61 74 20 ',.hg.was.not.found,.check.that.
e0c20 69 74 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 61 6e 64 20 69 6e 20 79 6f 75 72 20 50 41 54 48 it.is.installed.and.in.your.PATH
e0c40 20 65 6e 76 2e 27 20 2e 20 22 5c 6e 5c 6e 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 .env.'..."\n\n"...$this->process
e0c60 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e ->getErrorOutput()));.}..throw.n
e0c80 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 65 6c 66 3a 3a 73 61 6e 69 74 ew.\RuntimeException(self::sanit
e0ca0 69 7a 65 55 72 6c 28 24 6d 65 73 73 61 67 65 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a izeUrl($message));.}.}.<?php....
e0cc0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b ........namespace.Composer\Util;
e0ce0 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 58 64 65 ..use.Composer\XdebugHandler\Xde
e0d00 62 75 67 48 61 6e 64 6c 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 69 48 65 6c bugHandler;.........class.IniHel
e0d20 70 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 per.{.........public.static.func
e0d40 74 69 6f 6e 20 67 65 74 41 6c 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 58 64 65 62 75 67 48 61 6e tion.getAll().{.return.XdebugHan
e0d60 64 6c 65 72 3a 3a 67 65 74 41 6c 6c 49 6e 69 46 69 6c 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a dler::getAllIniFiles();.}.......
e0d80 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 65 73 73 61 67 public.static.function.getMessag
e0da0 65 28 29 0a 7b 0a 24 70 61 74 68 73 20 3d 20 73 65 6c 66 3a 3a 67 65 74 41 6c 6c 28 29 3b 0a 0a e().{.$paths.=.self::getAll();..
e0dc0 69 66 20 28 65 6d 70 74 79 28 24 70 61 74 68 73 5b 30 5d 29 29 20 7b 0a 61 72 72 61 79 5f 73 68 if.(empty($paths[0])).{.array_sh
e0de0 69 66 74 28 24 70 61 74 68 73 29 3b 0a 7d 0a 0a 24 69 6e 69 20 3d 20 61 72 72 61 79 5f 73 68 69 ift($paths);.}..$ini.=.array_shi
e0e00 66 74 28 24 70 61 74 68 73 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 69 6e 69 29 29 20 7b 0a ft($paths);..if.(empty($ini)).{.
e0e20 72 65 74 75 72 6e 20 27 41 20 70 68 70 2e 69 6e 69 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 return.'A.php.ini.file.does.not.
e0e40 65 78 69 73 74 2e 20 59 6f 75 20 77 69 6c 6c 20 68 61 76 65 20 74 6f 20 63 72 65 61 74 65 20 6f exist..You.will.have.to.create.o
e0e60 6e 65 2e 27 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 61 74 68 73 29 29 20 7b 0a 72 ne.';.}..if.(!empty($paths)).{.r
e0e80 65 74 75 72 6e 20 27 59 6f 75 72 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 50 48 50 20 69 73 20 eturn.'Your.command-line.PHP.is.
e0ea0 75 73 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 69 6e 69 20 66 69 6c 65 73 2e 20 52 75 6e 20 60 70 using.multiple.ini.files..Run.`p
e0ec0 68 70 20 2d 2d 69 6e 69 60 20 74 6f 20 73 68 6f 77 20 74 68 65 6d 2e 27 3b 0a 7d 0a 0a 72 65 74 hp.--ini`.to.show.them.';.}..ret
e0ee0 75 72 6e 20 27 54 68 65 20 70 68 70 2e 69 6e 69 20 75 73 65 64 20 62 79 20 79 6f 75 72 20 63 6f urn.'The.php.ini.used.by.your.co
e0f00 6d 6d 61 6e 64 2d 6c 69 6e 65 20 50 48 50 20 69 73 3a 20 27 2e 24 69 6e 69 3b 0a 7d 0a 7d 0a 3c mmand-line.PHP.is:.'.$ini;.}.}.<
e0f20 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
e0f40 65 72 5c 55 74 69 6c 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 6f 50 72 6f 78 79 50 61 74 74 65 72 er\Util;.....class.NoProxyPatter
e0f60 6e 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 72 75 6c 65 73 20 3d 20 61 72 72 61 79 28 n.{....protected.$rules.=.array(
e0f80 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 );.....public.function.__constru
e0fa0 63 74 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 3d 20 70 72 ct($pattern).{.$this->rules.=.pr
e0fc0 65 67 5f 73 70 6c 69 74 28 22 2f 5b 5c 73 2c 5d 2b 2f 22 2c 20 24 70 61 74 74 65 72 6e 29 3b 0a eg_split("/[\s,]+/",.$pattern);.
e0fe0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 28 24 }.........public.function.test($
e1000 75 72 6c 29 0a 7b 0a 24 68 6f 73 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 url).{.$host.=.parse_url($url,.P
e1020 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 24 70 6f 72 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 HP_URL_HOST);.$port.=.parse_url(
e1040 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 50 4f 52 54 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 $url,.PHP_URL_PORT);..if.(empty(
e1060 24 70 6f 72 74 29 29 20 7b 0a 73 77 69 74 63 68 20 28 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c $port)).{.switch.(parse_url($url
e1080 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 29 20 7b 0a 63 61 73 65 20 27 68 74 74 70 27 ,.PHP_URL_SCHEME)).{.case.'http'
e10a0 3a 0a 24 70 6f 72 74 20 3d 20 38 30 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 68 74 74 70 73 :.$port.=.80;.break;.case.'https
e10c0 27 3a 0a 24 70 6f 72 74 20 3d 20 34 34 33 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 ':.$port.=.443;.break;.}.}..fore
e10e0 61 63 68 20 28 24 74 68 69 73 2d 3e 72 75 6c 65 73 20 61 73 20 24 72 75 6c 65 29 20 7b 0a 69 66 ach.($this->rules.as.$rule).{.if
e1100 20 28 24 72 75 6c 65 20 3d 3d 20 27 2a 27 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d .($rule.==.'*').{.return.true;.}
e1120 0a 0a 24 6d 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 0a 6c 69 73 74 28 24 72 75 6c 65 48 6f 73 ..$match.=.false;..list($ruleHos
e1140 74 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 72 75 6c 65 29 3b 0a 6c 69 73 74 28 24 t).=.explode(':',.$rule);.list($
e1160 62 61 73 65 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 72 75 6c 65 48 6f 73 74 29 3b base).=.explode('/',.$ruleHost);
e1180 0a 0a 69 66 20 28 66 69 6c 74 65 72 5f 76 61 72 28 24 62 61 73 65 2c 20 46 49 4c 54 45 52 5f 56 ..if.(filter_var($base,.FILTER_V
e11a0 41 4c 49 44 41 54 45 5f 49 50 2c 20 46 49 4c 54 45 52 5f 46 4c 41 47 5f 49 50 56 34 29 29 20 7b ALIDATE_IP,.FILTER_FLAG_IPV4)).{
e11c0 0a 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 69 70 29 29 20 7b 0a 24 69 70 20 3d 20 67 65 74 68 ...if.(!isset($ip)).{.$ip.=.geth
e11e0 6f 73 74 62 79 6e 61 6d 65 28 24 68 6f 73 74 29 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 70 6f 73 28 ostbyname($host);.}..if.(strpos(
e1200 24 72 75 6c 65 48 6f 73 74 2c 20 27 2f 27 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 6d 61 $ruleHost,.'/').===.false).{.$ma
e1220 74 63 68 20 3d 20 24 69 70 20 3d 3d 3d 20 24 72 75 6c 65 48 6f 73 74 3b 0a 7d 20 65 6c 73 65 20 tch.=.$ip.===.$ruleHost;.}.else.
e1240 7b 0a 0a 20 0a 20 69 66 20 28 24 69 70 20 3d 3d 3d 20 24 68 6f 73 74 29 20 7b 0a 24 6d 61 74 63 {.....if.($ip.===.$host).{.$matc
e1260 68 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 6d 61 74 63 68 20 3d 20 73 h.=.false;.}.else.{...$match.=.s
e1280 65 6c 66 3a 3a 69 6e 43 49 44 52 42 6c 6f 63 6b 28 24 72 75 6c 65 48 6f 73 74 2c 20 24 69 70 29 elf::inCIDRBlock($ruleHost,.$ip)
e12a0 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 0a 24 68 61 79 73 74 61 63 6b 20 3d 20 27 2e 27 ;.}.}.}.else.{...$haystack.=.'.'
e12c0 20 2e 20 74 72 69 6d 28 24 68 6f 73 74 2c 20 27 2e 27 29 20 2e 20 27 2e 27 3b 0a 24 6e 65 65 64 ...trim($host,.'.')...'.';.$need
e12e0 6c 65 20 3d 20 27 2e 27 2e 20 74 72 69 6d 28 24 72 75 6c 65 48 6f 73 74 2c 20 27 2e 27 29 20 2e le.=.'.'..trim($ruleHost,.'.')..
e1300 27 2e 27 3b 0a 24 6d 61 74 63 68 20 3d 20 73 74 72 69 70 6f 73 28 73 74 72 72 65 76 28 24 68 61 '.';.$match.=.stripos(strrev($ha
e1320 79 73 74 61 63 6b 29 2c 20 73 74 72 72 65 76 28 24 6e 65 65 64 6c 65 29 29 20 3d 3d 3d 20 30 3b ystack),.strrev($needle)).===.0;
e1340 0a 7d 0a 0a 0a 20 69 66 20 28 24 6d 61 74 63 68 20 26 26 20 73 74 72 70 6f 73 28 24 72 75 6c 65 .}....if.($match.&&.strpos($rule
e1360 2c 20 27 3a 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 6c 69 73 74 28 2c 20 24 72 75 6c 65 ,.':').!==.false).{.list(,.$rule
e1380 50 6f 72 74 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 72 75 6c 65 29 3b 0a 69 66 20 Port).=.explode(':',.$rule);.if.
e13a0 28 21 65 6d 70 74 79 28 24 72 75 6c 65 50 6f 72 74 29 20 26 26 20 24 70 6f 72 74 20 21 3d 20 24 (!empty($rulePort).&&.$port.!=.$
e13c0 72 75 6c 65 50 6f 72 74 29 20 7b 0a 24 6d 61 74 63 68 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a rulePort).{.$match.=.false;.}.}.
e13e0 0a 69 66 20 28 24 6d 61 74 63 68 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a .if.($match).{.return.true;.}.}.
e1400 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 .return.false;.}............priv
e1420 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 43 49 44 52 42 6c 6f 63 6b 28 ate.static.function.inCIDRBlock(
e1440 24 63 69 64 72 2c 20 24 69 70 29 0a 7b 0a 0a 20 6c 69 73 74 28 24 62 61 73 65 2c 20 24 62 69 74 $cidr,.$ip).{...list($base,.$bit
e1460 73 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 63 69 64 72 29 3b 0a 0a 0a 20 6c 69 73 s).=.explode('/',.$cidr);....lis
e1480 74 28 24 61 2c 20 24 62 2c 20 24 63 2c 20 24 64 29 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c t($a,.$b,.$c,.$d).=.explode('.',
e14a0 20 24 62 61 73 65 29 3b 0a 0a 0a 20 24 69 20 3d 20 28 24 61 20 3c 3c 20 32 34 29 20 2b 20 28 24 .$base);....$i.=.($a.<<.24).+.($
e14c0 62 20 3c 3c 20 31 36 29 20 2b 20 28 24 63 20 3c 3c 20 38 29 20 2b 20 24 64 3b 0a 24 6d 61 73 6b b.<<.16).+.($c.<<.8).+.$d;.$mask
e14e0 20 3d 20 24 62 69 74 73 20 3d 3d 20 30 20 3f 20 30 20 3a 20 28 7e 30 20 3c 3c 20 28 33 32 20 2d .=.$bits.==.0.?.0.:.(~0.<<.(32.-
e1500 20 24 62 69 74 73 29 29 3b 0a 0a 0a 20 24 6c 6f 77 20 3d 20 24 69 20 26 20 24 6d 61 73 6b 3b 0a .$bits));....$low.=.$i.&.$mask;.
e1520 0a 0a 20 24 68 69 67 68 20 3d 20 24 69 20 7c 20 28 7e 24 6d 61 73 6b 20 26 20 30 78 46 46 46 46 ...$high.=.$i.|.(~$mask.&.0xFFFF
e1540 46 46 46 46 29 3b 0a 0a 0a 20 6c 69 73 74 28 24 61 2c 20 24 62 2c 20 24 63 2c 20 24 64 29 20 3d FFFF);....list($a,.$b,.$c,.$d).=
e1560 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 69 70 29 3b 0a 0a 0a 20 24 63 68 65 63 6b 20 3d 20 .explode('.',.$ip);....$check.=.
e1580 28 24 61 20 3c 3c 20 32 34 29 20 2b 20 28 24 62 20 3c 3c 20 31 36 29 20 2b 20 28 24 63 20 3c 3c ($a.<<.24).+.($b.<<.16).+.($c.<<
e15a0 20 38 29 20 2b 20 24 64 3b 0a 0a 0a 20 0a 20 72 65 74 75 72 6e 20 24 63 68 65 63 6b 20 3e 3d 20 .8).+.$d;......return.$check.>=.
e15c0 24 6c 6f 77 20 26 26 20 24 63 68 65 63 6b 20 3c 3d 20 24 68 69 67 68 3b 0a 7d 0a 7d 0a 3c 3f 70 $low.&&.$check.<=.$high;.}.}.<?p
e15e0 68 70 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 hp...namespace.Composer\Util;..u
e1600 73 65 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 4c 69 6e 6b 3b 0a 75 73 65 20 43 6f se.Composer\Package\Link;.use.Co
e1620 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 50 61 63 6b 61 67 65 49 6e 74 65 72 66 61 63 65 3b mposer\Package\PackageInterface;
e1640 0a 0a 63 6c 61 73 73 20 50 61 63 6b 61 67 65 53 6f 72 74 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a ..class.PackageSorter.{.........
e1660 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 50 61 63 6b 61 public.static.function.sortPacka
e1680 67 65 73 28 61 72 72 61 79 20 24 70 61 63 6b 61 67 65 73 29 20 7b 0a 24 75 73 61 67 65 4c 69 73 ges(array.$packages).{.$usageLis
e16a0 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 63 6b 61 67 65 73 t.=.array();..foreach.($packages
e16c0 20 61 73 20 24 70 61 63 6b 61 67 65 29 20 7b 20 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f .as.$package).{..foreach.(array_
e16e0 6d 65 72 67 65 28 24 70 61 63 6b 61 67 65 2d 3e 67 65 74 52 65 71 75 69 72 65 73 28 29 2c 20 24 merge($package->getRequires(),.$
e1700 70 61 63 6b 61 67 65 2d 3e 67 65 74 44 65 76 52 65 71 75 69 72 65 73 28 29 29 20 61 73 20 24 6c package->getDevRequires()).as.$l
e1720 69 6e 6b 29 20 7b 20 0a 24 74 61 72 67 65 74 20 3d 20 24 6c 69 6e 6b 2d 3e 67 65 74 54 61 72 67 ink).{..$target.=.$link->getTarg
e1740 65 74 28 29 3b 0a 24 75 73 61 67 65 4c 69 73 74 5b 24 74 61 72 67 65 74 5d 5b 5d 20 3d 20 24 70 et();.$usageList[$target][].=.$p
e1760 61 63 6b 61 67 65 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 0a 7d 0a 24 63 6f 6d 70 75 74 69 6e ackage->getName();.}.}.$computin
e1780 67 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 63 6f 6d 70 75 74 65 64 20 3d 20 61 72 72 61 79 28 29 g.=.array();.$computed.=.array()
e17a0 3b 0a 24 63 6f 6d 70 75 74 65 49 6d 70 6f 72 74 61 6e 63 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 ;.$computeImportance.=.function.
e17c0 28 24 6e 61 6d 65 29 20 75 73 65 20 28 26 24 63 6f 6d 70 75 74 65 49 6d 70 6f 72 74 61 6e 63 65 ($name).use.(&$computeImportance
e17e0 2c 20 26 24 63 6f 6d 70 75 74 69 6e 67 2c 20 26 24 63 6f 6d 70 75 74 65 64 2c 20 24 75 73 61 67 ,.&$computing,.&$computed,.$usag
e1800 65 4c 69 73 74 29 20 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 75 74 65 64 5b 24 eList).{...if.(isset($computed[$
e1820 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6d 70 75 74 65 64 5b 24 6e 61 6d 65 name])).{.return.$computed[$name
e1840 5d 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 63 6f 6d 70 75 74 69 6e 67 5b 24 6e 61 ];.}....if.(isset($computing[$na
e1860 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 24 63 6f 6d 70 75 74 69 6e 67 5b me])).{.return.0;.}..$computing[
e1880 24 6e 61 6d 65 5d 20 3d 20 74 72 75 65 3b 0a 24 77 65 69 67 68 74 20 3d 20 30 3b 0a 0a 69 66 20 $name].=.true;.$weight.=.0;..if.
e18a0 28 69 73 73 65 74 28 24 75 73 61 67 65 4c 69 73 74 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 66 6f 72 (isset($usageList[$name])).{.for
e18c0 65 61 63 68 20 28 24 75 73 61 67 65 4c 69 73 74 5b 24 6e 61 6d 65 5d 20 61 73 20 24 75 73 65 72 each.($usageList[$name].as.$user
e18e0 29 20 7b 0a 24 77 65 69 67 68 74 20 2d 3d 20 31 20 2d 20 24 63 6f 6d 70 75 74 65 49 6d 70 6f 72 ).{.$weight.-=.1.-.$computeImpor
e1900 74 61 6e 63 65 28 24 75 73 65 72 29 3b 0a 7d 0a 7d 0a 0a 75 6e 73 65 74 28 24 63 6f 6d 70 75 74 tance($user);.}.}..unset($comput
e1920 69 6e 67 5b 24 6e 61 6d 65 5d 29 3b 0a 24 63 6f 6d 70 75 74 65 64 5b 24 6e 61 6d 65 5d 20 3d 20 ing[$name]);.$computed[$name].=.
e1940 24 77 65 69 67 68 74 3b 0a 0a 72 65 74 75 72 6e 20 24 77 65 69 67 68 74 3b 0a 7d 3b 0a 0a 24 77 $weight;..return.$weight;.};..$w
e1960 65 69 67 68 74 4c 69 73 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 eightList.=.array();..foreach.($
e1980 70 61 63 6b 61 67 65 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 70 61 63 6b 61 67 65 29 20 7b packages.as.$name.=>.$package).{
e19a0 0a 24 77 65 69 67 68 74 20 3d 20 24 63 6f 6d 70 75 74 65 49 6d 70 6f 72 74 61 6e 63 65 28 24 6e .$weight.=.$computeImportance($n
e19c0 61 6d 65 29 3b 0a 24 77 65 69 67 68 74 4c 69 73 74 5b 24 6e 61 6d 65 5d 20 3d 20 24 77 65 69 67 ame);.$weightList[$name].=.$weig
e19e0 68 74 3b 0a 7d 0a 0a 24 73 74 61 62 6c 65 5f 73 6f 72 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 ht;.}..$stable_sort.=.function.(
e1a00 26 24 61 72 72 61 79 29 20 7b 0a 73 74 61 74 69 63 20 24 74 72 61 6e 73 66 6f 72 6d 2c 20 24 72 &$array).{.static.$transform,.$r
e1a20 65 73 74 6f 72 65 3b 0a 0a 24 69 20 3d 20 30 3b 0a 0a 69 66 20 28 21 24 74 72 61 6e 73 66 6f 72 estore;..$i.=.0;..if.(!$transfor
e1a40 6d 29 20 7b 0a 24 74 72 61 6e 73 66 6f 72 6d 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 76 2c m).{.$transform.=.function.(&$v,
e1a60 20 24 6b 29 20 75 73 65 20 28 26 24 69 29 20 7b 0a 24 76 20 3d 20 61 72 72 61 79 28 24 76 2c 20 .$k).use.(&$i).{.$v.=.array($v,.
e1a80 2b 2b 24 69 2c 20 24 6b 2c 20 24 76 29 3b 0a 7d 3b 0a 0a 24 72 65 73 74 6f 72 65 20 3d 20 66 75 ++$i,.$k,.$v);.};..$restore.=.fu
e1aa0 6e 63 74 69 6f 6e 20 28 26 24 76 29 20 7b 0a 24 76 20 3d 20 24 76 5b 33 5d 3b 0a 7d 3b 0a 7d 0a nction.(&$v).{.$v.=.$v[3];.};.}.
e1ac0 0a 61 72 72 61 79 5f 77 61 6c 6b 28 24 61 72 72 61 79 2c 20 24 74 72 61 6e 73 66 6f 72 6d 29 3b .array_walk($array,.$transform);
e1ae0 0a 61 73 6f 72 74 28 24 61 72 72 61 79 29 3b 0a 61 72 72 61 79 5f 77 61 6c 6b 28 24 61 72 72 61 .asort($array);.array_walk($arra
e1b00 79 2c 20 24 72 65 73 74 6f 72 65 29 3b 0a 7d 3b 0a 0a 24 73 74 61 62 6c 65 5f 73 6f 72 74 28 24 y,.$restore);.};..$stable_sort($
e1b20 77 65 69 67 68 74 4c 69 73 74 29 3b 0a 0a 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 73 20 3d 20 weightList);..$sortedPackages.=.
e1b40 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6b 65 79 73 28 24 77 array();..foreach.(array_keys($w
e1b60 65 69 67 68 74 4c 69 73 74 29 20 61 73 20 24 6e 61 6d 65 29 20 7b 0a 24 73 6f 72 74 65 64 50 61 eightList).as.$name).{.$sortedPa
e1b80 63 6b 61 67 65 73 5b 5d 20 3d 20 24 70 61 63 6b 61 67 65 73 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 72 ckages[].=.$packages[$name];.}.r
e1ba0 65 74 75 72 6e 20 24 73 6f 72 74 65 64 50 61 63 6b 61 67 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 eturn.$sortedPackages;.}.}.<?php
e1bc0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 ............namespace.Composer\U
e1be0 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 til;..use.Composer\IO\IOInterfac
e1c00 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 e;.use.Symfony\Component\Process
e1c20 5c 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 65 72 66 6f 72 63 65 0a 7b 0a 70 \Process;.....class.Perforce.{.p
e1c40 72 6f 74 65 63 74 65 64 20 24 70 61 74 68 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 44 65 70 rotected.$path;.protected.$p4Dep
e1c60 6f 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 43 6c 69 65 6e 74 3b 0a 70 72 6f 74 65 63 74 ot;.protected.$p4Client;.protect
e1c80 65 64 20 24 70 34 55 73 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 50 61 73 73 77 6f 72 ed.$p4User;.protected.$p4Passwor
e1ca0 64 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 50 6f 72 74 3b 0a 70 72 6f 74 65 63 74 65 64 20 d;.protected.$p4Port;.protected.
e1cc0 24 70 34 53 74 72 65 61 6d 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 43 6c 69 65 6e 74 53 70 $p4Stream;.protected.$p4ClientSp
e1ce0 65 63 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 34 44 65 70 6f 74 54 79 70 65 3b 0a 70 72 6f 74 ec;.protected.$p4DepotType;.prot
e1d00 65 63 74 65 64 20 24 70 34 42 72 61 6e 63 68 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 6f 63 ected.$p4Branch;.protected.$proc
e1d20 65 73 73 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 75 6e 69 71 75 65 50 65 72 66 6f 72 63 65 43 6c ess;.protected.$uniquePerforceCl
e1d40 69 65 6e 74 4e 61 6d 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 77 69 6e 64 6f 77 73 46 6c 61 67 ientName;.protected.$windowsFlag
e1d60 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 0a 70 72 6f ;.protected.$commandResult;..pro
e1d80 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 69 6c 65 73 79 73 74 tected.$io;..protected.$filesyst
e1da0 65 6d 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 em;..public.function.__construct
e1dc0 28 24 72 65 70 6f 43 6f 6e 66 69 67 2c 20 24 70 6f 72 74 2c 20 24 70 61 74 68 2c 20 50 72 6f 63 ($repoConfig,.$port,.$path,.Proc
e1de0 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 2c 20 24 69 73 57 69 6e 64 6f 77 73 essExecutor.$process,.$isWindows
e1e00 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 69 6e 64 ,.IOInterface.$io).{.$this->wind
e1e20 6f 77 73 46 6c 61 67 20 3d 20 24 69 73 57 69 6e 64 6f 77 73 3b 0a 24 74 68 69 73 2d 3e 70 34 50 owsFlag.=.$isWindows;.$this->p4P
e1e40 6f 72 74 20 3d 20 24 70 6f 72 74 3b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 50 61 ort.=.$port;.$this->initializePa
e1e60 74 68 28 24 70 61 74 68 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f th($path);.$this->process.=.$pro
e1e80 63 65 73 73 3b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 24 72 65 70 6f 43 6f 6e cess;.$this->initialize($repoCon
e1ea0 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 70 75 62 6c 69 63 fig);.$this->io.=.$io;.}..public
e1ec0 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 24 72 65 70 6f 43 6f 6e .static.function.create($repoCon
e1ee0 66 69 67 2c 20 24 70 6f 72 74 2c 20 24 70 61 74 68 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 fig,.$port,.$path,.ProcessExecut
e1f00 6f 72 20 24 70 72 6f 63 65 73 73 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 29 0a 7b 0a or.$process,.IOInterface.$io).{.
e1f20 72 65 74 75 72 6e 20 6e 65 77 20 50 65 72 66 6f 72 63 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 2c return.new.Perforce($repoConfig,
e1f40 20 24 70 6f 72 74 2c 20 24 70 61 74 68 2c 20 24 70 72 6f 63 65 73 73 2c 20 50 6c 61 74 66 6f 72 .$port,.$path,.$process,.Platfor
e1f60 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 2c 20 24 69 6f 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 m::isWindows(),.$io);.}..public.
e1f80 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 53 65 72 76 65 72 45 78 69 73 74 static.function.checkServerExist
e1fa0 73 28 24 75 72 6c 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 65 73 73 s($url,.ProcessExecutor.$process
e1fc0 45 78 65 63 75 74 6f 72 29 0a 7b 0a 24 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 Executor).{.$output.=.null;..ret
e1fe0 75 72 6e 20 30 20 3d 3d 3d 20 24 70 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 2d 3e 65 78 65 63 urn.0.===.$processExecutor->exec
e2000 75 74 65 28 27 70 34 20 2d 70 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a ute('p4.-p.'...ProcessExecutor::
e2020 65 73 63 61 70 65 28 24 75 72 6c 29 20 2e 20 27 20 69 6e 66 6f 20 2d 73 27 2c 20 24 6f 75 74 70 escape($url)...'.info.-s',.$outp
e2040 75 74 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 ut);.}..public.function.initiali
e2060 7a 65 28 24 72 65 70 6f 43 6f 6e 66 69 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 6e 69 71 75 65 50 ze($repoConfig).{.$this->uniqueP
e2080 65 72 66 6f 72 63 65 43 6c 69 65 6e 74 4e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 erforceClientName.=.$this->gener
e20a0 61 74 65 55 6e 69 71 75 65 50 65 72 66 6f 72 63 65 43 6c 69 65 6e 74 4e 61 6d 65 28 29 3b 0a 69 ateUniquePerforceClientName();.i
e20c0 66 20 28 21 24 72 65 70 6f 43 6f 6e 66 69 67 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 f.(!$repoConfig).{.return;.}.if.
e20e0 28 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 75 6e 69 71 75 65 5f 70 65 72 66 6f (isset($repoConfig['unique_perfo
e2100 72 63 65 5f 63 6c 69 65 6e 74 5f 6e 61 6d 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 75 6e 69 rce_client_name'])).{.$this->uni
e2120 71 75 65 50 65 72 66 6f 72 63 65 43 6c 69 65 6e 74 4e 61 6d 65 20 3d 20 24 72 65 70 6f 43 6f 6e quePerforceClientName.=.$repoCon
e2140 66 69 67 5b 27 75 6e 69 71 75 65 5f 70 65 72 66 6f 72 63 65 5f 63 6c 69 65 6e 74 5f 6e 61 6d 65 fig['unique_perforce_client_name
e2160 27 5d 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 64 65 '];.}..if.(isset($repoConfig['de
e2180 70 6f 74 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 20 3d 20 24 72 65 70 6f pot'])).{.$this->p4Depot.=.$repo
e21a0 43 6f 6e 66 69 67 5b 27 64 65 70 6f 74 27 5d 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 Config['depot'];.}.if.(isset($re
e21c0 70 6f 43 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 poConfig['branch'])).{.$this->p4
e21e0 42 72 61 6e 63 68 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 62 72 61 6e 63 68 27 5d 3b 0a Branch.=.$repoConfig['branch'];.
e2200 7d 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 70 34 75 73 65 72 27 }.if.(isset($repoConfig['p4user'
e2220 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 55 73 65 72 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 ])).{.$this->p4User.=.$repoConfi
e2240 67 5b 27 70 34 75 73 65 72 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 34 55 g['p4user'];.}.else.{.$this->p4U
e2260 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 34 76 61 72 69 61 62 6c 65 28 27 50 34 55 53 ser.=.$this->getP4variable('P4US
e2280 45 52 27 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 70 ER');.}.if.(isset($repoConfig['p
e22a0 34 70 61 73 73 77 6f 72 64 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 50 61 73 73 77 6f 72 4password'])).{.$this->p4Passwor
e22c0 64 20 3d 20 24 72 65 70 6f 43 6f 6e 66 69 67 5b 27 70 34 70 61 73 73 77 6f 72 64 27 5d 3b 0a 7d d.=.$repoConfig['p4password'];.}
e22e0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 44 65 .}..public.function.initializeDe
e2300 70 6f 74 41 6e 64 42 72 61 6e 63 68 28 24 64 65 70 6f 74 2c 20 24 62 72 61 6e 63 68 29 0a 7b 0a potAndBranch($depot,.$branch).{.
e2320 69 66 20 28 69 73 73 65 74 28 24 64 65 70 6f 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 44 65 if.(isset($depot)).{.$this->p4De
e2340 70 6f 74 20 3d 20 24 64 65 70 6f 74 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 62 72 61 6e 63 pot.=.$depot;.}.if.(isset($branc
e2360 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 42 72 61 6e 63 68 20 3d 20 24 62 72 61 6e 63 68 3b h)).{.$this->p4Branch.=.$branch;
e2380 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 55 6e .}.}..public.function.generateUn
e23a0 69 71 75 65 50 65 72 66 6f 72 63 65 43 6c 69 65 6e 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 iquePerforceClientName().{.retur
e23c0 6e 20 67 65 74 68 6f 73 74 6e 61 6d 65 28 29 20 2e 20 22 5f 22 20 2e 20 74 69 6d 65 28 29 3b 0a n.gethostname()..."_"...time();.
e23e0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 75 70 43 6c 69 65 6e 74 }..public.function.cleanupClient
e2400 53 70 65 63 28 29 0a 7b 0a 24 63 6c 69 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 Spec().{.$client.=.$this->getCli
e2420 65 6e 74 28 29 3b 0a 24 74 61 73 6b 20 3d 20 27 63 6c 69 65 6e 74 20 2d 64 20 27 20 2e 20 50 72 ent();.$task.=.'client.-d.'...Pr
e2440 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 63 6c 69 65 6e 74 29 3b 0a ocessExecutor::escape($client);.
e2460 24 75 73 65 50 34 43 6c 69 65 6e 74 20 3d 20 66 61 6c 73 65 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d $useP4Client.=.false;.$command.=
e2480 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 24 74 61 73 6b 2c .$this->generateP4Command($task,
e24a0 20 24 75 73 65 50 34 43 6c 69 65 6e 74 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f .$useP4Client);.$this->executeCo
e24c0 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 63 6c 69 65 6e 74 53 70 65 63 20 3d 20 24 mmand($command);.$clientSpec.=.$
e24e0 74 68 69 73 2d 3e 67 65 74 50 34 43 6c 69 65 6e 74 53 70 65 63 28 29 3b 0a 24 66 69 6c 65 53 79 this->getP4ClientSpec();.$fileSy
e2500 73 74 65 6d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 stem.=.$this->getFilesystem();.$
e2520 66 69 6c 65 53 79 73 74 65 6d 2d 3e 72 65 6d 6f 76 65 28 24 63 6c 69 65 6e 74 53 70 65 63 29 3b fileSystem->remove($clientSpec);
e2540 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 43 6f .}..protected.function.executeCo
e2560 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 mmand($command).{.$this->command
e2580 52 65 73 75 6c 74 20 3d 20 27 27 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 Result.=.'';..return.$this->proc
e25a0 65 73 73 2d 3e 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 74 68 69 73 2d 3e 63 6f ess->execute($command,.$this->co
e25c0 6d 6d 61 6e 64 52 65 73 75 6c 74 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e mmandResult);.}..public.function
e25e0 20 67 65 74 43 6c 69 65 6e 74 28 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d .getClient().{.if.(!isset($this-
e2600 3e 70 34 43 6c 69 65 6e 74 29 29 20 7b 0a 24 63 6c 65 61 6e 53 74 72 65 61 6d 4e 61 6d 65 20 3d >p4Client)).{.$cleanStreamName.=
e2620 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 2f 2f 27 2c 20 27 2f 27 2c 20 27 40 .str_replace(array('//',.'/',.'@
e2640 27 29 2c 20 61 72 72 61 79 28 27 27 2c 20 27 5f 27 2c 20 27 27 29 2c 20 24 74 68 69 73 2d 3e 67 '),.array('',.'_',.''),.$this->g
e2660 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 24 74 68 69 73 2d 3e 70 34 43 6c 69 65 6e 74 20 3d 20 27 etStream());.$this->p4Client.=.'
e2680 63 6f 6d 70 6f 73 65 72 5f 70 65 72 66 6f 72 63 65 5f 27 20 2e 20 24 74 68 69 73 2d 3e 75 6e 69 composer_perforce_'...$this->uni
e26a0 71 75 65 50 65 72 66 6f 72 63 65 43 6c 69 65 6e 74 4e 61 6d 65 20 2e 20 27 5f 27 20 2e 20 24 63 quePerforceClientName...'_'...$c
e26c0 6c 65 61 6e 53 74 72 65 61 6d 4e 61 6d 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d leanStreamName;.}..return.$this-
e26e0 3e 70 34 43 6c 69 65 6e 74 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e >p4Client;.}..protected.function
e2700 20 67 65 74 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 68 3b .getPath().{.return.$this->path;
e2720 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 50 61 .}..public.function.initializePa
e2740 74 68 28 24 70 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 68 20 3d 20 24 70 61 74 68 3b th($path).{.$this->path.=.$path;
e2760 0a 24 66 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 .$fs.=.$this->getFilesystem();.$
e2780 66 73 2d 3e 65 6e 73 75 72 65 44 69 72 65 63 74 6f 72 79 45 78 69 73 74 73 28 24 70 61 74 68 29 fs->ensureDirectoryExists($path)
e27a0 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6f 72 74 28 ;.}..protected.function.getPort(
e27c0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 34 50 6f 72 74 3b 0a 7d 0a 0a 70 75 62 ).{.return.$this->p4Port;.}..pub
e27e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 72 65 61 6d 28 24 73 74 72 65 61 6d 29 0a lic.function.setStream($stream).
e2800 7b 0a 24 74 68 69 73 2d 3e 70 34 53 74 72 65 61 6d 20 3d 20 24 73 74 72 65 61 6d 3b 0a 24 69 6e {.$this->p4Stream.=.$stream;.$in
e2820 64 65 78 20 3d 20 73 74 72 72 70 6f 73 28 24 73 74 72 65 61 6d 2c 20 27 2f 27 29 3b 0a 0a 20 69 dex.=.strrpos($stream,.'/');...i
e2840 66 20 28 24 69 6e 64 65 78 20 3e 20 32 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 54 f.($index.>.2).{.$this->p4DepotT
e2860 79 70 65 20 3d 20 27 73 74 72 65 61 6d 27 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ype.=.'stream';.}.}..public.func
e2880 74 69 6f 6e 20 69 73 53 74 72 65 61 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 73 74 72 63 6d 70 tion.isStream().{.return.(strcmp
e28a0 28 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 54 79 70 65 2c 20 27 73 74 72 65 61 6d 27 29 20 3d ($this->p4DepotType,.'stream').=
e28c0 3d 3d 20 30 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 72 ==.0);.}..public.function.getStr
e28e0 65 61 6d 28 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 34 53 74 72 65 eam().{.if.(!isset($this->p4Stre
e2900 61 6d 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 53 74 72 65 61 6d 28 29 29 20 7b 0a am)).{.if.($this->isStream()).{.
e2920 24 74 68 69 73 2d 3e 70 34 53 74 72 65 61 6d 20 3d 20 27 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e $this->p4Stream.=.'//'...$this->
e2940 70 34 44 65 70 6f 74 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 70 34 42 72 61 6e 63 68 3b p4Depot...'/'...$this->p4Branch;
e2960 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 34 53 74 72 65 61 6d 20 3d 20 27 2f 2f 27 .}.else.{.$this->p4Stream.=.'//'
e2980 20 2e 20 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 ...$this->p4Depot;.}.}..return.$
e29a0 74 68 69 73 2d 3e 70 34 53 74 72 65 61 6d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 this->p4Stream;.}..public.functi
e29c0 6f 6e 20 67 65 74 53 74 72 65 61 6d 57 69 74 68 6f 75 74 4c 61 62 65 6c 28 24 73 74 72 65 61 6d on.getStreamWithoutLabel($stream
e29e0 29 0a 7b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 6f 73 28 24 73 74 72 65 61 6d 2c 20 27 40 27 ).{.$index.=.strpos($stream,.'@'
e2a00 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 72 65 74 75 72 );.if.($index.===.false).{.retur
e2a20 6e 20 24 73 74 72 65 61 6d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 73 74 72 n.$stream;.}..return.substr($str
e2a40 65 61 6d 2c 20 30 2c 20 24 69 6e 64 65 78 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 eam,.0,.$index);.}..public.funct
e2a60 69 6f 6e 20 67 65 74 50 34 43 6c 69 65 6e 74 53 70 65 63 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ion.getP4ClientSpec().{.return.$
e2a80 74 68 69 73 2d 3e 70 61 74 68 20 2e 20 27 2f 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 this->path...'/'...$this->getCli
e2aa0 65 6e 74 28 29 20 2e 20 27 2e 70 34 2e 73 70 65 63 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 ent()...'.p4.spec';.}..public.fu
e2ac0 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d nction.getUser().{.return.$this-
e2ae0 3e 70 34 55 73 65 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 >p4User;.}..public.function.setU
e2b00 73 65 72 28 24 75 73 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 34 55 73 65 72 20 3d 20 24 75 73 ser($user).{.$this->p4User.=.$us
e2b20 65 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 71 75 65 72 79 50 34 55 73 er;.}..public.function.queryP4Us
e2b40 65 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 3b 0a 69 66 20 28 73 74 72 er().{.$this->getUser();.if.(str
e2b60 6c 65 6e 28 24 74 68 69 73 2d 3e 70 34 55 73 65 72 29 20 3e 20 30 29 20 7b 0a 72 65 74 75 72 6e len($this->p4User).>.0).{.return
e2b80 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 34 55 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 34 ;.}.$this->p4User.=.$this->getP4
e2ba0 76 61 72 69 61 62 6c 65 28 27 50 34 55 53 45 52 27 29 3b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 variable('P4USER');.if.(strlen($
e2bc0 74 68 69 73 2d 3e 70 34 55 73 65 72 29 20 3e 20 30 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 this->p4User).>.0).{.return;.}.$
e2be0 74 68 69 73 2d 3e 70 34 55 73 65 72 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 45 this->p4User.=.$this->io->ask('E
e2c00 6e 74 65 72 20 50 34 20 55 73 65 72 3a 27 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 69 6e 64 nter.P4.User:');.if.($this->wind
e2c20 6f 77 73 46 6c 61 67 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 70 34 20 73 65 74 20 50 34 owsFlag).{.$command.=.'p4.set.P4
e2c40 55 53 45 52 3d 27 20 2e 20 24 74 68 69 73 2d 3e 70 34 55 73 65 72 3b 0a 7d 20 65 6c 73 65 20 7b USER='...$this->p4User;.}.else.{
e2c60 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 65 78 70 6f 72 74 20 50 34 55 53 45 52 3d 27 20 2e 20 24 .$command.=.'export.P4USER='...$
e2c80 74 68 69 73 2d 3e 70 34 55 73 65 72 3b 0a 7d 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f this->p4User;.}.$this->executeCo
e2ca0 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 mmand($command);.}..protected.fu
e2cc0 6e 63 74 69 6f 6e 20 67 65 74 50 34 76 61 72 69 61 62 6c 65 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 nction.getP4variable($name).{.if
e2ce0 20 28 24 74 68 69 73 2d 3e 77 69 6e 64 6f 77 73 46 6c 61 67 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 .($this->windowsFlag).{.$command
e2d00 20 3d 20 27 70 34 20 73 65 74 27 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 .=.'p4.set';.$this->executeComma
e2d20 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 74 72 69 6d 28 24 74 68 nd($command);.$result.=.trim($th
e2d40 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 29 3b 0a 24 72 65 73 41 72 72 61 79 20 3d 20 is->commandResult);.$resArray.=.
e2d60 65 78 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 2c 20 24 72 65 73 75 6c 74 29 3b 0a 66 6f 72 65 61 explode(PHP_EOL,.$result);.forea
e2d80 63 68 20 28 24 72 65 73 41 72 72 61 79 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 24 66 69 65 6c 64 ch.($resArray.as.$line).{.$field
e2da0 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 3d 27 2c 20 24 6c 69 6e 65 29 3b 0a 69 66 20 28 73 74 72 s.=.explode('=',.$line);.if.(str
e2dc0 63 6d 70 28 24 6e 61 6d 65 2c 20 24 66 69 65 6c 64 73 5b 30 5d 29 20 3d 3d 20 30 29 20 7b 0a 24 cmp($name,.$fields[0]).==.0).{.$
e2de0 69 6e 64 65 78 20 3d 20 73 74 72 70 6f 73 28 24 66 69 65 6c 64 73 5b 31 5d 2c 20 27 20 27 29 3b index.=.strpos($fields[1],.'.');
e2e00 0a 69 66 20 28 24 69 6e 64 65 78 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 76 61 6c 75 65 20 .if.($index.===.false).{.$value.
e2e20 3d 20 24 66 69 65 6c 64 73 5b 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 61 6c 75 65 20 3d 20 =.$fields[1];.}.else.{.$value.=.
e2e40 73 75 62 73 74 72 28 24 66 69 65 6c 64 73 5b 31 5d 2c 20 30 2c 20 24 69 6e 64 65 78 29 3b 0a 7d substr($fields[1],.0,.$index);.}
e2e60 0a 24 76 61 6c 75 65 20 3d 20 74 72 69 6d 28 24 76 61 6c 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 .$value.=.trim($value);..return.
e2e80 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 6f $value;.}.}..return.null;.}..$co
e2ea0 6d 6d 61 6e 64 20 3d 20 27 65 63 68 6f 20 24 27 20 2e 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d mmand.=.'echo.$'...$name;.$this-
e2ec0 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 >executeCommand($command);.$resu
e2ee0 6c 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 29 3b lt.=.trim($this->commandResult);
e2f00 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ..return.$result;.}..public.func
e2f20 74 69 6f 6e 20 71 75 65 72 79 50 34 50 61 73 73 77 6f 72 64 28 29 0a 7b 0a 69 66 20 28 69 73 73 tion.queryP4Password().{.if.(iss
e2f40 65 74 28 24 74 68 69 73 2d 3e 70 34 50 61 73 73 77 6f 72 64 29 29 20 7b 0a 72 65 74 75 72 6e 20 et($this->p4Password)).{.return.
e2f60 24 74 68 69 73 2d 3e 70 34 50 61 73 73 77 6f 72 64 3b 0a 7d 0a 24 70 61 73 73 77 6f 72 64 20 3d $this->p4Password;.}.$password.=
e2f80 20 24 74 68 69 73 2d 3e 67 65 74 50 34 76 61 72 69 61 62 6c 65 28 27 50 34 50 41 53 53 57 44 27 .$this->getP4variable('P4PASSWD'
e2fa0 29 3b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 70 61 73 73 77 6f 72 64 29 20 3c 3d 20 30 29 20 7b );.if.(strlen($password).<=.0).{
e2fc0 0a 24 70 61 73 73 77 6f 72 64 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 .$password.=.$this->io->askAndHi
e2fe0 64 65 41 6e 73 77 65 72 28 27 45 6e 74 65 72 20 70 61 73 73 77 6f 72 64 20 66 6f 72 20 50 65 72 deAnswer('Enter.password.for.Per
e3000 66 6f 72 63 65 20 75 73 65 72 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 20 force.user.'...$this->getUser().
e3020 2e 20 27 3a 20 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 34 50 61 73 73 77 6f 72 64 20 3d 20 24 ..':.');.}.$this->p4Password.=.$
e3040 70 61 73 73 77 6f 72 64 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 73 73 77 6f 72 64 3b 0a 7d 0a 0a password;..return.$password;.}..
e3060 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e public.function.generateP4Comman
e3080 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 75 73 65 43 6c 69 65 6e 74 20 3d 20 74 72 75 65 29 0a 7b d($command,.$useClient.=.true).{
e30a0 0a 24 70 34 43 6f 6d 6d 61 6e 64 20 3d 20 27 70 34 20 27 3b 0a 24 70 34 43 6f 6d 6d 61 6e 64 20 .$p4Command.=.'p4.';.$p4Command.
e30c0 2e 3d 20 27 2d 75 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 20 2e 20 27 20 .=.'-u.'...$this->getUser()...'.
e30e0 27 3b 0a 69 66 20 28 24 75 73 65 43 6c 69 65 6e 74 29 20 7b 0a 24 70 34 43 6f 6d 6d 61 6e 64 20 ';.if.($useClient).{.$p4Command.
e3100 2e 3d 20 27 2d 63 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 65 6e 74 28 29 20 2e 20 .=.'-c.'...$this->getClient()...
e3120 27 20 27 3b 0a 7d 0a 24 70 34 43 6f 6d 6d 61 6e 64 20 3d 20 24 70 34 43 6f 6d 6d 61 6e 64 20 2e '.';.}.$p4Command.=.$p4Command..
e3140 20 27 2d 70 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 50 6f 72 74 28 29 20 2e 20 27 20 27 20 .'-p.'...$this->getPort()...'.'.
e3160 2e 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 72 65 74 75 72 6e 20 24 70 34 43 6f 6d 6d 61 6e 64 3b 0a ..$command;..return.$p4Command;.
e3180 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4c 6f 67 67 65 64 49 6e 28 29 0a }..public.function.isLoggedIn().
e31a0 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f {.$command.=.$this->generateP4Co
e31c0 6d 6d 61 6e 64 28 27 6c 6f 67 69 6e 20 2d 73 27 2c 20 66 61 6c 73 65 29 3b 0a 24 65 78 69 74 43 mmand('login.-s',.false);.$exitC
e31e0 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d ode.=.$this->executeCommand($com
e3200 6d 61 6e 64 29 3b 0a 69 66 20 28 24 65 78 69 74 43 6f 64 65 29 20 7b 0a 24 65 72 72 6f 72 4f 75 mand);.if.($exitCode).{.$errorOu
e3220 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f tput.=.$this->process->getErrorO
e3240 75 74 70 75 74 28 29 3b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 4f utput();.$index.=.strpos($errorO
e3260 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 29 3b 0a 69 66 20 28 24 69 utput,.$this->getUser());.if.($i
e3280 6e 64 65 78 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 6f ndex.===.false).{.$index.=.strpo
e32a0 73 28 24 65 72 72 6f 72 4f 75 74 70 75 74 2c 20 27 70 34 27 29 3b 0a 69 66 20 28 24 69 6e 64 65 s($errorOutput,.'p4');.if.($inde
e32c0 78 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 74 x.===.false).{.return.false;.}.t
e32e0 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 70 34 20 63 6f 6d 6d 61 6e 64 20 hrow.new.\Exception('p4.command.
e3300 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 70 61 74 68 3a 20 27 20 2e 20 24 65 72 72 6f 72 4f 75 74 not.found.in.path:.'...$errorOut
e3320 70 75 74 29 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 27 49 6e put);.}.throw.new.\Exception('In
e3340 76 61 6c 69 64 20 75 73 65 72 20 6e 61 6d 65 3a 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 55 valid.user.name:.'...$this->getU
e3360 73 65 72 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 ser());.}..return.true;.}..publi
e3380 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 6e 65 63 74 43 6c 69 65 6e 74 28 29 0a 7b 0a 24 70 34 c.function.connectClient().{.$p4
e33a0 43 72 65 61 74 65 43 6c 69 65 6e 74 43 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e CreateClientCommand.=.$this->gen
e33c0 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 0a 27 63 6c 69 65 6e 74 20 2d 69 20 3c 20 27 20 2e erateP4Command(.'client.-i.<.'..
e33e0 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 20 22 2c 20 22 5c 5c 20 22 2c 20 24 74 68 69 73 2d 3e .str_replace(".",."\\.",.$this->
e3400 67 65 74 50 34 43 6c 69 65 6e 74 53 70 65 63 28 29 29 0a 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 getP4ClientSpec()).);.$this->exe
e3420 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 70 34 43 72 65 61 74 65 43 6c 69 65 6e 74 43 6f 6d 6d 61 cuteCommand($p4CreateClientComma
e3440 6e 64 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 79 6e 63 43 6f 64 65 nd);.}..public.function.syncCode
e3460 42 61 73 65 28 24 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 29 0a 7b 0a 24 70 72 65 76 44 69 Base($sourceReference).{.$prevDi
e3480 72 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 63 68 64 69 72 28 24 74 68 69 73 2d 3e 70 61 74 68 29 r.=.getcwd();.chdir($this->path)
e34a0 3b 0a 24 70 34 53 79 6e 63 43 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 ;.$p4SyncCommand.=.$this->genera
e34c0 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 73 79 6e 63 20 2d 66 20 27 29 3b 0a 69 66 20 28 6e 75 6c teP4Command('sync.-f.');.if.(nul
e34e0 6c 20 21 3d 3d 20 24 73 6f 75 72 63 65 52 65 66 65 72 65 6e 63 65 29 20 7b 0a 24 70 34 53 79 6e l.!==.$sourceReference).{.$p4Syn
e3500 63 43 6f 6d 6d 61 6e 64 20 2e 3d 20 27 40 27 20 2e 20 24 73 6f 75 72 63 65 52 65 66 65 72 65 6e cCommand..=.'@'...$sourceReferen
e3520 63 65 3b 0a 7d 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 70 34 53 ce;.}.$this->executeCommand($p4S
e3540 79 6e 63 43 6f 6d 6d 61 6e 64 29 3b 0a 63 68 64 69 72 28 24 70 72 65 76 44 69 72 29 3b 0a 7d 0a yncCommand);.chdir($prevDir);.}.
e3560 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 43 6c 69 65 6e 74 53 70 65 63 .public.function.writeClientSpec
e3580 54 6f 46 69 6c 65 28 24 73 70 65 63 29 0a 7b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 43 ToFile($spec).{.fwrite($spec,.'C
e35a0 6c 69 65 6e 74 3a 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 65 6e 74 28 29 20 2e 20 lient:.'...$this->getClient()...
e35c0 50 48 50 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 PHP_EOL...PHP_EOL);.fwrite($spec
e35e0 2c 20 27 55 70 64 61 74 65 3a 20 27 20 2e 20 64 61 74 65 28 27 59 2f 6d 2f 64 20 48 3a 69 3a 73 ,.'Update:.'...date('Y/m/d.H:i:s
e3600 27 29 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 ')...PHP_EOL...PHP_EOL);.fwrite(
e3620 24 73 70 65 63 2c 20 27 41 63 63 65 73 73 3a 20 27 20 2e 20 64 61 74 65 28 27 59 2f 6d 2f 64 20 $spec,.'Access:.'...date('Y/m/d.
e3640 48 3a 69 3a 73 27 29 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 H:i:s')...PHP_EOL);.fwrite($spec
e3660 2c 20 27 4f 77 6e 65 72 3a 20 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 20 ,.'Owner:..'...$this->getUser().
e3680 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 ..PHP_EOL...PHP_EOL);.fwrite($sp
e36a0 65 63 2c 20 27 44 65 73 63 72 69 70 74 69 6f 6e 3a 27 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 ec,.'Description:'...PHP_EOL);.f
e36c0 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 20 20 43 72 65 61 74 65 64 20 62 79 20 27 20 2e 20 24 write($spec,.'..Created.by.'...$
e36e0 74 68 69 73 2d 3e 67 65 74 55 73 65 72 28 29 20 2e 20 27 20 66 72 6f 6d 20 63 6f 6d 70 6f 73 65 this->getUser()...'.from.compose
e3700 72 2e 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 r.'...PHP_EOL...PHP_EOL);.fwrite
e3720 28 24 73 70 65 63 2c 20 27 52 6f 6f 74 3a 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 ($spec,.'Root:.'...$this->getPat
e3740 68 28 29 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 h()...PHP_EOL...PHP_EOL);.fwrite
e3760 28 24 73 70 65 63 2c 20 27 4f 70 74 69 6f 6e 73 3a 20 20 6e 6f 61 6c 6c 77 72 69 74 65 20 6e 6f ($spec,.'Options:..noallwrite.no
e3780 63 6c 6f 62 62 65 72 20 6e 6f 63 6f 6d 70 72 65 73 73 20 75 6e 6c 6f 63 6b 65 64 20 6d 6f 64 74 clobber.nocompress.unlocked.modt
e37a0 69 6d 65 20 72 6d 64 69 72 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b ime.rmdir'...PHP_EOL...PHP_EOL);
e37c0 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 53 75 62 6d 69 74 4f 70 74 69 6f 6e 73 3a 20 20 .fwrite($spec,.'SubmitOptions:..
e37e0 72 65 76 65 72 74 75 6e 63 68 61 6e 67 65 64 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 50 48 50 revertunchanged'...PHP_EOL...PHP
e3800 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 28 24 73 70 65 63 2c 20 27 4c 69 6e 65 45 6e 64 3a 20 20 _EOL);.fwrite($spec,.'LineEnd:..
e3820 6c 6f 63 61 6c 27 20 2e 20 50 48 50 5f 45 4f 4c 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 69 66 20 local'...PHP_EOL...PHP_EOL);.if.
e3840 28 24 74 68 69 73 2d 3e 69 73 53 74 72 65 61 6d 28 29 29 20 7b 0a 66 77 72 69 74 65 28 24 73 70 ($this->isStream()).{.fwrite($sp
e3860 65 63 2c 20 27 53 74 72 65 61 6d 3a 27 20 2e 20 50 48 50 5f 45 4f 4c 29 3b 0a 66 77 72 69 74 65 ec,.'Stream:'...PHP_EOL);.fwrite
e3880 28 24 73 70 65 63 2c 20 27 20 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 53 74 72 65 61 6d 57 ($spec,.'..'...$this->getStreamW
e38a0 69 74 68 6f 75 74 4c 61 62 65 6c 28 24 74 68 69 73 2d 3e 70 34 53 74 72 65 61 6d 29 20 2e 20 50 ithoutLabel($this->p4Stream)...P
e38c0 48 50 5f 45 4f 4c 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 77 72 69 74 65 28 0a 24 73 70 65 63 2c HP_EOL);.}.else.{.fwrite(.$spec,
e38e0 0a 27 56 69 65 77 3a 20 20 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 20 .'View:..'...$this->getStream().
e3900 2e 20 27 2f 2e 2e 2e 20 20 2f 2f 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 43 6c 69 65 6e 74 28 ..'/.....//'...$this->getClient(
e3920 29 20 2e 20 27 2f 2e 2e 2e 20 27 20 2e 20 50 48 50 5f 45 4f 4c 0a 29 3b 0a 7d 0a 7d 0a 0a 70 75 )...'/....'...PHP_EOL.);.}.}..pu
e3940 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 50 34 43 6c 69 65 6e 74 53 70 65 63 28 blic.function.writeP4ClientSpec(
e3960 29 0a 7b 0a 24 63 6c 69 65 6e 74 53 70 65 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 34 43 6c ).{.$clientSpec.=.$this->getP4Cl
e3980 69 65 6e 74 53 70 65 63 28 29 3b 0a 24 73 70 65 63 20 3d 20 66 6f 70 65 6e 28 24 63 6c 69 65 6e ientSpec();.$spec.=.fopen($clien
e39a0 74 53 70 65 63 2c 20 27 77 27 29 3b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 43 tSpec,.'w');.try.{.$this->writeC
e39c0 6c 69 65 6e 74 53 70 65 63 54 6f 46 69 6c 65 28 24 73 70 65 63 29 3b 0a 7d 20 63 61 74 63 68 20 lientSpecToFile($spec);.}.catch.
e39e0 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 66 63 6c 6f 73 65 28 24 73 70 65 63 29 3b (\Exception.$e).{.fclose($spec);
e3a00 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 66 63 6c 6f 73 65 28 24 73 70 65 63 29 3b 0a 7d 0a 0a 70 .throw.$e;.}.fclose($spec);.}..p
e3a20 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 28 24 70 69 70 65 2c 20 24 6e rotected.function.read($pipe,.$n
e3a40 61 6d 65 29 0a 7b 0a 69 66 20 28 66 65 6f 66 28 24 70 69 70 65 29 29 20 7b 0a 72 65 74 75 72 6e ame).{.if.(feof($pipe)).{.return
e3a60 3b 0a 7d 0a 24 6c 69 6e 65 20 3d 20 66 67 65 74 73 28 24 70 69 70 65 29 3b 0a 77 68 69 6c 65 20 ;.}.$line.=.fgets($pipe);.while.
e3a80 28 24 6c 69 6e 65 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 6c 69 6e 65 20 3d 20 66 67 65 74 ($line.!==.false).{.$line.=.fget
e3aa0 73 28 24 70 69 70 65 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 s($pipe);.}.}..public.function.w
e3ac0 69 6e 64 6f 77 73 4c 6f 67 69 6e 28 24 70 61 73 73 77 6f 72 64 29 0a 7b 0a 24 63 6f 6d 6d 61 6e indowsLogin($password).{.$comman
e3ae0 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 20 6c d.=.$this->generateP4Command('.l
e3b00 6f 67 69 6e 20 2d 61 27 29 3b 0a 0a 0a 20 69 66 20 28 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 ogin.-a');....if.(method_exists(
e3b20 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 'Symfony\Component\Process\Proce
e3b40 73 73 27 2c 20 27 66 72 6f 6d 53 68 65 6c 6c 43 6f 6d 6d 61 6e 64 6c 69 6e 65 27 29 29 20 7b 0a ss',.'fromShellCommandline')).{.
e3b60 24 70 72 6f 63 65 73 73 20 3d 20 50 72 6f 63 65 73 73 3a 3a 66 72 6f 6d 53 68 65 6c 6c 43 6f 6d $process.=.Process::fromShellCom
e3b80 6d 61 6e 64 6c 69 6e 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 24 mandline($command,.null,.null,.$
e3ba0 70 61 73 73 77 6f 72 64 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e password);.}.else.{.$process.=.n
e3bc0 65 77 20 50 72 6f 63 65 73 73 28 24 63 6f 6d 6d 61 6e 64 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c ew.Process($command,.null,.null,
e3be0 20 24 70 61 73 73 77 6f 72 64 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 2d .$password);.}..return.$process-
e3c00 3e 72 75 6e 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 34 4c 6f 67 >run();.}..public.function.p4Log
e3c20 69 6e 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 71 75 65 72 79 50 34 55 73 65 72 28 29 3b 0a 69 66 20 in().{.$this->queryP4User();.if.
e3c40 28 21 24 74 68 69 73 2d 3e 69 73 4c 6f 67 67 65 64 49 6e 28 29 29 20 7b 0a 24 70 61 73 73 77 6f (!$this->isLoggedIn()).{.$passwo
e3c60 72 64 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 72 79 50 34 50 61 73 73 77 6f 72 64 28 29 3b 0a 69 rd.=.$this->queryP4Password();.i
e3c80 66 20 28 24 74 68 69 73 2d 3e 77 69 6e 64 6f 77 73 46 6c 61 67 29 20 7b 0a 24 74 68 69 73 2d 3e f.($this->windowsFlag).{.$this->
e3ca0 77 69 6e 64 6f 77 73 4c 6f 67 69 6e 28 24 70 61 73 73 77 6f 72 64 29 3b 0a 7d 20 65 6c 73 65 20 windowsLogin($password);.}.else.
e3cc0 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 27 65 63 68 6f 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 {.$command.=.'echo.'...ProcessEx
e3ce0 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 73 73 77 6f 72 64 29 20 2e 20 27 20 7c 20 ecutor::escape($password)...'.|.
e3d00 27 20 2e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 20 6c '...$this->generateP4Command('.l
e3d20 6f 67 69 6e 20 2d 61 27 2c 20 66 61 6c 73 65 29 3b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 74 ogin.-a',.false);.$exitCode.=.$t
e3d40 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 his->executeCommand($command);.$
e3d60 72 65 73 75 6c 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 result.=.trim($this->commandResu
e3d80 6c 74 29 3b 0a 69 66 20 28 24 65 78 69 74 43 6f 64 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 lt);.if.($exitCode).{.throw.new.
e3da0 5c 45 78 63 65 70 74 69 6f 6e 28 22 45 72 72 6f 72 20 6c 6f 67 67 69 6e 67 20 69 6e 3a 22 20 2e \Exception("Error.logging.in:"..
e3dc0 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 .$this->process->getErrorOutput(
e3de0 29 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ));.}.}.}.}..public.function.get
e3e00 43 6f 6d 70 6f 73 65 72 49 6e 66 6f 72 6d 61 74 69 6f 6e 28 24 69 64 65 6e 74 69 66 69 65 72 29 ComposerInformation($identifier)
e3e20 0a 7b 0a 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d .{.$composerFileContent.=.$this-
e3e40 3e 67 65 74 46 69 6c 65 43 6f 6e 74 65 6e 74 28 27 63 6f 6d 70 6f 73 65 72 2e 6a 73 6f 6e 27 2c >getFileContent('composer.json',
e3e60 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 21 24 63 6f 6d 70 6f 73 65 72 46 69 .$identifier);..if.(!$composerFi
e3e80 6c 65 43 6f 6e 74 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6a leContent).{.return;.}..return.j
e3ea0 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 6f 6d 70 6f 73 65 72 46 69 6c 65 43 6f 6e 74 65 6e 74 2c son_decode($composerFileContent,
e3ec0 20 74 72 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 .true);.}..public.function.getFi
e3ee0 6c 65 43 6f 6e 74 65 6e 74 28 24 66 69 6c 65 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a leContent($file,.$identifier).{.
e3f00 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 50 61 74 68 28 24 66 69 6c 65 $path.=.$this->getFilePath($file
e3f20 2c 20 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 ,.$identifier);..$command.=.$thi
e3f40 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 20 70 72 69 6e 74 20 27 20 2e s->generateP4Command('.print.'..
e3f60 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 74 68 29 29 .ProcessExecutor::escape($path))
e3f80 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 ;.$this->executeCommand($command
e3fa0 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c );.$result.=.$this->commandResul
e3fc0 74 3b 0a 0a 69 66 20 28 21 74 72 69 6d 28 24 72 65 73 75 6c 74 29 29 20 7b 0a 72 65 74 75 72 6e t;..if.(!trim($result)).{.return
e3fe0 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 75 62 .null;.}..return.$result;.}..pub
e4000 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 50 61 74 68 28 24 66 69 6c 65 2c 20 lic.function.getFilePath($file,.
e4020 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 6f 73 28 24 $identifier).{.$index.=.strpos($
e4040 69 64 65 6e 74 69 66 69 65 72 2c 20 27 40 27 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 20 3d 3d 3d identifier,.'@');.if.($index.===
e4060 20 66 61 6c 73 65 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 69 64 65 6e 74 69 66 69 65 72 2e 20 27 .false).{.$path.=.$identifier..'
e4080 2f 27 20 2e 20 24 66 69 6c 65 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 24 70 /'...$file;..return.$path;.}..$p
e40a0 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 30 2c 20 24 69 6e ath.=.substr($identifier,.0,.$in
e40c0 64 65 78 29 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 20 2e 20 73 75 62 73 74 72 28 24 69 64 65 dex)...'/'...$file...substr($ide
e40e0 6e 74 69 66 69 65 72 2c 20 24 69 6e 64 65 78 29 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 ntifier,.$index);.$command.=.$th
e4100 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 20 66 69 6c 65 73 20 27 20 is->generateP4Command('.files.'.
e4120 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 70 61 74 68 29 ..ProcessExecutor::escape($path)
e4140 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 ,.false);.$this->executeCommand(
e4160 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d $command);.$result.=.$this->comm
e4180 61 6e 64 52 65 73 75 6c 74 3b 0a 24 69 6e 64 65 78 32 20 3d 20 73 74 72 70 6f 73 28 24 72 65 73 andResult;.$index2.=.strpos($res
e41a0 75 6c 74 2c 20 27 6e 6f 20 73 75 63 68 20 66 69 6c 65 28 73 29 2e 27 29 3b 0a 69 66 20 28 24 69 ult,.'no.such.file(s).');.if.($i
e41c0 6e 64 65 78 32 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 69 6e 64 65 78 33 20 3d 20 73 74 72 ndex2.===.false).{.$index3.=.str
e41e0 70 6f 73 28 24 72 65 73 75 6c 74 2c 20 27 63 68 61 6e 67 65 27 29 3b 0a 69 66 20 28 24 69 6e 64 pos($result,.'change');.if.($ind
e4200 65 78 33 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 70 68 72 61 73 65 20 3d 20 74 72 69 6d 28 ex3.!==.false).{.$phrase.=.trim(
e4220 73 75 62 73 74 72 28 24 72 65 73 75 6c 74 2c 20 24 69 6e 64 65 78 33 29 29 3b 0a 24 66 69 65 6c substr($result,.$index3));.$fiel
e4240 64 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 70 68 72 61 73 65 29 3b 0a 0a 72 65 74 ds.=.explode('.',.$phrase);..ret
e4260 75 72 6e 20 73 75 62 73 74 72 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 30 2c 20 24 69 6e 64 65 urn.substr($identifier,.0,.$inde
e4280 78 29 20 2e 20 27 2f 27 20 2e 20 24 66 69 6c 65 20 2e 20 27 40 27 20 2e 20 24 66 69 65 6c 64 73 x)...'/'...$file...'@'...$fields
e42a0 5b 31 5d 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 75 62 6c 69 63 [1];.}.}..return.null;.}..public
e42c0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 72 61 6e 63 68 65 73 28 29 0a 7b 0a 24 70 6f 73 73 69 .function.getBranches().{.$possi
e42e0 62 6c 65 42 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 21 24 74 68 69 bleBranches.=.array();.if.(!$thi
e4300 73 2d 3e 69 73 53 74 72 65 61 6d 28 29 29 20 7b 0a 24 70 6f 73 73 69 62 6c 65 42 72 61 6e 63 68 s->isStream()).{.$possibleBranch
e4320 65 73 5b 24 74 68 69 73 2d 3e 70 34 42 72 61 6e 63 68 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 es[$this->p4Branch].=.$this->get
e4340 53 74 72 65 61 6d 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 Stream();.}.else.{.$command.=.$t
e4360 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 73 74 72 65 61 6d 73 20 his->generateP4Command('streams.
e4380 27 2e 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 27 2f 2f 27 20 2e '.ProcessExecutor::escape('//'..
e43a0 20 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 20 2e 20 27 2f 2e 2e 2e 27 29 29 3b 0a 24 74 68 69 .$this->p4Depot...'/...'));.$thi
e43c0 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 s->executeCommand($command);.$re
e43e0 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 24 72 65 sult.=.$this->commandResult;.$re
e4400 73 41 72 72 61 79 20 3d 20 65 78 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 2c 20 24 72 65 73 75 6c sArray.=.explode(PHP_EOL,.$resul
e4420 74 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 65 73 41 72 72 61 79 20 61 73 20 24 6c 69 6e 65 29 t);.foreach.($resArray.as.$line)
e4440 20 7b 0a 24 72 65 73 42 69 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 6c 69 6e 65 .{.$resBits.=.explode('.',.$line
e4460 29 3b 0a 69 66 20 28 63 6f 75 6e 74 28 24 72 65 73 42 69 74 73 29 20 3e 20 34 29 20 7b 0a 24 62 );.if.(count($resBits).>.4).{.$b
e4480 72 61 6e 63 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5b 5e 41 2d 5a 61 2d 7a 30 ranch.=.preg_replace('/[^A-Za-z0
e44a0 2d 39 20 5d 2f 27 2c 20 27 27 2c 20 24 72 65 73 42 69 74 73 5b 34 5d 29 3b 0a 24 70 6f 73 73 69 -9.]/',.'',.$resBits[4]);.$possi
e44c0 62 6c 65 42 72 61 6e 63 68 65 73 5b 24 62 72 61 6e 63 68 5d 20 3d 20 24 72 65 73 42 69 74 73 5b bleBranches[$branch].=.$resBits[
e44e0 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 1];.}.}.}.$command.=.$this->gene
e4500 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 63 68 61 6e 67 65 73 20 27 2e 20 50 72 6f 63 65 73 rateP4Command('changes.'..Proces
e4520 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 68 69 73 2d 3e 67 65 74 53 74 72 65 sExecutor::escape($this->getStre
e4540 61 6d 28 29 20 2e 20 27 2f 2e 2e 2e 27 29 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 65 am()...'/...'),.false);.$this->e
e4560 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 xecuteCommand($command);.$result
e4580 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 24 72 65 73 41 72 72 .=.$this->commandResult;.$resArr
e45a0 61 79 20 3d 20 65 78 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 2c 20 24 72 65 73 75 6c 74 29 3b 0a ay.=.explode(PHP_EOL,.$result);.
e45c0 24 6c 61 73 74 43 6f 6d 6d 69 74 20 3d 20 24 72 65 73 41 72 72 61 79 5b 30 5d 3b 0a 24 6c 61 73 $lastCommit.=.$resArray[0];.$las
e45e0 74 43 6f 6d 6d 69 74 41 72 72 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 6c 61 73 74 43 tCommitArr.=.explode('.',.$lastC
e4600 6f 6d 6d 69 74 29 3b 0a 24 6c 61 73 74 43 6f 6d 6d 69 74 4e 75 6d 20 3d 20 24 6c 61 73 74 43 6f ommit);.$lastCommitNum.=.$lastCo
e4620 6d 6d 69 74 41 72 72 5b 31 5d 3b 0a 0a 24 62 72 61 6e 63 68 65 73 20 3d 20 61 72 72 61 79 28 27 mmitArr[1];..$branches.=.array('
e4640 6d 61 73 74 65 72 27 20 3d 3e 20 24 70 6f 73 73 69 62 6c 65 42 72 61 6e 63 68 65 73 5b 24 74 68 master'.=>.$possibleBranches[$th
e4660 69 73 2d 3e 70 34 42 72 61 6e 63 68 5d 20 2e 20 27 40 27 2e 20 24 6c 61 73 74 43 6f 6d 6d 69 74 is->p4Branch]...'@'..$lastCommit
e4680 4e 75 6d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 62 72 61 6e 63 68 65 73 3b 0a 7d 0a 0a 70 75 62 6c Num);..return.$branches;.}..publ
e46a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 67 73 28 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 ic.function.getTags().{.$command
e46c0 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 6c 61 62 .=.$this->generateP4Command('lab
e46e0 65 6c 73 27 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f els');.$this->executeCommand($co
e4700 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 mmand);.$result.=.$this->command
e4720 52 65 73 75 6c 74 3b 0a 24 72 65 73 41 72 72 61 79 20 3d 20 65 78 70 6c 6f 64 65 28 50 48 50 5f Result;.$resArray.=.explode(PHP_
e4740 45 4f 4c 2c 20 24 72 65 73 75 6c 74 29 3b 0a 24 74 61 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a EOL,.$result);.$tags.=.array();.
e4760 66 6f 72 65 61 63 68 20 28 24 72 65 73 41 72 72 61 79 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 69 foreach.($resArray.as.$line).{.i
e4780 66 20 28 73 74 72 70 6f 73 28 24 6c 69 6e 65 2c 20 27 4c 61 62 65 6c 27 29 20 21 3d 3d 20 66 61 f.(strpos($line,.'Label').!==.fa
e47a0 6c 73 65 29 20 7b 0a 24 66 69 65 6c 64 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 6c lse).{.$fields.=.explode('.',.$l
e47c0 69 6e 65 29 3b 0a 24 74 61 67 73 5b 24 66 69 65 6c 64 73 5b 31 5d 5d 20 3d 20 24 74 68 69 73 2d ine);.$tags[$fields[1]].=.$this-
e47e0 3e 67 65 74 53 74 72 65 61 6d 28 29 20 2e 20 27 40 27 20 2e 20 24 66 69 65 6c 64 73 5b 31 5d 3b >getStream()...'@'...$fields[1];
e4800 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 61 67 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 .}.}..return.$tags;.}..public.fu
e4820 6e 63 74 69 6f 6e 20 63 68 65 63 6b 53 74 72 65 61 6d 28 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 20 nction.checkStream().{.$command.
e4840 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 64 65 70 6f =.$this->generateP4Command('depo
e4860 74 73 27 2c 20 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d 61 ts',.false);.$this->executeComma
e4880 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 63 nd($command);.$result.=.$this->c
e48a0 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 24 72 65 73 41 72 72 61 79 20 3d 20 65 78 70 6c 6f 64 ommandResult;.$resArray.=.explod
e48c0 65 28 50 48 50 5f 45 4f 4c 2c 20 24 72 65 73 75 6c 74 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 e(PHP_EOL,.$result);.foreach.($r
e48e0 65 73 41 72 72 61 79 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 esArray.as.$line).{.if.(strpos($
e4900 6c 69 6e 65 2c 20 27 44 65 70 6f 74 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 66 69 65 line,.'Depot').!==.false).{.$fie
e4920 6c 64 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 20 27 2c 20 24 6c 69 6e 65 29 3b 0a 69 66 20 28 73 lds.=.explode('.',.$line);.if.(s
e4940 74 72 63 6d 70 28 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 2c 20 24 66 69 65 6c 64 73 5b 31 5d trcmp($this->p4Depot,.$fields[1]
e4960 29 20 3d 3d 3d 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 70 34 44 65 70 6f 74 54 79 70 65 20 3d 20 ).===.0).{.$this->p4DepotType.=.
e4980 24 66 69 65 6c 64 73 5b 33 5d 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 53 74 72 $fields[3];..return.$this->isStr
e49a0 65 61 6d 28 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a eam();.}.}.}..return.false;.}...
e49c0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 61 6e 67 65 4c ...protected.function.getChangeL
e49e0 69 73 74 28 24 72 65 66 65 72 65 6e 63 65 29 0a 7b 0a 24 69 6e 64 65 78 20 3d 20 73 74 72 70 6f ist($reference).{.$index.=.strpo
e4a00 73 28 24 72 65 66 65 72 65 6e 63 65 2c 20 27 40 27 29 3b 0a 69 66 20 28 24 69 6e 64 65 78 20 3d s($reference,.'@');.if.($index.=
e4a20 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 6c 61 62 65 ==.false).{.return.null;.}.$labe
e4a40 6c 20 3d 20 73 75 62 73 74 72 28 24 72 65 66 65 72 65 6e 63 65 2c 20 24 69 6e 64 65 78 29 3b 0a l.=.substr($reference,.$index);.
e4a60 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d $command.=.$this->generateP4Comm
e4a80 61 6e 64 28 27 20 63 68 61 6e 67 65 73 20 2d 6d 31 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 and('.changes.-m1.'...ProcessExe
e4aa0 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 6c 61 62 65 6c 29 29 3b 0a 24 74 68 69 73 2d 3e 65 cutor::escape($label));.$this->e
e4ac0 78 65 63 75 74 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 63 68 61 6e 67 65 xecuteCommand($command);.$change
e4ae0 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 69 66 20 28 73 74 s.=.$this->commandResult;.if.(st
e4b00 72 70 6f 73 28 24 63 68 61 6e 67 65 73 2c 20 27 43 68 61 6e 67 65 27 29 20 21 3d 3d 20 30 29 20 rpos($changes,.'Change').!==.0).
e4b20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 66 69 65 6c 64 73 20 3d 20 65 78 70 6c 6f {.return.null;.}.$fields.=.explo
e4b40 64 65 28 27 20 27 2c 20 24 63 68 61 6e 67 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 66 69 65 6c de('.',.$changes);..return.$fiel
e4b60 64 73 5b 31 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 ds[1];.}.......public.function.g
e4b80 65 74 43 6f 6d 6d 69 74 4c 6f 67 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 24 74 6f etCommitLogs($fromReference,.$to
e4ba0 52 65 66 65 72 65 6e 63 65 29 0a 7b 0a 24 66 72 6f 6d 43 68 61 6e 67 65 4c 69 73 74 20 3d 20 24 Reference).{.$fromChangeList.=.$
e4bc0 74 68 69 73 2d 3e 67 65 74 43 68 61 6e 67 65 4c 69 73 74 28 24 66 72 6f 6d 52 65 66 65 72 65 6e this->getChangeList($fromReferen
e4be0 63 65 29 3b 0a 69 66 20 28 24 66 72 6f 6d 43 68 61 6e 67 65 4c 69 73 74 20 3d 3d 3d 20 6e 75 6c ce);.if.($fromChangeList.===.nul
e4c00 6c 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 74 6f 43 68 61 6e 67 65 4c 69 73 l).{.return.null;.}.$toChangeLis
e4c20 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 68 61 6e 67 65 4c 69 73 74 28 24 74 6f 52 65 66 65 t.=.$this->getChangeList($toRefe
e4c40 72 65 6e 63 65 29 3b 0a 69 66 20 28 24 74 6f 43 68 61 6e 67 65 4c 69 73 74 20 3d 3d 3d 20 6e 75 rence);.if.($toChangeList.===.nu
e4c60 6c 6c 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 24 69 6e 64 65 78 20 3d 20 73 74 ll).{.return.null;.}.$index.=.st
e4c80 72 70 6f 73 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 27 40 27 29 3b 0a 24 6d 61 69 6e rpos($fromReference,.'@');.$main
e4ca0 20 3d 20 73 75 62 73 74 72 28 24 66 72 6f 6d 52 65 66 65 72 65 6e 63 65 2c 20 30 2c 20 24 69 6e .=.substr($fromReference,.0,.$in
e4cc0 64 65 78 29 20 2e 20 27 2f 2e 2e 2e 27 3b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d dex)...'/...';.$command.=.$this-
e4ce0 3e 67 65 6e 65 72 61 74 65 50 34 43 6f 6d 6d 61 6e 64 28 27 66 69 6c 65 6c 6f 67 20 27 20 2e 20 >generateP4Command('filelog.'...
e4d00 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 6d 61 69 6e 20 2e 20 ProcessExecutor::escape($main...
e4d20 27 40 27 20 2e 20 24 66 72 6f 6d 43 68 61 6e 67 65 4c 69 73 74 2e 20 27 2c 27 20 2e 20 24 74 6f '@'...$fromChangeList..','...$to
e4d40 43 68 61 6e 67 65 4c 69 73 74 29 29 3b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 43 6f 6d 6d ChangeList));.$this->executeComm
e4d60 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f and($command);..return.$this->co
e4d80 6d 6d 61 6e 64 52 65 73 75 6c 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 mmandResult;.}..public.function.
e4da0 67 65 74 46 69 6c 65 73 79 73 74 65 6d 28 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 getFilesystem().{.if.(empty($thi
e4dc0 73 2d 3e 66 69 6c 65 73 79 73 74 65 6d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 s->filesystem)).{.$this->filesys
e4de0 74 65 6d 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 24 74 68 69 73 2d 3e 70 72 6f 63 tem.=.new.Filesystem($this->proc
e4e00 65 73 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 79 73 74 65 ess);.}..return.$this->filesyste
e4e20 6d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 69 6c 65 73 79 73 m;.}..public.function.setFilesys
e4e40 74 65 6d 28 46 69 6c 65 73 79 73 74 65 6d 20 24 66 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c tem(Filesystem.$fs).{.$this->fil
e4e60 65 73 79 73 74 65 6d 20 3d 20 24 66 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a esystem.=.$fs;.}.}.<?php........
e4e80 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 0a 0a ....namespace.Composer\Util;....
e4ea0 0a 0a 0a 63 6c 61 73 73 20 50 6c 61 74 66 6f 72 6d 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ...class.Platform.{.......public
e4ec0 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 61 6e 64 50 61 74 68 28 24 70 61 74 .static.function.expandPath($pat
e4ee0 68 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 7e 5b 5c 5c 2f 5d 23 27 2c h).{.if.(preg_match('#^~[\\/]#',
e4f00 20 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 67 65 74 55 73 65 72 44 .$path)).{.return.self::getUserD
e4f20 69 72 65 63 74 6f 72 79 28 29 20 2e 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 31 29 3b 0a 7d irectory()...substr($path,.1);.}
e4f40 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 ..return.preg_replace_callback('
e4f60 23 5e 28 5c 24 7c 28 3f 50 3c 70 65 72 63 65 6e 74 3e 25 29 29 28 3f 50 3c 76 61 72 3e 5c 77 2b #^(\$|(?P<percent>%))(?P<var>\w+
e4f80 2b 29 28 3f 28 70 65 72 63 65 6e 74 29 25 29 28 3f 50 3c 70 61 74 68 3e 2e 2a 29 23 27 2c 20 66 +)(?(percent)%)(?P<path>.*)#',.f
e4fa0 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 7b 0a 0a 20 69 66 20 28 50 6c 61 74 66 unction.($matches).{...if.(Platf
e4fc0 6f 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 24 6d 61 74 63 68 65 73 5b 27 76 61 orm::isWindows().&&.$matches['va
e4fe0 72 27 5d 20 3d 3d 20 27 48 4f 4d 45 27 29 20 7b 0a 72 65 74 75 72 6e 20 28 67 65 74 65 6e 76 28 r'].==.'HOME').{.return.(getenv(
e5000 27 48 4f 4d 45 27 29 20 3f 3a 20 67 65 74 65 6e 76 28 27 55 53 45 52 50 52 4f 46 49 4c 45 27 29 'HOME').?:.getenv('USERPROFILE')
e5020 29 20 2e 20 24 6d 61 74 63 68 65 73 5b 27 70 61 74 68 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 )...$matches['path'];.}..return.
e5040 67 65 74 65 6e 76 28 24 6d 61 74 63 68 65 73 5b 27 76 61 72 27 5d 29 20 2e 20 24 6d 61 74 63 68 getenv($matches['var'])...$match
e5060 65 73 5b 27 70 61 74 68 27 5d 3b 0a 7d 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 es['path'];.},.$path);.}......pu
e5080 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 72 44 69 72 65 blic.static.function.getUserDire
e50a0 63 74 6f 72 79 28 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 68 6f 6d 65 20 3d ctory().{.if.(false.!==.($home.=
e50c0 20 67 65 74 65 6e 76 28 27 48 4f 4d 45 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 .getenv('HOME'))).{.return.$home
e50e0 3b 0a 7d 0a 0a 69 66 20 28 73 65 6c 66 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 66 61 ;.}..if.(self::isWindows().&&.fa
e5100 6c 73 65 20 21 3d 3d 20 28 24 68 6f 6d 65 20 3d 20 67 65 74 65 6e 76 28 27 55 53 45 52 50 52 4f lse.!==.($home.=.getenv('USERPRO
e5120 46 49 4c 45 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 68 6f 6d 65 3b 0a 7d 0a 0a 69 66 20 28 FILE'))).{.return.$home;.}..if.(
e5140 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 67 65 74 75 69 64 27 29 20 function_exists('posix_getuid').
e5160 26 26 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 67 65 74 70 77 75 &&.function_exists('posix_getpwu
e5180 69 64 27 29 29 20 7b 0a 24 69 6e 66 6f 20 3d 20 70 6f 73 69 78 5f 67 65 74 70 77 75 69 64 28 70 id')).{.$info.=.posix_getpwuid(p
e51a0 6f 73 69 78 5f 67 65 74 75 69 64 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 69 6e 66 6f 5b 27 64 osix_getuid());..return.$info['d
e51c0 69 72 27 5d 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 ir'];.}..throw.new.\RuntimeExcep
e51e0 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 64 65 74 65 72 6d 69 6e 65 20 75 73 65 72 20 64 tion('Could.not.determine.user.d
e5200 69 72 65 63 74 6f 72 79 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 irectory');.}.....public.static.
e5220 66 75 6e 63 74 69 6f 6e 20 69 73 57 69 6e 64 6f 77 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 64 65 function.isWindows().{.return.de
e5240 66 69 6e 65 64 28 27 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 55 49 4c 44 fined('PHP_WINDOWS_VERSION_BUILD
e5260 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f ');.}......public.static.functio
e5280 6e 20 73 74 72 6c 65 6e 28 24 73 74 72 29 0a 7b 0a 73 74 61 74 69 63 20 24 75 73 65 4d 62 53 74 n.strlen($str).{.static.$useMbSt
e52a0 72 69 6e 67 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 75 73 65 4d 62 ring.=.null;.if.(null.===.$useMb
e52c0 53 74 72 69 6e 67 29 20 7b 0a 24 75 73 65 4d 62 53 74 72 69 6e 67 20 3d 20 66 75 6e 63 74 69 6f String).{.$useMbString.=.functio
e52e0 6e 5f 65 78 69 73 74 73 28 27 6d 62 5f 73 74 72 6c 65 6e 27 29 20 26 26 20 69 6e 69 5f 67 65 74 n_exists('mb_strlen').&&.ini_get
e5300 28 27 6d 62 73 74 72 69 6e 67 2e 66 75 6e 63 5f 6f 76 65 72 6c 6f 61 64 27 29 3b 0a 7d 0a 0a 69 ('mbstring.func_overload');.}..i
e5320 66 20 28 24 75 73 65 4d 62 53 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 6d 62 5f 73 74 72 f.($useMbString).{.return.mb_str
e5340 6c 65 6e 28 24 73 74 72 2c 20 27 38 62 69 74 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 len($str,.'8bit');.}..return.str
e5360 6c 65 6e 28 24 73 74 72 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a len($str);.}.}.<?php............
e5380 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f namespace.Composer\Util;..use.Co
e53a0 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f mposer\IO\IOInterface;.use.Symfo
e53c0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b 0a 75 73 ny\Component\Process\Process;.us
e53e0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 e.Symfony\Component\Process\Proc
e5400 65 73 73 55 74 69 6c 73 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 45 78 65 63 75 essUtils;.....class.ProcessExecu
e5420 74 6f 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 24 74 69 6d 65 6f 75 74 20 tor.{.protected.static.$timeout.
e5440 3d 20 33 30 30 3b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 70 74 75 72 65 4f 75 74 70 75 74 =.300;..protected.$captureOutput
e5460 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 72 72 6f 72 4f 75 74 70 75 74 3b 0a 70 72 6f 74 65 63 ;.protected.$errorOutput;.protec
e5480 74 65 64 20 24 69 6f 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 ted.$io;..public.function.__cons
e54a0 74 72 75 63 74 28 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 20 3d 20 6e 75 6c 6c 29 0a 7b 0a truct(IOInterface.$io.=.null).{.
e54c0 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 $this->io.=.$io;.}...........pub
e54e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 26 lic.function.execute($command,.&
e5500 24 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 $output.=.null,.$cwd.=.null).{.i
e5520 66 20 28 24 74 68 69 73 2d 3e 69 6f 20 26 26 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 44 65 62 f.($this->io.&&.$this->io->isDeb
e5540 75 67 28 29 29 20 7b 0a 24 73 61 66 65 43 6f 6d 6d 61 6e 64 20 3d 20 70 72 65 67 5f 72 65 70 6c ug()).{.$safeCommand.=.preg_repl
e5560 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 3a 2f 2f 28 3f 50 3c 75 73 65 72 3e 5b 5e 3a 2f 5c ace_callback('{://(?P<user>[^:/\
e5580 73 5d 2b 29 3a 28 3f 50 3c 70 61 73 73 77 6f 72 64 3e 5b 5e 40 5c 73 2f 5d 2b 29 40 7d 69 27 2c s]+):(?P<password>[^@\s/]+)@}i',
e55a0 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 .function.($m).{.if.(preg_match(
e55c0 27 7b 5e 5b 61 2d 66 30 2d 39 5d 7b 31 32 2c 7d 24 7d 27 2c 20 24 6d 5b 27 75 73 65 72 27 5d 29 '{^[a-f0-9]{12,}$}',.$m['user'])
e55e0 29 20 7b 0a 72 65 74 75 72 6e 20 27 3a 2f 2f 2a 2a 2a 3a 2a 2a 2a 40 27 3b 0a 7d 0a 0a 72 65 74 ).{.return.'://***:***@';.}..ret
e5600 75 72 6e 20 27 3a 2f 2f 27 2e 24 6d 5b 27 75 73 65 72 27 5d 2e 27 3a 2a 2a 2a 40 27 3b 0a 7d 2c urn.'://'.$m['user'].':***@';.},
e5620 20 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 73 61 66 65 43 6f 6d 6d 61 6e 64 20 3d 20 70 72 65 67 5f .$command);.$safeCommand.=.preg_
e5640 72 65 70 6c 61 63 65 28 22 7b 2d 2d 70 61 73 73 77 6f 72 64 20 28 2e 2a 5b 5e 5c 5c 5c 5c 5d 5c replace("{--password.(.*[^\\\\]\
e5660 27 29 20 7d 22 2c 20 27 2d 2d 70 61 73 73 77 6f 72 64 20 5c 27 2a 2a 2a 5c 27 20 27 2c 20 24 73 ').}",.'--password.\'***\'.',.$s
e5680 61 66 65 43 6f 6d 6d 61 6e 64 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 afeCommand);.$this->io->writeErr
e56a0 6f 72 28 27 45 78 65 63 75 74 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 28 27 2e 28 24 63 77 64 20 3f or('Executing.command.('.($cwd.?
e56c0 3a 20 27 43 57 44 27 29 2e 27 29 3a 20 27 2e 24 73 61 66 65 43 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a :.'CWD').'):.'.$safeCommand);.}.
e56e0 0a 0a 20 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 77 64 20 26 26 20 50 6c 61 74 66 6f .....if.(null.===.$cwd.&&.Platfo
e5700 72 6d 3a 3a 69 73 57 69 6e 64 6f 77 73 28 29 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 rm::isWindows().&&.false.!==.str
e5720 70 6f 73 28 24 63 6f 6d 6d 61 6e 64 2c 20 27 67 69 74 27 29 20 26 26 20 67 65 74 63 77 64 28 29 pos($command,.'git').&&.getcwd()
e5740 29 20 7b 0a 24 63 77 64 20 3d 20 72 65 61 6c 70 61 74 68 28 67 65 74 63 77 64 28 29 29 3b 0a 7d ).{.$cwd.=.realpath(getcwd());.}
e5760 0a 0a 24 74 68 69 73 2d 3e 63 61 70 74 75 72 65 4f 75 74 70 75 74 20 3d 20 66 75 6e 63 5f 6e 75 ..$this->captureOutput.=.func_nu
e5780 6d 5f 61 72 67 73 28 29 20 3e 20 31 3b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4f 75 74 70 75 74 m_args().>.1;.$this->errorOutput
e57a0 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 69 66 20 28 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 27 53 .=.null;....if.(method_exists('S
e57c0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 ymfony\Component\Process\Process
e57e0 27 2c 20 27 66 72 6f 6d 53 68 65 6c 6c 43 6f 6d 6d 61 6e 64 6c 69 6e 65 27 29 29 20 7b 0a 24 70 ',.'fromShellCommandline')).{.$p
e5800 72 6f 63 65 73 73 20 3d 20 50 72 6f 63 65 73 73 3a 3a 66 72 6f 6d 53 68 65 6c 6c 43 6f 6d 6d 61 rocess.=.Process::fromShellComma
e5820 6e 64 6c 69 6e 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 63 77 64 2c 20 6e 75 6c 6c 2c 20 6e 75 6c ndline($command,.$cwd,.null,.nul
e5840 6c 2c 20 73 74 61 74 69 63 3a 3a 67 65 74 54 69 6d 65 6f 75 74 28 29 29 3b 0a 7d 20 65 6c 73 65 l,.static::getTimeout());.}.else
e5860 20 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 28 24 63 6f 6d 6d 61 .{.$process.=.new.Process($comma
e5880 6e 64 2c 20 24 63 77 64 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 73 74 61 74 69 63 3a 3a 67 65 nd,.$cwd,.null,.null,.static::ge
e58a0 74 54 69 6d 65 6f 75 74 28 29 29 3b 0a 7d 0a 0a 24 63 61 6c 6c 62 61 63 6b 20 3d 20 69 73 5f 63 tTimeout());.}..$callback.=.is_c
e58c0 61 6c 6c 61 62 6c 65 28 24 6f 75 74 70 75 74 29 20 3f 20 24 6f 75 74 70 75 74 20 3a 20 61 72 72 allable($output).?.$output.:.arr
e58e0 61 79 28 24 74 68 69 73 2c 20 27 6f 75 74 70 75 74 48 61 6e 64 6c 65 72 27 29 3b 0a 24 70 72 6f ay($this,.'outputHandler');.$pro
e5900 63 65 73 73 2d 3e 72 75 6e 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 cess->run($callback);..if.($this
e5920 2d 3e 63 61 70 74 75 72 65 4f 75 74 70 75 74 20 26 26 20 21 69 73 5f 63 61 6c 6c 61 62 6c 65 28 ->captureOutput.&&.!is_callable(
e5940 24 6f 75 74 70 75 74 29 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 70 72 6f 63 65 73 73 2d 3e $output)).{.$output.=.$process->
e5960 67 65 74 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4f 75 74 70 getOutput();.}..$this->errorOutp
e5980 75 74 20 3d 20 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b ut.=.$process->getErrorOutput();
e59a0 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 ..return.$process->getExitCode()
e59c0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 70 6c 69 74 4c 69 6e 65 73 28 ;.}..public.function.splitLines(
e59e0 24 6f 75 74 70 75 74 29 0a 7b 0a 24 6f 75 74 70 75 74 20 3d 20 74 72 69 6d 28 24 6f 75 74 70 75 $output).{.$output.=.trim($outpu
e5a00 74 29 3b 0a 0a 72 65 74 75 72 6e 20 28 28 73 74 72 69 6e 67 29 20 24 6f 75 74 70 75 74 20 3d 3d t);..return.((string).$output.==
e5a20 3d 20 27 27 29 20 3f 20 61 72 72 61 79 28 29 20 3a 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c =.'').?.array().:.preg_split('{\
e5a40 72 3f 5c 6e 7d 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 r?\n}',.$output);.}.......public
e5a60 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 .function.getErrorOutput().{.ret
e5a80 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 4f 75 74 70 75 74 3b 0a 7d 0a 0a 70 75 62 6c 69 urn.$this->errorOutput;.}..publi
e5aa0 63 20 66 75 6e 63 74 69 6f 6e 20 6f 75 74 70 75 74 48 61 6e 64 6c 65 72 28 24 74 79 70 65 2c 20 c.function.outputHandler($type,.
e5ac0 24 62 75 66 66 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 70 74 75 72 65 4f 75 74 $buffer).{.if.($this->captureOut
e5ae0 70 75 74 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 put).{.return;.}..if.(null.===.$
e5b00 74 68 69 73 2d 3e 69 6f 29 20 7b 0a 65 63 68 6f 20 24 62 75 66 66 65 72 3b 0a 0a 72 65 74 75 72 this->io).{.echo.$buffer;..retur
e5b20 6e 3b 0a 7d 0a 0a 69 66 20 28 50 72 6f 63 65 73 73 3a 3a 45 52 52 20 3d 3d 3d 20 24 74 79 70 65 n;.}..if.(Process::ERR.===.$type
e5b40 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 62 75 66 66 65 ).{.$this->io->writeError($buffe
e5b60 72 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 r,.false);.}.else.{.$this->io->w
e5b80 72 69 74 65 28 24 62 75 66 66 65 72 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 rite($buffer,.false);.}.}..publi
e5ba0 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 69 6d 65 6f 75 74 28 29 0a 7b c.static.function.getTimeout().{
e5bc0 0a 72 65 74 75 72 6e 20 73 74 61 74 69 63 3a 3a 24 74 69 6d 65 6f 75 74 3b 0a 7d 0a 0a 70 75 62 .return.static::$timeout;.}..pub
e5be0 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 69 6d 65 6f 75 74 28 24 lic.static.function.setTimeout($
e5c00 74 69 6d 65 6f 75 74 29 0a 7b 0a 73 74 61 74 69 63 3a 3a 24 74 69 6d 65 6f 75 74 20 3d 20 24 74 timeout).{.static::$timeout.=.$t
e5c20 69 6d 65 6f 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 imeout;.}.........public.static.
e5c40 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 28 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 72 65 74 function.escape($argument).{.ret
e5c60 75 72 6e 20 73 65 6c 66 3a 3a 65 73 63 61 70 65 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 urn.self::escapeArgument($argume
e5c80 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 nt);.}.........private.static.fu
e5ca0 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 nction.escapeArgument($argument)
e5cc0 0a 7b 0a 0a 20 0a 20 0a 20 0a 20 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 44 49 52 45 43 54 4f 52 .{.........if.('\\'.===.DIRECTOR
e5ce0 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 61 72 67 75 6d Y_SEPARATOR).{.if.(''.===.$argum
e5d00 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 61 72 ent).{.return.escapeshellarg($ar
e5d20 67 75 6d 65 6e 74 29 3b 0a 7d 0a 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 3d 20 27 gument);.}..$escapedArgument.=.'
e5d40 27 3b 0a 24 71 75 6f 74 65 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 70 72 65 67 ';.$quote.=.false;.foreach.(preg
e5d60 5f 73 70 6c 69 74 28 27 2f 28 22 29 2f 27 2c 20 24 61 72 67 75 6d 65 6e 74 2c 20 2d 31 2c 20 50 _split('/(")/',.$argument,.-1,.P
e5d80 52 45 47 5f 53 50 4c 49 54 5f 4e 4f 5f 45 4d 50 54 59 20 7c 20 50 52 45 47 5f 53 50 4c 49 54 5f REG_SPLIT_NO_EMPTY.|.PREG_SPLIT_
e5da0 44 45 4c 49 4d 5f 43 41 50 54 55 52 45 29 20 61 73 20 24 70 61 72 74 29 20 7b 0a 69 66 20 28 27 DELIM_CAPTURE).as.$part).{.if.('
e5dc0 22 27 20 3d 3d 3d 20 24 70 61 72 74 29 20 7b 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 "'.===.$part).{.$escapedArgument
e5de0 20 2e 3d 20 27 5c 5c 22 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 69 73 53 75 72 ..=.'\\"';.}.elseif.(self::isSur
e5e00 72 6f 75 6e 64 65 64 42 79 28 24 70 61 72 74 2c 20 27 25 27 29 29 20 7b 0a 0a 20 24 65 73 63 61 roundedBy($part,.'%')).{...$esca
e5e20 70 65 64 41 72 67 75 6d 65 6e 74 20 2e 3d 20 27 5e 25 22 27 2e 73 75 62 73 74 72 28 24 70 61 72 pedArgument..=.'^%"'.substr($par
e5e40 74 2c 20 31 2c 20 2d 31 29 2e 27 22 5e 25 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 t,.1,.-1).'"^%';.}.else.{...if.(
e5e60 27 5c 5c 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 70 61 72 74 2c 20 2d 31 29 29 20 7b 0a 24 70 '\\'.===.substr($part,.-1)).{.$p
e5e80 61 72 74 20 2e 3d 20 27 5c 5c 27 3b 0a 7d 0a 24 71 75 6f 74 65 20 3d 20 74 72 75 65 3b 0a 24 65 art..=.'\\';.}.$quote.=.true;.$e
e5ea0 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 2e 3d 20 24 70 61 72 74 3b 0a 7d 0a 7d 0a 69 66 20 scapedArgument..=.$part;.}.}.if.
e5ec0 28 24 71 75 6f 74 65 29 20 7b 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 3d 20 27 22 ($quote).{.$escapedArgument.=.'"
e5ee0 27 2e 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 2e 27 22 27 3b 0a 7d 0a 0a 72 65 74 75 72 '.$escapedArgument.'"';.}..retur
e5f00 6e 20 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 27 n.$escapedArgument;.}..return."'
e5f20 22 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 22 27 22 2c 20 22 27 5c 5c 27 27 22 2c 20 24 61 72 67 ".str_replace("'",."'\\''",.$arg
e5f40 75 6d 65 6e 74 29 2e 22 27 22 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 ument)."'";.}..private.static.fu
e5f60 6e 63 74 69 6f 6e 20 69 73 53 75 72 72 6f 75 6e 64 65 64 42 79 28 24 61 72 67 2c 20 24 63 68 61 nction.isSurroundedBy($arg,.$cha
e5f80 72 29 0a 7b 0a 72 65 74 75 72 6e 20 32 20 3c 20 73 74 72 6c 65 6e 28 24 61 72 67 29 20 26 26 20 r).{.return.2.<.strlen($arg).&&.
e5fa0 24 63 68 61 72 20 3d 3d 3d 20 24 61 72 67 5b 30 5d 20 26 26 20 24 63 68 61 72 20 3d 3d 3d 20 24 $char.===.$arg[0].&&.$char.===.$
e5fc0 61 72 67 5b 73 74 72 6c 65 6e 28 24 61 72 67 29 20 2d 20 31 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 arg[strlen($arg).-.1];.}.}.<?php
e5fe0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 ............namespace.Composer\U
e6000 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 75 73 65 20 43 til;..use.Composer\Config;.use.C
e6020 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 omposer\Composer;.use.Composer\S
e6040 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 emver\Constraint\Constraint;.use
e6060 20 43 6f 6d 70 6f 73 65 72 5c 50 61 63 6b 61 67 65 5c 56 65 72 73 69 6f 6e 5c 56 65 72 73 69 6f .Composer\Package\Version\Versio
e6080 6e 50 61 72 73 65 72 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 nParser;.use.Composer\IO\IOInter
e60a0 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 44 6f 77 6e 6c 6f 61 64 65 72 5c 54 72 face;.use.Composer\Downloader\Tr
e60c0 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 ansportException;.use.Composer\C
e60e0 61 42 75 6e 64 6c 65 5c 43 61 42 75 6e 64 6c 65 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f aBundle\CaBundle;.use.Psr\Log\Lo
e6100 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 6d 6f 74 ggerInterface;.......class.Remot
e6120 65 46 69 6c 65 73 79 73 74 65 6d 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6f 3b 0a 70 72 69 76 61 eFilesystem.{.private.$io;.priva
e6140 74 65 20 24 63 6f 6e 66 69 67 3b 0a 70 72 69 76 61 74 65 20 24 73 63 68 65 6d 65 3b 0a 70 72 69 te.$config;.private.$scheme;.pri
e6160 76 61 74 65 20 24 62 79 74 65 73 4d 61 78 3b 0a 70 72 69 76 61 74 65 20 24 6f 72 69 67 69 6e 55 vate.$bytesMax;.private.$originU
e6180 72 6c 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 55 72 6c 3b 0a 70 72 69 76 61 74 65 20 24 66 rl;.private.$fileUrl;.private.$f
e61a0 69 6c 65 4e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 72 65 74 72 79 3b 0a 70 72 69 76 61 74 65 ileName;.private.$retry;.private
e61c0 20 24 70 72 6f 67 72 65 73 73 3b 0a 70 72 69 76 61 74 65 20 24 6c 61 73 74 50 72 6f 67 72 65 73 .$progress;.private.$lastProgres
e61e0 73 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 s;.private.$options.=.array();.p
e6200 72 69 76 61 74 65 20 24 70 65 65 72 43 65 72 74 69 66 69 63 61 74 65 4d 61 70 20 3d 20 61 72 72 rivate.$peerCertificateMap.=.arr
e6220 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 20 66 61 6c 73 ay();.private.$disableTls.=.fals
e6240 65 3b 0a 70 72 69 76 61 74 65 20 24 72 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 65 3b 0a 70 72 e;.private.$retryAuthFailure;.pr
e6260 69 76 61 74 65 20 24 6c 61 73 74 48 65 61 64 65 72 73 3b 0a 70 72 69 76 61 74 65 20 24 73 74 6f ivate.$lastHeaders;.private.$sto
e6280 72 65 41 75 74 68 3b 0a 70 72 69 76 61 74 65 20 24 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d 20 reAuth;.private.$degradedMode.=.
e62a0 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 72 65 64 69 72 65 63 74 73 3b 0a 70 72 69 76 61 false;.private.$redirects;.priva
e62c0 74 65 20 24 6d 61 78 52 65 64 69 72 65 63 74 73 20 3d 20 32 30 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a te.$maxRedirects.=.20;..........
e62e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 4f 49 6e public.function.__construct(IOIn
e6300 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 67 20 24 63 6f 6e 66 69 67 20 3d 20 6e 75 terface.$io,.Config.$config.=.nu
e6320 6c 6c 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 64 ll,.array.$options.=.array(),.$d
e6340 69 73 61 62 6c 65 54 6c 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6f 20 3d isableTls.=.false).{.$this->io.=
e6360 20 24 69 6f 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 64 69 73 61 62 6c 65 54 6c 73 20 3d 3d 3d 20 66 .$io;......if.($disableTls.===.f
e6380 61 6c 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e alse).{.$this->options.=.$this->
e63a0 67 65 74 54 6c 73 44 65 66 61 75 6c 74 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 20 65 6c 73 65 getTlsDefaults($options);.}.else
e63c0 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 54 6c 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a .{.$this->disableTls.=.true;.}..
e63e0 0a 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 ..$this->options.=.array_replace
e6400 5f 72 65 63 75 72 73 69 76 65 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 2c 20 24 6f 70 74 69 _recursive($this->options,.$opti
e6420 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 3d 20 24 63 6f 6e 66 69 67 3b 0a 7d ons);.$this->config.=.$config;.}
e6440 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 .............public.function.cop
e6460 79 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 66 69 6c 65 4e 61 6d y($originUrl,.$fileUrl,.$fileNam
e6480 65 2c 20 24 70 72 6f 67 72 65 73 73 20 3d 20 74 72 75 65 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 e,.$progress.=.true,.$options.=.
e64a0 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 6f 72 array()).{.return.$this->get($or
e64c0 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 6f 70 74 69 6f 6e 73 2c 20 24 66 69 iginUrl,.$fileUrl,.$options,.$fi
e64e0 6c 65 4e 61 6d 65 2c 20 24 70 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a leName,.$progress);.}...........
e6500 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 24 6f 72 .public.function.getContents($or
e6520 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 70 72 6f 67 72 65 73 73 20 3d 20 74 iginUrl,.$fileUrl,.$progress.=.t
e6540 72 75 65 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 rue,.$options.=.array()).{.retur
e6560 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 n.$this->get($originUrl,.$fileUr
e6580 6c 2c 20 24 6f 70 74 69 6f 6e 73 2c 20 6e 75 6c 6c 2c 20 24 70 72 6f 67 72 65 73 73 29 3b 0a 7d l,.$options,.null,.$progress);.}
e65a0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e .......public.function.getOption
e65c0 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a s().{.return.$this->options;.}..
e65e0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 73 28 .....public.function.setOptions(
e6600 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 array.$options).{.$this->options
e6620 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 5f 72 65 63 75 72 73 69 76 65 28 24 74 68 69 73 .=.array_replace_recursive($this
e6640 2d 3e 6f 70 74 69 6f 6e 73 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 ->options,.$options);.}.......pu
e6660 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 54 6c 73 44 69 73 61 62 6c 65 64 28 29 0a 7b 0a blic.function.isTlsDisabled().{.
e6680 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 54 6c 73 20 3d 3d 3d 20 74 72 75 return.$this->disableTls.===.tru
e66a0 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 61 e;.}.......public.function.getLa
e66c0 73 74 48 65 61 64 65 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 61 73 74 stHeaders().{.return.$this->last
e66e0 48 65 61 64 65 72 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e Headers;.}.......public.function
e6700 20 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 2c .findHeaderValue(array.$headers,
e6720 20 24 6e 61 6d 65 29 0a 7b 0a 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 .$name).{.$value.=.null;.foreach
e6740 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 69 66 20 28 70 72 65 .($headers.as.$header).{.if.(pre
e6760 67 5f 6d 61 74 63 68 28 27 7b 5e 27 2e 24 6e 61 6d 65 2e 27 3a 5c 73 2a 28 2e 2b 3f 29 5c 73 2a g_match('{^'.$name.':\s*(.+?)\s*
e6780 24 7d 69 27 2c 20 24 68 65 61 64 65 72 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 76 61 6c 75 65 $}i',.$header,.$match)).{.$value
e67a0 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 .=.$match[1];.}.elseif.(preg_mat
e67c0 63 68 28 27 7b 5e 48 54 54 50 2f 7d 69 27 2c 20 24 68 65 61 64 65 72 29 29 20 7b 0a 0a 20 0a 20 ch('{^HTTP/}i',.$header)).{.....
e67e0 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 $value.=.null;.}.}..return.$valu
e6800 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 53 74 e;.}......public.function.findSt
e6820 61 74 75 73 43 6f 64 65 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 76 61 6c 75 atusCode(array.$headers).{.$valu
e6840 65 20 3d 20 6e 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 e.=.null;.foreach.($headers.as.$
e6860 68 65 61 64 65 72 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 48 54 54 50 header).{.if.(preg_match('{^HTTP
e6880 2f 5c 53 2b 20 28 5c 64 2b 29 7d 69 27 2c 20 24 68 65 61 64 65 72 2c 20 24 6d 61 74 63 68 29 29 /\S+.(\d+)}i',.$header,.$match))
e68a0 20 7b 0a 0a 20 0a 20 24 76 61 6c 75 65 20 3d 20 28 69 6e 74 29 20 24 6d 61 74 63 68 5b 31 5d 3b .{.....$value.=.(int).$match[1];
e68c0 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 75 62 6c .}.}..return.$value;.}......publ
e68e0 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 53 74 61 74 75 73 4d 65 73 73 61 67 65 28 61 72 ic.function.findStatusMessage(ar
e6900 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 66 ray.$headers).{.$value.=.null;.f
e6920 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 69 oreach.($headers.as.$header).{.i
e6940 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 48 54 54 50 2f 5c 53 2b 20 5c 64 2b 7d 69 27 f.(preg_match('{^HTTP/\S+.\d+}i'
e6960 2c 20 24 68 65 61 64 65 72 29 29 20 7b 0a 0a 20 0a 20 24 76 61 6c 75 65 20 3d 20 24 68 65 61 64 ,.$header)).{.....$value.=.$head
e6980 65 72 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a er;.}.}..return.$value;.}.......
e69a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 28 .........protected.function.get(
e69c0 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 $originUrl,.$fileUrl,.$additiona
e69e0 6c 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 66 69 6c 65 4e 61 6d 65 20 3d 20 lOptions.=.array(),.$fileName.=.
e6a00 6e 75 6c 6c 2c 20 24 70 72 6f 67 72 65 73 73 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 73 74 null,.$progress.=.true).{.if.(st
e6a20 72 70 6f 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 27 2e 67 69 74 68 75 62 2e 63 6f 6d 27 29 20 rpos($originUrl,.'.github.com').
e6a40 3d 3d 3d 20 28 73 74 72 6c 65 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 20 2d 20 31 31 29 29 20 7b ===.(strlen($originUrl).-.11)).{
e6a60 0a 24 6f 72 69 67 69 6e 55 72 6c 20 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 3b 0a 7d 0a 0a 0a .$originUrl.=.'github.com';.}...
e6a80 20 0a 20 69 66 20 28 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 0a 26 26 20 69 73 5f 61 72 72 61 ...if.(.$this->config.&&.is_arra
e6aa0 79 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d y($this->config->get('gitlab-dom
e6ac0 61 69 6e 73 27 29 29 0a 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 6f 72 69 ains')).&&.false.===.strpos($ori
e6ae0 67 69 6e 55 72 6c 2c 20 27 2f 27 29 0a 26 26 20 21 69 6e 5f 61 72 72 61 79 28 24 6f 72 69 67 69 ginUrl,.'/').&&.!in_array($origi
e6b00 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 nUrl,.$this->config->get('gitlab
e6b20 2d 64 6f 6d 61 69 6e 73 27 29 29 0a 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e -domains')).).{.foreach.($this->
e6b40 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 20 61 73 config->get('gitlab-domains').as
e6b60 20 24 67 69 74 6c 61 62 44 6f 6d 61 69 6e 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 .$gitlabDomain).{.if.(0.===.strp
e6b80 6f 73 28 24 67 69 74 6c 61 62 44 6f 6d 61 69 6e 2c 20 24 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b os($gitlabDomain,.$originUrl)).{
e6ba0 0a 24 6f 72 69 67 69 6e 55 72 6c 20 3d 20 24 67 69 74 6c 61 62 44 6f 6d 61 69 6e 3b 0a 62 72 65 .$originUrl.=.$gitlabDomain;.bre
e6bc0 61 6b 3b 0a 7d 0a 7d 0a 75 6e 73 65 74 28 24 67 69 74 6c 61 62 44 6f 6d 61 69 6e 29 3b 0a 7d 0a ak;.}.}.unset($gitlabDomain);.}.
e6be0 0a 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 66 69 6c 65 .$this->scheme.=.parse_url($file
e6c00 55 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 3b 0a 24 74 68 69 73 2d 3e 62 79 74 Url,.PHP_URL_SCHEME);.$this->byt
e6c20 65 73 4d 61 78 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 20 3d 20 24 6f esMax.=.0;.$this->originUrl.=.$o
e6c40 72 69 67 69 6e 55 72 6c 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 3d 20 24 66 69 6c 65 riginUrl;.$this->fileUrl.=.$file
e6c60 55 72 6c 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 4e 61 6d 65 20 3d 20 24 66 69 6c 65 4e 61 6d 65 Url;.$this->fileName.=.$fileName
e6c80 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 20 3d 20 24 70 72 6f 67 72 65 73 73 3b 0a 24 ;.$this->progress.=.$progress;.$
e6ca0 74 68 69 73 2d 3e 6c 61 73 74 50 72 6f 67 72 65 73 73 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 this->lastProgress.=.null;.$this
e6cc0 2d 3e 72 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 65 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 ->retryAuthFailure.=.true;.$this
e6ce0 2d 3e 6c 61 73 74 48 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e ->lastHeaders.=.array();.$this->
e6d00 72 65 64 69 72 65 63 74 73 20 3d 20 31 3b 20 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 redirects.=.1;.....if.(preg_matc
e6d20 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 5b 5e 3a 2f 5d 2b 29 3a 28 5b 5e 40 2f 5d 2b 29 40 h('{^https?://([^:/]+):([^@/]+)@
e6d40 28 5b 5e 2f 5d 2b 29 7d 69 27 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b ([^/]+)}i',.$fileUrl,.$match)).{
e6d60 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f .$this->io->setAuthentication($o
e6d80 72 69 67 69 6e 55 72 6c 2c 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 6d 61 74 63 68 5b 31 5d riginUrl,.rawurldecode($match[1]
e6da0 29 2c 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 6d 61 74 63 68 5b 32 5d 29 29 3b 0a 7d 0a 0a ),.rawurldecode($match[2]));.}..
e6dc0 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 20 3d 20 24 61 64 64 69 74 69 $tempAdditionalOptions.=.$additi
e6de0 6f 6e 61 6c 4f 70 74 69 6f 6e 73 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 65 6d 70 41 64 64 69 onalOptions;.if.(isset($tempAddi
e6e00 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 5b 27 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 tionalOptions['retry-auth-failur
e6e20 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 65 20 e'])).{.$this->retryAuthFailure.
e6e40 3d 20 28 62 6f 6f 6c 29 20 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 5b =.(bool).$tempAdditionalOptions[
e6e60 27 72 65 74 72 79 2d 61 75 74 68 2d 66 61 69 6c 75 72 65 27 5d 3b 0a 0a 75 6e 73 65 74 28 24 74 'retry-auth-failure'];..unset($t
e6e80 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 5b 27 72 65 74 72 79 2d 61 75 74 68 empAdditionalOptions['retry-auth
e6ea0 2d 66 61 69 6c 75 72 65 27 5d 29 3b 0a 7d 0a 0a 24 69 73 52 65 64 69 72 65 63 74 20 3d 20 66 61 -failure']);.}..$isRedirect.=.fa
e6ec0 6c 73 65 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 lse;.if.(isset($tempAdditionalOp
e6ee0 74 69 6f 6e 73 5b 27 72 65 64 69 72 65 63 74 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 tions['redirects'])).{.$this->re
e6f00 64 69 72 65 63 74 73 20 3d 20 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 directs.=.$tempAdditionalOptions
e6f20 5b 27 72 65 64 69 72 65 63 74 73 27 5d 3b 0a 24 69 73 52 65 64 69 72 65 63 74 20 3d 20 74 72 75 ['redirects'];.$isRedirect.=.tru
e6f40 65 3b 0a 0a 75 6e 73 65 74 28 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 e;..unset($tempAdditionalOptions
e6f60 5b 27 72 65 64 69 72 65 63 74 73 27 5d 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 24 74 ['redirects']);.}..$options.=.$t
e6f80 68 69 73 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 46 6f 72 55 72 6c 28 24 6f 72 69 67 69 6e 55 72 6c his->getOptionsForUrl($originUrl
e6fa0 2c 20 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 29 3b 0a 75 6e 73 65 74 ,.$tempAdditionalOptions);.unset
e6fc0 28 24 74 65 6d 70 41 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 29 3b 0a 0a 24 6f 72 69 67 ($tempAdditionalOptions);..$orig
e6fe0 46 69 6c 65 55 72 6c 20 3d 20 24 66 69 6c 65 55 72 6c 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 FileUrl.=.$fileUrl;..if.(isset($
e7000 6f 70 74 69 6f 6e 73 5b 27 67 69 74 68 75 62 2d 74 6f 6b 65 6e 27 5d 29 29 20 7b 0a 0a 20 69 66 options['github-token'])).{...if
e7020 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 5b 61 2d 7a 30 2d .(preg_match('{^https?://([a-z0-
e7040 39 2d 5d 2b 5c 2e 29 2a 67 69 74 68 75 62 5c 2e 63 6f 6d 2f 7d 27 2c 20 24 66 69 6c 65 55 72 6c 9-]+\.)*github\.com/}',.$fileUrl
e7060 29 29 20 7b 0a 24 66 69 6c 65 55 72 6c 20 2e 3d 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 )).{.$fileUrl..=.(false.===.strp
e7080 6f 73 28 24 66 69 6c 65 55 72 6c 2c 20 27 3f 27 29 20 3f 20 27 3f 27 20 3a 20 27 26 27 29 20 2e os($fileUrl,.'?').?.'?'.:.'&')..
e70a0 20 27 61 63 63 65 73 73 5f 74 6f 6b 65 6e 3d 27 2e 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 68 75 .'access_token='.$options['githu
e70c0 62 2d 74 6f 6b 65 6e 27 5d 3b 0a 7d 0a 75 6e 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 b-token'];.}.unset($options['git
e70e0 68 75 62 2d 74 6f 6b 65 6e 27 5d 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 hub-token']);.}..if.(isset($opti
e7100 6f 6e 73 5b 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 5d 29 29 20 7b 0a 24 66 69 6c 65 55 72 6c ons['gitlab-token'])).{.$fileUrl
e7120 20 2e 3d 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 66 69 6c 65 55 72 6c 2c 20 ..=.(false.===.strpos($fileUrl,.
e7140 27 3f 27 29 20 3f 20 27 3f 27 20 3a 20 27 26 27 29 20 2e 20 27 61 63 63 65 73 73 5f 74 6f 6b 65 '?').?.'?'.:.'&')...'access_toke
e7160 6e 3d 27 2e 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 5d 3b 0a 75 6e n='.$options['gitlab-token'];.un
e7180 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 27 5d 29 3b 0a 7d set($options['gitlab-token']);.}
e71a0 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 29 29 20 7b ..if.(isset($options['http'])).{
e71c0 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 69 67 6e 6f 72 65 5f 65 72 72 6f 72 73 .$options['http']['ignore_errors
e71e0 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 '].=.true;.}..if.($this->degrade
e7200 64 4d 6f 64 65 20 26 26 20 73 75 62 73 74 72 28 24 66 69 6c 65 55 72 6c 2c 20 30 2c 20 32 36 29 dMode.&&.substr($fileUrl,.0,.26)
e7220 20 3d 3d 3d 20 27 68 74 74 70 3a 2f 2f 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 2f .===.'http://repo.packagist.org/
e7240 27 29 20 7b 0a 0a 20 24 66 69 6c 65 55 72 6c 20 3d 20 27 68 74 74 70 3a 2f 2f 27 20 2e 20 67 65 ').{...$fileUrl.=.'http://'...ge
e7260 74 68 6f 73 74 62 79 6e 61 6d 65 28 27 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 thostbyname('repo.packagist.org'
e7280 29 20 2e 20 73 75 62 73 74 72 28 24 66 69 6c 65 55 72 6c 2c 20 32 30 29 3b 0a 24 64 65 67 72 61 )...substr($fileUrl,.20);.$degra
e72a0 64 65 64 50 61 63 6b 61 67 69 73 74 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 63 74 78 20 3d 20 53 dedPackagist.=.true;.}..$ctx.=.S
e72c0 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 74 6f 72 79 3a 3a 67 65 74 43 6f 6e 74 65 78 74 28 treamContextFactory::getContext(
e72e0 24 66 69 6c 65 55 72 6c 2c 20 24 6f 70 74 69 6f 6e 73 2c 20 61 72 72 61 79 28 27 6e 6f 74 69 66 $fileUrl,.$options,.array('notif
e7300 69 63 61 74 69 6f 6e 27 20 3d 3e 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 63 61 6c 6c 62 61 ication'.=>.array($this,.'callba
e7320 63 6b 47 65 74 27 29 29 29 3b 0a 0a 24 61 63 74 75 61 6c 43 6f 6e 74 65 78 74 4f 70 74 69 6f 6e ckGet')));..$actualContextOption
e7340 73 20 3d 20 73 74 72 65 61 6d 5f 63 6f 6e 74 65 78 74 5f 67 65 74 5f 6f 70 74 69 6f 6e 73 28 24 s.=.stream_context_get_options($
e7360 63 74 78 29 3b 0a 24 75 73 69 6e 67 50 72 6f 78 79 20 3d 20 21 65 6d 70 74 79 28 24 61 63 74 75 ctx);.$usingProxy.=.!empty($actu
e7380 61 6c 43 6f 6e 74 65 78 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 70 72 6f 78 79 27 alContextOptions['http']['proxy'
e73a0 5d 29 20 3f 20 27 20 75 73 69 6e 67 20 70 72 6f 78 79 20 27 20 2e 20 24 61 63 74 75 61 6c 43 6f ]).?.'.using.proxy.'...$actualCo
e73c0 6e 74 65 78 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 70 72 6f 78 79 27 5d 20 3a 20 ntextOptions['http']['proxy'].:.
e73e0 27 27 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 28 73 75 62 73 74 '';.$this->io->writeError((subst
e7400 72 28 24 6f 72 69 67 46 69 6c 65 55 72 6c 2c 20 30 2c 20 34 29 20 3d 3d 3d 20 27 68 74 74 70 27 r($origFileUrl,.0,.4).===.'http'
e7420 20 3f 20 27 44 6f 77 6e 6c 6f 61 64 69 6e 67 20 27 20 3a 20 27 52 65 61 64 69 6e 67 20 27 29 20 .?.'Downloading.'.:.'Reading.').
e7440 2e 20 24 74 68 69 73 2d 3e 73 74 72 69 70 43 72 65 64 65 6e 74 69 61 6c 73 46 72 6f 6d 55 72 6c ..$this->stripCredentialsFromUrl
e7460 28 24 6f 72 69 67 46 69 6c 65 55 72 6c 29 20 2e 20 24 75 73 69 6e 67 50 72 6f 78 79 2c 20 74 72 ($origFileUrl)...$usingProxy,.tr
e7480 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 75 6e 73 65 74 28 24 ue,.IOInterface::DEBUG);.unset($
e74a0 6f 72 69 67 46 69 6c 65 55 72 6c 2c 20 24 61 63 74 75 61 6c 43 6f 6e 74 65 78 74 4f 70 74 69 6f origFileUrl,.$actualContextOptio
e74c0 6e 73 29 3b 0a 0a 0a 20 69 66 20 28 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 ns);....if.((!preg_match('{^http
e74e0 3a 2f 2f 28 72 65 70 6f 5c 2e 29 3f 70 61 63 6b 61 67 69 73 74 5c 2e 6f 72 67 2f 70 2f 7d 27 2c ://(repo\.)?packagist\.org/p/}',
e7500 20 24 66 69 6c 65 55 72 6c 29 20 7c 7c 20 28 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 6f 73 28 .$fileUrl).||.(false.===.strpos(
e7520 24 66 69 6c 65 55 72 6c 2c 20 27 24 27 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 70 $fileUrl,.'$').&&.false.===.strp
e7540 6f 73 28 24 66 69 6c 65 55 72 6c 2c 20 27 25 32 34 27 29 29 29 20 26 26 20 65 6d 70 74 79 28 24 os($fileUrl,.'%24'))).&&.empty($
e7560 64 65 67 72 61 64 65 64 50 61 63 6b 61 67 69 73 74 29 20 26 26 20 24 74 68 69 73 2d 3e 63 6f 6e degradedPackagist).&&.$this->con
e7580 66 69 67 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 fig).{.$this->config->prohibitUr
e75a0 6c 42 79 43 6f 6e 66 69 67 28 24 66 69 6c 65 55 72 6c 2c 20 24 74 68 69 73 2d 3e 69 6f 29 3b 0a lByConfig($fileUrl,.$this->io);.
e75c0 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 20 26 26 20 21 24 69 73 52 65 }..if.($this->progress.&&.!$isRe
e75e0 64 69 72 65 63 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 direct).{.$this->io->writeError(
e7600 22 44 6f 77 6e 6c 6f 61 64 69 6e 67 20 28 3c 63 6f 6d 6d 65 6e 74 3e 63 6f 6e 6e 65 63 74 69 6e "Downloading.(<comment>connectin
e7620 67 2e 2e 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 65 72 g...</comment>)",.false);.}..$er
e7640 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 27 3b 0a 24 65 72 72 6f 72 43 6f 64 65 20 3d 20 30 3b rorMessage.=.'';.$errorCode.=.0;
e7660 0a 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 .$result.=.false;.set_error_hand
e7680 6c 65 72 28 66 75 6e 63 74 69 6f 6e 20 28 24 63 6f 64 65 2c 20 24 6d 73 67 29 20 75 73 65 20 28 ler(function.($code,.$msg).use.(
e76a0 26 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 28 24 65 72 72 6f 72 4d 65 73 73 &$errorMessage).{.if.($errorMess
e76c0 61 67 65 29 20 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 22 3b 0a 7d 0a age).{.$errorMessage..=."\n";.}.
e76e0 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b $errorMessage..=.preg_replace('{
e7700 5e 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 5c 28 2e 2a 3f 5c 29 3a 20 7d 27 2c 20 27 ^file_get_contents\(.*?\):.}',.'
e7720 27 2c 20 24 6d 73 67 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 29 3b 0a 74 72 79 20 ',.$msg);..return.true;.});.try.
e7740 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 52 65 6d 6f 74 65 43 6f 6e 74 {.$result.=.$this->getRemoteCont
e7760 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 63 74 78 2c ents($originUrl,.$fileUrl,.$ctx,
e7780 20 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 0a 69 66 20 28 21 65 .$http_response_header);..if.(!e
e77a0 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 29 29 20 mpty($http_response_header[0])).
e77c0 7b 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 53 74 61 74 75 {.$statusCode.=.$this->findStatu
e77e0 73 43 6f 64 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 69 66 sCode($http_response_header);.if
e7800 20 28 24 73 74 61 74 75 73 43 6f 64 65 20 3e 3d 20 34 30 30 20 26 26 20 24 74 68 69 73 2d 3e 66 .($statusCode.>=.400.&&.$this->f
e7820 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 indHeaderValue($http_response_he
e7840 61 64 65 72 2c 20 27 63 6f 6e 74 65 6e 74 2d 74 79 70 65 27 29 20 3d 3d 3d 20 27 61 70 70 6c 69 ader,.'content-type').===.'appli
e7860 63 61 74 69 6f 6e 2f 6a 73 6f 6e 27 29 20 7b 0a 73 65 6c 66 3a 3a 6f 75 74 70 75 74 57 61 72 6e cation/json').{.self::outputWarn
e7880 69 6e 67 73 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 6f 72 69 67 69 6e 55 72 6c 2c 20 6a 73 6f 6e ings($this->io,.$originUrl,.json
e78a0 5f 64 65 63 6f 64 65 28 24 72 65 73 75 6c 74 2c 20 74 72 75 65 29 29 3b 0a 7d 0a 0a 69 66 20 28 _decode($result,.true));.}..if.(
e78c0 69 6e 5f 61 72 72 61 79 28 24 73 74 61 74 75 73 43 6f 64 65 2c 20 61 72 72 61 79 28 34 30 31 2c in_array($statusCode,.array(401,
e78e0 20 34 30 33 29 29 20 26 26 20 24 74 68 69 73 2d 3e 72 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 .403)).&&.$this->retryAuthFailur
e7900 65 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 6d 70 74 41 75 74 68 41 6e 64 52 65 74 72 79 28 24 e).{.$this->promptAuthAndRetry($
e7920 73 74 61 74 75 73 43 6f 64 65 2c 20 24 74 68 69 73 2d 3e 66 69 6e 64 53 74 61 74 75 73 4d 65 73 statusCode,.$this->findStatusMes
e7940 73 61 67 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 2c 20 6e 75 6c sage($http_response_header),.nul
e7960 6c 2c 20 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 7d 0a 7d 0a 0a l,.$http_response_header);.}.}..
e7980 24 63 6f 6e 74 65 6e 74 4c 65 6e 67 74 68 20 3d 20 21 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 $contentLength.=.!empty($http_re
e79a0 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 29 20 3f 20 24 74 68 69 73 2d 3e 66 69 6e 64 48 sponse_header[0]).?.$this->findH
e79c0 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 eaderValue($http_response_header
e79e0 2c 20 27 63 6f 6e 74 65 6e 74 2d 6c 65 6e 67 74 68 27 29 20 3a 20 6e 75 6c 6c 3b 0a 69 66 20 28 ,.'content-length').:.null;.if.(
e7a00 24 63 6f 6e 74 65 6e 74 4c 65 6e 67 74 68 20 26 26 20 50 6c 61 74 66 6f 72 6d 3a 3a 73 74 72 6c $contentLength.&&.Platform::strl
e7a20 65 6e 28 24 72 65 73 75 6c 74 29 20 3c 20 24 63 6f 6e 74 65 6e 74 4c 65 6e 67 74 68 29 20 7b 0a en($result).<.$contentLength).{.
e7a40 0a 20 24 65 20 3d 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 43 ..$e.=.new.TransportException('C
e7a60 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 20 6d 69 73 6d 61 74 63 68 2c 20 72 65 63 65 69 76 65 64 ontent-Length.mismatch,.received
e7a80 20 27 2e 50 6c 61 74 66 6f 72 6d 3a 3a 73 74 72 6c 65 6e 28 24 72 65 73 75 6c 74 29 2e 27 20 62 .'.Platform::strlen($result).'.b
e7aa0 79 74 65 73 20 6f 75 74 20 6f 66 20 74 68 65 20 65 78 70 65 63 74 65 64 20 27 2e 24 63 6f 6e 74 ytes.out.of.the.expected.'.$cont
e7ac0 65 6e 74 4c 65 6e 67 74 68 29 3b 0a 24 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 74 74 70 entLength);.$e->setHeaders($http
e7ae0 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 24 65 2d 3e 73 65 74 53 74 61 74 75 73 _response_header);.$e->setStatus
e7b00 43 6f 64 65 28 24 74 68 69 73 2d 3e 66 69 6e 64 53 74 61 74 75 73 43 6f 64 65 28 24 68 74 74 70 Code($this->findStatusCode($http
e7b20 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 29 3b 0a 24 65 2d 3e 73 65 74 52 65 73 70 6f _response_header));.$e->setRespo
e7b40 6e 73 65 28 24 72 65 73 75 6c 74 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 nse($result);.$this->io->writeEr
e7b60 72 6f 72 28 27 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 20 6d 69 73 6d 61 74 63 68 2c 20 72 65 ror('Content-Length.mismatch,.re
e7b80 63 65 69 76 65 64 20 27 2e 50 6c 61 74 66 6f 72 6d 3a 3a 73 74 72 6c 65 6e 28 24 72 65 73 75 6c ceived.'.Platform::strlen($resul
e7ba0 74 29 2e 27 20 6f 75 74 20 6f 66 20 27 2e 24 63 6f 6e 74 65 6e 74 4c 65 6e 67 74 68 2e 27 20 62 t).'.out.of.'.$contentLength.'.b
e7bc0 79 74 65 73 3a 20 28 27 20 2e 20 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 24 72 65 73 75 6c 74 ytes:.('...base64_encode($result
e7be0 29 2e 27 29 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 ).')',.true,.IOInterface::DEBUG)
e7c00 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f ;..throw.$e;.}..if.(PHP_VERSION_
e7c20 49 44 20 3c 20 35 30 36 30 30 20 26 26 20 21 65 6d 70 74 79 28 24 6f 70 74 69 6f 6e 73 5b 27 73 ID.<.50600.&&.!empty($options['s
e7c40 73 6c 27 5d 5b 27 70 65 65 72 5f 66 69 6e 67 65 72 70 72 69 6e 74 27 5d 29 29 20 7b 0a 0a 20 24 sl']['peer_fingerprint'])).{...$
e7c60 70 61 72 61 6d 73 20 3d 20 73 74 72 65 61 6d 5f 63 6f 6e 74 65 78 74 5f 67 65 74 5f 70 61 72 61 params.=.stream_context_get_para
e7c80 6d 73 28 24 63 74 78 29 3b 0a 24 65 78 70 65 63 74 65 64 50 65 65 72 46 69 6e 67 65 72 70 72 69 ms($ctx);.$expectedPeerFingerpri
e7ca0 6e 74 20 3d 20 24 6f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 70 65 65 72 5f 66 69 6e 67 65 nt.=.$options['ssl']['peer_finge
e7cc0 72 70 72 69 6e 74 27 5d 3b 0a 24 70 65 65 72 46 69 6e 67 65 72 70 72 69 6e 74 20 3d 20 54 6c 73 rprint'];.$peerFingerprint.=.Tls
e7ce0 48 65 6c 70 65 72 3a 3a 67 65 74 43 65 72 74 69 66 69 63 61 74 65 46 69 6e 67 65 72 70 72 69 6e Helper::getCertificateFingerprin
e7d00 74 28 24 70 61 72 61 6d 73 5b 27 6f 70 74 69 6f 6e 73 27 5d 5b 27 73 73 6c 27 5d 5b 27 70 65 65 t($params['options']['ssl']['pee
e7d20 72 5f 63 65 72 74 69 66 69 63 61 74 65 27 5d 29 3b 0a 0a 0a 20 69 66 20 28 24 65 78 70 65 63 74 r_certificate']);....if.($expect
e7d40 65 64 50 65 65 72 46 69 6e 67 65 72 70 72 69 6e 74 20 21 3d 3d 20 24 70 65 65 72 46 69 6e 67 65 edPeerFingerprint.!==.$peerFinge
e7d60 72 70 72 69 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 rprint).{.throw.new.TransportExc
e7d80 65 70 74 69 6f 6e 28 27 50 65 65 72 20 66 69 6e 67 65 72 70 72 69 6e 74 20 64 69 64 20 6e 6f 74 eption('Peer.fingerprint.did.not
e7da0 20 6d 61 74 63 68 27 29 3b 0a 7d 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f .match');.}.}.}.catch.(\Exceptio
e7dc0 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 n.$e).{.if.($e.instanceof.Transp
e7de0 6f 72 74 45 78 63 65 70 74 69 6f 6e 20 26 26 20 21 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 ortException.&&.!empty($http_res
e7e00 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 29 29 20 7b 0a 24 65 2d 3e 73 65 74 48 65 61 64 65 ponse_header[0])).{.$e->setHeade
e7e20 72 73 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 24 65 2d 3e 73 rs($http_response_header);.$e->s
e7e40 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 74 68 69 73 2d 3e 66 69 6e 64 53 74 61 74 75 73 43 6f etStatusCode($this->findStatusCo
e7e60 64 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 29 3b 0a 7d 0a 69 66 de($http_response_header));.}.if
e7e80 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 .($e.instanceof.TransportExcepti
e7ea0 6f 6e 20 26 26 20 24 72 65 73 75 6c 74 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 65 2d 3e 73 on.&&.$result.!==.false).{.$e->s
e7ec0 65 74 52 65 73 70 6f 6e 73 65 28 24 72 65 73 75 6c 74 29 3b 0a 7d 0a 24 72 65 73 75 6c 74 20 3d etResponse($result);.}.$result.=
e7ee0 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 26 26 20 21 .false;.}.if.($errorMessage.&&.!
e7f00 66 69 6c 74 65 72 5f 76 61 72 28 69 6e 69 5f 67 65 74 28 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f filter_var(ini_get('allow_url_fo
e7f20 70 65 6e 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 29 pen'),.FILTER_VALIDATE_BOOLEAN))
e7f40 20 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 61 6c 6c 6f 77 5f 75 72 6c 5f 66 6f .{.$errorMessage.=.'allow_url_fo
e7f60 70 65 6e 20 6d 75 73 74 20 62 65 20 65 6e 61 62 6c 65 64 20 69 6e 20 70 68 70 2e 69 6e 69 20 28 pen.must.be.enabled.in.php.ini.(
e7f80 27 2e 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2e 27 29 27 3b 0a 7d 0a 72 65 73 74 6f 72 65 5f 65 '.$errorMessage.')';.}.restore_e
e7fa0 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 65 29 20 26 26 rror_handler();.if.(isset($e).&&
e7fc0 20 21 24 74 68 69 73 2d 3e 72 65 74 72 79 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 .!$this->retry).{.if.(!$this->de
e7fe0 67 72 61 64 65 64 4d 6f 64 65 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 gradedMode.&&.false.!==.strpos($
e8000 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 4f 70 65 72 61 74 69 6f 6e 20 74 69 6d 65 e->getMessage(),.'Operation.time
e8020 64 20 6f 75 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d d.out')).{.$this->degradedMode.=
e8040 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 .true;.$this->io->writeError('')
e8060 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 ;.$this->io->writeError(array(.'
e8080 3c 65 72 72 6f 72 3e 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 <error>'.$e->getMessage().'</err
e80a0 6f 72 3e 27 2c 0a 27 3c 65 72 72 6f 72 3e 52 65 74 72 79 69 6e 67 20 77 69 74 68 20 64 65 67 72 or>',.'<error>Retrying.with.degr
e80c0 61 64 65 64 20 6d 6f 64 65 2c 20 63 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 aded.mode,.check.https://getcomp
e80e0 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f oser.org/doc/articles/troublesho
e8100 6f 74 69 6e 67 2e 6d 64 23 64 65 67 72 61 64 65 64 2d 6d 6f 64 65 20 66 6f 72 20 6d 6f 72 65 20 oting.md#degraded-mode.for.more.
e8120 69 6e 66 6f 3c 2f 65 72 72 6f 72 3e 27 2c 0a 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 info</error>',.));..return.$this
e8140 2d 3e 67 65 74 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 66 ->get($this->originUrl,.$this->f
e8160 69 6c 65 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 74 68 69 ileUrl,.$additionalOptions,.$thi
e8180 73 2d 3e 66 69 6c 65 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 3b 0a 7d s->fileName,.$this->progress);.}
e81a0 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 6e 75 6c ..throw.$e;.}..$statusCode.=.nul
e81c0 6c 3b 0a 24 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 6e 75 6c 6c 3b 0a 24 6c 6f 63 61 74 69 6f l;.$contentType.=.null;.$locatio
e81e0 6e 48 65 61 64 65 72 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 68 74 74 70 nHeader.=.null;.if.(!empty($http
e8200 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 29 29 20 7b 0a 24 73 74 61 74 75 73 43 _response_header[0])).{.$statusC
e8220 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 53 74 61 74 75 73 43 6f 64 65 28 24 68 74 74 ode.=.$this->findStatusCode($htt
e8240 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 24 63 6f 6e 74 65 6e 74 54 79 70 65 p_response_header);.$contentType
e8260 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f .=.$this->findHeaderValue($http_
e8280 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 2c 20 27 63 6f 6e 74 65 6e 74 2d 74 79 70 65 27 29 response_header,.'content-type')
e82a0 3b 0a 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 48 ;.$locationHeader.=.$this->findH
e82c0 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 eaderValue($http_response_header
e82e0 2c 20 27 6c 6f 63 61 74 69 6f 6e 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 6f 72 69 67 69 6e 55 ,.'location');.}....if.($originU
e8300 72 6c 20 3d 3d 3d 20 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 0a 26 26 20 21 24 74 68 69 73 rl.===.'bitbucket.org'.&&.!$this
e8320 2d 3e 69 73 50 75 62 6c 69 63 42 69 74 42 75 63 6b 65 74 44 6f 77 6e 6c 6f 61 64 28 24 66 69 6c ->isPublicBitBucketDownload($fil
e8340 65 55 72 6c 29 0a 26 26 20 73 75 62 73 74 72 28 24 66 69 6c 65 55 72 6c 2c 20 2d 34 29 20 3d 3d eUrl).&&.substr($fileUrl,.-4).==
e8360 3d 20 27 2e 7a 69 70 27 0a 26 26 20 28 21 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 20 7c 7c =.'.zip'.&&.(!$locationHeader.||
e8380 20 73 75 62 73 74 72 28 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 2c 20 2d 34 29 20 21 3d 3d .substr($locationHeader,.-4).!==
e83a0 20 27 2e 7a 69 70 27 29 0a 26 26 20 24 63 6f 6e 74 65 6e 74 54 79 70 65 20 26 26 20 70 72 65 67 .'.zip').&&.$contentType.&&.preg
e83c0 5f 6d 61 74 63 68 28 27 7b 5e 74 65 78 74 2f 68 74 6d 6c 5c 62 7d 69 27 2c 20 24 63 6f 6e 74 65 _match('{^text/html\b}i',.$conte
e83e0 6e 74 54 79 70 65 29 0a 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 ntType).).{.$result.=.false;.if.
e8400 28 24 74 68 69 73 2d 3e 72 65 74 72 79 41 75 74 68 46 61 69 6c 75 72 65 29 20 7b 0a 24 74 68 69 ($this->retryAuthFailure).{.$thi
e8420 73 2d 3e 70 72 6f 6d 70 74 41 75 74 68 41 6e 64 52 65 74 72 79 28 34 30 31 29 3b 0a 7d 0a 7d 0a s->promptAuthAndRetry(401);.}.}.
e8440 0a 0a 20 69 66 20 28 24 73 74 61 74 75 73 43 6f 64 65 20 3d 3d 3d 20 34 30 34 0a 26 26 20 24 74 ...if.($statusCode.===.404.&&.$t
e8460 68 69 73 2d 3e 63 6f 6e 66 69 67 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 6f 72 69 67 69 6e 55 his->config.&&.in_array($originU
e8480 72 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 rl,.$this->config->get('gitlab-d
e84a0 6f 6d 61 69 6e 73 27 29 2c 20 74 72 75 65 29 0a 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 omains'),.true).&&.false.!==.str
e84c0 70 6f 73 28 24 66 69 6c 65 55 72 6c 2c 20 27 61 72 63 68 69 76 65 2e 7a 69 70 27 29 0a 29 20 7b pos($fileUrl,.'archive.zip').).{
e84e0 0a 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 74 .$result.=.false;.if.($this->ret
e8500 72 79 41 75 74 68 46 61 69 6c 75 72 65 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 6d 70 74 41 75 ryAuthFailure).{.$this->promptAu
e8520 74 68 41 6e 64 52 65 74 72 79 28 34 30 31 29 3b 0a 7d 0a 7d 0a 0a 0a 20 24 68 61 73 46 6f 6c 6c thAndRetry(401);.}.}....$hasFoll
e8540 6f 77 65 64 52 65 64 69 72 65 63 74 20 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 73 74 61 74 75 owedRedirect.=.false;.if.($statu
e8560 73 43 6f 64 65 20 3e 3d 20 33 30 30 20 26 26 20 24 73 74 61 74 75 73 43 6f 64 65 20 3c 3d 20 33 sCode.>=.300.&&.$statusCode.<=.3
e8580 39 39 20 26 26 20 24 73 74 61 74 75 73 43 6f 64 65 20 21 3d 3d 20 33 30 34 20 26 26 20 24 74 68 99.&&.$statusCode.!==.304.&&.$th
e85a0 69 73 2d 3e 72 65 64 69 72 65 63 74 73 20 3c 20 24 74 68 69 73 2d 3e 6d 61 78 52 65 64 69 72 65 is->redirects.<.$this->maxRedire
e85c0 63 74 73 29 20 7b 0a 24 68 61 73 46 6f 6c 6c 6f 77 65 64 52 65 64 69 72 65 63 74 20 3d 20 74 72 cts).{.$hasFollowedRedirect.=.tr
e85e0 75 65 3b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 52 65 64 69 72 ue;.$result.=.$this->handleRedir
e8600 65 63 74 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 2c 20 24 61 64 64 69 ect($http_response_header,.$addi
e8620 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 72 65 73 75 6c 74 29 3b 0a 7d 0a 0a 0a 20 69 66 tionalOptions,.$result);.}....if
e8640 20 28 24 73 74 61 74 75 73 43 6f 64 65 20 26 26 20 24 73 74 61 74 75 73 43 6f 64 65 20 3e 3d 20 .($statusCode.&&.$statusCode.>=.
e8660 34 30 30 20 26 26 20 24 73 74 61 74 75 73 43 6f 64 65 20 3c 3d 20 35 39 39 29 20 7b 0a 69 66 20 400.&&.$statusCode.<=.599).{.if.
e8680 28 21 24 74 68 69 73 2d 3e 72 65 74 72 79 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f (!$this->retry).{.if.($this->pro
e86a0 67 72 65 73 73 20 26 26 20 21 24 74 68 69 73 2d 3e 72 65 74 72 79 20 26 26 20 21 24 69 73 52 65 gress.&&.!$this->retry.&&.!$isRe
e86c0 64 69 72 65 63 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 direct).{.$this->io->overwriteEr
e86e0 72 6f 72 28 22 44 6f 77 6e 6c 6f 61 64 69 6e 67 20 28 3c 65 72 72 6f 72 3e 66 61 69 6c 65 64 3c ror("Downloading.(<error>failed<
e8700 2f 65 72 72 6f 72 3e 29 22 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 24 65 20 3d 20 6e 65 77 20 54 /error>)",.false);.}..$e.=.new.T
e8720 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 22 27 2e 24 74 68 69 73 2d ransportException('The."'.$this-
e8740 3e 66 69 6c 65 55 72 6c 2e 27 22 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 64 6f >fileUrl.'".file.could.not.be.do
e8760 77 6e 6c 6f 61 64 65 64 20 28 27 2e 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 wnloaded.('.$http_response_heade
e8780 72 5b 30 5d 2e 27 29 27 2c 20 24 73 74 61 74 75 73 43 6f 64 65 29 3b 0a 24 65 2d 3e 73 65 74 48 r[0].')',.$statusCode);.$e->setH
e87a0 65 61 64 65 72 73 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 24 eaders($http_response_header);.$
e87c0 65 2d 3e 73 65 74 52 65 73 70 6f 6e 73 65 28 24 72 65 73 75 6c 74 29 3b 0a 24 65 2d 3e 73 65 74 e->setResponse($result);.$e->set
e87e0 53 74 61 74 75 73 43 6f 64 65 28 24 73 74 61 74 75 73 43 6f 64 65 29 3b 0a 74 68 72 6f 77 20 24 StatusCode($statusCode);.throw.$
e8800 65 3b 0a 7d 0a 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 e;.}.$result.=.false;.}..if.($th
e8820 69 73 2d 3e 70 72 6f 67 72 65 73 73 20 26 26 20 21 24 74 68 69 73 2d 3e 72 65 74 72 79 20 26 26 is->progress.&&.!$this->retry.&&
e8840 20 21 24 69 73 52 65 64 69 72 65 63 74 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 .!$isRedirect).{.$this->io->over
e8860 77 72 69 74 65 45 72 72 6f 72 28 22 44 6f 77 6e 6c 6f 61 64 69 6e 67 20 28 22 2e 28 24 72 65 73 writeError("Downloading.(".($res
e8880 75 6c 74 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 27 3c 65 72 72 6f 72 3e 66 61 69 6c 65 64 3c 2f ult.===.false.?.'<error>failed</
e88a0 65 72 72 6f 72 3e 27 20 3a 20 27 3c 63 6f 6d 6d 65 6e 74 3e 31 30 30 25 3c 2f 63 6f 6d 6d 65 6e error>'.:.'<comment>100%</commen
e88c0 74 3e 27 29 2e 22 29 22 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 72 65 73 75 t>').")",.false);.}....if.($resu
e88e0 6c 74 20 26 26 20 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 6c 69 62 27 29 20 26 lt.&&.extension_loaded('zlib').&
e8900 26 20 73 75 62 73 74 72 28 24 66 69 6c 65 55 72 6c 2c 20 30 2c 20 34 29 20 3d 3d 3d 20 27 68 74 &.substr($fileUrl,.0,.4).===.'ht
e8920 74 70 27 20 26 26 20 21 24 68 61 73 46 6f 6c 6c 6f 77 65 64 52 65 64 69 72 65 63 74 29 20 7b 0a tp'.&&.!$hasFollowedRedirect).{.
e8940 24 63 6f 6e 74 65 6e 74 45 6e 63 6f 64 69 6e 67 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 48 65 $contentEncoding.=.$this->findHe
e8960 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 2c aderValue($http_response_header,
e8980 20 27 63 6f 6e 74 65 6e 74 2d 65 6e 63 6f 64 69 6e 67 27 29 3b 0a 24 64 65 63 6f 64 65 20 3d 20 .'content-encoding');.$decode.=.
e89a0 24 63 6f 6e 74 65 6e 74 45 6e 63 6f 64 69 6e 67 20 26 26 20 27 67 7a 69 70 27 20 3d 3d 3d 20 73 $contentEncoding.&&.'gzip'.===.s
e89c0 74 72 74 6f 6c 6f 77 65 72 28 24 63 6f 6e 74 65 6e 74 45 6e 63 6f 64 69 6e 67 29 3b 0a 0a 69 66 trtolower($contentEncoding);..if
e89e0 20 28 24 64 65 63 6f 64 65 29 20 7b 0a 74 72 79 20 7b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 .($decode).{.try.{.if.(PHP_VERSI
e8a00 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 30 30 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 7a 6c 69 62 ON_ID.>=.50400).{.$result.=.zlib
e8a20 5f 64 65 63 6f 64 65 28 24 72 65 73 75 6c 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 72 65 _decode($result);.}.else.{...$re
e8a40 73 75 6c 74 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 27 63 6f 6d 70 72 65 sult.=.file_get_contents('compre
e8a60 73 73 2e 7a 6c 69 62 3a 2f 2f 64 61 74 61 3a 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6f 63 74 65 74 ss.zlib://data:application/octet
e8a80 2d 73 74 72 65 61 6d 3b 62 61 73 65 36 34 2c 27 2e 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 24 -stream;base64,'.base64_encode($
e8aa0 72 65 73 75 6c 74 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 72 65 73 75 6c 74 29 20 7b 0a 74 68 72 result));.}..if.(!$result).{.thr
e8ac0 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 46 61 69 6c 65 ow.new.TransportException('Faile
e8ae0 64 20 74 6f 20 64 65 63 6f 64 65 20 7a 6c 69 62 20 73 74 72 65 61 6d 27 29 3b 0a 7d 0a 7d 20 63 d.to.decode.zlib.stream');.}.}.c
e8b00 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 atch.(\Exception.$e).{.if.($this
e8b20 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 24 ->degradedMode).{.throw.$e;.}..$
e8b40 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 this->degradedMode.=.true;.$this
e8b60 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 27 2c 0a 27 3c 65 72 ->io->writeError(array(.'',.'<er
e8b80 72 6f 72 3e 46 61 69 6c 65 64 20 74 6f 20 64 65 63 6f 64 65 20 72 65 73 70 6f 6e 73 65 3a 20 27 ror>Failed.to.decode.response:.'
e8ba0 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 2c 0a 27 3c .$e->getMessage().'</error>',.'<
e8bc0 65 72 72 6f 72 3e 52 65 74 72 79 69 6e 67 20 77 69 74 68 20 64 65 67 72 61 64 65 64 20 6d 6f 64 error>Retrying.with.degraded.mod
e8be0 65 2c 20 63 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 e,.check.https://getcomposer.org
e8c00 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f 6f 74 69 6e 67 2e 6d 64 /doc/articles/troubleshooting.md
e8c20 23 64 65 67 72 61 64 65 64 2d 6d 6f 64 65 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 3c 2f 65 72 #degraded-mode.for.more.info</er
e8c40 72 6f 72 3e 27 2c 0a 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 28 24 74 ror>',.));..return.$this->get($t
e8c60 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2c 20 his->originUrl,.$this->fileUrl,.
e8c80 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 4e $additionalOptions,.$this->fileN
e8ca0 61 6d 65 2c 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 ame,.$this->progress);.}.}.}....
e8cc0 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 72 65 73 75 6c 74 20 26 26 20 6e 75 6c 6c 20 21 3d if.(false.!==.$result.&&.null.!=
e8ce0 3d 20 24 66 69 6c 65 4e 61 6d 65 20 26 26 20 21 24 69 73 52 65 64 69 72 65 63 74 29 20 7b 0a 69 =.$fileName.&&.!$isRedirect).{.i
e8d00 66 20 28 27 27 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 f.(''.===.$result).{.throw.new.T
e8d20 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 22 27 2e 24 74 68 69 73 2d 3e 66 69 6c ransportException('"'.$this->fil
e8d40 65 55 72 6c 2e 27 22 20 61 70 70 65 61 72 73 20 62 72 6f 6b 65 6e 2c 20 61 6e 64 20 72 65 74 75 eUrl.'".appears.broken,.and.retu
e8d60 72 6e 65 64 20 61 6e 20 65 6d 70 74 79 20 32 30 30 20 72 65 73 70 6f 6e 73 65 27 29 3b 0a 7d 0a rned.an.empty.200.response');.}.
e8d80 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 27 3b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 .$errorMessage.=.'';.set_error_h
e8da0 61 6e 64 6c 65 72 28 66 75 6e 63 74 69 6f 6e 20 28 24 63 6f 64 65 2c 20 24 6d 73 67 29 20 75 73 andler(function.($code,.$msg).us
e8dc0 65 20 28 26 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 28 24 65 72 72 6f 72 4d e.(&$errorMessage).{.if.($errorM
e8de0 65 73 73 61 67 65 29 20 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 22 3b essage).{.$errorMessage..=."\n";
e8e00 0a 7d 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 2e 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 .}.$errorMessage..=.preg_replace
e8e20 28 27 7b 5e 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 5c 28 2e 2a 3f 5c 29 3a 20 7d 27 ('{^file_put_contents\(.*?\):.}'
e8e40 2c 20 27 27 2c 20 24 6d 73 67 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 29 3b 0a 24 ,.'',.$msg);..return.true;.});.$
e8e60 72 65 73 75 6c 74 20 3d 20 28 62 6f 6f 6c 29 20 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 result.=.(bool).file_put_content
e8e80 73 28 24 66 69 6c 65 4e 61 6d 65 2c 20 24 72 65 73 75 6c 74 29 3b 0a 72 65 73 74 6f 72 65 5f 65 s($fileName,.$result);.restore_e
e8ea0 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 rror_handler();.if.(false.===.$r
e8ec0 65 73 75 6c 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 esult).{.throw.new.TransportExce
e8ee0 70 74 69 6f 6e 28 27 54 68 65 20 22 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 22 20 ption('The."'.$this->fileUrl.'".
e8f00 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 77 72 69 74 74 65 6e 20 74 6f 20 27 2e 24 file.could.not.be.written.to.'.$
e8f20 66 69 6c 65 4e 61 6d 65 2e 27 3a 20 27 2e 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 3b 0a 7d 0a fileName.':.'.$errorMessage);.}.
e8f40 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 73 75 6c 74 20 26 26 20 66 61 }....if.(false.===.$result.&&.fa
e8f60 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 27 50 lse.!==.strpos($errorMessage,.'P
e8f80 65 65 72 20 63 65 72 74 69 66 69 63 61 74 65 27 29 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f 4e eer.certificate').&&.PHP_VERSION
e8fa0 5f 49 44 20 3c 20 35 30 36 30 30 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a _ID.<.50600).{..................
e8fc0 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 69 66 20 28 43 61 42 75 6e 64 6c 65 3a 3a 69 73 4f ...............if.(CaBundle::isO
e8fe0 70 65 6e 73 73 6c 50 61 72 73 65 53 61 66 65 28 29 29 20 7b 0a 24 63 65 72 74 44 65 74 61 69 6c pensslParseSafe()).{.$certDetail
e9000 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 65 72 74 69 66 69 63 61 74 65 43 6e 41 6e 64 46 70 s.=.$this->getCertificateCnAndFp
e9020 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 ($this->fileUrl,.$options);..if.
e9040 28 24 63 65 72 74 44 65 74 61 69 6c 73 29 20 7b 0a 24 74 68 69 73 2d 3e 70 65 65 72 43 65 72 74 ($certDetails).{.$this->peerCert
e9060 69 66 69 63 61 74 65 4d 61 70 5b 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 41 75 74 68 6f 72 69 74 ificateMap[$this->getUrlAuthorit
e9080 79 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 29 5d 20 3d 20 24 63 65 72 74 44 65 74 61 69 6c y($this->fileUrl)].=.$certDetail
e90a0 73 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 74 72 79 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 20 65 6c 73 s;..$this->retry.=.true;.}.}.els
e90c0 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 3b 0a 24 e.{.$this->io->writeError('');.$
e90e0 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 3c this->io->writeError(sprintf(.'<
e9100 65 72 72 6f 72 3e 59 6f 75 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 50 48 50 2c 20 25 73 2c 20 69 error>Your.version.of.PHP,.%s,.i
e9120 73 20 61 66 66 65 63 74 65 64 20 62 79 20 43 56 45 2d 32 30 31 33 2d 36 34 32 30 20 61 6e 64 20 s.affected.by.CVE-2013-6420.and.
e9140 63 61 6e 6e 6f 74 20 73 61 66 65 6c 79 20 70 65 72 66 6f 72 6d 20 63 65 72 74 69 66 69 63 61 74 cannot.safely.perform.certificat
e9160 65 20 76 61 6c 69 64 61 74 69 6f 6e 2c 20 77 65 20 73 74 72 6f 6e 67 6c 79 20 73 75 67 67 65 73 e.validation,.we.strongly.sugges
e9180 74 20 79 6f 75 20 75 70 67 72 61 64 65 2e 3c 2f 65 72 72 6f 72 3e 27 2c 0a 50 48 50 5f 56 45 52 t.you.upgrade.</error>',.PHP_VER
e91a0 53 49 4f 4e 0a 29 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 72 65 74 72 79 29 20 SION.));.}.}..if.($this->retry).
e91c0 7b 0a 24 74 68 69 73 2d 3e 72 65 74 72 79 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 72 65 73 75 6c 74 {.$this->retry.=.false;..$result
e91e0 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 .=.$this->get($this->originUrl,.
e9200 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f $this->fileUrl,.$additionalOptio
e9220 6e 73 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 70 72 6f 67 ns,.$this->fileName,.$this->prog
e9240 72 65 73 73 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 74 6f 72 65 41 75 74 68 20 26 26 20 ress);..if.($this->storeAuth.&&.
e9260 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 20 7b 0a 24 61 75 74 68 48 65 6c 70 65 72 20 3d 20 6e $this->config).{.$authHelper.=.n
e9280 65 77 20 41 75 74 68 48 65 6c 70 65 72 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e ew.AuthHelper($this->io,.$this->
e92a0 63 6f 6e 66 69 67 29 3b 0a 24 61 75 74 68 48 65 6c 70 65 72 2d 3e 73 74 6f 72 65 41 75 74 68 28 config);.$authHelper->storeAuth(
e92c0 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 73 74 6f 72 65 41 75 $this->originUrl,.$this->storeAu
e92e0 74 68 29 3b 0a 24 74 68 69 73 2d 3e 73 74 6f 72 65 41 75 74 68 20 3d 20 66 61 6c 73 65 3b 0a 7d th);.$this->storeAuth.=.false;.}
e9300 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d ..return.$result;.}..if.(false.=
e9320 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 24 65 20 3d 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 ==.$result).{.$e.=.new.Transport
e9340 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 22 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c Exception('The."'.$this->fileUrl
e9360 2e 27 22 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 .'".file.could.not.be.downloaded
e9380 3a 20 27 2e 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 24 65 72 72 6f 72 43 6f 64 65 29 3b 0a :.'.$errorMessage,.$errorCode);.
e93a0 69 66 20 28 21 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 if.(!empty($http_response_header
e93c0 5b 30 5d 29 29 20 7b 0a 24 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 74 74 70 5f 72 65 73 [0])).{.$e->setHeaders($http_res
e93e0 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 ponse_header);.}..if.(!$this->de
e9400 67 72 61 64 65 64 4d 6f 64 65 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 gradedMode.&&.false.!==.strpos($
e9420 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 4f 70 65 72 61 74 69 6f 6e 20 74 69 6d 65 e->getMessage(),.'Operation.time
e9440 64 20 6f 75 74 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 20 3d d.out')).{.$this->degradedMode.=
e9460 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 29 .true;.$this->io->writeError('')
e9480 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 61 72 72 61 79 28 0a 27 ;.$this->io->writeError(array(.'
e94a0 3c 65 72 72 6f 72 3e 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 <error>'.$e->getMessage().'</err
e94c0 6f 72 3e 27 2c 0a 27 3c 65 72 72 6f 72 3e 52 65 74 72 79 69 6e 67 20 77 69 74 68 20 64 65 67 72 or>',.'<error>Retrying.with.degr
e94e0 61 64 65 64 20 6d 6f 64 65 2c 20 63 68 65 63 6b 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 aded.mode,.check.https://getcomp
e9500 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 61 72 74 69 63 6c 65 73 2f 74 72 6f 75 62 6c 65 73 68 6f oser.org/doc/articles/troublesho
e9520 6f 74 69 6e 67 2e 6d 64 23 64 65 67 72 61 64 65 64 2d 6d 6f 64 65 20 66 6f 72 20 6d 6f 72 65 20 oting.md#degraded-mode.for.more.
e9540 69 6e 66 6f 3c 2f 65 72 72 6f 72 3e 27 2c 0a 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 info</error>',.));..return.$this
e9560 2d 3e 67 65 74 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 66 ->get($this->originUrl,.$this->f
e9580 69 6c 65 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 74 68 69 ileUrl,.$additionalOptions,.$thi
e95a0 73 2d 3e 66 69 6c 65 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 3b 0a 7d s->fileName,.$this->progress);.}
e95c0 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 68 74 74 70 5f ..throw.$e;.}..if.(!empty($http_
e95e0 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 61 response_header[0])).{.$this->la
e9600 73 74 48 65 61 64 65 72 73 20 3d 20 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 stHeaders.=.$http_response_heade
e9620 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a r;.}..return.$result;.}.........
e9640 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6d 6f 74 65 43 6f ..protected.function.getRemoteCo
e9660 6e 74 65 6e 74 73 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 66 69 6c 65 55 72 6c 2c 20 24 63 6f ntents($originUrl,.$fileUrl,.$co
e9680 6e 74 65 78 74 2c 20 61 72 72 61 79 20 26 24 72 65 73 70 6f 6e 73 65 48 65 61 64 65 72 73 20 3d ntext,.array.&$responseHeaders.=
e96a0 20 6e 75 6c 6c 29 0a 7b 0a 74 72 79 20 7b 0a 24 65 20 3d 20 6e 75 6c 6c 3b 0a 24 72 65 73 75 6c .null).{.try.{.$e.=.null;.$resul
e96c0 74 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 55 72 6c 2c 20 t.=.file_get_contents($fileUrl,.
e96e0 66 61 6c 73 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f false,.$context);.}.catch.(\Thro
e9700 77 61 62 6c 65 20 24 65 29 20 7b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 wable.$e).{.}.catch.(\Exception.
e9720 24 65 29 20 7b 0a 7d 0a 0a 24 72 65 73 70 6f 6e 73 65 48 65 61 64 65 72 73 20 3d 20 69 73 73 65 $e).{.}..$responseHeaders.=.isse
e9740 74 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 20 3f 20 24 68 74 74 70 t($http_response_header).?.$http
e9760 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 20 3a 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 _response_header.:.array();..if.
e9780 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 (null.!==.$e).{.throw.$e;.}..ret
e97a0 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 urn.$result;.}.............prote
e97c0 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 62 61 63 6b 47 65 74 28 24 6e 6f 74 69 66 cted.function.callbackGet($notif
e97e0 69 63 61 74 69 6f 6e 43 6f 64 65 2c 20 24 73 65 76 65 72 69 74 79 2c 20 24 6d 65 73 73 61 67 65 icationCode,.$severity,.$message
e9800 2c 20 24 6d 65 73 73 61 67 65 43 6f 64 65 2c 20 24 62 79 74 65 73 54 72 61 6e 73 66 65 72 72 65 ,.$messageCode,.$bytesTransferre
e9820 64 2c 20 24 62 79 74 65 73 4d 61 78 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 6e 6f 74 69 66 69 63 d,.$bytesMax).{.switch.($notific
e9840 61 74 69 6f 6e 43 6f 64 65 29 20 7b 0a 63 61 73 65 20 53 54 52 45 41 4d 5f 4e 4f 54 49 46 59 5f ationCode).{.case.STREAM_NOTIFY_
e9860 46 41 49 4c 55 52 45 3a 0a 69 66 20 28 34 30 30 20 3d 3d 3d 20 24 6d 65 73 73 61 67 65 43 6f 64 FAILURE:.if.(400.===.$messageCod
e9880 65 29 20 7b 0a 0a 20 0a 20 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 e).{.....throw.new.TransportExce
e98a0 70 74 69 6f 6e 28 22 54 68 65 20 27 22 20 2e 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 2e ption("The.'"...$this->fileUrl..
e98c0 20 22 27 20 55 52 4c 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 63 63 65 73 73 65 64 3a 20 22 ."'.URL.could.not.be.accessed:."
e98e0 20 2e 20 24 6d 65 73 73 61 67 65 2c 20 24 6d 65 73 73 61 67 65 43 6f 64 65 29 3b 0a 7d 0a 62 72 ...$message,.$messageCode);.}.br
e9900 65 61 6b 3b 0a 0a 63 61 73 65 20 53 54 52 45 41 4d 5f 4e 4f 54 49 46 59 5f 46 49 4c 45 5f 53 49 eak;..case.STREAM_NOTIFY_FILE_SI
e9920 5a 45 5f 49 53 3a 0a 24 74 68 69 73 2d 3e 62 79 74 65 73 4d 61 78 20 3d 20 24 62 79 74 65 73 4d ZE_IS:.$this->bytesMax.=.$bytesM
e9940 61 78 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 53 54 52 45 41 4d 5f 4e 4f 54 49 46 59 5f 50 ax;.break;..case.STREAM_NOTIFY_P
e9960 52 4f 47 52 45 53 53 3a 0a 69 66 20 28 24 74 68 69 73 2d 3e 62 79 74 65 73 4d 61 78 20 3e 20 30 ROGRESS:.if.($this->bytesMax.>.0
e9980 20 26 26 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 29 20 7b 0a 24 70 72 6f 67 72 65 73 73 .&&.$this->progress).{.$progress
e99a0 69 6f 6e 20 3d 20 6d 69 6e 28 31 30 30 2c 20 72 6f 75 6e 64 28 24 62 79 74 65 73 54 72 61 6e 73 ion.=.min(100,.round($bytesTrans
e99c0 66 65 72 72 65 64 20 2f 20 24 74 68 69 73 2d 3e 62 79 74 65 73 4d 61 78 20 2a 20 31 30 30 29 29 ferred./.$this->bytesMax.*.100))
e99e0 3b 0a 0a 69 66 20 28 28 30 20 3d 3d 3d 20 24 70 72 6f 67 72 65 73 73 69 6f 6e 20 25 20 35 29 20 ;..if.((0.===.$progression.%.5).
e9a00 26 26 20 31 30 30 20 21 3d 3d 20 24 70 72 6f 67 72 65 73 73 69 6f 6e 20 26 26 20 24 70 72 6f 67 &&.100.!==.$progression.&&.$prog
e9a20 72 65 73 73 69 6f 6e 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6c 61 73 74 50 72 6f 67 72 65 73 73 29 ression.!==.$this->lastProgress)
e9a40 20 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 50 72 6f 67 72 65 73 73 20 3d 20 24 70 72 6f 67 72 65 .{.$this->lastProgress.=.$progre
e9a60 73 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 6f 76 65 72 77 72 69 74 65 45 72 72 6f 72 ssion;.$this->io->overwriteError
e9a80 28 22 44 6f 77 6e 6c 6f 61 64 69 6e 67 20 28 3c 63 6f 6d 6d 65 6e 74 3e 24 70 72 6f 67 72 65 73 ("Downloading.(<comment>$progres
e9aa0 73 69 6f 6e 25 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 22 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 62 sion%</comment>)",.false);.}.}.b
e9ac0 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 reak;..default:.break;.}.}..prot
e9ae0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 6d 70 74 41 75 74 68 41 6e 64 52 65 74 72 ected.function.promptAuthAndRetr
e9b00 79 28 24 68 74 74 70 53 74 61 74 75 73 2c 20 24 72 65 61 73 6f 6e 20 3d 20 6e 75 6c 6c 2c 20 24 y($httpStatus,.$reason.=.null,.$
e9b20 77 61 72 6e 69 6e 67 20 3d 20 6e 75 6c 6c 2c 20 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 warning.=.null,.$headers.=.array
e9b40 28 29 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 26 26 20 69 6e 5f 61 72 ()).{.if.($this->config.&&.in_ar
e9b60 72 61 79 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e ray($this->originUrl,.$this->con
e9b80 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 72 75 65 fig->get('github-domains'),.true
e9ba0 29 29 20 7b 0a 24 67 69 74 48 75 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 48 75 62 28 24 74 )).{.$gitHubUtil.=.new.GitHub($t
e9bc0 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 6e 75 6c 6c 29 3b 0a 24 his->io,.$this->config,.null);.$
e9be0 6d 65 73 73 61 67 65 20 3d 20 22 5c 6e 22 3b 0a 0a 24 72 61 74 65 4c 69 6d 69 74 65 64 20 3d 20 message.=."\n";..$rateLimited.=.
e9c00 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 69 73 52 61 74 65 4c 69 6d 69 74 65 64 28 24 68 65 61 64 $gitHubUtil->isRateLimited($head
e9c20 65 72 73 29 3b 0a 69 66 20 28 24 72 61 74 65 4c 69 6d 69 74 65 64 29 20 7b 0a 24 72 61 74 65 4c ers);.if.($rateLimited).{.$rateL
e9c40 69 6d 69 74 20 3d 20 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 67 65 74 52 61 74 65 4c 69 6d 69 74 imit.=.$gitHubUtil->getRateLimit
e9c60 28 24 68 65 61 64 65 72 73 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 ($headers);.if.($this->io->hasAu
e9c80 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 thentication($this->originUrl)).
e9ca0 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 52 65 76 69 65 77 20 79 6f 75 72 20 63 6f 6e 66 69 67 {.$message.=.'Review.your.config
e9cc0 75 72 65 64 20 47 69 74 48 75 62 20 4f 41 75 74 68 20 74 6f 6b 65 6e 20 6f 72 20 65 6e 74 65 72 ured.GitHub.OAuth.token.or.enter
e9ce0 20 61 20 6e 65 77 20 6f 6e 65 20 74 6f 20 67 6f 20 6f 76 65 72 20 74 68 65 20 41 50 49 20 72 61 .a.new.one.to.go.over.the.API.ra
e9d00 74 65 20 6c 69 6d 69 74 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 te.limit.';.}.else.{.$message.=.
e9d20 27 43 72 65 61 74 65 20 61 20 47 69 74 48 75 62 20 4f 41 75 74 68 20 74 6f 6b 65 6e 20 74 6f 20 'Create.a.GitHub.OAuth.token.to.
e9d40 67 6f 20 6f 76 65 72 20 74 68 65 20 41 50 49 20 72 61 74 65 20 6c 69 6d 69 74 2e 27 3b 0a 7d 0a go.over.the.API.rate.limit.';.}.
e9d60 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 47 69 74 48 75 62 20 41 50 49 .$message.=.sprintf(.'GitHub.API
e9d80 20 6c 69 6d 69 74 20 28 25 64 20 63 61 6c 6c 73 2f 68 72 29 20 69 73 20 65 78 68 61 75 73 74 65 .limit.(%d.calls/hr).is.exhauste
e9da0 64 2c 20 63 6f 75 6c 64 20 6e 6f 74 20 66 65 74 63 68 20 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 d,.could.not.fetch.'.$this->file
e9dc0 55 72 6c 2e 27 2e 20 27 2e 24 6d 65 73 73 61 67 65 2e 27 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f Url.'..'.$message.'.You.can.also
e9de0 20 77 61 69 74 20 75 6e 74 69 6c 20 25 73 20 66 6f 72 20 74 68 65 20 72 61 74 65 20 6c 69 6d 69 .wait.until.%s.for.the.rate.limi
e9e00 74 20 74 6f 20 72 65 73 65 74 2e 27 2c 0a 24 72 61 74 65 4c 69 6d 69 74 5b 27 6c 69 6d 69 74 27 t.to.reset.',.$rateLimit['limit'
e9e20 5d 2c 0a 24 72 61 74 65 4c 69 6d 69 74 5b 27 72 65 73 65 74 27 5d 0a 29 2e 22 5c 6e 22 3b 0a 7d ],.$rateLimit['reset'].)."\n";.}
e9e40 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 43 6f 75 6c 64 20 6e 6f 74 20 66 .else.{.$message..=.'Could.not.f
e9e60 65 74 63 68 20 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 2c 20 70 6c 65 61 73 65 20 etch.'.$this->fileUrl.',.please.
e9e80 27 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 ';.if.($this->io->hasAuthenticat
e9ea0 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 24 6d 65 73 73 61 67 ion($this->originUrl)).{.$messag
e9ec0 65 20 2e 3d 20 27 72 65 76 69 65 77 20 79 6f 75 72 20 63 6f 6e 66 69 67 75 72 65 64 20 47 69 74 e..=.'review.your.configured.Git
e9ee0 48 75 62 20 4f 41 75 74 68 20 74 6f 6b 65 6e 20 6f 72 20 65 6e 74 65 72 20 61 20 6e 65 77 20 6f Hub.OAuth.token.or.enter.a.new.o
e9f00 6e 65 20 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 72 65 70 6f 73 27 3b 0a 7d 20 65 ne.to.access.private.repos';.}.e
e9f20 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 63 72 65 61 74 65 20 61 20 47 69 74 48 lse.{.$message..=.'create.a.GitH
e9f40 75 62 20 4f 41 75 74 68 20 74 6f 6b 65 6e 20 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 65 ub.OAuth.token.to.access.private
e9f60 20 72 65 70 6f 73 27 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 67 69 74 48 75 62 55 74 69 6c 2d 3e .repos';.}.}..if.(!$gitHubUtil->
e9f80 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 authorizeOAuth($this->originUrl)
e9fa0 0a 26 26 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 .&&.(!$this->io->isInteractive()
e9fc0 20 7c 7c 20 21 24 67 69 74 48 75 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 .||.!$gitHubUtil->authorizeOAuth
e9fe0 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 Interactively($this->originUrl,.
ea000 24 6d 65 73 73 61 67 65 29 29 0a 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f $message)).).{.throw.new.Transpo
ea020 72 74 45 78 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 61 75 74 68 65 6e 74 69 63 rtException('Could.not.authentic
ea040 61 74 65 20 61 67 61 69 6e 73 74 20 27 2e 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 ate.against.'.$this->originUrl,.
ea060 34 30 31 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 401);.}.}.elseif.($this->config.
ea080 26 26 20 69 6e 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 74 &&.in_array($this->originUrl,.$t
ea0a0 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 his->config->get('gitlab-domains
ea0c0 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 22 5c 6e 22 2e 27 43 6f '),.true)).{.$message.=."\n".'Co
ea0e0 75 6c 64 20 6e 6f 74 20 66 65 74 63 68 20 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 uld.not.fetch.'.$this->fileUrl.'
ea100 2c 20 65 6e 74 65 72 20 79 6f 75 72 20 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 ,.enter.your.'...$this->originUr
ea120 6c 20 2e 20 27 20 63 72 65 64 65 6e 74 69 61 6c 73 20 27 20 2e 28 24 68 74 74 70 53 74 61 74 75 l...'.credentials.'..($httpStatu
ea140 73 20 3d 3d 3d 20 34 30 31 20 3f 20 27 74 6f 20 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 72 s.===.401.?.'to.access.private.r
ea160 65 70 6f 73 27 20 3a 20 27 74 6f 20 67 6f 20 6f 76 65 72 20 74 68 65 20 41 50 49 20 72 61 74 65 epos'.:.'to.go.over.the.API.rate
ea180 20 6c 69 6d 69 74 27 29 3b 0a 24 67 69 74 4c 61 62 55 74 69 6c 20 3d 20 6e 65 77 20 47 69 74 4c .limit');.$gitLabUtil.=.new.GitL
ea1a0 61 62 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2c 20 6e 75 6c ab($this->io,.$this->config,.nul
ea1c0 6c 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 l);..if.($this->io->hasAuthentic
ea1e0 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 20 26 26 20 28 24 61 75 74 ation($this->originUrl).&&.($aut
ea200 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e h.=.$this->io->getAuthentication
ea220 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 26 26 20 69 6e 5f 61 72 72 61 79 28 ($this->originUrl)).&&.in_array(
ea240 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 2c 20 61 72 72 61 79 28 27 67 69 74 6c 61 62 $auth['password'],.array('gitlab
ea260 2d 63 69 2d 74 6f 6b 65 6e 27 2c 20 27 70 72 69 76 61 74 65 2d 74 6f 6b 65 6e 27 29 2c 20 74 72 -ci-token',.'private-token'),.tr
ea280 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 ue)).{.throw.new.TransportExcept
ea2a0 69 6f 6e 28 22 49 6e 76 61 6c 69 64 20 63 72 65 64 65 6e 74 69 61 6c 73 20 66 6f 72 20 27 22 20 ion("Invalid.credentials.for.'".
ea2c0 2e 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 2e 20 22 27 2c 20 61 62 6f 72 74 69 6e 67 2e ..$this->fileUrl..."',.aborting.
ea2e0 22 2c 20 24 68 74 74 70 53 74 61 74 75 73 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 67 69 74 4c 61 62 ",.$httpStatus);.}..if.(!$gitLab
ea300 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 Util->authorizeOAuth($this->orig
ea320 69 6e 55 72 6c 29 0a 26 26 20 28 21 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 inUrl).&&.(!$this->io->isInterac
ea340 74 69 76 65 28 29 20 7c 7c 20 21 24 67 69 74 4c 61 62 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a tive().||.!$gitLabUtil->authoriz
ea360 65 4f 41 75 74 68 49 6e 74 65 72 61 63 74 69 76 65 6c 79 28 24 74 68 69 73 2d 3e 73 63 68 65 6d eOAuthInteractively($this->schem
ea380 65 2c 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 6d 65 73 73 61 67 65 29 29 0a e,.$this->originUrl,.$message)).
ea3a0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e ).{.throw.new.TransportException
ea3c0 28 27 43 6f 75 6c 64 20 6e 6f 74 20 61 75 74 68 65 6e 74 69 63 61 74 65 20 61 67 61 69 6e 73 74 ('Could.not.authenticate.against
ea3e0 20 27 2e 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 34 30 31 29 3b 0a 7d 0a 7d 20 65 .'.$this->originUrl,.401);.}.}.e
ea400 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 26 26 20 24 74 68 69 73 2d 3e 6f lseif.($this->config.&&.$this->o
ea420 72 69 67 69 6e 55 72 6c 20 3d 3d 3d 20 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 29 20 7b 0a riginUrl.===.'bitbucket.org').{.
ea440 24 61 73 6b 46 6f 72 4f 41 75 74 68 54 6f 6b 65 6e 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 24 74 $askForOAuthToken.=.true;.if.($t
ea460 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 his->io->hasAuthentication($this
ea480 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 ->originUrl)).{.$auth.=.$this->i
ea4a0 6f 2d 3e 67 65 74 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 o->getAuthentication($this->orig
ea4c0 69 6e 55 72 6c 29 3b 0a 69 66 20 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 21 3d inUrl);.if.($auth['username'].!=
ea4e0 3d 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 74 68 27 29 20 7b 0a 24 62 69 74 62 75 63 6b 65 74 55 74 =.'x-token-auth').{.$bitbucketUt
ea500 69 6c 20 3d 20 6e 65 77 20 42 69 74 62 75 63 6b 65 74 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 il.=.new.Bitbucket($this->io,.$t
ea520 68 69 73 2d 3e 63 6f 6e 66 69 67 29 3b 0a 24 61 63 63 65 73 73 54 6f 6b 65 6e 20 3d 20 24 62 69 his->config);.$accessToken.=.$bi
ea540 74 62 75 63 6b 65 74 55 74 69 6c 2d 3e 72 65 71 75 65 73 74 54 6f 6b 65 6e 28 24 74 68 69 73 2d tbucketUtil->requestToken($this-
ea560 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 2c 20 24 >originUrl,.$auth['username'],.$
ea580 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 61 auth['password']);.if.(!empty($a
ea5a0 63 63 65 73 73 54 6f 6b 65 6e 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 75 74 ccessToken)).{.$this->io->setAut
ea5c0 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 27 78 hentication($this->originUrl,.'x
ea5e0 2d 74 6f 6b 65 6e 2d 61 75 74 68 27 2c 20 24 61 63 63 65 73 73 54 6f 6b 65 6e 29 3b 0a 24 61 73 -token-auth',.$accessToken);.$as
ea600 6b 46 6f 72 4f 41 75 74 68 54 6f 6b 65 6e 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 65 6c 73 65 kForOAuthToken.=.false;.}.}.else
ea620 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 .{.throw.new.TransportException(
ea640 27 43 6f 75 6c 64 20 6e 6f 74 20 61 75 74 68 65 6e 74 69 63 61 74 65 20 61 67 61 69 6e 73 74 20 'Could.not.authenticate.against.
ea660 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 34 30 31 29 3b 0a 7d 0a 7d 0a '...$this->originUrl,.401);.}.}.
ea680 0a 69 66 20 28 24 61 73 6b 46 6f 72 4f 41 75 74 68 54 6f 6b 65 6e 29 20 7b 0a 24 6d 65 73 73 61 .if.($askForOAuthToken).{.$messa
ea6a0 67 65 20 3d 20 22 5c 6e 22 2e 27 43 6f 75 6c 64 20 6e 6f 74 20 66 65 74 63 68 20 27 20 2e 20 24 ge.=."\n".'Could.not.fetch.'...$
ea6c0 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 2e 20 27 2c 20 70 6c 65 61 73 65 20 63 72 65 61 74 65 this->fileUrl...',.please.create
ea6e0 20 61 20 62 69 74 62 75 63 6b 65 74 20 4f 41 75 74 68 20 74 6f 6b 65 6e 20 74 6f 20 27 20 2e 20 .a.bitbucket.OAuth.token.to.'...
ea700 28 28 24 68 74 74 70 53 74 61 74 75 73 20 3d 3d 3d 20 34 30 31 20 7c 7c 20 24 68 74 74 70 53 74 (($httpStatus.===.401.||.$httpSt
ea720 61 74 75 73 20 3d 3d 3d 20 34 30 33 29 20 3f 20 27 61 63 63 65 73 73 20 70 72 69 76 61 74 65 20 atus.===.403).?.'access.private.
ea740 72 65 70 6f 73 27 20 3a 20 27 67 6f 20 6f 76 65 72 20 74 68 65 20 41 50 49 20 72 61 74 65 20 6c repos'.:.'go.over.the.API.rate.l
ea760 69 6d 69 74 27 29 3b 0a 24 62 69 74 42 75 63 6b 65 74 55 74 69 6c 20 3d 20 6e 65 77 20 42 69 74 imit');.$bitBucketUtil.=.new.Bit
ea780 62 75 63 6b 65 74 28 24 74 68 69 73 2d 3e 69 6f 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 29 bucket($this->io,.$this->config)
ea7a0 3b 0a 69 66 20 28 21 20 24 62 69 74 42 75 63 6b 65 74 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a ;.if.(!.$bitBucketUtil->authoriz
ea7c0 65 4f 41 75 74 68 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 0a 26 26 20 28 21 20 24 eOAuth($this->originUrl).&&.(!.$
ea7e0 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 20 7c 7c 20 21 24 62 this->io->isInteractive().||.!$b
ea800 69 74 42 75 63 6b 65 74 55 74 69 6c 2d 3e 61 75 74 68 6f 72 69 7a 65 4f 41 75 74 68 49 6e 74 65 itBucketUtil->authorizeOAuthInte
ea820 72 61 63 74 69 76 65 6c 79 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 24 6d 65 73 ractively($this->originUrl,.$mes
ea840 73 61 67 65 29 29 0a 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 sage)).).{.throw.new.TransportEx
ea860 63 65 70 74 69 6f 6e 28 27 43 6f 75 6c 64 20 6e 6f 74 20 61 75 74 68 65 6e 74 69 63 61 74 65 20 ception('Could.not.authenticate.
ea880 61 67 61 69 6e 73 74 20 27 20 2e 20 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 34 30 against.'...$this->originUrl,.40
ea8a0 31 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 24 68 74 74 70 53 74 61 74 1);.}.}.}.else.{...if.($httpStat
ea8c0 75 73 20 3d 3d 3d 20 34 30 34 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 us.===.404).{.return;.}....if.(!
ea8e0 24 74 68 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 69 66 $this->io->isInteractive()).{.if
ea900 20 28 24 68 74 74 70 53 74 61 74 75 73 20 3d 3d 3d 20 34 30 31 29 20 7b 0a 24 6d 65 73 73 61 67 .($httpStatus.===.401).{.$messag
ea920 65 20 3d 20 22 54 68 65 20 27 22 20 2e 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 2e 20 22 e.=."The.'"...$this->fileUrl..."
ea940 27 20 55 52 4c 20 72 65 71 75 69 72 65 64 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2e 5c 6e '.URL.required.authentication.\n
ea960 59 6f 75 20 6d 75 73 74 20 62 65 20 75 73 69 6e 67 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 76 You.must.be.using.the.interactiv
ea980 65 20 63 6f 6e 73 6f 6c 65 20 74 6f 20 61 75 74 68 65 6e 74 69 63 61 74 65 22 3b 0a 7d 0a 69 66 e.console.to.authenticate";.}.if
ea9a0 20 28 24 68 74 74 70 53 74 61 74 75 73 20 3d 3d 3d 20 34 30 33 29 20 7b 0a 24 6d 65 73 73 61 67 .($httpStatus.===.403).{.$messag
ea9c0 65 20 3d 20 22 54 68 65 20 27 22 20 2e 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 2e 20 22 e.=."The.'"...$this->fileUrl..."
ea9e0 27 20 55 52 4c 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 63 63 65 73 73 65 64 3a 20 22 20 2e '.URL.could.not.be.accessed:."..
eaa00 20 24 72 65 61 73 6f 6e 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 .$reason;.}..throw.new.Transport
eaa20 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 68 74 74 70 53 74 61 74 75 73 29 Exception($message,.$httpStatus)
eaa40 3b 0a 7d 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 ;.}...if.($this->io->hasAuthenti
eaa60 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 29 29 20 7b 0a 74 68 72 6f cation($this->originUrl)).{.thro
eaa80 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 22 49 6e 76 61 6c 69 w.new.TransportException("Invali
eaaa0 64 20 63 72 65 64 65 6e 74 69 61 6c 73 20 66 6f 72 20 27 22 20 2e 20 24 74 68 69 73 2d 3e 66 69 d.credentials.for.'"...$this->fi
eaac0 6c 65 55 72 6c 20 2e 20 22 27 2c 20 61 62 6f 72 74 69 6e 67 2e 22 2c 20 24 68 74 74 70 53 74 61 leUrl..."',.aborting.",.$httpSta
eaae0 74 75 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 tus);.}..$this->io->writeError('
eab00 20 20 20 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 72 65 71 75 69 72 65 64 20 28 3c 69 6e ....Authentication.required.(<in
eab20 66 6f 3e 27 2e 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2e 27 3c 2f 69 6e 66 6f 3e 29 3a fo>'.$this->originUrl.'</info>):
eab40 27 29 3b 0a 24 75 73 65 72 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 27 ');.$username.=.$this->io->ask('
eab60 20 20 20 20 20 20 55 73 65 72 6e 61 6d 65 3a 20 27 29 3b 0a 24 70 61 73 73 77 6f 72 64 20 3d 20 ......Username:.');.$password.=.
eab80 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 28 27 20 20 20 $this->io->askAndHideAnswer('...
eaba0 20 20 20 50 61 73 73 77 6f 72 64 3a 20 27 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 73 65 74 41 ...Password:.');.$this->io->setA
eabc0 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 72 69 67 69 6e 55 72 6c 2c 20 uthentication($this->originUrl,.
eabe0 24 75 73 65 72 6e 61 6d 65 2c 20 24 70 61 73 73 77 6f 72 64 29 3b 0a 24 74 68 69 73 2d 3e 73 74 $username,.$password);.$this->st
eac00 6f 72 65 41 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 73 74 oreAuth.=.$this->config->get('st
eac20 6f 72 65 2d 61 75 74 68 73 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 74 72 79 20 3d 20 74 ore-auths');.}..$this->retry.=.t
eac40 72 75 65 3b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f rue;.throw.new.TransportExceptio
eac60 6e 28 27 52 45 54 52 59 27 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f n('RETRY');.}..protected.functio
eac80 6e 20 67 65 74 4f 70 74 69 6f 6e 73 46 6f 72 55 72 6c 28 24 6f 72 69 67 69 6e 55 72 6c 2c 20 24 n.getOptionsForUrl($originUrl,.$
eaca0 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 6c 73 4f 70 74 69 6f 6e 73 additionalOptions).{.$tlsOptions
eacc0 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 64 69 73 61 62 6c .=.array();....if.($this->disabl
eace0 65 54 6c 73 20 3d 3d 3d 20 66 61 6c 73 65 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 eTls.===.false.&&.PHP_VERSION_ID
ead00 20 3c 20 35 30 36 30 30 20 26 26 20 21 73 74 72 65 61 6d 5f 69 73 5f 6c 6f 63 61 6c 28 24 74 68 .<.50600.&&.!stream_is_local($th
ead20 69 73 2d 3e 66 69 6c 65 55 72 6c 29 29 20 7b 0a 24 68 6f 73 74 20 3d 20 70 61 72 73 65 5f 75 72 is->fileUrl)).{.$host.=.parse_ur
ead40 6c 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b l($this->fileUrl,.PHP_URL_HOST);
ead60 0a 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 33 30 34 29 20 7b 0a ..if.(PHP_VERSION_ID.<.50304).{.
ead80 0a 20 0a 20 0a 20 0a 0a 69 66 20 28 24 68 6f 73 74 20 3d 3d 3d 20 27 67 69 74 68 75 62 2e 63 6f ........if.($host.===.'github.co
eada0 6d 27 20 7c 7c 20 24 68 6f 73 74 20 3d 3d 3d 20 27 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 27 m'.||.$host.===.'api.github.com'
eadc0 29 20 7b 0a 24 68 6f 73 74 20 3d 20 27 2a 2e 67 69 74 68 75 62 2e 63 6f 6d 27 3b 0a 7d 0a 7d 0a ).{.$host.=.'*.github.com';.}.}.
eade0 0a 24 74 6c 73 4f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 43 4e 5f 6d 61 74 63 68 27 5d 20 .$tlsOptions['ssl']['CN_match'].
eae00 3d 20 24 68 6f 73 74 3b 0a 24 74 6c 73 4f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 53 4e 49 =.$host;.$tlsOptions['ssl']['SNI
eae20 5f 73 65 72 76 65 72 5f 6e 61 6d 65 27 5d 20 3d 20 24 68 6f 73 74 3b 0a 0a 24 75 72 6c 41 75 74 _server_name'].=.$host;..$urlAut
eae40 68 6f 72 69 74 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 55 72 6c 41 75 74 68 6f 72 69 74 79 28 hority.=.$this->getUrlAuthority(
eae60 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 $this->fileUrl);..if.(isset($thi
eae80 73 2d 3e 70 65 65 72 43 65 72 74 69 66 69 63 61 74 65 4d 61 70 5b 24 75 72 6c 41 75 74 68 6f 72 s->peerCertificateMap[$urlAuthor
eaea0 69 74 79 5d 29 29 20 7b 0a 0a 20 24 63 65 72 74 4d 61 70 20 3d 20 24 74 68 69 73 2d 3e 70 65 65 ity])).{...$certMap.=.$this->pee
eaec0 72 43 65 72 74 69 66 69 63 61 74 65 4d 61 70 5b 24 75 72 6c 41 75 74 68 6f 72 69 74 79 5d 3b 0a rCertificateMap[$urlAuthority];.
eaee0 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 27 27 2c 20 74 72 75 65 2c .$this->io->writeError('',.true,
eaf00 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d .IOInterface::DEBUG);.$this->io-
eaf20 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e 74 66 28 0a 27 55 73 69 6e 67 20 3c 69 6e 66 >writeError(sprintf(.'Using.<inf
eaf40 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 61 73 20 43 4e 20 66 6f 72 20 73 75 62 6a 65 63 74 41 6c 74 o>%s</info>.as.CN.for.subjectAlt
eaf60 4e 61 6d 65 20 65 6e 61 62 6c 65 64 20 68 6f 73 74 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f Name.enabled.host.<info>%s</info
eaf80 3e 27 2c 0a 24 63 65 72 74 4d 61 70 5b 27 63 6e 27 5d 2c 0a 24 75 72 6c 41 75 74 68 6f 72 69 74 >',.$certMap['cn'],.$urlAuthorit
eafa0 79 0a 29 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a y.),.true,.IOInterface::DEBUG);.
eafc0 0a 24 74 6c 73 4f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 43 4e 5f 6d 61 74 63 68 27 5d 20 .$tlsOptions['ssl']['CN_match'].
eafe0 3d 20 24 63 65 72 74 4d 61 70 5b 27 63 6e 27 5d 3b 0a 24 74 6c 73 4f 70 74 69 6f 6e 73 5b 27 73 =.$certMap['cn'];.$tlsOptions['s
eb000 73 6c 27 5d 5b 27 70 65 65 72 5f 66 69 6e 67 65 72 70 72 69 6e 74 27 5d 20 3d 20 24 63 65 72 74 sl']['peer_fingerprint'].=.$cert
eb020 4d 61 70 5b 27 66 70 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 43 61 42 75 6e 64 6c 65 3a 3a Map['fp'];.}.elseif.(!CaBundle::
eb040 69 73 4f 70 65 6e 73 73 6c 50 61 72 73 65 53 61 66 65 28 29 20 26 26 20 24 68 6f 73 74 20 3d 3d isOpensslParseSafe().&&.$host.==
eb060 3d 20 27 72 65 70 6f 2e 70 61 63 6b 61 67 69 73 74 2e 6f 72 67 27 29 20 7b 0a 0a 20 24 74 6c 73 =.'repo.packagist.org').{...$tls
eb080 4f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 43 4e 5f 6d 61 74 63 68 27 5d 20 3d 20 27 70 61 Options['ssl']['CN_match'].=.'pa
eb0a0 63 6b 61 67 69 73 74 2e 6f 72 67 27 3b 0a 7d 0a 7d 0a 0a 24 68 65 61 64 65 72 73 20 3d 20 61 72 ckagist.org';.}.}..$headers.=.ar
eb0c0 72 61 79 28 29 3b 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 6c ray();..if.(extension_loaded('zl
eb0e0 69 62 27 29 29 20 7b 0a 24 68 65 61 64 65 72 73 5b 5d 20 3d 20 27 41 63 63 65 70 74 2d 45 6e 63 ib')).{.$headers[].=.'Accept-Enc
eb100 6f 64 69 6e 67 3a 20 67 7a 69 70 27 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 oding:.gzip';.}..$options.=.arra
eb120 79 5f 72 65 70 6c 61 63 65 5f 72 65 63 75 72 73 69 76 65 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f y_replace_recursive($this->optio
eb140 6e 73 2c 20 24 74 6c 73 4f 70 74 69 6f 6e 73 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 ns,.$tlsOptions,.$additionalOpti
eb160 6f 6e 73 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 67 72 61 64 65 64 4d 6f 64 65 29 20 ons);.if.(!$this->degradedMode).
eb180 7b 0a 0a 20 0a 20 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 70 72 6f 74 6f 63 6f 6c {.....$options['http']['protocol
eb1a0 5f 76 65 72 73 69 6f 6e 27 5d 20 3d 20 31 2e 31 3b 0a 24 68 65 61 64 65 72 73 5b 5d 20 3d 20 27 _version'].=.1.1;.$headers[].=.'
eb1c0 43 6f 6e 6e 65 63 74 69 6f 6e 3a 20 63 6c 6f 73 65 27 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 Connection:.close';.}..if.($this
eb1e0 2d 3e 69 6f 2d 3e 68 61 73 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 ->io->hasAuthentication($originU
eb200 72 6c 29 29 20 7b 0a 24 61 75 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 67 65 74 41 75 74 rl)).{.$auth.=.$this->io->getAut
eb220 68 65 6e 74 69 63 61 74 69 6f 6e 28 24 6f 72 69 67 69 6e 55 72 6c 29 3b 0a 69 66 20 28 27 67 69 hentication($originUrl);.if.('gi
eb240 74 68 75 62 2e 63 6f 6d 27 20 3d 3d 3d 20 24 6f 72 69 67 69 6e 55 72 6c 20 26 26 20 27 78 2d 6f thub.com'.===.$originUrl.&&.'x-o
eb260 61 75 74 68 2d 62 61 73 69 63 27 20 3d 3d 3d 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 auth-basic'.===.$auth['password'
eb280 5d 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 67 69 74 68 75 62 2d 74 6f 6b 65 6e 27 5d 20 3d 20 ]).{.$options['github-token'].=.
eb2a0 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 $auth['username'];.}.elseif.($th
eb2c0 69 73 2d 3e 63 6f 6e 66 69 67 20 26 26 20 69 6e 5f 61 72 72 61 79 28 24 6f 72 69 67 69 6e 55 72 is->config.&&.in_array($originUr
eb2e0 6c 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f l,.$this->config->get('gitlab-do
eb300 6d 61 69 6e 73 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 69 66 20 28 24 61 75 74 68 5b 27 70 61 73 mains'),.true)).{.if.($auth['pas
eb320 73 77 6f 72 64 27 5d 20 3d 3d 3d 20 27 6f 61 75 74 68 32 27 29 20 7b 0a 24 68 65 61 64 65 72 73 sword'].===.'oauth2').{.$headers
eb340 5b 5d 20 3d 20 27 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 65 61 72 65 72 20 27 2e 24 61 [].=.'Authorization:.Bearer.'.$a
eb360 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 61 75 74 68 uth['username'];.}.elseif.($auth
eb380 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 3d 3d 20 27 70 72 69 76 61 74 65 2d 74 6f 6b 65 6e 27 ['password'].===.'private-token'
eb3a0 20 7c 7c 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 3d 3d 20 27 67 69 74 6c 61 .||.$auth['password'].===.'gitla
eb3c0 62 2d 63 69 2d 74 6f 6b 65 6e 27 29 20 7b 0a 24 68 65 61 64 65 72 73 5b 5d 20 3d 20 27 50 52 49 b-ci-token').{.$headers[].=.'PRI
eb3e0 56 41 54 45 2d 54 4f 4b 45 4e 3a 20 27 2e 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 3b VATE-TOKEN:.'.$auth['username'];
eb400 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 20 3d 3d 3d .}.}.elseif.('bitbucket.org'.===
eb420 20 24 6f 72 69 67 69 6e 55 72 6c 0a 26 26 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 20 21 3d .$originUrl.&&.$this->fileUrl.!=
eb440 3d 20 42 69 74 62 75 63 6b 65 74 3a 3a 4f 41 55 54 48 32 5f 41 43 43 45 53 53 5f 54 4f 4b 45 4e =.Bitbucket::OAUTH2_ACCESS_TOKEN
eb460 5f 55 52 4c 20 26 26 20 27 78 2d 74 6f 6b 65 6e 2d 61 75 74 68 27 20 3d 3d 3d 20 24 61 75 74 68 _URL.&&.'x-token-auth'.===.$auth
eb480 5b 27 75 73 65 72 6e 61 6d 65 27 5d 0a 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 50 ['username'].).{.if.(!$this->isP
eb4a0 75 62 6c 69 63 42 69 74 42 75 63 6b 65 74 44 6f 77 6e 6c 6f 61 64 28 24 74 68 69 73 2d 3e 66 69 ublicBitBucketDownload($this->fi
eb4c0 6c 65 55 72 6c 29 29 20 7b 0a 24 68 65 61 64 65 72 73 5b 5d 20 3d 20 27 41 75 74 68 6f 72 69 7a leUrl)).{.$headers[].=.'Authoriz
eb4e0 61 74 69 6f 6e 3a 20 42 65 61 72 65 72 20 27 20 2e 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 ation:.Bearer.'...$auth['passwor
eb500 64 27 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 75 74 68 53 74 72 20 3d 20 62 61 73 65 36 d'];.}.}.else.{.$authStr.=.base6
eb520 34 5f 65 6e 63 6f 64 65 28 24 61 75 74 68 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 2e 20 27 3a 27 4_encode($auth['username']...':'
eb540 20 2e 20 24 61 75 74 68 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 3b 0a 24 68 65 61 64 65 72 73 5b ...$auth['password']);.$headers[
eb560 5d 20 3d 20 27 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 61 73 69 63 20 27 2e 24 61 75 74 ].=.'Authorization:.Basic.'.$aut
eb580 68 53 74 72 3b 0a 7d 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 66 6f 6c hStr;.}.}..$options['http']['fol
eb5a0 6c 6f 77 5f 6c 6f 63 61 74 69 6f 6e 27 5d 20 3d 20 30 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 low_location'].=.0;..if.(isset($
eb5c0 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 20 26 26 20 21 69 options['http']['header']).&&.!i
eb5e0 73 5f 61 72 72 61 79 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 s_array($options['http']['header
eb600 27 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 '])).{.$options['http']['header'
eb620 5d 20 3d 20 65 78 70 6c 6f 64 65 28 22 5c 72 5c 6e 22 2c 20 74 72 69 6d 28 24 6f 70 74 69 6f 6e ].=.explode("\r\n",.trim($option
eb640 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 2c 20 22 5c 72 5c 6e 22 29 29 3b 0a 7d s['http']['header'],."\r\n"));.}
eb660 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b .foreach.($headers.as.$header).{
eb680 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 5b 5d 20 3d 20 .$options['http']['header'][].=.
eb6a0 24 68 65 61 64 65 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a $header;.}..return.$options;.}..
eb6c0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 52 65 64 69 72 65 63 74 28 private.function.handleRedirect(
eb6e0 61 72 72 61 79 20 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 2c 20 61 72 72 array.$http_response_header,.arr
eb700 61 79 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 2c 20 24 72 65 73 75 6c 74 29 0a ay.$additionalOptions,.$result).
eb720 7b 0a 69 66 20 28 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 20 3d 20 24 74 68 69 73 2d 3e 66 {.if.($locationHeader.=.$this->f
eb740 69 6e 64 48 65 61 64 65 72 56 61 6c 75 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 indHeaderValue($http_response_he
eb760 61 64 65 72 2c 20 27 6c 6f 63 61 74 69 6f 6e 27 29 29 20 7b 0a 69 66 20 28 70 61 72 73 65 5f 75 ader,.'location')).{.if.(parse_u
eb780 72 6c 28 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 rl($locationHeader,.PHP_URL_SCHE
eb7a0 4d 45 29 29 20 7b 0a 0a 20 24 74 61 72 67 65 74 55 72 6c 20 3d 20 24 6c 6f 63 61 74 69 6f 6e 48 ME)).{...$targetUrl.=.$locationH
eb7c0 65 61 64 65 72 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 61 72 73 65 5f 75 72 6c 28 24 6c 6f 63 61 eader;.}.elseif.(parse_url($loca
eb7e0 74 69 6f 6e 48 65 61 64 65 72 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 29 20 7b 0a 0a 20 24 tionHeader,.PHP_URL_HOST)).{...$
eb800 74 61 72 67 65 74 55 72 6c 20 3d 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 65 2e 27 3a 27 2e 24 6c targetUrl.=.$this->scheme.':'.$l
eb820 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 2f 27 20 3d 3d 3d ocationHeader;.}.elseif.('/'.===
eb840 20 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 5b 30 5d 29 20 7b 0a 0a 20 24 75 72 6c 48 6f 73 .$locationHeader[0]).{...$urlHos
eb860 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2c 20 50 48 t.=.parse_url($this->fileUrl,.PH
eb880 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 0a 0a 20 24 74 61 72 67 65 74 55 72 6c 20 3d 20 70 72 65 P_URL_HOST);....$targetUrl.=.pre
eb8a0 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 2e 2b 28 3f 3a 2f 2f 7c 40 29 27 2e 70 72 65 67 5f 71 g_replace('{^(.+(?://|@)'.preg_q
eb8c0 75 6f 74 65 28 24 75 72 6c 48 6f 73 74 29 2e 27 28 3f 3a 3a 5c 64 2b 29 3f 29 28 3f 3a 5b 2f 5c uote($urlHost).'(?::\d+)?)(?:[/\
eb8e0 3f 5d 2e 2a 29 3f 24 7d 27 2c 20 27 5c 31 27 2e 24 6c 6f 63 61 74 69 6f 6e 48 65 61 64 65 72 2c ?].*)?$}',.'\1'.$locationHeader,
eb900 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 0a 20 24 .$this->fileUrl);.}.else.{.....$
eb920 74 61 72 67 65 74 55 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 5e 28 2e 2b 2f targetUrl.=.preg_replace('{^(.+/
eb940 29 5b 5e 2f 3f 5d 2a 28 3f 3a 5c 3f 2e 2a 29 3f 24 7d 27 2c 20 27 5c 31 27 2e 24 6c 6f 63 61 74 )[^/?]*(?:\?.*)?$}',.'\1'.$locat
eb960 69 6f 6e 48 65 61 64 65 72 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 29 3b 0a 7d 0a 7d 0a ionHeader,.$this->fileUrl);.}.}.
eb980 0a 69 66 20 28 21 65 6d 70 74 79 28 24 74 61 72 67 65 74 55 72 6c 29 29 20 7b 0a 24 74 68 69 73 .if.(!empty($targetUrl)).{.$this
eb9a0 2d 3e 72 65 64 69 72 65 63 74 73 2b 2b 3b 0a 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 ->redirects++;..$this->io->write
eb9c0 45 72 72 6f 72 28 27 27 2c 20 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 Error('',.true,.IOInterface::DEB
eb9e0 55 47 29 3b 0a 24 74 68 69 73 2d 3e 69 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 73 70 72 69 6e UG);.$this->io->writeError(sprin
eba00 74 66 28 27 46 6f 6c 6c 6f 77 69 6e 67 20 72 65 64 69 72 65 63 74 20 28 25 75 29 20 25 73 27 2c tf('Following.redirect.(%u).%s',
eba20 20 24 74 68 69 73 2d 3e 72 65 64 69 72 65 63 74 73 2c 20 24 74 68 69 73 2d 3e 73 74 72 69 70 43 .$this->redirects,.$this->stripC
eba40 72 65 64 65 6e 74 69 61 6c 73 46 72 6f 6d 55 72 6c 28 24 74 61 72 67 65 74 55 72 6c 29 29 2c 20 redentialsFromUrl($targetUrl)),.
eba60 74 72 75 65 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 3a 3a 44 45 42 55 47 29 3b 0a 0a 24 61 64 64 true,.IOInterface::DEBUG);..$add
eba80 69 74 69 6f 6e 61 6c 4f 70 74 69 6f 6e 73 5b 27 72 65 64 69 72 65 63 74 73 27 5d 20 3d 20 24 74 itionalOptions['redirects'].=.$t
ebaa0 68 69 73 2d 3e 72 65 64 69 72 65 63 74 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 his->redirects;..return.$this->g
ebac0 65 74 28 70 61 72 73 65 5f 75 72 6c 28 24 74 61 72 67 65 74 55 72 6c 2c 20 50 48 50 5f 55 52 4c et(parse_url($targetUrl,.PHP_URL
ebae0 5f 48 4f 53 54 29 2c 20 24 74 61 72 67 65 74 55 72 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 4f _HOST),.$targetUrl,.$additionalO
ebb00 70 74 69 6f 6e 73 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 4e 61 6d 65 2c 20 24 74 68 69 73 2d 3e ptions,.$this->fileName,.$this->
ebb20 70 72 6f 67 72 65 73 73 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 72 65 74 72 79 29 progress);.}..if.(!$this->retry)
ebb40 20 7b 0a 24 65 20 3d 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 .{.$e.=.new.TransportException('
ebb60 54 68 65 20 22 27 2e 24 74 68 69 73 2d 3e 66 69 6c 65 55 72 6c 2e 27 22 20 66 69 6c 65 20 63 6f The."'.$this->fileUrl.'".file.co
ebb80 75 6c 64 20 6e 6f 74 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 2c 20 67 6f 74 20 72 65 64 69 72 uld.not.be.downloaded,.got.redir
ebba0 65 63 74 20 77 69 74 68 6f 75 74 20 4c 6f 63 61 74 69 6f 6e 20 28 27 2e 24 68 74 74 70 5f 72 65 ect.without.Location.('.$http_re
ebbc0 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 5b 30 5d 2e 27 29 27 29 3b 0a 24 65 2d 3e 73 65 74 48 65 sponse_header[0].')');.$e->setHe
ebbe0 61 64 65 72 73 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 0a 24 65 aders($http_response_header);.$e
ebc00 2d 3e 73 65 74 52 65 73 70 6f 6e 73 65 28 24 72 65 73 75 6c 74 29 3b 0a 0a 74 68 72 6f 77 20 24 ->setResponse($result);..throw.$
ebc20 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 e;.}..return.false;.}.......priv
ebc40 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 6c 73 44 65 66 61 75 6c 74 73 28 61 72 72 61 ate.function.getTlsDefaults(arra
ebc60 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 63 69 70 68 65 72 73 20 3d 20 69 6d 70 6c 6f 64 65 y.$options).{.$ciphers.=.implode
ebc80 28 27 3a 27 2c 20 61 72 72 61 79 28 0a 27 45 43 44 48 45 2d 52 53 41 2d 41 45 53 31 32 38 2d 47 (':',.array(.'ECDHE-RSA-AES128-G
ebca0 43 4d 2d 53 48 41 32 35 36 27 2c 0a 27 45 43 44 48 45 2d 45 43 44 53 41 2d 41 45 53 31 32 38 2d CM-SHA256',.'ECDHE-ECDSA-AES128-
ebcc0 47 43 4d 2d 53 48 41 32 35 36 27 2c 0a 27 45 43 44 48 45 2d 52 53 41 2d 41 45 53 32 35 36 2d 47 GCM-SHA256',.'ECDHE-RSA-AES256-G
ebce0 43 4d 2d 53 48 41 33 38 34 27 2c 0a 27 45 43 44 48 45 2d 45 43 44 53 41 2d 41 45 53 32 35 36 2d CM-SHA384',.'ECDHE-ECDSA-AES256-
ebd00 47 43 4d 2d 53 48 41 33 38 34 27 2c 0a 27 44 48 45 2d 52 53 41 2d 41 45 53 31 32 38 2d 47 43 4d GCM-SHA384',.'DHE-RSA-AES128-GCM
ebd20 2d 53 48 41 32 35 36 27 2c 0a 27 44 48 45 2d 44 53 53 2d 41 45 53 31 32 38 2d 47 43 4d 2d 53 48 -SHA256',.'DHE-DSS-AES128-GCM-SH
ebd40 41 32 35 36 27 2c 0a 27 6b 45 44 48 2b 41 45 53 47 43 4d 27 2c 0a 27 45 43 44 48 45 2d 52 53 41 A256',.'kEDH+AESGCM',.'ECDHE-RSA
ebd60 2d 41 45 53 31 32 38 2d 53 48 41 32 35 36 27 2c 0a 27 45 43 44 48 45 2d 45 43 44 53 41 2d 41 45 -AES128-SHA256',.'ECDHE-ECDSA-AE
ebd80 53 31 32 38 2d 53 48 41 32 35 36 27 2c 0a 27 45 43 44 48 45 2d 52 53 41 2d 41 45 53 31 32 38 2d S128-SHA256',.'ECDHE-RSA-AES128-
ebda0 53 48 41 27 2c 0a 27 45 43 44 48 45 2d 45 43 44 53 41 2d 41 45 53 31 32 38 2d 53 48 41 27 2c 0a SHA',.'ECDHE-ECDSA-AES128-SHA',.
ebdc0 27 45 43 44 48 45 2d 52 53 41 2d 41 45 53 32 35 36 2d 53 48 41 33 38 34 27 2c 0a 27 45 43 44 48 'ECDHE-RSA-AES256-SHA384',.'ECDH
ebde0 45 2d 45 43 44 53 41 2d 41 45 53 32 35 36 2d 53 48 41 33 38 34 27 2c 0a 27 45 43 44 48 45 2d 52 E-ECDSA-AES256-SHA384',.'ECDHE-R
ebe00 53 41 2d 41 45 53 32 35 36 2d 53 48 41 27 2c 0a 27 45 43 44 48 45 2d 45 43 44 53 41 2d 41 45 53 SA-AES256-SHA',.'ECDHE-ECDSA-AES
ebe20 32 35 36 2d 53 48 41 27 2c 0a 27 44 48 45 2d 52 53 41 2d 41 45 53 31 32 38 2d 53 48 41 32 35 36 256-SHA',.'DHE-RSA-AES128-SHA256
ebe40 27 2c 0a 27 44 48 45 2d 52 53 41 2d 41 45 53 31 32 38 2d 53 48 41 27 2c 0a 27 44 48 45 2d 44 53 ',.'DHE-RSA-AES128-SHA',.'DHE-DS
ebe60 53 2d 41 45 53 31 32 38 2d 53 48 41 32 35 36 27 2c 0a 27 44 48 45 2d 52 53 41 2d 41 45 53 32 35 S-AES128-SHA256',.'DHE-RSA-AES25
ebe80 36 2d 53 48 41 32 35 36 27 2c 0a 27 44 48 45 2d 44 53 53 2d 41 45 53 32 35 36 2d 53 48 41 27 2c 6-SHA256',.'DHE-DSS-AES256-SHA',
ebea0 0a 27 44 48 45 2d 52 53 41 2d 41 45 53 32 35 36 2d 53 48 41 27 2c 0a 27 41 45 53 31 32 38 2d 47 .'DHE-RSA-AES256-SHA',.'AES128-G
ebec0 43 4d 2d 53 48 41 32 35 36 27 2c 0a 27 41 45 53 32 35 36 2d 47 43 4d 2d 53 48 41 33 38 34 27 2c CM-SHA256',.'AES256-GCM-SHA384',
ebee0 0a 27 41 45 53 31 32 38 2d 53 48 41 32 35 36 27 2c 0a 27 41 45 53 32 35 36 2d 53 48 41 32 35 36 .'AES128-SHA256',.'AES256-SHA256
ebf00 27 2c 0a 27 41 45 53 31 32 38 2d 53 48 41 27 2c 0a 27 41 45 53 32 35 36 2d 53 48 41 27 2c 0a 27 ',.'AES128-SHA',.'AES256-SHA',.'
ebf20 41 45 53 27 2c 0a 27 43 41 4d 45 4c 4c 49 41 27 2c 0a 27 44 45 53 2d 43 42 43 33 2d 53 48 41 27 AES',.'CAMELLIA',.'DES-CBC3-SHA'
ebf40 2c 0a 27 21 61 4e 55 4c 4c 27 2c 0a 27 21 65 4e 55 4c 4c 27 2c 0a 27 21 45 58 50 4f 52 54 27 2c ,.'!aNULL',.'!eNULL',.'!EXPORT',
ebf60 0a 27 21 44 45 53 27 2c 0a 27 21 52 43 34 27 2c 0a 27 21 4d 44 35 27 2c 0a 27 21 50 53 4b 27 2c .'!DES',.'!RC4',.'!MD5',.'!PSK',
ebf80 0a 27 21 61 45 43 44 48 27 2c 0a 27 21 45 44 48 2d 44 53 53 2d 44 45 53 2d 43 42 43 33 2d 53 48 .'!aECDH',.'!EDH-DSS-DES-CBC3-SH
ebfa0 41 27 2c 0a 27 21 45 44 48 2d 52 53 41 2d 44 45 53 2d 43 42 43 33 2d 53 48 41 27 2c 0a 27 21 4b A',.'!EDH-RSA-DES-CBC3-SHA',.'!K
ebfc0 52 42 35 2d 44 45 53 2d 43 42 43 33 2d 53 48 41 27 2c 0a 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 24 64 RB5-DES-CBC3-SHA',.));........$d
ebfe0 65 66 61 75 6c 74 73 20 3d 20 61 72 72 61 79 28 0a 27 73 73 6c 27 20 3d 3e 20 61 72 72 61 79 28 efaults.=.array(.'ssl'.=>.array(
ec000 0a 27 63 69 70 68 65 72 73 27 20 3d 3e 20 24 63 69 70 68 65 72 73 2c 0a 27 76 65 72 69 66 79 5f .'ciphers'.=>.$ciphers,.'verify_
ec020 70 65 65 72 27 20 3d 3e 20 74 72 75 65 2c 0a 27 76 65 72 69 66 79 5f 64 65 70 74 68 27 20 3d 3e peer'.=>.true,.'verify_depth'.=>
ec040 20 37 2c 0a 27 53 4e 49 5f 65 6e 61 62 6c 65 64 27 20 3d 3e 20 74 72 75 65 2c 0a 27 63 61 70 74 .7,.'SNI_enabled'.=>.true,.'capt
ec060 75 72 65 5f 70 65 65 72 5f 63 65 72 74 27 20 3d 3e 20 74 72 75 65 2c 0a 29 2c 0a 29 3b 0a 0a 69 ure_peer_cert'.=>.true,.),.);..i
ec080 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 29 29 20 7b 0a 24 64 65 f.(isset($options['ssl'])).{.$de
ec0a0 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 5f 72 65 faults['ssl'].=.array_replace_re
ec0c0 63 75 72 73 69 76 65 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 2c 20 24 6f 70 74 69 6f cursive($defaults['ssl'],.$optio
ec0e0 6e 73 5b 27 73 73 6c 27 5d 29 3b 0a 7d 0a 0a 24 63 61 42 75 6e 64 6c 65 4c 6f 67 67 65 72 20 3d ns['ssl']);.}..$caBundleLogger.=
ec100 20 24 74 68 69 73 2d 3e 69 6f 20 69 6e 73 74 61 6e 63 65 6f 66 20 4c 6f 67 67 65 72 49 6e 74 65 .$this->io.instanceof.LoggerInte
ec120 72 66 61 63 65 20 3f 20 24 74 68 69 73 2d 3e 69 6f 20 3a 20 6e 75 6c 6c 3b 0a 0a 0a 0a 0a 0a 69 rface.?.$this->io.:.null;......i
ec140 66 20 28 21 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 66 69 f.(!isset($defaults['ssl']['cafi
ec160 6c 65 27 5d 29 20 26 26 20 21 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d le']).&&.!isset($defaults['ssl']
ec180 5b 27 63 61 70 61 74 68 27 5d 29 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 43 61 42 75 6e 64 6c ['capath'])).{.$result.=.CaBundl
ec1a0 65 3a 3a 67 65 74 53 79 73 74 65 6d 43 61 52 6f 6f 74 42 75 6e 64 6c 65 50 61 74 68 28 24 63 61 e::getSystemCaRootBundlePath($ca
ec1c0 42 75 6e 64 6c 65 4c 6f 67 67 65 72 29 3b 0a 0a 69 66 20 28 69 73 5f 64 69 72 28 24 72 65 73 75 BundleLogger);..if.(is_dir($resu
ec1e0 6c 74 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 70 61 74 68 27 lt)).{.$defaults['ssl']['capath'
ec200 5d 20 3d 20 24 72 65 73 75 6c 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 61 75 6c 74 73 5b ].=.$result;.}.else.{.$defaults[
ec220 27 73 73 6c 27 5d 5b 27 63 61 66 69 6c 65 27 5d 20 3d 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 7d 0a 'ssl']['cafile'].=.$result;.}.}.
ec240 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 66 .if.(isset($defaults['ssl']['caf
ec260 69 6c 65 27 5d 29 20 26 26 20 28 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 64 65 66 61 75 6c 74 ile']).&&.(!is_readable($default
ec280 73 5b 27 73 73 6c 27 5d 5b 27 63 61 66 69 6c 65 27 5d 29 20 7c 7c 20 21 43 61 42 75 6e 64 6c 65 s['ssl']['cafile']).||.!CaBundle
ec2a0 3a 3a 76 61 6c 69 64 61 74 65 43 61 46 69 6c 65 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 ::validateCaFile($defaults['ssl'
ec2c0 5d 5b 27 63 61 66 69 6c 65 27 5d 2c 20 24 63 61 42 75 6e 64 6c 65 4c 6f 67 67 65 72 29 29 29 20 ]['cafile'],.$caBundleLogger))).
ec2e0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 {.throw.new.TransportException('
ec300 54 68 65 20 63 6f 6e 66 69 67 75 72 65 64 20 63 61 66 69 6c 65 20 77 61 73 20 6e 6f 74 20 76 61 The.configured.cafile.was.not.va
ec320 6c 69 64 20 6f 72 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 72 65 61 64 2e 27 29 3b 0a 7d 0a 0a lid.or.could.not.be.read.');.}..
ec340 69 66 20 28 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 70 61 if.(isset($defaults['ssl']['capa
ec360 74 68 27 5d 29 20 26 26 20 28 21 69 73 5f 64 69 72 28 24 64 65 66 61 75 6c 74 73 5b 27 73 73 6c th']).&&.(!is_dir($defaults['ssl
ec380 27 5d 5b 27 63 61 70 61 74 68 27 5d 29 20 7c 7c 20 21 69 73 5f 72 65 61 64 61 62 6c 65 28 24 64 ']['capath']).||.!is_readable($d
ec3a0 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 63 61 70 61 74 68 27 5d 29 29 29 20 7b 0a 74 68 efaults['ssl']['capath']))).{.th
ec3c0 72 6f 77 20 6e 65 77 20 54 72 61 6e 73 70 6f 72 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 row.new.TransportException('The.
ec3e0 63 6f 6e 66 69 67 75 72 65 64 20 63 61 70 61 74 68 20 77 61 73 20 6e 6f 74 20 76 61 6c 69 64 20 configured.capath.was.not.valid.
ec400 6f 72 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 72 65 61 64 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 69 or.could.not.be.read.');.}.....i
ec420 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 31 33 29 20 7b 0a 24 64 f.(PHP_VERSION_ID.>=.50413).{.$d
ec440 65 66 61 75 6c 74 73 5b 27 73 73 6c 27 5d 5b 27 64 69 73 61 62 6c 65 5f 63 6f 6d 70 72 65 73 73 efaults['ssl']['disable_compress
ec460 69 6f 6e 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 ion'].=.true;.}..return.$default
ec480 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 s;.}.......private.function.getC
ec4a0 65 72 74 69 66 69 63 61 74 65 43 6e 41 6e 64 46 70 28 24 75 72 6c 2c 20 24 6f 70 74 69 6f 6e 73 ertificateCnAndFp($url,.$options
ec4c0 29 0a 7b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 36 30 30 29 ).{.if.(PHP_VERSION_ID.>=.50600)
ec4e0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 42 61 64 4d 65 74 68 6f 64 43 61 6c 6c 45 78 63 65 70 .{.throw.new.\BadMethodCallExcep
ec500 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 25 73 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 75 73 tion(sprintf(.'%s.must.not.be.us
ec520 65 64 20 6f 6e 20 50 48 50 20 3e 3d 20 35 2e 36 27 2c 0a 5f 5f 4d 45 54 48 4f 44 5f 5f 0a 29 29 ed.on.PHP.>=.5.6',.__METHOD__.))
ec540 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 78 74 20 3d 20 53 74 72 65 61 6d 43 6f 6e 74 65 78 74 46 61 63 ;.}..$context.=.StreamContextFac
ec560 74 6f 72 79 3a 3a 67 65 74 43 6f 6e 74 65 78 74 28 24 75 72 6c 2c 20 24 6f 70 74 69 6f 6e 73 2c tory::getContext($url,.$options,
ec580 20 61 72 72 61 79 28 27 6f 70 74 69 6f 6e 73 27 20 3d 3e 20 61 72 72 61 79 28 0a 27 73 73 6c 27 .array('options'.=>.array(.'ssl'
ec5a0 20 3d 3e 20 61 72 72 61 79 28 0a 27 63 61 70 74 75 72 65 5f 70 65 65 72 5f 63 65 72 74 27 20 3d .=>.array(.'capture_peer_cert'.=
ec5c0 3e 20 74 72 75 65 2c 0a 27 76 65 72 69 66 79 5f 70 65 65 72 27 20 3d 3e 20 66 61 6c 73 65 2c 20 >.true,.'verify_peer'.=>.false,.
ec5e0 0a 20 29 2c 20 29 2c 0a 29 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 ..),.),.));......if.(false.===.$
ec600 68 61 6e 64 6c 65 20 3d 20 40 66 6f 70 65 6e 28 24 75 72 6c 2c 20 27 72 62 27 2c 20 66 61 6c 73 handle.=.@fopen($url,.'rb',.fals
ec620 65 2c 20 24 63 6f 6e 74 65 78 74 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 66 63 6c e,.$context)).{.return;.}....fcl
ec640 6f 73 65 28 24 68 61 6e 64 6c 65 29 3b 0a 24 68 61 6e 64 6c 65 20 3d 20 6e 75 6c 6c 3b 0a 0a 24 ose($handle);.$handle.=.null;..$
ec660 70 61 72 61 6d 73 20 3d 20 73 74 72 65 61 6d 5f 63 6f 6e 74 65 78 74 5f 67 65 74 5f 70 61 72 61 params.=.stream_context_get_para
ec680 6d 73 28 24 63 6f 6e 74 65 78 74 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 70 61 72 61 6d ms($context);..if.(!empty($param
ec6a0 73 5b 27 6f 70 74 69 6f 6e 73 27 5d 5b 27 73 73 6c 27 5d 5b 27 70 65 65 72 5f 63 65 72 74 69 66 s['options']['ssl']['peer_certif
ec6c0 69 63 61 74 65 27 5d 29 29 20 7b 0a 24 70 65 65 72 43 65 72 74 69 66 69 63 61 74 65 20 3d 20 24 icate'])).{.$peerCertificate.=.$
ec6e0 70 61 72 61 6d 73 5b 27 6f 70 74 69 6f 6e 73 27 5d 5b 27 73 73 6c 27 5d 5b 27 70 65 65 72 5f 63 params['options']['ssl']['peer_c
ec700 65 72 74 69 66 69 63 61 74 65 27 5d 3b 0a 0a 69 66 20 28 54 6c 73 48 65 6c 70 65 72 3a 3a 63 68 ertificate'];..if.(TlsHelper::ch
ec720 65 63 6b 43 65 72 74 69 66 69 63 61 74 65 48 6f 73 74 28 24 70 65 65 72 43 65 72 74 69 66 69 63 eckCertificateHost($peerCertific
ec740 61 74 65 2c 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 ate,.parse_url($url,.PHP_URL_HOS
ec760 54 29 2c 20 24 63 6f 6d 6d 6f 6e 4e 61 6d 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 T),.$commonName)).{.return.array
ec780 28 0a 27 63 6e 27 20 3d 3e 20 24 63 6f 6d 6d 6f 6e 4e 61 6d 65 2c 0a 27 66 70 27 20 3d 3e 20 54 (.'cn'.=>.$commonName,.'fp'.=>.T
ec7a0 6c 73 48 65 6c 70 65 72 3a 3a 67 65 74 43 65 72 74 69 66 69 63 61 74 65 46 69 6e 67 65 72 70 72 lsHelper::getCertificateFingerpr
ec7c0 69 6e 74 28 24 70 65 65 72 43 65 72 74 69 66 69 63 61 74 65 29 2c 0a 29 3b 0a 7d 0a 7d 0a 7d 0a int($peerCertificate),.);.}.}.}.
ec7e0 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 6c 41 75 74 68 6f 72 69 74 .private.function.getUrlAuthorit
ec800 79 28 24 75 72 6c 29 0a 7b 0a 24 64 65 66 61 75 6c 74 50 6f 72 74 73 20 3d 20 61 72 72 61 79 28 y($url).{.$defaultPorts.=.array(
ec820 0a 27 66 74 70 27 20 3d 3e 20 32 31 2c 0a 27 68 74 74 70 27 20 3d 3e 20 38 30 2c 0a 27 68 74 74 .'ftp'.=>.21,.'http'.=>.80,.'htt
ec840 70 73 27 20 3d 3e 20 34 34 33 2c 0a 27 73 73 68 32 2e 73 66 74 70 27 20 3d 3e 20 32 32 2c 0a 27 ps'.=>.443,.'ssh2.sftp'.=>.22,.'
ec860 73 73 68 32 2e 73 63 70 27 20 3d 3e 20 32 32 2c 0a 29 3b 0a 0a 24 73 63 68 65 6d 65 20 3d 20 70 ssh2.scp'.=>.22,.);..$scheme.=.p
ec880 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 3b 0a arse_url($url,.PHP_URL_SCHEME);.
ec8a0 0a 69 66 20 28 21 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 50 6f 72 74 73 5b 24 73 63 68 65 6d .if.(!isset($defaultPorts[$schem
ec8c0 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e e])).{.throw.new.\InvalidArgumen
ec8e0 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 20 67 tException(sprintf(.'Could.not.g
ec900 65 74 20 64 65 66 61 75 6c 74 20 70 6f 72 74 20 66 6f 72 20 75 6e 6b 6e 6f 77 6e 20 73 63 68 65 et.default.port.for.unknown.sche
ec920 6d 65 3a 20 25 73 27 2c 0a 24 73 63 68 65 6d 65 0a 29 29 3b 0a 7d 0a 0a 24 64 65 66 61 75 6c 74 me:.%s',.$scheme.));.}..$default
ec940 50 6f 72 74 20 3d 20 24 64 65 66 61 75 6c 74 50 6f 72 74 73 5b 24 73 63 68 65 6d 65 5d 3b 0a 24 Port.=.$defaultPorts[$scheme];.$
ec960 70 6f 72 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 50 port.=.parse_url($url,.PHP_URL_P
ec980 4f 52 54 29 20 3f 3a 20 24 64 65 66 61 75 6c 74 50 6f 72 74 3b 0a 0a 72 65 74 75 72 6e 20 70 61 ORT).?:.$defaultPort;..return.pa
ec9a0 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 2e 27 3a 27 2e rse_url($url,.PHP_URL_HOST).':'.
ec9c0 24 70 6f 72 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f $port;.}.........private.functio
ec9e0 6e 20 69 73 50 75 62 6c 69 63 42 69 74 42 75 63 6b 65 74 44 6f 77 6e 6c 6f 61 64 28 24 75 72 6c n.isPublicBitBucketDownload($url
eca00 54 6f 42 69 74 42 75 63 6b 65 74 46 69 6c 65 29 0a 7b 0a 24 64 6f 6d 61 69 6e 20 3d 20 70 61 72 ToBitBucketFile).{.$domain.=.par
eca20 73 65 5f 75 72 6c 28 24 75 72 6c 54 6f 42 69 74 42 75 63 6b 65 74 46 69 6c 65 2c 20 50 48 50 5f se_url($urlToBitBucketFile,.PHP_
eca40 55 52 4c 5f 48 4f 53 54 29 3b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 64 6f 6d 61 69 6e 2c 20 27 URL_HOST);.if.(strpos($domain,.'
eca60 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 0a 20 0a bitbucket.org').===.false).{....
eca80 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 70 61 74 68 20 3d 20 70 61 72 73 65 5f 75 .return.true;.}..$path.=.parse_u
ecaa0 72 6c 28 24 75 72 6c 54 6f 42 69 74 42 75 63 6b 65 74 46 69 6c 65 2c 20 50 48 50 5f 55 52 4c 5f rl($urlToBitBucketFile,.PHP_URL_
ecac0 50 41 54 48 29 3b 0a 0a 0a 20 0a 20 24 70 61 74 68 50 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 PATH);......$pathParts.=.explode
ecae0 28 27 2f 27 2c 20 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 70 61 74 ('/',.$path);..return.count($pat
ecb00 68 50 61 72 74 73 29 20 3e 3d 20 34 20 26 26 20 24 70 61 74 68 50 61 72 74 73 5b 33 5d 20 3d 3d hParts).>=.4.&&.$pathParts[3].==
ecb20 20 27 64 6f 77 6e 6c 6f 61 64 73 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 .'downloads';.}..public.static.f
ecb40 75 6e 63 74 69 6f 6e 20 6f 75 74 70 75 74 57 61 72 6e 69 6e 67 73 28 49 4f 49 6e 74 65 72 66 61 unction.outputWarnings(IOInterfa
ecb60 63 65 20 24 69 6f 2c 20 24 75 72 6c 2c 20 24 64 61 74 61 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 ce.$io,.$url,.$data).{.foreach.(
ecb80 61 72 72 61 79 28 27 77 61 72 6e 69 6e 67 27 2c 20 27 69 6e 66 6f 27 29 20 61 73 20 24 74 79 70 array('warning',.'info').as.$typ
ecba0 65 29 20 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 64 61 74 61 5b 24 74 79 70 65 5d 29 29 20 7b 0a e).{.if.(empty($data[$type])).{.
ecbc0 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 61 74 61 5b 24 74 continue;.}..if.(!empty($data[$t
ecbe0 79 70 65 20 2e 20 27 2d 76 65 72 73 69 6f 6e 73 27 5d 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 50 ype...'-versions'])).{.$versionP
ecc00 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 24 63 6f arser.=.new.VersionParser();.$co
ecc20 6e 73 74 72 61 69 6e 74 20 3d 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 nstraint.=.$versionParser->parse
ecc40 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 64 61 74 61 5b 24 74 79 70 65 20 2e 20 27 2d 76 65 72 73 Constraints($data[$type...'-vers
ecc60 69 6f 6e 73 27 5d 29 3b 0a 24 63 6f 6d 70 6f 73 65 72 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 ions']);.$composer.=.new.Constra
ecc80 69 6e 74 28 27 3d 3d 27 2c 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c int('==',.$versionParser->normal
ecca0 69 7a 65 28 43 6f 6d 70 6f 73 65 72 3a 3a 67 65 74 56 65 72 73 69 6f 6e 28 29 29 29 3b 0a 69 66 ize(Composer::getVersion()));.if
eccc0 20 28 21 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 24 63 6f 6d 70 6f 73 65 .(!$constraint->matches($compose
ecce0 72 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 7d 0a 0a 24 69 6f 2d 3e 77 72 69 74 65 45 r)).{.continue;.}.}..$io->writeE
ecd00 72 72 6f 72 28 27 3c 27 2e 24 74 79 70 65 2e 27 3e 27 2e 75 63 66 69 72 73 74 28 24 74 79 70 65 rror('<'.$type.'>'.ucfirst($type
ecd20 29 2e 27 20 66 72 6f 6d 20 27 2e 24 75 72 6c 2e 27 3a 20 27 2e 24 64 61 74 61 5b 24 74 79 70 65 ).'.from.'.$url.':.'.$data[$type
ecd40 5d 2e 27 3c 2f 27 2e 24 74 79 70 65 2e 27 3e 27 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 ].'</'.$type.'>');.}.}..public.s
ecd60 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 72 69 67 69 6e 28 24 75 72 6c 4f 72 50 tatic.function.getOrigin($urlOrP
ecd80 61 74 68 29 0a 7b 0a 24 68 6f 73 74 50 6f 72 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 ath).{.$hostPort.=.parse_url($ur
ecda0 6c 4f 72 50 61 74 68 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 69 66 20 28 21 24 68 6f lOrPath,.PHP_URL_HOST);.if.(!$ho
ecdc0 73 74 50 6f 72 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 75 72 6c 4f 72 50 61 74 68 3b 0a 7d 0a 69 stPort).{.return.$urlOrPath;.}.i
ecde0 66 20 28 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 4f 72 50 61 74 68 2c 20 50 48 50 5f 55 52 4c f.(parse_url($urlOrPath,.PHP_URL
ece00 5f 50 4f 52 54 29 29 20 7b 0a 24 68 6f 73 74 50 6f 72 74 20 2e 3d 20 27 3a 27 2e 70 61 72 73 65 _PORT)).{.$hostPort..=.':'.parse
ece20 5f 75 72 6c 28 24 75 72 6c 4f 72 50 61 74 68 2c 20 50 48 50 5f 55 52 4c 5f 50 4f 52 54 29 3b 0a _url($urlOrPath,.PHP_URL_PORT);.
ece40 7d 0a 0a 72 65 74 75 72 6e 20 24 68 6f 73 74 50 6f 72 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 }..return.$hostPort;.}..private.
ece60 66 75 6e 63 74 69 6f 6e 20 73 74 72 69 70 43 72 65 64 65 6e 74 69 61 6c 73 46 72 6f 6d 55 72 6c function.stripCredentialsFromUrl
ece80 28 24 75 72 6c 29 0a 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 65 ($url).{.....return.preg_replace
ecea0 28 27 7b 28 5b 26 3f 5d 61 63 63 65 73 73 5f 74 6f 6b 65 6e 3d 29 5b 5e 26 5d 2b 7d 27 2c 20 27 ('{([&?]access_token=)[^&]+}',.'
ecec0 24 31 2a 2a 2a 27 2c 20 24 75 72 6c 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a $1***',.$url);.}.}.<?php........
ecee0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 0a 0a ....namespace.Composer\Util;....
ecf00 0a 0a 0a 63 6c 61 73 73 20 53 69 6c 65 6e 63 65 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 ...class.Silencer.{....private.s
ecf20 74 61 74 69 63 20 24 73 74 61 63 6b 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 tatic.$stack.=.array();........p
ecf40 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 70 70 72 65 73 73 28 24 ublic.static.function.suppress($
ecf60 6d 61 73 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 6d 61 73 6b 29 mask.=.null).{.if.(!isset($mask)
ecf80 29 20 7b 0a 24 6d 61 73 6b 20 3d 20 45 5f 57 41 52 4e 49 4e 47 20 7c 20 45 5f 4e 4f 54 49 43 45 ).{.$mask.=.E_WARNING.|.E_NOTICE
ecfa0 20 7c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 20 7c 20 45 5f 55 53 45 52 5f 4e 4f 54 49 43 .|.E_USER_WARNING.|.E_USER_NOTIC
ecfc0 45 20 7c 20 45 5f 44 45 50 52 45 43 41 54 45 44 20 7c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 E.|.E_DEPRECATED.|.E_USER_DEPREC
ecfe0 41 54 45 44 20 7c 20 45 5f 53 54 52 49 43 54 3b 0a 7d 0a 24 6f 6c 64 20 3d 20 65 72 72 6f 72 5f ATED.|.E_STRICT;.}.$old.=.error_
ed000 72 65 70 6f 72 74 69 6e 67 28 29 3b 0a 73 65 6c 66 3a 3a 24 73 74 61 63 6b 5b 5d 20 3d 20 24 6f reporting();.self::$stack[].=.$o
ed020 6c 64 3b 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 24 6f 6c 64 20 26 20 7e 24 6d 61 73 ld;.error_reporting($old.&.~$mas
ed040 6b 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 6c 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 k);..return.$old;.}.....public.s
ed060 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 74 6f 72 65 28 29 0a 7b 0a 69 66 20 28 21 tatic.function.restore().{.if.(!
ed080 65 6d 70 74 79 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 29 29 20 7b 0a 65 72 72 6f 72 5f 72 65 70 empty(self::$stack)).{.error_rep
ed0a0 6f 72 74 69 6e 67 28 61 72 72 61 79 5f 70 6f 70 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 29 29 3b orting(array_pop(self::$stack));
ed0c0 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e .}.}...........public.static.fun
ed0e0 63 74 69 6f 6e 20 63 61 6c 6c 28 24 63 61 6c 6c 61 62 6c 65 20 29 0a 7b 0a 74 72 79 20 7b 0a 73 ction.call($callable.).{.try.{.s
ed100 65 6c 66 3a 3a 73 75 70 70 72 65 73 73 28 29 3b 0a 24 72 65 73 75 6c 74 20 3d 20 63 61 6c 6c 5f elf::suppress();.$result.=.call_
ed120 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 24 63 61 6c 6c 61 62 6c 65 2c 20 61 72 72 61 79 user_func_array($callable,.array
ed140 5f 73 6c 69 63 65 28 66 75 6e 63 5f 67 65 74 5f 61 72 67 73 28 29 2c 20 31 29 29 3b 0a 73 65 6c _slice(func_get_args(),.1));.sel
ed160 66 3a 3a 72 65 73 74 6f 72 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d f::restore();..return.$result;.}
ed180 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 73 65 6c 66 3a .catch.(\Exception.$e).{...self:
ed1a0 3a 72 65 73 74 6f 72 65 28 29 3b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 :restore();.throw.$e;.}.}.}.<?ph
ed1c0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c p............namespace.Composer\
ed1e0 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 70 64 78 5c 53 70 64 78 4c 69 63 Util;..use.Composer\Spdx\SpdxLic
ed200 65 6e 73 65 73 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 20 2e 20 5f enses;..trigger_error('The.'..._
ed220 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 5c 53 70 64 78 4c 69 63 65 6e 73 65 20 63 6c 61 _NAMESPACE__...'\SpdxLicense.cla
ed240 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 ss.is.deprecated,.use.Composer\S
ed260 70 64 78 5c 53 70 64 78 4c 69 63 65 6e 73 65 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 pdx\SpdxLicenses.instead.',.E_US
ed280 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 70 64 78 4c 69 ER_DEPRECATED);.....class.SpdxLi
ed2a0 63 65 6e 73 65 20 65 78 74 65 6e 64 73 20 53 70 64 78 4c 69 63 65 6e 73 65 73 0a 7b 0a 7d 0a 3c cense.extends.SpdxLicenses.{.}.<
ed2c0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 ?php............namespace.Compos
ed2e0 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6d 70 6f 73 65 72 3b er\Util;..use.Composer\Composer;
ed300 0a 0a 0a 0a 0a 0a 0a 0a 66 69 6e 61 6c 20 63 6c 61 73 73 20 53 74 72 65 61 6d 43 6f 6e 74 65 78 ........final.class.StreamContex
ed320 74 46 61 63 74 6f 72 79 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 tFactory.{..........public.stati
ed340 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 78 74 28 24 75 72 6c 2c 20 61 72 72 61 c.function.getContext($url,.arra
ed360 79 20 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 2c 20 61 72 72 y.$defaultOptions.=.array(),.arr
ed380 61 79 20 24 64 65 66 61 75 6c 74 50 61 72 61 6d 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 ay.$defaultParams.=.array()).{.$
ed3a0 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 27 68 74 74 70 27 20 3d 3e 20 61 72 72 61 79 28 options.=.array('http'.=>.array(
ed3c0 0a 0a 20 27 66 6f 6c 6c 6f 77 5f 6c 6f 63 61 74 69 6f 6e 27 20 3d 3e 20 31 2c 0a 27 6d 61 78 5f ...'follow_location'.=>.1,.'max_
ed3e0 72 65 64 69 72 65 63 74 73 27 20 3d 3e 20 32 30 2c 0a 29 29 3b 0a 0a 0a 20 69 66 20 28 28 50 48 redirects'.=>.20,.));....if.((PH
ed400 50 5f 53 41 50 49 20 3d 3d 3d 20 27 63 6c 69 27 20 7c 7c 20 50 48 50 5f 53 41 50 49 20 3d 3d 3d P_SAPI.===.'cli'.||.PHP_SAPI.===
ed420 20 27 70 68 70 64 62 67 27 29 20 26 26 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 .'phpdbg').&&.(!empty($_SERVER['
ed440 48 54 54 50 5f 50 52 4f 58 59 27 5d 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 HTTP_PROXY']).||.!empty($_SERVER
ed460 5b 27 68 74 74 70 5f 70 72 6f 78 79 27 5d 29 29 29 20 7b 0a 24 70 72 6f 78 79 20 3d 20 70 61 72 ['http_proxy']))).{.$proxy.=.par
ed480 73 65 5f 75 72 6c 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 68 74 74 70 5f 70 72 6f se_url(!empty($_SERVER['http_pro
ed4a0 78 79 27 5d 29 20 3f 20 24 5f 53 45 52 56 45 52 5b 27 68 74 74 70 5f 70 72 6f 78 79 27 5d 20 3a xy']).?.$_SERVER['http_proxy'].:
ed4c0 20 24 5f 53 45 52 56 45 52 5b 27 48 54 54 50 5f 50 52 4f 58 59 27 5d 29 3b 0a 7d 0a 0a 0a 20 69 .$_SERVER['HTTP_PROXY']);.}....i
ed4e0 66 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 43 47 49 5f 48 54 54 50 5f 50 52 4f f.(!empty($_SERVER['CGI_HTTP_PRO
ed500 58 59 27 5d 29 29 20 7b 0a 24 70 72 6f 78 79 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 5f 53 45 XY'])).{.$proxy.=.parse_url($_SE
ed520 52 56 45 52 5b 27 43 47 49 5f 48 54 54 50 5f 50 52 4f 58 59 27 5d 29 3b 0a 7d 0a 0a 0a 20 69 66 RVER['CGI_HTTP_PROXY']);.}....if
ed540 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3a 2f 2f 7d 69 27 2c 20 24 75 72 .(preg_match('{^https://}i',.$ur
ed560 6c 29 20 26 26 20 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 48 54 54 50 53 5f 50 52 l).&&.(!empty($_SERVER['HTTPS_PR
ed580 4f 58 59 27 5d 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 68 74 74 70 73 OXY']).||.!empty($_SERVER['https
ed5a0 5f 70 72 6f 78 79 27 5d 29 29 29 20 7b 0a 24 70 72 6f 78 79 20 3d 20 70 61 72 73 65 5f 75 72 6c _proxy']))).{.$proxy.=.parse_url
ed5c0 28 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 68 74 74 70 73 5f 70 72 6f 78 79 27 5d 29 (!empty($_SERVER['https_proxy'])
ed5e0 20 3f 20 24 5f 53 45 52 56 45 52 5b 27 68 74 74 70 73 5f 70 72 6f 78 79 27 5d 20 3a 20 24 5f 53 .?.$_SERVER['https_proxy'].:.$_S
ed600 45 52 56 45 52 5b 27 48 54 54 50 53 5f 50 52 4f 58 59 27 5d 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 ERVER['HTTPS_PROXY']);.}....if.(
ed620 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 4e 4f 5f 50 52 4f 58 59 27 5d 29 20 7c 7c 20 !empty($_SERVER['NO_PROXY']).||.
ed640 21 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 6e 6f 5f 70 72 6f 78 79 27 5d 29 20 26 26 20 !empty($_SERVER['no_proxy']).&&.
ed660 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 29 20 7b parse_url($url,.PHP_URL_HOST)).{
ed680 0a 24 70 61 74 74 65 72 6e 20 3d 20 6e 65 77 20 4e 6f 50 72 6f 78 79 50 61 74 74 65 72 6e 28 21 .$pattern.=.new.NoProxyPattern(!
ed6a0 65 6d 70 74 79 28 24 5f 53 45 52 56 45 52 5b 27 6e 6f 5f 70 72 6f 78 79 27 5d 29 20 3f 20 24 5f empty($_SERVER['no_proxy']).?.$_
ed6c0 53 45 52 56 45 52 5b 27 6e 6f 5f 70 72 6f 78 79 27 5d 20 3a 20 24 5f 53 45 52 56 45 52 5b 27 4e SERVER['no_proxy'].:.$_SERVER['N
ed6e0 4f 5f 50 52 4f 58 59 27 5d 29 3b 0a 69 66 20 28 24 70 61 74 74 65 72 6e 2d 3e 74 65 73 74 28 24 O_PROXY']);.if.($pattern->test($
ed700 75 72 6c 29 29 20 7b 0a 75 6e 73 65 74 28 24 70 72 6f 78 79 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 url)).{.unset($proxy);.}.}..if.(
ed720 21 65 6d 70 74 79 28 24 70 72 6f 78 79 29 29 20 7b 0a 24 70 72 6f 78 79 55 52 4c 20 3d 20 69 73 !empty($proxy)).{.$proxyURL.=.is
ed740 73 65 74 28 24 70 72 6f 78 79 5b 27 73 63 68 65 6d 65 27 5d 29 20 3f 20 24 70 72 6f 78 79 5b 27 set($proxy['scheme']).?.$proxy['
ed760 73 63 68 65 6d 65 27 5d 20 2e 20 27 3a 2f 2f 27 20 3a 20 27 27 3b 0a 24 70 72 6f 78 79 55 52 4c scheme']...'://'.:.'';.$proxyURL
ed780 20 2e 3d 20 69 73 73 65 74 28 24 70 72 6f 78 79 5b 27 68 6f 73 74 27 5d 29 20 3f 20 24 70 72 6f ..=.isset($proxy['host']).?.$pro
ed7a0 78 79 5b 27 68 6f 73 74 27 5d 20 3a 20 27 27 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 70 72 6f xy['host'].:.'';..if.(isset($pro
ed7c0 78 79 5b 27 70 6f 72 74 27 5d 29 29 20 7b 0a 24 70 72 6f 78 79 55 52 4c 20 2e 3d 20 22 3a 22 20 xy['port'])).{.$proxyURL..=.":".
ed7e0 2e 20 24 70 72 6f 78 79 5b 27 70 6f 72 74 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 68 74 74 ..$proxy['port'];.}.elseif.('htt
ed800 70 3a 2f 2f 27 20 3d 3d 20 73 75 62 73 74 72 28 24 70 72 6f 78 79 55 52 4c 2c 20 30 2c 20 37 29 p://'.==.substr($proxyURL,.0,.7)
ed820 29 20 7b 0a 24 70 72 6f 78 79 55 52 4c 20 2e 3d 20 22 3a 38 30 22 3b 0a 7d 20 65 6c 73 65 69 66 ).{.$proxyURL..=.":80";.}.elseif
ed840 20 28 27 68 74 74 70 73 3a 2f 2f 27 20 3d 3d 20 73 75 62 73 74 72 28 24 70 72 6f 78 79 55 52 4c .('https://'.==.substr($proxyURL
ed860 2c 20 30 2c 20 38 29 29 20 7b 0a 24 70 72 6f 78 79 55 52 4c 20 2e 3d 20 22 3a 34 34 33 22 3b 0a ,.0,.8)).{.$proxyURL..=.":443";.
ed880 7d 0a 0a 0a 20 24 70 72 6f 78 79 55 52 4c 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 }....$proxyURL.=.str_replace(arr
ed8a0 61 79 28 27 68 74 74 70 3a 2f 2f 27 2c 20 27 68 74 74 70 73 3a 2f 2f 27 29 2c 20 61 72 72 61 79 ay('http://',.'https://'),.array
ed8c0 28 27 74 63 70 3a 2f 2f 27 2c 20 27 73 73 6c 3a 2f 2f 27 29 2c 20 24 70 72 6f 78 79 55 52 4c 29 ('tcp://',.'ssl://'),.$proxyURL)
ed8e0 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 70 72 6f 78 79 55 52 4c 2c 20 27 ;..if.(0.===.strpos($proxyURL,.'
ed900 73 73 6c 3a 27 29 20 26 26 20 21 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6f 70 65 ssl:').&&.!extension_loaded('ope
ed920 6e 73 73 6c 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 nssl')).{.throw.new.\RuntimeExce
ed940 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 65 6e 61 62 6c 65 20 74 68 65 20 6f 70 65 6e 73 ption('You.must.enable.the.opens
ed960 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 75 73 65 20 61 20 70 72 6f 78 79 20 6f 76 65 72 sl.extension.to.use.a.proxy.over
ed980 20 68 74 74 70 73 27 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 70 .https');.}..$options['http']['p
ed9a0 72 6f 78 79 27 5d 20 3d 20 24 70 72 6f 78 79 55 52 4c 3b 0a 0a 0a 20 73 77 69 74 63 68 20 28 70 roxy'].=.$proxyURL;....switch.(p
ed9c0 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 53 43 48 45 4d 45 29 29 20 arse_url($url,.PHP_URL_SCHEME)).
ed9e0 7b 0a 63 61 73 65 20 27 68 74 74 70 27 3a 20 0a 20 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 20 {.case.'http':...$reqFullUriEnv.
eda00 3d 20 67 65 74 65 6e 76 28 27 48 54 54 50 5f 50 52 4f 58 59 5f 52 45 51 55 45 53 54 5f 46 55 4c =.getenv('HTTP_PROXY_REQUEST_FUL
eda20 4c 55 52 49 27 29 3b 0a 69 66 20 28 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 20 3d 3d 3d 20 66 LURI');.if.($reqFullUriEnv.===.f
eda40 61 6c 73 65 20 7c 7c 20 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 20 3d 3d 3d 20 27 27 20 7c 7c alse.||.$reqFullUriEnv.===.''.||
eda60 20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 29 20 21 3d 3d .(strtolower($reqFullUriEnv).!==
eda80 20 27 66 61 6c 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 72 65 71 46 75 6c 6c 55 72 69 45 6e .'false'.&&.(bool).$reqFullUriEn
edaa0 76 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 72 65 71 75 65 73 74 5f v)).{.$options['http']['request_
edac0 66 75 6c 6c 75 72 69 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 fulluri'].=.true;.}.break;.case.
edae0 27 68 74 74 70 73 27 3a 20 0a 20 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 20 3d 20 67 65 74 65 'https':...$reqFullUriEnv.=.gete
edb00 6e 76 28 27 48 54 54 50 53 5f 50 52 4f 58 59 5f 52 45 51 55 45 53 54 5f 46 55 4c 4c 55 52 49 27 nv('HTTPS_PROXY_REQUEST_FULLURI'
edb20 29 3b 0a 69 66 20 28 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 20 3d 3d 3d 20 66 61 6c 73 65 20 );.if.($reqFullUriEnv.===.false.
edb40 7c 7c 20 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 20 3d 3d 3d 20 27 27 20 7c 7c 20 28 73 74 72 ||.$reqFullUriEnv.===.''.||.(str
edb60 74 6f 6c 6f 77 65 72 28 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 29 20 21 3d 3d 20 27 66 61 6c tolower($reqFullUriEnv).!==.'fal
edb80 73 65 27 20 26 26 20 28 62 6f 6f 6c 29 20 24 72 65 71 46 75 6c 6c 55 72 69 45 6e 76 29 29 20 7b se'.&&.(bool).$reqFullUriEnv)).{
edba0 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 72 65 71 75 65 73 74 5f 66 75 6c 6c 75 .$options['http']['request_fullu
edbc0 72 69 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 0a 20 69 66 20 28 27 ri'].=.true;.}.break;.}....if.('
edbe0 68 74 74 70 73 27 20 3d 3d 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 https'.===.parse_url($url,.PHP_U
edc00 52 4c 5f 53 43 48 45 4d 45 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 73 73 6c 27 5d 5b 27 53 RL_SCHEME)).{.$options['ssl']['S
edc20 4e 49 5f 65 6e 61 62 6c 65 64 27 5d 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 50 48 50 5f 56 45 52 NI_enabled'].=.true;.if.(PHP_VER
edc40 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 30 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 73 73 6c SION_ID.<.50600).{.$options['ssl
edc60 27 5d 5b 27 53 4e 49 5f 73 65 72 76 65 72 5f 6e 61 6d 65 27 5d 20 3d 20 70 61 72 73 65 5f 75 72 ']['SNI_server_name'].=.parse_ur
edc80 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 l($url,.PHP_URL_HOST);.}.}....if
edca0 20 28 69 73 73 65 74 28 24 70 72 6f 78 79 5b 27 75 73 65 72 27 5d 29 29 20 7b 0a 24 61 75 74 68 .(isset($proxy['user'])).{.$auth
edcc0 20 3d 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 70 72 6f 78 79 5b 27 75 73 65 72 27 5d 29 3b .=.rawurldecode($proxy['user']);
edce0 0a 69 66 20 28 69 73 73 65 74 28 24 70 72 6f 78 79 5b 27 70 61 73 73 27 5d 29 29 20 7b 0a 24 61 .if.(isset($proxy['pass'])).{.$a
edd00 75 74 68 20 2e 3d 20 27 3a 27 20 2e 20 72 61 77 75 72 6c 64 65 63 6f 64 65 28 24 70 72 6f 78 79 uth..=.':'...rawurldecode($proxy
edd20 5b 27 70 61 73 73 27 5d 29 3b 0a 7d 0a 24 61 75 74 68 20 3d 20 62 61 73 65 36 34 5f 65 6e 63 6f ['pass']);.}.$auth.=.base64_enco
edd40 64 65 28 24 61 75 74 68 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 64 65 66 61 75 6c 74 de($auth);....if.(isset($default
edd60 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 29 20 7b 0a 69 66 Options['http']['header'])).{.if
edd80 20 28 69 73 5f 73 74 72 69 6e 67 28 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 .(is_string($defaultOptions['htt
edda0 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e p']['header'])).{.$defaultOption
eddc0 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 20 3d 20 61 72 72 61 79 28 24 64 65 66 s['http']['header'].=.array($def
edde0 61 75 6c 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 3b 0a aultOptions['http']['header']);.
ede00 7d 0a 24 64 65 66 61 75 6c 74 4f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 }.$defaultOptions['http']['heade
ede20 72 27 5d 5b 5d 20 3d 20 22 50 72 6f 78 79 2d 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 61 r'][].=."Proxy-Authorization:.Ba
ede40 73 69 63 20 7b 24 61 75 74 68 7d 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b sic.{$auth}";.}.else.{.$options[
ede60 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 20 3d 20 61 72 72 61 79 28 22 50 72 6f 78 79 'http']['header'].=.array("Proxy
ede80 2d 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 61 73 69 63 20 7b 24 61 75 74 68 7d 22 29 3b -Authorization:.Basic.{$auth}");
edea0 0a 7d 0a 7d 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 .}.}.}..$options.=.array_replace
edec0 5f 72 65 63 75 72 73 69 76 65 28 24 6f 70 74 69 6f 6e 73 2c 20 24 64 65 66 61 75 6c 74 4f 70 74 _recursive($options,.$defaultOpt
edee0 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 ions);..if.(isset($options['http
edf00 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 ']['header'])).{.$options['http'
edf20 5d 5b 27 68 65 61 64 65 72 27 5d 20 3d 20 73 65 6c 66 3a 3a 66 69 78 48 74 74 70 48 65 61 64 65 ]['header'].=.self::fixHttpHeade
edf40 72 46 69 65 6c 64 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 rField($options['http']['header'
edf60 5d 29 3b 0a 7d 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e ]);.}..if.(defined('HHVM_VERSION
edf80 27 29 29 20 7b 0a 24 70 68 70 56 65 72 73 69 6f 6e 20 3d 20 27 48 48 56 4d 20 27 20 2e 20 48 48 ')).{.$phpVersion.=.'HHVM.'...HH
edfa0 56 4d 5f 56 45 52 53 49 4f 4e 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 68 70 56 65 72 73 69 6f 6e VM_VERSION;.}.else.{.$phpVersion
edfc0 20 3d 20 27 50 48 50 20 27 20 2e 20 50 48 50 5f 4d 41 4a 4f 52 5f 56 45 52 53 49 4f 4e 20 2e 20 .=.'PHP.'...PHP_MAJOR_VERSION...
edfe0 27 2e 27 20 2e 20 50 48 50 5f 4d 49 4e 4f 52 5f 56 45 52 53 49 4f 4e 20 2e 20 27 2e 27 20 2e 20 '.'...PHP_MINOR_VERSION...'.'...
ee000 50 48 50 5f 52 45 4c 45 41 53 45 5f 56 45 52 53 49 4f 4e 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 PHP_RELEASE_VERSION;.}..if.(!iss
ee020 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 20 7c et($options['http']['header']).|
ee040 7c 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 69 6d 70 6c 6f 64 65 28 27 27 2c 20 |.false.===.stripos(implode('',.
ee060 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 68 65 61 64 65 72 27 5d 29 2c 20 27 75 73 $options['http']['header']),.'us
ee080 65 72 2d 61 67 65 6e 74 27 29 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 5b 27 68 74 74 70 27 5d 5b 27 er-agent')).{.$options['http']['
ee0a0 68 65 61 64 65 72 27 5d 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 0a 27 55 73 65 72 2d 41 67 65 6e header'][].=.sprintf(.'User-Agen
ee0c0 74 3a 20 43 6f 6d 70 6f 73 65 72 2f 25 73 20 28 25 73 3b 20 25 73 3b 20 25 73 25 73 29 27 2c 0a t:.Composer/%s.(%s;.%s;.%s%s)',.
ee0e0 43 6f 6d 70 6f 73 65 72 3a 3a 67 65 74 56 65 72 73 69 6f 6e 28 29 2c 0a 66 75 6e 63 74 69 6f 6e Composer::getVersion(),.function
ee100 5f 65 78 69 73 74 73 28 27 70 68 70 5f 75 6e 61 6d 65 27 29 20 3f 20 70 68 70 5f 75 6e 61 6d 65 _exists('php_uname').?.php_uname
ee120 28 27 73 27 29 20 3a 20 27 55 6e 6b 6e 6f 77 6e 27 2c 0a 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 ('s').:.'Unknown',.function_exis
ee140 74 73 28 27 70 68 70 5f 75 6e 61 6d 65 27 29 20 3f 20 70 68 70 5f 75 6e 61 6d 65 28 27 72 27 29 ts('php_uname').?.php_uname('r')
ee160 20 3a 20 27 55 6e 6b 6e 6f 77 6e 27 2c 0a 24 70 68 70 56 65 72 73 69 6f 6e 2c 0a 67 65 74 65 6e .:.'Unknown',.$phpVersion,.geten
ee180 76 28 27 43 49 27 29 20 3f 20 27 3b 20 43 49 27 20 3a 20 27 27 0a 29 3b 0a 7d 0a 0a 72 65 74 75 v('CI').?.';.CI'.:.''.);.}..retu
ee1a0 72 6e 20 73 74 72 65 61 6d 5f 63 6f 6e 74 65 78 74 5f 63 72 65 61 74 65 28 24 6f 70 74 69 6f 6e rn.stream_context_create($option
ee1c0 73 2c 20 24 64 65 66 61 75 6c 74 50 61 72 61 6d 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a s,.$defaultParams);.}...........
ee1e0 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 78 48 74 74 70 .private.static.function.fixHttp
ee200 48 65 61 64 65 72 46 69 65 6c 64 28 24 68 65 61 64 65 72 29 0a 7b 0a 69 66 20 28 21 69 73 5f 61 HeaderField($header).{.if.(!is_a
ee220 72 72 61 79 28 24 68 65 61 64 65 72 29 29 20 7b 0a 24 68 65 61 64 65 72 20 3d 20 65 78 70 6c 6f rray($header)).{.$header.=.explo
ee240 64 65 28 22 5c 72 5c 6e 22 2c 20 24 68 65 61 64 65 72 29 3b 0a 7d 0a 75 61 73 6f 72 74 28 24 68 de("\r\n",.$header);.}.uasort($h
ee260 65 61 64 65 72 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 65 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 eader,.function.($el).{.return.s
ee280 74 72 69 70 6f 73 28 24 65 6c 2c 20 27 63 6f 6e 74 65 6e 74 2d 74 79 70 65 27 29 20 3d 3d 3d 20 tripos($el,.'content-type').===.
ee2a0 30 20 3f 20 31 20 3a 20 2d 31 3b 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 68 65 61 64 65 72 3b 0.?.1.:.-1;.});..return.$header;
ee2c0 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 .}.}.<?php............namespace.
ee2e0 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e Composer\Util;..use.Composer\Con
ee300 66 69 67 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 49 4f 5c 49 4f 49 6e 74 65 72 66 61 63 65 fig;.use.Composer\IO\IOInterface
ee320 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 76 6e 0a 7b 0a 63 6f 6e 73 74 20 4d 41 58 5f 51 54 59 ;......class.Svn.{.const.MAX_QTY
ee340 5f 41 55 54 48 5f 54 52 49 45 53 20 3d 20 35 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 _AUTH_TRIES.=.5;.....protected.$
ee360 63 72 65 64 65 6e 74 69 61 6c 73 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 68 61 73 41 credentials;.....protected.$hasA
ee380 75 74 68 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6f 3b 0a 0a 0a 0a 0a 70 72 6f 74 uth;.....protected.$io;.....prot
ee3a0 65 63 74 65 64 20 24 75 72 6c 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 61 63 68 65 ected.$url;.....protected.$cache
ee3c0 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 74 72 75 65 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 Credentials.=.true;.....protecte
ee3e0 64 20 24 70 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 71 74 79 41 75 d.$process;.....protected.$qtyAu
ee400 74 68 54 72 69 65 73 20 3d 20 30 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 66 thTries.=.0;.....protected.$conf
ee420 69 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 76 65 72 73 69 6f 6e 3b ig;.....private.static.$version;
ee440 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 ........public.function.__constr
ee460 75 63 74 28 24 75 72 6c 2c 20 49 4f 49 6e 74 65 72 66 61 63 65 20 24 69 6f 2c 20 43 6f 6e 66 69 uct($url,.IOInterface.$io,.Confi
ee480 67 20 24 63 6f 6e 66 69 67 2c 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 20 24 70 72 6f 63 g.$config,.ProcessExecutor.$proc
ee4a0 65 73 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 72 6c 20 3d 20 24 75 72 6c 3b ess.=.null).{.$this->url.=.$url;
ee4c0 0a 24 74 68 69 73 2d 3e 69 6f 20 3d 20 24 69 6f 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 20 .$this->io.=.$io;.$this->config.
ee4e0 3d 20 24 63 6f 6e 66 69 67 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f =.$config;.$this->process.=.$pro
ee500 63 65 73 73 20 3f 3a 20 6e 65 77 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 28 24 69 6f 29 cess.?:.new.ProcessExecutor($io)
ee520 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 ;.}..public.static.function.clea
ee540 6e 45 6e 76 28 29 0a 7b 0a 0a 20 70 75 74 65 6e 76 28 22 44 59 4c 44 5f 4c 49 42 52 41 52 59 5f nEnv().{...putenv("DYLD_LIBRARY_
ee560 50 41 54 48 22 29 3b 0a 75 6e 73 65 74 28 24 5f 53 45 52 56 45 52 5b 27 44 59 4c 44 5f 4c 49 42 PATH");.unset($_SERVER['DYLD_LIB
ee580 52 41 52 59 5f 50 41 54 48 27 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 RARY_PATH']);.}...............pu
ee5a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 blic.function.execute($command,.
ee5c0 24 75 72 6c 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c $url,.$cwd.=.null,.$path.=.null,
ee5e0 20 24 76 65 72 62 6f 73 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 6f .$verbose.=.false).{...$this->co
ee600 6e 66 69 67 2d 3e 70 72 6f 68 69 62 69 74 55 72 6c 42 79 43 6f 6e 66 69 67 28 24 75 72 6c 2c 20 nfig->prohibitUrlByConfig($url,.
ee620 24 74 68 69 73 2d 3e 69 6f 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 65 63 75 $this->io);..return.$this->execu
ee640 74 65 57 69 74 68 41 75 74 68 52 65 74 72 79 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 63 77 64 2c 20 teWithAuthRetry($command,.$cwd,.
ee660 24 75 72 6c 2c 20 24 70 61 74 68 2c 20 24 76 65 72 62 6f 73 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a $url,.$path,.$verbose);.}.......
ee680 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 4c 6f .......public.function.executeLo
ee6a0 63 61 6c 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 70 61 74 68 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c cal($command,.$path,.$cwd.=.null
ee6c0 2c 20 24 76 65 72 62 6f 73 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 72 65 74 75 72 6e 20 24 ,.$verbose.=.false).{...return.$
ee6e0 74 68 69 73 2d 3e 65 78 65 63 75 74 65 57 69 74 68 41 75 74 68 52 65 74 72 79 28 24 63 6f 6d 6d this->executeWithAuthRetry($comm
ee700 61 6e 64 2c 20 24 63 77 64 2c 20 27 27 2c 20 24 70 61 74 68 2c 20 24 76 65 72 62 6f 73 65 29 3b and,.$cwd,.'',.$path,.$verbose);
ee720 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 57 69 74 68 .}..private.function.executeWith
ee740 41 75 74 68 52 65 74 72 79 28 24 73 76 6e 43 6f 6d 6d 61 6e 64 2c 20 24 63 77 64 2c 20 24 75 72 AuthRetry($svnCommand,.$cwd,.$ur
ee760 6c 2c 20 24 70 61 74 68 2c 20 24 76 65 72 62 6f 73 65 29 0a 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 l,.$path,.$verbose).{...$command
ee780 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 28 24 73 76 6e 43 6f 6d 6d 61 6e 64 .=.$this->getCommand($svnCommand
ee7a0 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 29 3b 0a 0a 24 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 3b ,.$url,.$path);..$output.=.null;
ee7c0 0a 24 69 6f 20 3d 20 24 74 68 69 73 2d 3e 69 6f 3b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 66 75 6e .$io.=.$this->io;.$handler.=.fun
ee7e0 63 74 69 6f 6e 20 28 24 74 79 70 65 2c 20 24 62 75 66 66 65 72 29 20 75 73 65 20 28 26 24 6f 75 ction.($type,.$buffer).use.(&$ou
ee800 74 70 75 74 2c 20 24 69 6f 2c 20 24 76 65 72 62 6f 73 65 29 20 7b 0a 69 66 20 28 24 74 79 70 65 tput,.$io,.$verbose).{.if.($type
ee820 20 21 3d 3d 20 27 6f 75 74 27 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 27 52 65 64 .!==.'out').{.return;.}.if.('Red
ee840 69 72 65 63 74 69 6e 67 20 74 6f 20 55 52 4c 20 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 62 75 irecting.to.URL.'.===.substr($bu
ee860 66 66 65 72 2c 20 30 2c 20 31 39 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 6f 75 74 70 75 ffer,.0,.19)).{.return;.}.$outpu
ee880 74 20 2e 3d 20 24 62 75 66 66 65 72 3b 0a 69 66 20 28 24 76 65 72 62 6f 73 65 29 20 7b 0a 24 69 t..=.$buffer;.if.($verbose).{.$i
ee8a0 6f 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 24 62 75 66 66 65 72 2c 20 66 61 6c 73 65 29 3b 0a 7d o->writeError($buffer,.false);.}
ee8c0 0a 7d 3b 0a 24 73 74 61 74 75 73 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 .};.$status.=.$this->process->ex
ee8e0 65 63 75 74 65 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 68 61 6e 64 6c 65 72 2c 20 24 63 77 64 29 3b ecute($command,.$handler,.$cwd);
ee900 0a 69 66 20 28 30 20 3d 3d 3d 20 24 73 74 61 74 75 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 6f 75 .if.(0.===.$status).{.return.$ou
ee920 74 70 75 74 3b 0a 7d 0a 0a 24 65 72 72 6f 72 4f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 70 tput;.}..$errorOutput.=.$this->p
ee940 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 24 66 75 6c 6c 4f rocess->getErrorOutput();.$fullO
ee960 75 74 70 75 74 20 3d 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 61 72 72 61 79 28 24 6f 75 74 utput.=.implode("\n",.array($out
ee980 70 75 74 2c 20 24 65 72 72 6f 72 4f 75 74 70 75 74 29 29 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 put,.$errorOutput));....if.(fals
ee9a0 65 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 66 75 6c 6c 4f 75 74 70 75 74 2c 20 27 43 6f 75 6c e.===.stripos($fullOutput,.'Coul
ee9c0 64 20 6e 6f 74 20 61 75 74 68 65 6e 74 69 63 61 74 65 20 74 6f 20 73 65 72 76 65 72 3a 27 29 0a d.not.authenticate.to.server:').
ee9e0 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 66 75 6c 6c 4f 75 74 70 75 74 &&.false.===.stripos($fullOutput
eea00 2c 20 27 61 75 74 68 6f 72 69 7a 61 74 69 6f 6e 20 66 61 69 6c 65 64 27 29 0a 26 26 20 66 61 6c ,.'authorization.failed').&&.fal
eea20 73 65 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 66 75 6c 6c 4f 75 74 70 75 74 2c 20 27 73 76 6e se.===.stripos($fullOutput,.'svn
eea40 3a 20 45 31 37 30 30 30 31 3a 27 29 0a 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 69 70 6f :.E170001:').&&.false.===.stripo
eea60 73 28 24 66 75 6c 6c 4f 75 74 70 75 74 2c 20 27 73 76 6e 3a 20 45 32 31 35 30 30 34 3a 27 29 29 s($fullOutput,.'svn:.E215004:'))
eea80 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 24 .{.throw.new.\RuntimeException($
eeaa0 66 75 6c 6c 4f 75 74 70 75 74 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 41 fullOutput);.}..if.(!$this->hasA
eeac0 75 74 68 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 6f 41 75 74 68 44 61 6e 63 65 28 29 3b 0a 7d uth()).{.$this->doAuthDance();.}
eeae0 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 71 74 79 41 75 74 68 54 72 69 65 73 2b 2b 20 3c 20 ....if.($this->qtyAuthTries++.<.
eeb00 73 65 6c 66 3a 3a 4d 41 58 5f 51 54 59 5f 41 55 54 48 5f 54 52 49 45 53 29 20 7b 0a 0a 20 72 65 self::MAX_QTY_AUTH_TRIES).{...re
eeb20 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 65 57 69 74 68 41 75 74 68 52 65 74 72 79 turn.$this->executeWithAuthRetry
eeb40 28 24 73 76 6e 43 6f 6d 6d 61 6e 64 2c 20 24 63 77 64 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 2c ($svnCommand,.$cwd,.$url,.$path,
eeb60 20 24 76 65 72 62 6f 73 65 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d .$verbose);.}..throw.new.\Runtim
eeb80 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 77 72 6f 6e 67 20 63 72 65 64 65 6e 74 69 61 6c 73 20 70 eException(.'wrong.credentials.p
eeba0 72 6f 76 69 64 65 64 20 28 27 2e 24 66 75 6c 6c 4f 75 74 70 75 74 2e 27 29 27 0a 29 3b 0a 7d 0a rovided.('.$fullOutput.')'.);.}.
eebc0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 61 63 68 65 43 72 65 64 ....public.function.setCacheCred
eebe0 65 6e 74 69 61 6c 73 28 24 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 29 0a 7b 0a 24 74 68 entials($cacheCredentials).{.$th
eec00 69 73 2d 3e 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 24 63 61 63 68 65 43 72 65 is->cacheCredentials.=.$cacheCre
eec20 64 65 6e 74 69 61 6c 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e dentials;.}........protected.fun
eec40 63 74 69 6f 6e 20 64 6f 41 75 74 68 44 61 6e 63 65 28 29 0a 7b 0a 0a 20 69 66 20 28 21 24 74 68 ction.doAuthDance().{...if.(!$th
eec60 69 73 2d 3e 69 6f 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 74 68 72 6f 77 is->io->isInteractive()).{.throw
eec80 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 63 61 6e 20 6e 6f 74 .new.\RuntimeException(.'can.not
eeca0 20 61 73 6b 20 66 6f 72 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 69 6e 20 6e 6f 6e 20 69 .ask.for.authentication.in.non.i
eecc0 6e 74 65 72 61 63 74 69 76 65 20 6d 6f 64 65 27 0a 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6f nteractive.mode'.);.}..$this->io
eece0 2d 3e 77 72 69 74 65 45 72 72 6f 72 28 22 54 68 65 20 53 75 62 76 65 72 73 69 6f 6e 20 73 65 72 ->writeError("The.Subversion.ser
eed00 76 65 72 20 28 7b 24 74 68 69 73 2d 3e 75 72 6c 7d 29 20 72 65 71 75 65 73 74 65 64 20 63 72 65 ver.({$this->url}).requested.cre
eed20 64 65 6e 74 69 61 6c 73 3a 22 29 3b 0a 0a 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 20 3d 20 74 dentials:");..$this->hasAuth.=.t
eed40 72 75 65 3b 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 75 73 65 72 6e 61 6d rue;.$this->credentials['usernam
eed60 65 27 5d 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 28 22 55 73 65 72 6e 61 6d 65 3a 20 e'].=.$this->io->ask("Username:.
eed80 22 29 3b 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 70 61 73 73 77 6f 72 64 ");.$this->credentials['password
eeda0 27 5d 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 41 6e 64 48 69 64 65 41 6e 73 77 65 72 '].=.$this->io->askAndHideAnswer
eedc0 28 22 50 61 73 73 77 6f 72 64 3a 20 22 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 65 ("Password:.");..$this->cacheCre
eede0 64 65 6e 74 69 61 6c 73 20 3d 20 24 74 68 69 73 2d 3e 69 6f 2d 3e 61 73 6b 43 6f 6e 66 69 72 6d dentials.=.$this->io->askConfirm
eee00 61 74 69 6f 6e 28 22 53 68 6f 75 6c 64 20 53 75 62 76 65 72 73 69 6f 6e 20 63 61 63 68 65 20 74 ation("Should.Subversion.cache.t
eee20 68 65 73 65 20 63 72 65 64 65 6e 74 69 61 6c 73 3f 20 28 79 65 73 2f 6e 6f 29 20 22 2c 20 74 72 hese.credentials?.(yes/no).",.tr
eee40 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ue);..return.$this;.}...........
eee60 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 24 63 protected.function.getCommand($c
eee80 6d 64 2c 20 24 75 72 6c 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 63 6d 64 20 3d md,.$url,.$path.=.null).{.$cmd.=
eeea0 20 73 70 72 69 6e 74 66 28 0a 27 25 73 20 25 73 25 73 20 25 73 27 2c 0a 24 63 6d 64 2c 0a 27 2d .sprintf(.'%s.%s%s.%s',.$cmd,.'-
eeec0 2d 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 20 27 2c 0a 24 74 68 69 73 2d 3e 67 65 74 43 72 -non-interactive.',.$this->getCr
eeee0 65 64 65 6e 74 69 61 6c 53 74 72 69 6e 67 28 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f edentialString(),.ProcessExecuto
eef00 72 3a 3a 65 73 63 61 70 65 28 24 75 72 6c 29 0a 29 3b 0a 0a 69 66 20 28 24 70 61 74 68 29 20 7b r::escape($url).);..if.($path).{
eef20 0a 24 63 6d 64 20 2e 3d 20 27 20 27 20 2e 20 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a .$cmd..=.'.'...ProcessExecutor::
eef40 65 73 63 61 70 65 28 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6d 64 3b 0a 7d escape($path);.}..return.$cmd;.}
eef60 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 .........protected.function.getC
eef80 72 65 64 65 6e 74 69 61 6c 53 74 72 69 6e 67 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e redentialString().{.if.(!$this->
eefa0 68 61 73 41 75 74 68 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 72 65 74 75 72 hasAuth()).{.return.'';.}..retur
eefc0 6e 20 73 70 72 69 6e 74 66 28 0a 27 20 25 73 2d 2d 75 73 65 72 6e 61 6d 65 20 25 73 20 2d 2d 70 n.sprintf(.'.%s--username.%s.--p
eefe0 61 73 73 77 6f 72 64 20 25 73 20 27 2c 0a 24 74 68 69 73 2d 3e 67 65 74 41 75 74 68 43 61 63 68 assword.%s.',.$this->getAuthCach
ef000 65 28 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 68 e(),.ProcessExecutor::escape($th
ef020 69 73 2d 3e 67 65 74 55 73 65 72 6e 61 6d 65 28 29 29 2c 0a 50 72 6f 63 65 73 73 45 78 65 63 75 is->getUsername()),.ProcessExecu
ef040 74 6f 72 3a 3a 65 73 63 61 70 65 28 24 74 68 69 73 2d 3e 67 65 74 50 61 73 73 77 6f 72 64 28 29 tor::escape($this->getPassword()
ef060 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e ).);.}........protected.function
ef080 20 67 65 74 50 61 73 73 77 6f 72 64 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 72 65 64 .getPassword().{.if.($this->cred
ef0a0 65 6e 74 69 61 6c 73 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c entials.===.null).{.throw.new.\L
ef0c0 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 22 4e 6f 20 73 76 6e 20 61 75 74 68 20 64 65 74 65 63 ogicException("No.svn.auth.detec
ef0e0 74 65 64 2e 22 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 ted.");.}..return.isset($this->c
ef100 72 65 64 65 6e 74 69 61 6c 73 5b 27 70 61 73 73 77 6f 72 64 27 5d 29 20 3f 20 24 74 68 69 73 2d redentials['password']).?.$this-
ef120 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3a 20 27 27 3b 0a 7d >credentials['password'].:.'';.}
ef140 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 ........protected.function.getUs
ef160 65 72 6e 61 6d 65 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c ername().{.if.($this->credential
ef180 73 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 s.===.null).{.throw.new.\LogicEx
ef1a0 63 65 70 74 69 6f 6e 28 22 4e 6f 20 73 76 6e 20 61 75 74 68 20 64 65 74 65 63 74 65 64 2e 22 29 ception("No.svn.auth.detected.")
ef1c0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 ;.}..return.$this->credentials['
ef1e0 75 73 65 72 6e 61 6d 65 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 username'];.}.......protected.fu
ef200 6e 63 74 69 6f 6e 20 68 61 73 41 75 74 68 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 nction.hasAuth().{.if.(null.!==.
ef220 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e $this->hasAuth).{.return.$this->
ef240 68 61 73 41 75 74 68 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d hasAuth;.}..if.(false.===.$this-
ef260 3e 63 72 65 61 74 65 41 75 74 68 46 72 6f 6d 43 6f 6e 66 69 67 28 29 29 20 7b 0a 24 74 68 69 73 >createAuthFromConfig()).{.$this
ef280 2d 3e 63 72 65 61 74 65 41 75 74 68 46 72 6f 6d 55 72 6c 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e ->createAuthFromUrl();.}..return
ef2a0 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 .$this->hasAuth;.}.......protect
ef2c0 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 68 43 61 63 68 65 28 29 0a 7b 0a 72 65 74 ed.function.getAuthCache().{.ret
ef2e0 75 72 6e 20 24 74 68 69 73 2d 3e 63 61 63 68 65 43 72 65 64 65 6e 74 69 61 6c 73 20 3f 20 27 27 urn.$this->cacheCredentials.?.''
ef300 20 3a 20 27 2d 2d 6e 6f 2d 61 75 74 68 2d 63 61 63 68 65 20 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 .:.'--no-auth-cache.';.}.......p
ef320 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 41 75 74 68 46 72 6f 6d 43 6f rivate.function.createAuthFromCo
ef340 6e 66 69 67 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 68 61 73 nfig().{.if.(!$this->config->has
ef360 28 27 68 74 74 70 2d 62 61 73 69 63 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ('http-basic')).{.return.$this->
ef380 68 61 73 41 75 74 68 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 61 75 74 68 43 6f 6e 66 69 67 20 hasAuth.=.false;.}..$authConfig.
ef3a0 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 68 74 74 70 2d 62 61 73 69 63 =.$this->config->get('http-basic
ef3c0 27 29 3b 0a 0a 24 68 6f 73 74 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e 75 72 ');..$host.=.parse_url($this->ur
ef3e0 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 61 75 74 l,.PHP_URL_HOST);.if.(isset($aut
ef400 68 43 6f 6e 66 69 67 5b 24 68 6f 73 74 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e hConfig[$host])).{.$this->creden
ef420 74 69 61 6c 73 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 3d 20 24 61 75 74 68 43 6f 6e 66 69 67 5b tials['username'].=.$authConfig[
ef440 24 68 6f 73 74 5d 5b 27 75 73 65 72 6e 61 6d 65 27 5d 3b 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 $host]['username'];.$this->crede
ef460 6e 74 69 61 6c 73 5b 27 70 61 73 73 77 6f 72 64 27 5d 20 3d 20 24 61 75 74 68 43 6f 6e 66 69 67 ntials['password'].=.$authConfig
ef480 5b 24 68 6f 73 74 5d 5b 27 70 61 73 73 77 6f 72 64 27 5d 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 [$host]['password'];..return.$th
ef4a0 69 73 2d 3e 68 61 73 41 75 74 68 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 is->hasAuth.=.true;.}..return.$t
ef4c0 68 69 73 2d 3e 68 61 73 41 75 74 68 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 his->hasAuth.=.false;.}.......pr
ef4e0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 41 75 74 68 46 72 6f 6d 55 72 6c ivate.function.createAuthFromUrl
ef500 28 29 0a 7b 0a 24 75 72 69 20 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 74 68 69 73 2d 3e 75 72 6c ().{.$uri.=.parse_url($this->url
ef520 29 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 75 72 69 5b 27 75 73 65 72 27 5d 29 29 20 7b 0a 72 65 );.if.(empty($uri['user'])).{.re
ef540 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a turn.$this->hasAuth.=.false;.}..
ef560 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 75 73 65 72 6e 61 6d 65 27 5d 20 3d $this->credentials['username'].=
ef580 20 24 75 72 69 5b 27 75 73 65 72 27 5d 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 75 72 69 5b 27 .$uri['user'];.if.(!empty($uri['
ef5a0 70 61 73 73 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 72 65 64 65 6e 74 69 61 6c 73 5b 27 70 pass'])).{.$this->credentials['p
ef5c0 61 73 73 77 6f 72 64 27 5d 20 3d 20 24 75 72 69 5b 27 70 61 73 73 27 5d 3b 0a 7d 0a 0a 72 65 74 assword'].=.$uri['pass'];.}..ret
ef5e0 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 41 75 74 68 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a urn.$this->hasAuth.=.true;.}....
ef600 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 69 6e 61 72 79 56 65 72 73 69 6f 6e ...public.function.binaryVersion
ef620 28 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 29 20 7b 0a 69 66 20 28 ().{.if.(!self::$version).{.if.(
ef640 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e 65 78 65 63 75 74 65 28 27 73 0.===.$this->process->execute('s
ef660 76 6e 20 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 24 6f 75 74 70 75 74 29 29 20 7b 0a 69 66 20 28 70 vn.--version',.$output)).{.if.(p
ef680 72 65 67 5f 6d 61 74 63 68 28 27 7b 28 5c 64 2b 28 3f 3a 5c 2e 5c 64 2b 29 2b 29 7d 27 2c 20 24 reg_match('{(\d+(?:\.\d+)+)}',.$
ef6a0 6f 75 74 70 75 74 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f output,.$match)).{.self::$versio
ef6c0 6e 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c n.=.$match[1];.}.}.}..return.sel
ef6e0 66 3a 3a 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a f::$version;.}.}.<?php..........
ef700 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 ..namespace.Composer\Util;..use.
ef720 43 6f 6d 70 6f 73 65 72 5c 43 61 42 75 6e 64 6c 65 5c 43 61 42 75 6e 64 6c 65 3b 0a 0a 0a 0a 0a Composer\CaBundle\CaBundle;.....
ef740 66 69 6e 61 6c 20 63 6c 61 73 73 20 54 6c 73 48 65 6c 70 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a final.class.TlsHelper.{.........
ef760 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 43 65 72 .public.static.function.checkCer
ef780 74 69 66 69 63 61 74 65 48 6f 73 74 28 24 63 65 72 74 69 66 69 63 61 74 65 2c 20 24 68 6f 73 74 tificateHost($certificate,.$host
ef7a0 6e 61 6d 65 2c 20 26 24 63 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6e 61 6d 65 73 20 3d 20 73 65 name,.&$cn.=.null).{.$names.=.se
ef7c0 6c 66 3a 3a 67 65 74 43 65 72 74 69 66 69 63 61 74 65 4e 61 6d 65 73 28 24 63 65 72 74 69 66 69 lf::getCertificateNames($certifi
ef7e0 63 61 74 65 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 6e 61 6d 65 73 29 29 20 7b 0a 72 65 74 cate);..if.(empty($names)).{.ret
ef800 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 63 6f 6d 62 69 6e 65 64 4e 61 6d 65 73 20 3d 20 61 urn.false;.}..$combinedNames.=.a
ef820 72 72 61 79 5f 6d 65 72 67 65 28 24 6e 61 6d 65 73 5b 27 73 61 6e 27 5d 2c 20 61 72 72 61 79 28 rray_merge($names['san'],.array(
ef840 24 6e 61 6d 65 73 5b 27 63 6e 27 5d 29 29 3b 0a 24 68 6f 73 74 6e 61 6d 65 20 3d 20 73 74 72 74 $names['cn']));.$hostname.=.strt
ef860 6f 6c 6f 77 65 72 28 24 68 6f 73 74 6e 61 6d 65 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f olower($hostname);..foreach.($co
ef880 6d 62 69 6e 65 64 4e 61 6d 65 73 20 61 73 20 24 63 65 72 74 4e 61 6d 65 29 20 7b 0a 24 6d 61 74 mbinedNames.as.$certName).{.$mat
ef8a0 63 68 65 72 20 3d 20 73 65 6c 66 3a 3a 63 65 72 74 4e 61 6d 65 4d 61 74 63 68 65 72 28 24 63 65 cher.=.self::certNameMatcher($ce
ef8c0 72 74 4e 61 6d 65 29 3b 0a 0a 69 66 20 28 24 6d 61 74 63 68 65 72 20 26 26 20 24 6d 61 74 63 68 rtName);..if.($matcher.&&.$match
ef8e0 65 72 28 24 68 6f 73 74 6e 61 6d 65 29 29 20 7b 0a 24 63 6e 20 3d 20 24 6e 61 6d 65 73 5b 27 63 er($hostname)).{.$cn.=.$names['c
ef900 6e 27 5d 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 n'];..return.true;.}.}..return.f
ef920 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 alse;.}.........public.static.fu
ef940 6e 63 74 69 6f 6e 20 67 65 74 43 65 72 74 69 66 69 63 61 74 65 4e 61 6d 65 73 28 24 63 65 72 74 nction.getCertificateNames($cert
ef960 69 66 69 63 61 74 65 29 0a 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 63 65 72 74 69 66 69 ificate).{.if.(is_array($certifi
ef980 63 61 74 65 29 29 20 7b 0a 24 69 6e 66 6f 20 3d 20 24 63 65 72 74 69 66 69 63 61 74 65 3b 0a 7d cate)).{.$info.=.$certificate;.}
ef9a0 20 65 6c 73 65 69 66 20 28 43 61 42 75 6e 64 6c 65 3a 3a 69 73 4f 70 65 6e 73 73 6c 50 61 72 73 .elseif.(CaBundle::isOpensslPars
ef9c0 65 53 61 66 65 28 29 29 20 7b 0a 24 69 6e 66 6f 20 3d 20 6f 70 65 6e 73 73 6c 5f 78 35 30 39 5f eSafe()).{.$info.=.openssl_x509_
ef9e0 70 61 72 73 65 28 24 63 65 72 74 69 66 69 63 61 74 65 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 0a 69 parse($certificate,.false);.}..i
efa00 66 20 28 21 69 73 73 65 74 28 24 69 6e 66 6f 5b 27 73 75 62 6a 65 63 74 27 5d 5b 27 63 6f 6d 6d f.(!isset($info['subject']['comm
efa20 6f 6e 4e 61 6d 65 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 6f onName'])).{.return.null;.}..$co
efa40 6d 6d 6f 6e 4e 61 6d 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 6e 66 6f 5b 27 73 75 62 mmonName.=.strtolower($info['sub
efa60 6a 65 63 74 27 5d 5b 27 63 6f 6d 6d 6f 6e 4e 61 6d 65 27 5d 29 3b 0a 24 73 75 62 6a 65 63 74 41 ject']['commonName']);.$subjectA
efa80 6c 74 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 69 ltNames.=.array();..if.(isset($i
efaa0 6e 66 6f 5b 27 65 78 74 65 6e 73 69 6f 6e 73 27 5d 5b 27 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d nfo['extensions']['subjectAltNam
efac0 65 27 5d 29 29 20 7b 0a 24 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 73 20 3d 20 70 72 65 67 5f e'])).{.$subjectAltNames.=.preg_
efae0 73 70 6c 69 74 28 27 7b 5c 73 2a 2c 5c 73 2a 7d 27 2c 20 24 69 6e 66 6f 5b 27 65 78 74 65 6e 73 split('{\s*,\s*}',.$info['extens
efb00 69 6f 6e 73 27 5d 5b 27 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 27 5d 29 3b 0a 24 73 75 62 6a ions']['subjectAltName']);.$subj
efb20 65 63 74 41 6c 74 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 ectAltNames.=.array_filter(array
efb40 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 6e 61 6d 65 29 20 7b 0a 69 66 20 28 30 20 3d 3d _map(function.($name).{.if.(0.==
efb60 3d 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 44 4e 53 3a 27 29 29 20 7b 0a 72 65 74 75 72 =.strpos($name,.'DNS:')).{.retur
efb80 6e 20 73 74 72 74 6f 6c 6f 77 65 72 28 6c 74 72 69 6d 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c n.strtolower(ltrim(substr($name,
efba0 20 34 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 2c 20 24 73 75 62 6a 65 .4)));.}..return.null;.},.$subje
efbc0 63 74 41 6c 74 4e 61 6d 65 73 29 29 3b 0a 24 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 73 20 3d ctAltNames));.$subjectAltNames.=
efbe0 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 73 29 3b .array_values($subjectAltNames);
efc00 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 63 6e 27 20 3d 3e 20 24 63 6f 6d 6d 6f .}..return.array(.'cn'.=>.$commo
efc20 6e 4e 61 6d 65 2c 0a 27 73 61 6e 27 20 3d 3e 20 24 73 75 62 6a 65 63 74 41 6c 74 4e 61 6d 65 73 nName,.'san'.=>.$subjectAltNames
efc40 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ,.);.}..........................
efc60 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e ...............public.static.fun
efc80 63 74 69 6f 6e 20 67 65 74 43 65 72 74 69 66 69 63 61 74 65 46 69 6e 67 65 72 70 72 69 6e 74 28 ction.getCertificateFingerprint(
efca0 24 63 65 72 74 69 66 69 63 61 74 65 29 0a 7b 0a 24 70 75 62 6b 65 79 64 65 74 61 69 6c 73 20 3d $certificate).{.$pubkeydetails.=
efcc0 20 6f 70 65 6e 73 73 6c 5f 70 6b 65 79 5f 67 65 74 5f 64 65 74 61 69 6c 73 28 6f 70 65 6e 73 73 .openssl_pkey_get_details(openss
efce0 6c 5f 67 65 74 5f 70 75 62 6c 69 63 6b 65 79 28 24 63 65 72 74 69 66 69 63 61 74 65 29 29 3b 0a l_get_publickey($certificate));.
efd00 24 70 75 62 6b 65 79 70 65 6d 20 3d 20 24 70 75 62 6b 65 79 64 65 74 61 69 6c 73 5b 27 6b 65 79 $pubkeypem.=.$pubkeydetails['key
efd20 27 5d 3b 0a 0a 20 24 73 74 61 72 74 20 3d 20 27 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 4c 49 '];...$start.=.'-----BEGIN.PUBLI
efd40 43 20 4b 45 59 2d 2d 2d 2d 2d 27 3b 0a 24 65 6e 64 20 3d 20 27 2d 2d 2d 2d 2d 45 4e 44 20 50 55 C.KEY-----';.$end.=.'-----END.PU
efd60 42 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 27 3b 0a 24 70 65 6d 74 72 69 6d 20 3d 20 73 75 62 73 74 BLIC.KEY-----';.$pemtrim.=.subst
efd80 72 28 24 70 75 62 6b 65 79 70 65 6d 2c 20 73 74 72 70 6f 73 28 24 70 75 62 6b 65 79 70 65 6d 2c r($pubkeypem,.strpos($pubkeypem,
efda0 20 24 73 74 61 72 74 29 20 2b 20 73 74 72 6c 65 6e 28 24 73 74 61 72 74 29 2c 20 28 73 74 72 6c .$start).+.strlen($start),.(strl
efdc0 65 6e 28 24 70 75 62 6b 65 79 70 65 6d 29 20 2d 20 73 74 72 70 6f 73 28 24 70 75 62 6b 65 79 70 en($pubkeypem).-.strpos($pubkeyp
efde0 65 6d 2c 20 24 65 6e 64 29 29 20 2a 20 28 2d 31 29 29 3b 0a 24 64 65 72 20 3d 20 62 61 73 65 36 em,.$end)).*.(-1));.$der.=.base6
efe00 34 5f 64 65 63 6f 64 65 28 24 70 65 6d 74 72 69 6d 29 3b 0a 0a 72 65 74 75 72 6e 20 73 68 61 31 4_decode($pemtrim);..return.sha1
efe20 28 24 64 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 ($der);.}..........public.static
efe40 20 66 75 6e 63 74 69 6f 6e 20 69 73 4f 70 65 6e 73 73 6c 50 61 72 73 65 53 61 66 65 28 29 0a 7b .function.isOpensslParseSafe().{
efe60 0a 72 65 74 75 72 6e 20 43 61 42 75 6e 64 6c 65 3a 3a 69 73 4f 70 65 6e 73 73 6c 50 61 72 73 65 .return.CaBundle::isOpensslParse
efe80 53 61 66 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 Safe();.}.........private.static
efea0 20 66 75 6e 63 74 69 6f 6e 20 63 65 72 74 4e 61 6d 65 4d 61 74 63 68 65 72 28 24 63 65 72 74 4e .function.certNameMatcher($certN
efec0 61 6d 65 29 0a 7b 0a 24 77 69 6c 64 63 61 72 64 73 20 3d 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 ame).{.$wildcards.=.substr_count
efee0 28 24 63 65 72 74 4e 61 6d 65 2c 20 27 2a 27 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 77 69 ($certName,.'*');..if.(0.===.$wi
eff00 6c 64 63 61 72 64 73 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 68 ldcards).{...return.function.($h
eff20 6f 73 74 6e 61 6d 65 29 20 75 73 65 20 28 24 63 65 72 74 4e 61 6d 65 29 20 7b 0a 72 65 74 75 72 ostname).use.($certName).{.retur
eff40 6e 20 24 68 6f 73 74 6e 61 6d 65 20 3d 3d 3d 20 24 63 65 72 74 4e 61 6d 65 3b 0a 7d 3b 0a 7d 0a n.$hostname.===.$certName;.};.}.
eff60 0a 69 66 20 28 31 20 3d 3d 3d 20 24 77 69 6c 64 63 61 72 64 73 29 20 7b 0a 24 63 6f 6d 70 6f 6e .if.(1.===.$wildcards).{.$compon
eff80 65 6e 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2e 27 2c 20 24 63 65 72 74 4e 61 6d 65 29 3b 0a ents.=.explode('.',.$certName);.
effa0 0a 69 66 20 28 33 20 3e 20 63 6f 75 6e 74 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 29 20 7b 0a 0a .if.(3.>.count($components)).{..
effc0 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 66 69 72 73 74 43 6f 6d 70 6f 6e 65 6e 74 20 3d 20 24 63 .return;.}..$firstComponent.=.$c
effe0 6f 6d 70 6f 6e 65 6e 74 73 5b 30 5d 3b 0a 0a 0a 20 69 66 20 28 27 2a 27 20 21 3d 3d 20 24 66 69 omponents[0];....if.('*'.!==.$fi
f0000 72 73 74 43 6f 6d 70 6f 6e 65 6e 74 5b 73 74 72 6c 65 6e 28 24 66 69 72 73 74 43 6f 6d 70 6f 6e rstComponent[strlen($firstCompon
f0020 65 6e 74 29 20 2d 20 31 5d 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 77 69 6c 64 63 61 72 ent).-.1]).{.return;.}..$wildcar
f0040 64 52 65 67 65 78 20 3d 20 70 72 65 67 5f 71 75 6f 74 65 28 24 63 65 72 74 4e 61 6d 65 29 3b 0a dRegex.=.preg_quote($certName);.
f0060 24 77 69 6c 64 63 61 72 64 52 65 67 65 78 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c $wildcardRegex.=.str_replace('\\
f0080 2a 27 2c 20 27 5b 61 2d 7a 30 2d 39 2d 5d 2b 27 2c 20 24 77 69 6c 64 63 61 72 64 52 65 67 65 78 *',.'[a-z0-9-]+',.$wildcardRegex
f00a0 29 3b 0a 24 77 69 6c 64 63 61 72 64 52 65 67 65 78 20 3d 20 22 7b 5e 7b 24 77 69 6c 64 63 61 72 );.$wildcardRegex.=."{^{$wildcar
f00c0 64 52 65 67 65 78 7d 24 7d 22 3b 0a 0a 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 68 dRegex}$}";..return.function.($h
f00e0 6f 73 74 6e 61 6d 65 29 20 75 73 65 20 28 24 77 69 6c 64 63 61 72 64 52 65 67 65 78 29 20 7b 0a ostname).use.($wildcardRegex).{.
f0100 72 65 74 75 72 6e 20 31 20 3d 3d 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 24 77 69 6c 64 63 61 72 return.1.===.preg_match($wildcar
f0120 64 52 65 67 65 78 2c 20 24 68 6f 73 74 6e 61 6d 65 29 3b 0a 7d 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 dRegex,.$hostname);.};.}.}.}.<?p
f0140 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 hp............namespace.Composer
f0160 5c 55 74 69 6c 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 66 69 67 3b 0a 0a 0a 0a \Util;..use.Composer\Config;....
f0180 0a 63 6c 61 73 73 20 55 72 6c 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 .class.Url.{.public.static.funct
f01a0 69 6f 6e 20 75 70 64 61 74 65 44 69 73 74 52 65 66 65 72 65 6e 63 65 28 43 6f 6e 66 69 67 20 24 ion.updateDistReference(Config.$
f01c0 63 6f 6e 66 69 67 2c 20 24 75 72 6c 2c 20 24 72 65 66 29 0a 7b 0a 24 68 6f 73 74 20 3d 20 70 61 config,.$url,.$ref).{.$host.=.pa
f01e0 72 73 65 5f 75 72 6c 28 24 75 72 6c 2c 20 50 48 50 5f 55 52 4c 5f 48 4f 53 54 29 3b 0a 0a 69 66 rse_url($url,.PHP_URL_HOST);..if
f0200 20 28 24 68 6f 73 74 20 3d 3d 3d 20 27 61 70 69 2e 67 69 74 68 75 62 2e 63 6f 6d 27 20 7c 7c 20 .($host.===.'api.github.com'.||.
f0220 24 68 6f 73 74 20 3d 3d 3d 20 27 67 69 74 68 75 62 2e 63 6f 6d 27 20 7c 7c 20 24 68 6f 73 74 20 $host.===.'github.com'.||.$host.
f0240 3d 3d 3d 20 27 77 77 77 2e 67 69 74 68 75 62 2e 63 6f 6d 27 29 20 7b 0a 69 66 20 28 70 72 65 67 ===.'www.github.com').{.if.(preg
f0260 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 3f 3a 77 77 77 5c 2e 29 3f 67 69 74 _match('{^https?://(?:www\.)?git
f0280 68 75 62 5c 2e 63 6f 6d 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 29 2f 28 7a 69 70 7c 74 61 hub\.com/([^/]+)/([^/]+)/(zip|ta
f02a0 72 29 62 61 6c 6c 2f 28 2e 2b 29 24 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 r)ball/(.+)$}i',.$url,.$match)).
f02c0 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 67 69 74 68 75 62 2e 63 {...$url.=.'https://api.github.c
f02e0 6f 6d 2f 72 65 70 6f 73 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 27 2e 20 24 6d om/repos/'...$match[1]...'/'..$m
f0300 61 74 63 68 5b 32 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 33 5d 20 2e 20 27 62 61 6c atch[2]...'/'...$match[3]...'bal
f0320 6c 2f 27 20 2e 20 24 72 65 66 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 l/'...$ref;.}.elseif.(preg_match
f0340 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 3f 3a 77 77 77 5c 2e 29 3f 67 69 74 68 75 62 5c 2e 63 ('{^https?://(?:www\.)?github\.c
f0360 6f 6d 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 29 2f 61 72 63 68 69 76 65 2f 2e 2b 5c 2e 28 om/([^/]+)/([^/]+)/archive/.+\.(
f0380 7a 69 70 7c 74 61 72 29 28 3f 3a 5c 2e 67 7a 29 3f 24 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 zip|tar)(?:\.gz)?$}i',.$url,.$ma
f03a0 74 63 68 29 29 20 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 67 69 tch)).{...$url.=.'https://api.gi
f03c0 74 68 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 thub.com/repos/'...$match[1]...'
f03e0 2f 27 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 33 5d 20 /'..$match[2]...'/'...$match[3].
f0400 2e 20 27 62 61 6c 6c 2f 27 20 2e 20 24 72 65 66 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 ..'ball/'...$ref;.}.elseif.(preg
f0420 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 61 70 69 5c 2e 67 69 74 68 75 62 5c 2e _match('{^https?://api\.github\.
f0440 63 6f 6d 2f 72 65 70 6f 73 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 29 2f 28 7a 69 70 7c 74 com/repos/([^/]+)/([^/]+)/(zip|t
f0460 61 72 29 62 61 6c 6c 28 3f 3a 2f 2e 2b 29 3f 24 7d 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 ar)ball(?:/.+)?$}i',.$url,.$matc
f0480 68 29 29 20 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 68 74 74 70 73 3a 2f 2f 61 70 69 2e 67 69 74 68 h)).{...$url.=.'https://api.gith
f04a0 75 62 2e 63 6f 6d 2f 72 65 70 6f 73 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 27 ub.com/repos/'...$match[1]...'/'
f04c0 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2f 27 20 2e 20 24 6d 61 74 63 68 5b 33 5d 20 2e 20 ..$match[2]...'/'...$match[3]...
f04e0 27 62 61 6c 6c 2f 27 20 2e 20 24 72 65 66 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 68 6f 73 'ball/'...$ref;.}.}.elseif.($hos
f0500 74 20 3d 3d 3d 20 27 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 20 7c 7c 20 24 68 6f 73 74 20 3d t.===.'bitbucket.org'.||.$host.=
f0520 3d 3d 20 27 77 77 77 2e 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 27 29 20 7b 0a 69 66 20 28 70 72 ==.'www.bitbucket.org').{.if.(pr
f0540 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 3f 3a 77 77 77 5c 2e 29 3f 62 eg_match('{^https?://(?:www\.)?b
f0560 69 74 62 75 63 6b 65 74 5c 2e 6f 72 67 2f 28 5b 5e 2f 5d 2b 29 2f 28 5b 5e 2f 5d 2b 29 2f 67 65 itbucket\.org/([^/]+)/([^/]+)/ge
f0580 74 2f 28 2e 2b 29 5c 2e 28 7a 69 70 7c 74 61 72 5c 2e 67 7a 7c 74 61 72 5c 2e 62 7a 32 29 24 7d t/(.+)\.(zip|tar\.gz|tar\.bz2)$}
f05a0 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 68 i',.$url,.$match)).{...$url.=.'h
f05c0 74 74 70 73 3a 2f 2f 62 69 74 62 75 63 6b 65 74 2e 6f 72 67 2f 27 20 2e 20 24 6d 61 74 63 68 5b ttps://bitbucket.org/'...$match[
f05e0 31 5d 20 2e 20 27 2f 27 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 2f 67 65 74 2f 27 20 2e 20 1]...'/'..$match[2]...'/get/'...
f0600 24 72 65 66 20 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 68 5b 34 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 $ref...'.'...$match[4];.}.}.else
f0620 69 66 20 28 24 68 6f 73 74 20 3d 3d 3d 20 27 67 69 74 6c 61 62 2e 63 6f 6d 27 20 7c 7c 20 24 68 if.($host.===.'gitlab.com'.||.$h
f0640 6f 73 74 20 3d 3d 3d 20 27 77 77 77 2e 67 69 74 6c 61 62 2e 63 6f 6d 27 29 20 7b 0a 69 66 20 28 ost.===.'www.gitlab.com').{.if.(
f0660 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 68 74 74 70 73 3f 3a 2f 2f 28 3f 3a 77 77 77 5c 2e 29 preg_match('{^https?://(?:www\.)
f0680 3f 67 69 74 6c 61 62 5c 2e 63 6f 6d 2f 61 70 69 2f 76 5b 33 34 5d 2f 70 72 6f 6a 65 63 74 73 2f ?gitlab\.com/api/v[34]/projects/
f06a0 28 5b 5e 2f 5d 2b 29 2f 72 65 70 6f 73 69 74 6f 72 79 2f 61 72 63 68 69 76 65 5c 2e 28 7a 69 70 ([^/]+)/repository/archive\.(zip
f06c0 7c 74 61 72 5c 2e 67 7a 7c 74 61 72 5c 2e 62 7a 32 7c 74 61 72 29 5c 3f 73 68 61 3d 2e 2b 24 7d |tar\.gz|tar\.bz2|tar)\?sha=.+$}
f06e0 69 27 2c 20 24 75 72 6c 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 0a 20 24 75 72 6c 20 3d 20 27 68 i',.$url,.$match)).{...$url.=.'h
f0700 74 74 70 73 3a 2f 2f 67 69 74 6c 61 62 2e 63 6f 6d 2f 61 70 69 2f 76 34 2f 70 72 6f 6a 65 63 74 ttps://gitlab.com/api/v4/project
f0720 73 2f 27 20 2e 20 24 6d 61 74 63 68 5b 31 5d 20 2e 20 27 2f 72 65 70 6f 73 69 74 6f 72 79 2f 61 s/'...$match[1]...'/repository/a
f0740 72 63 68 69 76 65 2e 27 20 2e 20 24 6d 61 74 63 68 5b 32 5d 20 2e 20 27 3f 73 68 61 3d 27 20 2e rchive.'...$match[2]...'?sha='..
f0760 20 24 72 65 66 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 68 6f 73 .$ref;.}.}.elseif.(in_array($hos
f0780 74 2c 20 24 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 27 t,.$config->get('github-domains'
f07a0 29 2c 20 74 72 75 65 29 29 20 7b 0a 24 75 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 ),.true)).{.$url.=.preg_replace(
f07c0 27 7b 28 2f 72 65 70 6f 73 2f 5b 5e 2f 5d 2b 2f 5b 5e 2f 5d 2b 2f 28 7a 69 70 7c 74 61 72 29 62 '{(/repos/[^/]+/[^/]+/(zip|tar)b
f07e0 61 6c 6c 29 28 3f 3a 2f 2e 2b 29 3f 24 7d 69 27 2c 20 27 24 31 2f 27 2e 24 72 65 66 2c 20 24 75 all)(?:/.+)?$}i',.'$1/'.$ref,.$u
f0800 72 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 68 6f 73 74 2c 20 24 rl);.}.elseif.(in_array($host,.$
f0820 63 6f 6e 66 69 67 2d 3e 67 65 74 28 27 67 69 74 6c 61 62 2d 64 6f 6d 61 69 6e 73 27 29 2c 20 74 config->get('gitlab-domains'),.t
f0840 72 75 65 29 29 20 7b 0a 24 75 72 6c 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 28 2f rue)).{.$url.=.preg_replace('{(/
f0860 61 70 69 2f 76 5b 33 34 5d 2f 70 72 6f 6a 65 63 74 73 2f 5b 5e 2f 5d 2b 2f 72 65 70 6f 73 69 74 api/v[34]/projects/[^/]+/reposit
f0880 6f 72 79 2f 61 72 63 68 69 76 65 5c 2e 28 3f 3a 7a 69 70 7c 74 61 72 5c 2e 67 7a 7c 74 61 72 5c ory/archive\.(?:zip|tar\.gz|tar\
f08a0 2e 62 7a 32 7c 74 61 72 29 5c 3f 73 68 61 3d 29 2e 2b 24 7d 69 27 2c 20 27 24 7b 31 7d 27 2e 24 .bz2|tar)\?sha=).+$}i',.'${1}'.$
f08c0 72 65 66 2c 20 24 75 72 6c 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 6c 3b 0a 7d 0a 7d 0a ref,.$url);.}..return.$url;.}.}.
f08e0 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f <?php............namespace.Compo
f0900 73 65 72 5c 55 74 69 6c 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 5a 69 70 0a 7b 0a 0a 0a 0a 0a 0a 0a ser\Util;.....class.Zip.{.......
f0920 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 70 ..public.static.function.getComp
f0940 6f 73 65 72 4a 73 6f 6e 28 24 70 61 74 68 54 6f 5a 69 70 29 0a 7b 0a 69 66 20 28 21 65 78 74 65 oserJson($pathToZip).{.if.(!exte
f0960 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 7a 69 70 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 nsion_loaded('zip')).{.throw.new
f0980 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 5a 69 70 20 55 74 69 6c .\RuntimeException('The.Zip.Util
f09a0 20 72 65 71 75 69 72 65 73 20 50 48 50 5c 27 73 20 7a 69 70 20 65 78 74 65 6e 73 69 6f 6e 27 29 .requires.PHP\'s.zip.extension')
f09c0 3b 0a 7d 0a 0a 24 7a 69 70 20 3d 20 6e 65 77 20 5c 5a 69 70 41 72 63 68 69 76 65 28 29 3b 0a 69 ;.}..$zip.=.new.\ZipArchive();.i
f09e0 66 20 28 24 7a 69 70 2d 3e 6f 70 65 6e 28 24 70 61 74 68 54 6f 5a 69 70 29 20 21 3d 3d 20 74 72 f.($zip->open($pathToZip).!==.tr
f0a00 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 20 24 ue).{.return.null;.}..if.(0.==.$
f0a20 7a 69 70 2d 3e 6e 75 6d 46 69 6c 65 73 29 20 7b 0a 24 7a 69 70 2d 3e 63 6c 6f 73 65 28 29 3b 0a zip->numFiles).{.$zip->close();.
f0a40 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 66 6f 75 6e 64 46 69 6c 65 49 6e 64 65 78 .return.null;.}..$foundFileIndex
f0a60 20 3d 20 73 65 6c 66 3a 3a 6c 6f 63 61 74 65 46 69 6c 65 28 24 7a 69 70 2c 20 27 63 6f 6d 70 6f .=.self::locateFile($zip,.'compo
f0a80 73 65 72 2e 6a 73 6f 6e 27 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 66 6f 75 6e 64 ser.json');.if.(false.===.$found
f0aa0 46 69 6c 65 49 6e 64 65 78 29 20 7b 0a 24 7a 69 70 2d 3e 63 6c 6f 73 65 28 29 3b 0a 0a 72 65 74 FileIndex).{.$zip->close();..ret
f0ac0 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 6e 75 6c 6c 3b 0a 24 63 urn.null;.}..$content.=.null;.$c
f0ae0 6f 6e 66 69 67 75 72 61 74 69 6f 6e 46 69 6c 65 4e 61 6d 65 20 3d 20 24 7a 69 70 2d 3e 67 65 74 onfigurationFileName.=.$zip->get
f0b00 4e 61 6d 65 49 6e 64 65 78 28 24 66 6f 75 6e 64 46 69 6c 65 49 6e 64 65 78 29 3b 0a 24 73 74 72 NameIndex($foundFileIndex);.$str
f0b20 65 61 6d 20 3d 20 24 7a 69 70 2d 3e 67 65 74 53 74 72 65 61 6d 28 24 63 6f 6e 66 69 67 75 72 61 eam.=.$zip->getStream($configura
f0b40 74 69 6f 6e 46 69 6c 65 4e 61 6d 65 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 73 tionFileName);..if.(false.!==.$s
f0b60 74 72 65 61 6d 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 tream).{.$content.=.stream_get_c
f0b80 6f 6e 74 65 6e 74 73 28 24 73 74 72 65 61 6d 29 3b 0a 7d 0a 0a 24 7a 69 70 2d 3e 63 6c 6f 73 65 ontents($stream);.}..$zip->close
f0ba0 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ();..return.$content;.}.........
f0bc0 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 63 61 74 65 46 .private.static.function.locateF
f0be0 69 6c 65 28 5c 5a 69 70 41 72 63 68 69 76 65 20 24 7a 69 70 2c 20 24 66 69 6c 65 6e 61 6d 65 29 ile(\ZipArchive.$zip,.$filename)
f0c00 0a 7b 0a 24 69 6e 64 65 78 4f 66 53 68 6f 72 74 65 73 74 4d 61 74 63 68 20 3d 20 66 61 6c 73 65 .{.$indexOfShortestMatch.=.false
f0c20 3b 0a 24 6c 65 6e 67 74 68 4f 66 53 68 6f 72 74 65 73 74 4d 61 74 63 68 20 3d 20 2d 31 3b 0a 0a ;.$lengthOfShortestMatch.=.-1;..
f0c40 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 7a 69 70 2d 3e 6e 75 6d 46 69 6c 65 73 for.($i.=.0;.$i.<.$zip->numFiles
f0c60 3b 20 24 69 2b 2b 29 20 7b 0a 24 73 74 61 74 20 3d 20 24 7a 69 70 2d 3e 73 74 61 74 49 6e 64 65 ;.$i++).{.$stat.=.$zip->statInde
f0c80 78 28 24 69 29 3b 0a 69 66 20 28 73 74 72 63 6d 70 28 62 61 73 65 6e 61 6d 65 28 24 73 74 61 74 x($i);.if.(strcmp(basename($stat
f0ca0 5b 27 6e 61 6d 65 27 5d 29 2c 20 24 66 69 6c 65 6e 61 6d 65 29 20 3d 3d 3d 20 30 29 20 7b 0a 24 ['name']),.$filename).===.0).{.$
f0cc0 64 69 72 65 63 74 6f 72 79 4e 61 6d 65 20 3d 20 64 69 72 6e 61 6d 65 28 24 73 74 61 74 5b 27 6e directoryName.=.dirname($stat['n
f0ce0 61 6d 65 27 5d 29 3b 0a 69 66 20 28 24 64 69 72 65 63 74 6f 72 79 4e 61 6d 65 20 3d 3d 3d 20 27 ame']);.if.($directoryName.===.'
f0d00 2e 27 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 24 69 3b 0a 7d 0a 0a 69 66 20 28 73 74 72 70 .').{.....return.$i;.}..if.(strp
f0d20 6f 73 28 24 64 69 72 65 63 74 6f 72 79 4e 61 6d 65 2c 20 27 5c 5c 27 29 20 21 3d 3d 20 66 61 6c os($directoryName,.'\\').!==.fal
f0d40 73 65 20 7c 7c 0a 73 74 72 70 6f 73 28 24 64 69 72 65 63 74 6f 72 79 4e 61 6d 65 2c 20 27 2f 27 se.||.strpos($directoryName,.'/'
f0d60 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 0a 20 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6c ).!==.false).{...continue;.}..$l
f0d80 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 73 74 61 74 5b 27 6e 61 6d 65 27 5d 29 3b 0a 69 ength.=.strlen($stat['name']);.i
f0da0 66 20 28 24 69 6e 64 65 78 4f 66 53 68 6f 72 74 65 73 74 4d 61 74 63 68 20 3d 3d 3d 20 66 61 6c f.($indexOfShortestMatch.===.fal
f0dc0 73 65 20 7c 7c 20 24 6c 65 6e 67 74 68 20 3c 20 24 6c 65 6e 67 74 68 4f 66 53 68 6f 72 74 65 73 se.||.$length.<.$lengthOfShortes
f0de0 74 4d 61 74 63 68 29 20 7b 0a 0a 20 24 63 6f 6e 74 65 6e 74 73 20 3d 20 24 7a 69 70 2d 3e 67 65 tMatch).{...$contents.=.$zip->ge
f0e00 74 46 72 6f 6d 49 6e 64 65 78 28 24 69 29 3b 0a 69 66 20 28 24 63 6f 6e 74 65 6e 74 73 20 21 3d tFromIndex($i);.if.($contents.!=
f0e20 3d 20 66 61 6c 73 65 29 20 7b 0a 24 69 6e 64 65 78 4f 66 53 68 6f 72 74 65 73 74 4d 61 74 63 68 =.false).{.$indexOfShortestMatch
f0e40 20 3d 20 24 69 3b 0a 24 6c 65 6e 67 74 68 4f 66 53 68 6f 72 74 65 73 74 4d 61 74 63 68 20 3d 20 .=.$i;.$lengthOfShortestMatch.=.
f0e60 24 6c 65 6e 67 74 68 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 6e 64 65 78 4f $length;.}.}.}.}..return.$indexO
f0e80 66 53 68 6f 72 74 65 73 74 4d 61 74 63 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a fShortestMatch;.}.}.<?php.......
f0ea0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 3b 0a 0a 75 73 65 20 53 79 .....namespace.Composer;..use.Sy
f0ec0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f mfony\Component\Console\Output\O
f0ee0 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 utputInterface;..trigger_error('
f0f00 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 5c 58 64 65 62 75 67 The.'...__NAMESPACE__...'\Xdebug
f0f20 48 61 6e 64 6c 65 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 75 73 65 Handler.class.is.deprecated,.use
f0f40 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 58 64 65 62 75 67 48 61 .Composer\XdebugHandler\XdebugHa
f0f60 6e 64 6c 65 72 20 69 6e 73 74 65 61 64 2c 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 ndler.instead,',.E_USER_DEPRECAT
f0f80 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 58 64 65 62 75 67 48 61 6e 64 6c 65 72 20 65 78 74 ED);.....class.XdebugHandler.ext
f0fa0 65 6e 64 73 20 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 ends.XdebugHandler\XdebugHandler
f0fc0 0a 7b 0a 63 6f 6e 73 74 20 45 4e 56 5f 41 4c 4c 4f 57 20 3d 20 27 43 4f 4d 50 4f 53 45 52 5f 41 .{.const.ENV_ALLOW.=.'COMPOSER_A
f0fe0 4c 4c 4f 57 5f 58 44 45 42 55 47 27 3b 0a 63 6f 6e 73 74 20 45 4e 56 5f 56 45 52 53 49 4f 4e 20 LLOW_XDEBUG';.const.ENV_VERSION.
f1000 3d 20 27 43 4f 4d 50 4f 53 45 52 5f 58 44 45 42 55 47 5f 56 45 52 53 49 4f 4e 27 3b 0a 0a 70 75 =.'COMPOSER_XDEBUG_VERSION';..pu
f1020 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 70 75 74 blic.function.__construct(Output
f1040 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 Interface.$output).{.parent::__c
f1060 6f 6e 73 74 72 75 63 74 28 27 63 6f 6d 70 6f 73 65 72 27 2c 20 27 2d 2d 61 6e 73 69 27 29 3b 0a onstruct('composer',.'--ansi');.
f1080 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 69 6e }.}.<?php............function.in
f10a0 63 6c 75 64 65 49 66 45 78 69 73 74 73 28 24 66 69 6c 65 29 0a 7b 0a 72 65 74 75 72 6e 20 66 69 cludeIfExists($file).{.return.fi
f10c0 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 20 3f 20 69 6e 63 6c 75 64 65 20 24 66 69 6c 65 le_exists($file).?.include.$file
f10e0 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 28 21 24 6c 6f 61 64 65 72 20 3d 20 69 6e 63 .:.false;.}..if.((!$loader.=.inc
f1100 6c 75 64 65 49 66 45 78 69 73 74 73 28 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 76 65 6e 64 6f 72 ludeIfExists(__DIR__.'/../vendor
f1120 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 29 29 20 26 26 20 28 21 24 6c 6f 61 64 65 72 20 3d 20 /autoload.php')).&&.(!$loader.=.
f1140 69 6e 63 6c 75 64 65 49 66 45 78 69 73 74 73 28 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 2e 2e 2f includeIfExists(__DIR__.'/../../
f1160 2e 2e 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 29 29 29 20 7b 0a 65 63 68 6f 20 27 59 6f 75 20 ../autoload.php'))).{.echo.'You.
f1180 6d 75 73 74 20 73 65 74 20 75 70 20 74 68 65 20 70 72 6f 6a 65 63 74 20 64 65 70 65 6e 64 65 6e must.set.up.the.project.dependen
f11a0 63 69 65 73 20 75 73 69 6e 67 20 60 63 6f 6d 70 6f 73 65 72 20 69 6e 73 74 61 6c 6c 60 27 2e 50 cies.using.`composer.install`'.P
f11c0 48 50 5f 45 4f 4c 2e 0a 27 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 74 63 6f 6d 70 6f 73 65 72 HP_EOL..'See.https://getcomposer
f11e0 2e 6f 72 67 2f 64 6f 77 6e 6c 6f 61 64 2f 20 66 6f 72 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 .org/download/.for.instructions.
f1200 6f 6e 20 69 6e 73 74 61 6c 6c 69 6e 67 20 43 6f 6d 70 6f 73 65 72 27 2e 50 48 50 5f 45 4f 4c 3b on.installing.Composer'.PHP_EOL;
f1220 0a 65 78 69 74 28 31 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 6f 61 64 65 72 3b 0a 3c 3f 70 .exit(1);.}..return.$loader;.<?p
f1240 68 70 0a 0a 2f 2a 0a 20 2a 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 43 hp../*..*.This.file.is.part.of.C
f1260 6f 6d 70 6f 73 65 72 2e 0a 20 2a 0a 20 2a 20 28 63 29 20 4e 69 6c 73 20 41 64 65 72 6d 61 6e 6e omposer...*..*.(c).Nils.Adermann
f1280 20 3c 6e 61 64 65 72 6d 61 6e 40 6e 61 64 65 72 6d 61 6e 2e 64 65 3e 0a 20 2a 20 20 20 20 20 4a .<naderman@naderman.de>..*.....J
f12a0 6f 72 64 69 20 42 6f 67 67 69 61 6e 6f 20 3c 6a 2e 62 6f 67 67 69 61 6e 6f 40 73 65 6c 64 2e 62 ordi.Boggiano.<j.boggiano@seld.b
f12c0 65 3e 0a 20 2a 0a 20 2a 20 46 6f 72 20 74 68 65 20 66 75 6c 6c 20 63 6f 70 79 72 69 67 68 74 20 e>..*..*.For.the.full.copyright.
f12e0 61 6e 64 20 6c 69 63 65 6e 73 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 70 6c 65 61 73 65 20 and.license.information,.please.
f1300 76 69 65 77 20 74 68 65 20 4c 49 43 45 4e 53 45 0a 20 2a 20 66 69 6c 65 20 74 68 61 74 20 77 61 view.the.LICENSE..*.file.that.wa
f1320 73 20 64 69 73 74 72 69 62 75 74 65 64 20 77 69 74 68 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 s.distributed.with.this.source.c
f1340 6f 64 65 2e 0a 20 2a 2f 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 ode...*/..namespace.Composer\Aut
f1360 6f 6c 6f 61 64 3b 0a 0a 2f 2a 2a 0a 20 2a 20 43 6c 61 73 73 4c 6f 61 64 65 72 20 69 6d 70 6c 65 oload;../**..*.ClassLoader.imple
f1380 6d 65 6e 74 73 20 61 20 50 53 52 2d 30 2c 20 50 53 52 2d 34 20 61 6e 64 20 63 6c 61 73 73 6d 61 ments.a.PSR-0,.PSR-4.and.classma
f13a0 70 20 63 6c 61 73 73 20 6c 6f 61 64 65 72 2e 0a 20 2a 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 p.class.loader...*..*.....$loade
f13c0 72 20 3d 20 6e 65 77 20 5c 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 r.=.new.\Composer\Autoload\Class
f13e0 4c 6f 61 64 65 72 28 29 3b 0a 20 2a 0a 20 2a 20 20 20 20 20 2f 2f 20 72 65 67 69 73 74 65 72 20 Loader();..*..*.....//.register.
f1400 63 6c 61 73 73 65 73 20 77 69 74 68 20 6e 61 6d 65 73 70 61 63 65 73 0a 20 2a 20 20 20 20 20 24 classes.with.namespaces..*.....$
f1420 6c 6f 61 64 65 72 2d 3e 61 64 64 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 27 2c loader->add('Symfony\Component',
f1440 20 5f 5f 44 49 52 5f 5f 2e 27 2f 63 6f 6d 70 6f 6e 65 6e 74 27 29 3b 0a 20 2a 20 20 20 20 20 24 .__DIR__.'/component');..*.....$
f1460 6c 6f 61 64 65 72 2d 3e 61 64 64 28 27 53 79 6d 66 6f 6e 79 27 2c 20 20 20 20 20 20 20 20 20 20 loader->add('Symfony',..........
f1480 20 5f 5f 44 49 52 5f 5f 2e 27 2f 66 72 61 6d 65 77 6f 72 6b 27 29 3b 0a 20 2a 0a 20 2a 20 20 20 .__DIR__.'/framework');..*..*...
f14a0 20 20 2f 2f 20 61 63 74 69 76 61 74 65 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 0a 20 2a 20 ..//.activate.the.autoloader..*.
f14c0 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 72 65 67 69 73 74 65 72 28 29 3b 0a 20 2a 0a 20 2a 20 20 ....$loader->register();..*..*..
f14e0 20 20 20 2f 2f 20 74 6f 20 65 6e 61 62 6c 65 20 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 69 6e ...//.to.enable.searching.the.in
f1500 63 6c 75 64 65 20 70 61 74 68 20 28 65 67 2e 20 66 6f 72 20 50 45 41 52 20 70 61 63 6b 61 67 65 clude.path.(eg..for.PEAR.package
f1520 73 29 0a 20 2a 20 20 20 20 20 24 6c 6f 61 64 65 72 2d 3e 73 65 74 55 73 65 49 6e 63 6c 75 64 65 s)..*.....$loader->setUseInclude
f1540 50 61 74 68 28 74 72 75 65 29 3b 0a 20 2a 0a 20 2a 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c Path(true);..*..*.In.this.exampl
f1560 65 2c 20 69 66 20 79 6f 75 20 74 72 79 20 74 6f 20 75 73 65 20 61 20 63 6c 61 73 73 20 69 6e 20 e,.if.you.try.to.use.a.class.in.
f1580 74 68 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 0a 20 2a 20 6e 61 6d 65 73 70 61 the.Symfony\Component..*.namespa
f15a0 63 65 20 6f 72 20 6f 6e 65 20 6f 66 20 69 74 73 20 63 68 69 6c 64 72 65 6e 20 28 53 79 6d 66 6f ce.or.one.of.its.children.(Symfo
f15c0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 20 66 6f 72 20 69 6e 73 74 61 6e 63 ny\Component\Console.for.instanc
f15e0 65 29 2c 0a 20 2a 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 77 69 6c 6c 20 66 69 72 73 74 e),..*.the.autoloader.will.first
f1600 20 6c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 63 6c 61 73 73 20 75 6e 64 65 72 20 74 68 65 20 63 6f .look.for.the.class.under.the.co
f1620 6d 70 6f 6e 65 6e 74 2f 0a 20 2a 20 64 69 72 65 63 74 6f 72 79 2c 20 61 6e 64 20 69 74 20 77 69 mponent/..*.directory,.and.it.wi
f1640 6c 6c 20 74 68 65 6e 20 66 61 6c 6c 62 61 63 6b 20 74 6f 20 74 68 65 20 66 72 61 6d 65 77 6f 72 ll.then.fallback.to.the.framewor
f1660 6b 2f 20 64 69 72 65 63 74 6f 72 79 20 69 66 20 6e 6f 74 0a 20 2a 20 66 6f 75 6e 64 20 62 65 66 k/.directory.if.not..*.found.bef
f1680 6f 72 65 20 67 69 76 69 6e 67 20 75 70 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 20 63 6c 61 73 73 20 ore.giving.up...*..*.This.class.
f16a0 69 73 20 6c 6f 6f 73 65 6c 79 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 53 79 6d 66 6f 6e 79 20 is.loosely.based.on.the.Symfony.
f16c0 55 6e 69 76 65 72 73 61 6c 43 6c 61 73 73 4c 6f 61 64 65 72 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 UniversalClassLoader...*..*.@aut
f16e0 68 6f 72 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 20 3c 66 61 62 69 65 6e 40 73 79 6d hor.Fabien.Potencier.<fabien@sym
f1700 66 6f 6e 79 2e 63 6f 6d 3e 0a 20 2a 20 40 61 75 74 68 6f 72 20 4a 6f 72 64 69 20 42 6f 67 67 69 fony.com>..*.@author.Jordi.Boggi
f1720 61 6e 6f 20 3c 6a 2e 62 6f 67 67 69 61 6e 6f 40 73 65 6c 64 2e 62 65 3e 0a 20 2a 20 40 73 65 65 ano.<j.boggiano@seld.be>..*.@see
f1740 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2d 66 69 67 2e 6f 72 67 2f 70 73 72 2f 70 ....http://www.php-fig.org/psr/p
f1760 73 72 2d 30 2f 0a 20 2a 20 40 73 65 65 20 20 20 20 68 74 74 70 3a 2f 2f 77 77 77 2e 70 68 70 2d sr-0/..*.@see....http://www.php-
f1780 66 69 67 2e 6f 72 67 2f 70 73 72 2f 70 73 72 2d 34 2f 0a 20 2a 2f 0a 63 6c 61 73 73 20 43 6c 61 fig.org/psr/psr-4/..*/.class.Cla
f17a0 73 73 4c 6f 61 64 65 72 0a 7b 0a 20 20 20 20 2f 2f 20 50 53 52 2d 34 0a 20 20 20 20 70 72 69 76 ssLoader.{.....//.PSR-4.....priv
f17c0 61 74 65 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 20 3d 20 61 72 72 61 79 28 29 ate.$prefixLengthsPsr4.=.array()
f17e0 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 44 69 72 73 50 73 72 34 20 3d 20 ;.....private.$prefixDirsPsr4.=.
f1800 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b 44 69 array();.....private.$fallbackDi
f1820 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 2f 2f 20 50 53 52 2d 30 0a rsPsr4.=.array();......//.PSR-0.
f1840 20 20 20 20 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 65 73 50 73 72 30 20 3d 20 61 72 72 61 ....private.$prefixesPsr0.=.arra
f1860 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 y();.....private.$fallbackDirsPs
f1880 72 30 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 75 73 65 49 r0.=.array();......private.$useI
f18a0 6e 63 6c 75 64 65 50 61 74 68 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 ncludePath.=.false;.....private.
f18c0 24 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 $classMap.=.array();.....private
f18e0 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 66 61 6c 73 65 3b .$classMapAuthoritative.=.false;
f1900 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 6d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 20 3d 20 61 .....private.$missingClasses.=.a
f1920 72 72 61 79 28 29 3b 0a 20 20 20 20 70 72 69 76 61 74 65 20 24 61 70 63 75 50 72 65 66 69 78 3b rray();.....private.$apcuPrefix;
f1940 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 69 78 65 ......public.function.getPrefixe
f1960 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 65 6d 70 74 79 28 24 74 68 s().....{.........if.(!empty($th
f1980 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 is->prefixesPsr0)).{............
f19a0 20 72 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 .return.call_user_func_array('ar
f19c0 72 61 79 5f 6d 65 72 67 65 27 2c 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 29 ray_merge',.$this->prefixesPsr0)
f19e0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 ;.........}..........return.arra
f1a00 79 28 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 y();.....}......public.function.
f1a20 67 65 74 50 72 65 66 69 78 65 73 50 73 72 34 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 getPrefixesPsr4().....{.........
f1a40 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 3b 0a 20 20 return.$this->prefixDirsPsr4;...
f1a60 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 61 6c 6c ..}......public.function.getFall
f1a80 62 61 63 6b 44 69 72 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 backDirs().....{.........return.
f1aa0 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 3b 0a 20 20 20 20 7d 0a 0a $this->fallbackDirsPsr0;.....}..
f1ac0 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 61 6c 6c 62 61 63 6b 44 ....public.function.getFallbackD
f1ae0 69 72 73 50 73 72 34 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 irsPsr4().....{.........return.$
f1b00 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 3b 0a 20 20 20 20 7d 0a 0a 20 this->fallbackDirsPsr4;.....}...
f1b20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 4d 61 70 28 29 ...public.function.getClassMap()
f1b40 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 .....{.........return.$this->cla
f1b60 73 73 4d 61 70 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 40 70 61 ssMap;.....}....../**......*.@pa
f1b80 72 61 6d 20 61 72 72 61 79 20 24 63 6c 61 73 73 4d 61 70 20 43 6c 61 73 73 20 74 6f 20 66 69 6c ram.array.$classMap.Class.to.fil
f1ba0 65 6e 61 6d 65 20 6d 61 70 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e ename.map......*/.....public.fun
f1bc0 63 74 69 6f 6e 20 61 64 64 43 6c 61 73 73 4d 61 70 28 61 72 72 61 79 20 24 63 6c 61 73 73 4d 61 ction.addClassMap(array.$classMa
f1be0 70 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 p).....{.........if.($this->clas
f1c00 73 4d 61 70 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 sMap).{.............$this->class
f1c20 4d 61 70 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 Map.=.array_merge($this->classMa
f1c40 70 2c 20 24 63 6c 61 73 73 4d 61 70 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a p,.$classMap);.........}.else.{.
f1c60 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 20 3d 20 24 63 ............$this->classMap.=.$c
f1c80 6c 61 73 73 4d 61 70 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a lassMap;.........}.....}....../*
f1ca0 2a 0a 20 20 20 20 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 20 73 65 74 20 6f 66 20 50 53 52 2d *......*.Registers.a.set.of.PSR-
f1cc0 30 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 67 69 76 65 6e 20 70 72 65 66 69 78 0.directories.for.a.given.prefix
f1ce0 2c 20 65 69 74 68 65 72 0a 20 20 20 20 20 2a 20 61 70 70 65 6e 64 69 6e 67 20 6f 72 20 70 72 65 ,.either......*.appending.or.pre
f1d00 70 65 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 6f 6e 65 73 20 70 72 65 76 69 6f 75 73 6c 79 20 73 pending.to.the.ones.previously.s
f1d20 65 74 20 66 6f 72 20 74 68 69 73 20 70 72 65 66 69 78 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 et.for.this.prefix.......*......
f1d40 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 20 24 70 72 65 66 69 78 20 20 54 *.@param.string.......$prefix..T
f1d60 68 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 7c 73 74 he.prefix......*.@param.array|st
f1d80 72 69 6e 67 20 24 70 61 74 68 73 20 20 20 54 68 65 20 50 53 52 2d 30 20 72 6f 6f 74 20 64 69 72 ring.$paths...The.PSR-0.root.dir
f1da0 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f 6c 20 20 20 20 20 ectories......*.@param.bool.....
f1dc0 20 20 20 20 24 70 72 65 70 65 6e 64 20 57 68 65 74 68 65 72 20 74 6f 20 70 72 65 70 65 6e 64 20 ....$prepend.Whether.to.prepend.
f1de0 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c the.directories......*/.....publ
f1e00 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 2c ic.function.add($prefix,.$paths,
f1e20 20 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 .$prepend.=.false).....{........
f1e40 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 .if.(!$prefix).{.............if.
f1e60 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 ($prepend).{.................$th
f1e80 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 5f 6d 65 72 is->fallbackDirsPsr0.=.array_mer
f1ea0 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 ge(.....................(array).
f1ec0 24 70 61 74 68 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 $paths,.....................$thi
f1ee0 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 s->fallbackDirsPsr0.............
f1f00 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 ....);.............}.else.{.....
f1f20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 ............$this->fallbackDirsP
f1f40 73 72 30 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 sr0.=.array_merge(..............
f1f60 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 2c 0a .......$this->fallbackDirsPsr0,.
f1f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 ....................(array).$pat
f1fa0 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 hs.................);...........
f1fc0 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 ..}..............return;........
f1fe0 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 66 69 72 73 74 20 3d 20 24 70 72 65 66 69 78 5b 30 5d 3b .}..........$first.=.$prefix[0];
f2000 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 .........if.(!isset($this->prefi
f2020 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 29 29 20 7b 0a 20 20 20 xesPsr0[$first][$prefix])).{....
f2040 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 .........$this->prefixesPsr0[$fi
f2060 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a rst][$prefix].=.(array).$paths;.
f2080 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 .............return;.........}..
f20a0 20 20 20 20 20 20 20 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .......if.($prepend).{..........
f20c0 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 ...$this->prefixesPsr0[$first][$
f20e0 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 prefix].=.array_merge(..........
f2100 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 20 20 20 20 20 20 20 20 20 .......(array).$paths,..........
f2120 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 .......$this->prefixesPsr0[$firs
f2140 74 5d 5b 24 70 72 65 66 69 78 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 t][$prefix].............);......
f2160 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 ...}.else.{.............$this->p
f2180 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 refixesPsr0[$first][$prefix].=.a
f21a0 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 rray_merge(.................$thi
f21c0 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d s->prefixesPsr0[$first][$prefix]
f21e0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 ,.................(array).$paths
f2200 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a .............);.........}.....}.
f2220 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 20 73 65 74 20 ...../**......*.Registers.a.set.
f2240 6f 66 20 50 53 52 2d 34 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 67 69 76 65 6e of.PSR-4.directories.for.a.given
f2260 20 6e 61 6d 65 73 70 61 63 65 2c 20 65 69 74 68 65 72 0a 20 20 20 20 20 2a 20 61 70 70 65 6e 64 .namespace,.either......*.append
f2280 69 6e 67 20 6f 72 20 70 72 65 70 65 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 6f 6e 65 73 20 70 72 ing.or.prepending.to.the.ones.pr
f22a0 65 76 69 6f 75 73 6c 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 20 6e 61 6d 65 73 70 61 63 65 2e eviously.set.for.this.namespace.
f22c0 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 ......*......*.@param.string....
f22e0 20 20 20 24 70 72 65 66 69 78 20 20 54 68 65 20 70 72 65 66 69 78 2f 6e 61 6d 65 73 70 61 63 65 ...$prefix..The.prefix/namespace
f2300 2c 20 77 69 74 68 20 74 72 61 69 6c 69 6e 67 20 27 5c 5c 27 0a 20 20 20 20 20 2a 20 40 70 61 72 ,.with.trailing.'\\'......*.@par
f2320 61 6d 20 61 72 72 61 79 7c 73 74 72 69 6e 67 20 24 70 61 74 68 73 20 20 20 54 68 65 20 50 53 52 am.array|string.$paths...The.PSR
f2340 2d 34 20 62 61 73 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 20 40 70 61 72 61 -4.base.directories......*.@para
f2360 6d 20 62 6f 6f 6c 20 20 20 20 20 20 20 20 20 24 70 72 65 70 65 6e 64 20 57 68 65 74 68 65 72 20 m.bool.........$prepend.Whether.
f2380 74 6f 20 70 72 65 70 65 6e 64 20 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 to.prepend.the.directories......
f23a0 2a 0a 20 20 20 20 20 2a 20 40 74 68 72 6f 77 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e *......*.@throws.\InvalidArgumen
f23c0 74 45 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 tException......*/.....public.fu
f23e0 6e 63 74 69 6f 6e 20 61 64 64 50 73 72 34 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 2c 20 nction.addPsr4($prefix,.$paths,.
f2400 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 $prepend.=.false).....{.........
f2420 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 if.(!$prefix).{.............//.R
f2440 65 67 69 73 74 65 72 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 74 68 65 20 72 6f 6f 74 egister.directories.for.the.root
f2460 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 72 65 .namespace..............if.($pre
f2480 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 pend).{.................$this->f
f24a0 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 allbackDirsPsr4.=.array_merge(..
f24c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 ...................(array).$path
f24e0 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 s,.....................$this->fa
f2500 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 llbackDirsPsr4.................)
f2520 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 ;.............}.else.{..........
f2540 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d .......$this->fallbackDirsPsr4.=
f2560 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .array_merge(...................
f2580 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 2c 0a 20 20 20 20 20 ..$this->fallbackDirsPsr4,......
f25a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 0a 20 20 ...............(array).$paths...
f25c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ..............);.............}..
f25e0 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 .......}.elseif.(!isset($this->p
f2600 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 29 29 20 7b 0a 20 20 20 20 20 refixDirsPsr4[$prefix])).{......
f2620 20 20 20 20 20 20 20 2f 2f 20 52 65 67 69 73 74 65 72 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 .......//.Register.directories.f
f2640 6f 72 20 61 20 6e 65 77 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 or.a.new.namespace..............
f2660 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 20 20 20 20 20 $length.=.strlen($prefix);......
f2680 20 20 20 20 20 20 20 69 66 20 28 27 5c 5c 27 20 21 3d 3d 20 24 70 72 65 66 69 78 5b 24 6c 65 6e .......if.('\\'.!==.$prefix[$len
f26a0 67 74 68 20 2d 20 31 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f gth.-.1]).{.................thro
f26c0 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 w.new.\InvalidArgumentException(
f26e0 22 41 20 6e 6f 6e 2d 65 6d 70 74 79 20 50 53 52 2d 34 20 70 72 65 66 69 78 20 6d 75 73 74 20 65 "A.non-empty.PSR-4.prefix.must.e
f2700 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 74 6f 72 2e 22 29 nd.with.a.namespace.separator.")
f2720 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 ;.............}.............$thi
f2740 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 5b 24 70 72 65 66 69 78 5b 30 5d 5d s->prefixLengthsPsr4[$prefix[0]]
f2760 5b 24 70 72 65 66 69 78 5d 20 3d 20 24 6c 65 6e 67 74 68 3b 0a 20 20 20 20 20 20 20 20 20 20 20 [$prefix].=.$length;............
f2780 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 .$this->prefixDirsPsr4[$prefix].
f27a0 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 =.(array).$paths;.........}.else
f27c0 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 if.($prepend).{.............//.P
f27e0 72 65 70 65 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 6e 20 61 6c 72 65 61 64 repend.directories.for.an.alread
f2800 79 20 72 65 67 69 73 74 65 72 65 64 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 y.registered.namespace..........
f2820 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 ....$this->prefixDirsPsr4[$prefi
f2840 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x].=.array_merge(...............
f2860 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(array).$paths,...............
f2880 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d ..$this->prefixDirsPsr4[$prefix]
f28a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b .............);.........}.else.{
f28c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 70 70 65 6e 64 20 64 69 72 65 63 74 6f 72 69 .............//.Append.directori
f28e0 65 73 20 66 6f 72 20 61 6e 20 61 6c 72 65 61 64 79 20 72 65 67 69 73 74 65 72 65 64 20 6e 61 6d es.for.an.already.registered.nam
f2900 65 73 70 61 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 espace..............$this->prefi
f2920 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 xDirsPsr4[$prefix].=.array_merge
f2940 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 (.................$this->prefixD
f2960 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 irsPsr4[$prefix],...............
f2980 20 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 29 3b 0a ..(array).$paths.............);.
f29a0 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 ........}.....}....../**......*.
f29c0 52 65 67 69 73 74 65 72 73 20 61 20 73 65 74 20 6f 66 20 50 53 52 2d 30 20 64 69 72 65 63 74 6f Registers.a.set.of.PSR-0.directo
f29e0 72 69 65 73 20 66 6f 72 20 61 20 67 69 76 65 6e 20 70 72 65 66 69 78 2c 0a 20 20 20 20 20 2a 20 ries.for.a.given.prefix,......*.
f2a00 72 65 70 6c 61 63 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 73 20 70 72 65 76 69 6f 75 73 6c 79 20 replacing.any.others.previously.
f2a20 73 65 74 20 66 6f 72 20 74 68 69 73 20 70 72 65 66 69 78 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 set.for.this.prefix.......*.....
f2a40 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 20 20 24 70 72 65 66 69 78 20 54 .*.@param.string.......$prefix.T
f2a60 68 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 61 72 72 61 79 7c 73 74 he.prefix......*.@param.array|st
f2a80 72 69 6e 67 20 24 70 61 74 68 73 20 20 54 68 65 20 50 53 52 2d 30 20 62 61 73 65 20 64 69 72 65 ring.$paths..The.PSR-0.base.dire
f2aa0 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 ctories......*/.....public.funct
f2ac0 69 6f 6e 20 73 65 74 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 29 0a 20 20 20 20 7b 0a 20 ion.set($prefix,.$paths).....{..
f2ae0 20 20 20 20 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 .......if.(!$prefix).{..........
f2b00 20 20 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 28 61 72 ...$this->fallbackDirsPsr0.=.(ar
f2b20 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 ray).$paths;.........}.else.{...
f2b40 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 70 ..........$this->prefixesPsr0[$p
f2b60 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 refix[0]][$prefix].=.(array).$pa
f2b80 74 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 ths;.........}.....}....../**...
f2ba0 20 20 20 2a 20 52 65 67 69 73 74 65 72 73 20 61 20 73 65 74 20 6f 66 20 50 53 52 2d 34 20 64 69 ...*.Registers.a.set.of.PSR-4.di
f2bc0 72 65 63 74 6f 72 69 65 73 20 66 6f 72 20 61 20 67 69 76 65 6e 20 6e 61 6d 65 73 70 61 63 65 2c rectories.for.a.given.namespace,
f2be0 0a 20 20 20 20 20 2a 20 72 65 70 6c 61 63 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 73 20 70 72 65 ......*.replacing.any.others.pre
f2c00 76 69 6f 75 73 6c 79 20 73 65 74 20 66 6f 72 20 74 68 69 73 20 6e 61 6d 65 73 70 61 63 65 2e 0a viously.set.for.this.namespace..
f2c20 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 20 20 20 20 .....*......*.@param.string.....
f2c40 20 20 24 70 72 65 66 69 78 20 54 68 65 20 70 72 65 66 69 78 2f 6e 61 6d 65 73 70 61 63 65 2c 20 ..$prefix.The.prefix/namespace,.
f2c60 77 69 74 68 20 74 72 61 69 6c 69 6e 67 20 27 5c 5c 27 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d with.trailing.'\\'......*.@param
f2c80 20 61 72 72 61 79 7c 73 74 72 69 6e 67 20 24 70 61 74 68 73 20 20 54 68 65 20 50 53 52 2d 34 20 .array|string.$paths..The.PSR-4.
f2ca0 62 61 73 65 20 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 base.directories......*......*.@
f2cc0 74 68 72 6f 77 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e throws.\InvalidArgumentException
f2ce0 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 ......*/.....public.function.set
f2d00 50 73 72 34 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 Psr4($prefix,.$paths).....{.....
f2d20 20 20 20 20 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....if.(!$prefix).{.............
f2d40 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 28 61 72 72 61 79 $this->fallbackDirsPsr4.=.(array
f2d60 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 ).$paths;.........}.else.{......
f2d80 20 20 20 20 20 20 20 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 .......$length.=.strlen($prefix)
f2da0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 27 5c 5c 27 20 21 3d 3d 20 24 70 72 65 66 ;.............if.('\\'.!==.$pref
f2dc0 69 78 5b 24 6c 65 6e 67 74 68 20 2d 20 31 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ix[$length.-.1]).{..............
f2de0 20 20 20 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ...throw.new.\InvalidArgumentExc
f2e00 65 70 74 69 6f 6e 28 22 41 20 6e 6f 6e 2d 65 6d 70 74 79 20 50 53 52 2d 34 20 70 72 65 66 69 78 eption("A.non-empty.PSR-4.prefix
f2e20 20 6d 75 73 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 .must.end.with.a.namespace.separ
f2e40 61 74 6f 72 2e 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 ator.");.............}..........
f2e60 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 5b 24 70 72 65 ...$this->prefixLengthsPsr4[$pre
f2e80 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 24 6c 65 6e 67 74 68 3b 0a 20 20 20 20 fix[0]][$prefix].=.$length;.....
f2ea0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 ........$this->prefixDirsPsr4[$p
f2ec0 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 20 20 20 20 20 20 20 refix].=.(array).$paths;........
f2ee0 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 75 72 6e 73 20 6f .}.....}....../**......*.Turns.o
f2f00 6e 20 73 65 61 72 63 68 69 6e 67 20 74 68 65 20 69 6e 63 6c 75 64 65 20 70 61 74 68 20 66 6f 72 n.searching.the.include.path.for
f2f20 20 63 6c 61 73 73 20 66 69 6c 65 73 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 .class.files.......*......*.@par
f2f40 61 6d 20 62 6f 6f 6c 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 0a 20 20 20 20 20 2a 2f 0a am.bool.$useIncludePath......*/.
f2f60 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 73 65 49 6e 63 6c 75 64 ....public.function.setUseInclud
f2f80 65 50 61 74 68 28 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 29 0a 20 20 20 20 7b 0a 20 20 20 ePath($useIncludePath).....{....
f2fa0 20 20 20 20 20 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 20 3d 20 24 75 73 .....$this->useIncludePath.=.$us
f2fc0 65 49 6e 63 6c 75 64 65 50 61 74 68 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 eIncludePath;.....}....../**....
f2fe0 20 20 2a 20 43 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 65 63 6b 20 69 66 20 74 68 65 20 ..*.Can.be.used.to.check.if.the.
f3000 61 75 74 6f 6c 6f 61 64 65 72 20 75 73 65 73 20 74 68 65 20 69 6e 63 6c 75 64 65 20 70 61 74 68 autoloader.uses.the.include.path
f3020 20 74 6f 20 63 68 65 63 6b 0a 20 20 20 20 20 2a 20 66 6f 72 20 63 6c 61 73 73 65 73 2e 0a 20 20 .to.check......*.for.classes....
f3040 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 0a 20 20 20 20 20 2a 2f ...*......*.@return.bool......*/
f3060 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 49 6e 63 6c 75 .....public.function.getUseInclu
f3080 64 65 50 61 74 68 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 dePath().....{.........return.$t
f30a0 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 his->useIncludePath;.....}......
f30c0 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 75 72 6e 73 20 6f 66 66 20 73 65 61 72 63 68 69 6e 67 20 74 /**......*.Turns.off.searching.t
f30e0 68 65 20 70 72 65 66 69 78 20 61 6e 64 20 66 61 6c 6c 62 61 63 6b 20 64 69 72 65 63 74 6f 72 69 he.prefix.and.fallback.directori
f3100 65 73 20 66 6f 72 20 63 6c 61 73 73 65 73 0a 20 20 20 20 20 2a 20 74 68 61 74 20 68 61 76 65 20 es.for.classes......*.that.have.
f3120 6e 6f 74 20 62 65 65 6e 20 72 65 67 69 73 74 65 72 65 64 20 77 69 74 68 20 74 68 65 20 63 6c 61 not.been.registered.with.the.cla
f3140 73 73 20 6d 61 70 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d 20 62 6f 6f ss.map.......*......*.@param.boo
f3160 6c 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 0a 20 20 20 20 20 2a 2f l.$classMapAuthoritative......*/
f3180 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6c 61 73 73 4d 61 70 .....public.function.setClassMap
f31a0 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 Authoritative($classMapAuthorita
f31c0 74 69 76 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 tive).....{.........$this->class
f31e0 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 MapAuthoritative.=.$classMapAuth
f3200 6f 72 69 74 61 74 69 76 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a oritative;.....}....../**......*
f3220 20 53 68 6f 75 6c 64 20 63 6c 61 73 73 20 6c 6f 6f 6b 75 70 20 66 61 69 6c 20 69 66 20 6e 6f 74 .Should.class.lookup.fail.if.not
f3240 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6c 61 73 73 20 6d 61 70 3f .found.in.the.current.class.map?
f3260 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 0a 20 20 20 20 ......*......*.@return.bool.....
f3280 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 6c 61 73 73 4d .*/.....public.function.isClassM
f32a0 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 apAuthoritative().....{.........
f32c0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 return.$this->classMapAuthoritat
f32e0 69 76 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 41 50 43 75 20 ive;.....}....../**......*.APCu.
f3300 70 72 65 66 69 78 20 74 6f 20 75 73 65 20 74 6f 20 63 61 63 68 65 20 66 6f 75 6e 64 2f 6e 6f 74 prefix.to.use.to.cache.found/not
f3320 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 2c 20 69 66 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e -found.classes,.if.the.extension
f3340 20 69 73 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 .is.enabled.......*......*.@para
f3360 6d 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 20 24 61 70 63 75 50 72 65 66 69 78 0a 20 20 20 20 20 2a m.string|null.$apcuPrefix......*
f3380 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 70 63 75 50 72 65 /.....public.function.setApcuPre
f33a0 66 69 78 28 24 61 70 63 75 50 72 65 66 69 78 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 fix($apcuPrefix).....{.........$
f33c0 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 20 3d 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 this->apcuPrefix.=.function_exis
f33e0 74 73 28 27 61 70 63 75 5f 66 65 74 63 68 27 29 20 26 26 20 66 69 6c 74 65 72 5f 76 61 72 28 69 ts('apcu_fetch').&&.filter_var(i
f3400 6e 69 5f 67 65 74 28 27 61 70 63 2e 65 6e 61 62 6c 65 64 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 ni_get('apc.enabled'),.FILTER_VA
f3420 4c 49 44 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 20 3f 20 24 61 70 63 75 50 72 65 66 69 78 20 3a 20 LIDATE_BOOLEAN).?.$apcuPrefix.:.
f3440 6e 75 6c 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 54 68 65 20 null;.....}....../**......*.The.
f3460 41 50 43 75 20 70 72 65 66 69 78 20 69 6e 20 75 73 65 2c 20 6f 72 20 6e 75 6c 6c 20 69 66 20 41 APCu.prefix.in.use,.or.null.if.A
f3480 50 43 75 20 63 61 63 68 69 6e 67 20 69 73 20 6e 6f 74 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 PCu.caching.is.not.enabled......
f34a0 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 73 74 72 69 6e 67 7c 6e 75 6c 6c 0a 20 20 .*......*.@return.string|null...
f34c0 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 63 ...*/.....public.function.getApc
f34e0 75 50 72 65 66 69 78 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 uPrefix().....{.........return.$
f3500 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a this->apcuPrefix;.....}....../**
f3520 0a 20 20 20 20 20 2a 20 52 65 67 69 73 74 65 72 73 20 74 68 69 73 20 69 6e 73 74 61 6e 63 65 20 ......*.Registers.this.instance.
f3540 61 73 20 61 6e 20 61 75 74 6f 6c 6f 61 64 65 72 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 as.an.autoloader.......*......*.
f3560 40 70 61 72 61 6d 20 62 6f 6f 6c 20 24 70 72 65 70 65 6e 64 20 57 68 65 74 68 65 72 20 74 6f 20 @param.bool.$prepend.Whether.to.
f3580 70 72 65 70 65 6e 64 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 6f 72 20 6e 6f 74 0a 20 20 prepend.the.autoloader.or.not...
f35a0 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 ...*/.....public.function.regist
f35c0 65 72 28 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 er($prepend.=.false).....{......
f35e0 20 20 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 24 ...spl_autoload_register(array($
f3600 74 68 69 73 2c 20 27 6c 6f 61 64 43 6c 61 73 73 27 29 2c 20 74 72 75 65 2c 20 24 70 72 65 70 65 this,.'loadClass'),.true,.$prepe
f3620 6e 64 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 55 6e 72 65 67 nd);.....}....../**......*.Unreg
f3640 69 73 74 65 72 73 20 74 68 69 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 61 6e 20 61 75 74 6f 6c isters.this.instance.as.an.autol
f3660 6f 61 64 65 72 2e 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 oader.......*/.....public.functi
f3680 6f 6e 20 75 6e 72 65 67 69 73 74 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 70 on.unregister().....{.........sp
f36a0 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 24 74 68 69 l_autoload_unregister(array($thi
f36c0 73 2c 20 27 6c 6f 61 64 43 6c 61 73 73 27 29 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a s,.'loadClass'));.....}....../**
f36e0 0a 20 20 20 20 20 2a 20 4c 6f 61 64 73 20 74 68 65 20 67 69 76 65 6e 20 63 6c 61 73 73 20 6f 72 ......*.Loads.the.given.class.or
f3700 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 70 61 72 61 6d .interface.......*......*.@param
f3720 20 20 73 74 72 69 6e 67 20 20 20 20 24 63 6c 61 73 73 20 54 68 65 20 6e 61 6d 65 20 6f 66 20 74 ..string....$class.The.name.of.t
f3740 68 65 20 63 6c 61 73 73 0a 20 20 20 20 20 2a 20 40 72 65 74 75 72 6e 20 62 6f 6f 6c 7c 6e 75 6c he.class......*.@return.bool|nul
f3760 6c 20 54 72 75 65 20 69 66 20 6c 6f 61 64 65 64 2c 20 6e 75 6c 6c 20 6f 74 68 65 72 77 69 73 65 l.True.if.loaded,.null.otherwise
f3780 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 ......*/.....public.function.loa
f37a0 64 43 6c 61 73 73 28 24 63 6c 61 73 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 dClass($class).....{.........if.
f37c0 28 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 ($file.=.$this->findFile($class)
f37e0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 63 6c 75 64 65 46 69 6c 65 28 24 66 69 6c ).{.............includeFile($fil
f3800 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 20 20 e);..............return.true;...
f3820 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 2a 0a 20 20 20 20 20 2a 20 46 69 ......}.....}....../**......*.Fi
f3840 6e 64 73 20 74 68 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 66 69 6c 65 20 77 68 65 72 65 20 74 nds.the.path.to.the.file.where.t
f3860 68 65 20 63 6c 61 73 73 20 69 73 20 64 65 66 69 6e 65 64 2e 0a 20 20 20 20 20 2a 0a 20 20 20 20 he.class.is.defined.......*.....
f3880 20 2a 20 40 70 61 72 61 6d 20 73 74 72 69 6e 67 20 24 63 6c 61 73 73 20 54 68 65 20 6e 61 6d 65 .*.@param.string.$class.The.name
f38a0 20 6f 66 20 74 68 65 20 63 6c 61 73 73 0a 20 20 20 20 20 2a 0a 20 20 20 20 20 2a 20 40 72 65 74 .of.the.class......*......*.@ret
f38c0 75 72 6e 20 73 74 72 69 6e 67 7c 66 61 6c 73 65 20 54 68 65 20 70 61 74 68 20 69 66 20 66 6f 75 urn.string|false.The.path.if.fou
f38e0 6e 64 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 2a 2f 0a 20 20 20 20 nd,.false.otherwise......*/.....
f3900 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 public.function.findFile($class)
f3920 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 6c 61 73 73 20 6d 61 70 20 6c 6f 6f 6b .....{.........//.class.map.look
f3940 75 70 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6c 61 73 up.........if.(isset($this->clas
f3960 73 4d 61 70 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 sMap[$class])).{.............ret
f3980 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 3b 0a 20 20 20 urn.$this->classMap[$class];....
f39a0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d .....}.........if.($this->classM
f39c0 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 7c 7c 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e apAuthoritative.||.isset($this->
f39e0 6d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a 20 20 20 20 20 missingClasses[$class])).{......
f3a00 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 .......return.false;.........}..
f3a20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 61 70 63 75 50 .......if.(null.!==.$this->apcuP
f3a40 72 65 66 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 69 6c 65 20 3d 20 61 70 63 refix).{.............$file.=.apc
f3a60 75 5f 66 65 74 63 68 28 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 2e 24 63 6c 61 73 73 u_fetch($this->apcuPrefix.$class
f3a80 2c 20 24 68 69 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 68 69 74 29 20 7b ,.$hit);.............if.($hit).{
f3aa0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 .................return.$file;..
f3ac0 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 ...........}.........}..........
f3ae0 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e $file.=.$this->findFileWithExten
f3b00 73 69 6f 6e 28 24 63 6c 61 73 73 2c 20 27 2e 70 68 70 27 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f sion($class,.'.php');........../
f3b20 2f 20 53 65 61 72 63 68 20 66 6f 72 20 48 61 63 6b 20 66 69 6c 65 73 20 69 66 20 77 65 20 61 72 /.Search.for.Hack.files.if.we.ar
f3b40 65 20 72 75 6e 6e 69 6e 67 20 6f 6e 20 48 48 56 4d 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 e.running.on.HHVM.........if.(fa
f3b60 6c 73 65 20 3d 3d 3d 20 24 66 69 6c 65 20 26 26 20 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 lse.===.$file.&&.defined('HHVM_V
f3b80 45 52 53 49 4f 4e 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 66 69 6c 65 20 3d 20 ERSION')).{.............$file.=.
f3ba0 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 69 6f 6e 28 24 63 6c $this->findFileWithExtension($cl
f3bc0 61 73 73 2c 20 27 2e 68 68 27 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 ass,.'.hh');.........}..........
f3be0 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 29 20 if.(null.!==.$this->apcuPrefix).
f3c00 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 70 63 75 5f 61 64 64 28 24 74 68 69 73 2d 3e 61 70 {.............apcu_add($this->ap
f3c20 63 75 50 72 65 66 69 78 2e 24 63 6c 61 73 73 2c 20 24 66 69 6c 65 29 3b 0a 20 20 20 20 20 20 20 cuPrefix.$class,.$file);........
f3c40 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 66 69 6c 65 29 .}..........if.(false.===.$file)
f3c60 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 6d 65 6d 62 65 72 20 74 68 61 74 20 .{.............//.Remember.that.
f3c80 74 68 69 73 20 63 6c 61 73 73 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 0a 20 20 20 20 20 this.class.does.not.exist.......
f3ca0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 5b 24 63 6c .......$this->missingClasses[$cl
f3cc0 61 73 73 5d 20 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 ass].=.true;.........}..........
f3ce0 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 70 72 69 76 61 74 65 return.$file;.....}......private
f3d00 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 69 6f 6e 28 .function.findFileWithExtension(
f3d20 24 63 6c 61 73 73 2c 20 24 65 78 74 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 50 $class,.$ext).....{.........//.P
f3d40 53 52 2d 34 20 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 20 20 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 SR-4.lookup.........$logicalPath
f3d60 50 73 72 34 20 3d 20 73 74 72 74 72 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 2c 20 44 49 52 45 43 Psr4.=.strtr($class,.'\\',.DIREC
f3d80 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 2e 20 24 65 78 74 3b 0a 0a 20 20 20 20 20 20 20 TORY_SEPARATOR)...$ext;.........
f3da0 20 24 66 69 72 73 74 20 3d 20 24 63 6c 61 73 73 5b 30 5d 3b 0a 20 20 20 20 20 20 20 20 69 66 20 .$first.=.$class[0];.........if.
f3dc0 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 5b (isset($this->prefixLengthsPsr4[
f3de0 24 66 69 72 73 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 73 75 62 50 61 74 68 $first])).{.............$subPath
f3e00 20 3d 20 24 63 6c 61 73 73 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 66 61 .=.$class;.............while.(fa
f3e20 6c 73 65 20 21 3d 3d 20 24 6c 61 73 74 50 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 73 75 62 50 lse.!==.$lastPos.=.strrpos($subP
f3e40 61 74 68 2c 20 27 5c 5c 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 ath,.'\\')).{.................$s
f3e60 75 62 50 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 73 75 62 50 61 74 68 2c 20 30 2c 20 24 6c 61 ubPath.=.substr($subPath,.0,.$la
f3e80 73 74 50 6f 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 65 61 72 63 68 20 stPos);.................$search.
f3ea0 3d 20 24 73 75 62 50 61 74 68 20 2e 20 27 5c 5c 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 =.$subPath...'\\';..............
f3ec0 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 ...if.(isset($this->prefixDirsPs
f3ee0 72 34 5b 24 73 65 61 72 63 68 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r4[$search])).{.................
f3f00 20 20 20 20 24 70 61 74 68 45 6e 64 20 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 ....$pathEnd.=.DIRECTORY_SEPARAT
f3f20 4f 52 20 2e 20 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 2c 20 24 6c OR...substr($logicalPathPsr4,.$l
f3f40 61 73 74 50 6f 73 20 2b 20 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 astPos.+.1);....................
f3f60 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b .foreach.($this->prefixDirsPsr4[
f3f80 24 73 65 61 72 63 68 5d 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 $search].as.$dir).{.............
f3fa0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c ............if.(file_exists($fil
f3fc0 65 20 3d 20 24 64 69 72 20 2e 20 24 70 61 74 68 45 6e 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 e.=.$dir...$pathEnd)).{.........
f3fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 ....................return.$file
f4000 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ;.........................}.....
f4020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................}...............
f4040 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 ..}.............}.........}.....
f4060 20 20 20 20 20 2f 2f 20 50 53 52 2d 34 20 66 61 6c 6c 62 61 63 6b 20 64 69 72 73 0a 20 20 20 20 .....//.PSR-4.fallback.dirs.....
f4080 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 ....foreach.($this->fallbackDirs
f40a0 50 73 72 34 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 Psr4.as.$dir).{.............if.(
f40c0 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 49 52 45 43 file_exists($file.=.$dir...DIREC
f40e0 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 TORY_SEPARATOR...$logicalPathPsr
f4100 34 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 4)).{.................return.$fi
f4120 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 le;.............}.........}.....
f4140 20 20 20 20 20 2f 2f 20 50 53 52 2d 30 20 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 20 20 20 69 66 20 .....//.PSR-0.lookup.........if.
f4160 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 63 6c 61 73 73 (false.!==.$pos.=.strrpos($class
f4180 2c 20 27 5c 5c 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6e 61 6d 65 73 70 ,.'\\')).{.............//.namesp
f41a0 61 63 65 64 20 63 6c 61 73 73 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 67 aced.class.name.............$log
f41c0 69 63 61 6c 50 61 74 68 50 73 72 30 20 3d 20 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 61 icalPathPsr0.=.substr($logicalPa
f41e0 74 68 50 73 72 34 2c 20 30 2c 20 24 70 6f 73 20 2b 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 thPsr4,.0,.$pos.+.1)............
f4200 20 20 20 20 20 2e 20 73 74 72 74 72 28 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 .......strtr(substr($logicalPath
f4220 50 73 72 34 2c 20 24 70 6f 73 20 2b 20 31 29 2c 20 27 5f 27 2c 20 44 49 52 45 43 54 4f 52 59 5f Psr4,.$pos.+.1),.'_',.DIRECTORY_
f4240 53 45 50 41 52 41 54 4f 52 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 SEPARATOR);.........}.else.{....
f4260 20 20 20 20 20 20 20 20 20 2f 2f 20 50 45 41 52 2d 6c 69 6b 65 20 63 6c 61 73 73 20 6e 61 6d 65 .........//.PEAR-like.class.name
f4280 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 20 3d 20 .............$logicalPathPsr0.=.
f42a0 73 74 72 74 72 28 24 63 6c 61 73 73 2c 20 27 5f 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 strtr($class,.'_',.DIRECTORY_SEP
f42c0 41 52 41 54 4f 52 29 20 2e 20 24 65 78 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 ARATOR)...$ext;.........}.......
f42e0 20 20 20 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 ...if.(isset($this->prefixesPsr0
f4300 5b 24 66 69 72 73 74 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 [$first])).{.............foreach
f4320 20 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 20 61 73 .($this->prefixesPsr0[$first].as
f4340 20 24 70 72 65 66 69 78 20 3d 3e 20 24 64 69 72 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .$prefix.=>.$dirs).{............
f4360 20 20 20 20 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 24 70 .....if.(0.===.strpos($class,.$p
f4380 72 65 66 69 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f refix)).{.....................fo
f43a0 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 reach.($dirs.as.$dir).{.........
f43c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 ................if.(file_exists(
f43e0 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 $file.=.$dir...DIRECTORY_SEPARAT
f4400 4f 52 20 2e 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a 20 20 20 20 20 20 OR...$logicalPathPsr0)).{.......
f4420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 ......................return.$fi
f4440 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 le;.........................}...
f4460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..................}.............
f4480 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 ....}.............}.........}...
f44a0 20 20 20 20 20 20 20 2f 2f 20 50 53 52 2d 30 20 66 61 6c 6c 62 61 63 6b 20 64 69 72 73 0a 20 20 .......//.PSR-0.fallback.dirs...
f44c0 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 ......foreach.($this->fallbackDi
f44e0 72 73 50 73 72 30 20 61 73 20 24 64 69 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 rsPsr0.as.$dir).{.............if
f4500 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 49 52 .(file_exists($file.=.$dir...DIR
f4520 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 ECTORY_SEPARATOR...$logicalPathP
f4540 73 72 30 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 sr0)).{.................return.$
f4560 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 file;.............}.........}...
f4580 20 20 20 20 20 20 20 2f 2f 20 50 53 52 2d 30 20 69 6e 63 6c 75 64 65 20 70 61 74 68 73 2e 0a 20 .......//.PSR-0.include.paths...
f45a0 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 .......if.($this->useIncludePath
f45c0 20 26 26 20 24 66 69 6c 65 20 3d 20 73 74 72 65 61 6d 5f 72 65 73 6f 6c 76 65 5f 69 6e 63 6c 75 .&&.$file.=.stream_resolve_inclu
f45e0 64 65 5f 70 61 74 68 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a 20 20 20 de_path($logicalPathPsr0)).{....
f4600 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 20 20 20 20 20 20 20 20 7d .........return.$file;.........}
f4620 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 7d 0a ..........return.false;.....}.}.
f4640 0a 2f 2a 2a 0a 20 2a 20 53 63 6f 70 65 20 69 73 6f 6c 61 74 65 64 20 69 6e 63 6c 75 64 65 2e 0a ./**..*.Scope.isolated.include..
f4660 20 2a 0a 20 2a 20 50 72 65 76 65 6e 74 73 20 61 63 63 65 73 73 20 74 6f 20 24 74 68 69 73 2f 73 .*..*.Prevents.access.to.$this/s
f4680 65 6c 66 20 66 72 6f 6d 20 69 6e 63 6c 75 64 65 64 20 66 69 6c 65 73 2e 0a 20 2a 2f 0a 66 75 6e elf.from.included.files...*/.fun
f46a0 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 46 69 6c 65 28 24 66 69 6c 65 29 0a 7b 0a 20 20 20 20 69 ction.includeFile($file).{.....i
f46c0 6e 63 6c 75 64 65 20 24 66 69 6c 65 3b 0a 7d 0a 7b 0a 20 20 20 20 22 24 73 63 68 65 6d 61 22 3a nclude.$file;.}.{....."$schema":
f46e0 20 22 68 74 74 70 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 64 72 61 66 74 2d 30 ."http://json-schema.org/draft-0
f4700 34 2f 73 63 68 65 6d 61 23 22 2c 0a 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4/schema#",....."description":."
f4720 41 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 70 61 63 6b 61 67 65 73 20 6d 65 74 A.representation.of.packages.met
f4740 61 64 61 74 61 2e 22 2c 0a 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 adata.",....."type":."object",..
f4760 20 20 20 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 7b 20 22 72 65 71 75 69 72 65 ..."oneOf":.[.........{."require
f4780 64 22 3a 20 5b 20 22 70 61 63 6b 61 67 65 73 22 20 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 7b 20 d":.[."packages".].},.........{.
f47a0 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 22 70 72 6f 76 69 64 65 72 73 22 20 5d 20 7d 2c 0a 20 "required":.[."providers".].},..
f47c0 20 20 20 20 20 20 20 7b 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 22 70 72 6f 76 69 64 65 72 .......{."required":.[."provider
f47e0 2d 69 6e 63 6c 75 64 65 73 22 2c 20 22 70 72 6f 76 69 64 65 72 73 2d 75 72 6c 22 20 5d 20 7d 0a -includes",."providers-url".].}.
f4800 20 20 20 20 5d 2c 0a 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 ....],....."properties":.{......
f4820 20 20 20 22 70 61 63 6b 61 67 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 ..."packages":.{............."ty
f4840 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 pe":.["object",."array"],.......
f4860 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 6d 61 70 20 ......"description":."A.hashmap.
f4880 6f 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 73 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 of.package.names.in.the.form.of.
f48a0 3c 76 65 6e 64 6f 72 3e 2f 3c 6e 61 6d 65 3e 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 <vendor>/<name>.",............."
f48c0 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 24 72 65 66 22 3a additionalProperties":.{."$ref":
f48e0 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 76 65 72 73 69 6f 6e 73 22 20 7d 0a 20 20 20 20 ."#/definitions/versions".}.....
f4900 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 72 73 2d 75 72 6c 22 3a 20 ....},........."providers-url":.
f4920 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a {............."type":."string",.
f4940 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 45 6e 64 70 ............"description":."Endp
f4960 6f 69 6e 74 20 74 6f 20 72 65 74 72 69 65 76 65 20 70 72 6f 76 69 64 65 72 20 64 61 74 61 20 66 oint.to.retrieve.provider.data.f
f4980 72 6f 6d 2c 20 65 2e 67 2e 20 27 2f 70 2f 25 70 61 63 6b 61 67 65 25 24 25 68 61 73 68 25 2e 6a rom,.e.g..'/p/%package%$%hash%.j
f49a0 73 6f 6e 27 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 72 6f 76 69 son'.".........},........."provi
f49c0 64 65 72 2d 69 6e 63 6c 75 64 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 der-includes":.{............."ty
f49e0 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 pe":."object",............."desc
f4a00 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 6d 61 70 20 6f 66 20 70 72 6f 76 69 64 65 72 ription":."A.hashmap.of.provider
f4a20 20 6c 69 73 74 69 6e 67 73 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 .listings.",............."additi
f4a40 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 onalProperties":.{."$ref":."#/de
f4a60 66 69 6e 69 74 69 6f 6e 73 2f 70 72 6f 76 69 64 65 72 22 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c finitions/provider".}.........},
f4a80 0a 20 20 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 72 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 ........."providers":.{.........
f4aa0 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 ...."type":."object",...........
f4ac0 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 6d 61 70 20 6f 66 20 70 .."description":."A.hashmap.of.p
f4ae0 61 63 6b 61 67 65 20 6e 61 6d 65 73 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f 66 20 3c 76 65 6e ackage.names.in.the.form.of.<ven
f4b00 64 6f 72 3e 2f 3c 6e 61 6d 65 3e 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 dor>/<name>.",............."addi
f4b20 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f tionalProperties":.{."$ref":."#/
f4b40 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 72 6f 76 69 64 65 72 22 20 7d 0a 20 20 20 20 20 20 20 20 definitions/provider".}.........
f4b60 7d 2c 0a 20 20 20 20 20 20 20 20 22 6e 6f 74 69 66 79 2d 62 61 74 63 68 22 3a 20 7b 0a 20 20 20 },........."notify-batch":.{....
f4b80 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 ........."type":."string",......
f4ba0 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 45 6e 64 70 6f 69 6e 74 20 ......."description":."Endpoint.
f4bc0 74 6f 20 63 61 6c 6c 20 61 66 74 65 72 20 6d 75 6c 74 69 70 6c 65 20 70 61 63 6b 61 67 65 73 20 to.call.after.multiple.packages.
f4be0 68 61 76 65 20 62 65 65 6e 20 69 6e 73 74 61 6c 6c 65 64 2c 20 65 2e 67 2e 20 27 2f 64 6f 77 6e have.been.installed,.e.g..'/down
f4c00 6c 6f 61 64 73 2f 27 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 73 65 loads/'.".........},........."se
f4c20 61 72 63 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 arch":.{............."type":."st
f4c40 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ring",............."description"
f4c60 3a 20 22 45 6e 64 70 6f 69 6e 74 20 74 68 61 74 20 70 72 6f 76 69 64 65 73 20 73 65 61 72 63 68 :."Endpoint.that.provides.search
f4c80 20 63 61 70 61 62 69 6c 69 74 69 65 73 2c 20 65 2e 67 2e 20 27 2f 73 65 61 72 63 68 2e 6a 73 6f .capabilities,.e.g..'/search.jso
f4ca0 6e 3f 71 3d 25 71 75 65 72 79 25 26 74 79 70 65 3d 25 74 79 70 65 25 27 2e 22 0a 20 20 20 20 20 n?q=%query%&type=%type%'."......
f4cc0 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 77 61 72 6e 69 6e 67 22 3a 20 7b 0a 20 20 20 20 20 ...},........."warning":.{......
f4ce0 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 ......."type":."string",........
f4d00 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6d 65 73 73 61 67 65 20 74 ....."description":."A.message.t
f4d20 68 61 74 20 77 69 6c 6c 20 62 65 20 6f 75 74 70 75 74 20 62 79 20 43 6f 6d 70 6f 73 65 72 20 61 hat.will.be.output.by.Composer.a
f4d40 73 20 61 20 77 61 72 6e 69 6e 67 20 77 68 65 6e 20 74 68 69 73 20 73 6f 75 72 63 65 20 69 73 20 s.a.warning.when.this.source.is.
f4d60 63 6f 6e 73 75 6c 74 65 64 2e 22 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 0a 20 20 20 consulted.".........}.....},....
f4d80 20 22 64 65 66 69 6e 69 74 69 6f 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 ."definitions":.{........."versi
f4da0 6f 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a ons":.{............."type":."obj
f4dc0 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a ect",............."description":
f4de0 20 22 41 20 68 61 73 68 6d 61 70 20 6f 66 20 76 65 72 73 69 6f 6e 73 20 61 6e 64 20 74 68 65 69 ."A.hashmap.of.versions.and.thei
f4e00 72 20 6d 65 74 61 64 61 74 61 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 r.metadata.",............."addit
f4e20 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 ionalProperties":.{."$ref":."#/d
f4e40 65 66 69 6e 69 74 69 6f 6e 73 2f 76 65 72 73 69 6f 6e 22 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c efinitions/version".}.........},
f4e60 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ........."version":.{...........
f4e80 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .."type":."object",.............
f4ea0 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 "oneOf":.[.................{."$r
f4ec0 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 61 63 6b 61 67 65 22 20 7d 2c 0a ef":."#/definitions/package".},.
f4ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 ................{."$ref":."#/def
f4f00 69 6e 69 74 69 6f 6e 73 2f 6d 65 74 61 70 61 63 6b 61 67 65 22 20 7d 0a 20 20 20 20 20 20 20 20 initions/metapackage".}.........
f4f20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 61 63 6b 61 67 ....].........},........."packag
f4f40 65 2d 62 61 73 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 e-base":.{............."properti
f4f60 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 7b es":.{................."name":.{
f4f80 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ."type":."string".},............
f4fa0 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 ....."type":.{."type":."string".
f4fc0 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 7b 20 },................."version":.{.
f4fe0 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 "type":."string".},.............
f5000 20 20 20 20 22 76 65 72 73 69 6f 6e 5f 6e 6f 72 6d 61 6c 69 7a 65 64 22 3a 20 7b 0a 20 20 20 20 ...."version_normalized":.{.....
f5020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 ................"type":."string"
f5040 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 ,....................."descripti
f5060 6f 6e 22 3a 20 22 4e 6f 72 6d 61 6c 69 7a 65 64 20 76 65 72 73 69 6f 6e 2c 20 6f 70 74 69 6f 6e on":."Normalized.version,.option
f5080 61 6c 20 62 75 74 20 63 61 6e 20 73 61 76 65 20 63 6f 6d 70 75 74 61 74 69 6f 6e 61 6c 20 74 69 al.but.can.save.computational.ti
f50a0 6d 65 20 6f 6e 20 63 6c 69 65 6e 74 20 73 69 64 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 me.on.client.side.".............
f50c0 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 75 74 6f 6c 6f 61 64 ....},................."autoload
f50e0 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 2c 0a 20 20 20 20 20 20 20 ":.{."type":."object".},........
f5100 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f ........."require":.{."type":."o
f5120 62 6a 65 63 74 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 70 6c 61 bject".},................."repla
f5140 63 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 2c 0a 20 20 20 20 20 ce":.{."type":."object".},......
f5160 20 20 20 20 20 20 20 20 20 20 20 22 63 6f 6e 66 6c 69 63 74 22 3a 20 7b 20 22 74 79 70 65 22 3a ..........."conflict":.{."type":
f5180 20 22 6f 62 6a 65 63 74 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 ."object".},................."pr
f51a0 6f 76 69 64 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 2c 0a 20 20 ovide":.{."type":."object".},...
f51c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 69 6d 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 .............."time":.{."type":.
f51e0 22 73 74 72 69 6e 67 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 "string".}.............},.......
f5200 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 74 72 ......"additionalProperties":.tr
f5220 75 65 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 61 63 6b 61 67 65 22 3a ue.........},........."package":
f5240 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 6c 6c 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 .{............."allOf":.[.......
f5260 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f ..........{."$ref":."#/definitio
f5280 6e 73 2f 70 61 63 6b 61 67 65 2d 62 61 73 65 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ns/package-base".},.............
f52a0 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 ....{....................."prope
f52c0 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rties":.{.......................
f52e0 20 20 22 64 69 73 74 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 2c 0a .."dist":.{."type":."object".},.
f5300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 ........................"source"
f5320 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 20 7d 0a 20 20 20 20 20 20 20 20 20 :.{."type":."object".}..........
f5340 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a ...........}.................},.
f5360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 ................{."oneOf":.[....
f5380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b .................{."required":.[
f53a0 20 22 6e 61 6d 65 22 2c 20 22 76 65 72 73 69 6f 6e 22 2c 20 22 73 6f 75 72 63 65 22 20 5d 20 7d ."name",."version",."source".].}
f53c0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 72 65 71 75 69 72 65 ,.....................{."require
f53e0 64 22 3a 20 5b 20 22 6e 61 6d 65 22 2c 20 22 76 65 72 73 69 6f 6e 22 2c 20 22 64 69 73 74 22 20 d":.[."name",."version",."dist".
f5400 5d 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 20 7d 0a 20 20 20 20 20 20 20 20 ].}.................].}.........
f5420 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 6d 65 74 61 70 61 ....].........},........."metapa
f5440 63 6b 61 67 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 6c 6c 4f 66 22 3a 20 5b ckage":.{............."allOf":.[
f5460 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 .................{."$ref":."#/de
f5480 66 69 6e 69 74 69 6f 6e 73 2f 70 61 63 6b 61 67 65 2d 62 61 73 65 22 20 7d 2c 0a 20 20 20 20 20 finitions/package-base".},......
f54a0 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........{....................
f54c0 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."properties":.{................
f54e0 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 ........."type":.{."type":."stri
f5500 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 20 22 6d 65 74 61 70 61 63 6b 61 67 65 22 20 5d 20 7d ng",."enum":.[."metapackage".].}
f5520 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 .....................},.........
f5540 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 22 6e 61 6d 65 22 ............"required":.[."name"
f5560 2c 20 22 76 65 72 73 69 6f 6e 22 2c 20 22 74 79 70 65 22 20 5d 0a 20 20 20 20 20 20 20 20 20 20 ,."version",."type".]...........
f5580 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 7d 2c ......}.............].........},
f55a0 0a 20 20 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ........."provider":.{..........
f55c0 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..."type":."object",............
f55e0 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."properties":.{................
f5600 20 22 73 68 61 32 35 36 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."sha256":.{....................
f5620 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ."type":."string",..............
f5640 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 48 61 73 68 20 76 61 6c 75 ......."description":."Hash.valu
f5660 65 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 76 61 6c 69 64 61 74 65 20 74 e.that.can.be.used.to.validate.t
f5680 68 65 20 72 65 73 6f 75 72 63 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a he.resource.".................}.
f56a0 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a ............}.........}.....}.}.
f56c0 7b 0a 20 20 20 20 22 24 73 63 68 65 6d 61 22 3a 20 22 68 74 74 70 3a 2f 2f 6a 73 6f 6e 2d 73 63 {....."$schema":."http://json-sc
f56e0 68 65 6d 61 2e 6f 72 67 2f 64 72 61 66 74 2d 30 34 2f 73 63 68 65 6d 61 23 22 2c 0a 20 20 20 20 hema.org/draft-04/schema#",.....
f5700 22 6e 61 6d 65 22 3a 20 22 50 61 63 6b 61 67 65 22 2c 0a 20 20 20 20 22 74 79 70 65 22 3a 20 22 "name":."Package",....."type":."
f5720 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 object",....."additionalProperti
f5740 65 73 22 3a 20 66 61 6c 73 65 2c 0a 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 22 6e es":.false,....."required":.[."n
f5760 61 6d 65 22 2c 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 20 5d 2c 0a 20 20 20 20 22 70 72 6f 70 ame",."description".],....."prop
f5780 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 7b 0a 20 20 20 erties":.{........."name":.{....
f57a0 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 ........."type":."string",......
f57c0 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 50 61 63 6b 61 67 65 20 6e ......."description":."Package.n
f57e0 61 6d 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 27 76 65 6e 64 6f 72 2d 6e 61 6d 65 2f 27 20 70 72 ame,.including.'vendor-name/'.pr
f5800 65 66 69 78 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 74 79 70 65 22 efix.".........},........."type"
f5820 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 :.{............."description":."
f5840 50 61 63 6b 61 67 65 20 74 79 70 65 2c 20 65 69 74 68 65 72 20 27 6c 69 62 72 61 72 79 27 20 66 Package.type,.either.'library'.f
f5860 6f 72 20 63 6f 6d 6d 6f 6e 20 70 61 63 6b 61 67 65 73 2c 20 27 63 6f 6d 70 6f 73 65 72 2d 70 6c or.common.packages,.'composer-pl
f5880 75 67 69 6e 27 20 66 6f 72 20 70 6c 75 67 69 6e 73 2c 20 27 6d 65 74 61 70 61 63 6b 61 67 65 27 ugin'.for.plugins,.'metapackage'
f58a0 20 66 6f 72 20 65 6d 70 74 79 20 70 61 63 6b 61 67 65 73 2c 20 6f 72 20 61 20 63 75 73 74 6f 6d .for.empty.packages,.or.a.custom
f58c0 20 74 79 70 65 20 28 5b 61 2d 7a 30 2d 39 2d 5d 2b 29 20 64 65 66 69 6e 65 64 20 62 79 20 77 68 .type.([a-z0-9-]+).defined.by.wh
f58e0 61 74 65 76 65 72 20 70 72 6f 6a 65 63 74 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 61 70 70 6c atever.project.this.package.appl
f5900 69 65 73 20 74 6f 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 ies.to.",............."type":."s
f5920 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 61 74 74 65 72 6e 22 3a 20 22 tring",............."pattern":."
f5940 5e 5b 61 2d 7a 30 2d 39 2d 5d 2b 24 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 ^[a-z0-9-]+$".........},........
f5960 20 22 74 61 72 67 65 74 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 ."target-dir":.{............."de
f5980 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 45 50 52 45 43 41 54 45 44 3a 20 46 6f 72 63 65 73 20 scription":."DEPRECATED:.Forces.
f59a0 74 68 65 20 70 61 63 6b 61 67 65 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 74 6f the.package.to.be.installed.into
f59c0 20 74 68 65 20 67 69 76 65 6e 20 73 75 62 64 69 72 65 63 74 6f 72 79 20 70 61 74 68 2e 20 54 68 .the.given.subdirectory.path..Th
f59e0 69 73 20 69 73 20 75 73 65 64 20 66 6f 72 20 61 75 74 6f 6c 6f 61 64 69 6e 67 20 50 53 52 2d 30 is.is.used.for.autoloading.PSR-0
f5a00 20 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 74 68 .packages.that.do.not.contain.th
f5a20 65 69 72 20 66 75 6c 6c 20 70 61 74 68 2e 20 55 73 65 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 eir.full.path..Use.forward.slash
f5a40 65 73 20 66 6f 72 20 63 72 6f 73 73 2d 70 6c 61 74 66 6f 72 6d 20 63 6f 6d 70 61 74 69 62 69 6c es.for.cross-platform.compatibil
f5a60 69 74 79 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 ity.",............."type":."stri
f5a80 6e 67 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 ng".........},........."descript
f5aa0 69 6f 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 ion":.{............."type":."str
f5ac0 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a ing",............."description":
f5ae0 20 22 53 68 6f 72 74 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e 2e 22 0a 20 20 ."Short.package.description."...
f5b00 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 6b 65 79 77 6f 72 64 73 22 3a 20 7b 0a 20 ......},........."keywords":.{..
f5b20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 ..........."type":."array",.....
f5b40 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"items":.{..............
f5b60 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..."type":."string",............
f5b80 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 74 61 67 2f 6b 65 79 77 6f ....."description":."A.tag/keywo
f5ba0 72 64 20 74 68 61 74 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 72 65 6c 61 74 65 73 20 74 6f 2e rd.that.this.package.relates.to.
f5bc0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 ".............}.........},......
f5be0 20 20 20 22 68 6f 6d 65 70 61 67 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 ..."homepage":.{............."ty
f5c00 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 pe":."string",............."desc
f5c20 72 69 70 74 69 6f 6e 22 3a 20 22 48 6f 6d 65 70 61 67 65 20 55 52 4c 20 66 6f 72 20 74 68 65 20 ription":."Homepage.URL.for.the.
f5c40 70 72 6f 6a 65 63 74 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a project.",............."format":
f5c60 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 72 65 61 64 6d ."uri".........},........."readm
f5c80 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e e":.{............."type":."strin
f5ca0 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 g",............."description":."
f5cc0 52 65 6c 61 74 69 76 65 20 70 61 74 68 20 74 6f 20 74 68 65 20 72 65 61 64 6d 65 20 64 6f 63 75 Relative.path.to.the.readme.docu
f5ce0 6d 65 6e 74 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 76 65 72 73 69 ment.".........},........."versi
f5d00 6f 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 on":.{............."type":."stri
f5d20 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 ng",............."description":.
f5d40 22 50 61 63 6b 61 67 65 20 76 65 72 73 69 6f 6e 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 65 "Package.version,.see.https://ge
f5d60 74 63 6f 6d 70 6f 73 65 72 2e 6f 72 67 2f 64 6f 63 2f 30 34 2d 73 63 68 65 6d 61 2e 6d 64 23 76 tcomposer.org/doc/04-schema.md#v
f5d80 65 72 73 69 6f 6e 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 20 6f 6e 20 76 61 6c 69 64 20 73 63 ersion.for.more.info.on.valid.sc
f5da0 68 65 6d 65 73 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 61 74 74 65 72 6e 22 3a 20 hemes.",............."pattern":.
f5dc0 22 5e 76 3f 5c 5c 64 2b 28 28 28 5c 5c 2e 5c 5c 64 2b 29 3f 5c 5c 2e 5c 5c 64 2b 29 3f 5c 5c 2e "^v?\\d+(((\\.\\d+)?\\.\\d+)?\\.
f5de0 5c 5c 64 2b 29 3f 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 74 69 6d 65 \\d+)?".........},........."time
f5e00 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 ":.{............."type":."string
f5e20 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 50 ",............."description":."P
f5e40 61 63 6b 61 67 65 20 72 65 6c 65 61 73 65 20 64 61 74 65 2c 20 69 6e 20 27 59 59 59 59 2d 4d 4d ackage.release.date,.in.'YYYY-MM
f5e60 2d 44 44 27 2c 20 27 59 59 59 59 2d 4d 4d 2d 44 44 20 48 48 3a 4d 4d 3a 53 53 27 20 6f 72 20 27 -DD',.'YYYY-MM-DD.HH:MM:SS'.or.'
f5e80 59 59 59 59 2d 4d 4d 2d 44 44 54 48 48 3a 4d 4d 3a 53 53 5a 27 20 66 6f 72 6d 61 74 2e 22 0a 20 YYYY-MM-DDTHH:MM:SSZ'.format."..
f5ea0 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 6c 69 63 65 6e 73 65 22 3a 20 7b 0a 20 .......},........."license":.{..
f5ec0 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 ..........."type":.["string",."a
f5ee0 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e rray"],............."description
f5f00 22 3a 20 22 4c 69 63 65 6e 73 65 20 6e 61 6d 65 2e 20 4f 72 20 61 6e 20 61 72 72 61 79 20 6f 66 ":."License.name..Or.an.array.of
f5f20 20 6c 69 63 65 6e 73 65 20 6e 61 6d 65 73 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 .license.names.".........},.....
f5f40 20 20 20 20 22 61 75 74 68 6f 72 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 24 72 ...."authors":.{............."$r
f5f60 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 61 75 74 68 6f 72 73 22 0a 20 20 20 ef":."#/definitions/authors"....
f5f80 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 22 3a 20 7b 0a 20 20 20 .....},........."require":.{....
f5fa0 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 ........."type":."object",......
f5fc0 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 ......."description":."This.is.a
f5fe0 20 68 61 73 68 20 6f 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 .hash.of.package.name.(keys).and
f6000 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 76 61 6c 75 65 73 29 20 74 68 .version.constraints.(values).th
f6020 61 74 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 75 6e 20 74 68 69 73 20 70 61 63 6b at.are.required.to.run.this.pack
f6040 61 67 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 age.",............."additionalPr
f6060 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 operties":.{................."ty
f6080 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 pe":."string".............}.....
f60a0 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 72 65 70 6c 61 63 65 22 3a 20 7b 0a 20 20 20 20 ....},........."replace":.{.....
f60c0 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 ........"type":."object",.......
f60e0 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 ......"description":."This.is.a.
f6100 68 61 73 68 20 6f 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 hash.of.package.name.(keys).and.
f6120 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 76 61 6c 75 65 73 29 20 74 68 61 version.constraints.(values).tha
f6140 74 20 63 61 6e 20 62 65 20 72 65 70 6c 61 63 65 64 20 62 79 20 74 68 69 73 20 70 61 63 6b 61 67 t.can.be.replaced.by.this.packag
f6160 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 e.",............."additionalProp
f6180 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 erties":.{................."type
f61a0 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ":."string".............}.......
f61c0 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 63 6f 6e 66 6c 69 63 74 22 3a 20 7b 0a 20 20 20 20 20 ..},........."conflict":.{......
f61e0 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 ......."type":."object",........
f6200 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 ....."description":."This.is.a.h
f6220 61 73 68 20 6f 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 76 ash.of.package.name.(keys).and.v
f6240 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 76 61 6c 75 65 73 29 20 74 68 61 74 ersion.constraints.(values).that
f6260 20 63 6f 6e 66 6c 69 63 74 20 77 69 74 68 20 74 68 69 73 20 70 61 63 6b 61 67 65 2e 22 2c 0a 20 .conflict.with.this.package.",..
f6280 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 ..........."additionalProperties
f62a0 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 ":.{................."type":."st
f62c0 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 ring".............}.........},..
f62e0 20 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......."provide":.{.............
f6300 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 "type":."object",............."d
f6320 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 escription":."This.is.a.hash.of.
f6340 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 package.name.(keys).and.version.
f6360 63 6f 6e 73 74 72 61 69 6e 74 73 20 28 76 61 6c 75 65 73 29 20 74 68 61 74 20 74 68 69 73 20 70 constraints.(values).that.this.p
f6380 61 63 6b 61 67 65 20 70 72 6f 76 69 64 65 73 20 69 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 ackage.provides.in.addition.to.t
f63a0 68 69 73 20 70 61 63 6b 61 67 65 27 73 20 6e 61 6d 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 his.package's.name.",...........
f63c0 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 .."additionalProperties":.{.....
f63e0 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 ............"type":."string"....
f6400 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 72 .........}.........},........."r
f6420 65 71 75 69 72 65 2d 64 65 76 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 equire-dev":.{............."type
f6440 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 ":."object",............."descri
f6460 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 70 61 63 6b 61 ption":."This.is.a.hash.of.packa
f6480 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 ge.name.(keys).and.version.const
f64a0 72 61 69 6e 74 73 20 28 76 61 6c 75 65 73 29 20 74 68 61 74 20 74 68 69 73 20 70 61 63 6b 61 67 raints.(values).that.this.packag
f64c0 65 20 72 65 71 75 69 72 65 73 20 66 6f 72 20 64 65 76 65 6c 6f 70 69 6e 67 20 69 74 20 28 74 65 e.requires.for.developing.it.(te
f64e0 73 74 69 6e 67 20 74 6f 6f 6c 73 20 61 6e 64 20 73 75 63 68 29 2e 22 2c 0a 20 20 20 20 20 20 20 sting.tools.and.such).",........
f6500 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 ....."additionalProperties":.{..
f6520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a ..............."type":."string".
f6540 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 ............}.........},........
f6560 20 22 73 75 67 67 65 73 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 ."suggest":.{............."type"
f6580 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 :."object",............."descrip
f65a0 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f 66 20 70 61 63 6b 61 67 tion":."This.is.a.hash.of.packag
f65c0 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 64 65 73 63 72 69 70 74 69 6f 6e 73 20 28 e.name.(keys).and.descriptions.(
f65e0 76 61 6c 75 65 73 29 20 74 68 61 74 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 73 75 67 67 65 73 values).that.this.package.sugges
f6600 74 73 20 77 6f 72 6b 20 77 65 6c 6c 20 77 69 74 68 20 69 74 20 28 74 68 69 73 20 77 69 6c 6c 20 ts.work.well.with.it.(this.will.
f6620 62 65 20 73 75 67 67 65 73 74 65 64 20 74 6f 20 74 68 65 20 75 73 65 72 20 64 75 72 69 6e 67 20 be.suggested.to.the.user.during.
f6640 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 29 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 installation).",............."ad
f6660 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ditionalProperties":.{..........
f6680 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 ......."type":."string".........
f66a0 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 63 6f 6e 66 69 67 ....}.........},........."config
f66c0 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 ":.{............."type":."object
f66e0 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 43 ",............."description":."C
f6700 6f 6d 70 6f 73 65 72 20 6f 70 74 69 6f 6e 73 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 omposer.options.",............."
f6720 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 properties":.{................."
f6740 70 72 6f 63 65 73 73 2d 74 69 6d 65 6f 75 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 process-timeout":.{.............
f6760 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 69 6e 74 65 67 65 72 22 2c 0a 20 20 20 20 20 ........"type":."integer",......
f6780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 ..............."description":."T
f67a0 68 65 20 74 69 6d 65 6f 75 74 20 69 6e 20 73 65 63 6f 6e 64 73 20 66 6f 72 20 70 72 6f 63 65 73 he.timeout.in.seconds.for.proces
f67c0 73 20 65 78 65 63 75 74 69 6f 6e 73 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 33 30 30 20 28 35 s.executions,.defaults.to.300.(5
f67e0 6d 69 6e 73 29 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 mins).".................},......
f6800 20 20 20 20 20 20 20 20 20 20 20 22 75 73 65 2d 69 6e 63 6c 75 64 65 2d 70 61 74 68 22 3a 20 7b ..........."use-include-path":.{
f6820 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f ....................."type":."bo
f6840 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 olean",....................."des
f6860 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 66 20 74 72 75 65 2c 20 74 68 65 20 43 6f 6d 70 6f 73 65 cription":."If.true,.the.Compose
f6880 72 20 61 75 74 6f 6c 6f 61 64 65 72 20 77 69 6c 6c 20 61 6c 73 6f 20 6c 6f 6f 6b 20 66 6f 72 20 r.autoloader.will.also.look.for.
f68a0 63 6c 61 73 73 65 73 20 69 6e 20 74 68 65 20 50 48 50 20 69 6e 63 6c 75 64 65 20 70 61 74 68 2e classes.in.the.PHP.include.path.
f68c0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ".................},............
f68e0 20 20 20 20 20 22 70 72 65 66 65 72 72 65 64 2d 69 6e 73 74 61 6c 6c 22 3a 20 7b 0a 20 20 20 20 ....."preferred-install":.{.....
f6900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 ................"type":.["string
f6920 22 2c 20 22 6f 62 6a 65 63 74 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ",."object"],...................
f6940 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 69 6e 73 74 61 6c 6c 20 6d 65 .."description":."The.install.me
f6960 74 68 6f 64 20 43 6f 6d 70 6f 73 65 72 20 77 69 6c 6c 20 70 72 65 66 65 72 20 74 6f 20 75 73 65 thod.Composer.will.prefer.to.use
f6980 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 61 75 74 6f 20 61 6e 64 20 63 61 6e 20 62 65 20 61 6e ,.defaults.to.auto.and.can.be.an
f69a0 79 20 6f 66 20 73 6f 75 72 63 65 2c 20 64 69 73 74 2c 20 61 75 74 6f 2c 20 6f 72 20 61 20 68 61 y.of.source,.dist,.auto,.or.a.ha
f69c0 73 68 20 6f 66 20 7b 5c 22 70 61 74 74 65 72 6e 5c 22 3a 20 5c 22 70 72 65 66 65 72 65 6e 63 65 sh.of.{\"pattern\":.\"preference
f69e0 5c 22 7d 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 \"}.".................},........
f6a00 20 20 20 20 20 20 20 20 20 22 6e 6f 74 69 66 79 2d 6f 6e 2d 69 6e 73 74 61 6c 6c 22 3a 20 7b 0a ........."notify-on-install":.{.
f6a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f ...................."type":."boo
f6a40 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 lean",....................."desc
f6a60 72 69 70 74 69 6f 6e 22 3a 20 22 43 6f 6d 70 6f 73 65 72 20 61 6c 6c 6f 77 73 20 72 65 70 6f 73 ription":."Composer.allows.repos
f6a80 69 74 6f 72 69 65 73 20 74 6f 20 64 65 66 69 6e 65 20 61 20 6e 6f 74 69 66 69 63 61 74 69 6f 6e itories.to.define.a.notification
f6aa0 20 55 52 4c 2c 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 67 65 74 20 6e 6f 74 69 66 69 65 64 20 .URL,.so.that.they.get.notified.
f6ac0 77 68 65 6e 65 76 65 72 20 61 20 70 61 63 6b 61 67 65 20 66 72 6f 6d 20 74 68 61 74 20 72 65 70 whenever.a.package.from.that.rep
f6ae0 6f 73 69 74 6f 72 79 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 2e 20 54 68 69 73 20 6f 70 74 69 6f ository.is.installed..This.optio
f6b00 6e 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 64 69 73 61 62 6c 65 20 74 68 61 74 20 62 65 68 n.allows.you.to.disable.that.beh
f6b20 61 76 69 6f 75 72 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 72 75 65 2e 22 0a 20 20 20 20 20 aviour,.defaults.to.true."......
f6b40 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 ...........},................."g
f6b60 69 74 68 75 62 2d 70 72 6f 74 6f 63 6f 6c 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ithub-protocols":.{.............
f6b80 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 ........"type":."array",........
f6ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6c ............."description":."A.l
f6bc0 69 73 74 20 6f 66 20 70 72 6f 74 6f 63 6f 6c 73 20 74 6f 20 75 73 65 20 66 6f 72 20 67 69 74 68 ist.of.protocols.to.use.for.gith
f6be0 75 62 2e 63 6f 6d 20 63 6c 6f 6e 65 73 2c 20 69 6e 20 70 72 69 6f 72 69 74 79 20 6f 72 64 65 72 ub.com.clones,.in.priority.order
f6c00 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5b 5c 22 67 69 74 5c 22 2c 20 5c 22 68 74 74 70 73 5c ,.defaults.to.[\"git\",.\"https\
f6c20 22 2c 20 5c 22 68 74 74 70 5c 22 5d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ",.\"http\"].",.................
f6c40 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."items":.{..................
f6c60 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 ......."type":."string".........
f6c80 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c ............}.................},
f6ca0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 69 74 68 75 62 2d 6f 61 75 74 68 22 3a ................."github-oauth":
f6cc0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 .{....................."type":."
f6ce0 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 object",....................."de
f6d00 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 20 6f 66 20 64 6f 6d 61 69 6e 20 6e 61 scription":."A.hash.of.domain.na
f6d20 6d 65 20 3d 3e 20 67 69 74 68 75 62 20 41 50 49 20 6f 61 75 74 68 20 74 6f 6b 65 6e 73 2c 20 74 me.=>.github.API.oauth.tokens,.t
f6d40 79 70 69 63 61 6c 6c 79 20 7b 5c 22 67 69 74 68 75 62 2e 63 6f 6d 5c 22 3a 5c 22 3c 74 6f 6b 65 ypically.{\"github.com\":\"<toke
f6d60 6e 3e 5c 22 7d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 n>\"}.",....................."ad
f6d80 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ditionalProperties":.{..........
f6da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a ..............."type":."string".
f6dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ....................}...........
f6de0 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 69 74 6c 61 62 ......},................."gitlab
f6e00 2d 6f 61 75 74 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 -oauth":.{....................."
f6e20 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 type":."object",................
f6e40 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 20 6f 66 20 64 ....."description":."A.hash.of.d
f6e60 6f 6d 61 69 6e 20 6e 61 6d 65 20 3d 3e 20 67 69 74 6c 61 62 20 41 50 49 20 6f 61 75 74 68 20 74 omain.name.=>.gitlab.API.oauth.t
f6e80 6f 6b 65 6e 73 2c 20 74 79 70 69 63 61 6c 6c 79 20 7b 5c 22 67 69 74 6c 61 62 2e 63 6f 6d 5c 22 okens,.typically.{\"gitlab.com\"
f6ea0 3a 5c 22 3c 74 6f 6b 65 6e 3e 5c 22 7d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :\"<token>\"}.",................
f6ec0 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 ....."additionalProperties":.{..
f6ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 ......................."type":."
f6f00 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 string".....................}...
f6f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............},................
f6f40 20 22 67 69 74 6c 61 62 2d 74 6f 6b 65 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ."gitlab-token":.{..............
f6f60 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 ......."type":."object",........
f6f80 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 ............."description":."A.h
f6fa0 61 73 68 20 6f 66 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 20 3d 3e 20 67 69 74 6c 61 62 20 70 72 69 ash.of.domain.name.=>.gitlab.pri
f6fc0 76 61 74 65 20 74 6f 6b 65 6e 73 2c 20 74 79 70 69 63 61 6c 6c 79 20 7b 5c 22 67 69 74 6c 61 62 vate.tokens,.typically.{\"gitlab
f6fe0 2e 63 6f 6d 5c 22 3a 5c 22 3c 74 6f 6b 65 6e 3e 5c 22 7d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 .com\":\"<token>\"}.",..........
f7000 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 ..........."additionalProperties
f7020 22 3a 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 ":.true.................},......
f7040 20 20 20 20 20 20 20 20 20 20 20 22 64 69 73 61 62 6c 65 2d 74 6c 73 22 3a 20 7b 0a 20 20 20 20 ..........."disable-tls":.{.....
f7060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e ................"type":."boolean
f7080 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 ",....................."descript
f70a0 69 6f 6e 22 3a 20 22 44 65 66 61 75 6c 74 73 20 74 6f 20 60 66 61 6c 73 65 60 2e 20 49 66 20 73 ion":."Defaults.to.`false`..If.s
f70c0 65 74 20 74 6f 20 74 72 75 65 20 61 6c 6c 20 48 54 54 50 53 20 55 52 4c 73 20 77 69 6c 6c 20 62 et.to.true.all.HTTPS.URLs.will.b
f70e0 65 20 74 72 69 65 64 20 77 69 74 68 20 48 54 54 50 20 69 6e 73 74 65 61 64 20 61 6e 64 20 6e 6f e.tried.with.HTTP.instead.and.no
f7100 20 6e 65 74 77 6f 72 6b 20 6c 65 76 65 6c 20 65 6e 63 72 79 70 74 69 6f 6e 20 69 73 20 70 65 72 .network.level.encryption.is.per
f7120 66 6f 72 6d 65 64 2e 20 45 6e 61 62 6c 69 6e 67 20 74 68 69 73 20 69 73 20 61 20 73 65 63 75 72 formed..Enabling.this.is.a.secur
f7140 69 74 79 20 72 69 73 6b 20 61 6e 64 20 69 73 20 4e 4f 54 20 72 65 63 6f 6d 6d 65 6e 64 65 64 2e ity.risk.and.is.NOT.recommended.
f7160 20 54 68 65 20 62 65 74 74 65 72 20 77 61 79 20 69 73 20 74 6f 20 65 6e 61 62 6c 65 20 74 68 65 .The.better.way.is.to.enable.the
f7180 20 70 68 70 5f 6f 70 65 6e 73 73 6c 20 65 78 74 65 6e 73 69 6f 6e 20 69 6e 20 70 68 70 2e 69 6e .php_openssl.extension.in.php.in
f71a0 69 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 i.".................},..........
f71c0 20 20 20 20 20 20 20 22 73 65 63 75 72 65 2d 68 74 74 70 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 ......."secure-http":.{.........
f71e0 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 ............"type":."boolean",..
f7200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 ..................."description"
f7220 3a 20 22 44 65 66 61 75 6c 74 73 20 74 6f 20 60 74 72 75 65 60 2e 20 49 66 20 73 65 74 20 74 6f :."Defaults.to.`true`..If.set.to
f7240 20 74 72 75 65 20 6f 6e 6c 79 20 48 54 54 50 53 20 55 52 4c 73 20 61 72 65 20 61 6c 6c 6f 77 65 .true.only.HTTPS.URLs.are.allowe
f7260 64 20 74 6f 20 62 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 76 69 61 20 43 6f 6d 70 6f 73 65 72 2e d.to.be.downloaded.via.Composer.
f7280 20 49 66 20 79 6f 75 20 72 65 61 6c 6c 79 20 61 62 73 6f 6c 75 74 65 6c 79 20 6e 65 65 64 20 48 .If.you.really.absolutely.need.H
f72a0 54 54 50 20 61 63 63 65 73 73 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 65 6e 20 79 6f 75 TTP.access.to.something.then.you
f72c0 20 63 61 6e 20 64 69 73 61 62 6c 65 20 69 74 2c 20 62 75 74 20 75 73 69 6e 67 20 5c 22 4c 65 74 .can.disable.it,.but.using.\"Let
f72e0 27 73 20 45 6e 63 72 79 70 74 5c 22 20 74 6f 20 67 65 74 20 61 20 66 72 65 65 20 53 53 4c 20 63 's.Encrypt\".to.get.a.free.SSL.c
f7300 65 72 74 69 66 69 63 61 74 65 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 61 20 62 65 74 74 65 72 ertificate.is.generally.a.better
f7320 20 61 6c 74 65 72 6e 61 74 69 76 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d .alternative.".................}
f7340 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 66 69 6c 65 22 3a 20 7b 0a 20 20 ,................."cafile":.{...
f7360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e .................."type":."strin
f7380 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 g",....................."descrip
f73a0 74 69 6f 6e 22 3a 20 22 41 20 77 61 79 20 74 6f 20 73 65 74 20 74 68 65 20 70 61 74 68 20 74 6f tion":."A.way.to.set.the.path.to
f73c0 20 74 68 65 20 6f 70 65 6e 73 73 6c 20 43 41 20 66 69 6c 65 2e 20 49 6e 20 50 48 50 20 35 2e 36 .the.openssl.CA.file..In.PHP.5.6
f73e0 2b 20 79 6f 75 20 73 68 6f 75 6c 64 20 72 61 74 68 65 72 20 73 65 74 20 74 68 69 73 20 76 69 61 +.you.should.rather.set.this.via
f7400 20 6f 70 65 6e 73 73 6c 2e 63 61 66 69 6c 65 20 69 6e 20 70 68 70 2e 69 6e 69 2c 20 61 6c 74 68 .openssl.cafile.in.php.ini,.alth
f7420 6f 75 67 68 20 50 48 50 20 35 2e 36 2b 20 73 68 6f 75 6c 64 20 62 65 20 61 62 6c 65 20 74 6f 20 ough.PHP.5.6+.should.be.able.to.
f7440 64 65 74 65 63 74 20 79 6f 75 72 20 73 79 73 74 65 6d 20 43 41 20 66 69 6c 65 20 61 75 74 6f 6d detect.your.system.CA.file.autom
f7460 61 74 69 63 61 6c 6c 79 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 atically.".................},...
f7480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 70 61 74 68 22 3a 20 7b 0a 20 20 20 20 20 20 .............."capath":.{.......
f74a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a .............."type":."string",.
f74c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e ...................."description
f74e0 22 3a 20 22 49 66 20 63 61 66 69 6c 65 20 69 73 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 20 6f ":."If.cafile.is.not.specified.o
f7500 72 20 69 66 20 74 68 65 20 63 65 72 74 69 66 69 63 61 74 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e r.if.the.certificate.is.not.foun
f7520 64 20 74 68 65 72 65 2c 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 70 6f 69 6e 74 65 64 20 74 d.there,.the.directory.pointed.t
f7540 6f 20 62 79 20 63 61 70 61 74 68 20 69 73 20 73 65 61 72 63 68 65 64 20 66 6f 72 20 61 20 73 75 o.by.capath.is.searched.for.a.su
f7560 69 74 61 62 6c 65 20 63 65 72 74 69 66 69 63 61 74 65 2e 20 63 61 70 61 74 68 20 6d 75 73 74 20 itable.certificate..capath.must.
f7580 62 65 20 61 20 63 6f 72 72 65 63 74 6c 79 20 68 61 73 68 65 64 20 63 65 72 74 69 66 69 63 61 74 be.a.correctly.hashed.certificat
f75a0 65 20 64 69 72 65 63 74 6f 72 79 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c e.directory.".................},
f75c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 68 74 74 70 2d 62 61 73 69 63 22 3a 20 7b ................."http-basic":.{
f75e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 ....................."type":."ob
f7600 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 ject",....................."desc
f7620 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 68 61 73 68 20 6f 66 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 ription":."A.hash.of.domain.name
f7640 20 3d 3e 20 7b 5c 22 75 73 65 72 6e 61 6d 65 5c 22 3a 20 5c 22 2e 2e 2e 5c 22 2c 20 5c 22 70 61 .=>.{\"username\":.\"...\",.\"pa
f7660 73 73 77 6f 72 64 5c 22 3a 20 5c 22 2e 2e 2e 5c 22 7d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 ssword\":.\"...\"}.",...........
f7680 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 .........."additionalProperties"
f76a0 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 :.{........................."typ
f76c0 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e":."object",...................
f76e0 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 75 73 65 72 6e 61 6d 65 22 2c 20 22 ......"required":.["username",."
f7700 70 61 73 73 77 6f 72 64 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 password"],.....................
f7720 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...."properties":.{.............
f7740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 73 65 72 6e 61 6d 65 22 3a 20 7b 0a 20 20 ................"username":.{...
f7760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 .............................."t
f7780 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ype":."string",.................
f77a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 ................"description":."
f77c0 54 68 65 20 75 73 65 72 6e 61 6d 65 20 75 73 65 64 20 66 6f 72 20 48 54 54 50 20 42 61 73 69 63 The.username.used.for.HTTP.Basic
f77e0 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .authentication"................
f7800 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
f7820 20 20 20 20 20 20 20 20 20 20 20 20 22 70 61 73 73 77 6f 72 64 22 3a 20 7b 0a 20 20 20 20 20 20 ............"password":.{.......
f7840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 .........................."type"
f7860 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :."string",.....................
f7880 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 ............"description":."The.
f78a0 70 61 73 73 77 6f 72 64 20 75 73 65 64 20 66 6f 72 20 48 54 54 50 20 42 61 73 69 63 20 61 75 74 password.used.for.HTTP.Basic.aut
f78c0 68 65 6e 74 69 63 61 74 69 6f 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hentication"....................
f78e0 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........}......................
f7900 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ...}.....................}......
f7920 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 ...........},................."s
f7940 74 6f 72 65 2d 61 75 74 68 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tore-auths":.{..................
f7960 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d ..."type":.["string",."boolean"]
f7980 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 ,....................."descripti
f79a0 6f 6e 22 3a 20 22 57 68 61 74 20 74 6f 20 64 6f 20 61 66 74 65 72 20 70 72 6f 6d 70 74 69 6e 67 on":."What.to.do.after.prompting
f79c0 20 66 6f 72 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 2c 20 6f 6e 65 20 6f 66 3a 20 74 72 75 .for.authentication,.one.of:.tru
f79e0 65 20 28 73 74 6f 72 65 29 2c 20 66 61 6c 73 65 20 28 64 6f 20 6e 6f 74 20 73 74 6f 72 65 29 20 e.(store),.false.(do.not.store).
f7a00 6f 72 20 5c 22 70 72 6f 6d 70 74 5c 22 20 28 61 73 6b 20 65 76 65 72 79 20 74 69 6d 65 29 2c 20 or.\"prompt\".(ask.every.time),.
f7a20 64 65 66 61 75 6c 74 73 20 74 6f 20 70 72 6f 6d 70 74 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 defaults.to.prompt."............
f7a40 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6c 61 74 66 6f 72 .....},................."platfor
f7a60 6d 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 m":.{....................."type"
f7a80 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :."object",.....................
f7aa0 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 6f "description":."This.is.a.hash.o
f7ac0 66 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 28 6b 65 79 73 29 20 61 6e 64 20 76 65 72 73 69 6f f.package.name.(keys).and.versio
f7ae0 6e 20 28 76 61 6c 75 65 73 29 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 74 6f 20 n.(values).that.will.be.used.to.
f7b00 6d 6f 63 6b 20 74 68 65 20 70 6c 61 74 66 6f 72 6d 20 70 61 63 6b 61 67 65 73 20 6f 6e 20 74 68 mock.the.platform.packages.on.th
f7b20 69 73 20 6d 61 63 68 69 6e 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 is.machine.",...................
f7b40 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 .."additionalProperties":.{.....
f7b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 ...................."type":."str
f7b80 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ing".....................}......
f7ba0 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 76 ...........},................."v
f7bc0 65 6e 64 6f 72 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 endor-dir":.{...................
f7be0 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .."type":."string",.............
f7c00 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 ........"description":."The.loca
f7c20 74 69 6f 6e 20 77 68 65 72 65 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 69 6e 73 74 tion.where.all.packages.are.inst
f7c40 61 6c 6c 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 76 65 6e 64 6f 72 5c 22 2e 22 0a alled,.defaults.to.\"vendor\".".
f7c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................},..............
f7c80 20 20 20 22 62 69 6e 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."bin-dir":.{.................
f7ca0 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 ...."type":."string",...........
f7cc0 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f .........."description":."The.lo
f7ce0 63 61 74 69 6f 6e 20 77 68 65 72 65 20 61 6c 6c 20 62 69 6e 61 72 69 65 73 20 61 72 65 20 6c 69 cation.where.all.binaries.are.li
f7d00 6e 6b 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 76 65 6e 64 6f 72 2f 62 69 6e 5c 22 nked,.defaults.to.\"vendor/bin\"
f7d20 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 .".................},...........
f7d40 20 20 20 20 20 20 22 64 61 74 61 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......"data-dir":.{.............
f7d60 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 ........"type":."string",.......
f7d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 .............."description":."Th
f7da0 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 6f 6c 64 20 70 68 61 72 20 66 69 6c 65 73 20 e.location.where.old.phar.files.
f7dc0 61 72 65 20 73 74 6f 72 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 24 68 6f 6d 65 5c are.stored,.defaults.to.\"$home\
f7de0 22 20 65 78 63 65 70 74 20 6f 6e 20 58 44 47 20 42 61 73 65 20 44 69 72 65 63 74 6f 72 79 20 63 ".except.on.XDG.Base.Directory.c
f7e00 6f 6d 70 6c 69 61 6e 74 20 75 6e 69 78 65 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ompliant.unixes."...............
f7e20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 64 69 72 22 ..},................."cache-dir"
f7e40 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 :.{....................."type":.
f7e60 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 "string",....................."d
f7e80 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 escription":."The.location.where
f7ea0 20 61 6c 6c 20 63 61 63 68 65 73 20 61 72 65 20 6c 6f 63 61 74 65 64 2c 20 64 65 66 61 75 6c 74 .all.caches.are.located,.default
f7ec0 73 20 74 6f 20 5c 22 7e 2f 2e 63 6f 6d 70 6f 73 65 72 2f 63 61 63 68 65 5c 22 20 6f 6e 20 2a 6e s.to.\"~/.composer/cache\".on.*n
f7ee0 69 78 20 61 6e 64 20 5c 22 25 4c 4f 43 41 4c 41 50 50 44 41 54 41 25 5c 5c 43 6f 6d 70 6f 73 65 ix.and.\"%LOCALAPPDATA%\\Compose
f7f00 72 5c 22 20 6f 6e 20 77 69 6e 64 6f 77 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r\".on.windows."................
f7f20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 66 69 6c 65 73 .},................."cache-files
f7f40 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 -dir":.{....................."ty
f7f60 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."string",..................
f7f80 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 ..."description":."The.location.
f7fa0 77 68 65 72 65 20 66 69 6c 65 73 20 28 7a 69 70 20 64 6f 77 6e 6c 6f 61 64 73 29 20 61 72 65 20 where.files.(zip.downloads).are.
f7fc0 63 61 63 68 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 7b 24 63 61 63 68 65 2d 64 69 cached,.defaults.to.\"{$cache-di
f7fe0 72 7d 2f 66 69 6c 65 73 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a r}/files\".".................},.
f8000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 72 65 70 6f 2d 64 69 72 22 ................"cache-repo-dir"
f8020 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 :.{....................."type":.
f8040 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 "string",....................."d
f8060 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 escription":."The.location.where
f8080 20 72 65 70 6f 20 28 67 69 74 2f 68 67 20 72 65 70 6f 20 63 6c 6f 6e 65 73 29 20 61 72 65 20 63 .repo.(git/hg.repo.clones).are.c
f80a0 61 63 68 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 7b 24 63 61 63 68 65 2d 64 69 72 ached,.defaults.to.\"{$cache-dir
f80c0 7d 2f 72 65 70 6f 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 }/repo\".".................},...
f80e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 76 63 73 2d 64 69 72 22 3a 20 7b .............."cache-vcs-dir":.{
f8100 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 ....................."type":."st
f8120 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 ring",....................."desc
f8140 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 77 68 65 72 65 20 76 63 ription":."The.location.where.vc
f8160 73 20 69 6e 66 6f 73 20 28 67 69 74 20 63 6c 6f 6e 65 73 2c 20 67 69 74 68 75 62 20 61 70 69 20 s.infos.(git.clones,.github.api.
f8180 63 61 6c 6c 73 2c 20 65 74 63 2e 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 76 63 73 20 72 65 70 calls,.etc..when.reading.vcs.rep
f81a0 6f 73 29 20 61 72 65 20 63 61 63 68 65 64 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 7b 24 os).are.cached,.defaults.to.\"{$
f81c0 63 61 63 68 65 2d 64 69 72 7d 2f 76 63 73 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 cache-dir}/vcs\"."..............
f81e0 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 74 74 6c ...},................."cache-ttl
f8200 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a ":.{....................."type":
f8220 20 22 69 6e 74 65 67 65 72 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."integer",.....................
f8240 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 63 61 63 68 "description":."The.default.cach
f8260 65 20 74 69 6d 65 2d 74 6f 2d 6c 69 76 65 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 31 35 35 35 e.time-to-live,.defaults.to.1555
f8280 32 30 30 30 20 28 36 20 6d 6f 6e 74 68 73 29 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2000.(6.months)."...............
f82a0 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 61 63 68 65 2d 66 69 6c 65 ..},................."cache-file
f82c0 73 2d 74 74 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 s-ttl":.{....................."t
f82e0 79 70 65 22 3a 20 22 69 6e 74 65 67 65 72 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ype":."integer",................
f8300 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 63 61 63 68 65 20 74 ....."description":."The.cache.t
f8320 69 6d 65 2d 74 6f 2d 6c 69 76 65 20 66 6f 72 20 66 69 6c 65 73 2c 20 64 65 66 61 75 6c 74 73 20 ime-to-live.for.files,.defaults.
f8340 74 6f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 63 61 63 68 65 2d 74 74 6c 2e 22 0a 20 20 20 20 to.the.value.of.cache-ttl.".....
f8360 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ............},................."
f8380 63 61 63 68 65 2d 66 69 6c 65 73 2d 6d 61 78 73 69 7a 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 cache-files-maxsize":.{.........
f83a0 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 ............"type":.["string",."
f83c0 69 6e 74 65 67 65 72 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 integer"],....................."
f83e0 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 63 61 63 68 65 20 6d 61 78 20 73 69 7a description":."The.cache.max.siz
f8400 65 20 66 6f 72 20 74 68 65 20 66 69 6c 65 73 20 63 61 63 68 65 2c 20 64 65 66 61 75 6c 74 73 20 e.for.the.files.cache,.defaults.
f8420 74 6f 20 5c 22 33 30 30 4d 69 42 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 to.\"300MiB\".".................
f8440 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 62 69 6e 2d 63 6f 6d 70 61 74 22 3a },................."bin-compat":
f8460 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 6e 75 6d 22 3a 20 5b .{....................."enum":.[
f8480 22 61 75 74 6f 22 2c 20 22 66 75 6c 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "auto",."full"],................
f84a0 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 63 6f 6d 70 61 74 69 ....."description":."The.compati
f84c0 62 69 6c 69 74 79 20 6f 66 20 74 68 65 20 62 69 6e 61 72 69 65 73 2c 20 64 65 66 61 75 6c 74 73 bility.of.the.binaries,.defaults
f84e0 20 74 6f 20 5c 22 61 75 74 6f 5c 22 20 28 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 75 65 73 .to.\"auto\".(automatically.gues
f8500 73 65 64 29 20 61 6e 64 20 63 61 6e 20 62 65 20 5c 22 66 75 6c 6c 5c 22 20 28 63 6f 6d 70 61 74 sed).and.can.be.\"full\".(compat
f8520 69 62 6c 65 20 77 69 74 68 20 62 6f 74 68 20 57 69 6e 64 6f 77 73 20 61 6e 64 20 55 6e 69 78 2d ible.with.both.Windows.and.Unix-
f8540 62 61 73 65 64 20 73 79 73 74 65 6d 73 29 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 based.systems)."................
f8560 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 69 73 63 61 72 64 2d 63 68 61 .},................."discard-cha
f8580 6e 67 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 nges":.{....................."ty
f85a0 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d 2c 0a 20 20 20 20 pe":.["string",."boolean"],.....
f85c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 ................"description":."
f85e0 54 68 65 20 64 65 66 61 75 6c 74 20 73 74 79 6c 65 20 6f 66 20 68 61 6e 64 6c 69 6e 67 20 64 69 The.default.style.of.handling.di
f8600 72 74 79 20 75 70 64 61 74 65 73 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 66 61 6c 73 65 20 61 rty.updates,.defaults.to.false.a
f8620 6e 64 20 63 61 6e 20 62 65 20 61 6e 79 20 6f 66 20 74 72 75 65 2c 20 66 61 6c 73 65 20 6f 72 20 nd.can.be.any.of.true,.false.or.
f8640 5c 22 73 74 61 73 68 5c 22 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 \"stash\".".................},..
f8660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 75 74 6f 6c 6f 61 64 65 72 2d 73 75 66 66 69 ..............."autoloader-suffi
f8680 78 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 x":.{....................."type"
f86a0 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :."string",.....................
f86c0 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 70 74 69 6f 6e 61 6c 20 73 74 72 69 6e 67 20 "description":."Optional.string.
f86e0 74 6f 20 62 65 20 75 73 65 64 20 61 73 20 61 20 73 75 66 66 69 78 20 66 6f 72 20 74 68 65 20 67 to.be.used.as.a.suffix.for.the.g
f8700 65 6e 65 72 61 74 65 64 20 43 6f 6d 70 6f 73 65 72 20 61 75 74 6f 6c 6f 61 64 65 72 2e 20 57 68 enerated.Composer.autoloader..Wh
f8720 65 6e 20 6e 75 6c 6c 20 61 20 72 61 6e 64 6f 6d 20 6f 6e 65 20 77 69 6c 6c 20 62 65 20 67 65 6e en.null.a.random.one.will.be.gen
f8740 65 72 61 74 65 64 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 erated.".................},.....
f8760 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 70 74 69 6d 69 7a 65 2d 61 75 74 6f 6c 6f 61 64 65 72 ............"optimize-autoloader
f8780 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a ":.{....................."type":
f87a0 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."boolean",.....................
f87c0 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 6c 77 61 79 73 20 6f 70 74 69 6d 69 7a 65 20 "description":."Always.optimize.
f87e0 77 68 65 6e 20 64 75 6d 70 69 6e 67 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 2e 22 0a 20 20 when.dumping.the.autoloader."...
f8800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............},................
f8820 20 22 70 72 65 70 65 6e 64 2d 61 75 74 6f 6c 6f 61 64 65 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 ."prepend-autoloader":.{........
f8840 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a ............."type":."boolean",.
f8860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e ...................."description
f8880 22 3a 20 22 49 66 20 66 61 6c 73 65 2c 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 20 61 75 74 6f 6c ":."If.false,.the.composer.autol
f88a0 6f 61 64 65 72 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 70 72 65 70 65 6e 64 65 64 20 74 6f 20 65 oader.will.not.be.prepended.to.e
f88c0 78 69 73 74 69 6e 67 20 61 75 74 6f 6c 6f 61 64 65 72 73 2c 20 64 65 66 61 75 6c 74 73 20 74 6f xisting.autoloaders,.defaults.to
f88e0 20 74 72 75 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 .true.".................},......
f8900 20 20 20 20 20 20 20 20 20 20 20 22 63 6c 61 73 73 6d 61 70 2d 61 75 74 68 6f 72 69 74 61 74 69 ..........."classmap-authoritati
f8920 76 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 ve":.{....................."type
f8940 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."boolean",...................
f8960 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 66 20 74 72 75 65 2c 20 74 68 65 20 63 .."description":."If.true,.the.c
f8980 6f 6d 70 6f 73 65 72 20 61 75 74 6f 6c 6f 61 64 65 72 20 77 69 6c 6c 20 6e 6f 74 20 73 63 61 6e omposer.autoloader.will.not.scan
f89a0 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20 66 6f 72 20 63 6c 61 73 73 65 73 20 74 68 61 74 .the.filesystem.for.classes.that
f89c0 20 61 72 65 20 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 63 6c 61 73 73 20 6d 61 70 2c .are.not.found.in.the.class.map,
f89e0 20 64 65 66 61 75 6c 74 73 20 74 6f 20 66 61 6c 73 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 .defaults.to.false."............
f8a00 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 70 63 75 2d 61 75 .....},................."apcu-au
f8a20 74 6f 6c 6f 61 64 65 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 toloader":.{....................
f8a40 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ."type":."boolean",.............
f8a60 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 66 20 74 72 75 65 2c ........"description":."If.true,
f8a80 20 74 68 65 20 43 6f 6d 70 6f 73 65 72 20 61 75 74 6f 6c 6f 61 64 65 72 20 77 69 6c 6c 20 63 68 .the.Composer.autoloader.will.ch
f8aa0 65 63 6b 20 66 6f 72 20 41 50 43 75 20 61 6e 64 20 75 73 65 20 69 74 20 74 6f 20 63 61 63 68 65 eck.for.APCu.and.use.it.to.cache
f8ac0 20 66 6f 75 6e 64 2f 6e 6f 74 2d 66 6f 75 6e 64 20 63 6c 61 73 73 65 73 20 77 68 65 6e 20 74 68 .found/not-found.classes.when.th
f8ae0 65 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 64 65 66 61 75 6c 74 73 e.extension.is.enabled,.defaults
f8b00 20 74 6f 20 66 61 6c 73 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 .to.false.".................},..
f8b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 69 74 68 75 62 2d 64 6f 6d 61 69 6e 73 22 3a ..............."github-domains":
f8b40 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 .{....................."type":."
f8b60 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 array",....................."des
f8b80 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6c 69 73 74 20 6f 66 20 64 6f 6d 61 69 6e 73 20 74 6f cription":."A.list.of.domains.to
f8ba0 20 75 73 65 20 69 6e 20 67 69 74 68 75 62 20 6d 6f 64 65 2e 20 54 68 69 73 20 69 73 20 75 73 65 .use.in.github.mode..This.is.use
f8bc0 64 20 66 6f 72 20 47 69 74 48 75 62 20 45 6e 74 65 72 70 72 69 73 65 20 73 65 74 75 70 73 2c 20 d.for.GitHub.Enterprise.setups,.
f8be0 64 65 66 61 75 6c 74 73 20 74 6f 20 5b 5c 22 67 69 74 68 75 62 2e 63 6f 6d 5c 22 5d 2e 22 2c 0a defaults.to.[\"github.com\"].",.
f8c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 ...................."items":.{..
f8c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 ......................."type":."
f8c40 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 string".....................}...
f8c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............},................
f8c80 20 22 67 69 74 68 75 62 2d 65 78 70 6f 73 65 2d 68 6f 73 74 6e 61 6d 65 22 3a 20 7b 0a 20 20 20 ."github-expose-hostname":.{....
f8ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 ................."type":."boolea
f8cc0 6e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 n",....................."descrip
f8ce0 74 69 6f 6e 22 3a 20 22 44 65 66 61 75 6c 74 73 20 74 6f 20 74 72 75 65 2e 20 49 66 20 73 65 74 tion":."Defaults.to.true..If.set
f8d00 20 74 6f 20 66 61 6c 73 65 2c 20 74 68 65 20 4f 41 75 74 68 20 74 6f 6b 65 6e 73 20 63 72 65 61 .to.false,.the.OAuth.tokens.crea
f8d20 74 65 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 67 69 74 68 75 62 20 41 50 49 20 77 69 6c ted.to.access.the.github.API.wil
f8d40 6c 20 68 61 76 65 20 61 20 64 61 74 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 6d 61 63 l.have.a.date.instead.of.the.mac
f8d60 68 69 6e 65 20 68 6f 73 74 6e 61 6d 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hine.hostname.".................
f8d80 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 69 74 6c 61 62 2d 64 6f 6d 61 69 },................."gitlab-domai
f8da0 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 ns":.{....................."type
f8dc0 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."array",.....................
f8de0 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6c 69 73 74 20 6f 66 20 64 6f 6d 61 69 6e "description":."A.list.of.domain
f8e00 73 20 74 6f 20 75 73 65 20 69 6e 20 67 69 74 6c 61 62 20 6d 6f 64 65 2e 20 54 68 69 73 20 69 73 s.to.use.in.gitlab.mode..This.is
f8e20 20 75 73 65 64 20 66 6f 72 20 63 75 73 74 6f 6d 20 47 69 74 4c 61 62 20 73 65 74 75 70 73 2c 20 .used.for.custom.GitLab.setups,.
f8e40 64 65 66 61 75 6c 74 73 20 74 6f 20 5b 5c 22 67 69 74 6c 61 62 2e 63 6f 6d 5c 22 5d 2e 22 2c 0a defaults.to.[\"gitlab.com\"].",.
f8e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 ...................."items":.{..
f8e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 ......................."type":."
f8ea0 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 string".....................}...
f8ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............},................
f8ee0 20 22 75 73 65 2d 67 69 74 68 75 62 2d 61 70 69 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ."use-github-api":.{............
f8f00 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a 20 20 20 20 ........."type":."boolean",.....
f8f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 ................"description":."
f8f40 44 65 66 61 75 6c 74 73 20 74 6f 20 74 72 75 65 2e 20 20 49 66 20 73 65 74 20 74 6f 20 66 61 6c Defaults.to.true...If.set.to.fal
f8f60 73 65 2c 20 67 6c 6f 62 61 6c 6c 79 20 64 69 73 61 62 6c 65 73 20 74 68 65 20 75 73 65 20 6f 66 se,.globally.disables.the.use.of
f8f80 20 74 68 65 20 47 69 74 48 75 62 20 41 50 49 20 66 6f 72 20 61 6c 6c 20 47 69 74 48 75 62 20 72 .the.GitHub.API.for.all.GitHub.r
f8fa0 65 70 6f 73 69 74 6f 72 69 65 73 20 61 6e 64 20 63 6c 6f 6e 65 73 20 74 68 65 20 72 65 70 6f 73 epositories.and.clones.the.repos
f8fc0 69 74 6f 72 79 20 61 73 20 69 74 20 77 6f 75 6c 64 20 66 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 itory.as.it.would.for.any.other.
f8fe0 72 65 70 6f 73 69 74 6f 72 79 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a repository.".................},.
f9000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 72 63 68 69 76 65 2d 66 6f 72 6d 61 74 22 ................"archive-format"
f9020 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 :.{....................."type":.
f9040 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 "string",....................."d
f9060 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 61 72 63 68 69 76 escription":."The.default.archiv
f9080 69 6e 67 20 66 6f 72 6d 61 74 20 77 68 65 6e 20 6e 6f 74 20 70 72 6f 76 69 64 65 64 20 6f 6e 20 ing.format.when.not.provided.on.
f90a0 63 6c 69 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 74 61 72 5c 22 2e 22 0a 20 20 20 20 20 cli,.defaults.to.\"tar\"."......
f90c0 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 ...........},................."a
f90e0 72 63 68 69 76 65 2d 64 69 72 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rchive-dir":.{..................
f9100 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..."type":."string",............
f9120 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 64 65 66 ........."description":."The.def
f9140 61 75 6c 74 20 61 72 63 68 69 76 65 20 70 61 74 68 20 77 68 65 6e 20 6e 6f 74 20 70 72 6f 76 69 ault.archive.path.when.not.provi
f9160 64 65 64 20 6f 6e 20 63 6c 69 2c 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 2e 5c 22 2e 22 0a ded.on.cli,.defaults.to.\".\".".
f9180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................},..............
f91a0 20 20 20 22 68 74 61 63 63 65 73 73 2d 70 72 6f 74 65 63 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 ..."htaccess-protect":.{........
f91c0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c 0a ............."type":."boolean",.
f91e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e ...................."description
f9200 22 3a 20 22 44 65 66 61 75 6c 74 73 20 74 6f 20 74 72 75 65 2e 20 49 66 20 73 65 74 20 74 6f 20 ":."Defaults.to.true..If.set.to.
f9220 66 61 6c 73 65 2c 20 43 6f 6d 70 6f 73 65 72 20 77 69 6c 6c 20 6e 6f 74 20 63 72 65 61 74 65 20 false,.Composer.will.not.create.
f9240 2e 68 74 61 63 63 65 73 73 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 63 6f 6d 70 6f 73 65 72 20 .htaccess.files.in.the.composer.
f9260 68 6f 6d 65 2c 20 63 61 63 68 65 2c 20 61 6e 64 20 64 61 74 61 20 64 69 72 65 63 74 6f 72 69 65 home,.cache,.and.data.directorie
f9280 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 s.".................},..........
f92a0 20 20 20 20 20 20 20 22 73 6f 72 74 2d 70 61 63 6b 61 67 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 ......."sort-packages":.{.......
f92c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c .............."type":."boolean",
f92e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f ....................."descriptio
f9300 6e 22 3a 20 22 44 65 66 61 75 6c 74 73 20 74 6f 20 66 61 6c 73 65 2e 20 49 66 20 73 65 74 20 74 n":."Defaults.to.false..If.set.t
f9320 6f 20 74 72 75 65 2c 20 43 6f 6d 70 6f 73 65 72 20 77 69 6c 6c 20 73 6f 72 74 20 70 61 63 6b 61 o.true,.Composer.will.sort.packa
f9340 67 65 73 20 77 68 65 6e 20 61 64 64 69 6e 67 2f 75 70 64 61 74 69 6e 67 20 61 20 6e 65 77 20 64 ges.when.adding/updating.a.new.d
f9360 65 70 65 6e 64 65 6e 63 79 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ependency.".................}...
f9380 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 ..........}.........},........."
f93a0 65 78 74 72 61 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 extra":.{............."type":.["
f93c0 6f 62 6a 65 63 74 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 object",."array"],............."
f93e0 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 72 62 69 74 72 61 72 79 20 65 78 74 72 61 20 64 description":."Arbitrary.extra.d
f9400 61 74 61 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 62 79 20 70 6c 75 67 69 6e 73 2c ata.that.can.be.used.by.plugins,
f9420 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 70 61 63 6b 61 67 65 20 6f 66 20 74 79 70 65 20 63 6f .for.example,.package.of.type.co
f9440 6d 70 6f 73 65 72 2d 70 6c 75 67 69 6e 20 6d 61 79 20 68 61 76 65 20 61 20 27 63 6c 61 73 73 27 mposer-plugin.may.have.a.'class'
f9460 20 6b 65 79 20 64 65 66 69 6e 69 6e 67 20 61 6e 20 69 6e 73 74 61 6c 6c 65 72 20 63 6c 61 73 73 .key.defining.an.installer.class
f9480 20 6e 61 6d 65 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c .name.",............."additional
f94a0 50 72 6f 70 65 72 74 69 65 73 22 3a 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 Properties":.true.........},....
f94c0 20 20 20 20 20 22 61 75 74 6f 6c 6f 61 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 ....."autoload":.{............."
f94e0 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 61 75 74 6f 6c 6f 61 64 22 0a $ref":."#/definitions/autoload".
f9500 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 75 74 6f 6c 6f 61 64 2d 64 65 76 ........},........."autoload-dev
f9520 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 ":.{............."type":."object
f9540 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 ",............."description":."D
f9560 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 75 74 6f 6c 6f 61 escription.of.additional.autoloa
f9580 64 20 72 75 6c 65 73 20 66 6f 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 70 75 72 70 6f 73 65 20 d.rules.for.development.purpose.
f95a0 28 65 67 2e 20 61 20 74 65 73 74 20 73 75 69 74 65 29 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 (eg..a.test.suite).",...........
f95c0 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."properties":.{...............
f95e0 20 20 22 70 73 72 2d 30 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."psr-0":.{....................
f9600 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ."type":."object",..............
f9620 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 ......."description":."This.is.a
f9640 20 68 61 73 68 20 6f 66 20 6e 61 6d 65 73 70 61 63 65 73 20 28 6b 65 79 73 29 20 61 6e 64 20 74 .hash.of.namespaces.(keys).and.t
f9660 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 65 79 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 he.directories.they.can.be.found
f9680 20 69 6e 74 6f 20 28 76 61 6c 75 65 73 2c 20 63 61 6e 20 62 65 20 61 72 72 61 79 73 20 6f 66 20 .into.(values,.can.be.arrays.of.
f96a0 70 61 74 68 73 29 20 62 79 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 2e 22 2c 0a 20 20 20 20 paths).by.the.autoloader.",.....
f96c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 ................"additionalPrope
f96e0 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rties":.{.......................
f9700 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 .."type":.["string",."array"],..
f9720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 ......................."items":.
f9740 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 {............................."t
f9760 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ype":."string"..................
f9780 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 .......}.....................}..
f97a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
f97c0 20 20 22 70 73 72 2d 34 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."psr-4":.{....................
f97e0 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ."type":."object",..............
f9800 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 ......."description":."This.is.a
f9820 20 68 61 73 68 20 6f 66 20 6e 61 6d 65 73 70 61 63 65 73 20 28 6b 65 79 73 29 20 61 6e 64 20 74 .hash.of.namespaces.(keys).and.t
f9840 68 65 20 50 53 52 2d 34 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 65 79 20 63 61 6e 20 6d 61 he.PSR-4.directories.they.can.ma
f9860 70 20 74 6f 20 28 76 61 6c 75 65 73 2c 20 63 61 6e 20 62 65 20 61 72 72 61 79 73 20 6f 66 20 70 p.to.(values,.can.be.arrays.of.p
f9880 61 74 68 73 29 20 62 79 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 2e 22 2c 0a 20 20 20 20 20 aths).by.the.autoloader.",......
f98a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 ..............."additionalProper
f98c0 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ties":.{........................
f98e0 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 ."type":.["string",."array"],...
f9900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b ......................"items":.{
f9920 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 ............................."ty
f9940 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."string"...................
f9960 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ......}.....................}...
f9980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............},................
f99a0 20 22 63 6c 61 73 73 6d 61 70 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."classmap":.{..................
f99c0 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..."type":."array",.............
f99e0 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 ........"description":."This.is.
f9a00 61 6e 20 61 72 72 61 79 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 61 74 20 63 6f 6e an.array.of.directories.that.con
f9a20 74 61 69 6e 20 63 6c 61 73 73 65 73 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 tain.classes.to.be.included.in.t
f9a40 68 65 20 63 6c 61 73 73 2d 6d 61 70 20 67 65 6e 65 72 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 2e he.class-map.generation.process.
f9a60 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ".................},............
f9a80 20 20 20 20 20 22 66 69 6c 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."files":.{.................
f9aa0 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ...."type":."array",............
f9ac0 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 ........."description":."This.is
f9ae0 20 61 6e 20 61 72 72 61 79 20 6f 66 20 66 69 6c 65 73 20 74 68 61 74 20 61 72 65 20 61 6c 77 61 .an.array.of.files.that.are.alwa
f9b00 79 73 20 72 65 71 75 69 72 65 64 20 6f 6e 20 65 76 65 72 79 20 72 65 71 75 65 73 74 2e 22 0a 20 ys.required.on.every.request."..
f9b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 ...............}.............}..
f9b40 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 72 63 68 69 76 65 22 3a 20 7b 0a 20 .......},........."archive":.{..
f9b60 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 22 5d 2c 0a 20 ..........."type":.["object"],..
f9b80 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 70 74 69 6f ..........."description":."Optio
f9ba0 6e 73 20 66 6f 72 20 63 72 65 61 74 69 6e 67 20 70 61 63 6b 61 67 65 20 61 72 63 68 69 76 65 73 ns.for.creating.package.archives
f9bc0 20 66 6f 72 20 64 69 73 74 72 69 62 75 74 69 6f 6e 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 .for.distribution.",............
f9be0 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."properties":.{................
f9c00 20 22 65 78 63 6c 75 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."exclude":.{...................
f9c20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .."type":."array",..............
f9c40 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6c 69 73 74 20 6f 66 ......."description":."A.list.of
f9c60 20 70 61 74 74 65 72 6e 73 20 66 6f 72 20 70 61 74 68 73 20 74 6f 20 65 78 63 6c 75 64 65 20 6f .patterns.for.paths.to.exclude.o
f9c80 72 20 69 6e 63 6c 75 64 65 20 69 66 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 61 6e 20 65 78 r.include.if.prefixed.with.an.ex
f9ca0 63 6c 61 6d 61 74 69 6f 6e 20 6d 61 72 6b 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 clamation.mark."................
f9cc0 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 .}.............}.........},.....
f9ce0 20 20 20 20 22 72 65 70 6f 73 69 74 6f 72 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ...."repositories":.{...........
f9d00 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 .."type":.["object",."array"],..
f9d20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 73 65 74 ..........."description":."A.set
f9d40 20 6f 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 72 65 70 6f 73 69 74 6f 72 69 65 73 20 77 68 65 72 .of.additional.repositories.wher
f9d60 65 20 70 61 63 6b 61 67 65 73 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 2e 22 2c 0a 20 20 20 20 20 e.packages.can.be.found.",......
f9d80 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b ......."additionalProperties":.{
f9da0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 ................."oneOf":.[.....
f9dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 ................{."$ref":."#/def
f9de0 69 6e 69 74 69 6f 6e 73 2f 72 65 70 6f 73 69 74 6f 72 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 initions/repository".},.........
f9e00 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 2c ............{."type":."boolean",
f9e20 20 22 65 6e 75 6d 22 3a 20 5b 66 61 6c 73 65 5d 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ."enum":.[false].}..............
f9e40 20 20 20 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...].............},.............
f9e60 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 6e 65 4f "items":.{................."oneO
f9e80 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 f":.[.....................{."$re
f9ea0 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 72 65 70 6f 73 69 74 6f 72 79 22 20 7d f":."#/definitions/repository".}
f9ec0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 ,.....................{.........
f9ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 ................"type":."object"
f9f00 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 ,........................."addit
f9f20 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f ionalProperties":.{."type":."boo
f9f40 6c 65 61 6e 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 66 61 6c 73 65 5d 20 7d 2c 0a 20 20 20 20 20 20 lean",."enum":.[false].},.......
f9f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 .................."minProperties
f9f80 22 3a 20 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d ":.1,........................."m
f9fa0 61 78 50 72 6f 70 65 72 74 69 65 73 22 3a 20 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 axProperties":.1................
f9fc0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 .....}.................]........
f9fe0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 6d 69 6e 69 6d .....}.........},........."minim
fa000 75 6d 2d 73 74 61 62 69 6c 69 74 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 um-stability":.{............."ty
fa020 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 pe":.["string"],............."de
fa040 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 65 20 6d 69 6e 69 6d 75 6d 20 73 74 61 62 69 6c 69 scription":."The.minimum.stabili
fa060 74 79 20 74 68 65 20 70 61 63 6b 61 67 65 73 20 6d 75 73 74 20 68 61 76 65 20 74 6f 20 62 65 20 ty.the.packages.must.have.to.be.
fa080 69 6e 73 74 61 6c 6c 2d 61 62 6c 65 2e 20 50 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 20 61 72 install-able..Possible.values.ar
fa0a0 65 3a 20 64 65 76 2c 20 61 6c 70 68 61 2c 20 62 65 74 61 2c 20 52 43 2c 20 73 74 61 62 6c 65 2e e:.dev,.alpha,.beta,.RC,.stable.
fa0c0 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 61 74 74 65 72 6e 22 3a 20 22 5e 64 65 76 7c ",............."pattern":."^dev|
fa0e0 61 6c 70 68 61 7c 62 65 74 61 7c 72 63 7c 52 43 7c 73 74 61 62 6c 65 24 22 0a 20 20 20 20 20 20 alpha|beta|rc|RC|stable$".......
fa100 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 72 65 66 65 72 2d 73 74 61 62 6c 65 22 3a 20 7b 0a ..},........."prefer-stable":.{.
fa120 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 62 6f 6f 6c 65 61 6e 22 5d 2c ............"type":.["boolean"],
fa140 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 66 20 ............."description":."If.
fa160 73 65 74 20 74 6f 20 74 72 75 65 2c 20 73 74 61 62 6c 65 20 70 61 63 6b 61 67 65 73 20 77 69 6c set.to.true,.stable.packages.wil
fa180 6c 20 62 65 20 70 72 65 66 65 72 72 65 64 20 74 6f 20 64 65 76 20 70 61 63 6b 61 67 65 73 20 77 l.be.preferred.to.dev.packages.w
fa1a0 68 65 6e 20 70 6f 73 73 69 62 6c 65 2c 20 65 76 65 6e 20 69 66 20 74 68 65 20 6d 69 6e 69 6d 75 hen.possible,.even.if.the.minimu
fa1c0 6d 2d 73 74 61 62 69 6c 69 74 79 20 61 6c 6c 6f 77 73 20 75 6e 73 74 61 62 6c 65 20 70 61 63 6b m-stability.allows.unstable.pack
fa1e0 61 67 65 73 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 62 69 6e 22 3a ages.".........},........."bin":
fa200 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 .{............."type":.["string"
fa220 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 ,."array"],............."descrip
fa240 74 69 6f 6e 22 3a 20 22 41 20 73 65 74 20 6f 66 20 66 69 6c 65 73 2c 20 6f 72 20 61 20 73 69 6e tion":."A.set.of.files,.or.a.sin
fa260 67 6c 65 20 66 69 6c 65 2c 20 74 68 61 74 20 73 68 6f 75 6c 64 20 62 65 20 74 72 65 61 74 65 64 gle.file,.that.should.be.treated
fa280 20 61 73 20 62 69 6e 61 72 69 65 73 20 61 6e 64 20 73 79 6d 6c 69 6e 6b 65 64 20 69 6e 74 6f 20 .as.binaries.and.symlinked.into.
fa2a0 62 69 6e 2d 64 69 72 20 28 66 72 6f 6d 20 63 6f 6e 66 69 67 29 2e 22 2c 0a 20 20 20 20 20 20 20 bin-dir.(from.config).",........
fa2c0 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."items":.{.................
fa2e0 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 "type":."string".............}..
fa300 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 69 6e 63 6c 75 64 65 2d 70 61 74 68 22 .......},........."include-path"
fa320 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 :.{............."type":.["array"
fa340 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 ],............."description":."D
fa360 45 50 52 45 43 41 54 45 44 3a 20 41 20 6c 69 73 74 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 EPRECATED:.A.list.of.directories
fa380 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 67 65 74 20 61 64 64 65 64 20 74 6f 20 50 48 50 27 73 .which.should.get.added.to.PHP's
fa3a0 20 69 6e 63 6c 75 64 65 20 70 61 74 68 2e 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 70 72 65 73 .include.path..This.is.only.pres
fa3c0 65 6e 74 20 74 6f 20 73 75 70 70 6f 72 74 20 6c 65 67 61 63 79 20 70 72 6f 6a 65 63 74 73 2c 20 ent.to.support.legacy.projects,.
fa3e0 61 6e 64 20 61 6c 6c 20 6e 65 77 20 63 6f 64 65 20 73 68 6f 75 6c 64 20 70 72 65 66 65 72 61 62 and.all.new.code.should.preferab
fa400 6c 79 20 75 73 65 20 61 75 74 6f 6c 6f 61 64 69 6e 67 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 ly.use.autoloading.",...........
fa420 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 .."items":.{................."ty
fa440 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 pe":."string".............}.....
fa460 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 73 63 72 69 70 74 73 22 3a 20 7b 0a 20 20 20 20 ....},........."scripts":.{.....
fa480 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 22 5d 2c 0a 20 20 20 20 ........"type":.["object"],.....
fa4a0 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 53 63 72 69 70 74 20 6c ........"description":."Script.l
fa4c0 69 73 74 65 6e 65 72 73 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 62 isteners.that.will.be.executed.b
fa4e0 65 66 6f 72 65 2f 61 66 74 65 72 20 73 6f 6d 65 20 65 76 65 6e 74 73 2e 22 2c 0a 20 20 20 20 20 efore/after.some.events.",......
fa500 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ......."properties":.{..........
fa520 20 20 20 20 20 20 20 22 70 72 65 2d 69 6e 73 74 61 6c 6c 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 ......."pre-install-cmd":.{.....
fa540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 ................"type":.["array"
fa560 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,."string"],....................
fa580 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 62 65 66 6f 72 65 20 74 ."description":."Occurs.before.t
fa5a0 68 65 20 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 he.install.command.is.executed,.
fa5c0 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 contains.one.or.more.Class::meth
fa5e0 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 od.callables.or.shell.commands."
fa600 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .................},.............
fa620 20 20 20 20 22 70 6f 73 74 2d 69 6e 73 74 61 6c 6c 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 20 20 ...."post-install-cmd":.{.......
fa640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 .............."type":.["array",.
fa660 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 "string"],....................."
fa680 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 74 68 65 20 description":."Occurs.after.the.
fa6a0 69 6e 73 74 61 6c 6c 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 63 6f 6e install.command.is.executed,.con
fa6c0 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 tains.one.or.more.Class::method.
fa6e0 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 callables.or.shell.commands."...
fa700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............},................
fa720 20 22 70 72 65 2d 75 70 64 61 74 65 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ."pre-update-cmd":.{............
fa740 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 ........."type":.["array",."stri
fa760 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 ng"],....................."descr
fa780 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 62 65 66 6f 72 65 20 74 68 65 20 75 70 64 61 iption":."Occurs.before.the.upda
fa7a0 74 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 te.command.is.executed,.contains
fa7c0 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 .one.or.more.Class::method.calla
fa7e0 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 bles.or.shell.commands."........
fa800 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 .........},................."pos
fa820 74 2d 75 70 64 61 74 65 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-update-cmd":.{................
fa840 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d ....."type":.["array",."string"]
fa860 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 ,....................."descripti
fa880 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 74 68 65 20 75 70 64 61 74 65 20 63 6f on":."Occurs.after.the.update.co
fa8a0 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 mmand.is.executed,.contains.one.
fa8c0 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 or.more.Class::method.callables.
fa8e0 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 or.shell.commands.".............
fa900 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 2d 73 74 61 74 ....},................."pre-stat
fa920 75 73 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 us-cmd":.{....................."
fa940 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 type":.["array",."string"],.....
fa960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 ................"description":."
fa980 4f 63 63 75 72 73 20 62 65 66 6f 72 65 20 74 68 65 20 73 74 61 74 75 73 20 63 6f 6d 6d 61 6e 64 Occurs.before.the.status.command
fa9a0 20 69 73 20 65 78 65 63 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f .is.executed,.contains.one.or.mo
fa9c0 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 re.Class::method.callables.or.sh
fa9e0 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d ell.commands.".................}
faa00 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 73 74 61 74 75 73 2d 63 ,................."post-status-c
faa20 6d 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 md":.{....................."type
faa40 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 ":.["array",."string"],.........
faa60 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 ............"description":."Occu
faa80 72 73 20 61 66 74 65 72 20 74 68 65 20 73 74 61 74 75 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 rs.after.the.status.command.is.e
faaa0 78 65 63 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c xecuted,.contains.one.or.more.Cl
faac0 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 ass::method.callables.or.shell.c
faae0 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 ommands.".................},....
fab00 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 2d 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c ............."pre-package-instal
fab20 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 l":.{....................."type"
fab40 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 :.["array",."string"],..........
fab60 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 ..........."description":."Occur
fab80 73 20 62 65 66 6f 72 65 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 2c s.before.a.package.is.installed,
faba0 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 .contains.one.or.more.Class::met
fabc0 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e hod.callables.or.shell.commands.
fabe0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ".................},............
fac00 20 20 20 20 20 22 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 22 3a 20 7b 0a 20 ....."post-package-install":.{..
fac20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 ..................."type":.["arr
fac40 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ay",."string"],.................
fac60 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 ...."description":."Occurs.after
fac80 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 2c 20 63 6f 6e 74 61 69 6e .a.package.is.installed,.contain
faca0 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c s.one.or.more.Class::method.call
facc0 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 ables.or.shell.commands.".......
face0 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 ..........},................."pr
fad00 65 2d 70 61 63 6b 61 67 65 2d 75 70 64 61 74 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 e-package-update":.{............
fad20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 ........."type":.["array",."stri
fad40 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 ng"],....................."descr
fad60 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 62 65 66 6f 72 65 20 61 20 70 61 63 6b 61 67 iption":."Occurs.before.a.packag
fad80 65 20 69 73 20 75 70 64 61 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f e.is.updated,.contains.one.or.mo
fada0 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 re.Class::method.callables.or.sh
fadc0 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d ell.commands.".................}
fade0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d ,................."post-package-
fae00 75 70 64 61 74 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 update":.{....................."
fae20 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 type":.["array",."string"],.....
fae40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 ................"description":."
fae60 4f 63 63 75 72 73 20 61 66 74 65 72 20 61 20 70 61 63 6b 61 67 65 20 69 73 20 75 70 64 61 74 65 Occurs.after.a.package.is.update
fae80 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d d,.contains.one.or.more.Class::m
faea0 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 ethod.callables.or.shell.command
faec0 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 s.".................},..........
faee0 20 20 20 20 20 20 20 22 70 72 65 2d 70 61 63 6b 61 67 65 2d 75 6e 69 6e 73 74 61 6c 6c 22 3a 20 ......."pre-package-uninstall":.
faf00 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 {....................."type":.["
faf20 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 array",."string"],..............
faf40 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 62 65 ......."description":."Occurs.be
faf60 66 6f 72 65 20 61 20 70 61 63 6b 61 67 65 20 68 61 73 20 62 65 65 6e 20 75 6e 69 6e 73 74 61 6c fore.a.package.has.been.uninstal
faf80 6c 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a led,.contains.one.or.more.Class:
fafa0 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 :method.callables.or.shell.comma
fafc0 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 nds.".................},........
fafe0 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 2d 70 61 63 6b 61 67 65 2d 75 6e 69 6e 73 74 61 6c 6c ........."post-package-uninstall
fb000 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a ":.{....................."type":
fb020 20 5b 22 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 .["array",."string"],...........
fb040 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 .........."description":."Occurs
fb060 20 61 66 74 65 72 20 61 20 70 61 63 6b 61 67 65 20 68 61 73 20 62 65 65 6e 20 75 6e 69 6e 73 74 .after.a.package.has.been.uninst
fb080 61 6c 6c 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 alled,.contains.one.or.more.Clas
fb0a0 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d s::method.callables.or.shell.com
fb0c0 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 mands.".................},......
fb0e0 20 20 20 20 20 20 20 20 20 20 20 22 70 72 65 2d 61 75 74 6f 6c 6f 61 64 2d 64 75 6d 70 22 3a 20 ..........."pre-autoload-dump":.
fb100 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 {....................."type":.["
fb120 61 72 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 array",."string"],..............
fb140 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 62 65 ......."description":."Occurs.be
fb160 66 6f 72 65 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 20 69 73 20 64 75 6d 70 65 64 2c 20 63 fore.the.autoloader.is.dumped,.c
fb180 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f ontains.one.or.more.Class::metho
fb1a0 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a d.callables.or.shell.commands.".
fb1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................},..............
fb1e0 20 20 20 22 70 6f 73 74 2d 61 75 74 6f 6c 6f 61 64 2d 64 75 6d 70 22 3a 20 7b 0a 20 20 20 20 20 ..."post-autoload-dump":.{......
fb200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c ..............."type":.["array",
fb220 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."string"],.....................
fb240 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 74 68 65 "description":."Occurs.after.the
fb260 20 61 75 74 6f 6c 6f 61 64 65 72 20 69 73 20 64 75 6d 70 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 .autoloader.is.dumped,.contains.
fb280 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 one.or.more.Class::method.callab
fb2a0 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 les.or.shell.commands.".........
fb2c0 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 6f 73 74 ........},................."post
fb2e0 2d 72 6f 6f 74 2d 70 61 63 6b 61 67 65 2d 69 6e 73 74 61 6c 6c 22 3a 20 7b 0a 20 20 20 20 20 20 -root-package-install":.{.......
fb300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 2c 20 .............."type":.["array",.
fb320 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 "string"],....................."
fb340 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 74 68 65 20 description":."Occurs.after.the.
fb360 72 6f 6f 74 2d 70 61 63 6b 61 67 65 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 2c 20 63 6f 6e 74 61 root-package.is.installed,.conta
fb380 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 3a 3a 6d 65 74 68 6f 64 20 63 61 ins.one.or.more.Class::method.ca
fb3a0 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 2e 22 0a 20 20 20 20 llables.or.shell.commands.".....
fb3c0 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ............},................."
fb3e0 70 6f 73 74 2d 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 2d 63 6d 64 22 3a 20 7b 0a 20 20 20 20 post-create-project-cmd":.{.....
fb400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 ................"type":.["array"
fb420 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,."string"],....................
fb440 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4f 63 63 75 72 73 20 61 66 74 65 72 20 74 68 ."description":."Occurs.after.th
fb460 65 20 63 72 65 61 74 65 2d 70 72 6f 6a 65 63 74 20 63 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 e.create-project.command.is.exec
fb480 75 74 65 64 2c 20 63 6f 6e 74 61 69 6e 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 43 6c 61 73 73 uted,.contains.one.or.more.Class
fb4a0 3a 3a 6d 65 74 68 6f 64 20 63 61 6c 6c 61 62 6c 65 73 20 6f 72 20 73 68 65 6c 6c 20 63 6f 6d 6d ::method.callables.or.shell.comm
fb4c0 61 6e 64 73 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 ands.".................}........
fb4e0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 73 63 72 69 70 .....}.........},........."scrip
fb500 74 73 2d 64 65 73 63 72 69 70 74 69 6f 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ts-descriptions":.{.............
fb520 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 "type":.["object"],.............
fb540 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 65 73 63 72 69 70 74 69 6f 6e 73 20 66 6f 72 "description":."Descriptions.for
fb560 20 63 75 73 74 6f 6d 20 63 6f 6d 6d 61 6e 64 73 2c 20 73 68 6f 77 6e 20 69 6e 20 63 6f 6e 73 6f .custom.commands,.shown.in.conso
fb580 6c 65 20 68 65 6c 70 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e le.help.",............."addition
fb5a0 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 alProperties":.{................
fb5c0 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a ."type":."string".............}.
fb5e0 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 73 75 70 70 6f 72 74 22 3a 20 7b 0a ........},........."support":.{.
fb600 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 ............"type":."object",...
fb620 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 .........."properties":.{.......
fb640 20 20 20 20 20 20 20 20 20 20 22 65 6d 61 69 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 .........."email":.{............
fb660 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 ........."type":."string",......
fb680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 45 ..............."description":."E
fb6a0 6d 61 69 6c 20 61 64 64 72 65 73 73 20 66 6f 72 20 73 75 70 70 6f 72 74 2e 22 2c 0a 20 20 20 20 mail.address.for.support.",.....
fb6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 65 6d 61 69 6c ................"format":."email
fb6e0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ".................},............
fb700 20 20 20 20 20 22 69 73 73 75 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."issues":.{................
fb720 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 ....."type":."string",..........
fb740 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 ..........."description":."URL.t
fb760 6f 20 74 68 65 20 69 73 73 75 65 20 74 72 61 63 6b 65 72 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 o.the.issue.tracker.",..........
fb780 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 ..........."format":."uri"......
fb7a0 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 ...........},................."f
fb7c0 6f 72 75 6d 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 orum":.{....................."ty
fb7e0 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."string",..................
fb800 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f 20 74 68 65 20 66 6f ..."description":."URL.to.the.fo
fb820 72 75 6d 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d rum.",....................."form
fb840 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 at":."uri".................},...
fb860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 77 69 6b 69 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 .............."wiki":.{.........
fb880 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 ............"type":."string",...
fb8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a .................."description":
fb8c0 20 22 55 52 4c 20 74 6f 20 74 68 65 20 77 69 6b 69 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ."URL.to.the.wiki.",............
fb8e0 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 ........."format":."uri"........
fb900 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 72 63 .........},................."irc
fb920 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a ":.{....................."type":
fb940 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ."string",....................."
fb960 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 52 43 20 63 68 61 6e 6e 65 6c 20 66 6f 72 20 73 description":."IRC.channel.for.s
fb980 75 70 70 6f 72 74 2c 20 61 73 20 69 72 63 3a 2f 2f 73 65 72 76 65 72 2f 63 68 61 6e 6e 65 6c 2e upport,.as.irc://server/channel.
fb9a0 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a ",....................."format":
fb9c0 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 ."uri".................},.......
fb9e0 20 20 20 20 20 20 20 20 20 20 22 63 68 61 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 .........."chat":.{.............
fba00 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 ........"type":."string",.......
fba20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 .............."description":."UR
fba40 4c 20 74 6f 20 74 68 65 20 73 75 70 70 6f 72 74 20 63 68 61 74 2e 22 2c 0a 20 20 20 20 20 20 20 L.to.the.support.chat.",........
fba60 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 ............."format":."uri"....
fba80 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............},.................
fbaa0 22 73 6f 75 72 63 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "source":.{.....................
fbac0 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "type":."string",...............
fbae0 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f 20 62 72 6f ......"description":."URL.to.bro
fbb00 77 73 65 20 6f 72 20 64 6f 77 6e 6c 6f 61 64 20 74 68 65 20 73 6f 75 72 63 65 73 2e 22 2c 0a 20 wse.or.download.the.sources.",..
fbb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 ..................."format":."ur
fbb40 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 i".................},...........
fbb60 20 20 20 20 20 20 22 64 6f 63 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"docs":.{.................
fbb80 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 ...."type":."string",...........
fbba0 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f .........."description":."URL.to
fbbc0 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 .the.documentation.",...........
fbbe0 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 .........."format":."uri".......
fbc00 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 73 ..........},................."rs
fbc20 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 s":.{....................."type"
fbc40 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :."string",.....................
fbc60 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 55 52 4c 20 74 6f 20 74 68 65 20 52 53 53 20 66 "description":."URL.to.the.RSS.f
fbc80 65 65 64 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d eed.",....................."form
fbca0 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 at":."uri".................}....
fbcc0 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 6e .........}.........},........."n
fbce0 6f 6e 2d 66 65 61 74 75 72 65 2d 62 72 61 6e 63 68 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 on-feature-branches":.{.........
fbd00 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 ...."type":.["array"],..........
fbd20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 73 65 74 20 6f 66 20 73 74 72 69 ..."description":."A.set.of.stri
fbd40 6e 67 20 6f 72 20 72 65 67 65 78 20 70 61 74 74 65 72 6e 73 20 66 6f 72 20 6e 6f 6e 2d 6e 75 6d ng.or.regex.patterns.for.non-num
fbd60 65 72 69 63 20 62 72 61 6e 63 68 20 6e 61 6d 65 73 20 74 68 61 74 20 77 69 6c 6c 20 6e 6f 74 20 eric.branch.names.that.will.not.
fbd80 62 65 20 68 61 6e 64 6c 65 64 20 61 73 20 66 65 61 74 75 72 65 20 62 72 61 6e 63 68 65 73 2e 22 be.handled.as.feature.branches."
fbda0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 ,............."items":.{........
fbdc0 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 ........."type":."string".......
fbde0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 62 61 6e ......}.........},........."aban
fbe00 64 6f 6e 65 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 doned":.{............."type":.["
fbe20 62 6f 6f 6c 65 61 6e 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 boolean",."string"],............
fbe40 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 49 6e 64 69 63 61 74 65 73 20 77 68 65 74 68 ."description":."Indicates.wheth
fbe60 65 72 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 68 61 73 20 62 65 65 6e 20 61 62 61 6e 64 6f 6e er.this.package.has.been.abandon
fbe80 65 64 2c 20 69 74 20 63 61 6e 20 62 65 20 62 6f 6f 6c 65 61 6e 20 6f 72 20 61 20 70 61 63 6b 61 ed,.it.can.be.boolean.or.a.packa
fbea0 67 65 20 6e 61 6d 65 2f 55 52 4c 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 61 20 72 65 63 6f 6d 6d ge.name/URL.pointing.to.a.recomm
fbec0 65 6e 64 65 64 20 61 6c 74 65 72 6e 61 74 69 76 65 2e 20 44 65 66 61 75 6c 74 73 20 74 6f 20 66 ended.alternative..Defaults.to.f
fbee0 61 6c 73 65 2e 22 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 5f 63 6f 6d 6d alse.".........},........."_comm
fbf00 65 6e 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 ent":.{............."type":.["ar
fbf20 72 61 79 22 2c 20 22 73 74 72 69 6e 67 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 ray",."string"],............."de
fbf40 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 20 6b 65 79 20 74 6f 20 73 74 6f 72 65 20 63 6f 6d 6d scription":."A.key.to.store.comm
fbf60 65 6e 74 73 20 69 6e 22 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 2c 0a 20 20 20 20 22 64 ents.in".........}.....},....."d
fbf80 65 66 69 6e 69 74 69 6f 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 22 61 75 74 68 6f 72 73 22 efinitions":.{........."authors"
fbfa0 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c :.{............."type":."array",
fbfc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 4c 69 73 ............."description":."Lis
fbfe0 74 20 6f 66 20 61 75 74 68 6f 72 73 20 74 68 61 74 20 63 6f 6e 74 72 69 62 75 74 65 64 20 74 6f t.of.authors.that.contributed.to
fc000 20 74 68 65 20 70 61 63 6b 61 67 65 2e 20 54 68 69 73 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 .the.package..This.is.typically.
fc020 74 68 65 20 6d 61 69 6e 20 6d 61 69 6e 74 61 69 6e 65 72 73 2c 20 6e 6f 74 20 74 68 65 20 66 75 the.main.maintainers,.not.the.fu
fc040 6c 6c 20 6c 69 73 74 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 ll.list.",............."items":.
fc060 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 {................."type":."objec
fc080 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 t",................."additionalP
fc0a0 72 6f 70 65 72 74 69 65 73 22 3a 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 roperties":.false,..............
fc0c0 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 20 22 6e 61 6d 65 22 5d 2c 0a 20 20 20 20 20 20 ..."required":.[."name"],.......
fc0e0 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 .........."properties":.{.......
fc100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 .............."name":.{.........
fc120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 ................"type":."string"
fc140 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 ,........................."descr
fc160 69 70 74 69 6f 6e 22 3a 20 22 46 75 6c 6c 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 61 75 74 68 6f iption":."Full.name.of.the.autho
fc180 72 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 r.".....................},......
fc1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 6d 61 69 6c 22 3a 20 7b 0a 20 20 20 20 20 20 ..............."email":.{.......
fc1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e .................."type":."strin
fc1e0 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 g",........................."des
fc200 63 72 69 70 74 69 6f 6e 22 3a 20 22 45 6d 61 69 6c 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 cription":."Email.address.of.the
fc220 20 61 75 74 68 6f 72 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .author.",......................
fc240 20 20 20 22 66 6f 72 6d 61 74 22 3a 20 22 65 6d 61 69 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 ..."format":."email"............
fc260 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........},.....................
fc280 22 68 6f 6d 65 70 61 67 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "homepage":.{...................
fc2a0 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 ......"type":."string",.........
fc2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 ................"description":."
fc2e0 48 6f 6d 65 70 61 67 65 20 55 52 4c 20 66 6f 72 20 74 68 65 20 61 75 74 68 6f 72 2e 22 2c 0a 20 Homepage.URL.for.the.author.",..
fc300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 72 6d 61 74 22 3a ......................."format":
fc320 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 ."uri".....................},...
fc340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 6f 6c 65 22 3a 20 7b 0a 20 20 20 20 .................."role":.{.....
fc360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 ...................."type":."str
fc380 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 ing",........................."d
fc3a0 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 41 75 74 68 6f 72 27 73 20 72 6f 6c 65 20 69 6e 20 74 escription":."Author's.role.in.t
fc3c0 68 65 20 70 72 6f 6a 65 63 74 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 he.project."....................
fc3e0 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 .}.................}............
fc400 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 75 74 6f 6c 6f 61 64 22 .}.........},........."autoload"
fc420 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 :.{............."type":."object"
fc440 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 65 ,............."description":."De
fc460 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 68 6f 77 20 74 68 65 20 70 61 63 6b 61 67 65 20 63 61 6e scription.of.how.the.package.can
fc480 20 62 65 20 61 75 74 6f 6c 6f 61 64 65 64 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 .be.autoloaded.",............."p
fc4a0 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 roperties":.{................."p
fc4c0 73 72 2d 30 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 sr-0":.{....................."ty
fc4e0 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."object",..................
fc500 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 ..."description":."This.is.a.has
fc520 68 20 6f 66 20 6e 61 6d 65 73 70 61 63 65 73 20 28 6b 65 79 73 29 20 61 6e 64 20 74 68 65 20 64 h.of.namespaces.(keys).and.the.d
fc540 69 72 65 63 74 6f 72 69 65 73 20 74 68 65 79 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 69 6e 20 irectories.they.can.be.found.in.
fc560 28 76 61 6c 75 65 73 2c 20 63 61 6e 20 62 65 20 61 72 72 61 79 73 20 6f 66 20 70 61 74 68 73 29 (values,.can.be.arrays.of.paths)
fc580 20 62 79 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 .by.the.autoloader.",...........
fc5a0 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 .........."additionalProperties"
fc5c0 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 :.{........................."typ
fc5e0 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 e":.["string",."array"],........
fc600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 ................."items":.{.....
fc620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 ........................"type":.
fc640 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "string"........................
fc660 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .}.....................}........
fc680 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 73 72 .........},................."psr
fc6a0 2d 34 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 -4":.{....................."type
fc6c0 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."object",....................
fc6e0 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 20 68 61 73 68 20 ."description":."This.is.a.hash.
fc700 6f 66 20 6e 61 6d 65 73 70 61 63 65 73 20 28 6b 65 79 73 29 20 61 6e 64 20 74 68 65 20 50 53 52 of.namespaces.(keys).and.the.PSR
fc720 2d 34 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 65 79 20 63 61 6e 20 6d 61 70 20 74 6f 20 28 -4.directories.they.can.map.to.(
fc740 76 61 6c 75 65 73 2c 20 63 61 6e 20 62 65 20 61 72 72 61 79 73 20 6f 66 20 70 61 74 68 73 29 20 values,.can.be.arrays.of.paths).
fc760 62 79 20 74 68 65 20 61 75 74 6f 6c 6f 61 64 65 72 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 by.the.autoloader.",............
fc780 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a ........."additionalProperties":
fc7a0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 .{........................."type
fc7c0 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 ":.["string",."array"],.........
fc7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 ................"items":.{......
fc800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 ......................."type":."
fc820 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 string".........................
fc840 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 }.....................}.........
fc860 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 6c 61 73 ........},................."clas
fc880 73 6d 61 70 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 smap":.{....................."ty
fc8a0 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."array",...................
fc8c0 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 6e 20 61 72 72 .."description":."This.is.an.arr
fc8e0 61 79 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 63 ay.of.directories.that.contain.c
fc900 6c 61 73 73 65 73 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 63 6c 61 lasses.to.be.included.in.the.cla
fc920 73 73 2d 6d 61 70 20 67 65 6e 65 72 61 74 69 6f 6e 20 70 72 6f 63 65 73 73 2e 22 0a 20 20 20 20 ss-map.generation.process.".....
fc940 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ............},................."
fc960 66 69 6c 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 files":.{....................."t
fc980 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ype":."array",..................
fc9a0 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 54 68 69 73 20 69 73 20 61 6e 20 61 72 ..."description":."This.is.an.ar
fc9c0 72 61 79 20 6f 66 20 66 69 6c 65 73 20 74 68 61 74 20 61 72 65 20 61 6c 77 61 79 73 20 72 65 71 ray.of.files.that.are.always.req
fc9e0 75 69 72 65 64 20 6f 6e 20 65 76 65 72 79 20 72 65 71 75 65 73 74 2e 22 0a 20 20 20 20 20 20 20 uired.on.every.request."........
fca00 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 78 63 .........},................."exc
fca20 6c 75 64 65 2d 66 72 6f 6d 2d 63 6c 61 73 73 6d 61 70 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 lude-from-classmap":.{..........
fca40 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 ..........."type":."array",.....
fca60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 ................"description":."
fca80 54 68 69 73 20 69 73 20 61 6e 20 61 72 72 61 79 20 6f 66 20 70 61 74 74 65 72 6e 73 20 74 6f 20 This.is.an.array.of.patterns.to.
fcaa0 65 78 63 6c 75 64 65 20 66 72 6f 6d 20 61 75 74 6f 6c 6f 61 64 20 63 6c 61 73 73 6d 61 70 20 67 exclude.from.autoload.classmap.g
fcac0 65 6e 65 72 61 74 69 6f 6e 2e 20 28 65 2e 67 2e 20 5c 22 65 78 63 6c 75 64 65 2d 66 72 6f 6d 2d eneration..(e.g..\"exclude-from-
fcae0 63 6c 61 73 73 6d 61 70 5c 22 3a 20 5b 5c 22 2f 74 65 73 74 2f 5c 22 2c 20 5c 22 2f 74 65 73 74 classmap\":.[\"/test/\",.\"/test
fcb00 73 2f 5c 22 2c 20 5c 22 2f 54 65 73 74 73 2f 5c 22 5d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 s/\",.\"/Tests/\"]".............
fcb20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 ....}.............}.........},..
fcb40 20 20 20 20 20 20 20 22 72 65 70 6f 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ......."repository":.{..........
fcb60 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..."type":."object",............
fcb80 20 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 ."oneOf":.[.................{."$
fcba0 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 63 6f 6d 70 6f 73 65 72 2d 72 65 ref":."#/definitions/composer-re
fcbc0 70 6f 73 69 74 6f 72 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 pository".},.................{."
fcbe0 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 76 63 73 2d 72 65 70 6f 73 69 $ref":."#/definitions/vcs-reposi
fcc00 74 6f 72 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 tory".},.................{."$ref
fcc20 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 61 74 68 2d 72 65 70 6f 73 69 74 6f 72 ":."#/definitions/path-repositor
fcc40 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 y".},.................{."$ref":.
fcc60 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 61 72 74 69 66 61 63 74 2d 72 65 70 6f 73 69 74 6f "#/definitions/artifact-reposito
fcc80 72 79 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a ry".},.................{."$ref":
fcca0 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 65 61 72 2d 72 65 70 6f 73 69 74 6f 72 79 22 ."#/definitions/pear-repository"
fccc0 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 .},.................{."$ref":."#
fcce0 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 70 61 63 6b 61 67 65 2d 72 65 70 6f 73 69 74 6f 72 79 22 /definitions/package-repository"
fcd00 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 .}.............].........},.....
fcd20 20 20 20 20 22 63 6f 6d 70 6f 73 65 72 2d 72 65 70 6f 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 20 ...."composer-repository":.{....
fcd40 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 ........."type":."object",......
fcd60 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 74 79 70 65 22 2c 20 22 75 72 6c ......."required":.["type",."url
fcd80 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a "],............."properties":.{.
fcda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 ................"type":.{."type"
fcdc0 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 22 63 6f 6d 70 6f 73 65 72 22 5d :."string",."enum":.["composer"]
fcde0 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 3a 20 7b 20 22 74 79 .},................."url":.{."ty
fce00 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":."string".},................
fce20 20 22 6f 70 74 69 6f 6e 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."options":.{...................
fce40 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .."type":."object",.............
fce60 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 ........"additionalProperties":.
fce80 74 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 true.................},.........
fcea0 20 20 20 20 20 20 20 20 22 61 6c 6c 6f 77 5f 73 73 6c 5f 64 6f 77 6e 67 72 61 64 65 22 3a 20 7b ........"allow_ssl_downgrade":.{
fcec0 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 ."type":."boolean".},...........
fcee0 20 20 20 20 20 20 22 66 6f 72 63 65 2d 6c 61 7a 79 2d 70 72 6f 76 69 64 65 72 73 22 3a 20 7b 20 ......"force-lazy-providers":.{.
fcf00 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 "type":."boolean".}.............
fcf20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 76 63 73 2d 72 65 70 6f 73 69 }.........},........."vcs-reposi
fcf40 74 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 tory":.{............."type":."ob
fcf60 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b ject",............."required":.[
fcf80 22 74 79 70 65 22 2c 20 22 75 72 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f "type",."url"],............."pro
fcfa0 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 perties":.{................."typ
fcfc0 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 e":.{."type":."string",."enum":.
fcfe0 5b 22 76 63 73 22 2c 20 22 67 69 74 68 75 62 22 2c 20 22 67 69 74 22 2c 20 22 67 69 74 6c 61 62 ["vcs",."github",."git",."gitlab
fd000 22 2c 20 22 67 69 74 2d 62 69 74 62 75 63 6b 65 74 22 2c 20 22 68 67 22 2c 20 22 68 67 2d 62 69 ",."git-bitbucket",."hg",."hg-bi
fd020 74 62 75 63 6b 65 74 22 2c 20 22 66 6f 73 73 69 6c 22 2c 20 22 70 65 72 66 6f 72 63 65 22 2c 20 tbucket",."fossil",."perforce",.
fd040 22 73 76 6e 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 3a "svn"].},................."url":
fd060 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 .{."type":."string".},..........
fd080 20 20 20 20 20 20 20 22 6e 6f 2d 61 70 69 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c ......."no-api":.{."type":."bool
fd0a0 65 61 6e 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 65 63 75 72 65 2d ean".},................."secure-
fd0c0 68 74 74 70 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 20 7d 2c 0a 20 20 http":.{."type":."boolean".},...
fd0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 76 6e 2d 63 61 63 68 65 2d 63 72 65 64 65 6e 74 .............."svn-cache-credent
fd100 69 61 6c 73 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 62 6f 6f 6c 65 61 6e 22 20 7d 2c 0a 20 20 ials":.{."type":."boolean".},...
fd120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 72 75 6e 6b 2d 70 61 74 68 22 3a 20 7b 20 22 74 .............."trunk-path":.{."t
fd140 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d 20 7d 2c 0a 20 ype":.["string",."boolean"].},..
fd160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 62 72 61 6e 63 68 65 73 2d 70 61 74 68 22 3a 20 ..............."branches-path":.
fd180 7b 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d 20 {."type":.["string",."boolean"].
fd1a0 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 61 67 73 2d 70 61 74 68 22 3a 20 },................."tags-path":.
fd1c0 7b 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 62 6f 6f 6c 65 61 6e 22 5d 20 {."type":.["string",."boolean"].
fd1e0 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 61 63 6b 61 67 65 2d 70 61 74 68 },................."package-path
fd200 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 ":.{."type":."string".},........
fd220 20 20 20 20 20 20 20 20 20 22 64 65 70 6f 74 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 ........."depot":.{."type":."str
fd240 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 62 72 61 6e 63 68 22 ing".},................."branch"
fd260 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 :.{."type":."string".},.........
fd280 20 20 20 20 20 20 20 20 22 75 6e 69 71 75 65 5f 70 65 72 66 6f 72 63 65 5f 63 6c 69 65 6e 74 5f ........"unique_perforce_client_
fd2a0 6e 61 6d 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 name":.{."type":."string".},....
fd2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 34 75 73 65 72 22 3a 20 7b 20 22 74 79 70 65 22 3a ............."p4user":.{."type":
fd2e0 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 34 ."string".},................."p4
fd300 70 61 73 73 77 6f 72 64 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 0a password":.{."type":."string".}.
fd320 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 ............}.........},........
fd340 20 22 70 61 74 68 2d 72 65 70 6f 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ."path-repository":.{...........
fd360 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 .."type":."object",.............
fd380 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 74 79 70 65 22 2c 20 22 75 72 6c 22 5d 2c 0a 20 20 20 "required":.["type",."url"],....
fd3a0 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 ........."properties":.{........
fd3c0 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 ........."type":.{."type":."stri
fd3e0 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 22 70 61 74 68 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 ng",."enum":.["path"].},........
fd400 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e ........."url":.{."type":."strin
fd420 67 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6f 70 74 69 6f 6e 73 22 3a g".},................."options":
fd440 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 .{....................."type":."
fd460 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 object",....................."pr
fd480 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 operties":.{....................
fd4a0 20 20 20 20 20 22 73 79 6d 6c 69 6e 6b 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 5b 22 62 6f 6f 6c ....."symlink":.{."type":.["bool
fd4c0 65 61 6e 22 2c 20 22 6e 75 6c 6c 22 5d 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ean",."null"].}.................
fd4e0 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 ....},....................."addi
fd500 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 tionalProperties":.true.........
fd520 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 ........}.............}.........
fd540 7d 2c 0a 20 20 20 20 20 20 20 20 22 61 72 74 69 66 61 63 74 2d 72 65 70 6f 73 69 74 6f 72 79 22 },........."artifact-repository"
fd560 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 :.{............."type":."object"
fd580 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 74 79 70 65 ,............."required":.["type
fd5a0 22 2c 20 22 75 72 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 ",."url"],............."properti
fd5c0 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b es":.{................."type":.{
fd5e0 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 65 6e 75 6d 22 3a 20 5b 22 61 72 74 ."type":."string",."enum":.["art
fd600 69 66 61 63 74 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 ifact"].},................."url"
fd620 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 0a 20 20 20 20 20 20 20 20 20 :.{."type":."string".}..........
fd640 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 65 61 72 2d 72 65 ...}.........},........."pear-re
fd660 70 6f 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a pository":.{............."type":
fd680 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 ."object",............."required
fd6a0 22 3a 20 5b 22 74 79 70 65 22 2c 20 22 75 72 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 ":.["type",."url"],.............
fd6c0 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "properties":.{.................
fd6e0 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 65 6e 75 "type":.{."type":."string",."enu
fd700 6d 22 3a 20 5b 22 70 65 61 72 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m":.["pear"].},.................
fd720 22 75 72 6c 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 2c 0a 20 20 20 "url":.{."type":."string".},....
fd740 20 20 20 20 20 20 20 20 20 20 20 20 20 22 76 65 6e 64 6f 72 2d 61 6c 69 61 73 22 3a 20 7b 20 22 ............."vendor-alias":.{."
fd760 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a type":."string".}.............}.
fd780 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 70 61 63 6b 61 67 65 2d 72 65 70 6f ........},........."package-repo
fd7a0 73 69 74 6f 72 79 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 sitory":.{............."type":."
fd7c0 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a object",............."required":
fd7e0 20 5b 22 74 79 70 65 22 2c 20 22 70 61 63 6b 61 67 65 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 .["type",."package"],...........
fd800 20 20 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."properties":.{...............
fd820 20 20 22 74 79 70 65 22 3a 20 7b 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 2c 20 22 65 .."type":.{."type":."string",."e
fd840 6e 75 6d 22 3a 20 5b 22 70 61 63 6b 61 67 65 22 5d 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 num":.["package"].},............
fd860 20 20 20 20 20 22 70 61 63 6b 61 67 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."package":.{...............
fd880 20 20 20 20 20 20 22 6f 6e 65 4f 66 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"oneOf":.[................
fd8a0 20 20 20 20 20 20 20 20 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e .........{."$ref":."#/definition
fd8c0 73 2f 69 6e 6c 69 6e 65 2d 70 61 63 6b 61 67 65 22 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 s/inline-package".},............
fd8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............{..................
fd900 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 ..........."type":."array",.....
fd920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a ........................"items":
fd940 20 7b 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 69 6e 6c 69 6e 65 .{."$ref":."#/definitions/inline
fd960 2d 70 61 63 6b 61 67 65 22 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -package".}.....................
fd980 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 ....}.....................].....
fd9a0 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ............}.............}.....
fd9c0 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 22 69 6e 6c 69 6e 65 2d 70 61 63 6b 61 67 65 22 3a ....},........."inline-package":
fd9e0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c .{............."type":."object",
fda00 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 6e 61 6d 65 22 ............."required":.["name"
fda20 2c 20 22 76 65 72 73 69 6f 6e 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 ,."version"],............."prope
fda40 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 61 6d 65 22 rties":.{................."name"
fda60 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 :.{....................."type":.
fda80 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 "string",....................."d
fdaa0 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 50 61 63 6b 61 67 65 20 6e 61 6d 65 2c 20 69 6e 63 6c escription":."Package.name,.incl
fdac0 75 64 69 6e 67 20 27 76 65 6e 64 6f 72 2d 6e 61 6d 65 2f 27 20 70 72 65 66 69 78 2e 22 0a 20 20 uding.'vendor-name/'.prefix."...
fdae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............},................
fdb00 20 22 74 79 70 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ."type":.{....................."
fdb20 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 type":."string".................
fdb40 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 61 72 67 65 74 2d 64 69 72 22 3a },................."target-dir":
fdb60 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 .{....................."descript
fdb80 69 6f 6e 22 3a 20 22 44 45 50 52 45 43 41 54 45 44 3a 20 46 6f 72 63 65 73 20 74 68 65 20 70 61 ion":."DEPRECATED:.Forces.the.pa
fdba0 63 6b 61 67 65 20 74 6f 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 74 6f 20 74 68 65 20 67 ckage.to.be.installed.into.the.g
fdbc0 69 76 65 6e 20 73 75 62 64 69 72 65 63 74 6f 72 79 20 70 61 74 68 2e 20 54 68 69 73 20 69 73 20 iven.subdirectory.path..This.is.
fdbe0 75 73 65 64 20 66 6f 72 20 61 75 74 6f 6c 6f 61 64 69 6e 67 20 50 53 52 2d 30 20 70 61 63 6b 61 used.for.autoloading.PSR-0.packa
fdc00 67 65 73 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 74 68 65 69 72 20 66 75 ges.that.do.not.contain.their.fu
fdc20 6c 6c 20 70 61 74 68 2e 20 55 73 65 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 65 73 20 66 6f 72 ll.path..Use.forward.slashes.for
fdc40 20 63 72 6f 73 73 2d 70 6c 61 74 66 6f 72 6d 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 22 2c .cross-platform.compatibility.",
fdc60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 ....................."type":."st
fdc80 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 ring".................},........
fdca0 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 7b 0a 20 20 20 20 20 20 ........."description":.{.......
fdcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 .............."type":."string"..
fdce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
fdd00 20 20 22 6b 65 79 77 6f 72 64 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."keywords":.{.................
fdd20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ...."type":."array",............
fdd40 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........."items":.{.............
fdd60 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 ............"type":."string"....
fdd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
fdda0 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 68 6f 6d 65 70 61 67 65 22 ...},................."homepage"
fddc0 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 :.{....................."type":.
fdde0 22 73 74 72 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 "string",....................."f
fde00 6f 72 6d 61 74 22 3a 20 22 75 72 69 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c ormat":."uri".................},
fde20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 76 65 72 73 69 6f 6e 22 3a 20 7b 0a 20 20 ................."version":.{...
fde40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e .................."type":."strin
fde60 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 g".................},...........
fde80 20 20 20 20 20 20 22 74 69 6d 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"time":.{.................
fdea0 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 ...."type":."string"............
fdec0 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6c 69 63 65 6e 73 65 .....},................."license
fdee0 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a ":.{....................."type":
fdf00 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 74 72 69 .[........................."stri
fdf20 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 72 ng",........................."ar
fdf40 72 61 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 0a 20 20 20 20 20 ray".....................]......
fdf60 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 ...........},................."a
fdf80 75 74 68 6f 72 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 uthors":.{....................."
fdfa0 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e 73 2f 61 75 74 68 6f 72 73 22 0a 20 $ref":."#/definitions/authors"..
fdfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
fdfe0 20 20 22 72 65 71 75 69 72 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .."require":.{..................
fe000 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ..."type":."object",............
fe020 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a ........."additionalProperties":
fe040 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 .{........................."type
fe060 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."string".....................
fe080 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 }.................},............
fe0a0 20 20 20 20 20 22 72 65 70 6c 61 63 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."replace":.{...............
fe0c0 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 ......"type":."object",.........
fe0e0 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 ............"additionalPropertie
fe100 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 s":.{........................."t
fe120 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ype":."string"..................
fe140 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 ...}.................},.........
fe160 20 20 20 20 20 20 20 20 22 63 6f 6e 66 6c 69 63 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ........"conflict":.{...........
fe180 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 .........."type":."object",.....
fe1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 ................"additionalPrope
fe1c0 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rties":.{.......................
fe1e0 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .."type":."string"..............
fe200 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 .......}.................},.....
fe220 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 76 69 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 ............"provide":.{........
fe240 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 ............."type":."object",..
fe260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 ..................."additionalPr
fe280 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 operties":.{....................
fe2a0 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 ....."type":."string"...........
fe2c0 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 ..........}.................},..
fe2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 2d 64 65 76 22 3a 20 7b 0a ..............."require-dev":.{.
fe300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a ...................."type":."obj
fe320 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 ect",....................."addit
fe340 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ionalProperties":.{.............
fe360 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 ............"type":."string"....
fe380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
fe3a0 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 75 67 67 65 73 74 22 3a ...},................."suggest":
fe3c0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 .{....................."type":."
fe3e0 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 object",....................."ad
fe400 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ditionalProperties":.{..........
fe420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a ..............."type":."string".
fe440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ....................}...........
fe460 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 65 78 74 72 61 22 ......},................."extra"
fe480 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 :.{....................."type":.
fe4a0 5b 22 6f 62 6a 65 63 74 22 2c 20 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 ["object",."array"],............
fe4c0 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 22 3a ........."additionalProperties":
fe4e0 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 .true.................},........
fe500 20 20 20 20 20 20 20 20 20 22 61 75 74 6f 6c 6f 61 64 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 ........."autoload":.{..........
fe520 20 20 20 20 20 20 20 20 20 20 20 22 24 72 65 66 22 3a 20 22 23 2f 64 65 66 69 6e 69 74 69 6f 6e ..........."$ref":."#/definition
fe540 73 2f 61 75 74 6f 6c 6f 61 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 s/autoload".................},..
fe560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 72 63 68 69 76 65 22 3a 20 7b 0a 20 20 20 20 ..............."archive":.{.....
fe580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 6f 62 6a 65 63 74 ................"type":.["object
fe5a0 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 "],....................."propert
fe5c0 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ies":.{.........................
fe5e0 22 65 78 63 6c 75 64 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "exclude":.{....................
fe600 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 0a 20 20 20 20 20 20 20 ........."type":."array"........
fe620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .................}..............
fe640 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 .......}.................},.....
fe660 20 20 20 20 20 20 20 20 20 20 20 20 22 62 69 6e 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ............"bin":.{............
fe680 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 5b 22 73 74 72 69 6e 67 22 2c 20 22 61 72 72 ........."type":.["string",."arr
fe6a0 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 ay"],....................."descr
fe6c0 69 70 74 69 6f 6e 22 3a 20 22 41 20 73 65 74 20 6f 66 20 66 69 6c 65 73 2c 20 6f 72 20 61 20 73 iption":."A.set.of.files,.or.a.s
fe6e0 69 6e 67 6c 65 20 66 69 6c 65 2c 20 74 68 61 74 20 73 68 6f 75 6c 64 20 62 65 20 74 72 65 61 74 ingle.file,.that.should.be.treat
fe700 65 64 20 61 73 20 62 69 6e 61 72 69 65 73 20 61 6e 64 20 73 79 6d 6c 69 6e 6b 65 64 20 69 6e 74 ed.as.binaries.and.symlinked.int
fe720 6f 20 62 69 6e 2d 64 69 72 20 28 66 72 6f 6d 20 63 6f 6e 66 69 67 29 2e 22 2c 0a 20 20 20 20 20 o.bin-dir.(from.config).",......
fe740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 ..............."items":.{.......
fe760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e .................."type":."strin
fe780 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 g".....................}........
fe7a0 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 69 6e 63 .........},................."inc
fe7c0 6c 75 64 65 2d 70 61 74 68 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lude-path":.{...................
fe7e0 20 20 22 74 79 70 65 22 3a 20 5b 22 61 72 72 61 79 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 .."type":.["array"],............
fe800 20 20 20 20 20 20 20 20 20 22 64 65 73 63 72 69 70 74 69 6f 6e 22 3a 20 22 44 45 50 52 45 43 41 ........."description":."DEPRECA
fe820 54 45 44 3a 20 41 20 6c 69 73 74 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 77 68 69 63 68 TED:.A.list.of.directories.which
fe840 20 73 68 6f 75 6c 64 20 67 65 74 20 61 64 64 65 64 20 74 6f 20 50 48 50 27 73 20 69 6e 63 6c 75 .should.get.added.to.PHP's.inclu
fe860 64 65 20 70 61 74 68 2e 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 70 72 65 73 65 6e 74 20 74 6f de.path..This.is.only.present.to
fe880 20 73 75 70 70 6f 72 74 20 6c 65 67 61 63 79 20 70 72 6f 6a 65 63 74 73 2c 20 61 6e 64 20 61 6c .support.legacy.projects,.and.al
fe8a0 6c 20 6e 65 77 20 63 6f 64 65 20 73 68 6f 75 6c 64 20 70 72 65 66 65 72 61 62 6c 79 20 75 73 65 l.new.code.should.preferably.use
fe8c0 20 61 75 74 6f 6c 6f 61 64 69 6e 67 2e 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .autoloading.",.................
fe8e0 20 20 20 20 22 69 74 65 6d 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...."items":.{..................
fe900 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 ......."type":."string".........
fe920 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c ............}.................},
fe940 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 6f 75 72 63 65 22 3a 20 7b 0a 20 20 20 ................."source":.{....
fe960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 ................."type":."object
fe980 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 ",....................."required
fe9a0 22 3a 20 5b 22 74 79 70 65 22 2c 20 22 75 72 6c 22 2c 20 22 72 65 66 65 72 65 6e 63 65 22 5d 2c ":.["type",."url",."reference"],
fe9c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 72 6f 70 65 72 74 69 65 73 ....................."properties
fe9e0 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 ":.{........................."ty
fea00 70 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pe":.{..........................
fea20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..."type":."string".............
fea40 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............},..................
fea60 20 20 20 20 20 20 20 22 75 72 6c 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......."url":.{.................
fea80 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 ............"type":."string"....
feaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 .....................},.........
feac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 66 65 72 65 6e 63 65 22 3a 20 7b 0a 20 ................"reference":.{..
feae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 ..........................."type
feb00 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ":."string".....................
feb20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 ....},........................."
feb40 6d 69 72 72 6f 72 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mirrors":.{.....................
feb60 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 0a 20 20 20 20 20 20 20 20 ........"type":."array".........
feb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................}...............
feba0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 ......}.................},......
febc0 20 20 20 20 20 20 20 20 20 20 20 22 64 69 73 74 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ..........."dist":.{............
febe0 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 6f 62 6a 65 63 74 22 2c 0a 20 20 20 20 20 ........."type":."object",......
fec00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 71 75 69 72 65 64 22 3a 20 5b 22 74 79 70 ..............."required":.["typ
fec20 65 22 2c 20 22 75 72 6c 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e",."url"],.....................
fec40 22 70 72 6f 70 65 72 74 69 65 73 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "properties":.{.................
fec60 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........"type":.{...............
fec80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 .............."type":."string"..
feca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 .......................},.......
fecc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 75 72 6c 22 3a 20 7b 0a 20 20 20 20 20 .................."url":.{......
fece0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 ......................."type":."
fed00 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 string".........................
fed20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 66 65 },........................."refe
fed40 72 65 6e 63 65 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rence":.{.......................
fed60 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e 67 22 0a 20 20 20 20 20 20 20 20 20 ......"type":."string"..........
fed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............},...............
feda0 20 20 20 20 20 20 20 20 20 20 22 73 68 61 73 75 6d 22 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .........."shasum":.{...........
fedc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 3a 20 22 73 74 72 69 6e .................."type":."strin
fede0 67 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 g".........................},...
fee00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 69 72 72 6f 72 73 22 3a ......................"mirrors":
fee20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 .{............................."
fee40 74 79 70 65 22 3a 20 22 61 72 72 61 79 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 type":."array"..................
fee60 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 .......}.....................}..
fee80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a ...............}.............},.
feea0 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 ............"additionalPropertie
feec0 73 22 3a 20 74 72 75 65 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 7b 0a 20 20 20 s":.true.........}.....}.}.{....
feee0 20 22 33 38 39 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 33 38 39 ."389-exception":.[........."389
fef00 20 44 69 72 65 63 74 6f 72 79 20 53 65 72 76 65 72 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 .Directory.Server.Exception"....
fef20 20 5d 2c 0a 20 20 20 20 22 41 75 74 6f 63 6f 6e 66 2d 65 78 63 65 70 74 69 6f 6e 2d 32 2e 30 22 .],....."Autoconf-exception-2.0"
fef40 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 75 74 6f 63 6f 6e 66 20 65 78 63 65 70 74 69 6f 6e 20 :.[........."Autoconf.exception.
fef60 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 75 74 6f 63 6f 6e 66 2d 65 78 63 65 70 74 2.0".....],....."Autoconf-except
fef80 69 6f 6e 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 75 74 6f 63 6f 6e 66 20 65 78 ion-3.0":.[........."Autoconf.ex
fefa0 63 65 70 74 69 6f 6e 20 33 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 69 73 6f 6e 2d 65 ception.3.0".....],....."Bison-e
fefc0 78 63 65 70 74 69 6f 6e 2d 32 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 69 73 6f 6e 20 xception-2.2":.[........."Bison.
fefe0 65 78 63 65 70 74 69 6f 6e 20 32 2e 32 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 6f 6f 74 6c exception.2.2".....],....."Bootl
ff000 6f 61 64 65 72 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 6f 6f oader-exception":.[........."Boo
ff020 74 6c 6f 61 64 65 72 20 44 69 73 74 72 69 62 75 74 69 6f 6e 20 45 78 63 65 70 74 69 6f 6e 22 0a tloader.Distribution.Exception".
ff040 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 6c 61 73 73 70 61 74 68 2d 65 78 63 65 70 74 69 6f 6e 2d ....],....."Classpath-exception-
ff060 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6c 61 73 73 70 61 74 68 20 65 78 63 65 70 2.0":.[........."Classpath.excep
ff080 74 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 4c 49 53 50 2d 65 78 63 65 tion.2.0".....],....."CLISP-exce
ff0a0 70 74 69 6f 6e 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 4c 49 53 50 20 65 78 63 ption-2.0":.[........."CLISP.exc
ff0c0 65 70 74 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 44 69 67 69 52 75 6c 65 eption.2.0".....],....."DigiRule
ff0e0 2d 46 4f 53 53 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 69 67 -FOSS-exception":.[........."Dig
ff100 69 52 75 6c 65 20 46 4f 53 53 20 4c 69 63 65 6e 73 65 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 iRule.FOSS.License.Exception"...
ff120 20 20 5d 2c 0a 20 20 20 20 22 65 43 6f 73 2d 65 78 63 65 70 74 69 6f 6e 2d 32 2e 30 22 3a 20 5b ..],....."eCos-exception-2.0":.[
ff140 0a 20 20 20 20 20 20 20 20 22 65 43 6f 73 20 65 78 63 65 70 74 69 6f 6e 20 32 2e 30 22 0a 20 20 ........."eCos.exception.2.0"...
ff160 20 20 5d 2c 0a 20 20 20 20 22 46 61 77 6b 65 73 2d 52 75 6e 74 69 6d 65 2d 65 78 63 65 70 74 69 ..],....."Fawkes-Runtime-excepti
ff180 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 61 77 6b 65 73 20 52 75 6e 74 69 6d 65 20 45 on":.[........."Fawkes.Runtime.E
ff1a0 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 4c 54 4b 2d 65 78 63 65 70 xception".....],....."FLTK-excep
ff1c0 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 4c 54 4b 20 65 78 63 65 70 74 69 6f 6e tion":.[........."FLTK.exception
ff1e0 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 6f 6e 74 2d 65 78 63 65 70 74 69 6f 6e 2d 32 2e 30 ".....],....."Font-exception-2.0
ff200 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 6f 6e 74 20 65 78 63 65 70 74 69 6f 6e 20 32 2e 30 ":.[........."Font.exception.2.0
ff220 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 66 72 65 65 72 74 6f 73 2d 65 78 63 65 70 74 69 6f 6e ".....],....."freertos-exception
ff240 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 72 65 65 52 54 4f 53 20 45 78 63 65 70 -2.0":.[........."FreeRTOS.Excep
ff260 74 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 43 43 2d 65 78 63 65 70 74 tion.2.0".....],....."GCC-except
ff280 69 6f 6e 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 43 43 20 52 75 6e 74 69 6d 65 ion-2.0":.[........."GCC.Runtime
ff2a0 20 4c 69 62 72 61 72 79 20 65 78 63 65 70 74 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 .Library.exception.2.0".....],..
ff2c0 20 20 20 22 47 43 43 2d 65 78 63 65 70 74 69 6f 6e 2d 33 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 ..."GCC-exception-3.1":.[.......
ff2e0 20 20 22 47 43 43 20 52 75 6e 74 69 6d 65 20 4c 69 62 72 61 72 79 20 65 78 63 65 70 74 69 6f 6e .."GCC.Runtime.Library.exception
ff300 20 33 2e 31 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 67 6e 75 2d 6a 61 76 61 6d 61 69 6c 2d 65 .3.1".....],....."gnu-javamail-e
ff320 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4a 61 76 61 4d 61 xception":.[........."GNU.JavaMa
ff340 69 6c 20 65 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 43 43 il.exception".....],....."GPL-CC
ff360 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 50 4c 20 43 6f 6f 70 65 72 61 74 69 6f -1.0":.[........."GPL.Cooperatio
ff380 6e 20 43 6f 6d 6d 69 74 6d 65 6e 74 20 31 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 69 32 n.Commitment.1.0".....],....."i2
ff3a0 70 2d 67 70 6c 2d 6a 61 76 61 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 p-gpl-java-exception":.[........
ff3c0 20 22 69 32 70 20 47 50 4c 2b 4a 61 76 61 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c ."i2p.GPL+Java.Exception".....],
ff3e0 0a 20 20 20 20 22 4c 69 62 74 6f 6f 6c 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 ....."Libtool-exception":.[.....
ff400 20 20 20 20 22 4c 69 62 74 6f 6f 6c 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 ...."Libtool.Exception".....],..
ff420 20 20 20 22 4c 69 6e 75 78 2d 73 79 73 63 61 6c 6c 2d 6e 6f 74 65 22 3a 20 5b 0a 20 20 20 20 20 ..."Linux-syscall-note":.[......
ff440 20 20 20 22 4c 69 6e 75 78 20 53 79 73 63 61 6c 6c 20 4e 6f 74 65 22 0a 20 20 20 20 5d 2c 0a 20 ..."Linux.Syscall.Note".....],..
ff460 20 20 20 22 4c 4c 56 4d 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ..."LLVM-exception":.[........."
ff480 4c 4c 56 4d 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 5a 4d 41 LLVM.Exception".....],....."LZMA
ff4a0 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 5a 4d 41 20 65 78 63 -exception":.[........."LZMA.exc
ff4c0 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 6d 69 66 2d 65 78 63 65 70 74 69 6f eption".....],....."mif-exceptio
ff4e0 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 61 63 72 6f 73 20 61 6e 64 20 49 6e 6c 69 6e 65 n":.[........."Macros.and.Inline
ff500 20 46 75 6e 63 74 69 6f 6e 73 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 .Functions.Exception".....],....
ff520 20 22 4e 6f 6b 69 61 2d 51 74 2d 65 78 63 65 70 74 69 6f 6e 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 ."Nokia-Qt-exception-1.1":.[....
ff540 20 20 20 20 20 22 4e 6f 6b 69 61 20 51 74 20 4c 47 50 4c 20 65 78 63 65 70 74 69 6f 6e 20 31 2e ....."Nokia.Qt.LGPL.exception.1.
ff560 31 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 43 61 6d 6c 2d 4c 47 50 4c 2d 6c 69 6e 6b 69 6e 1".....],....."OCaml-LGPL-linkin
ff580 67 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 43 61 6d 6c 20 4c g-exception":.[........."OCaml.L
ff5a0 47 50 4c 20 4c 69 6e 6b 69 6e 67 20 45 78 63 65 70 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 GPL.Linking.Exception".....],...
ff5c0 20 20 22 4f 43 43 54 2d 65 78 63 65 70 74 69 6f 6e 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 .."OCCT-exception-1.0":.[.......
ff5e0 20 20 22 4f 70 65 6e 20 43 41 53 43 41 44 45 20 45 78 63 65 70 74 69 6f 6e 20 31 2e 30 22 0a 20 .."Open.CASCADE.Exception.1.0"..
ff600 20 20 20 5d 2c 0a 20 20 20 20 22 4f 70 65 6e 4a 44 4b 2d 61 73 73 65 6d 62 6c 79 2d 65 78 63 65 ...],....."OpenJDK-assembly-exce
ff620 70 74 69 6f 6e 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 4a 44 4b 20 41 ption-1.0":.[........."OpenJDK.A
ff640 73 73 65 6d 62 6c 79 20 65 78 63 65 70 74 69 6f 6e 20 31 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 ssembly.exception.1.0".....],...
ff660 20 20 22 6f 70 65 6e 76 70 6e 2d 6f 70 65 6e 73 73 6c 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b .."openvpn-openssl-exception":.[
ff680 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 56 50 4e 20 4f 70 65 6e 53 53 4c 20 45 78 63 65 70 74 ........."OpenVPN.OpenSSL.Except
ff6a0 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 50 53 2d 6f 72 2d 50 44 46 2d 66 6f 6e 74 2d ion".....],....."PS-or-PDF-font-
ff6c0 65 78 63 65 70 74 69 6f 6e 2d 32 30 31 37 30 38 31 37 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 exception-20170817":.[........."
ff6e0 50 53 2f 50 44 46 20 66 6f 6e 74 20 65 78 63 65 70 74 69 6f 6e 20 28 32 30 31 37 2d 30 38 2d 31 PS/PDF.font.exception.(2017-08-1
ff700 37 29 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 51 74 2d 47 50 4c 2d 65 78 63 65 70 74 69 6f 6e 7)".....],....."Qt-GPL-exception
ff720 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 51 74 20 47 50 4c 20 65 78 63 65 70 74 69 -1.0":.[........."Qt.GPL.excepti
ff740 6f 6e 20 31 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 51 74 2d 4c 47 50 4c 2d 65 78 63 65 on.1.0".....],....."Qt-LGPL-exce
ff760 70 74 69 6f 6e 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 51 74 20 4c 47 50 4c 20 65 ption-1.1":.[........."Qt.LGPL.e
ff780 78 63 65 70 74 69 6f 6e 20 31 2e 31 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 51 77 74 2d 65 78 xception.1.1".....],....."Qwt-ex
ff7a0 63 65 70 74 69 6f 6e 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 51 77 74 20 65 78 63 ception-1.0":.[........."Qwt.exc
ff7c0 65 70 74 69 6f 6e 20 31 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 77 69 66 74 2d 65 78 eption.1.0".....],....."Swift-ex
ff7e0 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 77 69 66 74 20 45 78 63 65 70 ception":.[........."Swift.Excep
ff800 74 69 6f 6e 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 75 2d 62 6f 6f 74 2d 65 78 63 65 70 74 69 tion".....],....."u-boot-excepti
ff820 6f 6e 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 55 2d 42 6f 6f 74 20 65 78 63 65 70 on-2.0":.[........."U-Boot.excep
ff840 74 69 6f 6e 20 32 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 55 6e 69 76 65 72 73 61 6c 2d tion.2.0".....],....."Universal-
ff860 46 4f 53 53 2d 65 78 63 65 70 74 69 6f 6e 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 FOSS-exception-1.0":.[........."
ff880 55 6e 69 76 65 72 73 61 6c 20 46 4f 53 53 20 45 78 63 65 70 74 69 6f 6e 2c 20 56 65 72 73 69 6f Universal.FOSS.Exception,.Versio
ff8a0 6e 20 31 2e 30 22 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 57 78 57 69 6e 64 6f 77 73 2d 65 78 63 n.1.0".....],....."WxWindows-exc
ff8c0 65 70 74 69 6f 6e 2d 33 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 57 78 57 69 6e 64 6f 77 eption-3.1":.[........."WxWindow
ff8e0 73 20 4c 69 62 72 61 72 79 20 45 78 63 65 70 74 69 6f 6e 20 33 2e 31 22 0a 20 20 20 20 5d 0a 7d s.Library.Exception.3.1".....].}
ff900 7b 0a 20 20 20 20 22 30 42 53 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 5a 65 72 {....."0BSD":.[........."BSD.Zer
ff920 6f 20 43 6c 61 75 73 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c o.Clause.License",.........true,
ff940 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 41 4c 22 3a .........false.....],....."AAL":
ff960 20 5b 0a 20 20 20 20 20 20 20 20 22 41 74 74 72 69 62 75 74 69 6f 6e 20 41 73 73 75 72 61 6e 63 .[........."Attribution.Assuranc
ff980 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 e.License",.........true,.......
ff9a0 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 62 73 74 79 6c 65 73 22 3a 20 5b ..false.....],....."Abstyles":.[
ff9c0 0a 20 20 20 20 20 20 20 20 22 41 62 73 74 79 6c 65 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 ........."Abstyles.License",....
ff9e0 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
ffa00 0a 20 20 20 20 22 41 64 6f 62 65 2d 32 30 30 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 64 ....."Adobe-2006":.[........."Ad
ffa20 6f 62 65 20 53 79 73 74 65 6d 73 20 49 6e 63 6f 72 70 6f 72 61 74 65 64 20 53 6f 75 72 63 65 20 obe.Systems.Incorporated.Source.
ffa40 43 6f 64 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 Code.License.Agreement",........
ffa60 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
ffa80 20 22 41 64 6f 62 65 2d 47 6c 79 70 68 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 64 6f 62 65 ."Adobe-Glyph":.[........."Adobe
ffaa0 20 47 6c 79 70 68 20 4c 69 73 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 .Glyph.List.License",.........fa
ffac0 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 lse,.........false.....],....."A
ffae0 44 53 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 6d 61 7a 6f 6e 20 44 69 67 69 74 61 6c 20 DSL":.[........."Amazon.Digital.
ffb00 53 65 72 76 69 63 65 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 Services.License",.........false
ffb20 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 46 4c 2d ,.........false.....],....."AFL-
ffb40 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 63 61 64 65 6d 69 63 20 46 72 65 65 20 4c 1.1":.[........."Academic.Free.L
ffb60 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 icense.v1.1",.........true,.....
ffb80 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 46 4c 2d 31 2e 32 22 3a 20 ....false.....],....."AFL-1.2":.
ffba0 5b 0a 20 20 20 20 20 20 20 20 22 41 63 61 64 65 6d 69 63 20 46 72 65 65 20 4c 69 63 65 6e 73 65 [........."Academic.Free.License
ffbc0 20 76 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 .v1.2",.........true,.........fa
ffbe0 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 46 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 lse.....],....."AFL-2.0":.[.....
ffc00 20 20 20 20 22 41 63 61 64 65 6d 69 63 20 46 72 65 65 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 22 ...."Academic.Free.License.v2.0"
ffc20 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 ,.........true,.........false...
ffc40 20 20 5d 2c 0a 20 20 20 20 22 41 46 4c 2d 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 ..],....."AFL-2.1":.[........."A
ffc60 63 61 64 65 6d 69 63 20 46 72 65 65 20 4c 69 63 65 6e 73 65 20 76 32 2e 31 22 2c 0a 20 20 20 20 cademic.Free.License.v2.1",.....
ffc80 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ....true,.........false.....],..
ffca0 20 20 20 22 41 46 4c 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 63 61 64 65 6d 69 ..."AFL-3.0":.[........."Academi
ffcc0 63 20 46 72 65 65 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 c.Free.License.v3.0",.........tr
ffce0 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 66 ue,.........false.....],....."Af
ffd00 6d 70 61 72 73 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 66 6d 70 61 72 73 65 20 4c 69 63 mparse":.[........."Afmparse.Lic
ffd20 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 ense",.........false,.........fa
ffd40 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 47 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 lse.....],....."AGPL-1.0":.[....
ffd60 20 20 20 20 20 22 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 ....."Affero.General.Public.Lice
ffd80 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 nse.v1.0",.........false,.......
ffda0 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 47 50 4c 2d 31 2e 30 2d 6f 6e 6c 79 ..true.....],....."AGPL-1.0-only
ffdc0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 ":.[........."Affero.General.Pub
ffde0 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 lic.License.v1.0.only",.........
ffe00 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
ffe20 22 41 47 50 4c 2d 31 2e 30 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 "AGPL-1.0-or-later":.[........."
ffe40 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 Affero.General.Public.License.v1
ffe60 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 .0.or.later",.........false,....
ffe80 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 47 50 4c 2d 33 2e 30 22 .....false.....],....."AGPL-3.0"
ffea0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 :.[........."GNU.Affero.General.
ffec0 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 Public.License.v3.0",.........tr
ffee0 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 47 50 ue,.........true.....],....."AGP
fff00 4c 2d 33 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 41 66 66 65 L-3.0-only":.[........."GNU.Affe
fff20 72 6f 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f ro.General.Public.License.v3.0.o
fff40 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 nly",.........true,.........fals
fff60 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 22 e.....],....."AGPL-3.0-or-later"
fff80 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 41 66 66 65 72 6f 20 47 65 6e 65 72 61 6c 20 :.[........."GNU.Affero.General.
fffa0 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 Public.License.v3.0.or.later",..
fffc0 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d .......true,.........false.....]
fffe0 2c 0a 20 20 20 20 22 41 6c 61 64 64 69 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 6c 61 64 ,....."Aladdin":.[........."Alad
100000 64 69 6e 20 46 72 65 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 din.Free.Public.License",.......
100020 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
100040 20 20 22 41 4d 44 50 4c 50 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 4d 44 27 73 20 70 6c .."AMDPLPA":.[........."AMD's.pl
100060 70 61 5f 6d 61 70 2e 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 pa_map.c.License",.........false
100080 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 4d 4c 22 ,.........false.....],....."AML"
1000a0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 70 70 6c 65 20 4d 49 54 20 4c 69 63 65 6e 73 65 22 2c :.[........."Apple.MIT.License",
1000c0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
1000e0 20 20 5d 2c 0a 20 20 20 20 22 41 4d 50 41 53 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 63 61 ..],....."AMPAS":.[........."Aca
100100 64 65 6d 79 20 6f 66 20 4d 6f 74 69 6f 6e 20 50 69 63 74 75 72 65 20 41 72 74 73 20 61 6e 64 20 demy.of.Motion.Picture.Arts.and.
100120 53 63 69 65 6e 63 65 73 20 42 53 44 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 Sciences.BSD",.........false,...
100140 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 4e 54 4c 52 2d 50 44 ......false.....],....."ANTLR-PD
100160 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 4e 54 4c 52 20 53 6f 66 74 77 61 72 65 20 52 69 67 ":.[........."ANTLR.Software.Rig
100180 68 74 73 20 4e 6f 74 69 63 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 hts.Notice",.........false,.....
1001a0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 70 61 63 68 65 2d 31 2e 30 ....false.....],....."Apache-1.0
1001c0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 20 31 2e 30 ":.[........."Apache.License.1.0
1001e0 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
100200 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 70 61 63 68 65 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 ....],....."Apache-1.1":.[......
100220 20 20 20 22 41 70 61 63 68 65 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 ..."Apache.License.1.1",........
100240 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 .true,.........false.....],.....
100260 22 41 70 61 63 68 65 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 70 61 63 68 65 20 "Apache-2.0":.[........."Apache.
100280 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 License.2.0",.........true,.....
1002a0 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 41 46 4d 4c 22 3a 20 5b ....false.....],....."APAFML":.[
1002c0 0a 20 20 20 20 20 20 20 20 22 41 64 6f 62 65 20 50 6f 73 74 73 63 72 69 70 74 20 41 46 4d 20 4c ........."Adobe.Postscript.AFM.L
1002e0 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 icense",.........false,.........
100300 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 false.....],....."APL-1.0":.[...
100320 20 20 20 20 20 20 22 41 64 61 70 74 69 76 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 ......"Adaptive.Public.License.1
100340 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .0",.........true,.........false
100360 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 53 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 .....],....."APSL-1.0":.[.......
100380 20 20 22 41 70 70 6c 65 20 50 75 62 6c 69 63 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 31 .."Apple.Public.Source.License.1
1003a0 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .0",.........true,.........false
1003c0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 53 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 .....],....."APSL-1.1":.[.......
1003e0 20 20 22 41 70 70 6c 65 20 50 75 62 6c 69 63 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 31 .."Apple.Public.Source.License.1
100400 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .1",.........true,.........false
100420 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 53 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 .....],....."APSL-1.2":.[.......
100440 20 20 22 41 70 70 6c 65 20 50 75 62 6c 69 63 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 31 .."Apple.Public.Source.License.1
100460 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .2",.........true,.........false
100480 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 50 53 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 .....],....."APSL-2.0":.[.......
1004a0 20 20 22 41 70 70 6c 65 20 50 75 62 6c 69 63 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 32 .."Apple.Public.Source.License.2
1004c0 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .0",.........true,.........false
1004e0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 72 74 69 73 74 69 63 2d 31 2e 30 22 3a 20 5b 0a 20 20 .....],....."Artistic-1.0":.[...
100500 20 20 20 20 20 20 22 41 72 74 69 73 74 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 ......"Artistic.License.1.0",...
100520 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
100540 0a 20 20 20 20 22 41 72 74 69 73 74 69 63 2d 31 2e 30 2d 63 6c 38 22 3a 20 5b 0a 20 20 20 20 20 ....."Artistic-1.0-cl8":.[......
100560 20 20 20 22 41 72 74 69 73 74 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 20 77 2f 63 6c 61 75 73 ..."Artistic.License.1.0.w/claus
100580 65 20 38 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 e.8",.........true,.........fals
1005a0 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 72 74 69 73 74 69 63 2d 31 2e 30 2d 50 65 72 6c 22 e.....],....."Artistic-1.0-Perl"
1005c0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 72 74 69 73 74 69 63 20 4c 69 63 65 6e 73 65 20 31 2e :.[........."Artistic.License.1.
1005e0 30 20 28 50 65 72 6c 29 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 0.(Perl)",.........true,........
100600 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 41 72 74 69 73 74 69 63 2d 32 2e 30 22 .false.....],....."Artistic-2.0"
100620 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 41 72 74 69 73 74 69 63 20 4c 69 63 65 6e 73 65 20 32 2e :.[........."Artistic.License.2.
100640 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 0",.........true,.........false.
100660 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 61 68 79 70 68 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ....],....."Bahyph":.[........."
100680 42 61 68 79 70 68 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a Bahyph.License",.........false,.
1006a0 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 61 72 72 22 3a ........false.....],....."Barr":
1006c0 20 5b 0a 20 20 20 20 20 20 20 20 22 42 61 72 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 .[........."Barr.License",......
1006e0 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
100700 20 20 20 22 42 65 65 72 77 61 72 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 65 65 72 77 61 ..."Beerware":.[........."Beerwa
100720 72 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 re.License",.........false,.....
100740 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 69 74 54 6f 72 72 65 6e 74 ....false.....],....."BitTorrent
100760 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 69 74 54 6f 72 72 65 6e 74 20 4f 70 65 -1.0":.[........."BitTorrent.Ope
100780 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 n.Source.License.v1.0",.........
1007a0 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
1007c0 22 42 69 74 54 6f 72 72 65 6e 74 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 69 74 "BitTorrent-1.1":.[........."Bit
1007e0 54 6f 72 72 65 6e 74 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 Torrent.Open.Source.License.v1.1
100800 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
100820 20 20 20 20 5d 2c 0a 20 20 20 20 22 62 6c 65 73 73 69 6e 67 22 3a 20 5b 0a 20 20 20 20 20 20 20 ....],....."blessing":.[........
100840 20 22 53 51 4c 69 74 65 20 42 6c 65 73 73 69 6e 67 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ."SQLite.Blessing",.........fals
100860 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 6c 75 e,.........false.....],....."Blu
100880 65 4f 61 6b 2d 31 2e 30 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 6c 75 65 20 4f 61 6b eOak-1.0.0":.[........."Blue.Oak
1008a0 20 4d 6f 64 65 6c 20 4c 69 63 65 6e 73 65 20 31 2e 30 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 .Model.License.1.0.0",.........f
1008c0 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
1008e0 42 6f 72 63 65 75 78 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 6f 72 63 65 75 78 20 6c 69 63 Borceux":.[........."Borceux.lic
100900 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 ense",.........false,.........fa
100920 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 31 2d 43 6c 61 75 73 65 22 3a 20 5b lse.....],....."BSD-1-Clause":.[
100940 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 31 2d 43 6c 61 75 73 65 20 4c 69 63 65 6e 73 65 22 2c ........."BSD.1-Clause.License",
100960 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
100980 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 32 2d 43 6c 61 75 73 65 22 3a 20 5b 0a 20 20 20 20 20 ..],....."BSD-2-Clause":.[......
1009a0 20 20 20 22 42 53 44 20 32 2d 43 6c 61 75 73 65 20 5c 22 53 69 6d 70 6c 69 66 69 65 64 5c 22 20 ..."BSD.2-Clause.\"Simplified\".
1009c0 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 License",.........true,.........
1009e0 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 32 2d 43 6c 61 75 73 65 2d 46 false.....],....."BSD-2-Clause-F
100a00 72 65 65 42 53 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 32 2d 43 6c 61 75 73 65 reeBSD":.[........."BSD.2-Clause
100a20 20 46 72 65 65 42 53 44 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .FreeBSD.License",.........false
100a40 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d ,.........false.....],....."BSD-
100a60 32 2d 43 6c 61 75 73 65 2d 4e 65 74 42 53 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 2-Clause-NetBSD":.[........."BSD
100a80 20 32 2d 43 6c 61 75 73 65 20 4e 65 74 42 53 44 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 .2-Clause.NetBSD.License",......
100aa0 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
100ac0 20 20 20 22 42 53 44 2d 32 2d 43 6c 61 75 73 65 2d 50 61 74 65 6e 74 22 3a 20 5b 0a 20 20 20 20 ..."BSD-2-Clause-Patent":.[.....
100ae0 20 20 20 20 22 42 53 44 2d 32 2d 43 6c 61 75 73 65 20 50 6c 75 73 20 50 61 74 65 6e 74 20 4c 69 ...."BSD-2-Clause.Plus.Patent.Li
100b00 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 cense",.........true,.........fa
100b20 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 33 2d 43 6c 61 75 73 65 22 3a 20 5b lse.....],....."BSD-3-Clause":.[
100b40 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 33 2d 43 6c 61 75 73 65 20 5c 22 4e 65 77 5c 22 20 6f ........."BSD.3-Clause.\"New\".o
100b60 72 20 5c 22 52 65 76 69 73 65 64 5c 22 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 r.\"Revised\".License",.........
100b80 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
100ba0 42 53 44 2d 33 2d 43 6c 61 75 73 65 2d 41 74 74 72 69 62 75 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 BSD-3-Clause-Attribution":.[....
100bc0 20 20 20 20 20 22 42 53 44 20 77 69 74 68 20 61 74 74 72 69 62 75 74 69 6f 6e 22 2c 0a 20 20 20 ....."BSD.with.attribution",....
100be0 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
100c00 0a 20 20 20 20 22 42 53 44 2d 33 2d 43 6c 61 75 73 65 2d 43 6c 65 61 72 22 3a 20 5b 0a 20 20 20 ....."BSD-3-Clause-Clear":.[....
100c20 20 20 20 20 20 22 42 53 44 20 33 2d 43 6c 61 75 73 65 20 43 6c 65 61 72 20 4c 69 63 65 6e 73 65 ....."BSD.3-Clause.Clear.License
100c40 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
100c60 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 33 2d 43 6c 61 75 73 65 2d 4c 42 4e 4c 22 3a 20 ....],....."BSD-3-Clause-LBNL":.
100c80 5b 0a 20 20 20 20 20 20 20 20 22 4c 61 77 72 65 6e 63 65 20 42 65 72 6b 65 6c 65 79 20 4e 61 74 [........."Lawrence.Berkeley.Nat
100ca0 69 6f 6e 61 6c 20 4c 61 62 73 20 42 53 44 20 76 61 72 69 61 6e 74 20 6c 69 63 65 6e 73 65 22 2c ional.Labs.BSD.variant.license",
100cc0 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 .........true,.........false....
100ce0 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 33 2d 43 6c 61 75 73 65 2d 4e 6f 2d 4e 75 63 6c 65 61 72 .],....."BSD-3-Clause-No-Nuclear
100d00 2d 4c 69 63 65 6e 73 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 33 2d 43 6c 61 75 -License":.[........."BSD.3-Clau
100d20 73 65 20 4e 6f 20 4e 75 63 6c 65 61 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 se.No.Nuclear.License",.........
100d40 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
100d60 22 42 53 44 2d 33 2d 43 6c 61 75 73 65 2d 4e 6f 2d 4e 75 63 6c 65 61 72 2d 4c 69 63 65 6e 73 65 "BSD-3-Clause-No-Nuclear-License
100d80 2d 32 30 31 34 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 33 2d 43 6c 61 75 73 65 20 -2014":.[........."BSD.3-Clause.
100da0 4e 6f 20 4e 75 63 6c 65 61 72 20 4c 69 63 65 6e 73 65 20 32 30 31 34 22 2c 0a 20 20 20 20 20 20 No.Nuclear.License.2014",.......
100dc0 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
100de0 20 20 22 42 53 44 2d 33 2d 43 6c 61 75 73 65 2d 4e 6f 2d 4e 75 63 6c 65 61 72 2d 57 61 72 72 61 .."BSD-3-Clause-No-Nuclear-Warra
100e00 6e 74 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 33 2d 43 6c 61 75 73 65 20 4e 6f nty":.[........."BSD.3-Clause.No
100e20 20 4e 75 63 6c 65 61 72 20 57 61 72 72 61 6e 74 79 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 .Nuclear.Warranty",.........fals
100e40 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 e,.........false.....],....."BSD
100e60 2d 33 2d 43 6c 61 75 73 65 2d 4f 70 65 6e 2d 4d 50 49 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 -3-Clause-Open-MPI":.[........."
100e80 42 53 44 20 33 2d 43 6c 61 75 73 65 20 4f 70 65 6e 20 4d 50 49 20 76 61 72 69 61 6e 74 22 2c 0a BSD.3-Clause.Open.MPI.variant",.
100ea0 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
100ec0 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 34 2d 43 6c 61 75 73 65 22 3a 20 5b 0a 20 20 20 20 20 20 .],....."BSD-4-Clause":.[.......
100ee0 20 20 22 42 53 44 20 34 2d 43 6c 61 75 73 65 20 5c 22 4f 72 69 67 69 6e 61 6c 5c 22 20 6f 72 20 .."BSD.4-Clause.\"Original\".or.
100f00 5c 22 4f 6c 64 5c 22 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c \"Old\".License",.........false,
100f20 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 34 .........false.....],....."BSD-4
100f40 2d 43 6c 61 75 73 65 2d 55 43 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 2d 34 2d 43 6c -Clause-UC":.[........."BSD-4-Cl
100f60 61 75 73 65 20 28 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 2d 53 ause.(University.of.California-S
100f80 70 65 63 69 66 69 63 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 pecific)",.........false,.......
100fa0 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 50 72 6f 74 65 63 74 69 ..false.....],....."BSD-Protecti
100fc0 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 50 72 6f 74 65 63 74 69 6f 6e 20 4c on":.[........."BSD.Protection.L
100fe0 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 icense",.........false,.........
101000 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 44 2d 53 6f 75 72 63 65 2d 43 6f 64 false.....],....."BSD-Source-Cod
101020 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 42 53 44 20 53 6f 75 72 63 65 20 43 6f 64 65 20 41 e":.[........."BSD.Source.Code.A
101040 74 74 72 69 62 75 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 ttribution",.........false,.....
101060 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 42 53 4c 2d 31 2e 30 22 3a 20 ....false.....],....."BSL-1.0":.
101080 5b 0a 20 20 20 20 20 20 20 20 22 42 6f 6f 73 74 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 [........."Boost.Software.Licens
1010a0 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 e.1.0",.........true,.........fa
1010c0 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 62 7a 69 70 32 2d 31 2e 30 2e 35 22 3a 20 5b 0a lse.....],....."bzip2-1.0.5":.[.
1010e0 20 20 20 20 20 20 20 20 22 62 7a 69 70 32 20 61 6e 64 20 6c 69 62 62 7a 69 70 32 20 4c 69 63 65 ........"bzip2.and.libbzip2.Lice
101100 6e 73 65 20 76 31 2e 30 2e 35 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 nse.v1.0.5",.........false,.....
101120 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 62 7a 69 70 32 2d 31 2e 30 2e ....false.....],....."bzip2-1.0.
101140 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 62 7a 69 70 32 20 61 6e 64 20 6c 69 62 62 7a 69 70 6":.[........."bzip2.and.libbzip
101160 32 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 2e 36 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2.License.v1.0.6",.........false
101180 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 61 6c 64 ,.........false.....],....."Cald
1011a0 65 72 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 61 6c 64 65 72 61 20 4c 69 63 65 6e 73 65 era":.[........."Caldera.License
1011c0 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
1011e0 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 41 54 4f 53 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 ....],....."CATOSL-1.1":.[......
101200 20 20 20 22 43 6f 6d 70 75 74 65 72 20 41 73 73 6f 63 69 61 74 65 73 20 54 72 75 73 74 65 64 20 ..."Computer.Associates.Trusted.
101220 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 Open.Source.License.1.1",.......
101240 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 ..true,.........false.....],....
101260 20 22 43 43 2d 42 59 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 ."CC-BY-1.0":.[........."Creativ
101280 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 31 2e 30 20 47 65 6e 65 72 69 e.Commons.Attribution.1.0.Generi
1012a0 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 c",.........false,.........false
1012c0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 .....],....."CC-BY-2.0":.[......
1012e0 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e ..."Creative.Commons.Attribution
101300 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 .2.0.Generic",.........false,...
101320 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 32 2e ......false.....],....."CC-BY-2.
101340 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 5":.[........."Creative.Commons.
101360 41 74 74 72 69 62 75 74 69 6f 6e 20 32 2e 35 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 Attribution.2.5.Generic",.......
101380 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
1013a0 20 20 22 43 43 2d 42 59 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 .."CC-BY-3.0":.[........."Creati
1013c0 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 33 2e 30 20 55 6e 70 6f 72 ve.Commons.Attribution.3.0.Unpor
1013e0 74 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ted",.........false,.........fal
101400 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 34 2e 30 22 3a 20 5b 0a 20 20 20 se.....],....."CC-BY-4.0":.[....
101420 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 ....."Creative.Commons.Attributi
101440 6f 6e 20 34 2e 30 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 on.4.0.International",.........f
101460 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
101480 43 43 2d 42 59 2d 4e 43 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 CC-BY-NC-1.0":.[........."Creati
1014a0 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 ve.Commons.Attribution.Non.Comme
1014c0 72 63 69 61 6c 20 31 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 rcial.1.0.Generic",.........fals
1014e0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d e,.........false.....],....."CC-
101500 42 59 2d 4e 43 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 BY-NC-2.0":.[........."Creative.
101520 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 Commons.Attribution.Non.Commerci
101540 61 6c 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a al.2.0.Generic",.........false,.
101560 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d ........false.....],....."CC-BY-
101580 4e 43 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d NC-2.5":.[........."Creative.Com
1015a0 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 mons.Attribution.Non.Commercial.
1015c0 32 2e 35 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 2.5.Generic",.........false,....
1015e0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d .....false.....],....."CC-BY-NC-
101600 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 3.0":.[........."Creative.Common
101620 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 33 2e 30 s.Attribution.Non.Commercial.3.0
101640 20 55 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 .Unported",.........false,......
101660 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 34 2e ...false.....],....."CC-BY-NC-4.
101680 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 0":.[........."Creative.Commons.
1016a0 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 34 2e 30 20 49 Attribution.Non.Commercial.4.0.I
1016c0 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 nternational",.........false,...
1016e0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 ......false.....],....."CC-BY-NC
101700 2d 4e 44 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f -ND-1.0":.[........."Creative.Co
101720 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c mmons.Attribution.Non.Commercial
101740 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 31 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 .No.Derivatives.1.0.Generic",...
101760 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
101780 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 4e 44 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 ,....."CC-BY-NC-ND-2.0":.[......
1017a0 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e ..."Creative.Commons.Attribution
1017c0 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 32 .Non.Commercial.No.Derivatives.2
1017e0 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 .0.Generic",.........false,.....
101800 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 4e ....false.....],....."CC-BY-NC-N
101820 44 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d D-2.5":.[........."Creative.Comm
101840 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 4e ons.Attribution.Non.Commercial.N
101860 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 32 2e 35 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 o.Derivatives.2.5.Generic",.....
101880 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
1018a0 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 4e 44 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 ...."CC-BY-NC-ND-3.0":.[........
1018c0 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e ."Creative.Commons.Attribution.N
1018e0 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 33 2e 30 on.Commercial.No.Derivatives.3.0
101900 20 55 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 .Unported",.........false,......
101920 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 4e 44 ...false.....],....."CC-BY-NC-ND
101940 2d 34 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f -4.0":.[........."Creative.Commo
101960 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 4e 6f ns.Attribution.Non.Commercial.No
101980 20 44 65 72 69 76 61 74 69 76 65 73 20 34 2e 30 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 22 2c .Derivatives.4.0.International",
1019a0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
1019c0 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 53 41 2d 31 2e 30 22 3a 20 5b 0a 20 20 ..],....."CC-BY-NC-SA-1.0":.[...
1019e0 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 ......"Creative.Commons.Attribut
101a00 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 53 68 61 72 65 20 41 6c 69 6b 65 20 31 ion.Non.Commercial.Share.Alike.1
101a20 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 .0.Generic",.........false,.....
101a40 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 53 ....false.....],....."CC-BY-NC-S
101a60 41 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d A-2.0":.[........."Creative.Comm
101a80 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 53 ons.Attribution.Non.Commercial.S
101aa0 68 61 72 65 20 41 6c 69 6b 65 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 hare.Alike.2.0.Generic",........
101ac0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
101ae0 20 22 43 43 2d 42 59 2d 4e 43 2d 53 41 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 ."CC-BY-NC-SA-2.5":.[........."C
101b00 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 reative.Commons.Attribution.Non.
101b20 43 6f 6d 6d 65 72 63 69 61 6c 20 53 68 61 72 65 20 41 6c 69 6b 65 20 32 2e 35 20 47 65 6e 65 72 Commercial.Share.Alike.2.5.Gener
101b40 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ic",.........false,.........fals
101b60 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 43 2d 53 41 2d 33 2e 30 22 3a 20 e.....],....."CC-BY-NC-SA-3.0":.
101b80 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 [........."Creative.Commons.Attr
101ba0 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 69 61 6c 20 53 68 61 72 65 20 41 6c 69 ibution.Non.Commercial.Share.Ali
101bc0 6b 65 20 33 2e 30 20 55 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ke.3.0.Unported",.........false,
101be0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 .........false.....],....."CC-BY
101c00 2d 4e 43 2d 53 41 2d 34 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 -NC-SA-4.0":.[........."Creative
101c20 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 6e 20 43 6f 6d 6d 65 72 63 .Commons.Attribution.Non.Commerc
101c40 69 61 6c 20 53 68 61 72 65 20 41 6c 69 6b 65 20 34 2e 30 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61 ial.Share.Alike.4.0.Internationa
101c60 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 l",.........false,.........false
101c80 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d 31 2e 30 22 3a 20 5b 0a 20 20 .....],....."CC-BY-ND-1.0":.[...
101ca0 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 ......"Creative.Commons.Attribut
101cc0 69 6f 6e 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 31 2e 30 20 47 65 6e 65 72 69 63 22 2c ion.No.Derivatives.1.0.Generic",
101ce0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
101d00 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 ..],....."CC-BY-ND-2.0":.[......
101d20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e ..."Creative.Commons.Attribution
101d40 20 4e 6f 20 44 65 72 69 76 61 74 69 76 65 73 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 .No.Derivatives.2.0.Generic",...
101d60 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
101d80 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ,....."CC-BY-ND-2.5":.[.........
101da0 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f "Creative.Commons.Attribution.No
101dc0 20 44 65 72 69 76 61 74 69 76 65 73 20 32 2e 35 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 .Derivatives.2.5.Generic",......
101de0 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
101e00 20 20 20 22 43 43 2d 42 59 2d 4e 44 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 ..."CC-BY-ND-3.0":.[........."Cr
101e20 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 20 44 65 eative.Commons.Attribution.No.De
101e40 72 69 76 61 74 69 76 65 73 20 33 2e 30 20 55 6e 70 6f 72 74 65 64 22 2c 0a 20 20 20 20 20 20 20 rivatives.3.0.Unported",........
101e60 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
101e80 20 22 43 43 2d 42 59 2d 4e 44 2d 34 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 ."CC-BY-ND-4.0":.[........."Crea
101ea0 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4e 6f 20 44 65 72 69 tive.Commons.Attribution.No.Deri
101ec0 76 61 74 69 76 65 73 20 34 2e 30 20 49 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 22 2c 0a 20 20 20 20 vatives.4.0.International",.....
101ee0 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
101f00 20 20 20 20 22 43 43 2d 42 59 2d 53 41 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 ...."CC-BY-SA-1.0":.[........."C
101f20 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 53 68 61 72 reative.Commons.Attribution.Shar
101f40 65 20 41 6c 69 6b 65 20 31 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 e.Alike.1.0.Generic",.........fa
101f60 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 lse,.........false.....],....."C
101f80 43 2d 42 59 2d 53 41 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 C-BY-SA-2.0":.[........."Creativ
101fa0 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 53 68 61 72 65 20 41 6c 69 6b e.Commons.Attribution.Share.Alik
101fc0 65 20 32 2e 30 20 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 e.2.0.Generic",.........false,..
101fe0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 53 .......false.....],....."CC-BY-S
102000 41 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d A-2.5":.[........."Creative.Comm
102020 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 53 68 61 72 65 20 41 6c 69 6b 65 20 32 2e 35 20 ons.Attribution.Share.Alike.2.5.
102040 47 65 6e 65 72 69 63 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 Generic",.........false,........
102060 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 53 41 2d 33 2e 30 22 .false.....],....."CC-BY-SA-3.0"
102080 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 :.[........."Creative.Commons.At
1020a0 74 72 69 62 75 74 69 6f 6e 20 53 68 61 72 65 20 41 6c 69 6b 65 20 33 2e 30 20 55 6e 70 6f 72 74 tribution.Share.Alike.3.0.Unport
1020c0 65 64 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 ed",.........false,.........fals
1020e0 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 42 59 2d 53 41 2d 34 2e 30 22 3a 20 5b 0a 20 e.....],....."CC-BY-SA-4.0":.[..
102100 20 20 20 20 20 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 41 74 74 72 69 62 75 ......."Creative.Commons.Attribu
102120 74 69 6f 6e 20 53 68 61 72 65 20 41 6c 69 6b 65 20 34 2e 30 20 49 6e 74 65 72 6e 61 74 69 6f 6e tion.Share.Alike.4.0.Internation
102140 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 al",.........false,.........fals
102160 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 43 2d 50 44 44 43 22 3a 20 5b 0a 20 20 20 20 20 20 e.....],....."CC-PDDC":.[.......
102180 20 20 22 43 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 50 75 62 6c 69 63 20 44 6f 6d 61 69 .."Creative.Commons.Public.Domai
1021a0 6e 20 44 65 64 69 63 61 74 69 6f 6e 20 61 6e 64 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 22 2c n.Dedication.and.Certification",
1021c0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
1021e0 20 20 5d 2c 0a 20 20 20 20 22 43 43 30 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 ..],....."CC0-1.0":.[........."C
102200 72 65 61 74 69 76 65 20 43 6f 6d 6d 6f 6e 73 20 5a 65 72 6f 20 76 31 2e 30 20 55 6e 69 76 65 72 reative.Commons.Zero.v1.0.Univer
102220 73 61 6c 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c sal",.........false,.........fal
102240 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 44 44 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 se.....],....."CDDL-1.0":.[.....
102260 20 20 20 20 22 43 6f 6d 6d 6f 6e 20 44 65 76 65 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 44 69 73 74 ...."Common.Development.and.Dist
102280 72 69 62 75 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 ribution.License.1.0",.........t
1022a0 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 rue,.........false.....],....."C
1022c0 44 44 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 6d 6f 6e 20 44 65 76 65 DDL-1.1":.[........."Common.Deve
1022e0 6c 6f 70 6d 65 6e 74 20 61 6e 64 20 44 69 73 74 72 69 62 75 74 69 6f 6e 20 4c 69 63 65 6e 73 65 lopment.and.Distribution.License
102300 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 .1.1",.........false,.........fa
102320 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 44 4c 41 2d 50 65 72 6d 69 73 73 69 76 65 2d lse.....],....."CDLA-Permissive-
102340 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 6d 75 6e 69 74 79 20 44 61 74 61 20 1.0":.[........."Community.Data.
102360 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 50 65 72 6d 69 73 73 69 76 65 20 31 2e 30 License.Agreement.Permissive.1.0
102380 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
1023a0 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 44 4c 41 2d 53 68 61 72 69 6e 67 2d 31 2e 30 22 3a 20 5b ....],....."CDLA-Sharing-1.0":.[
1023c0 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 6d 75 6e 69 74 79 20 44 61 74 61 20 4c 69 63 65 6e 73 65 ........."Community.Data.License
1023e0 20 41 67 72 65 65 6d 65 6e 74 20 53 68 61 72 69 6e 67 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 .Agreement.Sharing.1.0",........
102400 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
102420 20 22 43 45 43 49 4c 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 65 43 49 4c 4c ."CECILL-1.0":.[........."CeCILL
102440 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 .Free.Software.License.Agreement
102460 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 .v1.0",.........false,.........f
102480 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 45 43 49 4c 4c 2d 31 2e 31 22 3a 20 5b 0a alse.....],....."CECILL-1.1":.[.
1024a0 20 20 20 20 20 20 20 20 22 43 65 43 49 4c 4c 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 ........"CeCILL.Free.Software.Li
1024c0 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 cense.Agreement.v1.1",.........f
1024e0 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
102500 43 45 43 49 4c 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 65 43 49 4c 4c 20 46 CECILL-2.0":.[........."CeCILL.F
102520 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 76 ree.Software.License.Agreement.v
102540 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 2.0",.........false,.........fal
102560 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 45 43 49 4c 4c 2d 32 2e 31 22 3a 20 5b 0a 20 20 se.....],....."CECILL-2.1":.[...
102580 20 20 20 20 20 20 22 43 65 43 49 4c 4c 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 ......"CeCILL.Free.Software.Lice
1025a0 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 76 32 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 nse.Agreement.v2.1",.........tru
1025c0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 45 43 e,.........false.....],....."CEC
1025e0 49 4c 4c 2d 42 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 65 43 49 4c 4c 2d 42 20 46 72 65 65 ILL-B":.[........."CeCILL-B.Free
102600 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 22 2c 0a 20 20 .Software.License.Agreement",...
102620 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
102640 2c 0a 20 20 20 20 22 43 45 43 49 4c 4c 2d 43 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 65 43 ,....."CECILL-C":.[........."CeC
102660 49 4c 4c 2d 43 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 ILL-C.Free.Software.License.Agre
102680 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 ement",.........false,.........f
1026a0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 45 52 4e 2d 4f 48 4c 2d 31 2e 31 22 3a 20 alse.....],....."CERN-OHL-1.1":.
1026c0 5b 0a 20 20 20 20 20 20 20 20 22 43 45 52 4e 20 4f 70 65 6e 20 48 61 72 64 77 61 72 65 20 4c 69 [........."CERN.Open.Hardware.Li
1026e0 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 cense.v1.1",.........false,.....
102700 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 45 52 4e 2d 4f 48 4c 2d 31 ....false.....],....."CERN-OHL-1
102720 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 45 52 4e 20 4f 70 65 6e 20 48 61 72 64 77 61 .2":.[........."CERN.Open.Hardwa
102740 72 65 20 4c 69 63 65 6e 63 65 20 76 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c re.Licence.v1.2",.........false,
102760 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 6c 41 72 74 .........false.....],....."ClArt
102780 69 73 74 69 63 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6c 61 72 69 66 69 65 64 20 41 72 74 istic":.[........."Clarified.Art
1027a0 69 73 74 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 istic.License",.........false,..
1027c0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 4e 52 49 2d 4a 79 .......false.....],....."CNRI-Jy
1027e0 74 68 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 4e 52 49 20 4a 79 74 68 6f 6e 20 4c 69 thon":.[........."CNRI.Jython.Li
102800 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 cense",.........false,.........f
102820 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 4e 52 49 2d 50 79 74 68 6f 6e 22 3a 20 5b alse.....],....."CNRI-Python":.[
102840 0a 20 20 20 20 20 20 20 20 22 43 4e 52 49 20 50 79 74 68 6f 6e 20 4c 69 63 65 6e 73 65 22 2c 0a ........."CNRI.Python.License",.
102860 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 ........true,.........false.....
102880 5d 2c 0a 20 20 20 20 22 43 4e 52 49 2d 50 79 74 68 6f 6e 2d 47 50 4c 2d 43 6f 6d 70 61 74 69 62 ],....."CNRI-Python-GPL-Compatib
1028a0 6c 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 4e 52 49 20 50 79 74 68 6f 6e 20 4f 70 65 6e le":.[........."CNRI.Python.Open
1028c0 20 53 6f 75 72 63 65 20 47 50 4c 20 43 6f 6d 70 61 74 69 62 6c 65 20 4c 69 63 65 6e 73 65 20 41 .Source.GPL.Compatible.License.A
1028e0 67 72 65 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 greement",.........false,.......
102900 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 6f 6e 64 6f 72 2d 31 2e 31 22 3a ..false.....],....."Condor-1.1":
102920 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6e 64 6f 72 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 .[........."Condor.Public.Licens
102940 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 e.v1.1",.........false,.........
102960 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 63 6f 70 79 6c 65 66 74 2d 6e 65 78 74 2d false.....],....."copyleft-next-
102980 30 2e 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 63 6f 70 79 6c 65 66 74 2d 6e 65 78 74 0.3.0":.[........."copyleft-next
1029a0 20 30 2e 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 .0.3.0",.........false,.........
1029c0 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 63 6f 70 79 6c 65 66 74 2d 6e 65 78 74 2d false.....],....."copyleft-next-
1029e0 30 2e 33 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 63 6f 70 79 6c 65 66 74 2d 6e 65 78 74 0.3.1":.[........."copyleft-next
102a00 20 30 2e 33 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 .0.3.1",.........false,.........
102a20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 50 41 4c 2d 31 2e 30 22 3a 20 5b 0a 20 false.....],....."CPAL-1.0":.[..
102a40 20 20 20 20 20 20 20 22 43 6f 6d 6d 6f 6e 20 50 75 62 6c 69 63 20 41 74 74 72 69 62 75 74 69 6f ......."Common.Public.Attributio
102a60 6e 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 n.License.1.0",.........true,...
102a80 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 50 4c 2d 31 2e 30 22 ......false.....],....."CPL-1.0"
102aa0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 6f 6d 6d 6f 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 6e :.[........."Common.Public.Licen
102ac0 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 se.1.0",.........true,.........f
102ae0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 50 4f 4c 2d 31 2e 30 32 22 3a 20 5b 0a 20 alse.....],....."CPOL-1.02":.[..
102b00 20 20 20 20 20 20 20 22 43 6f 64 65 20 50 72 6f 6a 65 63 74 20 4f 70 65 6e 20 4c 69 63 65 6e 73 ......."Code.Project.Open.Licens
102b20 65 20 31 2e 30 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 e.1.02",.........false,.........
102b40 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 43 72 6f 73 73 77 6f 72 64 22 3a 20 5b 0a false.....],....."Crossword":.[.
102b60 20 20 20 20 20 20 20 20 22 43 72 6f 73 73 77 6f 72 64 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 ........"Crossword.License",....
102b80 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
102ba0 0a 20 20 20 20 22 43 72 79 73 74 61 6c 53 74 61 63 6b 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 ....."CrystalStacker":.[........
102bc0 20 22 43 72 79 73 74 61 6c 53 74 61 63 6b 65 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 ."CrystalStacker.License",......
102be0 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
102c00 20 20 20 22 43 55 41 2d 4f 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 55 41 ..."CUA-OPL-1.0":.[........."CUA
102c20 20 4f 66 66 69 63 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 .Office.Public.License.v1.0",...
102c40 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
102c60 0a 20 20 20 20 22 43 75 62 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 43 75 62 65 20 4c 69 63 ....."Cube":.[........."Cube.Lic
102c80 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 ense",.........false,.........fa
102ca0 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 63 75 72 6c 22 3a 20 5b 0a 20 20 20 20 20 20 20 lse.....],....."curl":.[........
102cc0 20 22 63 75 72 6c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a ."curl.License",.........false,.
102ce0 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 44 2d 46 53 4c 2d ........false.....],....."D-FSL-
102d00 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 65 75 74 73 63 68 65 20 46 72 65 69 65 20 1.0":.[........."Deutsche.Freie.
102d20 53 6f 66 74 77 61 72 65 20 4c 69 7a 65 6e 7a 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c Software.Lizenz",.........false,
102d40 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 64 69 66 66 6d .........false.....],....."diffm
102d60 61 72 6b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 64 69 66 66 6d 61 72 6b 20 6c 69 63 65 6e 73 ark":.[........."diffmark.licens
102d80 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 e",.........false,.........false
102da0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 44 4f 43 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 4f .....],....."DOC":.[........."DO
102dc0 43 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 C.License",.........false,......
102de0 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 44 6f 74 73 65 71 6e 22 3a 20 5b ...false.....],....."Dotseqn":.[
102e00 0a 20 20 20 20 20 20 20 20 22 44 6f 74 73 65 71 6e 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 ........."Dotseqn.License",.....
102e20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
102e40 20 20 20 20 22 44 53 44 50 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 53 44 50 20 4c 69 63 65 ...."DSDP":.[........."DSDP.Lice
102e60 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nse",.........false,.........fal
102e80 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 64 76 69 70 64 66 6d 22 3a 20 5b 0a 20 20 20 20 20 se.....],....."dvipdfm":.[......
102ea0 20 20 20 22 64 76 69 70 64 66 6d 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 ..."dvipdfm.License",.........fa
102ec0 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 lse,.........false.....],....."E
102ee0 43 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 64 75 63 61 74 69 6f 6e 61 6c 20 CL-1.0":.[........."Educational.
102f00 43 6f 6d 6d 75 6e 69 74 79 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 Community.License.v1.0",........
102f20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 .true,.........false.....],.....
102f40 22 45 43 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 64 75 63 61 74 69 6f 6e 61 "ECL-2.0":.[........."Educationa
102f60 6c 20 43 6f 6d 6d 75 6e 69 74 79 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 l.Community.License.v2.0",......
102f80 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ...true,.........false.....],...
102fa0 20 20 22 65 43 6f 73 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 65 43 6f 73 20 6c 69 .."eCos-2.0":.[........."eCos.li
102fc0 63 65 6e 73 65 20 76 65 72 73 69 6f 6e 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 cense.version.2.0",.........fals
102fe0 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 46 4c 2d e,.........true.....],....."EFL-
103000 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 69 66 66 65 6c 20 46 6f 72 75 6d 20 4c 69 1.0":.[........."Eiffel.Forum.Li
103020 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 cense.v1.0",.........true,......
103040 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 46 4c 2d 32 2e 30 22 3a 20 5b ...false.....],....."EFL-2.0":.[
103060 0a 20 20 20 20 20 20 20 20 22 45 69 66 66 65 6c 20 46 6f 72 75 6d 20 4c 69 63 65 6e 73 65 20 76 ........."Eiffel.Forum.License.v
103080 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 2.0",.........true,.........fals
1030a0 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 65 47 65 6e 69 78 22 3a 20 5b 0a 20 20 20 20 20 20 20 e.....],....."eGenix":.[........
1030c0 20 22 65 47 65 6e 69 78 2e 63 6f 6d 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 31 2e ."eGenix.com.Public.License.1.1.
1030e0 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0",.........false,.........false
103100 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 6e 74 65 73 73 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 .....],....."Entessa":.[........
103120 20 22 45 6e 74 65 73 73 61 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a ."Entessa.Public.License.v1.0",.
103140 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 ........true,.........false.....
103160 5d 2c 0a 20 20 20 20 22 45 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 63 6c ],....."EPL-1.0":.[........."Ecl
103180 69 70 73 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 ipse.Public.License.1.0",.......
1031a0 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 ..true,.........false.....],....
1031c0 20 22 45 50 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 63 6c 69 70 73 65 20 50 ."EPL-2.0":.[........."Eclipse.P
1031e0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 ublic.License.2.0",.........true
103200 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 72 6c 50 ,.........false.....],....."ErlP
103220 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 72 6c 61 6e 67 20 50 75 62 6c 69 63 L-1.1":.[........."Erlang.Public
103240 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 .License.v1.1",.........false,..
103260 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 55 44 61 74 61 67 .......false.....],....."EUDatag
103280 72 69 64 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 55 20 44 61 74 61 47 72 69 64 20 53 6f 66 rid":.[........."EU.DataGrid.Sof
1032a0 74 77 61 72 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 tware.License",.........true,...
1032c0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 55 50 4c 2d 31 2e 30 ......false.....],....."EUPL-1.0
1032e0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 75 72 6f 70 65 61 6e 20 55 6e 69 6f 6e 20 50 75 62 ":.[........."European.Union.Pub
103300 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c lic.License.1.0",.........false,
103320 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 55 50 4c 2d .........false.....],....."EUPL-
103340 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 75 72 6f 70 65 61 6e 20 55 6e 69 6f 6e 20 1.1":.[........."European.Union.
103360 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 Public.License.1.1",.........tru
103380 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 55 50 e,.........false.....],....."EUP
1033a0 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 75 72 6f 70 65 61 6e 20 55 6e 69 6f L-1.2":.[........."European.Unio
1033c0 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 74 n.Public.License.1.2",.........t
1033e0 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 45 rue,.........false.....],....."E
103400 75 72 6f 73 79 6d 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 75 72 6f 73 79 6d 20 4c 69 63 65 urosym":.[........."Eurosym.Lice
103420 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nse",.........false,.........fal
103440 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 61 69 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 se.....],....."Fair":.[.........
103460 22 46 61 69 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 "Fair.License",.........true,...
103480 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 72 61 6d 65 77 6f 72 ......false.....],....."Framewor
1034a0 78 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 72 61 6d 65 77 6f 72 78 20 4f 70 65 x-1.0":.[........."Frameworx.Ope
1034c0 6e 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 n.License.1.0",.........true,...
1034e0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 72 65 65 49 6d 61 67 ......false.....],....."FreeImag
103500 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 72 65 65 49 6d 61 67 65 20 50 75 62 6c 69 63 20 e":.[........."FreeImage.Public.
103520 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 License.v1.0",.........false,...
103540 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 53 46 41 50 22 3a 20 ......false.....],....."FSFAP":.
103560 5b 0a 20 20 20 20 20 20 20 20 22 46 53 46 20 41 6c 6c 20 50 65 72 6d 69 73 73 69 76 65 20 4c 69 [........."FSF.All.Permissive.Li
103580 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 cense",.........false,.........f
1035a0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 53 46 55 4c 22 3a 20 5b 0a 20 20 20 20 20 alse.....],....."FSFUL":.[......
1035c0 20 20 20 22 46 53 46 20 55 6e 6c 69 6d 69 74 65 64 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 ..."FSF.Unlimited.License",.....
1035e0 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
103600 20 20 20 20 22 46 53 46 55 4c 4c 52 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 46 53 46 20 55 6e ...."FSFULLR":.[........."FSF.Un
103620 6c 69 6d 69 74 65 64 20 4c 69 63 65 6e 73 65 20 28 77 69 74 68 20 4c 69 63 65 6e 73 65 20 52 65 limited.License.(with.License.Re
103640 74 65 6e 74 69 6f 6e 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 tention)",.........false,.......
103660 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 46 54 4c 22 3a 20 5b 0a 20 20 20 20 ..false.....],....."FTL":.[.....
103680 20 20 20 20 22 46 72 65 65 74 79 70 65 20 50 72 6f 6a 65 63 74 20 4c 69 63 65 6e 73 65 22 2c 0a ...."Freetype.Project.License",.
1036a0 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
1036c0 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 .],....."GFDL-1.1":.[........."G
1036e0 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 NU.Free.Documentation.License.v1
103700 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 .1",.........false,.........true
103720 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 31 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 .....],....."GFDL-1.1-only":.[..
103740 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c ......."GNU.Free.Documentation.L
103760 69 63 65 6e 73 65 20 76 31 2e 31 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 icense.v1.1.only",.........false
103780 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c ,.........false.....],....."GFDL
1037a0 2d 31 2e 31 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 -1.1-or-later":.[........."GNU.F
1037c0 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 20 6f ree.Documentation.License.v1.1.o
1037e0 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 r.later",.........false,........
103800 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 32 22 3a 20 5b 0a .false.....],....."GFDL-1.2":.[.
103820 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 ........"GNU.Free.Documentation.
103840 4c 69 63 65 6e 73 65 20 76 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 License.v1.2",.........false,...
103860 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 32 2d ......true.....],....."GFDL-1.2-
103880 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d only":.[........."GNU.Free.Docum
1038a0 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 32 20 6f 6e 6c 79 22 2c 0a 20 20 20 entation.License.v1.2.only",....
1038c0 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
1038e0 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 32 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 20 20 ....."GFDL-1.2-or-later":.[.....
103900 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 ...."GNU.Free.Documentation.Lice
103920 6e 73 65 20 76 31 2e 32 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 nse.v1.2.or.later",.........fals
103940 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 e,.........false.....],....."GFD
103960 4c 2d 31 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 L-1.3":.[........."GNU.Free.Docu
103980 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 mentation.License.v1.3",........
1039a0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 .false,.........true.....],.....
1039c0 22 47 46 44 4c 2d 31 2e 33 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 "GFDL-1.3-only":.[........."GNU.
1039e0 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 20 Free.Documentation.License.v1.3.
103a00 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 only",.........false,.........fa
103a20 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 46 44 4c 2d 31 2e 33 2d 6f 72 2d 6c 61 74 65 lse.....],....."GFDL-1.3-or-late
103a40 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 r":.[........."GNU.Free.Document
103a60 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 ation.License.v1.3.or.later",...
103a80 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
103aa0 2c 0a 20 20 20 20 22 47 69 66 74 77 61 72 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 69 66 ,....."Giftware":.[........."Gif
103ac0 74 77 61 72 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 tware.License",.........false,..
103ae0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 4c 32 50 53 22 3a .......false.....],....."GL2PS":
103b00 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4c 32 50 53 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 .[........."GL2PS.License",.....
103b20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
103b40 20 20 20 20 22 47 6c 69 64 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 33 64 66 78 20 47 6c 69 ...."Glide":.[........."3dfx.Gli
103b60 64 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 de.License",.........false,.....
103b80 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 6c 75 6c 78 65 22 3a 20 5b ....false.....],....."Glulxe":.[
103ba0 0a 20 20 20 20 20 20 20 20 22 47 6c 75 6c 78 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 ........."Glulxe.License",......
103bc0 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
103be0 20 20 20 22 67 6e 75 70 6c 6f 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 67 6e 75 70 6c 6f 74 ..."gnuplot":.[........."gnuplot
103c00 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 .License",.........false,.......
103c20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 31 2e 30 22 3a 20 5b 0a ..false.....],....."GPL-1.0":.[.
103c40 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 ........"GNU.General.Public.Lice
103c60 6e 73 65 20 76 31 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 nse.v1.0.only",.........false,..
103c80 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 31 2e 30 2b .......true.....],....."GPL-1.0+
103ca0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 ":.[........."GNU.General.Public
103cc0 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 .License.v1.0.or.later",........
103ce0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 .false,.........true.....],.....
103d00 22 47 50 4c 2d 31 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 "GPL-1.0-only":.[........."GNU.G
103d20 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 20 6f 6e 6c 79 22 eneral.Public.License.v1.0.only"
103d40 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ,.........false,.........false..
103d60 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 31 2e 30 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a ...],....."GPL-1.0-or-later":.[.
103d80 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 ........"GNU.General.Public.Lice
103da0 6e 73 65 20 76 31 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 nse.v1.0.or.later",.........fals
103dc0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c e,.........false.....],....."GPL
103de0 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 -2.0":.[........."GNU.General.Pu
103e00 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 blic.License.v2.0.only",........
103e20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 .true,.........true.....],....."
103e40 47 50 4c 2d 32 2e 30 2b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 GPL-2.0+":.[........."GNU.Genera
103e60 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c l.Public.License.v2.0.or.later",
103e80 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 .........true,.........true.....
103ea0 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 ],....."GPL-2.0-only":.[........
103ec0 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e ."GNU.General.Public.License.v2.
103ee0 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 0.only",.........true,.........f
103f00 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 6f 72 2d 6c 61 74 65 alse.....],....."GPL-2.0-or-late
103f20 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 r":.[........."GNU.General.Publi
103f40 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 c.License.v2.0.or.later",.......
103f60 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 ..true,.........false.....],....
103f80 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 61 75 74 6f 63 6f 6e 66 2d 65 78 63 65 70 74 69 6f ."GPL-2.0-with-autoconf-exceptio
103fa0 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 n":.[........."GNU.General.Publi
103fc0 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 77 2f 41 75 74 6f 63 6f 6e 66 20 65 78 63 65 70 74 c.License.v2.0.w/Autoconf.except
103fe0 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 ion",.........false,.........tru
104000 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 62 69 73 6f 6e e.....],....."GPL-2.0-with-bison
104020 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 -exception":.[........."GNU.Gene
104040 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 77 2f 42 69 73 6f 6e 20 ral.Public.License.v2.0.w/Bison.
104060 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 exception",.........false,......
104080 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 ...true.....],....."GPL-2.0-with
1040a0 2d 63 6c 61 73 73 70 61 74 68 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 -classpath-exception":.[........
1040c0 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e ."GNU.General.Public.License.v2.
1040e0 30 20 77 2f 43 6c 61 73 73 70 61 74 68 20 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 0.w/Classpath.exception",.......
104100 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 ..false,.........true.....],....
104120 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 66 6f 6e 74 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 ."GPL-2.0-with-font-exception":.
104140 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 [........."GNU.General.Public.Li
104160 63 65 6e 73 65 20 76 32 2e 30 20 77 2f 46 6f 6e 74 20 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 cense.v2.0.w/Font.exception",...
104180 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c ......false,.........true.....],
1041a0 0a 20 20 20 20 22 47 50 4c 2d 32 2e 30 2d 77 69 74 68 2d 47 43 43 2d 65 78 63 65 70 74 69 6f 6e ....."GPL-2.0-with-GCC-exception
1041c0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 ":.[........."GNU.General.Public
1041e0 20 4c 69 63 65 6e 73 65 20 76 32 2e 30 20 77 2f 47 43 43 20 52 75 6e 74 69 6d 65 20 4c 69 62 72 .License.v2.0.w/GCC.Runtime.Libr
104200 61 72 79 20 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 ary.exception",.........false,..
104220 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 33 2e 30 22 .......true.....],....."GPL-3.0"
104240 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 :.[........."GNU.General.Public.
104260 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 License.v3.0.only",.........true
104280 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 33 ,.........true.....],....."GPL-3
1042a0 2e 30 2b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 .0+":.[........."GNU.General.Pub
1042c0 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 lic.License.v3.0.or.later",.....
1042e0 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 ....true,.........true.....],...
104300 20 20 22 47 50 4c 2d 33 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 .."GPL-3.0-only":.[........."GNU
104320 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 6e 6c .General.Public.License.v3.0.onl
104340 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a y",.........true,.........false.
104360 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b ....],....."GPL-3.0-or-later":.[
104380 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 ........."GNU.General.Public.Lic
1043a0 65 6e 73 65 20 76 33 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 ense.v3.0.or.later",.........tru
1043c0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 47 50 4c e,.........false.....],....."GPL
1043e0 2d 33 2e 30 2d 77 69 74 68 2d 61 75 74 6f 63 6f 6e 66 2d 65 78 63 65 70 74 69 6f 6e 22 3a 20 5b -3.0-with-autoconf-exception":.[
104400 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 ........."GNU.General.Public.Lic
104420 65 6e 73 65 20 76 33 2e 30 20 77 2f 41 75 74 6f 63 6f 6e 66 20 65 78 63 65 70 74 69 6f 6e 22 2c ense.v3.0.w/Autoconf.exception",
104440 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 .........false,.........true....
104460 20 5d 2c 0a 20 20 20 20 22 47 50 4c 2d 33 2e 30 2d 77 69 74 68 2d 47 43 43 2d 65 78 63 65 70 74 .],....."GPL-3.0-with-GCC-except
104480 69 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 ion":.[........."GNU.General.Pub
1044a0 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 77 2f 47 43 43 20 52 75 6e 74 69 6d 65 20 4c lic.License.v3.0.w/GCC.Runtime.L
1044c0 69 62 72 61 72 79 20 65 78 63 65 70 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c ibrary.exception",.........true,
1044e0 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 67 53 4f 41 50 2d .........true.....],....."gSOAP-
104500 31 2e 33 62 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 67 53 4f 41 50 20 50 75 62 6c 69 63 20 4c 1.3b":.[........."gSOAP.Public.L
104520 69 63 65 6e 73 65 20 76 31 2e 33 62 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 icense.v1.3b",.........false,...
104540 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 48 61 73 6b 65 6c 6c 52 ......false.....],....."HaskellR
104560 65 70 6f 72 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 48 61 73 6b 65 6c 6c 20 4c 61 6e 67 75 eport":.[........."Haskell.Langu
104580 61 67 65 20 52 65 70 6f 72 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c age.Report.License",.........fal
1045a0 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 48 50 se,.........false.....],....."HP
1045c0 4e 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 48 69 73 74 6f 72 69 63 61 6c 20 50 65 72 6d 69 ND":.[........."Historical.Permi
1045e0 73 73 69 6f 6e 20 4e 6f 74 69 63 65 20 61 6e 64 20 44 69 73 63 6c 61 69 6d 65 72 22 2c 0a 20 20 ssion.Notice.and.Disclaimer",...
104600 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
104620 0a 20 20 20 20 22 48 50 4e 44 2d 73 65 6c 6c 2d 76 61 72 69 61 6e 74 22 3a 20 5b 0a 20 20 20 20 ....."HPND-sell-variant":.[.....
104640 20 20 20 20 22 48 69 73 74 6f 72 69 63 61 6c 20 50 65 72 6d 69 73 73 69 6f 6e 20 4e 6f 74 69 63 ...."Historical.Permission.Notic
104660 65 20 61 6e 64 20 44 69 73 63 6c 61 69 6d 65 72 20 2d 20 73 65 6c 6c 20 76 61 72 69 61 6e 74 22 e.and.Disclaimer.-.sell.variant"
104680 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ,.........false,.........false..
1046a0 20 20 20 5d 2c 0a 20 20 20 20 22 49 42 4d 2d 70 69 62 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ...],....."IBM-pibs":.[.........
1046c0 22 49 42 4d 20 50 6f 77 65 72 50 43 20 49 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 61 6e 64 20 "IBM.PowerPC.Initialization.and.
1046e0 42 6f 6f 74 20 53 6f 66 74 77 61 72 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 Boot.Software",.........false,..
104700 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 43 55 22 3a 20 5b .......false.....],....."ICU":.[
104720 0a 20 20 20 20 20 20 20 20 22 49 43 55 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 ........."ICU.License",.........
104740 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
104760 22 49 4a 47 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6e 64 65 70 65 6e 64 65 6e 74 20 4a 50 "IJG":.[........."Independent.JP
104780 45 47 20 47 72 6f 75 70 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 EG.Group.License",.........false
1047a0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6d 61 67 ,.........false.....],....."Imag
1047c0 65 4d 61 67 69 63 6b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6d 61 67 65 4d 61 67 69 63 6b eMagick":.[........."ImageMagick
1047e0 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 .License",.........false,.......
104800 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 69 4d 61 74 69 78 22 3a 20 5b 0a 20 ..false.....],....."iMatix":.[..
104820 20 20 20 20 20 20 20 22 69 4d 61 74 69 78 20 53 74 61 6e 64 61 72 64 20 46 75 6e 63 74 69 6f 6e ......."iMatix.Standard.Function
104840 20 4c 69 62 72 61 72 79 20 41 67 72 65 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c .Library.Agreement",.........fal
104860 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6d se,.........false.....],....."Im
104880 6c 69 62 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6d 6c 69 62 32 20 4c 69 63 65 6e 73 65 lib2":.[........."Imlib2.License
1048a0 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
1048c0 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6e 66 6f 2d 5a 49 50 22 3a 20 5b 0a 20 20 20 20 20 20 20 ....],....."Info-ZIP":.[........
1048e0 20 22 49 6e 66 6f 2d 5a 49 50 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ."Info-ZIP.License",.........fal
104900 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6e se,.........false.....],....."In
104920 74 65 6c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6e 74 65 6c 20 4f 70 65 6e 20 53 6f 75 72 tel":.[........."Intel.Open.Sour
104940 63 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 ce.License",.........true,......
104960 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6e 74 65 6c 2d 41 43 50 49 22 ...false.....],....."Intel-ACPI"
104980 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6e 74 65 6c 20 41 43 50 49 20 53 6f 66 74 77 61 72 65 :.[........."Intel.ACPI.Software
1049a0 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c .License.Agreement",.........fal
1049c0 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 6e se,.........false.....],....."In
1049e0 74 65 72 62 61 73 65 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 6e 74 65 72 62 61 terbase-1.0":.[........."Interba
104a00 73 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 se.Public.License.v1.0",........
104a20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
104a40 20 22 49 50 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 50 41 20 46 6f 6e 74 20 4c 69 63 65 ."IPA":.[........."IPA.Font.Lice
104a60 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 nse",.........true,.........fals
104a80 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 49 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 e.....],....."IPL-1.0":.[.......
104aa0 20 20 22 49 42 4d 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 .."IBM.Public.License.v1.0",....
104ac0 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a .....true,.........false.....],.
104ae0 20 20 20 20 22 49 53 43 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 49 53 43 20 4c 69 63 65 6e 73 ...."ISC":.[........."ISC.Licens
104b00 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a e",.........true,.........false.
104b20 20 20 20 20 5d 2c 0a 20 20 20 20 22 4a 61 73 50 65 72 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 ....],....."JasPer-2.0":.[......
104b40 20 20 20 22 4a 61 73 50 65 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ..."JasPer.License",.........fal
104b60 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4a 50 se,.........false.....],....."JP
104b80 4e 49 43 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4a 61 70 61 6e 20 4e 65 74 77 6f 72 6b 20 49 NIC":.[........."Japan.Network.I
104ba0 6e 66 6f 72 6d 61 74 69 6f 6e 20 43 65 6e 74 65 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 nformation.Center.License",.....
104bc0 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
104be0 20 20 20 20 22 4a 53 4f 4e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4a 53 4f 4e 20 4c 69 63 65 ...."JSON":.[........."JSON.Lice
104c00 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nse",.........false,.........fal
104c20 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 41 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 se.....],....."LAL-1.2":.[......
104c40 20 20 20 22 4c 69 63 65 6e 63 65 20 41 72 74 20 4c 69 62 72 65 20 31 2e 32 22 2c 0a 20 20 20 20 ..."Licence.Art.Libre.1.2",.....
104c60 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
104c80 20 20 20 20 22 4c 41 4c 2d 31 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 69 63 65 6e 63 ...."LAL-1.3":.[........."Licenc
104ca0 65 20 41 72 74 20 4c 69 62 72 65 20 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c e.Art.Libre.1.3",.........false,
104cc0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 61 74 65 78 .........false.....],....."Latex
104ce0 32 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 61 74 65 78 32 65 20 4c 69 63 65 6e 73 65 22 2e":.[........."Latex2e.License"
104d00 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ,.........false,.........false..
104d20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 65 70 74 6f 6e 69 63 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 ...],....."Leptonica":.[........
104d40 20 22 4c 65 70 74 6f 6e 69 63 61 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 ."Leptonica.License",.........fa
104d60 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c lse,.........false.....],....."L
104d80 47 50 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 69 62 72 61 72 79 GPL-2.0":.[........."GNU.Library
104da0 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 20 6f 6e 6c 79 22 .General.Public.License.v2.only"
104dc0 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 ,.........true,.........true....
104de0 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 30 2b 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 .],....."LGPL-2.0+":.[........."
104e00 47 4e 55 20 4c 69 62 72 61 72 79 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e GNU.Library.General.Public.Licen
104e20 73 65 20 76 32 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 se.v2.or.later",.........true,..
104e40 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 30 .......true.....],....."LGPL-2.0
104e60 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 69 62 72 61 72 79 20 47 -only":.[........."GNU.Library.G
104e80 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 20 6f 6e 6c 79 22 2c 0a eneral.Public.License.v2.only",.
104ea0 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 ........true,.........false.....
104ec0 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 30 2d 6f 72 2d 6c 61 74 65 72 22 3a 20 5b 0a 20 20 ],....."LGPL-2.0-or-later":.[...
104ee0 20 20 20 20 20 20 22 47 4e 55 20 4c 69 62 72 61 72 79 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 ......"GNU.Library.General.Publi
104f00 63 20 4c 69 63 65 6e 73 65 20 76 32 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 c.License.v2.or.later",.........
104f20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
104f40 4c 47 50 4c 2d 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 65 73 73 65 72 LGPL-2.1":.[........."GNU.Lesser
104f60 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 31 20 6f 6e 6c .General.Public.License.v2.1.onl
104f80 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 y",.........true,.........true..
104fa0 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 31 2b 22 3a 20 5b 0a 20 20 20 20 20 20 20 ...],....."LGPL-2.1+":.[........
104fc0 20 22 47 4e 55 20 4c 69 62 72 61 72 79 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 ."GNU.Library.General.Public.Lic
104fe0 65 6e 73 65 20 76 32 2e 31 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 ense.v2.1.or.later",.........tru
105000 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c e,.........true.....],....."LGPL
105020 2d 32 2e 31 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 65 73 73 65 -2.1-only":.[........."GNU.Lesse
105040 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 31 20 6f 6e r.General.Public.License.v2.1.on
105060 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 ly",.........true,.........false
105080 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 32 2e 31 2d 6f 72 2d 6c 61 74 65 72 22 3a .....],....."LGPL-2.1-or-later":
1050a0 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 .[........."GNU.Lesser.General.P
1050c0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 31 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 ublic.License.v2.1.or.later",...
1050e0 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
105100 0a 20 20 20 20 22 4c 47 50 4c 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 ....."LGPL-3.0":.[........."GNU.
105120 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 Lesser.General.Public.License.v3
105140 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 .0.only",.........true,.........
105160 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 33 2e 30 2b 22 3a 20 5b 0a 20 true.....],....."LGPL-3.0+":.[..
105180 20 20 20 20 20 20 20 22 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 ......."GNU.Lesser.General.Publi
1051a0 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 72 20 6c 61 74 65 72 22 2c 0a 20 20 20 20 20 20 c.License.v3.0.or.later",.......
1051c0 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 ..true,.........true.....],.....
1051e0 22 4c 47 50 4c 2d 33 2e 30 2d 6f 6e 6c 79 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 "LGPL-3.0-only":.[........."GNU.
105200 4c 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 Lesser.General.Public.License.v3
105220 2e 30 20 6f 6e 6c 79 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 .0.only",.........true,.........
105240 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 false.....],....."LGPL-3.0-or-la
105260 74 65 72 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 47 4e 55 20 4c 65 73 73 65 72 20 47 65 6e 65 ter":.[........."GNU.Lesser.Gene
105280 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 20 6f 72 20 6c 61 74 65 72 ral.Public.License.v3.0.or.later
1052a0 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ",.........true,.........false..
1052c0 20 20 20 5d 2c 0a 20 20 20 20 22 4c 47 50 4c 4c 52 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c ...],....."LGPLLR":.[........."L
1052e0 65 73 73 65 72 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 46 6f 72 esser.General.Public.License.For
105300 20 4c 69 6e 67 75 69 73 74 69 63 20 52 65 73 6f 75 72 63 65 73 22 2c 0a 20 20 20 20 20 20 20 20 .Linguistic.Resources",.........
105320 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
105340 22 4c 69 62 70 6e 67 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 6c 69 62 70 6e 67 20 4c 69 63 65 "Libpng":.[........."libpng.Lice
105360 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nse",.........false,.........fal
105380 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 6c 69 62 70 6e 67 2d 32 2e 30 22 3a 20 5b 0a 20 20 se.....],....."libpng-2.0":.[...
1053a0 20 20 20 20 20 20 22 50 4e 47 20 52 65 66 65 72 65 6e 63 65 20 4c 69 62 72 61 72 79 20 76 65 72 ......"PNG.Reference.Library.ver
1053c0 73 69 6f 6e 20 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 sion.2",.........false,.........
1053e0 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 6c 69 62 74 69 66 66 22 3a 20 5b 0a 20 20 false.....],....."libtiff":.[...
105400 20 20 20 20 20 20 22 6c 69 62 74 69 66 66 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 ......"libtiff.License",........
105420 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
105440 20 22 4c 69 4c 69 51 2d 50 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 69 63 65 6e ."LiLiQ-P-1.1":.[........."Licen
105460 63 65 20 4c 69 62 72 65 20 64 75 20 51 75 5c 75 30 30 65 39 62 65 63 20 5c 75 32 30 31 33 20 50 ce.Libre.du.Qu\u00e9bec.\u2013.P
105480 65 72 6d 69 73 73 69 76 65 20 76 65 72 73 69 6f 6e 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 ermissive.version.1.1",.........
1054a0 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
1054c0 4c 69 4c 69 51 2d 52 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 69 63 65 6e 63 65 LiLiQ-R-1.1":.[........."Licence
1054e0 20 4c 69 62 72 65 20 64 75 20 51 75 5c 75 30 30 65 39 62 65 63 20 5c 75 32 30 31 33 20 52 5c 75 .Libre.du.Qu\u00e9bec.\u2013.R\u
105500 30 30 65 39 63 69 70 72 6f 63 69 74 5c 75 30 30 65 39 20 76 65 72 73 69 6f 6e 20 31 2e 31 22 2c 00e9ciprocit\u00e9.version.1.1",
105520 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 .........true,.........false....
105540 20 5d 2c 0a 20 20 20 20 22 4c 69 4c 69 51 2d 52 70 6c 75 73 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 .],....."LiLiQ-Rplus-1.1":.[....
105560 20 20 20 20 20 22 4c 69 63 65 6e 63 65 20 4c 69 62 72 65 20 64 75 20 51 75 5c 75 30 30 65 39 62 ....."Licence.Libre.du.Qu\u00e9b
105580 65 63 20 5c 75 32 30 31 33 20 52 5c 75 30 30 65 39 63 69 70 72 6f 63 69 74 5c 75 30 30 65 39 20 ec.\u2013.R\u00e9ciprocit\u00e9.
1055a0 66 6f 72 74 65 20 76 65 72 73 69 6f 6e 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 forte.version.1.1",.........true
1055c0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 69 6e 75 ,.........false.....],....."Linu
1055e0 78 2d 4f 70 65 6e 49 42 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 69 6e 75 78 20 4b 65 72 6e x-OpenIB":.[........."Linux.Kern
105600 65 6c 20 56 61 72 69 61 6e 74 20 6f 66 20 4f 70 65 6e 49 42 2e 6f 72 67 20 6c 69 63 65 6e 73 65 el.Variant.of.OpenIB.org.license
105620 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
105640 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ....],....."LPL-1.0":.[.........
105660 22 4c 75 63 65 6e 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 56 65 72 73 69 6f 6e 20 31 "Lucent.Public.License.Version.1
105680 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 .0",.........true,.........false
1056a0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 4c 2d 31 2e 30 32 22 3a 20 5b 0a 20 20 20 20 20 20 .....],....."LPL-1.02":.[.......
1056c0 20 20 22 4c 75 63 65 6e 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 32 22 2c .."Lucent.Public.License.v1.02",
1056e0 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 .........true,.........false....
105700 20 5d 2c 0a 20 20 20 20 22 4c 50 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c .],....."LPPL-1.0":.[........."L
105720 61 54 65 58 20 50 72 6f 6a 65 63 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 aTeX.Project.Public.License.v1.0
105740 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
105760 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 50 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 ....],....."LPPL-1.1":.[........
105780 20 22 4c 61 54 65 58 20 50 72 6f 6a 65 63 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 ."LaTeX.Project.Public.License.v
1057a0 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 1.1",.........false,.........fal
1057c0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 50 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 se.....],....."LPPL-1.2":.[.....
1057e0 20 20 20 20 22 4c 61 54 65 58 20 50 72 6f 6a 65 63 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 ...."LaTeX.Project.Public.Licens
105800 65 20 76 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 e.v1.2",.........false,.........
105820 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 50 4c 2d 31 2e 33 61 22 3a 20 5b 0a false.....],....."LPPL-1.3a":.[.
105840 20 20 20 20 20 20 20 20 22 4c 61 54 65 58 20 50 72 6f 6a 65 63 74 20 50 75 62 6c 69 63 20 4c 69 ........"LaTeX.Project.Public.Li
105860 63 65 6e 73 65 20 76 31 2e 33 61 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 cense.v1.3a",.........false,....
105880 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4c 50 50 4c 2d 31 2e 33 63 .....false.....],....."LPPL-1.3c
1058a0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4c 61 54 65 58 20 50 72 6f 6a 65 63 74 20 50 75 62 6c ":.[........."LaTeX.Project.Publ
1058c0 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 33 63 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c ic.License.v1.3c",.........true,
1058e0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 61 6b 65 49 .........false.....],....."MakeI
105900 6e 64 65 78 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 61 6b 65 49 6e 64 65 78 20 4c 69 63 65 ndex":.[........."MakeIndex.Lice
105920 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nse",.........false,.........fal
105940 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 69 72 4f 53 22 3a 20 5b 0a 20 20 20 20 20 20 20 se.....],....."MirOS":.[........
105960 20 22 4d 69 72 4f 53 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a ."MirOS.License",.........true,.
105980 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 49 54 22 3a 20 ........false.....],....."MIT":.
1059a0 5b 0a 20 20 20 20 20 20 20 20 22 4d 49 54 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 [........."MIT.License",........
1059c0 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 .true,.........false.....],.....
1059e0 22 4d 49 54 2d 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 49 54 20 4e 6f 20 41 74 74 72 69 "MIT-0":.[........."MIT.No.Attri
105a00 62 75 74 69 6f 6e 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 bution",.........true,.........f
105a20 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 49 54 2d 61 64 76 65 72 74 69 73 69 6e 67 alse.....],....."MIT-advertising
105a40 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 45 6e 6c 69 67 68 74 65 6e 6d 65 6e 74 20 4c 69 63 65 ":.[........."Enlightenment.Lice
105a60 6e 73 65 20 28 65 31 36 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 nse.(e16)",.........false,......
105a80 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 49 54 2d 43 4d 55 22 3a 20 5b ...false.....],....."MIT-CMU":.[
105aa0 0a 20 20 20 20 20 20 20 20 22 43 4d 55 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 ........."CMU.License",.........
105ac0 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
105ae0 22 4d 49 54 2d 65 6e 6e 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 65 6e 6e 61 20 4c 69 63 65 "MIT-enna":.[........."enna.Lice
105b00 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nse",.........false,.........fal
105b20 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 49 54 2d 66 65 68 22 3a 20 5b 0a 20 20 20 20 20 se.....],....."MIT-feh":.[......
105b40 20 20 20 22 66 65 68 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ..."feh.License",.........false,
105b60 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 49 54 4e 46 .........false.....],....."MITNF
105b80 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 49 54 20 2b 6e 6f 2d 66 61 6c 73 65 2d 61 74 74 A":.[........."MIT.+no-false-att
105ba0 72 69 62 73 20 6c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 ribs.license",.........false,...
105bc0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 6f 74 6f 73 6f 74 6f ......false.....],....."Motosoto
105be0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 6f 74 6f 73 6f 74 6f 20 4c 69 63 65 6e 73 65 22 2c ":.[........."Motosoto.License",
105c00 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 .........true,.........false....
105c20 20 5d 2c 0a 20 20 20 20 22 6d 70 69 63 68 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 6d 70 69 .],....."mpich2":.[........."mpi
105c40 63 68 32 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 ch2.License",.........false,....
105c60 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 50 4c 2d 31 2e 30 22 3a .....false.....],....."MPL-1.0":
105c80 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 6f 7a 69 6c 6c 61 20 50 75 62 6c 69 63 20 4c 69 63 65 6e .[........."Mozilla.Public.Licen
105ca0 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 se.1.0",.........true,.........f
105cc0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 50 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 alse.....],....."MPL-1.1":.[....
105ce0 20 20 20 20 20 22 4d 6f 7a 69 6c 6c 61 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 31 ....."Mozilla.Public.License.1.1
105d00 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 ",.........true,.........false..
105d20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 50 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ...],....."MPL-2.0":.[........."
105d40 4d 6f 7a 69 6c 6c 61 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 Mozilla.Public.License.2.0",....
105d60 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a .....true,.........false.....],.
105d80 20 20 20 20 22 4d 50 4c 2d 32 2e 30 2d 6e 6f 2d 63 6f 70 79 6c 65 66 74 2d 65 78 63 65 70 74 69 ...."MPL-2.0-no-copyleft-excepti
105da0 6f 6e 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 6f 7a 69 6c 6c 61 20 50 75 62 6c 69 63 20 4c on":.[........."Mozilla.Public.L
105dc0 69 63 65 6e 73 65 20 32 2e 30 20 28 6e 6f 20 63 6f 70 79 6c 65 66 74 20 65 78 63 65 70 74 69 6f icense.2.0.(no.copyleft.exceptio
105de0 6e 29 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 n)",.........true,.........false
105e00 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 53 2d 50 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 .....],....."MS-PL":.[........."
105e20 4d 69 63 72 6f 73 6f 66 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 Microsoft.Public.License",......
105e40 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ...true,.........false.....],...
105e60 20 20 22 4d 53 2d 52 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 69 63 72 6f 73 6f 66 74 20 .."MS-RL":.[........."Microsoft.
105e80 52 65 63 69 70 72 6f 63 61 6c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 Reciprocal.License",.........tru
105ea0 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 54 4c e,.........false.....],....."MTL
105ec0 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 61 74 72 69 78 20 54 65 6d 70 6c 61 74 65 20 4c L":.[........."Matrix.Template.L
105ee0 69 62 72 61 72 79 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a ibrary.License",.........false,.
105f00 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4d 75 6c 74 69 63 ........false.....],....."Multic
105f20 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 75 6c 74 69 63 73 20 4c 69 63 65 6e 73 65 22 2c s":.[........."Multics.License",
105f40 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 .........true,.........false....
105f60 20 5d 2c 0a 20 20 20 20 22 4d 75 70 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4d 75 70 20 4c 69 .],....."Mup":.[........."Mup.Li
105f80 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 cense",.........false,.........f
105fa0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 41 53 41 2d 31 2e 33 22 3a 20 5b 0a 20 20 alse.....],....."NASA-1.3":.[...
105fc0 20 20 20 20 20 20 22 4e 41 53 41 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 41 67 72 65 65 6d 65 6e ......"NASA.Open.Source.Agreemen
105fe0 74 20 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 t.1.3",.........true,.........fa
106000 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 61 75 6d 65 6e 22 3a 20 5b 0a 20 20 20 20 20 lse.....],....."Naumen":.[......
106020 20 20 20 22 4e 61 75 6d 65 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 ..."Naumen.Public.License",.....
106040 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ....true,.........false.....],..
106060 20 20 20 22 4e 42 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 74 20 42 6f ..."NBPL-1.0":.[........."Net.Bo
106080 6f 6c 65 61 6e 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 22 2c 0a 20 20 20 20 20 20 olean.Public.License.v1",.......
1060a0 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
1060c0 20 20 22 4e 43 53 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 55 6e 69 76 65 72 73 69 74 79 20 .."NCSA":.[........."University.
1060e0 6f 66 20 49 6c 6c 69 6e 6f 69 73 2f 4e 43 53 41 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 of.Illinois/NCSA.Open.Source.Lic
106100 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ense",.........true,.........fal
106120 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 65 74 2d 53 4e 4d 50 22 3a 20 5b 0a 20 20 20 20 se.....],....."Net-SNMP":.[.....
106140 20 20 20 20 22 4e 65 74 2d 53 4e 4d 50 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 ...."Net-SNMP.License",.........
106160 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
106180 22 4e 65 74 43 44 46 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 74 43 44 46 20 6c 69 63 65 "NetCDF":.[........."NetCDF.lice
1061a0 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c nse",.........false,.........fal
1061c0 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 65 77 73 6c 65 74 72 22 3a 20 5b 0a 20 20 20 20 se.....],....."Newsletr":.[.....
1061e0 20 20 20 20 22 4e 65 77 73 6c 65 74 72 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 ...."Newsletr.License",.........
106200 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
106220 22 4e 47 50 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 74 68 61 63 6b 20 47 65 6e 65 72 "NGPL":.[........."Nethack.Gener
106240 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 al.Public.License",.........true
106260 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 4c 4f 44 ,.........false.....],....."NLOD
106280 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 6f 72 77 65 67 69 61 6e 20 4c 69 63 65 -1.0":.[........."Norwegian.Lice
1062a0 6e 63 65 20 66 6f 72 20 4f 70 65 6e 20 47 6f 76 65 72 6e 6d 65 6e 74 20 44 61 74 61 22 2c 0a 20 nce.for.Open.Government.Data",..
1062c0 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
1062e0 5d 2c 0a 20 20 20 20 22 4e 4c 50 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 6f 20 4c 69 6d ],....."NLPL":.[........."No.Lim
106300 69 74 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 it.Public.License",.........fals
106320 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 6f 6b e,.........false.....],....."Nok
106340 69 61 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 6f 6b 69 61 20 4f 70 65 6e 20 53 6f 75 72 63 ia":.[........."Nokia.Open.Sourc
106360 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 e.License",.........true,.......
106380 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 4f 53 4c 22 3a 20 5b 0a 20 20 20 ..false.....],....."NOSL":.[....
1063a0 20 20 20 20 20 22 4e 65 74 69 7a 65 6e 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 ....."Netizen.Open.Source.Licens
1063c0 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 e",.........false,.........false
1063e0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 6f 77 65 62 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 .....],....."Noweb":.[........."
106400 4e 6f 77 65 62 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 Noweb.License",.........false,..
106420 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 50 4c 2d 31 2e 30 .......false.....],....."NPL-1.0
106440 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 74 73 63 61 70 65 20 50 75 62 6c 69 63 20 4c 69 ":.[........."Netscape.Public.Li
106460 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 cense.v1.0",.........false,.....
106480 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 50 4c 2d 31 2e 31 22 3a 20 ....false.....],....."NPL-1.1":.
1064a0 5b 0a 20 20 20 20 20 20 20 20 22 4e 65 74 73 63 61 70 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e [........."Netscape.Public.Licen
1064c0 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 se.v1.1",.........false,........
1064e0 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 50 4f 53 4c 2d 33 2e 30 22 3a 20 5b .false.....],....."NPOSL-3.0":.[
106500 0a 20 20 20 20 20 20 20 20 22 4e 6f 6e 2d 50 72 6f 66 69 74 20 4f 70 65 6e 20 53 6f 66 74 77 61 ........."Non-Profit.Open.Softwa
106520 72 65 20 4c 69 63 65 6e 73 65 20 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 re.License.3.0",.........true,..
106540 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4e 52 4c 22 3a 20 5b .......false.....],....."NRL":.[
106560 0a 20 20 20 20 20 20 20 20 22 4e 52 4c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 ........."NRL.License",.........
106580 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
1065a0 22 4e 54 50 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 54 50 20 4c 69 63 65 6e 73 65 22 2c 0a "NTP":.[........."NTP.License",.
1065c0 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 ........true,.........false.....
1065e0 5d 2c 0a 20 20 20 20 22 4e 75 6e 69 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4e 75 6e 69 74 ],....."Nunit":.[........."Nunit
106600 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 .License",.........false,.......
106620 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 43 43 54 2d 50 4c 22 3a 20 5b 0a 20 ..true.....],....."OCCT-PL":.[..
106640 20 20 20 20 20 20 20 22 4f 70 65 6e 20 43 41 53 43 41 44 45 20 54 65 63 68 6e 6f 6c 6f 67 79 20 ......."Open.CASCADE.Technology.
106660 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a Public.License",.........false,.
106680 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 43 4c 43 2d 32 ........false.....],....."OCLC-2
1066a0 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 43 4c 43 20 52 65 73 65 61 72 63 68 20 50 75 .0":.[........."OCLC.Research.Pu
1066c0 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c blic.License.2.0",.........true,
1066e0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 44 62 4c 2d .........false.....],....."ODbL-
106700 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 44 43 20 4f 70 65 6e 20 44 61 74 61 62 61 1.0":.[........."ODC.Open.Databa
106720 73 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c se.License.v1.0",.........false,
106740 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 44 43 2d 42 .........false.....],....."ODC-B
106760 79 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 44 61 74 61 20 43 6f 6d y-1.0":.[........."Open.Data.Com
106780 6d 6f 6e 73 20 41 74 74 72 69 62 75 74 69 6f 6e 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a mons.Attribution.License.v1.0",.
1067a0 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
1067c0 20 5d 2c 0a 20 20 20 20 22 4f 46 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 49 .],....."OFL-1.0":.[........."SI
1067e0 4c 20 4f 70 65 6e 20 46 6f 6e 74 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 L.Open.Font.License.1.0",.......
106800 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
106820 20 20 22 4f 46 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 49 4c 20 4f 70 65 6e .."OFL-1.1":.[........."SIL.Open
106840 20 46 6f 6e 74 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 .Font.License.1.1",.........true
106860 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 47 4c 2d ,.........false.....],....."OGL-
106880 55 4b 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 47 6f 76 65 72 6e 6d UK-1.0":.[........."Open.Governm
1068a0 65 6e 74 20 4c 69 63 65 6e 63 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 ent.Licence.v1.0",.........false
1068c0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 47 4c 2d ,.........false.....],....."OGL-
1068e0 55 4b 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 47 6f 76 65 72 6e 6d UK-2.0":.[........."Open.Governm
106900 65 6e 74 20 4c 69 63 65 6e 63 65 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 ent.Licence.v2.0",.........false
106920 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 47 4c 2d ,.........false.....],....."OGL-
106940 55 4b 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 47 6f 76 65 72 6e 6d UK-3.0":.[........."Open.Governm
106960 65 6e 74 20 4c 69 63 65 6e 63 65 20 76 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 ent.Licence.v3.0",.........false
106980 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 47 54 53 ,.........false.....],....."OGTS
1069a0 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 47 72 6f 75 70 20 54 65 73 74 20 53 L":.[........."Open.Group.Test.S
1069c0 75 69 74 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 uite.License",.........true,....
1069e0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 31 2e 31 .....false.....],....."OLDAP-1.1
106a00 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 4c ":.[........."Open.LDAP.Public.L
106a20 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 icense.v1.1",.........false,....
106a40 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 31 2e 32 .....false.....],....."OLDAP-1.2
106a60 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 4c ":.[........."Open.LDAP.Public.L
106a80 69 63 65 6e 73 65 20 76 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 icense.v1.2",.........false,....
106aa0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 31 2e 33 .....false.....],....."OLDAP-1.3
106ac0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 4c ":.[........."Open.LDAP.Public.L
106ae0 69 63 65 6e 73 65 20 76 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 icense.v1.3",.........false,....
106b00 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 31 2e 34 .....false.....],....."OLDAP-1.4
106b20 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 4c ":.[........."Open.LDAP.Public.L
106b40 69 63 65 6e 73 65 20 76 31 2e 34 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 icense.v1.4",.........false,....
106b60 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 32 2e 30 .....false.....],....."OLDAP-2.0
106b80 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 4c ":.[........."Open.LDAP.Public.L
106ba0 69 63 65 6e 73 65 20 76 32 2e 30 20 28 6f 72 20 70 6f 73 73 69 62 6c 79 20 32 2e 30 41 20 61 6e icense.v2.0.(or.possibly.2.0A.an
106bc0 64 20 32 2e 30 42 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 d.2.0B)",.........false,........
106be0 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 32 2e 30 2e 31 22 3a .false.....],....."OLDAP-2.0.1":
106c00 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 4c 69 63 .[........."Open.LDAP.Public.Lic
106c20 65 6e 73 65 20 76 32 2e 30 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 ense.v2.0.1",.........false,....
106c40 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 32 2e 31 .....false.....],....."OLDAP-2.1
106c60 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 4c ":.[........."Open.LDAP.Public.L
106c80 69 63 65 6e 73 65 20 76 32 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 icense.v2.1",.........false,....
106ca0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 32 2e 32 .....false.....],....."OLDAP-2.2
106cc0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 20 4c ":.[........."Open.LDAP.Public.L
106ce0 69 63 65 6e 73 65 20 76 32 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 icense.v2.2",.........false,....
106d00 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 2d 32 2e 32 .....false.....],....."OLDAP-2.2
106d20 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 62 6c 69 63 .1":.[........."Open.LDAP.Public
106d40 20 4c 69 63 65 6e 73 65 20 76 32 2e 32 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c .License.v2.2.1",.........false,
106d60 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c 44 41 50 .........false.....],....."OLDAP
106d80 2d 32 2e 32 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 75 -2.2.2":.[........."Open.LDAP.Pu
106da0 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 32 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c blic.License.2.2.2",.........fal
106dc0 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c se,.........false.....],....."OL
106de0 44 41 50 2d 32 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 DAP-2.3":.[........."Open.LDAP.P
106e00 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ublic.License.v2.3",.........fal
106e20 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c se,.........false.....],....."OL
106e40 44 41 50 2d 32 2e 34 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 DAP-2.4":.[........."Open.LDAP.P
106e60 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 34 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ublic.License.v2.4",.........fal
106e80 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c se,.........false.....],....."OL
106ea0 44 41 50 2d 32 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 DAP-2.5":.[........."Open.LDAP.P
106ec0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 35 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ublic.License.v2.5",.........fal
106ee0 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c se,.........false.....],....."OL
106f00 44 41 50 2d 32 2e 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 DAP-2.6":.[........."Open.LDAP.P
106f20 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 36 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ublic.License.v2.6",.........fal
106f40 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c se,.........false.....],....."OL
106f60 44 41 50 2d 32 2e 37 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 DAP-2.7":.[........."Open.LDAP.P
106f80 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 37 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ublic.License.v2.7",.........fal
106fa0 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4c se,.........false.....],....."OL
106fc0 44 41 50 2d 32 2e 38 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4c 44 41 50 20 50 DAP-2.8":.[........."Open.LDAP.P
106fe0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 32 2e 38 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ublic.License.v2.8",.........fal
107000 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 4d se,.........false.....],....."OM
107020 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 4d 61 72 6b 65 74 20 4c 69 63 65 6e L":.[........."Open.Market.Licen
107040 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 se",.........false,.........fals
107060 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 70 65 6e 53 53 4c 22 3a 20 5b 0a 20 20 20 20 20 20 e.....],....."OpenSSL":.[.......
107080 20 20 22 4f 70 65 6e 53 53 4c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c .."OpenSSL.License",.........fal
1070a0 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 50 se,.........false.....],....."OP
1070c0 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 50 75 62 6c 69 63 20 4c L-1.0":.[........."Open.Public.L
1070e0 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 icense.v1.0",.........false,....
107100 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 53 45 54 2d 50 4c 2d 32 .....false.....],....."OSET-PL-2
107120 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 53 45 54 20 50 75 62 6c 69 63 20 4c 69 63 65 .1":.[........."OSET.Public.Lice
107140 6e 73 65 20 76 65 72 73 69 6f 6e 20 32 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a nse.version.2.1",.........true,.
107160 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 53 4c 2d 31 2e ........false.....],....."OSL-1.
107180 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 53 6f 66 74 77 61 72 65 20 4c 69 63 0":.[........."Open.Software.Lic
1071a0 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 ense.1.0",.........true,........
1071c0 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 53 4c 2d 31 2e 31 22 3a 20 5b 0a 20 .false.....],....."OSL-1.1":.[..
1071e0 20 20 20 20 20 20 20 22 4f 70 65 6e 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 31 2e ......."Open.Software.License.1.
107200 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 1",.........false,.........false
107220 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f 53 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 .....],....."OSL-2.0":.[........
107240 20 22 4f 70 65 6e 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 ."Open.Software.License.2.0",...
107260 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
107280 0a 20 20 20 20 22 4f 53 4c 2d 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 ....."OSL-2.1":.[........."Open.
1072a0 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 32 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 Software.License.2.1",.........t
1072c0 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 4f rue,.........false.....],....."O
1072e0 53 4c 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 70 65 6e 20 53 6f 66 74 77 61 72 SL-3.0":.[........."Open.Softwar
107300 65 20 4c 69 63 65 6e 73 65 20 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 e.License.3.0",.........true,...
107320 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 50 61 72 69 74 79 2d 36 ......false.....],....."Parity-6
107340 2e 30 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 68 65 20 50 61 72 69 74 79 20 50 75 62 .0.0":.[........."The.Parity.Pub
107360 6c 69 63 20 4c 69 63 65 6e 73 65 20 36 2e 30 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 lic.License.6.0.0",.........fals
107380 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 50 44 44 e,.........false.....],....."PDD
1073a0 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 4f 44 43 20 50 75 62 6c 69 63 20 44 6f L-1.0":.[........."ODC.Public.Do
1073c0 6d 61 69 6e 20 44 65 64 69 63 61 74 69 6f 6e 20 26 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a main.Dedication.&.License.1.0",.
1073e0 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
107400 20 5d 2c 0a 20 20 20 20 22 50 48 50 2d 33 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 48 .],....."PHP-3.0":.[........."PH
107420 50 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 P.License.v3.0",.........true,..
107440 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 50 48 50 2d 33 2e 30 .......false.....],....."PHP-3.0
107460 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 48 50 20 4c 69 63 65 6e 73 65 20 76 33 2e 30 31 1":.[........."PHP.License.v3.01
107480 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
1074a0 20 20 20 20 5d 2c 0a 20 20 20 20 22 50 6c 65 78 75 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 ....],....."Plexus":.[........."
1074c0 50 6c 65 78 75 73 20 43 6c 61 73 73 77 6f 72 6c 64 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 Plexus.Classworlds.License",....
1074e0 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
107500 0a 20 20 20 20 22 50 6f 73 74 67 72 65 53 51 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 6f ....."PostgreSQL":.[........."Po
107520 73 74 67 72 65 53 51 4c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c stgreSQL.License",.........true,
107540 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 70 73 66 72 61 .........false.....],....."psfra
107560 67 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 73 66 72 61 67 20 4c 69 63 65 6e 73 65 22 2c 0a g":.[........."psfrag.License",.
107580 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
1075a0 20 5d 2c 0a 20 20 20 20 22 70 73 75 74 69 6c 73 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 70 73 .],....."psutils":.[........."ps
1075c0 75 74 69 6c 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 utils.License",.........false,..
1075e0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 50 79 74 68 6f 6e 2d .......false.....],....."Python-
107600 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 50 79 74 68 6f 6e 20 4c 69 63 65 6e 73 65 20 2.0":.[........."Python.License.
107620 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 2.0",.........true,.........fals
107640 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 51 68 75 6c 6c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 e.....],....."Qhull":.[.........
107660 22 51 68 75 6c 6c 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a "Qhull.License",.........false,.
107680 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 51 50 4c 2d 31 2e ........false.....],....."QPL-1.
1076a0 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 51 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 0":.[........."Q.Public.License.
1076c0 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 1.0",.........true,.........fals
1076e0 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 64 69 73 63 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 e.....],....."Rdisc":.[.........
107700 22 52 64 69 73 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a "Rdisc.License",.........false,.
107720 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 48 65 43 6f 73 ........false.....],....."RHeCos
107740 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 65 64 20 48 61 74 20 65 43 6f 73 20 50 -1.1":.[........."Red.Hat.eCos.P
107760 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c ublic.License.v1.1",.........fal
107780 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 50 se,.........false.....],....."RP
1077a0 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 65 63 69 70 72 6f 63 61 6c 20 50 75 L-1.1":.[........."Reciprocal.Pu
1077c0 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c blic.License.1.1",.........true,
1077e0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 50 4c 2d 31 .........false.....],....."RPL-1
107800 2e 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 65 63 69 70 72 6f 63 61 6c 20 50 75 62 6c 69 .5":.[........."Reciprocal.Publi
107820 63 20 4c 69 63 65 6e 73 65 20 31 2e 35 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 c.License.1.5",.........true,...
107840 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 50 53 4c 2d 31 2e 30 ......false.....],....."RPSL-1.0
107860 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 65 61 6c 4e 65 74 77 6f 72 6b 73 20 50 75 62 6c 69 ":.[........."RealNetworks.Publi
107880 63 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 c.Source.License.v1.0",.........
1078a0 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
1078c0 52 53 41 2d 4d 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 53 41 20 4d 65 73 73 61 67 65 2d RSA-MD":.[........."RSA.Message-
1078e0 44 69 67 65 73 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a Digest.License",.........false,.
107900 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 53 43 50 4c 22 ........false.....],....."RSCPL"
107920 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 52 69 63 6f 68 20 53 6f 75 72 63 65 20 43 6f 64 65 20 50 :.[........."Ricoh.Source.Code.P
107940 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 ublic.License",.........true,...
107960 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 52 75 62 79 22 3a 20 5b ......false.....],....."Ruby":.[
107980 0a 20 20 20 20 20 20 20 20 22 52 75 62 79 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 ........."Ruby.License",........
1079a0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
1079c0 20 22 53 41 58 2d 50 44 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 61 78 20 50 75 62 6c 69 63 ."SAX-PD":.[........."Sax.Public
1079e0 20 44 6f 6d 61 69 6e 20 4e 6f 74 69 63 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a .Domain.Notice",.........false,.
107a00 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 61 78 70 61 74 ........false.....],....."Saxpat
107a20 68 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 61 78 70 61 74 68 20 4c 69 63 65 6e 73 65 22 2c h":.[........."Saxpath.License",
107a40 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 .........false,.........false...
107a60 20 20 5d 2c 0a 20 20 20 20 22 53 43 45 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 43 45 41 ..],....."SCEA":.[........."SCEA
107a80 20 53 68 61 72 65 64 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 .Shared.Source.License",........
107aa0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
107ac0 20 22 53 65 6e 64 6d 61 69 6c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 65 6e 64 6d 61 69 6c ."Sendmail":.[........."Sendmail
107ae0 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 .License",.........false,.......
107b00 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 65 6e 64 6d 61 69 6c 2d 38 2e 32 ..false.....],....."Sendmail-8.2
107b20 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 65 6e 64 6d 61 69 6c 20 4c 69 63 65 6e 73 65 20 3":.[........."Sendmail.License.
107b40 38 2e 32 33 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 8.23",.........false,.........fa
107b60 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 47 49 2d 42 2d 31 2e 30 22 3a 20 5b 0a 20 20 lse.....],....."SGI-B-1.0":.[...
107b80 20 20 20 20 20 20 22 53 47 49 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 ......"SGI.Free.Software.License
107ba0 20 42 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 .B.v1.0",.........false,........
107bc0 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 47 49 2d 42 2d 31 2e 31 22 3a 20 5b .false.....],....."SGI-B-1.1":.[
107be0 0a 20 20 20 20 20 20 20 20 22 53 47 49 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 ........."SGI.Free.Software.Lice
107c00 6e 73 65 20 42 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 nse.B.v1.1",.........false,.....
107c20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 47 49 2d 42 2d 32 2e 30 22 ....false.....],....."SGI-B-2.0"
107c40 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 47 49 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 4c :.[........."SGI.Free.Software.L
107c60 69 63 65 6e 73 65 20 42 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 icense.B.v2.0",.........false,..
107c80 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 48 4c 2d 30 2e 35 .......false.....],....."SHL-0.5
107ca0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 6f 6c 64 65 72 70 61 64 20 48 61 72 64 77 61 72 65 ":.[........."Solderpad.Hardware
107cc0 20 4c 69 63 65 6e 73 65 20 76 30 2e 35 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 .License.v0.5",.........false,..
107ce0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 48 4c 2d 30 2e 35 .......false.....],....."SHL-0.5
107d00 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 6f 6c 64 65 72 70 61 64 20 48 61 72 64 77 61 72 1":.[........."Solderpad.Hardwar
107d20 65 20 4c 69 63 65 6e 73 65 2c 20 56 65 72 73 69 6f 6e 20 30 2e 35 31 22 2c 0a 20 20 20 20 20 20 e.License,.Version.0.51",.......
107d40 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
107d60 20 20 22 53 69 6d 50 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 69 6d 70 6c 65 .."SimPL-2.0":.[........."Simple
107d80 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 .Public.License.2.0",.........tr
107da0 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 49 ue,.........false.....],....."SI
107dc0 53 53 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 75 6e 20 49 6e 64 75 73 74 72 79 20 53 74 SSL":.[........."Sun.Industry.St
107de0 61 6e 64 61 72 64 73 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 andards.Source.License.v1.1",...
107e00 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
107e20 0a 20 20 20 20 22 53 49 53 53 4c 2d 31 2e 32 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 75 6e ....."SISSL-1.2":.[........."Sun
107e40 20 49 6e 64 75 73 74 72 79 20 53 74 61 6e 64 61 72 64 73 20 53 6f 75 72 63 65 20 4c 69 63 65 6e .Industry.Standards.Source.Licen
107e60 73 65 20 76 31 2e 32 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 se.v1.2",.........false,........
107e80 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 6c 65 65 70 79 63 61 74 22 3a 20 5b .false.....],....."Sleepycat":.[
107ea0 0a 20 20 20 20 20 20 20 20 22 53 6c 65 65 70 79 63 61 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 ........."Sleepycat.License",...
107ec0 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c ......true,.........false.....],
107ee0 0a 20 20 20 20 22 53 4d 4c 4e 4a 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 74 61 6e 64 61 72 ....."SMLNJ":.[........."Standar
107f00 64 20 4d 4c 20 6f 66 20 4e 65 77 20 4a 65 72 73 65 79 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 d.ML.of.New.Jersey.License",....
107f20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
107f40 0a 20 20 20 20 22 53 4d 50 50 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 65 63 75 72 65 20 ....."SMPPL":.[........."Secure.
107f60 4d 65 73 73 61 67 69 6e 67 20 50 72 6f 74 6f 63 6f 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 Messaging.Protocol.Public.Licens
107f80 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 e",.........false,.........false
107fa0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 4e 49 41 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 .....],....."SNIA":.[........."S
107fc0 4e 49 41 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 NIA.Public.License.1.1",........
107fe0 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 .false,.........false.....],....
108000 20 22 53 70 65 6e 63 65 72 2d 38 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 70 65 6e 63 65 ."Spencer-86":.[........."Spence
108020 72 20 4c 69 63 65 6e 73 65 20 38 36 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 r.License.86",.........false,...
108040 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 70 65 6e 63 65 72 2d ......false.....],....."Spencer-
108060 39 34 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 70 65 6e 63 65 72 20 4c 69 63 65 6e 73 65 20 94":.[........."Spencer.License.
108080 39 34 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 94",.........false,.........fals
1080a0 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 70 65 6e 63 65 72 2d 39 39 22 3a 20 5b 0a 20 20 20 e.....],....."Spencer-99":.[....
1080c0 20 20 20 20 20 22 53 70 65 6e 63 65 72 20 4c 69 63 65 6e 73 65 20 39 39 22 2c 0a 20 20 20 20 20 ....."Spencer.License.99",......
1080e0 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
108100 20 20 20 22 53 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 75 6e 20 50 75 62 ..."SPL-1.0":.[........."Sun.Pub
108120 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c lic.License.v1.0",.........true,
108140 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 53 50 4c 2d .........false.....],....."SSPL-
108160 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 65 72 76 65 72 20 53 69 64 65 20 50 75 62 1.0":.[........."Server.Side.Pub
108180 6c 69 63 20 4c 69 63 65 6e 73 65 2c 20 76 20 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 lic.License,.v.1",.........false
1081a0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 53 74 61 6e ,.........false.....],....."Stan
1081c0 64 61 72 64 4d 4c 2d 4e 4a 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 74 61 6e 64 61 72 64 20 dardML-NJ":.[........."Standard.
1081e0 4d 4c 20 6f 66 20 4e 65 77 20 4a 65 72 73 65 79 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 ML.of.New.Jersey.License",......
108200 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 0a 20 20 20 20 5d 2c 0a 20 20 ...false,.........true.....],...
108220 20 20 22 53 75 67 61 72 43 52 4d 2d 31 2e 31 2e 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 .."SugarCRM-1.1.3":.[........."S
108240 75 67 61 72 43 52 4d 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 2e 33 22 2c 0a ugarCRM.Public.License.v1.1.3",.
108260 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
108280 20 5d 2c 0a 20 20 20 20 22 53 57 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 53 63 68 65 6d 65 .],....."SWL":.[........."Scheme
1082a0 20 57 69 64 67 65 74 20 4c 69 62 72 61 72 79 20 28 53 57 4c 29 20 53 6f 66 74 77 61 72 65 20 4c .Widget.Library.(SWL).Software.L
1082c0 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 icense.Agreement",.........false
1082e0 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 41 50 52 ,.........false.....],....."TAPR
108300 2d 4f 48 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 41 50 52 20 4f 70 65 6e 20 -OHL-1.0":.[........."TAPR.Open.
108320 48 61 72 64 77 61 72 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 Hardware.License.v1.0",.........
108340 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
108360 22 54 43 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 43 4c 2f 54 4b 20 4c 69 63 65 6e 73 65 "TCL":.[........."TCL/TK.License
108380 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a ",.........false,.........false.
1083a0 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 43 50 2d 77 72 61 70 70 65 72 73 22 3a 20 5b 0a 20 20 20 ....],....."TCP-wrappers":.[....
1083c0 20 20 20 20 20 22 54 43 50 20 57 72 61 70 70 65 72 73 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 ....."TCP.Wrappers.License",....
1083e0 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c .....false,.........false.....],
108400 0a 20 20 20 20 22 54 4d 61 74 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 4d 61 74 65 20 4f ....."TMate":.[........."TMate.O
108420 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c pen.Source.License",.........fal
108440 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 4f se,.........false.....],....."TO
108460 52 51 55 45 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 4f 52 51 55 45 20 76 32 2e RQUE-1.1":.[........."TORQUE.v2.
108480 35 2b 20 53 6f 66 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 5+.Software.License.v1.1",......
1084a0 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
1084c0 20 20 20 22 54 4f 53 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 72 75 73 73 74 65 72 20 4f ..."TOSL":.[........."Trusster.O
1084e0 70 65 6e 20 53 6f 75 72 63 65 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c pen.Source.License",.........fal
108500 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 55 se,.........false.....],....."TU
108520 2d 42 65 72 6c 69 6e 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 65 63 68 6e 69 73 -Berlin-1.0":.[........."Technis
108540 63 68 65 20 55 6e 69 76 65 72 73 69 74 61 65 74 20 42 65 72 6c 69 6e 20 4c 69 63 65 6e 73 65 20 che.Universitaet.Berlin.License.
108560 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 1.0",.........false,.........fal
108580 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 54 55 2d 42 65 72 6c 69 6e 2d 32 2e 30 22 3a 20 5b se.....],....."TU-Berlin-2.0":.[
1085a0 0a 20 20 20 20 20 20 20 20 22 54 65 63 68 6e 69 73 63 68 65 20 55 6e 69 76 65 72 73 69 74 61 65 ........."Technische.Universitae
1085c0 74 20 42 65 72 6c 69 6e 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 t.Berlin.License.2.0",.........f
1085e0 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
108600 55 6e 69 63 6f 64 65 2d 44 46 53 2d 32 30 31 35 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 55 6e Unicode-DFS-2015":.[........."Un
108620 69 63 6f 64 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 2d 20 44 61 74 61 20 46 icode.License.Agreement.-.Data.F
108640 69 6c 65 73 20 61 6e 64 20 53 6f 66 74 77 61 72 65 20 28 32 30 31 35 29 22 2c 0a 20 20 20 20 20 iles.and.Software.(2015)",......
108660 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 ...false,.........false.....],..
108680 20 20 20 22 55 6e 69 63 6f 64 65 2d 44 46 53 2d 32 30 31 36 22 3a 20 5b 0a 20 20 20 20 20 20 20 ..."Unicode-DFS-2016":.[........
1086a0 20 22 55 6e 69 63 6f 64 65 20 4c 69 63 65 6e 73 65 20 41 67 72 65 65 6d 65 6e 74 20 2d 20 44 61 ."Unicode.License.Agreement.-.Da
1086c0 74 61 20 46 69 6c 65 73 20 61 6e 64 20 53 6f 66 74 77 61 72 65 20 28 32 30 31 36 29 22 2c 0a 20 ta.Files.and.Software.(2016)",..
1086e0 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
108700 5d 2c 0a 20 20 20 20 22 55 6e 69 63 6f 64 65 2d 54 4f 55 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 ],....."Unicode-TOU":.[.........
108720 22 55 6e 69 63 6f 64 65 20 54 65 72 6d 73 20 6f 66 20 55 73 65 22 2c 0a 20 20 20 20 20 20 20 20 "Unicode.Terms.of.Use",.........
108740 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
108760 22 55 6e 6c 69 63 65 6e 73 65 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 54 68 65 20 55 6e 6c 69 "Unlicense":.[........."The.Unli
108780 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 cense",.........false,.........f
1087a0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 55 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 alse.....],....."UPL-1.0":.[....
1087c0 20 20 20 20 20 22 55 6e 69 76 65 72 73 61 6c 20 50 65 72 6d 69 73 73 69 76 65 20 4c 69 63 65 6e ....."Universal.Permissive.Licen
1087e0 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 se.v1.0",.........true,.........
108800 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 56 69 6d 22 3a 20 5b 0a 20 20 20 20 20 20 false.....],....."Vim":.[.......
108820 20 20 22 56 69 6d 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a .."Vim.License",.........false,.
108840 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 56 4f 53 54 52 4f ........false.....],....."VOSTRO
108860 4d 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 56 4f 53 54 52 4f 4d 20 50 75 62 6c 69 63 20 4c 69 M":.[........."VOSTROM.Public.Li
108880 63 65 6e 73 65 20 66 6f 72 20 4f 70 65 6e 20 53 6f 75 72 63 65 22 2c 0a 20 20 20 20 20 20 20 20 cense.for.Open.Source",.........
1088a0 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
1088c0 22 56 53 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 56 6f 76 69 64 61 20 53 6f 66 "VSL-1.0":.[........."Vovida.Sof
1088e0 74 77 61 72 65 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 tware.License.v1.0",.........tru
108900 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 57 33 43 e,.........false.....],....."W3C
108920 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 57 33 43 20 53 6f 66 74 77 61 72 65 20 4e 6f 74 69 63 ":.[........."W3C.Software.Notic
108940 65 20 61 6e 64 20 4c 69 63 65 6e 73 65 20 28 32 30 30 32 2d 31 32 2d 33 31 29 22 2c 0a 20 20 20 e.and.License.(2002-12-31)",....
108960 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a .....true,.........false.....],.
108980 20 20 20 20 22 57 33 43 2d 31 39 39 38 30 37 32 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 57 ...."W3C-19980720":.[........."W
1089a0 33 43 20 53 6f 66 74 77 61 72 65 20 4e 6f 74 69 63 65 20 61 6e 64 20 4c 69 63 65 6e 73 65 20 28 3C.Software.Notice.and.License.(
1089c0 31 39 39 38 2d 30 37 2d 32 30 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 1998-07-20)",.........false,....
1089e0 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 57 33 43 2d 32 30 31 35 30 .....false.....],....."W3C-20150
108a00 35 31 33 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 57 33 43 20 53 6f 66 74 77 61 72 65 20 4e 6f 513":.[........."W3C.Software.No
108a20 74 69 63 65 20 61 6e 64 20 44 6f 63 75 6d 65 6e 74 20 4c 69 63 65 6e 73 65 20 28 32 30 31 35 2d tice.and.Document.License.(2015-
108a40 30 35 2d 31 33 29 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 05-13)",.........false,.........
108a60 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 57 61 74 63 6f 6d 2d 31 2e 30 22 3a 20 5b false.....],....."Watcom-1.0":.[
108a80 0a 20 20 20 20 20 20 20 20 22 53 79 62 61 73 65 20 4f 70 65 6e 20 57 61 74 63 6f 6d 20 50 75 62 ........."Sybase.Open.Watcom.Pub
108aa0 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a lic.License.1.0",.........true,.
108ac0 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 57 73 75 69 70 61 ........false.....],....."Wsuipa
108ae0 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 57 73 75 69 70 61 20 4c 69 63 65 6e 73 65 22 2c 0a 20 ":.[........."Wsuipa.License",..
108b00 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 .......false,.........false.....
108b20 5d 2c 0a 20 20 20 20 22 57 54 46 50 4c 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 44 6f 20 57 68 ],....."WTFPL":.[........."Do.Wh
108b40 61 74 20 54 68 65 20 46 2a 63 6b 20 59 6f 75 20 57 61 6e 74 20 54 6f 20 50 75 62 6c 69 63 20 4c at.The.F*ck.You.Want.To.Public.L
108b60 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 icense",.........false,.........
108b80 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 77 78 57 69 6e 64 6f 77 73 22 3a 20 5b 0a false.....],....."wxWindows":.[.
108ba0 20 20 20 20 20 20 20 20 22 77 78 57 69 6e 64 6f 77 73 20 4c 69 62 72 61 72 79 20 4c 69 63 65 6e ........"wxWindows.Library.Licen
108bc0 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 se",.........false,.........true
108be0 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 58 31 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 58 31 .....],....."X11":.[........."X1
108c00 31 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 1.License",.........false,......
108c20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 58 65 72 6f 78 22 3a 20 5b 0a 20 ...false.....],....."Xerox":.[..
108c40 20 20 20 20 20 20 20 22 58 65 72 6f 78 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 ......."Xerox.License",.........
108c60 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 false,.........false.....],.....
108c80 22 58 46 72 65 65 38 36 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 58 46 72 65 65 38 "XFree86-1.1":.[........."XFree8
108ca0 36 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 6.License.1.1",.........false,..
108cc0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 78 69 6e 65 74 64 22 .......false.....],....."xinetd"
108ce0 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 78 69 6e 65 74 64 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 :.[........."xinetd.License",...
108d00 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d ......false,.........false.....]
108d20 2c 0a 20 20 20 20 22 58 6e 65 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 58 2e 4e 65 74 20 4c ,....."Xnet":.[........."X.Net.L
108d40 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 icense",.........true,.........f
108d60 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 78 70 70 22 3a 20 5b 0a 20 20 20 20 20 20 20 alse.....],....."xpp":.[........
108d80 20 22 58 50 50 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 ."XPP.License",.........false,..
108da0 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 58 53 6b 61 74 22 3a .......false.....],....."XSkat":
108dc0 20 5b 0a 20 20 20 20 20 20 20 20 22 58 53 6b 61 74 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 .[........."XSkat.License",.....
108de0 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a ....false,.........false.....],.
108e00 20 20 20 20 22 59 50 4c 2d 31 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 59 61 68 6f 6f 21 ...."YPL-1.0":.[........."Yahoo!
108e20 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 .Public.License.v1.0",.........f
108e40 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 alse,.........false.....],....."
108e60 59 50 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 59 61 68 6f 6f 21 20 50 75 62 6c YPL-1.1":.[........."Yahoo!.Publ
108e80 69 63 20 4c 69 63 65 6e 73 65 20 76 31 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c ic.License.v1.1",.........false,
108ea0 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 5a 65 64 22 3a .........false.....],....."Zed":
108ec0 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 65 64 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 .[........."Zed.License",.......
108ee0 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 ..false,.........false.....],...
108f00 20 20 22 5a 65 6e 64 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 65 6e 64 20 4c 69 .."Zend-2.0":.[........."Zend.Li
108f20 63 65 6e 73 65 20 76 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 cense.v2.0",.........false,.....
108f40 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 5a 69 6d 62 72 61 2d 31 2e 33 ....false.....],....."Zimbra-1.3
108f60 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 69 6d 62 72 61 20 50 75 62 6c 69 63 20 4c 69 63 65 ":.[........."Zimbra.Public.Lice
108f80 6e 73 65 20 76 31 2e 33 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 nse.v1.3",.........false,.......
108fa0 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 5a 69 6d 62 72 61 2d 31 2e 34 22 3a ..false.....],....."Zimbra-1.4":
108fc0 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 69 6d 62 72 61 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 .[........."Zimbra.Public.Licens
108fe0 65 20 76 31 2e 34 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 e.v1.4",.........false,.........
109000 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 5a 6c 69 62 22 3a 20 5b 0a 20 20 20 20 20 false.....],....."Zlib":.[......
109020 20 20 20 22 7a 6c 69 62 20 4c 69 63 65 6e 73 65 22 2c 0a 20 20 20 20 20 20 20 20 74 72 75 65 2c ..."zlib.License",.........true,
109040 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 7a 6c 69 62 2d .........false.....],....."zlib-
109060 61 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 7a 6c 69 acknowledgement":.[........."zli
109080 62 2f 6c 69 62 70 6e 67 20 4c 69 63 65 6e 73 65 20 77 69 74 68 20 41 63 6b 6e 6f 77 6c 65 64 67 b/libpng.License.with.Acknowledg
1090a0 65 6d 65 6e 74 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 ement",.........false,.........f
1090c0 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 5a 50 4c 2d 31 2e 31 22 3a 20 5b 0a 20 20 20 alse.....],....."ZPL-1.1":.[....
1090e0 20 20 20 20 20 22 5a 6f 70 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 31 2e 31 22 2c 0a ....."Zope.Public.License.1.1",.
109100 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 ........false,.........false....
109120 20 5d 2c 0a 20 20 20 20 22 5a 50 4c 2d 32 2e 30 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 6f .],....."ZPL-2.0":.[........."Zo
109140 70 65 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 32 2e 30 22 2c 0a 20 20 20 20 20 20 20 20 pe.Public.License.2.0",.........
109160 74 72 75 65 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 2c 0a 20 20 20 20 22 true,.........false.....],....."
109180 5a 50 4c 2d 32 2e 31 22 3a 20 5b 0a 20 20 20 20 20 20 20 20 22 5a 6f 70 65 20 50 75 62 6c 69 63 ZPL-2.1":.[........."Zope.Public
1091a0 20 4c 69 63 65 6e 73 65 20 32 2e 31 22 2c 0a 20 20 20 20 20 20 20 20 66 61 6c 73 65 2c 0a 20 20 .License.2.1",.........false,...
1091c0 20 20 20 20 20 20 66 61 6c 73 65 0a 20 20 20 20 5d 0a 7d 4d 5a 90 00 03 00 00 00 04 00 00 00 ff ......false.....].}MZ...........
1091e0 ff 00 00 b8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...........@....................
109200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e8 00 00 00 0e 1f ba 0e 00 b4 09 cd 21 b8 01 4c cd ...........................!..L.
109220 21 54 68 69 73 20 70 72 6f 67 72 61 6d 20 63 61 6e 6e 6f 74 20 62 65 20 72 75 6e 20 69 6e 20 44 !This.program.cannot.be.run.in.D
109240 4f 53 20 6d 6f 64 65 2e 0d 0d 0a 24 00 00 00 00 00 00 00 7f c6 2c cd 3b a7 42 9e 3b a7 42 9e 3b OS.mode....$.........,.;.B.;.B.;
109260 a7 42 9e 32 df d7 9e 3a a7 42 9e 32 df c1 9e 2d a7 42 9e 32 df c6 9e 39 a7 42 9e 32 df d1 9e 3f .B.2...:.B.2...-.B.2...9.B.2...?
109280 a7 42 9e 1c 61 39 9e 38 a7 42 9e 3b a7 43 9e 08 a7 42 9e 32 df c8 9e 3a a7 42 9e 32 df d6 9e 3a .B..a9.8.B.;.C...B.2...:.B.2...:
1092a0 a7 42 9e 32 df d3 9e 3a a7 42 9e 52 69 63 68 3b a7 42 9e 00 00 00 00 00 00 00 00 50 45 00 00 4c .B.2...:.B.Rich;.B.........PE..L
1092c0 01 05 00 ac 4d 6f 4f 00 00 00 00 00 00 00 00 e0 00 02 01 0b 01 09 00 00 0a 00 00 00 16 00 00 00 ....MoO.........................
1092e0 00 00 00 38 13 00 00 00 10 00 00 00 20 00 00 00 00 40 00 00 10 00 00 00 02 00 00 05 00 00 00 00 ...8.............@..............
109300 00 00 00 05 00 00 00 00 00 00 00 00 60 00 00 00 04 00 00 3f 9c 00 00 03 00 40 81 00 00 10 00 00 ............`......?.....@......
109320 10 00 00 00 00 10 00 00 10 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 90 22 00 00 50 ............................"..P
109340 00 00 00 00 40 00 00 20 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 00 00 70 ....@.......................P..p
109360 01 00 00 00 21 00 00 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ....!...........................
109380 00 00 00 38 21 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 d8 00 00 00 00 00 00 00 00 ...8!..@........................
1093a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2e 74 65 78 74 00 00 00 0b 09 00 00 00 ....................text........
1093c0 10 00 00 00 0a 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 60 2e 72 64 61 74 ..........................`.rdat
1093e0 61 00 00 ce 09 00 00 00 20 00 00 00 0a 00 00 00 0e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 a..............................@
109400 00 00 40 2e 64 61 74 61 00 00 00 90 03 00 00 00 30 00 00 00 02 00 00 00 18 00 00 00 00 00 00 00 ..@.data........0...............
109420 00 00 00 00 00 00 00 40 00 00 c0 2e 72 73 72 63 00 00 00 20 06 00 00 00 40 00 00 00 08 00 00 00 .......@....rsrc........@.......
109440 1a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 40 2e 72 65 6c 6f 63 00 00 cc 01 00 00 00 ...............@..@.reloc.......
109460 50 00 00 00 02 00 00 00 22 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 00 00 42 00 00 00 00 00 P......."..............@..B.....
109480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1094a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1094c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1094e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1095a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1095c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 24 b8 e6 18 40 00 e8 78 08 00 00 6a ...................j$...@..x...j
1095e0 f6 ff 15 08 20 40 00 83 65 d0 00 8b f0 8d 45 d0 50 56 ff 15 00 20 40 00 8b 45 d0 83 e0 fb 50 56 .....@..e.....E.PV....@..E....PV
109600 ff 15 04 20 40 00 8d 4d d4 ff 15 58 20 40 00 83 65 fc 00 8d 45 d4 50 ff 35 48 20 40 00 ff 15 4c ....@..M...X.@..e...E.P.5H.@...L
109620 20 40 00 59 59 ff 35 5c 20 40 00 8d 45 d4 50 ff 35 60 20 40 00 ff 15 44 20 40 00 59 59 8b c8 ff .@.YY.5\.@..E.P.5`.@...D.@.YY...
109640 15 50 20 40 00 83 4d fc ff 8d 4d d4 ff 15 54 20 40 00 33 c0 e8 48 08 00 00 c3 3b 0d 00 30 40 00 .P.@..M...M...T.@.3..H....;..0@.
109660 75 02 f3 c3 e9 ac 02 00 00 68 80 15 40 00 e8 a3 04 00 00 a1 6c 33 40 00 c7 04 24 34 30 40 00 ff u........h..@.......l3@...$40@..
109680 35 68 33 40 00 a3 34 30 40 00 68 24 30 40 00 68 28 30 40 00 68 20 30 40 00 ff 15 a0 20 40 00 83 5h3@..40@.h$0@.h(0@.h.0@.....@..
1096a0 c4 14 a3 30 30 40 00 85 c0 7d 08 6a 08 e8 b9 03 00 00 59 c3 6a 10 68 08 22 40 00 e8 1f 06 00 00 ...00@...}.j......Y.j.h."@......
1096c0 33 db 89 5d fc 64 a1 18 00 00 00 8b 70 04 89 5d e4 bf 80 33 40 00 53 56 57 ff 15 30 20 40 00 3b 3..].d......p..]...3@.SVW..0.@.;
1096e0 c3 74 19 3b c6 75 08 33 f6 46 89 75 e4 eb 10 68 e8 03 00 00 ff 15 34 20 40 00 eb da 33 f6 46 a1 .t.;.u.3.F.u...h......4.@...3.F.
109700 7c 33 40 00 3b c6 75 0a 6a 1f e8 5c 03 00 00 59 eb 3b a1 7c 33 40 00 85 c0 75 2c 89 35 7c 33 40 |3@.;.u.j..\...Y.;.|3@...u,.5|3@
109720 00 68 f0 20 40 00 68 e4 20 40 00 e8 a7 05 00 00 59 59 85 c0 74 17 c7 45 fc fe ff ff ff b8 ff 00 .h..@.h..@......YY..t..E........
109740 00 00 e9 dd 00 00 00 89 35 3c 30 40 00 a1 7c 33 40 00 3b c6 75 1b 68 e0 20 40 00 68 d8 20 40 00 ........5<0@..|3@.;.u.h..@.h..@.
109760 e8 6c 05 00 00 59 59 c7 05 7c 33 40 00 02 00 00 00 39 5d e4 75 08 53 57 ff 15 38 20 40 00 39 1d .l...YY..|3@.....9].u.SW..8.@.9.
109780 8c 33 40 00 74 19 68 8c 33 40 00 e8 83 04 00 00 59 85 c0 74 0a 53 6a 02 53 ff 15 8c 33 40 00 a1 .3@.t.h.3@......Y..t.Sj.S...3@..
1097a0 24 30 40 00 8b 0d bc 20 40 00 89 01 ff 35 24 30 40 00 ff 35 28 30 40 00 ff 35 20 30 40 00 e8 10 $0@.....@....5$0@..5(0@..5.0@...
1097c0 fe ff ff 83 c4 0c a3 38 30 40 00 39 1d 2c 30 40 00 75 37 50 ff 15 c0 20 40 00 8b 45 ec 8b 08 8b .......80@.9.,0@.u7P....@..E....
1097e0 09 89 4d e0 50 51 e8 8e 03 00 00 59 59 c3 8b 65 e8 8b 45 e0 a3 38 30 40 00 33 db 39 1d 2c 30 40 ..M.PQ.....YY..e..E..80@.3.9.,0@
109800 00 75 07 50 ff 15 68 20 40 00 39 1d 3c 30 40 00 75 06 ff 15 9c 20 40 00 c7 45 fc fe ff ff ff a1 .u.P..h.@.9.<0@.u.....@..E......
109820 38 30 40 00 e8 fb 04 00 00 c3 b8 4d 5a 00 00 66 39 05 00 00 40 00 74 04 33 c0 eb 4d a1 3c 00 40 80@........MZ..f9...@.t.3..M.<.@
109840 00 8d 80 00 00 40 00 81 38 50 45 00 00 75 e9 0f b7 48 18 81 f9 0b 01 00 00 74 1b 81 f9 0b 02 00 .....@..8PE..u...H.......t......
109860 00 75 d5 83 b8 84 00 00 00 0e 76 cc 33 c9 39 88 f8 00 00 00 eb 0e 83 78 74 0e 76 bc 33 c9 39 88 .u........v.3.9........xt.v.3.9.
109880 e8 00 00 00 0f 95 c1 8b c1 6a 01 a3 2c 30 40 00 ff 15 70 20 40 00 6a ff ff 15 6c 20 40 00 59 59 .........j..,0@...p.@.j...l.@.YY
1098a0 a3 84 33 40 00 a3 88 33 40 00 ff 15 cc 20 40 00 8b 0d 74 33 40 00 89 08 ff 15 88 20 40 00 8b 0d ..3@...3@.....@...t3@.......@...
1098c0 70 33 40 00 89 08 a1 a8 20 40 00 8b 00 a3 78 33 40 00 e8 56 02 00 00 e8 ac 04 00 00 83 3d 14 30 p3@......@....x3@..V.........=.0
1098e0 40 00 00 75 0c 68 b5 17 40 00 ff 15 ac 20 40 00 59 e8 67 04 00 00 83 3d 10 30 40 00 ff 75 09 6a @..u.h..@.....@.Y.g....=.0@..u.j
109900 ff ff 15 b0 20 40 00 59 33 c0 c3 e8 7b 04 00 00 e9 9f fd ff ff 8b ff 55 8b ec 81 ec 28 03 00 00 .....@.Y3...{..........U....(...
109920 a3 48 31 40 00 89 0d 44 31 40 00 89 15 40 31 40 00 89 1d 3c 31 40 00 89 35 38 31 40 00 89 3d 34 .H1@...D1@...@1@...<1@..581@..=4
109940 31 40 00 66 8c 15 60 31 40 00 66 8c 0d 54 31 40 00 66 8c 1d 30 31 40 00 66 8c 05 2c 31 40 00 66 1@.f..`1@.f..T1@.f..01@.f..,1@.f
109960 8c 25 28 31 40 00 66 8c 2d 24 31 40 00 9c 8f 05 58 31 40 00 8b 45 00 a3 4c 31 40 00 8b 45 04 a3 .%(1@.f.-$1@....X1@..E..L1@..E..
109980 50 31 40 00 8d 45 08 a3 5c 31 40 00 8b 85 e0 fc ff ff c7 05 98 30 40 00 01 00 01 00 a1 50 31 40 P1@..E..\1@..........0@......P1@
1099a0 00 a3 4c 30 40 00 c7 05 40 30 40 00 09 04 00 c0 c7 05 44 30 40 00 01 00 00 00 a1 00 30 40 00 89 ..L0@...@0@.......D0@.......0@..
1099c0 85 d8 fc ff ff a1 04 30 40 00 89 85 dc fc ff ff ff 15 1c 20 40 00 a3 90 30 40 00 6a 01 e8 3f 04 .......0@...........@...0@.j..?.
1099e0 00 00 59 6a 00 ff 15 20 20 40 00 68 1c 21 40 00 ff 15 24 20 40 00 83 3d 90 30 40 00 00 75 08 6a ..Yj.....@.h.!@...$.@..=.0@..u.j
109a00 01 e8 1b 04 00 00 59 68 09 04 00 c0 ff 15 28 20 40 00 50 ff 15 2c 20 40 00 c9 c3 8b ff 55 8b ec ......Yh......(.@.P..,.@.....U..
109a20 8b 45 08 8b 00 81 38 63 73 6d e0 75 2a 83 78 10 03 75 24 8b 40 14 3d 20 05 93 19 74 15 3d 21 05 .E....8csm.u*.x..u$.@.=....t.=!.
109a40 93 19 74 0e 3d 22 05 93 19 74 07 3d 00 40 99 01 75 05 e8 d0 03 00 00 33 c0 5d c2 04 00 68 48 14 ..t.="...t.=.@..u......3.]...hH.
109a60 40 00 ff 15 20 20 40 00 33 c0 c3 ff 25 a4 20 40 00 6a 14 68 28 22 40 00 e8 62 02 00 00 ff 35 88 @.....@.3...%..@.j.h("@..b....5.
109a80 33 40 00 8b 35 8c 20 40 00 ff d6 59 89 45 e4 83 f8 ff 75 0c ff 75 08 ff 15 c4 20 40 00 59 eb 67 3@..5..@...Y.E....u..u.....@.Y.g
109aa0 6a 08 e8 92 03 00 00 59 83 65 fc 00 ff 35 88 33 40 00 ff d6 89 45 e4 ff 35 84 33 40 00 ff d6 59 j......Y.e...5.3@....E..5.3@...Y
109ac0 59 89 45 e0 8d 45 e0 50 8d 45 e4 50 ff 75 08 8b 35 6c 20 40 00 ff d6 59 50 e8 55 03 00 00 89 45 Y.E..E.P.E.P.u..5l.@...YP.U....E
109ae0 dc ff 75 e4 ff d6 a3 88 33 40 00 ff 75 e0 ff d6 83 c4 14 a3 84 33 40 00 c7 45 fc fe ff ff ff e8 ..u.....3@..u........3@..E......
109b00 09 00 00 00 8b 45 dc e8 18 02 00 00 c3 6a 08 e8 19 03 00 00 59 c3 8b ff 55 8b ec ff 75 08 e8 4e .....E.......j......Y...U...u..N
109b20 ff ff ff f7 d8 1b c0 f7 d8 59 48 5d c3 8b ff 56 b8 fc 21 40 00 be fc 21 40 00 57 8b f8 3b c6 73 .........YH]...V..!@...!@.W..;.s
109b40 0f 8b 07 85 c0 74 02 ff d0 83 c7 04 3b fe 72 f1 5f 5e c3 8b ff 56 b8 04 22 40 00 be 04 22 40 00 .....t......;.r._^...V.."@..."@.
109b60 57 8b f8 3b c6 73 0f 8b 07 85 c0 74 02 ff d0 83 c7 04 3b fe 72 f1 5f 5e c3 ff 25 c8 20 40 00 cc W..;.s.....t......;.r._^..%..@..
109b80 cc cc cc 8b ff 55 8b ec 8b 4d 08 b8 4d 5a 00 00 66 39 01 74 04 33 c0 5d c3 8b 41 3c 03 c1 81 38 .....U...M..MZ..f9.t.3.]..A<...8
109ba0 50 45 00 00 75 ef 33 d2 b9 0b 01 00 00 66 39 48 18 0f 94 c2 8b c2 5d c3 cc cc cc cc cc cc cc cc PE..u.3......f9H......].........
109bc0 cc cc cc 8b ff 55 8b ec 8b 45 08 8b 48 3c 03 c8 0f b7 41 14 53 56 0f b7 71 06 33 d2 57 8d 44 08 .....U...E..H<....A.SV..q.3.W.D.
109be0 18 85 f6 76 1b 8b 7d 0c 8b 48 0c 3b f9 72 09 8b 58 08 03 d9 3b fb 72 0a 42 83 c0 28 3b d6 72 e8 ...v..}..H.;.r..X...;.r.B..(;.r.
109c00 33 c0 5f 5e 5b 5d c3 cc cc cc cc cc cc cc cc cc cc cc cc 8b ff 55 8b ec 6a fe 68 48 22 40 00 68 3._^[]...............U..j.hH"@.h
109c20 65 17 40 00 64 a1 00 00 00 00 50 83 ec 08 53 56 57 a1 00 30 40 00 31 45 f8 33 c5 50 8d 45 f0 64 e.@.d.....P...SVW..0@.1E.3.P.E.d
109c40 a3 00 00 00 00 89 65 e8 c7 45 fc 00 00 00 00 68 00 00 40 00 e8 2a ff ff ff 83 c4 04 85 c0 74 55 ......e..E.....h..@..*........tU
109c60 8b 45 08 2d 00 00 40 00 50 68 00 00 40 00 e8 50 ff ff ff 83 c4 08 85 c0 74 3b 8b 40 24 c1 e8 1f .E.-..@.Ph..@..P........t;.@$...
109c80 f7 d0 83 e0 01 c7 45 fc fe ff ff ff 8b 4d f0 64 89 0d 00 00 00 00 59 5f 5e 5b 8b e5 5d c3 8b 45 ......E......M.d......Y_^[..]..E
109ca0 ec 8b 08 8b 01 33 d2 3d 05 00 00 c0 0f 94 c2 8b c2 c3 8b 65 e8 c7 45 fc fe ff ff ff 33 c0 8b 4d .....3.=...........e..E.....3..M
109cc0 f0 64 89 0d 00 00 00 00 59 5f 5e 5b 8b e5 5d c3 cc ff 25 b8 20 40 00 ff 25 b4 20 40 00 cc cc 68 .d......Y_^[..]...%..@..%..@...h
109ce0 65 17 40 00 64 ff 35 00 00 00 00 8b 44 24 10 89 6c 24 10 8d 6c 24 10 2b e0 53 56 57 a1 00 30 40 e.@.d.5.....D$..l$..l$.+.SVW..0@
109d00 00 31 45 fc 33 c5 50 89 65 e8 ff 75 f8 8b 45 fc c7 45 fc fe ff ff ff 89 45 f8 8d 45 f0 64 a3 00 .1E.3.P.e..u..E..E......E..E.d..
109d20 00 00 00 c3 8b 4d f0 64 89 0d 00 00 00 00 59 5f 5f 5e 5b 8b e5 5d 51 c3 8b ff 55 8b ec ff 75 14 .....M.d......Y__^[..]Q...U...u.
109d40 ff 75 10 ff 75 0c ff 75 08 68 87 10 40 00 68 00 30 40 00 e8 e7 00 00 00 83 c4 18 5d c3 8b ff 56 .u..u..u.h..@.h.0@.........]...V
109d60 68 00 00 03 00 68 00 00 01 00 33 f6 56 e8 d9 00 00 00 83 c4 0c 85 c0 74 0d 56 56 56 56 56 e8 c2 h....h....3.V..........t.VVVVV..
109d80 00 00 00 83 c4 14 5e c3 33 c0 c3 8b ff 55 8b ec 83 ec 10 a1 00 30 40 00 83 65 f8 00 83 65 fc 00 ......^.3....U.......0@..e...e..
109da0 53 57 bf 4e e6 40 bb bb 00 00 ff ff 3b c7 74 0d 85 c3 74 09 f7 d0 a3 04 30 40 00 eb 60 56 8d 45 SW.N.@......;.t...t.....0@..`V.E
109dc0 f8 50 ff 15 3c 20 40 00 8b 75 fc 33 75 f8 ff 15 0c 20 40 00 33 f0 ff 15 10 20 40 00 33 f0 ff 15 .P..<.@..u.3u.....@.3.....@.3...
109de0 14 20 40 00 33 f0 8d 45 f0 50 ff 15 18 20 40 00 8b 45 f4 33 45 f0 33 f0 3b f7 75 07 be 4f e6 40 ..@.3..E.P....@..E.3E.3.;.u..O.@
109e00 bb eb 0b 85 f3 75 07 8b c6 c1 e0 10 0b f0 89 35 00 30 40 00 f7 d6 89 35 04 30 40 00 5e 5f 5b c9 .....u.........5.0@....5.0@.^_[.
109e20 c3 ff 25 74 20 40 00 ff 25 78 20 40 00 ff 25 7c 20 40 00 ff 25 80 20 40 00 ff 25 84 20 40 00 ff ..%t.@..%x.@..%|.@..%..@..%..@..
109e40 25 90 20 40 00 ff 25 94 20 40 00 ff 25 98 20 40 00 ff 25 d0 20 40 00 50 64 ff 35 00 00 00 00 8d %..@..%..@..%..@..%..@.Pd.5.....
109e60 44 24 0c 2b 64 24 0c 53 56 57 89 28 8b e8 a1 00 30 40 00 33 c5 50 89 45 f0 ff 75 fc c7 45 fc ff D$.+d$.SVW.(....0@.3.P.E..u..E..
109e80 ff ff ff 8d 45 f4 64 a3 00 00 00 00 c3 8b 4d f4 64 89 0d 00 00 00 00 59 5f 5f 5e 5b 8b e5 5d 51 ....E.d.......M.d......Y__^[..]Q
109ea0 c3 8b 4d f0 33 cd e8 af f7 ff ff e9 dd ff ff ff 8d 4d d4 ff 25 54 20 40 00 8b 54 24 08 8d 42 0c ..M.3............M..%T.@..T$..B.
109ec0 8b 4a cc 33 c8 e8 90 f7 ff ff 8b 4a fc 33 c8 e8 86 f7 ff ff b8 6c 22 40 00 e9 73 ff ff ff 00 00 .J.3.......J.3.......l"@..s.....
109ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b8 23 00 00 ca 23 00 00 dc 23 00 00 88 ....................#...#...#...
109fe0 29 00 00 72 29 00 00 62 29 00 00 48 29 00 00 34 29 00 00 16 29 00 00 fa 28 00 00 e6 28 00 00 d2 )..r)..b)..H)..4)...)...(...(...
10a000 28 00 00 b4 28 00 00 ac 28 00 00 96 28 00 00 9e 29 00 00 00 00 00 00 fa 23 00 00 e0 24 00 00 1a (...(...(...(...).......#...$...
10a020 25 00 00 ca 25 00 00 1a 26 00 00 64 26 00 00 ae 26 00 00 a4 24 00 00 00 00 00 00 28 27 00 00 c4 %...%...&..d&...&...$......('...
10a040 27 00 00 d6 27 00 00 e8 27 00 00 fe 27 00 00 1e 28 00 00 28 28 00 00 36 28 00 00 a6 27 00 00 48 '...'...'...'...(..((..6(...'..H
10a060 28 00 00 5a 28 00 00 74 28 00 00 86 28 00 00 1e 27 00 00 0e 27 00 00 00 27 00 00 96 27 00 00 82 (..Z(..t(...(...'...'...'...'...
10a080 27 00 00 6c 27 00 00 5e 27 00 00 52 27 00 00 46 27 00 00 3e 27 00 00 3e 28 00 00 30 27 00 00 b6 '..l'..^'..R'..F'..>'..>(..0'...
10a0a0 27 00 00 b8 29 00 00 00 00 00 00 00 00 00 00 96 10 40 00 00 00 00 00 00 00 00 00 57 12 40 00 8a '...)............@.........W.@..
10a0c0 14 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ac 4d 6f 4f 00 00 00 00 02 .@......................MoO.....
10a0e0 00 00 00 6c 00 00 00 80 21 00 00 80 0f 00 00 40 30 40 00 98 30 40 00 62 61 64 20 61 6c 6c 6f 63 ...l....!......@0@..0@.bad.alloc
10a100 61 74 69 6f 6e 00 00 00 00 00 00 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ation......H....................
10a120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a140 00 00 00 00 00 00 00 00 30 40 00 f0 21 40 00 02 00 00 00 52 53 44 53 d1 8c b3 10 b4 8f 01 4a a8 ........0@..!@.....RSDS.......J.
10a160 21 f6 cc eb 4c 5a 00 01 00 00 00 63 3a 5c 75 73 65 72 73 5c 73 65 6c 64 5c 64 6f 63 75 6d 65 6e !...LZ.....c:\users\seld\documen
10a180 74 73 5c 76 69 73 75 61 6c 20 73 74 75 64 69 6f 20 32 30 31 30 5c 50 72 6f 6a 65 63 74 73 5c 68 ts\visual.studio.2010\Projects\h
10a1a0 69 64 64 65 6e 69 6e 70 5c 52 65 6c 65 61 73 65 5c 68 69 64 64 65 6e 69 6e 70 2e 70 64 62 00 00 iddeninp\Release\hiddeninp.pdb..
10a1c0 00 00 00 65 17 00 00 e6 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fe ff ff ff 00 ...e............................
10a1e0 00 00 00 d0 ff ff ff 00 00 00 00 fe ff ff ff 07 12 40 00 1b 12 40 00 00 00 00 00 fe ff ff ff 00 .................@...@..........
10a200 00 00 00 cc ff ff ff 00 00 00 00 fe ff ff ff 00 00 00 00 3a 15 40 00 00 00 00 00 fe ff ff ff 00 ...................:.@..........
10a220 00 00 00 d8 ff ff ff 00 00 00 00 fe ff ff ff cb 16 40 00 df 16 40 00 ff ff ff ff dd 18 40 00 22 .................@...@.......@."
10a240 05 93 19 01 00 00 00 64 22 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 .......d"@......................
10a260 00 00 00 e0 22 00 00 00 00 00 00 00 00 00 00 ec 23 00 00 00 20 00 00 24 23 00 00 00 00 00 00 00 ...."...........#......$#.......
10a280 00 00 00 f4 26 00 00 44 20 00 00 48 23 00 00 00 00 00 00 00 00 00 00 12 28 00 00 68 20 00 00 00 ....&..D...H#...........(..h....
10a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b8 23 00 00 ca 23 00 00 dc 23 00 00 88 ....................#...#...#...
10a2c0 29 00 00 72 29 00 00 62 29 00 00 48 29 00 00 34 29 00 00 16 29 00 00 fa 28 00 00 e6 28 00 00 d2 )..r)..b)..H)..4)...)...(...(...
10a2e0 28 00 00 b4 28 00 00 ac 28 00 00 96 28 00 00 9e 29 00 00 00 00 00 00 fa 23 00 00 e0 24 00 00 1a (...(...(...(...).......#...$...
10a300 25 00 00 ca 25 00 00 1a 26 00 00 64 26 00 00 ae 26 00 00 a4 24 00 00 00 00 00 00 28 27 00 00 c4 %...%...&..d&...&...$......('...
10a320 27 00 00 d6 27 00 00 e8 27 00 00 fe 27 00 00 1e 28 00 00 28 28 00 00 36 28 00 00 a6 27 00 00 48 '...'...'...'...(..((..6(...'..H
10a340 28 00 00 5a 28 00 00 74 28 00 00 86 28 00 00 1e 27 00 00 0e 27 00 00 00 27 00 00 96 27 00 00 82 (..Z(..t(...(...'...'...'...'...
10a360 27 00 00 6c 27 00 00 5e 27 00 00 52 27 00 00 46 27 00 00 3e 27 00 00 3e 28 00 00 30 27 00 00 b6 '..l'..^'..R'..F'..>'..>(..0'...
10a380 27 00 00 b8 29 00 00 00 00 00 00 95 01 47 65 74 43 6f 6e 73 6f 6c 65 4d 6f 64 65 00 00 b7 03 53 '...)........GetConsoleMode....S
10a3a0 65 74 43 6f 6e 73 6f 6c 65 4d 6f 64 65 00 00 3b 02 47 65 74 53 74 64 48 61 6e 64 6c 65 00 00 4b etConsoleMode..;.GetStdHandle..K
10a3c0 45 52 4e 45 4c 33 32 2e 64 6c 6c 00 00 16 00 3f 3f 24 3f 36 44 55 3f 24 63 68 61 72 5f 74 72 61 ERNEL32.dll....??$?6DU?$char_tra
10a3e0 69 74 73 40 44 40 73 74 64 40 40 56 3f 24 61 6c 6c 6f 63 61 74 6f 72 40 44 40 31 40 40 73 74 64 its@D@std@@V?$allocator@D@1@@std
10a400 40 40 59 41 41 41 56 3f 24 62 61 73 69 63 5f 6f 73 74 72 65 61 6d 40 44 55 3f 24 63 68 61 72 5f @@YAAAV?$basic_ostream@DU?$char_
10a420 74 72 61 69 74 73 40 44 40 73 74 64 40 40 40 30 40 41 41 56 31 30 40 41 42 56 3f 24 62 61 73 69 traits@D@std@@@0@AAV10@ABV?$basi
10a440 63 5f 73 74 72 69 6e 67 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 c_string@DU?$char_traits@D@std@@
10a460 56 3f 24 61 6c 6c 6f 63 61 74 6f 72 40 44 40 32 40 40 30 40 40 5a 00 91 06 3f 63 6f 75 74 40 73 V?$allocator@D@2@@0@@Z...?cout@s
10a480 74 64 40 40 33 56 3f 24 62 61 73 69 63 5f 6f 73 74 72 65 61 6d 40 44 55 3f 24 63 68 61 72 5f 74 td@@3V?$basic_ostream@DU?$char_t
10a4a0 72 61 69 74 73 40 44 40 73 74 64 40 40 40 31 40 41 00 00 4a 06 3f 63 69 6e 40 73 74 64 40 40 33 raits@D@std@@@1@A..J.?cin@std@@3
10a4c0 56 3f 24 62 61 73 69 63 5f 69 73 74 72 65 61 6d 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 V?$basic_istream@DU?$char_traits
10a4e0 40 44 40 73 74 64 40 40 40 31 40 41 00 c2 00 3f 3f 24 67 65 74 6c 69 6e 65 40 44 55 3f 24 63 68 @D@std@@@1@A...??$getline@DU?$ch
10a500 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 56 3f 24 61 6c 6c 6f 63 61 74 6f 72 40 44 40 ar_traits@D@std@@V?$allocator@D@
10a520 32 40 40 73 74 64 40 40 59 41 41 41 56 3f 24 62 61 73 69 63 5f 69 73 74 72 65 61 6d 40 44 55 3f 2@@std@@YAAAV?$basic_istream@DU?
10a540 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 40 30 40 41 41 56 31 30 40 41 41 56 $char_traits@D@std@@@0@AAV10@AAV
10a560 3f 24 62 61 73 69 63 5f 73 74 72 69 6e 67 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 ?$basic_string@DU?$char_traits@D
10a580 40 73 74 64 40 40 56 3f 24 61 6c 6c 6f 63 61 74 6f 72 40 44 40 32 40 40 30 40 40 5a 00 1d 03 3f @std@@V?$allocator@D@2@@0@@Z...?
10a5a0 3f 36 3f 24 62 61 73 69 63 5f 6f 73 74 72 65 61 6d 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 ?6?$basic_ostream@DU?$char_trait
10a5c0 73 40 44 40 73 74 64 40 40 40 73 74 64 40 40 51 41 45 41 41 56 30 31 40 50 36 41 41 41 56 30 31 s@D@std@@@std@@QAEAAV01@P6AAAV01
10a5e0 40 41 41 56 30 31 40 40 5a 40 5a 00 00 5f 02 3f 3f 31 3f 24 62 61 73 69 63 5f 73 74 72 69 6e 67 @AAV01@@Z@Z.._.??1?$basic_string
10a600 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 56 3f 24 61 6c 6c 6f 63 @DU?$char_traits@D@std@@V?$alloc
10a620 61 74 6f 72 40 44 40 32 40 40 73 74 64 40 40 51 41 45 40 58 5a 00 00 7b 01 3f 3f 30 3f 24 62 61 ator@D@2@@std@@QAE@XZ..{.??0?$ba
10a640 73 69 63 5f 73 74 72 69 6e 67 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 sic_string@DU?$char_traits@D@std
10a660 40 40 56 3f 24 61 6c 6c 6f 63 61 74 6f 72 40 44 40 32 40 40 73 74 64 40 40 51 41 45 40 58 5a 00 @@V?$allocator@D@2@@std@@QAE@XZ.
10a680 00 b3 07 3f 65 6e 64 6c 40 73 74 64 40 40 59 41 41 41 56 3f 24 62 61 73 69 63 5f 6f 73 74 72 65 ...?endl@std@@YAAAV?$basic_ostre
10a6a0 61 6d 40 44 55 3f 24 63 68 61 72 5f 74 72 61 69 74 73 40 44 40 73 74 64 40 40 40 31 40 41 41 56 am@DU?$char_traits@D@std@@@1@AAV
10a6c0 32 31 40 40 5a 00 00 4d 53 56 43 50 39 30 2e 64 6c 6c 00 15 01 5f 61 6d 73 67 5f 65 78 69 74 00 21@@Z..MSVCP90.dll..._amsg_exit.
10a6e0 00 9f 00 5f 5f 67 65 74 6d 61 69 6e 61 72 67 73 00 2c 01 5f 63 65 78 69 74 00 00 7c 01 5f 65 78 ...__getmainargs.,._cexit..|._ex
10a700 69 74 00 66 00 5f 58 63 70 74 46 69 6c 74 65 72 00 cc 04 65 78 69 74 00 00 a0 00 5f 5f 69 6e 69 it.f._XcptFilter...exit....__ini
10a720 74 65 6e 76 00 04 02 5f 69 6e 69 74 74 65 72 6d 00 05 02 5f 69 6e 69 74 74 65 72 6d 5f 65 00 3c tenv..._initterm..._initterm_e.<
10a740 01 5f 63 6f 6e 66 69 67 74 68 72 65 61 64 6c 6f 63 61 6c 65 00 e3 00 5f 5f 73 65 74 75 73 65 72 ._configthreadlocale...__setuser
10a760 6d 61 74 68 65 72 72 00 00 0b 01 5f 61 64 6a 75 73 74 5f 66 64 69 76 00 00 cb 00 5f 5f 70 5f 5f matherr...._adjust_fdiv....__p__
10a780 63 6f 6d 6d 6f 64 65 00 00 cf 00 5f 5f 70 5f 5f 66 6d 6f 64 65 00 00 6a 01 5f 65 6e 63 6f 64 65 commode....__p__fmode..j._encode
10a7a0 5f 70 6f 69 6e 74 65 72 00 e0 00 5f 5f 73 65 74 5f 61 70 70 5f 74 79 70 65 00 00 4b 01 5f 63 72 _pointer...__set_app_type..K._cr
10a7c0 74 5f 64 65 62 75 67 67 65 72 5f 68 6f 6f 6b 00 00 43 00 3f 74 65 72 6d 69 6e 61 74 65 40 40 59 t_debugger_hook..C.?terminate@@Y
10a7e0 41 58 58 5a 00 4d 53 56 43 52 39 30 2e 64 6c 6c 00 e6 03 5f 75 6e 6c 6f 63 6b 00 96 00 5f 5f 64 AXXZ.MSVCR90.dll..._unlock...__d
10a800 6c 6c 6f 6e 65 78 69 74 00 76 02 5f 6c 6f 63 6b 00 1c 03 5f 6f 6e 65 78 69 74 00 60 01 5f 64 65 llonexit.v._lock..._onexit.`._de
10a820 63 6f 64 65 5f 70 6f 69 6e 74 65 72 00 73 01 5f 65 78 63 65 70 74 5f 68 61 6e 64 6c 65 72 34 5f code_pointer.s._except_handler4_
10a840 63 6f 6d 6d 6f 6e 00 0b 02 5f 69 6e 76 6f 6b 65 5f 77 61 74 73 6f 6e 00 00 3f 01 5f 63 6f 6e 74 common..._invoke_watson..?._cont
10a860 72 6f 6c 66 70 5f 73 00 00 bd 02 49 6e 74 65 72 6c 6f 63 6b 65 64 45 78 63 68 61 6e 67 65 00 21 rolfp_s....InterlockedExchange.!
10a880 04 53 6c 65 65 70 00 ba 02 49 6e 74 65 72 6c 6f 63 6b 65 64 43 6f 6d 70 61 72 65 45 78 63 68 61 .Sleep...InterlockedCompareExcha
10a8a0 6e 67 65 00 00 2d 04 54 65 72 6d 69 6e 61 74 65 50 72 6f 63 65 73 73 00 00 a9 01 47 65 74 43 75 nge..-.TerminateProcess....GetCu
10a8c0 72 72 65 6e 74 50 72 6f 63 65 73 73 00 3e 04 55 6e 68 61 6e 64 6c 65 64 45 78 63 65 70 74 69 6f rrentProcess.>.UnhandledExceptio
10a8e0 6e 46 69 6c 74 65 72 00 00 15 04 53 65 74 55 6e 68 61 6e 64 6c 65 64 45 78 63 65 70 74 69 6f 6e nFilter....SetUnhandledException
10a900 46 69 6c 74 65 72 00 d1 02 49 73 44 65 62 75 67 67 65 72 50 72 65 73 65 6e 74 00 54 03 51 75 65 Filter...IsDebuggerPresent.T.Que
10a920 72 79 50 65 72 66 6f 72 6d 61 6e 63 65 43 6f 75 6e 74 65 72 00 66 02 47 65 74 54 69 63 6b 43 6f ryPerformanceCounter.f.GetTickCo
10a940 75 6e 74 00 00 ad 01 47 65 74 43 75 72 72 65 6e 74 54 68 72 65 61 64 49 64 00 00 aa 01 47 65 74 unt....GetCurrentThreadId....Get
10a960 43 75 72 72 65 6e 74 50 72 6f 63 65 73 73 49 64 00 4f 02 47 65 74 53 79 73 74 65 6d 54 69 6d 65 CurrentProcessId.O.GetSystemTime
10a980 41 73 46 69 6c 65 54 69 6d 65 00 73 00 5f 5f 43 78 78 46 72 61 6d 65 48 61 6e 64 6c 65 72 33 00 AsFileTime.s.__CxxFrameHandler3.
10a9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4e e6 40 bb b1 19 bf 44 ff ff ff ff ff ...................N.@....D.....
10a9e0 ff ff ff fe ff ff ff 01 00 00 00 24 21 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...........$!@..................
10aa00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10aa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10aa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10aa60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10aa80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10aaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10aac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10aae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ab00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ab20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ab40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ab60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ab80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10aba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10abc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 ................................
10abe0 00 02 00 10 00 00 00 20 00 00 80 18 00 00 00 38 00 00 80 00 00 00 00 00 00 00 00 04 00 00 00 00 ...............8................
10ac00 00 01 00 01 00 00 00 50 00 00 80 00 00 00 00 00 00 00 00 04 00 00 00 00 00 01 00 01 00 00 00 68 .......P.......................h
10ac20 00 00 80 00 00 00 00 00 00 00 00 04 00 00 00 00 00 01 00 09 04 00 00 80 00 00 00 00 00 00 00 00 ................................
10ac40 00 00 00 04 00 00 00 00 00 01 00 09 04 00 00 90 00 00 00 a0 40 00 00 28 03 00 00 e4 04 00 00 00 ....................@..(........
10ac60 00 00 00 c8 43 00 00 56 02 00 00 e4 04 00 00 00 00 00 00 28 03 34 00 00 00 56 00 53 00 5f 00 56 ....C..V...........(.4...V.S._.V
10ac80 00 45 00 52 00 53 00 49 00 4f 00 4e 00 5f 00 49 00 4e 00 46 00 4f 00 00 00 00 00 bd 04 ef fe 00 .E.R.S.I.O.N._.I.N.F.O..........
10aca0 00 01 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00 00 17 00 00 00 00 00 00 00 04 00 00 00 01 ................................
10acc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 86 02 00 00 01 00 53 00 74 00 72 00 69 00 6e 00 67 .....................S.t.r.i.n.g
10ace0 00 46 00 69 00 6c 00 65 00 49 00 6e 00 66 00 6f 00 00 00 62 02 00 00 01 00 30 00 34 00 30 00 39 .F.i.l.e.I.n.f.o...b.....0.4.0.9
10ad00 00 30 00 34 00 62 00 30 00 00 00 ca 00 51 00 01 00 46 00 69 00 6c 00 65 00 44 00 65 00 73 00 63 .0.4.b.0.....Q...F.i.l.e.D.e.s.c
10ad20 00 72 00 69 00 70 00 74 00 69 00 6f 00 6e 00 00 00 00 00 52 00 65 00 61 00 64 00 73 00 20 00 66 .r.i.p.t.i.o.n.....R.e.a.d.s...f
10ad40 00 72 00 6f 00 6d 00 20 00 73 00 74 00 64 00 69 00 6e 00 20 00 77 00 69 00 74 00 68 00 6f 00 75 .r.o.m...s.t.d.i.n...w.i.t.h.o.u
10ad60 00 74 00 20 00 6c 00 65 00 61 00 6b 00 69 00 6e 00 67 00 20 00 69 00 6e 00 66 00 6f 00 20 00 74 .t...l.e.a.k.i.n.g...i.n.f.o...t
10ad80 00 6f 00 20 00 74 00 68 00 65 00 20 00 74 00 65 00 72 00 6d 00 69 00 6e 00 61 00 6c 00 20 00 61 .o...t.h.e...t.e.r.m.i.n.a.l...a
10ada0 00 6e 00 64 00 20 00 6f 00 75 00 74 00 70 00 75 00 74 00 73 00 20 00 62 00 61 00 63 00 6b 00 20 .n.d...o.u.t.p.u.t.s...b.a.c.k..
10adc0 00 74 00 6f 00 20 00 73 00 74 00 64 00 6f 00 75 00 74 00 00 00 00 00 36 00 0b 00 01 00 46 00 69 .t.o...s.t.d.o.u.t.....6.....F.i
10ade0 00 6c 00 65 00 56 00 65 00 72 00 73 00 69 00 6f 00 6e 00 00 00 00 00 31 00 2c 00 20 00 30 00 2c .l.e.V.e.r.s.i.o.n.....1.,...0.,
10ae00 00 20 00 30 00 2c 00 20 00 30 00 00 00 00 00 38 00 0c 00 01 00 49 00 6e 00 74 00 65 00 72 00 6e ...0.,...0.....8.....I.n.t.e.r.n
10ae20 00 61 00 6c 00 4e 00 61 00 6d 00 65 00 00 00 68 00 69 00 64 00 64 00 65 00 6e 00 69 00 6e 00 70 .a.l.N.a.m.e...h.i.d.d.e.n.i.n.p
10ae40 00 75 00 74 00 00 00 50 00 16 00 01 00 4c 00 65 00 67 00 61 00 6c 00 43 00 6f 00 70 00 79 00 72 .u.t...P.....L.e.g.a.l.C.o.p.y.r
10ae60 00 69 00 67 00 68 00 74 00 00 00 4a 00 6f 00 72 00 64 00 69 00 20 00 42 00 6f 00 67 00 67 00 69 .i.g.h.t...J.o.r.d.i...B.o.g.g.i
10ae80 00 61 00 6e 00 6f 00 20 00 2d 00 20 00 32 00 30 00 31 00 32 00 00 00 48 00 10 00 01 00 4f 00 72 .a.n.o...-...2.0.1.2...H.....O.r
10aea0 00 69 00 67 00 69 00 6e 00 61 00 6c 00 46 00 69 00 6c 00 65 00 6e 00 61 00 6d 00 65 00 00 00 68 .i.g.i.n.a.l.F.i.l.e.n.a.m.e...h
10aec0 00 69 00 64 00 64 00 65 00 6e 00 69 00 6e 00 70 00 75 00 74 00 2e 00 65 00 78 00 65 00 00 00 3a .i.d.d.e.n.i.n.p.u.t...e.x.e...:
10aee0 00 0d 00 01 00 50 00 72 00 6f 00 64 00 75 00 63 00 74 00 4e 00 61 00 6d 00 65 00 00 00 00 00 48 .....P.r.o.d.u.c.t.N.a.m.e.....H
10af00 00 69 00 64 00 64 00 65 00 6e 00 20 00 49 00 6e 00 70 00 75 00 74 00 00 00 00 00 3a 00 0b 00 01 .i.d.d.e.n...I.n.p.u.t.....:....
10af20 00 50 00 72 00 6f 00 64 00 75 00 63 00 74 00 56 00 65 00 72 00 73 00 69 00 6f 00 6e 00 00 00 31 .P.r.o.d.u.c.t.V.e.r.s.i.o.n...1
10af40 00 2c 00 20 00 30 00 2c 00 20 00 30 00 2c 00 20 00 30 00 00 00 00 00 44 00 00 00 01 00 56 00 61 .,...0.,...0.,...0.....D.....V.a
10af60 00 72 00 46 00 69 00 6c 00 65 00 49 00 6e 00 66 00 6f 00 00 00 00 00 24 00 04 00 00 00 54 00 72 .r.F.i.l.e.I.n.f.o.....$.....T.r
10af80 00 61 00 6e 00 73 00 6c 00 61 00 74 00 69 00 6f 00 6e 00 00 00 00 00 09 04 b0 04 3c 61 73 73 65 .a.n.s.l.a.t.i.o.n.........<asse
10afa0 6d 62 6c 79 20 78 6d 6c 6e 73 3d 22 75 72 6e 3a 73 63 68 65 6d 61 73 2d 6d 69 63 72 6f 73 6f 66 mbly.xmlns="urn:schemas-microsof
10afc0 74 2d 63 6f 6d 3a 61 73 6d 2e 76 31 22 20 6d 61 6e 69 66 65 73 74 56 65 72 73 69 6f 6e 3d 22 31 t-com:asm.v1".manifestVersion="1
10afe0 2e 30 22 3e 0d 0a 20 20 3c 74 72 75 73 74 49 6e 66 6f 20 78 6d 6c 6e 73 3d 22 75 72 6e 3a 73 63 .0">....<trustInfo.xmlns="urn:sc
10b000 68 65 6d 61 73 2d 6d 69 63 72 6f 73 6f 66 74 2d 63 6f 6d 3a 61 73 6d 2e 76 33 22 3e 0d 0a 20 20 hemas-microsoft-com:asm.v3">....
10b020 20 20 3c 73 65 63 75 72 69 74 79 3e 0d 0a 20 20 20 20 20 20 3c 72 65 71 75 65 73 74 65 64 50 72 ..<security>........<requestedPr
10b040 69 76 69 6c 65 67 65 73 3e 0d 0a 20 20 20 20 20 20 20 20 3c 72 65 71 75 65 73 74 65 64 45 78 65 ivileges>..........<requestedExe
10b060 63 75 74 69 6f 6e 4c 65 76 65 6c 20 6c 65 76 65 6c 3d 22 61 73 49 6e 76 6f 6b 65 72 22 20 75 69 cutionLevel.level="asInvoker".ui
10b080 41 63 63 65 73 73 3d 22 66 61 6c 73 65 22 3e 3c 2f 72 65 71 75 65 73 74 65 64 45 78 65 63 75 74 Access="false"></requestedExecut
10b0a0 69 6f 6e 4c 65 76 65 6c 3e 0d 0a 20 20 20 20 20 20 3c 2f 72 65 71 75 65 73 74 65 64 50 72 69 76 ionLevel>........</requestedPriv
10b0c0 69 6c 65 67 65 73 3e 0d 0a 20 20 20 20 3c 2f 73 65 63 75 72 69 74 79 3e 0d 0a 20 20 3c 2f 74 72 ileges>......</security>....</tr
10b0e0 75 73 74 49 6e 66 6f 3e 0d 0a 20 20 3c 64 65 70 65 6e 64 65 6e 63 79 3e 0d 0a 20 20 20 20 3c 64 ustInfo>....<dependency>......<d
10b100 65 70 65 6e 64 65 6e 74 41 73 73 65 6d 62 6c 79 3e 0d 0a 20 20 20 20 20 20 3c 61 73 73 65 6d 62 ependentAssembly>........<assemb
10b120 6c 79 49 64 65 6e 74 69 74 79 20 74 79 70 65 3d 22 77 69 6e 33 32 22 20 6e 61 6d 65 3d 22 4d 69 lyIdentity.type="win32".name="Mi
10b140 63 72 6f 73 6f 66 74 2e 56 43 39 30 2e 43 52 54 22 20 76 65 72 73 69 6f 6e 3d 22 39 2e 30 2e 32 crosoft.VC90.CRT".version="9.0.2
10b160 31 30 32 32 2e 38 22 20 70 72 6f 63 65 73 73 6f 72 41 72 63 68 69 74 65 63 74 75 72 65 3d 22 78 1022.8".processorArchitecture="x
10b180 38 36 22 20 70 75 62 6c 69 63 4b 65 79 54 6f 6b 65 6e 3d 22 31 66 63 38 62 33 62 39 61 31 65 31 86".publicKeyToken="1fc8b3b9a1e1
10b1a0 38 65 33 62 22 3e 3c 2f 61 73 73 65 6d 62 6c 79 49 64 65 6e 74 69 74 79 3e 0d 0a 20 20 20 20 3c 8e3b"></assemblyIdentity>......<
10b1c0 2f 64 65 70 65 6e 64 65 6e 74 41 73 73 65 6d 62 6c 79 3e 0d 0a 20 20 3c 2f 64 65 70 65 6e 64 65 /dependentAssembly>....</depende
10b1e0 6e 63 79 3e 0d 0a 3c 2f 61 73 73 65 6d 62 6c 79 3e 50 41 50 41 44 44 49 4e 47 58 58 50 41 44 44 ncy>..</assembly>PAPADDINGXXPADD
10b200 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b220 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b240 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b260 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b280 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b2a0 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b2c0 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b2e0 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b300 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b320 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b340 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b360 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b380 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b3a0 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 INGPADDINGXXPADDINGPADDINGXXPADD
10b3c0 49 4e 47 50 41 44 44 49 4e 47 58 58 50 41 44 44 49 4e 47 00 10 00 00 40 01 00 00 03 30 10 30 21 INGPADDINGXXPADDING....@....0.0!
10b3e0 30 2f 30 38 30 46 30 4c 30 54 30 5e 30 64 30 6e 30 7b 30 89 30 97 30 a1 30 a8 30 ae 30 b3 30 b8 0/080F0L0T0^0d0n0{0.0.0.0.0.0.0.
10b400 30 bd 30 c2 30 c8 30 d0 30 e4 30 ff 30 08 31 23 31 2d 31 40 31 4a 31 4f 31 54 31 76 31 7b 31 84 0.0.0.0.0.0.0.1#1-1@1J1O1T1v1{1.
10b420 31 89 31 96 31 a7 31 ad 31 b4 31 c8 31 cd 31 d3 31 db 31 e1 31 e7 31 f4 31 fa 31 03 32 22 32 2a 1.1.1.1.1.1.1.1.1.1.1.1.1.1.2"2*
10b440 32 33 32 39 32 41 32 4d 32 5f 32 6a 32 70 32 b9 32 bf 32 c7 32 ce 32 d3 32 d9 32 df 32 e7 32 ed 23292A2M2_2j2p2.2.2.2.2.2.2.2.2.
10b460 32 f4 32 fb 32 0b 33 13 33 19 33 25 33 30 33 4e 33 54 33 5a 33 60 33 66 33 6c 33 73 33 7a 33 81 2.2.2.3.3.3%303N3T3Z3`3f3l3s3z3.
10b480 33 88 33 8f 33 96 33 9d 33 a5 33 ad 33 b5 33 c1 33 ca 33 cf 33 d5 33 df 33 e8 33 f3 33 ff 33 04 3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.3.
10b4a0 34 14 34 19 34 1f 34 25 34 3b 34 42 34 8b 34 91 34 9a 34 a1 34 ac 34 b2 34 c6 34 db 34 e6 34 fe 4.4.4.4%4;4B4.4.4.4.4.4.4.4.4.4.
10b4c0 34 14 35 21 35 5e 35 63 35 84 35 89 35 a8 35 48 36 4d 36 5f 36 7d 36 91 36 97 36 00 37 06 37 0d 4.5!5^5c5.5.5.5H6M6_6}6.6.6.7.7.
10b4e0 37 2a 37 77 37 7c 37 c1 37 e4 37 f1 37 fd 37 05 38 0d 38 19 38 3d 38 45 38 50 38 56 38 5c 38 62 7*7w7|7.7.7.7.7.8.8.8=8E8P8V8\8b
10b500 38 68 38 6e 38 74 38 7a 38 80 38 9c 38 e2 38 02 39 00 00 00 20 00 00 24 00 00 00 dc 30 e8 30 ec 8h8n8t8z8.8.8.8.9......$....0.0.
10b520 30 1c 31 20 31 74 31 78 31 1c 32 20 32 40 32 5c 32 60 32 68 32 74 32 00 30 00 00 0c 00 00 00 18 0.1.1t1x1.2.2@2\2`2h2t2.0.......
10b540 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0...............................
10b560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a ...................<?php........
10b5e0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 ...namespace.Symfony\Component\C
10b600 6f 6e 73 6f 6c 65 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 onsole;..use.Symfony\Component\C
10b620 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 onsole\Command\Command;.use.Symf
10b640 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 48 65 ony\Component\Console\Command\He
10b660 6c 70 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 lpCommand;.use.Symfony\Component
10b680 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 4c 69 73 74 43 6f 6d 6d 61 6e 64 3b 0a 75 73 \Console\Command\ListCommand;.us
10b6a0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 e.Symfony\Component\Console\Desc
10b6c0 72 69 70 74 6f 72 5c 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f riptor\TextDescriptor;.use.Symfo
10b6e0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c ny\Component\Console\Descriptor\
10b700 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f XmlDescriptor;.use.Symfony\Compo
10b720 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 5c 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e nent\Console\Event\ConsoleComman
10b740 64 45 76 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f dEvent;.use.Symfony\Component\Co
10b760 6e 73 6f 6c 65 5c 45 76 65 6e 74 5c 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 65 6e nsole\Event\ConsoleExceptionEven
10b780 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 t;.use.Symfony\Component\Console
10b7a0 5c 45 76 65 6e 74 5c 43 6f 6e 73 6f 6c 65 54 65 72 6d 69 6e 61 74 65 45 76 65 6e 74 3b 0a 75 73 \Event\ConsoleTerminateEvent;.us
10b7c0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 e.Symfony\Component\Console\Exce
10b7e0 70 74 69 6f 6e 5c 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 3b 0a ption\CommandNotFoundException;.
10b800 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 use.Symfony\Component\Console\Ex
10b820 63 65 70 74 69 6f 6e 5c 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 ception\ExceptionInterface;.use.
10b840 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 Symfony\Component\Console\Except
10b860 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c ion\LogicException;.use.Symfony\
10b880 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 Component\Console\Formatter\Outp
10b8a0 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 utFormatter;.use.Symfony\Compone
10b8c0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 44 65 62 75 67 46 6f 72 6d 61 74 74 65 72 nt\Console\Helper\DebugFormatter
10b8e0 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f Helper;.use.Symfony\Component\Co
10b900 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 44 69 61 6c 6f 67 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 nsole\Helper\DialogHelper;.use.S
10b920 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c ymfony\Component\Console\Helper\
10b940 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d FormatterHelper;.use.Symfony\Com
10b960 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 3b 0a 75 73 ponent\Console\Helper\Helper;.us
10b980 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 e.Symfony\Component\Console\Help
10b9a0 65 72 5c 48 65 6c 70 65 72 53 65 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e er\HelperSet;.use.Symfony\Compon
10b9c0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 50 72 6f 63 65 73 73 48 65 6c 70 65 72 ent\Console\Helper\ProcessHelper
10b9e0 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
10ba00 48 65 6c 70 65 72 5c 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f Helper\ProgressHelper;.use.Symfo
10ba20 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 51 75 65 73 ny\Component\Console\Helper\Ques
10ba40 74 69 6f 6e 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e tionHelper;.use.Symfony\Componen
10ba60 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 48 65 6c 70 65 72 3b 0a 75 73 t\Console\Helper\TableHelper;.us
10ba80 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
10baa0 74 5c 41 72 67 76 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 t\ArgvInput;.use.Symfony\Compone
10bac0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 41 72 72 61 79 49 6e 70 75 74 3b 0a 75 73 65 nt\Console\Input\ArrayInput;.use
10bae0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 .Symfony\Component\Console\Input
10bb00 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 \InputArgument;.use.Symfony\Comp
10bb20 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 77 61 72 65 49 6e onent\Console\Input\InputAwareIn
10bb40 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 terface;.use.Symfony\Component\C
10bb60 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 onsole\Input\InputDefinition;.us
10bb80 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
10bba0 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f t\InputInterface;.use.Symfony\Co
10bbc0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f mponent\Console\Input\InputOptio
10bbe0 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 n;.use.Symfony\Component\Console
10bc00 5c 4f 75 74 70 75 74 5c 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 \Output\BufferedOutput;.use.Symf
10bc20 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e ony\Component\Console\Output\Con
10bc40 73 6f 6c 65 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e soleOutput;.use.Symfony\Componen
10bc60 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e t\Console\Output\ConsoleOutputIn
10bc80 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 terface;.use.Symfony\Component\C
10bca0 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 onsole\Output\OutputInterface;.u
10bcc0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 se.Symfony\Component\Debug\Excep
10bce0 74 69 6f 6e 5c 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 3b 0a 75 73 65 20 53 79 tion\FatalThrowableError;.use.Sy
10bd00 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c mfony\Component\EventDispatcher\
10bd20 45 76 65 6e 74 44 69 73 70 61 74 63 68 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a EventDispatcherInterface;.......
10bd40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 70 70 6c 69 63 61 74 69 6f 6e 0a 7b 0a 70 72 ..........class.Application.{.pr
10bd60 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 ivate.$commands.=.array();.priva
10bd80 74 65 20 24 77 61 6e 74 48 65 6c 70 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 te.$wantHelps.=.false;.private.$
10bda0 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 3b 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 runningCommand;.private.$name;.p
10bdc0 72 69 76 61 74 65 20 24 76 65 72 73 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 63 61 74 63 68 45 rivate.$version;.private.$catchE
10bde0 78 63 65 70 74 69 6f 6e 73 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 61 75 74 6f 45 xceptions.=.true;.private.$autoE
10be00 78 69 74 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b xit.=.true;.private.$definition;
10be20 0a 70 72 69 76 61 74 65 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 70 72 69 76 61 74 65 20 24 64 69 .private.$helperSet;.private.$di
10be40 73 70 61 74 63 68 65 72 3b 0a 70 72 69 76 61 74 65 20 24 74 65 72 6d 69 6e 61 6c 44 69 6d 65 6e spatcher;.private.$terminalDimen
10be60 73 69 6f 6e 73 3b 0a 70 72 69 76 61 74 65 20 24 64 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 3b 0a sions;.private.$defaultCommand;.
10be80 70 72 69 76 61 74 65 20 24 69 6e 69 74 69 61 6c 69 7a 65 64 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 private.$initialized;......publi
10bea0 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 20 3d 20 27 c.function.__construct($name.=.'
10bec0 55 4e 4b 4e 4f 57 4e 27 2c 20 24 76 65 72 73 69 6f 6e 20 3d 20 27 55 4e 4b 4e 4f 57 4e 27 29 0a UNKNOWN',.$version.=.'UNKNOWN').
10bee0 7b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 76 65 {.$this->name.=.$name;.$this->ve
10bf00 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 rsion.=.$version;.$this->default
10bf20 43 6f 6d 6d 61 6e 64 20 3d 20 27 6c 69 73 74 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 Command.=.'list';.}..public.func
10bf40 74 69 6f 6e 20 73 65 74 44 69 73 70 61 74 63 68 65 72 28 45 76 65 6e 74 44 69 73 70 61 74 63 68 tion.setDispatcher(EventDispatch
10bf60 65 72 49 6e 74 65 72 66 61 63 65 20 24 64 69 73 70 61 74 63 68 65 72 29 0a 7b 0a 24 74 68 69 73 erInterface.$dispatcher).{.$this
10bf80 2d 3e 64 69 73 70 61 74 63 68 65 72 20 3d 20 24 64 69 73 70 61 74 63 68 65 72 3b 0a 7d 0a 0a 0a ->dispatcher.=.$dispatcher;.}...
10bfa0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 49 6e 70 75 74 49 ......public.function.run(InputI
10bfc0 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 20 3d 20 6e 75 6c 6c 2c 20 4f 75 74 70 75 74 49 6e nterface.$input.=.null,.OutputIn
10bfe0 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 terface.$output.=.null).{.if.(nu
10c000 6c 6c 20 3d 3d 3d 20 24 69 6e 70 75 74 29 20 7b 0a 24 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 ll.===.$input).{.$input.=.new.Ar
10c020 67 76 49 6e 70 75 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6f 75 74 70 gvInput();.}..if.(null.===.$outp
10c040 75 74 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 ut).{.$output.=.new.ConsoleOutpu
10c060 74 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 75 72 65 49 4f 28 24 69 6e 70 75 t();.}..$this->configureIO($inpu
10c080 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 74 72 79 20 7b 0a 24 65 20 3d 20 6e 75 6c 6c 3b 0a 24 t,.$output);..try.{.$e.=.null;.$
10c0a0 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 64 6f 52 75 6e 28 24 69 6e 70 75 74 2c 20 exitCode.=.$this->doRun($input,.
10c0c0 24 6f 75 74 70 75 74 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 $output);.}.catch.(\Exception.$e
10c0e0 29 20 7b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 29 20 7b 0a 69 66 20 28 21 24 ).{.}..if.(null.!==.$e).{.if.(!$
10c100 74 68 69 73 2d 3e 63 61 74 63 68 45 78 63 65 70 74 69 6f 6e 73 29 20 7b 0a 74 68 72 6f 77 20 24 this->catchExceptions).{.throw.$
10c120 65 3b 0a 7d 0a 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e e;.}..if.($output.instanceof.Con
10c140 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 soleOutputInterface).{.$this->re
10c160 6e 64 65 72 45 78 63 65 70 74 69 6f 6e 28 24 65 2c 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 nderException($e,.$output->getEr
10c180 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 72 65 rorOutput());.}.else.{.$this->re
10c1a0 6e 64 65 72 45 78 63 65 70 74 69 6f 6e 28 24 65 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 24 nderException($e,.$output);.}..$
10c1c0 65 78 69 74 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 46 6f 72 exitCode.=.$this->getExitCodeFor
10c1e0 54 68 72 6f 77 61 62 6c 65 28 24 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 75 74 Throwable($e);.}..if.($this->aut
10c200 6f 45 78 69 74 29 20 7b 0a 69 66 20 28 24 65 78 69 74 43 6f 64 65 20 3e 20 32 35 35 29 20 7b 0a oExit).{.if.($exitCode.>.255).{.
10c220 24 65 78 69 74 43 6f 64 65 20 3d 20 32 35 35 3b 0a 7d 0a 0a 65 78 69 74 28 24 65 78 69 74 43 6f $exitCode.=.255;.}..exit($exitCo
10c240 64 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a de);.}..return.$exitCode;.}.....
10c260 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 6f 52 75 6e 28 49 6e 70 75 74 49 6e 74 ..public.function.doRun(InputInt
10c280 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 erface.$input,.OutputInterface.$
10c2a0 6f 75 74 70 75 74 29 0a 7b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 output).{.if.(true.===.$input->h
10c2c0 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 76 65 72 73 69 asParameterOption(array('--versi
10c2e0 6f 6e 27 2c 20 27 2d 56 27 29 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 on',.'-V'))).{.$output->writeln(
10c300 24 74 68 69 73 2d 3e 67 65 74 4c 6f 6e 67 56 65 72 73 69 6f 6e 28 29 29 3b 0a 0a 72 65 74 75 72 $this->getLongVersion());..retur
10c320 6e 20 30 3b 0a 7d 0a 0a 24 6e 61 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e n.0;.}..$name.=.$this->getComman
10c340 64 4e 61 6d 65 28 24 69 6e 70 75 74 29 3b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 dName($input);.if.(true.===.$inp
10c360 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d ut->hasParameterOption(array('--
10c380 68 65 6c 70 27 2c 20 27 2d 68 27 29 29 29 20 7b 0a 69 66 20 28 21 24 6e 61 6d 65 29 20 7b 0a 24 help',.'-h'))).{.if.(!$name).{.$
10c3a0 6e 61 6d 65 20 3d 20 27 68 65 6c 70 27 3b 0a 24 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 72 61 name.=.'help';.$input.=.new.Arra
10c3c0 79 49 6e 70 75 74 28 61 72 72 61 79 28 27 63 6f 6d 6d 61 6e 64 27 20 3d 3e 20 27 68 65 6c 70 27 yInput(array('command'.=>.'help'
10c3e0 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 77 61 6e 74 48 65 6c 70 73 20 3d 20 ));.}.else.{.$this->wantHelps.=.
10c400 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 21 24 6e 61 6d 65 29 20 7b 0a 24 6e 61 6d 65 20 3d true;.}.}..if.(!$name).{.$name.=
10c420 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 3b 0a 24 64 65 66 69 6e 69 74 .$this->defaultCommand;.$definit
10c440 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 24 64 ion.=.$this->getDefinition();.$d
10c460 65 66 69 6e 69 74 69 6f 6e 2d 3e 73 65 74 41 72 67 75 6d 65 6e 74 73 28 61 72 72 61 79 5f 6d 65 efinition->setArguments(array_me
10c480 72 67 65 28 0a 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 rge(.$definition->getArguments()
10c4a0 2c 0a 61 72 72 61 79 28 0a 27 63 6f 6d 6d 61 6e 64 27 20 3d 3e 20 6e 65 77 20 49 6e 70 75 74 41 ,.array(.'command'.=>.new.InputA
10c4c0 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 rgument('command',.InputArgument
10c4e0 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 ::OPTIONAL,.$definition->getArgu
10c500 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 29 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 ment('command')->getDescription(
10c520 29 2c 20 24 6e 61 6d 65 29 2c 0a 29 0a 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 75 6e 6e 69 ),.$name),.).));.}..$this->runni
10c540 6e 67 43 6f 6d 6d 61 6e 64 20 3d 20 6e 75 6c 6c 3b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 ngCommand.=.null;...$command.=.$
10c560 74 68 69 73 2d 3e 66 69 6e 64 28 24 6e 61 6d 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 75 6e 6e 69 this->find($name);..$this->runni
10c580 6e 67 43 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 24 65 78 69 74 43 6f 64 65 20 ngCommand.=.$command;.$exitCode.
10c5a0 3d 20 24 74 68 69 73 2d 3e 64 6f 52 75 6e 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 =.$this->doRunCommand($command,.
10c5c0 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 74 68 69 73 2d 3e 72 75 6e 6e 69 6e 67 $input,.$output);.$this->running
10c5e0 43 6f 6d 6d 61 6e 64 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 65 78 69 74 43 6f 64 Command.=.null;..return.$exitCod
10c600 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 6c 70 65 72 53 e;.}..public.function.setHelperS
10c620 65 74 28 48 65 6c 70 65 72 53 65 74 20 24 68 65 6c 70 65 72 53 65 74 29 0a 7b 0a 24 74 68 69 73 et(HelperSet.$helperSet).{.$this
10c640 2d 3e 68 65 6c 70 65 72 53 65 74 20 3d 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a 0a 0a 0a ->helperSet.=.$helperSet;.}.....
10c660 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 ..public.function.getHelperSet()
10c680 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 29 20 7b 0a 24 74 68 69 .{.if.(!$this->helperSet).{.$thi
10c6a0 73 2d 3e 68 65 6c 70 65 72 53 65 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 s->helperSet.=.$this->getDefault
10c6c0 48 65 6c 70 65 72 53 65 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 HelperSet();.}..return.$this->he
10c6e0 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 lperSet;.}..public.function.setD
10c700 65 66 69 6e 69 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e efinition(InputDefinition.$defin
10c720 69 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 64 65 ition).{.$this->definition.=.$de
10c740 66 69 6e 69 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f finition;.}.......public.functio
10c760 6e 20 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e n.getDefinition().{.if.(!$this->
10c780 64 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 definition).{.$this->definition.
10c7a0 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 =.$this->getDefaultInputDefiniti
10c7c0 6f 6e 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f on();.}..return.$this->definitio
10c7e0 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 n;.}.......public.function.getHe
10c800 6c 70 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 6e 67 56 65 72 73 lp().{.return.$this->getLongVers
10c820 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ion();.}.......public.function.s
10c840 65 74 43 61 74 63 68 45 78 63 65 70 74 69 6f 6e 73 28 24 62 6f 6f 6c 65 61 6e 29 0a 7b 0a 24 74 etCatchExceptions($boolean).{.$t
10c860 68 69 73 2d 3e 63 61 74 63 68 45 78 63 65 70 74 69 6f 6e 73 20 3d 20 28 62 6f 6f 6c 29 20 24 62 his->catchExceptions.=.(bool).$b
10c880 6f 6f 6c 65 61 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 oolean;.}.......public.function.
10c8a0 73 65 74 41 75 74 6f 45 78 69 74 28 24 62 6f 6f 6c 65 61 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 setAutoExit($boolean).{.$this->a
10c8c0 75 74 6f 45 78 69 74 20 3d 20 28 62 6f 6f 6c 29 20 24 62 6f 6f 6c 65 61 6e 3b 0a 7d 0a 0a 0a 0a utoExit.=.(bool).$boolean;.}....
10c8e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 ...public.function.getName().{.r
10c900 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 eturn.$this->name;.}.......publi
10c920 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 61 6d 65 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 c.function.setName($name).{.$thi
10c940 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 s->name.=.$name;.}.......public.
10c960 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 function.getVersion().{.return.$
10c980 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 this->version;.}.......public.fu
10c9a0 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 73 69 6f 6e 28 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 24 74 nction.setVersion($version).{.$t
10c9c0 68 69 73 2d 3e 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a his->version.=.$version;.}......
10c9e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 6e 67 56 65 72 73 69 6f 6e 28 .public.function.getLongVersion(
10ca00 29 0a 7b 0a 69 66 20 28 27 55 4e 4b 4e 4f 57 4e 27 20 21 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 ).{.if.('UNKNOWN'.!==.$this->get
10ca20 4e 61 6d 65 28 29 29 20 7b 0a 69 66 20 28 27 55 4e 4b 4e 4f 57 4e 27 20 21 3d 3d 20 24 74 68 69 Name()).{.if.('UNKNOWN'.!==.$thi
10ca40 73 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 s->getVersion()).{.return.sprint
10ca60 66 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 76 65 72 73 69 6f 6e 20 3c 63 6f 6d 6d f('<info>%s</info>.version.<comm
10ca80 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d ent>%s</comment>',.$this->getNam
10caa0 65 28 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 0a 72 65 e(),.$this->getVersion());.}..re
10cac0 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 turn.sprintf('<info>%s</info>',.
10cae0 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 3c 69 $this->getName());.}..return.'<i
10cb00 6e 66 6f 3e 43 6f 6e 73 6f 6c 65 20 54 6f 6f 6c 3c 2f 69 6e 66 6f 3e 27 3b 0a 7d 0a 0a 0a 0a 0a nfo>Console.Tool</info>';.}.....
10cb20 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 6e 61 ....public.function.register($na
10cb40 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 28 6e 65 77 20 43 6f 6d 6d me).{.return.$this->add(new.Comm
10cb60 61 6e 64 28 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 and($name));.}.........public.fu
10cb80 6e 63 74 69 6f 6e 20 61 64 64 43 6f 6d 6d 61 6e 64 73 28 61 72 72 61 79 20 24 63 6f 6d 6d 61 6e nction.addCommands(array.$comman
10cba0 64 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 73 20 61 73 20 24 63 6f 6d ds).{.foreach.($commands.as.$com
10cbc0 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a mand).{.$this->add($command);.}.
10cbe0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 43 }..........public.function.add(C
10cc00 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 28 29 ommand.$command).{.$this->init()
10cc20 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 73 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 24 74 68 69 ;..$command->setApplication($thi
10cc40 73 29 3b 0a 0a 69 66 20 28 21 24 63 6f 6d 6d 61 6e 64 2d 3e 69 73 45 6e 61 62 6c 65 64 28 29 29 s);..if.(!$command->isEnabled())
10cc60 20 7b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 73 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 6e 75 6c 6c .{.$command->setApplication(null
10cc80 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6d );..return;.}..if.(null.===.$com
10cca0 6d 61 6e 64 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e mand->getDefinition()).{.throw.n
10ccc0 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 6d 6d 61 ew.LogicException(sprintf('Comma
10cce0 6e 64 20 63 6c 61 73 73 20 22 25 73 22 20 69 73 20 6e 6f 74 20 63 6f 72 72 65 63 74 6c 79 20 69 nd.class."%s".is.not.correctly.i
10cd00 6e 69 74 69 61 6c 69 7a 65 64 2e 20 59 6f 75 20 70 72 6f 62 61 62 6c 79 20 66 6f 72 67 6f 74 20 nitialized..You.probably.forgot.
10cd20 74 6f 20 63 61 6c 6c 20 74 68 65 20 70 61 72 65 6e 74 20 63 6f 6e 73 74 72 75 63 74 6f 72 2e 27 to.call.the.parent.constructor.'
10cd40 2c 20 5c 67 65 74 5f 63 6c 61 73 73 28 24 63 6f 6d 6d 61 6e 64 29 29 29 3b 0a 7d 0a 0a 24 74 68 ,.\get_class($command)));.}..$th
10cd60 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 is->commands[$command->getName()
10cd80 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 ].=.$command;..foreach.($command
10cda0 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 20 61 73 20 24 61 6c 69 61 73 29 20 7b 0a 24 74 68 69 ->getAliases().as.$alias).{.$thi
10cdc0 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 61 6c 69 61 73 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a s->commands[$alias].=.$command;.
10cde0 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a }..return.$command;.}...........
10ce00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 public.function.get($name).{.$th
10ce20 69 73 2d 3e 69 6e 69 74 28 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 is->init();..if.(!isset($this->c
10ce40 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 43 6f 6d ommands[$name])).{.throw.new.Com
10ce60 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 mandNotFoundException(sprintf('T
10ce80 68 65 20 63 6f 6d 6d 61 6e 64 20 22 25 73 22 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 he.command."%s".does.not.exist.'
10cea0 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e ,.$name));.}..$command.=.$this->
10cec0 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 61 6e commands[$name];..if.($this->wan
10cee0 74 48 65 6c 70 73 29 20 7b 0a 24 74 68 69 73 2d 3e 77 61 6e 74 48 65 6c 70 73 20 3d 20 66 61 6c tHelps).{.$this->wantHelps.=.fal
10cf00 73 65 3b 0a 0a 24 68 65 6c 70 43 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 28 27 se;..$helpCommand.=.$this->get('
10cf20 68 65 6c 70 27 29 3b 0a 24 68 65 6c 70 43 6f 6d 6d 61 6e 64 2d 3e 73 65 74 43 6f 6d 6d 61 6e 64 help');.$helpCommand->setCommand
10cf40 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 0a 72 65 74 75 72 6e 20 24 68 65 6c 70 43 6f 6d 6d 61 6e 64 ($command);..return.$helpCommand
10cf60 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ;.}..return.$command;.}.........
10cf80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 public.function.has($name).{.$th
10cfa0 69 73 2d 3e 69 6e 69 74 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d is->init();..return.isset($this-
10cfc0 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 >commands[$name]);.}.........pub
10cfe0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 0a 7b 0a 24 lic.function.getNamespaces().{.$
10d000 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 namespaces.=.array();.foreach.($
10d020 74 68 69 73 2d 3e 61 6c 6c 28 29 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 6e 61 6d 65 this->all().as.$command).{.$name
10d040 73 70 61 63 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6e 61 6d 65 73 70 61 63 65 73 spaces.=.array_merge($namespaces
10d060 2c 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 41 6c 6c 4e 61 6d 65 73 70 61 63 65 73 28 24 63 ,.$this->extractAllNamespaces($c
10d080 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 ommand->getName()));..foreach.($
10d0a0 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 20 61 73 20 24 61 6c 69 61 73 29 command->getAliases().as.$alias)
10d0c0 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6e 61 .{.$namespaces.=.array_merge($na
10d0e0 6d 65 73 70 61 63 65 73 2c 20 24 74 68 69 73 2d 3e 65 78 74 72 61 63 74 41 6c 6c 4e 61 6d 65 73 mespaces,.$this->extractAllNames
10d100 70 61 63 65 73 28 24 61 6c 69 61 73 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 paces($alias));.}.}..return.arra
10d120 79 5f 76 61 6c 75 65 73 28 61 72 72 61 79 5f 75 6e 69 71 75 65 28 61 72 72 61 79 5f 66 69 6c 74 y_values(array_unique(array_filt
10d140 65 72 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 er($namespaces)));.}...........p
10d160 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 4e 61 6d 65 73 70 61 63 65 28 24 6e 61 ublic.function.findNamespace($na
10d180 6d 65 73 70 61 63 65 29 0a 7b 0a 24 61 6c 6c 4e 61 6d 65 73 70 61 63 65 73 20 3d 20 24 74 68 69 mespace).{.$allNamespaces.=.$thi
10d1a0 73 2d 3e 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 3b 0a 24 65 78 70 72 20 3d 20 70 72 65 67 s->getNamespaces();.$expr.=.preg
10d1c0 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 28 5b 5e 3a 5d 2b 7c 29 7d 27 2c 20 _replace_callback('{([^:]+|)}',.
10d1e0 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 7b 20 72 65 74 75 72 6e 20 70 72 65 function.($matches).{.return.pre
10d200 67 5f 71 75 6f 74 65 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 2e 27 5b 5e 3a 5d 2a 27 3b 20 7d 2c g_quote($matches[1]).'[^:]*';.},
10d220 20 24 6e 61 6d 65 73 70 61 63 65 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 70 72 65 67 .$namespace);.$namespaces.=.preg
10d240 5f 67 72 65 70 28 27 7b 5e 27 2e 24 65 78 70 72 2e 27 7d 27 2c 20 24 61 6c 6c 4e 61 6d 65 73 70 _grep('{^'.$expr.'}',.$allNamesp
10d260 61 63 65 73 29 3b 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 20 aces);..if.(empty($namespaces)).
10d280 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 54 68 65 72 65 20 61 72 65 20 {.$message.=.sprintf('There.are.
10d2a0 6e 6f 20 63 6f 6d 6d 61 6e 64 73 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 22 25 73 22 20 no.commands.defined.in.the."%s".
10d2c0 6e 61 6d 65 73 70 61 63 65 2e 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 29 3b 0a 0a 69 66 20 28 24 namespace.',.$namespace);..if.($
10d2e0 61 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 41 6c 74 65 72 6e alternatives.=.$this->findAltern
10d300 61 74 69 76 65 73 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 61 6c 6c 4e 61 6d 65 73 70 61 63 65 atives($namespace,.$allNamespace
10d320 73 29 29 20 7b 0a 69 66 20 28 31 20 3d 3d 20 5c 63 6f 75 6e 74 28 24 61 6c 74 65 72 6e 61 74 69 s)).{.if.(1.==.\count($alternati
10d340 76 65 73 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e 44 69 64 20 79 6f 75 ves)).{.$message..=."\n\nDid.you
10d360 20 6d 65 61 6e 20 74 68 69 73 3f 5c 6e 20 20 20 20 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 .mean.this?\n....";.}.else.{.$me
10d380 73 73 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 6f 6e 65 20 6f ssage..=."\n\nDid.you.mean.one.o
10d3a0 66 20 74 68 65 73 65 3f 5c 6e 20 20 20 20 22 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 f.these?\n....";.}..$message..=.
10d3c0 69 6d 70 6c 6f 64 65 28 22 5c 6e 20 20 20 20 22 2c 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 implode("\n....",.$alternatives)
10d3e0 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 ;.}..throw.new.CommandNotFoundEx
10d400 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 ception($message,.$alternatives)
10d420 3b 0a 7d 0a 0a 24 65 78 61 63 74 20 3d 20 5c 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 73 70 61 ;.}..$exact.=.\in_array($namespa
10d440 63 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 73 2c 20 74 72 75 65 29 3b 0a 69 66 20 28 5c 63 6f 75 ce,.$namespaces,.true);.if.(\cou
10d460 6e 74 28 24 6e 61 6d 65 73 70 61 63 65 73 29 20 3e 20 31 20 26 26 20 21 24 65 78 61 63 74 29 20 nt($namespaces).>.1.&&.!$exact).
10d480 7b 0a 74 68 72 6f 77 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 {.throw.new.CommandNotFoundExcep
10d4a0 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 6e 61 6d 65 73 70 61 63 65 20 22 25 73 22 tion(sprintf('The.namespace."%s"
10d4c0 20 69 73 20 61 6d 62 69 67 75 6f 75 73 20 28 25 73 29 2e 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 .is.ambiguous.(%s).',.$namespace
10d4e0 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 62 62 72 65 76 69 61 74 69 6f 6e 53 75 67 67 65 73 74 69 ,.$this->getAbbreviationSuggesti
10d500 6f 6e 73 28 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 29 2c ons(array_values($namespaces))),
10d520 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 6e 61 6d 65 73 70 61 63 65 73 29 29 3b 0a 7d 0a 0a .array_values($namespaces));.}..
10d540 72 65 74 75 72 6e 20 24 65 78 61 63 74 20 3f 20 24 6e 61 6d 65 73 70 61 63 65 20 3a 20 72 65 73 return.$exact.?.$namespace.:.res
10d560 65 74 28 24 6e 61 6d 65 73 70 61 63 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a et($namespaces);.}..............
10d580 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 public.function.find($name).{.$t
10d5a0 68 69 73 2d 3e 69 6e 69 74 28 29 3b 0a 24 61 6c 69 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b his->init();.$aliases.=.array();
10d5c0 0a 24 61 6c 6c 43 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 .$allCommands.=.array_keys($this
10d5e0 2d 3e 63 6f 6d 6d 61 6e 64 73 29 3b 0a 24 65 78 70 72 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 ->commands);.$expr.=.preg_replac
10d600 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7b 28 5b 5e 3a 5d 2b 7c 29 7d 27 2c 20 66 75 6e 63 74 69 6f e_callback('{([^:]+|)}',.functio
10d620 6e 20 28 24 6d 61 74 63 68 65 73 29 20 7b 20 72 65 74 75 72 6e 20 70 72 65 67 5f 71 75 6f 74 65 n.($matches).{.return.preg_quote
10d640 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 2e 27 5b 5e 3a 5d 2a 27 3b 20 7d 2c 20 24 6e 61 6d 65 29 ($matches[1]).'[^:]*';.},.$name)
10d660 3b 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 70 72 65 67 5f 67 72 65 70 28 27 7b 5e 27 2e 24 65 78 ;.$commands.=.preg_grep('{^'.$ex
10d680 70 72 2e 27 7d 27 2c 20 24 61 6c 6c 43 6f 6d 6d 61 6e 64 73 29 3b 0a 0a 69 66 20 28 65 6d 70 74 pr.'}',.$allCommands);..if.(empt
10d6a0 79 28 24 63 6f 6d 6d 61 6e 64 73 29 20 7c 7c 20 5c 63 6f 75 6e 74 28 70 72 65 67 5f 67 72 65 70 y($commands).||.\count(preg_grep
10d6c0 28 27 7b 5e 27 2e 24 65 78 70 72 2e 27 24 7d 27 2c 20 24 63 6f 6d 6d 61 6e 64 73 29 29 20 3c 20 ('{^'.$expr.'$}',.$commands)).<.
10d6e0 31 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 3d 20 73 74 72 72 70 6f 1).{.if.(false.!==.$pos.=.strrpo
10d700 73 28 24 6e 61 6d 65 2c 20 27 3a 27 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 66 69 6e 64 4e 61 s($name,.':')).{...$this->findNa
10d720 6d 65 73 70 61 63 65 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 24 70 6f 73 29 29 3b mespace(substr($name,.0,.$pos));
10d740 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 43 6f 6d 6d 61 6e 64 20 .}..$message.=.sprintf('Command.
10d760 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2e 27 2c 20 24 6e 61 6d 65 29 3b 0a 0a "%s".is.not.defined.',.$name);..
10d780 69 66 20 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 41 if.($alternatives.=.$this->findA
10d7a0 6c 74 65 72 6e 61 74 69 76 65 73 28 24 6e 61 6d 65 2c 20 24 61 6c 6c 43 6f 6d 6d 61 6e 64 73 29 lternatives($name,.$allCommands)
10d7c0 29 20 7b 0a 69 66 20 28 31 20 3d 3d 20 5c 63 6f 75 6e 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 ).{.if.(1.==.\count($alternative
10d7e0 73 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e 44 69 64 20 79 6f 75 20 6d s)).{.$message..=."\n\nDid.you.m
10d800 65 61 6e 20 74 68 69 73 3f 5c 6e 20 20 20 20 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 ean.this?\n....";.}.else.{.$mess
10d820 61 67 65 20 2e 3d 20 22 5c 6e 5c 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 6f 6e 65 20 6f 66 20 age..=."\n\nDid.you.mean.one.of.
10d840 74 68 65 73 65 3f 5c 6e 20 20 20 20 22 3b 0a 7d 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 69 6d 70 these?\n....";.}.$message..=.imp
10d860 6c 6f 64 65 28 22 5c 6e 20 20 20 20 22 2c 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 7d lode("\n....",.$alternatives);.}
10d880 0a 0a 74 68 72 6f 77 20 6e 65 77 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 ..throw.new.CommandNotFoundExcep
10d8a0 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 7d tion($message,.$alternatives);.}
10d8c0 0a 0a 0a 20 69 66 20 28 5c 63 6f 75 6e 74 28 24 63 6f 6d 6d 61 6e 64 73 29 20 3e 20 31 29 20 7b ....if.(\count($commands).>.1).{
10d8e0 0a 24 63 6f 6d 6d 61 6e 64 4c 69 73 74 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 3b .$commandList.=.$this->commands;
10d900 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 63 6f 6d 6d 61 .$commands.=.array_filter($comma
10d920 6e 64 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6e 61 6d 65 4f 72 41 6c 69 61 73 29 20 75 73 65 nds,.function.($nameOrAlias).use
10d940 20 28 24 63 6f 6d 6d 61 6e 64 4c 69 73 74 2c 20 24 63 6f 6d 6d 61 6e 64 73 2c 20 26 24 61 6c 69 .($commandList,.$commands,.&$ali
10d960 61 73 65 73 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 4c ases).{.$commandName.=.$commandL
10d980 69 73 74 5b 24 6e 61 6d 65 4f 72 41 6c 69 61 73 5d 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 61 ist[$nameOrAlias]->getName();.$a
10d9a0 6c 69 61 73 65 73 5b 24 6e 61 6d 65 4f 72 41 6c 69 61 73 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 4e liases[$nameOrAlias].=.$commandN
10d9c0 61 6d 65 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 20 3d 3d 3d 20 24 6e ame;..return.$commandName.===.$n
10d9e0 61 6d 65 4f 72 41 6c 69 61 73 20 7c 7c 20 21 5c 69 6e 5f 61 72 72 61 79 28 24 63 6f 6d 6d 61 6e ameOrAlias.||.!\in_array($comman
10da00 64 4e 61 6d 65 2c 20 24 63 6f 6d 6d 61 6e 64 73 29 3b 0a 7d 29 3b 0a 7d 0a 0a 24 65 78 61 63 74 dName,.$commands);.});.}..$exact
10da20 20 3d 20 5c 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 63 6f 6d 6d 61 6e 64 73 2c 20 74 .=.\in_array($name,.$commands,.t
10da40 72 75 65 29 20 7c 7c 20 69 73 73 65 74 28 24 61 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 29 3b 0a rue).||.isset($aliases[$name]);.
10da60 69 66 20 28 21 24 65 78 61 63 74 20 26 26 20 5c 63 6f 75 6e 74 28 24 63 6f 6d 6d 61 6e 64 73 29 if.(!$exact.&&.\count($commands)
10da80 20 3e 20 31 29 20 7b 0a 24 73 75 67 67 65 73 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 .>.1).{.$suggestions.=.$this->ge
10daa0 74 41 62 62 72 65 76 69 61 74 69 6f 6e 53 75 67 67 65 73 74 69 6f 6e 73 28 61 72 72 61 79 5f 76 tAbbreviationSuggestions(array_v
10dac0 61 6c 75 65 73 28 24 63 6f 6d 6d 61 6e 64 73 29 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 43 6f alues($commands));..throw.new.Co
10dae0 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 mmandNotFoundException(sprintf('
10db00 43 6f 6d 6d 61 6e 64 20 22 25 73 22 20 69 73 20 61 6d 62 69 67 75 6f 75 73 20 28 25 73 29 2e 27 Command."%s".is.ambiguous.(%s).'
10db20 2c 20 24 6e 61 6d 65 2c 20 24 73 75 67 67 65 73 74 69 6f 6e 73 29 2c 20 61 72 72 61 79 5f 76 61 ,.$name,.$suggestions),.array_va
10db40 6c 75 65 73 28 24 63 6f 6d 6d 61 6e 64 73 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 lues($commands));.}..return.$thi
10db60 73 2d 3e 67 65 74 28 24 65 78 61 63 74 20 3f 20 24 6e 61 6d 65 20 3a 20 72 65 73 65 74 28 24 63 s->get($exact.?.$name.:.reset($c
10db80 6f 6d 6d 61 6e 64 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ommands));.}...........public.fu
10dba0 6e 63 74 69 6f 6e 20 61 6c 6c 28 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a nction.all($namespace.=.null).{.
10dbc0 24 74 68 69 73 2d 3e 69 6e 69 74 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6e 61 $this->init();..if.(null.===.$na
10dbe0 6d 65 73 70 61 63 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 mespace).{.return.$this->command
10dc00 73 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 s;.}..$commands.=.array();.forea
10dc20 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 ch.($this->commands.as.$name.=>.
10dc40 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 69 66 20 28 24 6e 61 6d 65 73 70 61 63 65 20 3d 3d 3d 20 24 $command).{.if.($namespace.===.$
10dc60 74 68 69 73 2d 3e 65 78 74 72 61 63 74 4e 61 6d 65 73 70 61 63 65 28 24 6e 61 6d 65 2c 20 73 75 this->extractNamespace($name,.su
10dc80 62 73 74 72 5f 63 6f 75 6e 74 28 24 6e 61 6d 65 73 70 61 63 65 2c 20 27 3a 27 29 20 2b 20 31 29 bstr_count($namespace,.':').+.1)
10dca0 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b ).{.$commands[$name].=.$command;
10dcc0 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a .}.}..return.$commands;.}.......
10dce0 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 62 62 72 ..public.static.function.getAbbr
10dd00 65 76 69 61 74 69 6f 6e 73 28 24 6e 61 6d 65 73 29 0a 7b 0a 24 61 62 62 72 65 76 73 20 3d 20 61 eviations($names).{.$abbrevs.=.a
10dd20 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 20 61 73 20 24 6e 61 6d 65 rray();.foreach.($names.as.$name
10dd40 29 20 7b 0a 66 6f 72 20 28 24 6c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 3b 20 ).{.for.($len.=.\strlen($name);.
10dd60 24 6c 65 6e 20 3e 20 30 3b 20 2d 2d 24 6c 65 6e 29 20 7b 0a 24 61 62 62 72 65 76 20 3d 20 73 75 $len.>.0;.--$len).{.$abbrev.=.su
10dd80 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 24 6c 65 6e 29 3b 0a 24 61 62 62 72 65 76 73 5b 24 bstr($name,.0,.$len);.$abbrevs[$
10dda0 61 62 62 72 65 76 5d 5b 5d 20 3d 20 24 6e 61 6d 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 abbrev][].=.$name;.}.}..return.$
10ddc0 61 62 62 72 65 76 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e abbrevs;.}............public.fun
10dde0 63 74 69 6f 6e 20 61 73 54 65 78 74 28 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 6e 75 6c 6c 2c 20 ction.asText($namespace.=.null,.
10de00 24 72 61 77 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 $raw.=.false).{.@trigger_error('
10de20 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 The.'.__METHOD__.'.method.is.dep
10de40 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 33 20 61 6e 64 20 77 69 recated.since.Symfony.2.3.and.wi
10de60 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 ll.be.removed.in.3.0.',.E_USER_D
10de80 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 54 EPRECATED);..$descriptor.=.new.T
10dea0 65 78 74 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 42 extDescriptor();.$output.=.new.B
10dec0 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 3a 3a 56 45 ufferedOutput(BufferedOutput::VE
10dee0 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 21 24 72 61 77 29 3b 0a 24 64 65 73 63 72 69 70 RBOSITY_NORMAL,.!$raw);.$descrip
10df00 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2c 20 61 72 tor->describe($output,.$this,.ar
10df20 72 61 79 28 27 6e 61 6d 65 73 70 61 63 65 27 20 3d 3e 20 24 6e 61 6d 65 73 70 61 63 65 2c 20 27 ray('namespace'.=>.$namespace,.'
10df40 72 61 77 5f 6f 75 74 70 75 74 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 raw_output'.=>.true));..return.$
10df60 6f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 output->fetch();.}............pu
10df80 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 58 6d 6c 28 24 6e 61 6d 65 73 70 61 63 65 20 3d blic.function.asXml($namespace.=
10dfa0 20 6e 75 6c 6c 2c 20 24 61 73 44 6f 6d 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 40 74 72 69 67 67 65 .null,.$asDom.=.false).{.@trigge
10dfc0 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 r_error('The.'.__METHOD__.'.meth
10dfe0 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 od.is.deprecated.since.Symfony.2
10e000 2e 33 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c .3.and.will.be.removed.in.3.0.',
10e020 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 6f .E_USER_DEPRECATED);..$descripto
10e040 72 20 3d 20 6e 65 77 20 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 0a 69 66 20 28 24 61 r.=.new.XmlDescriptor();..if.($a
10e060 73 44 6f 6d 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 67 65 74 41 sDom).{.return.$descriptor->getA
10e080 70 70 6c 69 63 61 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 2c 20 24 6e 61 6d 65 73 pplicationDocument($this,.$names
10e0a0 70 61 63 65 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 42 75 66 66 65 72 65 64 pace);.}..$output.=.new.Buffered
10e0c0 4f 75 74 70 75 74 28 29 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 Output();.$descriptor->describe(
10e0e0 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2c 20 61 72 72 61 79 28 27 6e 61 6d 65 73 70 61 63 65 $output,.$this,.array('namespace
10e100 27 20 3d 3e 20 24 6e 61 6d 65 73 70 61 63 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 '.=>.$namespace));..return.$outp
10e120 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ut->fetch();.}.....public.functi
10e140 6f 6e 20 72 65 6e 64 65 72 45 78 63 65 70 74 69 6f 6e 28 24 65 2c 20 24 6f 75 74 70 75 74 29 0a on.renderException($e,.$output).
10e160 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 2c 20 4f 75 74 70 75 74 49 6e 74 {.$output->writeln('',.OutputInt
10e180 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 0a 64 6f 20 7b 0a erface::VERBOSITY_QUIET);..do.{.
10e1a0 24 74 69 74 6c 65 20 3d 20 73 70 72 69 6e 74 66 28 27 20 20 5b 25 73 5d 20 20 27 2c 20 5c 67 65 $title.=.sprintf('..[%s]..',.\ge
10e1c0 74 5f 63 6c 61 73 73 28 24 65 29 29 3b 0a 0a 24 6c 65 6e 20 3d 20 48 65 6c 70 65 72 3a 3a 73 74 t_class($e));..$len.=.Helper::st
10e1e0 72 6c 65 6e 28 24 74 69 74 6c 65 29 3b 0a 0a 24 77 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 rlen($title);..$width.=.$this->g
10e200 65 74 54 65 72 6d 69 6e 61 6c 57 69 64 74 68 28 29 20 3f 20 24 74 68 69 73 2d 3e 67 65 74 54 65 etTerminalWidth().?.$this->getTe
10e220 72 6d 69 6e 61 6c 57 69 64 74 68 28 29 20 2d 20 31 20 3a 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b rminalWidth().-.1.:.PHP_INT_MAX;
10e240 0a 0a 20 69 66 20 28 5c 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 ...if.(\defined('HHVM_VERSION').
10e260 26 26 20 24 77 69 64 74 68 20 3e 20 31 20 3c 3c 20 33 31 29 20 7b 0a 24 77 69 64 74 68 20 3d 20 &&.$width.>.1.<<.31).{.$width.=.
10e280 31 20 3c 3c 20 33 31 3b 0a 7d 0a 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 1.<<.31;.}.$lines.=.array();.for
10e2a0 65 61 63 68 20 28 70 72 65 67 5f 73 70 6c 69 74 28 27 2f 5c 72 3f 5c 6e 2f 27 2c 20 74 72 69 6d each.(preg_split('/\r?\n/',.trim
10e2c0 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 29 20 61 73 20 24 6c 69 6e 65 29 20 7b 0a ($e->getMessage())).as.$line).{.
10e2e0 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 73 70 6c 69 74 53 74 72 69 6e 67 42 79 57 69 64 foreach.($this->splitStringByWid
10e300 74 68 28 24 6c 69 6e 65 2c 20 24 77 69 64 74 68 20 2d 20 34 29 20 61 73 20 24 6c 69 6e 65 29 20 th($line,.$width.-.4).as.$line).
10e320 7b 0a 0a 20 24 6c 69 6e 65 4c 65 6e 67 74 68 20 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e {...$lineLength.=.Helper::strlen
10e340 28 24 6c 69 6e 65 29 20 2b 20 34 3b 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 6c ($line).+.4;.$lines[].=.array($l
10e360 69 6e 65 2c 20 24 6c 69 6e 65 4c 65 6e 67 74 68 29 3b 0a 0a 24 6c 65 6e 20 3d 20 6d 61 78 28 24 ine,.$lineLength);..$len.=.max($
10e380 6c 69 6e 65 4c 65 6e 67 74 68 2c 20 24 6c 65 6e 29 3b 0a 7d 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 lineLength,.$len);.}.}..$message
10e3a0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 65 6d 70 74 s.=.array();.$messages[].=.$empt
10e3c0 79 4c 69 6e 65 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 25 73 3c 2f 65 72 72 6f yLine.=.sprintf('<error>%s</erro
10e3e0 72 3e 27 2c 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 65 6e 29 29 3b 0a 24 6d 65 r>',.str_repeat('.',.$len));.$me
10e400 73 73 61 67 65 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 25 73 25 73 3c ssages[].=.sprintf('<error>%s%s<
10e420 2f 65 72 72 6f 72 3e 27 2c 20 24 74 69 74 6c 65 2c 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 /error>',.$title,.str_repeat('.'
10e440 2c 20 6d 61 78 28 30 2c 20 24 6c 65 6e 20 2d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 ,.max(0,.$len.-.Helper::strlen($
10e460 74 69 74 6c 65 29 29 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 73 20 61 73 20 24 6c title))));.foreach.($lines.as.$l
10e480 69 6e 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 65 ine).{.$messages[].=.sprintf('<e
10e4a0 72 72 6f 72 3e 20 20 25 73 20 20 25 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 4f 75 74 70 75 74 46 6f rror>..%s..%s</error>',.OutputFo
10e4c0 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 6c 69 6e 65 5b 30 5d 29 2c 20 73 74 72 5f 72 rmatter::escape($line[0]),.str_r
10e4e0 65 70 65 61 74 28 27 20 27 2c 20 24 6c 65 6e 20 2d 20 24 6c 69 6e 65 5b 31 5d 29 29 3b 0a 7d 0a epeat('.',.$len.-.$line[1]));.}.
10e500 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 65 6d 70 74 79 4c 69 6e 65 3b 0a 24 6d 65 73 73 61 $messages[].=.$emptyLine;.$messa
10e520 67 65 73 5b 5d 20 3d 20 27 27 3b 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d ges[].=.'';..$output->writeln($m
10e540 65 73 73 61 67 65 73 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 essages,.OutputInterface::VERBOS
10e560 49 54 59 5f 51 55 49 45 54 29 3b 0a 0a 69 66 20 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 ITY_QUIET);..if.(OutputInterface
10e580 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 20 3c 3d 20 24 6f 75 74 70 75 74 2d 3e ::VERBOSITY_VERBOSE.<=.$output->
10e5a0 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 getVerbosity()).{.$output->write
10e5c0 6c 6e 28 27 3c 63 6f 6d 6d 65 6e 74 3e 45 78 63 65 70 74 69 6f 6e 20 74 72 61 63 65 3a 3c 2f 63 ln('<comment>Exception.trace:</c
10e5e0 6f 6d 6d 65 6e 74 3e 27 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f omment>',.OutputInterface::VERBO
10e600 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 0a 0a 20 24 74 72 61 63 65 20 3d 20 24 65 2d 3e 67 65 74 SITY_QUIET);....$trace.=.$e->get
10e620 54 72 61 63 65 28 29 3b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 74 72 61 63 65 2c 20 61 Trace();.array_unshift($trace,.a
10e640 72 72 61 79 28 0a 27 66 75 6e 63 74 69 6f 6e 27 20 3d 3e 20 27 27 2c 0a 27 66 69 6c 65 27 20 3d rray(.'function'.=>.'',.'file'.=
10e660 3e 20 6e 75 6c 6c 20 21 3d 3d 20 24 65 2d 3e 67 65 74 46 69 6c 65 28 29 20 3f 20 24 65 2d 3e 67 >.null.!==.$e->getFile().?.$e->g
10e680 65 74 46 69 6c 65 28 29 20 3a 20 27 6e 2f 61 27 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 6e 75 6c 6c etFile().:.'n/a',.'line'.=>.null
10e6a0 20 21 3d 3d 20 24 65 2d 3e 67 65 74 4c 69 6e 65 28 29 20 3f 20 24 65 2d 3e 67 65 74 4c 69 6e 65 .!==.$e->getLine().?.$e->getLine
10e6c0 28 29 20 3a 20 27 6e 2f 61 27 2c 0a 27 61 72 67 73 27 20 3d 3e 20 61 72 72 61 79 28 29 2c 0a 29 ().:.'n/a',.'args'.=>.array(),.)
10e6e0 29 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 2c 20 24 63 6f 75 6e 74 20 3d 20 5c 63 6f 75 6e 74 );..for.($i.=.0,.$count.=.\count
10e700 28 24 74 72 61 63 65 29 3b 20 24 69 20 3c 20 24 63 6f 75 6e 74 3b 20 2b 2b 24 69 29 20 7b 0a 24 ($trace);.$i.<.$count;.++$i).{.$
10e720 63 6c 61 73 73 20 3d 20 69 73 73 65 74 28 24 74 72 61 63 65 5b 24 69 5d 5b 27 63 6c 61 73 73 27 class.=.isset($trace[$i]['class'
10e740 5d 29 20 3f 20 24 74 72 61 63 65 5b 24 69 5d 5b 27 63 6c 61 73 73 27 5d 20 3a 20 27 27 3b 0a 24 ]).?.$trace[$i]['class'].:.'';.$
10e760 74 79 70 65 20 3d 20 69 73 73 65 74 28 24 74 72 61 63 65 5b 24 69 5d 5b 27 74 79 70 65 27 5d 29 type.=.isset($trace[$i]['type'])
10e780 20 3f 20 24 74 72 61 63 65 5b 24 69 5d 5b 27 74 79 70 65 27 5d 20 3a 20 27 27 3b 0a 24 66 75 6e .?.$trace[$i]['type'].:.'';.$fun
10e7a0 63 74 69 6f 6e 20 3d 20 24 74 72 61 63 65 5b 24 69 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 3b 0a ction.=.$trace[$i]['function'];.
10e7c0 24 66 69 6c 65 20 3d 20 69 73 73 65 74 28 24 74 72 61 63 65 5b 24 69 5d 5b 27 66 69 6c 65 27 5d $file.=.isset($trace[$i]['file']
10e7e0 29 20 3f 20 24 74 72 61 63 65 5b 24 69 5d 5b 27 66 69 6c 65 27 5d 20 3a 20 27 6e 2f 61 27 3b 0a ).?.$trace[$i]['file'].:.'n/a';.
10e800 24 6c 69 6e 65 20 3d 20 69 73 73 65 74 28 24 74 72 61 63 65 5b 24 69 5d 5b 27 6c 69 6e 65 27 5d $line.=.isset($trace[$i]['line']
10e820 29 20 3f 20 24 74 72 61 63 65 5b 24 69 5d 5b 27 6c 69 6e 65 27 5d 20 3a 20 27 6e 2f 61 27 3b 0a ).?.$trace[$i]['line'].:.'n/a';.
10e840 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 27 20 25 73 25 73 .$output->writeln(sprintf('.%s%s
10e860 25 73 28 29 20 61 74 20 3c 69 6e 66 6f 3e 25 73 3a 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 24 63 6c %s().at.<info>%s:%s</info>',.$cl
10e880 61 73 73 2c 20 24 74 79 70 65 2c 20 24 66 75 6e 63 74 69 6f 6e 2c 20 24 66 69 6c 65 2c 20 24 6c ass,.$type,.$function,.$file,.$l
10e8a0 69 6e 65 29 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 ine),.OutputInterface::VERBOSITY
10e8c0 5f 51 55 49 45 54 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 2c _QUIET);.}..$output->writeln('',
10e8e0 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 .OutputInterface::VERBOSITY_QUIE
10e900 54 29 3b 0a 7d 0a 7d 20 77 68 69 6c 65 20 28 24 65 20 3d 20 24 65 2d 3e 67 65 74 50 72 65 76 69 T);.}.}.while.($e.=.$e->getPrevi
10e920 6f 75 73 28 29 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 72 75 6e ous());..if.(null.!==.$this->run
10e940 6e 69 6e 67 43 6f 6d 6d 61 6e 64 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 ningCommand).{.$output->writeln(
10e960 73 70 72 69 6e 74 66 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 2c 20 73 70 72 69 6e sprintf('<info>%s</info>',.sprin
10e980 74 66 28 24 74 68 69 73 2d 3e 72 75 6e 6e 69 6e 67 43 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e tf($this->runningCommand->getSyn
10e9a0 6f 70 73 69 73 28 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 2c 20 4f 75 74 opsis(),.$this->getName())),.Out
10e9c0 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a putInterface::VERBOSITY_QUIET);.
10e9e0 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 $output->writeln('',.OutputInter
10ea00 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a face::VERBOSITY_QUIET);.}.}.....
10ea20 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 65 72 6d 69 6e 61 6c ..protected.function.getTerminal
10ea40 57 69 64 74 68 28 29 0a 7b 0a 24 64 69 6d 65 6e 73 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 Width().{.$dimensions.=.$this->g
10ea60 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 etTerminalDimensions();..return.
10ea80 24 64 69 6d 65 6e 73 69 6f 6e 73 5b 30 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 $dimensions[0];.}.......protecte
10eaa0 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 65 72 6d 69 6e 61 6c 48 65 69 67 68 74 28 29 0a 7b d.function.getTerminalHeight().{
10eac0 0a 24 64 69 6d 65 6e 73 69 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 65 72 6d 69 6e 61 .$dimensions.=.$this->getTermina
10eae0 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 69 6d 65 6e 73 69 6f lDimensions();..return.$dimensio
10eb00 6e 73 5b 31 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 ns[1];.}.......public.function.g
10eb20 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 etTerminalDimensions().{.if.($th
10eb40 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 29 20 7b 0a 72 65 74 75 72 6e is->terminalDimensions).{.return
10eb60 20 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 3b 0a 7d 0a 0a 69 .$this->terminalDimensions;.}..i
10eb80 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 f.('\\'.===.\DIRECTORY_SEPARATOR
10eba0 29 20 7b 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 28 5c 64 2b 29 78 5c 64 ).{...if.(preg_match('/^(\d+)x\d
10ebc0 2b 20 5c 28 5c 64 2b 78 28 5c 64 2b 29 5c 29 24 2f 27 2c 20 74 72 69 6d 28 67 65 74 65 6e 76 28 +.\(\d+x(\d+)\)$/',.trim(getenv(
10ebe0 27 41 4e 53 49 43 4f 4e 27 29 29 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 'ANSICON')),.$matches)).{.return
10ec00 20 61 72 72 61 79 28 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 28 69 6e 74 29 20 .array((int).$matches[1],.(int).
10ec20 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 7d 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 $matches[2]);.}...if.(preg_match
10ec40 28 27 2f 5e 28 5c 64 2b 29 78 28 5c 64 2b 29 24 2f 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 43 6f ('/^(\d+)x(\d+)$/',.$this->getCo
10ec60 6e 73 6f 6c 65 4d 6f 64 65 28 29 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e nsoleMode(),.$matches)).{.return
10ec80 20 61 72 72 61 79 28 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 28 69 6e 74 29 20 .array((int).$matches[1],.(int).
10eca0 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 73 74 74 79 53 74 72 69 $matches[2]);.}.}..if.($sttyStri
10ecc0 6e 67 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 74 74 79 43 6f 6c 75 6d 6e 73 28 29 29 20 7b 0a ng.=.$this->getSttyColumns()).{.
10ece0 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 72 6f 77 73 2e 28 5c 64 2b 29 3b 2e 63 ..if.(preg_match('/rows.(\d+);.c
10ed00 6f 6c 75 6d 6e 73 2e 28 5c 64 2b 29 3b 2f 69 27 2c 20 24 73 74 74 79 53 74 72 69 6e 67 2c 20 24 olumns.(\d+);/i',.$sttyString,.$
10ed20 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 28 69 6e 74 29 20 24 matches)).{.return.array((int).$
10ed40 6d 61 74 63 68 65 73 5b 32 5d 2c 20 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 31 5d 29 3b 0a matches[2],.(int).$matches[1]);.
10ed60 7d 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 3b 2e 28 5c 64 2b 29 2e 72 6f 77 }...if.(preg_match('/;.(\d+).row
10ed80 73 3b 2e 28 5c 64 2b 29 2e 63 6f 6c 75 6d 6e 73 2f 69 27 2c 20 24 73 74 74 79 53 74 72 69 6e 67 s;.(\d+).columns/i',.$sttyString
10eda0 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 28 69 6e 74 ,.$matches)).{.return.array((int
10edc0 29 20 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 28 69 6e 74 29 20 24 6d 61 74 63 68 65 73 5b 31 5d ).$matches[2],.(int).$matches[1]
10ede0 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 6e 75 6c 6c 29 );.}.}..return.array(null,.null)
10ee00 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ;.}............public.function.s
10ee20 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 24 77 69 64 74 68 2c 20 24 68 65 etTerminalDimensions($width,.$he
10ee40 69 67 68 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e ight).{.$this->terminalDimension
10ee60 73 20 3d 20 61 72 72 61 79 28 24 77 69 64 74 68 2c 20 24 68 65 69 67 68 74 29 3b 0a 0a 72 65 74 s.=.array($width,.$height);..ret
10ee80 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 urn.$this;.}.....protected.funct
10eea0 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 49 4f 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 ion.configureIO(InputInterface.$
10eec0 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a input,.OutputInterface.$output).
10eee0 7b 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 {.if.(true.===.$input->hasParame
10ef00 74 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 61 6e 73 69 27 29 29 29 20 7b 0a 24 6f terOption(array('--ansi'))).{.$o
10ef20 75 74 70 75 74 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 74 72 75 65 29 3b 0a 7d 20 65 6c 73 utput->setDecorated(true);.}.els
10ef40 65 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 eif.(true.===.$input->hasParamet
10ef60 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 6e 6f 2d 61 6e 73 69 27 29 29 29 20 7b 0a erOption(array('--no-ansi'))).{.
10ef80 24 6f 75 74 70 75 74 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 66 61 6c 73 65 29 3b 0a 7d 0a $output->setDecorated(false);.}.
10efa0 0a 69 66 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 .if.(true.===.$input->hasParamet
10efc0 65 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 6e 6f 2d 69 6e 74 65 72 61 63 74 69 6f 6e erOption(array('--no-interaction
10efe0 27 2c 20 27 2d 6e 27 29 29 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 ',.'-n'))).{.$input->setInteract
10f000 69 76 65 28 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c 66 75 6e 63 74 69 6f 6e 5f ive(false);.}.elseif.(\function_
10f020 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 69 73 61 74 74 79 27 29 20 26 26 20 24 74 68 69 73 2d exists('posix_isatty').&&.$this-
10f040 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 68 61 73 28 27 71 75 65 73 74 69 6f 6e 27 29 >getHelperSet()->has('question')
10f060 29 20 7b 0a 24 69 6e 70 75 74 53 74 72 65 61 6d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c ).{.$inputStream.=.$this->getHel
10f080 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 71 75 65 73 74 69 6f 6e 27 29 2d 3e 67 65 74 49 6e perSet()->get('question')->getIn
10f0a0 70 75 74 53 74 72 65 61 6d 28 29 3b 0a 69 66 20 28 21 40 70 6f 73 69 78 5f 69 73 61 74 74 79 28 putStream();.if.(!@posix_isatty(
10f0c0 24 69 6e 70 75 74 53 74 72 65 61 6d 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 67 65 74 65 6e $inputStream).&&.false.===.geten
10f0e0 76 28 27 53 48 45 4c 4c 5f 49 4e 54 45 52 41 43 54 49 56 45 27 29 29 20 7b 0a 24 69 6e 70 75 74 v('SHELL_INTERACTIVE')).{.$input
10f100 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 ->setInteractive(false);.}.}..if
10f120 20 28 74 72 75 65 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f .(true.===.$input->hasParameterO
10f140 70 74 69 6f 6e 28 61 72 72 61 79 28 27 2d 2d 71 75 69 65 74 27 2c 20 27 2d 71 27 29 29 29 20 7b ption(array('--quiet',.'-q'))).{
10f160 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 4f 75 74 70 75 74 49 6e 74 .$output->setVerbosity(OutputInt
10f180 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 29 3b 0a 24 69 6e 70 75 74 erface::VERBOSITY_QUIET);.$input
10f1a0 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 ->setInteractive(false);.}.else.
10f1c0 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e {.if.($input->hasParameterOption
10f1e0 28 27 2d 76 76 76 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 ('-vvv').||.$input->hasParameter
10f200 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 3d 33 27 29 20 7c 7c 20 33 20 3d 3d 3d 20 24 Option('--verbose=3').||.3.===.$
10f220 69 6e 70 75 74 2d 3e 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 input->getParameterOption('--ver
10f240 62 6f 73 65 27 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 bose')).{.$output->setVerbosity(
10f260 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 OutputInterface::VERBOSITY_DEBUG
10f280 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 );.}.elseif.($input->hasParamete
10f2a0 72 4f 70 74 69 6f 6e 28 27 2d 76 76 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 rOption('-vv').||.$input->hasPar
10f2c0 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 3d 32 27 29 20 7c 7c 20 32 ameterOption('--verbose=2').||.2
10f2e0 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 .===.$input->getParameterOption(
10f300 27 2d 2d 76 65 72 62 6f 73 65 27 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 '--verbose')).{.$output->setVerb
10f320 6f 73 69 74 79 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 osity(OutputInterface::VERBOSITY
10f340 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 6e 70 75 74 _VERY_VERBOSE);.}.elseif.($input
10f360 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 76 27 29 20 7c 7c 20 24 69 ->hasParameterOption('-v').||.$i
10f380 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 nput->hasParameterOption('--verb
10f3a0 6f 73 65 3d 31 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 68 61 73 50 61 72 61 6d 65 74 65 72 4f ose=1').||.$input->hasParameterO
10f3c0 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 27 29 20 7c 7c 20 24 69 6e 70 75 74 2d 3e 67 65 ption('--verbose').||.$input->ge
10f3e0 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 27 29 29 20 7b tParameterOption('--verbose')).{
10f400 0a 24 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 4f 75 74 70 75 74 49 6e 74 .$output->setVerbosity(OutputInt
10f420 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 29 3b 0a 7d 0a 7d 0a erface::VERBOSITY_VERBOSE);.}.}.
10f440 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f }..........protected.function.do
10f460 52 75 6e 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 49 6e 70 RunCommand(Command.$command,.Inp
10f480 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 utInterface.$input,.OutputInterf
10f4a0 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 ace.$output).{.foreach.($command
10f4c0 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 20 61 73 20 24 68 65 6c 70 65 72 29 20 7b 0a 69 ->getHelperSet().as.$helper).{.i
10f4e0 66 20 28 24 68 65 6c 70 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 41 77 61 72 65 f.($helper.instanceof.InputAware
10f500 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 68 65 6c 70 65 72 2d 3e 73 65 74 49 6e 70 75 74 28 24 Interface).{.$helper->setInput($
10f520 69 6e 70 75 74 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d input);.}.}..if.(null.===.$this-
10f540 3e 64 69 73 70 61 74 63 68 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 2d 3e >dispatcher).{.return.$command->
10f560 72 75 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 20 74 72 79 20 7b run($input,.$output);.}....try.{
10f580 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e .$command->mergeApplicationDefin
10f5a0 69 74 69 6f 6e 28 29 3b 0a 24 69 6e 70 75 74 2d 3e 62 69 6e 64 28 24 63 6f 6d 6d 61 6e 64 2d 3e ition();.$input->bind($command->
10f5c0 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 45 78 63 65 70 getDefinition());.}.catch.(Excep
10f5e0 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 65 29 20 7b 0a 0a 20 7d 0a 0a 24 65 76 65 6e 74 20 tionInterface.$e).{...}..$event.
10f600 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 28 24 63 6f 6d 6d 61 =.new.ConsoleCommandEvent($comma
10f620 6e 64 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 24 65 20 3d 20 6e 75 6c 6c 3b nd,.$input,.$output);.$e.=.null;
10f640 0a 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 70 61 74 63 68 65 72 2d 3e 64 69 73 70 61 ..try.{.$this->dispatcher->dispa
10f660 74 63 68 28 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 3a 3a 43 4f 4d 4d 41 4e 44 2c 20 24 65 76 65 tch(ConsoleEvents::COMMAND,.$eve
10f680 6e 74 29 3b 0a 0a 69 66 20 28 24 65 76 65 6e 74 2d 3e 63 6f 6d 6d 61 6e 64 53 68 6f 75 6c 64 52 nt);..if.($event->commandShouldR
10f6a0 75 6e 28 29 29 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 72 75 un()).{.$exitCode.=.$command->ru
10f6c0 6e 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 78 n($input,.$output);.}.else.{.$ex
10f6e0 69 74 43 6f 64 65 20 3d 20 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 3a 3a 52 45 itCode.=.ConsoleCommandEvent::RE
10f700 54 55 52 4e 5f 43 4f 44 45 5f 44 49 53 41 42 4c 45 44 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c TURN_CODE_DISABLED;.}.}.catch.(\
10f720 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 Exception.$e).{.}.catch.(\Throwa
10f740 62 6c 65 20 24 65 29 20 7b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 29 20 7b 0a 24 ble.$e).{.}.if.(null.!==.$e).{.$
10f760 78 20 3d 20 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 45 78 63 65 70 74 69 6f 6e 20 3f 20 24 x.=.$e.instanceof.\Exception.?.$
10f780 65 20 3a 20 6e 65 77 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 28 24 65 29 3b e.:.new.FatalThrowableError($e);
10f7a0 0a 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 45 78 63 65 70 74 69 6f 6e 45 76 .$event.=.new.ConsoleExceptionEv
10f7c0 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 ent($command,.$input,.$output,.$
10f7e0 78 2c 20 24 78 2d 3e 67 65 74 43 6f 64 65 28 29 29 3b 0a 24 74 68 69 73 2d 3e 64 69 73 70 61 74 x,.$x->getCode());.$this->dispat
10f800 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 28 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 3a 3a 45 58 cher->dispatch(ConsoleEvents::EX
10f820 43 45 50 54 49 4f 4e 2c 20 24 65 76 65 6e 74 29 3b 0a 0a 69 66 20 28 24 78 20 21 3d 3d 20 24 65 CEPTION,.$event);..if.($x.!==.$e
10f840 76 65 6e 74 2d 3e 67 65 74 45 78 63 65 70 74 69 6f 6e 28 29 29 20 7b 0a 24 65 20 3d 20 24 65 76 vent->getException()).{.$e.=.$ev
10f860 65 6e 74 2d 3e 67 65 74 45 78 63 65 70 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 24 65 78 69 74 43 6f 64 ent->getException();.}..$exitCod
10f880 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 46 6f 72 54 68 72 6f 77 61 62 e.=.$this->getExitCodeForThrowab
10f8a0 6c 65 28 24 65 29 3b 0a 7d 0a 0a 24 65 76 65 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 54 le($e);.}..$event.=.new.ConsoleT
10f8c0 65 72 6d 69 6e 61 74 65 45 76 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 6e 70 75 74 2c 20 erminateEvent($command,.$input,.
10f8e0 24 6f 75 74 70 75 74 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 24 74 68 69 73 2d 3e 64 69 73 70 $output,.$exitCode);.$this->disp
10f900 61 74 63 68 65 72 2d 3e 64 69 73 70 61 74 63 68 28 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 73 3a 3a atcher->dispatch(ConsoleEvents::
10f920 54 45 52 4d 49 4e 41 54 45 2c 20 24 65 76 65 6e 74 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d TERMINATE,.$event);..if.(null.!=
10f940 3d 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 76 65 =.$e).{.throw.$e;.}..return.$eve
10f960 6e 74 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 nt->getExitCode();.}.......prote
10f980 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 4e 61 6d 65 28 49 6e 70 cted.function.getCommandName(Inp
10f9a0 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 24 69 6e utInterface.$input).{.return.$in
10f9c0 70 75 74 2d 3e 67 65 74 46 69 72 73 74 41 72 67 75 6d 65 6e 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a put->getFirstArgument();.}......
10f9e0 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 49 6e .protected.function.getDefaultIn
10fa00 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 70 putDefinition().{.return.new.Inp
10fa20 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 utDefinition(array(.new.InputArg
10fa40 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a ument('command',.InputArgument::
10fa60 52 45 51 55 49 52 45 44 2c 20 27 54 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 65 78 65 63 75 74 REQUIRED,.'The.command.to.execut
10fa80 65 27 29 2c 0a 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 68 65 6c 70 27 2c 20 e'),..new.InputOption('--help',.
10faa0 27 2d 68 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 '-h',.InputOption::VALUE_NONE,.'
10fac0 44 69 73 70 6c 61 79 20 74 68 69 73 20 68 65 6c 70 20 6d 65 73 73 61 67 65 27 29 2c 0a 6e 65 77 Display.this.help.message'),.new
10fae0 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 71 75 69 65 74 27 2c 20 27 2d 71 27 2c 20 49 6e .InputOption('--quiet',.'-q',.In
10fb00 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 6f 20 6e 6f 74 20 6f putOption::VALUE_NONE,.'Do.not.o
10fb20 75 74 70 75 74 20 61 6e 79 20 6d 65 73 73 61 67 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 utput.any.message'),.new.InputOp
10fb40 74 69 6f 6e 28 27 2d 2d 76 65 72 62 6f 73 65 27 2c 20 27 2d 76 7c 76 76 7c 76 76 76 27 2c 20 49 tion('--verbose',.'-v|vv|vvv',.I
10fb60 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 49 6e 63 72 65 61 73 nputOption::VALUE_NONE,.'Increas
10fb80 65 20 74 68 65 20 76 65 72 62 6f 73 69 74 79 20 6f 66 20 6d 65 73 73 61 67 65 73 3a 20 31 20 66 e.the.verbosity.of.messages:.1.f
10fba0 6f 72 20 6e 6f 72 6d 61 6c 20 6f 75 74 70 75 74 2c 20 32 20 66 6f 72 20 6d 6f 72 65 20 76 65 72 or.normal.output,.2.for.more.ver
10fbc0 62 6f 73 65 20 6f 75 74 70 75 74 20 61 6e 64 20 33 20 66 6f 72 20 64 65 62 75 67 27 29 2c 0a 6e bose.output.and.3.for.debug'),.n
10fbe0 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 76 65 72 73 69 6f 6e 27 2c 20 27 2d 56 27 ew.InputOption('--version',.'-V'
10fc00 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 44 69 73 70 ,.InputOption::VALUE_NONE,.'Disp
10fc20 6c 61 79 20 74 68 69 73 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 76 65 72 73 69 6f 6e 27 29 2c 0a lay.this.application.version'),.
10fc40 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 61 6e 73 69 27 2c 20 27 27 2c 20 49 6e new.InputOption('--ansi',.'',.In
10fc60 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 46 6f 72 63 65 20 41 4e putOption::VALUE_NONE,.'Force.AN
10fc80 53 49 20 6f 75 74 70 75 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d SI.output'),.new.InputOption('--
10fca0 6e 6f 2d 61 6e 73 69 27 2c 20 27 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 no-ansi',.'',.InputOption::VALUE
10fcc0 5f 4e 4f 4e 45 2c 20 27 44 69 73 61 62 6c 65 20 41 4e 53 49 20 6f 75 74 70 75 74 27 29 2c 0a 6e _NONE,.'Disable.ANSI.output'),.n
10fce0 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 2d 2d 6e 6f 2d 69 6e 74 65 72 61 63 74 69 6f 6e ew.InputOption('--no-interaction
10fd00 27 2c 20 27 2d 6e 27 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 ',.'-n',.InputOption::VALUE_NONE
10fd20 2c 20 27 44 6f 20 6e 6f 74 20 61 73 6b 20 61 6e 79 20 69 6e 74 65 72 61 63 74 69 76 65 20 71 75 ,.'Do.not.ask.any.interactive.qu
10fd40 65 73 74 69 6f 6e 27 29 2c 0a 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 estion'),.));.}.......protected.
10fd60 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 0a 7b 0a function.getDefaultCommands().{.
10fd80 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 65 77 20 48 65 6c 70 43 6f 6d 6d 61 6e 64 28 29 2c 20 return.array(new.HelpCommand(),.
10fda0 6e 65 77 20 4c 69 73 74 43 6f 6d 6d 61 6e 64 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 new.ListCommand());.}.......prot
10fdc0 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 48 65 6c 70 65 72 53 ected.function.getDefaultHelperS
10fde0 65 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 48 65 6c 70 65 72 53 65 74 28 61 72 72 61 et().{.return.new.HelperSet(arra
10fe00 79 28 0a 6e 65 77 20 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 28 29 2c 0a 6e 65 77 20 44 69 y(.new.FormatterHelper(),.new.Di
10fe20 61 6c 6f 67 48 65 6c 70 65 72 28 66 61 6c 73 65 29 2c 0a 6e 65 77 20 50 72 6f 67 72 65 73 73 48 alogHelper(false),.new.ProgressH
10fe40 65 6c 70 65 72 28 66 61 6c 73 65 29 2c 0a 6e 65 77 20 54 61 62 6c 65 48 65 6c 70 65 72 28 66 61 elper(false),.new.TableHelper(fa
10fe60 6c 73 65 29 2c 0a 6e 65 77 20 44 65 62 75 67 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 28 29 lse),.new.DebugFormatterHelper()
10fe80 2c 0a 6e 65 77 20 50 72 6f 63 65 73 73 48 65 6c 70 65 72 28 29 2c 0a 6e 65 77 20 51 75 65 73 74 ,.new.ProcessHelper(),.new.Quest
10fea0 69 6f 6e 48 65 6c 70 65 72 28 29 2c 0a 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 ionHelper(),.));.}.......private
10fec0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 74 79 43 6f 6c 75 6d 6e 73 28 29 0a 7b 0a 69 66 20 .function.getSttyColumns().{.if.
10fee0 28 21 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 (!\function_exists('proc_open'))
10ff00 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 73 70 65 63 20 3d 20 .{.return;.}..$descriptorspec.=.
10ff20 61 72 72 61 79 28 31 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 2c 20 32 array(1.=>.array('pipe',.'w'),.2
10ff40 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 29 3b 0a 24 70 72 6f 63 65 73 .=>.array('pipe',.'w'));.$proces
10ff60 73 20 3d 20 70 72 6f 63 5f 6f 70 65 6e 28 27 73 74 74 79 20 2d 61 20 7c 20 67 72 65 70 20 63 6f s.=.proc_open('stty.-a.|.grep.co
10ff80 6c 75 6d 6e 73 27 2c 20 24 64 65 73 63 72 69 70 74 6f 72 73 70 65 63 2c 20 24 70 69 70 65 73 2c lumns',.$descriptorspec,.$pipes,
10ffa0 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 61 72 72 61 79 28 27 73 75 70 70 72 65 73 73 5f 65 72 72 .null,.null,.array('suppress_err
10ffc0 6f 72 73 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a 69 66 20 28 5c 69 73 5f 72 65 73 6f 75 72 63 65 ors'.=>.true));.if.(\is_resource
10ffe0 28 24 70 72 6f 63 65 73 73 29 29 20 7b 0a 24 69 6e 66 6f 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 ($process)).{.$info.=.stream_get
110000 5f 63 6f 6e 74 65 6e 74 73 28 24 70 69 70 65 73 5b 31 5d 29 3b 0a 66 63 6c 6f 73 65 28 24 70 69 _contents($pipes[1]);.fclose($pi
110020 70 65 73 5b 31 5d 29 3b 0a 66 63 6c 6f 73 65 28 24 70 69 70 65 73 5b 32 5d 29 3b 0a 70 72 6f 63 pes[1]);.fclose($pipes[2]);.proc
110040 5f 63 6c 6f 73 65 28 24 70 72 6f 63 65 73 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 69 6e 66 6f 3b _close($process);..return.$info;
110060 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 .}.}.......private.function.getC
110080 6f 6e 73 6f 6c 65 4d 6f 64 65 28 29 0a 7b 0a 69 66 20 28 21 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 onsoleMode().{.if.(!\function_ex
1100a0 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a ists('proc_open')).{.return;.}..
1100c0 24 64 65 73 63 72 69 70 74 6f 72 73 70 65 63 20 3d 20 61 72 72 61 79 28 31 20 3d 3e 20 61 72 72 $descriptorspec.=.array(1.=>.arr
1100e0 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 2c 20 32 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 ay('pipe',.'w'),.2.=>.array('pip
110100 65 27 2c 20 27 77 27 29 29 3b 0a 24 70 72 6f 63 65 73 73 20 3d 20 70 72 6f 63 5f 6f 70 65 6e 28 e',.'w'));.$process.=.proc_open(
110120 27 6d 6f 64 65 20 43 4f 4e 27 2c 20 24 64 65 73 63 72 69 70 74 6f 72 73 70 65 63 2c 20 24 70 69 'mode.CON',.$descriptorspec,.$pi
110140 70 65 73 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 61 72 72 61 79 28 27 73 75 70 70 72 65 73 73 pes,.null,.null,.array('suppress
110160 5f 65 72 72 6f 72 73 27 20 3d 3e 20 74 72 75 65 29 29 3b 0a 69 66 20 28 5c 69 73 5f 72 65 73 6f _errors'.=>.true));.if.(\is_reso
110180 75 72 63 65 28 24 70 72 6f 63 65 73 73 29 29 20 7b 0a 24 69 6e 66 6f 20 3d 20 73 74 72 65 61 6d urce($process)).{.$info.=.stream
1101a0 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 69 70 65 73 5b 31 5d 29 3b 0a 66 63 6c 6f 73 65 _get_contents($pipes[1]);.fclose
1101c0 28 24 70 69 70 65 73 5b 31 5d 29 3b 0a 66 63 6c 6f 73 65 28 24 70 69 70 65 73 5b 32 5d 29 3b 0a ($pipes[1]);.fclose($pipes[2]);.
1101e0 70 72 6f 63 5f 63 6c 6f 73 65 28 24 70 72 6f 63 65 73 73 29 3b 0a 0a 69 66 20 28 70 72 65 67 5f proc_close($process);..if.(preg_
110200 6d 61 74 63 68 28 27 2f 2d 2d 2d 2d 2d 2d 2d 2d 2b 5c 72 3f 5c 6e 2e 2b 3f 28 5c 64 2b 29 5c 72 match('/--------+\r?\n.+?(\d+)\r
110220 3f 5c 6e 2e 2b 3f 28 5c 64 2b 29 5c 72 3f 5c 6e 2f 27 2c 20 24 69 6e 66 6f 2c 20 24 6d 61 74 63 ?\n.+?(\d+)\r?\n/',.$info,.$matc
110240 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 32 5d 2e 27 78 27 2e 24 hes)).{.return.$matches[2].'x'.$
110260 6d 61 74 63 68 65 73 5b 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 matches[1];.}.}.}.........privat
110280 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 62 62 72 65 76 69 61 74 69 6f 6e 53 75 67 67 65 73 e.function.getAbbreviationSugges
1102a0 74 69 6f 6e 73 28 24 61 62 62 72 65 76 73 29 0a 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 tions($abbrevs).{.return.sprintf
1102c0 28 27 25 73 2c 20 25 73 25 73 27 2c 20 24 61 62 62 72 65 76 73 5b 30 5d 2c 20 24 61 62 62 72 65 ('%s,.%s%s',.$abbrevs[0],.$abbre
1102e0 76 73 5b 31 5d 2c 20 5c 63 6f 75 6e 74 28 24 61 62 62 72 65 76 73 29 20 3e 20 32 20 3f 20 73 70 vs[1],.\count($abbrevs).>.2.?.sp
110300 72 69 6e 74 66 28 27 20 61 6e 64 20 25 64 20 6d 6f 72 65 27 2c 20 5c 63 6f 75 6e 74 28 24 61 62 rintf('.and.%d.more',.\count($ab
110320 62 72 65 76 73 29 20 2d 20 32 29 20 3a 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a brevs).-.2).:.'');.}............
110340 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 61 63 74 4e 61 6d 65 73 70 61 63 65 public.function.extractNamespace
110360 28 24 6e 61 6d 65 2c 20 24 6c 69 6d 69 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 61 72 74 73 20 ($name,.$limit.=.null).{.$parts.
110380 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 6e 61 6d 65 29 3b 0a 61 72 72 61 79 5f 70 6f 70 =.explode(':',.$name);.array_pop
1103a0 28 24 70 61 72 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 3a 27 2c 20 6e ($parts);..return.implode(':',.n
1103c0 75 6c 6c 20 3d 3d 3d 20 24 6c 69 6d 69 74 20 3f 20 24 70 61 72 74 73 20 3a 20 5c 61 72 72 61 79 ull.===.$limit.?.$parts.:.\array
1103e0 5f 73 6c 69 63 65 28 24 70 61 72 74 73 2c 20 30 2c 20 24 6c 69 6d 69 74 29 29 3b 0a 7d 0a 0a 0a _slice($parts,.0,.$limit));.}...
110400 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 41 6c 74 ........private.function.findAlt
110420 65 72 6e 61 74 69 76 65 73 28 24 6e 61 6d 65 2c 20 24 63 6f 6c 6c 65 63 74 69 6f 6e 29 0a 7b 0a ernatives($name,.$collection).{.
110440 24 74 68 72 65 73 68 6f 6c 64 20 3d 20 31 65 33 3b 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 73 20 $threshold.=.1e3;.$alternatives.
110460 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 63 6f 6c 6c 65 63 74 69 6f 6e 50 61 72 74 73 20 3d 20 61 =.array();..$collectionParts.=.a
110480 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6c 6c 65 63 74 69 6f 6e 20 61 73 20 rray();.foreach.($collection.as.
1104a0 24 69 74 65 6d 29 20 7b 0a 24 63 6f 6c 6c 65 63 74 69 6f 6e 50 61 72 74 73 5b 24 69 74 65 6d 5d $item).{.$collectionParts[$item]
1104c0 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 69 74 65 6d 29 3b 0a 7d 0a 0a 66 6f 72 65 61 .=.explode(':',.$item);.}..forea
1104e0 63 68 20 28 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 6e 61 6d 65 29 20 61 73 20 24 69 20 3d 3e ch.(explode(':',.$name).as.$i.=>
110500 20 24 73 75 62 6e 61 6d 65 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6c 6c 65 63 74 69 6f .$subname).{.foreach.($collectio
110520 6e 50 61 72 74 73 20 61 73 20 24 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 20 3d 3e 20 24 70 61 nParts.as.$collectionName.=>.$pa
110540 72 74 73 29 20 7b 0a 24 65 78 69 73 74 73 20 3d 20 69 73 73 65 74 28 24 61 6c 74 65 72 6e 61 74 rts).{.$exists.=.isset($alternat
110560 69 76 65 73 5b 24 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 5d 29 3b 0a 69 66 20 28 21 69 73 73 ives[$collectionName]);.if.(!iss
110580 65 74 28 24 70 61 72 74 73 5b 24 69 5d 29 20 26 26 20 24 65 78 69 73 74 73 29 20 7b 0a 24 61 6c et($parts[$i]).&&.$exists).{.$al
1105a0 74 65 72 6e 61 74 69 76 65 73 5b 24 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 5d 20 2b 3d 20 24 ternatives[$collectionName].+=.$
1105c0 74 68 72 65 73 68 6f 6c 64 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 threshold;.continue;.}.elseif.(!
1105e0 69 73 73 65 74 28 24 70 61 72 74 73 5b 24 69 5d 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d isset($parts[$i])).{.continue;.}
110600 0a 0a 24 6c 65 76 20 3d 20 6c 65 76 65 6e 73 68 74 65 69 6e 28 24 73 75 62 6e 61 6d 65 2c 20 24 ..$lev.=.levenshtein($subname,.$
110620 70 61 72 74 73 5b 24 69 5d 29 3b 0a 69 66 20 28 24 6c 65 76 20 3c 3d 20 5c 73 74 72 6c 65 6e 28 parts[$i]);.if.($lev.<=.\strlen(
110640 24 73 75 62 6e 61 6d 65 29 20 2f 20 33 20 7c 7c 20 27 27 20 21 3d 3d 20 24 73 75 62 6e 61 6d 65 $subname)./.3.||.''.!==.$subname
110660 20 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 70 61 72 74 73 5b 24 69 5d 2c .&&.false.!==.strpos($parts[$i],
110680 20 24 73 75 62 6e 61 6d 65 29 29 20 7b 0a 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 63 6f 6c .$subname)).{.$alternatives[$col
1106a0 6c 65 63 74 69 6f 6e 4e 61 6d 65 5d 20 3d 20 24 65 78 69 73 74 73 20 3f 20 24 61 6c 74 65 72 6e lectionName].=.$exists.?.$altern
1106c0 61 74 69 76 65 73 5b 24 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 5d 20 2b 20 24 6c 65 76 20 3a atives[$collectionName].+.$lev.:
1106e0 20 24 6c 65 76 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 65 78 69 73 74 73 29 20 7b 0a 24 61 6c 74 .$lev;.}.elseif.($exists).{.$alt
110700 65 72 6e 61 74 69 76 65 73 5b 24 63 6f 6c 6c 65 63 74 69 6f 6e 4e 61 6d 65 5d 20 2b 3d 20 24 74 ernatives[$collectionName].+=.$t
110720 68 72 65 73 68 6f 6c 64 3b 0a 7d 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6c 6c 65 hreshold;.}.}.}..foreach.($colle
110740 63 74 69 6f 6e 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 24 6c 65 76 20 3d 20 6c 65 76 65 6e 73 68 ction.as.$item).{.$lev.=.levensh
110760 74 65 69 6e 28 24 6e 61 6d 65 2c 20 24 69 74 65 6d 29 3b 0a 69 66 20 28 24 6c 65 76 20 3c 3d 20 tein($name,.$item);.if.($lev.<=.
110780 5c 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 20 2f 20 33 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 \strlen($name)./.3.||.false.!==.
1107a0 73 74 72 70 6f 73 28 24 69 74 65 6d 2c 20 24 6e 61 6d 65 29 29 20 7b 0a 24 61 6c 74 65 72 6e 61 strpos($item,.$name)).{.$alterna
1107c0 74 69 76 65 73 5b 24 69 74 65 6d 5d 20 3d 20 69 73 73 65 74 28 24 61 6c 74 65 72 6e 61 74 69 76 tives[$item].=.isset($alternativ
1107e0 65 73 5b 24 69 74 65 6d 5d 29 20 3f 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 5b 24 69 74 65 6d es[$item]).?.$alternatives[$item
110800 5d 20 2d 20 24 6c 65 76 20 3a 20 24 6c 65 76 3b 0a 7d 0a 7d 0a 0a 24 61 6c 74 65 72 6e 61 74 69 ].-.$lev.:.$lev;.}.}..$alternati
110820 76 65 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 ves.=.array_filter($alternatives
110840 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6c 65 76 29 20 75 73 65 20 28 24 74 68 72 65 73 68 6f 6c ,.function.($lev).use.($threshol
110860 64 29 20 7b 20 72 65 74 75 72 6e 20 24 6c 65 76 20 3c 20 32 20 2a 20 24 74 68 72 65 73 68 6f 6c d).{.return.$lev.<.2.*.$threshol
110880 64 3b 20 7d 29 3b 0a 61 73 6f 72 74 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a 0a 72 65 d;.});.asort($alternatives);..re
1108a0 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 24 61 6c 74 65 72 6e 61 74 69 76 65 73 29 3b 0a turn.array_keys($alternatives);.
1108c0 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 61 75 }.......public.function.setDefau
1108e0 6c 74 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d ltCommand($commandName).{.$this-
110900 3e 64 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 4e 61 6d 65 3b 0a >defaultCommand.=.$commandName;.
110920 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 70 6c 69 74 53 74 72 69 6e 67 42 }..private.function.splitStringB
110940 79 57 69 64 74 68 28 24 73 74 72 69 6e 67 2c 20 24 77 69 64 74 68 29 0a 7b 0a 0a 20 0a 20 0a 20 yWidth($string,.$width).{.......
110960 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 5f 64 65 74 if.(false.===.$encoding.=.mb_det
110980 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 69 6e 67 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 ect_encoding($string,.null,.true
1109a0 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 5f 73 70 6c 69 74 28 24 73 74 72 69 6e 67 2c 20 24 )).{.return.str_split($string,.$
1109c0 77 69 64 74 68 29 3b 0a 7d 0a 0a 24 75 74 66 38 53 74 72 69 6e 67 20 3d 20 6d 62 5f 63 6f 6e 76 width);.}..$utf8String.=.mb_conv
1109e0 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 69 6e 67 2c 20 27 75 74 66 38 27 2c 20 24 65 ert_encoding($string,.'utf8',.$e
110a00 6e 63 6f 64 69 6e 67 29 3b 0a 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6c 69 6e ncoding);.$lines.=.array();.$lin
110a20 65 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 28 70 72 65 67 5f 73 70 6c 69 74 28 27 2f 2f 75 e.=.'';.foreach.(preg_split('//u
110a40 27 2c 20 24 75 74 66 38 53 74 72 69 6e 67 29 20 61 73 20 24 63 68 61 72 29 20 7b 0a 0a 20 69 66 ',.$utf8String).as.$char).{...if
110a60 20 28 6d 62 5f 73 74 72 77 69 64 74 68 28 24 6c 69 6e 65 2e 24 63 68 61 72 2c 20 27 75 74 66 38 .(mb_strwidth($line.$char,.'utf8
110a80 27 29 20 3c 3d 20 24 77 69 64 74 68 29 20 7b 0a 24 6c 69 6e 65 20 2e 3d 20 24 63 68 61 72 3b 0a ').<=.$width).{.$line..=.$char;.
110aa0 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 20 24 6c 69 6e 65 73 5b 5d 20 3d 20 73 74 72 5f 70 61 64 continue;.}...$lines[].=.str_pad
110ac0 28 24 6c 69 6e 65 2c 20 24 77 69 64 74 68 29 3b 0a 24 6c 69 6e 65 20 3d 20 24 63 68 61 72 3b 0a ($line,.$width);.$line.=.$char;.
110ae0 7d 0a 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 5c 63 6f 75 6e 74 28 24 6c 69 6e 65 73 29 20 3f 20 73 }..$lines[].=.\count($lines).?.s
110b00 74 72 5f 70 61 64 28 24 6c 69 6e 65 2c 20 24 77 69 64 74 68 29 20 3a 20 24 6c 69 6e 65 3b 0a 0a tr_pad($line,.$width).:.$line;..
110b20 6d 62 5f 63 6f 6e 76 65 72 74 5f 76 61 72 69 61 62 6c 65 73 28 24 65 6e 63 6f 64 69 6e 67 2c 20 mb_convert_variables($encoding,.
110b40 27 75 74 66 38 27 2c 20 24 6c 69 6e 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6c 69 6e 65 73 3b 'utf8',.$lines);..return.$lines;
110b60 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 72 .}.........private.function.extr
110b80 61 63 74 41 6c 6c 4e 61 6d 65 73 70 61 63 65 73 28 24 6e 61 6d 65 29 0a 7b 0a 0a 20 24 70 61 72 actAllNamespaces($name).{...$par
110ba0 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 3a 27 2c 20 24 6e 61 6d 65 2c 20 2d 31 29 3b 0a 24 6e ts.=.explode(':',.$name,.-1);.$n
110bc0 61 6d 65 73 70 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 amespaces.=.array();..foreach.($
110be0 70 61 72 74 73 20 61 73 20 24 70 61 72 74 29 20 7b 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 6e 61 parts.as.$part).{.if.(\count($na
110c00 6d 65 73 70 61 63 65 73 29 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 5b 5d 20 3d 20 65 6e 64 mespaces)).{.$namespaces[].=.end
110c20 28 24 6e 61 6d 65 73 70 61 63 65 73 29 2e 27 3a 27 2e 24 70 61 72 74 3b 0a 7d 20 65 6c 73 65 20 ($namespaces).':'.$part;.}.else.
110c40 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 5b 5d 20 3d 20 24 70 61 72 74 3b 0a 7d 0a 7d 0a 0a 72 65 {.$namespaces[].=.$part;.}.}..re
110c60 74 75 72 6e 20 24 6e 61 6d 65 73 70 61 63 65 73 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e turn.$namespaces;.}..private.fun
110c80 63 74 69 6f 6e 20 69 6e 69 74 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 ction.init().{.if.($this->initia
110ca0 6c 69 7a 65 64 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 lized).{.return;.}.$this->initia
110cc0 6c 69 7a 65 64 20 3d 20 74 72 75 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 lized.=.true;..foreach.($this->g
110ce0 65 74 44 65 66 61 75 6c 74 43 6f 6d 6d 61 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 etDefaultCommands().as.$command)
110d00 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 7d 0a 0a 0a 0a .{.$this->add($command);.}.}....
110d20 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 69 74 43 6f 64 65 46 ...private.function.getExitCodeF
110d40 6f 72 54 68 72 6f 77 61 62 6c 65 28 24 74 68 72 6f 77 61 62 6c 65 29 0a 7b 0a 24 65 78 69 74 43 orThrowable($throwable).{.$exitC
110d60 6f 64 65 20 3d 20 24 74 68 72 6f 77 61 62 6c 65 2d 3e 67 65 74 43 6f 64 65 28 29 3b 0a 69 66 20 ode.=.$throwable->getCode();.if.
110d80 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 65 78 69 74 43 6f 64 65 29 29 20 7b 0a 24 65 78 69 74 43 (is_numeric($exitCode)).{.$exitC
110da0 6f 64 65 20 3d 20 28 69 6e 74 29 20 24 65 78 69 74 43 6f 64 65 3b 0a 69 66 20 28 30 20 3d 3d 3d ode.=.(int).$exitCode;.if.(0.===
110dc0 20 24 65 78 69 74 43 6f 64 65 29 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 31 3b 0a 7d 0a 7d .$exitCode).{.$exitCode.=.1;.}.}
110de0 20 65 6c 73 65 20 7b 0a 24 65 78 69 74 43 6f 64 65 20 3d 20 31 3b 0a 7d 0a 0a 72 65 74 75 72 6e .else.{.$exitCode.=.1;.}..return
110e00 20 24 65 78 69 74 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .$exitCode;.}.}.<?php...........
110e20 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 namespace.Symfony\Component\Cons
110e40 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ole\Command;..use.Symfony\Compon
110e60 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d ent\Console\Application;.use.Sym
110e80 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f fony\Component\Console\Descripto
110ea0 72 5c 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f r\TextDescriptor;.use.Symfony\Co
110ec0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 58 6d 6c 44 65 mponent\Console\Descriptor\XmlDe
110ee0 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c scriptor;.use.Symfony\Component\
110f00 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 Console\Exception\ExceptionInter
110f20 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 face;.use.Symfony\Component\Cons
110f40 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ole\Exception\InvalidArgumentExc
110f60 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f eption;.use.Symfony\Component\Co
110f80 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a nsole\Exception\LogicException;.
110fa0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 use.Symfony\Component\Console\He
110fc0 6c 70 65 72 5c 48 65 6c 70 65 72 53 65 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 lper\HelperSet;.use.Symfony\Comp
110fe0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e onent\Console\Input\InputArgumen
111000 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 t;.use.Symfony\Component\Console
111020 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 \Input\InputDefinition;.use.Symf
111040 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 ony\Component\Console\Input\Inpu
111060 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e tInterface;.use.Symfony\Componen
111080 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 t\Console\Input\InputOption;.use
1110a0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 .Symfony\Component\Console\Outpu
1110c0 74 5c 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f t\BufferedOutput;.use.Symfony\Co
1110e0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 mponent\Console\Output\OutputInt
111100 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 erface;.......class.Command.{.pr
111120 69 76 61 74 65 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 6e 61 6d ivate.$application;.private.$nam
111140 65 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 54 69 74 6c 65 3b 0a 70 72 69 76 61 74 e;.private.$processTitle;.privat
111160 65 20 24 61 6c 69 61 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 64 e.$aliases.=.array();.private.$d
111180 65 66 69 6e 69 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 68 65 6c 70 3b 0a 70 72 69 76 61 74 efinition;.private.$help;.privat
1111a0 65 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 69 67 6e 6f 72 65 56 e.$description;.private.$ignoreV
1111c0 61 6c 69 64 61 74 69 6f 6e 45 72 72 6f 72 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 alidationErrors.=.false;.private
1111e0 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 20 3d 20 .$applicationDefinitionMerged.=.
111200 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e false;.private.$applicationDefin
111220 69 74 69 6f 6e 4d 65 72 67 65 64 57 69 74 68 41 72 67 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 itionMergedWithArgs.=.false;.pri
111240 76 61 74 65 20 24 63 6f 64 65 3b 0a 70 72 69 76 61 74 65 20 24 73 79 6e 6f 70 73 69 73 20 3d 20 vate.$code;.private.$synopsis.=.
111260 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 75 73 61 67 65 73 20 3d 20 61 72 72 61 79 array();.private.$usages.=.array
111280 28 29 3b 0a 70 72 69 76 61 74 65 20 24 68 65 6c 70 65 72 53 65 74 3b 0a 0a 0a 0a 0a 0a 0a 70 75 ();.private.$helperSet;.......pu
1112a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 20 blic.function.__construct($name.
1112c0 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 65 =.null).{.$this->definition.=.ne
1112e0 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 w.InputDefinition();..if.(null.!
111300 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 4e 61 6d 65 28 24 6e 61 6d 65 ==.$name).{.$this->setName($name
111320 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 67 75 72 65 28 29 3b 0a 0a 69 66 20 28 21 );.}..$this->configure();..if.(!
111340 24 74 68 69 73 2d 3e 6e 61 6d 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 $this->name).{.throw.new.LogicEx
111360 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 63 6f 6d 6d 61 6e 64 20 64 65 66 ception(sprintf('The.command.def
111380 69 6e 65 64 20 69 6e 20 22 25 73 22 20 63 61 6e 6e 6f 74 20 68 61 76 65 20 61 6e 20 65 6d 70 74 ined.in."%s".cannot.have.an.empt
1113a0 79 20 6e 61 6d 65 2e 27 2c 20 5c 67 65 74 5f 63 6c 61 73 73 28 24 74 68 69 73 29 29 29 3b 0a 7d y.name.',.\get_class($this)));.}
1113c0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 56 .}.......public.function.ignoreV
1113e0 61 6c 69 64 61 74 69 6f 6e 45 72 72 6f 72 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 alidationErrors().{.$this->ignor
111400 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 6f 72 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 eValidationErrors.=.true;.}..pub
111420 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 41 70 70 6c lic.function.setApplication(Appl
111440 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 ication.$application.=.null).{.$
111460 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e this->application.=.$application
111480 3b 0a 69 66 20 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 ;.if.($application).{.$this->set
1114a0 48 65 6c 70 65 72 53 65 74 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 48 65 6c 70 65 HelperSet($application->getHelpe
1114c0 72 53 65 74 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 rSet());.}.else.{.$this->helperS
1114e0 65 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 et.=.null;.}.}..public.function.
111500 73 65 74 48 65 6c 70 65 72 53 65 74 28 48 65 6c 70 65 72 53 65 74 20 24 68 65 6c 70 65 72 53 65 setHelperSet(HelperSet.$helperSe
111520 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 20 3d 20 24 68 65 6c 70 65 72 53 t).{.$this->helperSet.=.$helperS
111540 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 et;.}.......public.function.getH
111560 65 6c 70 65 72 53 65 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 elperSet().{.return.$this->helpe
111580 72 53 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 rSet;.}.......public.function.ge
1115a0 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 tApplication().{.return.$this->a
1115c0 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 pplication;.}..........public.fu
1115e0 6e 63 74 69 6f 6e 20 69 73 45 6e 61 62 6c 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 nction.isEnabled().{.return.true
111600 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 ;.}.....protected.function.confi
111620 67 75 72 65 28 29 0a 7b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 gure().{.}................protec
111640 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 ted.function.execute(InputInterf
111660 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 ace.$input,.OutputInterface.$out
111680 70 75 74 29 0a 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 put).{.throw.new.LogicException(
1116a0 27 59 6f 75 20 6d 75 73 74 20 6f 76 65 72 72 69 64 65 20 74 68 65 20 65 78 65 63 75 74 65 28 29 'You.must.override.the.execute()
1116c0 20 6d 65 74 68 6f 64 20 69 6e 20 74 68 65 20 63 6f 6e 63 72 65 74 65 20 63 6f 6d 6d 61 6e 64 20 .method.in.the.concrete.command.
1116e0 63 6c 61 73 73 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 class.');.}.........protected.fu
111700 6e 63 74 69 6f 6e 20 69 6e 74 65 72 61 63 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 nction.interact(InputInterface.$
111720 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a input,.OutputInterface.$output).
111740 7b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f {.}............protected.functio
111760 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 n.initialize(InputInterface.$inp
111780 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 7d ut,.OutputInterface.$output).{.}
1117a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ................public.function.
1117c0 72 75 6e 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 run(InputInterface.$input,.Outpu
1117e0 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 0a 20 24 74 68 69 73 2d 3e 67 tInterface.$output).{...$this->g
111800 65 74 53 79 6e 6f 70 73 69 73 28 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 67 65 74 53 79 6e 6f etSynopsis(true);.$this->getSyno
111820 70 73 69 73 28 66 61 6c 73 65 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 6d 65 72 67 65 41 70 70 6c psis(false);....$this->mergeAppl
111840 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 0a 0a 20 74 72 79 20 7b 0a 24 69 icationDefinition();....try.{.$i
111860 6e 70 75 74 2d 3e 62 69 6e 64 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d nput->bind($this->definition);.}
111880 20 63 61 74 63 68 20 28 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 65 29 20 7b .catch.(ExceptionInterface.$e).{
1118a0 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 .if.(!$this->ignoreValidationErr
1118c0 6f 72 73 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 ors).{.throw.$e;.}.}..$this->ini
1118e0 74 69 61 6c 69 7a 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 69 66 20 28 6e tialize($input,.$output);..if.(n
111900 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 54 69 74 6c 65 29 20 7b 0a 69 ull.!==.$this->processTitle).{.i
111920 66 20 28 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 63 6c 69 5f 73 65 74 5f 70 72 6f f.(\function_exists('cli_set_pro
111940 63 65 73 73 5f 74 69 74 6c 65 27 29 29 20 7b 0a 69 66 20 28 21 40 63 6c 69 5f 73 65 74 5f 70 72 cess_title')).{.if.(!@cli_set_pr
111960 6f 63 65 73 73 5f 74 69 74 6c 65 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 54 69 74 6c 65 29 ocess_title($this->processTitle)
111980 29 20 7b 0a 69 66 20 28 27 44 61 72 77 69 6e 27 20 3d 3d 3d 20 50 48 50 5f 4f 53 29 20 7b 0a 24 ).{.if.('Darwin'.===.PHP_OS).{.$
1119a0 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 63 6f 6d 6d 65 6e 74 3e 52 75 6e 6e 69 6e output->writeln('<comment>Runnin
1119c0 67 20 22 63 6c 69 5f 73 65 74 5f 70 72 6f 63 65 73 73 5f 74 69 74 6c 65 22 20 61 73 20 61 6e 20 g."cli_set_process_title".as.an.
1119e0 75 6e 70 72 69 76 69 6c 65 67 65 64 20 75 73 65 72 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 unprivileged.user.is.not.support
111a00 65 64 20 6f 6e 20 4d 61 63 4f 53 2e 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 4f 75 74 70 75 74 49 ed.on.MacOS.</comment>',.OutputI
111a20 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 nterface::VERBOSITY_VERY_VERBOSE
111a40 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 63 6c 69 5f 73 65 74 5f 70 72 6f 63 65 73 73 5f 74 69 74 6c );.}.else.{.cli_set_process_titl
111a60 65 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 54 69 74 6c 65 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c e($this->processTitle);.}.}.}.el
111a80 73 65 69 66 20 28 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 73 65 74 70 72 6f 63 74 seif.(\function_exists('setproct
111aa0 69 74 6c 65 27 29 29 20 7b 0a 73 65 74 70 72 6f 63 74 69 74 6c 65 28 24 74 68 69 73 2d 3e 70 72 itle')).{.setproctitle($this->pr
111ac0 6f 63 65 73 73 54 69 74 6c 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 4f 75 74 70 75 74 49 6e 74 ocessTitle);.}.elseif.(OutputInt
111ae0 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 20 3d erface::VERBOSITY_VERY_VERBOSE.=
111b00 3d 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 24 6f ==.$output->getVerbosity()).{.$o
111b20 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 3c 63 6f 6d 6d 65 6e 74 3e 49 6e 73 74 61 6c 6c utput->writeln('<comment>Install
111b40 20 74 68 65 20 70 72 6f 63 74 69 74 6c 65 20 50 45 43 4c 20 74 6f 20 62 65 20 61 62 6c 65 20 74 .the.proctitle.PECL.to.be.able.t
111b60 6f 20 63 68 61 6e 67 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 74 69 74 6c 65 2e 3c 2f 63 6f 6d o.change.the.process.title.</com
111b80 6d 65 6e 74 3e 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 ment>');.}.}..if.($input->isInte
111ba0 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 74 65 72 61 63 74 28 24 69 6e ractive()).{.$this->interact($in
111bc0 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 69 66 20 28 24 69 6e 70 put,.$output);.}........if.($inp
111be0 75 74 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 29 20 26 26 20 6e 75 ut->hasArgument('command').&&.nu
111c00 6c 6c 20 3d 3d 3d 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d ll.===.$input->getArgument('comm
111c20 61 6e 64 27 29 29 20 7b 0a 24 69 6e 70 75 74 2d 3e 73 65 74 41 72 67 75 6d 65 6e 74 28 27 63 6f and')).{.$input->setArgument('co
111c40 6d 6d 61 6e 64 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 7d 0a 0a 24 69 mmand',.$this->getName());.}..$i
111c60 6e 70 75 74 2d 3e 76 61 6c 69 64 61 74 65 28 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6f nput->validate();..if.($this->co
111c80 64 65 29 20 7b 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 de).{.$statusCode.=.\call_user_f
111ca0 75 6e 63 28 24 74 68 69 73 2d 3e 63 6f 64 65 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 unc($this->code,.$input,.$output
111cc0 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 74 68 69 73 2d );.}.else.{.$statusCode.=.$this-
111ce0 3e 65 78 65 63 75 74 65 28 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 72 65 >execute($input,.$output);.}..re
111d00 74 75 72 6e 20 69 73 5f 6e 75 6d 65 72 69 63 28 24 73 74 61 74 75 73 43 6f 64 65 29 20 3f 20 28 turn.is_numeric($statusCode).?.(
111d20 69 6e 74 29 20 24 73 74 61 74 75 73 43 6f 64 65 20 3a 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a int).$statusCode.:.0;.}.........
111d40 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 64 65 28 24 .......public.function.setCode($
111d60 63 6f 64 65 29 0a 7b 0a 69 66 20 28 21 5c 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 63 6f 64 65 29 code).{.if.(!\is_callable($code)
111d80 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ).{.throw.new.InvalidArgumentExc
111da0 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 63 61 6c 6c 61 62 6c 65 20 70 72 6f 76 69 64 65 eption('Invalid.callable.provide
111dc0 64 20 74 6f 20 43 6f 6d 6d 61 6e 64 3a 3a 73 65 74 43 6f 64 65 2e 27 29 3b 0a 7d 0a 0a 69 66 20 d.to.Command::setCode.');.}..if.
111de0 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 30 30 20 26 26 20 24 63 6f (\PHP_VERSION_ID.>=.50400.&&.$co
111e00 64 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 43 6c 6f 73 75 72 65 29 20 7b 0a 24 72 20 3d 20 6e de.instanceof.\Closure).{.$r.=.n
111e20 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 46 75 6e 63 74 69 6f 6e 28 24 63 6f 64 65 29 3b 0a 69 ew.\ReflectionFunction($code);.i
111e40 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 72 2d 3e 67 65 74 43 6c 6f 73 75 72 65 54 68 69 73 28 29 f.(null.===.$r->getClosureThis()
111e60 29 20 7b 0a 69 66 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 37 30 30 30 30 29 ).{.if.(\PHP_VERSION_ID.<.70000)
111e80 20 7b 0a 0a 20 0a 20 0a 20 0a 20 24 63 6f 64 65 20 3d 20 40 5c 43 6c 6f 73 75 72 65 3a 3a 62 69 .{.........$code.=.@\Closure::bi
111ea0 6e 64 28 24 63 6f 64 65 2c 20 24 74 68 69 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 64 65 nd($code,.$this);.}.else.{.$code
111ec0 20 3d 20 5c 43 6c 6f 73 75 72 65 3a 3a 62 69 6e 64 28 24 63 6f 64 65 2c 20 24 74 68 69 73 29 3b .=.\Closure::bind($code,.$this);
111ee0 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 64 65 20 3d 20 24 63 6f 64 65 3b 0a 0a 72 65 .}.}.}..$this->code.=.$code;..re
111f00 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e turn.$this;.}.........public.fun
111f20 63 74 69 6f 6e 20 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e ction.mergeApplicationDefinition
111f40 28 24 6d 65 72 67 65 41 72 67 73 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d ($mergeArgs.=.true).{.if.(null.=
111f60 3d 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 20 7c 7c 20 28 74 72 75 65 20 3d ==.$this->application.||.(true.=
111f80 3d 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d ==.$this->applicationDefinitionM
111fa0 65 72 67 65 64 20 26 26 20 28 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 erged.&&.($this->applicationDefi
111fc0 6e 69 74 69 6f 6e 4d 65 72 67 65 64 57 69 74 68 41 72 67 73 20 7c 7c 20 21 24 6d 65 72 67 65 41 nitionMergedWithArgs.||.!$mergeA
111fe0 72 67 73 29 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e rgs))).{.return;.}..$this->defin
112000 69 74 69 6f 6e 2d 3e 61 64 64 4f 70 74 69 6f 6e 73 28 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 ition->addOptions($this->applica
112020 74 69 6f 6e 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d 3e 67 65 74 4f 70 74 69 6f 6e tion->getDefinition()->getOption
112040 73 28 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 s());..$this->applicationDefinit
112060 69 6f 6e 4d 65 72 67 65 64 20 3d 20 74 72 75 65 3b 0a 0a 69 66 20 28 24 6d 65 72 67 65 41 72 67 ionMerged.=.true;..if.($mergeArg
112080 73 29 20 7b 0a 24 63 75 72 72 65 6e 74 41 72 67 75 6d 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e s).{.$currentArguments.=.$this->
1120a0 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 24 74 68 69 definition->getArguments();.$thi
1120c0 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 73 65 74 41 72 67 75 6d 65 6e 74 73 28 24 74 68 69 s->definition->setArguments($thi
1120e0 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d s->application->getDefinition()-
112100 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 3b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 >getArguments());.$this->definit
112120 69 6f 6e 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 73 28 24 63 75 72 72 65 6e 74 41 72 67 75 6d 65 ion->addArguments($currentArgume
112140 6e 74 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 nts);..$this->applicationDefinit
112160 69 6f 6e 4d 65 72 67 65 64 57 69 74 68 41 72 67 73 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 0a ionMergedWithArgs.=.true;.}.}...
112180 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 69 6e 69 74 ......public.function.setDefinit
1121a0 69 6f 6e 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 24 64 65 66 69 6e 69 74 69 ion($definition).{.if.($definiti
1121c0 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 29 20 7b on.instanceof.InputDefinition).{
1121e0 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 64 65 66 69 6e 69 74 69 6f 6e .$this->definition.=.$definition
112200 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 73 65 ;.}.else.{.$this->definition->se
112220 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 0a 24 74 68 tDefinition($definition);.}..$th
112240 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 4d 65 72 67 65 64 20 is->applicationDefinitionMerged.
112260 3d 20 66 61 6c 73 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a =.false;..return.$this;.}.......
112280 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a public.function.getDefinition().
1122a0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 7d 0a 0a 0a {.return.$this->definition;.}...
1122c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 74 69 .........public.function.getNati
1122e0 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 veDefinition().{.return.$this->g
112300 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 etDefinition();.}..............p
112320 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 ublic.function.addArgument($name
112340 2c 20 24 6d 6f 64 65 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 ,.$mode.=.null,.$description.=.'
112360 27 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 66 ',.$default.=.null).{.$this->def
112380 69 6e 69 74 69 6f 6e 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 28 6e 65 77 20 49 6e 70 75 74 41 72 inition->addArgument(new.InputAr
1123a0 67 75 6d 65 6e 74 28 24 6e 61 6d 65 2c 20 24 6d 6f 64 65 2c 20 24 64 65 73 63 72 69 70 74 69 6f gument($name,.$mode,.$descriptio
1123c0 6e 2c 20 24 64 65 66 61 75 6c 74 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a n,.$default));..return.$this;.}.
1123e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 ..............public.function.ad
112400 64 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 73 68 6f 72 74 63 75 74 20 3d 20 6e 75 6c 6c 2c dOption($name,.$shortcut.=.null,
112420 20 24 6d 6f 64 65 20 3d 20 6e 75 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 27 .$mode.=.null,.$description.=.''
112440 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 66 69 ,.$default.=.null).{.$this->defi
112460 6e 69 74 69 6f 6e 2d 3e 61 64 64 4f 70 74 69 6f 6e 28 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f nition->addOption(new.InputOptio
112480 6e 28 24 6e 61 6d 65 2c 20 24 73 68 6f 72 74 63 75 74 2c 20 24 6d 6f 64 65 2c 20 24 64 65 73 63 n($name,.$shortcut,.$mode,.$desc
1124a0 72 69 70 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 ription,.$default));..return.$th
1124c0 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 is;.}................public.func
1124e0 74 69 6f 6e 20 73 65 74 4e 61 6d 65 28 24 6e 61 6d 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 61 6c tion.setName($name).{.$this->val
112500 69 64 61 74 65 4e 61 6d 65 28 24 6e 61 6d 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d idateName($name);..$this->name.=
112520 20 24 6e 61 6d 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a .$name;..return.$this;.}........
112540 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 63 65 73 73 ......public.function.setProcess
112560 54 69 74 6c 65 28 24 74 69 74 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 54 69 Title($title).{.$this->processTi
112580 74 6c 65 20 3d 20 24 74 69 74 6c 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a tle.=.$title;..return.$this;.}..
1125a0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b .....public.function.getName().{
1125c0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 .return.$this->name;.}.........p
1125e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 24 64 ublic.function.setDescription($d
112600 65 73 63 72 69 70 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e escription).{.$this->description
112620 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a .=.$description;..return.$this;.
112640 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 }.......public.function.getDescr
112660 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 iption().{.return.$this->descrip
112680 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 tion;.}.........public.function.
1126a0 73 65 74 48 65 6c 70 28 24 68 65 6c 70 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 20 3d 20 24 setHelp($help).{.$this->help.=.$
1126c0 68 65 6c 70 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 help;..return.$this;.}.......pub
1126e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 28 29 0a 7b 0a 72 65 74 75 72 6e 20 lic.function.getHelp().{.return.
112700 24 74 68 69 73 2d 3e 68 65 6c 70 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $this->help;.}........public.fun
112720 63 74 69 6f 6e 20 67 65 74 50 72 6f 63 65 73 73 65 64 48 65 6c 70 28 29 0a 7b 0a 24 6e 61 6d 65 ction.getProcessedHelp().{.$name
112740 20 3d 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 0a 24 70 6c 61 63 65 68 6f 6c 64 65 72 73 20 3d .=.$this->name;..$placeholders.=
112760 20 61 72 72 61 79 28 0a 27 25 63 6f 6d 6d 61 6e 64 2e 6e 61 6d 65 25 27 2c 0a 27 25 63 6f 6d 6d .array(.'%command.name%',.'%comm
112780 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 27 2c 0a 29 3b 0a 24 72 65 70 6c 61 63 65 6d 65 6e 74 and.full_name%',.);.$replacement
1127a0 73 20 3d 20 61 72 72 61 79 28 0a 24 6e 61 6d 65 2c 0a 24 5f 53 45 52 56 45 52 5b 27 50 48 50 5f s.=.array(.$name,.$_SERVER['PHP_
1127c0 53 45 4c 46 27 5d 2e 27 20 27 2e 24 6e 61 6d 65 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 73 74 72 SELF'].'.'.$name,.);..return.str
1127e0 5f 72 65 70 6c 61 63 65 28 24 70 6c 61 63 65 68 6f 6c 64 65 72 73 2c 20 24 72 65 70 6c 61 63 65 _replace($placeholders,.$replace
112800 6d 65 6e 74 73 2c 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 28 29 20 3f 3a 20 24 74 68 69 73 ments,.$this->getHelp().?:.$this
112820 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ->getDescription());.}..........
112840 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 6c 69 61 73 65 73 28 24 61 6c 69 .public.function.setAliases($ali
112860 61 73 65 73 29 0a 7b 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 61 6c 69 61 73 65 73 29 ases).{.if.(!\is_array($aliases)
112880 20 26 26 20 21 24 61 6c 69 61 73 65 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 72 61 76 65 72 .&&.!$aliases.instanceof.\Traver
1128a0 73 61 62 6c 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 sable).{.throw.new.InvalidArgume
1128c0 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 24 61 6c 69 61 73 65 73 20 6d 75 73 74 20 62 65 20 61 6e ntException('$aliases.must.be.an
1128e0 20 61 72 72 61 79 20 6f 72 20 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 5c 54 72 61 76 65 72 .array.or.an.instance.of.\Traver
112900 73 61 62 6c 65 27 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 6c 69 61 73 65 73 20 61 73 sable');.}..foreach.($aliases.as
112920 20 24 61 6c 69 61 73 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 4e 61 6d 65 28 24 .$alias).{.$this->validateName($
112940 61 6c 69 61 73 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 20 3d 20 24 61 6c 69 alias);.}..$this->aliases.=.$ali
112960 61 73 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 ases;..return.$this;.}.......pub
112980 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 69 61 73 65 73 28 29 0a 7b 0a 72 65 74 75 lic.function.getAliases().{.retu
1129a0 72 6e 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 rn.$this->aliases;.}.........pub
1129c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 79 6e 6f 70 73 69 73 28 24 73 68 6f 72 74 20 lic.function.getSynopsis($short.
1129e0 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6b 65 79 20 3d 20 24 73 68 6f 72 74 20 3f 20 27 73 68 6f 72 =.false).{.$key.=.$short.?.'shor
112a00 74 27 20 3a 20 27 6c 6f 6e 67 27 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e t'.:.'long';..if.(!isset($this->
112a20 73 79 6e 6f 70 73 69 73 5b 24 6b 65 79 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 79 6e 6f 70 73 synopsis[$key])).{.$this->synops
112a40 69 73 5b 24 6b 65 79 5d 20 3d 20 74 72 69 6d 28 73 70 72 69 6e 74 66 28 27 25 73 20 25 73 27 2c is[$key].=.trim(sprintf('%s.%s',
112a60 20 24 74 68 69 73 2d 3e 6e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d .$this->name,.$this->definition-
112a80 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 24 73 68 6f 72 74 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 >getSynopsis($short)));.}..retur
112aa0 6e 20 24 74 68 69 73 2d 3e 73 79 6e 6f 70 73 69 73 5b 24 6b 65 79 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a n.$this->synopsis[$key];.}......
112ac0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 55 73 61 67 65 28 24 75 73 61 ...public.function.addUsage($usa
112ae0 67 65 29 0a 7b 0a 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 75 73 61 67 65 2c 20 24 ge).{.if.(0.!==.strpos($usage,.$
112b00 74 68 69 73 2d 3e 6e 61 6d 65 29 29 20 7b 0a 24 75 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 this->name)).{.$usage.=.sprintf(
112b20 27 25 73 20 25 73 27 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 2c 20 24 75 73 61 67 65 29 3b 0a 7d '%s.%s',.$this->name,.$usage);.}
112b40 0a 0a 24 74 68 69 73 2d 3e 75 73 61 67 65 73 5b 5d 20 3d 20 24 75 73 61 67 65 3b 0a 0a 72 65 74 ..$this->usages[].=.$usage;..ret
112b60 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 urn.$this;.}.......public.functi
112b80 6f 6e 20 67 65 74 55 73 61 67 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 on.getUsages().{.return.$this->u
112ba0 73 61 67 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 sages;.}............public.funct
112bc0 69 6f 6e 20 67 65 74 48 65 6c 70 65 72 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 ion.getHelper($name).{.if.(null.
112be0 3d 3d 3d 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 ===.$this->helperSet).{.throw.ne
112c00 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 6e 6e 6f 74 w.LogicException(sprintf('Cannot
112c20 20 72 65 74 72 69 65 76 65 20 68 65 6c 70 65 72 20 22 25 73 22 20 62 65 63 61 75 73 65 20 74 68 .retrieve.helper."%s".because.th
112c40 65 72 65 20 69 73 20 6e 6f 20 48 65 6c 70 65 72 53 65 74 20 64 65 66 69 6e 65 64 2e 20 44 69 64 ere.is.no.HelperSet.defined..Did
112c60 20 79 6f 75 20 66 6f 72 67 65 74 20 74 6f 20 61 64 64 20 79 6f 75 72 20 63 6f 6d 6d 61 6e 64 20 .you.forget.to.add.your.command.
112c80 74 6f 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 72 20 74 6f 20 73 65 74 20 74 68 65 to.the.application.or.to.set.the
112ca0 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 75 73 69 6e .application.on.the.command.usin
112cc0 67 20 74 68 65 20 73 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 20 6d 65 74 68 6f 64 3f 20 59 g.the.setApplication().method?.Y
112ce0 6f 75 20 63 61 6e 20 61 6c 73 6f 20 73 65 74 20 74 68 65 20 48 65 6c 70 65 72 53 65 74 20 64 69 ou.can.also.set.the.HelperSet.di
112d00 72 65 63 74 6c 79 20 75 73 69 6e 67 20 74 68 65 20 73 65 74 48 65 6c 70 65 72 53 65 74 28 29 20 rectly.using.the.setHelperSet().
112d20 6d 65 74 68 6f 64 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 method.',.$name));.}..return.$th
112d40 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 2d 3e 67 65 74 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a is->helperSet->get($name);.}....
112d60 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 54 65 78 74 28 29 0a 7b 0a .....public.function.asText().{.
112d80 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f @trigger_error('The.'.__METHOD__
112da0 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 .'.method.is.deprecated.since.Sy
112dc0 6d 66 6f 6e 79 20 32 2e 33 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e mfony.2.3.and.will.be.removed.in
112de0 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 .3.0.',.E_USER_DEPRECATED);..$de
112e00 73 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 28 29 3b scriptor.=.new.TextDescriptor();
112e20 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 42 75 .$output.=.new.BufferedOutput(Bu
112e40 66 66 65 72 65 64 4f 75 74 70 75 74 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 fferedOutput::VERBOSITY_NORMAL,.
112e60 74 72 75 65 29 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 true);.$descriptor->describe($ou
112e80 74 70 75 74 2c 20 24 74 68 69 73 2c 20 61 72 72 61 79 28 27 72 61 77 5f 6f 75 74 70 75 74 27 20 tput,.$this,.array('raw_output'.
112ea0 3d 3e 20 74 72 75 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 2d 3e 66 65 74 63 =>.true));..return.$output->fetc
112ec0 68 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e h();.}...........public.function
112ee0 20 61 73 58 6d 6c 28 24 61 73 44 6f 6d 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 40 74 72 69 67 67 65 .asXml($asDom.=.false).{.@trigge
112f00 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 r_error('The.'.__METHOD__.'.meth
112f20 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 od.is.deprecated.since.Symfony.2
112f40 2e 33 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c .3.and.will.be.removed.in.3.0.',
112f60 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 6f .E_USER_DEPRECATED);..$descripto
112f80 72 20 3d 20 6e 65 77 20 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 0a 69 66 20 28 24 61 r.=.new.XmlDescriptor();..if.($a
112fa0 73 44 6f 6d 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 67 65 74 43 sDom).{.return.$descriptor->getC
112fc0 6f 6d 6d 61 6e 64 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 ommandDocument($this);.}..$outpu
112fe0 74 20 3d 20 6e 65 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 29 3b 0a 24 64 65 73 63 72 t.=.new.BufferedOutput();.$descr
113000 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 29 3b iptor->describe($output,.$this);
113020 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 3b 0a 7d 0a 0a 0a 0a ..return.$output->fetch();.}....
113040 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 .......private.function.validate
113060 4e 61 6d 65 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f Name($name).{.if.(!preg_match('/
113080 5e 5b 5e 5c 3a 5d 2b 2b 28 5c 3a 5b 5e 5c 3a 5d 2b 2b 29 2a 24 2f 27 2c 20 24 6e 61 6d 65 29 29 ^[^\:]++(\:[^\:]++)*$/',.$name))
1130a0 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 .{.throw.new.InvalidArgumentExce
1130c0 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 6d 6d 61 6e 64 20 6e 61 6d 65 20 22 25 73 22 ption(sprintf('Command.name."%s"
1130e0 20 69 73 20 69 6e 76 61 6c 69 64 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f .is.invalid.',.$name));.}.}.}.<?
113100 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
113120 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 Component\Console\Command;..use.
113140 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 Symfony\Component\Console\Helper
113160 5c 44 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 \DescriptorHelper;.use.Symfony\C
113180 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 omponent\Console\Input\InputArgu
1131a0 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 ment;.use.Symfony\Component\Cons
1131c0 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 ole\Input\InputInterface;.use.Sy
1131e0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
113200 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 putOption;.use.Symfony\Component
113220 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b \Console\Output\OutputInterface;
113240 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 65 6c 70 43 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 .......class.HelpCommand.extends
113260 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a .Command.{.private.$command;....
113280 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a .protected.function.configure().
1132a0 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 56 61 6c 69 64 61 74 69 6f 6e 45 72 72 6f 72 73 28 {.$this->ignoreValidationErrors(
1132c0 29 3b 0a 0a 24 74 68 69 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 68 65 6c 70 27 29 0a 2d 3e 73 65 );..$this.->setName('help').->se
1132e0 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 tDefinition(array(.new.InputArgu
113300 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 5f 6e 61 6d 65 27 2c 20 49 6e 70 75 74 41 72 67 75 6d 65 ment('command_name',.InputArgume
113320 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 54 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65 27 nt::OPTIONAL,.'The.command.name'
113340 2c 20 27 68 65 6c 70 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 78 6d 6c 27 ,.'help'),.new.InputOption('xml'
113360 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c ,.null,.InputOption::VALUE_NONE,
113380 20 27 54 6f 20 6f 75 74 70 75 74 20 68 65 6c 70 20 61 73 20 58 4d 4c 27 29 2c 0a 6e 65 77 20 49 .'To.output.help.as.XML'),.new.I
1133a0 6e 70 75 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 nputOption('format',.null,.Input
1133c0 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 54 68 65 20 6f 75 74 Option::VALUE_REQUIRED,.'The.out
1133e0 70 75 74 20 66 6f 72 6d 61 74 20 28 74 78 74 2c 20 78 6d 6c 2c 20 6a 73 6f 6e 2c 20 6f 72 20 6d put.format.(txt,.xml,.json,.or.m
113400 64 29 27 2c 20 27 74 78 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 61 d)',.'txt'),.new.InputOption('ra
113420 77 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e w',.null,.InputOption::VALUE_NON
113440 45 2c 20 27 54 6f 20 6f 75 74 70 75 74 20 72 61 77 20 63 6f 6d 6d 61 6e 64 20 68 65 6c 70 27 29 E,.'To.output.raw.command.help')
113460 2c 0a 29 29 0a 2d 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 44 69 73 70 6c 61 79 73 20 ,.)).->setDescription('Displays.
113480 68 65 6c 70 20 66 6f 72 20 61 20 63 6f 6d 6d 61 6e 64 27 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c help.for.a.command').->setHelp(<
1134a0 3c 3c 27 45 4f 46 27 0a 54 68 65 20 3c 69 6e 66 6f 3e 25 63 6f 6d 6d 61 6e 64 2e 6e 61 6d 65 25 <<'EOF'.The.<info>%command.name%
1134c0 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 64 69 73 70 6c 61 79 73 20 68 65 6c 70 20 66 6f </info>.command.displays.help.fo
1134e0 72 20 61 20 67 69 76 65 6e 20 63 6f 6d 6d 61 6e 64 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 r.a.given.command:....<info>php.
113500 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 0a %command.full_name%.list</info>.
113520 0a 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 6f 75 74 70 75 74 20 74 68 65 20 68 65 6c 70 20 69 6e .You.can.also.output.the.help.in
113540 20 6f 74 68 65 72 20 66 6f 72 6d 61 74 73 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 3c 63 6f 6d .other.formats.by.using.the.<com
113560 6d 65 6e 74 3e 2d 2d 66 6f 72 6d 61 74 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 6f 70 74 69 6f 6e 3a 0a ment>--format</comment>.option:.
113580 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 ...<info>php.%command.full_name%
1135a0 20 2d 2d 66 6f 72 6d 61 74 3d 78 6d 6c 20 6c 69 73 74 3c 2f 69 6e 66 6f 3e 0a 0a 54 6f 20 64 69 .--format=xml.list</info>..To.di
1135c0 73 70 6c 61 79 20 74 68 65 20 6c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 63 6f 6d 6d splay.the.list.of.available.comm
1135e0 61 6e 64 73 2c 20 70 6c 65 61 73 65 20 75 73 65 20 74 68 65 20 3c 69 6e 66 6f 3e 6c 69 73 74 3c ands,.please.use.the.<info>list<
113600 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 2e 0a 45 4f 46 0a 29 0a 3b 0a 7d 0a 0a 70 75 62 6c 69 /info>.command..EOF.).;.}..publi
113620 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 c.function.setCommand(Command.$c
113640 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d ommand).{.$this->command.=.$comm
113660 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 and;.}.....protected.function.ex
113680 65 63 75 74 65 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 ecute(InputInterface.$input,.Out
1136a0 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c putInterface.$output).{.if.(null
1136c0 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f .===.$this->command).{.$this->co
1136e0 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 2d mmand.=.$this->getApplication()-
113700 3e 66 69 6e 64 28 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 >find($input->getArgument('comma
113720 6e 64 5f 6e 61 6d 65 27 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 nd_name'));.}..if.($input->getOp
113740 74 69 6f 6e 28 27 78 6d 6c 27 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 tion('xml')).{.@trigger_error('T
113760 68 65 20 2d 2d 78 6d 6c 20 6f 70 74 69 6f 6e 20 77 61 73 20 64 65 70 72 65 63 61 74 65 64 20 69 he.--xml.option.was.deprecated.i
113780 6e 20 76 65 72 73 69 6f 6e 20 32 2e 37 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 n.version.2.7.and.will.be.remove
1137a0 64 20 69 6e 20 76 65 72 73 69 6f 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 2d 2d 66 6f 72 6d d.in.version.3.0..Use.the.--form
1137c0 61 74 20 6f 70 74 69 6f 6e 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 at.option.instead.',.E_USER_DEPR
1137e0 45 43 41 54 45 44 29 3b 0a 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 ECATED);..$input->setOption('for
113800 6d 61 74 27 2c 20 27 78 6d 6c 27 29 3b 0a 7d 0a 0a 24 68 65 6c 70 65 72 20 3d 20 6e 65 77 20 44 mat',.'xml');.}..$helper.=.new.D
113820 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 28 29 3b 0a 24 68 65 6c 70 65 72 2d 3e 64 65 73 63 escriptorHelper();.$helper->desc
113840 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 2c 20 61 72 ribe($output,.$this->command,.ar
113860 72 61 79 28 0a 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 ray(.'format'.=>.$input->getOpti
113880 6f 6e 28 27 66 6f 72 6d 61 74 27 29 2c 0a 27 72 61 77 5f 74 65 78 74 27 20 3d 3e 20 24 69 6e 70 on('format'),.'raw_text'.=>.$inp
1138a0 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 61 77 27 29 2c 0a 29 29 3b 0a 0a 24 74 68 69 73 ut->getOption('raw'),.));..$this
1138c0 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a ->command.=.null;.}.}.<?php.....
1138e0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ......namespace.Symfony\Componen
113900 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c t\Console\Command;..use.Symfony\
113920 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 44 65 73 63 72 69 70 Component\Console\Helper\Descrip
113940 74 6f 72 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 torHelper;.use.Symfony\Component
113960 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 \Console\Input\InputArgument;.us
113980 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
1139a0 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 t\InputDefinition;.use.Symfony\C
1139c0 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 omponent\Console\Input\InputInte
1139e0 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e rface;.use.Symfony\Component\Con
113a00 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 sole\Input\InputOption;.use.Symf
113a20 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 ony\Component\Console\Output\Out
113a40 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 69 73 74 43 6f putInterface;.......class.ListCo
113a60 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 43 6f 6d 6d 61 6e 64 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 mmand.extends.Command.{....prote
113a80 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 67 75 72 65 28 29 0a 7b 0a 24 74 68 69 cted.function.configure().{.$thi
113aa0 73 0a 2d 3e 73 65 74 4e 61 6d 65 28 27 6c 69 73 74 27 29 0a 2d 3e 73 65 74 44 65 66 69 6e 69 74 s.->setName('list').->setDefinit
113ac0 69 6f 6e 28 24 74 68 69 73 2d 3e 63 72 65 61 74 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 0a 2d ion($this->createDefinition()).-
113ae0 3e 73 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 27 4c 69 73 74 73 20 63 6f 6d 6d 61 6e 64 73 27 >setDescription('Lists.commands'
113b00 29 0a 2d 3e 73 65 74 48 65 6c 70 28 3c 3c 3c 27 45 4f 46 27 0a 54 68 65 20 3c 69 6e 66 6f 3e 25 ).->setHelp(<<<'EOF'.The.<info>%
113b20 63 6f 6d 6d 61 6e 64 2e 6e 61 6d 65 25 3c 2f 69 6e 66 6f 3e 20 63 6f 6d 6d 61 6e 64 20 6c 69 73 command.name%</info>.command.lis
113b40 74 73 20 61 6c 6c 20 63 6f 6d 6d 61 6e 64 73 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 ts.all.commands:....<info>php.%c
113b60 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 3c 2f 69 6e 66 6f 3e 0a 0a 59 6f 75 20 63 61 ommand.full_name%</info>..You.ca
113b80 6e 20 61 6c 73 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 n.also.display.the.commands.for.
113ba0 61 20 73 70 65 63 69 66 69 63 20 6e 61 6d 65 73 70 61 63 65 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 a.specific.namespace:....<info>p
113bc0 68 70 20 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 74 65 73 74 3c 2f 69 6e 66 hp.%command.full_name%.test</inf
113be0 6f 3e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 6f 75 74 70 75 74 20 74 68 65 20 69 6e 66 6f o>..You.can.also.output.the.info
113c00 72 6d 61 74 69 6f 6e 20 69 6e 20 6f 74 68 65 72 20 66 6f 72 6d 61 74 73 20 62 79 20 75 73 69 6e rmation.in.other.formats.by.usin
113c20 67 20 74 68 65 20 3c 63 6f 6d 6d 65 6e 74 3e 2d 2d 66 6f 72 6d 61 74 3c 2f 63 6f 6d 6d 65 6e 74 g.the.<comment>--format</comment
113c40 3e 20 6f 70 74 69 6f 6e 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 68 70 20 25 63 6f 6d 6d 61 6e 64 2e >.option:....<info>php.%command.
113c60 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 66 6f 72 6d 61 74 3d 78 6d 6c 3c 2f 69 6e 66 6f 3e 0a 0a full_name%.--format=xml</info>..
113c80 49 74 27 73 20 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 67 65 74 20 72 61 77 20 6c 69 It's.also.possible.to.get.raw.li
113ca0 73 74 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 20 28 75 73 65 66 75 6c 20 66 6f 72 20 65 6d 62 65 64 st.of.commands.(useful.for.embed
113cc0 64 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 72 75 6e 6e 65 72 29 3a 0a 0a 20 20 3c 69 6e 66 6f 3e 70 ding.command.runner):....<info>p
113ce0 68 70 20 25 63 6f 6d 6d 61 6e 64 2e 66 75 6c 6c 5f 6e 61 6d 65 25 20 2d 2d 72 61 77 3c 2f 69 6e hp.%command.full_name%.--raw</in
113d00 66 6f 3e 0a 45 4f 46 0a 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f fo>.EOF.).;.}.....public.functio
113d20 6e 20 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e n.getNativeDefinition().{.return
113d40 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 0a .$this->createDefinition();.}...
113d60 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 49 6e 70 ..protected.function.execute(Inp
113d80 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 utInterface.$input,.OutputInterf
113da0 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 69 66 20 28 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 ace.$output).{.if.($input->getOp
113dc0 74 69 6f 6e 28 27 78 6d 6c 27 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 tion('xml')).{.@trigger_error('T
113de0 68 65 20 2d 2d 78 6d 6c 20 6f 70 74 69 6f 6e 20 77 61 73 20 64 65 70 72 65 63 61 74 65 64 20 69 he.--xml.option.was.deprecated.i
113e00 6e 20 76 65 72 73 69 6f 6e 20 32 2e 37 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 n.version.2.7.and.will.be.remove
113e20 64 20 69 6e 20 76 65 72 73 69 6f 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 2d 2d 66 6f 72 6d d.in.version.3.0..Use.the.--form
113e40 61 74 20 6f 70 74 69 6f 6e 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 at.option.instead.',.E_USER_DEPR
113e60 45 43 41 54 45 44 29 3b 0a 0a 24 69 6e 70 75 74 2d 3e 73 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 ECATED);..$input->setOption('for
113e80 6d 61 74 27 2c 20 27 78 6d 6c 27 29 3b 0a 7d 0a 0a 24 68 65 6c 70 65 72 20 3d 20 6e 65 77 20 44 mat',.'xml');.}..$helper.=.new.D
113ea0 65 73 63 72 69 70 74 6f 72 48 65 6c 70 65 72 28 29 3b 0a 24 68 65 6c 70 65 72 2d 3e 64 65 73 63 escriptorHelper();.$helper->desc
113ec0 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 70 70 6c 69 63 61 74 ribe($output,.$this->getApplicat
113ee0 69 6f 6e 28 29 2c 20 61 72 72 61 79 28 0a 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 69 6e 70 75 74 ion(),.array(.'format'.=>.$input
113f00 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 29 2c 0a 27 72 61 77 5f 74 65 78 74 ->getOption('format'),.'raw_text
113f20 27 20 3d 3e 20 24 69 6e 70 75 74 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 27 72 61 77 27 29 2c 0a 27 '.=>.$input->getOption('raw'),.'
113f40 6e 61 6d 65 73 70 61 63 65 27 20 3d 3e 20 24 69 6e 70 75 74 2d 3e 67 65 74 41 72 67 75 6d 65 6e namespace'.=>.$input->getArgumen
113f60 74 28 27 6e 61 6d 65 73 70 61 63 65 27 29 2c 0a 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 t('namespace'),.));.}.....privat
113f80 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 0a 7b 0a e.function.createDefinition().{.
113fa0 72 65 74 75 72 6e 20 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 return.new.InputDefinition(array
113fc0 28 0a 6e 65 77 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 27 6e 61 6d 65 73 70 61 63 65 27 2c (.new.InputArgument('namespace',
113fe0 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 2c 20 27 54 68 65 20 6e .InputArgument::OPTIONAL,.'The.n
114000 61 6d 65 73 70 61 63 65 20 6e 61 6d 65 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e amespace.name'),.new.InputOption
114020 28 27 78 6d 6c 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 ('xml',.null,.InputOption::VALUE
114040 5f 4e 4f 4e 45 2c 20 27 54 6f 20 6f 75 74 70 75 74 20 6c 69 73 74 20 61 73 20 58 4d 4c 27 29 2c _NONE,.'To.output.list.as.XML'),
114060 0a 6e 65 77 20 49 6e 70 75 74 4f 70 74 69 6f 6e 28 27 72 61 77 27 2c 20 6e 75 6c 6c 2c 20 49 6e .new.InputOption('raw',.null,.In
114080 70 75 74 4f 70 74 69 6f 6e 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 2c 20 27 54 6f 20 6f 75 74 70 75 putOption::VALUE_NONE,.'To.outpu
1140a0 74 20 72 61 77 20 63 6f 6d 6d 61 6e 64 20 6c 69 73 74 27 29 2c 0a 6e 65 77 20 49 6e 70 75 74 4f t.raw.command.list'),.new.InputO
1140c0 70 74 69 6f 6e 28 27 66 6f 72 6d 61 74 27 2c 20 6e 75 6c 6c 2c 20 49 6e 70 75 74 4f 70 74 69 6f ption('format',.null,.InputOptio
1140e0 6e 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 2c 20 27 54 68 65 20 6f 75 74 70 75 74 20 66 n::VALUE_REQUIRED,.'The.output.f
114100 6f 72 6d 61 74 20 28 74 78 74 2c 20 78 6d 6c 2c 20 6a 73 6f 6e 2c 20 6f 72 20 6d 64 29 27 2c 20 ormat.(txt,.xml,.json,.or.md)',.
114120 27 74 78 74 27 29 2c 0a 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 'txt'),.));.}.}.<?php...........
114140 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 namespace.Symfony\Component\Cons
114160 6f 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 66 69 6e 61 6c 20 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 45 76 ole;.......final.class.ConsoleEv
114180 65 6e 74 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 43 4f 4d 4d 41 4e 44 20 3d ents.{...........const.COMMAND.=
1141a0 20 27 63 6f 6e 73 6f 6c 65 2e 63 6f 6d 6d 61 6e 64 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f .'console.command';...........co
1141c0 6e 73 74 20 54 45 52 4d 49 4e 41 54 45 20 3d 20 27 63 6f 6e 73 6f 6c 65 2e 74 65 72 6d 69 6e 61 nst.TERMINATE.=.'console.termina
1141e0 74 65 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6f 6e 73 74 20 45 58 43 45 50 54 49 4f 4e 20 te';............const.EXCEPTION.
114200 3d 20 27 63 6f 6e 73 6f 6c 65 2e 65 78 63 65 70 74 69 6f 6e 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a =.'console.exception';.}.<?php..
114220 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
114240 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 nent\Console\Descriptor;..use.Sy
114260 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 mfony\Component\Console\Applicat
114280 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ion;.use.Symfony\Component\Conso
1142a0 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c le\Command\Command;.use.Symfony\
1142c0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 43 6f 6d 6d Component\Console\Exception\Comm
1142e0 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 andNotFoundException;.......clas
114300 73 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 0a 7b 0a 63 6f 6e 73 74 s.ApplicationDescription.{.const
114320 20 47 4c 4f 42 41 4c 5f 4e 41 4d 45 53 50 41 43 45 20 3d 20 27 5f 67 6c 6f 62 61 6c 27 3b 0a 0a .GLOBAL_NAMESPACE.=.'_global';..
114340 70 72 69 76 61 74 65 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 6e private.$application;.private.$n
114360 61 6d 65 73 70 61 63 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 73 70 61 63 65 amespace;.....private.$namespace
114380 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 73 3b 0a 0a 0a 0a 0a 70 72 s;.....private.$commands;.....pr
1143a0 69 76 61 74 65 20 24 61 6c 69 61 73 65 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ivate.$aliases;..public.function
1143c0 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 .__construct(Application.$applic
1143e0 61 74 69 6f 6e 2c 20 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 ation,.$namespace.=.null).{.$thi
114400 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 24 s->application.=.$application;.$
114420 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 20 3d 20 24 6e 61 6d 65 73 70 61 63 65 3b 0a 7d 0a this->namespace.=.$namespace;.}.
114440 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 73 70 61 63 65 ....public.function.getNamespace
114460 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 s().{.if.(null.===.$this->namesp
114480 61 63 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 70 65 63 74 41 70 70 6c 69 63 61 74 69 6f aces).{.$this->inspectApplicatio
1144a0 6e 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 73 n();.}..return.$this->namespaces
1144c0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 ;.}.....public.function.getComma
1144e0 6e 64 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d nds().{.if.(null.===.$this->comm
114500 61 6e 64 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 70 65 63 74 41 70 70 6c 69 63 61 74 69 6f ands).{.$this->inspectApplicatio
114520 6e 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 3b 0a n();.}..return.$this->commands;.
114540 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d }.........public.function.getCom
114560 6d 61 6e 64 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e mand($name).{.if.(!isset($this->
114580 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 29 20 26 26 20 21 69 73 73 65 74 28 24 74 68 69 73 commands[$name]).&&.!isset($this
1145a0 2d 3e 61 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 43 ->aliases[$name])).{.throw.new.C
1145c0 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 ommandNotFoundException(sprintf(
1145e0 27 43 6f 6d 6d 61 6e 64 20 25 73 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 'Command.%s.does.not.exist.',.$n
114600 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f ame));.}..return.isset($this->co
114620 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 mmands[$name]).?.$this->commands
114640 5b 24 6e 61 6d 65 5d 20 3a 20 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 5b 24 6e 61 6d 65 5d 3b [$name].:.$this->aliases[$name];
114660 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 70 65 63 74 41 70 70 6c .}..private.function.inspectAppl
114680 69 63 61 74 69 6f 6e 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 ication().{.$this->commands.=.ar
1146a0 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 73 20 3d 20 61 72 72 61 79 ray();.$this->namespaces.=.array
1146c0 28 29 3b 0a 0a 24 61 6c 6c 20 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e ();..$all.=.$this->application->
1146e0 61 6c 6c 28 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 20 3f 20 24 74 68 69 73 2d 3e 61 70 all($this->namespace.?.$this->ap
114700 70 6c 69 63 61 74 69 6f 6e 2d 3e 66 69 6e 64 4e 61 6d 65 73 70 61 63 65 28 24 74 68 69 73 2d 3e plication->findNamespace($this->
114720 6e 61 6d 65 73 70 61 63 65 29 20 3a 20 6e 75 6c 6c 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 namespace).:.null);.foreach.($th
114740 69 73 2d 3e 73 6f 72 74 43 6f 6d 6d 61 6e 64 73 28 24 61 6c 6c 29 20 61 73 20 24 6e 61 6d 65 73 is->sortCommands($all).as.$names
114760 70 61 63 65 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 73 29 20 7b 0a 24 6e 61 6d 65 73 20 3d 20 61 72 pace.=>.$commands).{.$names.=.ar
114780 72 61 79 28 29 3b 0a 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 73 20 61 73 20 24 ray();...foreach.($commands.as.$
1147a0 6e 61 6d 65 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 69 66 20 28 21 24 63 6f 6d 6d 61 6e name.=>.$command).{.if.(!$comman
1147c0 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 d->getName()).{.continue;.}..if.
1147e0 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 ($command->getName().===.$name).
114800 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6f 6d 6d {.$this->commands[$name].=.$comm
114820 61 6e 64 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 6c 69 61 73 65 73 5b 24 6e 61 and;.}.else.{.$this->aliases[$na
114840 6d 65 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 24 6e 61 6d 65 73 5b 5d 20 3d 20 24 6e me].=.$command;.}..$names[].=.$n
114860 61 6d 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 73 70 61 63 65 73 5b 24 6e 61 6d 65 73 ame;.}..$this->namespaces[$names
114880 70 61 63 65 5d 20 3d 20 61 72 72 61 79 28 27 69 64 27 20 3d 3e 20 24 6e 61 6d 65 73 70 61 63 65 pace].=.array('id'.=>.$namespace
1148a0 2c 20 27 63 6f 6d 6d 61 6e 64 73 27 20 3d 3e 20 24 6e 61 6d 65 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a ,.'commands'.=>.$names);.}.}....
1148c0 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 43 6f 6d 6d 61 6e 64 73 28 61 .private.function.sortCommands(a
1148e0 72 72 61 79 20 24 63 6f 6d 6d 61 6e 64 73 29 0a 7b 0a 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d rray.$commands).{.$namespacedCom
114900 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 67 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 73 mands.=.array();.$globalCommands
114920 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 73 20 61 .=.array();.foreach.($commands.a
114940 73 20 24 6e 61 6d 65 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 6b 65 79 20 3d 20 24 74 s.$name.=>.$command).{.$key.=.$t
114960 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 65 78 74 72 61 63 74 4e 61 6d 65 73 70 61 his->application->extractNamespa
114980 63 65 28 24 6e 61 6d 65 2c 20 31 29 3b 0a 69 66 20 28 21 24 6b 65 79 29 20 7b 0a 24 67 6c 6f 62 ce($name,.1);.if.(!$key).{.$glob
1149a0 61 6c 43 6f 6d 6d 61 6e 64 73 5b 27 5f 67 6c 6f 62 61 6c 27 5d 5b 24 6e 61 6d 65 5d 20 3d 20 24 alCommands['_global'][$name].=.$
1149c0 63 6f 6d 6d 61 6e 64 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d command;.}.else.{.$namespacedCom
1149e0 6d 61 6e 64 73 5b 24 6b 65 79 5d 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d mands[$key][$name].=.$command;.}
114a00 0a 7d 0a 6b 73 6f 72 74 28 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 29 3b 0a 24 .}.ksort($namespacedCommands);.$
114a20 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 namespacedCommands.=.array_merge
114a40 28 24 67 6c 6f 62 61 6c 43 6f 6d 6d 61 6e 64 73 2c 20 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d ($globalCommands,.$namespacedCom
114a60 6d 61 6e 64 73 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d mands);..foreach.($namespacedCom
114a80 6d 61 6e 64 73 20 61 73 20 26 24 63 6f 6d 6d 61 6e 64 73 53 65 74 29 20 7b 0a 6b 73 6f 72 74 28 mands.as.&$commandsSet).{.ksort(
114aa0 24 63 6f 6d 6d 61 6e 64 73 53 65 74 29 3b 0a 7d 0a 0a 20 75 6e 73 65 74 28 24 63 6f 6d 6d 61 6e $commandsSet);.}...unset($comman
114ac0 64 73 53 65 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6e 61 6d 65 73 70 61 63 65 64 43 6f 6d 6d 61 dsSet);..return.$namespacedComma
114ae0 6e 64 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 nds;.}.}.<?php...........namespa
114b00 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 ce.Symfony\Component\Console\Des
114b20 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c criptor;..use.Symfony\Component\
114b40 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 Console\Application;.use.Symfony
114b60 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 \Component\Console\Command\Comma
114b80 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c nd;.use.Symfony\Component\Consol
114ba0 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 e\Exception\InvalidArgumentExcep
114bc0 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 tion;.use.Symfony\Component\Cons
114be0 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d ole\Input\InputArgument;.use.Sym
114c00 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 fony\Component\Console\Input\Inp
114c20 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e utDefinition;.use.Symfony\Compon
114c40 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 75 ent\Console\Input\InputOption;.u
114c60 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 se.Symfony\Component\Console\Out
114c80 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 put\OutputInterface;.......abstr
114ca0 61 63 74 20 63 6c 61 73 73 20 44 65 73 63 72 69 70 74 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 act.class.Descriptor.implements.
114cc0 44 65 73 63 72 69 70 74 6f 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 DescriptorInterface.{....private
114ce0 20 24 6f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 .$output;.....public.function.de
114d00 73 63 72 69 62 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 scribe(OutputInterface.$output,.
114d20 24 6f 62 6a 65 63 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 $object,.array.$options.=.array(
114d40 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 0a 73 )).{.$this->output.=.$output;..s
114d60 77 69 74 63 68 20 28 74 72 75 65 29 20 7b 0a 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 witch.(true).{.case.$object.inst
114d80 61 6e 63 65 6f 66 20 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 0a 24 74 68 69 73 2d 3e 64 65 73 anceof.InputArgument:.$this->des
114da0 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 cribeInputArgument($object,.$opt
114dc0 69 6f 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 ions);.break;.case.$object.insta
114de0 6e 63 65 6f 66 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 nceof.InputOption:.$this->descri
114e00 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 beInputOption($object,.$options)
114e20 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 ;.break;.case.$object.instanceof
114e40 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3a 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 .InputDefinition:.$this->describ
114e60 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f eInputDefinition($object,.$optio
114e80 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 ns);.break;.case.$object.instanc
114ea0 65 6f 66 20 43 6f 6d 6d 61 6e 64 3a 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 43 6f 6d 6d eof.Command:.$this->describeComm
114ec0 61 6e 64 28 24 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 and($object,.$options);.break;.c
114ee0 61 73 65 20 24 6f 62 6a 65 63 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 41 70 70 6c 69 63 61 74 69 ase.$object.instanceof.Applicati
114f00 6f 6e 3a 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 74 69 6f 6e 28 24 on:.$this->describeApplication($
114f20 6f 62 6a 65 63 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c object,.$options);.break;.defaul
114f40 74 3a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 t:.throw.new.InvalidArgumentExce
114f60 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4f 62 6a 65 63 74 20 6f 66 20 74 79 70 65 20 22 25 ption(sprintf('Object.of.type."%
114f80 73 22 20 69 73 20 6e 6f 74 20 64 65 73 63 72 69 62 61 62 6c 65 2e 27 2c 20 5c 67 65 74 5f 63 6c s".is.not.describable.',.\get_cl
114fa0 61 73 73 28 24 6f 62 6a 65 63 74 29 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 ass($object)));.}.}........prote
114fc0 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 63 6f 6e 74 65 6e 74 2c 20 24 64 cted.function.write($content,.$d
114fe0 65 63 6f 72 61 74 65 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 ecorated.=.false).{.$this->outpu
115000 74 2d 3e 77 72 69 74 65 28 24 63 6f 6e 74 65 6e 74 2c 20 66 61 6c 73 65 2c 20 24 64 65 63 6f 72 t->write($content,.false,.$decor
115020 61 74 65 64 20 3f 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 4e ated.?.OutputInterface::OUTPUT_N
115040 4f 52 4d 41 4c 20 3a 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f ORMAL.:.OutputInterface::OUTPUT_
115060 52 41 57 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 RAW);.}.......abstract.protected
115080 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 .function.describeInputArgument(
1150a0 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 20 24 InputArgument.$argument,.array.$
1150c0 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 options.=.array());.......abstra
1150e0 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e ct.protected.function.describeIn
115100 70 75 74 4f 70 74 69 6f 6e 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 2c 20 61 putOption(InputOption.$option,.a
115120 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a rray.$options.=.array());.......
115140 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 abstract.protected.function.desc
115160 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 ribeInputDefinition(InputDefinit
115180 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 ion.$definition,.array.$options.
1151a0 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 =.array());.......abstract.prote
1151c0 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 43 6f cted.function.describeCommand(Co
1151e0 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d mmand.$command,.array.$options.=
115200 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 .array());.......abstract.protec
115220 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 74 69 6f 6e ted.function.describeApplication
115240 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 61 72 72 61 79 (Application.$application,.array
115260 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a .$options.=.array());.}.<?php...
115280 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ........namespace.Symfony\Compon
1152a0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d ent\Console\Descriptor;..use.Sym
1152c0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 fony\Component\Console\Output\Ou
1152e0 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 44 tputInterface;.......interface.D
115300 65 73 63 72 69 70 74 6f 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c escriptorInterface.{........publ
115320 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 28 4f 75 74 70 75 74 49 6e 74 65 72 ic.function.describe(OutputInter
115340 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 6f 62 6a 65 63 74 2c 20 61 72 72 61 79 20 24 6f 70 face.$output,.$object,.array.$op
115360 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a tions.=.array());.}.<?php.......
115380 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
1153a0 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 Console\Descriptor;..use.Symfony
1153c0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a \Component\Console\Application;.
1153e0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f use.Symfony\Component\Console\Co
115400 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f mmand\Command;.use.Symfony\Compo
115420 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 nent\Console\Input\InputArgument
115440 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
115460 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f Input\InputDefinition;.use.Symfo
115480 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 ny\Component\Console\Input\Input
1154a0 4f 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 44 65 73 63 72 69 Option;.........class.JsonDescri
1154c0 70 74 6f 72 20 65 78 74 65 6e 64 73 20 44 65 73 63 72 69 70 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 6f ptor.extends.Descriptor.{....pro
1154e0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 tected.function.describeInputArg
115500 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 2c 20 61 ument(InputArgument.$argument,.a
115520 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 rray.$options.=.array()).{.$this
115540 2d 3e 77 72 69 74 65 44 61 74 61 28 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 41 72 67 75 6d ->writeData($this->getInputArgum
115560 65 6e 74 44 61 74 61 28 24 61 72 67 75 6d 65 6e 74 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d entData($argument),.$options);.}
115580 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 .....protected.function.describe
1155a0 49 6e 70 75 74 4f 70 74 69 6f 6e 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 2c InputOption(InputOption.$option,
1155c0 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 .array.$options.=.array()).{.$th
1155e0 69 73 2d 3e 77 72 69 74 65 44 61 74 61 28 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 4f 70 74 is->writeData($this->getInputOpt
115600 69 6f 6e 44 61 74 61 28 24 6f 70 74 69 6f 6e 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a ionData($option),.$options);.}..
115620 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e ...protected.function.describeIn
115640 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 putDefinition(InputDefinition.$d
115660 65 66 69 6e 69 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 efinition,.array.$options.=.arra
115680 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 61 74 61 28 24 74 68 69 73 2d 3e 67 y()).{.$this->writeData($this->g
1156a0 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 61 74 61 28 24 64 65 66 69 6e 69 74 69 6f etInputDefinitionData($definitio
1156c0 6e 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 n),.$options);.}.....protected.f
1156e0 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 unction.describeCommand(Command.
115700 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 $command,.array.$options.=.array
115720 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 61 74 61 28 24 74 68 69 73 2d 3e 67 65 ()).{.$this->writeData($this->ge
115740 74 43 6f 6d 6d 61 6e 64 44 61 74 61 28 24 63 6f 6d 6d 61 6e 64 29 2c 20 24 6f 70 74 69 6f 6e 73 tCommandData($command),.$options
115760 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 );.}.....protected.function.desc
115780 72 69 62 65 41 70 70 6c 69 63 61 74 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 ribeApplication(Application.$app
1157a0 6c 69 63 61 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 lication,.array.$options.=.array
1157c0 28 29 29 0a 7b 0a 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 20 3d 20 69 73 73 65 ()).{.$describedNamespace.=.isse
1157e0 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 29 20 3f 20 24 6f 70 74 69 t($options['namespace']).?.$opti
115800 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 24 64 65 73 63 72 69 ons['namespace'].:.null;.$descri
115820 70 74 69 6f 6e 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 72 69 70 74 69 ption.=.new.ApplicationDescripti
115840 6f 6e 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 on($application,.$describedNames
115860 70 61 63 65 29 3b 0a 24 63 6f 6d 6d 61 6e 64 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 pace);.$commands.=.array();..for
115880 65 61 63 68 20 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 each.($description->getCommands(
1158a0 29 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 73 5b 5d 20 3d 20 24 ).as.$command).{.$commands[].=.$
1158c0 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 44 61 74 61 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a this->getCommandData($command);.
1158e0 7d 0a 0a 24 64 61 74 61 20 3d 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 0a 3f }..$data.=.$describedNamespace.?
115900 20 61 72 72 61 79 28 27 63 6f 6d 6d 61 6e 64 73 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 73 2c 20 .array('commands'.=>.$commands,.
115920 27 6e 61 6d 65 73 70 61 63 65 27 20 3d 3e 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 'namespace'.=>.$describedNamespa
115940 63 65 29 0a 3a 20 61 72 72 61 79 28 27 63 6f 6d 6d 61 6e 64 73 27 20 3d 3e 20 24 63 6f 6d 6d 61 ce).:.array('commands'.=>.$comma
115960 6e 64 73 2c 20 27 6e 61 6d 65 73 70 61 63 65 73 27 20 3d 3e 20 61 72 72 61 79 5f 76 61 6c 75 65 nds,.'namespaces'.=>.array_value
115980 73 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 29 s($description->getNamespaces())
1159a0 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 61 74 61 28 24 64 61 74 61 2c 20 24 6f 70 74 );..$this->writeData($data,.$opt
1159c0 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 ions);.}.......private.function.
1159e0 77 72 69 74 65 44 61 74 61 28 61 72 72 61 79 20 24 64 61 74 61 2c 20 61 72 72 61 79 20 24 6f 70 writeData(array.$data,.array.$op
115a00 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 6a 73 6f 6e 5f 65 6e 63 6f 64 tions).{.$this->write(json_encod
115a20 65 28 24 64 61 74 61 2c 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6a 73 6f 6e 5f 65 6e e($data,.isset($options['json_en
115a40 63 6f 64 69 6e 67 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6a 73 6f 6e 5f 65 6e 63 6f 64 coding']).?.$options['json_encod
115a60 69 6e 67 27 5d 20 3a 20 30 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 ing'].:.0));.}.....private.funct
115a80 69 6f 6e 20 67 65 74 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 44 61 74 61 28 49 6e 70 75 74 41 72 ion.getInputArgumentData(InputAr
115aa0 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 gument.$argument).{.return.array
115ac0 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 (.'name'.=>.$argument->getName()
115ae0 2c 0a 27 69 73 5f 72 65 71 75 69 72 65 64 27 20 3d 3e 20 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 ,.'is_required'.=>.$argument->is
115b00 52 65 71 75 69 72 65 64 28 29 2c 0a 27 69 73 5f 61 72 72 61 79 27 20 3d 3e 20 24 61 72 67 75 6d Required(),.'is_array'.=>.$argum
115b20 65 6e 74 2d 3e 69 73 41 72 72 61 79 28 29 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e ent->isArray(),.'description'.=>
115b40 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 .preg_replace('/\s*[\r\n]\s*/',.
115b60 27 20 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 '.',.$argument->getDescription()
115b80 29 2c 0a 27 64 65 66 61 75 6c 74 27 20 3d 3e 20 49 4e 46 20 3d 3d 3d 20 24 61 72 67 75 6d 65 6e ),.'default'.=>.INF.===.$argumen
115ba0 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3f 20 27 49 4e 46 27 20 3a 20 24 61 72 67 75 6d t->getDefault().?.'INF'.:.$argum
115bc0 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 ent->getDefault(),.);.}.....priv
115be0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 61 74 61 28 ate.function.getInputOptionData(
115c00 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 InputOption.$option).{.return.ar
115c20 72 61 79 28 0a 27 6e 61 6d 65 27 20 3d 3e 20 27 2d 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 ray(.'name'.=>.'--'.$option->get
115c40 4e 61 6d 65 28 29 2c 0a 27 73 68 6f 72 74 63 75 74 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 67 Name(),.'shortcut'.=>.$option->g
115c60 65 74 53 68 6f 72 74 63 75 74 28 29 20 3f 20 27 2d 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 etShortcut().?.'-'.str_replace('
115c80 7c 27 2c 20 27 7c 2d 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 |',.'|-',.$option->getShortcut()
115ca0 29 20 3a 20 27 27 2c 0a 27 61 63 63 65 70 74 5f 76 61 6c 75 65 27 20 3d 3e 20 24 6f 70 74 69 6f ).:.'',.'accept_value'.=>.$optio
115cc0 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 2c 0a 27 69 73 5f 76 61 6c 75 65 5f 72 65 71 75 n->acceptValue(),.'is_value_requ
115ce0 69 72 65 64 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 ired'.=>.$option->isValueRequire
115d00 64 28 29 2c 0a 27 69 73 5f 6d 75 6c 74 69 70 6c 65 27 20 3d 3e 20 24 6f 70 74 69 6f 6e 2d 3e 69 d(),.'is_multiple'.=>.$option->i
115d20 73 41 72 72 61 79 28 29 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 70 72 65 67 5f sArray(),.'description'.=>.preg_
115d40 72 65 70 6c 61 63 65 28 27 2f 5c 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 27 20 27 2c 20 24 replace('/\s*[\r\n]\s*/',.'.',.$
115d60 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 0a 27 64 65 66 61 option->getDescription()),.'defa
115d80 75 6c 74 27 20 3d 3e 20 49 4e 46 20 3d 3d 3d 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 ult'.=>.INF.===.$option->getDefa
115da0 75 6c 74 28 29 20 3f 20 27 49 4e 46 27 20 3a 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 ult().?.'INF'.:.$option->getDefa
115dc0 75 6c 74 28 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e ult(),.);.}.....private.function
115de0 20 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 61 74 61 28 49 6e 70 75 74 44 65 66 .getInputDefinitionData(InputDef
115e00 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 0a 7b 0a 24 69 6e 70 75 74 41 72 67 inition.$definition).{.$inputArg
115e20 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 uments.=.array();.foreach.($defi
115e40 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 20 61 73 20 24 6e 61 6d 65 20 nition->getArguments().as.$name.
115e60 3d 3e 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 69 6e 70 75 74 41 72 67 75 6d 65 6e 74 73 5b =>.$argument).{.$inputArguments[
115e80 24 6e 61 6d 65 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 $name].=.$this->getInputArgument
115ea0 44 61 74 61 28 24 61 72 67 75 6d 65 6e 74 29 3b 0a 7d 0a 0a 24 69 6e 70 75 74 4f 70 74 69 6f 6e Data($argument);.}..$inputOption
115ec0 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f s.=.array();.foreach.($definitio
115ee0 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 6f 70 74 n->getOptions().as.$name.=>.$opt
115f00 69 6f 6e 29 20 7b 0a 24 69 6e 70 75 74 4f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 74 ion).{.$inputOptions[$name].=.$t
115f20 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 61 74 61 28 24 6f 70 74 69 6f 6e 29 his->getInputOptionData($option)
115f40 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 61 72 67 75 6d 65 6e 74 73 27 20 3d 3e ;.}..return.array('arguments'.=>
115f60 20 24 69 6e 70 75 74 41 72 67 75 6d 65 6e 74 73 2c 20 27 6f 70 74 69 6f 6e 73 27 20 3d 3e 20 24 .$inputArguments,.'options'.=>.$
115f80 69 6e 70 75 74 4f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e inputOptions);.}.....private.fun
115fa0 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 44 61 74 61 28 43 6f 6d 6d 61 6e 64 20 24 63 6f ction.getCommandData(Command.$co
115fc0 6d 6d 61 6e 64 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 mmand).{.$command->getSynopsis()
115fe0 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 ;.$command->mergeApplicationDefi
116000 6e 69 74 69 6f 6e 28 66 61 6c 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e nition(false);..return.array(.'n
116020 61 6d 65 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 0a 27 75 73 ame'.=>.$command->getName(),.'us
116040 61 67 65 27 20 3d 3e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 63 6f 6d 6d 61 age'.=>.array_merge(array($comma
116060 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 nd->getSynopsis()),.$command->ge
116080 74 55 73 61 67 65 73 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 tUsages(),.$command->getAliases(
1160a0 29 29 2c 0a 27 64 65 73 63 72 69 70 74 69 6f 6e 27 20 3d 3e 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 )),.'description'.=>.$command->g
1160c0 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 2c 0a 27 68 65 6c 70 27 20 3d 3e 20 24 63 6f 6d 6d etDescription(),.'help'.=>.$comm
1160e0 61 6e 64 2d 3e 67 65 74 50 72 6f 63 65 73 73 65 64 48 65 6c 70 28 29 2c 0a 27 64 65 66 69 6e 69 and->getProcessedHelp(),.'defini
116100 74 69 6f 6e 27 20 3d 3e 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 tion'.=>.$this->getInputDefiniti
116120 6f 6e 44 61 74 61 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 onData($command->getNativeDefini
116140 74 69 6f 6e 28 29 29 2c 0a 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a tion()),.);.}.}.<?php...........
116160 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 namespace.Symfony\Component\Cons
116180 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ole\Descriptor;..use.Symfony\Com
1161a0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 ponent\Console\Application;.use.
1161c0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e Symfony\Component\Console\Comman
1161e0 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 d\Command;.use.Symfony\Component
116200 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 \Console\Helper\Helper;.use.Symf
116220 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 ony\Component\Console\Input\Inpu
116240 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 tArgument;.use.Symfony\Component
116260 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a \Console\Input\InputDefinition;.
116280 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e use.Symfony\Component\Console\In
1162a0 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4d put\InputOption;.........class.M
1162c0 61 72 6b 64 6f 77 6e 44 65 73 63 72 69 70 74 6f 72 20 65 78 74 65 6e 64 73 20 44 65 73 63 72 69 arkdownDescriptor.extends.Descri
1162e0 70 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 ptor.{....protected.function.des
116300 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 cribeInputArgument(InputArgument
116320 20 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 .$argument,.array.$options.=.arr
116340 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 0a 27 2a 2a 27 2e 24 61 72 67 75 ay()).{.$this->write(.'**'.$argu
116360 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3a 2a 2a 27 2e 22 5c 6e 5c 6e 22 0a 2e 27 2a ment->getName().':**'."\n\n"..'*
116380 20 4e 61 6d 65 3a 20 27 2e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3f .Name:.'.($argument->getName().?
1163a0 3a 20 27 3c 6e 6f 6e 65 3e 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 49 73 20 72 65 71 75 69 72 65 64 :.'<none>')."\n"..'*.Is.required
1163c0 3a 20 27 2e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 20 3f 20 27 :.'.($argument->isRequired().?.'
1163e0 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 49 73 20 61 72 72 61 79 3a 20 yes'.:.'no')."\n"..'*.Is.array:.
116400 27 2e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 27 79 65 73 27 20 '.($argument->isArray().?.'yes'.
116420 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 44 65 73 63 72 69 70 74 69 6f 6e 3a 20 27 2e :.'no')."\n"..'*.Description:.'.
116440 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 22 preg_replace('/\s*[\r\n]\s*/',."
116460 5c 6e 20 20 22 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e \n..",.$argument->getDescription
116480 28 29 20 3f 3a 20 27 3c 6e 6f 6e 65 3e 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 44 65 66 61 75 6c 74 ().?:.'<none>')."\n"..'*.Default
1164a0 3a 20 60 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 27 27 2c 20 76 61 72 5f 65 :.`'.str_replace("\n",.'',.var_e
1164c0 78 70 6f 72 74 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 20 74 xport($argument->getDefault(),.t
1164e0 72 75 65 29 29 2e 27 60 27 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e rue)).'`'.);.}.....protected.fun
116500 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 49 6e 70 75 74 4f ction.describeInputOption(InputO
116520 70 74 69 6f 6e 20 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 ption.$option,.array.$options.=.
116540 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 0a 27 2a 2a 27 2e 24 6f array()).{.$this->write(.'**'.$o
116560 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 3a 2a 2a 27 2e 22 5c 6e 5c 6e 22 0a 2e 27 ption->getName().':**'."\n\n"..'
116580 2a 20 4e 61 6d 65 3a 20 60 2d 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2e *.Name:.`--'.$option->getName().
1165a0 27 60 27 2e 22 5c 6e 22 0a 2e 27 2a 20 53 68 6f 72 74 63 75 74 3a 20 27 2e 28 24 6f 70 74 69 6f '`'."\n"..'*.Shortcut:.'.($optio
1165c0 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 3f 20 27 60 2d 27 2e 73 74 72 5f 72 65 70 6c n->getShortcut().?.'`-'.str_repl
1165e0 61 63 65 28 27 7c 27 2c 20 27 7c 2d 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 ace('|',.'|-',.$option->getShort
116600 63 75 74 28 29 29 2e 27 60 27 20 3a 20 27 3c 6e 6f 6e 65 3e 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 cut()).'`'.:.'<none>')."\n"..'*.
116620 41 63 63 65 70 74 20 76 61 6c 75 65 3a 20 27 2e 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 Accept.value:.'.($option->accept
116640 56 61 6c 75 65 28 29 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c 6e 22 0a 2e 27 2a Value().?.'yes'.:.'no')."\n"..'*
116660 20 49 73 20 76 61 6c 75 65 20 72 65 71 75 69 72 65 64 3a 20 27 2e 28 24 6f 70 74 69 6f 6e 2d 3e .Is.value.required:.'.($option->
116680 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 isValueRequired().?.'yes'.:.'no'
1166a0 29 2e 22 5c 6e 22 0a 2e 27 2a 20 49 73 20 6d 75 6c 74 69 70 6c 65 3a 20 27 2e 28 24 6f 70 74 69 )."\n"..'*.Is.multiple:.'.($opti
1166c0 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 29 2e 22 5c on->isArray().?.'yes'.:.'no')."\
1166e0 6e 22 0a 2e 27 2a 20 44 65 73 63 72 69 70 74 69 6f 6e 3a 20 27 2e 70 72 65 67 5f 72 65 70 6c 61 n"..'*.Description:.'.preg_repla
116700 63 65 28 27 2f 5c 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c 20 22 5c 6e 20 20 22 2c 20 24 6f 70 ce('/\s*[\r\n]\s*/',."\n..",.$op
116720 74 69 6f 6e 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 20 3f 3a 20 27 3c 6e 6f 6e 65 tion->getDescription().?:.'<none
116740 3e 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 44 65 66 61 75 6c 74 3a 20 60 27 2e 73 74 72 5f 72 65 70 >')."\n"..'*.Default:.`'.str_rep
116760 6c 61 63 65 28 22 5c 6e 22 2c 20 27 27 2c 20 76 61 72 5f 65 78 70 6f 72 74 28 24 6f 70 74 69 6f lace("\n",.'',.var_export($optio
116780 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 20 74 72 75 65 29 29 2e 27 60 27 0a 29 3b 0a 7d n->getDefault(),.true)).'`'.);.}
1167a0 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 .....protected.function.describe
1167c0 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 InputDefinition(InputDefinition.
1167e0 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 $definition,.array.$options.=.ar
116800 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 24 73 68 6f 77 41 72 67 75 6d 65 6e 74 73 20 3d 20 5c 63 ray()).{.if.($showArguments.=.\c
116820 6f 75 6e 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 ount($definition->getArguments()
116840 29 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 27 23 23 23 20 41 72 67 75 6d ).>.0).{.$this->write('###.Argum
116860 65 6e 74 73 3a 27 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 ents:');.foreach.($definition->g
116880 65 74 41 72 67 75 6d 65 6e 74 73 28 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 74 etArguments().as.$argument).{.$t
1168a0 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 his->write("\n\n");.$this->write
1168c0 28 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 24 61 ($this->describeInputArgument($a
1168e0 72 67 75 6d 65 6e 74 29 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 64 65 66 69 rgument));.}.}..if.(\count($defi
116900 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 29 20 3e 20 30 29 20 7b 0a 69 66 20 nition->getOptions()).>.0).{.if.
116920 28 24 73 68 6f 77 41 72 67 75 6d 65 6e 74 73 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 ($showArguments).{.$this->write(
116940 22 5c 6e 5c 6e 22 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 27 23 23 23 20 4f 70 "\n\n");.}..$this->write('###.Op
116960 74 69 6f 6e 73 3a 27 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e tions:');.foreach.($definition->
116980 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 getOptions().as.$option).{.$this
1169a0 2d 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 74 ->write("\n\n");.$this->write($t
1169c0 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e his->describeInputOption($option
1169e0 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e ));.}.}.}.....protected.function
116a00 20 64 65 73 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e .describeCommand(Command.$comman
116a20 64 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 d,.array.$options.=.array()).{.$
116a40 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 command->getSynopsis();.$command
116a60 2d 3e 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 28 66 61 6c ->mergeApplicationDefinition(fal
116a80 73 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 se);..$this->write(.$command->ge
116aa0 74 4e 61 6d 65 28 29 2e 22 5c 6e 22 0a 2e 73 74 72 5f 72 65 70 65 61 74 28 27 2d 27 2c 20 48 65 tName()."\n"..str_repeat('-',.He
116ac0 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 lper::strlen($command->getName()
116ae0 29 29 2e 22 5c 6e 5c 6e 22 0a 2e 27 2a 20 44 65 73 63 72 69 70 74 69 6f 6e 3a 20 27 2e 28 24 63 ))."\n\n"..'*.Description:.'.($c
116b00 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 20 3f 3a 20 27 3c 6e 6f ommand->getDescription().?:.'<no
116b20 6e 65 3e 27 29 2e 22 5c 6e 22 0a 2e 27 2a 20 55 73 61 67 65 3a 27 2e 22 5c 6e 5c 6e 22 0a 2e 61 ne>')."\n"..'*.Usage:'."\n\n"..a
116b40 72 72 61 79 5f 72 65 64 75 63 65 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 63 rray_reduce(array_merge(array($c
116b60 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 29 2c 20 24 63 6f 6d 6d 61 6e 64 ommand->getSynopsis()),.$command
116b80 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 55 73 61 ->getAliases(),.$command->getUsa
116ba0 67 65 73 28 29 29 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 63 61 72 72 79 2c 20 24 75 73 61 67 65 ges()),.function.($carry,.$usage
116bc0 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 61 72 72 79 2e 27 20 20 2a 20 60 27 2e 24 75 73 61 67 65 ).{.return.$carry.'..*.`'.$usage
116be0 2e 27 60 27 2e 22 5c 6e 22 3b 0a 7d 29 0a 29 3b 0a 0a 69 66 20 28 24 68 65 6c 70 20 3d 20 24 63 .'`'."\n";.}).);..if.($help.=.$c
116c00 6f 6d 6d 61 6e 64 2d 3e 67 65 74 50 72 6f 63 65 73 73 65 64 48 65 6c 70 28 29 29 20 7b 0a 24 74 ommand->getProcessedHelp()).{.$t
116c20 68 69 73 2d 3e 77 72 69 74 65 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 his->write("\n");.$this->write($
116c40 68 65 6c 70 29 3b 0a 7d 0a 0a 69 66 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 74 69 76 help);.}..if.($command->getNativ
116c60 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 5c eDefinition()).{.$this->write("\
116c80 6e 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e n\n");.$this->describeInputDefin
116ca0 69 74 69 6f 6e 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 ition($command->getNativeDefinit
116cc0 69 6f 6e 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 ion());.}.}.....protected.functi
116ce0 6f 6e 20 64 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 74 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 on.describeApplication(Applicati
116d00 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 on.$application,.array.$options.
116d20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 =.array()).{.$describedNamespace
116d40 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 29 20 .=.isset($options['namespace']).
116d60 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a ?.$options['namespace'].:.null;.
116d80 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 $description.=.new.ApplicationDe
116da0 73 63 72 69 70 74 69 6f 6e 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 24 64 65 73 63 72 69 62 scription($application,.$describ
116dc0 65 64 4e 61 6d 65 73 70 61 63 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 61 70 70 edNamespace);..$this->write($app
116de0 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 22 5c 6e 22 2e 73 74 72 5f 72 65 70 lication->getName()."\n".str_rep
116e00 65 61 74 28 27 3d 27 2c 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 61 70 70 6c 69 63 61 eat('=',.Helper::strlen($applica
116e20 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 tion->getName())));..foreach.($d
116e40 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 20 61 73 20 24 escription->getNamespaces().as.$
116e60 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a 69 66 20 28 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 namespace).{.if.(ApplicationDesc
116e80 72 69 70 74 69 6f 6e 3a 3a 47 4c 4f 42 41 4c 5f 4e 41 4d 45 53 50 41 43 45 20 21 3d 3d 20 24 6e ription::GLOBAL_NAMESPACE.!==.$n
116ea0 61 6d 65 73 70 61 63 65 5b 27 69 64 27 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 22 amespace['id']).{.$this->write("
116ec0 5c 6e 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 27 2a 2a 27 2e 24 6e 61 6d 65 73 \n\n");.$this->write('**'.$names
116ee0 70 61 63 65 5b 27 69 64 27 5d 2e 27 3a 2a 2a 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 72 69 pace['id'].':**');.}..$this->wri
116f00 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 69 6d 70 6c 6f 64 65 te("\n\n");.$this->write(implode
116f20 28 22 5c 6e 22 2c 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 63 6f 6d 6d ("\n",.array_map(function.($comm
116f40 61 6e 64 4e 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 27 2a 20 27 2e 24 63 6f 6d 6d 61 6e 64 4e andName).{.return.'*.'.$commandN
116f60 61 6d 65 3b 0a 7d 2c 20 24 6e 61 6d 65 73 70 61 63 65 5b 27 63 6f 6d 6d 61 6e 64 73 27 5d 29 29 ame;.},.$namespace['commands']))
116f80 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 );.}..foreach.($description->get
116fa0 43 6f 6d 6d 61 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d Commands().as.$command).{.$this-
116fc0 3e 77 72 69 74 65 28 22 5c 6e 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 24 74 68 >write("\n\n");.$this->write($th
116fe0 69 73 2d 3e 64 65 73 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a is->describeCommand($command));.
117000 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 }.}.}.<?php...........namespace.
117020 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 Symfony\Component\Console\Descri
117040 70 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ptor;..use.Symfony\Component\Con
117060 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f sole\Application;.use.Symfony\Co
117080 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b mponent\Console\Command\Command;
1170a0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 .use.Symfony\Component\Console\F
1170c0 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 ormatter\OutputFormatter;.use.Sy
1170e0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 mfony\Component\Console\Helper\H
117100 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e elper;.use.Symfony\Component\Con
117120 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 sole\Input\InputArgument;.use.Sy
117140 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e mfony\Component\Console\Input\In
117160 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f putDefinition;.use.Symfony\Compo
117180 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a nent\Console\Input\InputOption;.
1171a0 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 20 65 78 74 ........class.TextDescriptor.ext
1171c0 65 6e 64 73 20 44 65 73 63 72 69 70 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 ends.Descriptor.{....protected.f
1171e0 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 28 49 6e unction.describeInputArgument(In
117200 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 20 24 6f 70 putArgument.$argument,.array.$op
117220 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 tions.=.array()).{.if.(null.!==.
117240 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 26 26 20 28 21 5c 69 73 $argument->getDefault().&&.(!\is
117260 5f 61 72 72 61 79 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 _array($argument->getDefault()).
117280 7c 7c 20 5c 63 6f 75 6e 74 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 ||.\count($argument->getDefault(
1172a0 29 29 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d )))).{.$default.=.sprintf('<comm
1172c0 65 6e 74 3e 20 5b 64 65 66 61 75 6c 74 3a 20 25 73 5d 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 ent>.[default:.%s]</comment>',.$
1172e0 74 68 69 73 2d 3e 66 6f 72 6d 61 74 44 65 66 61 75 6c 74 56 61 6c 75 65 28 24 61 72 67 75 6d 65 this->formatDefaultValue($argume
117300 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 nt->getDefault()));.}.else.{.$de
117320 66 61 75 6c 74 20 3d 20 27 27 3b 0a 7d 0a 0a 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 69 73 73 fault.=.'';.}..$totalWidth.=.iss
117340 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 5d 29 20 3f 20 24 6f et($options['total_width']).?.$o
117360 70 74 69 6f 6e 73 5b 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 5d 20 3a 20 48 65 6c 70 65 72 3a 3a ptions['total_width'].:.Helper::
117380 73 74 72 6c 65 6e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 24 73 strlen($argument->getName());.$s
1173a0 70 61 63 69 6e 67 57 69 64 74 68 20 3d 20 24 74 6f 74 61 6c 57 69 64 74 68 20 2d 20 5c 73 74 72 pacingWidth.=.$totalWidth.-.\str
1173c0 6c 65 6e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 24 74 68 69 len($argument->getName());..$thi
1173e0 73 2d 3e 77 72 69 74 65 54 65 78 74 28 73 70 72 69 6e 74 66 28 27 20 20 3c 69 6e 66 6f 3e 25 73 s->writeText(sprintf('..<info>%s
117400 3c 2f 69 6e 66 6f 3e 20 20 25 73 25 73 25 73 27 2c 0a 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 </info>..%s%s%s',.$argument->get
117420 4e 61 6d 65 28 29 2c 0a 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 73 70 61 63 69 6e 67 Name(),.str_repeat('.',.$spacing
117440 57 69 64 74 68 29 2c 0a 0a 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 73 2a 5b 5c 72 5c Width),...preg_replace('/\s*[\r\
117460 6e 5d 5c 73 2a 2f 27 2c 20 22 5c 6e 22 2e 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 74 n]\s*/',."\n".str_repeat('.',.$t
117480 6f 74 61 6c 57 69 64 74 68 20 2b 20 34 29 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 otalWidth.+.4),.$argument->getDe
1174a0 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 0a 24 64 65 66 61 75 6c 74 0a 29 2c 20 24 6f 70 74 69 6f scription()),.$default.),.$optio
1174c0 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 ns);.}.....protected.function.de
1174e0 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f scribeInputOption(InputOption.$o
117500 70 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 ption,.array.$options.=.array())
117520 0a 7b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 20 26 26 .{.if.($option->acceptValue().&&
117540 20 6e 75 6c 6c 20 21 3d 3d 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 .null.!==.$option->getDefault().
117560 26 26 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 &&.(!\is_array($option->getDefau
117580 6c 74 28 29 29 20 7c 7c 20 5c 63 6f 75 6e 74 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 lt()).||.\count($option->getDefa
1175a0 75 6c 74 28 29 29 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 73 70 72 69 6e 74 66 28 27 3c ult()))).{.$default.=.sprintf('<
1175c0 63 6f 6d 6d 65 6e 74 3e 20 5b 64 65 66 61 75 6c 74 3a 20 25 73 5d 3c 2f 63 6f 6d 6d 65 6e 74 3e comment>.[default:.%s]</comment>
1175e0 27 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 44 65 66 61 75 6c 74 56 61 6c 75 65 28 24 6f 70 ',.$this->formatDefaultValue($op
117600 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 tion->getDefault()));.}.else.{.$
117620 64 65 66 61 75 6c 74 20 3d 20 27 27 3b 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 27 27 3b 0a 69 66 default.=.'';.}..$value.=.'';.if
117640 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 24 76 61 6c .($option->acceptValue()).{.$val
117660 75 65 20 3d 20 27 3d 27 2e 73 74 72 74 6f 75 70 70 65 72 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 ue.=.'='.strtoupper($option->get
117680 4e 61 6d 65 28 29 29 3b 0a 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 Name());..if.($option->isValueOp
1176a0 74 69 6f 6e 61 6c 28 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 27 5b 27 2e 24 76 61 6c 75 65 2e tional()).{.$value.=.'['.$value.
1176c0 27 5d 27 3b 0a 7d 0a 7d 0a 0a 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 69 73 73 65 74 28 24 6f ']';.}.}..$totalWidth.=.isset($o
1176e0 70 74 69 6f 6e 73 5b 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e ptions['total_width']).?.$option
117700 73 5b 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 5d 20 3a 20 24 74 68 69 73 2d 3e 63 61 6c 63 75 6c s['total_width'].:.$this->calcul
117720 61 74 65 54 6f 74 61 6c 57 69 64 74 68 46 6f 72 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 28 24 6f ateTotalWidthForOptions(array($o
117740 70 74 69 6f 6e 29 29 3b 0a 24 73 79 6e 6f 70 73 69 73 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 ption));.$synopsis.=.sprintf('%s
117760 25 73 27 2c 0a 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 3f 20 73 70 %s',.$option->getShortcut().?.sp
117780 72 69 6e 74 66 28 27 2d 25 73 2c 20 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 rintf('-%s,.',.$option->getShort
1177a0 63 75 74 28 29 29 20 3a 20 27 20 20 20 20 27 2c 0a 73 70 72 69 6e 74 66 28 27 2d 2d 25 73 25 73 cut()).:.'....',.sprintf('--%s%s
1177c0 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 76 61 6c 75 65 29 0a 29 ',.$option->getName(),.$value).)
1177e0 3b 0a 0a 24 73 70 61 63 69 6e 67 57 69 64 74 68 20 3d 20 24 74 6f 74 61 6c 57 69 64 74 68 20 2d ;..$spacingWidth.=.$totalWidth.-
117800 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 73 79 6e 6f 70 73 69 73 29 3b 0a 0a 24 74 68 .Helper::strlen($synopsis);..$th
117820 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 73 70 72 69 6e 74 66 28 27 20 20 3c 69 6e 66 6f 3e 25 is->writeText(sprintf('..<info>%
117840 73 3c 2f 69 6e 66 6f 3e 20 20 25 73 25 73 25 73 25 73 27 2c 0a 24 73 79 6e 6f 70 73 69 73 2c 0a s</info>..%s%s%s%s',.$synopsis,.
117860 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 73 70 61 63 69 6e 67 57 69 64 74 68 29 2c 0a str_repeat('.',.$spacingWidth),.
117880 0a 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5c 73 2a 5b 5c 72 5c 6e 5d 5c 73 2a 2f 27 2c ..preg_replace('/\s*[\r\n]\s*/',
1178a0 20 22 5c 6e 22 2e 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 74 6f 74 61 6c 57 69 64 74 ."\n".str_repeat('.',.$totalWidt
1178c0 68 20 2b 20 34 29 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 h.+.4),.$option->getDescription(
1178e0 29 29 2c 0a 24 64 65 66 61 75 6c 74 2c 0a 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 )),.$default,.$option->isArray()
117900 20 3f 20 27 3c 63 6f 6d 6d 65 6e 74 3e 20 28 6d 75 6c 74 69 70 6c 65 20 76 61 6c 75 65 73 20 61 .?.'<comment>.(multiple.values.a
117920 6c 6c 6f 77 65 64 29 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 20 3a 20 27 27 0a 29 2c 20 24 6f 70 74 69 llowed)</comment>'.:.''.),.$opti
117940 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 ons);.}.....protected.function.d
117960 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 escribeInputDefinition(InputDefi
117980 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f nition.$definition,.array.$optio
1179a0 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 6f 74 61 6c 57 69 64 74 68 20 3d 20 24 74 ns.=.array()).{.$totalWidth.=.$t
1179c0 68 69 73 2d 3e 63 61 6c 63 75 6c 61 74 65 54 6f 74 61 6c 57 69 64 74 68 46 6f 72 4f 70 74 69 6f his->calculateTotalWidthForOptio
1179e0 6e 73 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 29 3b 0a 66 ns($definition->getOptions());.f
117a00 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 oreach.($definition->getArgument
117a20 73 28 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 74 6f 74 61 6c 57 69 64 74 68 20 s().as.$argument).{.$totalWidth.
117a40 3d 20 6d 61 78 28 24 74 6f 74 61 6c 57 69 64 74 68 2c 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 =.max($totalWidth,.Helper::strle
117a60 6e 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 7d 0a 0a 69 66 20 n($argument->getName()));.}..if.
117a80 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 20 7b 0a ($definition->getArguments()).{.
117aa0 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 41 72 67 75 6d $this->writeText('<comment>Argum
117ac0 65 6e 74 73 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 ents:</comment>',.$options);.$th
117ae0 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 is->writeText("\n");.foreach.($d
117b00 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 20 61 73 20 24 61 72 efinition->getArguments().as.$ar
117b20 67 75 6d 65 6e 74 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 41 72 gument).{.$this->describeInputAr
117b40 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 2c 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 6f gument($argument,.array_merge($o
117b60 70 74 69 6f 6e 73 2c 20 61 72 72 61 79 28 27 74 6f 74 61 6c 5f 77 69 64 74 68 27 20 3d 3e 20 24 ptions,.array('total_width'.=>.$
117b80 74 6f 74 61 6c 57 69 64 74 68 29 29 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 totalWidth)));.$this->writeText(
117ba0 22 5c 6e 22 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 "\n");.}.}..if.($definition->get
117bc0 41 72 67 75 6d 65 6e 74 73 28 29 20 26 26 20 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f Arguments().&&.$definition->getO
117be0 70 74 69 6f 6e 73 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e ptions()).{.$this->writeText("\n
117c00 22 29 3b 0a 7d 0a 0a 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f ");.}..if.($definition->getOptio
117c20 6e 73 28 29 29 20 7b 0a 24 6c 61 74 65 72 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b ns()).{.$laterOptions.=.array();
117c40 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 4f 70 74 ..$this->writeText('<comment>Opt
117c60 69 6f 6e 73 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 66 6f 72 ions:</comment>',.$options);.for
117c80 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 each.($definition->getOptions().
117ca0 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 69 66 20 28 5c 73 74 72 6c 65 6e 28 24 6f 70 74 69 6f as.$option).{.if.(\strlen($optio
117cc0 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 3e 20 31 29 20 7b 0a 24 6c 61 74 65 72 4f n->getShortcut()).>.1).{.$laterO
117ce0 70 74 69 6f 6e 73 5b 5d 20 3d 20 24 6f 70 74 69 6f 6e 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a ptions[].=.$option;.continue;.}.
117d00 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 64 $this->writeText("\n");.$this->d
117d20 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 escribeInputOption($option,.arra
117d40 79 5f 6d 65 72 67 65 28 24 6f 70 74 69 6f 6e 73 2c 20 61 72 72 61 79 28 27 74 6f 74 61 6c 5f 77 y_merge($options,.array('total_w
117d60 69 64 74 68 27 20 3d 3e 20 24 74 6f 74 61 6c 57 69 64 74 68 29 29 29 3b 0a 7d 0a 66 6f 72 65 61 idth'.=>.$totalWidth)));.}.forea
117d80 63 68 20 28 24 6c 61 74 65 72 4f 70 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a ch.($laterOptions.as.$option).{.
117da0 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 64 $this->writeText("\n");.$this->d
117dc0 65 73 63 72 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 2c 20 61 72 72 61 escribeInputOption($option,.arra
117de0 79 5f 6d 65 72 67 65 28 24 6f 70 74 69 6f 6e 73 2c 20 61 72 72 61 79 28 27 74 6f 74 61 6c 5f 77 y_merge($options,.array('total_w
117e00 69 64 74 68 27 20 3d 3e 20 24 74 6f 74 61 6c 57 69 64 74 68 29 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a idth'.=>.$totalWidth)));.}.}.}..
117e20 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 43 6f ...protected.function.describeCo
117e40 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 6f mmand(Command.$command,.array.$o
117e60 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 ptions.=.array()).{.$command->ge
117e80 74 53 79 6e 6f 70 73 69 73 28 74 72 75 65 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 tSynopsis(true);.$command->getSy
117ea0 6e 6f 70 73 69 73 28 66 61 6c 73 65 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 6d 65 72 67 65 41 70 nopsis(false);.$command->mergeAp
117ec0 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 28 66 61 6c 73 65 29 3b 0a 0a 24 74 68 plicationDefinition(false);..$th
117ee0 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 55 73 61 67 65 3a 3c 2f is->writeText('<comment>Usage:</
117f00 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 comment>',.$options);.foreach.(a
117f20 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 rray_merge(array($command->getSy
117f40 6e 6f 70 73 69 73 28 74 72 75 65 29 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 nopsis(true)),.$command->getAlia
117f60 73 65 73 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 55 73 61 67 65 73 28 29 29 20 61 73 ses(),.$command->getUsages()).as
117f80 20 24 75 73 61 67 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 .$usage).{.$this->writeText("\n"
117fa0 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 20 20 27 2e 4f 75 74 70 75 74 46 );.$this->writeText('..'.OutputF
117fc0 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 75 73 61 67 65 29 2c 20 24 6f 70 74 69 6f ormatter::escape($usage),.$optio
117fe0 6e 73 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 0a ns);.}.$this->writeText("\n");..
118000 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 74 69 76 $definition.=.$command->getNativ
118020 65 44 65 66 69 6e 69 74 69 6f 6e 28 29 3b 0a 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e eDefinition();.if.($definition->
118040 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 7c 7c 20 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 getOptions().||.$definition->get
118060 41 72 67 75 6d 65 6e 74 73 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 Arguments()).{.$this->writeText(
118080 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e "\n");.$this->describeInputDefin
1180a0 69 74 69 6f 6e 28 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 ition($definition,.$options);.$t
1180c0 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 7d 0a 0a 69 66 20 28 24 68 65 his->writeText("\n");.}..if.($he
1180e0 6c 70 20 3d 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 50 72 6f 63 65 73 73 65 64 48 65 6c 70 28 lp.=.$command->getProcessedHelp(
118100 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 )).{.$this->writeText("\n");.$th
118120 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 48 65 6c 70 3a 3c 2f 63 is->writeText('<comment>Help:</c
118140 6f 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 omment>',.$options);.$this->writ
118160 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 27 20 eText("\n");.$this->writeText('.
118180 20 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 22 5c 6e 20 20 22 2c 20 24 68 65 .'.str_replace("\n",."\n..",.$he
1181a0 6c 70 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 lp),.$options);.$this->writeText
1181c0 28 22 5c 6e 22 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 ("\n");.}.}.....protected.functi
1181e0 6f 6e 20 64 65 73 63 72 69 62 65 41 70 70 6c 69 63 61 74 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 on.describeApplication(Applicati
118200 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 on.$application,.array.$options.
118220 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 =.array()).{.$describedNamespace
118240 20 3d 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 29 20 .=.isset($options['namespace']).
118260 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 3b 0a ?.$options['namespace'].:.null;.
118280 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 $description.=.new.ApplicationDe
1182a0 73 63 72 69 70 74 69 6f 6e 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 24 64 65 73 63 72 69 62 scription($application,.$describ
1182c0 65 64 4e 61 6d 65 73 70 61 63 65 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e edNamespace);..if.(isset($option
1182e0 73 5b 27 72 61 77 5f 74 65 78 74 27 5d 29 20 26 26 20 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f s['raw_text']).&&.$options['raw_
118300 74 65 78 74 27 5d 29 20 7b 0a 24 77 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6c text']).{.$width.=.$this->getCol
118320 75 6d 6e 57 69 64 74 68 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e umnWidth($description->getComman
118340 64 73 28 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 ds());..foreach.($description->g
118360 65 74 43 6f 6d 6d 61 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 etCommands().as.$command).{.$thi
118380 73 2d 3e 77 72 69 74 65 54 65 78 74 28 73 70 72 69 6e 74 66 28 22 25 2d 7b 24 77 69 64 74 68 7d s->writeText(sprintf("%-{$width}
1183a0 73 20 25 73 22 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 63 6f 6d s.%s",.$command->getName(),.$com
1183c0 6d 61 6e 64 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 20 24 6f 70 74 69 6f 6e mand->getDescription()),.$option
1183e0 73 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 7d 0a 7d 20 s);.$this->writeText("\n");.}.}.
118400 65 6c 73 65 20 7b 0a 69 66 20 28 27 27 20 21 3d 20 24 68 65 6c 70 20 3d 20 24 61 70 70 6c 69 63 else.{.if.(''.!=.$help.=.$applic
118420 61 74 69 6f 6e 2d 3e 67 65 74 48 65 6c 70 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 ation->getHelp()).{.$this->write
118440 54 65 78 74 28 22 24 68 65 6c 70 5c 6e 5c 6e 22 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a Text("$help\n\n",.$options);.}..
118460 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 3c 63 6f 6d 6d 65 6e 74 3e 55 73 61 67 65 $this->writeText("<comment>Usage
118480 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 5c 6e 22 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 :</comment>\n",.$options);.$this
1184a0 2d 3e 77 72 69 74 65 54 65 78 74 28 22 20 20 63 6f 6d 6d 61 6e 64 20 5b 6f 70 74 69 6f 6e 73 5d ->writeText("..command.[options]
1184c0 20 5b 61 72 67 75 6d 65 6e 74 73 5d 5c 6e 5c 6e 22 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 24 .[arguments]\n\n",.$options);..$
1184e0 74 68 69 73 2d 3e 64 65 73 63 72 69 62 65 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 6e 65 this->describeInputDefinition(ne
118500 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e w.InputDefinition($application->
118520 67 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 29 2c 20 getDefinition()->getOptions()),.
118540 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e $options);..$this->writeText("\n
118560 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 0a 24 77 69 ");.$this->writeText("\n");..$wi
118580 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6c 75 6d 6e 57 69 64 74 68 28 24 64 65 73 dth.=.$this->getColumnWidth($des
1185a0 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 29 3b 0a 0a 69 66 20 28 24 cription->getCommands());..if.($
1185c0 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 describedNamespace).{.$this->wri
1185e0 74 65 54 65 78 74 28 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 41 76 61 69 6c 61 62 teText(sprintf('<comment>Availab
118600 6c 65 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 74 68 65 20 22 25 73 22 20 6e 61 6d 65 73 70 61 le.commands.for.the."%s".namespa
118620 63 65 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 ce:</comment>',.$describedNamesp
118640 61 63 65 29 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d ace),.$options);.}.else.{.$this-
118660 3e 77 72 69 74 65 54 65 78 74 28 27 3c 63 6f 6d 6d 65 6e 74 3e 41 76 61 69 6c 61 62 6c 65 20 63 >writeText('<comment>Available.c
118680 6f 6d 6d 61 6e 64 73 3a 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a ommands:</comment>',.$options);.
1186a0 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 4e }....foreach.($description->getN
1186c0 61 6d 65 73 70 61 63 65 73 28 29 20 61 73 20 24 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a 69 66 20 amespaces().as.$namespace).{.if.
1186e0 28 21 24 64 65 73 63 72 69 62 65 64 4e 61 6d 65 73 70 61 63 65 20 26 26 20 41 70 70 6c 69 63 61 (!$describedNamespace.&&.Applica
118700 74 69 6f 6e 44 65 73 63 72 69 70 74 69 6f 6e 3a 3a 47 4c 4f 42 41 4c 5f 4e 41 4d 45 53 50 41 43 tionDescription::GLOBAL_NAMESPAC
118720 45 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 5b 27 69 64 27 5d 29 20 7b 0a 24 74 68 69 73 2d E.!==.$namespace['id']).{.$this-
118740 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 >writeText("\n");.$this->writeTe
118760 78 74 28 27 20 3c 63 6f 6d 6d 65 6e 74 3e 27 2e 24 6e 61 6d 65 73 70 61 63 65 5b 27 69 64 27 5d xt('.<comment>'.$namespace['id']
118780 2e 27 3c 2f 63 6f 6d 6d 65 6e 74 3e 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 66 6f 72 .'</comment>',.$options);.}..for
1187a0 65 61 63 68 20 28 24 6e 61 6d 65 73 70 61 63 65 5b 27 63 6f 6d 6d 61 6e 64 73 27 5d 20 61 73 20 each.($namespace['commands'].as.
1187c0 24 6e 61 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 5c 6e 22 29 3b $name).{.$this->writeText("\n");
1187e0 0a 24 73 70 61 63 69 6e 67 57 69 64 74 68 20 3d 20 24 77 69 64 74 68 20 2d 20 48 65 6c 70 65 72 .$spacingWidth.=.$width.-.Helper
118800 3a 3a 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 ::strlen($name);.$this->writeTex
118820 74 28 73 70 72 69 6e 74 66 28 27 20 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 25 73 25 73 t(sprintf('..<info>%s</info>%s%s
118840 27 2c 20 24 6e 61 6d 65 2c 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 73 70 61 63 69 ',.$name,.str_repeat('.',.$spaci
118860 6e 67 57 69 64 74 68 29 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 ngWidth),.$description->getComma
118880 6e 64 28 24 6e 61 6d 65 29 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 2c 20 24 6f nd($name)->getDescription()),.$o
1188a0 70 74 69 6f 6e 73 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 54 65 78 74 28 22 ptions);.}.}..$this->writeText("
1188c0 5c 6e 22 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 77 \n");.}.}.....private.function.w
1188e0 72 69 74 65 54 65 78 74 28 24 63 6f 6e 74 65 6e 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e riteText($content,.array.$option
118900 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 28 0a 69 73 73 s.=.array()).{.$this->write(.iss
118920 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 72 61 77 5f 74 65 78 74 27 5d 29 20 26 26 20 24 6f 70 74 et($options['raw_text']).&&.$opt
118940 69 6f 6e 73 5b 27 72 61 77 5f 74 65 78 74 27 5d 20 3f 20 73 74 72 69 70 5f 74 61 67 73 28 24 63 ions['raw_text'].?.strip_tags($c
118960 6f 6e 74 65 6e 74 29 20 3a 20 24 63 6f 6e 74 65 6e 74 2c 0a 69 73 73 65 74 28 24 6f 70 74 69 6f ontent).:.$content,.isset($optio
118980 6e 73 5b 27 72 61 77 5f 6f 75 74 70 75 74 27 5d 29 20 3f 20 21 24 6f 70 74 69 6f 6e 73 5b 27 72 ns['raw_output']).?.!$options['r
1189a0 61 77 5f 6f 75 74 70 75 74 27 5d 20 3a 20 74 72 75 65 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a aw_output'].:.true.);.}.........
1189c0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 44 65 66 61 75 6c 74 56 61 private.function.formatDefaultVa
1189e0 6c 75 65 28 24 64 65 66 61 75 6c 74 29 0a 7b 0a 69 66 20 28 49 4e 46 20 3d 3d 3d 20 24 64 65 66 lue($default).{.if.(INF.===.$def
118a00 61 75 6c 74 29 20 7b 0a 72 65 74 75 72 6e 20 27 49 4e 46 27 3b 0a 7d 0a 0a 69 66 20 28 5c 69 73 ault).{.return.'INF';.}..if.(\is
118a20 5f 73 74 72 69 6e 67 28 24 64 65 66 61 75 6c 74 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 _string($default)).{.$default.=.
118a40 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 64 65 66 61 75 6c 74 OutputFormatter::escape($default
118a60 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 64 65 66 61 75 6c 74 29 );.}.elseif.(\is_array($default)
118a80 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 61 75 6c 74 20 61 73 20 24 6b 65 79 20 3d 3e ).{.foreach.($default.as.$key.=>
118aa0 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 5c 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 .$value).{.if.(\is_string($value
118ac0 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 4f 75 74 70 75 74 46 6f 72 6d )).{.$default[$key].=.OutputForm
118ae0 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 atter::escape($value);.}.}.}..if
118b00 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 34 30 30 29 20 7b 0a 72 65 74 .(\PHP_VERSION_ID.<.50400).{.ret
118b20 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 5c 2f 27 2c 20 27 5c 5c 5c urn.str_replace(array('\/',.'\\\
118b40 5c 27 29 2c 20 61 72 72 61 79 28 27 2f 27 2c 20 27 5c 5c 27 29 2c 20 6a 73 6f 6e 5f 65 6e 63 6f \'),.array('/',.'\\'),.json_enco
118b60 64 65 28 24 64 65 66 61 75 6c 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 de($default));.}..return.str_rep
118b80 6c 61 63 65 28 27 5c 5c 5c 5c 27 2c 20 27 5c 5c 27 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 lace('\\\\',.'\\',.json_encode($
118ba0 64 65 66 61 75 6c 74 2c 20 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 53 4c 41 53 48 45 53 20 default,.JSON_UNESCAPED_SLASHES.
118bc0 7c 20 4a 53 4f 4e 5f 55 4e 45 53 43 41 50 45 44 5f 55 4e 49 43 4f 44 45 29 29 3b 0a 7d 0a 0a 0a |.JSON_UNESCAPED_UNICODE));.}...
118be0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6c 75 6d 6e 57 69 ....private.function.getColumnWi
118c00 64 74 68 28 61 72 72 61 79 20 24 63 6f 6d 6d 61 6e 64 73 29 0a 7b 0a 24 77 69 64 74 68 73 20 3d dth(array.$commands).{.$widths.=
118c20 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 73 20 61 73 .array();..foreach.($commands.as
118c40 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 77 69 64 74 68 73 5b 5d 20 3d 20 48 65 6c 70 65 72 3a .$command).{.$widths[].=.Helper:
118c60 3a 73 74 72 6c 65 6e 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 66 6f :strlen($command->getName());.fo
118c80 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 61 73 65 73 28 29 20 61 73 reach.($command->getAliases().as
118ca0 20 24 61 6c 69 61 73 29 20 7b 0a 24 77 69 64 74 68 73 5b 5d 20 3d 20 48 65 6c 70 65 72 3a 3a 73 .$alias).{.$widths[].=.Helper::s
118cc0 74 72 6c 65 6e 28 24 61 6c 69 61 73 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 6d 61 78 28 24 trlen($alias);.}.}..return.max($
118ce0 77 69 64 74 68 73 29 20 2b 20 32 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e widths).+.2;.}.......private.fun
118d00 63 74 69 6f 6e 20 63 61 6c 63 75 6c 61 74 65 54 6f 74 61 6c 57 69 64 74 68 46 6f 72 4f 70 74 69 ction.calculateTotalWidthForOpti
118d20 6f 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 6f 74 61 6c 57 69 64 74 ons(array.$options).{.$totalWidt
118d40 68 20 3d 20 30 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 h.=.0;.foreach.($options.as.$opt
118d60 69 6f 6e 29 20 7b 0a 0a 20 24 6e 61 6d 65 4c 65 6e 67 74 68 20 3d 20 31 20 2b 20 6d 61 78 28 5c ion).{...$nameLength.=.1.+.max(\
118d80 73 74 72 6c 65 6e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 2c 20 strlen($option->getShortcut()),.
118da0 31 29 20 2b 20 34 20 2b 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 6f 70 74 69 6f 6e 2d 1).+.4.+.Helper::strlen($option-
118dc0 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 >getName());..if.($option->accep
118de0 74 56 61 6c 75 65 28 29 29 20 7b 0a 24 76 61 6c 75 65 4c 65 6e 67 74 68 20 3d 20 31 20 2b 20 48 tValue()).{.$valueLength.=.1.+.H
118e00 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 elper::strlen($option->getName()
118e20 29 3b 20 0a 20 24 76 61 6c 75 65 4c 65 6e 67 74 68 20 2b 3d 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 );...$valueLength.+=.$option->is
118e40 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3f 20 32 20 3a 20 30 3b 20 0a 0a 24 6e 61 6d 65 ValueOptional().?.2.:.0;...$name
118e60 4c 65 6e 67 74 68 20 2b 3d 20 24 76 61 6c 75 65 4c 65 6e 67 74 68 3b 0a 7d 0a 24 74 6f 74 61 6c Length.+=.$valueLength;.}.$total
118e80 57 69 64 74 68 20 3d 20 6d 61 78 28 24 74 6f 74 61 6c 57 69 64 74 68 2c 20 24 6e 61 6d 65 4c 65 Width.=.max($totalWidth,.$nameLe
118ea0 6e 67 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 6f 74 61 6c 57 69 64 74 68 3b 0a 7d 0a ngth);.}..return.$totalWidth;.}.
118ec0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
118ee0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 ony\Component\Console\Descriptor
118f00 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 ;..use.Symfony\Component\Console
118f20 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e \Application;.use.Symfony\Compon
118f40 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 ent\Console\Command\Command;.use
118f60 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 .Symfony\Component\Console\Input
118f80 5c 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 \InputArgument;.use.Symfony\Comp
118fa0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 44 65 66 69 6e 69 74 onent\Console\Input\InputDefinit
118fc0 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ion;.use.Symfony\Component\Conso
118fe0 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 4f 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c le\Input\InputOption;.........cl
119000 61 73 73 20 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 20 65 78 74 65 6e 64 73 20 44 65 73 63 72 69 ass.XmlDescriptor.extends.Descri
119020 70 74 6f 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 ptor.{....public.function.getInp
119040 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 49 6e 70 75 74 44 65 66 69 6e 69 utDefinitionDocument(InputDefini
119060 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 0a 7b 0a 24 64 6f 6d 20 3d 20 6e 65 77 20 5c tion.$definition).{.$dom.=.new.\
119080 44 4f 4d 44 6f 63 75 6d 65 6e 74 28 27 31 2e 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 24 64 6f DOMDocument('1.0',.'UTF-8');.$do
1190a0 6d 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c 20 3d 20 m->appendChild($definitionXML.=.
1190c0 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 66 69 6e 69 74 69 6f 6e 27 $dom->createElement('definition'
1190e0 29 29 3b 0a 0a 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 ));..$definitionXML->appendChild
119100 28 24 61 72 67 75 6d 65 6e 74 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 ($argumentsXML.=.$dom->createEle
119120 6d 65 6e 74 28 27 61 72 67 75 6d 65 6e 74 73 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 ment('arguments'));.foreach.($de
119140 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 20 61 73 20 24 61 72 67 finition->getArguments().as.$arg
119160 75 6d 65 6e 74 29 20 7b 0a 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 44 6f 63 75 6d 65 6e 74 28 24 ument).{.$this->appendDocument($
119180 61 72 67 75 6d 65 6e 74 73 58 4d 4c 2c 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 41 72 67 argumentsXML,.$this->getInputArg
1191a0 75 6d 65 6e 74 44 6f 63 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 29 3b 0a 7d 0a 0a 24 64 umentDocument($argument));.}..$d
1191c0 65 66 69 6e 69 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 6f 70 74 69 6f efinitionXML->appendChild($optio
1191e0 6e 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 6f 70 74 nsXML.=.$dom->createElement('opt
119200 69 6f 6e 73 27 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 ions'));.foreach.($definition->g
119220 65 74 4f 70 74 69 6f 6e 73 28 29 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d etOptions().as.$option).{.$this-
119240 3e 61 70 70 65 6e 64 44 6f 63 75 6d 65 6e 74 28 24 6f 70 74 69 6f 6e 73 58 4d 4c 2c 20 24 74 68 >appendDocument($optionsXML,.$th
119260 69 73 2d 3e 67 65 74 49 6e 70 75 74 4f 70 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 6f 70 74 69 is->getInputOptionDocument($opti
119280 6f 6e 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 6f 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c on));.}..return.$dom;.}.....publ
1192a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 44 6f 63 75 6d 65 6e 74 28 43 ic.function.getCommandDocument(C
1192c0 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 64 6f 6d 20 3d 20 6e 65 77 20 5c 44 ommand.$command).{.$dom.=.new.\D
1192e0 4f 4d 44 6f 63 75 6d 65 6e 74 28 27 31 2e 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 24 64 6f 6d OMDocument('1.0',.'UTF-8');.$dom
119300 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 63 6f 6d 6d 61 6e 64 58 4d 4c 20 3d 20 24 64 6f 6d ->appendChild($commandXML.=.$dom
119320 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 29 29 3b 0a 0a 24 63 ->createElement('command'));..$c
119340 6f 6d 6d 61 6e 64 2d 3e 67 65 74 53 79 6e 6f 70 73 69 73 28 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d ommand->getSynopsis();.$command-
119360 3e 6d 65 72 67 65 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 66 69 6e 69 74 69 6f 6e 28 66 61 6c 73 >mergeApplicationDefinition(fals
119380 65 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 e);..$commandXML->setAttribute('
1193a0 69 64 27 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 24 63 6f 6d 6d id',.$command->getName());.$comm
1193c0 61 6e 64 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 6e 61 6d 65 27 2c 20 24 63 6f andXML->setAttribute('name',.$co
1193e0 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 6d 65 28 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d mmand->getName());..$commandXML-
119400 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 75 73 61 67 65 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e >appendChild($usagesXML.=.$dom->
119420 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 75 73 61 67 65 73 27 29 29 3b 0a 0a 66 6f 72 65 61 createElement('usages'));..forea
119440 63 68 20 28 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 63 6f 6d 6d 61 6e 64 2d 3e ch.(array_merge(array($command->
119460 67 65 74 53 79 6e 6f 70 73 69 73 28 29 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 6c 69 getSynopsis()),.$command->getAli
119480 61 73 65 73 28 29 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 55 73 61 67 65 73 28 29 29 20 61 ases(),.$command->getUsages()).a
1194a0 73 20 24 75 73 61 67 65 29 20 7b 0a 24 75 73 61 67 65 73 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 s.$usage).{.$usagesXML->appendCh
1194c0 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 75 73 61 67 65 27 2c ild($dom->createElement('usage',
1194e0 20 24 75 73 61 67 65 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d 3e 61 70 70 65 6e .$usage));.}..$commandXML->appen
119500 64 43 68 69 6c 64 28 24 64 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 dChild($descriptionXML.=.$dom->c
119520 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 29 29 3b 0a 24 64 reateElement('description'));.$d
119540 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d escriptionXML->appendChild($dom-
119560 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 >createTextNode(str_replace("\n"
119580 2c 20 22 5c 6e 20 22 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f ,."\n.",.$command->getDescriptio
1195a0 6e 28 29 29 29 29 3b 0a 0a 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c n())));..$commandXML->appendChil
1195c0 64 28 24 68 65 6c 70 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 d($helpXML.=.$dom->createElement
1195e0 28 27 68 65 6c 70 27 29 29 3b 0a 24 68 65 6c 70 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 ('help'));.$helpXML->appendChild
119600 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 73 74 72 5f 72 65 70 6c 61 63 ($dom->createTextNode(str_replac
119620 65 28 22 5c 6e 22 2c 20 22 5c 6e 20 22 2c 20 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 50 72 6f 63 e("\n",."\n.",.$command->getProc
119640 65 73 73 65 64 48 65 6c 70 28 29 29 29 29 3b 0a 0a 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c 20 essedHelp())));..$definitionXML.
119660 3d 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 6f 63 75 6d =.$this->getInputDefinitionDocum
119680 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 4e 61 74 69 76 65 44 65 66 69 6e 69 74 69 6f ent($command->getNativeDefinitio
1196a0 6e 28 29 29 3b 0a 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 44 6f 63 75 6d 65 6e 74 28 24 63 6f 6d n());.$this->appendDocument($com
1196c0 6d 61 6e 64 58 4d 4c 2c 20 24 64 65 66 69 6e 69 74 69 6f 6e 58 4d 4c 2d 3e 67 65 74 45 6c 65 6d mandXML,.$definitionXML->getElem
1196e0 65 6e 74 73 42 79 54 61 67 4e 61 6d 65 28 27 64 65 66 69 6e 69 74 69 6f 6e 27 29 2d 3e 69 74 65 entsByTagName('definition')->ite
119700 6d 28 30 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 6f 6d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 m(0));..return.$dom;.}........pu
119720 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 44 6f 63 75 blic.function.getApplicationDocu
119740 6d 65 6e 74 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 24 ment(Application.$application,.$
119760 6e 61 6d 65 73 70 61 63 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 64 6f 6d 20 3d 20 6e 65 77 20 5c namespace.=.null).{.$dom.=.new.\
119780 44 4f 4d 44 6f 63 75 6d 65 6e 74 28 27 31 2e 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 24 64 6f DOMDocument('1.0',.'UTF-8');.$do
1197a0 6d 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 72 6f 6f 74 58 6d 6c 20 3d 20 24 64 6f 6d 2d 3e m->appendChild($rootXml.=.$dom->
1197c0 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 73 79 6d 66 6f 6e 79 27 29 29 3b 0a 0a 69 66 20 28 createElement('symfony'));..if.(
1197e0 27 55 4e 4b 4e 4f 57 4e 27 20 21 3d 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 'UNKNOWN'.!==.$application->getN
119800 61 6d 65 28 29 29 20 7b 0a 24 72 6f 6f 74 58 6d 6c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 ame()).{.$rootXml->setAttribute(
119820 27 6e 61 6d 65 27 2c 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 'name',.$application->getName())
119840 3b 0a 69 66 20 28 27 55 4e 4b 4e 4f 57 4e 27 20 21 3d 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e ;.if.('UNKNOWN'.!==.$application
119860 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 20 7b 0a 24 72 6f 6f 74 58 6d 6c 2d 3e 73 65 74 41 ->getVersion()).{.$rootXml->setA
119880 74 74 72 69 62 75 74 65 28 27 76 65 72 73 69 6f 6e 27 2c 20 24 61 70 70 6c 69 63 61 74 69 6f 6e ttribute('version',.$application
1198a0 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 29 3b 0a 7d 0a 7d 0a 0a 24 72 6f 6f 74 58 6d 6c 2d 3e ->getVersion());.}.}..$rootXml->
1198c0 61 70 70 65 6e 64 43 68 69 6c 64 28 24 63 6f 6d 6d 61 6e 64 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d appendChild($commandsXML.=.$dom-
1198e0 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 73 27 29 29 3b 0a 0a 24 64 >createElement('commands'));..$d
119900 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 44 65 73 63 escription.=.new.ApplicationDesc
119920 72 69 70 74 69 6f 6e 28 24 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 24 6e 61 6d 65 73 70 61 63 65 ription($application,.$namespace
119940 29 3b 0a 0a 69 66 20 28 24 6e 61 6d 65 73 70 61 63 65 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 73 58 );..if.($namespace).{.$commandsX
119960 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 6e 61 6d 65 73 70 61 63 65 27 2c 20 24 6e ML->setAttribute('namespace',.$n
119980 61 6d 65 73 70 61 63 65 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 72 69 70 74 amespace);.}..foreach.($descript
1199a0 69 6f 6e 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 73 28 29 20 61 73 20 24 63 6f 6d 6d 61 6e 64 29 20 ion->getCommands().as.$command).
1199c0 7b 0a 24 74 68 69 73 2d 3e 61 70 70 65 6e 64 44 6f 63 75 6d 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 {.$this->appendDocument($command
1199e0 73 58 4d 4c 2c 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 44 6f 63 75 6d 65 6e 74 28 sXML,.$this->getCommandDocument(
119a00 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 6e 61 6d 65 73 70 61 63 65 29 20 $command));.}..if.(!$namespace).
119a20 7b 0a 24 72 6f 6f 74 58 6d 6c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 6e 61 6d 65 73 70 61 {.$rootXml->appendChild($namespa
119a40 63 65 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 6e 61 cesXML.=.$dom->createElement('na
119a60 6d 65 73 70 61 63 65 73 27 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 73 63 72 69 70 74 mespaces'));..foreach.($descript
119a80 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 73 70 61 63 65 73 28 29 20 61 73 20 24 6e 61 6d 65 73 70 61 ion->getNamespaces().as.$namespa
119aa0 63 65 44 65 73 63 72 69 70 74 69 6f 6e 29 20 7b 0a 24 6e 61 6d 65 73 70 61 63 65 73 58 4d 4c 2d ceDescription).{.$namespacesXML-
119ac0 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 6e 61 6d 65 73 70 61 63 65 41 72 72 61 79 58 4d 4c 20 >appendChild($namespaceArrayXML.
119ae0 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 6e 61 6d 65 73 70 61 63 65 =.$dom->createElement('namespace
119b00 27 29 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 41 72 72 61 79 58 4d 4c 2d 3e 73 65 74 41 74 74 72 '));.$namespaceArrayXML->setAttr
119b20 69 62 75 74 65 28 27 69 64 27 2c 20 24 6e 61 6d 65 73 70 61 63 65 44 65 73 63 72 69 70 74 69 6f ibute('id',.$namespaceDescriptio
119b40 6e 5b 27 69 64 27 5d 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 70 61 63 65 44 65 n['id']);..foreach.($namespaceDe
119b60 73 63 72 69 70 74 69 6f 6e 5b 27 63 6f 6d 6d 61 6e 64 73 27 5d 20 61 73 20 24 6e 61 6d 65 29 20 scription['commands'].as.$name).
119b80 7b 0a 24 6e 61 6d 65 73 70 61 63 65 41 72 72 61 79 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c {.$namespaceArrayXML->appendChil
119ba0 64 28 24 63 6f 6d 6d 61 6e 64 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d d($commandXML.=.$dom->createElem
119bc0 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 29 29 3b 0a 24 63 6f 6d 6d 61 6e 64 58 4d 4c 2d 3e 61 70 ent('command'));.$commandXML->ap
119be0 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 pendChild($dom->createTextNode($
119c00 6e 61 6d 65 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 6f 6d 3b 0a 7d 0a 0a 0a name));.}.}.}..return.$dom;.}...
119c20 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 6e 70 ..protected.function.describeInp
119c40 75 74 41 72 67 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 utArgument(InputArgument.$argume
119c60 6e 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a nt,.array.$options.=.array()).{.
119c80 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 49 $this->writeDocument($this->getI
119ca0 6e 70 75 74 41 72 67 75 6d 65 6e 74 44 6f 63 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 29 nputArgumentDocument($argument))
119cc0 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 ;.}.....protected.function.descr
119ce0 69 62 65 49 6e 70 75 74 4f 70 74 69 6f 6e 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 ibeInputOption(InputOption.$opti
119d00 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a on,.array.$options.=.array()).{.
119d20 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 49 $this->writeDocument($this->getI
119d40 6e 70 75 74 4f 70 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 6f 70 74 69 6f 6e 29 29 3b 0a 7d 0a nputOptionDocument($option));.}.
119d60 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 49 ....protected.function.describeI
119d80 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 nputDefinition(InputDefinition.$
119da0 64 65 66 69 6e 69 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 definition,.array.$options.=.arr
119dc0 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 24 74 68 ay()).{.$this->writeDocument($th
119de0 69 73 2d 3e 67 65 74 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 is->getInputDefinitionDocument($
119e00 64 65 66 69 6e 69 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 definition));.}.....protected.fu
119e20 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 nction.describeCommand(Command.$
119e40 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 command,.array.$options.=.array(
119e60 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 2d )).{.$this->writeDocument($this-
119e80 3e 67 65 74 43 6f 6d 6d 61 6e 64 44 6f 63 75 6d 65 6e 74 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a >getCommandDocument($command));.
119ea0 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 }.....protected.function.describ
119ec0 65 41 70 70 6c 69 63 61 74 69 6f 6e 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 eApplication(Application.$applic
119ee0 61 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 ation,.array.$options.=.array())
119f00 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 2d 3e 67 .{.$this->writeDocument($this->g
119f20 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 61 70 70 6c 69 63 61 74 69 etApplicationDocument($applicati
119f40 6f 6e 2c 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 29 on,.isset($options['namespace'])
119f60 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6e 61 6d 65 73 70 61 63 65 27 5d 20 3a 20 6e 75 6c 6c 29 .?.$options['namespace'].:.null)
119f80 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 );.}.....private.function.append
119fa0 44 6f 63 75 6d 65 6e 74 28 5c 44 4f 4d 4e 6f 64 65 20 24 70 61 72 65 6e 74 4e 6f 64 65 2c 20 5c Document(\DOMNode.$parentNode,.\
119fc0 44 4f 4d 4e 6f 64 65 20 24 69 6d 70 6f 72 74 65 64 50 61 72 65 6e 74 29 0a 7b 0a 66 6f 72 65 61 DOMNode.$importedParent).{.forea
119fe0 63 68 20 28 24 69 6d 70 6f 72 74 65 64 50 61 72 65 6e 74 2d 3e 63 68 69 6c 64 4e 6f 64 65 73 20 ch.($importedParent->childNodes.
11a000 61 73 20 24 63 68 69 6c 64 4e 6f 64 65 29 20 7b 0a 24 70 61 72 65 6e 74 4e 6f 64 65 2d 3e 61 70 as.$childNode).{.$parentNode->ap
11a020 70 65 6e 64 43 68 69 6c 64 28 24 70 61 72 65 6e 74 4e 6f 64 65 2d 3e 6f 77 6e 65 72 44 6f 63 75 pendChild($parentNode->ownerDocu
11a040 6d 65 6e 74 2d 3e 69 6d 70 6f 72 74 4e 6f 64 65 28 24 63 68 69 6c 64 4e 6f 64 65 2c 20 74 72 75 ment->importNode($childNode,.tru
11a060 65 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 e));.}.}.......private.function.
11a080 77 72 69 74 65 44 6f 63 75 6d 65 6e 74 28 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 20 24 64 6f 6d 29 writeDocument(\DOMDocument.$dom)
11a0a0 0a 7b 0a 24 64 6f 6d 2d 3e 66 6f 72 6d 61 74 4f 75 74 70 75 74 20 3d 20 74 72 75 65 3b 0a 24 74 .{.$dom->formatOutput.=.true;.$t
11a0c0 68 69 73 2d 3e 77 72 69 74 65 28 24 64 6f 6d 2d 3e 73 61 76 65 58 4d 4c 28 29 29 3b 0a 7d 0a 0a his->write($dom->saveXML());.}..
11a0e0 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 41 72 67 75 ...private.function.getInputArgu
11a100 6d 65 6e 74 44 6f 63 75 6d 65 6e 74 28 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 mentDocument(InputArgument.$argu
11a120 6d 65 6e 74 29 0a 7b 0a 24 64 6f 6d 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 28 ment).{.$dom.=.new.\DOMDocument(
11a140 27 31 2e 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 0a 24 64 6f 6d 2d 3e 61 70 70 65 6e 64 43 68 '1.0',.'UTF-8');..$dom->appendCh
11a160 69 6c 64 28 24 6f 62 6a 65 63 74 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 ild($objectXML.=.$dom->createEle
11a180 6d 65 6e 74 28 27 61 72 67 75 6d 65 6e 74 27 29 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 ment('argument'));.$objectXML->s
11a1a0 65 74 41 74 74 72 69 62 75 74 65 28 27 6e 61 6d 65 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 etAttribute('name',.$argument->g
11a1c0 65 74 4e 61 6d 65 28 29 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 etName());.$objectXML->setAttrib
11a1e0 75 74 65 28 27 69 73 5f 72 65 71 75 69 72 65 64 27 2c 20 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 ute('is_required',.$argument->is
11a200 52 65 71 75 69 72 65 64 28 29 20 3f 20 31 20 3a 20 30 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d Required().?.1.:.0);.$objectXML-
11a220 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 69 73 5f 61 72 72 61 79 27 2c 20 24 61 72 67 75 6d >setAttribute('is_array',.$argum
11a240 65 6e 74 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 31 20 3a 20 30 29 3b 0a 24 6f 62 6a 65 63 74 ent->isArray().?.1.:.0);.$object
11a260 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c XML->appendChild($descriptionXML
11a280 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 73 63 72 69 70 74 .=.$dom->createElement('descript
11a2a0 69 6f 6e 27 29 29 3b 0a 24 64 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 ion'));.$descriptionXML->appendC
11a2c0 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 61 72 67 75 6d hild($dom->createTextNode($argum
11a2e0 65 6e 74 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 29 29 3b 0a 0a 24 6f 62 6a 65 63 ent->getDescription()));..$objec
11a300 74 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 66 61 75 6c 74 73 58 4d 4c 20 3d tXML->appendChild($defaultsXML.=
11a320 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 66 61 75 6c 74 73 27 29 .$dom->createElement('defaults')
11a340 29 3b 0a 24 64 65 66 61 75 6c 74 73 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 61 72 67 75 6d 65 );.$defaults.=.\is_array($argume
11a360 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 nt->getDefault()).?.$argument->g
11a380 65 74 44 65 66 61 75 6c 74 28 29 20 3a 20 28 5c 69 73 5f 62 6f 6f 6c 28 24 61 72 67 75 6d 65 6e etDefault().:.(\is_bool($argumen
11a3a0 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 61 72 72 61 79 28 76 61 72 5f 65 78 70 t->getDefault()).?.array(var_exp
11a3c0 6f 72 74 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 20 74 72 75 ort($argument->getDefault(),.tru
11a3e0 65 29 29 20 3a 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3f e)).:.($argument->getDefault().?
11a400 20 61 72 72 61 79 28 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 .array($argument->getDefault()).
11a420 3a 20 61 72 72 61 79 28 29 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 61 75 6c 74 73 20 :.array()));.foreach.($defaults.
11a440 61 73 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 24 64 65 66 61 75 6c 74 73 58 4d 4c 2d 3e 61 70 70 as.$default).{.$defaultsXML->app
11a460 65 6e 64 43 68 69 6c 64 28 24 64 65 66 61 75 6c 74 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 endChild($defaultXML.=.$dom->cre
11a480 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 65 66 61 75 6c 74 27 29 29 3b 0a 24 64 65 66 61 75 6c 74 ateElement('default'));.$default
11a4a0 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 XML->appendChild($dom->createTex
11a4c0 74 4e 6f 64 65 28 24 64 65 66 61 75 6c 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 6f 6d tNode($default));.}..return.$dom
11a4e0 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 ;.}.....private.function.getInpu
11a500 74 4f 70 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 tOptionDocument(InputOption.$opt
11a520 69 6f 6e 29 0a 7b 0a 24 64 6f 6d 20 3d 20 6e 65 77 20 5c 44 4f 4d 44 6f 63 75 6d 65 6e 74 28 27 ion).{.$dom.=.new.\DOMDocument('
11a540 31 2e 30 27 2c 20 27 55 54 46 2d 38 27 29 3b 0a 0a 24 64 6f 6d 2d 3e 61 70 70 65 6e 64 43 68 69 1.0',.'UTF-8');..$dom->appendChi
11a560 6c 64 28 24 6f 62 6a 65 63 74 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d ld($objectXML.=.$dom->createElem
11a580 65 6e 74 28 27 6f 70 74 69 6f 6e 27 29 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 ent('option'));.$objectXML->setA
11a5a0 74 74 72 69 62 75 74 65 28 27 6e 61 6d 65 27 2c 20 27 2d 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 ttribute('name',.'--'.$option->g
11a5c0 65 74 4e 61 6d 65 28 29 29 3b 0a 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 6f 70 74 69 6f 6e etName());.$pos.=.strpos($option
11a5e0 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 2c 20 27 7c 27 29 3b 0a 69 66 20 28 66 61 6c 73 65 ->getShortcut(),.'|');.if.(false
11a600 20 21 3d 3d 20 24 70 6f 73 29 20 7b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 .!==.$pos).{.$objectXML->setAttr
11a620 69 62 75 74 65 28 27 73 68 6f 72 74 63 75 74 27 2c 20 27 2d 27 2e 73 75 62 73 74 72 28 24 6f 70 ibute('shortcut',.'-'.substr($op
11a640 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 2c 20 30 2c 20 24 70 6f 73 29 29 3b 0a tion->getShortcut(),.0,.$pos));.
11a660 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 73 68 6f 72 74 63 $objectXML->setAttribute('shortc
11a680 75 74 73 27 2c 20 27 2d 27 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 27 7c 27 2c 20 27 7c 2d 27 2c uts',.'-'.str_replace('|',.'|-',
11a6a0 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 29 3b 0a 7d 20 65 6c 73 .$option->getShortcut()));.}.els
11a6c0 65 20 7b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 73 68 e.{.$objectXML->setAttribute('sh
11a6e0 6f 72 74 63 75 74 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 ortcut',.$option->getShortcut().
11a700 3f 20 27 2d 27 2e 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 20 3a 20 27 ?.'-'.$option->getShortcut().:.'
11a720 27 29 3b 0a 7d 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 ');.}.$objectXML->setAttribute('
11a740 61 63 63 65 70 74 5f 76 61 6c 75 65 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 accept_value',.$option->acceptVa
11a760 6c 75 65 28 29 20 3f 20 31 20 3a 20 30 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 lue().?.1.:.0);.$objectXML->setA
11a780 74 74 72 69 62 75 74 65 28 27 69 73 5f 76 61 6c 75 65 5f 72 65 71 75 69 72 65 64 27 2c 20 24 6f ttribute('is_value_required',.$o
11a7a0 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 20 3f 20 31 20 3a 20 30 ption->isValueRequired().?.1.:.0
11a7c0 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 73 65 74 41 74 74 72 69 62 75 74 65 28 27 69 73 5f );.$objectXML->setAttribute('is_
11a7e0 6d 75 6c 74 69 70 6c 65 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 multiple',.$option->isArray().?.
11a800 31 20 3a 20 30 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 1.:.0);.$objectXML->appendChild(
11a820 24 64 65 73 63 72 69 70 74 69 6f 6e 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c $descriptionXML.=.$dom->createEl
11a840 65 6d 65 6e 74 28 27 64 65 73 63 72 69 70 74 69 6f 6e 27 29 29 3b 0a 24 64 65 73 63 72 69 70 74 ement('description'));.$descript
11a860 69 6f 6e 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 ionXML->appendChild($dom->create
11a880 54 65 78 74 4e 6f 64 65 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e TextNode($option->getDescription
11a8a0 28 29 29 29 3b 0a 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 ()));..if.($option->acceptValue(
11a8c0 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 73 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 6f 70 74 69 )).{.$defaults.=.\is_array($opti
11a8e0 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 on->getDefault()).?.$option->get
11a900 44 65 66 61 75 6c 74 28 29 20 3a 20 28 5c 69 73 5f 62 6f 6f 6c 28 24 6f 70 74 69 6f 6e 2d 3e 67 Default().:.(\is_bool($option->g
11a920 65 74 44 65 66 61 75 6c 74 28 29 29 20 3f 20 61 72 72 61 79 28 76 61 72 5f 65 78 70 6f 72 74 28 etDefault()).?.array(var_export(
11a940 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 2c 20 74 72 75 65 29 29 20 3a 20 $option->getDefault(),.true)).:.
11a960 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3f 20 61 72 72 61 79 28 24 ($option->getDefault().?.array($
11a980 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 29 20 3a 20 61 72 72 61 79 28 29 29 option->getDefault()).:.array())
11a9a0 29 3b 0a 24 6f 62 6a 65 63 74 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c 64 28 24 64 65 66 61 );.$objectXML->appendChild($defa
11a9c0 75 6c 74 73 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d 65 6e 74 28 27 64 ultsXML.=.$dom->createElement('d
11a9e0 65 66 61 75 6c 74 73 27 29 29 3b 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 64 65 66 61 75 6c 74 efaults'));..if.(!empty($default
11aa00 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 61 75 6c 74 73 20 61 73 20 24 64 65 66 s)).{.foreach.($defaults.as.$def
11aa20 61 75 6c 74 29 20 7b 0a 24 64 65 66 61 75 6c 74 73 58 4d 4c 2d 3e 61 70 70 65 6e 64 43 68 69 6c ault).{.$defaultsXML->appendChil
11aa40 64 28 24 64 65 66 61 75 6c 74 58 4d 4c 20 3d 20 24 64 6f 6d 2d 3e 63 72 65 61 74 65 45 6c 65 6d d($defaultXML.=.$dom->createElem
11aa60 65 6e 74 28 27 64 65 66 61 75 6c 74 27 29 29 3b 0a 24 64 65 66 61 75 6c 74 58 4d 4c 2d 3e 61 70 ent('default'));.$defaultXML->ap
11aa80 70 65 6e 64 43 68 69 6c 64 28 24 64 6f 6d 2d 3e 63 72 65 61 74 65 54 65 78 74 4e 6f 64 65 28 24 pendChild($dom->createTextNode($
11aaa0 64 65 66 61 75 6c 74 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 6f 6d 3b 0a 7d default));.}.}.}..return.$dom;.}
11aac0 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
11aae0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 3b 0a 0a 0a fony\Component\Console\Event;...
11ab00 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 43 6f 6d 6d 61 6e 64 45 76 65 6e 74 20 65 78 ....class.ConsoleCommandEvent.ex
11ab20 74 65 6e 64 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 63 6f 6e 73 74 20 52 45 tends.ConsoleEvent.{....const.RE
11ab40 54 55 52 4e 5f 43 4f 44 45 5f 44 49 53 41 42 4c 45 44 20 3d 20 31 31 33 3b 0a 0a 0a 0a 0a 70 72 TURN_CODE_DISABLED.=.113;.....pr
11ab60 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 53 68 6f 75 6c 64 52 75 6e 20 3d 20 74 72 75 65 3b 0a ivate.$commandShouldRun.=.true;.
11ab80 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 43 6f 6d ......public.function.disableCom
11aba0 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 53 68 mand().{.return.$this->commandSh
11abc0 6f 75 6c 64 52 75 6e 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ouldRun.=.false;.}.......public.
11abe0 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 72 65 74 75 72 function.enableCommand().{.retur
11ac00 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 53 68 6f 75 6c 64 52 75 6e 20 3d 20 74 72 75 65 n.$this->commandShouldRun.=.true
11ac20 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 6d 61 6e ;.}.......public.function.comman
11ac40 64 53 68 6f 75 6c 64 52 75 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d dShouldRun().{.return.$this->com
11ac60 6d 61 6e 64 53 68 6f 75 6c 64 52 75 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a mandShouldRun;.}.}.<?php........
11ac80 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 ...namespace.Symfony\Component\C
11aca0 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f onsole\Event;..use.Symfony\Compo
11acc0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 nent\Console\Command\Command;.us
11ace0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
11ad00 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f t\InputInterface;.use.Symfony\Co
11ad20 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 mponent\Console\Output\OutputInt
11ad40 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 45 76 erface;.use.Symfony\Component\Ev
11ad60 65 6e 74 44 69 73 70 61 74 63 68 65 72 5c 45 76 65 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 entDispatcher\Event;.......class
11ad80 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 45 76 65 6e 74 0a 7b 0a 70 72 .ConsoleEvent.extends.Event.{.pr
11ada0 6f 74 65 63 74 65 64 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 otected.$command;..private.$inpu
11adc0 74 3b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 t;.private.$output;..public.func
11ade0 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e tion.__construct(Command.$comman
11ae00 64 2c 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 d,.InputInterface.$input,.Output
11ae20 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d Interface.$output).{.$this->comm
11ae40 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 and.=.$command;.$this->input.=.$
11ae60 69 6e 70 75 74 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a input;.$this->output.=.$output;.
11ae80 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 }.......public.function.getComma
11aea0 6e 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a nd().{.return.$this->command;.}.
11aec0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 28 29 ......public.function.getInput()
11aee0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a .{.return.$this->input;.}.......
11af00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 public.function.getOutput().{.re
11af20 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a turn.$this->output;.}.}.<?php...
11af40 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ........namespace.Symfony\Compon
11af60 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 65 6e 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c ent\Console\Event;..use.Symfony\
11af80 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e Component\Console\Command\Comman
11afa0 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 d;.use.Symfony\Component\Console
11afc0 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f \Input\InputInterface;.use.Symfo
11afe0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 ny\Component\Console\Output\Outp
11b000 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 utInterface;.......class.Console
11b020 45 78 63 65 70 74 69 6f 6e 45 76 65 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c 65 45 76 ExceptionEvent.extends.ConsoleEv
11b040 65 6e 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 70 72 69 76 61 74 ent.{.private.$exception;.privat
11b060 65 20 24 65 78 69 74 43 6f 64 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f e.$exitCode;..public.function.__
11b080 63 6f 6e 73 74 72 75 63 74 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 49 6e 70 75 construct(Command.$command,.Inpu
11b0a0 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 tInterface.$input,.OutputInterfa
11b0c0 63 65 20 24 6f 75 74 70 75 74 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f ce.$output,.\Exception.$exceptio
11b0e0 6e 2c 20 24 65 78 69 74 43 6f 64 65 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 n,.$exitCode).{.parent::__constr
11b100 75 63 74 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 6e 70 75 74 2c 20 24 6f 75 74 70 75 74 29 3b 0a uct($command,.$input,.$output);.
11b120 0a 24 74 68 69 73 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 28 24 65 78 63 65 70 74 69 6f 6e 29 .$this->setException($exception)
11b140 3b 0a 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 20 3d 20 28 69 6e 74 29 20 24 65 78 69 74 43 ;.$this->exitCode.=.(int).$exitC
11b160 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ode;.}.......public.function.get
11b180 45 78 63 65 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 63 65 Exception().{.return.$this->exce
11b1a0 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ption;.}.........public.function
11b1c0 20 73 65 74 45 78 63 65 70 74 69 6f 6e 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 .setException(\Exception.$except
11b1e0 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 20 3d 20 24 65 78 63 65 70 ion).{.$this->exception.=.$excep
11b200 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 tion;.}.......public.function.ge
11b220 74 45 78 69 74 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 tExitCode().{.return.$this->exit
11b240 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 Code;.}.}.<?php...........namesp
11b260 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 76 ace.Symfony\Component\Console\Ev
11b280 65 6e 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 ent;..use.Symfony\Component\Cons
11b2a0 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 ole\Command\Command;.use.Symfony
11b2c0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e \Component\Console\Input\InputIn
11b2e0 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 terface;.use.Symfony\Component\C
11b300 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a onsole\Output\OutputInterface;..
11b320 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 54 65 72 6d 69 6e 61 74 65 45 76 65 6e 74 .....class.ConsoleTerminateEvent
11b340 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 6f 6c 65 45 76 65 6e 74 0a 7b 0a 0a 0a 0a 0a 0a 70 72 69 .extends.ConsoleEvent.{......pri
11b360 76 61 74 65 20 24 65 78 69 74 43 6f 64 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e vate.$exitCode;..public.function
11b380 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 49 .__construct(Command.$command,.I
11b3a0 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 nputInterface.$input,.OutputInte
11b3c0 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 65 78 69 74 43 6f 64 65 29 0a 7b 0a 70 61 72 65 rface.$output,.$exitCode).{.pare
11b3e0 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 69 6e 70 75 74 nt::__construct($command,.$input
11b400 2c 20 24 6f 75 74 70 75 74 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 45 78 69 74 43 6f 64 65 28 ,.$output);..$this->setExitCode(
11b420 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 $exitCode);.}.......public.funct
11b440 69 6f 6e 20 73 65 74 45 78 69 74 43 6f 64 65 28 24 65 78 69 74 43 6f 64 65 29 0a 7b 0a 24 74 68 ion.setExitCode($exitCode).{.$th
11b460 69 73 2d 3e 65 78 69 74 43 6f 64 65 20 3d 20 28 69 6e 74 29 20 24 65 78 69 74 43 6f 64 65 3b 0a is->exitCode.=.(int).$exitCode;.
11b480 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 69 74 43 }.......public.function.getExitC
11b4a0 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 43 6f 64 65 3b 0a ode().{.return.$this->exitCode;.
11b4c0 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 }.}.<?php...........namespace.Sy
11b4e0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f mfony\Component\Console\Exceptio
11b500 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 4e 6f 74 46 6f 75 6e 64 45 78 n;.......class.CommandNotFoundEx
11b520 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 ception.extends.\InvalidArgument
11b540 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e Exception.implements.ExceptionIn
11b560 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 6c 74 65 72 6e 61 74 69 76 65 73 3b terface.{.private.$alternatives;
11b580 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 ........public.function.__constr
11b5a0 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 61 6c 74 65 72 6e 61 74 69 76 65 uct($message,.array.$alternative
11b5c0 73 20 3d 20 61 72 72 61 79 28 29 2c 20 24 63 6f 64 65 20 3d 20 30 2c 20 5c 45 78 63 65 70 74 69 s.=.array(),.$code.=.0,.\Excepti
11b5e0 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f on.$previous.=.null).{.parent::_
11b600 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 70 72 65 _construct($message,.$code,.$pre
11b620 76 69 6f 75 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 6c 74 65 72 6e 61 74 69 76 65 73 20 3d 20 24 vious);..$this->alternatives.=.$
11b640 61 6c 74 65 72 6e 61 74 69 76 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 alternatives;.}.....public.funct
11b660 69 6f 6e 20 67 65 74 41 6c 74 65 72 6e 61 74 69 76 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 ion.getAlternatives().{.return.$
11b680 74 68 69 73 2d 3e 61 6c 74 65 72 6e 61 74 69 76 65 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a this->alternatives;.}.}.<?php...
11b6a0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ........namespace.Symfony\Compon
11b6c0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 ent\Console\Exception;.......int
11b6e0 65 72 66 61 63 65 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f erface.ExceptionInterface.{.}.<?
11b700 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
11b720 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a Component\Console\Exception;....
11b740 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 .class.InvalidArgumentException.
11b760 65 78 74 65 6e 64 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f extends.\InvalidArgumentExceptio
11b780 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a n.implements.ExceptionInterface.
11b7a0 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 {.}.<?php...........namespace.Sy
11b7c0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f mfony\Component\Console\Exceptio
11b7e0 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 n;.......class.InvalidOptionExce
11b800 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 ption.extends.\InvalidArgumentEx
11b820 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 ception.implements.ExceptionInte
11b840 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 rface.{.}.<?php...........namesp
11b860 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 ace.Symfony\Component\Console\Ex
11b880 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f ception;.....class.LogicExceptio
11b8a0 6e 20 65 78 74 65 6e 64 73 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d n.extends.\LogicException.implem
11b8c0 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 ents.ExceptionInterface.{.}.<?ph
11b8e0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f p...........namespace.Symfony\Co
11b900 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 mponent\Console\Exception;.....c
11b920 6c 61 73 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 lass.RuntimeException.extends.\R
11b940 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 untimeException.implements.Excep
11b960 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a tionInterface.{.}.<?php.........
11b980 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f ..namespace.Symfony\Component\Co
11b9a0 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f nsole\Formatter;..use.Symfony\Co
11b9c0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 mponent\Console\Exception\Invali
11b9e0 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 dArgumentException;.......class.
11ba00 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4f 75 74 70 75 OutputFormatter.implements.Outpu
11ba20 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 tFormatterInterface.{.private.$d
11ba40 65 63 6f 72 61 74 65 64 3b 0a 70 72 69 76 61 74 65 20 24 73 74 79 6c 65 73 20 3d 20 61 72 72 61 ecorated;.private.$styles.=.arra
11ba60 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 73 74 79 6c 65 53 74 61 63 6b 3b 0a 0a 0a 0a 0a 0a 0a y();.private.$styleStack;.......
11ba80 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 28 ..public.static.function.escape(
11baa0 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f $text).{.$text.=.preg_replace('/
11bac0 28 5b 5e 5c 5c 5c 5c 5d 3f 29 3c 2f 27 2c 20 27 24 31 5c 5c 3c 27 2c 20 24 74 65 78 74 29 3b 0a ([^\\\\]?)</',.'$1\\<',.$text);.
11bae0 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 65 73 63 61 70 65 54 72 61 69 6c 69 6e 67 42 61 63 6b .return.self::escapeTrailingBack
11bb00 73 6c 61 73 68 28 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 slash($text);.}...........public
11bb20 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 54 72 61 69 6c 69 6e 67 42 .static.function.escapeTrailingB
11bb40 61 63 6b 73 6c 61 73 68 28 24 74 65 78 74 29 0a 7b 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 73 ackslash($text).{.if.('\\'.===.s
11bb60 75 62 73 74 72 28 24 74 65 78 74 2c 20 2d 31 29 29 20 7b 0a 24 6c 65 6e 20 3d 20 5c 73 74 72 6c ubstr($text,.-1)).{.$len.=.\strl
11bb80 65 6e 28 24 74 65 78 74 29 3b 0a 24 74 65 78 74 20 3d 20 72 74 72 69 6d 28 24 74 65 78 74 2c 20 en($text);.$text.=.rtrim($text,.
11bba0 27 5c 5c 27 29 3b 0a 24 74 65 78 74 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 30 22 2c '\\');.$text.=.str_replace("\0",
11bbc0 20 27 27 2c 20 24 74 65 78 74 29 3b 0a 24 74 65 78 74 20 2e 3d 20 73 74 72 5f 72 65 70 65 61 74 .'',.$text);.$text..=.str_repeat
11bbe0 28 22 5c 30 22 2c 20 24 6c 65 6e 20 2d 20 5c 73 74 72 6c 65 6e 28 24 74 65 78 74 29 29 3b 0a 7d ("\0",.$len.-.\strlen($text));.}
11bc00 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ..return.$text;.}........public.
11bc20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 64 65 63 6f 72 61 74 65 64 20 function.__construct($decorated.
11bc40 3d 20 66 61 6c 73 65 2c 20 61 72 72 61 79 20 24 73 74 79 6c 65 73 20 3d 20 61 72 72 61 79 28 29 =.false,.array.$styles.=.array()
11bc60 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 64 20 3d 20 28 62 6f 6f 6c 29 20 24 64 ).{.$this->decorated.=.(bool).$d
11bc80 65 63 6f 72 61 74 65 64 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 65 72 72 6f ecorated;..$this->setStyle('erro
11bca0 72 27 2c 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 77 68 r',.new.OutputFormatterStyle('wh
11bcc0 69 74 65 27 2c 20 27 72 65 64 27 29 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 ite',.'red'));.$this->setStyle('
11bce0 69 6e 66 6f 27 2c 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 info',.new.OutputFormatterStyle(
11bd00 27 67 72 65 65 6e 27 29 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 63 6f 6d 6d 'green'));.$this->setStyle('comm
11bd20 65 6e 74 27 2c 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 ent',.new.OutputFormatterStyle('
11bd40 79 65 6c 6c 6f 77 27 29 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 71 75 65 73 yellow'));.$this->setStyle('ques
11bd60 74 69 6f 6e 27 2c 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 tion',.new.OutputFormatterStyle(
11bd80 27 62 6c 61 63 6b 27 2c 20 27 63 79 61 6e 27 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 74 'black',.'cyan'));..foreach.($st
11bda0 79 6c 65 73 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 73 74 79 6c 65 29 20 7b 0a 24 74 68 69 73 yles.as.$name.=>.$style).{.$this
11bdc0 2d 3e 73 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 2c 20 24 73 74 79 6c 65 29 3b 0a 7d 0a 0a 24 74 ->setStyle($name,.$style);.}..$t
11bde0 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 20 3d 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d his->styleStack.=.new.OutputForm
11be00 61 74 74 65 72 53 74 79 6c 65 53 74 61 63 6b 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 atterStyleStack();.}.....public.
11be20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 function.setDecorated($decorated
11be40 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 64 20 3d 20 28 62 6f 6f 6c 29 20 24 64 ).{.$this->decorated.=.(bool).$d
11be60 65 63 6f 72 61 74 65 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ecorated;.}.....public.function.
11be80 69 73 44 65 63 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 isDecorated().{.return.$this->de
11bea0 63 6f 72 61 74 65 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 corated;.}.....public.function.s
11bec0 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 etStyle($name,.OutputFormatterSt
11bee0 79 6c 65 49 6e 74 65 72 66 61 63 65 20 24 73 74 79 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 yleInterface.$style).{.$this->st
11bf00 79 6c 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 20 3d 20 24 73 74 79 6c 65 yles[strtolower($name)].=.$style
11bf20 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 79 6c 65 ;.}.....public.function.hasStyle
11bf40 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 ($name).{.return.isset($this->st
11bf60 79 6c 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 29 3b 0a 7d 0a 0a 0a 0a 0a yles[strtolower($name)]);.}.....
11bf80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 29 0a public.function.getStyle($name).
11bfa0 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 53 74 79 6c 65 28 24 6e 61 6d 65 29 29 20 7b {.if.(!$this->hasStyle($name)).{
11bfc0 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 .throw.new.InvalidArgumentExcept
11bfe0 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 64 65 66 69 6e 65 64 20 73 74 79 6c 65 3a 20 25 73 ion(sprintf('Undefined.style:.%s
11c000 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 79 ',.$name));.}..return.$this->sty
11c020 6c 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 les[strtolower($name)];.}.....pu
11c040 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 29 0a 7b blic.function.format($message).{
11c060 0a 24 6d 65 73 73 61 67 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6d 65 73 73 61 67 65 3b 0a 24 .$message.=.(string).$message;.$
11c080 6f 66 66 73 65 74 20 3d 20 30 3b 0a 24 6f 75 74 70 75 74 20 3d 20 27 27 3b 0a 24 74 61 67 52 65 offset.=.0;.$output.=.'';.$tagRe
11c0a0 67 65 78 20 3d 20 27 5b 61 2d 7a 5d 5b 61 2d 7a 30 2d 39 5f 3d 3b 2d 5d 2a 2b 27 3b 0a 70 72 65 gex.=.'[a-z][a-z0-9_=;-]*+';.pre
11c0c0 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 22 23 3c 28 28 24 74 61 67 52 65 67 65 78 29 20 7c 20 2f 28 g_match_all("#<(($tagRegex).|./(
11c0e0 24 74 61 67 52 65 67 65 78 29 3f 29 3e 23 69 78 22 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 6d 61 $tagRegex)?)>#ix",.$message,.$ma
11c100 74 63 68 65 73 2c 20 50 52 45 47 5f 4f 46 46 53 45 54 5f 43 41 50 54 55 52 45 29 3b 0a 66 6f 72 tches,.PREG_OFFSET_CAPTURE);.for
11c120 65 61 63 68 20 28 24 6d 61 74 63 68 65 73 5b 30 5d 20 61 73 20 24 69 20 3d 3e 20 24 6d 61 74 63 each.($matches[0].as.$i.=>.$matc
11c140 68 29 20 7b 0a 24 70 6f 73 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 24 74 65 78 74 20 3d 20 24 h).{.$pos.=.$match[1];.$text.=.$
11c160 6d 61 74 63 68 5b 30 5d 3b 0a 0a 69 66 20 28 30 20 21 3d 20 24 70 6f 73 20 26 26 20 27 5c 5c 27 match[0];..if.(0.!=.$pos.&&.'\\'
11c180 20 3d 3d 20 24 6d 65 73 73 61 67 65 5b 24 70 6f 73 20 2d 20 31 5d 29 20 7b 0a 63 6f 6e 74 69 6e .==.$message[$pos.-.1]).{.contin
11c1a0 75 65 3b 0a 7d 0a 0a 0a 20 24 6f 75 74 70 75 74 20 2e 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 79 ue;.}....$output..=.$this->apply
11c1c0 43 75 72 72 65 6e 74 53 74 79 6c 65 28 73 75 62 73 74 72 28 24 6d 65 73 73 61 67 65 2c 20 24 6f CurrentStyle(substr($message,.$o
11c1e0 66 66 73 65 74 2c 20 24 70 6f 73 20 2d 20 24 6f 66 66 73 65 74 29 29 3b 0a 24 6f 66 66 73 65 74 ffset,.$pos.-.$offset));.$offset
11c200 20 3d 20 24 70 6f 73 20 2b 20 5c 73 74 72 6c 65 6e 28 24 74 65 78 74 29 3b 0a 0a 0a 20 69 66 20 .=.$pos.+.\strlen($text);....if.
11c220 28 24 6f 70 65 6e 20 3d 20 27 2f 27 20 21 3d 20 24 74 65 78 74 5b 31 5d 29 20 7b 0a 24 74 61 67 ($open.=.'/'.!=.$text[1]).{.$tag
11c240 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 5b 24 69 5d 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a .=.$matches[1][$i][0];.}.else.{.
11c260 24 74 61 67 20 3d 20 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 33 5d 5b 24 69 5d 5b 30 5d 29 $tag.=.isset($matches[3][$i][0])
11c280 20 3f 20 24 6d 61 74 63 68 65 73 5b 33 5d 5b 24 69 5d 5b 30 5d 20 3a 20 27 27 3b 0a 7d 0a 0a 69 .?.$matches[3][$i][0].:.'';.}..i
11c2a0 66 20 28 21 24 6f 70 65 6e 20 26 26 20 21 24 74 61 67 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 73 f.(!$open.&&.!$tag).{...$this->s
11c2c0 74 79 6c 65 53 74 61 63 6b 2d 3e 70 6f 70 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 tyleStack->pop();.}.elseif.(fals
11c2e0 65 20 3d 3d 3d 20 24 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 53 74 79 6c e.===.$style.=.$this->createStyl
11c300 65 46 72 6f 6d 53 74 72 69 6e 67 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 74 61 67 29 29 29 20 7b eFromString(strtolower($tag))).{
11c320 0a 24 6f 75 74 70 75 74 20 2e 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 79 43 75 72 72 65 6e 74 53 .$output..=.$this->applyCurrentS
11c340 74 79 6c 65 28 24 74 65 78 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6f 70 65 6e 29 20 7b 0a tyle($text);.}.elseif.($open).{.
11c360 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 2d 3e 70 75 73 68 28 24 73 74 79 6c 65 29 3b $this->styleStack->push($style);
11c380 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 2d 3e 70 6f 70 .}.else.{.$this->styleStack->pop
11c3a0 28 24 73 74 79 6c 65 29 3b 0a 7d 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 2e 3d 20 24 74 68 69 73 2d ($style);.}.}..$output..=.$this-
11c3c0 3e 61 70 70 6c 79 43 75 72 72 65 6e 74 53 74 79 6c 65 28 73 75 62 73 74 72 28 24 6d 65 73 73 61 >applyCurrentStyle(substr($messa
11c3e0 67 65 2c 20 24 6f 66 66 73 65 74 29 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 ge,.$offset));..if.(false.!==.st
11c400 72 70 6f 73 28 24 6f 75 74 70 75 74 2c 20 22 5c 30 22 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 rpos($output,."\0")).{.return.st
11c420 72 74 72 28 24 6f 75 74 70 75 74 2c 20 61 72 72 61 79 28 22 5c 30 22 20 3d 3e 20 27 5c 5c 27 2c rtr($output,.array("\0".=>.'\\',
11c440 20 27 5c 5c 3c 27 20 3d 3e 20 27 3c 27 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 .'\\<'.=>.'<'));.}..return.str_r
11c460 65 70 6c 61 63 65 28 27 5c 5c 3c 27 2c 20 27 3c 27 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a eplace('\\<',.'<',.$output);.}..
11c480 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 53 74 61 63 6b ...public.function.getStyleStack
11c4a0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 3b 0a 7d ().{.return.$this->styleStack;.}
11c4c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 .........private.function.create
11c4e0 53 74 79 6c 65 46 72 6f 6d 53 74 72 69 6e 67 28 24 73 74 72 69 6e 67 29 0a 7b 0a 69 66 20 28 69 StyleFromString($string).{.if.(i
11c500 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 24 73 74 72 69 6e 67 5d 29 29 20 7b 0a sset($this->styles[$string])).{.
11c520 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 24 73 74 72 69 6e 67 5d 3b 0a 7d return.$this->styles[$string];.}
11c540 0a 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 2f 28 5b 5e 3d 5d 2b 29 3d ..if.(!preg_match_all('/([^=]+)=
11c560 28 5b 5e 3b 5d 2b 29 28 3b 7c 24 29 2f 27 2c 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 74 72 69 ([^;]+)(;|$)/',.strtolower($stri
11c580 6e 67 29 2c 20 24 6d 61 74 63 68 65 73 2c 20 50 52 45 47 5f 53 45 54 5f 4f 52 44 45 52 29 29 20 ng),.$matches,.PREG_SET_ORDER)).
11c5a0 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 73 74 79 6c 65 20 3d 20 6e 65 77 20 {.return.false;.}..$style.=.new.
11c5c0 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 29 3b 0a 66 6f 72 65 61 63 68 20 OutputFormatterStyle();.foreach.
11c5e0 28 24 6d 61 74 63 68 65 73 20 61 73 20 24 6d 61 74 63 68 29 20 7b 0a 61 72 72 61 79 5f 73 68 69 ($matches.as.$match).{.array_shi
11c600 66 74 28 24 6d 61 74 63 68 29 3b 0a 0a 69 66 20 28 27 66 67 27 20 3d 3d 20 24 6d 61 74 63 68 5b ft($match);..if.('fg'.==.$match[
11c620 30 5d 29 20 7b 0a 24 73 74 79 6c 65 2d 3e 73 65 74 46 6f 72 65 67 72 6f 75 6e 64 28 24 6d 61 74 0]).{.$style->setForeground($mat
11c640 63 68 5b 31 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 62 67 27 20 3d 3d 20 24 6d 61 74 63 68 ch[1]);.}.elseif.('bg'.==.$match
11c660 5b 30 5d 29 20 7b 0a 24 73 74 79 6c 65 2d 3e 73 65 74 42 61 63 6b 67 72 6f 75 6e 64 28 24 6d 61 [0]).{.$style->setBackground($ma
11c680 74 63 68 5b 31 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 72 79 20 7b 0a 24 73 74 79 6c 65 2d 3e tch[1]);.}.else.{.try.{.$style->
11c6a0 73 65 74 4f 70 74 69 6f 6e 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c setOption($match[1]);.}.catch.(\
11c6c0 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 72 InvalidArgumentException.$e).{.r
11c6e0 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 74 79 6c eturn.false;.}.}.}..return.$styl
11c700 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 70 e;.}.........private.function.ap
11c720 70 6c 79 43 75 72 72 65 6e 74 53 74 79 6c 65 28 24 74 65 78 74 29 0a 7b 0a 72 65 74 75 72 6e 20 plyCurrentStyle($text).{.return.
11c740 24 74 68 69 73 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 26 26 20 5c 73 74 72 6c 65 6e 28 $this->isDecorated().&&.\strlen(
11c760 24 74 65 78 74 29 20 3e 20 30 20 3f 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 53 74 61 63 6b 2d 3e $text).>.0.?.$this->styleStack->
11c780 67 65 74 43 75 72 72 65 6e 74 28 29 2d 3e 61 70 70 6c 79 28 24 74 65 78 74 29 20 3a 20 24 74 65 getCurrent()->apply($text).:.$te
11c7a0 78 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 xt;.}.}.<?php...........namespac
11c7c0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d e.Symfony\Component\Console\Form
11c7e0 61 74 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4f 75 74 70 75 74 46 6f 72 atter;.......interface.OutputFor
11c800 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 matterInterface.{......public.fu
11c820 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b nction.setDecorated($decorated);
11c840 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 .......public.function.isDecorat
11c860 65 64 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 ed();........public.function.set
11c880 53 74 79 6c 65 28 24 6e 61 6d 65 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c Style($name,.OutputFormatterStyl
11c8a0 65 49 6e 74 65 72 66 61 63 65 20 24 73 74 79 6c 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c eInterface.$style);.........publ
11c8c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 79 6c 65 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a ic.function.hasStyle($name);....
11c8e0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 28 .......public.function.getStyle(
11c900 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 $name);.........public.function.
11c920 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a format($message);.}.<?php.......
11c940 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
11c960 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c Console\Formatter;..use.Symfony\
11c980 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 Component\Console\Exception\Inva
11c9a0 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 lidArgumentException;.......clas
11c9c0 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 s.OutputFormatterStyle.implement
11c9e0 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 0a s.OutputFormatterStyleInterface.
11ca00 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 67 {.private.static.$availableForeg
11ca20 72 6f 75 6e 64 43 6f 6c 6f 72 73 20 3d 20 61 72 72 61 79 28 0a 27 62 6c 61 63 6b 27 20 3d 3e 20 roundColors.=.array(.'black'.=>.
11ca40 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 30 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 array('set'.=>.30,.'unset'.=>.39
11ca60 29 2c 0a 27 72 65 64 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 31 2c 20 27 ),.'red'.=>.array('set'.=>.31,.'
11ca80 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 67 72 65 65 6e 27 20 3d 3e 20 61 72 72 61 79 28 unset'.=>.39),.'green'.=>.array(
11caa0 27 73 65 74 27 20 3d 3e 20 33 32 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 79 65 'set'.=>.32,.'unset'.=>.39),.'ye
11cac0 6c 6c 6f 77 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 33 2c 20 27 75 6e 73 llow'.=>.array('set'.=>.33,.'uns
11cae0 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 62 6c 75 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 et'.=>.39),.'blue'.=>.array('set
11cb00 27 20 3d 3e 20 33 34 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 6d 61 67 65 6e 74 '.=>.34,.'unset'.=>.39),.'magent
11cb20 61 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 35 2c 20 27 75 6e 73 65 74 27 a'.=>.array('set'.=>.35,.'unset'
11cb40 20 3d 3e 20 33 39 29 2c 0a 27 63 79 61 6e 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d .=>.39),.'cyan'.=>.array('set'.=
11cb60 3e 20 33 36 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 27 77 68 69 74 65 27 20 3d 3e >.36,.'unset'.=>.39),.'white'.=>
11cb80 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 33 37 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 .array('set'.=>.37,.'unset'.=>.3
11cba0 39 29 2c 0a 27 64 65 66 61 75 6c 74 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 9),.'default'.=>.array('set'.=>.
11cbc0 33 39 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 33 39 29 2c 0a 29 3b 0a 70 72 69 76 61 74 65 20 73 39,.'unset'.=>.39),.);.private.s
11cbe0 74 61 74 69 63 20 24 61 76 61 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 tatic.$availableBackgroundColors
11cc00 20 3d 20 61 72 72 61 79 28 0a 27 62 6c 61 63 6b 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 .=.array(.'black'.=>.array('set'
11cc20 20 3d 3e 20 34 30 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 72 65 64 27 20 3d 3e .=>.40,.'unset'.=>.49),.'red'.=>
11cc40 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 31 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 .array('set'.=>.41,.'unset'.=>.4
11cc60 39 29 2c 0a 27 67 72 65 65 6e 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 32 9),.'green'.=>.array('set'.=>.42
11cc80 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 79 65 6c 6c 6f 77 27 20 3d 3e 20 61 72 ,.'unset'.=>.49),.'yellow'.=>.ar
11cca0 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 33 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c ray('set'.=>.43,.'unset'.=>.49),
11ccc0 0a 27 62 6c 75 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 34 2c 20 27 75 .'blue'.=>.array('set'.=>.44,.'u
11cce0 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 6d 61 67 65 6e 74 61 27 20 3d 3e 20 61 72 72 61 79 nset'.=>.49),.'magenta'.=>.array
11cd00 28 27 73 65 74 27 20 3d 3e 20 34 35 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 63 ('set'.=>.45,.'unset'.=>.49),.'c
11cd20 79 61 6e 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 36 2c 20 27 75 6e 73 65 yan'.=>.array('set'.=>.46,.'unse
11cd40 74 27 20 3d 3e 20 34 39 29 2c 0a 27 77 68 69 74 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 t'.=>.49),.'white'.=>.array('set
11cd60 27 20 3d 3e 20 34 37 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 34 39 29 2c 0a 27 64 65 66 61 75 6c '.=>.47,.'unset'.=>.49),.'defaul
11cd80 74 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 34 39 2c 20 27 75 6e 73 65 74 27 t'.=>.array('set'.=>.49,.'unset'
11cda0 20 3d 3e 20 34 39 29 2c 0a 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 61 76 61 69 .=>.49),.);.private.static.$avai
11cdc0 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 27 62 6f 6c 64 27 20 3d 3e 20 lableOptions.=.array(.'bold'.=>.
11cde0 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 31 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 32 29 array('set'.=>.1,.'unset'.=>.22)
11ce00 2c 0a 27 75 6e 64 65 72 73 63 6f 72 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e ,.'underscore'.=>.array('set'.=>
11ce20 20 34 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 34 29 2c 0a 27 62 6c 69 6e 6b 27 20 3d 3e 20 61 .4,.'unset'.=>.24),.'blink'.=>.a
11ce40 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 35 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 35 29 2c rray('set'.=>.5,.'unset'.=>.25),
11ce60 0a 27 72 65 76 65 72 73 65 27 20 3d 3e 20 61 72 72 61 79 28 27 73 65 74 27 20 3d 3e 20 37 2c 20 .'reverse'.=>.array('set'.=>.7,.
11ce80 27 75 6e 73 65 74 27 20 3d 3e 20 32 37 29 2c 0a 27 63 6f 6e 63 65 61 6c 27 20 3d 3e 20 61 72 72 'unset'.=>.27),.'conceal'.=>.arr
11cea0 61 79 28 27 73 65 74 27 20 3d 3e 20 38 2c 20 27 75 6e 73 65 74 27 20 3d 3e 20 32 38 29 2c 0a 29 ay('set'.=>.8,.'unset'.=>.28),.)
11cec0 3b 0a 0a 70 72 69 76 61 74 65 20 24 66 6f 72 65 67 72 6f 75 6e 64 3b 0a 70 72 69 76 61 74 65 20 ;..private.$foreground;.private.
11cee0 24 62 61 63 6b 67 72 6f 75 6e 64 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 20 3d 20 $background;.private.$options.=.
11cf00 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e array();.........public.function
11cf20 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 66 6f 72 65 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c 2c .__construct($foreground.=.null,
11cf40 20 24 62 61 63 6b 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 6f 70 74 69 .$background.=.null,.array.$opti
11cf60 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 66 ons.=.array()).{.if.(null.!==.$f
11cf80 6f 72 65 67 72 6f 75 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 46 6f 72 65 67 72 6f 75 6e oreground).{.$this->setForegroun
11cfa0 64 28 24 66 6f 72 65 67 72 6f 75 6e 64 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 d($foreground);.}.if.(null.!==.$
11cfc0 62 61 63 6b 67 72 6f 75 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 42 61 63 6b 67 72 6f 75 background).{.$this->setBackgrou
11cfe0 6e 64 28 24 62 61 63 6b 67 72 6f 75 6e 64 29 3b 0a 7d 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 6f nd($background);.}.if.(\count($o
11d000 70 74 69 6f 6e 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 4f 70 74 69 6f 6e 73 28 24 6f 70 ptions)).{.$this->setOptions($op
11d020 74 69 6f 6e 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 tions);.}.}.........public.funct
11d040 69 6f 6e 20 73 65 74 46 6f 72 65 67 72 6f 75 6e 64 28 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c 6c 29 ion.setForeground($color.=.null)
11d060 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6c 6f 72 29 20 7b 0a 24 74 68 69 73 2d .{.if.(null.===.$color).{.$this-
11d080 3e 66 6f 72 65 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a >foreground.=.null;..return;.}..
11d0a0 69 66 20 28 21 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 if.(!isset(static::$availableFor
11d0c0 65 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 5d 29 29 20 7b 0a 74 68 72 6f 77 20 egroundColors[$color])).{.throw.
11d0e0 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 new.InvalidArgumentException(spr
11d100 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 73 intf('Invalid.foreground.color.s
11d120 70 65 63 69 66 69 65 64 3a 20 22 25 73 22 2e 20 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 20 pecified:."%s"..Expected.one.of.
11d140 28 25 73 29 27 2c 20 24 63 6f 6c 6f 72 2c 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 (%s)',.$color,.implode(',.',.arr
11d160 61 79 5f 6b 65 79 73 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 67 72 ay_keys(static::$availableForegr
11d180 6f 75 6e 64 43 6f 6c 6f 72 73 29 29 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 6f 72 65 67 72 oundColors))));.}..$this->foregr
11d1a0 6f 75 6e 64 20 3d 20 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 46 6f 72 65 67 72 6f ound.=.static::$availableForegro
11d1c0 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 undColors[$color];.}.........pub
11d1e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 61 63 6b 67 72 6f 75 6e 64 28 24 63 6f 6c 6f lic.function.setBackground($colo
11d200 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 63 6f 6c 6f 72 29 r.=.null).{.if.(null.===.$color)
11d220 20 7b 0a 24 74 68 69 73 2d 3e 62 61 63 6b 67 72 6f 75 6e 64 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 .{.$this->background.=.null;..re
11d240 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 61 76 61 turn;.}..if.(!isset(static::$ava
11d260 69 6c 61 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 5d 29 29 ilableBackgroundColors[$color]))
11d280 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 .{.throw.new.InvalidArgumentExce
11d2a0 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 62 61 63 6b 67 72 6f 75 6e ption(sprintf('Invalid.backgroun
11d2c0 64 20 63 6f 6c 6f 72 20 73 70 65 63 69 66 69 65 64 3a 20 22 25 73 22 2e 20 45 78 70 65 63 74 65 d.color.specified:."%s"..Expecte
11d2e0 64 20 6f 6e 65 20 6f 66 20 28 25 73 29 27 2c 20 24 63 6f 6c 6f 72 2c 20 69 6d 70 6c 6f 64 65 28 d.one.of.(%s)',.$color,.implode(
11d300 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 ',.',.array_keys(static::$availa
11d320 62 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 29 29 29 29 3b 0a 7d 0a 0a 24 74 68 69 bleBackgroundColors))));.}..$thi
11d340 73 2d 3e 62 61 63 6b 67 72 6f 75 6e 64 20 3d 20 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 s->background.=.static::$availab
11d360 6c 65 42 61 63 6b 67 72 6f 75 6e 64 43 6f 6c 6f 72 73 5b 24 63 6f 6c 6f 72 5d 3b 0a 7d 0a 0a 0a leBackgroundColors[$color];.}...
11d380 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 28 ......public.function.setOption(
11d3a0 24 6f 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 74 61 74 69 63 3a 3a 24 61 $option).{.if.(!isset(static::$a
11d3c0 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 29 29 20 7b 0a 74 68 72 vailableOptions[$option])).{.thr
11d3e0 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 ow.new.InvalidArgumentException(
11d400 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 6f 70 74 69 6f 6e 20 73 70 65 63 69 66 69 65 sprintf('Invalid.option.specifie
11d420 64 3a 20 22 25 73 22 2e 20 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 20 28 25 73 29 27 2c 20 d:."%s"..Expected.one.of.(%s)',.
11d440 24 6f 70 74 69 6f 6e 2c 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 61 72 72 61 79 5f 6b 65 79 $option,.implode(',.',.array_key
11d460 73 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 29 29 29 29 3b s(static::$availableOptions))));
11d480 0a 7d 0a 0a 69 66 20 28 21 5c 69 6e 5f 61 72 72 61 79 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 .}..if.(!\in_array(static::$avai
11d4a0 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 2c 20 24 74 68 69 73 2d 3e 6f 70 lableOptions[$option],.$this->op
11d4c0 74 69 6f 6e 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 5d 20 3d 20 73 74 61 tions)).{.$this->options[].=.sta
11d4e0 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 5d 3b tic::$availableOptions[$option];
11d500 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 73 .}.}.........public.function.uns
11d520 65 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 etOption($option).{.if.(!isset(s
11d540 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e tatic::$availableOptions[$option
11d560 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 ])).{.throw.new.InvalidArgumentE
11d580 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 6f 70 74 69 6f 6e xception(sprintf('Invalid.option
11d5a0 20 73 70 65 63 69 66 69 65 64 3a 20 22 25 73 22 2e 20 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f .specified:."%s"..Expected.one.o
11d5c0 66 20 28 25 73 29 27 2c 20 24 6f 70 74 69 6f 6e 2c 20 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 f.(%s)',.$option,.implode(',.',.
11d5e0 61 72 72 61 79 5f 6b 65 79 73 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 array_keys(static::$availableOpt
11d600 69 6f 6e 73 29 29 29 29 3b 0a 7d 0a 0a 24 70 6f 73 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 ions))));.}..$pos.=.array_search
11d620 28 73 74 61 74 69 63 3a 3a 24 61 76 61 69 6c 61 62 6c 65 4f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 (static::$availableOptions[$opti
11d640 6f 6e 5d 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 on],.$this->options);.if.(false.
11d660 21 3d 3d 20 24 70 6f 73 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 !==.$pos).{.unset($this->options
11d680 5b 24 70 6f 73 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e [$pos]);.}.}.....public.function
11d6a0 20 73 65 74 4f 70 74 69 6f 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 .setOptions(array.$options).{.$t
11d6c0 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 his->options.=.array();..foreach
11d6e0 20 28 24 6f 70 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e .($options.as.$option).{.$this->
11d700 73 65 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a setOption($option);.}.}.........
11d720 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 79 28 24 74 65 78 74 29 0a 7b 0a 24 public.function.apply($text).{.$
11d740 73 65 74 43 6f 64 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 75 6e 73 65 74 43 6f 64 65 73 20 setCodes.=.array();.$unsetCodes.
11d760 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e =.array();..if.(null.!==.$this->
11d780 66 6f 72 65 67 72 6f 75 6e 64 29 20 7b 0a 24 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 74 68 69 foreground).{.$setCodes[].=.$thi
11d7a0 73 2d 3e 66 6f 72 65 67 72 6f 75 6e 64 5b 27 73 65 74 27 5d 3b 0a 24 75 6e 73 65 74 43 6f 64 65 s->foreground['set'];.$unsetCode
11d7c0 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 65 67 72 6f 75 6e 64 5b 27 75 6e 73 65 74 27 5d s[].=.$this->foreground['unset']
11d7e0 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 62 61 63 6b 67 72 6f 75 ;.}.if.(null.!==.$this->backgrou
11d800 6e 64 29 20 7b 0a 24 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 62 61 63 6b 67 nd).{.$setCodes[].=.$this->backg
11d820 72 6f 75 6e 64 5b 27 73 65 74 27 5d 3b 0a 24 75 6e 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 74 round['set'];.$unsetCodes[].=.$t
11d840 68 69 73 2d 3e 62 61 63 6b 67 72 6f 75 6e 64 5b 27 75 6e 73 65 74 27 5d 3b 0a 7d 0a 69 66 20 28 his->background['unset'];.}.if.(
11d860 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 29 20 7b 0a 66 6f 72 65 61 63 \count($this->options)).{.foreac
11d880 68 20 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a h.($this->options.as.$option).{.
11d8a0 24 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 6f 70 74 69 6f 6e 5b 27 73 65 74 27 5d 3b 0a 24 75 $setCodes[].=.$option['set'];.$u
11d8c0 6e 73 65 74 43 6f 64 65 73 5b 5d 20 3d 20 24 6f 70 74 69 6f 6e 5b 27 75 6e 73 65 74 27 5d 3b 0a nsetCodes[].=.$option['unset'];.
11d8e0 7d 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 73 65 74 43 6f 64 65 73 29 }.}..if.(0.===.\count($setCodes)
11d900 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 ).{.return.$text;.}..return.spri
11d920 6e 74 66 28 22 5c 30 33 33 5b 25 73 6d 25 73 5c 30 33 33 5b 25 73 6d 22 2c 20 69 6d 70 6c 6f 64 ntf("\033[%sm%s\033[%sm",.implod
11d940 65 28 27 3b 27 2c 20 24 73 65 74 43 6f 64 65 73 29 2c 20 24 74 65 78 74 2c 20 69 6d 70 6c 6f 64 e(';',.$setCodes),.$text,.implod
11d960 65 28 27 3b 27 2c 20 24 75 6e 73 65 74 43 6f 64 65 73 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a e(';',.$unsetCodes));.}.}.<?php.
11d980 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ..........namespace.Symfony\Comp
11d9a0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 69 onent\Console\Formatter;.......i
11d9c0 6e 74 65 72 66 61 63 65 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 nterface.OutputFormatterStyleInt
11d9e0 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 erface.{......public.function.se
11da00 74 46 6f 72 65 67 72 6f 75 6e 64 28 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a tForeground($color.=.null);.....
11da20 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 61 63 6b 67 72 6f 75 6e 64 28 ..public.function.setBackground(
11da40 24 63 6f 6c 6f 72 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $color.=.null);.......public.fun
11da60 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 3b 0a 0a 0a 0a 0a 0a 0a ction.setOption($option);.......
11da80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 73 65 74 4f 70 74 69 6f 6e 28 24 6f 70 74 public.function.unsetOption($opt
11daa0 69 6f 6e 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 ion);.....public.function.setOpt
11dac0 69 6f 6e 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ions(array.$options);.........pu
11dae0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 79 28 24 74 65 78 74 29 3b 0a 7d 0a 3c 3f blic.function.apply($text);.}.<?
11db00 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
11db20 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 3b 0a 0a 75 73 Component\Console\Formatter;..us
11db40 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 e.Symfony\Component\Console\Exce
11db60 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a ption\InvalidArgumentException;.
11db80 0a 0a 0a 0a 63 6c 61 73 73 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 53 74 ....class.OutputFormatterStyleSt
11dba0 61 63 6b 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 74 79 6c 65 73 3b 0a 0a 70 72 69 76 61 ack.{....private.$styles;..priva
11dbc0 74 65 20 24 65 6d 70 74 79 53 74 79 6c 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e te.$emptyStyle;..public.function
11dbe0 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c .__construct(OutputFormatterStyl
11dc00 65 49 6e 74 65 72 66 61 63 65 20 24 65 6d 70 74 79 53 74 79 6c 65 20 3d 20 6e 75 6c 6c 29 0a 7b eInterface.$emptyStyle.=.null).{
11dc20 0a 24 74 68 69 73 2d 3e 65 6d 70 74 79 53 74 79 6c 65 20 3d 20 24 65 6d 70 74 79 53 74 79 6c 65 .$this->emptyStyle.=.$emptyStyle
11dc40 20 3f 3a 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 29 3b 0a .?:.new.OutputFormatterStyle();.
11dc60 24 74 68 69 73 2d 3e 72 65 73 65 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $this->reset();.}.....public.fun
11dc80 63 74 69 6f 6e 20 72 65 73 65 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 20 3d 20 ction.reset().{.$this->styles.=.
11dca0 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 array();.}.....public.function.p
11dcc0 75 73 68 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 ush(OutputFormatterStyleInterfac
11dce0 65 20 24 73 74 79 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 5d 20 3d 20 24 73 e.$style).{.$this->styles[].=.$s
11dd00 74 79 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 tyle;.}.........public.function.
11dd20 70 6f 70 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 pop(OutputFormatterStyleInterfac
11dd40 65 20 24 73 74 79 6c 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 e.$style.=.null).{.if.(empty($th
11dd60 69 73 2d 3e 73 74 79 6c 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6d 70 is->styles)).{.return.$this->emp
11dd80 74 79 53 74 79 6c 65 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 73 74 79 6c 65 29 tyStyle;.}..if.(null.===.$style)
11dda0 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 70 6f 70 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 .{.return.array_pop($this->style
11ddc0 73 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 74 s);.}..foreach.(array_reverse($t
11dde0 68 69 73 2d 3e 73 74 79 6c 65 73 2c 20 74 72 75 65 29 20 61 73 20 24 69 6e 64 65 78 20 3d 3e 20 his->styles,.true).as.$index.=>.
11de00 24 73 74 61 63 6b 65 64 53 74 79 6c 65 29 20 7b 0a 69 66 20 28 24 73 74 79 6c 65 2d 3e 61 70 70 $stackedStyle).{.if.($style->app
11de20 6c 79 28 27 27 29 20 3d 3d 3d 20 24 73 74 61 63 6b 65 64 53 74 79 6c 65 2d 3e 61 70 70 6c 79 28 ly('').===.$stackedStyle->apply(
11de40 27 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 20 3d 20 5c 61 72 72 61 79 5f 73 6c '')).{.$this->styles.=.\array_sl
11de60 69 63 65 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 2c 20 30 2c 20 24 69 6e 64 65 78 29 3b 0a 0a ice($this->styles,.0,.$index);..
11de80 72 65 74 75 72 6e 20 24 73 74 61 63 6b 65 64 53 74 79 6c 65 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 return.$stackedStyle;.}.}..throw
11dea0 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 .new.InvalidArgumentException('I
11dec0 6e 63 6f 72 72 65 63 74 6c 79 20 6e 65 73 74 65 64 20 73 74 79 6c 65 20 74 61 67 20 66 6f 75 6e ncorrectly.nested.style.tag.foun
11dee0 64 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 d.');.}.......public.function.ge
11df00 74 43 75 72 72 65 6e 74 28 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 73 74 tCurrent().{.if.(empty($this->st
11df20 79 6c 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 53 74 79 6c yles)).{.return.$this->emptyStyl
11df40 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 5b 5c 63 6f 75 6e e;.}..return.$this->styles[\coun
11df60 74 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 73 29 20 2d 20 31 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 t($this->styles).-.1];.}.....pub
11df80 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6d 70 74 79 53 74 79 6c 65 28 4f 75 74 70 75 lic.function.setEmptyStyle(Outpu
11dfa0 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 20 24 65 6d 70 74 79 53 tFormatterStyleInterface.$emptyS
11dfc0 74 79 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 74 79 53 74 79 6c 65 20 3d 20 24 65 6d 70 tyle).{.$this->emptyStyle.=.$emp
11dfe0 74 79 53 74 79 6c 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 tyStyle;..return.$this;.}.....pu
11e000 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6d 70 74 79 53 74 79 6c 65 28 29 0a 7b 0a blic.function.getEmptyStyle().{.
11e020 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 53 74 79 6c 65 3b 0a 7d 0a 7d 0a 3c 3f return.$this->emptyStyle;.}.}.<?
11e040 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
11e060 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 0a 0a 0a 0a 0a Component\Console\Helper;.......
11e080 0a 0a 63 6c 61 73 73 20 44 65 62 75 67 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 65 72 20 65 78 74 ..class.DebugFormatterHelper.ext
11e0a0 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6c 6f 72 73 20 3d 20 ends.Helper.{.private.$colors.=.
11e0c0 61 72 72 61 79 28 27 62 6c 61 63 6b 27 2c 20 27 72 65 64 27 2c 20 27 67 72 65 65 6e 27 2c 20 27 array('black',.'red',.'green',.'
11e0e0 79 65 6c 6c 6f 77 27 2c 20 27 62 6c 75 65 27 2c 20 27 6d 61 67 65 6e 74 61 27 2c 20 27 63 79 61 yellow',.'blue',.'magenta',.'cya
11e100 6e 27 2c 20 27 77 68 69 74 65 27 2c 20 27 64 65 66 61 75 6c 74 27 29 3b 0a 70 72 69 76 61 74 65 n',.'white',.'default');.private
11e120 20 24 73 74 61 72 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 63 6f .$started.=.array();.private.$co
11e140 75 6e 74 20 3d 20 2d 31 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 unt.=.-1;...........public.funct
11e160 69 6f 6e 20 73 74 61 72 74 28 24 69 64 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 70 72 65 66 69 78 ion.start($id,.$message,.$prefix
11e180 20 3d 20 27 52 55 4e 27 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 20 .=.'RUN').{.$this->started[$id].
11e1a0 3d 20 61 72 72 61 79 28 27 62 6f 72 64 65 72 27 20 3d 3e 20 2b 2b 24 74 68 69 73 2d 3e 63 6f 75 =.array('border'.=>.++$this->cou
11e1c0 6e 74 20 25 20 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 29 29 3b 0a 0a 72 65 nt.%.\count($this->colors));..re
11e1e0 74 75 72 6e 20 73 70 72 69 6e 74 66 28 22 25 73 3c 62 67 3d 62 6c 75 65 3b 66 67 3d 77 68 69 74 turn.sprintf("%s<bg=blue;fg=whit
11e200 65 3e 20 25 73 20 3c 2f 3e 20 3c 66 67 3d 62 6c 75 65 3e 25 73 3c 2f 3e 5c 6e 22 2c 20 24 74 68 e>.%s.</>.<fg=blue>%s</>\n",.$th
11e220 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 70 72 65 66 69 78 2c 20 24 6d 65 is->getBorder($id),.$prefix,.$me
11e240 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ssage);.}.............public.fun
11e260 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 28 24 69 64 2c 20 24 62 75 66 66 65 72 2c 20 24 65 72 ction.progress($id,.$buffer,.$er
11e280 72 6f 72 20 3d 20 66 61 6c 73 65 2c 20 24 70 72 65 66 69 78 20 3d 20 27 4f 55 54 27 2c 20 24 65 ror.=.false,.$prefix.=.'OUT',.$e
11e2a0 72 72 6f 72 50 72 65 66 69 78 20 3d 20 27 45 52 52 27 29 0a 7b 0a 24 6d 65 73 73 61 67 65 20 3d rrorPrefix.=.'ERR').{.$message.=
11e2c0 20 27 27 3b 0a 0a 69 66 20 28 24 65 72 72 6f 72 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 .'';..if.($error).{.if.(isset($t
11e2e0 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 29 29 20 7b 0a 24 6d 65 his->started[$id]['out'])).{.$me
11e300 73 73 61 67 65 20 2e 3d 20 22 5c 6e 22 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 ssage..=."\n";.unset($this->star
11e320 74 65 64 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 29 3b 0a 7d 0a 69 66 20 28 21 69 73 73 65 74 28 24 ted[$id]['out']);.}.if.(!isset($
11e340 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 29 29 20 7b 0a 24 6d this->started[$id]['err'])).{.$m
11e360 65 73 73 61 67 65 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 25 73 3c 62 67 3d 72 65 64 3b 66 67 3d essage..=.sprintf('%s<bg=red;fg=
11e380 77 68 69 74 65 3e 20 25 73 20 3c 2f 3e 20 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 white>.%s.</>.',.$this->getBorde
11e3a0 72 28 24 69 64 29 2c 20 24 65 72 72 6f 72 50 72 65 66 69 78 29 3b 0a 24 74 68 69 73 2d 3e 73 74 r($id),.$errorPrefix);.$this->st
11e3c0 61 72 74 65 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 6d 65 arted[$id]['err'].=.true;.}..$me
11e3e0 73 73 61 67 65 20 2e 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 73 70 72 69 6e ssage..=.str_replace("\n",.sprin
11e400 74 66 28 22 5c 6e 25 73 3c 62 67 3d 72 65 64 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 3c 2f 3e tf("\n%s<bg=red;fg=white>.%s.</>
11e420 20 22 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 65 72 72 6f .",.$this->getBorder($id),.$erro
11e440 72 50 72 65 66 69 78 29 2c 20 24 62 75 66 66 65 72 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 rPrefix),.$buffer);.}.else.{.if.
11e460 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 65 72 72 27 (isset($this->started[$id]['err'
11e480 5d 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 22 3b 0a 75 6e 73 65 74 28 24 74 ])).{.$message..=."\n";.unset($t
11e4a0 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 29 3b 0a 7d 0a 69 66 20 his->started[$id]['err']);.}.if.
11e4c0 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f 75 74 (!isset($this->started[$id]['out
11e4e0 27 5d 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 25 73 3c 62 '])).{.$message..=.sprintf('%s<b
11e500 67 3d 67 72 65 65 6e 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 3c 2f 3e 20 27 2c 20 24 74 68 69 g=green;fg=white>.%s.</>.',.$thi
11e520 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 70 72 65 66 69 78 29 3b 0a 24 74 68 s->getBorder($id),.$prefix);.$th
11e540 69 73 2d 3e 73 74 61 72 74 65 64 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 20 3d 20 74 72 75 65 3b 0a is->started[$id]['out'].=.true;.
11e560 7d 0a 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c }..$message..=.str_replace("\n",
11e580 20 73 70 72 69 6e 74 66 28 22 5c 6e 25 73 3c 62 67 3d 67 72 65 65 6e 3b 66 67 3d 77 68 69 74 65 .sprintf("\n%s<bg=green;fg=white
11e5a0 3e 20 25 73 20 3c 2f 3e 20 22 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 69 64 >.%s.</>.",.$this->getBorder($id
11e5c0 29 2c 20 24 70 72 65 66 69 78 29 2c 20 24 62 75 66 66 65 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e ),.$prefix),.$buffer);.}..return
11e5e0 20 24 6d 65 73 73 61 67 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .$message;.}............public.f
11e600 75 6e 63 74 69 6f 6e 20 73 74 6f 70 28 24 69 64 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 73 75 63 unction.stop($id,.$message,.$suc
11e620 63 65 73 73 66 75 6c 2c 20 24 70 72 65 66 69 78 20 3d 20 27 52 45 53 27 29 0a 7b 0a 24 74 72 61 cessful,.$prefix.=.'RES').{.$tra
11e640 69 6c 69 6e 67 45 4f 4c 20 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b ilingEOL.=.isset($this->started[
11e660 24 69 64 5d 5b 27 6f 75 74 27 5d 29 20 7c 7c 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 $id]['out']).||.isset($this->sta
11e680 72 74 65 64 5b 24 69 64 5d 5b 27 65 72 72 27 5d 29 20 3f 20 22 5c 6e 22 20 3a 20 27 27 3b 0a 0a rted[$id]['err']).?."\n".:.'';..
11e6a0 69 66 20 28 24 73 75 63 63 65 73 73 66 75 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 if.($successful).{.return.sprint
11e6c0 66 28 22 25 73 25 73 3c 62 67 3d 67 72 65 65 6e 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 3c 2f f("%s%s<bg=green;fg=white>.%s.</
11e6e0 3e 20 3c 66 67 3d 67 72 65 65 6e 3e 25 73 3c 2f 3e 5c 6e 22 2c 20 24 74 72 61 69 6c 69 6e 67 45 >.<fg=green>%s</>\n",.$trailingE
11e700 4f 4c 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 70 72 65 66 OL,.$this->getBorder($id),.$pref
11e720 69 78 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 ix,.$message);.}..$message.=.spr
11e740 69 6e 74 66 28 22 25 73 25 73 3c 62 67 3d 72 65 64 3b 66 67 3d 77 68 69 74 65 3e 20 25 73 20 3c intf("%s%s<bg=red;fg=white>.%s.<
11e760 2f 3e 20 3c 66 67 3d 72 65 64 3e 25 73 3c 2f 3e 5c 6e 22 2c 20 24 74 72 61 69 6c 69 6e 67 45 4f />.<fg=red>%s</>\n",.$trailingEO
11e780 4c 2c 20 24 74 68 69 73 2d 3e 67 65 74 42 6f 72 64 65 72 28 24 69 64 29 2c 20 24 70 72 65 66 69 L,.$this->getBorder($id),.$prefi
11e7a0 78 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 73 74 61 72 x,.$message);..unset($this->star
11e7c0 74 65 64 5b 24 69 64 5d 5b 27 6f 75 74 27 5d 2c 20 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 5b ted[$id]['out'],.$this->started[
11e7e0 24 69 64 5d 5b 27 65 72 72 27 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6d 65 73 73 61 67 65 3b 0a $id]['err']);..return.$message;.
11e800 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 6f 72 64 }.......private.function.getBord
11e820 65 72 28 24 69 64 29 0a 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 3c 62 67 3d 25 73 er($id).{.return.sprintf('<bg=%s
11e840 3e 20 3c 2f 3e 27 2c 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 73 5b 24 74 68 69 73 2d 3e 73 74 61 >.</>',.$this->colors[$this->sta
11e860 72 74 65 64 5b 24 69 64 5d 5b 27 62 6f 72 64 65 72 27 5d 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 rted[$id]['border']]);.}.....pub
11e880 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 lic.function.getName().{.return.
11e8a0 27 64 65 62 75 67 5f 66 6f 72 6d 61 74 74 65 72 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 'debug_formatter';.}.}.<?php....
11e8c0 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
11e8e0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c nt\Console\Helper;..use.Symfony\
11e900 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 44 65 73 Component\Console\Descriptor\Des
11e920 63 72 69 70 74 6f 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f criptorInterface;.use.Symfony\Co
11e940 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 4a 73 6f 6e 44 mponent\Console\Descriptor\JsonD
11e960 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 escriptor;.use.Symfony\Component
11e980 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 4d 61 72 6b 64 6f 77 6e 44 65 73 63 \Console\Descriptor\MarkdownDesc
11e9a0 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f riptor;.use.Symfony\Component\Co
11e9c0 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 3b nsole\Descriptor\TextDescriptor;
11e9e0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 .use.Symfony\Component\Console\D
11ea00 65 73 63 72 69 70 74 6f 72 5c 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d escriptor\XmlDescriptor;.use.Sym
11ea20 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e fony\Component\Console\Exception
11ea40 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 \InvalidArgumentException;.use.S
11ea60 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c ymfony\Component\Console\Output\
11ea80 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 73 OutputInterface;.......class.Des
11eaa0 63 72 69 70 74 6f 72 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 0a criptorHelper.extends.Helper.{..
11eac0 0a 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 6f 72 73 20 3d 20 61 72 72 61 79 28 29 ..private.$descriptors.=.array()
11eae0 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 ;..public.function.__construct()
11eb00 0a 7b 0a 24 74 68 69 73 0a 2d 3e 72 65 67 69 73 74 65 72 28 27 74 78 74 27 2c 20 6e 65 77 20 54 .{.$this.->register('txt',.new.T
11eb20 65 78 74 44 65 73 63 72 69 70 74 6f 72 28 29 29 0a 2d 3e 72 65 67 69 73 74 65 72 28 27 78 6d 6c extDescriptor()).->register('xml
11eb40 27 2c 20 6e 65 77 20 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 28 29 29 0a 2d 3e 72 65 67 69 73 74 ',.new.XmlDescriptor()).->regist
11eb60 65 72 28 27 6a 73 6f 6e 27 2c 20 6e 65 77 20 4a 73 6f 6e 44 65 73 63 72 69 70 74 6f 72 28 29 29 er('json',.new.JsonDescriptor())
11eb80 0a 2d 3e 72 65 67 69 73 74 65 72 28 27 6d 64 27 2c 20 6e 65 77 20 4d 61 72 6b 64 6f 77 6e 44 65 .->register('md',.new.MarkdownDe
11eba0 73 63 72 69 70 74 6f 72 28 29 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 scriptor()).;.}...............pu
11ebc0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 28 4f 75 74 70 75 74 49 6e 74 blic.function.describe(OutputInt
11ebe0 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 6f 62 6a 65 63 74 2c 20 61 72 72 61 79 20 24 erface.$output,.$object,.array.$
11ec00 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 options.=.array()).{.$options.=.
11ec20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 0a 27 72 61 77 5f 74 65 78 74 27 20 3d 3e array_merge(array(.'raw_text'.=>
11ec40 20 66 61 6c 73 65 2c 0a 27 66 6f 72 6d 61 74 27 20 3d 3e 20 27 74 78 74 27 2c 0a 29 2c 20 24 6f .false,.'format'.=>.'txt',.),.$o
11ec60 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 64 65 73 63 ptions);..if.(!isset($this->desc
11ec80 72 69 70 74 6f 72 73 5b 24 6f 70 74 69 6f 6e 73 5b 27 66 6f 72 6d 61 74 27 5d 5d 29 29 20 7b 0a riptors[$options['format']])).{.
11eca0 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 throw.new.InvalidArgumentExcepti
11ecc0 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 73 75 70 70 6f 72 74 65 64 20 66 6f 72 6d 61 74 20 22 on(sprintf('Unsupported.format."
11ece0 25 73 22 2e 27 2c 20 24 6f 70 74 69 6f 6e 73 5b 27 66 6f 72 6d 61 74 27 5d 29 29 3b 0a 7d 0a 0a %s".',.$options['format']));.}..
11ed00 24 64 65 73 63 72 69 70 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 6f 72 73 $descriptor.=.$this->descriptors
11ed20 5b 24 6f 70 74 69 6f 6e 73 5b 27 66 6f 72 6d 61 74 27 5d 5d 3b 0a 24 64 65 73 63 72 69 70 74 6f [$options['format']];.$descripto
11ed40 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 24 6f 62 6a 65 63 74 2c 20 24 6f r->describe($output,.$object,.$o
11ed60 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ptions);.}..........public.funct
11ed80 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 66 6f 72 6d 61 74 2c 20 44 65 73 63 72 69 70 74 6f 72 ion.register($format,.Descriptor
11eda0 49 6e 74 65 72 66 61 63 65 20 24 64 65 73 63 72 69 70 74 6f 72 29 0a 7b 0a 24 74 68 69 73 2d 3e Interface.$descriptor).{.$this->
11edc0 64 65 73 63 72 69 70 74 6f 72 73 5b 24 66 6f 72 6d 61 74 5d 20 3d 20 24 64 65 73 63 72 69 70 74 descriptors[$format].=.$descript
11ede0 6f 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 or;..return.$this;.}.....public.
11ee00 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 64 65 73 function.getName().{.return.'des
11ee20 63 72 69 70 74 6f 72 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 criptor';.}.}.<?php...........na
11ee40 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c mespace.Symfony\Component\Consol
11ee60 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 e\Helper;..use.Symfony\Component
11ee80 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 \Console\Exception\InvalidArgume
11eea0 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 ntException;.use.Symfony\Compone
11eec0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 nt\Console\Exception\RuntimeExce
11eee0 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ption;.use.Symfony\Component\Con
11ef00 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 sole\Formatter\OutputFormatterSt
11ef20 79 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f yle;.use.Symfony\Component\Conso
11ef40 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 le\Output\ConsoleOutputInterface
11ef60 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
11ef80 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a Output\OutputInterface;.........
11efa0 0a 63 6c 61 73 73 20 44 69 61 6c 6f 67 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 49 6e 70 75 .class.DialogHelper.extends.Inpu
11efc0 74 41 77 61 72 65 48 65 6c 70 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 53 74 72 tAwareHelper.{.private.$inputStr
11efe0 65 61 6d 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 68 65 6c 6c 3b 0a 70 72 69 76 eam;.private.static.$shell;.priv
11f000 61 74 65 20 73 74 61 74 69 63 20 24 73 74 74 79 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ate.static.$stty;..public.functi
11f020 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 72 69 67 67 65 72 44 65 70 72 65 63 61 74 69 on.__construct($triggerDeprecati
11f040 6f 6e 45 72 72 6f 72 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 24 74 72 69 67 67 65 72 44 65 onError.=.true).{.if.($triggerDe
11f060 70 72 65 63 61 74 69 6f 6e 45 72 72 6f 72 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 precationError).{.@trigger_error
11f080 28 27 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c ('"Symfony\Component\Console\Hel
11f0a0 70 65 72 5c 44 69 61 6c 6f 67 48 65 6c 70 65 72 22 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 per\DialogHelper".is.deprecated.
11f0c0 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 since.Symfony.2.5.and.will.be.re
11f0e0 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f moved.in.3.0..Use."Symfony\Compo
11f100 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 51 75 65 73 74 69 6f 6e 48 65 6c 70 nent\Console\Helper\QuestionHelp
11f120 65 72 22 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 er".instead.',.E_USER_DEPRECATED
11f140 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 );.}.}.................public.fu
11f160 6e 63 74 69 6f 6e 20 73 65 6c 65 63 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f nction.select(OutputInterface.$o
11f180 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 utput,.$question,.$choices,.$def
11f1a0 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 ault.=.null,.$attempts.=.false,.
11f1c0 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 27 56 61 6c 75 65 20 22 25 73 22 20 69 73 20 69 $errorMessage.=.'Value."%s".is.i
11f1e0 6e 76 61 6c 69 64 27 2c 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 66 61 6c 73 65 29 0a 7b nvalid',.$multiselect.=.false).{
11f200 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f .if.($output.instanceof.ConsoleO
11f220 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 utputInterface).{.$output.=.$out
11f240 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 77 69 64 74 68 put->getErrorOutput();.}..$width
11f260 20 3d 20 6d 61 78 28 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 6c 65 6e 27 2c 20 61 72 72 61 79 .=.max(array_map('strlen',.array
11f280 5f 6b 65 79 73 28 24 63 68 6f 69 63 65 73 29 29 29 3b 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 _keys($choices)));..$messages.=.
11f2a0 28 61 72 72 61 79 29 20 24 71 75 65 73 74 69 6f 6e 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 68 6f (array).$question;.foreach.($cho
11f2c0 69 63 65 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 6d 65 73 73 61 ices.as.$key.=>.$value).{.$messa
11f2e0 67 65 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 22 20 20 5b 3c 69 6e 66 6f 3e 25 2d 7b 24 77 69 ges[].=.sprintf("..[<info>%-{$wi
11f300 64 74 68 7d 73 3c 2f 69 6e 66 6f 3e 5d 20 25 73 22 2c 20 24 6b 65 79 2c 20 24 76 61 6c 75 65 29 dth}s</info>].%s",.$key,.$value)
11f320 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 29 ;.}..$output->writeln($messages)
11f340 3b 0a 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 61 73 6b 41 6e 64 56 61 6c 69 64 61 ;..$result.=.$this->askAndValida
11f360 74 65 28 24 6f 75 74 70 75 74 2c 20 27 3e 20 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 69 63 te($output,.'>.',.function.($pic
11f380 6b 65 64 29 20 75 73 65 20 28 24 63 68 6f 69 63 65 73 2c 20 24 65 72 72 6f 72 4d 65 73 73 61 67 ked).use.($choices,.$errorMessag
11f3a0 65 2c 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 20 7b 0a 0a 20 24 73 65 6c 65 63 74 65 64 43 68 e,.$multiselect).{...$selectedCh
11f3c0 6f 69 63 65 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 20 27 2c 20 27 27 2c 20 24 70 69 oices.=.str_replace('.',.'',.$pi
11f3e0 63 6b 65 64 29 3b 0a 0a 69 66 20 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 20 7b 0a 0a 20 69 66 cked);..if.($multiselect).{...if
11f400 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 2d 5d 2b 28 .(!preg_match('/^[a-zA-Z0-9_-]+(
11f420 3f 3a 2c 5b 61 2d 7a 41 2d 5a 30 2d 39 5f 2d 5d 2b 29 2a 24 2f 27 2c 20 24 73 65 6c 65 63 74 65 ?:,[a-zA-Z0-9_-]+)*$/',.$selecte
11f440 64 43 68 6f 69 63 65 73 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 dChoices,.$matches)).{.throw.new
11f460 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 .InvalidArgumentException(sprint
11f480 66 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 24 70 69 63 6b 65 64 29 29 3b 0a 7d 0a 24 73 f($errorMessage,.$picked));.}.$s
11f4a0 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 73 electedChoices.=.explode(',',.$s
11f4c0 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 65 6c 65 63 electedChoices);.}.else.{.$selec
11f4e0 74 65 64 43 68 6f 69 63 65 73 20 3d 20 61 72 72 61 79 28 24 70 69 63 6b 65 64 29 3b 0a 7d 0a 0a tedChoices.=.array($picked);.}..
11f500 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a $multiselectChoices.=.array();..
11f520 66 6f 72 65 61 63 68 20 28 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 61 73 20 24 76 61 foreach.($selectedChoices.as.$va
11f540 6c 75 65 29 20 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 63 68 6f 69 63 65 73 5b 24 76 61 6c 75 65 lue).{.if.(empty($choices[$value
11f560 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 ])).{.throw.new.InvalidArgumentE
11f580 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 xception(sprintf($errorMessage,.
11f5a0 24 76 61 6c 75 65 29 29 3b 0a 7d 0a 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 5b $value));.}.$multiselectChoices[
11f5c0 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 ].=.$value;.}..if.($multiselect)
11f5e0 20 7b 0a 72 65 74 75 72 6e 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 3b 0a 7d .{.return.$multiselectChoices;.}
11f600 0a 0a 72 65 74 75 72 6e 20 24 70 69 63 6b 65 64 3b 0a 7d 2c 20 24 61 74 74 65 6d 70 74 73 2c 20 ..return.$picked;.},.$attempts,.
11f620 24 64 65 66 61 75 6c 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 0a $default);..return.$result;.}...
11f640 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 28 4f ...........public.function.ask(O
11f660 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f utputInterface.$output,.$questio
11f680 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 61 75 74 6f 63 n,.$default.=.null,.array.$autoc
11f6a0 6f 6d 70 6c 65 74 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 70 omplete.=.null).{.if.($this->inp
11f6c0 75 74 20 26 26 20 21 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 ut.&&.!$this->input->isInteracti
11f6e0 76 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 ve()).{.return.$default;.}..if.(
11f700 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 $output.instanceof.ConsoleOutput
11f720 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e Interface).{.$output.=.$output->
11f740 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 getErrorOutput();.}..$output->wr
11f760 69 74 65 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 24 69 6e 70 75 74 53 74 72 65 61 6d 20 3d 20 ite($question);..$inputStream.=.
11f780 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d 20 3f 3a 20 53 54 44 49 4e 3b 0a 0a 69 66 $this->inputStream.?:.STDIN;..if
11f7a0 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 7c 7c 20 21 24 74 68 .(null.===.$autocomplete.||.!$th
11f7c0 69 73 2d 3e 68 61 73 53 74 74 79 41 76 61 69 6c 61 62 6c 65 28 29 29 20 7b 0a 24 72 65 74 20 3d is->hasSttyAvailable()).{.$ret.=
11f7e0 20 66 67 65 74 73 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 34 30 39 36 29 3b 0a 69 66 20 28 .fgets($inputStream,.4096);.if.(
11f800 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 false.===.$ret).{.throw.new.Runt
11f820 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 41 62 6f 72 74 65 64 27 29 3b 0a 7d 0a 24 72 65 74 20 imeException('Aborted');.}.$ret.
11f840 3d 20 74 72 69 6d 28 24 72 65 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 74 20 3d 20 27 27 =.trim($ret);.}.else.{.$ret.=.''
11f860 3b 0a 0a 24 69 20 3d 20 30 3b 0a 24 6f 66 73 20 3d 20 2d 31 3b 0a 24 6d 61 74 63 68 65 73 20 3d ;..$i.=.0;.$ofs.=.-1;.$matches.=
11f880 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 3b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 5c 63 .$autocomplete;.$numMatches.=.\c
11f8a0 6f 75 6e 74 28 24 6d 61 74 63 68 65 73 29 3b 0a 0a 24 73 74 74 79 4d 6f 64 65 20 3d 20 73 68 65 ount($matches);..$sttyMode.=.she
11f8c0 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 67 27 29 3b 0a 0a 0a 20 73 68 65 6c 6c 5f 65 78 65 ll_exec('stty.-g');....shell_exe
11f8e0 63 28 27 73 74 74 79 20 2d 69 63 61 6e 6f 6e 20 2d 65 63 68 6f 27 29 3b 0a 0a 0a 20 24 6f 75 74 c('stty.-icanon.-echo');....$out
11f900 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2d 3e 73 65 74 53 74 79 6c 65 28 27 68 put->getFormatter()->setStyle('h
11f920 6c 27 2c 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 79 6c 65 28 27 62 6c l',.new.OutputFormatterStyle('bl
11f940 61 63 6b 27 2c 20 27 77 68 69 74 65 27 29 29 3b 0a 0a 0a 20 77 68 69 6c 65 20 28 21 66 65 6f 66 ack',.'white'));....while.(!feof
11f960 28 24 69 6e 70 75 74 53 74 72 65 61 6d 29 29 20 7b 0a 24 63 20 3d 20 66 72 65 61 64 28 24 69 6e ($inputStream)).{.$c.=.fread($in
11f980 70 75 74 53 74 72 65 61 6d 2c 20 31 29 3b 0a 0a 0a 20 69 66 20 28 22 5c 31 37 37 22 20 3d 3d 3d putStream,.1);....if.("\177".===
11f9a0 20 24 63 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6e 75 6d 4d 61 74 63 68 65 73 20 26 26 20 .$c).{.if.(0.===.$numMatches.&&.
11f9c0 30 20 21 3d 3d 20 24 69 29 20 7b 0a 2d 2d 24 69 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 0.!==.$i).{.--$i;...$output->wri
11f9e0 74 65 28 22 5c 30 33 33 5b 31 44 22 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 69 29 20 te("\033[1D");.}..if.(0.===.$i).
11fa00 7b 0a 24 6f 66 73 20 3d 20 2d 31 3b 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 61 75 74 6f 63 6f 6d {.$ofs.=.-1;.$matches.=.$autocom
11fa20 70 6c 65 74 65 3b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 5c 63 6f 75 6e 74 28 24 6d 61 74 plete;.$numMatches.=.\count($mat
11fa40 63 68 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b ches);.}.else.{.$numMatches.=.0;
11fa60 0a 7d 0a 0a 0a 20 24 72 65 74 20 3d 20 73 75 62 73 74 72 28 24 72 65 74 2c 20 30 2c 20 24 69 29 .}....$ret.=.substr($ret,.0,.$i)
11fa80 3b 0a 7d 20 65 6c 73 65 69 66 20 28 22 5c 30 33 33 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 0a 20 24 ;.}.elseif.("\033".===.$c).{...$
11faa0 63 20 2e 3d 20 66 72 65 61 64 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 32 29 3b 0a 0a 0a 20 c..=.fread($inputStream,.2);....
11fac0 69 66 20 28 69 73 73 65 74 28 24 63 5b 32 5d 29 20 26 26 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b if.(isset($c[2]).&&.('A'.===.$c[
11fae0 32 5d 20 7c 7c 20 27 42 27 20 3d 3d 3d 20 24 63 5b 32 5d 29 29 20 7b 0a 69 66 20 28 27 41 27 20 2].||.'B'.===.$c[2])).{.if.('A'.
11fb00 3d 3d 3d 20 24 63 5b 32 5d 20 26 26 20 2d 31 20 3d 3d 3d 20 24 6f 66 73 29 20 7b 0a 24 6f 66 73 ===.$c[2].&&.-1.===.$ofs).{.$ofs
11fb20 20 3d 20 30 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6e 75 6d 4d 61 74 63 68 65 73 29 20 .=.0;.}..if.(0.===.$numMatches).
11fb40 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6f 66 73 20 2b 3d 20 28 27 41 27 20 3d 3d 3d 20 {.continue;.}..$ofs.+=.('A'.===.
11fb60 24 63 5b 32 5d 29 20 3f 20 2d 31 20 3a 20 31 3b 0a 24 6f 66 73 20 3d 20 28 24 6e 75 6d 4d 61 74 $c[2]).?.-1.:.1;.$ofs.=.($numMat
11fb80 63 68 65 73 20 2b 20 24 6f 66 73 29 20 25 20 24 6e 75 6d 4d 61 74 63 68 65 73 3b 0a 7d 0a 7d 20 ches.+.$ofs).%.$numMatches;.}.}.
11fba0 65 6c 73 65 69 66 20 28 5c 6f 72 64 28 24 63 29 20 3c 20 33 32 29 20 7b 0a 69 66 20 28 22 5c 74 elseif.(\ord($c).<.32).{.if.("\t
11fbc0 22 20 3d 3d 3d 20 24 63 20 7c 7c 20 22 5c 6e 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 69 66 20 28 24 ".===.$c.||."\n".===.$c).{.if.($
11fbe0 6e 75 6d 4d 61 74 63 68 65 73 20 3e 20 30 20 26 26 20 2d 31 20 21 3d 3d 20 24 6f 66 73 29 20 7b numMatches.>.0.&&.-1.!==.$ofs).{
11fc00 0a 24 72 65 74 20 3d 20 24 6d 61 74 63 68 65 73 5b 24 6f 66 73 5d 3b 0a 0a 20 24 6f 75 74 70 75 .$ret.=.$matches[$ofs];...$outpu
11fc20 74 2d 3e 77 72 69 74 65 28 73 75 62 73 74 72 28 24 72 65 74 2c 20 24 69 29 29 3b 0a 24 69 20 3d t->write(substr($ret,.$i));.$i.=
11fc40 20 5c 73 74 72 6c 65 6e 28 24 72 65 74 29 3b 0a 7d 0a 0a 69 66 20 28 22 5c 6e 22 20 3d 3d 3d 20 .\strlen($ret);.}..if.("\n".===.
11fc60 24 63 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 29 3b 0a 62 72 65 61 6b 3b $c).{.$output->write($c);.break;
11fc80 0a 7d 0a 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b 0a 7d 0a 0a 63 6f 6e 74 69 6e 75 65 .}..$numMatches.=.0;.}..continue
11fca0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 29 3b 0a 24 ;.}.else.{.$output->write($c);.$
11fcc0 72 65 74 20 2e 3d 20 24 63 3b 0a 2b 2b 24 69 3b 0a 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 ret..=.$c;.++$i;..$numMatches.=.
11fce0 30 3b 0a 24 6f 66 73 20 3d 20 30 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 75 74 6f 63 6f 6d 70 0;.$ofs.=.0;..foreach.($autocomp
11fd00 6c 65 74 65 20 61 73 20 24 76 61 6c 75 65 29 20 7b 0a 0a 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 lete.as.$value).{...if.(0.===.st
11fd20 72 70 6f 73 28 24 76 61 6c 75 65 2c 20 24 72 65 74 29 20 26 26 20 24 69 20 21 3d 3d 20 5c 73 74 rpos($value,.$ret).&&.$i.!==.\st
11fd40 72 6c 65 6e 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 6e 75 6d 4d 61 74 rlen($value)).{.$matches[$numMat
11fd60 63 68 65 73 2b 2b 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 24 6f 75 74 70 ches++].=.$value;.}.}.}....$outp
11fd80 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 5b 4b 22 29 3b 0a 0a 69 66 20 28 24 6e 75 6d 4d 61 ut->write("\033[K");..if.($numMa
11fda0 74 63 68 65 73 20 3e 20 30 20 26 26 20 2d 31 20 21 3d 3d 20 24 6f 66 73 29 20 7b 0a 0a 20 24 6f tches.>.0.&&.-1.!==.$ofs).{...$o
11fdc0 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 37 22 29 3b 0a 0a 20 24 6f 75 74 70 75 74 utput->write("\0337");...$output
11fde0 2d 3e 77 72 69 74 65 28 27 3c 68 6c 3e 27 2e 73 75 62 73 74 72 28 24 6d 61 74 63 68 65 73 5b 24 ->write('<hl>'.substr($matches[$
11fe00 6f 66 73 5d 2c 20 24 69 29 2e 27 3c 2f 68 6c 3e 27 29 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 ofs],.$i).'</hl>');...$output->w
11fe20 72 69 74 65 28 22 5c 30 33 33 38 22 29 3b 0a 7d 0a 7d 0a 0a 0a 20 73 68 65 6c 6c 5f 65 78 65 63 rite("\0338");.}.}....shell_exec
11fe40 28 73 70 72 69 6e 74 66 28 27 73 74 74 79 20 25 73 27 2c 20 24 73 74 74 79 4d 6f 64 65 29 29 3b (sprintf('stty.%s',.$sttyMode));
11fe60 0a 7d 0a 0a 72 65 74 75 72 6e 20 5c 73 74 72 6c 65 6e 28 24 72 65 74 29 20 3e 20 30 20 3f 20 24 .}..return.\strlen($ret).>.0.?.$
11fe80 72 65 74 20 3a 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ret.:.$default;.}.............pu
11fea0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 43 6f 6e 66 69 72 6d 61 74 69 6f 6e 28 4f 75 blic.function.askConfirmation(Ou
11fec0 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e tputInterface.$output,.$question
11fee0 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 74 72 75 65 29 0a 7b 0a 24 61 6e 73 77 65 72 20 3d 20 27 ,.$default.=.true).{.$answer.=.'
11ff00 7a 27 3b 0a 77 68 69 6c 65 20 28 24 61 6e 73 77 65 72 20 26 26 20 21 5c 69 6e 5f 61 72 72 61 79 z';.while.($answer.&&.!\in_array
11ff20 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 61 6e 73 77 65 72 5b 30 5d 29 2c 20 61 72 72 61 79 28 27 (strtolower($answer[0]),.array('
11ff40 79 27 2c 20 27 6e 27 29 29 29 20 7b 0a 24 61 6e 73 77 65 72 20 3d 20 24 74 68 69 73 2d 3e 61 73 y',.'n'))).{.$answer.=.$this->as
11ff60 6b 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 k($output,.$question);.}..if.(fa
11ff80 6c 73 65 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 6e 73 77 lse.===.$default).{.return.$answ
11ffa0 65 72 20 26 26 20 27 79 27 20 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 61 6e 73 77 65 72 5b er.&&.'y'.==.strtolower($answer[
11ffc0 30 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 21 24 61 6e 73 77 65 72 20 7c 7c 20 27 79 27 20 3d 0]);.}..return.!$answer.||.'y'.=
11ffe0 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 61 6e 73 77 65 72 5b 30 5d 29 3b 0a 7d 0a 0a 0a 0a 0a =.strtolower($answer[0]);.}.....
120000 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 48 69 64 64 65 ........public.function.askHidde
120020 6e 52 65 73 70 6f 6e 73 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 nResponse(OutputInterface.$outpu
120040 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 66 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 29 0a t,.$question,.$fallback.=.true).
120060 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 {.if.($output.instanceof.Console
120080 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 OutputInterface).{.$output.=.$ou
1200a0 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 27 tput->getErrorOutput();.}..if.('
1200c0 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a \\'.===.\DIRECTORY_SEPARATOR).{.
1200e0 24 65 78 65 20 3d 20 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 52 65 73 6f 75 72 63 65 73 2f 62 69 $exe.=.__DIR__.'/../Resources/bi
120100 6e 2f 68 69 64 64 65 6e 69 6e 70 75 74 2e 65 78 65 27 3b 0a 0a 0a 20 69 66 20 28 27 70 68 61 72 n/hiddeninput.exe';....if.('phar
120120 3a 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 5f 5f 46 49 4c 45 5f 5f 2c 20 30 2c 20 35 29 29 20 7b :'.===.substr(__FILE__,.0,.5)).{
120140 0a 24 74 6d 70 45 78 65 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2e 27 2f .$tmpExe.=.sys_get_temp_dir().'/
120160 68 69 64 64 65 6e 69 6e 70 75 74 2e 65 78 65 27 3b 0a 63 6f 70 79 28 24 65 78 65 2c 20 24 74 6d hiddeninput.exe';.copy($exe,.$tm
120180 70 45 78 65 29 3b 0a 24 65 78 65 20 3d 20 24 74 6d 70 45 78 65 3b 0a 7d 0a 0a 24 6f 75 74 70 75 pExe);.$exe.=.$tmpExe;.}..$outpu
1201a0 74 2d 3e 77 72 69 74 65 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 24 76 61 6c 75 65 20 3d 20 72 74 t->write($question);.$value.=.rt
1201c0 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 24 65 78 65 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e rim(shell_exec($exe));.$output->
1201e0 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 6d 70 45 78 65 29 writeln('');..if.(isset($tmpExe)
120200 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 74 6d 70 45 78 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 ).{.unlink($tmpExe);.}..return.$
120220 76 61 6c 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 53 74 74 79 41 76 61 69 value;.}..if.($this->hasSttyAvai
120240 6c 61 62 6c 65 28 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 71 75 65 73 74 lable()).{.$output->write($quest
120260 69 6f 6e 29 3b 0a 0a 24 73 74 74 79 4d 6f 64 65 20 3d 20 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 ion);..$sttyMode.=.shell_exec('s
120280 74 74 79 20 2d 67 27 29 3b 0a 0a 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 65 63 68 tty.-g');..shell_exec('stty.-ech
1202a0 6f 27 29 3b 0a 24 76 61 6c 75 65 20 3d 20 66 67 65 74 73 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 o');.$value.=.fgets($this->input
1202c0 53 74 72 65 61 6d 20 3f 3a 20 53 54 44 49 4e 2c 20 34 30 39 36 29 3b 0a 73 68 65 6c 6c 5f 65 78 Stream.?:.STDIN,.4096);.shell_ex
1202e0 65 63 28 73 70 72 69 6e 74 66 28 27 73 74 74 79 20 25 73 27 2c 20 24 73 74 74 79 4d 6f 64 65 29 ec(sprintf('stty.%s',.$sttyMode)
120300 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 74 68 72 6f );..if.(false.===.$value).{.thro
120320 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 41 62 6f 72 74 65 64 27 w.new.RuntimeException('Aborted'
120340 29 3b 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 74 72 69 6d 28 24 76 61 6c 75 65 29 3b 0a 24 6f 75 );.}..$value.=.trim($value);.$ou
120360 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 tput->writeln('');..return.$valu
120380 65 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 73 68 65 6c 6c 20 3d 20 24 74 68 e;.}..if.(false.!==.$shell.=.$th
1203a0 69 73 2d 3e 67 65 74 53 68 65 6c 6c 28 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 is->getShell()).{.$output->write
1203c0 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 24 72 65 61 64 43 6d 64 20 3d 20 27 63 73 68 27 20 3d 3d ($question);.$readCmd.=.'csh'.==
1203e0 3d 20 24 73 68 65 6c 6c 20 3f 20 27 73 65 74 20 6d 79 70 61 73 73 77 6f 72 64 20 3d 20 24 3c 27 =.$shell.?.'set.mypassword.=.$<'
120400 20 3a 20 27 72 65 61 64 20 2d 72 20 6d 79 70 61 73 73 77 6f 72 64 27 3b 0a 24 63 6f 6d 6d 61 6e .:.'read.-r.mypassword';.$comman
120420 64 20 3d 20 73 70 72 69 6e 74 66 28 22 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 25 73 20 2d 63 20 d.=.sprintf("/usr/bin/env.%s.-c.
120440 27 73 74 74 79 20 2d 65 63 68 6f 3b 20 25 73 3b 20 73 74 74 79 20 65 63 68 6f 3b 20 65 63 68 6f 'stty.-echo;.%s;.stty.echo;.echo
120460 20 5c 24 6d 79 70 61 73 73 77 6f 72 64 27 22 2c 20 24 73 68 65 6c 6c 2c 20 24 72 65 61 64 43 6d .\$mypassword'",.$shell,.$readCm
120480 64 29 3b 0a 24 76 61 6c 75 65 20 3d 20 72 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 24 63 d);.$value.=.rtrim(shell_exec($c
1204a0 6f 6d 6d 61 6e 64 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a ommand));.$output->writeln('');.
1204c0 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 66 61 6c 6c 62 61 63 6b .return.$value;.}..if.($fallback
1204e0 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 73 6b 28 24 6f 75 74 70 75 74 2c 20 24 ).{.return.$this->ask($output,.$
120500 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 question);.}..throw.new.RuntimeE
120520 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 68 69 64 65 20 74 68 65 20 72 65 73 xception('Unable.to.hide.the.res
120540 70 6f 6e 73 65 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ponse');.}....................pu
120560 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 41 6e 64 56 61 6c 69 64 61 74 65 28 4f 75 74 blic.function.askAndValidate(Out
120580 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c putInterface.$output,.$question,
1205a0 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 20 3d 20 66 61 6c 73 65 2c 20 .$validator,.$attempts.=.false,.
1205c0 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 61 75 74 6f 63 6f 6d 70 $default.=.null,.array.$autocomp
1205e0 6c 65 74 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 0a 24 lete.=.null).{.$that.=.$this;..$
120600 69 6e 74 65 72 76 69 65 77 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 interviewer.=.function.().use.($
120620 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 2c 20 24 61 75 output,.$question,.$default,.$au
120640 74 6f 63 6f 6d 70 6c 65 74 65 2c 20 24 74 68 61 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 61 tocomplete,.$that).{.return.$tha
120660 74 2d 3e 61 73 6b 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 t->ask($output,.$question,.$defa
120680 75 6c 74 2c 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 29 3b 0a 7d 3b 0a 0a 72 65 74 75 72 6e 20 ult,.$autocomplete);.};..return.
1206a0 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 73 28 24 69 6e 74 65 72 76 69 $this->validateAttempts($intervi
1206c0 65 77 65 72 2c 20 24 6f 75 74 70 75 74 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 ewer,.$output,.$validator,.$atte
1206e0 6d 70 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c mpts);.}....................publ
120700 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 48 69 64 64 65 6e 52 65 73 70 6f 6e 73 65 41 6e 64 ic.function.askHiddenResponseAnd
120720 56 61 6c 69 64 61 74 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 Validate(OutputInterface.$output
120740 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 ,.$question,.$validator,.$attemp
120760 74 73 20 3d 20 66 61 6c 73 65 2c 20 24 66 61 6c 6c 62 61 63 6b 20 3d 20 74 72 75 65 29 0a 7b 0a ts.=.false,.$fallback.=.true).{.
120780 24 74 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 0a 24 69 6e 74 65 72 76 69 65 77 65 72 20 3d 20 66 $that.=.$this;..$interviewer.=.f
1207a0 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 unction.().use.($output,.$questi
1207c0 6f 6e 2c 20 24 66 61 6c 6c 62 61 63 6b 2c 20 24 74 68 61 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 on,.$fallback,.$that).{.return.$
1207e0 74 68 61 74 2d 3e 61 73 6b 48 69 64 64 65 6e 52 65 73 70 6f 6e 73 65 28 24 6f 75 74 70 75 74 2c that->askHiddenResponse($output,
120800 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 66 61 6c 6c 62 61 63 6b 29 3b 0a 7d 3b 0a 0a 72 65 74 75 .$question,.$fallback);.};..retu
120820 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 73 28 24 69 6e 74 65 rn.$this->validateAttempts($inte
120840 72 76 69 65 77 65 72 2c 20 24 6f 75 74 70 75 74 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 rviewer,.$output,.$validator,.$a
120860 74 74 65 6d 70 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ttempts);.}.........public.funct
120880 69 6f 6e 20 73 65 74 49 6e 70 75 74 53 74 72 65 61 6d 28 24 73 74 72 65 61 6d 29 0a 7b 0a 24 74 ion.setInputStream($stream).{.$t
1208a0 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d 20 3d 20 24 73 74 72 65 61 6d 3b 0a 7d 0a 0a 0a his->inputStream.=.$stream;.}...
1208c0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 53 74 72 65 ....public.function.getInputStre
1208e0 61 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d am().{.return.$this->inputStream
120900 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 ;.}.....public.function.getName(
120920 29 0a 7b 0a 72 65 74 75 72 6e 20 27 64 69 61 6c 6f 67 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 ).{.return.'dialog';.}.......pri
120940 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 68 65 6c 6c 28 29 0a 7b 0a 69 66 20 28 6e vate.function.getShell().{.if.(n
120960 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 ull.!==.self::$shell).{.return.s
120980 65 6c 66 3a 3a 24 73 68 65 6c 6c 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 20 3d 20 66 elf::$shell;.}..self::$shell.=.f
1209a0 61 6c 73 65 3b 0a 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 27 2f 75 73 72 2f 62 69 6e alse;..if.(file_exists('/usr/bin
1209c0 2f 65 6e 76 27 29 29 20 7b 0a 0a 20 24 74 65 73 74 20 3d 20 22 2f 75 73 72 2f 62 69 6e 2f 65 6e /env')).{...$test.=."/usr/bin/en
1209e0 76 20 25 73 20 2d 63 20 27 65 63 68 6f 20 4f 4b 27 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 22 3b v.%s.-c.'echo.OK'.2>./dev/null";
120a00 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 62 61 73 68 27 2c 20 27 7a 73 68 27 2c 20 27 .foreach.(array('bash',.'zsh',.'
120a20 6b 73 68 27 2c 20 27 63 73 68 27 29 20 61 73 20 24 73 68 29 20 7b 0a 69 66 20 28 27 4f 4b 27 20 ksh',.'csh').as.$sh).{.if.('OK'.
120a40 3d 3d 3d 20 72 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 73 70 72 69 6e 74 66 28 24 74 65 ===.rtrim(shell_exec(sprintf($te
120a60 73 74 2c 20 24 73 68 29 29 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 20 3d 20 24 73 68 st,.$sh)))).{.self::$shell.=.$sh
120a80 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 68 ;.break;.}.}.}..return.self::$sh
120aa0 65 6c 6c 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 74 79 ell;.}..private.function.hasStty
120ac0 41 76 61 69 6c 61 62 6c 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a Available().{.if.(null.!==.self:
120ae0 3a 24 73 74 74 79 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 74 79 3b 0a 7d 0a :$stty).{.return.self::$stty;.}.
120b00 0a 65 78 65 63 28 27 73 74 74 79 20 32 3e 26 31 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 65 78 69 .exec('stty.2>&1',.$output,.$exi
120b20 74 63 6f 64 65 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 74 79 20 3d 20 30 20 tcode);..return.self::$stty.=.0.
120b40 3d 3d 3d 20 24 65 78 69 74 63 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 ===.$exitcode;.}..............pr
120b60 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 73 28 ivate.function.validateAttempts(
120b80 24 69 6e 74 65 72 76 69 65 77 65 72 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f $interviewer,.OutputInterface.$o
120ba0 75 74 70 75 74 2c 20 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 61 74 74 65 6d 70 74 73 29 0a 7b 0a utput,.$validator,.$attempts).{.
120bc0 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 if.($output.instanceof.ConsoleOu
120be0 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 tputInterface).{.$output.=.$outp
120c00 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 65 20 3d 20 6e 75 ut->getErrorOutput();.}..$e.=.nu
120c20 6c 6c 3b 0a 77 68 69 6c 65 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 61 74 74 65 6d 70 74 73 20 7c ll;.while.(false.===.$attempts.|
120c40 7c 20 24 61 74 74 65 6d 70 74 73 2d 2d 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 |.$attempts--).{.if.(null.!==.$e
120c60 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 74 68 69 73 2d 3e 67 65 74 48 ).{.$output->writeln($this->getH
120c80 65 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 66 6f 72 6d 61 74 74 65 72 27 29 2d 3e 66 6f elperSet()->get('formatter')->fo
120ca0 72 6d 61 74 42 6c 6f 63 6b 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 65 72 72 rmatBlock($e->getMessage(),.'err
120cc0 6f 72 27 29 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 5c 63 61 6c 6c 5f 75 73 65 or'));.}..try.{.return.\call_use
120ce0 72 5f 66 75 6e 63 28 24 76 61 6c 69 64 61 74 6f 72 2c 20 24 69 6e 74 65 72 76 69 65 77 65 72 28 r_func($validator,.$interviewer(
120d00 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a ));.}.catch.(\Exception.$e).{.}.
120d20 7d 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a }..throw.$e;.}.}.<?php..........
120d40 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e .namespace.Symfony\Component\Con
120d60 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e sole\Helper;..use.Symfony\Compon
120d80 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d ent\Console\Formatter\OutputForm
120da0 61 74 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 6f 72 6d 61 74 74 65 72 48 65 6c 70 atter;.......class.FormatterHelp
120dc0 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 er.extends.Helper.{..........pub
120de0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 53 65 63 74 69 6f 6e 28 24 73 65 63 74 lic.function.formatSection($sect
120e00 69 6f 6e 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 73 74 79 6c 65 20 3d 20 27 69 6e 66 6f 27 29 0a ion,.$message,.$style.=.'info').
120e20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 3c 25 73 3e 5b 25 73 5d 3c 2f 25 73 3e 20 {.return.sprintf('<%s>[%s]</%s>.
120e40 25 73 27 2c 20 24 73 74 79 6c 65 2c 20 24 73 65 63 74 69 6f 6e 2c 20 24 73 74 79 6c 65 2c 20 24 %s',.$style,.$section,.$style,.$
120e60 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e message);.}...........public.fun
120e80 63 74 69 6f 6e 20 66 6f 72 6d 61 74 42 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 73 2c 20 24 73 74 ction.formatBlock($messages,.$st
120ea0 79 6c 65 2c 20 24 6c 61 72 67 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 5c 69 73 5f yle,.$large.=.false).{.if.(!\is_
120ec0 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 73 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 array($messages)).{.$messages.=.
120ee0 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d 0a 0a 24 6c 65 6e 20 3d 20 30 3b 0a 24 array($messages);.}..$len.=.0;.$
120f00 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 lines.=.array();.foreach.($messa
120f20 67 65 73 20 61 73 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 4f 75 ges.as.$message).{.$message.=.Ou
120f40 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 6d 65 73 73 61 67 65 29 3b tputFormatter::escape($message);
120f60 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 24 6c 61 72 67 65 20 3f 20 27 20 20 .$lines[].=.sprintf($large.?.'..
120f80 25 73 20 20 27 20 3a 20 27 20 25 73 20 27 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 24 6c 65 6e 20 %s..'.:.'.%s.',.$message);.$len.
120fa0 3d 20 6d 61 78 28 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 6d 65 73 73 61 67 65 29 20 2b 20 =.max($this->strlen($message).+.
120fc0 28 24 6c 61 72 67 65 20 3f 20 34 20 3a 20 32 29 2c 20 24 6c 65 6e 29 3b 0a 7d 0a 0a 24 6d 65 73 ($large.?.4.:.2),.$len);.}..$mes
120fe0 73 61 67 65 73 20 3d 20 24 6c 61 72 67 65 20 3f 20 61 72 72 61 79 28 73 74 72 5f 72 65 70 65 61 sages.=.$large.?.array(str_repea
121000 74 28 27 20 27 2c 20 24 6c 65 6e 29 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 20 28 24 69 t('.',.$len)).:.array();.for.($i
121020 20 3d 20 30 3b 20 69 73 73 65 74 28 24 6c 69 6e 65 73 5b 24 69 5d 29 3b 20 2b 2b 24 69 29 20 7b .=.0;.isset($lines[$i]);.++$i).{
121040 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 3d 20 24 6c 69 6e 65 73 5b 24 69 5d 2e 73 74 72 5f 72 65 .$messages[].=.$lines[$i].str_re
121060 70 65 61 74 28 27 20 27 2c 20 24 6c 65 6e 20 2d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 peat('.',.$len.-.$this->strlen($
121080 6c 69 6e 65 73 5b 24 69 5d 29 29 3b 0a 7d 0a 69 66 20 28 24 6c 61 72 67 65 29 20 7b 0a 24 6d 65 lines[$i]));.}.if.($large).{.$me
1210a0 73 73 61 67 65 73 5b 5d 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 6c 65 6e 29 ssages[].=.str_repeat('.',.$len)
1210c0 3b 0a 7d 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 69 73 73 65 74 28 24 6d 65 73 73 61 67 65 ;.}..for.($i.=.0;.isset($message
1210e0 73 5b 24 69 5d 29 3b 20 2b 2b 24 69 29 20 7b 0a 24 6d 65 73 73 61 67 65 73 5b 24 69 5d 20 3d 20 s[$i]);.++$i).{.$messages[$i].=.
121100 73 70 72 69 6e 74 66 28 27 3c 25 73 3e 25 73 3c 2f 25 73 3e 27 2c 20 24 73 74 79 6c 65 2c 20 24 sprintf('<%s>%s</%s>',.$style,.$
121120 6d 65 73 73 61 67 65 73 5b 24 69 5d 2c 20 24 73 74 79 6c 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e messages[$i],.$style);.}..return
121140 20 69 6d 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 24 6d 65 73 73 61 67 65 73 29 3b 0a 7d 0a 0a 0a 0a .implode("\n",.$messages);.}....
121160 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 .public.function.getName().{.ret
121180 75 72 6e 20 27 66 6f 72 6d 61 74 74 65 72 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a urn.'formatter';.}.}.<?php......
1211a0 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 .....namespace.Symfony\Component
1211c0 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f \Console\Helper;..use.Symfony\Co
1211e0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 mponent\Console\Formatter\Output
121200 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 FormatterInterface;.......abstra
121220 63 74 20 63 6c 61 73 73 20 48 65 6c 70 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 48 65 6c 70 65 ct.class.Helper.implements.Helpe
121240 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 68 65 6c 70 65 72 53 65 rInterface.{.protected.$helperSe
121260 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 t.=.null;.....public.function.se
121280 74 48 65 6c 70 65 72 53 65 74 28 48 65 6c 70 65 72 53 65 74 20 24 68 65 6c 70 65 72 53 65 74 20 tHelperSet(HelperSet.$helperSet.
1212a0 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 53 65 74 20 3d 20 24 68 65 =.null).{.$this->helperSet.=.$he
1212c0 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 lperSet;.}.....public.function.g
1212e0 65 74 48 65 6c 70 65 72 53 65 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 etHelperSet().{.return.$this->he
121300 6c 70 65 72 53 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 lperSet;.}.........public.static
121320 20 66 75 6e 63 74 69 6f 6e 20 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 0a 7b 0a 69 66 20 28 .function.strlen($string).{.if.(
121340 66 61 6c 73 65 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 5f 64 65 74 65 63 74 5f false.===.$encoding.=.mb_detect_
121360 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 69 6e 67 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 29 20 7b encoding($string,.null,.true)).{
121380 0a 72 65 74 75 72 6e 20 5c 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 3b 0a 7d 0a 0a 72 65 74 .return.\strlen($string);.}..ret
1213a0 75 72 6e 20 6d 62 5f 73 74 72 77 69 64 74 68 28 24 73 74 72 69 6e 67 2c 20 24 65 6e 63 6f 64 69 urn.mb_strwidth($string,.$encodi
1213c0 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 ng);.}..public.static.function.f
1213e0 6f 72 6d 61 74 54 69 6d 65 28 24 73 65 63 73 29 0a 7b 0a 73 74 61 74 69 63 20 24 74 69 6d 65 46 ormatTime($secs).{.static.$timeF
121400 6f 72 6d 61 74 73 20 3d 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 30 2c 20 27 3c 20 31 20 73 65 ormats.=.array(.array(0,.'<.1.se
121420 63 27 29 2c 0a 61 72 72 61 79 28 31 2c 20 27 31 20 73 65 63 27 29 2c 0a 61 72 72 61 79 28 32 2c c'),.array(1,.'1.sec'),.array(2,
121440 20 27 73 65 63 73 27 2c 20 31 29 2c 0a 61 72 72 61 79 28 36 30 2c 20 27 31 20 6d 69 6e 27 29 2c .'secs',.1),.array(60,.'1.min'),
121460 0a 61 72 72 61 79 28 31 32 30 2c 20 27 6d 69 6e 73 27 2c 20 36 30 29 2c 0a 61 72 72 61 79 28 33 .array(120,.'mins',.60),.array(3
121480 36 30 30 2c 20 27 31 20 68 72 27 29 2c 0a 61 72 72 61 79 28 37 32 30 30 2c 20 27 68 72 73 27 2c 600,.'1.hr'),.array(7200,.'hrs',
1214a0 20 33 36 30 30 29 2c 0a 61 72 72 61 79 28 38 36 34 30 30 2c 20 27 31 20 64 61 79 27 29 2c 0a 61 .3600),.array(86400,.'1.day'),.a
1214c0 72 72 61 79 28 31 37 32 38 30 30 2c 20 27 64 61 79 73 27 2c 20 38 36 34 30 30 29 2c 0a 29 3b 0a rray(172800,.'days',.86400),.);.
1214e0 0a 66 6f 72 65 61 63 68 20 28 24 74 69 6d 65 46 6f 72 6d 61 74 73 20 61 73 20 24 69 6e 64 65 78 .foreach.($timeFormats.as.$index
121500 20 3d 3e 20 24 66 6f 72 6d 61 74 29 20 7b 0a 69 66 20 28 24 73 65 63 73 20 3e 3d 20 24 66 6f 72 .=>.$format).{.if.($secs.>=.$for
121520 6d 61 74 5b 30 5d 29 20 7b 0a 69 66 20 28 28 69 73 73 65 74 28 24 74 69 6d 65 46 6f 72 6d 61 74 mat[0]).{.if.((isset($timeFormat
121540 73 5b 24 69 6e 64 65 78 20 2b 20 31 5d 29 20 26 26 20 24 73 65 63 73 20 3c 20 24 74 69 6d 65 46 s[$index.+.1]).&&.$secs.<.$timeF
121560 6f 72 6d 61 74 73 5b 24 69 6e 64 65 78 20 2b 20 31 5d 5b 30 5d 29 0a 7c 7c 20 24 69 6e 64 65 78 ormats[$index.+.1][0]).||.$index
121580 20 3d 3d 20 5c 63 6f 75 6e 74 28 24 74 69 6d 65 46 6f 72 6d 61 74 73 29 20 2d 20 31 0a 29 20 7b .==.\count($timeFormats).-.1.).{
1215a0 0a 69 66 20 28 32 20 3d 3d 20 5c 63 6f 75 6e 74 28 24 66 6f 72 6d 61 74 29 29 20 7b 0a 72 65 74 .if.(2.==.\count($format)).{.ret
1215c0 75 72 6e 20 24 66 6f 72 6d 61 74 5b 31 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 6c 6f 6f 72 28 urn.$format[1];.}..return.floor(
1215e0 24 73 65 63 73 20 2f 20 24 66 6f 72 6d 61 74 5b 32 5d 29 2e 27 20 27 2e 24 66 6f 72 6d 61 74 5b $secs./.$format[2]).'.'.$format[
121600 31 5d 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 1];.}.}.}.}..public.static.funct
121620 69 6f 6e 20 66 6f 72 6d 61 74 4d 65 6d 6f 72 79 28 24 6d 65 6d 6f 72 79 29 0a 7b 0a 69 66 20 28 ion.formatMemory($memory).{.if.(
121640 24 6d 65 6d 6f 72 79 20 3e 3d 20 31 30 32 34 20 2a 20 31 30 32 34 20 2a 20 31 30 32 34 29 20 7b $memory.>=.1024.*.1024.*.1024).{
121660 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 25 2e 31 66 20 47 69 42 27 2c 20 24 6d 65 6d .return.sprintf('%.1f.GiB',.$mem
121680 6f 72 79 20 2f 20 31 30 32 34 20 2f 20 31 30 32 34 20 2f 20 31 30 32 34 29 3b 0a 7d 0a 0a 69 66 ory./.1024./.1024./.1024);.}..if
1216a0 20 28 24 6d 65 6d 6f 72 79 20 3e 3d 20 31 30 32 34 20 2a 20 31 30 32 34 29 20 7b 0a 72 65 74 75 .($memory.>=.1024.*.1024).{.retu
1216c0 72 6e 20 73 70 72 69 6e 74 66 28 27 25 2e 31 66 20 4d 69 42 27 2c 20 24 6d 65 6d 6f 72 79 20 2f rn.sprintf('%.1f.MiB',.$memory./
1216e0 20 31 30 32 34 20 2f 20 31 30 32 34 29 3b 0a 7d 0a 0a 69 66 20 28 24 6d 65 6d 6f 72 79 20 3e 3d .1024./.1024);.}..if.($memory.>=
121700 20 31 30 32 34 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 25 64 20 4b 69 42 27 .1024).{.return.sprintf('%d.KiB'
121720 2c 20 24 6d 65 6d 6f 72 79 20 2f 20 31 30 32 34 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 70 72 ,.$memory./.1024);.}..return.spr
121740 69 6e 74 66 28 27 25 64 20 42 27 2c 20 24 6d 65 6d 6f 72 79 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 intf('%d.B',.$memory);.}..public
121760 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 .static.function.strlenWithoutDe
121780 63 6f 72 61 74 69 6f 6e 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 coration(OutputFormatterInterfac
1217a0 65 20 24 66 6f 72 6d 61 74 74 65 72 2c 20 24 73 74 72 69 6e 67 29 0a 7b 0a 72 65 74 75 72 6e 20 e.$formatter,.$string).{.return.
1217c0 73 65 6c 66 3a 3a 73 74 72 6c 65 6e 28 73 65 6c 66 3a 3a 72 65 6d 6f 76 65 44 65 63 6f 72 61 74 self::strlen(self::removeDecorat
1217e0 69 6f 6e 28 24 66 6f 72 6d 61 74 74 65 72 2c 20 24 73 74 72 69 6e 67 29 29 3b 0a 7d 0a 0a 70 75 ion($formatter,.$string));.}..pu
121800 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 44 65 63 6f 72 blic.static.function.removeDecor
121820 61 74 69 6f 6e 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 ation(OutputFormatterInterface.$
121840 66 6f 72 6d 61 74 74 65 72 2c 20 24 73 74 72 69 6e 67 29 0a 7b 0a 24 69 73 44 65 63 6f 72 61 74 formatter,.$string).{.$isDecorat
121860 65 64 20 3d 20 24 66 6f 72 6d 61 74 74 65 72 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a ed.=.$formatter->isDecorated();.
121880 24 66 6f 72 6d 61 74 74 65 72 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 66 61 6c 73 65 29 3b $formatter->setDecorated(false);
1218a0 0a 0a 20 24 73 74 72 69 6e 67 20 3d 20 24 66 6f 72 6d 61 74 74 65 72 2d 3e 66 6f 72 6d 61 74 28 ...$string.=.$formatter->format(
1218c0 24 73 74 72 69 6e 67 29 3b 0a 0a 20 24 73 74 72 69 6e 67 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 $string);...$string.=.preg_repla
1218e0 63 65 28 22 2f 5c 30 33 33 5c 5b 5b 5e 6d 5d 2a 6d 2f 22 2c 20 27 27 2c 20 24 73 74 72 69 6e 67 ce("/\033\[[^m]*m/",.'',.$string
121900 29 3b 0a 24 66 6f 72 6d 61 74 74 65 72 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 69 73 44 );.$formatter->setDecorated($isD
121920 65 63 6f 72 61 74 65 64 29 3b 0a 0a 72 65 74 75 72 6e 20 24 73 74 72 69 6e 67 3b 0a 7d 0a 7d 0a ecorated);..return.$string;.}.}.
121940 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
121960 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 0a 0a 0a y\Component\Console\Helper;.....
121980 0a 0a 69 6e 74 65 72 66 61 63 65 20 48 65 6c 70 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a ..interface.HelperInterface.{...
1219a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 6c 70 65 72 53 65 74 28 48 65 .public.function.setHelperSet(He
1219c0 6c 70 65 72 53 65 74 20 24 68 65 6c 70 65 72 53 65 74 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a lperSet.$helperSet.=.null);.....
1219e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 ..public.function.getHelperSet()
121a00 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 ;.......public.function.getName(
121a20 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 );.}.<?php...........namespace.S
121a40 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b ymfony\Component\Console\Helper;
121a60 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ..use.Symfony\Component\Console\
121a80 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d Command\Command;.use.Symfony\Com
121aa0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 ponent\Console\Exception\Invalid
121ac0 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 48 ArgumentException;.......class.H
121ae0 65 6c 70 65 72 53 65 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 41 67 67 elperSet.implements.\IteratorAgg
121b00 72 65 67 61 74 65 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 68 65 6c 70 65 72 73 20 3d 20 61 regate.{....private.$helpers.=.a
121b20 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 0a 0a 0a 0a 70 75 rray();.private.$command;.....pu
121b40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 blic.function.__construct(array.
121b60 24 68 65 6c 70 65 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 $helpers.=.array()).{.foreach.($
121b80 68 65 6c 70 65 72 73 20 61 73 20 24 61 6c 69 61 73 20 3d 3e 20 24 68 65 6c 70 65 72 29 20 7b 0a helpers.as.$alias.=>.$helper).{.
121ba0 24 74 68 69 73 2d 3e 73 65 74 28 24 68 65 6c 70 65 72 2c 20 5c 69 73 5f 69 6e 74 28 24 61 6c 69 $this->set($helper,.\is_int($ali
121bc0 61 73 29 20 3f 20 6e 75 6c 6c 20 3a 20 24 61 6c 69 61 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a as).?.null.:.$alias);.}.}.......
121be0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 28 48 65 6c 70 65 72 49 6e 74 65 72 .public.function.set(HelperInter
121c00 66 61 63 65 20 24 68 65 6c 70 65 72 2c 20 24 61 6c 69 61 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 face.$helper,.$alias.=.null).{.$
121c20 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 68 65 6c 70 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 this->helpers[$helper->getName()
121c40 5d 20 3d 20 24 68 65 6c 70 65 72 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 6c 69 61 73 ].=.$helper;.if.(null.!==.$alias
121c60 29 20 7b 0a 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 61 6c 69 61 73 5d 20 3d 20 24 68 65 ).{.$this->helpers[$alias].=.$he
121c80 6c 70 65 72 3b 0a 7d 0a 0a 24 68 65 6c 70 65 72 2d 3e 73 65 74 48 65 6c 70 65 72 53 65 74 28 24 lper;.}..$helper->setHelperSet($
121ca0 74 68 69 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e this);.}.........public.function
121cc0 20 68 61 73 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 .has($name).{.return.isset($this
121ce0 2d 3e 68 65 6c 70 65 72 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ->helpers[$name]);.}...........p
121d00 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 ublic.function.get($name).{.if.(
121d20 21 24 74 68 69 73 2d 3e 68 61 73 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 !$this->has($name)).{.throw.new.
121d40 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 InvalidArgumentException(sprintf
121d60 28 27 54 68 65 20 68 65 6c 70 65 72 20 22 25 73 22 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 ('The.helper."%s".is.not.defined
121d80 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 69 66 20 28 27 64 69 61 6c 6f 67 27 20 3d 3d 3d .',.$name));.}..if.('dialog'.===
121da0 20 24 6e 61 6d 65 20 26 26 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e 61 6d 65 5d 20 .$name.&&.$this->helpers[$name].
121dc0 69 6e 73 74 61 6e 63 65 6f 66 20 44 69 61 6c 6f 67 48 65 6c 70 65 72 29 20 7b 0a 40 74 72 69 67 instanceof.DialogHelper).{.@trig
121de0 67 65 72 5f 65 72 72 6f 72 28 27 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f ger_error('"Symfony\Component\Co
121e00 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 44 69 61 6c 6f 67 48 65 6c 70 65 72 22 20 69 73 20 64 65 nsole\Helper\DialogHelper".is.de
121e20 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 precated.since.Symfony.2.5.and.w
121e40 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 22 53 79 6d 66 ill.be.removed.in.3.0..Use."Symf
121e60 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 51 75 65 ony\Component\Console\Helper\Que
121e80 73 74 69 6f 6e 48 65 6c 70 65 72 22 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 stionHelper".instead.',.E_USER_D
121ea0 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 70 72 6f 67 72 65 73 73 27 EPRECATED);.}.elseif.('progress'
121ec0 20 3d 3d 3d 20 24 6e 61 6d 65 20 26 26 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 6e 61 .===.$name.&&.$this->helpers[$na
121ee0 6d 65 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 50 72 6f 67 72 65 73 73 48 65 6c 70 65 72 29 20 7b me].instanceof.ProgressHelper).{
121f00 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e .@trigger_error('"Symfony\Compon
121f20 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 50 72 6f 67 72 65 73 73 48 65 6c 70 65 ent\Console\Helper\ProgressHelpe
121f40 72 22 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 r".is.deprecated.since.Symfony.2
121f60 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 .5.and.will.be.removed.in.3.0..U
121f80 73 65 20 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 se."Symfony\Component\Console\He
121fa0 6c 70 65 72 5c 50 72 6f 67 72 65 73 73 42 61 72 22 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 lper\ProgressBar".instead.',.E_U
121fc0 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 74 61 62 6c SER_DEPRECATED);.}.elseif.('tabl
121fe0 65 27 20 3d 3d 3d 20 24 6e 61 6d 65 20 26 26 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b 24 e'.===.$name.&&.$this->helpers[$
122000 6e 61 6d 65 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 48 65 6c 70 65 72 29 20 7b 0a name].instanceof.TableHelper).{.
122020 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 22 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 @trigger_error('"Symfony\Compone
122040 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 48 65 6c 70 65 72 22 20 69 nt\Console\Helper\TableHelper".i
122060 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 s.deprecated.since.Symfony.2.5.a
122080 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 22 nd.will.be.removed.in.3.0..Use."
1220a0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 Symfony\Component\Console\Helper
1220c0 5c 54 61 62 6c 65 22 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 \Table".instead.',.E_USER_DEPREC
1220e0 41 54 45 44 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 6c 70 65 72 73 5b ATED);.}..return.$this->helpers[
122100 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f $name];.}..public.function.setCo
122120 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 20 3d 20 6e 75 6c 6c 29 0a 7b mmand(Command.$command.=.null).{
122140 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a .$this->command.=.$command;.}...
122160 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 29 ....public.function.getCommand()
122180 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a .{.return.$this->command;.}.....
1221a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 74 65 72 61 74 6f 72 28 29 0a 7b 0a public.function.getIterator().{.
1221c0 72 65 74 75 72 6e 20 6e 65 77 20 5c 41 72 72 61 79 49 74 65 72 61 74 6f 72 28 24 74 68 69 73 2d return.new.\ArrayIterator($this-
1221e0 3e 68 65 6c 70 65 72 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e >helpers);.}.}.<?php...........n
122200 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f amespace.Symfony\Component\Conso
122220 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e le\Helper;..use.Symfony\Componen
122240 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 41 77 61 72 65 49 6e 74 65 72 66 t\Console\Input\InputAwareInterf
122260 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ace;.use.Symfony\Component\Conso
122280 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 61 le\Input\InputInterface;.......a
1222a0 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 49 6e 70 75 74 41 77 61 72 65 48 65 6c 70 65 72 20 65 bstract.class.InputAwareHelper.e
1222c0 78 74 65 6e 64 73 20 48 65 6c 70 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 70 75 74 41 77 xtends.Helper.implements.InputAw
1222e0 61 72 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 70 75 74 3b areInterface.{.protected.$input;
122300 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 28 49 6e .....public.function.setInput(In
122320 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e putInterface.$input).{.$this->in
122340 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a put.=.$input;.}.}.<?php.........
122360 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f ..namespace.Symfony\Component\Co
122380 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f nsole\Helper;..use.Symfony\Compo
1223a0 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 nent\Console\Output\ConsoleOutpu
1223c0 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e tInterface;.use.Symfony\Componen
1223e0 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 t\Console\Output\OutputInterface
122400 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c ;.use.Symfony\Component\Process\
122420 45 78 63 65 70 74 69 6f 6e 5c 50 72 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e Exception\ProcessFailedException
122440 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c ;.use.Symfony\Component\Process\
122460 50 72 6f 63 65 73 73 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 Process;.use.Symfony\Component\P
122480 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 42 75 69 6c 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 rocess\ProcessBuilder;.......cla
1224a0 73 73 20 50 72 6f 63 65 73 73 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a ss.ProcessHelper.extends.Helper.
1224c0 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 {.............public.function.ru
1224e0 6e 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 63 6d 64 2c n(OutputInterface.$output,.$cmd,
122500 20 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 2c 20 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c .$error.=.null,.$callback.=.null
122520 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a ,.$verbosity.=.OutputInterface::
122540 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 29 0a 7b 0a 69 66 20 28 24 6f VERBOSITY_VERY_VERBOSE).{.if.($o
122560 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e utput.instanceof.ConsoleOutputIn
122580 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 terface).{.$output.=.$output->ge
1225a0 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 tErrorOutput();.}..$formatter.=.
1225c0 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 64 65 62 75 $this->getHelperSet()->get('debu
1225e0 67 5f 66 6f 72 6d 61 74 74 65 72 27 29 3b 0a 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 63 g_formatter');..if.(\is_array($c
122600 6d 64 29 29 20 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 50 72 6f 63 65 73 73 42 75 69 6c 64 65 72 md)).{.$process.=.ProcessBuilder
122620 3a 3a 63 72 65 61 74 65 28 24 63 6d 64 29 2d 3e 67 65 74 50 72 6f 63 65 73 73 28 29 3b 0a 7d 20 ::create($cmd)->getProcess();.}.
122640 65 6c 73 65 69 66 20 28 24 63 6d 64 20 69 6e 73 74 61 6e 63 65 6f 66 20 50 72 6f 63 65 73 73 29 elseif.($cmd.instanceof.Process)
122660 20 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 24 63 6d 64 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 .{.$process.=.$cmd;.}.else.{.$pr
122680 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 28 24 63 6d 64 29 3b 0a 7d 0a 0a 69 66 ocess.=.new.Process($cmd);.}..if
1226a0 20 28 24 76 65 72 62 6f 73 69 74 79 20 3c 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 .($verbosity.<=.$output->getVerb
1226c0 6f 73 69 74 79 28 29 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 66 6f 72 6d 61 osity()).{.$output->write($forma
1226e0 74 74 65 72 2d 3e 73 74 61 72 74 28 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 70 72 6f tter->start(spl_object_hash($pro
122700 63 65 73 73 29 2c 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 53 74 72 69 6e 67 28 24 70 72 6f 63 cess),.$this->escapeString($proc
122720 65 73 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 29 29 29 29 3b 0a 7d 0a 0a 69 66 20 ess->getCommandLine())));.}..if.
122740 28 24 6f 75 74 70 75 74 2d 3e 69 73 44 65 62 75 67 28 29 29 20 7b 0a 24 63 61 6c 6c 62 61 63 6b ($output->isDebug()).{.$callback
122760 20 3d 20 24 74 68 69 73 2d 3e 77 72 61 70 43 61 6c 6c 62 61 63 6b 28 24 6f 75 74 70 75 74 2c 20 .=.$this->wrapCallback($output,.
122780 24 70 72 6f 63 65 73 73 2c 20 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 7d 0a 0a 24 70 72 6f 63 65 73 $process,.$callback);.}..$proces
1227a0 73 2d 3e 72 75 6e 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 0a 69 66 20 28 24 76 65 72 62 6f 73 69 s->run($callback);..if.($verbosi
1227c0 74 79 20 3c 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b ty.<=.$output->getVerbosity()).{
1227e0 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 70 72 6f 63 65 73 73 2d 3e 69 73 53 75 63 63 65 73 73 66 .$message.=.$process->isSuccessf
122800 75 6c 28 29 20 3f 20 27 43 6f 6d 6d 61 6e 64 20 72 61 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 ul().?.'Command.ran.successfully
122820 27 20 3a 20 73 70 72 69 6e 74 66 28 27 25 73 20 43 6f 6d 6d 61 6e 64 20 64 69 64 20 6e 6f 74 20 '.:.sprintf('%s.Command.did.not.
122840 72 75 6e 20 73 75 63 63 65 73 73 66 75 6c 6c 79 27 2c 20 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 run.successfully',.$process->get
122860 45 78 69 74 43 6f 64 65 28 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 66 6f 72 ExitCode());.$output->write($for
122880 6d 61 74 74 65 72 2d 3e 73 74 6f 70 28 73 70 6c 5f 6f 62 6a 65 63 74 5f 68 61 73 68 28 24 70 72 matter->stop(spl_object_hash($pr
1228a0 6f 63 65 73 73 29 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 70 72 6f 63 65 73 73 2d 3e 69 73 53 75 ocess),.$message,.$process->isSu
1228c0 63 63 65 73 73 66 75 6c 28 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 70 72 6f 63 65 73 73 2d 3e ccessful()));.}..if.(!$process->
1228e0 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 65 72 72 6f isSuccessful().&&.null.!==.$erro
122900 72 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 27 3c r).{.$output->writeln(sprintf('<
122920 65 72 72 6f 72 3e 25 73 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 error>%s</error>',.$this->escape
122940 53 74 72 69 6e 67 28 24 65 72 72 6f 72 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f String($error)));.}..return.$pro
122960 63 65 73 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 cess;.}....................publi
122980 63 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 52 75 6e 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 c.function.mustRun(OutputInterfa
1229a0 63 65 20 24 6f 75 74 70 75 74 2c 20 24 63 6d 64 2c 20 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 2c ce.$output,.$cmd,.$error.=.null,
1229c0 20 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 .$callback.=.null).{.$process.=.
1229e0 24 74 68 69 73 2d 3e 72 75 6e 28 24 6f 75 74 70 75 74 2c 20 24 63 6d 64 2c 20 24 65 72 72 6f 72 $this->run($output,.$cmd,.$error
122a00 2c 20 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 0a 69 66 20 28 21 24 70 72 6f 63 65 73 73 2d 3e 69 73 ,.$callback);..if.(!$process->is
122a20 53 75 63 63 65 73 73 66 75 6c 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 72 6f 63 65 73 Successful()).{.throw.new.Proces
122a40 73 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e 28 24 70 72 6f 63 65 73 73 29 3b 0a 7d 0a 0a 72 sFailedException($process);.}..r
122a60 65 74 75 72 6e 20 24 70 72 6f 63 65 73 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c eturn.$process;.}...........publ
122a80 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 61 70 43 61 6c 6c 62 61 63 6b 28 4f 75 74 70 75 74 49 ic.function.wrapCallback(OutputI
122aa0 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 50 72 6f 63 65 73 73 20 24 70 72 6f 63 65 nterface.$output,.Process.$proce
122ac0 73 73 2c 20 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6f 75 74 ss,.$callback.=.null).{.if.($out
122ae0 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 put.instanceof.ConsoleOutputInte
122b00 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 rface).{.$output.=.$output->getE
122b20 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 74 rrorOutput();.}..$formatter.=.$t
122b40 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 67 65 74 28 27 64 65 62 75 67 5f his->getHelperSet()->get('debug_
122b60 66 6f 72 6d 61 74 74 65 72 27 29 3b 0a 0a 24 74 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 0a 72 65 formatter');..$that.=.$this;..re
122b80 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 74 79 70 65 2c 20 24 62 75 66 66 65 72 29 20 75 turn.function.($type,.$buffer).u
122ba0 73 65 20 28 24 6f 75 74 70 75 74 2c 20 24 70 72 6f 63 65 73 73 2c 20 24 63 61 6c 6c 62 61 63 6b se.($output,.$process,.$callback
122bc0 2c 20 24 66 6f 72 6d 61 74 74 65 72 2c 20 24 74 68 61 74 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e ,.$formatter,.$that).{.$output->
122be0 77 72 69 74 65 28 24 66 6f 72 6d 61 74 74 65 72 2d 3e 70 72 6f 67 72 65 73 73 28 73 70 6c 5f 6f write($formatter->progress(spl_o
122c00 62 6a 65 63 74 5f 68 61 73 68 28 24 70 72 6f 63 65 73 73 29 2c 20 24 74 68 61 74 2d 3e 65 73 63 bject_hash($process),.$that->esc
122c20 61 70 65 53 74 72 69 6e 67 28 24 62 75 66 66 65 72 29 2c 20 50 72 6f 63 65 73 73 3a 3a 45 52 52 apeString($buffer),.Process::ERR
122c40 20 3d 3d 3d 20 24 74 79 70 65 29 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 61 6c .===.$type));..if.(null.!==.$cal
122c60 6c 62 61 63 6b 29 20 7b 0a 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 61 6c 6c 62 61 lback).{.\call_user_func($callba
122c80 63 6b 2c 20 24 74 79 70 65 2c 20 24 62 75 66 66 65 72 29 3b 0a 7d 0a 7d 3b 0a 7d 0a 0a 0a 0a 0a ck,.$type,.$buffer);.}.};.}.....
122ca0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 53 74 72 69 6e 67 28 24 ..public.function.escapeString($
122cc0 73 74 72 29 0a 7b 0a 72 65 74 75 72 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 3c 27 2c 20 27 str).{.return.str_replace('<',.'
122ce0 5c 5c 3c 27 2c 20 24 73 74 72 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 \\<',.$str);.}.....public.functi
122d00 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 70 72 6f 63 65 73 73 27 3b on.getName().{.return.'process';
122d20 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 .}.}.<?php...........namespace.S
122d40 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b ymfony\Component\Console\Helper;
122d60 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ..use.Symfony\Component\Console\
122d80 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 Exception\LogicException;.use.Sy
122da0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 mfony\Component\Console\Output\C
122dc0 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f onsoleOutputInterface;.use.Symfo
122de0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 ny\Component\Console\Output\Outp
122e00 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 67 72 65 utInterface;........class.Progre
122e20 73 73 42 61 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 62 61 72 57 69 64 74 68 20 3d 20 32 38 3b 0a ssBar.{.private.$barWidth.=.28;.
122e40 70 72 69 76 61 74 65 20 24 62 61 72 43 68 61 72 3b 0a 70 72 69 76 61 74 65 20 24 65 6d 70 74 79 private.$barChar;.private.$empty
122e60 42 61 72 43 68 61 72 20 3d 20 27 2d 27 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 67 72 65 73 73 BarChar.=.'-';.private.$progress
122e80 43 68 61 72 20 3d 20 27 3e 27 3b 0a 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 3b 0a 70 72 69 Char.=.'>';.private.$format;.pri
122ea0 76 61 74 65 20 24 69 6e 74 65 72 6e 61 6c 46 6f 72 6d 61 74 3b 0a 70 72 69 76 61 74 65 20 24 72 vate.$internalFormat;.private.$r
122ec0 65 64 72 61 77 46 72 65 71 20 3d 20 31 3b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a edrawFreq.=.1;.private.$output;.
122ee0 70 72 69 76 61 74 65 20 24 73 74 65 70 20 3d 20 30 3b 0a 70 72 69 76 61 74 65 20 24 6d 61 78 3b private.$step.=.0;.private.$max;
122f00 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 54 69 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 73 74 .private.$startTime;.private.$st
122f20 65 70 57 69 64 74 68 3b 0a 70 72 69 76 61 74 65 20 24 70 65 72 63 65 6e 74 20 3d 20 30 2e 30 3b epWidth;.private.$percent.=.0.0;
122f40 0a 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 4c 69 6e 65 43 6f 75 6e 74 3b 0a 70 72 69 76 61 .private.$formatLineCount;.priva
122f60 74 65 20 24 6d 65 73 73 61 67 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 te.$messages.=.array();.private.
122f80 24 6f 76 65 72 77 72 69 74 65 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 66 69 72 73 $overwrite.=.true;.private.$firs
122fa0 74 52 75 6e 20 3d 20 74 72 75 65 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 66 6f tRun.=.true;..private.static.$fo
122fc0 72 6d 61 74 74 65 72 73 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 66 6f 72 6d 61 74 rmatters;.private.static.$format
122fe0 73 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 s;......public.function.__constr
123000 75 63 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 uct(OutputInterface.$output,.$ma
123020 78 20 3d 20 30 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 x.=.0).{.if.($output.instanceof.
123040 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 ConsoleOutputInterface).{.$outpu
123060 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d t.=.$output->getErrorOutput();.}
123080 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a 24 74 68 69 73 ..$this->output.=.$output;.$this
1230a0 2d 3e 73 65 74 4d 61 78 53 74 65 70 73 28 24 6d 61 78 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 ->setMaxSteps($max);..if.(!$this
1230c0 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 0a 20 24 74 68 ->output->isDecorated()).{...$th
1230e0 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 20 24 74 68 69 73 2d is->overwrite.=.false;....$this-
123100 3e 73 65 74 52 65 64 72 61 77 46 72 65 71 75 65 6e 63 79 28 24 6d 61 78 20 2f 20 31 30 29 3b 0a >setRedrawFrequency($max./.10);.
123120 7d 0a 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 7d 0a }..$this->startTime.=.time();.}.
123140 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 .........public.static.function.
123160 73 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 44 65 66 69 6e 69 74 69 6f setPlaceholderFormatterDefinitio
123180 6e 28 24 6e 61 6d 65 2c 20 24 63 61 6c 6c 61 62 6c 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a n($name,.$callable).{.if.(!self:
1231a0 3a 24 66 6f 72 6d 61 74 74 65 72 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 :$formatters).{.self::$formatter
1231c0 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 s.=.self::initPlaceholderFormatt
1231e0 65 72 73 28 29 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 5b 24 6e 61 6d ers();.}..self::$formatters[$nam
123200 65 5d 20 3d 20 24 63 61 6c 6c 61 62 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 e].=.$callable;.}.........public
123220 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 .static.function.getPlaceholderF
123240 6f 72 6d 61 74 74 65 72 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 ormatterDefinition($name).{.if.(
123260 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 6f 72 !self::$formatters).{.self::$for
123280 6d 61 74 74 65 72 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 matters.=.self::initPlaceholderF
1232a0 6f 72 6d 61 74 74 65 72 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 73 65 6c ormatters();.}..return.isset(sel
1232c0 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 73 65 6c 66 3a 3a 24 f::$formatters[$name]).?.self::$
1232e0 66 6f 72 6d 61 74 74 65 72 73 5b 24 6e 61 6d 65 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a formatters[$name].:.null;.}.....
123300 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 .....public.static.function.setF
123320 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 66 6f 72 6d 61 74 29 0a ormatDefinition($name,.$format).
123340 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 {.if.(!self::$formats).{.self::$
123360 66 6f 72 6d 61 74 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 3b 0a 7d formats.=.self::initFormats();.}
123380 0a 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 66 6f 72 6d 61 ..self::$formats[$name].=.$forma
1233a0 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 t;.}.........public.static.funct
1233c0 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b ion.getFormatDefinition($name).{
1233e0 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 66 .if.(!self::$formats).{.self::$f
123400 6f 72 6d 61 74 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 3b 0a 7d 0a ormats.=.self::initFormats();.}.
123420 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 6e 61 .return.isset(self::$formats[$na
123440 6d 65 5d 29 20 3f 20 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 6e 61 6d 65 5d 20 3a 20 6e me]).?.self::$formats[$name].:.n
123460 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ull;.}............public.functio
123480 6e 20 73 65 74 4d 65 73 73 61 67 65 28 24 6d 65 73 73 61 67 65 2c 20 24 6e 61 6d 65 20 3d 20 27 n.setMessage($message,.$name.=.'
1234a0 6d 65 73 73 61 67 65 27 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 73 5b 24 6e 61 6d message').{.$this->messages[$nam
1234c0 65 5d 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f e].=.$message;.}..public.functio
1234e0 6e 20 67 65 74 4d 65 73 73 61 67 65 28 24 6e 61 6d 65 20 3d 20 27 6d 65 73 73 61 67 65 27 29 0a n.getMessage($name.=.'message').
123500 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 73 5b 24 6e 61 6d 65 5d 3b {.return.$this->messages[$name];
123520 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 72 .}.......public.function.getStar
123540 74 54 69 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d tTime().{.return.$this->startTim
123560 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d 61 e;.}.......public.function.getMa
123580 78 53 74 65 70 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 3b 0a 7d 0a xSteps().{.return.$this->max;.}.
1235a0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 65 70 28 ........public.function.getStep(
1235c0 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 ).{.@trigger_error('The.'.__METH
1235e0 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 OD__.'.method.is.deprecated.sinc
123600 65 20 53 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 e.Symfony.2.6.and.will.be.remove
123620 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 67 65 74 50 72 6f 67 72 65 73 73 28 29 20 d.in.3.0..Use.the.getProgress().
123640 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 method.instead.',.E_USER_DEPRECA
123660 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 TED);..return.$this->getProgress
123680 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 ();.}.......public.function.getP
1236a0 72 6f 67 72 65 73 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 65 70 3b 0a rogress().{.return.$this->step;.
1236c0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 65 }.........public.function.getSte
1236e0 70 57 69 64 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 65 70 57 69 64 pWidth().{.return.$this->stepWid
123700 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 th;.}.......public.function.getP
123720 72 6f 67 72 65 73 73 50 65 72 63 65 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d rogressPercent().{.return.$this-
123740 3e 70 65 72 63 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f >percent;.}.......public.functio
123760 6e 20 73 65 74 42 61 72 57 69 64 74 68 28 24 73 69 7a 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 61 n.setBarWidth($size).{.$this->ba
123780 72 57 69 64 74 68 20 3d 20 28 69 6e 74 29 20 24 73 69 7a 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 rWidth.=.(int).$size;.}.......pu
1237a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 61 72 57 69 64 74 68 28 29 0a 7b 0a 72 65 blic.function.getBarWidth().{.re
1237c0 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 turn.$this->barWidth;.}.......pu
1237e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 61 72 43 68 61 72 61 63 74 65 72 28 24 63 blic.function.setBarCharacter($c
123800 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d har).{.$this->barChar.=.$char;.}
123820 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 61 72 43 68 61 .......public.function.getBarCha
123840 72 61 63 74 65 72 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 racter().{.if.(null.===.$this->b
123860 61 72 43 68 61 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f 20 27 3d arChar).{.return.$this->max.?.'=
123880 27 20 3a 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 3b 0a 7d 0a 0a 72 65 74 75 '.:.$this->emptyBarChar;.}..retu
1238a0 72 6e 20 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 rn.$this->barChar;.}.......publi
1238c0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6d 70 74 79 42 61 72 43 68 61 72 61 63 74 65 72 28 c.function.setEmptyBarCharacter(
1238e0 24 63 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 20 3d 20 24 $char).{.$this->emptyBarChar.=.$
123900 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 char;.}.......public.function.ge
123920 74 45 6d 70 74 79 42 61 72 43 68 61 72 61 63 74 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 tEmptyBarCharacter().{.return.$t
123940 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 his->emptyBarChar;.}.......publi
123960 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 28 c.function.setProgressCharacter(
123980 24 63 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 43 68 61 72 20 3d 20 24 $char).{.$this->progressChar.=.$
1239a0 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 char;.}.......public.function.ge
1239c0 74 50 72 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 tProgressCharacter().{.return.$t
1239e0 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 his->progressChar;.}.......publi
123a00 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 6d 61 74 28 24 66 6f 72 6d 61 74 29 0a 7b 0a c.function.setFormat($format).{.
123a20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 74 $this->format.=.null;.$this->int
123a40 65 72 6e 61 6c 46 6f 72 6d 61 74 20 3d 20 24 66 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 ernalFormat.=.$format;.}.......p
123a60 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 64 72 61 77 46 72 65 71 75 65 6e 63 ublic.function.setRedrawFrequenc
123a80 79 28 24 66 72 65 71 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 20 3d 20 6d y($freq).{.$this->redrawFreq.=.m
123aa0 61 78 28 28 69 6e 74 29 20 24 66 72 65 71 2c 20 31 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ax((int).$freq,.1);.}.......publ
123ac0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 72 74 28 24 6d 61 78 20 3d 20 6e 75 6c 6c 29 0a 7b ic.function.start($max.=.null).{
123ae0 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 24 74 68 69 .$this->startTime.=.time();.$thi
123b00 73 2d 3e 73 74 65 70 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 70 65 72 63 65 6e 74 20 3d 20 30 2e s->step.=.0;.$this->percent.=.0.
123b20 30 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 6d 61 78 29 20 7b 0a 24 74 68 69 73 2d 3e 0;..if.(null.!==.$max).{.$this->
123b40 73 65 74 4d 61 78 53 74 65 70 73 28 24 6d 61 78 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 69 73 setMaxSteps($max);.}..$this->dis
123b60 70 6c 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f play();.}.........public.functio
123b80 6e 20 61 64 76 61 6e 63 65 28 24 73 74 65 70 20 3d 20 31 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 n.advance($step.=.1).{.$this->se
123ba0 74 50 72 6f 67 72 65 73 73 28 24 74 68 69 73 2d 3e 73 74 65 70 20 2b 20 24 73 74 65 70 29 3b 0a tProgress($this->step.+.$step);.
123bc0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 }...........public.function.setC
123be0 75 72 72 65 6e 74 28 24 73 74 65 70 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 urrent($step).{.@trigger_error('
123c00 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 The.'.__METHOD__.'.method.is.dep
123c20 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 recated.since.Symfony.2.6.and.wi
123c40 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 73 65 ll.be.removed.in.3.0..Use.the.se
123c60 74 50 72 6f 67 72 65 73 73 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f tProgress().method.instead.',.E_
123c80 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 65 74 50 72 6f USER_DEPRECATED);..$this->setPro
123ca0 67 72 65 73 73 28 24 73 74 65 70 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e gress($step);.}.......public.fun
123cc0 63 74 69 6f 6e 20 73 65 74 4f 76 65 72 77 72 69 74 65 28 24 6f 76 65 72 77 72 69 74 65 29 0a 7b ction.setOverwrite($overwrite).{
123ce0 0a 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 20 3d 20 28 62 6f 6f 6c 29 20 24 6f 76 65 72 .$this->overwrite.=.(bool).$over
123d00 77 72 69 74 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e write;.}.........public.function
123d20 20 73 65 74 50 72 6f 67 72 65 73 73 28 24 73 74 65 70 29 0a 7b 0a 24 73 74 65 70 20 3d 20 28 69 .setProgress($step).{.$step.=.(i
123d40 6e 74 29 20 24 73 74 65 70 3b 0a 69 66 20 28 24 73 74 65 70 20 3c 20 24 74 68 69 73 2d 3e 73 74 nt).$step;.if.($step.<.$this->st
123d60 65 70 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 ep).{.throw.new.LogicException('
123d80 59 6f 75 20 63 61 6e 5c 27 74 20 72 65 67 72 65 73 73 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 You.can\'t.regress.the.progress.
123da0 62 61 72 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 26 26 20 24 73 74 bar.');.}..if.($this->max.&&.$st
123dc0 65 70 20 3e 20 24 74 68 69 73 2d 3e 6d 61 78 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 61 78 20 3d 20 ep.>.$this->max).{.$this->max.=.
123de0 24 73 74 65 70 3b 0a 7d 0a 0a 24 70 72 65 76 50 65 72 69 6f 64 20 3d 20 28 69 6e 74 29 20 28 24 $step;.}..$prevPeriod.=.(int).($
123e00 74 68 69 73 2d 3e 73 74 65 70 20 2f 20 24 74 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 29 3b this->step./.$this->redrawFreq);
123e20 0a 24 63 75 72 72 50 65 72 69 6f 64 20 3d 20 28 69 6e 74 29 20 28 24 73 74 65 70 20 2f 20 24 74 .$currPeriod.=.(int).($step./.$t
123e40 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 29 3b 0a 24 74 68 69 73 2d 3e 73 74 65 70 20 3d 20 his->redrawFreq);.$this->step.=.
123e60 24 73 74 65 70 3b 0a 24 74 68 69 73 2d 3e 70 65 72 63 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 6d $step;.$this->percent.=.$this->m
123e80 61 78 20 3f 20 28 66 6c 6f 61 74 29 20 24 74 68 69 73 2d 3e 73 74 65 70 20 2f 20 24 74 68 69 73 ax.?.(float).$this->step./.$this
123ea0 2d 3e 6d 61 78 20 3a 20 30 3b 0a 69 66 20 28 24 70 72 65 76 50 65 72 69 6f 64 20 21 3d 3d 20 24 ->max.:.0;.if.($prevPeriod.!==.$
123ec0 63 75 72 72 50 65 72 69 6f 64 20 7c 7c 20 24 74 68 69 73 2d 3e 6d 61 78 20 3d 3d 3d 20 24 73 74 currPeriod.||.$this->max.===.$st
123ee0 65 70 29 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a ep).{.$this->display();.}.}.....
123f00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 69 73 68 28 29 0a 7b 0a 69 66 20 28 21 public.function.finish().{.if.(!
123f20 24 74 68 69 73 2d 3e 6d 61 78 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 61 78 20 3d 20 24 74 68 69 73 $this->max).{.$this->max.=.$this
123f40 2d 3e 73 74 65 70 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 74 65 70 20 3d 3d 3d 20 24 ->step;.}..if.($this->step.===.$
123f60 74 68 69 73 2d 3e 6d 61 78 20 26 26 20 21 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 29 20 this->max.&&.!$this->overwrite).
123f80 7b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 50 72 6f 67 72 65 73 {...return;.}..$this->setProgres
123fa0 73 28 24 74 68 69 73 2d 3e 6d 61 78 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s($this->max);.}.....public.func
123fc0 74 69 6f 6e 20 64 69 73 70 6c 61 79 28 29 0a 7b 0a 69 66 20 28 4f 75 74 70 75 74 49 6e 74 65 72 tion.display().{.if.(OutputInter
123fe0 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 3d 3d 3d 20 24 74 68 69 73 2d face::VERBOSITY_QUIET.===.$this-
124000 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 72 65 74 75 72 >output->getVerbosity()).{.retur
124020 6e 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 n;.}..if.(null.===.$this->format
124040 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 52 65 61 6c 46 6f 72 6d 61 74 28 24 74 68 69 73 2d 3e ).{.$this->setRealFormat($this->
124060 69 6e 74 65 72 6e 61 6c 46 6f 72 6d 61 74 20 3f 3a 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 internalFormat.?:.$this->determi
124080 6e 65 42 65 73 74 46 6f 72 6d 61 74 28 29 29 3b 0a 7d 0a 0a 0a 20 24 73 65 6c 66 20 3d 20 24 74 neBestFormat());.}....$self.=.$t
1240a0 68 69 73 3b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 24 6d his;.$output.=.$this->output;.$m
1240c0 65 73 73 61 67 65 73 20 3d 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 73 3b 0a 24 74 68 69 73 essages.=.$this->messages;.$this
1240e0 2d 3e 6f 76 65 72 77 72 69 74 65 28 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 ->overwrite(preg_replace_callbac
124100 6b 28 22 7b 25 28 5b 61 2d 7a 5c 2d 5f 5d 2b 29 28 3f 3a 5c 3a 28 5b 5e 25 5d 2b 29 29 3f 25 7d k("{%([a-z\-_]+)(?:\:([^%]+))?%}
124120 69 22 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 63 68 65 73 29 20 75 73 65 20 28 24 73 65 i",.function.($matches).use.($se
124140 6c 66 2c 20 24 6f 75 74 70 75 74 2c 20 24 6d 65 73 73 61 67 65 73 29 20 7b 0a 69 66 20 28 24 66 lf,.$output,.$messages).{.if.($f
124160 6f 72 6d 61 74 74 65 72 20 3d 20 24 73 65 6c 66 3a 3a 67 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 ormatter.=.$self::getPlaceholder
124180 46 6f 72 6d 61 74 74 65 72 44 65 66 69 6e 69 74 69 6f 6e 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 FormatterDefinition($matches[1])
1241a0 29 20 7b 0a 24 74 65 78 74 20 3d 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 66 6f 72 ).{.$text.=.\call_user_func($for
1241c0 6d 61 74 74 65 72 2c 20 24 73 65 6c 66 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 69 matter,.$self,.$output);.}.elsei
1241e0 66 20 28 69 73 73 65 74 28 24 6d 65 73 73 61 67 65 73 5b 24 6d 61 74 63 68 65 73 5b 31 5d 5d 29 f.(isset($messages[$matches[1]])
124200 29 20 7b 0a 24 74 65 78 74 20 3d 20 24 6d 65 73 73 61 67 65 73 5b 24 6d 61 74 63 68 65 73 5b 31 ).{.$text.=.$messages[$matches[1
124220 5d 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 30 5d 3b ]];.}.else.{.return.$matches[0];
124240 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 24 74 .}..if.(isset($matches[2])).{.$t
124260 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 25 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 24 ext.=.sprintf('%'.$matches[2],.$
124280 74 65 78 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 2c 20 24 74 68 69 73 text);.}..return.$text;.},.$this
1242a0 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ->format));.}.........public.fun
1242c0 63 74 69 6f 6e 20 63 6c 65 61 72 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6f 76 65 72 ction.clear().{.if.(!$this->over
1242e0 77 72 69 74 65 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d write).{.return;.}..if.(null.===
124300 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 52 65 61 6c .$this->format).{.$this->setReal
124320 46 6f 72 6d 61 74 28 24 74 68 69 73 2d 3e 69 6e 74 65 72 6e 61 6c 46 6f 72 6d 61 74 20 3f 3a 20 Format($this->internalFormat.?:.
124340 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 42 65 73 74 46 6f 72 6d 61 74 28 29 29 3b 0a 7d $this->determineBestFormat());.}
124360 0a 0a 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 28 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ..$this->overwrite('');.}.......
124380 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 52 65 61 6c 46 6f 72 6d 61 74 28 24 private.function.setRealFormat($
1243a0 66 6f 72 6d 61 74 29 0a 7b 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 6d 61 78 20 26 26 20 6e format).{...if.(!$this->max.&&.n
1243c0 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 67 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f ull.!==.self::getFormatDefinitio
1243e0 6e 28 24 66 6f 72 6d 61 74 2e 27 5f 6e 6f 6d 61 78 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 6f n($format.'_nomax')).{.$this->fo
124400 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 67 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e rmat.=.self::getFormatDefinition
124420 28 24 66 6f 72 6d 61 74 2e 27 5f 6e 6f 6d 61 78 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 6e 75 ($format.'_nomax');.}.elseif.(nu
124440 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 67 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e ll.!==.self::getFormatDefinition
124460 28 24 66 6f 72 6d 61 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c ($format)).{.$this->format.=.sel
124480 66 3a 3a 67 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 66 6f 72 6d 61 74 29 3b f::getFormatDefinition($format);
1244a0 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 24 66 6f 72 6d 61 .}.else.{.$this->format.=.$forma
1244c0 74 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 69 6e 65 43 6f 75 6e 74 20 3d 20 73 t;.}..$this->formatLineCount.=.s
1244e0 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 2c 20 22 5c 6e 22 29 ubstr_count($this->format,."\n")
124500 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 61 ;.}.......private.function.setMa
124520 78 53 74 65 70 73 28 24 6d 61 78 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 61 78 20 3d 20 6d 61 78 28 xSteps($max).{.$this->max.=.max(
124540 30 2c 20 28 69 6e 74 29 20 24 6d 61 78 29 3b 0a 24 74 68 69 73 2d 3e 73 74 65 70 57 69 64 74 68 0,.(int).$max);.$this->stepWidth
124560 20 3d 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 .=.$this->max.?.Helper::strlen($
124580 74 68 69 73 2d 3e 6d 61 78 29 20 3a 20 34 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 this->max).:.4;.}.......private.
1245a0 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 69 function.overwrite($message).{.i
1245c0 66 20 28 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 f.($this->overwrite).{.if.(!$thi
1245e0 73 2d 3e 66 69 72 73 74 52 75 6e 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e s->firstRun).{...$this->output->
124600 77 72 69 74 65 28 22 5c 78 30 44 22 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d write("\x0D");....$this->output-
124620 3e 77 72 69 74 65 28 22 5c 78 31 42 5b 32 4b 22 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d >write("\x1B[2K");....if.($this-
124640 3e 66 6f 72 6d 61 74 4c 69 6e 65 43 6f 75 6e 74 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 6f >formatLineCount.>.0).{.$this->o
124660 75 74 70 75 74 2d 3e 77 72 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 28 22 5c 78 31 42 5b 31 41 utput->write(str_repeat("\x1B[1A
124680 5c 78 31 42 5b 32 4b 22 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 69 6e 65 43 6f 75 6e 74 \x1B[2K",.$this->formatLineCount
1246a0 29 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 73 74 65 70 20 3e 20 ));.}.}.}.elseif.($this->step.>.
1246c0 30 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0).{.$this->output->writeln('');
1246e0 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 69 72 73 74 52 75 6e 20 3d 20 66 61 6c 73 65 3b 0a 0a 24 74 .}..$this->firstRun.=.false;..$t
124700 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a his->output->write($message);.}.
124720 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 42 65 73 74 46 .private.function.determineBestF
124740 6f 72 6d 61 74 28 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d ormat().{.switch.($this->output-
124760 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 0a 20 63 61 73 65 20 4f 75 74 70 75 74 >getVerbosity()).{...case.Output
124780 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 3a 0a 72 65 Interface::VERBOSITY_VERBOSE:.re
1247a0 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f 20 27 76 65 72 62 6f 73 65 27 20 3a 20 27 76 turn.$this->max.?.'verbose'.:.'v
1247c0 65 72 62 6f 73 65 5f 6e 6f 6d 61 78 27 3b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 erbose_nomax';.case.OutputInterf
1247e0 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 3a 0a 72 65 74 ace::VERBOSITY_VERY_VERBOSE:.ret
124800 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f 20 27 76 65 72 79 5f 76 65 72 62 6f 73 65 27 20 urn.$this->max.?.'very_verbose'.
124820 3a 20 27 76 65 72 79 5f 76 65 72 62 6f 73 65 5f 6e 6f 6d 61 78 27 3b 0a 63 61 73 65 20 4f 75 74 :.'very_verbose_nomax';.case.Out
124840 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 3a 0a 72 putInterface::VERBOSITY_DEBUG:.r
124860 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 78 20 3f 20 27 64 65 62 75 67 27 20 3a 20 27 64 65 eturn.$this->max.?.'debug'.:.'de
124880 62 75 67 5f 6e 6f 6d 61 78 27 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 bug_nomax';.default:.return.$thi
1248a0 73 2d 3e 6d 61 78 20 3f 20 27 6e 6f 72 6d 61 6c 27 20 3a 20 27 6e 6f 72 6d 61 6c 5f 6e 6f 6d 61 s->max.?.'normal'.:.'normal_noma
1248c0 78 27 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e x';.}.}..private.static.function
1248e0 20 69 6e 69 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 73 28 29 0a 7b 0a 72 .initPlaceholderFormatters().{.r
124900 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 62 61 72 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 eturn.array(.'bar'.=>.function.(
124920 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 ProgressBar.$bar,.OutputInterfac
124940 65 20 24 6f 75 74 70 75 74 29 20 7b 0a 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3d 20 66 6c 6f e.$output).{.$completeBars.=.flo
124960 6f 72 28 24 62 61 72 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 20 3e 20 30 20 3f 20 24 62 61 or($bar->getMaxSteps().>.0.?.$ba
124980 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 50 65 72 63 65 6e 74 28 29 20 2a 20 24 62 61 72 2d 3e r->getProgressPercent().*.$bar->
1249a0 67 65 74 42 61 72 57 69 64 74 68 28 29 20 3a 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 getBarWidth().:.$bar->getProgres
1249c0 73 28 29 20 25 20 24 62 61 72 2d 3e 67 65 74 42 61 72 57 69 64 74 68 28 29 29 3b 0a 24 64 69 73 s().%.$bar->getBarWidth());.$dis
1249e0 70 6c 61 79 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 24 62 61 72 2d 3e 67 65 74 42 61 72 43 68 play.=.str_repeat($bar->getBarCh
124a00 61 72 61 63 74 65 72 28 29 2c 20 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 29 3b 0a 69 66 20 28 24 aracter(),.$completeBars);.if.($
124a20 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3c 20 24 62 61 72 2d 3e 67 65 74 42 61 72 57 69 64 74 68 completeBars.<.$bar->getBarWidth
124a40 28 29 29 20 7b 0a 24 65 6d 70 74 79 42 61 72 73 20 3d 20 24 62 61 72 2d 3e 67 65 74 42 61 72 57 ()).{.$emptyBars.=.$bar->getBarW
124a60 69 64 74 68 28 29 20 2d 20 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 2d 20 48 65 6c 70 65 72 3a idth().-.$completeBars.-.Helper:
124a80 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 24 6f 75 74 70 75 74 :strlenWithoutDecoration($output
124aa0 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 ->getFormatter(),.$bar->getProgr
124ac0 65 73 73 43 68 61 72 61 63 74 65 72 28 29 29 3b 0a 24 64 69 73 70 6c 61 79 20 2e 3d 20 24 62 61 essCharacter());.$display..=.$ba
124ae0 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 28 29 2e 73 74 72 5f 72 65 r->getProgressCharacter().str_re
124b00 70 65 61 74 28 24 62 61 72 2d 3e 67 65 74 45 6d 70 74 79 42 61 72 43 68 61 72 61 63 74 65 72 28 peat($bar->getEmptyBarCharacter(
124b20 29 2c 20 24 65 6d 70 74 79 42 61 72 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 69 73 70 6c ),.$emptyBars);.}..return.$displ
124b40 61 79 3b 0a 7d 2c 0a 27 65 6c 61 70 73 65 64 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 ay;.},.'elapsed'.=>.function.(Pr
124b60 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a ogressBar.$bar).{.return.Helper:
124b80 3a 66 6f 72 6d 61 74 54 69 6d 65 28 74 69 6d 65 28 29 20 2d 20 24 62 61 72 2d 3e 67 65 74 53 74 :formatTime(time().-.$bar->getSt
124ba0 61 72 74 54 69 6d 65 28 29 29 3b 0a 7d 2c 0a 27 72 65 6d 61 69 6e 69 6e 67 27 20 3d 3e 20 66 75 artTime());.},.'remaining'.=>.fu
124bc0 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 69 66 20 28 nction.(ProgressBar.$bar).{.if.(
124be0 21 24 62 61 72 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 !$bar->getMaxSteps()).{.throw.ne
124c00 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 64 69 73 70 w.LogicException('Unable.to.disp
124c20 6c 61 79 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 74 69 6d 65 20 69 66 20 74 68 65 20 6d 61 lay.the.remaining.time.if.the.ma
124c40 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 73 74 65 70 73 20 69 73 20 6e 6f 74 20 73 65 74 ximum.number.of.steps.is.not.set
124c60 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 .');.}..if.(!$bar->getProgress()
124c80 29 20 7b 0a 24 72 65 6d 61 69 6e 69 6e 67 20 3d 20 30 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 ).{.$remaining.=.0;.}.else.{.$re
124ca0 6d 61 69 6e 69 6e 67 20 3d 20 72 6f 75 6e 64 28 28 74 69 6d 65 28 29 20 2d 20 24 62 61 72 2d 3e maining.=.round((time().-.$bar->
124cc0 67 65 74 53 74 61 72 74 54 69 6d 65 28 29 29 20 2f 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 getStartTime())./.$bar->getProgr
124ce0 65 73 73 28 29 20 2a 20 28 24 62 61 72 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 20 2d 20 24 ess().*.($bar->getMaxSteps().-.$
124d00 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 bar->getProgress()));.}..return.
124d20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 54 69 6d 65 28 24 72 65 6d 61 69 6e 69 6e 67 29 3b 0a Helper::formatTime($remaining);.
124d40 7d 2c 0a 27 65 73 74 69 6d 61 74 65 64 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 },.'estimated'.=>.function.(Prog
124d60 72 65 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 69 66 20 28 21 24 62 61 72 2d 3e 67 65 74 4d 61 ressBar.$bar).{.if.(!$bar->getMa
124d80 78 53 74 65 70 73 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 xSteps()).{.throw.new.LogicExcep
124da0 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 65 73 74 69 tion('Unable.to.display.the.esti
124dc0 6d 61 74 65 64 20 74 69 6d 65 20 69 66 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 mated.time.if.the.maximum.number
124de0 20 6f 66 20 73 74 65 70 73 20 69 73 20 6e 6f 74 20 73 65 74 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 .of.steps.is.not.set.');.}..if.(
124e00 21 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 29 20 7b 0a 24 65 73 74 69 6d 61 74 !$bar->getProgress()).{.$estimat
124e20 65 64 20 3d 20 30 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 73 74 69 6d 61 74 65 64 20 3d 20 72 6f ed.=.0;.}.else.{.$estimated.=.ro
124e40 75 6e 64 28 28 74 69 6d 65 28 29 20 2d 20 24 62 61 72 2d 3e 67 65 74 53 74 61 72 74 54 69 6d 65 und((time().-.$bar->getStartTime
124e60 28 29 29 20 2f 20 24 62 61 72 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 20 2a 20 24 62 61 72 ())./.$bar->getProgress().*.$bar
124e80 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 48 65 6c 70 ->getMaxSteps());.}..return.Help
124ea0 65 72 3a 3a 66 6f 72 6d 61 74 54 69 6d 65 28 24 65 73 74 69 6d 61 74 65 64 29 3b 0a 7d 2c 0a 27 er::formatTime($estimated);.},.'
124ec0 6d 65 6d 6f 72 79 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 memory'.=>.function.(ProgressBar
124ee0 20 24 62 61 72 29 20 7b 0a 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 4d 65 .$bar).{.return.Helper::formatMe
124f00 6d 6f 72 79 28 6d 65 6d 6f 72 79 5f 67 65 74 5f 75 73 61 67 65 28 74 72 75 65 29 29 3b 0a 7d 2c mory(memory_get_usage(true));.},
124f20 0a 27 63 75 72 72 65 6e 74 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 .'current'.=>.function.(Progress
124f40 42 61 72 20 24 62 61 72 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 5f 70 61 64 28 24 62 61 72 2d Bar.$bar).{.return.str_pad($bar-
124f60 3e 67 65 74 50 72 6f 67 72 65 73 73 28 29 2c 20 24 62 61 72 2d 3e 67 65 74 53 74 65 70 57 69 64 >getProgress(),.$bar->getStepWid
124f80 74 68 28 29 2c 20 27 20 27 2c 20 53 54 52 5f 50 41 44 5f 4c 45 46 54 29 3b 0a 7d 2c 0a 27 6d 61 th(),.'.',.STR_PAD_LEFT);.},.'ma
124fa0 78 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 42 61 72 20 24 62 61 72 x'.=>.function.(ProgressBar.$bar
124fc0 29 20 7b 0a 72 65 74 75 72 6e 20 24 62 61 72 2d 3e 67 65 74 4d 61 78 53 74 65 70 73 28 29 3b 0a ).{.return.$bar->getMaxSteps();.
124fe0 7d 2c 0a 27 70 65 72 63 65 6e 74 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 },.'percent'.=>.function.(Progre
125000 73 73 42 61 72 20 24 62 61 72 29 20 7b 0a 72 65 74 75 72 6e 20 66 6c 6f 6f 72 28 24 62 61 72 2d ssBar.$bar).{.return.floor($bar-
125020 3e 67 65 74 50 72 6f 67 72 65 73 73 50 65 72 63 65 6e 74 28 29 20 2a 20 31 30 30 29 3b 0a 7d 2c >getProgressPercent().*.100);.},
125040 0a 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 .);.}..private.static.function.i
125060 6e 69 74 46 6f 72 6d 61 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 6f nitFormats().{.return.array(.'no
125080 72 6d 61 6c 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 rmal'.=>.'.%current%/%max%.[%bar
1250a0 25 5d 20 25 70 65 72 63 65 6e 74 3a 33 73 25 25 27 2c 0a 27 6e 6f 72 6d 61 6c 5f 6e 6f 6d 61 78 %].%percent:3s%%',.'normal_nomax
1250c0 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 25 20 5b 25 62 61 72 25 5d 27 2c 0a 0a 27 76 65 72 '.=>.'.%current%.[%bar%]',..'ver
1250e0 62 6f 73 65 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 bose'.=>.'.%current%/%max%.[%bar
125100 25 5d 20 25 70 65 72 63 65 6e 74 3a 33 73 25 25 20 25 65 6c 61 70 73 65 64 3a 36 73 25 27 2c 0a %].%percent:3s%%.%elapsed:6s%',.
125120 27 76 65 72 62 6f 73 65 5f 6e 6f 6d 61 78 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 25 20 5b 'verbose_nomax'.=>.'.%current%.[
125140 25 62 61 72 25 5d 20 25 65 6c 61 70 73 65 64 3a 36 73 25 27 2c 0a 0a 27 76 65 72 79 5f 76 65 72 %bar%].%elapsed:6s%',..'very_ver
125160 62 6f 73 65 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 bose'.=>.'.%current%/%max%.[%bar
125180 25 5d 20 25 70 65 72 63 65 6e 74 3a 33 73 25 25 20 25 65 6c 61 70 73 65 64 3a 36 73 25 2f 25 65 %].%percent:3s%%.%elapsed:6s%/%e
1251a0 73 74 69 6d 61 74 65 64 3a 2d 36 73 25 27 2c 0a 27 76 65 72 79 5f 76 65 72 62 6f 73 65 5f 6e 6f stimated:-6s%',.'very_verbose_no
1251c0 6d 61 78 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e 74 25 20 5b 25 62 61 72 25 5d 20 25 65 6c 61 max'.=>.'.%current%.[%bar%].%ela
1251e0 70 73 65 64 3a 36 73 25 27 2c 0a 0a 27 64 65 62 75 67 27 20 3d 3e 20 27 20 25 63 75 72 72 65 6e psed:6s%',..'debug'.=>.'.%curren
125200 74 25 2f 25 6d 61 78 25 20 5b 25 62 61 72 25 5d 20 25 70 65 72 63 65 6e 74 3a 33 73 25 25 20 25 t%/%max%.[%bar%].%percent:3s%%.%
125220 65 6c 61 70 73 65 64 3a 36 73 25 2f 25 65 73 74 69 6d 61 74 65 64 3a 2d 36 73 25 20 25 6d 65 6d elapsed:6s%/%estimated:-6s%.%mem
125240 6f 72 79 3a 36 73 25 27 2c 0a 27 64 65 62 75 67 5f 6e 6f 6d 61 78 27 20 3d 3e 20 27 20 25 63 75 ory:6s%',.'debug_nomax'.=>.'.%cu
125260 72 72 65 6e 74 25 20 5b 25 62 61 72 25 5d 20 25 65 6c 61 70 73 65 64 3a 36 73 25 20 25 6d 65 6d rrent%.[%bar%].%elapsed:6s%.%mem
125280 6f 72 79 3a 36 73 25 27 2c 0a 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ory:6s%',.);.}.}.<?php..........
1252a0 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e .namespace.Symfony\Component\Con
1252c0 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e sole\Helper;..use.Symfony\Compon
1252e0 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 ent\Console\Exception\LogicExcep
125300 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 tion;.use.Symfony\Component\Cons
125320 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 ole\Output\ConsoleOutputInterfac
125340 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 e;.use.Symfony\Component\Console
125360 5c 4f 75 74 70 75 74 5c 4e 75 6c 6c 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c \Output\NullOutput;.use.Symfony\
125380 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 Component\Console\Output\OutputI
1253a0 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 67 72 65 nterface;...........class.Progre
1253c0 73 73 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 63 6f 6e 73 74 20 ssHelper.extends.Helper.{.const.
1253e0 46 4f 52 4d 41 54 5f 51 55 49 45 54 20 3d 20 27 20 25 70 65 72 63 65 6e 74 25 25 27 3b 0a 63 6f FORMAT_QUIET.=.'.%percent%%';.co
125400 6e 73 74 20 46 4f 52 4d 41 54 5f 4e 4f 52 4d 41 4c 20 3d 20 27 20 25 63 75 72 72 65 6e 74 25 2f nst.FORMAT_NORMAL.=.'.%current%/
125420 25 6d 61 78 25 20 5b 25 62 61 72 25 5d 20 25 70 65 72 63 65 6e 74 25 25 27 3b 0a 63 6f 6e 73 74 %max%.[%bar%].%percent%%';.const
125440 20 46 4f 52 4d 41 54 5f 56 45 52 42 4f 53 45 20 3d 20 27 20 25 63 75 72 72 65 6e 74 25 2f 25 6d .FORMAT_VERBOSE.=.'.%current%/%m
125460 61 78 25 20 5b 25 62 61 72 25 5d 20 25 70 65 72 63 65 6e 74 25 25 20 45 6c 61 70 73 65 64 3a 20 ax%.[%bar%].%percent%%.Elapsed:.
125480 25 65 6c 61 70 73 65 64 25 27 3b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 51 55 49 45 54 5f 4e %elapsed%';.const.FORMAT_QUIET_N
1254a0 4f 4d 41 58 20 3d 20 27 20 25 63 75 72 72 65 6e 74 25 27 3b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 OMAX.=.'.%current%';.const.FORMA
1254c0 54 5f 4e 4f 52 4d 41 4c 5f 4e 4f 4d 41 58 20 3d 20 27 20 25 63 75 72 72 65 6e 74 25 20 5b 25 62 T_NORMAL_NOMAX.=.'.%current%.[%b
1254e0 61 72 25 5d 27 3b 0a 63 6f 6e 73 74 20 46 4f 52 4d 41 54 5f 56 45 52 42 4f 53 45 5f 4e 4f 4d 41 ar%]';.const.FORMAT_VERBOSE_NOMA
125500 58 20 3d 20 27 20 25 63 75 72 72 65 6e 74 25 20 5b 25 62 61 72 25 5d 20 45 6c 61 70 73 65 64 3a X.=.'.%current%.[%bar%].Elapsed:
125520 20 25 65 6c 61 70 73 65 64 25 27 3b 0a 0a 0a 20 70 72 69 76 61 74 65 20 24 62 61 72 57 69 64 74 .%elapsed%';....private.$barWidt
125540 68 20 3d 20 32 38 3b 0a 70 72 69 76 61 74 65 20 24 62 61 72 43 68 61 72 20 3d 20 27 3d 27 3b 0a h.=.28;.private.$barChar.=.'=';.
125560 70 72 69 76 61 74 65 20 24 65 6d 70 74 79 42 61 72 43 68 61 72 20 3d 20 27 2d 27 3b 0a 70 72 69 private.$emptyBarChar.=.'-';.pri
125580 76 61 74 65 20 24 70 72 6f 67 72 65 73 73 43 68 61 72 20 3d 20 27 3e 27 3b 0a 70 72 69 76 61 74 vate.$progressChar.=.'>';.privat
1255a0 65 20 24 66 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c 3b 0a 70 72 69 76 61 74 65 20 24 72 65 64 72 61 e.$format.=.null;.private.$redra
1255c0 77 46 72 65 71 20 3d 20 31 3b 0a 0a 70 72 69 76 61 74 65 20 24 6c 61 73 74 4d 65 73 73 61 67 65 wFreq.=.1;..private.$lastMessage
1255e0 73 4c 65 6e 67 74 68 3b 0a 70 72 69 76 61 74 65 20 24 62 61 72 43 68 61 72 4f 72 69 67 69 6e 61 sLength;.private.$barCharOrigina
125600 6c 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 70 72 l;.....private.$output;.......pr
125620 69 76 61 74 65 20 24 63 75 72 72 65 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6d ivate.$current;.......private.$m
125640 61 78 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 54 69 6d 65 3b 0a 0a 0a ax;.......private.$startTime;...
125660 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 65 66 61 75 6c 74 46 6f 72 6d 61 74 56 61 72 73 20 3d ....private.$defaultFormatVars.=
125680 20 61 72 72 61 79 28 0a 27 63 75 72 72 65 6e 74 27 2c 0a 27 6d 61 78 27 2c 0a 27 62 61 72 27 2c .array(.'current',.'max',.'bar',
1256a0 0a 27 70 65 72 63 65 6e 74 27 2c 0a 27 65 6c 61 70 73 65 64 27 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 0a .'percent',.'elapsed',.);.......
1256c0 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 56 61 72 73 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 private.$formatVars;.......priva
1256e0 74 65 20 24 77 69 64 74 68 73 20 3d 20 61 72 72 61 79 28 0a 27 63 75 72 72 65 6e 74 27 20 3d 3e te.$widths.=.array(.'current'.=>
125700 20 34 2c 0a 27 6d 61 78 27 20 3d 3e 20 34 2c 0a 27 70 65 72 63 65 6e 74 27 20 3d 3e 20 33 2c 0a .4,.'max'.=>.4,.'percent'.=>.3,.
125720 27 65 6c 61 70 73 65 64 27 20 3d 3e 20 36 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 'elapsed'.=>.6,.);.......private
125740 20 24 74 69 6d 65 46 6f 72 6d 61 74 73 20 3d 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 30 2c 20 .$timeFormats.=.array(.array(0,.
125760 27 3f 3f 3f 27 29 2c 0a 61 72 72 61 79 28 32 2c 20 27 31 20 73 65 63 27 29 2c 0a 61 72 72 61 79 '???'),.array(2,.'1.sec'),.array
125780 28 35 39 2c 20 27 73 65 63 73 27 2c 20 31 29 2c 0a 61 72 72 61 79 28 36 30 2c 20 27 31 20 6d 69 (59,.'secs',.1),.array(60,.'1.mi
1257a0 6e 27 29 2c 0a 61 72 72 61 79 28 33 36 30 30 2c 20 27 6d 69 6e 73 27 2c 20 36 30 29 2c 0a 61 72 n'),.array(3600,.'mins',.60),.ar
1257c0 72 61 79 28 35 34 30 30 2c 20 27 31 20 68 72 27 29 2c 0a 61 72 72 61 79 28 38 36 34 30 30 2c 20 ray(5400,.'1.hr'),.array(86400,.
1257e0 27 68 72 73 27 2c 20 33 36 30 30 29 2c 0a 61 72 72 61 79 28 31 32 39 36 30 30 2c 20 27 31 20 64 'hrs',.3600),.array(129600,.'1.d
125800 61 79 27 29 2c 0a 61 72 72 61 79 28 36 30 34 38 30 30 2c 20 27 64 61 79 73 27 2c 20 38 36 34 30 ay'),.array(604800,.'days',.8640
125820 30 29 2c 0a 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 0),.);..public.function.__constr
125840 75 63 74 28 24 74 72 69 67 67 65 72 44 65 70 72 65 63 61 74 69 6f 6e 45 72 72 6f 72 20 3d 20 74 uct($triggerDeprecationError.=.t
125860 72 75 65 29 0a 7b 0a 69 66 20 28 24 74 72 69 67 67 65 72 44 65 70 72 65 63 61 74 69 6f 6e 45 72 rue).{.if.($triggerDeprecationEr
125880 72 6f 72 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 43 ror).{.@trigger_error('The.'.__C
1258a0 4c 41 53 53 5f 5f 2e 27 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e LASS__.'.class.is.deprecated.sin
1258c0 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 ce.Symfony.2.5.and.will.be.remov
1258e0 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f ed.in.3.0..Use.the.Symfony\Compo
125900 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 50 72 6f 67 72 65 73 73 42 61 72 20 nent\Console\Helper\ProgressBar.
125920 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 class.instead.',.E_USER_DEPRECAT
125940 45 44 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ED);.}.}.......public.function.s
125960 65 74 42 61 72 57 69 64 74 68 28 24 73 69 7a 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 61 72 57 69 etBarWidth($size).{.$this->barWi
125980 64 74 68 20 3d 20 28 69 6e 74 29 20 24 73 69 7a 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 dth.=.(int).$size;.}.......publi
1259a0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 61 72 43 68 61 72 61 63 74 65 72 28 24 63 68 61 72 c.function.setBarCharacter($char
1259c0 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 0a ).{.$this->barChar.=.$char;.}...
1259e0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6d 70 74 79 42 61 72 43 ....public.function.setEmptyBarC
125a00 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 haracter($char).{.$this->emptyBa
125a20 72 43 68 61 72 20 3d 20 24 63 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 rChar.=.$char;.}.......public.fu
125a40 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 28 24 63 68 61 nction.setProgressCharacter($cha
125a60 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 43 68 61 72 20 3d 20 24 63 68 61 72 r).{.$this->progressChar.=.$char
125a80 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 72 ;.}.......public.function.setFor
125aa0 6d 61 74 28 24 66 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 24 mat($format).{.$this->format.=.$
125ac0 66 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 format;.}.......public.function.
125ae0 73 65 74 52 65 64 72 61 77 46 72 65 71 75 65 6e 63 79 28 24 66 72 65 71 29 0a 7b 0a 24 74 68 69 setRedrawFrequency($freq).{.$thi
125b00 73 2d 3e 72 65 64 72 61 77 46 72 65 71 20 3d 20 28 69 6e 74 29 20 24 66 72 65 71 3b 0a 7d 0a 0a s->redrawFreq.=.(int).$freq;.}..
125b20 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 72 74 28 4f 75 74 70 ......public.function.start(Outp
125b40 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 6d 61 78 20 3d 20 6e 75 6c 6c utInterface.$output,.$max.=.null
125b60 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f ).{.if.($output.instanceof.Conso
125b80 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 leOutputInterface).{.$output.=.$
125ba0 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 24 74 68 output->getErrorOutput();.}..$th
125bc0 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 24 74 68 69 73 2d 3e 63 is->startTime.=.time();.$this->c
125be0 75 72 72 65 6e 74 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 6d 61 78 20 3d 20 28 69 6e 74 29 20 24 urrent.=.0;.$this->max.=.(int).$
125c00 6d 61 78 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d max;....$this->output.=.$output-
125c20 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 3f 20 24 6f 75 74 70 75 74 20 3a 20 6e 65 77 20 4e >isDecorated().?.$output.:.new.N
125c40 75 6c 6c 4f 75 74 70 75 74 28 29 3b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 73 ullOutput();.$this->lastMessages
125c60 4c 65 6e 67 74 68 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 4f 72 69 67 69 6e Length.=.0;.$this->barCharOrigin
125c80 61 6c 20 3d 20 27 27 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 66 6f al.=.'';..if.(null.===.$this->fo
125ca0 72 6d 61 74 29 20 7b 0a 73 77 69 74 63 68 20 28 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 rmat).{.switch.($output->getVerb
125cc0 6f 73 69 74 79 28 29 29 20 7b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a osity()).{.case.OutputInterface:
125ce0 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 3a 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 :VERBOSITY_QUIET:.$this->format.
125d00 3d 20 73 65 6c 66 3a 3a 46 4f 52 4d 41 54 5f 51 55 49 45 54 5f 4e 4f 4d 41 58 3b 0a 69 66 20 28 =.self::FORMAT_QUIET_NOMAX;.if.(
125d20 24 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 $this->max.>.0).{.$this->format.
125d40 3d 20 73 65 6c 66 3a 3a 46 4f 52 4d 41 54 5f 51 55 49 45 54 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 =.self::FORMAT_QUIET;.}.break;.c
125d60 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 ase.OutputInterface::VERBOSITY_V
125d80 45 52 42 4f 53 45 3a 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 ERBOSE:.case.OutputInterface::VE
125da0 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 3a 0a 63 61 73 65 20 4f 75 74 70 75 RBOSITY_VERY_VERBOSE:.case.Outpu
125dc0 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 3a 0a 24 74 68 tInterface::VERBOSITY_DEBUG:.$th
125de0 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 46 4f 52 4d 41 54 5f 56 45 52 42 4f 53 is->format.=.self::FORMAT_VERBOS
125e00 45 5f 4e 4f 4d 41 58 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 29 20 7b 0a 24 E_NOMAX;.if.($this->max.>.0).{.$
125e20 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 46 4f 52 4d 41 54 5f 56 45 52 42 this->format.=.self::FORMAT_VERB
125e40 4f 53 45 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 74 68 69 73 2d 3e 66 6f OSE;.}.break;.default:.$this->fo
125e60 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 46 4f 52 4d 41 54 5f 4e 4f 52 4d 41 4c 5f 4e 4f 4d 41 58 rmat.=.self::FORMAT_NORMAL_NOMAX
125e80 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 66 ;.if.($this->max.>.0).{.$this->f
125ea0 6f 72 6d 61 74 20 3d 20 73 65 6c 66 3a 3a 46 4f 52 4d 41 54 5f 4e 4f 52 4d 41 4c 3b 0a 7d 0a 62 ormat.=.self::FORMAT_NORMAL;.}.b
125ec0 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a reak;.}.}..$this->initialize();.
125ee0 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 76 61 6e }..........public.function.advan
125f00 63 65 28 24 73 74 65 70 20 3d 20 31 2c 20 24 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 29 0a 7b ce($step.=.1,.$redraw.=.false).{
125f20 0a 24 74 68 69 73 2d 3e 73 65 74 43 75 72 72 65 6e 74 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e .$this->setCurrent($this->curren
125f40 74 20 2b 20 24 73 74 65 70 2c 20 24 72 65 64 72 61 77 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a t.+.$step,.$redraw);.}..........
125f60 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 75 72 72 65 6e 74 28 24 63 75 72 72 public.function.setCurrent($curr
125f80 65 6e 74 2c 20 24 72 65 64 72 61 77 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c ent,.$redraw.=.false).{.if.(null
125fa0 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 29 20 7b 0a 74 68 72 6f 77 20 6e .===.$this->startTime).{.throw.n
125fc0 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 73 74 61 72 ew.LogicException('You.must.star
125fe0 74 20 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e t.the.progress.bar.before.callin
126000 67 20 73 65 74 43 75 72 72 65 6e 74 28 29 2e 27 29 3b 0a 7d 0a 0a 24 63 75 72 72 65 6e 74 20 3d g.setCurrent().');.}..$current.=
126020 20 28 69 6e 74 29 20 24 63 75 72 72 65 6e 74 3b 0a 0a 69 66 20 28 24 63 75 72 72 65 6e 74 20 3c .(int).$current;..if.($current.<
126040 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 .$this->current).{.throw.new.Log
126060 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 63 61 6e 5c 27 74 20 72 65 67 72 65 73 73 20 icException('You.can\'t.regress.
126080 74 68 65 20 70 72 6f 67 72 65 73 73 20 62 61 72 27 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d the.progress.bar');.}..if.(0.===
1260a0 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 29 20 7b 0a 24 72 65 64 72 61 77 20 3d 20 74 72 75 .$this->current).{.$redraw.=.tru
1260c0 65 3b 0a 7d 0a 0a 24 70 72 65 76 50 65 72 69 6f 64 20 3d 20 28 69 6e 74 29 20 28 24 74 68 69 73 e;.}..$prevPeriod.=.(int).($this
1260e0 2d 3e 63 75 72 72 65 6e 74 20 2f 20 24 74 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 29 3b 0a ->current./.$this->redrawFreq);.
126100 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 3d 20 24 63 75 72 72 65 6e 74 3b 0a 0a 24 63 75 .$this->current.=.$current;..$cu
126120 72 72 50 65 72 69 6f 64 20 3d 20 28 69 6e 74 29 20 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 rrPeriod.=.(int).($this->current
126140 20 2f 20 24 74 68 69 73 2d 3e 72 65 64 72 61 77 46 72 65 71 29 3b 0a 69 66 20 28 24 72 65 64 72 ./.$this->redrawFreq);.if.($redr
126160 61 77 20 7c 7c 20 24 70 72 65 76 50 65 72 69 6f 64 20 21 3d 3d 20 24 63 75 72 72 50 65 72 69 6f aw.||.$prevPeriod.!==.$currPerio
126180 64 20 7c 7c 20 24 74 68 69 73 2d 3e 6d 61 78 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 d.||.$this->max.===.$this->curre
1261a0 6e 74 29 20 7b 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a nt).{.$this->display();.}.}.....
1261c0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 28 24 66 69 6e ....public.function.display($fin
1261e0 69 73 68 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 ish.=.false).{.if.(null.===.$thi
126200 73 2d 3e 73 74 61 72 74 54 69 6d 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 s->startTime).{.throw.new.LogicE
126220 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 73 74 61 72 74 20 74 68 65 20 70 72 6f xception('You.must.start.the.pro
126240 67 72 65 73 73 20 62 61 72 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 64 69 73 70 6c 61 79 gress.bar.before.calling.display
126260 28 29 2e 27 29 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d ().');.}..$message.=.$this->form
126280 61 74 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 28 24 66 69 at;.foreach.($this->generate($fi
1262a0 6e 69 73 68 29 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 6d 65 73 nish).as.$name.=>.$value).{.$mes
1262c0 73 61 67 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 25 7b 24 6e 61 6d 65 7d 25 22 2c 20 sage.=.str_replace("%{$name}%",.
1262e0 24 76 61 6c 75 65 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 6f 76 65 72 $value,.$message);.}.$this->over
126300 77 72 69 74 65 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2c 20 24 6d 65 73 73 61 67 65 29 3b 0a write($this->output,.$message);.
126320 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 28 }.........public.function.clear(
126340 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 28 24 74 68 69 73 2d 3e 6f 75 74 70 ).{.$this->overwrite($this->outp
126360 75 74 2c 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 ut,.'');.}.....public.function.f
126380 69 6e 69 73 68 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 74 inish().{.if.(null.===.$this->st
1263a0 61 72 74 54 69 6d 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 artTime).{.throw.new.LogicExcept
1263c0 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 73 74 61 72 74 20 74 68 65 20 70 72 6f 67 72 65 73 73 ion('You.must.start.the.progress
1263e0 20 62 61 72 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 66 69 6e 69 73 68 28 29 2e 27 29 3b .bar.before.calling.finish().');
126400 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d .}..if.(null.!==.$this->startTim
126420 65 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6d 61 78 29 20 7b 0a 24 74 68 69 73 2d 3e 62 e).{.if.(!$this->max).{.$this->b
126440 61 72 43 68 61 72 20 3d 20 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 4f 72 69 67 69 6e 61 6c 3b arChar.=.$this->barCharOriginal;
126460 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 74 72 75 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e .$this->display(true);.}.$this->
126480 73 74 61 72 74 54 69 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d startTime.=.null;.$this->output-
1264a0 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 6e 75 >writeln('');.$this->output.=.nu
1264c0 6c 6c 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 ll;.}.}.....private.function.ini
1264e0 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 20 3d 20 tialize().{.$this->formatVars.=.
126500 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 array();.foreach.($this->default
126520 46 6f 72 6d 61 74 56 61 72 73 20 61 73 20 24 76 61 72 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 FormatVars.as.$var).{.if.(false.
126540 21 3d 3d 20 73 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 2c 20 22 25 7b 24 76 61 !==.strpos($this->format,."%{$va
126560 72 7d 25 22 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b 24 76 61 72 5d r}%")).{.$this->formatVars[$var]
126580 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 .=.true;.}.}..if.($this->max.>.0
1265a0 29 20 7b 0a 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 6d 61 78 27 5d 20 3d 20 24 74 68 69 73 ).{.$this->widths['max'].=.$this
1265c0 2d 3e 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 6d 61 78 29 3b 0a 24 74 68 69 73 2d 3e 77 69 64 ->strlen($this->max);.$this->wid
1265e0 74 68 73 5b 27 63 75 72 72 65 6e 74 27 5d 20 3d 20 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 ths['current'].=.$this->widths['
126600 6d 61 78 27 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 4f 72 max'];.}.else.{.$this->barCharOr
126620 69 67 69 6e 61 6c 20 3d 20 24 74 68 69 73 2d 3e 62 61 72 43 68 61 72 3b 0a 24 74 68 69 73 2d 3e iginal.=.$this->barChar;.$this->
126640 62 61 72 43 68 61 72 20 3d 20 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 3b 0a 7d barChar.=.$this->emptyBarChar;.}
126660 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 .}.........private.function.gene
126680 72 61 74 65 28 24 66 69 6e 69 73 68 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 76 61 72 73 20 3d 20 rate($finish.=.false).{.$vars.=.
1266a0 61 72 72 61 79 28 29 3b 0a 24 70 65 72 63 65 6e 74 20 3d 20 30 3b 0a 69 66 20 28 24 74 68 69 73 array();.$percent.=.0;.if.($this
1266c0 2d 3e 6d 61 78 20 3e 20 30 29 20 7b 0a 24 70 65 72 63 65 6e 74 20 3d 20 28 66 6c 6f 61 74 29 20 ->max.>.0).{.$percent.=.(float).
1266e0 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 2f 20 24 74 68 69 73 2d 3e 6d 61 78 3b 0a 7d 0a 0a $this->current./.$this->max;.}..
126700 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b 27 62 61 72 if.(isset($this->formatVars['bar
126720 27 5d 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 78 20 3e 20 30 29 20 7b 0a 24 63 6f '])).{.if.($this->max.>.0).{.$co
126740 6d 70 6c 65 74 65 42 61 72 73 20 3d 20 66 6c 6f 6f 72 28 24 70 65 72 63 65 6e 74 20 2a 20 24 74 mpleteBars.=.floor($percent.*.$t
126760 68 69 73 2d 3e 62 61 72 57 69 64 74 68 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 24 66 his->barWidth);.}.else.{.if.(!$f
126780 69 6e 69 73 68 29 20 7b 0a 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3d 20 66 6c 6f 6f 72 28 24 inish).{.$completeBars.=.floor($
1267a0 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 25 20 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 29 this->current.%.$this->barWidth)
1267c0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 3d 20 24 74 68 69 73 ;.}.else.{.$completeBars.=.$this
1267e0 2d 3e 62 61 72 57 69 64 74 68 3b 0a 7d 0a 7d 0a 0a 24 65 6d 70 74 79 42 61 72 73 20 3d 20 24 74 ->barWidth;.}.}..$emptyBars.=.$t
126800 68 69 73 2d 3e 62 61 72 57 69 64 74 68 20 2d 20 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 20 2d 20 his->barWidth.-.$completeBars.-.
126820 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 43 68 61 $this->strlen($this->progressCha
126840 72 29 3b 0a 24 62 61 72 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 24 74 68 69 73 2d 3e 62 61 72 r);.$bar.=.str_repeat($this->bar
126860 43 68 61 72 2c 20 24 63 6f 6d 70 6c 65 74 65 42 61 72 73 29 3b 0a 69 66 20 28 24 63 6f 6d 70 6c Char,.$completeBars);.if.($compl
126880 65 74 65 42 61 72 73 20 3c 20 24 74 68 69 73 2d 3e 62 61 72 57 69 64 74 68 29 20 7b 0a 24 62 61 eteBars.<.$this->barWidth).{.$ba
1268a0 72 20 2e 3d 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 43 68 61 72 3b 0a 24 62 61 72 20 2e r..=.$this->progressChar;.$bar..
1268c0 3d 20 73 74 72 5f 72 65 70 65 61 74 28 24 74 68 69 73 2d 3e 65 6d 70 74 79 42 61 72 43 68 61 72 =.str_repeat($this->emptyBarChar
1268e0 2c 20 24 65 6d 70 74 79 42 61 72 73 29 3b 0a 7d 0a 0a 24 76 61 72 73 5b 27 62 61 72 27 5d 20 3d ,.$emptyBars);.}..$vars['bar'].=
126900 20 24 62 61 72 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 .$bar;.}..if.(isset($this->forma
126920 74 56 61 72 73 5b 27 65 6c 61 70 73 65 64 27 5d 29 29 20 7b 0a 24 65 6c 61 70 73 65 64 20 3d 20 tVars['elapsed'])).{.$elapsed.=.
126940 74 69 6d 65 28 29 20 2d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 3b 0a 24 76 61 72 73 time().-.$this->startTime;.$vars
126960 5b 27 65 6c 61 70 73 65 64 27 5d 20 3d 20 73 74 72 5f 70 61 64 28 24 74 68 69 73 2d 3e 68 75 6d ['elapsed'].=.str_pad($this->hum
126980 61 6e 65 54 69 6d 65 28 24 65 6c 61 70 73 65 64 29 2c 20 24 74 68 69 73 2d 3e 77 69 64 74 68 73 aneTime($elapsed),.$this->widths
1269a0 5b 27 65 6c 61 70 73 65 64 27 5d 2c 20 27 20 27 2c 20 53 54 52 5f 50 41 44 5f 4c 45 46 54 29 3b ['elapsed'],.'.',.STR_PAD_LEFT);
1269c0 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 56 61 72 73 5b .}..if.(isset($this->formatVars[
1269e0 27 63 75 72 72 65 6e 74 27 5d 29 29 20 7b 0a 24 76 61 72 73 5b 27 63 75 72 72 65 6e 74 27 5d 20 'current'])).{.$vars['current'].
126a00 3d 20 73 74 72 5f 70 61 64 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 2c 20 24 74 68 69 73 2d =.str_pad($this->current,.$this-
126a20 3e 77 69 64 74 68 73 5b 27 63 75 72 72 65 6e 74 27 5d 2c 20 27 20 27 2c 20 53 54 52 5f 50 41 44 >widths['current'],.'.',.STR_PAD
126a40 5f 4c 45 46 54 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 6f 72 6d _LEFT);.}..if.(isset($this->form
126a60 61 74 56 61 72 73 5b 27 6d 61 78 27 5d 29 29 20 7b 0a 24 76 61 72 73 5b 27 6d 61 78 27 5d 20 3d atVars['max'])).{.$vars['max'].=
126a80 20 24 74 68 69 73 2d 3e 6d 61 78 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d .$this->max;.}..if.(isset($this-
126aa0 3e 66 6f 72 6d 61 74 56 61 72 73 5b 27 70 65 72 63 65 6e 74 27 5d 29 29 20 7b 0a 24 76 61 72 73 >formatVars['percent'])).{.$vars
126ac0 5b 27 70 65 72 63 65 6e 74 27 5d 20 3d 20 73 74 72 5f 70 61 64 28 66 6c 6f 6f 72 28 24 70 65 72 ['percent'].=.str_pad(floor($per
126ae0 63 65 6e 74 20 2a 20 31 30 30 29 2c 20 24 74 68 69 73 2d 3e 77 69 64 74 68 73 5b 27 70 65 72 63 cent.*.100),.$this->widths['perc
126b00 65 6e 74 27 5d 2c 20 27 20 27 2c 20 53 54 52 5f 50 41 44 5f 4c 45 46 54 29 3b 0a 7d 0a 0a 72 65 ent'],.'.',.STR_PAD_LEFT);.}..re
126b20 74 75 72 6e 20 24 76 61 72 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 turn.$vars;.}.........private.fu
126b40 6e 63 74 69 6f 6e 20 68 75 6d 61 6e 65 54 69 6d 65 28 24 73 65 63 73 29 0a 7b 0a 24 74 65 78 74 nction.humaneTime($secs).{.$text
126b60 20 3d 20 27 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 69 6d 65 46 6f 72 6d 61 .=.'';.foreach.($this->timeForma
126b80 74 73 20 61 73 20 24 66 6f 72 6d 61 74 29 20 7b 0a 69 66 20 28 24 73 65 63 73 20 3c 20 24 66 6f ts.as.$format).{.if.($secs.<.$fo
126ba0 72 6d 61 74 5b 30 5d 29 20 7b 0a 69 66 20 28 32 20 3d 3d 20 5c 63 6f 75 6e 74 28 24 66 6f 72 6d rmat[0]).{.if.(2.==.\count($form
126bc0 61 74 29 29 20 7b 0a 24 74 65 78 74 20 3d 20 24 66 6f 72 6d 61 74 5b 31 5d 3b 0a 62 72 65 61 6b at)).{.$text.=.$format[1];.break
126be0 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 65 78 74 20 3d 20 63 65 69 6c 28 24 73 65 63 73 20 2f 20 ;.}.else.{.$text.=.ceil($secs./.
126c00 24 66 6f 72 6d 61 74 5b 32 5d 29 2e 27 20 27 2e 24 66 6f 72 6d 61 74 5b 31 5d 3b 0a 62 72 65 61 $format[2]).'.'.$format[1];.brea
126c20 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 78 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a k;.}.}.}..return.$text;.}.......
126c40 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 28 4f 75 74 70 .private.function.overwrite(Outp
126c60 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 6d 65 73 73 61 67 65 29 0a 7b utInterface.$output,.$message).{
126c80 0a 24 6c 65 6e 67 74 68 20 3d 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 6d 65 73 73 61 67 .$length.=.$this->strlen($messag
126ca0 65 29 3b 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d e);....if.(null.!==.$this->lastM
126cc0 65 73 73 61 67 65 73 4c 65 6e 67 74 68 20 26 26 20 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 essagesLength.&&.$this->lastMess
126ce0 61 67 65 73 4c 65 6e 67 74 68 20 3e 20 24 6c 65 6e 67 74 68 29 20 7b 0a 24 6d 65 73 73 61 67 65 agesLength.>.$length).{.$message
126d00 20 3d 20 73 74 72 5f 70 61 64 28 24 6d 65 73 73 61 67 65 2c 20 24 74 68 69 73 2d 3e 6c 61 73 74 .=.str_pad($message,.$this->last
126d20 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 68 2c 20 22 5c 78 32 30 22 2c 20 53 54 52 5f 50 41 44 5f MessagesLength,."\x20",.STR_PAD_
126d40 52 49 47 48 54 29 3b 0a 7d 0a 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 78 30 RIGHT);.}....$output->write("\x0
126d60 44 22 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a D");.$output->write($message);..
126d80 24 74 68 69 73 2d 3e 6c 61 73 74 4d 65 73 73 61 67 65 73 4c 65 6e 67 74 68 20 3d 20 24 74 68 69 $this->lastMessagesLength.=.$thi
126da0 73 2d 3e 73 74 72 6c 65 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 s->strlen($message);.}.....publi
126dc0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 70 c.function.getName().{.return.'p
126de0 72 6f 67 72 65 73 73 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 rogress';.}.}.<?php...........na
126e00 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c mespace.Symfony\Component\Consol
126e20 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 e\Helper;..use.Symfony\Component
126e40 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 \Console\Exception\InvalidArgume
126e60 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 ntException;.use.Symfony\Compone
126e80 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 nt\Console\Exception\LogicExcept
126ea0 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ion;.use.Symfony\Component\Conso
126ec0 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 63 le\Output\OutputInterface;.....c
126ee0 6c 61 73 73 20 50 72 6f 67 72 65 73 73 49 6e 64 69 63 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 lass.ProgressIndicator.{.private
126f00 20 24 6f 75 74 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 54 69 6d 65 3b 0a 70 72 .$output;.private.$startTime;.pr
126f20 69 76 61 74 65 20 24 66 6f 72 6d 61 74 3b 0a 70 72 69 76 61 74 65 20 24 6d 65 73 73 61 67 65 3b ivate.$format;.private.$message;
126f40 0a 70 72 69 76 61 74 65 20 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 3b 0a 70 72 69 76 61 .private.$indicatorValues;.priva
126f60 74 65 20 24 69 6e 64 69 63 61 74 6f 72 43 75 72 72 65 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 69 te.$indicatorCurrent;.private.$i
126f80 6e 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 3b 0a 70 72 69 76 61 74 65 20 ndicatorChangeInterval;.private.
126fa0 24 69 6e 64 69 63 61 74 6f 72 55 70 64 61 74 65 54 69 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 73 $indicatorUpdateTime;.private.$s
126fc0 74 61 72 74 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 tarted.=.false;..private.static.
126fe0 24 66 6f 72 6d 61 74 74 65 72 73 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 66 6f 72 $formatters;.private.static.$for
127000 6d 61 74 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 mats;........public.function.__c
127020 6f 6e 73 74 72 75 63 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 onstruct(OutputInterface.$output
127040 2c 20 24 66 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e 64 69 63 61 74 6f 72 43 68 61 6e ,.$format.=.null,.$indicatorChan
127060 67 65 49 6e 74 65 72 76 61 6c 20 3d 20 31 30 30 2c 20 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 geInterval.=.100,.$indicatorValu
127080 65 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 es.=.null).{.$this->output.=.$ou
1270a0 74 70 75 74 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 66 6f 72 6d 61 74 29 20 7b 0a 24 tput;..if.(null.===.$format).{.$
1270c0 66 6f 72 6d 61 74 20 3d 20 24 74 68 69 73 2d 3e 64 65 74 65 72 6d 69 6e 65 42 65 73 74 46 6f 72 format.=.$this->determineBestFor
1270e0 6d 61 74 28 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 6e 64 69 63 61 74 6f mat();.}..if.(null.===.$indicato
127100 72 56 61 6c 75 65 73 29 20 7b 0a 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 20 3d 20 61 72 rValues).{.$indicatorValues.=.ar
127120 72 61 79 28 27 2d 27 2c 20 27 5c 5c 27 2c 20 27 7c 27 2c 20 27 2f 27 29 3b 0a 7d 0a 0a 24 69 6e ray('-',.'\\',.'|',.'/');.}..$in
127140 64 69 63 61 74 6f 72 56 61 6c 75 65 73 20 3d 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 69 6e dicatorValues.=.array_values($in
127160 64 69 63 61 74 6f 72 56 61 6c 75 65 73 29 3b 0a 0a 69 66 20 28 32 20 3e 20 5c 63 6f 75 6e 74 28 dicatorValues);..if.(2.>.\count(
127180 24 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 $indicatorValues)).{.throw.new.I
1271a0 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 4d 75 73 74 20 68 61 nvalidArgumentException('Must.ha
1271c0 76 65 20 61 74 20 6c 65 61 73 74 20 32 20 69 6e 64 69 63 61 74 6f 72 20 76 61 6c 75 65 20 63 68 ve.at.least.2.indicator.value.ch
1271e0 61 72 61 63 74 65 72 73 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 20 3d 20 aracters.');.}..$this->format.=.
127200 73 65 6c 66 3a 3a 67 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 66 6f 72 6d 61 self::getFormatDefinition($forma
127220 74 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 t);.$this->indicatorChangeInterv
127240 61 6c 20 3d 20 24 69 6e 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 6c 3b 0a 24 al.=.$indicatorChangeInterval;.$
127260 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 20 3d 20 24 69 6e 64 69 63 61 74 this->indicatorValues.=.$indicat
127280 6f 72 56 61 6c 75 65 73 3b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 20 3d 20 74 69 6d orValues;.$this->startTime.=.tim
1272a0 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 e();.}.......public.function.set
1272c0 4d 65 73 73 61 67 65 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 Message($message).{.$this->messa
1272e0 67 65 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 ge.=.$message;..$this->display()
127300 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4d ;.}.........public.function.getM
127320 65 73 73 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 essage().{.return.$this->message
127340 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 ;.}.........public.function.getS
127360 74 61 72 74 54 69 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 72 74 tartTime().{.return.$this->start
127380 54 69 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 Time;.}.........public.function.
1273a0 67 65 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 getCurrentValue().{.return.$this
1273c0 2d 3e 69 6e 64 69 63 61 74 6f 72 56 61 6c 75 65 73 5b 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 ->indicatorValues[$this->indicat
1273e0 6f 72 43 75 72 72 65 6e 74 20 25 20 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 orCurrent.%.\count($this->indica
127400 74 6f 72 56 61 6c 75 65 73 29 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 torValues)];.}.......public.func
127420 74 69 6f 6e 20 73 74 61 72 74 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 tion.start($message).{.if.($this
127440 2d 3e 73 74 61 72 74 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 ->started).{.throw.new.LogicExce
127460 70 74 69 6f 6e 28 27 50 72 6f 67 72 65 73 73 20 69 6e 64 69 63 61 74 6f 72 20 61 6c 72 65 61 64 ption('Progress.indicator.alread
127480 79 20 73 74 61 72 74 65 64 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 20 y.started.');.}..$this->message.
1274a0 3d 20 24 6d 65 73 73 61 67 65 3b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 20 3d 20 74 72 75 =.$message;.$this->started.=.tru
1274c0 65 3b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 54 69 6d 65 20 3d 20 74 69 6d 65 28 29 3b 0a 24 74 e;.$this->startTime.=.time();.$t
1274e0 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 55 70 64 61 74 65 54 69 6d 65 20 3d 20 24 74 68 69 73 his->indicatorUpdateTime.=.$this
127500 2d 3e 67 65 74 43 75 72 72 65 6e 74 54 69 6d 65 49 6e 4d 69 6c 6c 69 73 65 63 6f 6e 64 73 28 29 ->getCurrentTimeInMilliseconds()
127520 20 2b 20 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e 74 65 72 76 61 .+.$this->indicatorChangeInterva
127540 6c 3b 0a 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 43 75 72 72 65 6e 74 20 3d 20 30 3b 0a l;.$this->indicatorCurrent.=.0;.
127560 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .$this->display();.}.....public.
127580 66 75 6e 63 74 69 6f 6e 20 61 64 76 61 6e 63 65 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d function.advance().{.if.(!$this-
1275a0 3e 73 74 61 72 74 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 >started).{.throw.new.LogicExcep
1275c0 74 69 6f 6e 28 27 50 72 6f 67 72 65 73 73 20 69 6e 64 69 63 61 74 6f 72 20 68 61 73 20 6e 6f 74 tion('Progress.indicator.has.not
1275e0 20 79 65 74 20 62 65 65 6e 20 73 74 61 72 74 65 64 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 .yet.been.started.');.}..if.(!$t
127600 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 72 65 his->output->isDecorated()).{.re
127620 74 75 72 6e 3b 0a 7d 0a 0a 24 63 75 72 72 65 6e 74 54 69 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 turn;.}..$currentTime.=.$this->g
127640 65 74 43 75 72 72 65 6e 74 54 69 6d 65 49 6e 4d 69 6c 6c 69 73 65 63 6f 6e 64 73 28 29 3b 0a 0a etCurrentTimeInMilliseconds();..
127660 69 66 20 28 24 63 75 72 72 65 6e 74 54 69 6d 65 20 3c 20 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 if.($currentTime.<.$this->indica
127680 74 6f 72 55 70 64 61 74 65 54 69 6d 65 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 torUpdateTime).{.return;.}..$thi
1276a0 73 2d 3e 69 6e 64 69 63 61 74 6f 72 55 70 64 61 74 65 54 69 6d 65 20 3d 20 24 63 75 72 72 65 6e s->indicatorUpdateTime.=.$curren
1276c0 74 54 69 6d 65 20 2b 20 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 43 68 61 6e 67 65 49 6e tTime.+.$this->indicatorChangeIn
1276e0 74 65 72 76 61 6c 3b 0a 2b 2b 24 74 68 69 73 2d 3e 69 6e 64 69 63 61 74 6f 72 43 75 72 72 65 6e terval;.++$this->indicatorCurren
127700 74 3b 0a 0a 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 t;..$this->display();.}.......pu
127720 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 69 73 68 28 24 6d 65 73 73 61 67 65 29 0a 7b blic.function.finish($message).{
127740 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 .if.(!$this->started).{.throw.ne
127760 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 50 72 6f 67 72 65 73 73 20 69 6e 64 69 63 w.LogicException('Progress.indic
127780 61 74 6f 72 20 68 61 73 20 6e 6f 74 20 79 65 74 20 62 65 65 6e 20 73 74 61 72 74 65 64 2e 27 29 ator.has.not.yet.been.started.')
1277a0 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 20 3d 20 24 6d 65 73 73 61 67 65 3b 0a ;.}..$this->message.=.$message;.
1277c0 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d $this->display();.$this->output-
1277e0 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 65 64 20 3d 20 66 >writeln('');.$this->started.=.f
127800 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 alse;.}.........public.static.fu
127820 6e 63 74 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 nction.getFormatDefinition($name
127840 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 29 20 7b 0a 73 65 6c 66 3a ).{.if.(!self::$formats).{.self:
127860 3a 24 66 6f 72 6d 61 74 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 46 6f 72 6d 61 74 73 28 29 3b :$formats.=.self::initFormats();
127880 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 5b .}..return.isset(self::$formats[
1278a0 24 6e 61 6d 65 5d 29 20 3f 20 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 73 5b 24 6e 61 6d 65 5d 20 $name]).?.self::$formats[$name].
1278c0 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 :.null;.}..........public.static
1278e0 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 .function.setPlaceholderFormatte
127900 72 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 63 61 6c 6c 61 62 6c 65 29 0a 7b 0a rDefinition($name,.$callable).{.
127920 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 29 20 7b 0a 73 65 6c 66 3a 3a if.(!self::$formatters).{.self::
127940 24 66 6f 72 6d 61 74 74 65 72 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 50 6c 61 63 65 68 6f 6c $formatters.=.self::initPlacehol
127960 64 65 72 46 6f 72 6d 61 74 74 65 72 73 28 29 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 derFormatters();.}..self::$forma
127980 74 74 65 72 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 61 6c 6c 61 62 6c 65 3b 0a 7d 0a 0a 0a 0a 0a tters[$name].=.$callable;.}.....
1279a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 6c ....public.static.function.getPl
1279c0 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 aceholderFormatterDefinition($na
1279e0 6d 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 29 20 7b 0a me).{.if.(!self::$formatters).{.
127a00 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 50 6c self::$formatters.=.self::initPl
127a20 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 73 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e aceholderFormatters();.}..return
127a40 20 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 5b 24 6e 61 6d 65 5d 29 .isset(self::$formatters[$name])
127a60 20 3f 20 73 65 6c 66 3a 3a 24 66 6f 72 6d 61 74 74 65 72 73 5b 24 6e 61 6d 65 5d 20 3a 20 6e 75 .?.self::$formatters[$name].:.nu
127a80 6c 6c 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 70 6c 61 79 28 ll;.}..private.function.display(
127aa0 29 0a 7b 0a 69 66 20 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 ).{.if.(OutputInterface::VERBOSI
127ac0 54 59 5f 51 55 49 45 54 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 TY_QUIET.===.$this->output->getV
127ae0 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 73 65 6c 66 20 3d erbosity()).{.return;.}..$self.=
127b00 20 24 74 68 69 73 3b 0a 0a 24 74 68 69 73 2d 3e 6f 76 65 72 77 72 69 74 65 28 70 72 65 67 5f 72 .$this;..$this->overwrite(preg_r
127b20 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 22 7b 25 28 5b 61 2d 7a 5c 2d 5f 5d 2b 29 28 3f eplace_callback("{%([a-z\-_]+)(?
127b40 3a 5c 3a 28 5b 5e 25 5d 2b 29 29 3f 25 7d 69 22 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 6d 61 74 :\:([^%]+))?%}i",.function.($mat
127b60 63 68 65 73 29 20 75 73 65 20 28 24 73 65 6c 66 29 20 7b 0a 69 66 20 28 24 66 6f 72 6d 61 74 74 ches).use.($self).{.if.($formatt
127b80 65 72 20 3d 20 24 73 65 6c 66 3a 3a 67 65 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 er.=.$self::getPlaceholderFormat
127ba0 74 65 72 44 65 66 69 6e 69 74 69 6f 6e 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 29 20 7b 0a 72 65 terDefinition($matches[1])).{.re
127bc0 74 75 72 6e 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 66 6f 72 6d 61 74 74 65 72 2c turn.\call_user_func($formatter,
127be0 20 24 73 65 6c 66 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 30 5d 3b 0a .$self);.}..return.$matches[0];.
127c00 7d 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 },.$this->format));.}..private.f
127c20 75 6e 63 74 69 6f 6e 20 64 65 74 65 72 6d 69 6e 65 42 65 73 74 46 6f 72 6d 61 74 28 29 0a 7b 0a unction.determineBestFormat().{.
127c40 73 77 69 74 63 68 20 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 switch.($this->output->getVerbos
127c60 69 74 79 28 29 29 20 7b 0a 0a 20 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a ity()).{...case.OutputInterface:
127c80 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 :VERBOSITY_VERBOSE:.return.$this
127ca0 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 3f 20 27 76 65 72 62 6f ->output->isDecorated().?.'verbo
127cc0 73 65 27 20 3a 20 27 76 65 72 62 6f 73 65 5f 6e 6f 5f 61 6e 73 69 27 3b 0a 63 61 73 65 20 4f 75 se'.:.'verbose_no_ansi';.case.Ou
127ce0 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 tputInterface::VERBOSITY_VERY_VE
127d00 52 42 4f 53 45 3a 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 RBOSE:.case.OutputInterface::VER
127d20 42 4f 53 49 54 59 5f 44 45 42 55 47 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 BOSITY_DEBUG:.return.$this->outp
127d40 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 20 3f 20 27 76 65 72 79 5f 76 65 72 62 6f 73 ut->isDecorated().?.'very_verbos
127d60 65 27 20 3a 20 27 76 65 72 79 5f 76 65 72 62 6f 73 65 5f 6e 6f 5f 61 6e 73 69 27 3b 0a 64 65 66 e'.:.'very_verbose_no_ansi';.def
127d80 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 ault:.return.$this->output->isDe
127da0 63 6f 72 61 74 65 64 28 29 20 3f 20 27 6e 6f 72 6d 61 6c 27 20 3a 20 27 6e 6f 72 6d 61 6c 5f 6e corated().?.'normal'.:.'normal_n
127dc0 6f 5f 61 6e 73 69 27 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 o_ansi';.}.}.......private.funct
127de0 69 6f 6e 20 6f 76 65 72 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 69 66 20 28 24 74 ion.overwrite($message).{.if.($t
127e00 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b 0a 24 74 his->output->isDecorated()).{.$t
127e20 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 78 30 44 5c 78 31 42 5b 32 4b 22 his->output->write("\x0D\x1B[2K"
127e40 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 );.$this->output->write($message
127e60 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 );.}.else.{.$this->output->write
127e80 6c 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 ln($message);.}.}..private.funct
127ea0 69 6f 6e 20 67 65 74 43 75 72 72 65 6e 74 54 69 6d 65 49 6e 4d 69 6c 6c 69 73 65 63 6f 6e 64 73 ion.getCurrentTimeInMilliseconds
127ec0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 72 6f 75 6e 64 28 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 ().{.return.round(microtime(true
127ee0 29 20 2a 20 31 30 30 30 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e ).*.1000);.}..private.static.fun
127f00 63 74 69 6f 6e 20 69 6e 69 74 50 6c 61 63 65 68 6f 6c 64 65 72 46 6f 72 6d 61 74 74 65 72 73 28 ction.initPlaceholderFormatters(
127f20 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 69 6e 64 69 63 61 74 6f 72 27 20 3d 3e ).{.return.array(.'indicator'.=>
127f40 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 49 6e 64 69 63 61 74 6f 72 20 24 69 6e .function.(ProgressIndicator.$in
127f60 64 69 63 61 74 6f 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e 64 69 63 61 74 6f 72 2d 3e 67 65 dicator).{.return.$indicator->ge
127f80 74 43 75 72 72 65 6e 74 56 61 6c 75 65 28 29 3b 0a 7d 2c 0a 27 6d 65 73 73 61 67 65 27 20 3d 3e tCurrentValue();.},.'message'.=>
127fa0 20 66 75 6e 63 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 49 6e 64 69 63 61 74 6f 72 20 24 69 6e .function.(ProgressIndicator.$in
127fc0 64 69 63 61 74 6f 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e 64 69 63 61 74 6f 72 2d 3e 67 65 dicator).{.return.$indicator->ge
127fe0 74 4d 65 73 73 61 67 65 28 29 3b 0a 7d 2c 0a 27 65 6c 61 70 73 65 64 27 20 3d 3e 20 66 75 6e 63 tMessage();.},.'elapsed'.=>.func
128000 74 69 6f 6e 20 28 50 72 6f 67 72 65 73 73 49 6e 64 69 63 61 74 6f 72 20 24 69 6e 64 69 63 61 74 tion.(ProgressIndicator.$indicat
128020 6f 72 29 20 7b 0a 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 54 69 6d 65 28 or).{.return.Helper::formatTime(
128040 74 69 6d 65 28 29 20 2d 20 24 69 6e 64 69 63 61 74 6f 72 2d 3e 67 65 74 53 74 61 72 74 54 69 6d time().-.$indicator->getStartTim
128060 65 28 29 29 3b 0a 7d 2c 0a 27 6d 65 6d 6f 72 79 27 20 3d 3e 20 66 75 6e 63 74 69 6f 6e 20 28 29 e());.},.'memory'.=>.function.()
128080 20 7b 0a 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 66 6f 72 6d 61 74 4d 65 6d 6f 72 79 28 6d .{.return.Helper::formatMemory(m
1280a0 65 6d 6f 72 79 5f 67 65 74 5f 75 73 61 67 65 28 74 72 75 65 29 29 3b 0a 7d 2c 0a 29 3b 0a 7d 0a emory_get_usage(true));.},.);.}.
1280c0 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 46 6f 72 .private.static.function.initFor
1280e0 6d 61 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 6e 6f 72 6d 61 6c 27 20 mats().{.return.array(.'normal'.
128100 3d 3e 20 27 20 25 69 6e 64 69 63 61 74 6f 72 25 20 25 6d 65 73 73 61 67 65 25 27 2c 0a 27 6e 6f =>.'.%indicator%.%message%',.'no
128120 72 6d 61 6c 5f 6e 6f 5f 61 6e 73 69 27 20 3d 3e 20 27 20 25 6d 65 73 73 61 67 65 25 27 2c 0a 0a rmal_no_ansi'.=>.'.%message%',..
128140 27 76 65 72 62 6f 73 65 27 20 3d 3e 20 27 20 25 69 6e 64 69 63 61 74 6f 72 25 20 25 6d 65 73 73 'verbose'.=>.'.%indicator%.%mess
128160 61 67 65 25 20 28 25 65 6c 61 70 73 65 64 3a 36 73 25 29 27 2c 0a 27 76 65 72 62 6f 73 65 5f 6e age%.(%elapsed:6s%)',.'verbose_n
128180 6f 5f 61 6e 73 69 27 20 3d 3e 20 27 20 25 6d 65 73 73 61 67 65 25 20 28 25 65 6c 61 70 73 65 64 o_ansi'.=>.'.%message%.(%elapsed
1281a0 3a 36 73 25 29 27 2c 0a 0a 27 76 65 72 79 5f 76 65 72 62 6f 73 65 27 20 3d 3e 20 27 20 25 69 6e :6s%)',..'very_verbose'.=>.'.%in
1281c0 64 69 63 61 74 6f 72 25 20 25 6d 65 73 73 61 67 65 25 20 28 25 65 6c 61 70 73 65 64 3a 36 73 25 dicator%.%message%.(%elapsed:6s%
1281e0 2c 20 25 6d 65 6d 6f 72 79 3a 36 73 25 29 27 2c 0a 27 76 65 72 79 5f 76 65 72 62 6f 73 65 5f 6e ,.%memory:6s%)',.'very_verbose_n
128200 6f 5f 61 6e 73 69 27 20 3d 3e 20 27 20 25 6d 65 73 73 61 67 65 25 20 28 25 65 6c 61 70 73 65 64 o_ansi'.=>.'.%message%.(%elapsed
128220 3a 36 73 25 2c 20 25 6d 65 6d 6f 72 79 3a 36 73 25 29 27 2c 0a 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 :6s%,.%memory:6s%)',.);.}.}.<?ph
128240 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f p...........namespace.Symfony\Co
128260 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d mponent\Console\Helper;..use.Sym
128280 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e fony\Component\Console\Exception
1282a0 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 \InvalidArgumentException;.use.S
1282c0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 ymfony\Component\Console\Excepti
1282e0 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 on\RuntimeException;.use.Symfony
128300 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 \Component\Console\Formatter\Out
128320 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e putFormatter;.use.Symfony\Compon
128340 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d ent\Console\Formatter\OutputForm
128360 61 74 74 65 72 53 74 79 6c 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e atterStyle;.use.Symfony\Componen
128380 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a t\Console\Input\InputInterface;.
1283a0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 use.Symfony\Component\Console\Ou
1283c0 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 tput\ConsoleOutputInterface;.use
1283e0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 .Symfony\Component\Console\Outpu
128400 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 t\OutputInterface;.use.Symfony\C
128420 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 68 6f 69 63 65 omponent\Console\Question\Choice
128440 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c Question;.use.Symfony\Component\
128460 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a Console\Question\Question;......
128480 0a 63 6c 61 73 73 20 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 .class.QuestionHelper.extends.He
1284a0 6c 70 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 53 74 72 65 61 6d 3b 0a 70 72 69 lper.{.private.$inputStream;.pri
1284c0 76 61 74 65 20 73 74 61 74 69 63 20 24 73 68 65 6c 6c 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 vate.static.$shell;.private.stat
1284e0 69 63 20 24 73 74 74 79 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ic.$stty;.........public.functio
128500 6e 20 61 73 6b 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 n.ask(InputInterface.$input,.Out
128520 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f 6e 20 24 putInterface.$output,.Question.$
128540 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 question).{.if.($output.instance
128560 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 of.ConsoleOutputInterface).{.$ou
128580 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 tput.=.$output->getErrorOutput()
1285a0 3b 0a 7d 0a 0a 69 66 20 28 21 24 69 6e 70 75 74 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 ;.}..if.(!$input->isInteractive(
1285c0 29 29 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 44 65 )).{.$default.=.$question->getDe
1285e0 66 61 75 6c 74 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 66 61 75 6c 74 20 fault();..if.(null.!==.$default.
128600 26 26 20 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 65 51 75 &&.$question.instanceof.ChoiceQu
128620 65 73 74 69 6f 6e 29 20 7b 0a 24 63 68 6f 69 63 65 73 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e estion).{.$choices.=.$question->
128640 67 65 74 43 68 6f 69 63 65 73 28 29 3b 0a 0a 69 66 20 28 21 24 71 75 65 73 74 69 6f 6e 2d 3e 69 getChoices();..if.(!$question->i
128660 73 4d 75 6c 74 69 73 65 6c 65 63 74 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 sMultiselect()).{.return.isset($
128680 63 68 6f 69 63 65 73 5b 24 64 65 66 61 75 6c 74 5d 29 20 3f 20 24 63 68 6f 69 63 65 73 5b 24 64 choices[$default]).?.$choices[$d
1286a0 65 66 61 75 6c 74 5d 20 3a 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 24 64 65 66 61 75 6c 74 20 efault].:.$default;.}..$default.
1286c0 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 64 65 66 61 75 6c 74 29 3b 0a 66 6f 72 65 61 63 =.explode(',',.$default);.foreac
1286e0 68 20 28 24 64 65 66 61 75 6c 74 20 61 73 20 24 6b 20 3d 3e 20 24 76 29 20 7b 0a 24 76 20 3d 20 h.($default.as.$k.=>.$v).{.$v.=.
128700 74 72 69 6d 28 24 76 29 3b 0a 24 64 65 66 61 75 6c 74 5b 24 6b 5d 20 3d 20 69 73 73 65 74 28 24 trim($v);.$default[$k].=.isset($
128720 63 68 6f 69 63 65 73 5b 24 76 5d 29 20 3f 20 24 63 68 6f 69 63 65 73 5b 24 76 5d 20 3a 20 24 76 choices[$v]).?.$choices[$v].:.$v
128740 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 21 ;.}.}..return.$default;.}..if.(!
128760 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 56 61 6c 69 64 61 74 6f 72 28 29 29 20 7b 0a 72 65 74 $question->getValidator()).{.ret
128780 75 72 6e 20 24 74 68 69 73 2d 3e 64 6f 41 73 6b 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 urn.$this->doAsk($output,.$quest
1287a0 69 6f 6e 29 3b 0a 7d 0a 0a 24 74 68 61 74 20 3d 20 24 74 68 69 73 3b 0a 0a 24 69 6e 74 65 72 76 ion);.}..$that.=.$this;..$interv
1287c0 69 65 77 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 24 6f 75 74 70 75 74 iewer.=.function.().use.($output
1287e0 2c 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 74 68 61 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 ,.$question,.$that).{.return.$th
128800 61 74 2d 3e 64 6f 41 73 6b 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d at->doAsk($output,.$question);.}
128820 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 ;..return.$this->validateAttempt
128840 73 28 24 69 6e 74 65 72 76 69 65 77 65 72 2c 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 s($interviewer,.$output,.$questi
128860 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e on);.}...........public.function
128880 20 73 65 74 49 6e 70 75 74 53 74 72 65 61 6d 28 24 73 74 72 65 61 6d 29 0a 7b 0a 69 66 20 28 21 .setInputStream($stream).{.if.(!
1288a0 5c 69 73 5f 72 65 73 6f 75 72 63 65 28 24 73 74 72 65 61 6d 29 29 20 7b 0a 74 68 72 6f 77 20 6e \is_resource($stream)).{.throw.n
1288c0 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 70 ew.InvalidArgumentException('Inp
1288e0 75 74 20 73 74 72 65 61 6d 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 72 65 73 6f 75 72 ut.stream.must.be.a.valid.resour
128900 63 65 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d 20 3d 20 24 ce.');.}..$this->inputStream.=.$
128920 73 74 72 65 61 6d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 stream;.}.......public.function.
128940 67 65 74 49 6e 70 75 74 53 74 72 65 61 6d 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d getInputStream().{.return.$this-
128960 3e 69 6e 70 75 74 53 74 72 65 61 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 >inputStream;.}.....public.funct
128980 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 71 75 65 73 74 69 6f 6e ion.getName().{.return.'question
1289a0 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 ';.}...........public.function.d
1289c0 6f 41 73 6b 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 oAsk(OutputInterface.$output,.Qu
1289e0 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 estion.$question).{.$this->write
128a00 50 72 6f 6d 70 74 28 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 24 69 6e Prompt($output,.$question);..$in
128a20 70 75 74 53 74 72 65 61 6d 20 3d 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 53 74 72 65 61 6d 20 3f putStream.=.$this->inputStream.?
128a40 3a 20 53 54 44 49 4e 3b 0a 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 3d 20 24 71 75 65 73 74 69 :.STDIN;.$autocomplete.=.$questi
128a60 6f 6e 2d 3e 67 65 74 41 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 28 29 3b 0a 0a 69 on->getAutocompleterValues();..i
128a80 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 20 7c 7c 20 21 24 74 f.(null.===.$autocomplete.||.!$t
128aa0 68 69 73 2d 3e 68 61 73 53 74 74 79 41 76 61 69 6c 61 62 6c 65 28 29 29 20 7b 0a 24 72 65 74 20 his->hasSttyAvailable()).{.$ret.
128ac0 3d 20 66 61 6c 73 65 3b 0a 69 66 20 28 24 71 75 65 73 74 69 6f 6e 2d 3e 69 73 48 69 64 64 65 6e =.false;.if.($question->isHidden
128ae0 28 29 29 20 7b 0a 74 72 79 20 7b 0a 24 72 65 74 20 3d 20 74 72 69 6d 28 24 74 68 69 73 2d 3e 67 ()).{.try.{.$ret.=.trim($this->g
128b00 65 74 48 69 64 64 65 6e 52 65 73 70 6f 6e 73 65 28 24 6f 75 74 70 75 74 2c 20 24 69 6e 70 75 74 etHiddenResponse($output,.$input
128b20 53 74 72 65 61 6d 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 52 75 6e 74 69 6d 65 45 78 63 65 70 74 Stream));.}.catch.(RuntimeExcept
128b40 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 21 24 71 75 65 73 74 69 6f 6e 2d 3e 69 73 48 69 64 64 ion.$e).{.if.(!$question->isHidd
128b60 65 6e 46 61 6c 6c 62 61 63 6b 28 29 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 7d 0a enFallback()).{.throw.$e;.}.}.}.
128b80 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 74 29 20 7b 0a 24 72 65 74 20 3d 20 66 67 .if.(false.===.$ret).{.$ret.=.fg
128ba0 65 74 73 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 34 30 39 36 29 3b 0a 69 66 20 28 66 61 6c ets($inputStream,.4096);.if.(fal
128bc0 73 65 20 3d 3d 3d 20 24 72 65 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 se.===.$ret).{.throw.new.Runtime
128be0 45 78 63 65 70 74 69 6f 6e 28 27 41 62 6f 72 74 65 64 27 29 3b 0a 7d 0a 24 72 65 74 20 3d 20 74 Exception('Aborted');.}.$ret.=.t
128c00 72 69 6d 28 24 72 65 74 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 74 20 3d 20 74 72 69 rim($ret);.}.}.else.{.$ret.=.tri
128c20 6d 28 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 70 6c 65 74 65 28 24 6f 75 74 70 75 74 2c 20 24 m($this->autocomplete($output,.$
128c40 71 75 65 73 74 69 6f 6e 2c 20 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 5c 69 73 5f 61 72 72 61 question,.$inputStream,.\is_arra
128c60 79 28 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 29 20 3f 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 y($autocomplete).?.$autocomplete
128c80 20 3a 20 69 74 65 72 61 74 6f 72 5f 74 6f 5f 61 72 72 61 79 28 24 61 75 74 6f 63 6f 6d 70 6c 65 .:.iterator_to_array($autocomple
128ca0 74 65 2c 20 66 61 6c 73 65 29 29 29 3b 0a 7d 0a 0a 24 72 65 74 20 3d 20 5c 73 74 72 6c 65 6e 28 te,.false)));.}..$ret.=.\strlen(
128cc0 24 72 65 74 29 20 3e 20 30 20 3f 20 24 72 65 74 20 3a 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 $ret).>.0.?.$ret.:.$question->ge
128ce0 74 44 65 66 61 75 6c 74 28 29 3b 0a 0a 69 66 20 28 24 6e 6f 72 6d 61 6c 69 7a 65 72 20 3d 20 24 tDefault();..if.($normalizer.=.$
128d00 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 29 20 7b 0a 72 65 74 question->getNormalizer()).{.ret
128d20 75 72 6e 20 24 6e 6f 72 6d 61 6c 69 7a 65 72 28 24 72 65 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e urn.$normalizer($ret);.}..return
128d40 20 24 72 65 74 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 .$ret;.}.....protected.function.
128d60 77 72 69 74 65 50 72 6f 6d 70 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 writePrompt(OutputInterface.$out
128d80 70 75 74 2c 20 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 24 6d 65 73 73 put,.Question.$question).{.$mess
128da0 61 67 65 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 29 3b 0a age.=.$question->getQuestion();.
128dc0 0a 69 66 20 28 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 65 .if.($question.instanceof.Choice
128de0 51 75 65 73 74 69 6f 6e 29 20 7b 0a 24 6d 61 78 57 69 64 74 68 20 3d 20 6d 61 78 28 61 72 72 61 Question).{.$maxWidth.=.max(arra
128e00 79 5f 6d 61 70 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 73 74 72 6c 65 6e 27 29 2c 20 61 72 y_map(array($this,.'strlen'),.ar
128e20 72 61 79 5f 6b 65 79 73 28 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 ray_keys($question->getChoices()
128e40 29 29 29 3b 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 71 75 65 73 74 )));..$messages.=.(array).$quest
128e60 69 6f 6e 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 71 75 ion->getQuestion();.foreach.($qu
128e80 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 20 61 73 20 24 6b 65 79 20 3d 3e 20 estion->getChoices().as.$key.=>.
128ea0 24 76 61 6c 75 65 29 20 7b 0a 24 77 69 64 74 68 20 3d 20 24 6d 61 78 57 69 64 74 68 20 2d 20 24 $value).{.$width.=.$maxWidth.-.$
128ec0 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 6b 65 79 29 3b 0a 24 6d 65 73 73 61 67 65 73 5b 5d 20 this->strlen($key);.$messages[].
128ee0 3d 20 27 20 20 5b 3c 69 6e 66 6f 3e 27 2e 24 6b 65 79 2e 73 74 72 5f 72 65 70 65 61 74 28 27 20 =.'..[<info>'.$key.str_repeat('.
128f00 27 2c 20 24 77 69 64 74 68 29 2e 27 3c 2f 69 6e 66 6f 3e 5d 20 27 2e 24 76 61 6c 75 65 3b 0a 7d ',.$width).'</info>].'.$value;.}
128f20 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 29 3b 0a 0a ..$output->writeln($messages);..
128f40 24 6d 65 73 73 61 67 65 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 50 72 6f 6d 70 74 28 $message.=.$question->getPrompt(
128f60 29 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 29 3b 0a );.}..$output->write($message);.
128f80 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 45 72 }.....protected.function.writeEr
128fa0 72 6f 72 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 5c 45 78 ror(OutputInterface.$output,.\Ex
128fc0 63 65 70 74 69 6f 6e 20 24 65 72 72 6f 72 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 ception.$error).{.if.(null.!==.$
128fe0 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 74 28 29 20 26 26 20 24 74 68 69 73 2d 3e 67 this->getHelperSet().&&.$this->g
129000 65 74 48 65 6c 70 65 72 53 65 74 28 29 2d 3e 68 61 73 28 27 66 6f 72 6d 61 74 74 65 72 27 29 29 etHelperSet()->has('formatter'))
129020 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 48 65 6c 70 65 72 53 65 .{.$message.=.$this->getHelperSe
129040 74 28 29 2d 3e 67 65 74 28 27 66 6f 72 6d 61 74 74 65 72 27 29 2d 3e 66 6f 72 6d 61 74 42 6c 6f t()->get('formatter')->formatBlo
129060 63 6b 28 24 65 72 72 6f 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 20 27 65 72 72 6f 72 27 ck($error->getMessage(),.'error'
129080 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 3c 65 72 72 6f 72 3e 27 );.}.else.{.$message.=.'<error>'
1290a0 2e 24 65 72 72 6f 72 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2e 27 3c 2f 65 72 72 6f 72 3e 27 .$error->getMessage().'</error>'
1290c0 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 29 3b ;.}..$output->writeln($message);
1290e0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 .}............private.function.a
129100 75 74 6f 63 6f 6d 70 6c 65 74 65 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 utocomplete(OutputInterface.$out
129120 70 75 74 2c 20 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 2c 20 24 69 6e 70 75 74 53 put,.Question.$question,.$inputS
129140 74 72 65 61 6d 2c 20 61 72 72 61 79 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 29 0a 7b 0a 24 72 tream,.array.$autocomplete).{.$r
129160 65 74 20 3d 20 27 27 3b 0a 0a 24 69 20 3d 20 30 3b 0a 24 6f 66 73 20 3d 20 2d 31 3b 0a 24 6d 61 et.=.'';..$i.=.0;.$ofs.=.-1;.$ma
129180 74 63 68 65 73 20 3d 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 3b 0a 24 6e 75 6d 4d 61 74 63 68 tches.=.$autocomplete;.$numMatch
1291a0 65 73 20 3d 20 5c 63 6f 75 6e 74 28 24 6d 61 74 63 68 65 73 29 3b 0a 0a 24 73 74 74 79 4d 6f 64 es.=.\count($matches);..$sttyMod
1291c0 65 20 3d 20 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 67 27 29 3b 0a 0a 0a 20 73 68 e.=.shell_exec('stty.-g');....sh
1291e0 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 69 63 61 6e 6f 6e 20 2d 65 63 68 6f 27 29 3b 0a ell_exec('stty.-icanon.-echo');.
129200 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2d 3e 73 65 74 53 ...$output->getFormatter()->setS
129220 74 79 6c 65 28 27 68 6c 27 2c 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 53 74 tyle('hl',.new.OutputFormatterSt
129240 79 6c 65 28 27 62 6c 61 63 6b 27 2c 20 27 77 68 69 74 65 27 29 29 3b 0a 0a 0a 20 77 68 69 6c 65 yle('black',.'white'));....while
129260 20 28 21 66 65 6f 66 28 24 69 6e 70 75 74 53 74 72 65 61 6d 29 29 20 7b 0a 24 63 20 3d 20 66 72 .(!feof($inputStream)).{.$c.=.fr
129280 65 61 64 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 31 29 3b 0a 0a 0a 20 69 66 20 28 22 5c 31 ead($inputStream,.1);....if.("\1
1292a0 37 37 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6e 75 6d 4d 61 74 63 77".===.$c).{.if.(0.===.$numMatc
1292c0 68 65 73 20 26 26 20 30 20 21 3d 3d 20 24 69 29 20 7b 0a 2d 2d 24 69 3b 0a 0a 20 24 6f 75 74 70 hes.&&.0.!==.$i).{.--$i;...$outp
1292e0 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 5b 31 44 22 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d ut->write("\033[1D");.}..if.(0.=
129300 3d 3d 20 24 69 29 20 7b 0a 24 6f 66 73 20 3d 20 2d 31 3b 0a 24 6d 61 74 63 68 65 73 20 3d 20 24 ==.$i).{.$ofs.=.-1;.$matches.=.$
129320 61 75 74 6f 63 6f 6d 70 6c 65 74 65 3b 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 5c 63 6f 75 autocomplete;.$numMatches.=.\cou
129340 6e 74 28 24 6d 61 74 63 68 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 75 6d 4d 61 74 63 68 nt($matches);.}.else.{.$numMatch
129360 65 73 20 3d 20 30 3b 0a 7d 0a 0a 0a 20 24 72 65 74 20 3d 20 73 75 62 73 74 72 28 24 72 65 74 2c es.=.0;.}....$ret.=.substr($ret,
129380 20 30 2c 20 24 69 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 22 5c 30 33 33 22 20 3d 3d 3d 20 24 63 .0,.$i);.}.elseif.("\033".===.$c
1293a0 29 20 7b 0a 0a 20 24 63 20 2e 3d 20 66 72 65 61 64 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 ).{...$c..=.fread($inputStream,.
1293c0 32 29 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 63 5b 32 5d 29 20 26 26 20 28 27 41 27 20 2);....if.(isset($c[2]).&&.('A'.
1293e0 3d 3d 3d 20 24 63 5b 32 5d 20 7c 7c 20 27 42 27 20 3d 3d 3d 20 24 63 5b 32 5d 29 29 20 7b 0a 69 ===.$c[2].||.'B'.===.$c[2])).{.i
129400 66 20 28 27 41 27 20 3d 3d 3d 20 24 63 5b 32 5d 20 26 26 20 2d 31 20 3d 3d 3d 20 24 6f 66 73 29 f.('A'.===.$c[2].&&.-1.===.$ofs)
129420 20 7b 0a 24 6f 66 73 20 3d 20 30 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6e 75 6d 4d 61 .{.$ofs.=.0;.}..if.(0.===.$numMa
129440 74 63 68 65 73 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 24 6f 66 73 20 2b 3d 20 28 27 tches).{.continue;.}..$ofs.+=.('
129460 41 27 20 3d 3d 3d 20 24 63 5b 32 5d 29 20 3f 20 2d 31 20 3a 20 31 3b 0a 24 6f 66 73 20 3d 20 28 A'.===.$c[2]).?.-1.:.1;.$ofs.=.(
129480 24 6e 75 6d 4d 61 74 63 68 65 73 20 2b 20 24 6f 66 73 29 20 25 20 24 6e 75 6d 4d 61 74 63 68 65 $numMatches.+.$ofs).%.$numMatche
1294a0 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 5c 6f 72 64 28 24 63 29 20 3c 20 33 32 29 20 7b 0a s;.}.}.elseif.(\ord($c).<.32).{.
1294c0 69 66 20 28 22 5c 74 22 20 3d 3d 3d 20 24 63 20 7c 7c 20 22 5c 6e 22 20 3d 3d 3d 20 24 63 29 20 if.("\t".===.$c.||."\n".===.$c).
1294e0 7b 0a 69 66 20 28 24 6e 75 6d 4d 61 74 63 68 65 73 20 3e 20 30 20 26 26 20 2d 31 20 21 3d 3d 20 {.if.($numMatches.>.0.&&.-1.!==.
129500 24 6f 66 73 29 20 7b 0a 24 72 65 74 20 3d 20 24 6d 61 74 63 68 65 73 5b 24 6f 66 73 5d 3b 0a 0a $ofs).{.$ret.=.$matches[$ofs];..
129520 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 73 75 62 73 74 72 28 24 72 65 74 2c 20 24 69 29 .$output->write(substr($ret,.$i)
129540 29 3b 0a 24 69 20 3d 20 5c 73 74 72 6c 65 6e 28 24 72 65 74 29 3b 0a 7d 0a 0a 69 66 20 28 22 5c );.$i.=.\strlen($ret);.}..if.("\
129560 6e 22 20 3d 3d 3d 20 24 63 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 63 29 3b n".===.$c).{.$output->write($c);
129580 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 6e 75 6d 4d 61 74 63 68 65 73 20 3d 20 30 3b 0a 7d 0a 0a 63 .break;.}..$numMatches.=.0;.}..c
1295a0 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 ontinue;.}.else.{.$output->write
1295c0 28 24 63 29 3b 0a 24 72 65 74 20 2e 3d 20 24 63 3b 0a 2b 2b 24 69 3b 0a 0a 24 6e 75 6d 4d 61 74 ($c);.$ret..=.$c;.++$i;..$numMat
1295e0 63 68 65 73 20 3d 20 30 3b 0a 24 6f 66 73 20 3d 20 30 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 61 ches.=.0;.$ofs.=.0;..foreach.($a
129600 75 74 6f 63 6f 6d 70 6c 65 74 65 20 61 73 20 24 76 61 6c 75 65 29 20 7b 0a 0a 20 69 66 20 28 30 utocomplete.as.$value).{...if.(0
129620 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 76 61 6c 75 65 2c 20 24 72 65 74 29 29 20 7b 0a 24 6d 61 .===.strpos($value,.$ret)).{.$ma
129640 74 63 68 65 73 5b 24 6e 75 6d 4d 61 74 63 68 65 73 2b 2b 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d tches[$numMatches++].=.$value;.}
129660 0a 7d 0a 7d 0a 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 5b 4b 22 29 .}.}....$output->write("\033[K")
129680 3b 0a 0a 69 66 20 28 24 6e 75 6d 4d 61 74 63 68 65 73 20 3e 20 30 20 26 26 20 2d 31 20 21 3d 3d ;..if.($numMatches.>.0.&&.-1.!==
1296a0 20 24 6f 66 73 29 20 7b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 33 37 .$ofs).{...$output->write("\0337
1296c0 22 29 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 27 3c 68 6c 3e 27 2e 4f 75 74 70 ");...$output->write('<hl>'.Outp
1296e0 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 54 72 61 69 6c 69 6e 67 42 61 63 6b 73 utFormatter::escapeTrailingBacks
129700 6c 61 73 68 28 73 75 62 73 74 72 28 24 6d 61 74 63 68 65 73 5b 24 6f 66 73 5d 2c 20 24 69 29 29 lash(substr($matches[$ofs],.$i))
129720 2e 27 3c 2f 68 6c 3e 27 29 3b 0a 0a 20 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 22 5c 30 33 .'</hl>');...$output->write("\03
129740 33 38 22 29 3b 0a 7d 0a 7d 0a 0a 0a 20 73 68 65 6c 6c 5f 65 78 65 63 28 73 70 72 69 6e 74 66 28 38");.}.}....shell_exec(sprintf(
129760 27 73 74 74 79 20 25 73 27 2c 20 24 73 74 74 79 4d 6f 64 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 'stty.%s',.$sttyMode));..return.
129780 24 72 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 $ret;.}............private.funct
1297a0 69 6f 6e 20 67 65 74 48 69 64 64 65 6e 52 65 73 70 6f 6e 73 65 28 4f 75 74 70 75 74 49 6e 74 65 ion.getHiddenResponse(OutputInte
1297c0 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 24 69 6e 70 75 74 53 74 72 65 61 6d 29 0a 7b 0a 69 rface.$output,.$inputStream).{.i
1297e0 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 f.('\\'.===.\DIRECTORY_SEPARATOR
129800 29 20 7b 0a 24 65 78 65 20 3d 20 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 52 65 73 6f 75 72 63 65 ).{.$exe.=.__DIR__.'/../Resource
129820 73 2f 62 69 6e 2f 68 69 64 64 65 6e 69 6e 70 75 74 2e 65 78 65 27 3b 0a 0a 0a 20 69 66 20 28 27 s/bin/hiddeninput.exe';....if.('
129840 70 68 61 72 3a 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 5f 5f 46 49 4c 45 5f 5f 2c 20 30 2c 20 35 phar:'.===.substr(__FILE__,.0,.5
129860 29 29 20 7b 0a 24 74 6d 70 45 78 65 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 )).{.$tmpExe.=.sys_get_temp_dir(
129880 29 2e 27 2f 68 69 64 64 65 6e 69 6e 70 75 74 2e 65 78 65 27 3b 0a 63 6f 70 79 28 24 65 78 65 2c ).'/hiddeninput.exe';.copy($exe,
1298a0 20 24 74 6d 70 45 78 65 29 3b 0a 24 65 78 65 20 3d 20 24 74 6d 70 45 78 65 3b 0a 7d 0a 0a 24 76 .$tmpExe);.$exe.=.$tmpExe;.}..$v
1298c0 61 6c 75 65 20 3d 20 72 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 28 24 65 78 65 29 29 3b 0a alue.=.rtrim(shell_exec($exe));.
1298e0 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 $output->writeln('');..if.(isset
129900 28 24 74 6d 70 45 78 65 29 29 20 7b 0a 75 6e 6c 69 6e 6b 28 24 74 6d 70 45 78 65 29 3b 0a 7d 0a ($tmpExe)).{.unlink($tmpExe);.}.
129920 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 .return.$value;.}..if.($this->ha
129940 73 53 74 74 79 41 76 61 69 6c 61 62 6c 65 28 29 29 20 7b 0a 24 73 74 74 79 4d 6f 64 65 20 3d 20 sSttyAvailable()).{.$sttyMode.=.
129960 73 68 65 6c 6c 5f 65 78 65 63 28 27 73 74 74 79 20 2d 67 27 29 3b 0a 0a 73 68 65 6c 6c 5f 65 78 shell_exec('stty.-g');..shell_ex
129980 65 63 28 27 73 74 74 79 20 2d 65 63 68 6f 27 29 3b 0a 24 76 61 6c 75 65 20 3d 20 66 67 65 74 73 ec('stty.-echo');.$value.=.fgets
1299a0 28 24 69 6e 70 75 74 53 74 72 65 61 6d 2c 20 34 30 39 36 29 3b 0a 73 68 65 6c 6c 5f 65 78 65 63 ($inputStream,.4096);.shell_exec
1299c0 28 73 70 72 69 6e 74 66 28 27 73 74 74 79 20 25 73 27 2c 20 24 73 74 74 79 4d 6f 64 65 29 29 3b (sprintf('stty.%s',.$sttyMode));
1299e0 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 74 68 72 6f 77 20 ..if.(false.===.$value).{.throw.
129a00 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 41 62 6f 72 74 65 64 27 29 3b new.RuntimeException('Aborted');
129a20 0a 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 74 72 69 6d 28 24 76 61 6c 75 65 29 3b 0a 24 6f 75 74 70 .}..$value.=.trim($value);.$outp
129a40 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b ut->writeln('');..return.$value;
129a60 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 73 68 65 6c 6c 20 3d 20 24 74 68 69 73 .}..if.(false.!==.$shell.=.$this
129a80 2d 3e 67 65 74 53 68 65 6c 6c 28 29 29 20 7b 0a 24 72 65 61 64 43 6d 64 20 3d 20 27 63 73 68 27 ->getShell()).{.$readCmd.=.'csh'
129aa0 20 3d 3d 3d 20 24 73 68 65 6c 6c 20 3f 20 27 73 65 74 20 6d 79 70 61 73 73 77 6f 72 64 20 3d 20 .===.$shell.?.'set.mypassword.=.
129ac0 24 3c 27 20 3a 20 27 72 65 61 64 20 2d 72 20 6d 79 70 61 73 73 77 6f 72 64 27 3b 0a 24 63 6f 6d $<'.:.'read.-r.mypassword';.$com
129ae0 6d 61 6e 64 20 3d 20 73 70 72 69 6e 74 66 28 22 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 25 73 20 mand.=.sprintf("/usr/bin/env.%s.
129b00 2d 63 20 27 73 74 74 79 20 2d 65 63 68 6f 3b 20 25 73 3b 20 73 74 74 79 20 65 63 68 6f 3b 20 65 -c.'stty.-echo;.%s;.stty.echo;.e
129b20 63 68 6f 20 5c 24 6d 79 70 61 73 73 77 6f 72 64 27 22 2c 20 24 73 68 65 6c 6c 2c 20 24 72 65 61 cho.\$mypassword'",.$shell,.$rea
129b40 64 43 6d 64 29 3b 0a 24 76 61 6c 75 65 20 3d 20 72 74 72 69 6d 28 73 68 65 6c 6c 5f 65 78 65 63 dCmd);.$value.=.rtrim(shell_exec
129b60 28 24 63 6f 6d 6d 61 6e 64 29 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 27 27 ($command));.$output->writeln(''
129b80 29 3b 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 );..return.$value;.}..throw.new.
129ba0 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 68 69 64 65 RuntimeException('Unable.to.hide
129bc0 20 74 68 65 20 72 65 73 70 6f 6e 73 65 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .the.response.');.}.............
129be0 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 41 74 74 65 6d 70 74 private.function.validateAttempt
129c00 73 28 24 69 6e 74 65 72 76 69 65 77 65 72 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 s($interviewer,.OutputInterface.
129c20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 24 $output,.Question.$question).{.$
129c40 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 3b 0a 24 61 74 74 65 6d 70 74 73 20 3d 20 24 71 75 65 73 74 error.=.null;.$attempts.=.$quest
129c60 69 6f 6e 2d 3e 67 65 74 4d 61 78 41 74 74 65 6d 70 74 73 28 29 3b 0a 77 68 69 6c 65 20 28 6e 75 ion->getMaxAttempts();.while.(nu
129c80 6c 6c 20 3d 3d 3d 20 24 61 74 74 65 6d 70 74 73 20 7c 7c 20 24 61 74 74 65 6d 70 74 73 2d 2d 29 ll.===.$attempts.||.$attempts--)
129ca0 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 72 72 6f 72 29 20 7b 0a 24 74 68 69 73 2d .{.if.(null.!==.$error).{.$this-
129cc0 3e 77 72 69 74 65 45 72 72 6f 72 28 24 6f 75 74 70 75 74 2c 20 24 65 72 72 6f 72 29 3b 0a 7d 0a >writeError($output,.$error);.}.
129ce0 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 71 .try.{.return.\call_user_func($q
129d00 75 65 73 74 69 6f 6e 2d 3e 67 65 74 56 61 6c 69 64 61 74 6f 72 28 29 2c 20 24 69 6e 74 65 72 76 uestion->getValidator(),.$interv
129d20 69 65 77 65 72 28 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 52 75 6e 74 69 6d 65 45 78 63 65 70 74 iewer());.}.catch.(RuntimeExcept
129d40 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 ion.$e).{.throw.$e;.}.catch.(\Ex
129d60 63 65 70 74 69 6f 6e 20 24 65 72 72 6f 72 29 20 7b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 24 65 72 ception.$error).{.}.}..throw.$er
129d80 72 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 ror;.}.......private.function.ge
129da0 74 53 68 65 6c 6c 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 73 tShell().{.if.(null.!==.self::$s
129dc0 68 65 6c 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 3b 0a 7d 0a 0a hell).{.return.self::$shell;.}..
129de0 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 20 3d 20 66 61 6c 73 65 3b 0a 0a 69 66 20 28 66 69 6c 65 5f self::$shell.=.false;..if.(file_
129e00 65 78 69 73 74 73 28 27 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 27 29 29 20 7b 0a 0a 20 24 74 65 73 exists('/usr/bin/env')).{...$tes
129e20 74 20 3d 20 22 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 25 73 20 2d 63 20 27 65 63 68 6f 20 4f 4b t.=."/usr/bin/env.%s.-c.'echo.OK
129e40 27 20 32 3e 20 2f 64 65 76 2f 6e 75 6c 6c 22 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 '.2>./dev/null";.foreach.(array(
129e60 27 62 61 73 68 27 2c 20 27 7a 73 68 27 2c 20 27 6b 73 68 27 2c 20 27 63 73 68 27 29 20 61 73 20 'bash',.'zsh',.'ksh',.'csh').as.
129e80 24 73 68 29 20 7b 0a 69 66 20 28 27 4f 4b 27 20 3d 3d 3d 20 72 74 72 69 6d 28 73 68 65 6c 6c 5f $sh).{.if.('OK'.===.rtrim(shell_
129ea0 65 78 65 63 28 73 70 72 69 6e 74 66 28 24 74 65 73 74 2c 20 24 73 68 29 29 29 29 20 7b 0a 73 65 exec(sprintf($test,.$sh)))).{.se
129ec0 6c 66 3a 3a 24 73 68 65 6c 6c 20 3d 20 24 73 68 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 0a lf::$shell.=.$sh;.break;.}.}.}..
129ee0 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 68 65 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 return.self::$shell;.}.......pri
129f00 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 74 79 41 76 61 69 6c 61 62 6c 65 28 29 vate.function.hasSttyAvailable()
129f20 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 73 74 74 79 29 20 7b 0a 72 .{.if.(null.!==.self::$stty).{.r
129f40 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 74 79 3b 0a 7d 0a 0a 65 78 65 63 28 27 73 74 74 79 eturn.self::$stty;.}..exec('stty
129f60 20 32 3e 26 31 27 2c 20 24 6f 75 74 70 75 74 2c 20 24 65 78 69 74 63 6f 64 65 29 3b 0a 0a 72 65 .2>&1',.$output,.$exitcode);..re
129f80 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 74 79 20 3d 20 30 20 3d 3d 3d 20 24 65 78 69 74 63 6f turn.self::$stty.=.0.===.$exitco
129fa0 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 de;.}.}.<?php...........namespac
129fc0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 e.Symfony\Component\Console\Help
129fe0 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f er;..use.Symfony\Component\Conso
12a000 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 le\Exception\LogicException;.use
12a020 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 .Symfony\Component\Console\Forma
12a040 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e tter\OutputFormatter;.use.Symfon
12a060 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 y\Component\Console\Input\InputI
12a080 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c nterface;.use.Symfony\Component\
12a0a0 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a Console\Output\OutputInterface;.
12a0c0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 use.Symfony\Component\Console\Qu
12a0e0 65 73 74 69 6f 6e 5c 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f estion\ChoiceQuestion;.use.Symfo
12a100 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 6f ny\Component\Console\Question\Co
12a120 6e 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c nfirmationQuestion;.use.Symfony\
12a140 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 51 75 65 73 74 Component\Console\Question\Quest
12a160 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ion;.use.Symfony\Component\Conso
12a180 6c 65 5c 53 74 79 6c 65 5c 53 79 6d 66 6f 6e 79 53 74 79 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 le\Style\SymfonyStyle;.......cla
12a1a0 73 73 20 53 79 6d 66 6f 6e 79 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 20 65 78 74 65 6e 64 73 ss.SymfonyQuestionHelper.extends
12a1c0 20 51 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .QuestionHelper.{....public.func
12a1e0 74 69 6f 6e 20 61 73 6b 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 2c 20 tion.ask(InputInterface.$input,.
12a200 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f OutputInterface.$output,.Questio
12a220 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 71 75 65 n.$question).{.$validator.=.$que
12a240 73 74 69 6f 6e 2d 3e 67 65 74 56 61 6c 69 64 61 74 6f 72 28 29 3b 0a 24 71 75 65 73 74 69 6f 6e stion->getValidator();.$question
12a260 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 ->setValidator(function.($value)
12a280 20 75 73 65 20 28 24 76 61 6c 69 64 61 74 6f 72 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d .use.($validator).{.if.(null.!==
12a2a0 20 24 76 61 6c 69 64 61 74 6f 72 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 76 61 6c 69 64 61 74 .$validator).{.$value.=.$validat
12a2c0 6f 72 28 24 76 61 6c 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 21 5c 69 73 5f or($value);.}.else.{...if.(!\is_
12a2e0 61 72 72 61 79 28 24 76 61 6c 75 65 29 20 26 26 20 21 5c 69 73 5f 62 6f 6f 6c 28 24 76 61 6c 75 array($value).&&.!\is_bool($valu
12a300 65 29 20 26 26 20 30 20 3d 3d 3d 20 5c 73 74 72 6c 65 6e 28 24 76 61 6c 75 65 29 29 20 7b 0a 74 e).&&.0.===.\strlen($value)).{.t
12a320 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 41 20 76 61 6c 75 65 hrow.new.LogicException('A.value
12a340 20 69 73 20 72 65 71 75 69 72 65 64 2e 27 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 .is.required.');.}.}..return.$va
12a360 6c 75 65 3b 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 70 61 72 65 6e 74 3a 3a 61 73 6b 28 24 69 6e lue;.});..return.parent::ask($in
12a380 70 75 74 2c 20 24 6f 75 74 70 75 74 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a put,.$output,.$question);.}.....
12a3a0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 50 72 6f 6d 70 74 28 4f protected.function.writePrompt(O
12a3c0 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 51 75 65 73 74 69 6f 6e utputInterface.$output,.Question
12a3e0 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 24 74 65 78 74 20 3d 20 4f 75 74 70 75 74 46 6f 72 6d .$question).{.$text.=.OutputForm
12a400 61 74 74 65 72 3a 3a 65 73 63 61 70 65 54 72 61 69 6c 69 6e 67 42 61 63 6b 73 6c 61 73 68 28 24 atter::escapeTrailingBackslash($
12a420 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 51 75 65 73 74 69 6f 6e 28 29 29 3b 0a 24 64 65 66 61 75 question->getQuestion());.$defau
12a440 6c 74 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 0a 73 lt.=.$question->getDefault();..s
12a460 77 69 74 63 68 20 28 74 72 75 65 29 20 7b 0a 63 61 73 65 20 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 witch.(true).{.case.null.===.$de
12a480 66 61 75 6c 74 3a 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 20 3c 69 6e 66 6f 3e 25 fault:.$text.=.sprintf('.<info>%
12a4a0 73 3c 2f 69 6e 66 6f 3e 3a 27 2c 20 24 74 65 78 74 29 3b 0a 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 s</info>:',.$text);..break;..cas
12a4c0 65 20 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 66 69 72 6d 61 74 e.$question.instanceof.Confirmat
12a4e0 69 6f 6e 51 75 65 73 74 69 6f 6e 3a 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 20 3c ionQuestion:.$text.=.sprintf('.<
12a500 69 6e 66 6f 3e 25 73 20 28 79 65 73 2f 6e 6f 29 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e info>%s.(yes/no)</info>.[<commen
12a520 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 27 2c 20 24 74 65 78 74 2c 20 24 64 65 66 61 75 t>%s</comment>]:',.$text,.$defau
12a540 6c 74 20 3f 20 27 79 65 73 27 20 3a 20 27 6e 6f 27 29 3b 0a 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 lt.?.'yes'.:.'no');..break;..cas
12a560 65 20 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 65 51 75 65 e.$question.instanceof.ChoiceQue
12a580 73 74 69 6f 6e 20 26 26 20 24 71 75 65 73 74 69 6f 6e 2d 3e 69 73 4d 75 6c 74 69 73 65 6c 65 63 stion.&&.$question->isMultiselec
12a5a0 74 28 29 3a 0a 24 63 68 6f 69 63 65 73 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e 67 65 74 43 68 t():.$choices.=.$question->getCh
12a5c0 6f 69 63 65 73 28 29 3b 0a 24 64 65 66 61 75 6c 74 20 3d 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c oices();.$default.=.explode(',',
12a5e0 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 61 75 6c 74 20 61 .$default);..foreach.($default.a
12a600 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 24 64 65 66 61 75 6c 74 5b 24 6b 65 s.$key.=>.$value).{.$default[$ke
12a620 79 5d 20 3d 20 24 63 68 6f 69 63 65 73 5b 74 72 69 6d 28 24 76 61 6c 75 65 29 5d 3b 0a 7d 0a 0a y].=.$choices[trim($value)];.}..
12a640 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f $text.=.sprintf('.<info>%s</info
12a660 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 27 2c 20 24 74 65 >.[<comment>%s</comment>]:',.$te
12a680 78 74 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 69 6d 70 6c xt,.OutputFormatter::escape(impl
12a6a0 6f 64 65 28 27 2c 20 27 2c 20 24 64 65 66 61 75 6c 74 29 29 29 3b 0a 0a 62 72 65 61 6b 3b 0a 0a ode(',.',.$default)));..break;..
12a6c0 63 61 73 65 20 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 65 case.$question.instanceof.Choice
12a6e0 51 75 65 73 74 69 6f 6e 3a 0a 24 63 68 6f 69 63 65 73 20 3d 20 24 71 75 65 73 74 69 6f 6e 2d 3e Question:.$choices.=.$question->
12a700 67 65 74 43 68 6f 69 63 65 73 28 29 3b 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 20 getChoices();.$text.=.sprintf('.
12a720 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 63 6f <info>%s</info>.[<comment>%s</co
12a740 6d 6d 65 6e 74 3e 5d 3a 27 2c 20 24 74 65 78 74 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 mment>]:',.$text,.OutputFormatte
12a760 72 3a 3a 65 73 63 61 70 65 28 69 73 73 65 74 28 24 63 68 6f 69 63 65 73 5b 24 64 65 66 61 75 6c r::escape(isset($choices[$defaul
12a780 74 5d 29 20 3f 20 24 63 68 6f 69 63 65 73 5b 24 64 65 66 61 75 6c 74 5d 20 3a 20 24 64 65 66 61 t]).?.$choices[$default].:.$defa
12a7a0 75 6c 74 29 29 3b 0a 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 24 74 65 78 74 20 3d ult));..break;..default:.$text.=
12a7c0 20 73 70 72 69 6e 74 66 28 27 20 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 20 5b 3c 63 6f 6d .sprintf('.<info>%s</info>.[<com
12a7e0 6d 65 6e 74 3e 25 73 3c 2f 63 6f 6d 6d 65 6e 74 3e 5d 3a 27 2c 20 24 74 65 78 74 2c 20 4f 75 74 ment>%s</comment>]:',.$text,.Out
12a800 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 64 65 66 61 75 6c 74 29 29 3b putFormatter::escape($default));
12a820 0a 7d 0a 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 74 65 78 74 29 3b 0a 0a 69 66 .}..$output->writeln($text);..if
12a840 20 28 24 71 75 65 73 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 68 6f 69 63 65 51 75 65 .($question.instanceof.ChoiceQue
12a860 73 74 69 6f 6e 29 20 7b 0a 24 77 69 64 74 68 20 3d 20 6d 61 78 28 61 72 72 61 79 5f 6d 61 70 28 stion).{.$width.=.max(array_map(
12a880 27 73 74 72 6c 65 6e 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 71 75 65 73 74 69 6f 6e 2d 3e 'strlen',.array_keys($question->
12a8a0 67 65 74 43 68 6f 69 63 65 73 28 29 29 29 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 71 75 65 73 getChoices())));..foreach.($ques
12a8c0 74 69 6f 6e 2d 3e 67 65 74 43 68 6f 69 63 65 73 28 29 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 tion->getChoices().as.$key.=>.$v
12a8e0 61 6c 75 65 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 alue).{.$output->writeln(sprintf
12a900 28 22 20 20 5b 3c 63 6f 6d 6d 65 6e 74 3e 25 2d 24 7b 77 69 64 74 68 7d 73 3c 2f 63 6f 6d 6d 65 ("..[<comment>%-${width}s</comme
12a920 6e 74 3e 5d 20 25 73 22 2c 20 24 6b 65 79 2c 20 24 76 61 6c 75 65 29 29 3b 0a 7d 0a 7d 0a 0a 24 nt>].%s",.$key,.$value));.}.}..$
12a940 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 27 20 3e 20 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 output->write('.>.');.}.....prot
12a960 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 45 72 72 6f 72 28 4f 75 74 70 75 74 ected.function.writeError(Output
12a980 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 Interface.$output,.\Exception.$e
12a9a0 72 72 6f 72 29 0a 7b 0a 69 66 20 28 24 6f 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 53 rror).{.if.($output.instanceof.S
12a9c0 79 6d 66 6f 6e 79 53 74 79 6c 65 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 6e 65 77 4c 69 6e 65 28 ymfonyStyle).{.$output->newLine(
12a9e0 29 3b 0a 24 6f 75 74 70 75 74 2d 3e 65 72 72 6f 72 28 24 65 72 72 6f 72 2d 3e 67 65 74 4d 65 73 );.$output->error($error->getMes
12aa00 73 61 67 65 28 29 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 77 72 69 sage());..return;.}..parent::wri
12aa20 74 65 45 72 72 6f 72 28 24 6f 75 74 70 75 74 2c 20 24 65 72 72 6f 72 29 3b 0a 7d 0a 7d 0a 3c 3f teError($output,.$error);.}.}.<?
12aa40 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
12aa60 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 Component\Console\Helper;..use.S
12aa80 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 ymfony\Component\Console\Excepti
12aaa0 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 on\InvalidArgumentException;.use
12aac0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 .Symfony\Component\Console\Outpu
12aae0 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 t\OutputInterface;..........clas
12ab00 73 20 54 61 62 6c 65 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 68 65 61 64 65 72 73 20 3d 20 s.Table.{....private.$headers.=.
12ab20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 72 6f 77 73 20 3d 20 61 72 72 array();.....private.$rows.=.arr
12ab40 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6c 75 6d 6e 57 69 64 74 68 73 20 ay();.....private.$columnWidths.
12ab60 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6e 75 6d 62 65 72 =.array();.......private.$number
12ab80 4f 66 43 6f 6c 75 6d 6e 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a OfColumns;.....private.$output;.
12aba0 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 74 79 6c 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 ....private.$style;.....private.
12abc0 24 63 6f 6c 75 6d 6e 53 74 79 6c 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 69 76 61 74 $columnStyles.=.array();..privat
12abe0 65 20 73 74 61 74 69 63 20 24 73 74 79 6c 65 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 e.static.$styles;..public.functi
12ac00 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 on.__construct(OutputInterface.$
12ac20 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 output).{.$this->output.=.$outpu
12ac40 74 3b 0a 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 29 20 7b 0a 73 65 6c 66 3a 3a t;..if.(!self::$styles).{.self::
12ac60 24 73 74 79 6c 65 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 53 74 79 6c 65 73 28 29 3b 0a 7d 0a $styles.=.self::initStyles();.}.
12ac80 0a 24 74 68 69 73 2d 3e 73 65 74 53 74 79 6c 65 28 27 64 65 66 61 75 6c 74 27 29 3b 0a 7d 0a 0a .$this->setStyle('default');.}..
12aca0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 ......public.static.function.set
12acc0 53 74 79 6c 65 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 54 61 62 6c 65 53 74 79 6c StyleDefinition($name,.TableStyl
12ace0 65 20 24 73 74 79 6c 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 29 20 e.$style).{.if.(!self::$styles).
12ad00 7b 0a 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 53 74 79 6c {.self::$styles.=.self::initStyl
12ad20 65 73 28 29 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e 61 6d 65 5d 20 3d 20 es();.}..self::$styles[$name].=.
12ad40 24 73 74 79 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 $style;.}.........public.static.
12ad60 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 44 65 66 69 6e 69 74 69 6f 6e 28 24 6e 61 6d function.getStyleDefinition($nam
12ad80 65 29 0a 7b 0a 69 66 20 28 21 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 29 20 7b 0a 73 65 6c 66 3a e).{.if.(!self::$styles).{.self:
12ada0 3a 24 73 74 79 6c 65 73 20 3d 20 73 65 6c 66 3a 3a 69 6e 69 74 53 74 79 6c 65 73 28 29 3b 0a 7d :$styles.=.self::initStyles();.}
12adc0 0a 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e 61 6d 65 5d ..if.(isset(self::$styles[$name]
12ade0 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 5b 24 6e 61 6d 65 5d )).{.return.self::$styles[$name]
12ae00 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 ;.}..throw.new.InvalidArgumentEx
12ae20 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 53 74 79 6c 65 20 22 25 73 22 20 69 73 20 6e ception(sprintf('Style."%s".is.n
12ae40 6f 74 20 64 65 66 69 6e 65 64 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ot.defined.',.$name));.}........
12ae60 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 79 6c 65 28 24 6e 61 6d 65 29 .public.function.setStyle($name)
12ae80 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 .{.$this->style.=.$this->resolve
12aea0 53 74 79 6c 65 28 24 6e 61 6d 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a Style($name);..return.$this;.}..
12aec0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 28 29 0a .....public.function.getStyle().
12aee0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a {.return.$this->style;.}........
12af00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6c 75 6d 6e 53 74 79 6c 65 ..public.function.setColumnStyle
12af20 28 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 2c 20 24 6e 61 6d 65 29 0a 7b 0a 24 63 6f 6c 75 6d 6e 49 ($columnIndex,.$name).{.$columnI
12af40 6e 64 65 78 20 3d 20 28 69 6e 74 29 20 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 3b 0a 0a 24 74 68 69 ndex.=.(int).$columnIndex;..$thi
12af60 73 2d 3e 63 6f 6c 75 6d 6e 53 74 79 6c 65 73 5b 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 5d 20 3d 20 s->columnStyles[$columnIndex].=.
12af80 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 53 74 79 6c 65 28 24 6e 61 6d 65 29 3b 0a 0a 72 65 74 $this->resolveStyle($name);..ret
12afa0 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 urn.$this;.}...........public.fu
12afc0 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6c 75 6d 6e 53 74 79 6c 65 28 24 63 6f 6c 75 6d 6e 49 6e 64 nction.getColumnStyle($columnInd
12afe0 65 78 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 53 74 79 ex).{.if.(isset($this->columnSty
12b000 6c 65 73 5b 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 les[$columnIndex])).{.return.$th
12b020 69 73 2d 3e 63 6f 6c 75 6d 6e 53 74 79 6c 65 73 5b 24 63 6f 6c 75 6d 6e 49 6e 64 65 78 5d 3b 0a is->columnStyles[$columnIndex];.
12b040 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 53 74 79 6c 65 28 29 3b 0a 7d 0a 0a }..return.$this->getStyle();.}..
12b060 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 61 64 65 72 73 28 61 72 72 61 79 public.function.setHeaders(array
12b080 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 5f 76 61 .$headers).{.$headers.=.array_va
12b0a0 6c 75 65 73 28 24 68 65 61 64 65 72 73 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 68 65 61 64 lues($headers);.if.(!empty($head
12b0c0 65 72 73 29 20 26 26 20 21 5c 69 73 5f 61 72 72 61 79 28 24 68 65 61 64 65 72 73 5b 30 5d 29 29 ers).&&.!\is_array($headers[0]))
12b0e0 20 7b 0a 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 24 68 65 61 64 65 72 73 29 3b 0a 7d .{.$headers.=.array($headers);.}
12b100 0a 0a 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 20 3d 20 24 68 65 61 64 65 72 73 3b 0a 0a 72 65 ..$this->headers.=.$headers;..re
12b120 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 turn.$this;.}..public.function.s
12b140 65 74 52 6f 77 73 28 61 72 72 61 79 20 24 72 6f 77 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 6f 77 etRows(array.$rows).{.$this->row
12b160 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 64 52 s.=.array();..return.$this->addR
12b180 6f 77 73 28 24 72 6f 77 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 ows($rows);.}..public.function.a
12b1a0 64 64 52 6f 77 73 28 61 72 72 61 79 20 24 72 6f 77 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 ddRows(array.$rows).{.foreach.($
12b1c0 72 6f 77 73 20 61 73 20 24 72 6f 77 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 52 6f 77 28 24 72 rows.as.$row).{.$this->addRow($r
12b1e0 6f 77 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 ow);.}..return.$this;.}..public.
12b200 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 6f 77 28 24 72 6f 77 29 0a 7b 0a 69 66 20 28 24 72 6f 77 function.addRow($row).{.if.($row
12b220 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 29 20 7b 0a 24 74 .instanceof.TableSeparator).{.$t
12b240 68 69 73 2d 3e 72 6f 77 73 5b 5d 20 3d 20 24 72 6f 77 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 his->rows[].=.$row;..return.$thi
12b260 73 3b 0a 7d 0a 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 72 6f 77 29 29 20 7b 0a 74 68 s;.}..if.(!\is_array($row)).{.th
12b280 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e row.new.InvalidArgumentException
12b2a0 28 27 41 20 72 6f 77 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 20 6f 72 20 61 20 54 61 ('A.row.must.be.an.array.or.a.Ta
12b2c0 62 6c 65 53 65 70 61 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 2e 27 29 3b 0a 7d 0a 0a 24 74 68 bleSeparator.instance.');.}..$th
12b2e0 69 73 2d 3e 72 6f 77 73 5b 5d 20 3d 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 72 6f 77 29 3b is->rows[].=.array_values($row);
12b300 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ..return.$this;.}..public.functi
12b320 6f 6e 20 73 65 74 52 6f 77 28 24 63 6f 6c 75 6d 6e 2c 20 61 72 72 61 79 20 24 72 6f 77 29 0a 7b on.setRow($column,.array.$row).{
12b340 0a 24 74 68 69 73 2d 3e 72 6f 77 73 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 24 72 6f 77 3b 0a 0a 72 .$this->rows[$column].=.$row;..r
12b360 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 eturn.$this;.}...............pub
12b380 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 lic.function.render().{.$this->c
12b3a0 61 6c 63 75 6c 61 74 65 4e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 29 3b 0a 24 72 6f 77 73 alculateNumberOfColumns();.$rows
12b3c0 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 54 61 62 6c 65 52 6f 77 73 28 24 74 68 69 73 2d 3e .=.$this->buildTableRows($this->
12b3e0 72 6f 77 73 29 3b 0a 24 68 65 61 64 65 72 73 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 54 61 rows);.$headers.=.$this->buildTa
12b400 62 6c 65 52 6f 77 73 28 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 29 3b 0a 0a 24 74 68 69 73 2d bleRows($this->headers);..$this-
12b420 3e 63 61 6c 63 75 6c 61 74 65 43 6f 6c 75 6d 6e 73 57 69 64 74 68 28 61 72 72 61 79 5f 6d 65 72 >calculateColumnsWidth(array_mer
12b440 67 65 28 24 68 65 61 64 65 72 73 2c 20 24 72 6f 77 73 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 ge($headers,.$rows));..$this->re
12b460 6e 64 65 72 52 6f 77 53 65 70 61 72 61 74 6f 72 28 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 nderRowSeparator();.if.(!empty($
12b480 68 65 61 64 65 72 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 headers)).{.foreach.($headers.as
12b4a0 20 24 68 65 61 64 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 28 24 68 65 .$header).{.$this->renderRow($he
12b4c0 61 64 65 72 2c 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 65 6c 6c 48 65 61 64 65 ader,.$this->style->getCellHeade
12b4e0 72 46 6f 72 6d 61 74 28 29 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 53 65 70 61 rFormat());.$this->renderRowSepa
12b500 72 61 74 6f 72 28 29 3b 0a 7d 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 73 20 61 73 20 24 rator();.}.}.foreach.($rows.as.$
12b520 72 6f 77 29 20 7b 0a 69 66 20 28 24 72 6f 77 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 row).{.if.($row.instanceof.Table
12b540 53 65 70 61 72 61 74 6f 72 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 53 65 70 Separator).{.$this->renderRowSep
12b560 61 72 61 74 6f 72 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 arator();.}.else.{.$this->render
12b580 52 6f 77 28 24 72 6f 77 2c 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 65 6c 6c 52 Row($row,.$this->style->getCellR
12b5a0 6f 77 46 6f 72 6d 61 74 28 29 29 3b 0a 7d 0a 7d 0a 69 66 20 28 21 65 6d 70 74 79 28 24 72 6f 77 owFormat());.}.}.if.(!empty($row
12b5c0 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 52 6f 77 53 65 70 61 72 61 74 6f 72 28 s)).{.$this->renderRowSeparator(
12b5e0 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6c 65 61 6e 75 70 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a );.}..$this->cleanup();.}.......
12b600 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 52 6f 77 53 65 70 61 ..private.function.renderRowSepa
12b620 72 61 74 6f 72 28 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 24 63 6f 75 6e 74 20 3d 20 24 74 68 rator().{.if.(0.===.$count.=.$th
12b640 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d is->numberOfColumns).{.return;.}
12b660 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 48 6f 72 69 7a 6f 6e 74 ..if.(!$this->style->getHorizont
12b680 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 20 26 26 20 21 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d alBorderChar().&&.!$this->style-
12b6a0 3e 67 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a >getCrossingChar()).{.return;.}.
12b6c0 0a 24 6d 61 72 6b 75 70 20 3d 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 72 6f 73 .$markup.=.$this->style->getCros
12b6e0 73 69 6e 67 43 68 61 72 28 29 3b 0a 66 6f 72 20 28 24 63 6f 6c 75 6d 6e 20 3d 20 30 3b 20 24 63 singChar();.for.($column.=.0;.$c
12b700 6f 6c 75 6d 6e 20 3c 20 24 63 6f 75 6e 74 3b 20 2b 2b 24 63 6f 6c 75 6d 6e 29 20 7b 0a 24 6d 61 olumn.<.$count;.++$column).{.$ma
12b720 72 6b 75 70 20 2e 3d 20 73 74 72 5f 72 65 70 65 61 74 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d rkup..=.str_repeat($this->style-
12b740 3e 67 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 2c 20 24 74 68 69 >getHorizontalBorderChar(),.$thi
12b760 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 5b 24 63 6f 6c 75 6d 6e 5d 29 2e 24 74 68 69 73 2d s->columnWidths[$column]).$this-
12b780 3e 73 74 79 6c 65 2d 3e 67 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 29 3b 0a 7d 0a 0a 24 74 >style->getCrossingChar();.}..$t
12b7a0 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 24 74 68 his->output->writeln(sprintf($th
12b7c0 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 29 2c 20 24 6d is->style->getBorderFormat(),.$m
12b7e0 61 72 6b 75 70 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 arkup));.}.....private.function.
12b800 72 65 6e 64 65 72 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e renderColumnSeparator().{.return
12b820 20 73 70 72 69 6e 74 66 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 42 6f 72 64 65 72 .sprintf($this->style->getBorder
12b840 46 6f 72 6d 61 74 28 29 2c 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 56 65 72 74 69 Format(),.$this->style->getVerti
12b860 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 calBorderChar());.}............p
12b880 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 52 6f 77 28 61 72 72 61 79 20 rivate.function.renderRow(array.
12b8a0 24 72 6f 77 2c 20 24 63 65 6c 6c 46 6f 72 6d 61 74 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 $row,.$cellFormat).{.if.(empty($
12b8c0 72 6f 77 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 72 6f 77 43 6f 6e 74 65 6e 74 20 3d row)).{.return;.}..$rowContent.=
12b8e0 20 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 28 29 3b .$this->renderColumnSeparator();
12b900 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 52 6f 77 43 6f 6c 75 6d 6e 73 28 24 .foreach.($this->getRowColumns($
12b920 72 6f 77 29 20 61 73 20 24 63 6f 6c 75 6d 6e 29 20 7b 0a 24 72 6f 77 43 6f 6e 74 65 6e 74 20 2e row).as.$column).{.$rowContent..
12b940 3d 20 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 43 65 6c 6c 28 24 72 6f 77 2c 20 24 63 6f 6c 75 6d =.$this->renderCell($row,.$colum
12b960 6e 2c 20 24 63 65 6c 6c 46 6f 72 6d 61 74 29 3b 0a 24 72 6f 77 43 6f 6e 74 65 6e 74 20 2e 3d 20 n,.$cellFormat);.$rowContent..=.
12b980 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 28 29 3b 0a $this->renderColumnSeparator();.
12b9a0 7d 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 72 6f 77 43 6f 6e }.$this->output->writeln($rowCon
12b9c0 74 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f tent);.}.........private.functio
12b9e0 6e 20 72 65 6e 64 65 72 43 65 6c 6c 28 61 72 72 61 79 20 24 72 6f 77 2c 20 24 63 6f 6c 75 6d 6e n.renderCell(array.$row,.$column
12ba00 2c 20 24 63 65 6c 6c 46 6f 72 6d 61 74 29 0a 7b 0a 24 63 65 6c 6c 20 3d 20 69 73 73 65 74 28 24 ,.$cellFormat).{.$cell.=.isset($
12ba20 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 29 20 3f 20 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 20 3a 20 row[$column]).?.$row[$column].:.
12ba40 27 27 3b 0a 24 77 69 64 74 68 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 '';.$width.=.$this->columnWidths
12ba60 5b 24 63 6f 6c 75 6d 6e 5d 3b 0a 69 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 [$column];.if.($cell.instanceof.
12ba80 54 61 62 6c 65 43 65 6c 6c 20 26 26 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 TableCell.&&.$cell->getColspan()
12baa0 20 3e 20 31 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 72 61 6e 67 65 28 24 63 6f 6c 75 6d 6e .>.1).{...foreach.(range($column
12bac0 20 2b 20 31 2c 20 24 63 6f 6c 75 6d 6e 20 2b 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 .+.1,.$column.+.$cell->getColspa
12bae0 6e 28 29 20 2d 20 31 29 20 61 73 20 24 6e 65 78 74 43 6f 6c 75 6d 6e 29 20 7b 0a 24 77 69 64 74 n().-.1).as.$nextColumn).{.$widt
12bb00 68 20 2b 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 6f 72 57 69 h.+=.$this->getColumnSeparatorWi
12bb20 64 74 68 28 29 20 2b 20 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 5b 24 6e 65 78 dth().+.$this->columnWidths[$nex
12bb40 74 43 6f 6c 75 6d 6e 5d 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 tColumn];.}.}....if.(false.!==.$
12bb60 65 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 63 encoding.=.mb_detect_encoding($c
12bb80 65 6c 6c 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 29 20 7b 0a 24 77 69 64 74 68 20 2b 3d 20 5c 73 ell,.null,.true)).{.$width.+=.\s
12bba0 74 72 6c 65 6e 28 24 63 65 6c 6c 29 20 2d 20 6d 62 5f 73 74 72 77 69 64 74 68 28 24 63 65 6c 6c trlen($cell).-.mb_strwidth($cell
12bbc0 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 24 73 74 79 6c 65 20 3d 20 24 74 68 69 73 2d ,.$encoding);.}..$style.=.$this-
12bbe0 3e 67 65 74 43 6f 6c 75 6d 6e 53 74 79 6c 65 28 24 63 6f 6c 75 6d 6e 29 3b 0a 0a 69 66 20 28 24 >getColumnStyle($column);..if.($
12bc00 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 29 20 cell.instanceof.TableSeparator).
12bc20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 24 73 74 79 6c 65 2d 3e 67 65 74 42 6f 72 64 {.return.sprintf($style->getBord
12bc40 65 72 46 6f 72 6d 61 74 28 29 2c 20 73 74 72 5f 72 65 70 65 61 74 28 24 73 74 79 6c 65 2d 3e 67 erFormat(),.str_repeat($style->g
12bc60 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 2c 20 24 77 69 64 74 68 etHorizontalBorderChar(),.$width
12bc80 29 29 3b 0a 7d 0a 0a 24 77 69 64 74 68 20 2b 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 ));.}..$width.+=.Helper::strlen(
12bca0 24 63 65 6c 6c 29 20 2d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 $cell).-.Helper::strlenWithoutDe
12bcc0 63 6f 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 coration($this->output->getForma
12bce0 74 74 65 72 28 29 2c 20 24 63 65 6c 6c 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 73 70 72 69 6e tter(),.$cell);.$content.=.sprin
12bd00 74 66 28 24 73 74 79 6c 65 2d 3e 67 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d tf($style->getCellRowContentForm
12bd20 61 74 28 29 2c 20 24 63 65 6c 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 24 63 at(),.$cell);..return.sprintf($c
12bd40 65 6c 6c 46 6f 72 6d 61 74 2c 20 73 74 72 5f 70 61 64 28 24 63 6f 6e 74 65 6e 74 2c 20 24 77 69 ellFormat,.str_pad($content,.$wi
12bd60 64 74 68 2c 20 24 73 74 79 6c 65 2d 3e 67 65 74 50 61 64 64 69 6e 67 43 68 61 72 28 29 2c 20 24 dth,.$style->getPaddingChar(),.$
12bd80 73 74 79 6c 65 2d 3e 67 65 74 50 61 64 54 79 70 65 28 29 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 style->getPadType()));.}.....pri
12bda0 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 63 75 6c 61 74 65 4e 75 6d 62 65 72 4f 66 43 vate.function.calculateNumberOfC
12bdc0 6f 6c 75 6d 6e 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6e olumns().{.if.(null.!==.$this->n
12bde0 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f umberOfColumns).{.return;.}..$co
12be00 6c 75 6d 6e 73 20 3d 20 61 72 72 61 79 28 30 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 lumns.=.array(0);.foreach.(array
12be20 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 2c 20 24 74 68 69 73 2d 3e 72 6f _merge($this->headers,.$this->ro
12be40 77 73 29 20 61 73 20 24 72 6f 77 29 20 7b 0a 69 66 20 28 24 72 6f 77 20 69 6e 73 74 61 6e 63 65 ws).as.$row).{.if.($row.instance
12be60 6f 66 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d of.TableSeparator).{.continue;.}
12be80 0a 0a 24 63 6f 6c 75 6d 6e 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 75 6d 62 65 72 4f ..$columns[].=.$this->getNumberO
12bea0 66 43 6f 6c 75 6d 6e 73 28 24 72 6f 77 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 fColumns($row);.}..$this->number
12bec0 4f 66 43 6f 6c 75 6d 6e 73 20 3d 20 6d 61 78 28 24 63 6f 6c 75 6d 6e 73 29 3b 0a 7d 0a 0a 70 72 OfColumns.=.max($columns);.}..pr
12bee0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 54 61 62 6c 65 52 6f 77 73 28 24 72 ivate.function.buildTableRows($r
12bf00 6f 77 73 29 0a 7b 0a 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ows).{.$unmergedRows.=.array();.
12bf20 66 6f 72 20 28 24 72 6f 77 4b 65 79 20 3d 20 30 3b 20 24 72 6f 77 4b 65 79 20 3c 20 5c 63 6f 75 for.($rowKey.=.0;.$rowKey.<.\cou
12bf40 6e 74 28 24 72 6f 77 73 29 3b 20 2b 2b 24 72 6f 77 4b 65 79 29 20 7b 0a 24 72 6f 77 73 20 3d 20 nt($rows);.++$rowKey).{.$rows.=.
12bf60 24 74 68 69 73 2d 3e 66 69 6c 6c 4e 65 78 74 52 6f 77 73 28 24 72 6f 77 73 2c 20 24 72 6f 77 4b $this->fillNextRows($rows,.$rowK
12bf80 65 79 29 3b 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 72 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 20 ey);....foreach.($rows[$rowKey].
12bfa0 61 73 20 24 63 6f 6c 75 6d 6e 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 69 66 20 28 21 73 74 72 73 as.$column.=>.$cell).{.if.(!strs
12bfc0 74 72 28 24 63 65 6c 6c 2c 20 22 5c 6e 22 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 24 tr($cell,."\n")).{.continue;.}.$
12bfe0 6c 69 6e 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 73 74 72 5f 72 65 70 6c 61 63 lines.=.explode("\n",.str_replac
12c000 65 28 22 5c 6e 22 2c 20 22 3c 66 67 3d 64 65 66 61 75 6c 74 3b 62 67 3d 64 65 66 61 75 6c 74 3e e("\n",."<fg=default;bg=default>
12c020 5c 6e 3c 2f 3e 22 2c 20 24 63 65 6c 6c 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 73 \n</>",.$cell));.foreach.($lines
12c040 20 61 73 20 24 6c 69 6e 65 4b 65 79 20 3d 3e 20 24 6c 69 6e 65 29 20 7b 0a 69 66 20 28 24 63 65 .as.$lineKey.=>.$line).{.if.($ce
12c060 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 29 20 7b 0a 24 6c 69 6e 65 ll.instanceof.TableCell).{.$line
12c080 20 3d 20 6e 65 77 20 54 61 62 6c 65 43 65 6c 6c 28 24 6c 69 6e 65 2c 20 61 72 72 61 79 28 27 63 .=.new.TableCell($line,.array('c
12c0a0 6f 6c 73 70 61 6e 27 20 3d 3e 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 29 29 olspan'.=>.$cell->getColspan()))
12c0c0 3b 0a 7d 0a 69 66 20 28 30 20 3d 3d 3d 20 24 6c 69 6e 65 4b 65 79 29 20 7b 0a 24 72 6f 77 73 5b ;.}.if.(0.===.$lineKey).{.$rows[
12c0e0 24 72 6f 77 4b 65 79 5d 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 24 6c 69 6e 65 3b 0a 7d 20 65 6c 73 $rowKey][$column].=.$line;.}.els
12c100 65 20 7b 0a 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 5b 24 72 6f 77 4b 65 79 5d 5b 24 6c 69 6e 65 e.{.$unmergedRows[$rowKey][$line
12c120 4b 65 79 5d 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 24 6c 69 6e 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a Key][$column].=.$line;.}.}.}.}..
12c140 24 74 61 62 6c 65 52 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 $tableRows.=.array();.foreach.($
12c160 72 6f 77 73 20 61 73 20 24 72 6f 77 4b 65 79 20 3d 3e 20 24 72 6f 77 29 20 7b 0a 24 74 61 62 6c rows.as.$rowKey.=>.$row).{.$tabl
12c180 65 52 6f 77 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 6c 43 65 6c 6c 73 28 24 72 6f 77 29 eRows[].=.$this->fillCells($row)
12c1a0 3b 0a 69 66 20 28 69 73 73 65 74 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 5b 24 72 6f 77 4b 65 ;.if.(isset($unmergedRows[$rowKe
12c1c0 79 5d 29 29 20 7b 0a 24 74 61 62 6c 65 52 6f 77 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 y])).{.$tableRows.=.array_merge(
12c1e0 24 74 61 62 6c 65 52 6f 77 73 2c 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 5b 24 72 6f 77 4b 65 $tableRows,.$unmergedRows[$rowKe
12c200 79 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 61 62 6c 65 52 6f 77 73 3b 0a 7d 0a 0a y]);.}.}..return.$tableRows;.}..
12c220 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 6c 4e 65 78 ........private.function.fillNex
12c240 74 52 6f 77 73 28 61 72 72 61 79 20 24 72 6f 77 73 2c 20 24 6c 69 6e 65 29 0a 7b 0a 24 75 6e 6d tRows(array.$rows,.$line).{.$unm
12c260 65 72 67 65 64 52 6f 77 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 72 ergedRows.=.array();.foreach.($r
12c280 6f 77 73 5b 24 6c 69 6e 65 5d 20 61 73 20 24 63 6f 6c 75 6d 6e 20 3d 3e 20 24 63 65 6c 6c 29 20 ows[$line].as.$column.=>.$cell).
12c2a0 7b 0a 69 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c {.if.($cell.instanceof.TableCell
12c2c0 20 26 26 20 24 63 65 6c 6c 2d 3e 67 65 74 52 6f 77 73 70 61 6e 28 29 20 3e 20 31 29 20 7b 0a 24 .&&.$cell->getRowspan().>.1).{.$
12c2e0 6e 62 4c 69 6e 65 73 20 3d 20 24 63 65 6c 6c 2d 3e 67 65 74 52 6f 77 73 70 61 6e 28 29 20 2d 20 nbLines.=.$cell->getRowspan().-.
12c300 31 3b 0a 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 24 63 65 6c 6c 29 3b 0a 69 66 20 28 73 74 1;.$lines.=.array($cell);.if.(st
12c320 72 73 74 72 28 24 63 65 6c 6c 2c 20 22 5c 6e 22 29 29 20 7b 0a 24 6c 69 6e 65 73 20 3d 20 65 78 rstr($cell,."\n")).{.$lines.=.ex
12c340 70 6c 6f 64 65 28 22 5c 6e 22 2c 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 22 3c plode("\n",.str_replace("\n",."<
12c360 66 67 3d 64 65 66 61 75 6c 74 3b 62 67 3d 64 65 66 61 75 6c 74 3e 5c 6e 3c 2f 3e 22 2c 20 24 63 fg=default;bg=default>\n</>",.$c
12c380 65 6c 6c 29 29 3b 0a 24 6e 62 4c 69 6e 65 73 20 3d 20 5c 63 6f 75 6e 74 28 24 6c 69 6e 65 73 29 ell));.$nbLines.=.\count($lines)
12c3a0 20 3e 20 24 6e 62 4c 69 6e 65 73 20 3f 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 63 65 6c 6c .>.$nbLines.?.substr_count($cell
12c3c0 2c 20 22 5c 6e 22 29 20 3a 20 24 6e 62 4c 69 6e 65 73 3b 0a 0a 24 72 6f 77 73 5b 24 6c 69 6e 65 ,."\n").:.$nbLines;..$rows[$line
12c3e0 5d 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 6e 65 77 20 54 61 62 6c 65 43 65 6c 6c 28 24 6c 69 6e 65 ][$column].=.new.TableCell($line
12c400 73 5b 30 5d 2c 20 61 72 72 61 79 28 27 63 6f 6c 73 70 61 6e 27 20 3d 3e 20 24 63 65 6c 6c 2d 3e s[0],.array('colspan'.=>.$cell->
12c420 67 65 74 43 6f 6c 73 70 61 6e 28 29 29 29 3b 0a 75 6e 73 65 74 28 24 6c 69 6e 65 73 5b 30 5d 29 getColspan()));.unset($lines[0])
12c440 3b 0a 7d 0a 0a 0a 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 3d 20 61 72 72 61 79 5f 72 65 70 ;.}....$unmergedRows.=.array_rep
12c460 6c 61 63 65 5f 72 65 63 75 72 73 69 76 65 28 61 72 72 61 79 5f 66 69 6c 6c 28 24 6c 69 6e 65 20 lace_recursive(array_fill($line.
12c480 2b 20 31 2c 20 24 6e 62 4c 69 6e 65 73 2c 20 61 72 72 61 79 28 29 29 2c 20 24 75 6e 6d 65 72 67 +.1,.$nbLines,.array()),.$unmerg
12c4a0 65 64 52 6f 77 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 edRows);.foreach.($unmergedRows.
12c4c0 61 73 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 20 3d 3e 20 24 75 6e 6d 65 72 67 65 64 52 as.$unmergedRowKey.=>.$unmergedR
12c4e0 6f 77 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 69 73 73 65 74 28 24 6c 69 6e 65 73 5b 24 75 6e 6d ow).{.$value.=.isset($lines[$unm
12c500 65 72 67 65 64 52 6f 77 4b 65 79 20 2d 20 24 6c 69 6e 65 5d 29 20 3f 20 24 6c 69 6e 65 73 5b 24 ergedRowKey.-.$line]).?.$lines[$
12c520 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 20 2d 20 24 6c 69 6e 65 5d 20 3a 20 27 27 3b 0a 24 75 unmergedRowKey.-.$line].:.'';.$u
12c540 6e 6d 65 72 67 65 64 52 6f 77 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 5b 24 63 6f nmergedRows[$unmergedRowKey][$co
12c560 6c 75 6d 6e 5d 20 3d 20 6e 65 77 20 54 61 62 6c 65 43 65 6c 6c 28 24 76 61 6c 75 65 2c 20 61 72 lumn].=.new.TableCell($value,.ar
12c580 72 61 79 28 27 63 6f 6c 73 70 61 6e 27 20 3d 3e 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 ray('colspan'.=>.$cell->getColsp
12c5a0 61 6e 28 29 29 29 3b 0a 69 66 20 28 24 6e 62 4c 69 6e 65 73 20 3d 3d 3d 20 24 75 6e 6d 65 72 67 an()));.if.($nbLines.===.$unmerg
12c5c0 65 64 52 6f 77 4b 65 79 20 2d 20 24 6c 69 6e 65 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d edRowKey.-.$line).{.break;.}.}.}
12c5e0 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 73 20 61 73 20 24 75 .}..foreach.($unmergedRows.as.$u
12c600 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 20 3d 3e 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 29 20 7b nmergedRowKey.=>.$unmergedRow).{
12c620 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 72 6f 77 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b ...if.(isset($rows[$unmergedRowK
12c640 65 79 5d 29 20 26 26 20 5c 69 73 5f 61 72 72 61 79 28 24 72 6f 77 73 5b 24 75 6e 6d 65 72 67 65 ey]).&&.\is_array($rows[$unmerge
12c660 64 52 6f 77 4b 65 79 5d 29 20 26 26 20 28 24 74 68 69 73 2d 3e 67 65 74 4e 75 6d 62 65 72 4f 66 dRowKey]).&&.($this->getNumberOf
12c680 43 6f 6c 75 6d 6e 73 28 24 72 6f 77 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 29 20 Columns($rows[$unmergedRowKey]).
12c6a0 2b 20 24 74 68 69 73 2d 3e 67 65 74 4e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 24 75 6e 6d +.$this->getNumberOfColumns($unm
12c6c0 65 72 67 65 64 52 6f 77 73 5b 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 29 20 3c 3d 20 24 ergedRows[$unmergedRowKey]).<=.$
12c6e0 74 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 29 29 20 7b 0a 66 6f 72 65 61 63 this->numberOfColumns)).{.foreac
12c700 68 20 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 20 61 73 20 24 63 65 6c 6c 4b 65 79 20 3d 3e 20 24 h.($unmergedRow.as.$cellKey.=>.$
12c720 63 65 6c 6c 29 20 7b 0a 0a 20 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 72 6f 77 73 5b 24 75 6e cell).{...array_splice($rows[$un
12c740 6d 65 72 67 65 64 52 6f 77 4b 65 79 5d 2c 20 24 63 65 6c 6c 4b 65 79 2c 20 30 2c 20 61 72 72 61 mergedRowKey],.$cellKey,.0,.arra
12c760 79 28 24 63 65 6c 6c 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 6f 77 20 3d 20 24 74 68 y($cell));.}.}.else.{.$row.=.$th
12c780 69 73 2d 3e 63 6f 70 79 52 6f 77 28 24 72 6f 77 73 2c 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b is->copyRow($rows,.$unmergedRowK
12c7a0 65 79 20 2d 20 31 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 75 6e 6d 65 72 67 65 64 52 6f 77 20 61 ey.-.1);.foreach.($unmergedRow.a
12c7c0 73 20 24 63 6f 6c 75 6d 6e 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 s.$column.=>.$cell).{.if.(!empty
12c7e0 28 24 63 65 6c 6c 29 29 20 7b 0a 24 72 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 20 3d 20 24 75 6e 6d 65 ($cell)).{.$row[$column].=.$unme
12c800 72 67 65 64 52 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 3b 0a 7d 0a 7d 0a 61 72 72 61 79 5f 73 70 6c 69 rgedRow[$column];.}.}.array_spli
12c820 63 65 28 24 72 6f 77 73 2c 20 24 75 6e 6d 65 72 67 65 64 52 6f 77 4b 65 79 2c 20 30 2c 20 61 72 ce($rows,.$unmergedRowKey,.0,.ar
12c840 72 61 79 28 24 72 6f 77 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 6f 77 73 3b 0a 7d ray($row));.}.}..return.$rows;.}
12c860 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 6c 43 65 6c 6c .......private.function.fillCell
12c880 73 28 24 72 6f 77 29 0a 7b 0a 24 6e 65 77 52 6f 77 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 s($row).{.$newRow.=.array();.for
12c8a0 65 61 63 68 20 28 24 72 6f 77 20 61 73 20 24 63 6f 6c 75 6d 6e 20 3d 3e 20 24 63 65 6c 6c 29 20 each.($row.as.$column.=>.$cell).
12c8c0 7b 0a 24 6e 65 77 52 6f 77 5b 5d 20 3d 20 24 63 65 6c 6c 3b 0a 69 66 20 28 24 63 65 6c 6c 20 69 {.$newRow[].=.$cell;.if.($cell.i
12c8e0 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c 6c 20 26 26 20 24 63 65 6c 6c 2d 3e 67 65 nstanceof.TableCell.&&.$cell->ge
12c900 74 43 6f 6c 73 70 61 6e 28 29 20 3e 20 31 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 72 61 6e 67 65 tColspan().>.1).{.foreach.(range
12c920 28 24 63 6f 6c 75 6d 6e 20 2b 20 31 2c 20 24 63 6f 6c 75 6d 6e 20 2b 20 24 63 65 6c 6c 2d 3e 67 ($column.+.1,.$column.+.$cell->g
12c940 65 74 43 6f 6c 73 70 61 6e 28 29 20 2d 20 31 29 20 61 73 20 24 70 6f 73 69 74 69 6f 6e 29 20 7b etColspan().-.1).as.$position).{
12c960 0a 0a 20 24 6e 65 77 52 6f 77 5b 5d 20 3d 20 27 27 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e ...$newRow[].=.'';.}.}.}..return
12c980 20 24 6e 65 77 52 6f 77 20 3f 3a 20 24 72 6f 77 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 .$newRow.?:.$row;.}........priva
12c9a0 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 79 52 6f 77 28 61 72 72 61 79 20 24 72 6f 77 73 2c te.function.copyRow(array.$rows,
12c9c0 20 24 6c 69 6e 65 29 0a 7b 0a 24 72 6f 77 20 3d 20 24 72 6f 77 73 5b 24 6c 69 6e 65 5d 3b 0a 66 .$line).{.$row.=.$rows[$line];.f
12c9e0 6f 72 65 61 63 68 20 28 24 72 6f 77 20 61 73 20 24 63 65 6c 6c 4b 65 79 20 3d 3e 20 24 63 65 6c oreach.($row.as.$cellKey.=>.$cel
12ca00 6c 56 61 6c 75 65 29 20 7b 0a 24 72 6f 77 5b 24 63 65 6c 6c 4b 65 79 5d 20 3d 20 27 27 3b 0a 69 lValue).{.$row[$cellKey].=.'';.i
12ca20 66 20 28 24 63 65 6c 6c 56 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 f.($cellValue.instanceof.TableCe
12ca40 6c 6c 29 20 7b 0a 24 72 6f 77 5b 24 63 65 6c 6c 4b 65 79 5d 20 3d 20 6e 65 77 20 54 61 62 6c 65 ll).{.$row[$cellKey].=.new.Table
12ca60 43 65 6c 6c 28 27 27 2c 20 61 72 72 61 79 28 27 63 6f 6c 73 70 61 6e 27 20 3d 3e 20 24 63 65 6c Cell('',.array('colspan'.=>.$cel
12ca80 6c 56 61 6c 75 65 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 lValue->getColspan()));.}.}..ret
12caa0 75 72 6e 20 24 72 6f 77 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 urn.$row;.}.......private.functi
12cac0 6f 6e 20 67 65 74 4e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 28 61 72 72 61 79 20 24 72 6f 77 on.getNumberOfColumns(array.$row
12cae0 29 0a 7b 0a 24 63 6f 6c 75 6d 6e 73 20 3d 20 5c 63 6f 75 6e 74 28 24 72 6f 77 29 3b 0a 66 6f 72 ).{.$columns.=.\count($row);.for
12cb00 65 61 63 68 20 28 24 72 6f 77 20 61 73 20 24 63 6f 6c 75 6d 6e 29 20 7b 0a 24 63 6f 6c 75 6d 6e each.($row.as.$column).{.$column
12cb20 73 20 2b 3d 20 24 63 6f 6c 75 6d 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 65 6c s.+=.$column.instanceof.TableCel
12cb40 6c 20 3f 20 28 24 63 6f 6c 75 6d 6e 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 2d 20 31 29 20 l.?.($column->getColspan().-.1).
12cb60 3a 20 30 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6c 75 6d 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a :.0;.}..return.$columns;.}......
12cb80 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 77 43 6f 6c 75 6d 6e 73 28 .private.function.getRowColumns(
12cba0 61 72 72 61 79 20 24 72 6f 77 29 0a 7b 0a 24 63 6f 6c 75 6d 6e 73 20 3d 20 72 61 6e 67 65 28 30 array.$row).{.$columns.=.range(0
12cbc0 2c 20 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 20 2d 20 31 29 3b 0a 66 ,.$this->numberOfColumns.-.1);.f
12cbe0 6f 72 65 61 63 68 20 28 24 72 6f 77 20 61 73 20 24 63 65 6c 6c 4b 65 79 20 3d 3e 20 24 63 65 6c oreach.($row.as.$cellKey.=>.$cel
12cc00 6c 29 20 7b 0a 69 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 43 l).{.if.($cell.instanceof.TableC
12cc20 65 6c 6c 20 26 26 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 3e 20 31 29 20 ell.&&.$cell->getColspan().>.1).
12cc40 7b 0a 0a 20 24 63 6f 6c 75 6d 6e 73 20 3d 20 61 72 72 61 79 5f 64 69 66 66 28 24 63 6f 6c 75 6d {...$columns.=.array_diff($colum
12cc60 6e 73 2c 20 72 61 6e 67 65 28 24 63 65 6c 6c 4b 65 79 20 2b 20 31 2c 20 24 63 65 6c 6c 4b 65 79 ns,.range($cellKey.+.1,.$cellKey
12cc80 20 2b 20 24 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 20 2d 20 31 29 29 3b 0a 7d 0a .+.$cell->getColspan().-.1));.}.
12cca0 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6c 75 6d 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 }..return.$columns;.}.......priv
12ccc0 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 63 75 6c 61 74 65 43 6f 6c 75 6d 6e 73 57 69 64 ate.function.calculateColumnsWid
12cce0 74 68 28 24 72 6f 77 73 29 0a 7b 0a 66 6f 72 20 28 24 63 6f 6c 75 6d 6e 20 3d 20 30 3b 20 24 63 th($rows).{.for.($column.=.0;.$c
12cd00 6f 6c 75 6d 6e 20 3c 20 24 74 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 3b 20 olumn.<.$this->numberOfColumns;.
12cd20 2b 2b 24 63 6f 6c 75 6d 6e 29 20 7b 0a 24 6c 65 6e 67 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b ++$column).{.$lengths.=.array();
12cd40 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 73 20 61 73 20 24 72 6f 77 29 20 7b 0a 69 66 20 28 24 .foreach.($rows.as.$row).{.if.($
12cd60 72 6f 77 20 69 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 53 65 70 61 72 61 74 6f 72 29 20 7b row.instanceof.TableSeparator).{
12cd80 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 6f 77 20 61 73 20 24 .continue;.}..foreach.($row.as.$
12cda0 69 20 3d 3e 20 24 63 65 6c 6c 29 20 7b 0a 69 66 20 28 24 63 65 6c 6c 20 69 6e 73 74 61 6e 63 65 i.=>.$cell).{.if.($cell.instance
12cdc0 6f 66 20 54 61 62 6c 65 43 65 6c 6c 29 20 7b 0a 24 74 65 78 74 43 6f 6e 74 65 6e 74 20 3d 20 48 of.TableCell).{.$textContent.=.H
12cde0 65 6c 70 65 72 3a 3a 72 65 6d 6f 76 65 44 65 63 6f 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f elper::removeDecoration($this->o
12ce00 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 24 63 65 6c 6c 29 3b 0a 24 utput->getFormatter(),.$cell);.$
12ce20 74 65 78 74 4c 65 6e 67 74 68 20 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 28 24 74 65 78 textLength.=.Helper::strlen($tex
12ce40 74 43 6f 6e 74 65 6e 74 29 3b 0a 69 66 20 28 24 74 65 78 74 4c 65 6e 67 74 68 20 3e 20 30 29 20 tContent);.if.($textLength.>.0).
12ce60 7b 0a 24 63 6f 6e 74 65 6e 74 43 6f 6c 75 6d 6e 73 20 3d 20 73 74 72 5f 73 70 6c 69 74 28 24 74 {.$contentColumns.=.str_split($t
12ce80 65 78 74 43 6f 6e 74 65 6e 74 2c 20 63 65 69 6c 28 24 74 65 78 74 4c 65 6e 67 74 68 20 2f 20 24 extContent,.ceil($textLength./.$
12cea0 63 65 6c 6c 2d 3e 67 65 74 43 6f 6c 73 70 61 6e 28 29 29 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 cell->getColspan()));.foreach.($
12cec0 63 6f 6e 74 65 6e 74 43 6f 6c 75 6d 6e 73 20 61 73 20 24 70 6f 73 69 74 69 6f 6e 20 3d 3e 20 24 contentColumns.as.$position.=>.$
12cee0 63 6f 6e 74 65 6e 74 29 20 7b 0a 24 72 6f 77 5b 24 69 20 2b 20 24 70 6f 73 69 74 69 6f 6e 5d 20 content).{.$row[$i.+.$position].
12cf00 3d 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 6c 65 6e 67 74 68 73 5b 5d 20 =.$content;.}.}.}.}..$lengths[].
12cf20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 65 6c 6c 57 69 64 74 68 28 24 72 6f 77 2c 20 24 63 6f 6c =.$this->getCellWidth($row,.$col
12cf40 75 6d 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 5b 24 63 6f umn);.}..$this->columnWidths[$co
12cf60 6c 75 6d 6e 5d 20 3d 20 6d 61 78 28 24 6c 65 6e 67 74 68 73 29 20 2b 20 48 65 6c 70 65 72 3a 3a lumn].=.max($lengths).+.Helper::
12cf80 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 43 65 6c 6c 52 6f 77 43 strlen($this->style->getCellRowC
12cfa0 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 29 29 20 2d 20 32 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 ontentFormat()).-.2;.}.}.......p
12cfc0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6c 75 6d 6e 53 65 70 61 72 61 74 rivate.function.getColumnSeparat
12cfe0 6f 72 57 69 64 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 orWidth().{.return.Helper::strle
12d000 6e 28 73 70 72 69 6e 74 66 28 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 42 6f 72 64 65 n(sprintf($this->style->getBorde
12d020 72 46 6f 72 6d 61 74 28 29 2c 20 24 74 68 69 73 2d 3e 73 74 79 6c 65 2d 3e 67 65 74 56 65 72 74 rFormat(),.$this->style->getVert
12d040 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 28 29 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 icalBorderChar()));.}..........p
12d060 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 65 6c 6c 57 69 64 74 68 28 61 72 72 rivate.function.getCellWidth(arr
12d080 61 79 20 24 72 6f 77 2c 20 24 63 6f 6c 75 6d 6e 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 72 ay.$row,.$column).{.if.(isset($r
12d0a0 6f 77 5b 24 63 6f 6c 75 6d 6e 5d 29 29 20 7b 0a 24 63 65 6c 6c 20 3d 20 24 72 6f 77 5b 24 63 6f ow[$column])).{.$cell.=.$row[$co
12d0c0 6c 75 6d 6e 5d 3b 0a 24 63 65 6c 6c 57 69 64 74 68 20 3d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c lumn];.$cellWidth.=.Helper::strl
12d0e0 65 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 enWithoutDecoration($this->outpu
12d100 74 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 24 63 65 6c 6c 29 3b 0a 0a 72 65 74 75 t->getFormatter(),.$cell);..retu
12d120 72 6e 20 24 63 65 6c 6c 57 69 64 74 68 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a rn.$cellWidth;.}..return.0;.}...
12d140 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 75 70 28 29 0a 7b 0a 24 ..private.function.cleanup().{.$
12d160 74 68 69 73 2d 3e 63 6f 6c 75 6d 6e 57 69 64 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 this->columnWidths.=.array();.$t
12d180 68 69 73 2d 3e 6e 75 6d 62 65 72 4f 66 43 6f 6c 75 6d 6e 73 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a his->numberOfColumns.=.null;.}..
12d1a0 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 53 74 79 6c private.static.function.initStyl
12d1c0 65 73 28 29 0a 7b 0a 24 62 6f 72 64 65 72 6c 65 73 73 20 3d 20 6e 65 77 20 54 61 62 6c 65 53 74 es().{.$borderless.=.new.TableSt
12d1e0 79 6c 65 28 29 3b 0a 24 62 6f 72 64 65 72 6c 65 73 73 0a 2d 3e 73 65 74 48 6f 72 69 7a 6f 6e 74 yle();.$borderless.->setHorizont
12d200 61 6c 42 6f 72 64 65 72 43 68 61 72 28 27 3d 27 29 0a 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 alBorderChar('=').->setVerticalB
12d220 6f 72 64 65 72 43 68 61 72 28 27 20 27 29 0a 2d 3e 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 orderChar('.').->setCrossingChar
12d240 28 27 20 27 29 0a 3b 0a 0a 24 63 6f 6d 70 61 63 74 20 3d 20 6e 65 77 20 54 61 62 6c 65 53 74 79 ('.').;..$compact.=.new.TableSty
12d260 6c 65 28 29 3b 0a 24 63 6f 6d 70 61 63 74 0a 2d 3e 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f le();.$compact.->setHorizontalBo
12d280 72 64 65 72 43 68 61 72 28 27 27 29 0a 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 rderChar('').->setVerticalBorder
12d2a0 43 68 61 72 28 27 20 27 29 0a 2d 3e 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 27 27 29 0a Char('.').->setCrossingChar('').
12d2c0 2d 3e 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 27 25 73 27 29 0a ->setCellRowContentFormat('%s').
12d2e0 3b 0a 0a 24 73 74 79 6c 65 47 75 69 64 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 53 74 79 6c 65 28 ;..$styleGuide.=.new.TableStyle(
12d300 29 3b 0a 24 73 74 79 6c 65 47 75 69 64 65 0a 2d 3e 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f );.$styleGuide.->setHorizontalBo
12d320 72 64 65 72 43 68 61 72 28 27 2d 27 29 0a 2d 3e 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 rderChar('-').->setVerticalBorde
12d340 72 43 68 61 72 28 27 20 27 29 0a 2d 3e 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 27 20 27 rChar('.').->setCrossingChar('.'
12d360 29 0a 2d 3e 73 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 27 25 73 27 29 0a 3b 0a ).->setCellHeaderFormat('%s').;.
12d380 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 64 65 66 61 75 6c 74 27 20 3d 3e 20 6e 65 77 20 .return.array(.'default'.=>.new.
12d3a0 54 61 62 6c 65 53 74 79 6c 65 28 29 2c 0a 27 62 6f 72 64 65 72 6c 65 73 73 27 20 3d 3e 20 24 62 TableStyle(),.'borderless'.=>.$b
12d3c0 6f 72 64 65 72 6c 65 73 73 2c 0a 27 63 6f 6d 70 61 63 74 27 20 3d 3e 20 24 63 6f 6d 70 61 63 74 orderless,.'compact'.=>.$compact
12d3e0 2c 0a 27 73 79 6d 66 6f 6e 79 2d 73 74 79 6c 65 2d 67 75 69 64 65 27 20 3d 3e 20 24 73 74 79 6c ,.'symfony-style-guide'.=>.$styl
12d400 65 47 75 69 64 65 2c 0a 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 eGuide,.);.}..private.function.r
12d420 65 73 6f 6c 76 65 53 74 79 6c 65 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 24 6e 61 6d 65 20 69 esolveStyle($name).{.if.($name.i
12d440 6e 73 74 61 6e 63 65 6f 66 20 54 61 62 6c 65 53 74 79 6c 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 nstanceof.TableStyle).{.return.$
12d460 6e 61 6d 65 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 name;.}..if.(isset(self::$styles
12d480 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 74 79 6c 65 73 [$name])).{.return.self::$styles
12d4a0 5b 24 6e 61 6d 65 5d 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 [$name];.}..throw.new.InvalidArg
12d4c0 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 53 74 79 6c 65 20 22 25 umentException(sprintf('Style."%
12d4e0 73 22 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a s".is.not.defined.',.$name));.}.
12d500 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
12d520 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 ony\Component\Console\Helper;..u
12d540 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 se.Symfony\Component\Console\Exc
12d560 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b eption\InvalidArgumentException;
12d580 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 61 62 6c 65 43 65 6c 6c 0a 7b 0a 70 72 69 76 61 74 65 20 24 .....class.TableCell.{.private.$
12d5a0 76 61 6c 75 65 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 value;.private.$options.=.array(
12d5c0 0a 27 72 6f 77 73 70 61 6e 27 20 3d 3e 20 31 2c 0a 27 63 6f 6c 73 70 61 6e 27 20 3d 3e 20 31 2c .'rowspan'.=>.1,.'colspan'.=>.1,
12d5e0 0a 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 .);......public.function.__const
12d600 72 75 63 74 28 24 76 61 6c 75 65 20 3d 20 27 27 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 ruct($value.=.'',.array.$options
12d620 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 .=.array()).{.if.(is_numeric($va
12d640 6c 75 65 29 20 26 26 20 21 5c 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 lue).&&.!\is_string($value)).{.$
12d660 76 61 6c 75 65 20 3d 20 28 73 74 72 69 6e 67 29 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 24 74 68 69 value.=.(string).$value;.}..$thi
12d680 73 2d 3e 76 61 6c 75 65 20 3d 20 24 76 61 6c 75 65 3b 0a 0a 0a 20 69 66 20 28 24 64 69 66 66 20 s->value.=.$value;....if.($diff.
12d6a0 3d 20 61 72 72 61 79 5f 64 69 66 66 28 61 72 72 61 79 5f 6b 65 79 73 28 24 6f 70 74 69 6f 6e 73 =.array_diff(array_keys($options
12d6c0 29 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 29 29 20 ),.array_keys($this->options))).
12d6e0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 {.throw.new.InvalidArgumentExcep
12d700 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 54 61 62 6c 65 43 65 6c 6c 20 64 6f 65 73 tion(sprintf('The.TableCell.does
12d720 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 74 69 6f .not.support.the.following.optio
12d740 6e 73 3a 20 5c 27 25 73 5c 27 2e 27 2c 20 69 6d 70 6c 6f 64 65 28 27 5c 27 2c 20 5c 27 27 2c 20 ns:.\'%s\'.',.implode('\',.\'',.
12d760 24 64 69 66 66 29 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 $diff)));.}..$this->options.=.ar
12d780 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 2c 20 24 6f 70 74 69 6f ray_merge($this->options,.$optio
12d7a0 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 ns);.}.......public.function.__t
12d7c0 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 3b oString().{.return.$this->value;
12d7e0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6c 73 .}.......public.function.getCols
12d800 70 61 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 69 6e 74 29 20 24 74 68 69 73 2d 3e 6f 70 74 69 pan().{.return.(int).$this->opti
12d820 6f 6e 73 5b 27 63 6f 6c 73 70 61 6e 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ons['colspan'];.}.......public.f
12d840 75 6e 63 74 69 6f 6e 20 67 65 74 52 6f 77 73 70 61 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 69 unction.getRowspan().{.return.(i
12d860 6e 74 29 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 27 72 6f 77 73 70 61 6e 27 5d 3b 0a 7d nt).$this->options['rowspan'];.}
12d880 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d .}.<?php...........namespace.Sym
12d8a0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a fony\Component\Console\Helper;..
12d8c0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 use.Symfony\Component\Console\Ex
12d8e0 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e ception\InvalidArgumentException
12d900 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ;.use.Symfony\Component\Console\
12d920 4f 75 74 70 75 74 5c 4e 75 6c 6c 4f 75 74 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 Output\NullOutput;.use.Symfony\C
12d940 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e omponent\Console\Output\OutputIn
12d960 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 61 62 6c 65 48 65 terface;...........class.TableHe
12d980 6c 70 65 72 20 65 78 74 65 6e 64 73 20 48 65 6c 70 65 72 0a 7b 0a 63 6f 6e 73 74 20 4c 41 59 4f lper.extends.Helper.{.const.LAYO
12d9a0 55 54 5f 44 45 46 41 55 4c 54 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 4c 41 59 4f 55 54 5f 42 4f 52 UT_DEFAULT.=.0;.const.LAYOUT_BOR
12d9c0 44 45 52 4c 45 53 53 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 4c 41 59 4f 55 54 5f 43 4f 4d 50 41 43 DERLESS.=.1;.const.LAYOUT_COMPAC
12d9e0 54 20 3d 20 32 3b 0a 0a 70 72 69 76 61 74 65 20 24 74 61 62 6c 65 3b 0a 0a 70 75 62 6c 69 63 20 T.=.2;..private.$table;..public.
12da00 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 72 69 67 67 65 72 44 65 70 function.__construct($triggerDep
12da20 72 65 63 61 74 69 6f 6e 45 72 72 6f 72 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 24 74 72 69 recationError.=.true).{.if.($tri
12da40 67 67 65 72 44 65 70 72 65 63 61 74 69 6f 6e 45 72 72 6f 72 29 20 7b 0a 40 74 72 69 67 67 65 72 ggerDeprecationError).{.@trigger
12da60 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 43 4c 41 53 53 5f 5f 2e 27 20 63 6c 61 73 73 20 _error('The.'.__CLASS__.'.class.
12da80 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 is.deprecated.since.Symfony.2.5.
12daa0 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 and.will.be.removed.in.3.0..Use.
12dac0 74 68 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 the.Symfony\Component\Console\He
12dae0 6c 70 65 72 5c 54 61 62 6c 65 20 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 lper\Table.class.instead.',.E_US
12db00 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 20 ER_DEPRECATED);.}..$this->table.
12db20 3d 20 6e 65 77 20 54 61 62 6c 65 28 6e 65 77 20 4e 75 6c 6c 4f 75 74 70 75 74 28 29 29 3b 0a 7d =.new.Table(new.NullOutput());.}
12db40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 61 ...........public.function.setLa
12db60 79 6f 75 74 28 24 6c 61 79 6f 75 74 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 6c 61 79 6f 75 74 29 yout($layout).{.switch.($layout)
12db80 20 7b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4c 41 59 4f 55 54 5f 42 4f 52 44 45 52 4c 45 53 53 3a .{.case.self::LAYOUT_BORDERLESS:
12dba0 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 73 65 74 53 74 79 6c 65 28 27 62 6f 72 64 65 72 6c .$this->table->setStyle('borderl
12dbc0 65 73 73 27 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 4c 41 59 4f 55 54 ess');.break;..case.self::LAYOUT
12dbe0 5f 43 4f 4d 50 41 43 54 3a 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 73 65 74 53 74 79 6c 65 _COMPACT:.$this->table->setStyle
12dc00 28 27 63 6f 6d 70 61 63 74 27 29 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a ('compact');.break;..case.self::
12dc20 4c 41 59 4f 55 54 5f 44 45 46 41 55 4c 54 3a 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 73 65 LAYOUT_DEFAULT:.$this->table->se
12dc40 74 53 74 79 6c 65 28 27 64 65 66 61 75 6c 74 27 29 3b 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 tStyle('default');.break;..defau
12dc60 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 lt:.throw.new.InvalidArgumentExc
12dc80 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 74 61 62 6c 65 20 6c 61 eption(sprintf('Invalid.table.la
12dca0 79 6f 75 74 20 22 25 73 22 2e 27 2c 20 24 6c 61 79 6f 75 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 yout."%s".',.$layout));.}..retur
12dcc0 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 n.$this;.}..public.function.setH
12dce0 65 61 64 65 72 73 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e eaders(array.$headers).{.$this->
12dd00 74 61 62 6c 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 65 61 64 65 72 73 29 3b 0a 0a 72 65 table->setHeaders($headers);..re
12dd20 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 turn.$this;.}..public.function.s
12dd40 65 74 52 6f 77 73 28 61 72 72 61 79 20 24 72 6f 77 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 etRows(array.$rows).{.$this->tab
12dd60 6c 65 2d 3e 73 65 74 52 6f 77 73 28 24 72 6f 77 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 le->setRows($rows);..return.$thi
12dd80 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 6f 77 73 28 61 72 s;.}..public.function.addRows(ar
12dda0 72 61 79 20 24 72 6f 77 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 61 64 64 52 6f ray.$rows).{.$this->table->addRo
12ddc0 77 73 28 24 72 6f 77 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 ws($rows);..return.$this;.}..pub
12dde0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 52 6f 77 28 61 72 72 61 79 20 24 72 6f 77 29 0a lic.function.addRow(array.$row).
12de00 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 61 64 64 52 6f 77 28 24 72 6f 77 29 3b 0a 0a 72 {.$this->table->addRow($row);..r
12de20 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 eturn.$this;.}..public.function.
12de40 73 65 74 52 6f 77 28 24 63 6f 6c 75 6d 6e 2c 20 61 72 72 61 79 20 24 72 6f 77 29 0a 7b 0a 24 74 setRow($column,.array.$row).{.$t
12de60 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 73 65 74 52 6f 77 28 24 63 6f 6c 75 6d 6e 2c 20 24 72 6f 77 his->table->setRow($column,.$row
12de80 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c );..return.$this;.}.........publ
12dea0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 64 64 69 6e 67 43 68 61 72 28 24 70 61 64 64 ic.function.setPaddingChar($padd
12dec0 69 6e 67 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c ingChar).{.$this->table->getStyl
12dee0 65 28 29 2d 3e 73 65 74 50 61 64 64 69 6e 67 43 68 61 72 28 24 70 61 64 64 69 6e 67 43 68 61 72 e()->setPaddingChar($paddingChar
12df00 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c );..return.$this;.}.........publ
12df20 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 ic.function.setHorizontalBorderC
12df40 68 61 72 28 24 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 29 0a 7b 0a 24 74 68 har($horizontalBorderChar).{.$th
12df60 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 48 6f 72 69 7a 6f is->table->getStyle()->setHorizo
12df80 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 24 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 ntalBorderChar($horizontalBorder
12dfa0 43 68 61 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a Char);..return.$this;.}.........
12dfc0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 public.function.setVerticalBorde
12dfe0 72 43 68 61 72 28 24 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 29 0a 7b 0a 24 74 68 rChar($verticalBorderChar).{.$th
12e000 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 56 65 72 74 69 63 is->table->getStyle()->setVertic
12e020 61 6c 42 6f 72 64 65 72 43 68 61 72 28 24 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 alBorderChar($verticalBorderChar
12e040 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c );..return.$this;.}.........publ
12e060 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 24 63 72 6f ic.function.setCrossingChar($cro
12e080 73 73 69 6e 67 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 ssingChar).{.$this->table->getSt
12e0a0 79 6c 65 28 29 2d 3e 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 24 63 72 6f 73 73 69 6e 67 yle()->setCrossingChar($crossing
12e0c0 43 68 61 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a Char);..return.$this;.}.........
12e0e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 public.function.setCellHeaderFor
12e100 6d 61 74 28 24 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e mat($cellHeaderFormat).{.$this->
12e120 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 43 65 6c 6c 48 65 61 64 65 72 table->getStyle()->setCellHeader
12e140 46 6f 72 6d 61 74 28 24 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 29 3b 0a 0a 72 65 74 75 Format($cellHeaderFormat);..retu
12e160 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 rn.$this;.}.........public.funct
12e180 69 6f 6e 20 73 65 74 43 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 28 24 63 65 6c 6c 52 6f 77 46 6f 72 ion.setCellRowFormat($cellRowFor
12e1a0 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d mat).{.$this->table->getStyle()-
12e1c0 3e 73 65 74 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 24 63 65 6c 6c 52 6f 77 46 6f 72 >setCellHeaderFormat($cellRowFor
12e1e0 6d 61 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 mat);..return.$this;.}.........p
12e200 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 ublic.function.setCellRowContent
12e220 46 6f 72 6d 61 74 28 24 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 29 0a 7b 0a Format($cellRowContentFormat).{.
12e240 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 43 65 6c $this->table->getStyle()->setCel
12e260 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 24 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e lRowContentFormat($cellRowConten
12e280 74 46 6f 72 6d 61 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a tFormat);..return.$this;.}......
12e2a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 6f 72 64 65 72 46 6f 72 6d ...public.function.setBorderForm
12e2c0 61 74 28 24 62 6f 72 64 65 72 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 at($borderFormat).{.$this->table
12e2e0 2d 3e 67 65 74 53 74 79 6c 65 28 29 2d 3e 73 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 24 62 ->getStyle()->setBorderFormat($b
12e300 6f 72 64 65 72 46 6f 72 6d 61 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a orderFormat);..return.$this;.}..
12e320 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 64 54 79 70 .......public.function.setPadTyp
12e340 65 28 24 70 61 64 54 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 67 65 74 53 e($padType).{.$this->table->getS
12e360 74 79 6c 65 28 29 2d 3e 73 65 74 50 61 64 54 79 70 65 28 24 70 61 64 54 79 70 65 29 3b 0a 0a 72 tyle()->setPadType($padType);..r
12e380 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c eturn.$this;.}..............publ
12e3a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 ic.function.render(OutputInterfa
12e3c0 63 65 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 70 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 ce.$output).{.$p.=.new.\Reflecti
12e3e0 6f 6e 50 72 6f 70 65 72 74 79 28 24 74 68 69 73 2d 3e 74 61 62 6c 65 2c 20 27 6f 75 74 70 75 74 onProperty($this->table,.'output
12e400 27 29 3b 0a 24 70 2d 3e 73 65 74 41 63 63 65 73 73 69 62 6c 65 28 74 72 75 65 29 3b 0a 24 70 2d ');.$p->setAccessible(true);.$p-
12e420 3e 73 65 74 56 61 6c 75 65 28 24 74 68 69 73 2d 3e 74 61 62 6c 65 2c 20 24 6f 75 74 70 75 74 29 >setValue($this->table,.$output)
12e440 3b 0a 0a 24 74 68 69 73 2d 3e 74 61 62 6c 65 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a 0a ;..$this->table->render();.}....
12e460 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 .public.function.getName().{.ret
12e480 75 72 6e 20 27 74 61 62 6c 65 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a urn.'table';.}.}.<?php..........
12e4a0 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e .namespace.Symfony\Component\Con
12e4c0 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 61 62 6c 65 53 65 sole\Helper;.......class.TableSe
12e4e0 70 61 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 54 61 62 6c 65 43 65 6c 6c 0a 7b 0a 70 75 62 6c parator.extends.TableCell.{.publ
12e500 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 6f ic.function.__construct(array.$o
12e520 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f ptions.=.array()).{.parent::__co
12e540 6e 73 74 72 75 63 74 28 27 27 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 nstruct('',.$options);.}.}.<?php
12e560 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
12e580 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 ponent\Console\Helper;..use.Symf
12e5a0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c ony\Component\Console\Exception\
12e5c0 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 InvalidArgumentException;.use.Sy
12e5e0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f mfony\Component\Console\Exceptio
12e600 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 n\LogicException;........class.T
12e620 61 62 6c 65 53 74 79 6c 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 61 64 64 69 6e 67 43 68 61 72 ableStyle.{.private.$paddingChar
12e640 20 3d 20 27 20 27 3b 0a 70 72 69 76 61 74 65 20 24 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 .=.'.';.private.$horizontalBorde
12e660 72 43 68 61 72 20 3d 20 27 2d 27 3b 0a 70 72 69 76 61 74 65 20 24 76 65 72 74 69 63 61 6c 42 6f rChar.=.'-';.private.$verticalBo
12e680 72 64 65 72 43 68 61 72 20 3d 20 27 7c 27 3b 0a 70 72 69 76 61 74 65 20 24 63 72 6f 73 73 69 6e rderChar.=.'|';.private.$crossin
12e6a0 67 43 68 61 72 20 3d 20 27 2b 27 3b 0a 70 72 69 76 61 74 65 20 24 63 65 6c 6c 48 65 61 64 65 72 gChar.=.'+';.private.$cellHeader
12e6c0 46 6f 72 6d 61 74 20 3d 20 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 3b 0a 70 72 69 76 Format.=.'<info>%s</info>';.priv
12e6e0 61 74 65 20 24 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 20 3d 20 27 25 73 27 3b 0a 70 72 69 76 61 ate.$cellRowFormat.=.'%s';.priva
12e700 74 65 20 24 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 20 3d 20 27 20 25 73 20 te.$cellRowContentFormat.=.'.%s.
12e720 27 3b 0a 70 72 69 76 61 74 65 20 24 62 6f 72 64 65 72 46 6f 72 6d 61 74 20 3d 20 27 25 73 27 3b ';.private.$borderFormat.=.'%s';
12e740 0a 70 72 69 76 61 74 65 20 24 70 61 64 54 79 70 65 20 3d 20 53 54 52 5f 50 41 44 5f 52 49 47 48 .private.$padType.=.STR_PAD_RIGH
12e760 54 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 61 T;.........public.function.setPa
12e780 64 64 69 6e 67 43 68 61 72 28 24 70 61 64 64 69 6e 67 43 68 61 72 29 0a 7b 0a 69 66 20 28 21 24 ddingChar($paddingChar).{.if.(!$
12e7a0 70 61 64 64 69 6e 67 43 68 61 72 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 paddingChar).{.throw.new.LogicEx
12e7c0 63 65 70 74 69 6f 6e 28 27 54 68 65 20 70 61 64 64 69 6e 67 20 63 68 61 72 20 6d 75 73 74 20 6e ception('The.padding.char.must.n
12e7e0 6f 74 20 62 65 20 65 6d 70 74 79 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 61 64 64 69 6e 67 ot.be.empty');.}..$this->padding
12e800 43 68 61 72 20 3d 20 24 70 61 64 64 69 6e 67 43 68 61 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 Char.=.$paddingChar;..return.$th
12e820 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 is;.}.......public.function.getP
12e840 61 64 64 69 6e 67 43 68 61 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 64 addingChar().{.return.$this->pad
12e860 64 69 6e 67 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 dingChar;.}.........public.funct
12e880 69 6f 6e 20 73 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 28 24 68 6f 72 ion.setHorizontalBorderChar($hor
12e8a0 69 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 6f 72 69 izontalBorderChar).{.$this->hori
12e8c0 7a 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 20 3d 20 24 68 6f 72 69 7a 6f 6e 74 61 6c 42 6f zontalBorderChar.=.$horizontalBo
12e8e0 72 64 65 72 43 68 61 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a rderChar;..return.$this;.}......
12e900 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 6f 72 69 7a 6f 6e 74 61 6c 42 6f .public.function.getHorizontalBo
12e920 72 64 65 72 43 68 61 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 6f 72 69 7a rderChar().{.return.$this->horiz
12e940 6f 6e 74 61 6c 42 6f 72 64 65 72 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ontalBorderChar;.}.........publi
12e960 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 c.function.setVerticalBorderChar
12e980 28 24 76 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 ($verticalBorderChar).{.$this->v
12e9a0 65 72 74 69 63 61 6c 42 6f 72 64 65 72 43 68 61 72 20 3d 20 24 76 65 72 74 69 63 61 6c 42 6f 72 erticalBorderChar.=.$verticalBor
12e9c0 64 65 72 43 68 61 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a derChar;..return.$this;.}.......
12e9e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 74 69 63 61 6c 42 6f 72 64 65 public.function.getVerticalBorde
12ea00 72 43 68 61 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 65 72 74 69 63 61 6c rChar().{.return.$this->vertical
12ea20 42 6f 72 64 65 72 43 68 61 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e BorderChar;.}.........public.fun
12ea40 63 74 69 6f 6e 20 73 65 74 43 72 6f 73 73 69 6e 67 43 68 61 72 28 24 63 72 6f 73 73 69 6e 67 43 ction.setCrossingChar($crossingC
12ea60 68 61 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 72 6f 73 73 69 6e 67 43 68 61 72 20 3d 20 24 63 72 har).{.$this->crossingChar.=.$cr
12ea80 6f 73 73 69 6e 67 43 68 61 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a ossingChar;..return.$this;.}....
12eaa0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 72 6f 73 73 69 6e 67 43 68 ...public.function.getCrossingCh
12eac0 61 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 72 6f 73 73 69 6e 67 43 68 61 ar().{.return.$this->crossingCha
12eae0 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 r;.}.........public.function.set
12eb00 43 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 24 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d CellHeaderFormat($cellHeaderForm
12eb20 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 20 3d 20 at).{.$this->cellHeaderFormat.=.
12eb40 24 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 $cellHeaderFormat;..return.$this
12eb60 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 65 6c ;.}.......public.function.getCel
12eb80 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e lHeaderFormat().{.return.$this->
12eba0 63 65 6c 6c 48 65 61 64 65 72 46 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c cellHeaderFormat;.}.........publ
12ebc0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 28 24 63 65 ic.function.setCellRowFormat($ce
12ebe0 6c 6c 52 6f 77 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 65 6c 6c 52 6f 77 46 6f 72 llRowFormat).{.$this->cellRowFor
12ec00 6d 61 74 20 3d 20 24 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 mat.=.$cellRowFormat;..return.$t
12ec20 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 his;.}.......public.function.get
12ec40 43 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e CellRowFormat().{.return.$this->
12ec60 63 65 6c 6c 52 6f 77 46 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 cellRowFormat;.}.........public.
12ec80 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 function.setCellRowContentFormat
12eca0 28 24 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d ($cellRowContentFormat).{.$this-
12ecc0 3e 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 20 3d 20 24 63 65 6c 6c 52 6f 77 >cellRowContentFormat.=.$cellRow
12ece0 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a ContentFormat;..return.$this;.}.
12ed00 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 65 6c 6c 52 6f 77 ......public.function.getCellRow
12ed20 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ContentFormat().{.return.$this->
12ed40 63 65 6c 6c 52 6f 77 43 6f 6e 74 65 6e 74 46 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a cellRowContentFormat;.}.........
12ed60 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 public.function.setBorderFormat(
12ed80 24 62 6f 72 64 65 72 46 6f 72 6d 61 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 6f 72 64 65 72 46 6f $borderFormat).{.$this->borderFo
12eda0 72 6d 61 74 20 3d 20 24 62 6f 72 64 65 72 46 6f 72 6d 61 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 rmat.=.$borderFormat;..return.$t
12edc0 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 his;.}.......public.function.get
12ede0 42 6f 72 64 65 72 46 6f 72 6d 61 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 BorderFormat().{.return.$this->b
12ee00 6f 72 64 65 72 46 6f 72 6d 61 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 orderFormat;.}.........public.fu
12ee20 6e 63 74 69 6f 6e 20 73 65 74 50 61 64 54 79 70 65 28 24 70 61 64 54 79 70 65 29 0a 7b 0a 69 66 nction.setPadType($padType).{.if
12ee40 20 28 21 5c 69 6e 5f 61 72 72 61 79 28 24 70 61 64 54 79 70 65 2c 20 61 72 72 61 79 28 53 54 52 .(!\in_array($padType,.array(STR
12ee60 5f 50 41 44 5f 4c 45 46 54 2c 20 53 54 52 5f 50 41 44 5f 52 49 47 48 54 2c 20 53 54 52 5f 50 41 _PAD_LEFT,.STR_PAD_RIGHT,.STR_PA
12ee80 44 5f 42 4f 54 48 29 2c 20 74 72 75 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 D_BOTH),.true)).{.throw.new.Inva
12eea0 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 70 61 lidArgumentException('Invalid.pa
12eec0 64 64 69 6e 67 20 74 79 70 65 2e 20 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 20 28 53 54 52 dding.type..Expected.one.of.(STR
12eee0 5f 50 41 44 5f 4c 45 46 54 2c 20 53 54 52 5f 50 41 44 5f 52 49 47 48 54 2c 20 53 54 52 5f 50 41 _PAD_LEFT,.STR_PAD_RIGHT,.STR_PA
12ef00 44 5f 42 4f 54 48 29 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 61 64 54 79 70 65 20 3d 20 D_BOTH).');.}..$this->padType.=.
12ef20 24 70 61 64 54 79 70 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a $padType;..return.$this;.}......
12ef40 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 64 54 79 70 65 28 29 0a 7b 0a .public.function.getPadType().{.
12ef60 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 64 54 79 70 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 return.$this->padType;.}.}.<?php
12ef80 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
12efa0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f ponent\Console\Input;..use.Symfo
12efc0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 ny\Component\Console\Exception\R
12efe0 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a untimeException;................
12f000 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 67 76 49 6e 70 75 74 20 65 78 74 65 6e ...........class.ArgvInput.exten
12f020 64 73 20 49 6e 70 75 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 6f 6b 65 6e 73 3b 0a 70 72 69 76 ds.Input.{.private.$tokens;.priv
12f040 61 74 65 20 24 70 61 72 73 65 64 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ate.$parsed;......public.functio
12f060 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 61 72 67 76 20 3d 20 6e 75 6c 6c n.__construct(array.$argv.=.null
12f080 2c 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 ,.InputDefinition.$definition.=.
12f0a0 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 61 72 67 76 29 20 7b 0a 24 61 null).{.if.(null.===.$argv).{.$a
12f0c0 72 67 76 20 3d 20 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d 3b 0a 7d 0a 0a 0a 20 61 72 72 rgv.=.$_SERVER['argv'];.}....arr
12f0e0 61 79 5f 73 68 69 66 74 28 24 61 72 67 76 29 3b 0a 0a 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 20 ay_shift($argv);..$this->tokens.
12f100 3d 20 24 61 72 67 76 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 64 =.$argv;..parent::__construct($d
12f120 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f efinition);.}..protected.functio
12f140 6e 20 73 65 74 54 6f 6b 65 6e 73 28 61 72 72 61 79 20 24 74 6f 6b 65 6e 73 29 0a 7b 0a 24 74 68 n.setTokens(array.$tokens).{.$th
12f160 69 73 2d 3e 74 6f 6b 65 6e 73 20 3d 20 24 74 6f 6b 65 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 is->tokens.=.$tokens;.}.....prot
12f180 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 28 29 0a 7b 0a 24 70 61 72 73 65 4f ected.function.parse().{.$parseO
12f1a0 70 74 69 6f 6e 73 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 64 20 3d 20 24 ptions.=.true;.$this->parsed.=.$
12f1c0 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 3b 0a 77 68 69 6c 65 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 this->tokens;.while.(null.!==.$t
12f1e0 6f 6b 65 6e 20 3d 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 oken.=.array_shift($this->parsed
12f200 29 29 20 7b 0a 69 66 20 28 24 70 61 72 73 65 4f 70 74 69 6f 6e 73 20 26 26 20 27 27 20 3d 3d 20 )).{.if.($parseOptions.&&.''.==.
12f220 24 74 6f 6b 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 41 72 67 75 6d 65 6e 74 28 24 $token).{.$this->parseArgument($
12f240 74 6f 6b 65 6e 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 61 72 73 65 4f 70 74 69 6f 6e 73 20 token);.}.elseif.($parseOptions.
12f260 26 26 20 27 2d 2d 27 20 3d 3d 20 24 74 6f 6b 65 6e 29 20 7b 0a 24 70 61 72 73 65 4f 70 74 69 6f &&.'--'.==.$token).{.$parseOptio
12f280 6e 73 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 61 72 73 65 4f 70 74 69 ns.=.false;.}.elseif.($parseOpti
12f2a0 6f 6e 73 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 6f 6b 65 6e 2c 20 27 2d 2d 27 ons.&&.0.===.strpos($token,.'--'
12f2c0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 74 6f 6b )).{.$this->parseLongOption($tok
12f2e0 65 6e 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 61 72 73 65 4f 70 74 69 6f 6e 73 20 26 26 20 en);.}.elseif.($parseOptions.&&.
12f300 27 2d 27 20 3d 3d 3d 20 24 74 6f 6b 65 6e 5b 30 5d 20 26 26 20 27 2d 27 20 21 3d 3d 20 24 74 6f '-'.===.$token[0].&&.'-'.!==.$to
12f320 6b 65 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 ken).{.$this->parseShortOption($
12f340 74 6f 6b 65 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 41 72 67 token);.}.else.{.$this->parseArg
12f360 75 6d 65 6e 74 28 24 74 6f 6b 65 6e 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 ument($token);.}.}.}.......priva
12f380 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 74 6f te.function.parseShortOption($to
12f3a0 6b 65 6e 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 74 6f 6b 65 6e 2c 20 31 29 ken).{.$name.=.substr($token,.1)
12f3c0 3b 0a 0a 69 66 20 28 5c 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 20 3e 20 31 29 20 7b 0a 69 66 20 ;..if.(\strlen($name).>.1).{.if.
12f3e0 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 53 68 6f 72 74 63 75 74 28 ($this->definition->hasShortcut(
12f400 24 6e 61 6d 65 5b 30 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e $name[0]).&&.$this->definition->
12f420 67 65 74 4f 70 74 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 6e 61 6d 65 5b 30 5d 29 2d 3e getOptionForShortcut($name[0])->
12f440 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 61 64 64 53 68 6f acceptValue()).{...$this->addSho
12f460 72 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 5b 30 5d 2c 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c rtOption($name[0],.substr($name,
12f480 20 31 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 53 68 6f 72 74 .1));.}.else.{.$this->parseShort
12f4a0 4f 70 74 69 6f 6e 53 65 74 28 24 6e 61 6d 65 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 OptionSet($name);.}.}.else.{.$th
12f4c0 69 73 2d 3e 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 6e 75 6c 6c 29 3b is->addShortOption($name,.null);
12f4e0 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 .}.}.........private.function.pa
12f500 72 73 65 53 68 6f 72 74 4f 70 74 69 6f 6e 53 65 74 28 24 6e 61 6d 65 29 0a 7b 0a 24 6c 65 6e 20 rseShortOptionSet($name).{.$len.
12f520 3d 20 5c 73 74 72 6c 65 6e 28 24 6e 61 6d 65 29 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 =.\strlen($name);.for.($i.=.0;.$
12f540 69 20 3c 20 24 6c 65 6e 3b 20 2b 2b 24 69 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 i.<.$len;.++$i).{.if.(!$this->de
12f560 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 53 68 6f 72 74 63 75 74 28 24 6e 61 6d 65 5b 24 69 5d 29 finition->hasShortcut($name[$i])
12f580 29 20 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 ).{.$encoding.=.mb_detect_encodi
12f5a0 6e 67 28 24 6e 61 6d 65 2c 20 6e 75 6c 6c 2c 20 74 72 75 65 29 3b 0a 74 68 72 6f 77 20 6e 65 77 ng($name,.null,.true);.throw.new
12f5c0 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 .RuntimeException(sprintf('The."
12f5e0 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 66 61 -%s".option.does.not.exist.',.fa
12f600 6c 73 65 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3f 20 24 6e 61 6d 65 5b 24 69 5d 20 3a 20 lse.===.$encoding.?.$name[$i].:.
12f620 6d 62 5f 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 24 69 2c 20 31 2c 20 24 65 6e 63 6f 64 69 6e mb_substr($name,.$i,.1,.$encodin
12f640 67 29 29 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 g)));.}..$option.=.$this->defini
12f660 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 6e 61 6d 65 tion->getOptionForShortcut($name
12f680 5b 24 69 5d 29 3b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 [$i]);.if.($option->acceptValue(
12f6a0 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f )).{.$this->addLongOption($optio
12f6c0 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 69 20 3d 3d 3d 20 24 6c 65 6e 20 2d 20 31 20 3f 20 n->getName(),.$i.===.$len.-.1.?.
12f6e0 6e 75 6c 6c 20 3a 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 24 69 20 2b 20 31 29 29 3b 0a 0a null.:.substr($name,.$i.+.1));..
12f700 62 72 65 61 6b 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 break;.}.else.{.$this->addLongOp
12f720 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 6e 75 6c 6c 29 3b 0a tion($option->getName(),.null);.
12f740 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 }.}.}.......private.function.par
12f760 73 65 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 74 6f 6b 65 6e 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 73 seLongOption($token).{.$name.=.s
12f780 75 62 73 74 72 28 24 74 6f 6b 65 6e 2c 20 32 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d ubstr($token,.2);..if.(false.!==
12f7a0 20 24 70 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 3d 27 29 29 20 7b 0a 69 66 .$pos.=.strpos($name,.'=')).{.if
12f7c0 20 28 30 20 3d 3d 3d 20 5c 73 74 72 6c 65 6e 28 24 76 61 6c 75 65 20 3d 20 73 75 62 73 74 72 28 .(0.===.\strlen($value.=.substr(
12f7e0 24 6e 61 6d 65 2c 20 24 70 6f 73 20 2b 20 31 29 29 29 20 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 $name,.$pos.+.1))).{.array_unshi
12f800 66 74 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 24 74 68 69 73 ft($this->parsed,.null);.}.$this
12f820 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 73 75 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c ->addLongOption(substr($name,.0,
12f840 20 24 70 6f 73 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d .$pos),.$value);.}.else.{.$this-
12f860 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 6e 75 6c 6c 29 3b 0a 7d 0a 7d >addLongOption($name,.null);.}.}
12f880 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 41 .........private.function.parseA
12f8a0 72 67 75 6d 65 6e 74 28 24 74 6f 6b 65 6e 29 0a 7b 0a 24 63 20 3d 20 5c 63 6f 75 6e 74 28 24 74 rgument($token).{.$c.=.\count($t
12f8c0 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 64 his->arguments);....if.($this->d
12f8e0 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 63 29 29 20 7b 0a 24 61 efinition->hasArgument($c)).{.$a
12f900 72 67 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d rg.=.$this->definition->getArgum
12f920 65 6e 74 28 24 63 29 3b 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 61 72 67 2d 3e ent($c);.$this->arguments[$arg->
12f940 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 24 61 72 67 2d 3e 69 73 41 72 72 61 79 28 29 20 3f 20 61 getName()].=.$arg->isArray().?.a
12f960 72 72 61 79 28 24 74 6f 6b 65 6e 29 20 3a 20 24 74 6f 6b 65 6e 3b 0a 0a 0a 20 7d 20 65 6c 73 65 rray($token).:.$token;....}.else
12f980 69 66 20 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 41 72 67 75 6d 65 if.($this->definition->hasArgume
12f9a0 6e 74 28 24 63 20 2d 20 31 29 20 26 26 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d nt($c.-.1).&&.$this->definition-
12f9c0 3e 67 65 74 41 72 67 75 6d 65 6e 74 28 24 63 20 2d 20 31 29 2d 3e 69 73 41 72 72 61 79 28 29 29 >getArgument($c.-.1)->isArray())
12f9e0 20 7b 0a 24 61 72 67 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 .{.$arg.=.$this->definition->get
12fa00 41 72 67 75 6d 65 6e 74 28 24 63 20 2d 20 31 29 3b 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e Argument($c.-.1);.$this->argumen
12fa20 74 73 5b 24 61 72 67 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 5b 5d 20 3d 20 24 74 6f 6b 65 6e 3b 0a ts[$arg->getName()][].=.$token;.
12fa40 0a 0a 20 7d 20 65 6c 73 65 20 7b 0a 24 61 6c 6c 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 ...}.else.{.$all.=.$this->defini
12fa60 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 69 66 20 28 5c 63 6f 75 6e 74 tion->getArguments();.if.(\count
12fa80 28 24 61 6c 6c 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 ($all)).{.throw.new.RuntimeExcep
12faa0 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 tion(sprintf('Too.many.arguments
12fac0 2c 20 65 78 70 65 63 74 65 64 20 61 72 67 75 6d 65 6e 74 73 20 22 25 73 22 2e 27 2c 20 69 6d 70 ,.expected.arguments."%s".',.imp
12fae0 6c 6f 64 65 28 27 22 20 22 27 2c 20 61 72 72 61 79 5f 6b 65 79 73 28 24 61 6c 6c 29 29 29 29 3b lode('"."',.array_keys($all))));
12fb00 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 .}..throw.new.RuntimeException(s
12fb20 70 72 69 6e 74 66 28 27 4e 6f 20 61 72 67 75 6d 65 6e 74 73 20 65 78 70 65 63 74 65 64 2c 20 67 printf('No.arguments.expected,.g
12fb40 6f 74 20 22 25 73 22 2e 27 2c 20 24 74 6f 6b 65 6e 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ot."%s".',.$token));.}.}........
12fb60 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 68 6f 72 74 4f 70 74 69 6f ..private.function.addShortOptio
12fb80 6e 28 24 73 68 6f 72 74 63 75 74 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 n($shortcut,.$value).{.if.(!$thi
12fba0 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 53 68 6f 72 74 63 75 74 28 24 73 68 6f 72 s->definition->hasShortcut($shor
12fbc0 74 63 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 tcut)).{.throw.new.RuntimeExcept
12fbe0 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f ion(sprintf('The."-%s".option.do
12fc00 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 7d 0a 0a es.not.exist.',.$shortcut));.}..
12fc20 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 64 65 66 69 $this->addLongOption($this->defi
12fc40 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 73 68 nition->getOptionForShortcut($sh
12fc60 6f 72 74 63 75 74 29 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a ortcut)->getName(),.$value);.}..
12fc80 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 6f 6e 67 ........private.function.addLong
12fca0 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 Option($name,.$value).{.if.(!$th
12fcc0 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 is->definition->hasOption($name)
12fce0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 ).{.throw.new.RuntimeException(s
12fd00 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e printf('The."--%s".option.does.n
12fd20 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 20 ot.exist.',.$name));.}..$option.
12fd40 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 24 =.$this->definition->getOption($
12fd60 6e 61 6d 65 29 3b 0a 0a 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 76 61 6c 75 65 5b 30 5d 29 29 name);....if.(!isset($value[0]))
12fd80 20 7b 0a 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d .{.$value.=.null;.}..if.(null.!=
12fda0 3d 20 24 76 61 6c 75 65 20 26 26 20 21 24 6f 70 74 69 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 =.$value.&&.!$option->acceptValu
12fdc0 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f e()).{.throw.new.RuntimeExceptio
12fde0 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 n(sprintf('The."--%s".option.doe
12fe00 73 20 6e 6f 74 20 61 63 63 65 70 74 20 61 20 76 61 6c 75 65 2e 27 2c 20 24 6e 61 6d 65 29 29 3b s.not.accept.a.value.',.$name));
12fe20 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 20 26 26 20 24 6f 70 74 69 .}..if.(null.===.$value.&&.$opti
12fe40 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 20 26 26 20 5c 63 6f 75 6e 74 28 24 74 68 69 on->acceptValue().&&.\count($thi
12fe60 73 2d 3e 70 61 72 73 65 64 29 29 20 7b 0a 0a 20 0a 20 24 6e 65 78 74 20 3d 20 61 72 72 61 79 5f s->parsed)).{.....$next.=.array_
12fe80 73 68 69 66 74 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 29 3b 0a 69 66 20 28 69 73 73 65 74 28 shift($this->parsed);.if.(isset(
12fea0 24 6e 65 78 74 5b 30 5d 29 20 26 26 20 27 2d 27 20 21 3d 3d 20 24 6e 65 78 74 5b 30 5d 29 20 7b $next[0]).&&.'-'.!==.$next[0]).{
12fec0 0a 24 76 61 6c 75 65 20 3d 20 24 6e 65 78 74 3b 0a 7d 20 65 6c 73 65 69 66 20 28 65 6d 70 74 79 .$value.=.$next;.}.elseif.(empty
12fee0 28 24 6e 65 78 74 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 20 65 6c 73 65 ($next)).{.$value.=.null;.}.else
12ff00 20 7b 0a 61 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 74 68 69 73 2d 3e 70 61 72 73 65 64 2c 20 .{.array_unshift($this->parsed,.
12ff20 24 6e 65 78 74 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 $next);.}.}..if.(null.===.$value
12ff40 29 20 7b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 ).{.if.($option->isValueRequired
12ff60 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e ()).{.throw.new.RuntimeException
12ff80 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 72 65 71 75 (sprintf('The."--%s".option.requ
12ffa0 69 72 65 73 20 61 20 76 61 6c 75 65 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 69 66 20 28 ires.a.value.',.$name));.}..if.(
12ffc0 21 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 !$option->isArray()).{.$value.=.
12ffe0 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3f 20 24 6f 70 $option->isValueOptional().?.$op
130000 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3a 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a tion->getDefault().:.true;.}.}..
130020 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 24 74 68 69 73 2d if.($option->isArray()).{.$this-
130040 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 5b 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 20 65 6c >options[$name][].=.$value;.}.el
130060 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 se.{.$this->options[$name].=.$va
130080 6c 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 lue;.}.}.....public.function.get
1300a0 46 69 72 73 74 41 72 67 75 6d 65 6e 74 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 FirstArgument().{.foreach.($this
1300c0 2d 3e 74 6f 6b 65 6e 73 20 61 73 20 24 74 6f 6b 65 6e 29 20 7b 0a 69 66 20 28 24 74 6f 6b 65 6e ->tokens.as.$token).{.if.($token
1300e0 20 26 26 20 27 2d 27 20 3d 3d 3d 20 24 74 6f 6b 65 6e 5b 30 5d 29 20 7b 0a 63 6f 6e 74 69 6e 75 .&&.'-'.===.$token[0]).{.continu
130100 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 6f 6b 65 6e 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 e;.}..return.$token;.}.}.....pub
130120 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 lic.function.hasParameterOption(
130140 24 76 61 6c 75 65 73 29 0a 7b 0a 24 76 61 6c 75 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 76 61 $values).{.$values.=.(array).$va
130160 6c 75 65 73 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 20 61 73 lues;..foreach.($this->tokens.as
130180 20 24 74 6f 6b 65 6e 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 65 73 20 61 73 20 24 .$token).{.foreach.($values.as.$
1301a0 76 61 6c 75 65 29 20 7b 0a 0a 20 0a 20 0a 20 24 6c 65 61 64 69 6e 67 20 3d 20 30 20 3d 3d 3d 20 value).{.......$leading.=.0.===.
1301c0 73 74 72 70 6f 73 28 24 76 61 6c 75 65 2c 20 27 2d 2d 27 29 20 3f 20 24 76 61 6c 75 65 2e 27 3d strpos($value,.'--').?.$value.'=
1301e0 27 20 3a 20 24 76 61 6c 75 65 3b 0a 69 66 20 28 24 74 6f 6b 65 6e 20 3d 3d 3d 20 24 76 61 6c 75 '.:.$value;.if.($token.===.$valu
130200 65 20 7c 7c 20 27 27 20 21 3d 3d 20 24 6c 65 61 64 69 6e 67 20 26 26 20 30 20 3d 3d 3d 20 73 74 e.||.''.!==.$leading.&&.0.===.st
130220 72 70 6f 73 28 24 74 6f 6b 65 6e 2c 20 24 6c 65 61 64 69 6e 67 29 29 20 7b 0a 72 65 74 75 72 6e rpos($token,.$leading)).{.return
130240 20 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a .true;.}.}.}..return.false;.}...
130260 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 ..public.function.getParameterOp
130280 74 69 6f 6e 28 24 76 61 6c 75 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 65 29 0a tion($values,.$default.=.false).
1302a0 7b 0a 24 76 61 6c 75 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 76 61 6c 75 65 73 3b 0a 24 74 6f {.$values.=.(array).$values;.$to
1302c0 6b 65 6e 73 20 3d 20 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 73 3b 0a 0a 77 68 69 6c 65 20 28 30 20 kens.=.$this->tokens;..while.(0.
1302e0 3c 20 5c 63 6f 75 6e 74 28 24 74 6f 6b 65 6e 73 29 29 20 7b 0a 24 74 6f 6b 65 6e 20 3d 20 61 72 <.\count($tokens)).{.$token.=.ar
130300 72 61 79 5f 73 68 69 66 74 28 24 74 6f 6b 65 6e 73 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 76 ray_shift($tokens);..foreach.($v
130320 61 6c 75 65 73 20 61 73 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 24 74 6f 6b 65 6e 20 3d 3d alues.as.$value).{.if.($token.==
130340 3d 20 24 76 61 6c 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 73 68 69 66 74 28 24 =.$value).{.return.array_shift($
130360 74 6f 6b 65 6e 73 29 3b 0a 7d 0a 0a 20 0a 20 0a 20 24 6c 65 61 64 69 6e 67 20 3d 20 30 20 3d 3d tokens);.}.......$leading.=.0.==
130380 3d 20 73 74 72 70 6f 73 28 24 76 61 6c 75 65 2c 20 27 2d 2d 27 29 20 3f 20 24 76 61 6c 75 65 2e =.strpos($value,.'--').?.$value.
1303a0 27 3d 27 20 3a 20 24 76 61 6c 75 65 3b 0a 69 66 20 28 27 27 20 21 3d 3d 20 24 6c 65 61 64 69 6e '='.:.$value;.if.(''.!==.$leadin
1303c0 67 20 26 26 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 6f 6b 65 6e 2c 20 24 6c 65 61 64 69 g.&&.0.===.strpos($token,.$leadi
1303e0 6e 67 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 74 6f 6b 65 6e 2c 20 5c 73 74 ng)).{.return.substr($token,.\st
130400 72 6c 65 6e 28 24 6c 65 61 64 69 6e 67 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 rlen($leading));.}.}.}..return.$
130420 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e default;.}.......public.function
130440 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 24 73 65 6c 66 20 3d 20 24 74 68 69 73 3b 0a 24 .__toString().{.$self.=.$this;.$
130460 74 6f 6b 65 6e 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 74 6f tokens.=.array_map(function.($to
130480 6b 65 6e 29 20 75 73 65 20 28 24 73 65 6c 66 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 ken).use.($self).{.if.(preg_matc
1304a0 68 28 27 7b 5e 28 2d 5b 5e 3d 5d 2b 3d 29 28 2e 2b 29 7d 27 2c 20 24 74 6f 6b 65 6e 2c 20 24 6d h('{^(-[^=]+=)(.+)}',.$token,.$m
1304c0 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 5b 31 5d 2e 24 73 65 6c 66 2d atch)).{.return.$match[1].$self-
1304e0 3e 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 6d 61 74 63 68 5b 32 5d 29 3b 0a 7d 0a 0a 69 66 20 28 >escapeToken($match[2]);.}..if.(
130500 24 74 6f 6b 65 6e 20 26 26 20 27 2d 27 20 21 3d 3d 20 24 74 6f 6b 65 6e 5b 30 5d 29 20 7b 0a 72 $token.&&.'-'.!==.$token[0]).{.r
130520 65 74 75 72 6e 20 24 73 65 6c 66 2d 3e 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 74 6f 6b 65 6e 29 eturn.$self->escapeToken($token)
130540 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 6f 6b 65 6e 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 74 6f ;.}..return.$token;.},.$this->to
130560 6b 65 6e 73 29 3b 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 74 6f 6b kens);..return.implode('.',.$tok
130580 65 6e 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 ens);.}.}.<?php...........namesp
1305a0 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e ace.Symfony\Component\Console\In
1305c0 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 put;..use.Symfony\Component\Cons
1305e0 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ole\Exception\InvalidArgumentExc
130600 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f eption;.use.Symfony\Component\Co
130620 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 nsole\Exception\InvalidOptionExc
130640 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 72 72 61 79 49 6e 70 eption;...........class.ArrayInp
130660 75 74 20 65 78 74 65 6e 64 73 20 49 6e 70 75 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 61 72 61 ut.extends.Input.{.private.$para
130680 6d 65 74 65 72 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 meters;..public.function.__const
1306a0 72 75 63 74 28 61 72 72 61 79 20 24 70 61 72 61 6d 65 74 65 72 73 2c 20 49 6e 70 75 74 44 65 66 ruct(array.$parameters,.InputDef
1306c0 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 inition.$definition.=.null).{.$t
1306e0 68 69 73 2d 3e 70 61 72 61 6d 65 74 65 72 73 20 3d 20 24 70 61 72 61 6d 65 74 65 72 73 3b 0a 0a his->parameters.=.$parameters;..
130700 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 parent::__construct($definition)
130720 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 72 73 74 ;.}.....public.function.getFirst
130740 41 72 67 75 6d 65 6e 74 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 Argument().{.foreach.($this->par
130760 61 6d 65 74 65 72 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 ameters.as.$key.=>.$value).{.if.
130780 28 24 6b 65 79 20 26 26 20 27 2d 27 20 3d 3d 3d 20 24 6b 65 79 5b 30 5d 29 20 7b 0a 63 6f 6e 74 ($key.&&.'-'.===.$key[0]).{.cont
1307a0 69 6e 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a inue;.}..return.$value;.}.}.....
1307c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 public.function.hasParameterOpti
1307e0 6f 6e 28 24 76 61 6c 75 65 73 29 0a 7b 0a 24 76 61 6c 75 65 73 20 3d 20 28 61 72 72 61 79 29 20 on($values).{.$values.=.(array).
130800 24 76 61 6c 75 65 73 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 $values;..foreach.($this->parame
130820 74 65 72 73 20 61 73 20 24 6b 20 3d 3e 20 24 76 29 20 7b 0a 69 66 20 28 21 5c 69 73 5f 69 6e 74 ters.as.$k.=>.$v).{.if.(!\is_int
130840 28 24 6b 29 29 20 7b 0a 24 76 20 3d 20 24 6b 3b 0a 7d 0a 0a 69 66 20 28 5c 69 6e 5f 61 72 72 61 ($k)).{.$v.=.$k;.}..if.(\in_arra
130860 79 28 24 76 2c 20 24 76 61 6c 75 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d y($v,.$values)).{.return.true;.}
130880 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .}..return.false;.}.....public.f
1308a0 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 24 76 61 6c 75 unction.getParameterOption($valu
1308c0 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 76 61 6c 75 65 73 20 es,.$default.=.false).{.$values.
1308e0 3d 20 28 61 72 72 61 79 29 20 24 76 61 6c 75 65 73 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 =.(array).$values;..foreach.($th
130900 69 73 2d 3e 70 61 72 61 6d 65 74 65 72 73 20 61 73 20 24 6b 20 3d 3e 20 24 76 29 20 7b 0a 69 66 is->parameters.as.$k.=>.$v).{.if
130920 20 28 5c 69 73 5f 69 6e 74 28 24 6b 29 29 20 7b 0a 69 66 20 28 5c 69 6e 5f 61 72 72 61 79 28 24 .(\is_int($k)).{.if.(\in_array($
130940 76 2c 20 24 76 61 6c 75 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 20 v,.$values)).{.return.true;.}.}.
130960 65 6c 73 65 69 66 20 28 5c 69 6e 5f 61 72 72 61 79 28 24 6b 2c 20 24 76 61 6c 75 65 73 29 29 20 elseif.(\in_array($k,.$values)).
130980 7b 0a 72 65 74 75 72 6e 20 24 76 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 65 66 61 75 6c {.return.$v;.}.}..return.$defaul
1309a0 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 t;.}.......public.function.__toS
1309c0 74 72 69 6e 67 28 29 0a 7b 0a 24 70 61 72 61 6d 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 tring().{.$params.=.array();.for
1309e0 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 65 74 65 72 73 20 61 73 20 24 70 61 72 61 each.($this->parameters.as.$para
130a00 6d 20 3d 3e 20 24 76 61 6c 29 20 7b 0a 69 66 20 28 24 70 61 72 61 6d 20 26 26 20 27 2d 27 20 3d m.=>.$val).{.if.($param.&&.'-'.=
130a20 3d 3d 20 24 70 61 72 61 6d 5b 30 5d 29 20 7b 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 76 ==.$param[0]).{.if.(\is_array($v
130a40 61 6c 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 76 61 6c 20 61 73 20 24 76 29 20 7b 0a 24 70 al)).{.foreach.($val.as.$v).{.$p
130a60 61 72 61 6d 73 5b 5d 20 3d 20 24 70 61 72 61 6d 2e 28 27 27 20 21 3d 20 24 76 20 3f 20 27 3d 27 arams[].=.$param.(''.!=.$v.?.'='
130a80 2e 24 74 68 69 73 2d 3e 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 76 29 20 3a 20 27 27 29 3b 0a 7d .$this->escapeToken($v).:.'');.}
130aa0 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 72 61 6d 73 5b 5d 20 3d 20 24 70 61 72 61 6d 2e 28 27 27 .}.else.{.$params[].=.$param.(''
130ac0 20 21 3d 20 24 76 61 6c 20 3f 20 27 3d 27 2e 24 74 68 69 73 2d 3e 65 73 63 61 70 65 54 6f 6b 65 .!=.$val.?.'='.$this->escapeToke
130ae0 6e 28 24 76 61 6c 29 20 3a 20 27 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 61 72 61 6d n($val).:.'');.}.}.else.{.$param
130b00 73 5b 5d 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 76 61 6c 29 20 3f 20 69 6d 70 6c 6f 64 65 28 s[].=.\is_array($val).?.implode(
130b20 27 20 27 2c 20 61 72 72 61 79 5f 6d 61 70 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 65 73 63 '.',.array_map(array($this,.'esc
130b40 61 70 65 54 6f 6b 65 6e 27 29 2c 20 24 76 61 6c 29 29 20 3a 20 24 74 68 69 73 2d 3e 65 73 63 61 apeToken'),.$val)).:.$this->esca
130b60 70 65 54 6f 6b 65 6e 28 24 76 61 6c 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f peToken($val);.}.}..return.implo
130b80 64 65 28 27 20 27 2c 20 24 70 61 72 61 6d 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 de('.',.$params);.}.....protecte
130ba0 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 d.function.parse().{.foreach.($t
130bc0 68 69 73 2d 3e 70 61 72 61 6d 65 74 65 72 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 6c 75 his->parameters.as.$key.=>.$valu
130be0 65 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 6b 65 79 2c 20 27 2d 2d 27 e).{.if.(0.===.strpos($key,.'--'
130c00 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 73 75 62 73 74 72 )).{.$this->addLongOption(substr
130c20 28 24 6b 65 79 2c 20 32 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 2d ($key,.2),.$value);.}.elseif.('-
130c40 27 20 3d 3d 3d 20 24 6b 65 79 5b 30 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 53 68 6f 72 74 '.===.$key[0]).{.$this->addShort
130c60 4f 70 74 69 6f 6e 28 73 75 62 73 74 72 28 24 6b 65 79 2c 20 31 29 2c 20 24 76 61 6c 75 65 29 3b Option(substr($key,.1),.$value);
130c80 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 28 24 6b 65 .}.else.{.$this->addArgument($ke
130ca0 79 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 y,.$value);.}.}.}..........priva
130cc0 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 68 6f 72 74 4f 70 74 69 6f 6e 28 24 73 68 6f 72 te.function.addShortOption($shor
130ce0 74 63 75 74 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 tcut,.$value).{.if.(!$this->defi
130d00 6e 69 74 69 6f 6e 2d 3e 68 61 73 53 68 6f 72 74 63 75 74 28 24 73 68 6f 72 74 63 75 74 29 29 20 nition->hasShortcut($shortcut)).
130d20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 74 69 {.throw.new.InvalidOptionExcepti
130d40 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 on(sprintf('The."-%s".option.doe
130d60 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 7d 0a 0a 24 s.not.exist.',.$shortcut));.}..$
130d80 74 68 69 73 2d 3e 61 64 64 4c 6f 6e 67 4f 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 64 65 66 69 6e this->addLongOption($this->defin
130da0 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 73 68 6f ition->getOptionForShortcut($sho
130dc0 72 74 63 75 74 29 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a rtcut)->getName(),.$value);.}...
130de0 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4c 6f 6e 67 ........private.function.addLong
130e00 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 Option($name,.$value).{.if.(!$th
130e20 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 is->definition->hasOption($name)
130e40 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 63 65 70 ).{.throw.new.InvalidOptionExcep
130e60 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 6f 6e 20 tion(sprintf('The."--%s".option.
130e80 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 6f does.not.exist.',.$name));.}..$o
130ea0 70 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 ption.=.$this->definition->getOp
130ec0 74 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 tion($name);..if.(null.===.$valu
130ee0 65 29 20 7b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 e).{.if.($option->isValueRequire
130f00 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 4f 70 74 69 6f 6e 45 78 d()).{.throw.new.InvalidOptionEx
130f20 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 2d 25 73 22 20 6f 70 74 69 ception(sprintf('The."--%s".opti
130f40 6f 6e 20 72 65 71 75 69 72 65 73 20 61 20 76 61 6c 75 65 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a on.requires.a.value.',.$name));.
130f60 7d 0a 0a 24 76 61 6c 75 65 20 3d 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 }..$value.=.$option->isValueOpti
130f80 6f 6e 61 6c 28 29 20 3f 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3a onal().?.$option->getDefault().:
130fa0 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 .true;.}..$this->options[$name].
130fc0 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e =.$value;.}..........private.fun
130fe0 63 74 69 6f 6e 20 61 64 64 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 ction.addArgument($name,.$value)
131000 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 41 72 .{.if.(!$this->definition->hasAr
131020 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c gument($name)).{.throw.new.Inval
131040 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 idArgumentException(sprintf('The
131060 20 22 25 73 22 20 61 72 67 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c ."%s".argument.does.not.exist.',
131080 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 6e .$name));.}..$this->arguments[$n
1310a0 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a ame].=.$value;.}.}.<?php........
1310c0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 ...namespace.Symfony\Component\C
1310e0 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f onsole\Input;..use.Symfony\Compo
131100 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 nent\Console\Exception\InvalidAr
131120 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d gumentException;.use.Symfony\Com
131140 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 ponent\Console\Exception\Runtime
131160 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 Exception;.............abstract.
131180 63 6c 61 73 73 20 49 6e 70 75 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 6e 70 75 74 49 6e 74 65 class.Input.implements.InputInte
1311a0 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 70 rface.{.protected.$definition;.p
1311c0 72 6f 74 65 63 74 65 64 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f rotected.$options.=.array();.pro
1311e0 74 65 63 74 65 64 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f tected.$arguments.=.array();.pro
131200 74 65 63 74 65 64 20 24 69 6e 74 65 72 61 63 74 69 76 65 20 3d 20 74 72 75 65 3b 0a 0a 70 75 62 tected.$interactive.=.true;..pub
131220 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 6e 70 75 74 44 65 lic.function.__construct(InputDe
131240 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 finition.$definition.=.null).{.i
131260 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 f.(null.===.$definition).{.$this
131280 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 65 77 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 ->definition.=.new.InputDefiniti
1312a0 6f 6e 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 62 69 6e 64 28 24 64 65 66 69 on();.}.else.{.$this->bind($defi
1312c0 6e 69 74 69 6f 6e 29 3b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 28 29 3b 0a 7d 0a 7d 0a nition);.$this->validate();.}.}.
1312e0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 69 6e 64 28 49 6e 70 75 74 44 65 ....public.function.bind(InputDe
131300 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 finition.$definition).{.$this->a
131320 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f rguments.=.array();.$this->optio
131340 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 20 ns.=.array();.$this->definition.
131360 3d 20 24 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 28 29 3b 0a =.$definition;..$this->parse();.
131380 7d 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f }.....abstract.protected.functio
1313a0 6e 20 70 61 72 73 65 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 n.parse();.....public.function.v
1313c0 61 6c 69 64 61 74 65 28 29 0a 7b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d alidate().{.$definition.=.$this-
1313e0 3e 64 65 66 69 6e 69 74 69 6f 6e 3b 0a 24 67 69 76 65 6e 41 72 67 75 6d 65 6e 74 73 20 3d 20 24 >definition;.$givenArguments.=.$
131400 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 3b 0a 0a 24 6d 69 73 73 69 6e 67 41 72 67 75 6d 65 this->arguments;..$missingArgume
131420 6e 74 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 5f 6b 65 79 73 28 24 64 nts.=.array_filter(array_keys($d
131440 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 2c 20 66 75 6e 63 efinition->getArguments()),.func
131460 74 69 6f 6e 20 28 24 61 72 67 75 6d 65 6e 74 29 20 75 73 65 20 28 24 64 65 66 69 6e 69 74 69 6f tion.($argument).use.($definitio
131480 6e 2c 20 24 67 69 76 65 6e 41 72 67 75 6d 65 6e 74 73 29 20 7b 0a 72 65 74 75 72 6e 20 21 61 72 n,.$givenArguments).{.return.!ar
1314a0 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 61 72 67 75 6d 65 6e 74 2c 20 24 67 69 76 65 6e ray_key_exists($argument,.$given
1314c0 41 72 67 75 6d 65 6e 74 73 29 20 26 26 20 24 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 Arguments).&&.$definition->getAr
1314e0 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 3b gument($argument)->isRequired();
131500 0a 7d 29 3b 0a 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 6d 69 73 73 69 6e 67 41 72 67 75 6d 65 6e .});..if.(\count($missingArgumen
131520 74 73 29 20 3e 20 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 ts).>.0).{.throw.new.RuntimeExce
131540 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4e 6f 74 20 65 6e 6f 75 67 68 20 61 72 67 75 6d 65 ption(sprintf('Not.enough.argume
131560 6e 74 73 20 28 6d 69 73 73 69 6e 67 3a 20 22 25 73 22 29 2e 27 2c 20 69 6d 70 6c 6f 64 65 28 27 nts.(missing:."%s").',.implode('
131580 2c 20 27 2c 20 24 6d 69 73 73 69 6e 67 41 72 67 75 6d 65 6e 74 73 29 29 29 3b 0a 7d 0a 7d 0a 0a ,.',.$missingArguments)));.}.}..
1315a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 6e 74 65 72 61 63 74 69 76 65 ...public.function.isInteractive
1315c0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 74 65 72 61 63 74 69 76 65 3b 0a ().{.return.$this->interactive;.
1315e0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 74 65 72 61 63 }.....public.function.setInterac
131600 74 69 76 65 28 24 69 6e 74 65 72 61 63 74 69 76 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 74 65 tive($interactive).{.$this->inte
131620 72 61 63 74 69 76 65 20 3d 20 28 62 6f 6f 6c 29 20 24 69 6e 74 65 72 61 63 74 69 76 65 3b 0a 7d ractive.=.(bool).$interactive;.}
131640 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 .....public.function.getArgument
131660 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e s().{.return.array_merge($this->
131680 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 44 65 66 61 75 6c 74 73 28 definition->getArgumentDefaults(
1316a0 29 2c 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c ),.$this->arguments);.}.....publ
1316c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 0a 7b ic.function.getArgument($name).{
1316e0 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 41 72 67 75 .if.(!$this->definition->hasArgu
131700 6d 65 6e 74 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 ment($name)).{.throw.new.Invalid
131720 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 ArgumentException(sprintf('The."
131740 25 73 22 20 61 72 67 75 6d 65 6e 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 %s".argument.does.not.exist.',.$
131760 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 name));.}..return.isset($this->a
131780 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 rguments[$name]).?.$this->argume
1317a0 6e 74 73 5b 24 6e 61 6d 65 5d 20 3a 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e nts[$name].:.$this->definition->
1317c0 67 65 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 getArgument($name)->getDefault()
1317e0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 72 67 75 6d ;.}.....public.function.setArgum
131800 65 6e 74 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d ent($name,.$value).{.if.(!$this-
131820 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 29 >definition->hasArgument($name))
131840 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 .{.throw.new.InvalidArgumentExce
131860 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 61 72 67 75 6d 65 6e 74 ption(sprintf('The."%s".argument
131880 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 .does.not.exist.',.$name));.}..$
1318a0 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b this->arguments[$name].=.$value;
1318c0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 41 72 67 75 6d 65 .}.....public.function.hasArgume
1318e0 6e 74 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 nt($name).{.return.$this->defini
131900 74 69 6f 6e 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a tion->hasArgument($name);.}.....
131920 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 73 28 29 0a 7b 0a 72 public.function.getOptions().{.r
131940 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 eturn.array_merge($this->definit
131960 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 44 65 66 61 75 6c 74 73 28 29 2c 20 24 74 68 69 73 2d ion->getOptionDefaults(),.$this-
131980 3e 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e >options);.}.....public.function
1319a0 20 67 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e .getOption($name).{.if.(!$this->
1319c0 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 29 20 7b 0a definition->hasOption($name)).{.
1319e0 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 throw.new.InvalidArgumentExcepti
131a00 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 on(sprintf('The."%s".option.does
131a20 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e .not.exist.',.$name));.}..return
131a40 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 29 20 3f 20 .isset($this->options[$name]).?.
131a60 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3a 20 24 74 68 69 73 2d 3e 64 $this->options[$name].:.$this->d
131a80 65 66 69 6e 69 74 69 6f 6e 2d 3e 67 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 2d 3e 67 65 74 efinition->getOption($name)->get
131aa0 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e Default();.}.....public.function
131ac0 20 73 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 .setOption($name,.$value).{.if.(
131ae0 21 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 69 6f 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e !$this->definition->hasOption($n
131b00 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e ame)).{.throw.new.InvalidArgumen
131b20 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 6f 70 74 tException(sprintf('The."%s".opt
131b40 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d ion.does.not.exist.',.$name));.}
131b60 0a 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 ..$this->options[$name].=.$value
131b80 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4f 70 74 69 6f ;.}.....public.function.hasOptio
131ba0 6e 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 69 6e 69 74 n($name).{.return.$this->definit
131bc0 69 6f 6e 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ion->hasOption($name);.}........
131be0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 54 6f 6b 65 6e 28 24 74 6f .public.function.escapeToken($to
131c00 6b 65 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 5b 5c 77 2d ken).{.return.preg_match('{^[\w-
131c20 5d 2b 24 7d 27 2c 20 24 74 6f 6b 65 6e 29 20 3f 20 24 74 6f 6b 65 6e 20 3a 20 65 73 63 61 70 65 ]+$}',.$token).?.$token.:.escape
131c40 73 68 65 6c 6c 61 72 67 28 24 74 6f 6b 65 6e 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a shellarg($token);.}.}.<?php.....
131c60 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ......namespace.Symfony\Componen
131c80 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f t\Console\Input;..use.Symfony\Co
131ca0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 mponent\Console\Exception\Invali
131cc0 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c dArgumentException;.use.Symfony\
131ce0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 Component\Console\Exception\Logi
131d00 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 70 75 74 41 72 67 cException;.......class.InputArg
131d20 75 6d 65 6e 74 0a 7b 0a 63 6f 6e 73 74 20 52 45 51 55 49 52 45 44 20 3d 20 31 3b 0a 63 6f 6e 73 ument.{.const.REQUIRED.=.1;.cons
131d40 74 20 4f 50 54 49 4f 4e 41 4c 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 49 53 5f 41 52 52 41 59 20 3d t.OPTIONAL.=.2;.const.IS_ARRAY.=
131d60 20 34 3b 0a 0a 70 72 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 6d 6f 64 .4;..private.$name;.private.$mod
131d80 65 3b 0a 70 72 69 76 61 74 65 20 24 64 65 66 61 75 6c 74 3b 0a 70 72 69 76 61 74 65 20 24 64 65 e;.private.$default;.private.$de
131da0 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 scription;..........public.funct
131dc0 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 2c 20 24 6d 6f 64 65 20 3d 20 6e ion.__construct($name,.$mode.=.n
131de0 75 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 27 2c 20 24 64 65 66 61 75 6c 74 ull,.$description.=.'',.$default
131e00 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 6f 64 65 29 20 7b .=.null).{.if.(null.===.$mode).{
131e20 0a 24 6d 6f 64 65 20 3d 20 73 65 6c 66 3a 3a 4f 50 54 49 4f 4e 41 4c 3b 0a 7d 20 65 6c 73 65 69 .$mode.=.self::OPTIONAL;.}.elsei
131e40 66 20 28 21 5c 69 73 5f 69 6e 74 28 24 6d 6f 64 65 29 20 7c 7c 20 24 6d 6f 64 65 20 3e 20 37 20 f.(!\is_int($mode).||.$mode.>.7.
131e60 7c 7c 20 24 6d 6f 64 65 20 3c 20 31 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 ||.$mode.<.1).{.throw.new.Invali
131e80 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 72 67 75 dArgumentException(sprintf('Argu
131ea0 6d 65 6e 74 20 6d 6f 64 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 27 2c 20 24 ment.mode."%s".is.not.valid.',.$
131ec0 6d 6f 64 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a mode));.}..$this->name.=.$name;.
131ee0 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d 20 24 6d 6f 64 65 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 $this->mode.=.$mode;.$this->desc
131f00 72 69 70 74 69 6f 6e 20 3d 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 24 74 68 69 73 2d 3e ription.=.$description;..$this->
131f20 73 65 74 44 65 66 61 75 6c 74 28 24 64 65 66 61 75 6c 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 setDefault($default);.}.......pu
131f40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e blic.function.getName().{.return
131f60 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .$this->name;.}.......public.fun
131f80 63 74 69 6f 6e 20 69 73 52 65 71 75 69 72 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 ction.isRequired().{.return.self
131fa0 3a 3a 52 45 51 55 49 52 45 44 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 52 45 51 55 49 52 45 44 20 26 ::REQUIRED.===.(self::REQUIRED.&
131fc0 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .$this->mode);.}.......public.fu
131fe0 6e 63 74 69 6f 6e 20 69 73 41 72 72 61 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a nction.isArray().{.return.self::
132000 49 53 5f 41 52 52 41 59 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 49 53 5f 41 52 52 41 59 20 26 20 24 IS_ARRAY.===.(self::IS_ARRAY.&.$
132020 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 this->mode);.}.........public.fu
132040 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 61 75 6c 74 28 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c nction.setDefault($default.=.nul
132060 6c 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 52 45 51 55 49 52 45 44 20 3d 3d 3d 20 24 74 68 69 l).{.if.(self::REQUIRED.===.$thi
132080 73 2d 3e 6d 6f 64 65 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a s->mode.&&.null.!==.$default).{.
1320a0 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 6e 6f 74 throw.new.LogicException('Cannot
1320c0 20 73 65 74 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 65 78 63 65 70 74 20 66 6f 72 20 .set.a.default.value.except.for.
1320e0 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 3a 3a 4f 50 54 49 4f 4e 41 4c 20 6d 6f 64 65 2e 27 29 3b InputArgument::OPTIONAL.mode.');
132100 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 69 66 20 28 .}..if.($this->isArray()).{.if.(
132120 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 null.===.$default).{.$default.=.
132140 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 64 array();.}.elseif.(!\is_array($d
132160 65 66 61 75 6c 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 efault)).{.throw.new.LogicExcept
132180 69 6f 6e 28 27 41 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 66 6f 72 20 61 6e 20 61 72 72 61 ion('A.default.value.for.an.arra
1321a0 79 20 61 72 67 75 6d 65 6e 74 20 6d 75 73 74 20 62 65 20 61 6e 20 61 72 72 61 79 2e 27 29 3b 0a y.argument.must.be.an.array.');.
1321c0 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 20 3d 20 24 64 65 66 61 75 6c 74 3b 0a }.}..$this->default.=.$default;.
1321e0 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 }.......public.function.getDefau
132200 6c 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 3b 0a 7d 0a lt().{.return.$this->default;.}.
132220 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 ......public.function.getDescrip
132240 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 tion().{.return.$this->descripti
132260 6f 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 on;.}.}.<?php...........namespac
132280 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 e.Symfony\Component\Console\Inpu
1322a0 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 6e 70 75 74 41 77 61 72 65 49 6e t;........interface.InputAwareIn
1322c0 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 terface.{....public.function.set
1322e0 49 6e 70 75 74 28 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 69 6e 70 75 74 29 3b 0a 7d 0a Input(InputInterface.$input);.}.
132300 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
132320 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 y\Component\Console\Input;..use.
132340 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 Symfony\Component\Console\Descri
132360 70 74 6f 72 5c 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 ptor\TextDescriptor;.use.Symfony
132380 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 44 65 73 63 72 69 70 74 6f 72 5c 58 6d \Component\Console\Descriptor\Xm
1323a0 6c 44 65 73 63 72 69 70 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 lDescriptor;.use.Symfony\Compone
1323c0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 nt\Console\Exception\InvalidArgu
1323e0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f mentException;.use.Symfony\Compo
132400 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 nent\Console\Exception\LogicExce
132420 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ption;.use.Symfony\Component\Con
132440 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 3b 0a 0a 0a 0a 0a sole\Output\BufferedOutput;.....
132460 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 0a 7b .........class.InputDefinition.{
132480 0a 70 72 69 76 61 74 65 20 24 61 72 67 75 6d 65 6e 74 73 3b 0a 70 72 69 76 61 74 65 20 24 72 65 .private.$arguments;.private.$re
1324a0 71 75 69 72 65 64 43 6f 75 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 68 61 73 41 6e 41 72 72 61 79 quiredCount;.private.$hasAnArray
1324c0 41 72 67 75 6d 65 6e 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 68 61 73 4f 70 Argument.=.false;.private.$hasOp
1324e0 74 69 6f 6e 61 6c 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 3b 0a 70 72 69 76 61 74 tional;.private.$options;.privat
132500 65 20 24 73 68 6f 72 74 63 75 74 73 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f e.$shortcuts;.....public.functio
132520 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 n.__construct(array.$definition.
132540 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 44 65 66 69 6e 69 74 69 6f =.array()).{.$this->setDefinitio
132560 6e 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e n($definition);.}.....public.fun
132580 63 74 69 6f 6e 20 73 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 61 72 72 61 79 20 24 64 65 66 69 6e ction.setDefinition(array.$defin
1325a0 69 74 69 6f 6e 29 0a 7b 0a 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 ition).{.$arguments.=.array();.$
1325c0 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 options.=.array();.foreach.($def
1325e0 69 6e 69 74 69 6f 6e 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 69 66 20 28 24 69 74 65 6d 20 69 6e inition.as.$item).{.if.($item.in
132600 73 74 61 6e 63 65 6f 66 20 49 6e 70 75 74 4f 70 74 69 6f 6e 29 20 7b 0a 24 6f 70 74 69 6f 6e 73 stanceof.InputOption).{.$options
132620 5b 5d 20 3d 20 24 69 74 65 6d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 61 72 67 75 6d 65 6e 74 73 5b [].=.$item;.}.else.{.$arguments[
132640 5d 20 3d 20 24 69 74 65 6d 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 41 72 67 75 6d 65 ].=.$item;.}.}..$this->setArgume
132660 6e 74 73 28 24 61 72 67 75 6d 65 6e 74 73 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 4f 70 74 69 6f nts($arguments);.$this->setOptio
132680 6e 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ns($options);.}.......public.fun
1326a0 63 74 69 6f 6e 20 73 65 74 41 72 67 75 6d 65 6e 74 73 28 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 ction.setArguments($arguments.=.
1326c0 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 array()).{.$this->arguments.=.ar
1326e0 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 64 43 6f 75 6e 74 20 3d 20 30 3b ray();.$this->requiredCount.=.0;
132700 0a 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 61 6c 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 .$this->hasOptional.=.false;.$th
132720 69 73 2d 3e 68 61 73 41 6e 41 72 72 61 79 41 72 67 75 6d 65 6e 74 20 3d 20 66 61 6c 73 65 3b 0a is->hasAnArrayArgument.=.false;.
132740 24 74 68 69 73 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 73 28 24 61 72 67 75 6d 65 6e 74 73 29 3b $this->addArguments($arguments);
132760 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 72 67 75 .}.......public.function.addArgu
132780 6d 65 6e 74 73 28 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 ments($arguments.=.array()).{.if
1327a0 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 72 67 75 6d 65 6e 74 73 29 20 7b 0a 66 6f 72 65 61 63 68 .(null.!==.$arguments).{.foreach
1327c0 20 28 24 61 72 67 75 6d 65 6e 74 73 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b 0a 24 74 68 .($arguments.as.$argument).{.$th
1327e0 69 73 2d 3e 61 64 64 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 3b 0a 7d 0a 7d 0a is->addArgument($argument);.}.}.
132800 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 72 67 75 6d 65 6e }.....public.function.addArgumen
132820 74 28 49 6e 70 75 74 41 72 67 75 6d 65 6e 74 20 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 69 66 20 t(InputArgument.$argument).{.if.
132840 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 5b 24 61 72 67 75 6d 65 6e (isset($this->arguments[$argumen
132860 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 t->getName()])).{.throw.new.Logi
132880 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 6e 20 61 72 67 75 6d 65 6e 74 20 cException(sprintf('An.argument.
1328a0 77 69 74 68 20 6e 61 6d 65 20 22 25 73 22 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2e 27 2c with.name."%s".already.exists.',
1328c0 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 .$argument->getName()));.}..if.(
1328e0 24 74 68 69 73 2d 3e 68 61 73 41 6e 41 72 72 61 79 41 72 67 75 6d 65 6e 74 29 20 7b 0a 74 68 72 $this->hasAnArrayArgument).{.thr
132900 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 6e 6f 74 20 61 64 ow.new.LogicException('Cannot.ad
132920 64 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 61 66 74 65 72 20 61 6e 20 61 72 72 61 79 20 61 72 67 d.an.argument.after.an.array.arg
132940 75 6d 65 6e 74 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 ument.');.}..if.($argument->isRe
132960 71 75 69 72 65 64 28 29 20 26 26 20 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 61 6c 29 20 quired().&&.$this->hasOptional).
132980 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 6e {.throw.new.LogicException('Cann
1329a0 6f 74 20 61 64 64 20 61 20 72 65 71 75 69 72 65 64 20 61 72 67 75 6d 65 6e 74 20 61 66 74 65 72 ot.add.a.required.argument.after
1329c0 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 6f 6e 65 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 61 72 67 .an.optional.one.');.}..if.($arg
1329e0 75 6d 65 6e 74 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 68 61 73 41 6e ument->isArray()).{.$this->hasAn
132a00 41 72 72 61 79 41 72 67 75 6d 65 6e 74 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 61 72 ArrayArgument.=.true;.}..if.($ar
132a20 67 75 6d 65 6e 74 2d 3e 69 73 52 65 71 75 69 72 65 64 28 29 29 20 7b 0a 2b 2b 24 74 68 69 73 2d gument->isRequired()).{.++$this-
132a40 3e 72 65 71 75 69 72 65 64 43 6f 75 6e 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e >requiredCount;.}.else.{.$this->
132a60 68 61 73 4f 70 74 69 6f 6e 61 6c 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 72 hasOptional.=.true;.}..$this->ar
132a80 67 75 6d 65 6e 74 73 5b 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d 20 guments[$argument->getName()].=.
132aa0 24 61 72 67 75 6d 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 $argument;.}...........public.fu
132ac0 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 nction.getArgument($name).{.if.(
132ae0 21 24 74 68 69 73 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 !$this->hasArgument($name)).{.th
132b00 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e row.new.InvalidArgumentException
132b20 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 61 72 67 75 6d 65 6e 74 20 64 6f 65 73 (sprintf('The."%s".argument.does
132b40 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 61 72 67 75 6d .not.exist.',.$name));.}..$argum
132b60 65 6e 74 73 20 3d 20 5c 69 73 5f 69 6e 74 28 24 6e 61 6d 65 29 20 3f 20 61 72 72 61 79 5f 76 61 ents.=.\is_int($name).?.array_va
132b80 6c 75 65 73 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 20 3a 20 24 74 68 69 73 2d 3e lues($this->arguments).:.$this->
132ba0 61 72 67 75 6d 65 6e 74 73 3b 0a 0a 72 65 74 75 72 6e 20 24 61 72 67 75 6d 65 6e 74 73 5b 24 6e arguments;..return.$arguments[$n
132bc0 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ame];.}.........public.function.
132be0 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 0a 7b 0a 24 61 72 67 75 6d 65 6e 74 73 20 hasArgument($name).{.$arguments.
132c00 3d 20 5c 69 73 5f 69 6e 74 28 24 6e 61 6d 65 29 20 3f 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 =.\is_int($name).?.array_values(
132c20 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 20 3a 20 24 74 68 69 73 2d 3e 61 72 67 75 6d $this->arguments).:.$this->argum
132c40 65 6e 74 73 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 61 72 67 75 6d 65 6e 74 73 5b 24 ents;..return.isset($arguments[$
132c60 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 name]);.}.......public.function.
132c80 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 getArguments().{.return.$this->a
132ca0 72 67 75 6d 65 6e 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f rguments;.}.......public.functio
132cc0 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 43 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 n.getArgumentCount().{.return.$t
132ce0 68 69 73 2d 3e 68 61 73 41 6e 41 72 72 61 79 41 72 67 75 6d 65 6e 74 20 3f 20 50 48 50 5f 49 4e his->hasAnArrayArgument.?.PHP_IN
132d00 54 5f 4d 41 58 20 3a 20 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 T_MAX.:.\count($this->arguments)
132d20 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 ;.}.......public.function.getArg
132d40 75 6d 65 6e 74 52 65 71 75 69 72 65 64 43 6f 75 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 umentRequiredCount().{.return.$t
132d60 68 69 73 2d 3e 72 65 71 75 69 72 65 64 43 6f 75 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c his->requiredCount;.}.......publ
132d80 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 44 65 66 61 75 6c 74 73 28 ic.function.getArgumentDefaults(
132da0 29 0a 7b 0a 24 76 61 6c 75 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 ).{.$values.=.array();.foreach.(
132dc0 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 20 7b $this->arguments.as.$argument).{
132de0 0a 24 76 61 6c 75 65 73 5b 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 3d .$values[$argument->getName()].=
132e00 20 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 0a 72 65 74 .$argument->getDefault();.}..ret
132e20 75 72 6e 20 24 76 61 6c 75 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 urn.$values;.}.......public.func
132e40 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 tion.setOptions($options.=.array
132e60 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ()).{.$this->options.=.array();.
132e80 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 $this->shortcuts.=.array();.$thi
132ea0 73 2d 3e 61 64 64 4f 70 74 69 6f 6e 73 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a s->addOptions($options);.}......
132ec0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4f 70 74 69 6f 6e 73 28 24 6f 70 74 .public.function.addOptions($opt
132ee0 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 6f 70 74 69 ions.=.array()).{.foreach.($opti
132f00 6f 6e 73 20 61 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 4f 70 74 69 ons.as.$option).{.$this->addOpti
132f20 6f 6e 28 24 6f 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 on($option);.}.}.....public.func
132f40 74 69 6f 6e 20 61 64 64 4f 70 74 69 6f 6e 28 49 6e 70 75 74 4f 70 74 69 6f 6e 20 24 6f 70 74 69 tion.addOption(InputOption.$opti
132f60 6f 6e 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 on).{.if.(isset($this->options[$
132f80 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 29 20 26 26 20 21 24 6f 70 74 69 6f 6e 2d option->getName()]).&&.!$option-
132fa0 3e 65 71 75 61 6c 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 2d 3e >equals($this->options[$option->
132fc0 67 65 74 4e 61 6d 65 28 29 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 getName()])).{.throw.new.LogicEx
132fe0 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 6e 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 64 ception(sprintf('An.option.named
133000 20 22 25 73 22 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2e 27 2c 20 24 6f 70 74 69 6f 6e 2d ."%s".already.exists.',.$option-
133020 3e 67 65 74 4e 61 6d 65 28 29 29 29 3b 0a 7d 0a 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 >getName()));.}..if.($option->ge
133040 74 53 68 6f 72 74 63 75 74 28 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 65 28 tShortcut()).{.foreach.(explode(
133060 27 7c 27 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 61 73 20 '|',.$option->getShortcut()).as.
133080 24 73 68 6f 72 74 63 75 74 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 68 $shortcut).{.if.(isset($this->sh
1330a0 6f 72 74 63 75 74 73 5b 24 73 68 6f 72 74 63 75 74 5d 29 20 26 26 20 21 24 6f 70 74 69 6f 6e 2d ortcuts[$shortcut]).&&.!$option-
1330c0 3e 65 71 75 61 6c 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 74 68 69 73 2d 3e 73 68 >equals($this->options[$this->sh
1330e0 6f 72 74 63 75 74 73 5b 24 73 68 6f 72 74 63 75 74 5d 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 ortcuts[$shortcut]])).{.throw.ne
133100 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 6e 20 6f 70 74 w.LogicException(sprintf('An.opt
133120 69 6f 6e 20 77 69 74 68 20 73 68 6f 72 74 63 75 74 20 22 25 73 22 20 61 6c 72 65 61 64 79 20 65 ion.with.shortcut."%s".already.e
133140 78 69 73 74 73 2e 27 2c 20 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 xists.',.$shortcut));.}.}.}..$th
133160 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 5d 20 is->options[$option->getName()].
133180 3d 20 24 6f 70 74 69 6f 6e 3b 0a 69 66 20 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 =.$option;.if.($option->getShort
1331a0 63 75 74 28 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 65 28 27 7c 27 2c 20 24 cut()).{.foreach.(explode('|',.$
1331c0 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 61 73 20 24 73 68 6f 72 74 option->getShortcut()).as.$short
1331e0 63 75 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 73 68 6f 72 74 63 75 cut).{.$this->shortcuts[$shortcu
133200 74 5d 20 3d 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 0a 7d 0a 7d 0a 0a t].=.$option->getName();.}.}.}..
133220 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 .........public.function.getOpti
133240 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f on($name).{.if.(!$this->hasOptio
133260 6e 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 n($name)).{.throw.new.InvalidArg
133280 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 2d 2d 25 umentException(sprintf('The."--%
1332a0 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 6d s".option.does.not.exist.',.$nam
1332c0 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e e));.}..return.$this->options[$n
1332e0 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ame];.}............public.functi
133300 6f 6e 20 68 61 73 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 on.hasOption($name).{.return.iss
133320 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a et($this->options[$name]);.}....
133340 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 73 28 29 0a ...public.function.getOptions().
133360 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a {.return.$this->options;.}......
133380 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 68 6f 72 74 63 75 74 28 24 ...public.function.hasShortcut($
1333a0 6e 61 6d 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 68 6f 72 name).{.return.isset($this->shor
1333c0 74 63 75 74 73 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 tcuts[$name]);.}.........public.
1333e0 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 46 6f 72 53 68 6f 72 74 63 75 74 28 24 73 function.getOptionForShortcut($s
133400 68 6f 72 74 63 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 4f 70 74 69 hortcut).{.return.$this->getOpti
133420 6f 6e 28 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 54 6f 4e 61 6d 65 28 24 73 68 6f 72 74 63 on($this->shortcutToName($shortc
133440 75 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ut));.}.......public.function.ge
133460 74 4f 70 74 69 6f 6e 44 65 66 61 75 6c 74 73 28 29 0a 7b 0a 24 76 61 6c 75 65 73 20 3d 20 61 72 tOptionDefaults().{.$values.=.ar
133480 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 61 ray();.foreach.($this->options.a
1334a0 73 20 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 76 61 6c 75 65 73 5b 24 6f 70 74 69 6f 6e 2d 3e 67 65 s.$option).{.$values[$option->ge
1334c0 74 4e 61 6d 65 28 29 5d 20 3d 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 tName()].=.$option->getDefault()
1334e0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ;.}..return.$values;.}..........
133500 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 72 74 63 75 74 54 6f 4e 61 6d 65 .private.function.shortcutToName
133520 28 24 73 68 6f 72 74 63 75 74 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e ($shortcut).{.if.(!isset($this->
133540 73 68 6f 72 74 63 75 74 73 5b 24 73 68 6f 72 74 63 75 74 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e shortcuts[$shortcut])).{.throw.n
133560 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 ew.InvalidArgumentException(spri
133580 6e 74 66 28 27 54 68 65 20 22 2d 25 73 22 20 6f 70 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 65 ntf('The."-%s".option.does.not.e
1335a0 78 69 73 74 2e 27 2c 20 24 73 68 6f 72 74 63 75 74 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 xist.',.$shortcut));.}..return.$
1335c0 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 73 5b 24 73 68 6f 72 74 63 75 74 5d 3b 0a 7d 0a 0a 0a this->shortcuts[$shortcut];.}...
1335e0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 79 6e 6f 70 73 69 ......public.function.getSynopsi
133600 73 28 24 73 68 6f 72 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 65 6c 65 6d 65 6e 74 73 20 3d 20 s($short.=.false).{.$elements.=.
133620 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 24 73 68 6f 72 74 20 26 26 20 24 74 68 69 73 2d 3e 67 array();..if.($short.&&.$this->g
133640 65 74 4f 70 74 69 6f 6e 73 28 29 29 20 7b 0a 24 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 27 5b 6f etOptions()).{.$elements[].=.'[o
133660 70 74 69 6f 6e 73 5d 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 73 68 6f 72 74 29 20 7b 0a 66 ptions]';.}.elseif.(!$short).{.f
133680 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 61 73 20 24 oreach.($this->getOptions().as.$
1336a0 6f 70 74 69 6f 6e 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 27 27 3b 0a 69 66 20 28 24 6f 70 74 69 option).{.$value.=.'';.if.($opti
1336c0 6f 6e 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 73 70 on->acceptValue()).{.$value.=.sp
1336e0 72 69 6e 74 66 28 0a 27 20 25 73 25 73 25 73 27 2c 0a 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c rintf(.'.%s%s%s',.$option->isVal
133700 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3f 20 27 5b 27 20 3a 20 27 27 2c 0a 73 74 72 74 6f 75 70 ueOptional().?.'['.:.'',.strtoup
133720 70 65 72 28 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 29 2c 0a 24 6f 70 74 69 6f 6e per($option->getName()),.$option
133740 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3f 20 27 5d 27 20 3a 20 27 27 0a 29 ->isValueOptional().?.']'.:.''.)
133760 3b 0a 7d 0a 0a 24 73 68 6f 72 74 63 75 74 20 3d 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 53 68 6f ;.}..$shortcut.=.$option->getSho
133780 72 74 63 75 74 28 29 20 3f 20 73 70 72 69 6e 74 66 28 27 2d 25 73 7c 27 2c 20 24 6f 70 74 69 6f rtcut().?.sprintf('-%s|',.$optio
1337a0 6e 2d 3e 67 65 74 53 68 6f 72 74 63 75 74 28 29 29 20 3a 20 27 27 3b 0a 24 65 6c 65 6d 65 6e 74 n->getShortcut()).:.'';.$element
1337c0 73 5b 5d 20 3d 20 73 70 72 69 6e 74 66 28 27 5b 25 73 2d 2d 25 73 25 73 5d 27 2c 20 24 73 68 6f s[].=.sprintf('[%s--%s%s]',.$sho
1337e0 72 74 63 75 74 2c 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2c 20 24 76 61 6c 75 rtcut,.$option->getName(),.$valu
133800 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 65 6c 65 6d 65 6e 74 73 29 20 26 e);.}.}..if.(\count($elements).&
133820 26 20 24 74 68 69 73 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 29 20 7b 0a 24 65 6c 65 6d &.$this->getArguments()).{.$elem
133840 65 6e 74 73 5b 5d 20 3d 20 27 5b 2d 2d 5d 27 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 ents[].=.'[--]';.}..foreach.($th
133860 69 73 2d 3e 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 20 61 73 20 24 61 72 67 75 6d 65 6e 74 29 is->getArguments().as.$argument)
133880 20 7b 0a 24 65 6c 65 6d 65 6e 74 20 3d 20 27 3c 27 2e 24 61 72 67 75 6d 65 6e 74 2d 3e 67 65 74 .{.$element.=.'<'.$argument->get
1338a0 4e 61 6d 65 28 29 2e 27 3e 27 3b 0a 69 66 20 28 21 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 52 65 Name().'>';.if.(!$argument->isRe
1338c0 71 75 69 72 65 64 28 29 29 20 7b 0a 24 65 6c 65 6d 65 6e 74 20 3d 20 27 5b 27 2e 24 65 6c 65 6d quired()).{.$element.=.'['.$elem
1338e0 65 6e 74 2e 27 5d 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 ent.']';.}.elseif.($argument->is
133900 41 72 72 61 79 28 29 29 20 7b 0a 24 65 6c 65 6d 65 6e 74 20 2e 3d 20 27 20 28 27 2e 24 65 6c 65 Array()).{.$element..=.'.('.$ele
133920 6d 65 6e 74 2e 27 29 27 3b 0a 7d 0a 0a 69 66 20 28 24 61 72 67 75 6d 65 6e 74 2d 3e 69 73 41 72 ment.')';.}..if.($argument->isAr
133940 72 61 79 28 29 29 20 7b 0a 24 65 6c 65 6d 65 6e 74 20 2e 3d 20 27 2e 2e 2e 27 3b 0a 7d 0a 0a 24 ray()).{.$element..=.'...';.}..$
133960 65 6c 65 6d 65 6e 74 73 5b 5d 20 3d 20 24 65 6c 65 6d 65 6e 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e elements[].=.$element;.}..return
133980 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 65 6c 65 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a .implode('.',.$elements);.}.....
1339a0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 54 65 78 74 28 29 0a 7b 0a 40 ....public.function.asText().{.@
1339c0 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e trigger_error('The.'.__METHOD__.
1339e0 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d '.method.is.deprecated.since.Sym
133a00 66 6f 6e 79 20 32 2e 33 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 fony.2.3.and.will.be.removed.in.
133a20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 3.0.',.E_USER_DEPRECATED);..$des
133a40 63 72 69 70 74 6f 72 20 3d 20 6e 65 77 20 54 65 78 74 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a criptor.=.new.TextDescriptor();.
133a60 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 42 75 66 $output.=.new.BufferedOutput(Buf
133a80 66 65 72 65 64 4f 75 74 70 75 74 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 74 feredOutput::VERBOSITY_NORMAL,.t
133aa0 72 75 65 29 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 rue);.$descriptor->describe($out
133ac0 70 75 74 2c 20 24 74 68 69 73 2c 20 61 72 72 61 79 28 27 72 61 77 5f 6f 75 74 70 75 74 27 20 3d put,.$this,.array('raw_output'.=
133ae0 3e 20 74 72 75 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 2d 3e 66 65 74 63 68 >.true));..return.$output->fetch
133b00 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ();.}...........public.function.
133b20 61 73 58 6d 6c 28 24 61 73 44 6f 6d 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 40 74 72 69 67 67 65 72 asXml($asDom.=.false).{.@trigger
133b40 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f _error('The.'.__METHOD__.'.metho
133b60 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e d.is.deprecated.since.Symfony.2.
133b80 33 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 3.and.will.be.removed.in.3.0.',.
133ba0 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 64 65 73 63 72 69 70 74 6f 72 E_USER_DEPRECATED);..$descriptor
133bc0 20 3d 20 6e 65 77 20 58 6d 6c 44 65 73 63 72 69 70 74 6f 72 28 29 3b 0a 0a 69 66 20 28 24 61 73 .=.new.XmlDescriptor();..if.($as
133be0 44 6f 6d 29 20 7b 0a 72 65 74 75 72 6e 20 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 67 65 74 49 6e Dom).{.return.$descriptor->getIn
133c00 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 44 6f 63 75 6d 65 6e 74 28 24 74 68 69 73 29 3b 0a 7d 0a putDefinitionDocument($this);.}.
133c20 0a 24 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 42 75 66 66 65 72 65 64 4f 75 74 70 75 74 28 29 3b .$output.=.new.BufferedOutput();
133c40 0a 24 64 65 73 63 72 69 70 74 6f 72 2d 3e 64 65 73 63 72 69 62 65 28 24 6f 75 74 70 75 74 2c 20 .$descriptor->describe($output,.
133c60 24 74 68 69 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 75 74 70 75 74 2d 3e 66 65 74 63 68 28 29 $this);..return.$output->fetch()
133c80 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ;.}.}.<?php...........namespace.
133ca0 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b Symfony\Component\Console\Input;
133cc0 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c ..use.Symfony\Component\Console\
133ce0 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 Exception\InvalidArgumentExcepti
133d00 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c on;.use.Symfony\Component\Consol
133d20 65 5c 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a e\Exception\RuntimeException;...
133d40 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a ....interface.InputInterface.{..
133d60 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 72 73 74 41 72 67 75 ....public.function.getFirstArgu
133d80 6d 65 6e 74 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ment();..............public.func
133da0 74 69 6f 6e 20 68 61 73 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 24 76 61 6c 75 65 73 29 tion.hasParameterOption($values)
133dc0 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ;...............public.function.
133de0 67 65 74 50 61 72 61 6d 65 74 65 72 4f 70 74 69 6f 6e 28 24 76 61 6c 75 65 73 2c 20 24 64 65 66 getParameterOption($values,.$def
133e00 61 75 6c 74 20 3d 20 66 61 6c 73 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ault.=.false);.......public.func
133e20 74 69 6f 6e 20 62 69 6e 64 28 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e tion.bind(InputDefinition.$defin
133e40 69 74 69 6f 6e 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 ition);.......public.function.va
133e60 6c 69 64 61 74 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 lidate();.......public.function.
133e80 67 65 74 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 getArguments();...........public
133ea0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 3b 0a 0a 0a .function.getArgument($name);...
133ec0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 72 67 75 6d 65 .......public.function.setArgume
133ee0 6e 74 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 nt($name,.$value);.........publi
133f00 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 41 72 67 75 6d 65 6e 74 28 24 6e 61 6d 65 29 3b 0a 0a c.function.hasArgument($name);..
133f20 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e 73 28 .....public.function.getOptions(
133f40 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 );...........public.function.get
133f60 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 Option($name);..........public.f
133f80 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 unction.setOption($name,.$value)
133fa0 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 4f 70 74 ;.........public.function.hasOpt
133fc0 69 6f 6e 28 24 6e 61 6d 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ion($name);.......public.functio
133fe0 6e 20 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 n.isInteractive();.......public.
134000 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 24 69 6e 74 65 72 61 63 function.setInteractive($interac
134020 74 69 76 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 tive);.}.<?php...........namespa
134040 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 ce.Symfony\Component\Console\Inp
134060 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ut;..use.Symfony\Component\Conso
134080 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 le\Exception\InvalidArgumentExce
1340a0 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e ption;.use.Symfony\Component\Con
1340c0 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a sole\Exception\LogicException;..
1340e0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 70 75 74 4f 70 74 69 6f 6e 0a 7b 0a 63 6f 6e 73 74 20 56 .....class.InputOption.{.const.V
134100 41 4c 55 45 5f 4e 4f 4e 45 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 56 41 4c 55 45 5f 52 45 51 55 49 ALUE_NONE.=.1;.const.VALUE_REQUI
134120 52 45 44 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 56 41 4c 55 45 5f 4f 50 54 49 4f 4e 41 4c 20 3d 20 RED.=.2;.const.VALUE_OPTIONAL.=.
134140 34 3b 0a 63 6f 6e 73 74 20 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 20 3d 20 38 3b 0a 0a 70 72 4;.const.VALUE_IS_ARRAY.=.8;..pr
134160 69 76 61 74 65 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 73 68 6f 72 74 63 75 74 3b 0a ivate.$name;.private.$shortcut;.
134180 70 72 69 76 61 74 65 20 24 6d 6f 64 65 3b 0a 70 72 69 76 61 74 65 20 24 64 65 66 61 75 6c 74 3b private.$mode;.private.$default;
1341a0 0a 70 72 69 76 61 74 65 20 24 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .private.$description;..........
1341c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 .public.function.__construct($na
1341e0 6d 65 2c 20 24 73 68 6f 72 74 63 75 74 20 3d 20 6e 75 6c 6c 2c 20 24 6d 6f 64 65 20 3d 20 6e 75 me,.$shortcut.=.null,.$mode.=.nu
134200 6c 6c 2c 20 24 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 27 27 2c 20 24 64 65 66 61 75 6c 74 20 ll,.$description.=.'',.$default.
134220 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 =.null).{.if.(0.===.strpos($name
134240 2c 20 27 2d 2d 27 29 29 20 7b 0a 24 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 6e 61 6d 65 2c ,.'--')).{.$name.=.substr($name,
134260 20 32 29 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 6e 61 6d 65 29 29 20 7b 0a 74 68 72 6f .2);.}..if.(empty($name)).{.thro
134280 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 w.new.InvalidArgumentException('
1342a0 41 6e 20 6f 70 74 69 6f 6e 20 6e 61 6d 65 20 63 61 6e 6e 6f 74 20 62 65 20 65 6d 70 74 79 2e 27 An.option.name.cannot.be.empty.'
1342c0 29 3b 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 24 73 68 6f 72 74 63 75 74 29 29 20 7b 0a 24 73 );.}..if.(empty($shortcut)).{.$s
1342e0 68 6f 72 74 63 75 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 hortcut.=.null;.}..if.(null.!==.
134300 24 73 68 6f 72 74 63 75 74 29 20 7b 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 73 68 6f 72 $shortcut).{.if.(\is_array($shor
134320 74 63 75 74 29 29 20 7b 0a 24 73 68 6f 72 74 63 75 74 20 3d 20 69 6d 70 6c 6f 64 65 28 27 7c 27 tcut)).{.$shortcut.=.implode('|'
134340 2c 20 24 73 68 6f 72 74 63 75 74 29 3b 0a 7d 0a 24 73 68 6f 72 74 63 75 74 73 20 3d 20 70 72 65 ,.$shortcut);.}.$shortcuts.=.pre
134360 67 5f 73 70 6c 69 74 28 27 7b 28 5c 7c 29 2d 3f 7d 27 2c 20 6c 74 72 69 6d 28 24 73 68 6f 72 74 g_split('{(\|)-?}',.ltrim($short
134380 63 75 74 2c 20 27 2d 27 29 29 3b 0a 24 73 68 6f 72 74 63 75 74 73 20 3d 20 61 72 72 61 79 5f 66 cut,.'-'));.$shortcuts.=.array_f
1343a0 69 6c 74 65 72 28 24 73 68 6f 72 74 63 75 74 73 29 3b 0a 24 73 68 6f 72 74 63 75 74 20 3d 20 69 ilter($shortcuts);.$shortcut.=.i
1343c0 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 73 68 6f 72 74 63 75 74 73 29 3b 0a 0a 69 66 20 28 65 6d mplode('|',.$shortcuts);..if.(em
1343e0 70 74 79 28 24 73 68 6f 72 74 63 75 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 pty($shortcut)).{.throw.new.Inva
134400 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 41 6e 20 6f 70 74 69 6f 6e 20 lidArgumentException('An.option.
134420 73 68 6f 72 74 63 75 74 20 63 61 6e 6e 6f 74 20 62 65 20 65 6d 70 74 79 2e 27 29 3b 0a 7d 0a 7d shortcut.cannot.be.empty.');.}.}
134440 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 24 6d 6f 64 65 20 3d 20 ..if.(null.===.$mode).{.$mode.=.
134460 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 5c 69 73 self::VALUE_NONE;.}.elseif.(!\is
134480 5f 69 6e 74 28 24 6d 6f 64 65 29 20 7c 7c 20 24 6d 6f 64 65 20 3e 20 31 35 20 7c 7c 20 24 6d 6f _int($mode).||.$mode.>.15.||.$mo
1344a0 64 65 20 3c 20 31 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d de.<.1).{.throw.new.InvalidArgum
1344c0 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4f 70 74 69 6f 6e 20 6d 6f 64 entException(sprintf('Option.mod
1344e0 65 20 22 25 73 22 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 2e 27 2c 20 24 6d 6f 64 65 29 29 3b 0a e."%s".is.not.valid.',.$mode));.
134500 7d 0a 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 20 3d 20 24 6e 61 6d 65 3b 0a 24 74 68 69 73 2d 3e 73 }..$this->name.=.$name;.$this->s
134520 68 6f 72 74 63 75 74 20 3d 20 24 73 68 6f 72 74 63 75 74 3b 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 hortcut.=.$shortcut;.$this->mode
134540 20 3d 20 24 6d 6f 64 65 3b 0a 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 24 .=.$mode;.$this->description.=.$
134560 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 41 72 72 61 79 description;..if.($this->isArray
134580 28 29 20 26 26 20 21 24 74 68 69 73 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 29 20 7b 0a 74 ().&&.!$this->acceptValue()).{.t
1345a0 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f hrow.new.InvalidArgumentExceptio
1345c0 6e 28 27 49 6d 70 6f 73 73 69 62 6c 65 20 74 6f 20 68 61 76 65 20 61 6e 20 6f 70 74 69 6f 6e 20 n('Impossible.to.have.an.option.
1345e0 6d 6f 64 65 20 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 20 69 66 20 74 68 65 20 6f 70 74 69 6f mode.VALUE_IS_ARRAY.if.the.optio
134600 6e 20 64 6f 65 73 20 6e 6f 74 20 61 63 63 65 70 74 20 61 20 76 61 6c 75 65 2e 27 29 3b 0a 7d 0a n.does.not.accept.a.value.');.}.
134620 0a 24 74 68 69 73 2d 3e 73 65 74 44 65 66 61 75 6c 74 28 24 64 65 66 61 75 6c 74 29 3b 0a 7d 0a .$this->setDefault($default);.}.
134640 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 68 6f 72 74 63 75 ......public.function.getShortcu
134660 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 68 6f 72 74 63 75 74 3b 0a 7d 0a t().{.return.$this->shortcut;.}.
134680 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a ......public.function.getName().
1346a0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 {.return.$this->name;.}.......pu
1346c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 56 61 6c 75 65 28 29 0a 7b 0a 72 65 blic.function.acceptValue().{.re
1346e0 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 20 7c 7c turn.$this->isValueRequired().||
134700 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 3b 0a 7d 0a 0a 0a 0a .$this->isValueOptional();.}....
134720 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 75 65 52 65 71 75 69 72 ...public.function.isValueRequir
134740 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 ed().{.return.self::VALUE_REQUIR
134760 45 44 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 52 45 51 55 49 52 45 44 20 26 20 24 ED.===.(self::VALUE_REQUIRED.&.$
134780 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 this->mode);.}.......public.func
1347a0 74 69 6f 6e 20 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 tion.isValueOptional().{.return.
1347c0 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4f 50 54 49 4f 4e 41 4c 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a self::VALUE_OPTIONAL.===.(self::
1347e0 56 41 4c 55 45 5f 4f 50 54 49 4f 4e 41 4c 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d VALUE_OPTIONAL.&.$this->mode);.}
134800 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 72 72 61 79 28 29 .......public.function.isArray()
134820 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 20 3d .{.return.self::VALUE_IS_ARRAY.=
134840 3d 3d 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 49 53 5f 41 52 52 41 59 20 26 20 24 74 68 69 73 ==.(self::VALUE_IS_ARRAY.&.$this
134860 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ->mode);.}.........public.functi
134880 6f 6e 20 73 65 74 44 65 66 61 75 6c 74 28 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b on.setDefault($default.=.null).{
1348a0 0a 69 66 20 28 73 65 6c 66 3a 3a 56 41 4c 55 45 5f 4e 4f 4e 45 20 3d 3d 3d 20 28 73 65 6c 66 3a .if.(self::VALUE_NONE.===.(self:
1348c0 3a 56 41 4c 55 45 5f 4e 4f 4e 45 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 26 26 20 6e 75 :VALUE_NONE.&.$this->mode).&&.nu
1348e0 6c 6c 20 21 3d 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 ll.!==.$default).{.throw.new.Log
134900 69 63 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 6e 6f 74 20 73 65 74 20 61 20 64 65 66 61 75 6c icException('Cannot.set.a.defaul
134920 74 20 76 61 6c 75 65 20 77 68 65 6e 20 75 73 69 6e 67 20 49 6e 70 75 74 4f 70 74 69 6f 6e 3a 3a t.value.when.using.InputOption::
134940 56 41 4c 55 45 5f 4e 4f 4e 45 20 6d 6f 64 65 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 VALUE_NONE.mode.');.}..if.($this
134960 2d 3e 69 73 41 72 72 61 79 28 29 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 66 ->isArray()).{.if.(null.===.$def
134980 61 75 6c 74 29 20 7b 0a 24 64 65 66 61 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c ault).{.$default.=.array();.}.el
1349a0 73 65 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 64 65 66 61 75 6c 74 29 29 20 7b 0a 74 68 seif.(!\is_array($default)).{.th
1349c0 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 41 20 64 65 66 61 75 6c row.new.LogicException('A.defaul
1349e0 74 20 76 61 6c 75 65 20 66 6f 72 20 61 6e 20 61 72 72 61 79 20 6f 70 74 69 6f 6e 20 6d 75 73 74 t.value.for.an.array.option.must
134a00 20 62 65 20 61 6e 20 61 72 72 61 79 2e 27 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 65 66 .be.an.array.');.}.}..$this->def
134a20 61 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 61 63 63 65 70 74 56 61 6c 75 65 28 29 20 3f 20 24 64 ault.=.$this->acceptValue().?.$d
134a40 65 66 61 75 6c 74 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 efault.:.false;.}.......public.f
134a60 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 unction.getDefault().{.return.$t
134a80 68 69 73 2d 3e 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e his->default;.}.......public.fun
134aa0 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 ction.getDescription().{.return.
134ac0 24 74 68 69 73 2d 3e 64 65 73 63 72 69 70 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c $this->description;.}.......publ
134ae0 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 71 75 61 6c 73 28 73 65 6c 66 20 24 6f 70 74 69 6f 6e 29 ic.function.equals(self.$option)
134b00 0a 7b 0a 72 65 74 75 72 6e 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 20 3d 3d 3d .{.return.$option->getName().===
134b20 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 .$this->getName().&&.$option->ge
134b40 74 53 68 6f 72 74 63 75 74 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 68 6f 72 74 63 tShortcut().===.$this->getShortc
134b60 75 74 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 20 3d 3d ut().&&.$option->getDefault().==
134b80 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 0a 26 26 20 24 6f 70 74 69 6f 6e =.$this->getDefault().&&.$option
134ba0 2d 3e 69 73 41 72 72 61 79 28 29 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 41 72 72 61 79 28 29 ->isArray().===.$this->isArray()
134bc0 0a 26 26 20 24 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 20 3d .&&.$option->isValueRequired().=
134be0 3d 3d 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 75 65 52 65 71 75 69 72 65 64 28 29 0a 26 26 20 24 ==.$this->isValueRequired().&&.$
134c00 6f 70 74 69 6f 6e 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 20 3d 3d 3d 20 24 74 option->isValueOptional().===.$t
134c20 68 69 73 2d 3e 69 73 56 61 6c 75 65 4f 70 74 69 6f 6e 61 6c 28 29 0a 3b 0a 7d 0a 7d 0a 3c 3f 70 his->isValueOptional().;.}.}.<?p
134c40 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
134c60 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d omponent\Console\Input;..use.Sym
134c80 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f 6e fony\Component\Console\Exception
134ca0 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a \InvalidArgumentException;......
134cc0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 74 72 69 6e 67 49 6e 70 75 74 20 65 78 74 65 6e 64 73 20 41 .....class.StringInput.extends.A
134ce0 72 67 76 49 6e 70 75 74 0a 7b 0a 63 6f 6e 73 74 20 52 45 47 45 58 5f 53 54 52 49 4e 47 20 3d 20 rgvInput.{.const.REGEX_STRING.=.
134d00 27 28 5b 5e 5c 73 5d 2b 3f 29 28 3f 3a 5c 73 7c 28 3f 3c 21 5c 5c 5c 5c 29 22 7c 28 3f 3c 21 5c '([^\s]+?)(?:\s|(?<!\\\\)"|(?<!\
134d20 5c 5c 5c 29 5c 27 7c 24 29 27 3b 0a 63 6f 6e 73 74 20 52 45 47 45 58 5f 51 55 4f 54 45 44 5f 53 \\\)\'|$)';.const.REGEX_QUOTED_S
134d40 54 52 49 4e 47 20 3d 20 27 28 3f 3a 22 28 5b 5e 22 5c 5c 5c 5c 5d 2a 28 3f 3a 5c 5c 5c 5c 2e 5b TRING.=.'(?:"([^"\\\\]*(?:\\\\.[
134d60 5e 22 5c 5c 5c 5c 5d 2a 29 2a 29 22 7c 5c 27 28 5b 5e 5c 27 5c 5c 5c 5c 5d 2a 28 3f 3a 5c 5c 5c ^"\\\\]*)*)"|\'([^\'\\\\]*(?:\\\
134d80 5c 2e 5b 5e 5c 27 5c 5c 5c 5c 5d 2a 29 2a 29 5c 27 29 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c \.[^\'\\\\]*)*)\')';........publ
134da0 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 70 75 74 2c 20 ic.function.__construct($input,.
134dc0 49 6e 70 75 74 44 65 66 69 6e 69 74 69 6f 6e 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 6e 75 InputDefinition.$definition.=.nu
134de0 6c 6c 29 0a 7b 0a 69 66 20 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 40 74 72 69 67 67 65 ll).{.if.($definition).{.@trigge
134e00 72 5f 65 72 72 6f 72 28 27 54 68 65 20 24 64 65 66 69 6e 69 74 69 6f 6e 20 61 72 67 75 6d 65 6e r_error('The.$definition.argumen
134e20 74 20 6f 66 20 74 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 t.of.the.'.__METHOD__.'.method.i
134e40 73 20 64 65 70 72 65 63 61 74 65 64 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 s.deprecated.and.will.be.removed
134e60 20 69 6e 20 33 2e 30 2e 20 53 65 74 20 74 68 69 73 20 70 61 72 61 6d 65 74 65 72 20 77 69 74 68 .in.3.0..Set.this.parameter.with
134e80 20 74 68 65 20 62 69 6e 64 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f .the.bind().method.instead.',.E_
134ea0 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 USER_DEPRECATED);.}..parent::__c
134ec0 6f 6e 73 74 72 75 63 74 28 61 72 72 61 79 28 29 2c 20 6e 75 6c 6c 29 3b 0a 0a 24 74 68 69 73 2d onstruct(array(),.null);..$this-
134ee0 3e 73 65 74 54 6f 6b 65 6e 73 28 24 74 68 69 73 2d 3e 74 6f 6b 65 6e 69 7a 65 28 24 69 6e 70 75 >setTokens($this->tokenize($inpu
134f00 74 29 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 66 69 6e 69 74 69 6f 6e 29 20 t));..if.(null.!==.$definition).
134f20 7b 0a 24 74 68 69 73 2d 3e 62 69 6e 64 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a {.$this->bind($definition);.}.}.
134f40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 6b 65 6e ..........private.function.token
134f60 69 7a 65 28 24 69 6e 70 75 74 29 0a 7b 0a 24 74 6f 6b 65 6e 73 20 3d 20 61 72 72 61 79 28 29 3b ize($input).{.$tokens.=.array();
134f80 0a 24 6c 65 6e 67 74 68 20 3d 20 5c 73 74 72 6c 65 6e 28 24 69 6e 70 75 74 29 3b 0a 24 63 75 72 .$length.=.\strlen($input);.$cur
134fa0 73 6f 72 20 3d 20 30 3b 0a 77 68 69 6c 65 20 28 24 63 75 72 73 6f 72 20 3c 20 24 6c 65 6e 67 74 sor.=.0;.while.($cursor.<.$lengt
134fc0 68 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5c 73 2b 2f 41 27 2c 20 24 69 h).{.if.(preg_match('/\s+/A',.$i
134fe0 6e 70 75 74 2c 20 24 6d 61 74 63 68 2c 20 6e 75 6c 6c 2c 20 24 63 75 72 73 6f 72 29 29 20 7b 0a nput,.$match,.null,.$cursor)).{.
135000 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 28 5b 5e 3d 22 5c 27 5c 73 }.elseif.(preg_match('/([^="\'\s
135020 5d 2b 3f 29 28 3d 3f 29 28 27 2e 73 65 6c 66 3a 3a 52 45 47 45 58 5f 51 55 4f 54 45 44 5f 53 54 ]+?)(=?)('.self::REGEX_QUOTED_ST
135040 52 49 4e 47 2e 27 2b 29 2f 41 27 2c 20 24 69 6e 70 75 74 2c 20 24 6d 61 74 63 68 2c 20 6e 75 6c RING.'+)/A',.$input,.$match,.nul
135060 6c 2c 20 24 63 75 72 73 6f 72 29 29 20 7b 0a 24 74 6f 6b 65 6e 73 5b 5d 20 3d 20 24 6d 61 74 63 l,.$cursor)).{.$tokens[].=.$matc
135080 68 5b 31 5d 2e 24 6d 61 74 63 68 5b 32 5d 2e 73 74 72 69 70 63 73 6c 61 73 68 65 73 28 73 74 72 h[1].$match[2].stripcslashes(str
1350a0 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 22 5c 27 27 2c 20 27 5c 27 22 27 2c 20 27 5c 27 _replace(array('"\'',.'\'"',.'\'
1350c0 5c 27 27 2c 20 27 22 22 27 29 2c 20 27 27 2c 20 73 75 62 73 74 72 28 24 6d 61 74 63 68 5b 33 5d \'',.'""'),.'',.substr($match[3]
1350e0 2c 20 31 2c 20 5c 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 33 5d 29 20 2d 20 32 29 29 29 3b 0a ,.1,.\strlen($match[3]).-.2)));.
135100 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 27 2e 73 65 6c 66 3a 3a 52 }.elseif.(preg_match('/'.self::R
135120 45 47 45 58 5f 51 55 4f 54 45 44 5f 53 54 52 49 4e 47 2e 27 2f 41 27 2c 20 24 69 6e 70 75 74 2c EGEX_QUOTED_STRING.'/A',.$input,
135140 20 24 6d 61 74 63 68 2c 20 6e 75 6c 6c 2c 20 24 63 75 72 73 6f 72 29 29 20 7b 0a 24 74 6f 6b 65 .$match,.null,.$cursor)).{.$toke
135160 6e 73 5b 5d 20 3d 20 73 74 72 69 70 63 73 6c 61 73 68 65 73 28 73 75 62 73 74 72 28 24 6d 61 74 ns[].=.stripcslashes(substr($mat
135180 63 68 5b 30 5d 2c 20 31 2c 20 5c 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 5d 29 20 2d 20 32 ch[0],.1,.\strlen($match[0]).-.2
1351a0 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 27 2e 73 65 6c ));.}.elseif.(preg_match('/'.sel
1351c0 66 3a 3a 52 45 47 45 58 5f 53 54 52 49 4e 47 2e 27 2f 41 27 2c 20 24 69 6e 70 75 74 2c 20 24 6d f::REGEX_STRING.'/A',.$input,.$m
1351e0 61 74 63 68 2c 20 6e 75 6c 6c 2c 20 24 63 75 72 73 6f 72 29 29 20 7b 0a 24 74 6f 6b 65 6e 73 5b atch,.null,.$cursor)).{.$tokens[
135200 5d 20 3d 20 73 74 72 69 70 63 73 6c 61 73 68 65 73 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 7d 20 ].=.stripcslashes($match[1]);.}.
135220 65 6c 73 65 20 7b 0a 0a 20 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 else.{...throw.new.InvalidArgume
135240 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 61 62 6c 65 20 74 6f 20 70 ntException(sprintf('Unable.to.p
135260 61 72 73 65 20 69 6e 70 75 74 20 6e 65 61 72 20 22 2e 2e 2e 20 25 73 20 2e 2e 2e 22 27 2c 20 73 arse.input.near."....%s...."',.s
135280 75 62 73 74 72 28 24 69 6e 70 75 74 2c 20 24 63 75 72 73 6f 72 2c 20 31 30 29 29 29 3b 0a 7d 0a ubstr($input,.$cursor,.10)));.}.
1352a0 0a 24 63 75 72 73 6f 72 20 2b 3d 20 5c 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 5d 29 3b 0a .$cursor.+=.\strlen($match[0]);.
1352c0 7d 0a 0a 72 65 74 75 72 6e 20 24 74 6f 6b 65 6e 73 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 }..return.$tokens;.}.}.Copyright
1352e0 20 28 63 29 20 32 30 30 34 2d 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 0a .(c).2004-2018.Fabien.Potencier.
135300 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 .Permission.is.hereby.granted,.f
135320 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 ree.of.charge,.to.any.person.obt
135340 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 aining.a.copy.of.this.software.a
135360 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 nd.associated.documentation.file
135380 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 s.(the."Software"),.to.deal.in.t
1353a0 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c he.Software.without.restriction,
1353c0 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 .including.without.limitation.th
1353e0 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d e.rights.to.use,.copy,.modify,.m
135400 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 erge,.publish,.distribute,.subli
135420 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 cense,.and/or.sell.copies.of.the
135440 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 .Software,.and.to.permit.persons
135460 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 .to.whom.the.Software.is.furnish
135480 65 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c ed.to.do.so,.subject.to.the.foll
1354a0 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 owing.conditions:..The.above.cop
1354c0 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f yright.notice.and.this.permissio
1354e0 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c n.notice.shall.be.included.in.al
135500 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 l.copies.or.substantial.portions
135520 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 .of.the.Software...THE.SOFTWARE.
135540 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 IS.PROVIDED."AS.IS",.WITHOUT.WAR
135560 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d RANTY.OF.ANY.KIND,.EXPRESS.OR.IM
135580 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 PLIED,.INCLUDING.BUT.NOT.LIMITED
1355a0 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 .TO.THE.WARRANTIES.OF.MERCHANTAB
1355c0 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 ILITY,.FITNESS.FOR.A.PARTICULAR.
1355e0 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 PURPOSE.AND.NONINFRINGEMENT..IN.
135600 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f NO.EVENT.SHALL.THE.AUTHORS.OR.CO
135620 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e PYRIGHT.HOLDERS.BE.LIABLE.FOR.AN
135640 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c Y.CLAIM,.DAMAGES.OR.OTHER.LIABIL
135660 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e ITY,.WHETHER.IN.AN.ACTION.OF.CON
135680 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e TRACT,.TORT.OR.OTHERWISE,.ARISIN
1356a0 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 G.FROM,.OUT.OF.OR.IN.CONNECTION.
1356c0 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 WITH.THE.SOFTWARE.OR.THE.USE.OR.
1356e0 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a OTHER.DEALINGS.IN.THE.SOFTWARE..
135700 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
135720 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4c 6f 67 67 65 72 3b 0a 0a 75 73 65 y\Component\Console\Logger;..use
135740 20 50 73 72 5c 4c 6f 67 5c 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 3b 0a 75 73 65 20 50 73 72 .Psr\Log\AbstractLogger;.use.Psr
135760 5c 4c 6f 67 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 \Log\InvalidArgumentException;.u
135780 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 se.Psr\Log\LogLevel;.use.Symfony
1357a0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c \Component\Console\Output\Consol
1357c0 65 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f eOutputInterface;.use.Symfony\Co
1357e0 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 mponent\Console\Output\OutputInt
135800 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 6f 6c 65 4c 6f 67 erface;.........class.ConsoleLog
135820 67 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 0a 7b 0a 63 6f 6e ger.extends.AbstractLogger.{.con
135840 73 74 20 49 4e 46 4f 20 3d 20 27 69 6e 66 6f 27 3b 0a 63 6f 6e 73 74 20 45 52 52 4f 52 20 3d 20 st.INFO.=.'info';.const.ERROR.=.
135860 27 65 72 72 6f 72 27 3b 0a 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 70 72 69 76 61 'error';..private.$output;.priva
135880 74 65 20 24 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 20 3d 20 61 72 72 61 79 28 0a 4c te.$verbosityLevelMap.=.array(.L
1358a0 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 ogLevel::EMERGENCY.=>.OutputInte
1358c0 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 4c 6f 67 4c 65 76 65 rface::VERBOSITY_NORMAL,.LogLeve
1358e0 6c 3a 3a 41 4c 45 52 54 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 l::ALERT.=>.OutputInterface::VER
135900 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 BOSITY_NORMAL,.LogLevel::CRITICA
135920 4c 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f L.=>.OutputInterface::VERBOSITY_
135940 4e 4f 52 4d 41 4c 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 20 3d 3e 20 4f 75 74 70 75 NORMAL,.LogLevel::ERROR.=>.Outpu
135960 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 4c 6f tInterface::VERBOSITY_NORMAL,.Lo
135980 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 gLevel::WARNING.=>.OutputInterfa
1359a0 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a ce::VERBOSITY_NORMAL,.LogLevel::
1359c0 4e 4f 54 49 43 45 20 3d 3e 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f NOTICE.=>.OutputInterface::VERBO
1359e0 53 49 54 59 5f 56 45 52 42 4f 53 45 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 20 3d 3e 20 SITY_VERBOSE,.LogLevel::INFO.=>.
135a00 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f OutputInterface::VERBOSITY_VERY_
135a20 56 45 52 42 4f 53 45 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 20 3d 3e 20 4f 75 74 70 VERBOSE,.LogLevel::DEBUG.=>.Outp
135a40 75 74 49 6e 74 65 72 66 61 63 65 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 2c 0a 29 3b utInterface::VERBOSITY_DEBUG,.);
135a60 0a 70 72 69 76 61 74 65 20 24 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 3d 20 61 72 72 61 79 .private.$formatLevelMap.=.array
135a80 28 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 20 3d 3e 20 73 65 6c 66 3a 3a 45 (.LogLevel::EMERGENCY.=>.self::E
135aa0 52 52 4f 52 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 20 3d 3e 20 73 65 6c 66 3a 3a 45 RROR,.LogLevel::ALERT.=>.self::E
135ac0 52 52 4f 52 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 20 3d 3e 20 73 65 6c 66 RROR,.LogLevel::CRITICAL.=>.self
135ae0 3a 3a 45 52 52 4f 52 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 20 3d 3e 20 73 65 6c 66 ::ERROR,.LogLevel::ERROR.=>.self
135b00 3a 3a 45 52 52 4f 52 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 20 3d 3e 20 73 65 ::ERROR,.LogLevel::WARNING.=>.se
135b20 6c 66 3a 3a 49 4e 46 4f 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 20 3d 3e 20 73 65 lf::INFO,.LogLevel::NOTICE.=>.se
135b40 6c 66 3a 3a 49 4e 46 4f 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 20 3d 3e 20 73 65 6c 66 lf::INFO,.LogLevel::INFO.=>.self
135b60 3a 3a 49 4e 46 4f 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 20 3d 3e 20 73 65 6c 66 3a ::INFO,.LogLevel::DEBUG.=>.self:
135b80 3a 49 4e 46 4f 2c 0a 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e :INFO,.);..public.function.__con
135ba0 73 74 72 75 63 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 74 70 75 74 2c 20 struct(OutputInterface.$output,.
135bc0 61 72 72 61 79 20 24 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 20 3d 20 61 72 72 61 79 array.$verbosityLevelMap.=.array
135be0 28 29 2c 20 61 72 72 61 79 20 24 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 3d 20 61 72 72 61 (),.array.$formatLevelMap.=.arra
135c00 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 70 75 74 3b 0a y()).{.$this->output.=.$output;.
135c20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 20 3d 20 24 76 65 72 62 $this->verbosityLevelMap.=.$verb
135c40 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 20 2b 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 osityLevelMap.+.$this->verbosity
135c60 4c 65 76 65 6c 4d 61 70 3b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 LevelMap;.$this->formatLevelMap.
135c80 3d 20 24 66 6f 72 6d 61 74 4c 65 76 65 6c 4d 61 70 20 2b 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 =.$formatLevelMap.+.$this->forma
135ca0 74 4c 65 76 65 6c 4d 61 70 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e tLevelMap;.}.....public.function
135cc0 20 6c 6f 67 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f .log($level,.$message,.array.$co
135ce0 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 ntext.=.array()).{.if.(!isset($t
135d00 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 76 65 6c 5d 29 29 his->verbosityLevelMap[$level]))
135d20 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 .{.throw.new.InvalidArgumentExce
135d40 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 6c 6f 67 20 6c 65 76 65 6c 20 22 25 73 ption(sprintf('The.log.level."%s
135d60 22 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6c 65 76 65 6c 29 29 3b 0a 7d 0a ".does.not.exist.',.$level));.}.
135d80 0a 0a 20 69 66 20 28 73 65 6c 66 3a 3a 45 52 52 4f 52 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 66 6f ...if.(self::ERROR.===.$this->fo
135da0 72 6d 61 74 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 76 65 6c 5d 20 26 26 20 24 74 68 69 73 2d 3e 6f rmatLevelMap[$level].&&.$this->o
135dc0 75 74 70 75 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e utput.instanceof.ConsoleOutputIn
135de0 74 65 72 66 61 63 65 29 20 7b 0a 24 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 terface).{.$output.=.$this->outp
135e00 75 74 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 ut->getErrorOutput();.}.else.{.$
135e20 6f 75 74 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 0a 69 66 20 28 24 output.=.$this->output;.}..if.($
135e40 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 20 3e 3d 20 24 74 68 69 73 2d output->getVerbosity().>=.$this-
135e60 3e 76 65 72 62 6f 73 69 74 79 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 76 65 6c 5d 29 20 7b 0a 24 6f >verbosityLevelMap[$level]).{.$o
135e80 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 27 3c 25 31 24 73 3e 5b 25 utput->writeln(sprintf('<%1$s>[%
135ea0 32 24 73 5d 20 25 33 24 73 3c 2f 25 31 24 73 3e 27 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 2$s].%3$s</%1$s>',.$this->format
135ec0 4c 65 76 65 6c 4d 61 70 5b 24 6c 65 76 65 6c 5d 2c 20 24 6c 65 76 65 6c 2c 20 24 74 68 69 73 2d LevelMap[$level],.$level,.$this-
135ee0 3e 69 6e 74 65 72 70 6f 6c 61 74 65 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 >interpolate($message,.$context)
135f00 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 ));.}.}............private.funct
135f20 69 6f 6e 20 69 6e 74 65 72 70 6f 6c 61 74 65 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 ion.interpolate($message,.array.
135f40 24 63 6f 6e 74 65 78 74 29 0a 7b 0a 0a 20 24 72 65 70 6c 61 63 65 20 3d 20 61 72 72 61 79 28 29 $context).{...$replace.=.array()
135f60 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 65 78 74 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 ;.foreach.($context.as.$key.=>.$
135f80 76 61 6c 29 20 7b 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 76 61 6c 29 20 26 26 20 28 val).{.if.(!\is_array($val).&&.(
135fa0 21 5c 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 29 20 7c 7c 20 6d 65 74 68 6f 64 5f 65 78 69 73 !\is_object($val).||.method_exis
135fc0 74 73 28 24 76 61 6c 2c 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 29 20 7b 0a 24 72 65 70 6c ts($val,.'__toString'))).{.$repl
135fe0 61 63 65 5b 73 70 72 69 6e 74 66 28 27 7b 25 73 7d 27 2c 20 24 6b 65 79 29 5d 20 3d 20 24 76 61 ace[sprintf('{%s}',.$key)].=.$va
136000 6c 3b 0a 7d 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 73 74 72 74 72 28 24 6d 65 73 73 61 67 65 2c l;.}.}....return.strtr($message,
136020 20 24 72 65 70 6c 61 63 65 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .$replace);.}.}.<?php...........
136040 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 namespace.Symfony\Component\Cons
136060 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 75 66 66 65 72 65 64 4f 75 ole\Output;.....class.BufferedOu
136080 74 70 75 74 20 65 78 74 65 6e 64 73 20 4f 75 74 70 75 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 62 tput.extends.Output.{.private.$b
1360a0 75 66 66 65 72 20 3d 20 27 27 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f uffer.=.'';.......public.functio
1360c0 6e 20 66 65 74 63 68 28 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 74 68 69 73 2d 3e 62 75 n.fetch().{.$content.=.$this->bu
1360e0 66 66 65 72 3b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 20 3d 20 27 27 3b 0a 0a 72 65 74 75 72 ffer;.$this->buffer.=.'';..retur
136100 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 n.$content;.}.....protected.func
136120 74 69 6f 6e 20 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 2c 20 24 6e 65 77 6c 69 6e 65 29 tion.doWrite($message,.$newline)
136140 0a 7b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 20 2e 3d 20 24 6d 65 73 73 61 67 65 3b 0a 0a 69 .{.$this->buffer..=.$message;..i
136160 66 20 28 24 6e 65 77 6c 69 6e 65 29 20 7b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 20 2e 3d 20 f.($newline).{.$this->buffer..=.
136180 50 48 50 5f 45 4f 4c 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e PHP_EOL;.}.}.}.<?php...........n
1361a0 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f amespace.Symfony\Component\Conso
1361c0 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e le\Output;..use.Symfony\Componen
1361e0 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 t\Console\Formatter\OutputFormat
136200 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 terInterface;...............clas
136220 73 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 20 65 78 74 65 6e 64 73 20 53 74 72 65 61 6d 4f 75 s.ConsoleOutput.extends.StreamOu
136240 74 70 75 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 tput.implements.ConsoleOutputInt
136260 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 74 64 65 72 72 3b 0a 0a 0a 0a 0a 0a 0a erface.{.private.$stderr;.......
136280 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 76 65 72 public.function.__construct($ver
1362a0 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c bosity.=.self::VERBOSITY_NORMAL,
1362c0 20 24 64 65 63 6f 72 61 74 65 64 20 3d 20 6e 75 6c 6c 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 .$decorated.=.null,.OutputFormat
1362e0 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 75 6c 6c 29 0a terInterface.$formatter.=.null).
136300 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 68 69 73 2d 3e 6f 70 65 {.parent::__construct($this->ope
136320 6e 4f 75 74 70 75 74 53 74 72 65 61 6d 28 29 2c 20 24 76 65 72 62 6f 73 69 74 79 2c 20 24 64 65 nOutputStream(),.$verbosity,.$de
136340 63 6f 72 61 74 65 64 2c 20 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 0a 24 61 63 74 75 61 6c 44 65 corated,.$formatter);..$actualDe
136360 63 6f 72 61 74 65 64 20 3d 20 24 74 68 69 73 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a corated.=.$this->isDecorated();.
136380 24 74 68 69 73 2d 3e 73 74 64 65 72 72 20 3d 20 6e 65 77 20 53 74 72 65 61 6d 4f 75 74 70 75 74 $this->stderr.=.new.StreamOutput
1363a0 28 24 74 68 69 73 2d 3e 6f 70 65 6e 45 72 72 6f 72 53 74 72 65 61 6d 28 29 2c 20 24 76 65 72 62 ($this->openErrorStream(),.$verb
1363c0 6f 73 69 74 79 2c 20 24 64 65 63 6f 72 61 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 46 6f 72 osity,.$decorated,.$this->getFor
1363e0 6d 61 74 74 65 72 28 29 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 63 6f 72 61 matter());..if.(null.===.$decora
136400 74 65 64 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 61 63 74 75 ted).{.$this->setDecorated($actu
136420 61 6c 44 65 63 6f 72 61 74 65 64 20 26 26 20 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2d 3e 69 73 alDecorated.&&.$this->stderr->is
136440 44 65 63 6f 72 61 74 65 64 28 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e Decorated());.}.}.....public.fun
136460 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 0a 7b ction.setDecorated($decorated).{
136480 0a 70 61 72 65 6e 74 3a 3a 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 .parent::setDecorated($decorated
1364a0 29 3b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 );.$this->stderr->setDecorated($
1364c0 64 65 63 6f 72 61 74 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f decorated);.}.....public.functio
1364e0 6e 20 73 65 74 46 6f 72 6d 61 74 74 65 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e n.setFormatter(OutputFormatterIn
136500 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 73 65 terface.$formatter).{.parent::se
136520 74 46 6f 72 6d 61 74 74 65 72 28 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 24 74 68 69 73 2d 3e 73 tFormatter($formatter);.$this->s
136540 74 64 65 72 72 2d 3e 73 65 74 46 6f 72 6d 61 74 74 65 72 28 24 66 6f 72 6d 61 74 74 65 72 29 3b tderr->setFormatter($formatter);
136560 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 62 6f 73 .}.....public.function.setVerbos
136580 69 74 79 28 24 6c 65 76 65 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 73 65 74 56 65 72 62 6f 73 69 ity($level).{.parent::setVerbosi
1365a0 74 79 28 24 6c 65 76 65 6c 29 3b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2d 3e 73 65 74 56 65 ty($level);.$this->stderr->setVe
1365c0 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 rbosity($level);.}.....public.fu
1365e0 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e nction.getErrorOutput().{.return
136600 20 24 74 68 69 73 2d 3e 73 74 64 65 72 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .$this->stderr;.}.....public.fun
136620 63 74 69 6f 6e 20 73 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 4f 75 74 70 75 74 49 6e 74 65 72 ction.setErrorOutput(OutputInter
136640 66 61 63 65 20 24 65 72 72 6f 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 20 3d 20 24 face.$error).{.$this->stderr.=.$
136660 65 72 72 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 error;.}........protected.functi
136680 6f 6e 20 68 61 73 53 74 64 6f 75 74 53 75 70 70 6f 72 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 on.hasStdoutSupport().{.return.f
1366a0 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 4f 53 34 30 30 28 29 alse.===.$this->isRunningOS400()
1366c0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 ;.}........protected.function.ha
1366e0 73 53 74 64 65 72 72 53 75 70 70 6f 72 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 sStderrSupport().{.return.false.
136700 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 4f 53 34 30 30 28 29 3b 0a 7d 0a 0a ===.$this->isRunningOS400();.}..
136720 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 75 6e 6e 69 6e 67 ......private.function.isRunning
136740 4f 53 34 30 30 28 29 0a 7b 0a 24 63 68 65 63 6b 73 20 3d 20 61 72 72 61 79 28 0a 5c 66 75 6e 63 OS400().{.$checks.=.array(.\func
136760 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 68 70 5f 75 6e 61 6d 65 27 29 20 3f 20 70 68 70 5f 75 tion_exists('php_uname').?.php_u
136780 6e 61 6d 65 28 27 73 27 29 20 3a 20 27 27 2c 0a 67 65 74 65 6e 76 28 27 4f 53 54 59 50 45 27 29 name('s').:.'',.getenv('OSTYPE')
1367a0 2c 0a 50 48 50 5f 4f 53 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 73 ,.PHP_OS,.);..return.false.!==.s
1367c0 74 72 69 70 6f 73 28 69 6d 70 6c 6f 64 65 28 27 3b 27 2c 20 24 63 68 65 63 6b 73 29 2c 20 27 4f tripos(implode(';',.$checks),.'O
1367e0 53 34 30 30 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f S400');.}.....private.function.o
136800 70 65 6e 4f 75 74 70 75 74 53 74 72 65 61 6d 28 29 0a 7b 0a 24 6f 75 74 70 75 74 53 74 72 65 61 penOutputStream().{.$outputStrea
136820 6d 20 3d 20 24 74 68 69 73 2d 3e 68 61 73 53 74 64 6f 75 74 53 75 70 70 6f 72 74 28 29 20 3f 20 m.=.$this->hasStdoutSupport().?.
136840 27 70 68 70 3a 2f 2f 73 74 64 6f 75 74 27 20 3a 20 27 70 68 70 3a 2f 2f 6f 75 74 70 75 74 27 3b 'php://stdout'.:.'php://output';
136860 0a 0a 72 65 74 75 72 6e 20 40 66 6f 70 65 6e 28 24 6f 75 74 70 75 74 53 74 72 65 61 6d 2c 20 27 ..return.@fopen($outputStream,.'
136880 77 27 29 20 3f 3a 20 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6f 75 74 70 75 74 27 2c 20 27 77 27 w').?:.fopen('php://output',.'w'
1368a0 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 70 65 6e 45 72 );.}.....private.function.openEr
1368c0 72 6f 72 53 74 72 65 61 6d 28 29 0a 7b 0a 24 65 72 72 6f 72 53 74 72 65 61 6d 20 3d 20 24 74 68 rorStream().{.$errorStream.=.$th
1368e0 69 73 2d 3e 68 61 73 53 74 64 65 72 72 53 75 70 70 6f 72 74 28 29 20 3f 20 27 70 68 70 3a 2f 2f is->hasStderrSupport().?.'php://
136900 73 74 64 65 72 72 27 20 3a 20 27 70 68 70 3a 2f 2f 6f 75 74 70 75 74 27 3b 0a 0a 72 65 74 75 72 stderr'.:.'php://output';..retur
136920 6e 20 66 6f 70 65 6e 28 24 65 72 72 6f 72 53 74 72 65 61 6d 2c 20 27 77 27 29 3b 0a 7d 0a 7d 0a n.fopen($errorStream,.'w');.}.}.
136940 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
136960 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 0a 0a 0a y\Component\Console\Output;.....
136980 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 49 6e 74 65 72 66 ...interface.ConsoleOutputInterf
1369a0 61 63 65 20 65 78 74 65 6e 64 73 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a ace.extends.OutputInterface.{...
1369c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4f 75 74 70 75 ...public.function.getErrorOutpu
1369e0 74 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 72 72 6f 72 4f 75 t();..public.function.setErrorOu
136a00 74 70 75 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 65 72 72 6f 72 29 3b 0a 7d 0a tput(OutputInterface.$error);.}.
136a20 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
136a40 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 75 73 65 y\Component\Console\Output;..use
136a60 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 .Symfony\Component\Console\Forma
136a80 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e tter\OutputFormatter;.use.Symfon
136aa0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 y\Component\Console\Formatter\Ou
136ac0 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a tputFormatterInterface;.........
136ae0 0a 63 6c 61 73 73 20 4e 75 6c 6c 4f 75 74 70 75 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4f 75 74 .class.NullOutput.implements.Out
136b00 70 75 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f putInterface.{....public.functio
136b20 6e 20 73 65 74 46 6f 72 6d 61 74 74 65 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e n.setFormatter(OutputFormatterIn
136b40 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 29 0a 7b 0a 0a 20 7d 0a 0a 0a 0a 0a 70 75 terface.$formatter).{...}.....pu
136b60 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 0a 7b 0a 0a blic.function.getFormatter().{..
136b80 20 72 65 74 75 72 6e 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 28 29 3b 0a 7d .return.new.OutputFormatter();.}
136ba0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 .....public.function.setDecorate
136bc0 64 28 24 64 65 63 6f 72 61 74 65 64 29 0a 7b 0a 0a 20 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 d($decorated).{...}.....public.f
136be0 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 unction.isDecorated().{.return.f
136c00 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 alse;.}.....public.function.setV
136c20 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 0a 7b 0a 0a 20 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 erbosity($level).{...}.....publi
136c40 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 0a 7b 0a 72 65 74 75 c.function.getVerbosity().{.retu
136c60 72 6e 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 3b 0a 7d 0a 0a 0a 0a 0a rn.self::VERBOSITY_QUIET;.}.....
136c80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 51 75 69 65 74 28 29 0a 7b 0a 72 65 74 75 public.function.isQuiet().{.retu
136ca0 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 rn.true;.}.....public.function.i
136cc0 73 56 65 72 62 6f 73 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a sVerbose().{.return.false;.}....
136ce0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 .public.function.isVeryVerbose()
136d00 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 .{.return.false;.}.....public.fu
136d20 6e 63 74 69 6f 6e 20 69 73 44 65 62 75 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b nction.isDebug().{.return.false;
136d40 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 6c 6e 28 24 .}.....public.function.writeln($
136d60 6d 65 73 73 61 67 65 73 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 messages,.$options.=.self::OUTPU
136d80 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 0a 20 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 T_NORMAL).{...}.....public.funct
136da0 69 6f 6e 20 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 ion.write($messages,.$newline.=.
136dc0 66 61 6c 73 65 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e false,.$options.=.self::OUTPUT_N
136de0 4f 52 4d 41 4c 29 0a 7b 0a 0a 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e ORMAL).{...}.}.<?php...........n
136e00 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f amespace.Symfony\Component\Conso
136e20 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e le\Output;..use.Symfony\Componen
136e40 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 t\Console\Formatter\OutputFormat
136e60 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f ter;.use.Symfony\Component\Conso
136e80 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 le\Formatter\OutputFormatterInte
136ea0 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c rface;...............abstract.cl
136ec0 61 73 73 20 4f 75 74 70 75 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4f 75 74 70 75 74 49 6e 74 65 ass.Output.implements.OutputInte
136ee0 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 76 65 72 62 6f 73 69 74 79 3b 0a 70 72 69 76 rface.{.private.$verbosity;.priv
136f00 61 74 65 20 24 66 6f 72 6d 61 74 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ate.$formatter;.......public.fun
136f20 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 ction.__construct($verbosity.=.s
136f40 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 24 64 65 63 6f 72 61 74 65 elf::VERBOSITY_NORMAL,.$decorate
136f60 64 20 3d 20 66 61 6c 73 65 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 d.=.false,.OutputFormatterInterf
136f80 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e ace.$formatter.=.null).{.$this->
136fa0 76 65 72 62 6f 73 69 74 79 20 3d 20 6e 75 6c 6c 20 3d 3d 3d 20 24 76 65 72 62 6f 73 69 74 79 20 verbosity.=.null.===.$verbosity.
136fc0 3f 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 20 3a 20 24 76 65 72 62 ?.self::VERBOSITY_NORMAL.:.$verb
136fe0 6f 73 69 74 79 3b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 20 3d 20 24 66 6f 72 6d 61 osity;.$this->formatter.=.$forma
137000 74 74 65 72 20 3f 3a 20 6e 65 77 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 28 29 3b 0a 24 tter.?:.new.OutputFormatter();.$
137020 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 this->formatter->setDecorated($d
137040 65 63 6f 72 61 74 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ecorated);.}.....public.function
137060 20 73 65 74 46 6f 72 6d 61 74 74 65 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 .setFormatter(OutputFormatterInt
137080 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d erface.$formatter).{.$this->form
1370a0 61 74 74 65 72 20 3d 20 24 66 6f 72 6d 61 74 74 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 atter.=.$formatter;.}.....public
1370c0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 0a 7b 0a 72 65 74 75 72 .function.getFormatter().{.retur
1370e0 6e 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 n.$this->formatter;.}.....public
137100 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 .function.setDecorated($decorate
137120 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 2d 3e 73 65 74 44 65 63 6f 72 61 d).{.$this->formatter->setDecora
137140 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ted($decorated);.}.....public.fu
137160 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 nction.isDecorated().{.return.$t
137180 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 7d his->formatter->isDecorated();.}
1371a0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 62 6f 73 69 74 .....public.function.setVerbosit
1371c0 79 28 24 6c 65 76 65 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 20 3d 20 28 y($level).{.$this->verbosity.=.(
1371e0 69 6e 74 29 20 24 6c 65 76 65 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 int).$level;.}.....public.functi
137200 6f 6e 20 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 on.getVerbosity().{.return.$this
137220 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ->verbosity;.}.....public.functi
137240 6f 6e 20 69 73 51 75 69 65 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 42 on.isQuiet().{.return.self::VERB
137260 4f 53 49 54 59 5f 51 55 49 45 54 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 OSITY_QUIET.===.$this->verbosity
137280 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 62 6f 73 ;.}.....public.function.isVerbos
1372a0 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 e().{.return.self::VERBOSITY_VER
1372c0 42 4f 53 45 20 3c 3d 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a BOSE.<=.$this->verbosity;.}.....
1372e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 65 72 79 56 65 72 62 6f 73 65 28 29 0a public.function.isVeryVerbose().
137300 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 {.return.self::VERBOSITY_VERY_VE
137320 52 42 4f 53 45 20 3c 3d 20 24 74 68 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 7d 0a 0a 0a 0a RBOSE.<=.$this->verbosity;.}....
137340 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 62 75 67 28 29 0a 7b 0a 72 65 74 .public.function.isDebug().{.ret
137360 75 72 6e 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 20 3c 3d 20 24 74 68 urn.self::VERBOSITY_DEBUG.<=.$th
137380 69 73 2d 3e 76 65 72 62 6f 73 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 is->verbosity;.}.....public.func
1373a0 74 69 6f 6e 20 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6f 70 74 69 6f 6e 73 tion.writeln($messages,.$options
1373c0 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d .=.self::OUTPUT_NORMAL).{.$this-
1373e0 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 74 72 75 65 2c 20 24 6f 70 74 69 6f 6e 73 >write($messages,.true,.$options
137400 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 24 );.}.....public.function.write($
137420 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 66 61 6c 73 65 2c 20 24 6f 70 74 messages,.$newline.=.false,.$opt
137440 69 6f 6e 73 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 6d ions.=.self::OUTPUT_NORMAL).{.$m
137460 65 73 73 61 67 65 73 20 3d 20 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 3b 0a 0a 24 74 essages.=.(array).$messages;..$t
137480 79 70 65 73 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 20 7c 20 73 65 6c ypes.=.self::OUTPUT_NORMAL.|.sel
1374a0 66 3a 3a 4f 55 54 50 55 54 5f 52 41 57 20 7c 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 50 4c 41 f::OUTPUT_RAW.|.self::OUTPUT_PLA
1374c0 49 4e 3b 0a 24 74 79 70 65 20 3d 20 24 74 79 70 65 73 20 26 20 24 6f 70 74 69 6f 6e 73 20 3f 3a IN;.$type.=.$types.&.$options.?:
1374e0 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 3b 0a 0a 24 76 65 72 62 6f 73 69 74 .self::OUTPUT_NORMAL;..$verbosit
137500 69 65 73 20 3d 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 7c 20 73 65 ies.=.self::VERBOSITY_QUIET.|.se
137520 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 20 7c 20 73 65 6c 66 3a 3a 56 45 52 lf::VERBOSITY_NORMAL.|.self::VER
137540 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 20 7c 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 BOSITY_VERBOSE.|.self::VERBOSITY
137560 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 20 7c 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f _VERY_VERBOSE.|.self::VERBOSITY_
137580 44 45 42 55 47 3b 0a 24 76 65 72 62 6f 73 69 74 79 20 3d 20 24 76 65 72 62 6f 73 69 74 69 65 73 DEBUG;.$verbosity.=.$verbosities
1375a0 20 26 20 24 6f 70 74 69 6f 6e 73 20 3f 3a 20 73 65 6c 66 3a 3a 56 45 52 42 4f 53 49 54 59 5f 4e .&.$options.?:.self::VERBOSITY_N
1375c0 4f 52 4d 41 4c 3b 0a 0a 69 66 20 28 24 76 65 72 62 6f 73 69 74 79 20 3e 20 24 74 68 69 73 2d 3e ORMAL;..if.($verbosity.>.$this->
1375e0 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 getVerbosity()).{.return;.}..for
137600 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 73 20 61 73 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 73 each.($messages.as.$message).{.s
137620 77 69 74 63 68 20 28 24 74 79 70 65 29 20 7b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 witch.($type).{.case.OutputInter
137640 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 3a 0a 24 6d 65 73 73 61 67 65 20 3d 20 face::OUTPUT_NORMAL:.$message.=.
137660 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 2d 3e 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 $this->formatter->format($messag
137680 65 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3a e);.break;.case.OutputInterface:
1376a0 3a 4f 55 54 50 55 54 5f 52 41 57 3a 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4f 75 74 70 75 74 49 :OUTPUT_RAW:.break;.case.OutputI
1376c0 6e 74 65 72 66 61 63 65 3a 3a 4f 55 54 50 55 54 5f 50 4c 41 49 4e 3a 0a 24 6d 65 73 73 61 67 65 nterface::OUTPUT_PLAIN:.$message
1376e0 20 3d 20 73 74 72 69 70 5f 74 61 67 73 28 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 74 65 72 2d 3e .=.strip_tags($this->formatter->
137700 66 6f 72 6d 61 74 28 24 6d 65 73 73 61 67 65 29 29 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 24 74 68 format($message));.break;.}..$th
137720 69 73 2d 3e 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 2c 20 24 6e 65 77 6c 69 6e 65 29 3b is->doWrite($message,.$newline);
137740 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 .}.}........abstract.protected.f
137760 75 6e 63 74 69 6f 6e 20 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 2c 20 24 6e 65 77 6c 69 unction.doWrite($message,.$newli
137780 6e 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 ne);.}.<?php...........namespace
1377a0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 .Symfony\Component\Console\Outpu
1377c0 74 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c t;..use.Symfony\Component\Consol
1377e0 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 e\Formatter\OutputFormatterInter
137800 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4f 75 74 70 75 74 49 6e 74 65 face;.......interface.OutputInte
137820 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 51 55 49 45 54 20 3d 20 rface.{.const.VERBOSITY_QUIET.=.
137840 31 36 3b 0a 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 20 3d 20 33 32 3b 16;.const.VERBOSITY_NORMAL.=.32;
137860 0a 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 56 45 52 42 4f 53 45 20 3d 20 36 34 3b 0a 63 .const.VERBOSITY_VERBOSE.=.64;.c
137880 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 56 45 52 59 5f 56 45 52 42 4f 53 45 20 3d 20 31 32 onst.VERBOSITY_VERY_VERBOSE.=.12
1378a0 38 3b 0a 63 6f 6e 73 74 20 56 45 52 42 4f 53 49 54 59 5f 44 45 42 55 47 20 3d 20 32 35 36 3b 0a 8;.const.VERBOSITY_DEBUG.=.256;.
1378c0 0a 63 6f 6e 73 74 20 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 .const.OUTPUT_NORMAL.=.1;.const.
1378e0 4f 55 54 50 55 54 5f 52 41 57 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 4f 55 54 50 55 54 5f 50 4c 41 OUTPUT_RAW.=.2;.const.OUTPUT_PLA
137900 49 4e 20 3d 20 34 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 IN.=.4;.........public.function.
137920 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 66 61 6c 73 write($messages,.$newline.=.fals
137940 65 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 30 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 e,.$options.=.0);........public.
137960 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6f 70 74 function.writeln($messages,.$opt
137980 69 6f 6e 73 20 3d 20 30 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ions.=.0);.......public.function
1379a0 20 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 .setVerbosity($level);.......pub
1379c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 3b 0a 0a 0a 0a lic.function.getVerbosity();....
1379e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 61 74 65 64 28 ...public.function.setDecorated(
137a00 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 $decorated);.......public.functi
137a20 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 on.isDecorated();..public.functi
137a40 6f 6e 20 73 65 74 46 6f 72 6d 61 74 74 65 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 on.setFormatter(OutputFormatterI
137a60 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c nterface.$formatter);.......publ
137a80 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 3b 0a 7d 0a 3c 3f ic.function.getFormatter();.}.<?
137aa0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
137ac0 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 3b 0a 0a 75 73 65 20 53 Component\Console\Output;..use.S
137ae0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 ymfony\Component\Console\Excepti
137b00 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 on\InvalidArgumentException;.use
137b20 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 .Symfony\Component\Console\Excep
137b40 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f tion\RuntimeException;.use.Symfo
137b60 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f ny\Component\Console\Formatter\O
137b80 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 0a utputFormatterInterface;........
137ba0 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 74 72 65 61 6d 4f 75 74 70 75 74 20 65 78 74 65 6e 64 .......class.StreamOutput.extend
137bc0 73 20 4f 75 74 70 75 74 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 74 72 65 61 6d 3b 0a 0a 0a 0a 0a s.Output.{.private.$stream;.....
137be0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 .....public.function.__construct
137c00 28 24 73 74 72 65 61 6d 2c 20 24 76 65 72 62 6f 73 69 74 79 20 3d 20 73 65 6c 66 3a 3a 56 45 52 ($stream,.$verbosity.=.self::VER
137c20 42 4f 53 49 54 59 5f 4e 4f 52 4d 41 4c 2c 20 24 64 65 63 6f 72 61 74 65 64 20 3d 20 6e 75 6c 6c BOSITY_NORMAL,.$decorated.=.null
137c40 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 66 6f 72 6d ,.OutputFormatterInterface.$form
137c60 61 74 74 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 5c 69 73 5f 72 65 73 6f 75 72 63 atter.=.null).{.if.(!\is_resourc
137c80 65 28 24 73 74 72 65 61 6d 29 20 7c 7c 20 27 73 74 72 65 61 6d 27 20 21 3d 3d 20 67 65 74 5f 72 e($stream).||.'stream'.!==.get_r
137ca0 65 73 6f 75 72 63 65 5f 74 79 70 65 28 24 73 74 72 65 61 6d 29 29 20 7b 0a 74 68 72 6f 77 20 6e esource_type($stream)).{.throw.n
137cc0 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 ew.InvalidArgumentException('The
137ce0 20 53 74 72 65 61 6d 4f 75 74 70 75 74 20 63 6c 61 73 73 20 6e 65 65 64 73 20 61 20 73 74 72 65 .StreamOutput.class.needs.a.stre
137d00 61 6d 20 61 73 20 69 74 73 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 2e 27 29 3b 0a 7d 0a 0a am.as.its.first.argument.');.}..
137d20 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 20 3d 20 24 73 74 72 65 61 6d 3b 0a 0a 69 66 20 28 6e 75 $this->stream.=.$stream;..if.(nu
137d40 6c 6c 20 3d 3d 3d 20 24 64 65 63 6f 72 61 74 65 64 29 20 7b 0a 24 64 65 63 6f 72 61 74 65 64 20 ll.===.$decorated).{.$decorated.
137d60 3d 20 24 74 68 69 73 2d 3e 68 61 73 43 6f 6c 6f 72 53 75 70 70 6f 72 74 28 29 3b 0a 7d 0a 0a 70 =.$this->hasColorSupport();.}..p
137d80 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 76 65 72 62 6f 73 69 74 79 2c 20 24 arent::__construct($verbosity,.$
137da0 64 65 63 6f 72 61 74 65 64 2c 20 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a decorated,.$formatter);.}.......
137dc0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 72 65 61 6d 28 29 0a 7b 0a 72 65 public.function.getStream().{.re
137de0 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 turn.$this->stream;.}.....protec
137e00 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 57 72 69 74 65 28 24 6d 65 73 73 61 67 65 2c 20 24 ted.function.doWrite($message,.$
137e20 6e 65 77 6c 69 6e 65 29 0a 7b 0a 69 66 20 28 24 6e 65 77 6c 69 6e 65 29 20 7b 0a 24 6d 65 73 73 newline).{.if.($newline).{.$mess
137e40 61 67 65 20 2e 3d 20 50 48 50 5f 45 4f 4c 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d age..=.PHP_EOL;.}..if.(false.===
137e60 20 40 66 77 72 69 74 65 28 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 2c 20 24 6d 65 73 73 61 67 65 .@fwrite($this->stream,.$message
137e80 29 29 20 7b 0a 0a 20 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f )).{...throw.new.RuntimeExceptio
137ea0 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 77 72 69 74 65 20 6f 75 74 70 75 74 2e 27 29 3b 0a 7d 0a n('Unable.to.write.output.');.}.
137ec0 0a 66 66 6c 75 73 68 28 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a .fflush($this->stream);.}.......
137ee0 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 43 6f ........protected.function.hasCo
137f00 6c 6f 72 53 75 70 70 6f 72 74 28 29 0a 7b 0a 69 66 20 28 27 48 79 70 65 72 27 20 3d 3d 3d 20 67 lorSupport().{.if.('Hyper'.===.g
137f20 65 74 65 6e 76 28 27 54 45 52 4d 5f 50 52 4f 47 52 41 4d 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 etenv('TERM_PROGRAM')).{.return.
137f40 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f true;.}..if.(\DIRECTORY_SEPARATO
137f60 52 20 3d 3d 3d 20 27 5c 5c 27 29 20 7b 0a 72 65 74 75 72 6e 20 28 5c 66 75 6e 63 74 69 6f 6e 5f R.===.'\\').{.return.(\function_
137f80 65 78 69 73 74 73 28 27 73 61 70 69 5f 77 69 6e 64 6f 77 73 5f 76 74 31 30 30 5f 73 75 70 70 6f exists('sapi_windows_vt100_suppo
137fa0 72 74 27 29 0a 26 26 20 40 73 61 70 69 5f 77 69 6e 64 6f 77 73 5f 76 74 31 30 30 5f 73 75 70 70 rt').&&.@sapi_windows_vt100_supp
137fc0 6f 72 74 28 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 29 29 0a 7c 7c 20 66 61 6c 73 65 20 21 3d 3d ort($this->stream)).||.false.!==
137fe0 20 67 65 74 65 6e 76 28 27 41 4e 53 49 43 4f 4e 27 29 0a 7c 7c 20 27 4f 4e 27 20 3d 3d 3d 20 67 .getenv('ANSICON').||.'ON'.===.g
138000 65 74 65 6e 76 28 27 43 6f 6e 45 6d 75 41 4e 53 49 27 29 0a 7c 7c 20 27 78 74 65 72 6d 27 20 3d etenv('ConEmuANSI').||.'xterm'.=
138020 3d 3d 20 67 65 74 65 6e 76 28 27 54 45 52 4d 27 29 3b 0a 7d 0a 0a 69 66 20 28 5c 66 75 6e 63 74 ==.getenv('TERM');.}..if.(\funct
138040 69 6f 6e 5f 65 78 69 73 74 73 28 27 73 74 72 65 61 6d 5f 69 73 61 74 74 79 27 29 29 20 7b 0a 72 ion_exists('stream_isatty')).{.r
138060 65 74 75 72 6e 20 40 73 74 72 65 61 6d 5f 69 73 61 74 74 79 28 24 74 68 69 73 2d 3e 73 74 72 65 eturn.@stream_isatty($this->stre
138080 61 6d 29 3b 0a 7d 0a 0a 69 66 20 28 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f am);.}..if.(\function_exists('po
1380a0 73 69 78 5f 69 73 61 74 74 79 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 40 70 6f 73 69 78 5f 69 73 six_isatty')).{.return.@posix_is
1380c0 61 74 74 79 28 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 29 3b 0a 7d 0a 0a 24 73 74 61 74 20 3d 20 atty($this->stream);.}..$stat.=.
1380e0 40 66 73 74 61 74 28 24 74 68 69 73 2d 3e 73 74 72 65 61 6d 29 3b 0a 0a 20 72 65 74 75 72 6e 20 @fstat($this->stream);...return.
138100 24 73 74 61 74 20 3f 20 30 30 32 30 30 30 30 20 3d 3d 3d 20 28 24 73 74 61 74 5b 27 6d 6f 64 65 $stat.?.0020000.===.($stat['mode
138120 27 5d 20 26 20 30 31 37 30 30 30 30 29 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 '].&.0170000).:.false;.}.}.<?php
138140 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
138160 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 ponent\Console\Question;..use.Sy
138180 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f mfony\Component\Console\Exceptio
1381a0 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a n\InvalidArgumentException;.....
1381c0 0a 0a 63 6c 61 73 73 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 51 ..class.ChoiceQuestion.extends.Q
1381e0 75 65 73 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 68 6f 69 63 65 73 3b 0a 70 72 69 76 uestion.{.private.$choices;.priv
138200 61 74 65 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 ate.$multiselect.=.false;.privat
138220 65 20 24 70 72 6f 6d 70 74 20 3d 20 27 20 3e 20 27 3b 0a 70 72 69 76 61 74 65 20 24 65 72 72 6f e.$prompt.=.'.>.';.private.$erro
138240 72 4d 65 73 73 61 67 65 20 3d 20 27 56 61 6c 75 65 20 22 25 73 22 20 69 73 20 69 6e 76 61 6c 69 rMessage.=.'Value."%s".is.invali
138260 64 27 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 d';.......public.function.__cons
138280 74 72 75 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 63 68 6f 69 63 65 73 2c truct($question,.array.$choices,
1382a0 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 24 63 68 6f 69 63 65 .$default.=.null).{.if.(!$choice
1382c0 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 s).{.throw.new.\LogicException('
1382e0 43 68 6f 69 63 65 20 71 75 65 73 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 74 20 6c 65 61 Choice.question.must.have.at.lea
138300 73 74 20 31 20 63 68 6f 69 63 65 20 61 76 61 69 6c 61 62 6c 65 2e 27 29 3b 0a 7d 0a 0a 70 61 72 st.1.choice.available.');.}..par
138320 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 ent::__construct($question,.$def
138340 61 75 6c 74 29 3b 0a 0a 24 74 68 69 73 2d 3e 63 68 6f 69 63 65 73 20 3d 20 24 63 68 6f 69 63 65 ault);..$this->choices.=.$choice
138360 73 3b 0a 24 74 68 69 73 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 s;.$this->setValidator($this->ge
138380 74 44 65 66 61 75 6c 74 56 61 6c 69 64 61 74 6f 72 28 29 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 tDefaultValidator());.$this->set
1383a0 41 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 28 24 63 68 6f 69 63 65 73 29 3b 0a 7d AutocompleterValues($choices);.}
1383c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 6f 69 63 65 .......public.function.getChoice
1383e0 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 6f 69 63 65 73 3b 0a 7d 0a 0a s().{.return.$this->choices;.}..
138400 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 75 6c 74 .........public.function.setMult
138420 69 73 65 6c 65 63 74 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d iselect($multiselect).{.$this->m
138440 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 3b 0a 24 74 68 69 73 ultiselect.=.$multiselect;.$this
138460 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 ->setValidator($this->getDefault
138480 56 61 6c 69 64 61 74 6f 72 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a Validator());..return.$this;.}..
1384a0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4d 75 6c 74 69 73 65 6c 65 .....public.function.isMultisele
1384c0 63 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 75 6c 74 69 73 65 6c 65 63 74 ct().{.return.$this->multiselect
1384e0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f ;.}.......public.function.getPro
138500 6d 70 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 6d 70 74 3b 0a 7d 0a mpt().{.return.$this->prompt;.}.
138520 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 6f 6d 70 ........public.function.setPromp
138540 74 28 24 70 72 6f 6d 70 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 6d 70 74 20 3d 20 24 70 72 t($prompt).{.$this->prompt.=.$pr
138560 6f 6d 70 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ompt;..return.$this;.}..........
138580 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 72 72 6f 72 4d 65 73 73 61 67 65 .public.function.setErrorMessage
1385a0 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 65 ($errorMessage).{.$this->errorMe
1385c0 73 73 61 67 65 20 3d 20 24 65 72 72 6f 72 4d 65 73 73 61 67 65 3b 0a 24 74 68 69 73 2d 3e 73 65 ssage.=.$errorMessage;.$this->se
1385e0 74 56 61 6c 69 64 61 74 6f 72 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 tValidator($this->getDefaultVali
138600 64 61 74 6f 72 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a dator());..return.$this;.}......
138620 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 56 61 6c 69 .private.function.getDefaultVali
138640 64 61 74 6f 72 28 29 0a 7b 0a 24 63 68 6f 69 63 65 73 20 3d 20 24 74 68 69 73 2d 3e 63 68 6f 69 dator().{.$choices.=.$this->choi
138660 63 65 73 3b 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 65 72 72 6f ces;.$errorMessage.=.$this->erro
138680 72 4d 65 73 73 61 67 65 3b 0a 24 6d 75 6c 74 69 73 65 6c 65 63 74 20 3d 20 24 74 68 69 73 2d 3e rMessage;.$multiselect.=.$this->
1386a0 6d 75 6c 74 69 73 65 6c 65 63 74 3b 0a 24 69 73 41 73 73 6f 63 20 3d 20 24 74 68 69 73 2d 3e 69 multiselect;.$isAssoc.=.$this->i
1386c0 73 41 73 73 6f 63 28 24 63 68 6f 69 63 65 73 29 3b 0a 0a 72 65 74 75 72 6e 20 66 75 6e 63 74 69 sAssoc($choices);..return.functi
1386e0 6f 6e 20 28 24 73 65 6c 65 63 74 65 64 29 20 75 73 65 20 28 24 63 68 6f 69 63 65 73 2c 20 24 65 on.($selected).use.($choices,.$e
138700 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 2c 20 24 69 73 41 73 rrorMessage,.$multiselect,.$isAs
138720 73 6f 63 29 20 7b 0a 0a 20 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 3d 20 73 74 72 5f soc).{...$selectedChoices.=.str_
138740 72 65 70 6c 61 63 65 28 27 20 27 2c 20 27 27 2c 20 24 73 65 6c 65 63 74 65 64 29 3b 0a 0a 69 66 replace('.',.'',.$selected);..if
138760 20 28 24 6d 75 6c 74 69 73 65 6c 65 63 74 29 20 7b 0a 0a 20 69 66 20 28 21 70 72 65 67 5f 6d 61 .($multiselect).{...if.(!preg_ma
138780 74 63 68 28 27 2f 5e 5b 5e 2c 5d 2b 28 3f 3a 2c 5b 5e 2c 5d 2b 29 2a 24 2f 27 2c 20 24 73 65 6c tch('/^[^,]+(?:,[^,]+)*$/',.$sel
1387a0 65 63 74 65 64 43 68 6f 69 63 65 73 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 74 68 72 6f 77 ectedChoices,.$matches)).{.throw
1387c0 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 .new.InvalidArgumentException(sp
1387e0 72 69 6e 74 66 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 24 73 65 6c 65 63 74 65 64 29 29 rintf($errorMessage,.$selected))
138800 3b 0a 7d 0a 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 ;.}.$selectedChoices.=.explode('
138820 2c 27 2c 20 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a ,',.$selectedChoices);.}.else.{.
138840 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 20 3d 20 61 72 72 61 79 28 24 73 65 6c 65 63 74 $selectedChoices.=.array($select
138860 65 64 29 3b 0a 7d 0a 0a 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 20 3d 20 61 72 ed);.}..$multiselectChoices.=.ar
138880 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 65 6c 65 63 74 65 64 43 68 6f 69 63 65 73 ray();.foreach.($selectedChoices
1388a0 20 61 73 20 24 76 61 6c 75 65 29 20 7b 0a 24 72 65 73 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 .as.$value).{.$results.=.array()
1388c0 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 68 6f 69 63 65 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 ;.foreach.($choices.as.$key.=>.$
1388e0 63 68 6f 69 63 65 29 20 7b 0a 69 66 20 28 24 63 68 6f 69 63 65 20 3d 3d 3d 20 24 76 61 6c 75 65 choice).{.if.($choice.===.$value
138900 29 20 7b 0a 24 72 65 73 75 6c 74 73 5b 5d 20 3d 20 24 6b 65 79 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 ).{.$results[].=.$key;.}.}..if.(
138920 5c 63 6f 75 6e 74 28 24 72 65 73 75 6c 74 73 29 20 3e 20 31 29 20 7b 0a 74 68 72 6f 77 20 6e 65 \count($results).>.1).{.throw.ne
138940 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e w.InvalidArgumentException(sprin
138960 74 66 28 27 54 68 65 20 70 72 6f 76 69 64 65 64 20 61 6e 73 77 65 72 20 69 73 20 61 6d 62 69 67 tf('The.provided.answer.is.ambig
138980 75 6f 75 73 2e 20 56 61 6c 75 65 20 73 68 6f 75 6c 64 20 62 65 20 6f 6e 65 20 6f 66 20 25 73 2e uous..Value.should.be.one.of.%s.
1389a0 27 2c 20 69 6d 70 6c 6f 64 65 28 27 20 6f 72 20 27 2c 20 24 72 65 73 75 6c 74 73 29 29 29 3b 0a ',.implode('.or.',.$results)));.
1389c0 7d 0a 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 76 61 6c 75 65 }..$result.=.array_search($value
1389e0 2c 20 24 63 68 6f 69 63 65 73 29 3b 0a 0a 69 66 20 28 21 24 69 73 41 73 73 6f 63 29 20 7b 0a 69 ,.$choices);..if.(!$isAssoc).{.i
138a00 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a 24 72 65 73 75 6c 74 20 f.(false.!==.$result).{.$result.
138a20 3d 20 24 63 68 6f 69 63 65 73 5b 24 72 65 73 75 6c 74 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 =.$choices[$result];.}.elseif.(i
138a40 73 73 65 74 28 24 63 68 6f 69 63 65 73 5b 24 76 61 6c 75 65 5d 29 29 20 7b 0a 24 72 65 73 75 6c sset($choices[$value])).{.$resul
138a60 74 20 3d 20 24 63 68 6f 69 63 65 73 5b 24 76 61 6c 75 65 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 t.=.$choices[$value];.}.}.elseif
138a80 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 73 75 6c 74 20 26 26 20 69 73 73 65 74 28 24 63 68 .(false.===.$result.&&.isset($ch
138aa0 6f 69 63 65 73 5b 24 76 61 6c 75 65 5d 29 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 76 61 6c oices[$value])).{.$result.=.$val
138ac0 75 65 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 73 75 6c 74 29 20 7b 0a ue;.}..if.(false.===.$result).{.
138ae0 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 throw.new.InvalidArgumentExcepti
138b00 6f 6e 28 73 70 72 69 6e 74 66 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 2c 20 24 76 61 6c 75 65 on(sprintf($errorMessage,.$value
138b20 29 29 3b 0a 7d 0a 0a 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 65 73 5b 5d 20 3d 20 28 ));.}..$multiselectChoices[].=.(
138b40 73 74 72 69 6e 67 29 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 69 66 20 28 24 6d 75 6c 74 69 73 65 string).$result;.}..if.($multise
138b60 6c 65 63 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 75 6c 74 69 73 65 6c 65 63 74 43 68 6f 69 63 lect).{.return.$multiselectChoic
138b80 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 75 72 72 65 6e 74 28 24 6d 75 6c 74 69 73 65 6c 65 es;.}..return.current($multisele
138ba0 63 74 43 68 6f 69 63 65 73 29 3b 0a 7d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a ctChoices);.};.}.}.<?php........
138bc0 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 ...namespace.Symfony\Component\C
138be0 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e onsole\Question;.......class.Con
138c00 66 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 51 75 65 73 74 69 firmationQuestion.extends.Questi
138c20 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 0a on.{.private.$trueAnswerRegex;..
138c40 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 .....public.function.__construct
138c60 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 74 72 75 65 2c 20 24 74 72 ($question,.$default.=.true,.$tr
138c80 75 65 41 6e 73 77 65 72 52 65 67 65 78 20 3d 20 27 2f 5e 79 2f 69 27 29 0a 7b 0a 70 61 72 65 6e ueAnswerRegex.=.'/^y/i').{.paren
138ca0 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 28 62 6f 6f 6c 29 t::__construct($question,.(bool)
138cc0 20 24 64 65 66 61 75 6c 74 29 3b 0a 0a 24 74 68 69 73 2d 3e 74 72 75 65 41 6e 73 77 65 72 52 65 .$default);..$this->trueAnswerRe
138ce0 67 65 78 20 3d 20 24 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a 24 74 68 69 73 2d 3e 73 gex.=.$trueAnswerRegex;.$this->s
138d00 65 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 4e 6f etNormalizer($this->getDefaultNo
138d20 72 6d 61 6c 69 7a 65 72 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e rmalizer());.}.......private.fun
138d40 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 0a 7b 0a 24 ction.getDefaultNormalizer().{.$
138d60 64 65 66 61 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 65 66 61 75 6c 74 28 29 3b 0a 24 default.=.$this->getDefault();.$
138d80 72 65 67 65 78 20 3d 20 24 74 68 69 73 2d 3e 74 72 75 65 41 6e 73 77 65 72 52 65 67 65 78 3b 0a regex.=.$this->trueAnswerRegex;.
138da0 0a 72 65 74 75 72 6e 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 6e 73 77 65 72 29 20 75 73 65 20 28 .return.function.($answer).use.(
138dc0 24 64 65 66 61 75 6c 74 2c 20 24 72 65 67 65 78 29 20 7b 0a 69 66 20 28 5c 69 73 5f 62 6f 6f 6c $default,.$regex).{.if.(\is_bool
138de0 28 24 61 6e 73 77 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 6e 73 77 65 72 3b 0a 7d 0a 0a ($answer)).{.return.$answer;.}..
138e00 24 61 6e 73 77 65 72 49 73 54 72 75 65 20 3d 20 28 62 6f 6f 6c 29 20 70 72 65 67 5f 6d 61 74 63 $answerIsTrue.=.(bool).preg_matc
138e20 68 28 24 72 65 67 65 78 2c 20 24 61 6e 73 77 65 72 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d h($regex,.$answer);.if.(false.==
138e40 3d 20 24 64 65 66 61 75 6c 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 6e 73 77 65 72 20 26 26 20 =.$default).{.return.$answer.&&.
138e60 24 61 6e 73 77 65 72 49 73 54 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 21 24 61 6e 73 77 65 $answerIsTrue;.}..return.!$answe
138e80 72 20 7c 7c 20 24 61 6e 73 77 65 72 49 73 54 72 75 65 3b 0a 7d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 r.||.$answerIsTrue;.};.}.}.<?php
138ea0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
138ec0 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 ponent\Console\Question;..use.Sy
138ee0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 69 6f mfony\Component\Console\Exceptio
138f00 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 n\InvalidArgumentException;.use.
138f20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 65 70 74 Symfony\Component\Console\Except
138f40 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 ion\LogicException;.......class.
138f60 51 75 65 73 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 71 75 65 73 74 69 6f 6e 3b 0a 70 72 Question.{.private.$question;.pr
138f80 69 76 61 74 65 20 24 61 74 74 65 6d 70 74 73 3b 0a 70 72 69 76 61 74 65 20 24 68 69 64 64 65 6e ivate.$attempts;.private.$hidden
138fa0 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 68 69 64 64 65 6e 46 61 6c 6c 62 61 63 .=.false;.private.$hiddenFallbac
138fc0 6b 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 k.=.true;.private.$autocompleter
138fe0 56 61 6c 75 65 73 3b 0a 70 72 69 76 61 74 65 20 24 76 61 6c 69 64 61 74 6f 72 3b 0a 70 72 69 76 Values;.private.$validator;.priv
139000 61 74 65 20 24 64 65 66 61 75 6c 74 3b 0a 70 72 69 76 61 74 65 20 24 6e 6f 72 6d 61 6c 69 7a 65 ate.$default;.private.$normalize
139020 72 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 r;......public.function.__constr
139040 75 63 74 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a uct($question,.$default.=.null).
139060 7b 0a 24 74 68 69 73 2d 3e 71 75 65 73 74 69 6f 6e 20 3d 20 24 71 75 65 73 74 69 6f 6e 3b 0a 24 {.$this->question.=.$question;.$
139080 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 20 3d 20 24 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a this->default.=.$default;.}.....
1390a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 51 75 65 73 74 69 6f 6e 28 29 0a ..public.function.getQuestion().
1390c0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 71 75 65 73 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a {.return.$this->question;.}.....
1390e0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 66 61 75 6c 74 28 29 0a 7b ..public.function.getDefault().{
139100 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a .return.$this->default;.}.......
139120 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 48 69 64 64 65 6e 28 29 0a 7b 0a 72 65 74 public.function.isHidden().{.ret
139140 75 72 6e 20 24 74 68 69 73 2d 3e 68 69 64 64 65 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 urn.$this->hidden;.}...........p
139160 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 69 64 64 65 6e 28 24 68 69 64 64 65 6e ublic.function.setHidden($hidden
139180 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 ).{.if.($this->autocompleterValu
1391a0 65 73 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 es).{.throw.new.LogicException('
1391c0 41 20 68 69 64 64 65 6e 20 71 75 65 73 74 69 6f 6e 20 63 61 6e 6e 6f 74 20 75 73 65 20 74 68 65 A.hidden.question.cannot.use.the
1391e0 20 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 68 69 64 .autocompleter.');.}..$this->hid
139200 64 65 6e 20 3d 20 28 62 6f 6f 6c 29 20 24 68 69 64 64 65 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 den.=.(bool).$hidden;..return.$t
139220 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 48 his;.}.......public.function.isH
139240 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e iddenFallback().{.return.$this->
139260 68 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 hiddenFallback;.}.........public
139280 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 28 24 66 61 6c .function.setHiddenFallback($fal
1392a0 6c 62 61 63 6b 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 69 64 64 65 6e 46 61 6c 6c 62 61 63 6b 20 3d lback).{.$this->hiddenFallback.=
1392c0 20 28 62 6f 6f 6c 29 20 24 66 61 6c 6c 62 61 63 6b 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 .(bool).$fallback;..return.$this
1392e0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 75 74 ;.}.......public.function.getAut
139300 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ocompleterValues().{.return.$thi
139320 73 2d 3e 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a s->autocompleterValues;.}.......
139340 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 75 74 6f 63 6f 6d 70 .....public.function.setAutocomp
139360 6c 65 74 65 72 56 61 6c 75 65 73 28 24 76 61 6c 75 65 73 29 0a 7b 0a 69 66 20 28 5c 69 73 5f 61 leterValues($values).{.if.(\is_a
139380 72 72 61 79 28 24 76 61 6c 75 65 73 29 29 20 7b 0a 24 76 61 6c 75 65 73 20 3d 20 24 74 68 69 73 rray($values)).{.$values.=.$this
1393a0 2d 3e 69 73 41 73 73 6f 63 28 24 76 61 6c 75 65 73 29 20 3f 20 61 72 72 61 79 5f 6d 65 72 67 65 ->isAssoc($values).?.array_merge
1393c0 28 61 72 72 61 79 5f 6b 65 79 73 28 24 76 61 6c 75 65 73 29 2c 20 61 72 72 61 79 5f 76 61 6c 75 (array_keys($values),.array_valu
1393e0 65 73 28 24 76 61 6c 75 65 73 29 29 20 3a 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 76 61 6c es($values)).:.array_values($val
139400 75 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 76 61 6c 75 65 73 20 26 26 ues);.}..if.(null.!==.$values.&&
139420 20 21 5c 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 73 29 20 26 26 20 21 24 76 61 6c 75 65 73 .!\is_array($values).&&.!$values
139440 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 72 61 76 65 72 73 61 62 6c 65 29 20 7b 0a 74 68 72 6f .instanceof.\Traversable).{.thro
139460 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 w.new.InvalidArgumentException('
139480 41 75 74 6f 63 6f 6d 70 6c 65 74 65 72 20 76 61 6c 75 65 73 20 63 61 6e 20 62 65 20 65 69 74 68 Autocompleter.values.can.be.eith
1394a0 65 72 20 61 6e 20 61 72 72 61 79 2c 20 60 6e 75 6c 6c 60 20 6f 72 20 61 20 60 54 72 61 76 65 72 er.an.array,.`null`.or.a.`Traver
1394c0 73 61 62 6c 65 60 20 6f 62 6a 65 63 74 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e sable`.object.');.}..if.($this->
1394e0 68 69 64 64 65 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 hidden).{.throw.new.LogicExcepti
139500 6f 6e 28 27 41 20 68 69 64 64 65 6e 20 71 75 65 73 74 69 6f 6e 20 63 61 6e 6e 6f 74 20 75 73 65 on('A.hidden.question.cannot.use
139520 20 74 68 65 20 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d .the.autocompleter.');.}..$this-
139540 3e 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 56 61 6c 75 65 73 20 3d 20 24 76 61 6c 75 65 73 3b 0a >autocompleterValues.=.$values;.
139560 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .return.$this;.}.........public.
139580 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 69 64 61 74 6f 72 function.setValidator($validator
1395a0 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 76 61 6c 69 64 61 74 6f ).{.$this->validator.=.$validato
1395c0 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 r;..return.$this;.}.......public
1395e0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 61 6c 69 64 61 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 .function.getValidator().{.retur
139600 6e 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a n.$this->validator;.}...........
139620 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 61 78 41 74 74 65 6d 70 74 73 ..public.function.setMaxAttempts
139640 28 24 61 74 74 65 6d 70 74 73 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 74 74 65 ($attempts).{.if.(null.!==.$atte
139660 6d 70 74 73 20 26 26 20 24 61 74 74 65 6d 70 74 73 20 3c 20 31 29 20 7b 0a 74 68 72 6f 77 20 6e mpts.&&.$attempts.<.1).{.throw.n
139680 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 4d 61 78 ew.InvalidArgumentException('Max
1396a0 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 61 74 74 65 6d 70 74 73 20 6d 75 73 74 20 62 65 20 imum.number.of.attempts.must.be.
1396c0 61 20 70 6f 73 69 74 69 76 65 20 76 61 6c 75 65 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 a.positive.value.');.}..$this->a
1396e0 74 74 65 6d 70 74 73 20 3d 20 24 61 74 74 65 6d 70 74 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 ttempts.=.$attempts;..return.$th
139700 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 is;.}.........public.function.ge
139720 74 4d 61 78 41 74 74 65 6d 70 74 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 tMaxAttempts().{.return.$this->a
139740 74 74 65 6d 70 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ttempts;.}...........public.func
139760 74 69 6f 6e 20 73 65 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 24 6e 6f 72 6d 61 6c 69 7a 65 72 29 0a tion.setNormalizer($normalizer).
139780 7b 0a 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 72 20 3d 20 24 6e 6f 72 6d 61 6c 69 7a 65 {.$this->normalizer.=.$normalize
1397a0 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c r;..return.$this;.}.........publ
1397c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 6f 72 6d 61 6c 69 7a 65 72 28 29 0a 7b 0a 72 65 ic.function.getNormalizer().{.re
1397e0 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 72 3b 0a 7d 0a 0a 70 72 6f 74 65 turn.$this->normalizer;.}..prote
139800 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 73 73 6f 63 28 24 61 72 72 61 79 29 0a 7b 0a cted.function.isAssoc($array).{.
139820 72 65 74 75 72 6e 20 28 62 6f 6f 6c 29 20 5c 63 6f 75 6e 74 28 61 72 72 61 79 5f 66 69 6c 74 65 return.(bool).\count(array_filte
139840 72 28 61 72 72 61 79 5f 6b 65 79 73 28 24 61 72 72 61 79 29 2c 20 27 69 73 5f 73 74 72 69 6e 67 r(array_keys($array),.'is_string
139860 27 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 '));.}.}.<?php...........namespa
139880 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 3b 0a 0a 75 ce.Symfony\Component\Console;..u
1398a0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 78 63 se.Symfony\Component\Console\Exc
1398c0 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d eption\RuntimeException;.use.Sym
1398e0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 53 74 72 fony\Component\Console\Input\Str
139900 69 6e 67 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ingInput;.use.Symfony\Component\
139920 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 3b 0a 75 73 Console\Output\ConsoleOutput;.us
139940 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 68 70 45 e.Symfony\Component\Process\PhpE
139960 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d xecutableFinder;.use.Symfony\Com
139980 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 42 75 69 6c 64 65 72 3b 0a 0a ponent\Process\ProcessBuilder;..
1399a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 68 65 6c 6c 0a 7b 0a 70 72 69 76 61 74 65 ...........class.Shell.{.private
1399c0 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 68 69 73 74 6f 72 79 3b .$application;.private.$history;
1399e0 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 68 61 73 52 65 .private.$output;.private.$hasRe
139a00 61 64 6c 69 6e 65 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f adline;.private.$processIsolatio
139a20 6e 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 n.=.false;......public.function.
139a40 5f 5f 63 6f 6e 73 74 72 75 63 74 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 __construct(Application.$applica
139a60 74 69 6f 6e 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f tion).{.@trigger_error('The.'.__
139a80 43 4c 41 53 53 5f 5f 2e 27 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 CLASS__.'.class.is.deprecated.si
139aa0 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f nce.Symfony.2.8.and.will.be.remo
139ac0 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 ved.in.3.0.',.E_USER_DEPRECATED)
139ae0 3b 0a 0a 24 74 68 69 73 2d 3e 68 61 73 52 65 61 64 6c 69 6e 65 20 3d 20 5c 66 75 6e 63 74 69 6f ;..$this->hasReadline.=.\functio
139b00 6e 5f 65 78 69 73 74 73 28 27 72 65 61 64 6c 69 6e 65 27 29 3b 0a 24 74 68 69 73 2d 3e 61 70 70 n_exists('readline');.$this->app
139b20 6c 69 63 61 74 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 24 74 68 69 73 2d 3e lication.=.$application;.$this->
139b40 68 69 73 74 6f 72 79 20 3d 20 67 65 74 65 6e 76 28 27 48 4f 4d 45 27 29 2e 27 2f 2e 68 69 73 74 history.=.getenv('HOME').'/.hist
139b60 6f 72 79 5f 27 2e 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 24 ory_'.$application->getName();.$
139b80 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 43 6f 6e 73 6f 6c 65 4f 75 74 70 75 74 this->output.=.new.ConsoleOutput
139ba0 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 29 0a ();.}.....public.function.run().
139bc0 7b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 73 65 74 41 75 74 6f 45 78 69 {.$this->application->setAutoExi
139be0 74 28 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 73 65 t(false);.$this->application->se
139c00 74 43 61 74 63 68 45 78 63 65 70 74 69 6f 6e 73 28 74 72 75 65 29 3b 0a 0a 69 66 20 28 24 74 68 tCatchExceptions(true);..if.($th
139c20 69 73 2d 3e 68 61 73 52 65 61 64 6c 69 6e 65 29 20 7b 0a 72 65 61 64 6c 69 6e 65 5f 72 65 61 64 is->hasReadline).{.readline_read
139c40 5f 68 69 73 74 6f 72 79 28 24 74 68 69 73 2d 3e 68 69 73 74 6f 72 79 29 3b 0a 72 65 61 64 6c 69 _history($this->history);.readli
139c60 6e 65 5f 63 6f 6d 70 6c 65 74 69 6f 6e 5f 66 75 6e 63 74 69 6f 6e 28 61 72 72 61 79 28 24 74 68 ne_completion_function(array($th
139c80 69 73 2c 20 27 61 75 74 6f 63 6f 6d 70 6c 65 74 65 72 27 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d is,.'autocompleter'));.}..$this-
139ca0 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 74 68 69 73 2d 3e 67 65 74 48 65 61 64 65 >output->writeln($this->getHeade
139cc0 72 28 29 29 3b 0a 24 70 68 70 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 r());.$php.=.null;.if.($this->pr
139ce0 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 29 20 7b 0a 24 66 69 6e 64 65 72 20 3d 20 6e 65 77 20 ocessIsolation).{.$finder.=.new.
139d00 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 28 29 3b 0a 24 70 68 70 20 3d 20 24 66 PhpExecutableFinder();.$php.=.$f
139d20 69 6e 64 65 72 2d 3e 66 69 6e 64 28 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 inder->find();.$this->output->wr
139d40 69 74 65 6c 6e 28 3c 3c 3c 27 45 4f 46 27 0a 3c 69 6e 66 6f 3e 52 75 6e 6e 69 6e 67 20 77 69 74 iteln(<<<'EOF'.<info>Running.wit
139d60 68 20 70 72 6f 63 65 73 73 20 69 73 6f 6c 61 74 69 6f 6e 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 h.process.isolation,.you.should.
139d80 63 6f 6e 73 69 64 65 72 20 74 68 69 73 3a 3c 2f 69 6e 66 6f 3e 0a 20 20 2a 20 65 61 63 68 20 63 consider.this:</info>...*.each.c
139da0 6f 6d 6d 61 6e 64 20 69 73 20 65 78 65 63 75 74 65 64 20 61 73 20 73 65 70 61 72 61 74 65 20 70 ommand.is.executed.as.separate.p
139dc0 72 6f 63 65 73 73 2c 0a 20 20 2a 20 63 6f 6d 6d 61 6e 64 73 20 64 6f 6e 27 74 20 73 75 70 70 6f rocess,...*.commands.don't.suppo
139de0 72 74 20 69 6e 74 65 72 61 63 74 69 76 69 74 79 2c 20 61 6c 6c 20 70 61 72 61 6d 73 20 6d 75 73 rt.interactivity,.all.params.mus
139e00 74 20 62 65 20 70 61 73 73 65 64 20 65 78 70 6c 69 63 69 74 6c 79 2c 0a 20 20 2a 20 63 6f 6d 6d t.be.passed.explicitly,...*.comm
139e20 61 6e 64 73 20 6f 75 74 70 75 74 20 69 73 20 6e 6f 74 20 63 6f 6c 6f 72 69 7a 65 64 2e 0a 0a 45 ands.output.is.not.colorized...E
139e40 4f 46 0a 29 3b 0a 7d 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 OF.);.}..while.(true).{.$command
139e60 20 3d 20 24 74 68 69 73 2d 3e 72 65 61 64 6c 69 6e 65 28 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 .=.$this->readline();..if.(false
139e80 20 3d 3d 3d 20 24 63 6f 6d 6d 61 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e .===.$command).{.$this->output->
139ea0 77 72 69 74 65 6c 6e 28 22 5c 6e 22 29 3b 0a 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 69 66 20 28 24 74 writeln("\n");..break;.}..if.($t
139ec0 68 69 73 2d 3e 68 61 73 52 65 61 64 6c 69 6e 65 29 20 7b 0a 72 65 61 64 6c 69 6e 65 5f 61 64 64 his->hasReadline).{.readline_add
139ee0 5f 68 69 73 74 6f 72 79 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 72 65 61 64 6c 69 6e 65 5f 77 72 69 _history($command);.readline_wri
139f00 74 65 5f 68 69 73 74 6f 72 79 28 24 74 68 69 73 2d 3e 68 69 73 74 6f 72 79 29 3b 0a 7d 0a 0a 69 te_history($this->history);.}..i
139f20 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 29 20 7b 0a 24 70 f.($this->processIsolation).{.$p
139f40 62 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 42 75 69 6c 64 65 72 28 29 3b 0a 0a 24 70 72 6f 63 b.=.new.ProcessBuilder();..$proc
139f60 65 73 73 20 3d 20 24 70 62 0a 2d 3e 61 64 64 28 24 70 68 70 29 0a 2d 3e 61 64 64 28 24 5f 53 45 ess.=.$pb.->add($php).->add($_SE
139f80 52 56 45 52 5b 27 61 72 67 76 27 5d 5b 30 5d 29 0a 2d 3e 61 64 64 28 24 63 6f 6d 6d 61 6e 64 29 RVER['argv'][0]).->add($command)
139fa0 0a 2d 3e 69 6e 68 65 72 69 74 45 6e 76 69 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 73 28 74 .->inheritEnvironmentVariables(t
139fc0 72 75 65 29 0a 2d 3e 67 65 74 50 72 6f 63 65 73 73 28 29 0a 3b 0a 0a 24 6f 75 74 70 75 74 20 3d rue).->getProcess().;..$output.=
139fe0 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 24 70 72 6f 63 65 73 73 2d 3e 72 75 6e 28 66 75 .$this->output;.$process->run(fu
13a000 6e 63 74 69 6f 6e 20 28 24 74 79 70 65 2c 20 24 64 61 74 61 29 20 75 73 65 20 28 24 6f 75 74 70 nction.($type,.$data).use.($outp
13a020 75 74 29 20 7b 0a 24 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 64 61 74 61 29 3b 0a 7d ut).{.$output->writeln($data);.}
13a040 29 3b 0a 0a 24 72 65 74 20 3d 20 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 );..$ret.=.$process->getExitCode
13a060 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 74 20 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 ();.}.else.{.$ret.=.$this->appli
13a080 63 61 74 69 6f 6e 2d 3e 72 75 6e 28 6e 65 77 20 53 74 72 69 6e 67 49 6e 70 75 74 28 24 63 6f 6d cation->run(new.StringInput($com
13a0a0 6d 61 6e 64 29 2c 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 69 66 20 28 30 20 mand),.$this->output);.}..if.(0.
13a0c0 21 3d 3d 20 24 72 65 74 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 !==.$ret).{.$this->output->write
13a0e0 6c 6e 28 73 70 72 69 6e 74 66 28 27 3c 65 72 72 6f 72 3e 54 68 65 20 63 6f 6d 6d 61 6e 64 20 74 ln(sprintf('<error>The.command.t
13a100 65 72 6d 69 6e 61 74 65 64 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 73 74 61 74 75 73 20 28 erminated.with.an.error.status.(
13a120 25 73 29 3c 2f 65 72 72 6f 72 3e 27 2c 20 24 72 65 74 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a %s)</error>',.$ret));.}.}.}.....
13a140 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 61 64 65 72 28 29 ..protected.function.getHeader()
13a160 0a 7b 0a 72 65 74 75 72 6e 20 3c 3c 3c 45 4f 46 0a 0a 57 65 6c 63 6f 6d 65 20 74 6f 20 74 68 65 .{.return.<<<EOF..Welcome.to.the
13a180 20 3c 69 6e 66 6f 3e 7b 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e .<info>{$this->application->getN
13a1a0 61 6d 65 28 29 7d 3c 2f 69 6e 66 6f 3e 20 73 68 65 6c 6c 20 28 3c 63 6f 6d 6d 65 6e 74 3e 7b 24 ame()}</info>.shell.(<comment>{$
13a1c0 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 7d this->application->getVersion()}
13a1e0 3c 2f 63 6f 6d 6d 65 6e 74 3e 29 2e 0a 0a 41 74 20 74 68 65 20 70 72 6f 6d 70 74 2c 20 74 79 70 </comment>)...At.the.prompt,.typ
13a200 65 20 3c 63 6f 6d 6d 65 6e 74 3e 68 65 6c 70 3c 2f 63 6f 6d 6d 65 6e 74 3e 20 66 6f 72 20 73 6f e.<comment>help</comment>.for.so
13a220 6d 65 20 68 65 6c 70 2c 0a 6f 72 20 3c 63 6f 6d 6d 65 6e 74 3e 6c 69 73 74 3c 2f 63 6f 6d 6d 65 me.help,.or.<comment>list</comme
13a240 6e 74 3e 20 74 6f 20 67 65 74 20 61 20 6c 69 73 74 20 6f 66 20 61 76 61 69 6c 61 62 6c 65 20 63 nt>.to.get.a.list.of.available.c
13a260 6f 6d 6d 61 6e 64 73 2e 0a 0a 54 6f 20 65 78 69 74 20 74 68 65 20 73 68 65 6c 6c 2c 20 74 79 70 ommands...To.exit.the.shell,.typ
13a280 65 20 3c 63 6f 6d 6d 65 6e 74 3e 5e 44 3c 2f 63 6f 6d 6d 65 6e 74 3e 2e 0a 0a 45 4f 46 3b 0a 7d e.<comment>^D</comment>...EOF;.}
13a2a0 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f .......protected.function.getPro
13a2c0 6d 70 74 28 29 0a 7b 0a 0a 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e mpt().{...return.$this->output->
13a2e0 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2d 3e 66 6f 72 6d 61 74 28 24 74 68 69 73 2d 3e 61 70 getFormatter()->format($this->ap
13a300 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 20 3e 20 27 29 3b 0a 7d 0a 0a plication->getName().'.>.');.}..
13a320 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 0a 7b protected.function.getOutput().{
13a340 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 0a 70 72 6f 74 65 63 .return.$this->output;.}..protec
13a360 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 0a 7b 0a ted.function.getApplication().{.
13a380 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a return.$this->application;.}....
13a3a0 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 63 6f 6d 70 6c 65 .....private.function.autocomple
13a3c0 74 65 72 28 24 74 65 78 74 29 0a 7b 0a 24 69 6e 66 6f 20 3d 20 72 65 61 64 6c 69 6e 65 5f 69 6e ter($text).{.$info.=.readline_in
13a3e0 66 6f 28 29 3b 0a 24 74 65 78 74 20 3d 20 73 75 62 73 74 72 28 24 69 6e 66 6f 5b 27 6c 69 6e 65 fo();.$text.=.substr($info['line
13a400 5f 62 75 66 66 65 72 27 5d 2c 20 30 2c 20 24 69 6e 66 6f 5b 27 65 6e 64 27 5d 29 3b 0a 0a 69 66 _buffer'],.0,.$info['end']);..if
13a420 20 28 24 69 6e 66 6f 5b 27 70 6f 69 6e 74 27 5d 20 21 3d 3d 20 24 69 6e 66 6f 5b 27 65 6e 64 27 .($info['point'].!==.$info['end'
13a440 5d 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 ]).{.return.true;.}....if.(false
13a460 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 74 65 78 74 2c 20 27 20 27 29 20 7c 7c 20 21 24 74 65 78 .===.strpos($text,.'.').||.!$tex
13a480 74 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 61 70 t).{.return.array_keys($this->ap
13a4a0 70 6c 69 63 61 74 69 6f 6e 2d 3e 61 6c 6c 28 29 29 3b 0a 7d 0a 0a 0a 20 74 72 79 20 7b 0a 24 63 plication->all());.}....try.{.$c
13a4c0 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 66 69 6e ommand.=.$this->application->fin
13a4e0 64 28 73 75 62 73 74 72 28 24 74 65 78 74 2c 20 30 2c 20 73 74 72 70 6f 73 28 24 74 65 78 74 2c d(substr($text,.0,.strpos($text,
13a500 20 27 20 27 29 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 .'.')));.}.catch.(\Exception.$e)
13a520 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 6c 69 73 74 20 3d 20 61 72 72 61 79 .{.return.true;.}..$list.=.array
13a540 28 27 2d 2d 68 65 6c 70 27 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6d 6d 61 6e 64 2d 3e 67 ('--help');.foreach.($command->g
13a560 65 74 44 65 66 69 6e 69 74 69 6f 6e 28 29 2d 3e 67 65 74 4f 70 74 69 6f 6e 73 28 29 20 61 73 20 etDefinition()->getOptions().as.
13a580 24 6f 70 74 69 6f 6e 29 20 7b 0a 24 6c 69 73 74 5b 5d 20 3d 20 27 2d 2d 27 2e 24 6f 70 74 69 6f $option).{.$list[].=.'--'.$optio
13a5a0 6e 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 69 73 74 3b 0a 7d n->getName();.}..return.$list;.}
13a5c0 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 6c 69 6e 65 .......private.function.readline
13a5e0 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 73 52 65 61 64 6c 69 6e 65 29 20 7b 0a 24 ().{.if.($this->hasReadline).{.$
13a600 6c 69 6e 65 20 3d 20 72 65 61 64 6c 69 6e 65 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 6d 70 74 line.=.readline($this->getPrompt
13a620 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 ());.}.else.{.$this->output->wri
13a640 74 65 28 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 6d 70 74 28 29 29 3b 0a 24 6c 69 6e 65 20 3d 20 te($this->getPrompt());.$line.=.
13a660 66 67 65 74 73 28 53 54 44 49 4e 2c 20 31 30 32 34 29 3b 0a 24 6c 69 6e 65 20 3d 20 28 66 61 6c fgets(STDIN,.1024);.$line.=.(fal
13a680 73 65 20 3d 3d 3d 20 24 6c 69 6e 65 20 7c 7c 20 27 27 20 3d 3d 3d 20 24 6c 69 6e 65 29 20 3f 20 se.===.$line.||.''.===.$line).?.
13a6a0 66 61 6c 73 65 20 3a 20 72 74 72 69 6d 28 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 false.:.rtrim($line);.}..return.
13a6c0 24 6c 69 6e 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f $line;.}..public.function.getPro
13a6e0 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e cessIsolation().{.return.$this->
13a700 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 processIsolation;.}..public.func
13a720 74 69 6f 6e 20 73 65 74 50 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 28 24 70 72 6f 63 65 73 tion.setProcessIsolation($proces
13a740 73 49 73 6f 6c 61 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 73 6f 6c sIsolation).{.$this->processIsol
13a760 61 74 69 6f 6e 20 3d 20 28 62 6f 6f 6c 29 20 24 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e ation.=.(bool).$processIsolation
13a780 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 73 6f 6c 61 74 69 6f 6e 20 26 ;..if.($this->processIsolation.&
13a7a0 26 20 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e &.!class_exists('Symfony\\Compon
13a7c0 65 6e 74 5c 5c 50 72 6f 63 65 73 73 5c 5c 50 72 6f 63 65 73 73 27 29 29 20 7b 0a 74 68 72 6f 77 ent\\Process\\Process')).{.throw
13a7e0 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f .new.RuntimeException('Unable.to
13a800 20 69 73 6f 6c 61 74 65 20 70 72 6f 63 65 73 73 65 73 20 61 73 20 74 68 65 20 53 79 6d 66 6f 6e .isolate.processes.as.the.Symfon
13a820 79 20 50 72 6f 63 65 73 73 20 43 6f 6d 70 6f 6e 65 6e 74 20 69 73 20 6e 6f 74 20 69 6e 73 74 61 y.Process.Component.is.not.insta
13a840 6c 6c 65 64 2e 27 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e lled.');.}.}.}.<?php...........n
13a860 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f amespace.Symfony\Component\Conso
13a880 6c 65 5c 53 74 79 6c 65 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 le\Style;..use.Symfony\Component
13a8a0 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 \Console\Formatter\OutputFormatt
13a8c0 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 erInterface;.use.Symfony\Compone
13a8e0 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 50 72 6f 67 72 65 73 73 42 61 72 3b 0a 75 nt\Console\Helper\ProgressBar;.u
13a900 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 se.Symfony\Component\Console\Out
13a920 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 put\OutputInterface;.......abstr
13a940 61 63 74 20 63 6c 61 73 73 20 4f 75 74 70 75 74 53 74 79 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 73 act.class.OutputStyle.implements
13a960 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 2c 20 53 74 79 6c 65 49 6e 74 65 72 66 61 63 65 .OutputInterface,.StyleInterface
13a980 0a 7b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .{.private.$output;..public.func
13a9a0 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 tion.__construct(OutputInterface
13a9c0 20 24 6f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 24 6f 75 74 .$output).{.$this->output.=.$out
13a9e0 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 77 4c 69 put;.}.....public.function.newLi
13aa00 6e 65 28 24 63 6f 75 6e 74 20 3d 20 31 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e ne($count.=.1).{.$this->output->
13aa20 77 72 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 28 50 48 50 5f 45 4f 4c 2c 20 24 63 6f 75 6e 74 write(str_repeat(PHP_EOL,.$count
13aa40 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 ));.}.......public.function.crea
13aa60 74 65 50 72 6f 67 72 65 73 73 42 61 72 28 24 6d 61 78 20 3d 20 30 29 0a 7b 0a 72 65 74 75 72 6e teProgressBar($max.=.0).{.return
13aa80 20 6e 65 77 20 50 72 6f 67 72 65 73 73 42 61 72 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2c 20 .new.ProgressBar($this->output,.
13aaa0 24 6d 61 78 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 $max);.}.....public.function.wri
13aac0 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 3d 20 66 61 6c 73 65 2c 20 te($messages,.$newline.=.false,.
13aae0 24 74 79 70 65 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 $type.=.self::OUTPUT_NORMAL).{.$
13ab00 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 this->output->write($messages,.$
13ab20 6e 65 77 6c 69 6e 65 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 newline,.$type);.}.....public.fu
13ab40 6e 63 74 69 6f 6e 20 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 20 nction.writeln($messages,.$type.
13ab60 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d 41 4c 29 0a 7b 0a 24 74 68 69 73 2d 3e =.self::OUTPUT_NORMAL).{.$this->
13ab80 6f 75 74 70 75 74 2d 3e 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 output->writeln($messages,.$type
13aba0 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 56 65 72 62 );.}.....public.function.setVerb
13abc0 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 osity($level).{.$this->output->s
13abe0 65 74 56 65 72 62 6f 73 69 74 79 28 24 6c 65 76 65 6c 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 etVerbosity($level);.}.....publi
13ac00 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 0a 7b 0a 72 65 74 75 c.function.getVerbosity().{.retu
13ac20 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 29 rn.$this->output->getVerbosity()
13ac40 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 63 6f 72 ;.}.....public.function.setDecor
13ac60 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 ated($decorated).{.$this->output
13ac80 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 64 65 63 6f 72 61 74 65 64 29 3b 0a 7d 0a 0a 0a ->setDecorated($decorated);.}...
13aca0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 63 6f 72 61 74 65 64 28 29 0a ..public.function.isDecorated().
13acc0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 69 73 44 65 63 6f 72 61 {.return.$this->output->isDecora
13ace0 74 65 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 ted();.}.....public.function.set
13ad00 46 6f 72 6d 61 74 74 65 72 28 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 49 6e 74 65 72 66 61 Formatter(OutputFormatterInterfa
13ad20 63 65 20 24 66 6f 72 6d 61 74 74 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e ce.$formatter).{.$this->output->
13ad40 73 65 74 46 6f 72 6d 61 74 74 65 72 28 24 66 6f 72 6d 61 74 74 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a setFormatter($formatter);.}.....
13ad60 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 0a 7b public.function.getFormatter().{
13ad80 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d 61 74 .return.$this->output->getFormat
13ada0 74 65 72 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 ter();.}.}.<?php...........names
13adc0 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 53 pace.Symfony\Component\Console\S
13ade0 74 79 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 53 74 79 6c 65 49 6e 74 65 72 tyle;.......interface.StyleInter
13ae00 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 69 74 6c face.{......public.function.titl
13ae20 65 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 e($message);.......public.functi
13ae40 6f 6e 20 73 65 63 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 on.section($message);.....public
13ae60 20 66 75 6e 63 74 69 6f 6e 20 6c 69 73 74 69 6e 67 28 61 72 72 61 79 20 24 65 6c 65 6d 65 6e 74 .function.listing(array.$element
13ae80 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 78 74 28 24 s);.......public.function.text($
13aea0 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 message);.......public.function.
13aec0 73 75 63 63 65 73 73 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 success($message);.......public.
13aee0 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a function.error($message);.......
13af00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 61 67 65 public.function.warning($message
13af20 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 65 28 24 6d );.......public.function.note($m
13af40 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 essage);.......public.function.c
13af60 61 75 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e aution($message);.....public.fun
13af80 63 74 69 6f 6e 20 74 61 62 6c 65 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 2c 20 61 72 72 61 ction.table(array.$headers,.arra
13afa0 79 20 24 72 6f 77 73 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 y.$rows);...........public.funct
13afc0 69 6f 6e 20 61 73 6b 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 ion.ask($question,.$default.=.nu
13afe0 6c 6c 2c 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a ll,.$validator.=.null);.........
13b000 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 48 69 64 64 65 6e 28 24 71 75 65 73 .public.function.askHidden($ques
13b020 74 69 6f 6e 2c 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a tion,.$validator.=.null);.......
13b040 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 72 6d 28 24 71 75 65 73 ...public.function.confirm($ques
13b060 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 74 72 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a tion,.$default.=.true);.........
13b080 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 6f 69 63 65 28 24 71 75 65 73 74 69 ..public.function.choice($questi
13b0a0 6f 6e 2c 20 61 72 72 61 79 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e on,.array.$choices,.$default.=.n
13b0c0 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 77 4c ull);.......public.function.newL
13b0e0 69 6e 65 28 24 63 6f 75 6e 74 20 3d 20 31 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ine($count.=.1);.......public.fu
13b100 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 53 74 61 72 74 28 24 6d 61 78 20 3d 20 30 29 3b 0a nction.progressStart($max.=.0);.
13b120 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 41 64 ......public.function.progressAd
13b140 76 61 6e 63 65 28 24 73 74 65 70 20 3d 20 31 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e vance($step.=.1);.....public.fun
13b160 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 46 69 6e 69 73 68 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a ction.progressFinish();.}.<?php.
13b180 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ..........namespace.Symfony\Comp
13b1a0 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 53 74 79 6c 65 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e onent\Console\Style;..use.Symfon
13b1c0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b y\Component\Console\Application;
13b1e0 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 45 .use.Symfony\Component\Console\E
13b200 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 xception\RuntimeException;.use.S
13b220 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 46 6f 72 6d 61 74 74 ymfony\Component\Console\Formatt
13b240 65 72 5c 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c er\OutputFormatter;.use.Symfony\
13b260 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 48 65 6c 70 65 72 3b Component\Console\Helper\Helper;
13b280 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 .use.Symfony\Component\Console\H
13b2a0 65 6c 70 65 72 5c 50 72 6f 67 72 65 73 73 42 61 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 elper\ProgressBar;.use.Symfony\C
13b2c0 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 53 79 6d 66 6f 6e 79 51 omponent\Console\Helper\SymfonyQ
13b2e0 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f uestionHelper;.use.Symfony\Compo
13b300 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 48 65 6c 70 65 72 5c 54 61 62 6c 65 3b 0a 75 73 65 20 53 nent\Console\Helper\Table;.use.S
13b320 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 ymfony\Component\Console\Input\I
13b340 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f nputInterface;.use.Symfony\Compo
13b360 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 42 75 66 66 65 72 65 64 4f 75 74 70 nent\Console\Output\BufferedOutp
13b380 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c ut;.use.Symfony\Component\Consol
13b3a0 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 e\Output\OutputInterface;.use.Sy
13b3c0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e mfony\Component\Console\Question
13b3e0 5c 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d \ChoiceQuestion;.use.Symfony\Com
13b400 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 43 6f 6e 66 69 72 6d 61 ponent\Console\Question\Confirma
13b420 74 69 6f 6e 51 75 65 73 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e tionQuestion;.use.Symfony\Compon
13b440 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 51 75 65 73 74 69 6f 6e 5c 51 75 65 73 74 69 6f 6e 3b 0a 0a ent\Console\Question\Question;..
13b460 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 79 6d 66 6f 6e 79 53 74 79 6c 65 20 65 78 74 65 6e 64 73 20 .....class.SymfonyStyle.extends.
13b480 4f 75 74 70 75 74 53 74 79 6c 65 0a 7b 0a 63 6f 6e 73 74 20 4d 41 58 5f 4c 49 4e 45 5f 4c 45 4e OutputStyle.{.const.MAX_LINE_LEN
13b4a0 47 54 48 20 3d 20 31 32 30 3b 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 GTH.=.120;..private.$input;.priv
13b4c0 61 74 65 20 24 71 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 3b 0a 70 72 69 76 61 74 65 20 24 70 72 ate.$questionHelper;.private.$pr
13b4e0 6f 67 72 65 73 73 42 61 72 3b 0a 70 72 69 76 61 74 65 20 24 6c 69 6e 65 4c 65 6e 67 74 68 3b 0a ogressBar;.private.$lineLength;.
13b500 70 72 69 76 61 74 65 20 24 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 3b 0a 0a 70 75 62 6c 69 63 private.$bufferedOutput;..public
13b520 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 49 6e 70 75 74 49 6e 74 65 72 .function.__construct(InputInter
13b540 66 61 63 65 20 24 69 6e 70 75 74 2c 20 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 20 24 6f 75 face.$input,.OutputInterface.$ou
13b560 74 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 3b 0a 24 tput).{.$this->input.=.$input;.$
13b580 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 20 3d 20 6e 65 77 20 42 75 66 66 65 this->bufferedOutput.=.new.Buffe
13b5a0 72 65 64 4f 75 74 70 75 74 28 24 6f 75 74 70 75 74 2d 3e 67 65 74 56 65 72 62 6f 73 69 74 79 28 redOutput($output->getVerbosity(
13b5c0 29 2c 20 66 61 6c 73 65 2c 20 63 6c 6f 6e 65 20 24 6f 75 74 70 75 74 2d 3e 67 65 74 46 6f 72 6d ),.false,.clone.$output->getForm
13b5e0 61 74 74 65 72 28 29 29 3b 0a 0a 20 24 74 68 69 73 2d 3e 6c 69 6e 65 4c 65 6e 67 74 68 20 3d 20 atter());...$this->lineLength.=.
13b600 6d 69 6e 28 24 74 68 69 73 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 57 69 64 74 68 28 29 20 2d 20 min($this->getTerminalWidth().-.
13b620 28 69 6e 74 29 20 28 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 3d 3d 3d 20 (int).(\DIRECTORY_SEPARATOR.===.
13b640 27 5c 5c 27 29 2c 20 73 65 6c 66 3a 3a 4d 41 58 5f 4c 49 4e 45 5f 4c 45 4e 47 54 48 29 3b 0a 0a '\\'),.self::MAX_LINE_LENGTH);..
13b660 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a parent::__construct($output);.}.
13b680 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 6c 6f 63 6b 28 ..........public.function.block(
13b6a0 24 6d 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 79 6c 65 20 $messages,.$type.=.null,.$style.
13b6c0 3d 20 6e 75 6c 6c 2c 20 24 70 72 65 66 69 78 20 3d 20 27 20 27 2c 20 24 70 61 64 64 69 6e 67 20 =.null,.$prefix.=.'.',.$padding.
13b6e0 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 5c 69 73 5f 61 72 72 61 79 =.false).{.$messages.=.\is_array
13b700 28 24 6d 65 73 73 61 67 65 73 29 20 3f 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 6d 65 73 73 ($messages).?.array_values($mess
13b720 61 67 65 73 29 20 3a 20 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 73 29 3b 0a 0a 24 74 68 69 73 ages).:.array($messages);..$this
13b740 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 ->autoPrependBlock();.$this->wri
13b760 74 65 6c 6e 28 24 74 68 69 73 2d 3e 63 72 65 61 74 65 42 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 teln($this->createBlock($message
13b780 73 2c 20 24 74 79 70 65 2c 20 24 73 74 79 6c 65 2c 20 24 70 72 65 66 69 78 2c 20 24 70 61 64 64 s,.$type,.$style,.$prefix,.$padd
13b7a0 69 6e 67 2c 20 74 72 75 65 29 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d ing,.true));.$this->newLine();.}
13b7c0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 69 74 6c 65 28 24 6d 65 73 73 .....public.function.title($mess
13b7e0 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 age).{.$this->autoPrependBlock()
13b800 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 61 72 72 61 79 28 0a 73 70 72 69 6e 74 66 28 ;.$this->writeln(array(.sprintf(
13b820 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 3e 27 2c 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 '<comment>%s</>',.OutputFormatte
13b840 72 3a 3a 65 73 63 61 70 65 54 72 61 69 6c 69 6e 67 42 61 63 6b 73 6c 61 73 68 28 24 6d 65 73 73 r::escapeTrailingBackslash($mess
13b860 61 67 65 29 29 2c 0a 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 3e 27 2c age)),.sprintf('<comment>%s</>',
13b880 20 73 74 72 5f 72 65 70 65 61 74 28 27 3d 27 2c 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 .str_repeat('=',.Helper::strlenW
13b8a0 69 74 68 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 46 6f 72 6d 61 ithoutDecoration($this->getForma
13b8c0 74 74 65 72 28 29 2c 20 24 6d 65 73 73 61 67 65 29 29 29 2c 0a 29 29 3b 0a 24 74 68 69 73 2d 3e tter(),.$message))),.));.$this->
13b8e0 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e newLine();.}.....public.function
13b900 20 73 65 63 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f .section($message).{.$this->auto
13b920 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 3b 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 61 PrependBlock();.$this->writeln(a
13b940 72 72 61 79 28 0a 73 70 72 69 6e 74 66 28 27 3c 63 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 3e 27 2c 20 rray(.sprintf('<comment>%s</>',.
13b960 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 54 72 61 69 6c 69 6e 67 42 OutputFormatter::escapeTrailingB
13b980 61 63 6b 73 6c 61 73 68 28 24 6d 65 73 73 61 67 65 29 29 2c 0a 73 70 72 69 6e 74 66 28 27 3c 63 ackslash($message)),.sprintf('<c
13b9a0 6f 6d 6d 65 6e 74 3e 25 73 3c 2f 3e 27 2c 20 73 74 72 5f 72 65 70 65 61 74 28 27 2d 27 2c 20 48 omment>%s</>',.str_repeat('-',.H
13b9c0 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 24 elper::strlenWithoutDecoration($
13b9e0 74 68 69 73 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 24 6d 65 73 73 61 67 65 29 29 this->getFormatter(),.$message))
13ba00 29 2c 0a 29 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 ),.));.$this->newLine();.}.....p
13ba20 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 69 73 74 69 6e 67 28 61 72 72 61 79 20 24 65 6c ublic.function.listing(array.$el
13ba40 65 6d 65 6e 74 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 54 65 78 74 ements).{.$this->autoPrependText
13ba60 28 29 3b 0a 24 65 6c 65 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 ();.$elements.=.array_map(functi
13ba80 6f 6e 20 28 24 65 6c 65 6d 65 6e 74 29 20 7b 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 on.($element).{.return.sprintf('
13baa0 20 2a 20 25 73 27 2c 20 24 65 6c 65 6d 65 6e 74 29 3b 0a 7d 2c 20 24 65 6c 65 6d 65 6e 74 73 29 .*.%s',.$element);.},.$elements)
13bac0 3b 0a 0a 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 24 65 6c 65 6d 65 6e 74 73 29 3b 0a 24 74 ;..$this->writeln($elements);.$t
13bae0 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e his->newLine();.}.....public.fun
13bb00 63 74 69 6f 6e 20 74 65 78 74 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 75 ction.text($message).{.$this->au
13bb20 74 6f 50 72 65 70 65 6e 64 54 65 78 74 28 29 3b 0a 0a 24 6d 65 73 73 61 67 65 73 20 3d 20 5c 69 toPrependText();..$messages.=.\i
13bb40 73 5f 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 29 20 3f 20 61 72 72 61 79 5f 76 61 6c 75 65 73 s_array($message).?.array_values
13bb60 28 24 6d 65 73 73 61 67 65 29 20 3a 20 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 29 3b 0a 66 6f ($message).:.array($message);.fo
13bb80 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 73 20 61 73 20 24 6d 65 73 73 61 67 65 29 20 7b 0a reach.($messages.as.$message).{.
13bba0 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 73 70 72 69 6e 74 66 28 27 20 25 73 27 2c 20 24 6d $this->writeln(sprintf('.%s',.$m
13bbc0 65 73 73 61 67 65 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 essage));.}.}.......public.funct
13bbe0 69 6f 6e 20 63 6f 6d 6d 65 6e 74 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 6d 65 73 73 61 67 65 ion.comment($message).{.$message
13bc00 73 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 6d 65 73 73 61 67 65 29 20 3f 20 61 72 72 61 79 5f s.=.\is_array($message).?.array_
13bc20 76 61 6c 75 65 73 28 24 6d 65 73 73 61 67 65 29 20 3a 20 61 72 72 61 79 28 24 6d 65 73 73 61 67 values($message).:.array($messag
13bc40 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 3b 0a e);..$this->autoPrependBlock();.
13bc60 24 74 68 69 73 2d 3e 77 72 69 74 65 6c 6e 28 24 74 68 69 73 2d 3e 63 72 65 61 74 65 42 6c 6f 63 $this->writeln($this->createBloc
13bc80 6b 28 24 6d 65 73 73 61 67 65 73 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c 2c 20 27 3c 66 67 3d 64 65 k($messages,.null,.null,.'<fg=de
13bca0 66 61 75 6c 74 3b 62 67 3d 64 65 66 61 75 6c 74 3e 20 2f 2f 20 3c 2f 3e 27 29 29 3b 0a 24 74 68 fault;bg=default>.//.</>'));.$th
13bcc0 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 is->newLine();.}.....public.func
13bce0 74 69 6f 6e 20 73 75 63 63 65 73 73 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e tion.success($message).{.$this->
13bd00 62 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 2c 20 27 4f 4b 27 2c 20 27 66 67 3d 62 6c 61 63 6b 3b block($message,.'OK',.'fg=black;
13bd20 62 67 3d 67 72 65 65 6e 27 2c 20 27 20 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 bg=green',.'.',.true);.}.....pub
13bd40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 lic.function.error($message).{.$
13bd60 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 2c 20 27 45 52 52 4f 52 27 2c 20 27 this->block($message,.'ERROR',.'
13bd80 66 67 3d 77 68 69 74 65 3b 62 67 3d 72 65 64 27 2c 20 27 20 27 2c 20 74 72 75 65 29 3b 0a 7d 0a fg=white;bg=red',.'.',.true);.}.
13bda0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 72 6e 69 6e 67 28 24 6d 65 73 ....public.function.warning($mes
13bdc0 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 24 6d 65 73 73 61 67 65 2c 20 27 sage).{.$this->block($message,.'
13bde0 57 41 52 4e 49 4e 47 27 2c 20 27 66 67 3d 77 68 69 74 65 3b 62 67 3d 72 65 64 27 2c 20 27 20 27 WARNING',.'fg=white;bg=red',.'.'
13be00 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e ,.true);.}.....public.function.n
13be20 6f 74 65 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 24 6d 65 ote($message).{.$this->block($me
13be40 73 73 61 67 65 2c 20 27 4e 4f 54 45 27 2c 20 27 66 67 3d 79 65 6c 6c 6f 77 27 2c 20 27 20 21 20 ssage,.'NOTE',.'fg=yellow',.'.!.
13be60 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 61 75 74 69 6f ');.}.....public.function.cautio
13be80 6e 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 28 24 6d 65 73 73 n($message).{.$this->block($mess
13bea0 61 67 65 2c 20 27 43 41 55 54 49 4f 4e 27 2c 20 27 66 67 3d 77 68 69 74 65 3b 62 67 3d 72 65 64 age,.'CAUTION',.'fg=white;bg=red
13bec0 27 2c 20 27 20 21 20 27 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ',.'.!.',.true);.}.....public.fu
13bee0 6e 63 74 69 6f 6e 20 74 61 62 6c 65 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 2c 20 61 72 72 nction.table(array.$headers,.arr
13bf00 61 79 20 24 72 6f 77 73 29 0a 7b 0a 24 73 74 79 6c 65 20 3d 20 63 6c 6f 6e 65 20 54 61 62 6c 65 ay.$rows).{.$style.=.clone.Table
13bf20 3a 3a 67 65 74 53 74 79 6c 65 44 65 66 69 6e 69 74 69 6f 6e 28 27 73 79 6d 66 6f 6e 79 2d 73 74 ::getStyleDefinition('symfony-st
13bf40 79 6c 65 2d 67 75 69 64 65 27 29 3b 0a 24 73 74 79 6c 65 2d 3e 73 65 74 43 65 6c 6c 48 65 61 64 yle-guide');.$style->setCellHead
13bf60 65 72 46 6f 72 6d 61 74 28 27 3c 69 6e 66 6f 3e 25 73 3c 2f 69 6e 66 6f 3e 27 29 3b 0a 0a 24 74 erFormat('<info>%s</info>');..$t
13bf80 61 62 6c 65 20 3d 20 6e 65 77 20 54 61 62 6c 65 28 24 74 68 69 73 29 3b 0a 24 74 61 62 6c 65 2d able.=.new.Table($this);.$table-
13bfa0 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 65 61 64 65 72 73 29 3b 0a 24 74 61 62 6c 65 2d 3e 73 >setHeaders($headers);.$table->s
13bfc0 65 74 52 6f 77 73 28 24 72 6f 77 73 29 3b 0a 24 74 61 62 6c 65 2d 3e 73 65 74 53 74 79 6c 65 28 etRows($rows);.$table->setStyle(
13bfe0 24 73 74 79 6c 65 29 3b 0a 0a 24 74 61 62 6c 65 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 24 74 68 69 $style);..$table->render();.$thi
13c000 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 s->newLine();.}.....public.funct
13c020 69 6f 6e 20 61 73 6b 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 ion.ask($question,.$default.=.nu
13c040 6c 6c 2c 20 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 71 75 65 73 74 69 ll,.$validator.=.null).{.$questi
13c060 6f 6e 20 3d 20 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 on.=.new.Question($question,.$de
13c080 66 61 75 6c 74 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 fault);.$question->setValidator(
13c0a0 24 76 61 6c 69 64 61 74 6f 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 73 6b 51 $validator);..return.$this->askQ
13c0c0 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 uestion($question);.}.....public
13c0e0 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 48 69 64 64 65 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 .function.askHidden($question,.$
13c100 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 71 75 65 73 74 69 6f 6e 20 3d 20 validator.=.null).{.$question.=.
13c120 6e 65 77 20 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 24 71 75 65 73 74 new.Question($question);..$quest
13c140 69 6f 6e 2d 3e 73 65 74 48 69 64 64 65 6e 28 74 72 75 65 29 3b 0a 24 71 75 65 73 74 69 6f 6e 2d ion->setHidden(true);.$question-
13c160 3e 73 65 74 56 61 6c 69 64 61 74 6f 72 28 24 76 61 6c 69 64 61 74 6f 72 29 3b 0a 0a 72 65 74 75 >setValidator($validator);..retu
13c180 72 6e 20 24 74 68 69 73 2d 3e 61 73 6b 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 29 rn.$this->askQuestion($question)
13c1a0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 72 6d 28 ;.}.....public.function.confirm(
13c1c0 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 74 72 75 65 29 0a 7b 0a 72 65 $question,.$default.=.true).{.re
13c1e0 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 73 6b 51 75 65 73 74 69 6f 6e 28 6e 65 77 20 43 6f 6e 66 turn.$this->askQuestion(new.Conf
13c200 69 72 6d 61 74 69 6f 6e 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 69 6f 6e 2c 20 24 64 65 66 irmationQuestion($question,.$def
13c220 61 75 6c 74 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 ault));.}.....public.function.ch
13c240 6f 69 63 65 28 24 71 75 65 73 74 69 6f 6e 2c 20 61 72 72 61 79 20 24 63 68 6f 69 63 65 73 2c 20 oice($question,.array.$choices,.
13c260 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 $default.=.null).{.if.(null.!==.
13c280 24 64 65 66 61 75 6c 74 29 20 7b 0a 24 76 61 6c 75 65 73 20 3d 20 61 72 72 61 79 5f 66 6c 69 70 $default).{.$values.=.array_flip
13c2a0 28 24 63 68 6f 69 63 65 73 29 3b 0a 24 64 65 66 61 75 6c 74 20 3d 20 24 76 61 6c 75 65 73 5b 24 ($choices);.$default.=.$values[$
13c2c0 64 65 66 61 75 6c 74 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 73 6b 51 75 default];.}..return.$this->askQu
13c2e0 65 73 74 69 6f 6e 28 6e 65 77 20 43 68 6f 69 63 65 51 75 65 73 74 69 6f 6e 28 24 71 75 65 73 74 estion(new.ChoiceQuestion($quest
13c300 69 6f 6e 2c 20 24 63 68 6f 69 63 65 73 2c 20 24 64 65 66 61 75 6c 74 29 29 3b 0a 7d 0a 0a 0a 0a ion,.$choices,.$default));.}....
13c320 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 53 74 61 72 74 28 24 .public.function.progressStart($
13c340 6d 61 78 20 3d 20 30 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 42 61 72 20 3d 20 max.=.0).{.$this->progressBar.=.
13c360 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 72 6f 67 72 65 73 73 42 61 72 28 24 6d 61 78 29 3b 0a $this->createProgressBar($max);.
13c380 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 42 61 72 2d 3e 73 74 61 72 74 28 29 3b 0a 7d 0a 0a $this->progressBar->start();.}..
13c3a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 41 64 76 61 6e ...public.function.progressAdvan
13c3c0 63 65 28 24 73 74 65 70 20 3d 20 31 29 0a 7b 0a 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 67 72 65 ce($step.=.1).{.$this->getProgre
13c3e0 73 73 42 61 72 28 29 2d 3e 61 64 76 61 6e 63 65 28 24 73 74 65 70 29 3b 0a 7d 0a 0a 0a 0a 0a 70 ssBar()->advance($step);.}.....p
13c400 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 67 72 65 73 73 46 69 6e 69 73 68 28 29 0a ublic.function.progressFinish().
13c420 7b 0a 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 67 72 65 73 73 42 61 72 28 29 2d 3e 66 69 6e 69 73 {.$this->getProgressBar()->finis
13c440 68 28 29 3b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 32 29 3b 0a 24 74 68 69 73 2d 3e 70 h();.$this->newLine(2);.$this->p
13c460 72 6f 67 72 65 73 73 42 61 72 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 rogressBar.=.null;.}.....public.
13c480 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 50 72 6f 67 72 65 73 73 42 61 72 28 24 6d 61 78 20 function.createProgressBar($max.
13c4a0 3d 20 30 29 0a 7b 0a 24 70 72 6f 67 72 65 73 73 42 61 72 20 3d 20 70 61 72 65 6e 74 3a 3a 63 72 =.0).{.$progressBar.=.parent::cr
13c4c0 65 61 74 65 50 72 6f 67 72 65 73 73 42 61 72 28 24 6d 61 78 29 3b 0a 0a 69 66 20 28 27 5c 5c 27 eateProgressBar($max);..if.('\\'
13c4e0 20 21 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 7c 7c 20 27 48 79 .!==.\DIRECTORY_SEPARATOR.||.'Hy
13c500 70 65 72 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 54 45 52 4d 5f 50 52 4f 47 52 41 4d 27 29 29 per'.===.getenv('TERM_PROGRAM'))
13c520 20 7b 0a 24 70 72 6f 67 72 65 73 73 42 61 72 2d 3e 73 65 74 45 6d 70 74 79 42 61 72 43 68 61 72 .{.$progressBar->setEmptyBarChar
13c540 61 63 74 65 72 28 27 e2 96 91 27 29 3b 20 0a 20 24 70 72 6f 67 72 65 73 73 42 61 72 2d 3e 73 65 acter('...');...$progressBar->se
13c560 74 50 72 6f 67 72 65 73 73 43 68 61 72 61 63 74 65 72 28 27 27 29 3b 0a 24 70 72 6f 67 72 65 73 tProgressCharacter('');.$progres
13c580 73 42 61 72 2d 3e 73 65 74 42 61 72 43 68 61 72 61 63 74 65 72 28 27 e2 96 93 27 29 3b 20 0a 20 sBar->setBarCharacter('...');...
13c5a0 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 67 72 65 73 73 42 61 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 }..return.$progressBar;.}.....pu
13c5c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 73 6b 51 75 65 73 74 69 6f 6e 28 51 75 65 73 74 69 blic.function.askQuestion(Questi
13c5e0 6f 6e 20 24 71 75 65 73 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 on.$question).{.if.($this->input
13c600 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 75 74 6f ->isInteractive()).{.$this->auto
13c620 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 71 PrependBlock();.}..if.(!$this->q
13c640 75 65 73 74 69 6f 6e 48 65 6c 70 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 71 75 65 73 74 69 6f 6e uestionHelper).{.$this->question
13c660 48 65 6c 70 65 72 20 3d 20 6e 65 77 20 53 79 6d 66 6f 6e 79 51 75 65 73 74 69 6f 6e 48 65 6c 70 Helper.=.new.SymfonyQuestionHelp
13c680 65 72 28 29 3b 0a 7d 0a 0a 24 61 6e 73 77 65 72 20 3d 20 24 74 68 69 73 2d 3e 71 75 65 73 74 69 er();.}..$answer.=.$this->questi
13c6a0 6f 6e 48 65 6c 70 65 72 2d 3e 61 73 6b 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 onHelper->ask($this->input,.$thi
13c6c0 73 2c 20 24 71 75 65 73 74 69 6f 6e 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 s,.$question);..if.($this->input
13c6e0 2d 3e 69 73 49 6e 74 65 72 61 63 74 69 76 65 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c ->isInteractive()).{.$this->newL
13c700 69 6e 65 28 29 3b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e 77 72 ine();.$this->bufferedOutput->wr
13c720 69 74 65 28 22 5c 6e 22 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 6e 73 77 65 72 3b 0a 7d 0a ite("\n");.}..return.$answer;.}.
13c740 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 6c 6e 28 24 6d 65 73 ....public.function.writeln($mes
13c760 73 61 67 65 73 2c 20 24 74 79 70 65 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f 52 4d sages,.$type.=.self::OUTPUT_NORM
13c780 41 4c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 77 72 69 74 65 6c 6e 28 24 6d 65 73 73 61 67 65 73 2c AL).{.parent::writeln($messages,
13c7a0 20 24 74 79 70 65 29 3b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e .$type);.$this->bufferedOutput->
13c7c0 77 72 69 74 65 6c 6e 28 24 74 68 69 73 2d 3e 72 65 64 75 63 65 42 75 66 66 65 72 28 24 6d 65 73 writeln($this->reduceBuffer($mes
13c7e0 73 61 67 65 73 29 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e sages),.$type);.}.....public.fun
13c800 63 74 69 6f 6e 20 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c 20 24 6e 65 77 6c 69 6e 65 20 ction.write($messages,.$newline.
13c820 3d 20 66 61 6c 73 65 2c 20 24 74 79 70 65 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 50 55 54 5f 4e 4f =.false,.$type.=.self::OUTPUT_NO
13c840 52 4d 41 4c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 77 72 69 74 65 28 24 6d 65 73 73 61 67 65 73 2c RMAL).{.parent::write($messages,
13c860 20 24 6e 65 77 6c 69 6e 65 2c 20 24 74 79 70 65 29 3b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 .$newline,.$type);.$this->buffer
13c880 65 64 4f 75 74 70 75 74 2d 3e 77 72 69 74 65 28 24 74 68 69 73 2d 3e 72 65 64 75 63 65 42 75 66 edOutput->write($this->reduceBuf
13c8a0 66 65 72 28 24 6d 65 73 73 61 67 65 73 29 2c 20 24 6e 65 77 6c 69 6e 65 2c 20 24 74 79 70 65 29 fer($messages),.$newline,.$type)
13c8c0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 77 4c 69 6e 65 28 ;.}.....public.function.newLine(
13c8e0 24 63 6f 75 6e 74 20 3d 20 31 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 6e 65 77 4c 69 6e 65 28 24 63 $count.=.1).{.parent::newLine($c
13c900 6f 75 6e 74 29 3b 0a 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e 77 72 ount);.$this->bufferedOutput->wr
13c920 69 74 65 28 73 74 72 5f 72 65 70 65 61 74 28 22 5c 6e 22 2c 20 24 63 6f 75 6e 74 29 29 3b 0a 7d ite(str_repeat("\n",.$count));.}
13c940 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 67 72 65 73 .....private.function.getProgres
13c960 73 42 61 72 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 42 61 72 sBar().{.if.(!$this->progressBar
13c980 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 ).{.throw.new.RuntimeException('
13c9a0 54 68 65 20 50 72 6f 67 72 65 73 73 42 61 72 20 69 73 20 6e 6f 74 20 73 74 61 72 74 65 64 2e 27 The.ProgressBar.is.not.started.'
13c9c0 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 67 72 65 73 73 42 61 72 3b );.}..return.$this->progressBar;
13c9e0 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 65 72 6d 69 6e 61 6c .}..private.function.getTerminal
13ca00 57 69 64 74 68 28 29 0a 7b 0a 24 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 6e 65 77 20 41 70 70 Width().{.$application.=.new.App
13ca20 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 24 64 69 6d 65 6e 73 69 6f 6e 73 20 3d 20 24 61 70 70 6c 69 lication();.$dimensions.=.$appli
13ca40 63 61 74 69 6f 6e 2d 3e 67 65 74 54 65 72 6d 69 6e 61 6c 44 69 6d 65 6e 73 69 6f 6e 73 28 29 3b cation->getTerminalDimensions();
13ca60 0a 0a 72 65 74 75 72 6e 20 24 64 69 6d 65 6e 73 69 6f 6e 73 5b 30 5d 20 3f 3a 20 73 65 6c 66 3a ..return.$dimensions[0].?:.self:
13ca80 3a 4d 41 58 5f 4c 49 4e 45 5f 4c 45 4e 47 54 48 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e :MAX_LINE_LENGTH;.}..private.fun
13caa0 63 74 69 6f 6e 20 61 75 74 6f 50 72 65 70 65 6e 64 42 6c 6f 63 6b 28 29 0a 7b 0a 24 63 68 61 72 ction.autoPrependBlock().{.$char
13cac0 73 20 3d 20 73 75 62 73 74 72 28 73 74 72 5f 72 65 70 6c 61 63 65 28 50 48 50 5f 45 4f 4c 2c 20 s.=.substr(str_replace(PHP_EOL,.
13cae0 22 5c 6e 22 2c 20 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e 66 65 74 "\n",.$this->bufferedOutput->fet
13cb00 63 68 28 29 29 2c 20 2d 32 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 63 68 61 72 73 5b 30 ch()),.-2);..if.(!isset($chars[0
13cb20 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b 20 0a ])).{.return.$this->newLine();..
13cb40 20 7d 0a 0a 20 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 32 20 2d 20 73 75 62 73 74 72 5f 63 .}...$this->newLine(2.-.substr_c
13cb60 6f 75 6e 74 28 24 63 68 61 72 73 2c 20 22 5c 6e 22 29 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 ount($chars,."\n"));.}..private.
13cb80 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 50 72 65 70 65 6e 64 54 65 78 74 28 29 0a 7b 0a 24 66 65 function.autoPrependText().{.$fe
13cba0 74 63 68 65 64 20 3d 20 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d 3e 66 tched.=.$this->bufferedOutput->f
13cbc0 65 74 63 68 28 29 3b 0a 0a 20 69 66 20 28 22 5c 6e 22 20 21 3d 3d 20 73 75 62 73 74 72 28 24 66 etch();...if.("\n".!==.substr($f
13cbe0 65 74 63 68 65 64 2c 20 2d 31 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 65 77 4c 69 6e 65 28 29 3b etched,.-1)).{.$this->newLine();
13cc00 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 64 75 63 65 42 75 66 .}.}..private.function.reduceBuf
13cc20 66 65 72 28 24 6d 65 73 73 61 67 65 73 29 0a 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 61 72 72 61 fer($messages).{.....return.arra
13cc40 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 7b 0a 72 65 74 75 72 6e y_map(function.($value).{.return
13cc60 20 73 75 62 73 74 72 28 24 76 61 6c 75 65 2c 20 2d 34 29 3b 0a 7d 2c 20 61 72 72 61 79 5f 6d 65 .substr($value,.-4);.},.array_me
13cc80 72 67 65 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 62 75 66 66 65 72 65 64 4f 75 74 70 75 74 2d rge(array($this->bufferedOutput-
13cca0 3e 66 65 74 63 68 28 29 29 2c 20 28 61 72 72 61 79 29 20 24 6d 65 73 73 61 67 65 73 29 29 3b 0a >fetch()),.(array).$messages));.
13ccc0 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 42 6c 6f 63 6b 28 }..private.function.createBlock(
13cce0 24 6d 65 73 73 61 67 65 73 2c 20 24 74 79 70 65 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 79 6c 65 20 $messages,.$type.=.null,.$style.
13cd00 3d 20 6e 75 6c 6c 2c 20 24 70 72 65 66 69 78 20 3d 20 27 20 27 2c 20 24 70 61 64 64 69 6e 67 20 =.null,.$prefix.=.'.',.$padding.
13cd20 3d 20 66 61 6c 73 65 2c 20 24 65 73 63 61 70 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 69 6e 64 =.false,.$escape.=.false).{.$ind
13cd40 65 6e 74 4c 65 6e 67 74 68 20 3d 20 30 3b 0a 24 70 72 65 66 69 78 4c 65 6e 67 74 68 20 3d 20 48 entLength.=.0;.$prefixLength.=.H
13cd60 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 65 63 6f 72 61 74 69 6f 6e 28 24 elper::strlenWithoutDecoration($
13cd80 74 68 69 73 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c 20 24 70 72 65 66 69 78 29 3b 0a this->getFormatter(),.$prefix);.
13cda0 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 $lines.=.array();..if.(null.!==.
13cdc0 24 74 79 70 65 29 20 7b 0a 24 74 79 70 65 20 3d 20 73 70 72 69 6e 74 66 28 27 5b 25 73 5d 20 27 $type).{.$type.=.sprintf('[%s].'
13cde0 2c 20 24 74 79 70 65 29 3b 0a 24 69 6e 64 65 6e 74 4c 65 6e 67 74 68 20 3d 20 5c 73 74 72 6c 65 ,.$type);.$indentLength.=.\strle
13ce00 6e 28 24 74 79 70 65 29 3b 0a 24 6c 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e 20 3d 20 73 74 72 n($type);.$lineIndentation.=.str
13ce20 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 69 6e 64 65 6e 74 4c 65 6e 67 74 68 29 3b 0a 7d 0a 0a _repeat('.',.$indentLength);.}..
13ce40 0a 20 66 6f 72 65 61 63 68 20 28 24 6d 65 73 73 61 67 65 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 ..foreach.($messages.as.$key.=>.
13ce60 24 6d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 28 24 65 73 63 61 70 65 29 20 7b 0a 24 6d 65 73 73 $message).{.if.($escape).{.$mess
13ce80 61 67 65 20 3d 20 4f 75 74 70 75 74 46 6f 72 6d 61 74 74 65 72 3a 3a 65 73 63 61 70 65 28 24 6d age.=.OutputFormatter::escape($m
13cea0 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 24 6c 69 6e 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 essage);.}..$lines.=.array_merge
13cec0 28 24 6c 69 6e 65 73 2c 20 65 78 70 6c 6f 64 65 28 50 48 50 5f 45 4f 4c 2c 20 77 6f 72 64 77 72 ($lines,.explode(PHP_EOL,.wordwr
13cee0 61 70 28 24 6d 65 73 73 61 67 65 2c 20 24 74 68 69 73 2d 3e 6c 69 6e 65 4c 65 6e 67 74 68 20 2d ap($message,.$this->lineLength.-
13cf00 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 20 2d 20 24 69 6e 64 65 6e 74 4c 65 6e 67 74 68 2c 20 .$prefixLength.-.$indentLength,.
13cf20 50 48 50 5f 45 4f 4c 2c 20 74 72 75 65 29 29 29 3b 0a 0a 69 66 20 28 5c 63 6f 75 6e 74 28 24 6d PHP_EOL,.true)));..if.(\count($m
13cf40 65 73 73 61 67 65 73 29 20 3e 20 31 20 26 26 20 24 6b 65 79 20 3c 20 5c 63 6f 75 6e 74 28 24 6d essages).>.1.&&.$key.<.\count($m
13cf60 65 73 73 61 67 65 73 29 20 2d 20 31 29 20 7b 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 27 27 3b 0a 7d essages).-.1).{.$lines[].=.'';.}
13cf80 0a 7d 0a 0a 24 66 69 72 73 74 4c 69 6e 65 49 6e 64 65 78 20 3d 20 30 3b 0a 69 66 20 28 24 70 61 .}..$firstLineIndex.=.0;.if.($pa
13cfa0 64 64 69 6e 67 20 26 26 20 24 74 68 69 73 2d 3e 69 73 44 65 63 6f 72 61 74 65 64 28 29 29 20 7b dding.&&.$this->isDecorated()).{
13cfc0 0a 24 66 69 72 73 74 4c 69 6e 65 49 6e 64 65 78 20 3d 20 31 3b 0a 61 72 72 61 79 5f 75 6e 73 68 .$firstLineIndex.=.1;.array_unsh
13cfe0 69 66 74 28 24 6c 69 6e 65 73 2c 20 27 27 29 3b 0a 24 6c 69 6e 65 73 5b 5d 20 3d 20 27 27 3b 0a ift($lines,.'');.$lines[].=.'';.
13d000 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6c 69 6e 65 73 20 61 73 20 24 69 20 3d 3e 20 26 24 6c 69 }..foreach.($lines.as.$i.=>.&$li
13d020 6e 65 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 6c 69 6e ne).{.if.(null.!==.$type).{.$lin
13d040 65 20 3d 20 24 66 69 72 73 74 4c 69 6e 65 49 6e 64 65 78 20 3d 3d 3d 20 24 69 20 3f 20 24 74 79 e.=.$firstLineIndex.===.$i.?.$ty
13d060 70 65 2e 24 6c 69 6e 65 20 3a 20 24 6c 69 6e 65 49 6e 64 65 6e 74 61 74 69 6f 6e 2e 24 6c 69 6e pe.$line.:.$lineIndentation.$lin
13d080 65 3b 0a 7d 0a 0a 24 6c 69 6e 65 20 3d 20 24 70 72 65 66 69 78 2e 24 6c 69 6e 65 3b 0a 24 6c 69 e;.}..$line.=.$prefix.$line;.$li
13d0a0 6e 65 20 2e 3d 20 73 74 72 5f 72 65 70 65 61 74 28 27 20 27 2c 20 24 74 68 69 73 2d 3e 6c 69 6e ne..=.str_repeat('.',.$this->lin
13d0c0 65 4c 65 6e 67 74 68 20 2d 20 48 65 6c 70 65 72 3a 3a 73 74 72 6c 65 6e 57 69 74 68 6f 75 74 44 eLength.-.Helper::strlenWithoutD
13d0e0 65 63 6f 72 61 74 69 6f 6e 28 24 74 68 69 73 2d 3e 67 65 74 46 6f 72 6d 61 74 74 65 72 28 29 2c ecoration($this->getFormatter(),
13d100 20 24 6c 69 6e 65 29 29 3b 0a 0a 69 66 20 28 24 73 74 79 6c 65 29 20 7b 0a 24 6c 69 6e 65 20 3d .$line));..if.($style).{.$line.=
13d120 20 73 70 72 69 6e 74 66 28 27 3c 25 73 3e 25 73 3c 2f 3e 27 2c 20 24 73 74 79 6c 65 2c 20 24 6c .sprintf('<%s>%s</>',.$style,.$l
13d140 69 6e 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 69 6e 65 73 3b 0a 7d 0a 7d 0a 3c 3f ine);.}.}..return.$lines;.}.}.<?
13d160 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
13d180 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 54 65 73 74 65 72 3b 0a 0a 75 73 65 20 53 Component\Console\Tester;..use.S
13d1a0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 41 70 70 6c 69 63 61 ymfony\Component\Console\Applica
13d1c0 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 tion;.use.Symfony\Component\Cons
13d1e0 6f 6c 65 5c 49 6e 70 75 74 5c 41 72 72 61 79 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e ole\Input\ArrayInput;.use.Symfon
13d200 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 y\Component\Console\Input\InputI
13d220 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c nterface;.use.Symfony\Component\
13d240 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a Console\Output\OutputInterface;.
13d260 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 use.Symfony\Component\Console\Ou
13d280 74 70 75 74 5c 53 74 72 65 61 6d 4f 75 74 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c tput\StreamOutput;............cl
13d2a0 61 73 73 20 41 70 70 6c 69 63 61 74 69 6f 6e 54 65 73 74 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 ass.ApplicationTester.{.private.
13d2c0 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 $application;.private.$input;.pr
13d2e0 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 43 6f ivate.$output;.private.$statusCo
13d300 64 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 de;..public.function.__construct
13d320 28 41 70 70 6c 69 63 61 74 69 6f 6e 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 29 0a 7b 0a 24 74 68 (Application.$application).{.$th
13d340 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 20 3d 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 3b 0a is->application.=.$application;.
13d360 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e }................public.function
13d380 20 72 75 6e 28 61 72 72 61 79 20 24 69 6e 70 75 74 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 .run(array.$input,.$options.=.ar
13d3a0 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 6e 65 77 20 41 72 72 61 ray()).{.$this->input.=.new.Arra
13d3c0 79 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f yInput($input);.if.(isset($optio
13d3e0 6e 73 5b 27 69 6e 74 65 72 61 63 74 69 76 65 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 ns['interactive'])).{.$this->inp
13d400 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 24 6f 70 74 69 6f 6e 73 5b 27 69 6e 74 ut->setInteractive($options['int
13d420 65 72 61 63 74 69 76 65 27 5d 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 eractive']);.}..$this->output.=.
13d440 6e 65 77 20 53 74 72 65 61 6d 4f 75 74 70 75 74 28 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6d 65 new.StreamOutput(fopen('php://me
13d460 6d 6f 72 79 27 2c 20 27 77 27 2c 20 66 61 6c 73 65 29 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 mory',.'w',.false));.if.(isset($
13d480 6f 70 74 69 6f 6e 73 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e options['decorated'])).{.$this->
13d4a0 6f 75 74 70 75 74 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 24 6f 70 74 69 6f 6e 73 5b 27 64 output->setDecorated($options['d
13d4c0 65 63 6f 72 61 74 65 64 27 5d 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e ecorated']);.}.if.(isset($option
13d4e0 73 5b 27 76 65 72 62 6f 73 69 74 79 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 s['verbosity'])).{.$this->output
13d500 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6f 70 74 69 6f 6e 73 5b 27 76 65 72 62 6f 73 69 ->setVerbosity($options['verbosi
13d520 74 79 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f ty']);.}..return.$this->statusCo
13d540 64 65 20 3d 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 72 75 6e 28 24 74 68 de.=.$this->application->run($th
13d560 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a 0a 0a is->input,.$this->output);.}....
13d580 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 69 73 70 6c 61 79 28 .....public.function.getDisplay(
13d5a0 24 6e 6f 72 6d 61 6c 69 7a 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 72 65 77 69 6e 64 28 24 74 68 $normalize.=.false).{.rewind($th
13d5c0 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 24 64 69 73 70 is->output->getStream());..$disp
13d5e0 6c 61 79 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d lay.=.stream_get_contents($this-
13d600 3e 6f 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b 0a 0a 69 66 20 28 24 6e 6f 72 >output->getStream());..if.($nor
13d620 6d 61 6c 69 7a 65 29 20 7b 0a 24 64 69 73 70 6c 61 79 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 malize).{.$display.=.str_replace
13d640 28 50 48 50 5f 45 4f 4c 2c 20 22 5c 6e 22 2c 20 24 64 69 73 70 6c 61 79 29 3b 0a 7d 0a 0a 72 65 (PHP_EOL,."\n",.$display);.}..re
13d660 74 75 72 6e 20 24 64 69 73 70 6c 61 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 turn.$display;.}.......public.fu
13d680 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 nction.getInput().{.return.$this
13d6a0 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ->input;.}.......public.function
13d6c0 20 67 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 .getOutput().{.return.$this->out
13d6e0 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 put;.}.......public.function.get
13d700 53 74 61 74 75 73 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 StatusCode().{.return.$this->sta
13d720 74 75 73 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d tusCode;.}.}.<?php...........nam
13d740 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 espace.Symfony\Component\Console
13d760 5c 54 65 73 74 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c \Tester;..use.Symfony\Component\
13d780 43 6f 6e 73 6f 6c 65 5c 43 6f 6d 6d 61 6e 64 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d Console\Command\Command;.use.Sym
13d7a0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 41 72 72 fony\Component\Console\Input\Arr
13d7c0 61 79 49 6e 70 75 74 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 ayInput;.use.Symfony\Component\C
13d7e0 6f 6e 73 6f 6c 65 5c 49 6e 70 75 74 5c 49 6e 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 onsole\Input\InputInterface;.use
13d800 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 .Symfony\Component\Console\Outpu
13d820 74 5c 4f 75 74 70 75 74 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 t\OutputInterface;.use.Symfony\C
13d840 6f 6d 70 6f 6e 65 6e 74 5c 43 6f 6e 73 6f 6c 65 5c 4f 75 74 70 75 74 5c 53 74 72 65 61 6d 4f 75 omponent\Console\Output\StreamOu
13d860 74 70 75 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d 61 6e 64 54 65 73 74 65 72 0a tput;.......class.CommandTester.
13d880 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 {.private.$command;.private.$inp
13d8a0 75 74 3b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 73 74 ut;.private.$output;.private.$st
13d8c0 61 74 75 73 43 6f 64 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e atusCode;..public.function.__con
13d8e0 73 74 72 75 63 74 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 74 68 69 73 struct(Command.$command).{.$this
13d900 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ->command.=.$command;.}.........
13d920 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 61 .......public.function.execute(a
13d940 72 72 61 79 20 24 69 6e 70 75 74 2c 20 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 rray.$input,.array.$options.=.ar
13d960 72 61 79 28 29 29 0a 7b 0a 0a 20 0a 20 69 66 20 28 21 69 73 73 65 74 28 24 69 6e 70 75 74 5b 27 ray()).{.....if.(!isset($input['
13d980 63 6f 6d 6d 61 6e 64 27 5d 29 0a 26 26 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 61 70 70 6c 69 63 61 command']).&&.(null.!==.$applica
13d9a0 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 2d 3e 67 65 74 41 70 70 6c 69 63 tion.=.$this->command->getApplic
13d9c0 61 74 69 6f 6e 28 29 29 0a 26 26 20 24 61 70 70 6c 69 63 61 74 69 6f 6e 2d 3e 67 65 74 44 65 66 ation()).&&.$application->getDef
13d9e0 69 6e 69 74 69 6f 6e 28 29 2d 3e 68 61 73 41 72 67 75 6d 65 6e 74 28 27 63 6f 6d 6d 61 6e 64 27 inition()->hasArgument('command'
13da00 29 0a 29 20 7b 0a 24 69 6e 70 75 74 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 ).).{.$input.=.array_merge(array
13da20 28 27 63 6f 6d 6d 61 6e 64 27 20 3d 3e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 2d 3e 67 65 ('command'.=>.$this->command->ge
13da40 74 4e 61 6d 65 28 29 29 2c 20 24 69 6e 70 75 74 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 70 tName()),.$input);.}..$this->inp
13da60 75 74 20 3d 20 6e 65 77 20 41 72 72 61 79 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 69 66 20 ut.=.new.ArrayInput($input);.if.
13da80 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 69 6e 74 65 72 61 63 74 69 76 65 27 5d 29 29 (isset($options['interactive']))
13daa0 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 2d 3e 73 65 74 49 6e 74 65 72 61 63 74 69 76 65 28 .{.$this->input->setInteractive(
13dac0 24 6f 70 74 69 6f 6e 73 5b 27 69 6e 74 65 72 61 63 74 69 76 65 27 5d 29 3b 0a 7d 0a 0a 24 74 68 $options['interactive']);.}..$th
13dae0 69 73 2d 3e 6f 75 74 70 75 74 20 3d 20 6e 65 77 20 53 74 72 65 61 6d 4f 75 74 70 75 74 28 66 6f is->output.=.new.StreamOutput(fo
13db00 70 65 6e 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 2c 20 27 77 27 2c 20 66 61 6c 73 65 29 29 pen('php://memory',.'w',.false))
13db20 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 44 65 63 6f 72 61 74 65 64 28 69 73 ;.$this->output->setDecorated(is
13db40 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 29 20 3f 20 24 6f 70 set($options['decorated']).?.$op
13db60 74 69 6f 6e 73 5b 27 64 65 63 6f 72 61 74 65 64 27 5d 20 3a 20 66 61 6c 73 65 29 3b 0a 69 66 20 tions['decorated'].:.false);.if.
13db80 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 76 65 72 62 6f 73 69 74 79 27 5d 29 29 20 7b (isset($options['verbosity'])).{
13dba0 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 73 65 74 56 65 72 62 6f 73 69 74 79 28 24 6f 70 .$this->output->setVerbosity($op
13dbc0 74 69 6f 6e 73 5b 27 76 65 72 62 6f 73 69 74 79 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 tions['verbosity']);.}..return.$
13dbe0 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e this->statusCode.=.$this->comman
13dc00 64 2d 3e 72 75 6e 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 69 73 2d 3e 6f 75 74 70 d->run($this->input,.$this->outp
13dc20 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 ut);.}.........public.function.g
13dc40 65 74 44 69 73 70 6c 61 79 28 24 6e 6f 72 6d 61 6c 69 7a 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a etDisplay($normalize.=.false).{.
13dc60 72 65 77 69 6e 64 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 rewind($this->output->getStream(
13dc80 29 29 3b 0a 0a 24 64 69 73 70 6c 61 79 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 ));..$display.=.stream_get_conte
13dca0 6e 74 73 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 2d 3e 67 65 74 53 74 72 65 61 6d 28 29 29 3b nts($this->output->getStream());
13dcc0 0a 0a 69 66 20 28 24 6e 6f 72 6d 61 6c 69 7a 65 29 20 7b 0a 24 64 69 73 70 6c 61 79 20 3d 20 73 ..if.($normalize).{.$display.=.s
13dce0 74 72 5f 72 65 70 6c 61 63 65 28 50 48 50 5f 45 4f 4c 2c 20 22 5c 6e 22 2c 20 24 64 69 73 70 6c tr_replace(PHP_EOL,."\n",.$displ
13dd00 61 79 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 69 73 70 6c 61 79 3b 0a 7d 0a 0a 0a 0a 0a 0a ay);.}..return.$display;.}......
13dd20 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 70 75 74 28 29 0a 7b 0a 72 65 .public.function.getInput().{.re
13dd40 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 turn.$this->input;.}.......publi
13dd60 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 75 74 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 c.function.getOutput().{.return.
13dd80 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 $this->output;.}.......public.fu
13dda0 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 nction.getStatusCode().{.return.
13ddc0 24 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f 64 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a $this->statusCode;.}.}.<?php....
13dde0 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
13de00 6e 74 5c 44 65 62 75 67 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 41 62 73 74 72 61 63 74 4c nt\Debug;..use.Psr\Log\AbstractL
13de20 6f 67 67 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 75 66 66 65 72 69 6e 67 4c 6f 67 67 ogger;.......class.BufferingLogg
13de40 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 0a 7b 0a 70 72 69 76 er.extends.AbstractLogger.{.priv
13de60 61 74 65 20 24 6c 6f 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e ate.$logs.=.array();..public.fun
13de80 63 74 69 6f 6e 20 6c 6f 67 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 ction.log($level,.$message,.arra
13dea0 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c y.$context.=.array()).{.$this->l
13dec0 6f 67 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 ogs[].=.array($level,.$message,.
13dee0 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c $context);.}..public.function.cl
13df00 65 61 6e 4c 6f 67 73 28 29 0a 7b 0a 24 6c 6f 67 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 67 73 3b eanLogs().{.$logs.=.$this->logs;
13df20 0a 24 74 68 69 73 2d 3e 6c 6f 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 72 65 74 75 72 6e 20 .$this->logs.=.array();..return.
13df40 24 6c 6f 67 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 $logs;.}.}.<?php...........names
13df60 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 3b 0a 0a 0a pace.Symfony\Component\Debug;...
13df80 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 62 75 67 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 ....class.Debug.{.private.static
13dfa0 20 24 65 6e 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c .$enabled.=.false;..........publ
13dfc0 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 28 24 65 72 72 6f 72 ic.static.function.enable($error
13dfe0 52 65 70 6f 72 74 69 6e 67 4c 65 76 65 6c 20 3d 20 6e 75 6c 6c 2c 20 24 64 69 73 70 6c 61 79 45 ReportingLevel.=.null,.$displayE
13e000 72 72 6f 72 73 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 73 74 61 74 69 63 3a 3a 24 65 6e 61 rrors.=.true).{.if.(static::$ena
13e020 62 6c 65 64 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 73 74 61 74 69 63 3a 3a 24 65 6e 61 62 bled).{.return;.}..static::$enab
13e040 6c 65 64 20 3d 20 74 72 75 65 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 72 72 6f 72 led.=.true;..if.(null.!==.$error
13e060 52 65 70 6f 72 74 69 6e 67 4c 65 76 65 6c 29 20 7b 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e ReportingLevel).{.error_reportin
13e080 67 28 24 65 72 72 6f 72 52 65 70 6f 72 74 69 6e 67 4c 65 76 65 6c 29 3b 0a 7d 20 65 6c 73 65 20 g($errorReportingLevel);.}.else.
13e0a0 7b 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 2d 31 29 3b 0a 7d 0a 0a 69 66 20 28 21 5c {.error_reporting(-1);.}..if.(!\
13e0c0 69 6e 5f 61 72 72 61 79 28 5c 50 48 50 5f 53 41 50 49 2c 20 61 72 72 61 79 28 27 63 6c 69 27 2c in_array(\PHP_SAPI,.array('cli',
13e0e0 20 27 70 68 70 64 62 67 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 69 6e 69 5f 73 65 74 28 27 64 69 .'phpdbg'),.true)).{.ini_set('di
13e100 73 70 6c 61 79 5f 65 72 72 6f 72 73 27 2c 20 30 29 3b 0a 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 splay_errors',.0);.ExceptionHand
13e120 6c 65 72 3a 3a 72 65 67 69 73 74 65 72 28 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 64 69 73 70 ler::register();.}.elseif.($disp
13e140 6c 61 79 45 72 72 6f 72 73 20 26 26 20 28 21 66 69 6c 74 65 72 5f 76 61 72 28 69 6e 69 5f 67 65 layErrors.&&.(!filter_var(ini_ge
13e160 74 28 27 6c 6f 67 5f 65 72 72 6f 72 73 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 t('log_errors'),.FILTER_VALIDATE
13e180 5f 42 4f 4f 4c 45 41 4e 29 20 7c 7c 20 69 6e 69 5f 67 65 74 28 27 65 72 72 6f 72 5f 6c 6f 67 27 _BOOLEAN).||.ini_get('error_log'
13e1a0 29 29 29 20 7b 0a 0a 20 69 6e 69 5f 73 65 74 28 27 64 69 73 70 6c 61 79 5f 65 72 72 6f 72 73 27 ))).{...ini_set('display_errors'
13e1c0 2c 20 31 29 3b 0a 7d 0a 69 66 20 28 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 29 20 7b 0a 45 72 ,.1);.}.if.($displayErrors).{.Er
13e1e0 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 72 65 67 69 73 74 65 72 28 6e 65 77 20 45 72 72 6f 72 48 61 rorHandler::register(new.ErrorHa
13e200 6e 64 6c 65 72 28 6e 65 77 20 42 75 66 66 65 72 69 6e 67 4c 6f 67 67 65 72 28 29 29 29 3b 0a 7d ndler(new.BufferingLogger()));.}
13e220 20 65 6c 73 65 20 7b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 72 65 67 69 73 74 65 72 28 29 .else.{.ErrorHandler::register()
13e240 2d 3e 74 68 72 6f 77 41 74 28 30 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 44 65 62 75 67 43 6c 61 73 ->throwAt(0,.true);.}..DebugClas
13e260 73 4c 6f 61 64 65 72 3a 3a 65 6e 61 62 6c 65 28 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a sLoader::enable();.}.}.<?php....
13e280 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
13e2a0 6e 74 5c 44 65 62 75 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 62 75 nt\Debug;.............class.Debu
13e2c0 67 43 6c 61 73 73 4c 6f 61 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6c 61 73 73 4c 6f 61 gClassLoader.{.private.$classLoa
13e2e0 64 65 72 3b 0a 70 72 69 76 61 74 65 20 24 69 73 46 69 6e 64 65 72 3b 0a 70 72 69 76 61 74 65 20 der;.private.$isFinder;.private.
13e300 24 6c 6f 61 64 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 77 61 73 46 $loaded.=.array();.private.$wasF
13e320 69 6e 64 65 72 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 61 73 65 43 68 65 63 6b inder;.private.static.$caseCheck
13e340 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 64 65 70 72 65 63 61 74 65 64 20 3d 20 61 ;.private.static.$deprecated.=.a
13e360 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 70 68 70 37 52 65 73 65 rray();.private.static.$php7Rese
13e380 72 76 65 64 20 3d 20 61 72 72 61 79 28 27 69 6e 74 27 2c 20 27 66 6c 6f 61 74 27 2c 20 27 62 6f rved.=.array('int',.'float',.'bo
13e3a0 6f 6c 27 2c 20 27 73 74 72 69 6e 67 27 2c 20 27 74 72 75 65 27 2c 20 27 66 61 6c 73 65 27 2c 20 ol',.'string',.'true',.'false',.
13e3c0 27 6e 75 6c 6c 27 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 64 61 72 77 69 6e 43 'null');.private.static.$darwinC
13e3e0 61 63 68 65 20 3d 20 61 72 72 61 79 28 27 2f 27 20 3d 3e 20 61 72 72 61 79 28 27 2f 27 2c 20 61 ache.=.array('/'.=>.array('/',.a
13e400 72 72 61 79 28 29 29 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f rray()));.....public.function.__
13e420 63 6f 6e 73 74 72 75 63 74 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 29 0a 7b 0a 24 74 68 69 73 2d construct($classLoader).{.$this-
13e440 3e 77 61 73 46 69 6e 64 65 72 20 3d 20 5c 69 73 5f 6f 62 6a 65 63 74 28 24 63 6c 61 73 73 4c 6f >wasFinder.=.\is_object($classLo
13e460 61 64 65 72 29 20 26 26 20 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 4c 6f 61 ader).&&.method_exists($classLoa
13e480 64 65 72 2c 20 27 66 69 6e 64 46 69 6c 65 27 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 77 61 der,.'findFile');..if.($this->wa
13e4a0 73 46 69 6e 64 65 72 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 sFinder).{.@trigger_error('The.'
13e4c0 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 77 69 6c 6c 20 6e 6f 20 6c 6f 6e .__METHOD__.'.method.will.no.lon
13e4e0 67 65 72 20 73 75 70 70 6f 72 74 20 72 65 63 65 69 76 69 6e 67 20 61 6e 20 6f 62 6a 65 63 74 20 ger.support.receiving.an.object.
13e500 69 6e 74 6f 20 69 74 73 20 24 63 6c 61 73 73 4c 6f 61 64 65 72 20 61 72 67 75 6d 65 6e 74 20 69 into.its.$classLoader.argument.i
13e520 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 24 74 68 n.3.0.',.E_USER_DEPRECATED);.$th
13e540 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 20 3d 20 61 72 72 61 79 28 24 63 6c 61 73 73 4c 6f is->classLoader.=.array($classLo
13e560 61 64 65 72 2c 20 27 6c 6f 61 64 43 6c 61 73 73 27 29 3b 0a 24 74 68 69 73 2d 3e 69 73 46 69 6e ader,.'loadClass');.$this->isFin
13e580 64 65 72 20 3d 20 74 72 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 der.=.true;.}.else.{.$this->clas
13e5a0 73 4c 6f 61 64 65 72 20 3d 20 24 63 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 24 74 68 69 73 2d 3e 69 sLoader.=.$classLoader;.$this->i
13e5c0 73 46 69 6e 64 65 72 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 sFinder.=.\is_array($classLoader
13e5e0 29 20 26 26 20 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 4c 6f 61 64 65 72 5b ).&&.method_exists($classLoader[
13e600 30 5d 2c 20 27 66 69 6e 64 46 69 6c 65 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 73 0],.'findFile');.}..if.(!isset(s
13e620 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 29 29 20 7b 0a 24 66 69 6c 65 20 3d 20 66 69 6c 65 elf::$caseCheck)).{.$file.=.file
13e640 5f 65 78 69 73 74 73 28 5f 5f 46 49 4c 45 5f 5f 29 20 3f 20 5f 5f 46 49 4c 45 5f 5f 20 3a 20 72 _exists(__FILE__).?.__FILE__.:.r
13e660 74 72 69 6d 28 72 65 61 6c 70 61 74 68 28 27 2e 27 29 2c 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 trim(realpath('.'),.\DIRECTORY_S
13e680 45 50 41 52 41 54 4f 52 29 3b 0a 24 69 20 3d 20 73 74 72 72 70 6f 73 28 24 66 69 6c 65 2c 20 5c EPARATOR);.$i.=.strrpos($file,.\
13e6a0 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 24 64 69 72 20 3d 20 73 75 62 DIRECTORY_SEPARATOR);.$dir.=.sub
13e6c0 73 74 72 28 24 66 69 6c 65 2c 20 30 2c 20 31 20 2b 20 24 69 29 3b 0a 24 66 69 6c 65 20 3d 20 73 str($file,.0,.1.+.$i);.$file.=.s
13e6e0 75 62 73 74 72 28 24 66 69 6c 65 2c 20 31 20 2b 20 24 69 29 3b 0a 24 74 65 73 74 20 3d 20 73 74 ubstr($file,.1.+.$i);.$test.=.st
13e700 72 74 6f 75 70 70 65 72 28 24 66 69 6c 65 29 20 3d 3d 3d 20 24 66 69 6c 65 20 3f 20 73 74 72 74 rtoupper($file).===.$file.?.strt
13e720 6f 6c 6f 77 65 72 28 24 66 69 6c 65 29 20 3a 20 73 74 72 74 6f 75 70 70 65 72 28 24 66 69 6c 65 olower($file).:.strtoupper($file
13e740 29 3b 0a 24 74 65 73 74 20 3d 20 72 65 61 6c 70 61 74 68 28 24 64 69 72 2e 24 74 65 73 74 29 3b );.$test.=.realpath($dir.$test);
13e760 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 65 73 74 20 7c 7c 20 66 61 6c 73 65 20 3d ..if.(false.===.$test.||.false.=
13e780 3d 3d 20 24 69 29 20 7b 0a 0a 20 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 3d 20 30 3b ==.$i).{...self::$caseCheck.=.0;
13e7a0 0a 7d 20 65 6c 73 65 69 66 20 28 73 75 62 73 74 72 28 24 74 65 73 74 2c 20 2d 5c 73 74 72 6c 65 .}.elseif.(substr($test,.-\strle
13e7c0 6e 28 24 66 69 6c 65 29 29 20 3d 3d 3d 20 24 66 69 6c 65 29 20 7b 0a 0a 20 73 65 6c 66 3a 3a 24 n($file)).===.$file).{...self::$
13e7e0 63 61 73 65 43 68 65 63 6b 20 3d 20 31 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 61 6c 73 65 20 21 caseCheck.=.1;.}.elseif.(false.!
13e800 3d 3d 20 73 74 72 69 70 6f 73 28 50 48 50 5f 4f 53 2c 20 27 64 61 72 77 69 6e 27 29 29 20 7b 0a ==.stripos(PHP_OS,.'darwin')).{.
13e820 0a 20 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 3d 20 32 3b 0a 7d 20 65 6c 73 65 20 7b ..self::$caseCheck.=.2;.}.else.{
13e840 0a 0a 20 73 65 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 20 3d 20 30 3b 0a 7d 0a 7d 0a 7d 0a 0a ...self::$caseCheck.=.0;.}.}.}..
13e860 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 4c 6f 61 .....public.function.getClassLoa
13e880 64 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 73 46 69 6e 64 65 72 20 der().{.return.$this->wasFinder.
13e8a0 3f 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 5b 30 5d 20 3a 20 24 74 68 69 73 2d ?.$this->classLoader[0].:.$this-
13e8c0 3e 63 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 >classLoader;.}.....public.stati
13e8e0 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 62 6c 65 28 29 0a 7b 0a 0a 20 63 6c 61 73 73 5f 65 78 c.function.enable().{...class_ex
13e900 69 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 72 ists('Symfony\Component\Debug\Er
13e920 72 6f 72 48 61 6e 64 6c 65 72 27 29 3b 0a 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 50 73 72 5c rorHandler');.class_exists('Psr\
13e940 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c 27 29 3b 0a 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 Log\LogLevel');..if.(!\is_array(
13e960 24 66 75 6e 63 74 69 6f 6e 73 20 3d 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 66 75 6e 63 74 69 $functions.=.spl_autoload_functi
13e980 6f 6e 73 28 29 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 ons())).{.return;.}..foreach.($f
13e9a0 75 6e 63 74 69 6f 6e 73 20 61 73 20 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 73 70 6c 5f 61 75 74 unctions.as.$function).{.spl_aut
13e9c0 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 0a oload_unregister($function);.}..
13e9e0 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 73 20 61 73 20 24 66 75 6e 63 74 69 6f 6e foreach.($functions.as.$function
13ea00 29 20 7b 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 29 20 7c 7c ).{.if.(!\is_array($function).||
13ea20 20 21 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 .!$function[0].instanceof.self).
13ea40 7b 0a 24 66 75 6e 63 74 69 6f 6e 20 3d 20 61 72 72 61 79 28 6e 65 77 20 73 74 61 74 69 63 28 24 {.$function.=.array(new.static($
13ea60 66 75 6e 63 74 69 6f 6e 29 2c 20 27 6c 6f 61 64 43 6c 61 73 73 27 29 3b 0a 7d 0a 0a 73 70 6c 5f function),.'loadClass');.}..spl_
13ea80 61 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a autoload_register($function);.}.
13eaa0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 }.....public.static.function.dis
13eac0 61 62 6c 65 28 29 0a 7b 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f able().{.if.(!\is_array($functio
13eae0 6e 73 20 3d 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 66 75 6e 63 74 69 6f 6e 73 28 29 29 29 20 ns.=.spl_autoload_functions())).
13eb00 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 73 {.return;.}..foreach.($functions
13eb20 20 61 73 20 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e .as.$function).{.spl_autoload_un
13eb40 72 65 67 69 73 74 65 72 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 register($function);.}..foreach.
13eb60 28 24 66 75 6e 63 74 69 6f 6e 73 20 61 73 20 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 69 66 20 28 ($functions.as.$function).{.if.(
13eb80 5c 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 29 20 26 26 20 24 66 75 6e 63 74 69 6f \is_array($function).&&.$functio
13eba0 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 24 66 75 6e 63 74 69 6f n[0].instanceof.self).{.$functio
13ebc0 6e 20 3d 20 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 2d 3e 67 65 74 43 6c 61 73 73 4c 6f 61 64 65 72 n.=.$function[0]->getClassLoader
13ebe0 28 29 3b 0a 7d 0a 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 24 66 75 ();.}..spl_autoload_register($fu
13ec00 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 nction);.}.}...........public.fu
13ec20 6e 63 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 0a 7b 0a 40 74 72 69 67 67 nction.findFile($class).{.@trigg
13ec40 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 er_error('The.'.__METHOD__.'.met
13ec60 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 hod.is.deprecated.since.Symfony.
13ec80 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2.5.and.will.be.removed.in.3.0.'
13eca0 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 ,.E_USER_DEPRECATED);..if.($this
13ecc0 2d 3e 77 61 73 46 69 6e 64 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 ->wasFinder).{.return.$this->cla
13ece0 73 73 4c 6f 61 64 65 72 5b 30 5d 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 3b 0a 7d ssLoader[0]->findFile($class);.}
13ed00 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 .}...........public.function.loa
13ed20 64 43 6c 61 73 73 28 24 63 6c 61 73 73 29 0a 7b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 73 dClass($class).{.ErrorHandler::s
13ed40 74 61 63 6b 45 72 72 6f 72 73 28 29 3b 0a 0a 74 72 79 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e tackErrors();..try.{.if.($this->
13ed60 69 73 46 69 6e 64 65 72 20 26 26 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 isFinder.&&.!isset($this->loaded
13ed80 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 5b 24 63 6c 61 73 [$class])).{.$this->loaded[$clas
13eda0 73 5d 20 3d 20 74 72 75 65 3b 0a 69 66 20 28 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 63 6c s].=.true;.if.($file.=.$this->cl
13edc0 61 73 73 4c 6f 61 64 65 72 5b 30 5d 2d 3e 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 29 20 assLoader[0]->findFile($class)).
13ede0 7b 0a 72 65 71 75 69 72 65 20 24 66 69 6c 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 5c 63 61 6c {.require.$file;.}.}.else.{.\cal
13ee00 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4c 6f 61 64 65 72 2c 20 l_user_func($this->classLoader,.
13ee20 24 63 6c 61 73 73 29 3b 0a 24 66 69 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 63 61 74 63 $class);.$file.=.false;.}.}.catc
13ee40 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 h.(\Exception.$e).{.ErrorHandler
13ee60 3a 3a 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 28 29 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 20 ::unstackErrors();..throw.$e;.}.
13ee80 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 65 29 20 7b 0a 45 72 72 6f 72 48 61 6e catch.(\Throwable.$e).{.ErrorHan
13eea0 64 6c 65 72 3a 3a 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 28 29 3b 0a 0a 74 68 72 6f 77 20 24 65 dler::unstackErrors();..throw.$e
13eec0 3b 0a 7d 0a 0a 45 72 72 6f 72 48 61 6e 64 6c 65 72 3a 3a 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 ;.}..ErrorHandler::unstackErrors
13eee0 28 29 3b 0a 0a 24 65 78 69 73 74 73 20 3d 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 ();..$exists.=.class_exists($cla
13ef00 73 73 2c 20 66 61 6c 73 65 29 20 7c 7c 20 69 6e 74 65 72 66 61 63 65 5f 65 78 69 73 74 73 28 24 ss,.false).||.interface_exists($
13ef20 63 6c 61 73 73 2c 20 66 61 6c 73 65 29 20 7c 7c 20 28 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 class,.false).||.(\function_exis
13ef40 74 73 28 27 74 72 61 69 74 5f 65 78 69 73 74 73 27 29 20 26 26 20 74 72 61 69 74 5f 65 78 69 73 ts('trait_exists').&&.trait_exis
13ef60 74 73 28 24 63 6c 61 73 73 2c 20 66 61 6c 73 65 29 29 3b 0a 0a 69 66 20 28 24 63 6c 61 73 73 20 ts($class,.false));..if.($class.
13ef80 26 26 20 27 5c 5c 27 20 3d 3d 3d 20 24 63 6c 61 73 73 5b 30 5d 29 20 7b 0a 24 63 6c 61 73 73 20 &&.'\\'.===.$class[0]).{.$class.
13efa0 3d 20 73 75 62 73 74 72 28 24 63 6c 61 73 73 2c 20 31 29 3b 0a 7d 0a 0a 69 66 20 28 24 65 78 69 =.substr($class,.1);.}..if.($exi
13efc0 73 74 73 29 20 7b 0a 24 72 65 66 6c 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 43 6c sts).{.$refl.=.new.\ReflectionCl
13efe0 61 73 73 28 24 63 6c 61 73 73 29 3b 0a 24 6e 61 6d 65 20 3d 20 24 72 65 66 6c 2d 3e 67 65 74 4e ass($class);.$name.=.$refl->getN
13f000 61 6d 65 28 29 3b 0a 0a 69 66 20 28 24 6e 61 6d 65 20 21 3d 3d 20 24 63 6c 61 73 73 20 26 26 20 ame();..if.($name.!==.$class.&&.
13f020 30 20 3d 3d 3d 20 73 74 72 63 61 73 65 63 6d 70 28 24 6e 61 6d 65 2c 20 24 63 6c 61 73 73 29 29 0.===.strcasecmp($name,.$class))
13f040 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 .{.throw.new.\RuntimeException(s
13f060 70 72 69 6e 74 66 28 27 43 61 73 65 20 6d 69 73 6d 61 74 63 68 20 62 65 74 77 65 65 6e 20 6c 6f printf('Case.mismatch.between.lo
13f080 61 64 65 64 20 61 6e 64 20 64 65 63 6c 61 72 65 64 20 63 6c 61 73 73 20 6e 61 6d 65 73 3a 20 25 aded.and.declared.class.names:.%
13f0a0 73 20 76 73 20 25 73 27 2c 20 24 63 6c 61 73 73 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 69 66 s.vs.%s',.$class,.$name));.}..if
13f0c0 20 28 5c 69 6e 5f 61 72 72 61 79 28 73 74 72 74 6f 6c 6f 77 65 72 28 24 72 65 66 6c 2d 3e 67 65 .(\in_array(strtolower($refl->ge
13f0e0 74 53 68 6f 72 74 4e 61 6d 65 28 29 29 2c 20 73 65 6c 66 3a 3a 24 70 68 70 37 52 65 73 65 72 76 tShortName()),.self::$php7Reserv
13f100 65 64 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 25 ed)).{.@trigger_error(sprintf('%
13f120 73 20 75 73 65 73 20 61 20 72 65 73 65 72 76 65 64 20 63 6c 61 73 73 20 6e 61 6d 65 20 28 25 73 s.uses.a.reserved.class.name.(%s
13f140 29 20 74 68 61 74 20 77 69 6c 6c 20 62 72 65 61 6b 20 6f 6e 20 50 48 50 20 37 20 61 6e 64 20 68 ).that.will.break.on.PHP.7.and.h
13f160 69 67 68 65 72 27 2c 20 24 6e 61 6d 65 2c 20 24 72 65 66 6c 2d 3e 67 65 74 53 68 6f 72 74 4e 61 igher',.$name,.$refl->getShortNa
13f180 6d 65 28 29 29 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 20 65 6c 73 me()),.E_USER_DEPRECATED);.}.els
13f1a0 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5c 6e 20 5c 2a 20 40 64 65 70 72 65 63 61 eif.(preg_match('#\n.\*.@depreca
13f1c0 74 65 64 20 28 2e 2a 3f 29 5c 72 3f 5c 6e 20 5c 2a 28 3f 3a 20 40 7c 2f 24 29 23 73 27 2c 20 24 ted.(.*?)\r?\n.\*(?:.@|/$)#s',.$
13f1e0 72 65 66 6c 2d 3e 67 65 74 44 6f 63 43 6f 6d 6d 65 6e 74 28 29 2c 20 24 6e 6f 74 69 63 65 29 29 refl->getDocComment(),.$notice))
13f200 20 7b 0a 73 65 6c 66 3a 3a 24 64 65 70 72 65 63 61 74 65 64 5b 24 6e 61 6d 65 5d 20 3d 20 70 72 .{.self::$deprecated[$name].=.pr
13f220 65 67 5f 72 65 70 6c 61 63 65 28 27 23 5c 73 2a 5c 72 3f 5c 6e 20 5c 2a 20 2b 23 27 2c 20 27 20 eg_replace('#\s*\r?\n.\*.+#',.'.
13f240 27 2c 20 24 6e 6f 74 69 63 65 5b 31 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 32 20 3e ',.$notice[1]);.}.else.{.if.(2.>
13f260 20 24 6c 65 6e 20 3d 20 31 20 2b 20 28 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 5c 5c 27 29 .$len.=.1.+.(strpos($name,.'\\')
13f280 20 3f 3a 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 5f 27 29 29 29 20 7b 0a 24 6c 65 6e 20 .?:.strpos($name,.'_'))).{.$len.
13f2a0 3d 20 30 3b 0a 24 6e 73 20 3d 20 27 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6e 73 20 3d 20 73 75 =.0;.$ns.=.'';.}.else.{.$ns.=.su
13f2c0 62 73 74 72 28 24 6e 61 6d 65 2c 20 30 2c 20 24 6c 65 6e 29 3b 0a 7d 0a 24 70 61 72 65 6e 74 20 bstr($name,.0,.$len);.}.$parent.
13f2e0 3d 20 67 65 74 5f 70 61 72 65 6e 74 5f 63 6c 61 73 73 28 24 63 6c 61 73 73 29 3b 0a 0a 69 66 20 =.get_parent_class($class);..if.
13f300 28 21 24 70 61 72 65 6e 74 20 7c 7c 20 73 74 72 6e 63 6d 70 28 24 6e 73 2c 20 24 70 61 72 65 6e (!$parent.||.strncmp($ns,.$paren
13f320 74 2c 20 24 6c 65 6e 29 29 20 7b 0a 69 66 20 28 24 70 61 72 65 6e 74 20 26 26 20 69 73 73 65 74 t,.$len)).{.if.($parent.&&.isset
13f340 28 73 65 6c 66 3a 3a 24 64 65 70 72 65 63 61 74 65 64 5b 24 70 61 72 65 6e 74 5d 29 20 26 26 20 (self::$deprecated[$parent]).&&.
13f360 73 74 72 6e 63 6d 70 28 24 6e 73 2c 20 24 70 61 72 65 6e 74 2c 20 24 6c 65 6e 29 29 20 7b 0a 40 strncmp($ns,.$parent,.$len)).{.@
13f380 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 25 73 20 63 6c trigger_error(sprintf('The.%s.cl
13f3a0 61 73 73 20 65 78 74 65 6e 64 73 20 25 73 20 74 68 61 74 20 69 73 20 64 65 70 72 65 63 61 74 65 ass.extends.%s.that.is.deprecate
13f3c0 64 20 25 73 27 2c 20 24 6e 61 6d 65 2c 20 24 70 61 72 65 6e 74 2c 20 73 65 6c 66 3a 3a 24 64 65 d.%s',.$name,.$parent,.self::$de
13f3e0 70 72 65 63 61 74 65 64 5b 24 70 61 72 65 6e 74 5d 29 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 precated[$parent]),.E_USER_DEPRE
13f400 43 41 54 45 44 29 3b 0a 7d 0a 0a 24 70 61 72 65 6e 74 49 6e 74 65 72 66 61 63 65 73 20 3d 20 61 CATED);.}..$parentInterfaces.=.a
13f420 72 72 61 79 28 29 3b 0a 24 64 65 70 72 65 63 61 74 65 64 49 6e 74 65 72 66 61 63 65 73 20 3d 20 rray();.$deprecatedInterfaces.=.
13f440 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 70 61 72 65 6e 74 29 20 7b 0a 66 6f 72 65 61 63 68 20 array();.if.($parent).{.foreach.
13f460 28 63 6c 61 73 73 5f 69 6d 70 6c 65 6d 65 6e 74 73 28 24 70 61 72 65 6e 74 29 20 61 73 20 24 69 (class_implements($parent).as.$i
13f480 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 70 61 72 65 6e 74 49 6e 74 65 72 66 61 63 65 73 5b 24 69 nterface).{.$parentInterfaces[$i
13f4a0 6e 74 65 72 66 61 63 65 5d 20 3d 20 31 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 72 65 nterface].=.1;.}.}..foreach.($re
13f4c0 66 6c 2d 3e 67 65 74 49 6e 74 65 72 66 61 63 65 4e 61 6d 65 73 28 29 20 61 73 20 24 69 6e 74 65 fl->getInterfaceNames().as.$inte
13f4e0 72 66 61 63 65 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 65 70 72 65 63 rface).{.if.(isset(self::$deprec
13f500 61 74 65 64 5b 24 69 6e 74 65 72 66 61 63 65 5d 29 20 26 26 20 73 74 72 6e 63 6d 70 28 24 6e 73 ated[$interface]).&&.strncmp($ns
13f520 2c 20 24 69 6e 74 65 72 66 61 63 65 2c 20 24 6c 65 6e 29 29 20 7b 0a 24 64 65 70 72 65 63 61 74 ,.$interface,.$len)).{.$deprecat
13f540 65 64 49 6e 74 65 72 66 61 63 65 73 5b 5d 20 3d 20 24 69 6e 74 65 72 66 61 63 65 3b 0a 7d 0a 66 edInterfaces[].=.$interface;.}.f
13f560 6f 72 65 61 63 68 20 28 63 6c 61 73 73 5f 69 6d 70 6c 65 6d 65 6e 74 73 28 24 69 6e 74 65 72 66 oreach.(class_implements($interf
13f580 61 63 65 29 20 61 73 20 24 69 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 70 61 72 65 6e 74 49 6e 74 ace).as.$interface).{.$parentInt
13f5a0 65 72 66 61 63 65 73 5b 24 69 6e 74 65 72 66 61 63 65 5d 20 3d 20 31 3b 0a 7d 0a 7d 0a 0a 66 6f erfaces[$interface].=.1;.}.}..fo
13f5c0 72 65 61 63 68 20 28 24 64 65 70 72 65 63 61 74 65 64 49 6e 74 65 72 66 61 63 65 73 20 61 73 20 reach.($deprecatedInterfaces.as.
13f5e0 24 69 6e 74 65 72 66 61 63 65 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 70 61 72 65 6e 74 $interface).{.if.(!isset($parent
13f600 49 6e 74 65 72 66 61 63 65 73 5b 24 69 6e 74 65 72 66 61 63 65 5d 29 29 20 7b 0a 40 74 72 69 67 Interfaces[$interface])).{.@trig
13f620 67 65 72 5f 65 72 72 6f 72 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 25 73 20 25 73 20 25 73 20 ger_error(sprintf('The.%s.%s.%s.
13f640 74 68 61 74 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 25 73 27 2c 20 24 6e 61 6d 65 2c 20 24 that.is.deprecated.%s',.$name,.$
13f660 72 65 66 6c 2d 3e 69 73 49 6e 74 65 72 66 61 63 65 28 29 20 3f 20 27 69 6e 74 65 72 66 61 63 65 refl->isInterface().?.'interface
13f680 20 65 78 74 65 6e 64 73 27 20 3a 20 27 63 6c 61 73 73 20 69 6d 70 6c 65 6d 65 6e 74 73 27 2c 20 .extends'.:.'class.implements',.
13f6a0 24 69 6e 74 65 72 66 61 63 65 2c 20 73 65 6c 66 3a 3a 24 64 65 70 72 65 63 61 74 65 64 5b 24 69 $interface,.self::$deprecated[$i
13f6c0 6e 74 65 72 66 61 63 65 5d 29 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a nterface]),.E_USER_DEPRECATED);.
13f6e0 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 21 24 65 78 }.}.}.}.}..if.($file).{.if.(!$ex
13f700 69 73 74 73 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 6c ists).{.if.(false.!==.strpos($cl
13f720 61 73 73 2c 20 27 2f 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 ass,.'/')).{.throw.new.\RuntimeE
13f740 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 72 79 69 6e 67 20 74 6f 20 61 75 74 6f xception(sprintf('Trying.to.auto
13f760 6c 6f 61 64 20 61 20 63 6c 61 73 73 20 77 69 74 68 20 61 6e 20 69 6e 76 61 6c 69 64 20 6e 61 6d load.a.class.with.an.invalid.nam
13f780 65 20 22 25 73 22 2e 20 42 65 20 63 61 72 65 66 75 6c 20 74 68 61 74 20 74 68 65 20 6e 61 6d 65 e."%s"..Be.careful.that.the.name
13f7a0 73 70 61 63 65 20 73 65 70 61 72 61 74 6f 72 20 69 73 20 22 5c 22 20 69 6e 20 50 48 50 2c 20 6e space.separator.is."\".in.PHP,.n
13f7c0 6f 74 20 22 2f 22 2e 27 2c 20 24 63 6c 61 73 73 29 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 ot."/".',.$class));.}..throw.new
13f7e0 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 .\RuntimeException(sprintf('The.
13f800 61 75 74 6f 6c 6f 61 64 65 72 20 65 78 70 65 63 74 65 64 20 63 6c 61 73 73 20 22 25 73 22 20 74 autoloader.expected.class."%s".t
13f820 6f 20 62 65 20 64 65 66 69 6e 65 64 20 69 6e 20 66 69 6c 65 20 22 25 73 22 2e 20 54 68 65 20 66 o.be.defined.in.file."%s"..The.f
13f840 69 6c 65 20 77 61 73 20 66 6f 75 6e 64 20 62 75 74 20 74 68 65 20 63 6c 61 73 73 20 77 61 73 20 ile.was.found.but.the.class.was.
13f860 6e 6f 74 20 69 6e 20 69 74 2c 20 74 68 65 20 63 6c 61 73 73 20 6e 61 6d 65 20 6f 72 20 6e 61 6d not.in.it,.the.class.name.or.nam
13f880 65 73 70 61 63 65 20 70 72 6f 62 61 62 6c 79 20 68 61 73 20 61 20 74 79 70 6f 2e 27 2c 20 24 63 espace.probably.has.a.typo.',.$c
13f8a0 6c 61 73 73 2c 20 24 66 69 6c 65 29 29 3b 0a 7d 0a 69 66 20 28 73 65 6c 66 3a 3a 24 63 61 73 65 lass,.$file));.}.if.(self::$case
13f8c0 43 68 65 63 6b 29 20 7b 0a 24 72 65 61 6c 20 3d 20 65 78 70 6c 6f 64 65 28 27 5c 5c 27 2c 20 24 Check).{.$real.=.explode('\\',.$
13f8e0 63 6c 61 73 73 2e 73 74 72 72 63 68 72 28 24 66 69 6c 65 2c 20 27 2e 27 29 29 3b 0a 24 74 61 69 class.strrchr($file,.'.'));.$tai
13f900 6c 20 3d 20 65 78 70 6c 6f 64 65 28 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 l.=.explode(\DIRECTORY_SEPARATOR
13f920 2c 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2f 27 2c 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 ,.str_replace('/',.\DIRECTORY_SE
13f940 50 41 52 41 54 4f 52 2c 20 24 66 69 6c 65 29 29 3b 0a 0a 24 69 20 3d 20 5c 63 6f 75 6e 74 28 24 PARATOR,.$file));..$i.=.\count($
13f960 74 61 69 6c 29 20 2d 20 31 3b 0a 24 6a 20 3d 20 5c 63 6f 75 6e 74 28 24 72 65 61 6c 29 20 2d 20 tail).-.1;.$j.=.\count($real).-.
13f980 31 3b 0a 0a 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 74 61 69 6c 5b 24 69 5d 2c 20 24 72 65 61 1;..while.(isset($tail[$i],.$rea
13f9a0 6c 5b 24 6a 5d 29 20 26 26 20 24 74 61 69 6c 5b 24 69 5d 20 3d 3d 3d 20 24 72 65 61 6c 5b 24 6a l[$j]).&&.$tail[$i].===.$real[$j
13f9c0 5d 29 20 7b 0a 2d 2d 24 69 3b 0a 2d 2d 24 6a 3b 0a 7d 0a 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 ]).{.--$i;.--$j;.}..array_splice
13f9e0 28 24 74 61 69 6c 2c 20 30 2c 20 24 69 20 2b 20 31 29 3b 0a 7d 0a 69 66 20 28 73 65 6c 66 3a 3a ($tail,.0,.$i.+.1);.}.if.(self::
13fa00 24 63 61 73 65 43 68 65 63 6b 20 26 26 20 24 74 61 69 6c 29 20 7b 0a 24 74 61 69 6c 20 3d 20 5c $caseCheck.&&.$tail).{.$tail.=.\
13fa20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2e 69 6d 70 6c 6f 64 65 28 5c 44 49 52 DIRECTORY_SEPARATOR.implode(\DIR
13fa40 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 74 61 69 6c 29 3b 0a 24 74 61 69 6c 4c ECTORY_SEPARATOR,.$tail);.$tailL
13fa60 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 74 61 69 6c 29 3b 0a 24 72 65 61 6c 20 3d 20 24 72 65 en.=.\strlen($tail);.$real.=.$re
13fa80 66 6c 2d 3e 67 65 74 46 69 6c 65 4e 61 6d 65 28 29 3b 0a 0a 69 66 20 28 32 20 3d 3d 3d 20 73 65 fl->getFileName();..if.(2.===.se
13faa0 6c 66 3a 3a 24 63 61 73 65 43 68 65 63 6b 29 20 7b 0a 0a 0a 24 69 20 3d 20 31 20 2b 20 73 74 72 lf::$caseCheck).{...$i.=.1.+.str
13fac0 72 70 6f 73 28 24 72 65 61 6c 2c 20 27 2f 27 29 3b 0a 24 66 69 6c 65 20 3d 20 73 75 62 73 74 72 rpos($real,.'/');.$file.=.substr
13fae0 28 24 72 65 61 6c 2c 20 24 69 29 3b 0a 24 72 65 61 6c 20 3d 20 73 75 62 73 74 72 28 24 72 65 61 ($real,.$i);.$real.=.substr($rea
13fb00 6c 2c 20 30 2c 20 24 69 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 61 72 l,.0,.$i);..if.(isset(self::$dar
13fb20 77 69 6e 43 61 63 68 65 5b 24 72 65 61 6c 5d 29 29 20 7b 0a 24 6b 44 69 72 20 3d 20 24 72 65 61 winCache[$real])).{.$kDir.=.$rea
13fb40 6c 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6b 44 69 72 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 l;.}.else.{.$kDir.=.strtolower($
13fb60 72 65 61 6c 29 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 real);..if.(isset(self::$darwinC
13fb80 61 63 68 65 5b 24 6b 44 69 72 5d 29 29 20 7b 0a 24 72 65 61 6c 20 3d 20 73 65 6c 66 3a 3a 24 64 ache[$kDir])).{.$real.=.self::$d
13fba0 61 72 77 69 6e 43 61 63 68 65 5b 24 6b 44 69 72 5d 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 arwinCache[$kDir][0];.}.else.{.$
13fbc0 64 69 72 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 63 68 64 69 72 28 24 72 65 61 6c 29 3b 0a 24 72 dir.=.getcwd();.chdir($real);.$r
13fbe0 65 61 6c 20 3d 20 67 65 74 63 77 64 28 29 2e 27 2f 27 3b 0a 63 68 64 69 72 28 24 64 69 72 29 3b eal.=.getcwd().'/';.chdir($dir);
13fc00 0a 0a 24 64 69 72 20 3d 20 24 72 65 61 6c 3b 0a 24 6b 20 3d 20 24 6b 44 69 72 3b 0a 24 69 20 3d ..$dir.=.$real;.$k.=.$kDir;.$i.=
13fc20 20 5c 73 74 72 6c 65 6e 28 24 64 69 72 29 20 2d 20 31 3b 0a 77 68 69 6c 65 20 28 21 69 73 73 65 .\strlen($dir).-.1;.while.(!isse
13fc40 74 28 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 6b 5d 29 29 20 7b 0a 73 65 6c t(self::$darwinCache[$k])).{.sel
13fc60 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 6b 5d 20 3d 20 61 72 72 61 79 28 24 64 69 72 f::$darwinCache[$k].=.array($dir
13fc80 2c 20 61 72 72 61 79 28 29 29 3b 0a 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 ,.array());.self::$darwinCache[$
13fca0 64 69 72 5d 20 3d 20 26 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 6b 5d 3b 0a dir].=.&self::$darwinCache[$k];.
13fcc0 0a 77 68 69 6c 65 20 28 27 2f 27 20 21 3d 3d 20 24 64 69 72 5b 2d 2d 24 69 5d 29 20 7b 0a 7d 0a .while.('/'.!==.$dir[--$i]).{.}.
13fce0 24 6b 20 3d 20 73 75 62 73 74 72 28 24 6b 2c 20 30 2c 20 2b 2b 24 69 29 3b 0a 24 64 69 72 20 3d $k.=.substr($k,.0,.++$i);.$dir.=
13fd00 20 73 75 62 73 74 72 28 24 64 69 72 2c 20 30 2c 20 24 69 2d 2d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 .substr($dir,.0,.$i--);.}.}.}..$
13fd20 64 69 72 46 69 6c 65 73 20 3d 20 73 65 6c 66 3a 3a 24 64 61 72 77 69 6e 43 61 63 68 65 5b 24 6b dirFiles.=.self::$darwinCache[$k
13fd40 44 69 72 5d 5b 31 5d 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 69 72 46 69 6c 65 73 5b 24 66 Dir][1];..if.(isset($dirFiles[$f
13fd60 69 6c 65 5d 29 29 20 7b 0a 24 6b 46 69 6c 65 20 3d 20 24 66 69 6c 65 3b 0a 7d 20 65 6c 73 65 20 ile])).{.$kFile.=.$file;.}.else.
13fd80 7b 0a 24 6b 46 69 6c 65 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 66 69 6c 65 29 3b 0a 0a 69 {.$kFile.=.strtolower($file);..i
13fda0 66 20 28 21 69 73 73 65 74 28 24 64 69 72 46 69 6c 65 73 5b 24 6b 46 69 6c 65 5d 29 29 20 7b 0a f.(!isset($dirFiles[$kFile])).{.
13fdc0 66 6f 72 65 61 63 68 20 28 73 63 61 6e 64 69 72 28 24 72 65 61 6c 2c 20 32 29 20 61 73 20 24 66 foreach.(scandir($real,.2).as.$f
13fde0 29 20 7b 0a 69 66 20 28 27 2e 27 20 21 3d 3d 20 24 66 5b 30 5d 29 20 7b 0a 24 64 69 72 46 69 6c ).{.if.('.'.!==.$f[0]).{.$dirFil
13fe00 65 73 5b 24 66 5d 20 3d 20 24 66 3b 0a 69 66 20 28 24 66 20 3d 3d 3d 20 24 66 69 6c 65 29 20 7b es[$f].=.$f;.if.($f.===.$file).{
13fe20 0a 24 6b 46 69 6c 65 20 3d 20 24 6b 20 3d 20 24 66 69 6c 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 .$kFile.=.$k.=.$file;.}.elseif.(
13fe40 24 66 20 21 3d 3d 20 24 6b 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 66 29 29 20 7b 0a 24 64 $f.!==.$k.=.strtolower($f)).{.$d
13fe60 69 72 46 69 6c 65 73 5b 24 6b 5d 20 3d 20 24 66 3b 0a 7d 0a 7d 0a 7d 0a 73 65 6c 66 3a 3a 24 64 irFiles[$k].=.$f;.}.}.}.self::$d
13fe80 61 72 77 69 6e 43 61 63 68 65 5b 24 6b 44 69 72 5d 5b 31 5d 20 3d 20 24 64 69 72 46 69 6c 65 73 arwinCache[$kDir][1].=.$dirFiles
13fea0 3b 0a 7d 0a 7d 0a 0a 24 72 65 61 6c 20 2e 3d 20 24 64 69 72 46 69 6c 65 73 5b 24 6b 46 69 6c 65 ;.}.}..$real..=.$dirFiles[$kFile
13fec0 5d 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 75 62 73 74 72 5f 63 6f 6d 70 61 72 65 28 24 ];.}..if.(0.===.substr_compare($
13fee0 72 65 61 6c 2c 20 24 74 61 69 6c 2c 20 2d 24 74 61 69 6c 4c 65 6e 2c 20 24 74 61 69 6c 4c 65 6e real,.$tail,.-$tailLen,.$tailLen
13ff00 2c 20 74 72 75 65 29 0a 26 26 20 30 20 21 3d 3d 20 73 75 62 73 74 72 5f 63 6f 6d 70 61 72 65 28 ,.true).&&.0.!==.substr_compare(
13ff20 24 72 65 61 6c 2c 20 24 74 61 69 6c 2c 20 2d 24 74 61 69 6c 4c 65 6e 2c 20 24 74 61 69 6c 4c 65 $real,.$tail,.-$tailLen,.$tailLe
13ff40 6e 2c 20 66 61 6c 73 65 29 0a 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 n,.false).).{.throw.new.\Runtime
13ff60 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 73 65 20 6d 69 73 6d 61 74 63 68 Exception(sprintf('Case.mismatch
13ff80 20 62 65 74 77 65 65 6e 20 63 6c 61 73 73 20 61 6e 64 20 72 65 61 6c 20 66 69 6c 65 20 6e 61 6d .between.class.and.real.file.nam
13ffa0 65 73 3a 20 25 73 20 76 73 20 25 73 20 69 6e 20 25 73 27 2c 20 73 75 62 73 74 72 28 24 74 61 69 es:.%s.vs.%s.in.%s',.substr($tai
13ffc0 6c 2c 20 2d 24 74 61 69 6c 4c 65 6e 20 2b 20 31 29 2c 20 73 75 62 73 74 72 28 24 72 65 61 6c 2c l,.-$tailLen.+.1),.substr($real,
13ffe0 20 2d 24 74 61 69 6c 4c 65 6e 20 2b 20 31 29 2c 20 73 75 62 73 74 72 28 24 72 65 61 6c 2c 20 30 .-$tailLen.+.1),.substr($real,.0
140000 2c 20 2d 24 74 61 69 6c 4c 65 6e 20 2b 20 31 29 29 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 ,.-$tailLen.+.1)));.}.}..return.
140020 74 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 true;.}.}.}.<?php...........name
140040 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 3b 0a 0a space.Symfony\Component\Debug;..
140060 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 use.Psr\Log\LoggerInterface;.use
140080 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 .Psr\Log\LogLevel;.use.Symfony\C
1400a0 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 43 6f 6e 74 65 78 74 omponent\Debug\Exception\Context
1400c0 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ErrorException;.use.Symfony\Comp
1400e0 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 45 72 72 6f 72 onent\Debug\Exception\FatalError
140100 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 Exception;.use.Symfony\Component
140120 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 \Debug\Exception\FatalThrowableE
140140 72 72 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 rror;.use.Symfony\Component\Debu
140160 67 5c 45 78 63 65 70 74 69 6f 6e 5c 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e g\Exception\OutOfMemoryException
140180 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 46 61 ;.use.Symfony\Component\Debug\Fa
1401a0 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 5c 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 46 61 74 talErrorHandler\ClassNotFoundFat
1401c0 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 alErrorHandler;.use.Symfony\Comp
1401e0 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 5c 46 61 onent\Debug\FatalErrorHandler\Fa
140200 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 talErrorHandlerInterface;.use.Sy
140220 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 mfony\Component\Debug\FatalError
140240 48 61 6e 64 6c 65 72 5c 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 46 61 74 61 6c 45 72 Handler\UndefinedFunctionFatalEr
140260 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e rorHandler;.use.Symfony\Componen
140280 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 5c 55 6e 64 65 66 69 t\Debug\FatalErrorHandler\Undefi
1402a0 6e 65 64 4d 65 74 68 6f 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 0a 0a 0a nedMethodFatalErrorHandler;.....
1402c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 72 72 6f 72 48 61 ...................class.ErrorHa
1402e0 6e 64 6c 65 72 0a 7b 0a 0a 0a 0a 63 6f 6e 73 74 20 54 59 50 45 5f 44 45 50 52 45 43 41 54 49 4f ndler.{....const.TYPE_DEPRECATIO
140300 4e 20 3d 20 2d 31 30 30 3b 0a 0a 70 72 69 76 61 74 65 20 24 6c 65 76 65 6c 73 20 3d 20 61 72 72 N.=.-100;..private.$levels.=.arr
140320 61 79 28 0a 45 5f 44 45 50 52 45 43 41 54 45 44 20 3d 3e 20 27 44 65 70 72 65 63 61 74 65 64 27 ay(.E_DEPRECATED.=>.'Deprecated'
140340 2c 0a 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 20 3d 3e 20 27 55 73 65 72 20 44 65 70 ,.E_USER_DEPRECATED.=>.'User.Dep
140360 72 65 63 61 74 65 64 27 2c 0a 45 5f 4e 4f 54 49 43 45 20 3d 3e 20 27 4e 6f 74 69 63 65 27 2c 0a recated',.E_NOTICE.=>.'Notice',.
140380 45 5f 55 53 45 52 5f 4e 4f 54 49 43 45 20 3d 3e 20 27 55 73 65 72 20 4e 6f 74 69 63 65 27 2c 0a E_USER_NOTICE.=>.'User.Notice',.
1403a0 45 5f 53 54 52 49 43 54 20 3d 3e 20 27 52 75 6e 74 69 6d 65 20 4e 6f 74 69 63 65 27 2c 0a 45 5f E_STRICT.=>.'Runtime.Notice',.E_
1403c0 57 41 52 4e 49 4e 47 20 3d 3e 20 27 57 61 72 6e 69 6e 67 27 2c 0a 45 5f 55 53 45 52 5f 57 41 52 WARNING.=>.'Warning',.E_USER_WAR
1403e0 4e 49 4e 47 20 3d 3e 20 27 55 73 65 72 20 57 61 72 6e 69 6e 67 27 2c 0a 45 5f 43 4f 4d 50 49 4c NING.=>.'User.Warning',.E_COMPIL
140400 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 27 43 6f 6d 70 69 6c 65 20 57 61 72 6e 69 6e 67 27 2c 0a E_WARNING.=>.'Compile.Warning',.
140420 45 5f 43 4f 52 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 27 43 6f 72 65 20 57 61 72 6e 69 6e 67 27 E_CORE_WARNING.=>.'Core.Warning'
140440 2c 0a 45 5f 55 53 45 52 5f 45 52 52 4f 52 20 3d 3e 20 27 55 73 65 72 20 45 72 72 6f 72 27 2c 0a ,.E_USER_ERROR.=>.'User.Error',.
140460 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f 52 20 3d 3e 20 27 43 61 74 63 68 61 62 6c E_RECOVERABLE_ERROR.=>.'Catchabl
140480 65 20 46 61 74 61 6c 20 45 72 72 6f 72 27 2c 0a 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 20 e.Fatal.Error',.E_COMPILE_ERROR.
1404a0 3d 3e 20 27 43 6f 6d 70 69 6c 65 20 45 72 72 6f 72 27 2c 0a 45 5f 50 41 52 53 45 20 3d 3e 20 27 =>.'Compile.Error',.E_PARSE.=>.'
1404c0 50 61 72 73 65 20 45 72 72 6f 72 27 2c 0a 45 5f 45 52 52 4f 52 20 3d 3e 20 27 45 72 72 6f 72 27 Parse.Error',.E_ERROR.=>.'Error'
1404e0 2c 0a 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 3d 3e 20 27 43 6f 72 65 20 45 72 72 6f 72 27 2c 0a ,.E_CORE_ERROR.=>.'Core.Error',.
140500 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 6c 6f 67 67 65 72 73 20 3d 20 61 72 72 61 79 28 0a 45 5f );..private.$loggers.=.array(.E_
140520 44 45 50 52 45 43 41 54 45 44 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 DEPRECATED.=>.array(null,.LogLev
140540 65 6c 3a 3a 49 4e 46 4f 29 2c 0a 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 20 3d 3e 20 el::INFO),.E_USER_DEPRECATED.=>.
140560 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 49 4e 46 4f 29 2c 0a 45 5f 4e array(null,.LogLevel::INFO),.E_N
140580 4f 54 49 43 45 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 OTICE.=>.array(null,.LogLevel::W
1405a0 41 52 4e 49 4e 47 29 2c 0a 45 5f 55 53 45 52 5f 4e 4f 54 49 43 45 20 3d 3e 20 61 72 72 61 79 28 ARNING),.E_USER_NOTICE.=>.array(
1405c0 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 53 54 52 49 null,.LogLevel::WARNING),.E_STRI
1405e0 43 54 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e CT.=>.array(null,.LogLevel::WARN
140600 49 4e 47 29 2c 0a 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c ING),.E_WARNING.=>.array(null,.L
140620 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e ogLevel::WARNING),.E_USER_WARNIN
140640 47 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 G.=>.array(null,.LogLevel::WARNI
140660 4e 47 29 2c 0a 45 5f 43 4f 4d 50 49 4c 45 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 61 72 72 61 79 28 NG),.E_COMPILE_WARNING.=>.array(
140680 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 43 4f 52 45 null,.LogLevel::WARNING),.E_CORE
1406a0 5f 57 41 52 4e 49 4e 47 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c _WARNING.=>.array(null,.LogLevel
1406c0 3a 3a 57 41 52 4e 49 4e 47 29 2c 0a 45 5f 55 53 45 52 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 ::WARNING),.E_USER_ERROR.=>.arra
1406e0 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c 0a 45 5f 52 y(null,.LogLevel::CRITICAL),.E_R
140700 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 ECOVERABLE_ERROR.=>.array(null,.
140720 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c 0a 45 5f 43 4f 4d 50 49 4c 45 5f 45 LogLevel::CRITICAL),.E_COMPILE_E
140740 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 RROR.=>.array(null,.LogLevel::CR
140760 49 54 49 43 41 4c 29 2c 0a 45 5f 50 41 52 53 45 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 ITICAL),.E_PARSE.=>.array(null,.
140780 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c 0a 45 5f 45 52 52 4f 52 20 3d 3e 20 LogLevel::CRITICAL),.E_ERROR.=>.
1407a0 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c array(null,.LogLevel::CRITICAL),
1407c0 0a 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 4c 6f 67 .E_CORE_ERROR.=>.array(null,.Log
1407e0 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 29 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 74 Level::CRITICAL),.);..private.$t
140800 68 72 6f 77 6e 45 72 72 6f 72 73 20 3d 20 30 78 31 46 46 46 3b 20 0a 20 70 72 69 76 61 74 65 20 hrownErrors.=.0x1FFF;...private.
140820 24 73 63 6f 70 65 64 45 72 72 6f 72 73 20 3d 20 30 78 31 46 46 46 3b 20 0a 20 70 72 69 76 61 74 $scopedErrors.=.0x1FFF;...privat
140840 65 20 24 74 72 61 63 65 64 45 72 72 6f 72 73 20 3d 20 30 78 37 37 46 42 3b 20 0a 20 70 72 69 76 e.$tracedErrors.=.0x77FB;...priv
140860 61 74 65 20 24 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 20 3d 20 30 78 35 35 3b 20 0a 20 70 72 ate.$screamedErrors.=.0x55;...pr
140880 69 76 61 74 65 20 24 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 3d 20 30 3b 0a 0a 70 72 69 76 61 74 ivate.$loggedErrors.=.0;..privat
1408a0 65 20 24 6c 6f 67 67 65 64 54 72 61 63 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 e.$loggedTraces.=.array();.priva
1408c0 74 65 20 24 69 73 52 65 63 75 72 73 69 76 65 20 3d 20 30 3b 0a 70 72 69 76 61 74 65 20 24 69 73 te.$isRecursive.=.0;.private.$is
1408e0 52 6f 6f 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 65 78 63 65 70 74 69 6f 6e Root.=.false;.private.$exception
140900 48 61 6e 64 6c 65 72 3b 0a 70 72 69 76 61 74 65 20 24 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c Handler;.private.$bootstrappingL
140920 6f 67 67 65 72 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 72 65 73 65 72 76 65 64 ogger;..private.static.$reserved
140940 4d 65 6d 6f 72 79 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 74 61 63 6b 65 64 45 Memory;.private.static.$stackedE
140960 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 rrors.=.array();.private.static.
140980 24 73 74 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 65 6c 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 $stackedErrorLevels.=.array();.p
1409a0 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 74 6f 53 74 72 69 6e 67 45 78 63 65 70 74 69 6f 6e rivate.static.$toStringException
1409c0 20 3d 20 6e 75 6c 6c 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 65 78 69 74 43 6f 64 .=.null;.private.static.$exitCod
1409e0 65 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 69 73 70 6c 61 79 45 72 72 e.=.0;.......private.$displayErr
140a00 6f 72 73 20 3d 20 30 78 31 46 46 46 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 ors.=.0x1FFF;..........public.st
140a20 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 73 74 65 72 28 24 68 61 6e 64 6c 65 72 20 atic.function.register($handler.
140a40 3d 20 6e 75 6c 6c 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 74 72 75 65 29 0a 7b 0a 69 66 20 28 6e =.null,.$replace.=.true).{.if.(n
140a60 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 72 65 73 65 72 76 65 64 4d 65 6d 6f 72 79 29 20 7b ull.===.self::$reservedMemory).{
140a80 0a 73 65 6c 66 3a 3a 24 72 65 73 65 72 76 65 64 4d 65 6d 6f 72 79 20 3d 20 73 74 72 5f 72 65 70 .self::$reservedMemory.=.str_rep
140aa0 65 61 74 28 27 78 27 2c 20 31 30 32 34 30 29 3b 0a 72 65 67 69 73 74 65 72 5f 73 68 75 74 64 6f eat('x',.10240);.register_shutdo
140ac0 77 6e 5f 66 75 6e 63 74 69 6f 6e 28 5f 5f 43 4c 41 53 53 5f 5f 2e 27 3a 3a 68 61 6e 64 6c 65 46 wn_function(__CLASS__.'::handleF
140ae0 61 74 61 6c 45 72 72 6f 72 27 29 3b 0a 7d 0a 0a 24 6c 65 76 65 6c 73 20 3d 20 2d 31 3b 0a 0a 69 atalError');.}..$levels.=.-1;..i
140b00 66 20 28 24 68 61 6e 64 6c 65 72 49 73 4e 65 77 20 3d 20 21 24 68 61 6e 64 6c 65 72 20 69 6e 73 f.($handlerIsNew.=.!$handler.ins
140b20 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 tanceof.self).{...if.(null.!==.$
140b40 68 61 6e 64 6c 65 72 29 20 7b 0a 24 6c 65 76 65 6c 73 20 3d 20 24 72 65 70 6c 61 63 65 20 3f 20 handler).{.$levels.=.$replace.?.
140b60 24 68 61 6e 64 6c 65 72 20 3a 20 30 3b 0a 24 72 65 70 6c 61 63 65 20 3d 20 74 72 75 65 3b 0a 7d $handler.:.0;.$replace.=.true;.}
140b80 0a 24 68 61 6e 64 6c 65 72 20 3d 20 6e 65 77 20 73 74 61 74 69 63 28 29 3b 0a 7d 0a 0a 69 66 20 .$handler.=.new.static();.}..if.
140ba0 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 72 65 76 20 3d 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 (null.===.$prev.=.set_error_hand
140bc0 6c 65 72 28 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 2c 20 27 68 61 6e 64 6c 65 45 72 72 6f 72 ler(array($handler,.'handleError
140be0 27 29 29 29 20 7b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a '))).{.restore_error_handler();.
140c00 0a 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 68 61 6e 64 6c ..set_error_handler(array($handl
140c20 65 72 2c 20 27 68 61 6e 64 6c 65 45 72 72 6f 72 27 29 2c 20 24 68 61 6e 64 6c 65 72 2d 3e 74 68 er,.'handleError'),.$handler->th
140c40 72 6f 77 6e 45 72 72 6f 72 73 20 7c 20 24 68 61 6e 64 6c 65 72 2d 3e 6c 6f 67 67 65 64 45 72 72 rownErrors.|.$handler->loggedErr
140c60 6f 72 73 29 3b 0a 24 68 61 6e 64 6c 65 72 2d 3e 69 73 52 6f 6f 74 20 3d 20 74 72 75 65 3b 0a 7d ors);.$handler->isRoot.=.true;.}
140c80 0a 0a 69 66 20 28 24 68 61 6e 64 6c 65 72 49 73 4e 65 77 20 26 26 20 5c 69 73 5f 61 72 72 61 79 ..if.($handlerIsNew.&&.\is_array
140ca0 28 24 70 72 65 76 29 20 26 26 20 24 70 72 65 76 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 ($prev).&&.$prev[0].instanceof.s
140cc0 65 6c 66 29 20 7b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 24 70 72 65 76 5b 30 5d 3b 0a 24 72 65 70 elf).{.$handler.=.$prev[0];.$rep
140ce0 6c 61 63 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 21 24 72 65 70 6c 61 63 65 20 26 26 lace.=.false;.}.if.(!$replace.&&
140d00 20 24 70 72 65 76 29 20 7b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 .$prev).{.restore_error_handler(
140d20 29 3b 0a 24 68 61 6e 64 6c 65 72 49 73 52 65 67 69 73 74 65 72 65 64 20 3d 20 5c 69 73 5f 61 72 );.$handlerIsRegistered.=.\is_ar
140d40 72 61 79 28 24 70 72 65 76 29 20 26 26 20 24 68 61 6e 64 6c 65 72 20 3d 3d 3d 20 24 70 72 65 76 ray($prev).&&.$handler.===.$prev
140d60 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 68 61 6e 64 6c 65 72 49 73 52 65 67 69 73 74 65 72 [0];.}.else.{.$handlerIsRegister
140d80 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 70 72 65 76 ed.=.true;.}.if.(\is_array($prev
140da0 20 3d 20 73 65 74 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 .=.set_exception_handler(array($
140dc0 68 61 6e 64 6c 65 72 2c 20 27 68 61 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 27 29 29 29 20 26 26 handler,.'handleException'))).&&
140de0 20 24 70 72 65 76 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 72 65 73 .$prev[0].instanceof.self).{.res
140e00 74 6f 72 65 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 20 28 21 24 tore_exception_handler();.if.(!$
140e20 68 61 6e 64 6c 65 72 49 73 52 65 67 69 73 74 65 72 65 64 29 20 7b 0a 24 68 61 6e 64 6c 65 72 20 handlerIsRegistered).{.$handler.
140e40 3d 20 24 70 72 65 76 5b 30 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 68 61 6e 64 6c 65 72 20 21 =.$prev[0];.}.elseif.($handler.!
140e60 3d 3d 20 24 70 72 65 76 5b 30 5d 20 26 26 20 24 72 65 70 6c 61 63 65 29 20 7b 0a 73 65 74 5f 65 ==.$prev[0].&&.$replace).{.set_e
140e80 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 2c xception_handler(array($handler,
140ea0 20 27 68 61 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 27 29 29 3b 0a 24 70 20 3d 20 24 70 72 65 76 .'handleException'));.$p.=.$prev
140ec0 5b 30 5d 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 6e 75 6c 6c 29 3b 0a [0]->setExceptionHandler(null);.
140ee0 24 68 61 6e 64 6c 65 72 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 24 70 $handler->setExceptionHandler($p
140f00 29 3b 0a 24 70 72 65 76 5b 30 5d 2d 3e 73 65 74 45 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 );.$prev[0]->setExceptionHandler
140f20 28 24 70 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 65 74 45 78 ($p);.}.}.else.{.$handler->setEx
140f40 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 24 70 72 65 76 29 3b 0a 7d 0a 0a 24 68 61 6e 64 6c ceptionHandler($prev);.}..$handl
140f60 65 72 2d 3e 74 68 72 6f 77 41 74 28 24 6c 65 76 65 6c 73 20 26 20 24 68 61 6e 64 6c 65 72 2d 3e er->throwAt($levels.&.$handler->
140f80 74 68 72 6f 77 6e 45 72 72 6f 72 73 2c 20 74 72 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 68 61 thrownErrors,.true);..return.$ha
140fa0 6e 64 6c 65 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 ndler;.}..public.function.__cons
140fc0 74 72 75 63 74 28 42 75 66 66 65 72 69 6e 67 4c 6f 67 67 65 72 20 24 62 6f 6f 74 73 74 72 61 70 truct(BufferingLogger.$bootstrap
140fe0 70 69 6e 67 4c 6f 67 67 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 62 6f 6f 74 73 74 pingLogger.=.null).{.if.($bootst
141000 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 rappingLogger).{.$this->bootstra
141020 70 70 69 6e 67 4c 6f 67 67 65 72 20 3d 20 24 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 ppingLogger.=.$bootstrappingLogg
141040 65 72 3b 0a 24 74 68 69 73 2d 3e 73 65 74 44 65 66 61 75 6c 74 4c 6f 67 67 65 72 28 24 62 6f 6f er;.$this->setDefaultLogger($boo
141060 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 tstrappingLogger);.}.}.........p
141080 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 66 61 75 6c 74 4c 6f 67 67 65 72 28 ublic.function.setDefaultLogger(
1410a0 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 2c 20 24 6c 65 76 65 6c 73 LoggerInterface.$logger,.$levels
1410c0 20 3d 20 6e 75 6c 6c 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6c 6f .=.null,.$replace.=.false).{.$lo
1410e0 67 67 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 ggers.=.array();..if.(\is_array(
141100 24 6c 65 76 65 6c 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 6c 65 76 65 6c 73 20 61 73 20 $levels)).{.foreach.($levels.as.
141120 24 74 79 70 65 20 3d 3e 20 24 6c 6f 67 4c 65 76 65 6c 29 20 7b 0a 69 66 20 28 65 6d 70 74 79 28 $type.=>.$logLevel).{.if.(empty(
141140 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 29 20 7c 7c 20 24 72 65 $this->loggers[$type][0]).||.$re
141160 70 6c 61 63 65 20 7c 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 place.||.$this->loggers[$type][0
141180 5d 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 ].===.$this->bootstrappingLogger
1411a0 29 20 7b 0a 24 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 20 3d 20 61 72 72 61 79 28 24 6c 6f 67 ).{.$loggers[$type].=.array($log
1411c0 67 65 72 2c 20 24 6c 6f 67 4c 65 76 65 6c 29 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 ger,.$logLevel);.}.}.}.else.{.if
1411e0 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 65 76 65 6c 73 29 20 7b 0a 24 6c 65 76 65 6c 73 20 3d 20 .(null.===.$levels).{.$levels.=.
141200 45 5f 41 4c 4c 20 7c 20 45 5f 53 54 52 49 43 54 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 74 68 E_ALL.|.E_STRICT;.}.foreach.($th
141220 69 73 2d 3e 6c 6f 67 67 65 72 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6c 6f 67 29 20 7b 0a is->loggers.as.$type.=>.$log).{.
141240 69 66 20 28 28 24 74 79 70 65 20 26 20 24 6c 65 76 65 6c 73 29 20 26 26 20 28 65 6d 70 74 79 28 if.(($type.&.$levels).&&.(empty(
141260 24 6c 6f 67 5b 30 5d 29 20 7c 7c 20 24 72 65 70 6c 61 63 65 20 7c 7c 20 24 6c 6f 67 5b 30 5d 20 $log[0]).||.$replace.||.$log[0].
141280 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 29 29 ===.$this->bootstrappingLogger))
1412a0 20 7b 0a 24 6c 6f 67 5b 30 5d 20 3d 20 24 6c 6f 67 67 65 72 3b 0a 24 6c 6f 67 67 65 72 73 5b 24 .{.$log[0].=.$logger;.$loggers[$
1412c0 74 79 70 65 5d 20 3d 20 24 6c 6f 67 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 4c type].=.$log;.}.}.}..$this->setL
1412e0 6f 67 67 65 72 73 28 24 6c 6f 67 67 65 72 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 oggers($loggers);.}...........pu
141300 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 67 67 65 72 73 28 61 72 72 61 79 20 24 blic.function.setLoggers(array.$
141320 6c 6f 67 67 65 72 73 29 0a 7b 0a 24 70 72 65 76 4c 6f 67 67 65 64 20 3d 20 24 74 68 69 73 2d 3e loggers).{.$prevLogged.=.$this->
141340 6c 6f 67 67 65 64 45 72 72 6f 72 73 3b 0a 24 70 72 65 76 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 67 loggedErrors;.$prev.=.$this->log
141360 67 65 72 73 3b 0a 24 66 6c 75 73 68 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 gers;.$flush.=.array();..foreach
141380 20 28 24 6c 6f 67 67 65 72 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 6c 6f 67 29 20 7b 0a 69 .($loggers.as.$type.=>.$log).{.i
1413a0 66 20 28 21 69 73 73 65 74 28 24 70 72 65 76 5b 24 74 79 70 65 5d 29 29 20 7b 0a 74 68 72 6f 77 f.(!isset($prev[$type])).{.throw
1413c0 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 .new.\InvalidArgumentException('
1413e0 55 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 20 74 79 70 65 3a 20 27 2e 24 74 79 70 65 29 3b 0a 7d 0a Unknown.error.type:.'.$type);.}.
141400 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 6c 6f 67 29 29 20 7b 0a 24 6c 6f 67 20 3d 20 61 if.(!\is_array($log)).{.$log.=.a
141420 72 72 61 79 28 24 6c 6f 67 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 61 72 72 61 79 5f 6b 65 79 rray($log);.}.elseif.(!array_key
141440 5f 65 78 69 73 74 73 28 30 2c 20 24 6c 6f 67 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 _exists(0,.$log)).{.throw.new.\I
141460 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 4e 6f 20 6c 6f 67 67 nvalidArgumentException('No.logg
141480 65 72 20 70 72 6f 76 69 64 65 64 27 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c er.provided');.}.if.(null.===.$l
1414a0 6f 67 5b 30 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 26 3d 20 og[0]).{.$this->loggedErrors.&=.
1414c0 7e 24 74 79 70 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6c 6f 67 5b 30 5d 20 69 6e 73 74 61 6e ~$type;.}.elseif.($log[0].instan
1414e0 63 65 6f 66 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 6c ceof.LoggerInterface).{.$this->l
141500 6f 67 67 65 64 45 72 72 6f 72 73 20 7c 3d 20 24 74 79 70 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 oggedErrors.|=.$type;.}.else.{.t
141520 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 hrow.new.\InvalidArgumentExcepti
141540 6f 6e 28 27 49 6e 76 61 6c 69 64 20 6c 6f 67 67 65 72 20 70 72 6f 76 69 64 65 64 27 29 3b 0a 7d on('Invalid.logger.provided');.}
141560 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 20 3d 20 24 6c 6f 67 20 2b 20 .$this->loggers[$type].=.$log.+.
141580 24 70 72 65 76 5b 24 74 79 70 65 5d 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 $prev[$type];..if.($this->bootst
1415a0 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 20 26 26 20 24 70 72 65 76 5b 24 74 79 70 65 5d 5b 30 5d rappingLogger.&&.$prev[$type][0]
1415c0 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 29 .===.$this->bootstrappingLogger)
1415e0 20 7b 0a 24 66 6c 75 73 68 5b 24 74 79 70 65 5d 20 3d 20 24 74 79 70 65 3b 0a 7d 0a 7d 0a 24 74 .{.$flush[$type].=.$type;.}.}.$t
141600 68 69 73 2d 3e 72 65 52 65 67 69 73 74 65 72 28 24 70 72 65 76 4c 6f 67 67 65 64 20 7c 20 24 74 his->reRegister($prevLogged.|.$t
141620 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 29 3b 0a 0a 69 66 20 28 24 66 6c 75 73 68 29 his->thrownErrors);..if.($flush)
141640 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 62 6f 6f 74 73 74 72 61 70 70 69 6e 67 .{.foreach.($this->bootstrapping
141660 4c 6f 67 67 65 72 2d 3e 63 6c 65 61 6e 4c 6f 67 73 28 29 20 61 73 20 24 6c 6f 67 29 20 7b 0a 24 Logger->cleanLogs().as.$log).{.$
141680 74 79 70 65 20 3d 20 24 6c 6f 67 5b 32 5d 5b 27 74 79 70 65 27 5d 3b 0a 69 66 20 28 21 69 73 73 type.=.$log[2]['type'];.if.(!iss
1416a0 65 74 28 24 66 6c 75 73 68 5b 24 74 79 70 65 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 62 6f 6f 74 et($flush[$type])).{.$this->boot
1416c0 73 74 72 61 70 70 69 6e 67 4c 6f 67 67 65 72 2d 3e 6c 6f 67 28 24 6c 6f 67 5b 30 5d 2c 20 24 6c strappingLogger->log($log[0],.$l
1416e0 6f 67 5b 31 5d 2c 20 24 6c 6f 67 5b 32 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 og[1],.$log[2]);.}.elseif.($this
141700 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f ->loggers[$type][0]).{.$this->lo
141720 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 2d 3e 6c 6f 67 28 24 74 68 69 73 2d 3e 6c 6f 67 67 ggers[$type][0]->log($this->logg
141740 65 72 73 5b 24 74 79 70 65 5d 5b 31 5d 2c 20 24 6c 6f 67 5b 31 5d 2c 20 24 6c 6f 67 5b 32 5d 29 ers[$type][1],.$log[1],.$log[2])
141760 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ;.}.}.}..return.$prev;.}........
141780 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 63 65 70 74 69 6f 6e 48 ...public.function.setExceptionH
1417a0 61 6e 64 6c 65 72 28 24 68 61 6e 64 6c 65 72 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 andler($handler).{.if.(null.!==.
1417c0 24 68 61 6e 64 6c 65 72 20 26 26 20 21 5c 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 68 61 6e 64 6c $handler.&&.!\is_callable($handl
1417e0 65 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e er)).{.throw.new.\LogicException
141800 28 27 54 68 65 20 65 78 63 65 70 74 69 6f 6e 20 68 61 6e 64 6c 65 72 20 6d 75 73 74 20 62 65 20 ('The.exception.handler.must.be.
141820 61 20 76 61 6c 69 64 20 50 48 50 20 63 61 6c 6c 61 62 6c 65 2e 27 29 3b 0a 7d 0a 24 70 72 65 76 a.valid.PHP.callable.');.}.$prev
141840 20 3d 20 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 3b 0a 24 74 68 69 .=.$this->exceptionHandler;.$thi
141860 73 2d 3e 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 20 3d 20 24 68 61 6e 64 6c 65 72 3b 0a s->exceptionHandler.=.$handler;.
141880 0a 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .return.$prev;.}..........public
1418a0 20 66 75 6e 63 74 69 6f 6e 20 74 68 72 6f 77 41 74 28 24 6c 65 76 65 6c 73 2c 20 24 72 65 70 6c .function.throwAt($levels,.$repl
1418c0 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 72 65 76 20 3d 20 24 74 68 69 73 2d 3e 74 68 ace.=.false).{.$prev.=.$this->th
1418e0 72 6f 77 6e 45 72 72 6f 72 73 3b 0a 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 rownErrors;.$this->thrownErrors.
141900 3d 20 28 24 6c 65 76 65 6c 73 20 7c 20 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f 52 =.($levels.|.E_RECOVERABLE_ERROR
141920 20 7c 20 45 5f 55 53 45 52 5f 45 52 52 4f 52 29 20 26 20 7e 45 5f 55 53 45 52 5f 44 45 50 52 45 .|.E_USER_ERROR).&.~E_USER_DEPRE
141940 43 41 54 45 44 20 26 20 7e 45 5f 44 45 50 52 45 43 41 54 45 44 3b 0a 69 66 20 28 21 24 72 65 70 CATED.&.~E_DEPRECATED;.if.(!$rep
141960 6c 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 7c 3d 20 24 lace).{.$this->thrownErrors.|=.$
141980 70 72 65 76 3b 0a 7d 0a 24 74 68 69 73 2d 3e 72 65 52 65 67 69 73 74 65 72 28 24 70 72 65 76 20 prev;.}.$this->reRegister($prev.
1419a0 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 29 3b 0a 0a 0a 20 24 74 68 69 73 |.$this->loggedErrors);....$this
1419c0 2d 3e 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 ->displayErrors.=.$this->thrownE
1419e0 72 72 6f 72 73 3b 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a rrors;..return.$prev;.}.........
141a00 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 41 74 28 24 6c 65 76 65 6c 73 .public.function.scopeAt($levels
141a20 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 72 65 76 20 3d 20 24 74 ,.$replace.=.false).{.$prev.=.$t
141a40 68 69 73 2d 3e 73 63 6f 70 65 64 45 72 72 6f 72 73 3b 0a 24 74 68 69 73 2d 3e 73 63 6f 70 65 64 his->scopedErrors;.$this->scoped
141a60 45 72 72 6f 72 73 20 3d 20 28 69 6e 74 29 20 24 6c 65 76 65 6c 73 3b 0a 69 66 20 28 21 24 72 65 Errors.=.(int).$levels;.if.(!$re
141a80 70 6c 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 73 63 6f 70 65 64 45 72 72 6f 72 73 20 7c 3d 20 place).{.$this->scopedErrors.|=.
141aa0 24 70 72 65 76 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a $prev;.}..return.$prev;.}.......
141ac0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 72 61 63 65 41 74 28 24 6c 65 76 65 ...public.function.traceAt($leve
141ae0 6c 73 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 72 65 76 20 3d 20 ls,.$replace.=.false).{.$prev.=.
141b00 24 74 68 69 73 2d 3e 74 72 61 63 65 64 45 72 72 6f 72 73 3b 0a 24 74 68 69 73 2d 3e 74 72 61 63 $this->tracedErrors;.$this->trac
141b20 65 64 45 72 72 6f 72 73 20 3d 20 28 69 6e 74 29 20 24 6c 65 76 65 6c 73 3b 0a 69 66 20 28 21 24 edErrors.=.(int).$levels;.if.(!$
141b40 72 65 70 6c 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 74 72 61 63 65 64 45 72 72 6f 72 73 20 7c replace).{.$this->tracedErrors.|
141b60 3d 20 24 70 72 65 76 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 76 3b 0a 7d 0a 0a 0a 0a 0a =.$prev;.}..return.$prev;.}.....
141b80 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 63 72 65 61 6d 41 74 28 24 6c .....public.function.screamAt($l
141ba0 65 76 65 6c 73 2c 20 24 72 65 70 6c 61 63 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 70 72 65 76 evels,.$replace.=.false).{.$prev
141bc0 20 3d 20 24 74 68 69 73 2d 3e 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 3b 0a 24 74 68 69 73 2d .=.$this->screamedErrors;.$this-
141be0 3e 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 20 3d 20 28 69 6e 74 29 20 24 6c 65 76 65 6c 73 3b >screamedErrors.=.(int).$levels;
141c00 0a 69 66 20 28 21 24 72 65 70 6c 61 63 65 29 20 7b 0a 24 74 68 69 73 2d 3e 73 63 72 65 61 6d 65 .if.(!$replace).{.$this->screame
141c20 64 45 72 72 6f 72 73 20 7c 3d 20 24 70 72 65 76 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 dErrors.|=.$prev;.}..return.$pre
141c40 76 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 52 65 67 69 v;.}.....private.function.reRegi
141c60 73 74 65 72 28 24 70 72 65 76 29 0a 7b 0a 69 66 20 28 24 70 72 65 76 20 21 3d 3d 20 24 74 68 69 ster($prev).{.if.($prev.!==.$thi
141c80 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f 72 73 20 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 s->thrownErrors.|.$this->loggedE
141ca0 72 72 6f 72 73 29 20 7b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 rrors).{.$handler.=.set_error_ha
141cc0 6e 64 6c 65 72 28 27 76 61 72 5f 64 75 6d 70 27 29 3b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 5c 69 ndler('var_dump');.$handler.=.\i
141ce0 73 5f 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 29 20 3f 20 24 68 61 6e 64 6c 65 72 5b 30 5d 20 s_array($handler).?.$handler[0].
141d00 3a 20 6e 75 6c 6c 3b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b :.null;.restore_error_handler();
141d20 0a 69 66 20 28 24 68 61 6e 64 6c 65 72 20 3d 3d 3d 20 24 74 68 69 73 29 20 7b 0a 72 65 73 74 6f .if.($handler.===.$this).{.resto
141d40 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 re_error_handler();.if.($this->i
141d60 73 52 6f 6f 74 29 20 7b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 sRoot).{.set_error_handler(array
141d80 28 24 74 68 69 73 2c 20 27 68 61 6e 64 6c 65 45 72 72 6f 72 27 29 2c 20 24 74 68 69 73 2d 3e 74 ($this,.'handleError'),.$this->t
141da0 68 72 6f 77 6e 45 72 72 6f 72 73 20 7c 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 hrownErrors.|.$this->loggedError
141dc0 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 61 s);.}.else.{.set_error_handler(a
141de0 72 72 61 79 28 24 74 68 69 73 2c 20 27 68 61 6e 64 6c 65 45 72 72 6f 72 27 29 29 3b 0a 7d 0a 7d rray($this,.'handleError'));.}.}
141e00 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .}.}................public.funct
141e20 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 24 74 79 70 65 2c 20 24 6d 65 73 73 61 67 65 2c ion.handleError($type,.$message,
141e40 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 0a 7b 0a 24 6c 65 76 65 6c 20 3d 20 65 72 72 6f 72 5f .$file,.$line).{.$level.=.error_
141e60 72 65 70 6f 72 74 69 6e 67 28 29 3b 0a 24 73 69 6c 65 6e 63 65 64 20 3d 20 30 20 3d 3d 3d 20 28 reporting();.$silenced.=.0.===.(
141e80 24 6c 65 76 65 6c 20 26 20 24 74 79 70 65 29 3b 0a 24 6c 65 76 65 6c 20 7c 3d 20 45 5f 52 45 43 $level.&.$type);.$level.|=.E_REC
141ea0 4f 56 45 52 41 42 4c 45 5f 45 52 52 4f 52 20 7c 20 45 5f 55 53 45 52 5f 45 52 52 4f 52 20 7c 20 OVERABLE_ERROR.|.E_USER_ERROR.|.
141ec0 45 5f 44 45 50 52 45 43 41 54 45 44 20 7c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 E_DEPRECATED.|.E_USER_DEPRECATED
141ee0 3b 0a 24 6c 6f 67 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 45 72 72 6f 72 73 20 26 20 24 ;.$log.=.$this->loggedErrors.&.$
141f00 74 79 70 65 3b 0a 24 74 68 72 6f 77 20 3d 20 24 74 68 69 73 2d 3e 74 68 72 6f 77 6e 45 72 72 6f type;.$throw.=.$this->thrownErro
141f20 72 73 20 26 20 24 74 79 70 65 20 26 20 24 6c 65 76 65 6c 3b 0a 24 74 79 70 65 20 26 3d 20 24 6c rs.&.$type.&.$level;.$type.&=.$l
141f40 65 76 65 6c 20 7c 20 24 74 68 69 73 2d 3e 73 63 72 65 61 6d 65 64 45 72 72 6f 72 73 3b 0a 0a 69 evel.|.$this->screamedErrors;..i
141f60 66 20 28 21 24 74 79 70 65 20 7c 7c 20 28 21 24 6c 6f 67 20 26 26 20 21 24 74 68 72 6f 77 29 29 f.(!$type.||.(!$log.&&.!$throw))
141f80 20 7b 0a 72 65 74 75 72 6e 20 21 24 73 69 6c 65 6e 63 65 64 20 26 26 20 24 74 79 70 65 20 26 26 .{.return.!$silenced.&&.$type.&&
141fa0 20 24 6c 6f 67 3b 0a 7d 0a 24 73 63 6f 70 65 20 3d 20 24 74 68 69 73 2d 3e 73 63 6f 70 65 64 45 .$log;.}.$scope.=.$this->scopedE
141fc0 72 72 6f 72 73 20 26 20 24 74 79 70 65 3b 0a 0a 69 66 20 28 34 20 3c 20 24 6e 75 6d 41 72 67 73 rrors.&.$type;..if.(4.<.$numArgs
141fe0 20 3d 20 5c 66 75 6e 63 5f 6e 75 6d 5f 61 72 67 73 28 29 29 20 7b 0a 24 63 6f 6e 74 65 78 74 20 .=.\func_num_args()).{.$context.
142000 3d 20 24 73 63 6f 70 65 20 3f 20 28 66 75 6e 63 5f 67 65 74 5f 61 72 67 28 34 29 20 3f 3a 20 61 =.$scope.?.(func_get_arg(4).?:.a
142020 72 72 61 79 28 29 29 20 3a 20 61 72 72 61 79 28 29 3b 0a 24 62 61 63 6b 74 72 61 63 65 20 3d 20 rray()).:.array();.$backtrace.=.
142040 35 20 3c 20 24 6e 75 6d 41 72 67 73 20 3f 20 66 75 6e 63 5f 67 65 74 5f 61 72 67 28 35 29 20 3a 5.<.$numArgs.?.func_get_arg(5).:
142060 20 6e 75 6c 6c 3b 20 0a 20 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 .null;...}.else.{.$context.=.arr
142080 61 79 28 29 3b 0a 24 62 61 63 6b 74 72 61 63 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 ay();.$backtrace.=.null;.}..if.(
1420a0 69 73 73 65 74 28 24 63 6f 6e 74 65 78 74 5b 27 47 4c 4f 42 41 4c 53 27 5d 29 20 26 26 20 24 73 isset($context['GLOBALS']).&&.$s
1420c0 63 6f 70 65 29 20 7b 0a 24 65 20 3d 20 24 63 6f 6e 74 65 78 74 3b 20 0a 20 75 6e 73 65 74 28 24 cope).{.$e.=.$context;...unset($
1420e0 65 5b 27 47 4c 4f 42 41 4c 53 27 5d 2c 20 24 63 6f 6e 74 65 78 74 29 3b 20 0a 20 24 63 6f 6e 74 e['GLOBALS'],.$context);...$cont
142100 65 78 74 20 3d 20 24 65 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 62 61 63 6b 74 ext.=.$e;.}..if.(null.!==.$backt
142120 72 61 63 65 20 26 26 20 24 74 79 70 65 20 26 20 45 5f 45 52 52 4f 52 29 20 7b 0a 0a 20 0a 20 0a race.&&.$type.&.E_ERROR).{......
142140 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 46 61 74 61 6c 45 72 72 6f 72 28 63 6f 6d 70 61 63 74 .$this->handleFatalError(compact
142160 28 27 74 79 70 65 27 2c 20 27 6d 65 73 73 61 67 65 27 2c 20 27 66 69 6c 65 27 2c 20 27 6c 69 6e ('type',.'message',.'file',.'lin
142180 65 27 2c 20 27 62 61 63 6b 74 72 61 63 65 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b e',.'backtrace'));..return.true;
1421a0 0a 7d 0a 0a 69 66 20 28 24 74 68 72 6f 77 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 .}..if.($throw).{.if.(null.!==.s
1421c0 65 6c 66 3a 3a 24 74 6f 53 74 72 69 6e 67 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 74 68 72 6f elf::$toStringException).{.$thro
1421e0 77 20 3d 20 73 65 6c 66 3a 3a 24 74 6f 53 74 72 69 6e 67 45 78 63 65 70 74 69 6f 6e 3b 0a 73 65 w.=.self::$toStringException;.se
142200 6c 66 3a 3a 24 74 6f 53 74 72 69 6e 67 45 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 7d lf::$toStringException.=.null;.}
142220 20 65 6c 73 65 69 66 20 28 24 73 63 6f 70 65 20 26 26 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 .elseif.($scope.&&.class_exists(
142240 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 'Symfony\Component\Debug\Excepti
142260 6f 6e 5c 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 27 29 29 20 7b 0a 0a 20 on\ContextErrorException')).{...
142280 24 74 68 72 6f 77 20 3d 20 6e 65 77 20 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 $throw.=.new.ContextErrorExcepti
1422a0 6f 6e 28 24 74 68 69 73 2d 3e 6c 65 76 65 6c 73 5b 24 74 79 70 65 5d 2e 27 3a 20 27 2e 24 6d 65 on($this->levels[$type].':.'.$me
1422c0 73 73 61 67 65 2c 20 30 2c 20 24 74 79 70 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 2c 20 24 ssage,.0,.$type,.$file,.$line,.$
1422e0 63 6f 6e 74 65 78 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 72 6f 77 20 3d 20 6e 65 77 20 context);.}.else.{.$throw.=.new.
142300 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2d 3e 6c 65 76 65 6c 73 5b 24 74 \ErrorException($this->levels[$t
142320 79 70 65 5d 2e 27 3a 20 27 2e 24 6d 65 73 73 61 67 65 2c 20 30 2c 20 24 74 79 70 65 2c 20 24 66 ype].':.'.$message,.0,.$type,.$f
142340 69 6c 65 2c 20 24 6c 69 6e 65 29 3b 0a 7d 0a 0a 69 66 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e ile,.$line);.}..if.(\PHP_VERSION
142360 5f 49 44 20 3c 3d 20 35 30 34 30 37 20 26 26 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 _ID.<=.50407.&&.(\PHP_VERSION_ID
142380 20 3e 3d 20 35 30 34 30 30 20 7c 7c 20 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 3d 20 .>=.50400.||.\PHP_VERSION_ID.<=.
1423a0 35 30 33 31 37 29 29 20 7b 0a 0a 20 0a 20 0a 0a 24 74 68 72 6f 77 2d 3e 65 72 72 6f 72 48 61 6e 50317)).{.......$throw->errorHan
1423c0 64 6c 65 72 43 61 6e 61 72 79 20 3d 20 6e 65 77 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 43 61 6e dlerCanary.=.new.ErrorHandlerCan
1423e0 61 72 79 28 29 3b 0a 7d 0a 0a 69 66 20 28 45 5f 55 53 45 52 5f 45 52 52 4f 52 20 26 20 24 74 79 ary();.}..if.(E_USER_ERROR.&.$ty
142400 70 65 29 20 7b 0a 24 62 61 63 6b 74 72 61 63 65 20 3d 20 24 62 61 63 6b 74 72 61 63 65 20 3f 3a pe).{.$backtrace.=.$backtrace.?:
142420 20 24 74 68 72 6f 77 2d 3e 67 65 74 54 72 61 63 65 28 29 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 .$throw->getTrace();..for.($i.=.
142440 31 3b 20 69 73 73 65 74 28 24 62 61 63 6b 74 72 61 63 65 5b 24 69 5d 29 3b 20 2b 2b 24 69 29 20 1;.isset($backtrace[$i]);.++$i).
142460 7b 0a 69 66 20 28 69 73 73 65 74 28 24 62 61 63 6b 74 72 61 63 65 5b 24 69 5d 5b 27 66 75 6e 63 {.if.(isset($backtrace[$i]['func
142480 74 69 6f 6e 27 5d 2c 20 24 62 61 63 6b 74 72 61 63 65 5b 24 69 5d 5b 27 74 79 70 65 27 5d 2c 20 tion'],.$backtrace[$i]['type'],.
1424a0 24 62 61 63 6b 74 72 61 63 65 5b 24 69 20 2d 20 31 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 29 0a $backtrace[$i.-.1]['function']).
1424c0 26 26 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 20 3d 3d 3d 20 24 62 61 63 6b 74 72 61 63 65 5b 24 &&.'__toString'.===.$backtrace[$
1424e0 69 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 0a 26 26 20 27 2d 3e 27 20 3d 3d 3d 20 24 62 61 63 6b i]['function'].&&.'->'.===.$back
142500 74 72 61 63 65 5b 24 69 5d 5b 27 74 79 70 65 27 5d 0a 26 26 20 21 69 73 73 65 74 28 24 62 61 63 trace[$i]['type'].&&.!isset($bac
142520 6b 74 72 61 63 65 5b 24 69 20 2d 20 31 5d 5b 27 63 6c 61 73 73 27 5d 29 0a 26 26 20 28 27 74 72 ktrace[$i.-.1]['class']).&&.('tr
142540 69 67 67 65 72 5f 65 72 72 6f 72 27 20 3d 3d 3d 20 24 62 61 63 6b 74 72 61 63 65 5b 24 69 20 2d igger_error'.===.$backtrace[$i.-
142560 20 31 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 20 7c 7c 20 27 75 73 65 72 5f 65 72 72 6f 72 27 20 .1]['function'].||.'user_error'.
142580 3d 3d 3d 20 24 62 61 63 6b 74 72 61 63 65 5b 24 69 20 2d 20 31 5d 5b 27 66 75 6e 63 74 69 6f 6e ===.$backtrace[$i.-.1]['function
1425a0 27 5d 29 0a 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 6f ']).).{.............foreach.($co
1425c0 6e 74 65 78 74 20 61 73 20 24 65 29 20 7b 0a 69 66 20 28 28 24 65 20 69 6e 73 74 61 6e 63 65 6f ntext.as.$e).{.if.(($e.instanceo
1425e0 66 20 5c 45 78 63 65 70 74 69 6f 6e 20 7c 7c 20 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 f.\Exception.||.$e.instanceof.\T
142600 68 72 6f 77 61 62 6c 65 29 20 26 26 20 24 65 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 20 3d 3d hrowable).&&.$e->__toString().==
142620 3d 20 24 6d 65 73 73 61 67 65 29 20 7b 0a 69 66 20 28 31 20 3d 3d 3d 20 24 69 29 20 7b 0a 0a 20 =.$message).{.if.(1.===.$i).{...
142640 24 74 68 72 6f 77 20 3d 20 24 65 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 73 65 6c 66 3a 3a 24 74 6f 53 $throw.=.$e;.break;.}.self::$toS
142660 74 72 69 6e 67 45 78 63 65 70 74 69 6f 6e 20 3d 20 24 65 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 tringException.=.$e;..return.tru
142680 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 31 20 3c 20 24 69 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 68 e;.}.}..if.(1.<.$i).{...$this->h
1426a0 61 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 28 24 74 68 72 6f 77 29 3b 0a 0a 0a 20 72 65 74 75 72 andleException($throw);....retur
1426c0 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 24 74 68 72 6f 77 3b 0a n.false;.}.}.}.}..throw.$throw;.
1426e0 7d 0a 0a 0a 20 24 65 20 3d 20 6d 64 35 28 22 7b 24 74 79 70 65 7d 2f 7b 24 6c 69 6e 65 7d 2f 7b }....$e.=.md5("{$type}/{$line}/{
142700 24 66 69 6c 65 7d 5c 78 30 30 7b 24 6d 65 73 73 61 67 65 7d 22 2c 20 74 72 75 65 29 3b 0a 24 74 $file}\x00{$message}",.true);.$t
142720 72 61 63 65 20 3d 20 74 72 75 65 3b 0a 0a 69 66 20 28 21 28 24 74 68 69 73 2d 3e 74 72 61 63 65 race.=.true;..if.(!($this->trace
142740 64 45 72 72 6f 72 73 20 26 20 24 74 79 70 65 29 20 7c 7c 20 69 73 73 65 74 28 24 74 68 69 73 2d dErrors.&.$type).||.isset($this-
142760 3e 6c 6f 67 67 65 64 54 72 61 63 65 73 5b 24 65 5d 29 29 20 7b 0a 24 74 72 61 63 65 20 3d 20 66 >loggedTraces[$e])).{.$trace.=.f
142780 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 64 54 72 61 63 alse;.}.else.{.$this->loggedTrac
1427a0 65 73 5b 24 65 5d 20 3d 20 31 3b 0a 7d 0a 0a 24 65 20 3d 20 63 6f 6d 70 61 63 74 28 27 74 79 70 es[$e].=.1;.}..$e.=.compact('typ
1427c0 65 27 2c 20 27 66 69 6c 65 27 2c 20 27 6c 69 6e 65 27 2c 20 27 6c 65 76 65 6c 27 29 3b 0a 0a 69 e',.'file',.'line',.'level');..i
1427e0 66 20 28 24 74 79 70 65 20 26 20 24 6c 65 76 65 6c 29 20 7b 0a 69 66 20 28 24 73 63 6f 70 65 29 f.($type.&.$level).{.if.($scope)
142800 20 7b 0a 24 65 5b 27 73 63 6f 70 65 5f 76 61 72 73 27 5d 20 3d 20 24 63 6f 6e 74 65 78 74 3b 0a .{.$e['scope_vars'].=.$context;.
142820 69 66 20 28 24 74 72 61 63 65 29 20 7b 0a 24 65 5b 27 73 74 61 63 6b 27 5d 20 3d 20 24 62 61 63 if.($trace).{.$e['stack'].=.$bac
142840 6b 74 72 61 63 65 20 3f 3a 20 64 65 62 75 67 5f 62 61 63 6b 74 72 61 63 65 28 44 45 42 55 47 5f ktrace.?:.debug_backtrace(DEBUG_
142860 42 41 43 4b 54 52 41 43 45 5f 50 52 4f 56 49 44 45 5f 4f 42 4a 45 43 54 29 3b 0a 7d 0a 7d 20 65 BACKTRACE_PROVIDE_OBJECT);.}.}.e
142880 6c 73 65 69 66 20 28 24 74 72 61 63 65 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 62 lseif.($trace).{.if.(null.===.$b
1428a0 61 63 6b 74 72 61 63 65 29 20 7b 0a 24 65 5b 27 73 74 61 63 6b 27 5d 20 3d 20 64 65 62 75 67 5f acktrace).{.$e['stack'].=.debug_
1428c0 62 61 63 6b 74 72 61 63 65 28 44 45 42 55 47 5f 42 41 43 4b 54 52 41 43 45 5f 49 47 4e 4f 52 45 backtrace(DEBUG_BACKTRACE_IGNORE
1428e0 5f 41 52 47 53 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 62 61 63 6b 74 _ARGS);.}.else.{.foreach.($backt
142900 72 61 63 65 20 61 73 20 26 24 66 72 61 6d 65 29 20 7b 0a 75 6e 73 65 74 28 24 66 72 61 6d 65 5b race.as.&$frame).{.unset($frame[
142920 27 61 72 67 73 27 5d 2c 20 24 66 72 61 6d 65 29 3b 0a 7d 0a 24 65 5b 27 73 74 61 63 6b 27 5d 20 'args'],.$frame);.}.$e['stack'].
142940 3d 20 24 62 61 63 6b 74 72 61 63 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e =.$backtrace;.}.}.}..if.($this->
142960 69 73 52 65 63 75 72 73 69 76 65 29 20 7b 0a 24 6c 6f 67 20 3d 20 30 3b 0a 7d 20 65 6c 73 65 69 isRecursive).{.$log.=.0;.}.elsei
142980 66 20 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 65 6c 73 29 20 7b 0a f.(self::$stackedErrorLevels).{.
1429a0 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 73 5b 5d 20 3d 20 61 72 72 61 79 28 24 self::$stackedErrors[].=.array($
1429c0 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 2c 20 28 24 74 79 70 65 20 this->loggers[$type][0],.($type.
1429e0 26 20 24 6c 65 76 65 6c 29 20 3f 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 &.$level).?.$this->loggers[$type
142a00 5d 5b 31 5d 20 3a 20 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 6d 65 73 73 61 67 65 ][1].:.LogLevel::DEBUG,.$message
142a20 2c 20 24 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 69 73 52 ,.$e);.}.else.{.try.{.$this->isR
142a40 65 63 75 72 73 69 76 65 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b ecursive.=.true;.$this->loggers[
142a60 24 74 79 70 65 5d 5b 30 5d 2d 3e 6c 6f 67 28 28 24 74 79 70 65 20 26 20 24 6c 65 76 65 6c 29 20 $type][0]->log(($type.&.$level).
142a80 3f 20 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 31 5d 20 3a 20 4c 6f 67 ?.$this->loggers[$type][1].:.Log
142aa0 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 65 29 3b 0a 24 74 68 Level::DEBUG,.$message,.$e);.$th
142ac0 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 20 63 61 74 63 68 is->isRecursive.=.false;.}.catch
142ae0 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 73 52 65 63 75 .(\Exception.$e).{.$this->isRecu
142b00 72 73 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 20 63 61 74 63 rsive.=.false;..throw.$e;.}.catc
142b20 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 73 52 65 63 h.(\Throwable.$e).{.$this->isRec
142b40 75 72 73 69 76 65 20 3d 20 66 61 6c 73 65 3b 0a 0a 74 68 72 6f 77 20 24 65 3b 0a 7d 0a 7d 0a 0a ursive.=.false;..throw.$e;.}.}..
142b60 72 65 74 75 72 6e 20 21 24 73 69 6c 65 6e 63 65 64 20 26 26 20 24 74 79 70 65 20 26 26 20 24 6c return.!$silenced.&&.$type.&&.$l
142b80 6f 67 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 og;.}..........public.function.h
142ba0 61 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 28 24 65 78 63 65 70 74 69 6f 6e 2c 20 61 72 72 61 79 andleException($exception,.array
142bc0 20 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 .$error.=.null).{.if.(null.===.$
142be0 65 72 72 6f 72 29 20 7b 0a 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 20 3d 20 32 35 35 3b 0a error).{.self::$exitCode.=.255;.
142c00 7d 0a 69 66 20 28 21 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 45 78 }.if.(!$exception.instanceof.\Ex
142c20 63 65 70 74 69 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 6e 65 77 20 46 61 74 61 ception).{.$exception.=.new.Fata
142c40 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 24 lThrowableError($exception);.}.$
142c60 74 79 70 65 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 61 74 type.=.$exception.instanceof.Fat
142c80 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 3f 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 alErrorException.?.$exception->g
142ca0 65 74 53 65 76 65 72 69 74 79 28 29 20 3a 20 45 5f 45 52 52 4f 52 3b 0a 24 68 61 6e 64 6c 65 72 etSeverity().:.E_ERROR;.$handler
142cc0 45 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 0a 69 66 20 28 28 24 74 68 69 73 2d 3e 6c Exception.=.null;..if.(($this->l
142ce0 6f 67 67 65 64 45 72 72 6f 72 73 20 26 20 24 74 79 70 65 29 20 7c 7c 20 24 65 78 63 65 70 74 69 oggedErrors.&.$type).||.$excepti
142d00 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f on.instanceof.FatalThrowableErro
142d20 72 29 20 7b 0a 24 65 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 20 3d 3e 20 24 74 79 70 65 r).{.$e.=.array(.'type'.=>.$type
142d40 2c 0a 27 66 69 6c 65 27 20 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 46 69 6c 65 28 ,.'file'.=>.$exception->getFile(
142d60 29 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4c 69 6e 65 ),.'line'.=>.$exception->getLine
142d80 28 29 2c 0a 27 6c 65 76 65 6c 27 20 3d 3e 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 (),.'level'.=>.error_reporting()
142da0 2c 0a 27 73 74 61 63 6b 27 20 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 54 72 61 63 ,.'stack'.=>.$exception->getTrac
142dc0 65 28 29 2c 0a 29 3b 0a 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f e(),.);.if.($exception.instanceo
142de0 66 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 69 66 20 28 24 65 78 f.FatalErrorException).{.if.($ex
142e00 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c ception.instanceof.FatalThrowabl
142e20 65 45 72 72 6f 72 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 61 72 72 61 79 28 0a 27 74 79 70 65 27 eError).{.$error.=.array(.'type'
142e40 20 3d 3e 20 24 74 79 70 65 2c 0a 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 24 6d 65 73 73 61 67 65 .=>.$type,.'message'.=>.$message
142e60 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 0a 27 66 69 .=.$exception->getMessage(),.'fi
142e80 6c 65 27 20 3d 3e 20 24 65 5b 27 66 69 6c 65 27 5d 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 24 65 5b le'.=>.$e['file'],.'line'.=>.$e[
142ea0 27 6c 69 6e 65 27 5d 2c 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 'line'],.);.}.else.{.$message.=.
142ec0 27 46 61 74 61 6c 20 27 2e 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 'Fatal.'.$exception->getMessage(
142ee0 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e );.}.}.elseif.($exception.instan
142f00 63 65 6f 66 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 6d 65 73 73 61 67 65 ceof.\ErrorException).{.$message
142f20 20 3d 20 27 55 6e 63 61 75 67 68 74 20 27 2e 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 .=.'Uncaught.'.$exception->getMe
142f40 73 73 61 67 65 28 29 3b 0a 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 ssage();.if.($exception.instance
142f60 6f 66 20 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 65 5b 27 of.ContextErrorException).{.$e['
142f80 63 6f 6e 74 65 78 74 27 5d 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 6e 74 65 context'].=.$exception->getConte
142fa0 78 74 28 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 55 6e 63 xt();.}.}.else.{.$message.=.'Unc
142fc0 61 75 67 68 74 20 45 78 63 65 70 74 69 6f 6e 3a 20 27 2e 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 aught.Exception:.'.$exception->g
142fe0 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 7d 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 67 67 etMessage();.}.}.if.($this->logg
143000 65 64 45 72 72 6f 72 73 20 26 20 24 74 79 70 65 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d edErrors.&.$type).{.try.{.$this-
143020 3e 6c 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 30 5d 2d 3e 6c 6f 67 28 24 74 68 69 73 2d 3e 6c >loggers[$type][0]->log($this->l
143040 6f 67 67 65 72 73 5b 24 74 79 70 65 5d 5b 31 5d 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 65 29 3b oggers[$type][1],.$message,.$e);
143060 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 68 61 6e 64 6c 65 72 45 78 63 .}.catch.(\Exception.$handlerExc
143080 65 70 74 69 6f 6e 29 20 7b 0a 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 68 eption).{.}.catch.(\Throwable.$h
1430a0 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 7d 0a 7d 0a 69 66 20 28 24 65 78 63 65 andlerException).{.}.}.if.($exce
1430c0 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 ption.instanceof.FatalErrorExcep
1430e0 74 69 6f 6e 20 26 26 20 21 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 4f tion.&&.!$exception.instanceof.O
143100 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 20 26 26 20 24 65 72 72 6f 72 29 20 7b utOfMemoryException.&&.$error).{
143120 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 46 61 74 61 6c 45 72 72 6f 72 48 61 .foreach.($this->getFatalErrorHa
143140 6e 64 6c 65 72 73 28 29 20 61 73 20 24 68 61 6e 64 6c 65 72 29 20 7b 0a 69 66 20 28 24 65 20 3d ndlers().as.$handler).{.if.($e.=
143160 20 24 68 61 6e 64 6c 65 72 2d 3e 68 61 6e 64 6c 65 45 72 72 6f 72 28 24 65 72 72 6f 72 2c 20 24 .$handler->handleError($error,.$
143180 65 78 63 65 70 74 69 6f 6e 29 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 24 65 3b 0a 62 exception)).{.$exception.=.$e;.b
1431a0 72 65 61 6b 3b 0a 7d 0a 7d 0a 7d 0a 24 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 20 3d 20 reak;.}.}.}.$exceptionHandler.=.
1431c0 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 3b 0a 24 74 68 69 73 2d 3e $this->exceptionHandler;.$this->
1431e0 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 20 3d 20 6e 75 6c 6c 3b 0a 74 72 79 20 7b 0a 69 exceptionHandler.=.null;.try.{.i
143200 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 78 63 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 29 20 7b f.(null.!==.$exceptionHandler).{
143220 0a 72 65 74 75 72 6e 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 65 78 63 65 70 74 69 .return.\call_user_func($excepti
143240 6f 6e 48 61 6e 64 6c 65 72 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 24 68 61 6e 64 6c onHandler,.$exception);.}.$handl
143260 65 72 45 78 63 65 70 74 69 6f 6e 20 3d 20 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 20 erException.=.$handlerException.
143280 3f 3a 20 24 65 78 63 65 70 74 69 6f 6e 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 ?:.$exception;.}.catch.(\Excepti
1432a0 6f 6e 20 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 7d 20 63 61 74 63 68 20 on.$handlerException).{.}.catch.
1432c0 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 68 61 6e 64 6c 65 72 45 78 63 65 70 74 69 6f 6e 29 20 7b (\Throwable.$handlerException).{
1432e0 0a 7d 0a 69 66 20 28 24 65 78 63 65 70 74 69 6f 6e 20 3d 3d 3d 20 24 68 61 6e 64 6c 65 72 45 78 .}.if.($exception.===.$handlerEx
143300 63 65 70 74 69 6f 6e 29 20 7b 0a 73 65 6c 66 3a 3a 24 72 65 73 65 72 76 65 64 4d 65 6d 6f 72 79 ception).{.self::$reservedMemory
143320 20 3d 20 6e 75 6c 6c 3b 20 0a 20 74 68 72 6f 77 20 24 65 78 63 65 70 74 69 6f 6e 3b 20 0a 20 7d .=.null;...throw.$exception;...}
143340 0a 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 28 24 68 61 6e 64 6c 65 72 .$this->handleException($handler
143360 45 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 Exception);.}.........public.sta
143380 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 46 61 74 61 6c 45 72 72 6f 72 28 61 72 tic.function.handleFatalError(ar
1433a0 72 61 79 20 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d ray.$error.=.null).{.if.(null.==
1433c0 3d 20 73 65 6c 66 3a 3a 24 72 65 73 65 72 76 65 64 4d 65 6d 6f 72 79 29 20 7b 0a 72 65 74 75 72 =.self::$reservedMemory).{.retur
1433e0 6e 3b 0a 7d 0a 0a 24 68 61 6e 64 6c 65 72 20 3d 20 73 65 6c 66 3a 3a 24 72 65 73 65 72 76 65 64 n;.}..$handler.=.self::$reserved
143400 4d 65 6d 6f 72 79 20 3d 20 6e 75 6c 6c 3b 0a 24 68 61 6e 64 6c 65 72 73 20 3d 20 61 72 72 61 79 Memory.=.null;.$handlers.=.array
143420 28 29 3b 0a 24 70 72 65 76 69 6f 75 73 48 61 6e 64 6c 65 72 20 3d 20 6e 75 6c 6c 3b 0a 24 73 61 ();.$previousHandler.=.null;.$sa
143440 6d 65 48 61 6e 64 6c 65 72 4c 69 6d 69 74 20 3d 20 31 30 3b 0a 0a 77 68 69 6c 65 20 28 21 5c 69 meHandlerLimit.=.10;..while.(!\i
143460 73 5f 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 29 20 7c 7c 20 21 24 68 61 6e 64 6c 65 72 5b 30 s_array($handler).||.!$handler[0
143480 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 ].instanceof.self).{.$handler.=.
1434a0 73 65 74 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 27 76 61 72 5f 64 75 6d 70 27 set_exception_handler('var_dump'
1434c0 29 3b 0a 72 65 73 74 6f 72 65 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 29 3b 0a );.restore_exception_handler();.
1434e0 0a 69 66 20 28 21 24 68 61 6e 64 6c 65 72 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 72 65 73 74 6f .if.(!$handler).{.break;.}.resto
143500 72 65 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 69 66 20 28 24 68 61 re_exception_handler();..if.($ha
143520 6e 64 6c 65 72 20 21 3d 3d 20 24 70 72 65 76 69 6f 75 73 48 61 6e 64 6c 65 72 29 20 7b 0a 61 72 ndler.!==.$previousHandler).{.ar
143540 72 61 79 5f 75 6e 73 68 69 66 74 28 24 68 61 6e 64 6c 65 72 73 2c 20 24 68 61 6e 64 6c 65 72 29 ray_unshift($handlers,.$handler)
143560 3b 0a 24 70 72 65 76 69 6f 75 73 48 61 6e 64 6c 65 72 20 3d 20 24 68 61 6e 64 6c 65 72 3b 0a 7d ;.$previousHandler.=.$handler;.}
143580 20 65 6c 73 65 69 66 20 28 30 20 3d 3d 3d 20 2d 2d 24 73 61 6d 65 48 61 6e 64 6c 65 72 4c 69 6d .elseif.(0.===.--$sameHandlerLim
1435a0 69 74 29 20 7b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 6e 75 6c 6c 3b 0a 62 72 65 61 6b 3b 0a 7d 0a it).{.$handler.=.null;.break;.}.
1435c0 7d 0a 66 6f 72 65 61 63 68 20 28 24 68 61 6e 64 6c 65 72 73 20 61 73 20 24 68 29 20 7b 0a 73 65 }.foreach.($handlers.as.$h).{.se
1435e0 74 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 24 68 29 3b 0a 7d 0a 69 66 20 28 21 t_exception_handler($h);.}.if.(!
143600 24 68 61 6e 64 6c 65 72 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 24 68 61 6e 64 6c $handler).{.return;.}.if.($handl
143620 65 72 20 21 3d 3d 20 24 68 29 20 7b 0a 24 68 61 6e 64 6c 65 72 5b 30 5d 2d 3e 73 65 74 45 78 63 er.!==.$h).{.$handler[0]->setExc
143640 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 24 68 29 3b 0a 7d 0a 24 68 61 6e 64 6c 65 72 20 3d 20 eptionHandler($h);.}.$handler.=.
143660 24 68 61 6e 64 6c 65 72 5b 30 5d 3b 0a 24 68 61 6e 64 6c 65 72 73 20 3d 20 61 72 72 61 79 28 29 $handler[0];.$handlers.=.array()
143680 3b 0a 0a 69 66 20 28 24 65 78 69 74 20 3d 20 6e 75 6c 6c 20 3d 3d 3d 20 24 65 72 72 6f 72 29 20 ;..if.($exit.=.null.===.$error).
1436a0 7b 0a 24 65 72 72 6f 72 20 3d 20 65 72 72 6f 72 5f 67 65 74 5f 6c 61 73 74 28 29 3b 0a 7d 0a 0a {.$error.=.error_get_last();.}..
1436c0 74 72 79 20 7b 0a 77 68 69 6c 65 20 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 try.{.while.(self::$stackedError
1436e0 4c 65 76 65 6c 73 29 20 7b 0a 73 74 61 74 69 63 3a 3a 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 28 Levels).{.static::unstackErrors(
143700 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 );.}.}.catch.(\Exception.$except
143720 69 6f 6e 29 20 7b 0a 0a 20 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 24 65 78 ion).{...}.catch.(\Throwable.$ex
143740 63 65 70 74 69 6f 6e 29 20 7b 0a 0a 20 7d 0a 0a 69 66 20 28 24 65 72 72 6f 72 20 26 26 20 24 65 ception).{...}..if.($error.&&.$e
143760 72 72 6f 72 5b 27 74 79 70 65 27 5d 20 26 3d 20 45 5f 50 41 52 53 45 20 7c 20 45 5f 45 52 52 4f rror['type'].&=.E_PARSE.|.E_ERRO
143780 52 20 7c 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 R.|.E_CORE_ERROR.|.E_COMPILE_ERR
1437a0 4f 52 29 20 7b 0a 0a 20 24 68 61 6e 64 6c 65 72 2d 3e 74 68 72 6f 77 41 74 28 30 2c 20 74 72 75 OR).{...$handler->throwAt(0,.tru
1437c0 65 29 3b 0a 24 74 72 61 63 65 20 3d 20 69 73 73 65 74 28 24 65 72 72 6f 72 5b 27 62 61 63 6b 74 e);.$trace.=.isset($error['backt
1437e0 72 61 63 65 27 5d 29 20 3f 20 24 65 72 72 6f 72 5b 27 62 61 63 6b 74 72 61 63 65 27 5d 20 3a 20 race']).?.$error['backtrace'].:.
143800 6e 75 6c 6c 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 5b 27 null;..if.(0.===.strpos($error['
143820 6d 65 73 73 61 67 65 27 5d 2c 20 27 41 6c 6c 6f 77 65 64 20 6d 65 6d 6f 72 79 27 29 20 7c 7c 20 message'],.'Allowed.memory').||.
143840 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 0.===.strpos($error['message'],.
143860 27 4f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 27 29 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 'Out.of.memory')).{.$exception.=
143880 20 6e 65 77 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 28 24 68 61 6e 64 6c .new.OutOfMemoryException($handl
1438a0 65 72 2d 3e 6c 65 76 65 6c 73 5b 24 65 72 72 6f 72 5b 27 74 79 70 65 27 5d 5d 2e 27 3a 20 27 2e er->levels[$error['type']].':.'.
1438c0 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 30 2c 20 24 65 72 72 6f 72 5b 27 74 79 $error['message'],.0,.$error['ty
1438e0 70 65 27 5d 2c 20 24 65 72 72 6f 72 5b 27 66 69 6c 65 27 5d 2c 20 24 65 72 72 6f 72 5b 27 6c 69 pe'],.$error['file'],.$error['li
143900 6e 65 27 5d 2c 20 32 2c 20 66 61 6c 73 65 2c 20 24 74 72 61 63 65 29 3b 0a 7d 20 65 6c 73 65 20 ne'],.2,.false,.$trace);.}.else.
143920 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d 20 6e 65 77 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 {.$exception.=.new.FatalErrorExc
143940 65 70 74 69 6f 6e 28 24 68 61 6e 64 6c 65 72 2d 3e 6c 65 76 65 6c 73 5b 24 65 72 72 6f 72 5b 27 eption($handler->levels[$error['
143960 74 79 70 65 27 5d 5d 2e 27 3a 20 27 2e 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 type']].':.'.$error['message'],.
143980 30 2c 20 24 65 72 72 6f 72 5b 27 74 79 70 65 27 5d 2c 20 24 65 72 72 6f 72 5b 27 66 69 6c 65 27 0,.$error['type'],.$error['file'
1439a0 5d 2c 20 24 65 72 72 6f 72 5b 27 6c 69 6e 65 27 5d 2c 20 32 2c 20 74 72 75 65 2c 20 24 74 72 61 ],.$error['line'],.2,.true,.$tra
1439c0 63 65 29 3b 0a 7d 0a 7d 0a 0a 74 72 79 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 65 78 63 65 70 ce);.}.}..try.{.if.(isset($excep
1439e0 74 69 6f 6e 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 20 3d 20 32 35 35 3b 0a tion)).{.self::$exitCode.=.255;.
143a00 24 68 61 6e 64 6c 65 72 2d 3e 68 61 6e 64 6c 65 45 78 63 65 70 74 69 6f 6e 28 24 65 78 63 65 70 $handler->handleException($excep
143a20 74 69 6f 6e 2c 20 24 65 72 72 6f 72 29 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 46 61 74 61 6c 45 tion,.$error);.}.}.catch.(FatalE
143a40 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 7d 0a 0a 69 66 20 28 24 65 78 rrorException.$e).{...}..if.($ex
143a60 69 74 20 26 26 20 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 29 20 7b 0a 24 65 78 69 74 43 6f it.&&.self::$exitCode).{.$exitCo
143a80 64 65 20 3d 20 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 3b 0a 72 65 67 69 73 74 65 72 5f 73 de.=.self::$exitCode;.register_s
143aa0 68 75 74 64 6f 77 6e 5f 66 75 6e 63 74 69 6f 6e 28 27 72 65 67 69 73 74 65 72 5f 73 68 75 74 64 hutdown_function('register_shutd
143ac0 6f 77 6e 5f 66 75 6e 63 74 69 6f 6e 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 29 20 75 73 65 20 28 own_function',.function.().use.(
143ae0 24 65 78 69 74 43 6f 64 65 29 20 7b 20 65 78 69 74 28 24 65 78 69 74 43 6f 64 65 29 3b 20 7d 29 $exitCode).{.exit($exitCode);.})
143b00 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 ;.}.}.............public.static.
143b20 66 75 6e 63 74 69 6f 6e 20 73 74 61 63 6b 45 72 72 6f 72 73 28 29 0a 7b 0a 73 65 6c 66 3a 3a 24 function.stackErrors().{.self::$
143b40 73 74 61 63 6b 65 64 45 72 72 6f 72 4c 65 76 65 6c 73 5b 5d 20 3d 20 65 72 72 6f 72 5f 72 65 70 stackedErrorLevels[].=.error_rep
143b60 6f 72 74 69 6e 67 28 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 29 20 7c 20 45 5f 50 41 52 orting(error_reporting().|.E_PAR
143b80 53 45 20 7c 20 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 7c 20 45 5f SE.|.E_ERROR.|.E_CORE_ERROR.|.E_
143ba0 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 COMPILE_ERROR);.}.....public.sta
143bc0 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 73 74 61 63 6b 45 72 72 6f 72 73 28 29 0a 7b 0a 24 tic.function.unstackErrors().{.$
143be0 6c 65 76 65 6c 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 73 65 6c 66 3a 3a 24 73 74 61 63 6b 65 64 level.=.array_pop(self::$stacked
143c00 45 72 72 6f 72 4c 65 76 65 6c 73 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 6c 65 76 ErrorLevels);..if.(null.!==.$lev
143c20 65 6c 29 20 7b 0a 24 65 20 3d 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e 67 28 24 6c 65 76 65 el).{.$e.=.error_reporting($leve
143c40 6c 29 3b 0a 69 66 20 28 24 65 20 21 3d 3d 20 28 24 6c 65 76 65 6c 20 7c 20 45 5f 50 41 52 53 45 l);.if.($e.!==.($level.|.E_PARSE
143c60 20 7c 20 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f .|.E_ERROR.|.E_CORE_ERROR.|.E_CO
143c80 4d 50 49 4c 45 5f 45 52 52 4f 52 29 29 20 7b 0a 0a 20 65 72 72 6f 72 5f 72 65 70 6f 72 74 69 6e MPILE_ERROR)).{...error_reportin
143ca0 67 28 24 65 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 65 6d 70 74 79 28 73 65 6c 66 3a 3a 24 73 74 61 g($e);.}.}..if.(empty(self::$sta
143cc0 63 6b 65 64 45 72 72 6f 72 4c 65 76 65 6c 73 29 29 20 7b 0a 24 65 72 72 6f 72 73 20 3d 20 73 65 ckedErrorLevels)).{.$errors.=.se
143ce0 6c 66 3a 3a 24 73 74 61 63 6b 65 64 45 72 72 6f 72 73 3b 0a 73 65 6c 66 3a 3a 24 73 74 61 63 6b lf::$stackedErrors;.self::$stack
143d00 65 64 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 65 edErrors.=.array();..foreach.($e
143d20 72 72 6f 72 73 20 61 73 20 24 65 29 20 7b 0a 24 65 5b 30 5d 2d 3e 6c 6f 67 28 24 65 5b 31 5d 2c rrors.as.$e).{.$e[0]->log($e[1],
143d40 20 24 65 5b 32 5d 2c 20 24 65 5b 33 5d 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 .$e[2],.$e[3]);.}.}.}.........pr
143d60 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 61 74 61 6c 45 72 72 6f 72 48 61 otected.function.getFatalErrorHa
143d80 6e 64 6c 65 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 6e 65 77 20 55 6e 64 ndlers().{.return.array(.new.Und
143da0 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 efinedFunctionFatalErrorHandler(
143dc0 29 2c 0a 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 46 61 74 61 6c 45 72 72 6f 72 ),.new.UndefinedMethodFatalError
143de0 48 61 6e 64 6c 65 72 28 29 2c 0a 6e 65 77 20 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 46 61 74 61 Handler(),.new.ClassNotFoundFata
143e00 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 lErrorHandler(),.);.}.........pu
143e20 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 65 76 65 6c 28 24 6c 65 76 65 6c 29 0a 7b blic.function.setLevel($level).{
143e40 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f .@trigger_error('The.'.__METHOD_
143e60 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 _.'.method.is.deprecated.since.S
143e80 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 ymfony.2.6.and.will.be.removed.i
143ea0 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 74 68 72 6f 77 41 74 28 29 20 6d 65 74 68 6f 64 20 n.3.0..Use.the.throwAt().method.
143ec0 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a instead.',.E_USER_DEPRECATED);..
143ee0 24 6c 65 76 65 6c 20 3d 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 65 76 65 6c 20 3f 20 65 72 72 6f 72 $level.=.null.===.$level.?.error
143f00 5f 72 65 70 6f 72 74 69 6e 67 28 29 20 3a 20 24 6c 65 76 65 6c 3b 0a 24 74 68 69 73 2d 3e 74 68 _reporting().:.$level;.$this->th
143f20 72 6f 77 41 74 28 24 6c 65 76 65 6c 2c 20 74 72 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 rowAt($level,.true);.}.........p
143f40 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 69 73 70 6c 61 79 45 72 72 6f 72 73 28 ublic.function.setDisplayErrors(
143f60 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 $displayErrors).{.@trigger_error
143f80 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 ('The.'.__METHOD__.'.method.is.d
143fa0 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 eprecated.since.Symfony.2.6.and.
143fc0 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 will.be.removed.in.3.0..Use.the.
143fe0 74 68 72 6f 77 41 74 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 throwAt().method.instead.',.E_US
144000 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 69 66 20 28 24 64 69 73 70 6c 61 79 45 72 72 ER_DEPRECATED);..if.($displayErr
144020 6f 72 73 29 20 7b 0a 24 74 68 69 73 2d 3e 74 68 72 6f 77 41 74 28 24 74 68 69 73 2d 3e 64 69 73 ors).{.$this->throwAt($this->dis
144040 70 6c 61 79 45 72 72 6f 72 73 2c 20 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 69 73 playErrors,.true);.}.else.{.$dis
144060 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 64 69 73 70 6c 61 79 45 72 72 6f 72 playErrors.=.$this->displayError
144080 73 3b 0a 24 74 68 69 73 2d 3e 74 68 72 6f 77 41 74 28 30 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 s;.$this->throwAt(0,.true);.$thi
1440a0 73 2d 3e 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 24 64 69 73 70 6c 61 79 45 72 72 6f 72 s->displayErrors.=.$displayError
1440c0 73 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 s;.}.}..........public.static.fu
1440e0 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 67 67 65 72 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 nction.setLogger(LoggerInterface
144100 20 24 6c 6f 67 67 65 72 2c 20 24 63 68 61 6e 6e 65 6c 20 3d 20 27 64 65 70 72 65 63 61 74 69 6f .$logger,.$channel.=.'deprecatio
144120 6e 27 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 n').{.@trigger_error('The.'.__ME
144140 54 48 4f 44 5f 5f 2e 27 20 73 74 61 74 69 63 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 THOD__.'.static.method.is.deprec
144160 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 6c 6c 20 ated.since.Symfony.2.6.and.will.
144180 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 73 65 74 4c 6f be.removed.in.3.0..Use.the.setLo
1441a0 67 67 65 72 73 28 29 20 6f 72 20 73 65 74 44 65 66 61 75 6c 74 4c 6f 67 67 65 72 28 29 20 6d 65 ggers().or.setDefaultLogger().me
1441c0 74 68 6f 64 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 thods.instead.',.E_USER_DEPRECAT
1441e0 45 44 29 3b 0a 0a 24 68 61 6e 64 6c 65 72 20 3d 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c ED);..$handler.=.set_error_handl
144200 65 72 28 27 76 61 72 5f 64 75 6d 70 27 29 3b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 5c 69 73 5f 61 er('var_dump');.$handler.=.\is_a
144220 72 72 61 79 28 24 68 61 6e 64 6c 65 72 29 20 3f 20 24 68 61 6e 64 6c 65 72 5b 30 5d 20 3a 20 6e rray($handler).?.$handler[0].:.n
144240 75 6c 6c 3b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 ull;.restore_error_handler();.if
144260 20 28 21 24 68 61 6e 64 6c 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 72 .(!$handler.instanceof.self).{.r
144280 65 74 75 72 6e 3b 0a 7d 0a 69 66 20 28 27 64 65 70 72 65 63 61 74 69 6f 6e 27 20 3d 3d 3d 20 24 eturn;.}.if.('deprecation'.===.$
1442a0 63 68 61 6e 6e 65 6c 29 20 7b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 65 74 44 65 66 61 75 6c 74 4c channel).{.$handler->setDefaultL
1442c0 6f 67 67 65 72 28 24 6c 6f 67 67 65 72 2c 20 45 5f 44 45 50 52 45 43 41 54 45 44 20 7c 20 45 5f ogger($logger,.E_DEPRECATED.|.E_
1442e0 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 2c 20 74 72 75 65 29 3b 0a 24 68 61 6e 64 6c 65 72 USER_DEPRECATED,.true);.$handler
144300 2d 3e 73 63 72 65 61 6d 41 74 28 45 5f 44 45 50 52 45 43 41 54 45 44 20 7c 20 45 5f 55 53 45 52 ->screamAt(E_DEPRECATED.|.E_USER
144320 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 73 63 72 65 61 6d 27 _DEPRECATED);.}.elseif.('scream'
144340 20 3d 3d 3d 20 24 63 68 61 6e 6e 65 6c 29 20 7b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 65 74 44 65 .===.$channel).{.$handler->setDe
144360 66 61 75 6c 74 4c 6f 67 67 65 72 28 24 6c 6f 67 67 65 72 2c 20 45 5f 41 4c 4c 20 7c 20 45 5f 53 faultLogger($logger,.E_ALL.|.E_S
144380 54 52 49 43 54 2c 20 66 61 6c 73 65 29 3b 0a 24 68 61 6e 64 6c 65 72 2d 3e 73 63 72 65 61 6d 41 TRICT,.false);.$handler->screamA
1443a0 74 28 45 5f 41 4c 4c 20 7c 20 45 5f 53 54 52 49 43 54 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 t(E_ALL.|.E_STRICT);.}.elseif.('
1443c0 65 6d 65 72 67 65 6e 63 79 27 20 3d 3d 3d 20 24 63 68 61 6e 6e 65 6c 29 20 7b 0a 24 68 61 6e 64 emergency'.===.$channel).{.$hand
1443e0 6c 65 72 2d 3e 73 65 74 44 65 66 61 75 6c 74 4c 6f 67 67 65 72 28 24 6c 6f 67 67 65 72 2c 20 45 ler->setDefaultLogger($logger,.E
144400 5f 50 41 52 53 45 20 7c 20 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 _PARSE.|.E_ERROR.|.E_CORE_ERROR.
144420 7c 20 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 2c 20 74 72 75 65 29 3b 0a 24 68 61 6e 64 6c |.E_COMPILE_ERROR,.true);.$handl
144440 65 72 2d 3e 73 63 72 65 61 6d 41 74 28 45 5f 50 41 52 53 45 20 7c 20 45 5f 45 52 52 4f 52 20 7c er->screamAt(E_PARSE.|.E_ERROR.|
144460 20 45 5f 43 4f 52 45 5f 45 52 52 4f 52 20 7c 20 45 5f 43 4f 4d 50 49 4c 45 5f 45 52 52 4f 52 29 .E_CORE_ERROR.|.E_COMPILE_ERROR)
144480 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 ;.}.}.....public.function.handle
1444a0 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 66 69 6c 65 20 3d 20 27 75 6e 6b 6e ($level,.$message,.$file.=.'unkn
1444c0 6f 77 6e 27 2c 20 24 6c 69 6e 65 20 3d 20 30 2c 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 own',.$line.=.0,.$context.=.arra
1444e0 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 45 72 72 6f 72 28 45 5f 55 53 45 52 y()).{.$this->handleError(E_USER
144500 5f 44 45 50 52 45 43 41 54 45 44 2c 20 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 _DEPRECATED,.'The.'.__METHOD__.'
144520 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 .method.is.deprecated.since.Symf
144540 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 ony.2.6.and.will.be.removed.in.3
144560 2e 30 2e 20 55 73 65 20 74 68 65 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 29 20 6d 65 74 68 6f 64 .0..Use.the.handleError().method
144580 20 69 6e 73 74 65 61 64 2e 27 2c 20 5f 5f 46 49 4c 45 5f 5f 2c 20 5f 5f 4c 49 4e 45 5f 5f 2c 20 .instead.',.__FILE__,.__LINE__,.
1445a0 61 72 72 61 79 28 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 45 array());..return.$this->handleE
1445c0 72 72 6f 72 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 66 69 6c 65 2c 20 24 6c rror($level,.$message,.$file,.$l
1445e0 69 6e 65 2c 20 28 61 72 72 61 79 29 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ine,.(array).$context);.}.......
144600 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 46 61 74 61 6c 28 29 0a 7b 0a public.function.handleFatal().{.
144620 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f @trigger_error('The.'.__METHOD__
144640 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 .'.method.is.deprecated.since.Sy
144660 6d 66 6f 6e 79 20 32 2e 36 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e mfony.2.6.and.will.be.removed.in
144680 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 68 61 6e 64 6c 65 46 61 74 61 6c 45 72 72 6f 72 28 29 .3.0..Use.the.handleFatalError()
1446a0 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 .method.instead.',.E_USER_DEPREC
1446c0 41 54 45 44 29 3b 0a 0a 73 74 61 74 69 63 3a 3a 68 61 6e 64 6c 65 46 61 74 61 6c 45 72 72 6f 72 ATED);..static::handleFatalError
1446e0 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 72 72 6f 72 48 61 6e 64 6c ();.}.}.........class.ErrorHandl
144700 65 72 43 61 6e 61 72 79 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 64 69 73 70 6c erCanary.{.private.static.$displ
144720 61 79 45 72 72 6f 72 73 20 3d 20 6e 75 6c 6c 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ayErrors.=.null;..public.functio
144740 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 n.__construct().{.if.(null.===.s
144760 65 6c 66 3a 3a 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 29 20 7b 0a 73 65 6c 66 3a 3a 24 64 69 elf::$displayErrors).{.self::$di
144780 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 69 6e 69 5f 73 65 74 28 27 64 69 73 70 6c 61 79 5f 65 splayErrors.=.ini_set('display_e
1447a0 72 72 6f 72 73 27 2c 20 31 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e rrors',.1);.}.}..public.function
1447c0 20 5f 5f 64 65 73 74 72 75 63 74 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c .__destruct().{.if.(null.!==.sel
1447e0 66 3a 3a 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 29 20 7b 0a 69 6e 69 5f 73 65 74 28 27 64 69 f::$displayErrors).{.ini_set('di
144800 73 70 6c 61 79 5f 65 72 72 6f 72 73 27 2c 20 73 65 6c 66 3a 3a 24 64 69 73 70 6c 61 79 45 72 72 splay_errors',.self::$displayErr
144820 6f 72 73 29 3b 0a 73 65 6c 66 3a 3a 24 64 69 73 70 6c 61 79 45 72 72 6f 72 73 20 3d 20 6e 75 6c ors);.self::$displayErrors.=.nul
144840 6c 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 l;.}.}.}.<?php...........namespa
144860 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 ce.Symfony\Component\Debug\Excep
144880 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 45 tion;.......class.ClassNotFoundE
1448a0 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 xception.extends.FatalErrorExcep
1448c0 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 tion.{.public.function.__constru
1448e0 63 74 28 24 6d 65 73 73 61 67 65 2c 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 70 72 ct($message,.\ErrorException.$pr
144900 65 76 69 6f 75 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 24 evious).{.parent::__construct(.$
144920 6d 65 73 73 61 67 65 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 43 6f 64 65 28 29 2c 0a 24 message,.$previous->getCode(),.$
144940 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 53 65 76 65 72 69 74 79 28 29 2c 0a 24 70 72 65 76 69 6f previous->getSeverity(),.$previo
144960 75 73 2d 3e 67 65 74 46 69 6c 65 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 4c 69 6e us->getFile(),.$previous->getLin
144980 65 28 29 2c 0a 6e 75 6c 6c 2c 0a 74 72 75 65 2c 0a 6e 75 6c 6c 2c 0a 24 70 72 65 76 69 6f 75 73 e(),.null,.true,.null,.$previous
1449a0 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 0a 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 54 72 61 ->getPrevious().);.$this->setTra
1449c0 63 65 28 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 54 72 61 63 65 28 29 29 3b 0a 7d 0a 7d 0a 3c ce($previous->getTrace());.}.}.<
1449e0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 ?php...........namespace.Symfony
144a00 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a \Component\Debug\Exception;.....
144a20 0a 0a 63 6c 61 73 73 20 43 6f 6e 74 65 78 74 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 65 78 ..class.ContextErrorException.ex
144a40 74 65 6e 64 73 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 tends.\ErrorException.{.private.
144a60 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 $context.=.array();..public.func
144a80 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 tion.__construct($message,.$code
144aa0 2c 20 24 73 65 76 65 72 69 74 79 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 24 6c 69 6e 65 6e 6f 2c ,.$severity,.$filename,.$lineno,
144ac0 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f .$context.=.array()).{.parent::_
144ae0 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 73 65 76 _construct($message,.$code,.$sev
144b00 65 72 69 74 79 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 24 6c 69 6e 65 6e 6f 29 3b 0a 24 74 68 69 erity,.$filename,.$lineno);.$thi
144b20 73 2d 3e 63 6f 6e 74 65 78 74 20 3d 20 24 63 6f 6e 74 65 78 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 s->context.=.$context;.}.....pub
144b40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 78 74 28 29 0a 7b 0a 72 65 74 75 lic.function.getContext().{.retu
144b60 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 78 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a rn.$this->context;.}.}.<?php....
144b80 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
144ba0 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 nt\Debug\Exception;..@trigger_er
144bc0 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 44 75 6d 6d 79 ror('The.'.__NAMESPACE__.'\Dummy
144be0 45 78 63 65 70 74 69 6f 6e 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 Exception.class.is.deprecated.si
144c00 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f nce.Symfony.2.5.and.will.be.remo
144c20 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 ved.in.3.0.',.E_USER_DEPRECATED)
144c40 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 75 6d 6d 79 45 78 63 65 70 74 69 6f 6e 20 65 78 74 ;.......class.DummyException.ext
144c60 65 6e 64 73 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a ends.\ErrorException.{.}.<?php..
144c80 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
144ca0 6e 65 6e 74 5c 48 74 74 70 4b 65 72 6e 65 6c 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a nent\HttpKernel\Exception;......
144cc0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 65 .....class.FatalErrorException.e
144ce0 78 74 65 6e 64 73 20 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 0a 6e 61 6d 65 xtends.\ErrorException.{.}..name
144d00 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 space.Symfony\Component\Debug\Ex
144d20 63 65 70 74 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ception;..use.Symfony\Component\
144d40 48 74 74 70 4b 65 72 6e 65 6c 5c 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c 45 72 72 6f 72 45 HttpKernel\Exception\FatalErrorE
144d60 78 63 65 70 74 69 6f 6e 20 61 73 20 4c 65 67 61 63 79 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 xception.as.LegacyFatalErrorExce
144d80 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 ption;.......class.FatalErrorExc
144da0 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 4c 65 67 61 63 79 46 61 74 61 6c 45 72 72 6f 72 45 eption.extends.LegacyFatalErrorE
144dc0 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e xception.{.public.function.__con
144de0 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 73 65 76 65 72 69 74 struct($message,.$code,.$severit
144e00 79 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 24 6c 69 6e 65 6e 6f 2c 20 24 74 72 61 63 65 4f 66 66 y,.$filename,.$lineno,.$traceOff
144e20 73 65 74 20 3d 20 6e 75 6c 6c 2c 20 24 74 72 61 63 65 41 72 67 73 20 3d 20 74 72 75 65 2c 20 61 set.=.null,.$traceArgs.=.true,.a
144e40 72 72 61 79 20 24 74 72 61 63 65 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 65 76 69 6f 75 73 20 3d 20 rray.$trace.=.null,.$previous.=.
144e60 6e 75 6c 6c 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 null).{.parent::__construct($mes
144e80 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 73 65 76 65 72 69 74 79 2c 20 24 66 69 6c 65 6e 61 6d sage,.$code,.$severity,.$filenam
144ea0 65 2c 20 24 6c 69 6e 65 6e 6f 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 0a 69 66 20 28 6e 75 6c e,.$lineno,.$previous);..if.(nul
144ec0 6c 20 21 3d 3d 20 24 74 72 61 63 65 29 20 7b 0a 69 66 20 28 21 24 74 72 61 63 65 41 72 67 73 29 l.!==.$trace).{.if.(!$traceArgs)
144ee0 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 72 61 63 65 20 61 73 20 26 24 66 72 61 6d 65 29 20 7b .{.foreach.($trace.as.&$frame).{
144f00 0a 75 6e 73 65 74 28 24 66 72 61 6d 65 5b 27 61 72 67 73 27 5d 2c 20 24 66 72 61 6d 65 5b 27 74 .unset($frame['args'],.$frame['t
144f20 68 69 73 27 5d 2c 20 24 66 72 61 6d 65 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 54 his'],.$frame);.}.}..$this->setT
144f40 72 61 63 65 28 24 74 72 61 63 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 6e 75 6c 6c 20 21 3d 3d race($trace);.}.elseif.(null.!==
144f60 20 24 74 72 61 63 65 4f 66 66 73 65 74 29 20 7b 0a 69 66 20 28 5c 66 75 6e 63 74 69 6f 6e 5f 65 .$traceOffset).{.if.(\function_e
144f80 78 69 73 74 73 28 27 78 64 65 62 75 67 5f 67 65 74 5f 66 75 6e 63 74 69 6f 6e 5f 73 74 61 63 6b xists('xdebug_get_function_stack
144fa0 27 29 29 20 7b 0a 24 74 72 61 63 65 20 3d 20 78 64 65 62 75 67 5f 67 65 74 5f 66 75 6e 63 74 69 ')).{.$trace.=.xdebug_get_functi
144fc0 6f 6e 5f 73 74 61 63 6b 28 29 3b 0a 69 66 20 28 30 20 3c 20 24 74 72 61 63 65 4f 66 66 73 65 74 on_stack();.if.(0.<.$traceOffset
144fe0 29 20 7b 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 74 72 61 63 65 2c 20 2d 24 74 72 61 63 65 ).{.array_splice($trace,.-$trace
145000 4f 66 66 73 65 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 72 61 63 65 20 61 73 20 26 Offset);.}..foreach.($trace.as.&
145020 24 66 72 61 6d 65 29 20 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 66 72 61 6d 65 5b 27 74 79 70 $frame).{.if.(!isset($frame['typ
145040 65 27 5d 29 29 20 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 66 72 61 6d 65 5b 27 63 6c 61 73 e'])).{...if.(isset($frame['clas
145060 73 27 5d 29 29 20 7b 0a 24 66 72 61 6d 65 5b 27 74 79 70 65 27 5d 20 3d 20 27 3a 3a 27 3b 0a 7d s'])).{.$frame['type'].=.'::';.}
145080 0a 7d 20 65 6c 73 65 69 66 20 28 27 64 79 6e 61 6d 69 63 27 20 3d 3d 3d 20 24 66 72 61 6d 65 5b .}.elseif.('dynamic'.===.$frame[
1450a0 27 74 79 70 65 27 5d 29 20 7b 0a 24 66 72 61 6d 65 5b 27 74 79 70 65 27 5d 20 3d 20 27 2d 3e 27 'type']).{.$frame['type'].=.'->'
1450c0 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 73 74 61 74 69 63 27 20 3d 3d 3d 20 24 66 72 61 6d 65 5b ;.}.elseif.('static'.===.$frame[
1450e0 27 74 79 70 65 27 5d 29 20 7b 0a 24 66 72 61 6d 65 5b 27 74 79 70 65 27 5d 20 3d 20 27 3a 3a 27 'type']).{.$frame['type'].=.'::'
145100 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 74 72 61 63 65 41 72 67 73 29 20 7b 0a 75 6e 73 65 74 28 ;.}....if.(!$traceArgs).{.unset(
145120 24 66 72 61 6d 65 5b 27 70 61 72 61 6d 73 27 5d 2c 20 24 66 72 61 6d 65 5b 27 61 72 67 73 27 5d $frame['params'],.$frame['args']
145140 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 66 72 61 6d 65 5b 27 70 61 72 61 6d );.}.elseif.(isset($frame['param
145160 73 27 5d 29 20 26 26 20 21 69 73 73 65 74 28 24 66 72 61 6d 65 5b 27 61 72 67 73 27 5d 29 29 20 s']).&&.!isset($frame['args'])).
145180 7b 0a 24 66 72 61 6d 65 5b 27 61 72 67 73 27 5d 20 3d 20 24 66 72 61 6d 65 5b 27 70 61 72 61 6d {.$frame['args'].=.$frame['param
1451a0 73 27 5d 3b 0a 75 6e 73 65 74 28 24 66 72 61 6d 65 5b 27 70 61 72 61 6d 73 27 5d 29 3b 0a 7d 0a s'];.unset($frame['params']);.}.
1451c0 7d 0a 0a 75 6e 73 65 74 28 24 66 72 61 6d 65 29 3b 0a 24 74 72 61 63 65 20 3d 20 61 72 72 61 79 }..unset($frame);.$trace.=.array
1451e0 5f 72 65 76 65 72 73 65 28 24 74 72 61 63 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c 66 75 6e _reverse($trace);.}.elseif.(\fun
145200 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 73 79 6d 66 6f 6e 79 5f 64 65 62 75 67 5f 62 61 63 6b ction_exists('symfony_debug_back
145220 74 72 61 63 65 27 29 29 20 7b 0a 24 74 72 61 63 65 20 3d 20 73 79 6d 66 6f 6e 79 5f 64 65 62 75 trace')).{.$trace.=.symfony_debu
145240 67 5f 62 61 63 6b 74 72 61 63 65 28 29 3b 0a 69 66 20 28 30 20 3c 20 24 74 72 61 63 65 4f 66 66 g_backtrace();.if.(0.<.$traceOff
145260 73 65 74 29 20 7b 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 74 72 61 63 65 2c 20 30 2c 20 24 set).{.array_splice($trace,.0,.$
145280 74 72 61 63 65 4f 66 66 73 65 74 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 72 61 63 65 20 traceOffset);.}.}.else.{.$trace.
1452a0 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 74 =.array();.}..$this->setTrace($t
1452c0 72 61 63 65 29 3b 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 73 race);.}.}..protected.function.s
1452e0 65 74 54 72 61 63 65 28 24 74 72 61 63 65 29 0a 7b 0a 24 74 72 61 63 65 52 65 66 6c 65 63 74 6f etTrace($trace).{.$traceReflecto
145300 72 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 50 72 6f 70 65 72 74 79 28 27 45 78 63 r.=.new.\ReflectionProperty('Exc
145320 65 70 74 69 6f 6e 27 2c 20 27 74 72 61 63 65 27 29 3b 0a 24 74 72 61 63 65 52 65 66 6c 65 63 74 eption',.'trace');.$traceReflect
145340 6f 72 2d 3e 73 65 74 41 63 63 65 73 73 69 62 6c 65 28 74 72 75 65 29 3b 0a 24 74 72 61 63 65 52 or->setAccessible(true);.$traceR
145360 65 66 6c 65 63 74 6f 72 2d 3e 73 65 74 56 61 6c 75 65 28 24 74 68 69 73 2c 20 24 74 72 61 63 65 eflector->setValue($this,.$trace
145380 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 );.}.}.<?php...........namespace
1453a0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 .Symfony\Component\Debug\Excepti
1453c0 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 on;.......class.FatalThrowableEr
1453e0 72 6f 72 20 65 78 74 65 6e 64 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a ror.extends.FatalErrorException.
145400 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 54 {.public.function.__construct(\T
145420 68 72 6f 77 61 62 6c 65 20 24 65 29 0a 7b 0a 69 66 20 28 24 65 20 69 6e 73 74 61 6e 63 65 6f 66 hrowable.$e).{.if.($e.instanceof
145440 20 5c 50 61 72 73 65 45 72 72 6f 72 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 50 61 72 73 .\ParseError).{.$message.=.'Pars
145460 65 20 65 72 72 6f 72 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 24 73 65 e.error:.'.$e->getMessage();.$se
145480 76 65 72 69 74 79 20 3d 20 45 5f 50 41 52 53 45 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 65 20 69 verity.=.E_PARSE;.}.elseif.($e.i
1454a0 6e 73 74 61 6e 63 65 6f 66 20 5c 54 79 70 65 45 72 72 6f 72 29 20 7b 0a 24 6d 65 73 73 61 67 65 nstanceof.\TypeError).{.$message
1454c0 20 3d 20 27 54 79 70 65 20 65 72 72 6f 72 3a 20 27 2e 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 .=.'Type.error:.'.$e->getMessage
1454e0 28 29 3b 0a 24 73 65 76 65 72 69 74 79 20 3d 20 45 5f 52 45 43 4f 56 45 52 41 42 4c 45 5f 45 52 ();.$severity.=.E_RECOVERABLE_ER
145500 52 4f 52 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 24 65 2d 3e 67 65 74 ROR;.}.else.{.$message.=.$e->get
145520 4d 65 73 73 61 67 65 28 29 3b 0a 24 73 65 76 65 72 69 74 79 20 3d 20 45 5f 45 52 52 4f 52 3b 0a Message();.$severity.=.E_ERROR;.
145540 7d 0a 0a 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 }..\ErrorException::__construct(
145560 0a 24 6d 65 73 73 61 67 65 2c 0a 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 0a 24 73 65 76 65 72 .$message,.$e->getCode(),.$sever
145580 69 74 79 2c 0a 24 65 2d 3e 67 65 74 46 69 6c 65 28 29 2c 0a 24 65 2d 3e 67 65 74 4c 69 6e 65 28 ity,.$e->getFile(),.$e->getLine(
1455a0 29 2c 0a 24 65 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e ),.$e->getPrevious().);..$this->
1455c0 73 65 74 54 72 61 63 65 28 24 65 2d 3e 67 65 74 54 72 61 63 65 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f setTrace($e->getTrace());.}.}.<?
1455e0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
145600 43 6f 6d 70 6f 6e 65 6e 74 5c 48 74 74 70 4b 65 72 6e 65 6c 5c 45 78 63 65 70 74 69 6f 6e 3b 0a Component\HttpKernel\Exception;.
145620 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 .use.Symfony\Component\Debug\Exc
145640 65 70 74 69 6f 6e 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 61 73 20 44 65 62 75 67 eption\FlattenException.as.Debug
145660 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 FlattenException;...........clas
145680 73 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 68 61 s.FlattenException.{.private.$ha
1456a0 6e 64 6c 65 72 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f ndler;..public.static.function._
1456c0 5f 63 61 6c 6c 53 74 61 74 69 63 28 24 6d 65 74 68 6f 64 2c 20 24 61 72 67 73 29 0a 7b 0a 69 66 _callStatic($method,.$args).{.if
1456e0 20 28 21 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e .(!method_exists('Symfony\Compon
145700 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 ent\Debug\Exception\FlattenExcep
145720 74 69 6f 6e 27 2c 20 24 6d 65 74 68 6f 64 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 42 61 tion',.$method)).{.throw.new.\Ba
145740 64 4d 65 74 68 6f 64 43 61 6c 6c 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 dMethodCallException(sprintf('Ca
145760 6c 6c 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 74 68 6f 64 20 25 73 3a 3a 25 73 28 29 27 ll.to.undefined.method.%s::%s()'
145780 2c 20 5c 67 65 74 5f 63 61 6c 6c 65 64 5f 63 6c 61 73 73 28 29 2c 20 24 6d 65 74 68 6f 64 29 29 ,.\get_called_class(),.$method))
1457a0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 ;.}..return.\call_user_func_arra
1457c0 79 28 61 72 72 61 79 28 27 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 y(array('Symfony\Component\Debug
1457e0 5c 45 78 63 65 70 74 69 6f 6e 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 27 2c 20 24 6d \Exception\FlattenException',.$m
145800 65 74 68 6f 64 29 2c 20 24 61 72 67 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ethod),.$args);.}..public.functi
145820 6f 6e 20 5f 5f 63 61 6c 6c 28 24 6d 65 74 68 6f 64 2c 20 24 61 72 67 73 29 0a 7b 0a 69 66 20 28 on.__call($method,.$args).{.if.(
145840 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 29 29 20 7b 0a 24 74 68 69 73 2d !isset($this->handler)).{.$this-
145860 3e 68 61 6e 64 6c 65 72 20 3d 20 6e 65 77 20 44 65 62 75 67 46 6c 61 74 74 65 6e 45 78 63 65 70 >handler.=.new.DebugFlattenExcep
145880 74 69 6f 6e 28 29 3b 0a 7d 0a 0a 69 66 20 28 21 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 74 tion();.}..if.(!method_exists($t
1458a0 68 69 73 2d 3e 68 61 6e 64 6c 65 72 2c 20 24 6d 65 74 68 6f 64 29 29 20 7b 0a 74 68 72 6f 77 20 his->handler,.$method)).{.throw.
1458c0 6e 65 77 20 5c 42 61 64 4d 65 74 68 6f 64 43 61 6c 6c 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 new.\BadMethodCallException(spri
1458e0 6e 74 66 28 27 43 61 6c 6c 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 74 68 6f 64 20 25 73 ntf('Call.to.undefined.method.%s
145900 3a 3a 25 73 28 29 27 2c 20 5c 67 65 74 5f 63 6c 61 73 73 28 24 74 68 69 73 29 2c 20 24 6d 65 74 ::%s()',.\get_class($this),.$met
145920 68 6f 64 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 hod));.}..return.\call_user_func
145940 5f 61 72 72 61 79 28 61 72 72 61 79 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 2c 20 24 6d 65 _array(array($this->handler,.$me
145960 74 68 6f 64 29 2c 20 24 61 72 67 73 29 3b 0a 7d 0a 7d 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 thod),.$args);.}.}..namespace.Sy
145980 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b mfony\Component\Debug\Exception;
1459a0 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 48 74 74 70 4b 65 72 6e ..use.Symfony\Component\HttpKern
1459c0 65 6c 5c 45 78 63 65 70 74 69 6f 6e 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 61 73 el\Exception\FlattenException.as
1459e0 20 4c 65 67 61 63 79 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d .LegacyFlattenException;.use.Sym
145a00 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 48 74 74 70 4b 65 72 6e 65 6c 5c 45 78 63 65 70 74 fony\Component\HttpKernel\Except
145a20 69 6f 6e 5c 48 74 74 70 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a ion\HttpExceptionInterface;.....
145a40 0a 0a 0a 0a 63 6c 61 73 73 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e ....class.FlattenException.exten
145a60 64 73 20 4c 65 67 61 63 79 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 69 76 ds.LegacyFlattenException.{.priv
145a80 61 74 65 20 24 6d 65 73 73 61 67 65 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 64 65 3b 0a 70 72 69 ate.$message;.private.$code;.pri
145aa0 76 61 74 65 20 24 70 72 65 76 69 6f 75 73 3b 0a 70 72 69 76 61 74 65 20 24 74 72 61 63 65 3b 0a vate.$previous;.private.$trace;.
145ac0 70 72 69 76 61 74 65 20 24 63 6c 61 73 73 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 43 private.$class;.private.$statusC
145ae0 6f 64 65 3b 0a 70 72 69 76 61 74 65 20 24 68 65 61 64 65 72 73 3b 0a 70 72 69 76 61 74 65 20 24 ode;.private.$headers;.private.$
145b00 66 69 6c 65 3b 0a 70 72 69 76 61 74 65 20 24 6c 69 6e 65 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 file;.private.$line;..public.sta
145b20 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 tic.function.create(\Exception.$
145b40 65 78 63 65 70 74 69 6f 6e 2c 20 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 6e 75 6c 6c 2c 20 61 exception,.$statusCode.=.null,.a
145b60 72 72 61 79 20 24 68 65 61 64 65 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 65 20 3d 20 rray.$headers.=.array()).{.$e.=.
145b80 6e 65 77 20 73 74 61 74 69 63 28 29 3b 0a 24 65 2d 3e 73 65 74 4d 65 73 73 61 67 65 28 24 65 78 new.static();.$e->setMessage($ex
145ba0 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 3b 0a 24 65 2d 3e 73 65 74 43 ception->getMessage());.$e->setC
145bc0 6f 64 65 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6f 64 65 28 29 29 3b 0a 0a 69 66 20 ode($exception->getCode());..if.
145be0 28 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 48 74 74 70 45 78 63 65 70 ($exception.instanceof.HttpExcep
145c00 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 29 20 7b 0a 24 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 tionInterface).{.$statusCode.=.$
145c20 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 3b 0a 24 68 65 61 exception->getStatusCode();.$hea
145c40 64 65 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 68 65 61 64 65 72 73 2c 20 24 65 78 ders.=.array_merge($headers,.$ex
145c60 63 65 70 74 69 6f 6e 2d 3e 67 65 74 48 65 61 64 65 72 73 28 29 29 3b 0a 7d 0a 0a 69 66 20 28 6e ception->getHeaders());.}..if.(n
145c80 75 6c 6c 20 3d 3d 3d 20 24 73 74 61 74 75 73 43 6f 64 65 29 20 7b 0a 24 73 74 61 74 75 73 43 6f ull.===.$statusCode).{.$statusCo
145ca0 64 65 20 3d 20 35 30 30 3b 0a 7d 0a 0a 24 65 2d 3e 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 de.=.500;.}..$e->setStatusCode($
145cc0 73 74 61 74 75 73 43 6f 64 65 29 3b 0a 24 65 2d 3e 73 65 74 48 65 61 64 65 72 73 28 24 68 65 61 statusCode);.$e->setHeaders($hea
145ce0 64 65 72 73 29 3b 0a 24 65 2d 3e 73 65 74 54 72 61 63 65 46 72 6f 6d 45 78 63 65 70 74 69 6f 6e ders);.$e->setTraceFromException
145d00 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 24 65 2d 3e 73 65 74 43 6c 61 73 73 28 5c 67 65 74 5f ($exception);.$e->setClass(\get_
145d20 63 6c 61 73 73 28 24 65 78 63 65 70 74 69 6f 6e 29 29 3b 0a 24 65 2d 3e 73 65 74 46 69 6c 65 28 class($exception));.$e->setFile(
145d40 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 46 69 6c 65 28 29 29 3b 0a 24 65 2d 3e 73 65 74 4c $exception->getFile());.$e->setL
145d60 69 6e 65 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4c 69 6e 65 28 29 29 3b 0a 0a 24 70 72 ine($exception->getLine());..$pr
145d80 65 76 69 6f 75 73 20 3d 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 evious.=.$exception->getPrevious
145da0 28 29 3b 0a 0a 69 66 20 28 24 70 72 65 76 69 6f 75 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 45 ();..if.($previous.instanceof.\E
145dc0 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 65 2d 3e 73 65 74 50 72 65 76 69 6f 75 73 28 73 74 61 74 xception).{.$e->setPrevious(stat
145de0 69 63 3a 3a 63 72 65 61 74 65 28 24 70 72 65 76 69 6f 75 73 29 29 3b 0a 7d 20 65 6c 73 65 69 66 ic::create($previous));.}.elseif
145e00 20 28 24 70 72 65 76 69 6f 75 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 68 72 6f 77 61 62 6c .($previous.instanceof.\Throwabl
145e20 65 29 20 7b 0a 24 65 2d 3e 73 65 74 50 72 65 76 69 6f 75 73 28 73 74 61 74 69 63 3a 3a 63 72 65 e).{.$e->setPrevious(static::cre
145e40 61 74 65 28 6e 65 77 20 46 61 74 61 6c 54 68 72 6f 77 61 62 6c 65 45 72 72 6f 72 28 24 70 72 65 ate(new.FatalThrowableError($pre
145e60 76 69 6f 75 73 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a 0a 70 75 62 6c 69 vious)));.}..return.$e;.}..publi
145e80 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 41 72 72 61 79 28 29 0a 7b 0a 24 65 78 63 65 70 74 69 6f c.function.toArray().{.$exceptio
145ea0 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 5f 6d 65 72 ns.=.array();.foreach.(array_mer
145ec0 67 65 28 61 72 72 61 79 28 24 74 68 69 73 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 41 6c 6c 50 72 ge(array($this),.$this->getAllPr
145ee0 65 76 69 6f 75 73 28 29 29 20 61 73 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 65 78 63 65 evious()).as.$exception).{.$exce
145f00 70 74 69 6f 6e 73 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 24 ptions[].=.array(.'message'.=>.$
145f20 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 2c 0a 27 63 6c 61 73 73 27 exception->getMessage(),.'class'
145f40 20 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 43 6c 61 73 73 28 29 2c 0a 27 74 72 61 .=>.$exception->getClass(),.'tra
145f60 63 65 27 20 3d 3e 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 54 72 61 63 65 28 29 2c 0a 29 ce'.=>.$exception->getTrace(),.)
145f80 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 63 65 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 70 75 62 6c ;.}..return.$exceptions;.}..publ
145fa0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 0a 7b 0a 72 65 ic.function.getStatusCode().{.re
145fc0 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 turn.$this->statusCode;.}..publi
145fe0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 74 75 73 43 6f 64 65 28 24 63 6f 64 65 29 0a c.function.setStatusCode($code).
146000 7b 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 43 6f 64 65 20 3d 20 24 63 6f 64 65 3b 0a 7d 0a 0a {.$this->statusCode.=.$code;.}..
146020 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 65 61 64 65 72 73 28 29 0a 7b 0a 72 public.function.getHeaders().{.r
146040 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 eturn.$this->headers;.}..public.
146060 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 65 61 64 65 72 73 28 61 72 72 61 79 20 24 68 65 61 64 65 function.setHeaders(array.$heade
146080 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 68 65 61 64 65 72 73 20 3d 20 24 68 65 61 64 65 72 73 3b rs).{.$this->headers.=.$headers;
1460a0 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 28 29 0a 7b .}..public.function.getClass().{
1460c0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 .return.$this->class;.}..public.
1460e0 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6c 61 73 73 28 24 63 6c 61 73 73 29 0a 7b 0a 24 74 68 69 function.setClass($class).{.$thi
146100 73 2d 3e 63 6c 61 73 73 20 3d 20 24 63 6c 61 73 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e s->class.=.$class;.}..public.fun
146120 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ction.getFile().{.return.$this->
146140 66 69 6c 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 69 6c 65 file;.}..public.function.setFile
146160 28 24 66 69 6c 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 20 3d 20 24 66 69 6c 65 3b 0a 7d ($file).{.$this->file.=.$file;.}
146180 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 6e 65 28 29 0a 7b 0a 72 65 ..public.function.getLine().{.re
1461a0 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 6e 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 turn.$this->line;.}..public.func
1461c0 74 69 6f 6e 20 73 65 74 4c 69 6e 65 28 24 6c 69 6e 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 69 6e tion.setLine($line).{.$this->lin
1461e0 65 20 3d 20 24 6c 69 6e 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 e.=.$line;.}..public.function.ge
146200 74 4d 65 73 73 61 67 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 tMessage().{.return.$this->messa
146220 67 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 65 73 73 61 67 ge;.}..public.function.setMessag
146240 65 28 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 20 3d 20 24 e($message).{.$this->message.=.$
146260 6d 65 73 73 61 67 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 message;.}..public.function.getC
146280 6f 64 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 64 65 3b 0a 7d 0a 0a 70 ode().{.return.$this->code;.}..p
1462a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 64 65 28 24 63 6f 64 65 29 0a 7b 0a ublic.function.setCode($code).{.
1462c0 24 74 68 69 73 2d 3e 63 6f 64 65 20 3d 20 24 63 6f 64 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 $this->code.=.$code;.}..public.f
1462e0 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 76 69 6f 75 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 unction.getPrevious().{.return.$
146300 74 68 69 73 2d 3e 70 72 65 76 69 6f 75 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 this->previous;.}..public.functi
146320 6f 6e 20 73 65 74 50 72 65 76 69 6f 75 73 28 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 on.setPrevious(FlattenException.
146340 24 70 72 65 76 69 6f 75 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 76 69 6f 75 73 20 3d 20 24 $previous).{.$this->previous.=.$
146360 70 72 65 76 69 6f 75 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 previous;.}..public.function.get
146380 41 6c 6c 50 72 65 76 69 6f 75 73 28 29 0a 7b 0a 24 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 61 72 AllPrevious().{.$exceptions.=.ar
1463a0 72 61 79 28 29 3b 0a 24 65 20 3d 20 24 74 68 69 73 3b 0a 77 68 69 6c 65 20 28 24 65 20 3d 20 24 ray();.$e.=.$this;.while.($e.=.$
1463c0 65 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 73 5b e->getPrevious()).{.$exceptions[
1463e0 5d 20 3d 20 24 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 78 63 65 70 74 69 6f 6e 73 3b 0a 7d ].=.$e;.}..return.$exceptions;.}
146400 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 72 61 63 65 28 29 0a 7b 0a 72 ..public.function.getTrace().{.r
146420 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 72 61 63 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 eturn.$this->trace;.}..public.fu
146440 6e 63 74 69 6f 6e 20 73 65 74 54 72 61 63 65 46 72 6f 6d 45 78 63 65 70 74 69 6f 6e 28 5c 45 78 nction.setTraceFromException(\Ex
146460 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 ception.$exception).{.$this->set
146480 54 72 61 63 65 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 54 72 61 63 65 28 29 2c 20 24 65 Trace($exception->getTrace(),.$e
1464a0 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 46 69 6c 65 28 29 2c 20 24 65 78 63 65 70 74 69 6f 6e 2d xception->getFile(),.$exception-
1464c0 3e 67 65 74 4c 69 6e 65 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 >getLine());.}..public.function.
1464e0 73 65 74 54 72 61 63 65 28 24 74 72 61 63 65 2c 20 24 66 69 6c 65 2c 20 24 6c 69 6e 65 29 0a 7b setTrace($trace,.$file,.$line).{
146500 0a 24 74 68 69 73 2d 3e 74 72 61 63 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e .$this->trace.=.array();.$this->
146520 74 72 61 63 65 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 6d 65 73 70 61 63 65 27 20 3d 3e 20 trace[].=.array(.'namespace'.=>.
146540 27 27 2c 0a 27 73 68 6f 72 74 5f 63 6c 61 73 73 27 20 3d 3e 20 27 27 2c 0a 27 63 6c 61 73 73 27 '',.'short_class'.=>.'',.'class'
146560 20 3d 3e 20 27 27 2c 0a 27 74 79 70 65 27 20 3d 3e 20 27 27 2c 0a 27 66 75 6e 63 74 69 6f 6e 27 .=>.'',.'type'.=>.'',.'function'
146580 20 3d 3e 20 27 27 2c 0a 27 66 69 6c 65 27 20 3d 3e 20 24 66 69 6c 65 2c 0a 27 6c 69 6e 65 27 20 .=>.'',.'file'.=>.$file,.'line'.
1465a0 3d 3e 20 24 6c 69 6e 65 2c 0a 27 61 72 67 73 27 20 3d 3e 20 61 72 72 61 79 28 29 2c 0a 29 3b 0a =>.$line,.'args'.=>.array(),.);.
1465c0 66 6f 72 65 61 63 68 20 28 24 74 72 61 63 65 20 61 73 20 24 65 6e 74 72 79 29 20 7b 0a 24 63 6c foreach.($trace.as.$entry).{.$cl
1465e0 61 73 73 20 3d 20 27 27 3b 0a 24 6e 61 6d 65 73 70 61 63 65 20 3d 20 27 27 3b 0a 69 66 20 28 69 ass.=.'';.$namespace.=.'';.if.(i
146600 73 73 65 74 28 24 65 6e 74 72 79 5b 27 63 6c 61 73 73 27 5d 29 29 20 7b 0a 24 70 61 72 74 73 20 sset($entry['class'])).{.$parts.
146620 3d 20 65 78 70 6c 6f 64 65 28 27 5c 5c 27 2c 20 24 65 6e 74 72 79 5b 27 63 6c 61 73 73 27 5d 29 =.explode('\\',.$entry['class'])
146640 3b 0a 24 63 6c 61 73 73 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 70 61 72 74 73 29 3b 0a 24 6e ;.$class.=.array_pop($parts);.$n
146660 61 6d 65 73 70 61 63 65 20 3d 20 69 6d 70 6c 6f 64 65 28 27 5c 5c 27 2c 20 24 70 61 72 74 73 29 amespace.=.implode('\\',.$parts)
146680 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 72 61 63 65 5b 5d 20 3d 20 61 72 72 61 79 28 0a 27 6e 61 ;.}..$this->trace[].=.array(.'na
1466a0 6d 65 73 70 61 63 65 27 20 3d 3e 20 24 6e 61 6d 65 73 70 61 63 65 2c 0a 27 73 68 6f 72 74 5f 63 mespace'.=>.$namespace,.'short_c
1466c0 6c 61 73 73 27 20 3d 3e 20 24 63 6c 61 73 73 2c 0a 27 63 6c 61 73 73 27 20 3d 3e 20 69 73 73 65 lass'.=>.$class,.'class'.=>.isse
1466e0 74 28 24 65 6e 74 72 79 5b 27 63 6c 61 73 73 27 5d 29 20 3f 20 24 65 6e 74 72 79 5b 27 63 6c 61 t($entry['class']).?.$entry['cla
146700 73 73 27 5d 20 3a 20 27 27 2c 0a 27 74 79 70 65 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 ss'].:.'',.'type'.=>.isset($entr
146720 79 5b 27 74 79 70 65 27 5d 29 20 3f 20 24 65 6e 74 72 79 5b 27 74 79 70 65 27 5d 20 3a 20 27 27 y['type']).?.$entry['type'].:.''
146740 2c 0a 27 66 75 6e 63 74 69 6f 6e 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 66 75 ,.'function'.=>.isset($entry['fu
146760 6e 63 74 69 6f 6e 27 5d 29 20 3f 20 24 65 6e 74 72 79 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 20 3a nction']).?.$entry['function'].:
146780 20 6e 75 6c 6c 2c 0a 27 66 69 6c 65 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 66 .null,.'file'.=>.isset($entry['f
1467a0 69 6c 65 27 5d 29 20 3f 20 24 65 6e 74 72 79 5b 27 66 69 6c 65 27 5d 20 3a 20 6e 75 6c 6c 2c 0a ile']).?.$entry['file'].:.null,.
1467c0 27 6c 69 6e 65 27 20 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 6c 69 6e 65 27 5d 29 20 'line'.=>.isset($entry['line']).
1467e0 3f 20 24 65 6e 74 72 79 5b 27 6c 69 6e 65 27 5d 20 3a 20 6e 75 6c 6c 2c 0a 27 61 72 67 73 27 20 ?.$entry['line'].:.null,.'args'.
146800 3d 3e 20 69 73 73 65 74 28 24 65 6e 74 72 79 5b 27 61 72 67 73 27 5d 29 20 3f 20 24 74 68 69 73 =>.isset($entry['args']).?.$this
146820 2d 3e 66 6c 61 74 74 65 6e 41 72 67 73 28 24 65 6e 74 72 79 5b 27 61 72 67 73 27 5d 29 20 3a 20 ->flattenArgs($entry['args']).:.
146840 61 72 72 61 79 28 29 2c 0a 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f array(),.);.}.}..private.functio
146860 6e 20 66 6c 61 74 74 65 6e 41 72 67 73 28 24 61 72 67 73 2c 20 24 6c 65 76 65 6c 20 3d 20 30 2c n.flattenArgs($args,.$level.=.0,
146880 20 26 24 63 6f 75 6e 74 20 3d 20 30 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 .&$count.=.0).{.$result.=.array(
1468a0 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 72 67 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 61 );.foreach.($args.as.$key.=>.$va
1468c0 6c 75 65 29 20 7b 0a 69 66 20 28 2b 2b 24 63 6f 75 6e 74 20 3e 20 31 65 34 29 20 7b 0a 72 65 74 lue).{.if.(++$count.>.1e4).{.ret
1468e0 75 72 6e 20 61 72 72 61 79 28 27 61 72 72 61 79 27 2c 20 27 2a 53 4b 49 50 50 45 44 20 6f 76 65 urn.array('array',.'*SKIPPED.ove
146900 72 20 31 30 30 30 30 20 65 6e 74 72 69 65 73 2a 27 29 3b 0a 7d 0a 69 66 20 28 24 76 61 6c 75 65 r.10000.entries*');.}.if.($value
146920 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 5f 5f 50 48 50 5f 49 6e 63 6f 6d 70 6c 65 74 65 5f 43 6c .instanceof.\__PHP_Incomplete_Cl
146940 61 73 73 29 20 7b 0a 0a 20 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 ass).{...$result[$key].=.array('
146960 69 6e 63 6f 6d 70 6c 65 74 65 2d 6f 62 6a 65 63 74 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 43 6c incomplete-object',.$this->getCl
146980 61 73 73 4e 61 6d 65 46 72 6f 6d 49 6e 63 6f 6d 70 6c 65 74 65 28 24 76 61 6c 75 65 29 29 3b 0a assNameFromIncomplete($value));.
1469a0 7d 20 65 6c 73 65 69 66 20 28 5c 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a }.elseif.(\is_object($value)).{.
1469c0 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 6f 62 6a 65 63 74 27 2c 20 $result[$key].=.array('object',.
1469e0 5c 67 65 74 5f 63 6c 61 73 73 28 24 76 61 6c 75 65 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c \get_class($value));.}.elseif.(\
146a00 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a 69 66 20 28 24 6c 65 76 65 6c 20 3e is_array($value)).{.if.($level.>
146a20 20 31 30 29 20 7b 0a 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 61 72 .10).{.$result[$key].=.array('ar
146a40 72 61 79 27 2c 20 27 2a 44 45 45 50 20 4e 45 53 54 45 44 20 41 52 52 41 59 2a 27 29 3b 0a 7d 20 ray',.'*DEEP.NESTED.ARRAY*');.}.
146a60 65 6c 73 65 20 7b 0a 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 61 72 else.{.$result[$key].=.array('ar
146a80 72 61 79 27 2c 20 24 74 68 69 73 2d 3e 66 6c 61 74 74 65 6e 41 72 67 73 28 24 76 61 6c 75 65 2c ray',.$this->flattenArgs($value,
146aa0 20 24 6c 65 76 65 6c 20 2b 20 31 2c 20 24 63 6f 75 6e 74 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 .$level.+.1,.$count));.}.}.elsei
146ac0 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 24 72 65 73 75 6c 74 5b 24 6b f.(null.===.$value).{.$result[$k
146ae0 65 79 5d 20 3d 20 61 72 72 61 79 28 27 6e 75 6c 6c 27 2c 20 6e 75 6c 6c 29 3b 0a 7d 20 65 6c 73 ey].=.array('null',.null);.}.els
146b00 65 69 66 20 28 5c 69 73 5f 62 6f 6f 6c 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 72 65 73 75 6c 74 eif.(\is_bool($value)).{.$result
146b20 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 62 6f 6f 6c 65 61 6e 27 2c 20 24 76 61 6c 75 65 [$key].=.array('boolean',.$value
146b40 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c 69 73 5f 72 65 73 6f 75 72 63 65 28 24 76 61 6c 75 65 );.}.elseif.(\is_resource($value
146b60 29 29 20 7b 0a 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 79 28 27 72 65 73 6f )).{.$result[$key].=.array('reso
146b80 75 72 63 65 27 2c 20 67 65 74 5f 72 65 73 6f 75 72 63 65 5f 74 79 70 65 28 24 76 61 6c 75 65 29 urce',.get_resource_type($value)
146ba0 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 73 75 6c 74 5b 24 6b 65 79 5d 20 3d 20 61 72 72 61 );.}.else.{.$result[$key].=.arra
146bc0 79 28 27 73 74 72 69 6e 67 27 2c 20 28 73 74 72 69 6e 67 29 20 24 76 61 6c 75 65 29 3b 0a 7d 0a y('string',.(string).$value);.}.
146be0 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 }..return.$result;.}..private.fu
146c00 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 4e 61 6d 65 46 72 6f 6d 49 6e 63 6f 6d 70 6c 65 74 nction.getClassNameFromIncomplet
146c20 65 28 5c 5f 5f 50 48 50 5f 49 6e 63 6f 6d 70 6c 65 74 65 5f 43 6c 61 73 73 20 24 76 61 6c 75 65 e(\__PHP_Incomplete_Class.$value
146c40 29 0a 7b 0a 24 61 72 72 61 79 20 3d 20 6e 65 77 20 5c 41 72 72 61 79 4f 62 6a 65 63 74 28 24 76 ).{.$array.=.new.\ArrayObject($v
146c60 61 6c 75 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 61 72 72 61 79 5b 27 5f 5f 50 48 50 5f 49 6e 63 alue);..return.$array['__PHP_Inc
146c80 6f 6d 70 6c 65 74 65 5f 43 6c 61 73 73 5f 4e 61 6d 65 27 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a omplete_Class_Name'];.}.}.<?php.
146ca0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ..........namespace.Symfony\Comp
146cc0 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 onent\Debug\Exception;.......cla
146ce0 73 73 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 ss.OutOfMemoryException.extends.
146d00 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a FatalErrorException.{.}.<?php...
146d20 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ........namespace.Symfony\Compon
146d40 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 ent\Debug\Exception;.......class
146d60 20 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 .UndefinedFunctionException.exte
146d80 6e 64 73 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 nds.FatalErrorException.{.public
146da0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 .function.__construct($message,.
146dc0 5c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 29 0a 7b 0a 70 61 72 \ErrorException.$previous).{.par
146de0 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 24 6d 65 73 73 61 67 65 2c 0a 24 70 72 65 ent::__construct(.$message,.$pre
146e00 76 69 6f 75 73 2d 3e 67 65 74 43 6f 64 65 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 vious->getCode(),.$previous->get
146e20 53 65 76 65 72 69 74 79 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 46 69 6c 65 28 29 Severity(),.$previous->getFile()
146e40 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 4c 69 6e 65 28 29 2c 0a 6e 75 6c 6c 2c 0a 74 72 ,.$previous->getLine(),.null,.tr
146e60 75 65 2c 0a 6e 75 6c 6c 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 ue,.null,.$previous->getPrevious
146e80 28 29 0a 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 70 72 65 76 69 6f 75 73 2d ().);.$this->setTrace($previous-
146ea0 3e 67 65 74 54 72 61 63 65 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a >getTrace());.}.}.<?php.........
146ec0 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 ..namespace.Symfony\Component\De
146ee0 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 bug\Exception;.......class.Undef
146f00 69 6e 65 64 4d 65 74 68 6f 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 46 61 74 61 inedMethodException.extends.Fata
146f20 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f lErrorException.{.public.functio
146f40 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 5c 45 72 72 6f 72 45 78 n.__construct($message,.\ErrorEx
146f60 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 ception.$previous).{.parent::__c
146f80 6f 6e 73 74 72 75 63 74 28 0a 24 6d 65 73 73 61 67 65 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 onstruct(.$message,.$previous->g
146fa0 65 74 43 6f 64 65 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 53 65 76 65 72 69 74 79 etCode(),.$previous->getSeverity
146fc0 28 29 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 46 69 6c 65 28 29 2c 0a 24 70 72 65 76 69 (),.$previous->getFile(),.$previ
146fe0 6f 75 73 2d 3e 67 65 74 4c 69 6e 65 28 29 2c 0a 6e 75 6c 6c 2c 0a 74 72 75 65 2c 0a 6e 75 6c 6c ous->getLine(),.null,.true,.null
147000 2c 0a 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 50 72 65 76 69 6f 75 73 28 29 0a 29 3b 0a 24 74 ,.$previous->getPrevious().);.$t
147020 68 69 73 2d 3e 73 65 74 54 72 61 63 65 28 24 70 72 65 76 69 6f 75 73 2d 3e 67 65 74 54 72 61 63 his->setTrace($previous->getTrac
147040 65 28 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 e());.}.}.<?php...........namesp
147060 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 3b 0a 0a 75 73 ace.Symfony\Component\Debug;..us
147080 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 e.Symfony\Component\Debug\Except
1470a0 69 6f 6e 5c 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e ion\FlattenException;.use.Symfon
1470c0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 4f 75 74 4f y\Component\Debug\Exception\OutO
1470e0 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f fMemoryException;.use.Symfony\Co
147100 6d 70 6f 6e 65 6e 74 5c 48 74 74 70 46 6f 75 6e 64 61 74 69 6f 6e 5c 52 65 73 70 6f 6e 73 65 3b mponent\HttpFoundation\Response;
147120 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 78 63 65 70 74 69 6f 6e 48 61 6e ..............class.ExceptionHan
147140 64 6c 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 64 65 62 75 67 3b 0a 70 72 69 76 61 74 65 20 24 dler.{.private.$debug;.private.$
147160 63 68 61 72 73 65 74 3b 0a 70 72 69 76 61 74 65 20 24 68 61 6e 64 6c 65 72 3b 0a 70 72 69 76 61 charset;.private.$handler;.priva
147180 74 65 20 24 63 61 75 67 68 74 42 75 66 66 65 72 3b 0a 70 72 69 76 61 74 65 20 24 63 61 75 67 68 te.$caughtBuffer;.private.$caugh
1471a0 74 4c 65 6e 67 74 68 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 tLength;.private.$fileLinkFormat
1471c0 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 ;..public.function.__construct($
1471e0 64 65 62 75 67 20 3d 20 74 72 75 65 2c 20 24 63 68 61 72 73 65 74 20 3d 20 6e 75 6c 6c 2c 20 24 debug.=.true,.$charset.=.null,.$
147200 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 66 61 6c fileLinkFormat.=.null).{.if.(fal
147220 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 63 68 61 72 73 65 74 2c 20 27 25 27 29 29 20 7b 0a se.!==.strpos($charset,.'%')).{.
147240 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 50 72 6f 76 69 64 69 6e 67 20 24 66 69 6c 65 4c @trigger_error('Providing.$fileL
147260 69 6e 6b 46 6f 72 6d 61 74 20 61 73 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 inkFormat.as.second.argument.to.
147280 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e '.__METHOD__.'.is.deprecated.sin
1472a0 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 75 6e 73 75 70 ce.Symfony.2.8.and.will.be.unsup
1472c0 70 6f 72 74 65 64 20 69 6e 20 33 2e 30 2e 20 50 6c 65 61 73 65 20 70 72 6f 76 69 64 65 20 69 74 ported.in.3.0..Please.provide.it
1472e0 20 61 73 20 74 68 69 72 64 20 61 72 67 75 6d 65 6e 74 2c 20 61 66 74 65 72 20 24 63 68 61 72 73 .as.third.argument,.after.$chars
147300 65 74 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 20 24 70 69 et.',.E_USER_DEPRECATED);....$pi
147320 76 6f 74 20 3d 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 3b 0a 24 66 69 6c 65 4c 69 6e 6b vot.=.$fileLinkFormat;.$fileLink
147340 46 6f 72 6d 61 74 20 3d 20 24 63 68 61 72 73 65 74 3b 0a 24 63 68 61 72 73 65 74 20 3d 20 24 70 Format.=.$charset;.$charset.=.$p
147360 69 76 6f 74 3b 0a 7d 0a 24 74 68 69 73 2d 3e 64 65 62 75 67 20 3d 20 24 64 65 62 75 67 3b 0a 24 ivot;.}.$this->debug.=.$debug;.$
147380 74 68 69 73 2d 3e 63 68 61 72 73 65 74 20 3d 20 24 63 68 61 72 73 65 74 20 3f 3a 20 69 6e 69 5f this->charset.=.$charset.?:.ini_
1473a0 67 65 74 28 27 64 65 66 61 75 6c 74 5f 63 68 61 72 73 65 74 27 29 20 3f 3a 20 27 55 54 46 2d 38 get('default_charset').?:.'UTF-8
1473c0 27 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 24 66 69 6c 65 ';.$this->fileLinkFormat.=.$file
1473e0 4c 69 6e 6b 46 6f 72 6d 61 74 20 3f 3a 20 69 6e 69 5f 67 65 74 28 27 78 64 65 62 75 67 2e 66 69 LinkFormat.?:.ini_get('xdebug.fi
147400 6c 65 5f 6c 69 6e 6b 5f 66 6f 72 6d 61 74 27 29 20 3f 3a 20 67 65 74 5f 63 66 67 5f 76 61 72 28 le_link_format').?:.get_cfg_var(
147420 27 78 64 65 62 75 67 2e 66 69 6c 65 5f 6c 69 6e 6b 5f 66 6f 72 6d 61 74 27 29 3b 0a 7d 0a 0a 0a 'xdebug.file_link_format');.}...
147440 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 ........public.static.function.r
147460 65 67 69 73 74 65 72 28 24 64 65 62 75 67 20 3d 20 74 72 75 65 2c 20 24 63 68 61 72 73 65 74 20 egister($debug.=.true,.$charset.
147480 3d 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 6e 75 6c 6c 29 0a =.null,.$fileLinkFormat.=.null).
1474a0 7b 0a 24 68 61 6e 64 6c 65 72 20 3d 20 6e 65 77 20 73 74 61 74 69 63 28 24 64 65 62 75 67 2c 20 {.$handler.=.new.static($debug,.
1474c0 24 63 68 61 72 73 65 74 2c 20 24 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 74 29 3b 0a 0a 24 70 72 $charset,.$fileLinkFormat);..$pr
1474e0 65 76 20 3d 20 73 65 74 5f 65 78 63 65 70 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 61 72 72 61 79 ev.=.set_exception_handler(array
147500 28 24 68 61 6e 64 6c 65 72 2c 20 27 68 61 6e 64 6c 65 27 29 29 3b 0a 69 66 20 28 5c 69 73 5f 61 ($handler,.'handle'));.if.(\is_a
147520 72 72 61 79 28 24 70 72 65 76 29 20 26 26 20 24 70 72 65 76 5b 30 5d 20 69 6e 73 74 61 6e 63 65 rray($prev).&&.$prev[0].instance
147540 6f 66 20 45 72 72 6f 72 48 61 6e 64 6c 65 72 29 20 7b 0a 72 65 73 74 6f 72 65 5f 65 78 63 65 70 of.ErrorHandler).{.restore_excep
147560 74 69 6f 6e 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 24 70 72 65 76 5b 30 5d 2d 3e 73 65 74 45 78 63 tion_handler();.$prev[0]->setExc
147580 65 70 74 69 6f 6e 48 61 6e 64 6c 65 72 28 61 72 72 61 79 28 24 68 61 6e 64 6c 65 72 2c 20 27 68 eptionHandler(array($handler,.'h
1475a0 61 6e 64 6c 65 27 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 68 61 6e 64 6c 65 72 3b 0a 7d 0a andle'));.}..return.$handler;.}.
1475c0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 48 61 6e 64 6c ........public.function.setHandl
1475e0 65 72 28 24 68 61 6e 64 6c 65 72 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 68 61 6e er($handler).{.if.(null.!==.$han
147600 64 6c 65 72 20 26 26 20 21 5c 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 68 61 6e 64 6c 65 72 29 29 dler.&&.!\is_callable($handler))
147620 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 54 68 .{.throw.new.\LogicException('Th
147640 65 20 65 78 63 65 70 74 69 6f 6e 20 68 61 6e 64 6c 65 72 20 6d 75 73 74 20 62 65 20 61 20 76 61 e.exception.handler.must.be.a.va
147660 6c 69 64 20 50 48 50 20 63 61 6c 6c 61 62 6c 65 2e 27 29 3b 0a 7d 0a 24 6f 6c 64 20 3d 20 24 74 lid.PHP.callable.');.}.$old.=.$t
147680 68 69 73 2d 3e 68 61 6e 64 6c 65 72 3b 0a 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 20 3d 20 24 his->handler;.$this->handler.=.$
1476a0 68 61 6e 64 6c 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 6c 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a handler;..return.$old;.}........
1476c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 69 6c 65 4c 69 6e 6b 46 6f 72 6d .public.function.setFileLinkForm
1476e0 61 74 28 24 66 6f 72 6d 61 74 29 0a 7b 0a 24 6f 6c 64 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c 65 at($format).{.$old.=.$this->file
147700 4c 69 6e 6b 46 6f 72 6d 61 74 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 4c 69 6e 6b 46 6f 72 6d 61 LinkFormat;.$this->fileLinkForma
147720 74 20 3d 20 24 66 6f 72 6d 61 74 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 6c 64 3b 0a 7d 0a 0a 0a 0a t.=.$format;..return.$old;.}....
147740 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 28 5c 45 78 ......public.function.handle(\Ex
147760 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d ception.$exception).{.if.(null.=
147780 3d 3d 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 20 7c 7c 20 24 65 78 63 65 70 74 69 6f 6e 20 ==.$this->handler.||.$exception.
1477a0 69 6e 73 74 61 6e 63 65 6f 66 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 45 78 63 65 70 74 69 6f 6e 29 instanceof.OutOfMemoryException)
1477c0 20 7b 0a 24 74 68 69 73 2d 3e 66 61 69 6c 53 61 66 65 48 61 6e 64 6c 65 28 24 65 78 63 65 70 74 .{.$this->failSafeHandle($except
1477e0 69 6f 6e 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 61 75 67 68 74 4c 65 6e 67 74 68 20 ion);..return;.}..$caughtLength.
147800 3d 20 24 74 68 69 73 2d 3e 63 61 75 67 68 74 4c 65 6e 67 74 68 20 3d 20 30 3b 0a 0a 6f 62 5f 73 =.$this->caughtLength.=.0;..ob_s
147820 74 61 72 74 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 63 61 74 63 68 4f 75 74 70 75 74 27 29 tart(array($this,.'catchOutput')
147840 29 3b 0a 24 74 68 69 73 2d 3e 66 61 69 6c 53 61 66 65 48 61 6e 64 6c 65 28 24 65 78 63 65 70 74 );.$this->failSafeHandle($except
147860 69 6f 6e 29 3b 0a 77 68 69 6c 65 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 61 75 ion);.while.(null.===.$this->cau
147880 67 68 74 42 75 66 66 65 72 20 26 26 20 6f 62 5f 65 6e 64 5f 66 6c 75 73 68 28 29 29 20 7b 0a 0a ghtBuffer.&&.ob_end_flush()).{..
1478a0 20 7d 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 72 .}.if.(isset($this->caughtBuffer
1478c0 5b 30 5d 29 29 20 7b 0a 6f 62 5f 73 74 61 72 74 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 63 [0])).{.ob_start(array($this,.'c
1478e0 6c 65 61 6e 4f 75 74 70 75 74 27 29 29 3b 0a 65 63 68 6f 20 24 74 68 69 73 2d 3e 63 61 75 67 68 leanOutput'));.echo.$this->caugh
147900 74 42 75 66 66 65 72 3b 0a 24 63 61 75 67 68 74 4c 65 6e 67 74 68 20 3d 20 6f 62 5f 67 65 74 5f tBuffer;.$caughtLength.=.ob_get_
147920 6c 65 6e 67 74 68 28 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 72 20 length();.}.$this->caughtBuffer.
147940 3d 20 6e 75 6c 6c 3b 0a 0a 74 72 79 20 7b 0a 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 =.null;..try.{.\call_user_func($
147960 74 68 69 73 2d 3e 68 61 6e 64 6c 65 72 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 24 74 68 69 this->handler,.$exception);.$thi
147980 73 2d 3e 63 61 75 67 68 74 4c 65 6e 67 74 68 20 3d 20 24 63 61 75 67 68 74 4c 65 6e 67 74 68 3b s->caughtLength.=.$caughtLength;
1479a0 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 21 .}.catch.(\Exception.$e).{.if.(!
1479c0 24 63 61 75 67 68 74 4c 65 6e 67 74 68 29 20 7b 0a 0a 20 74 68 72 6f 77 20 24 65 78 63 65 70 74 $caughtLength).{...throw.$except
1479e0 69 6f 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 ion;.}.}.}.........private.funct
147a00 69 6f 6e 20 66 61 69 6c 53 61 66 65 48 61 6e 64 6c 65 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 ion.failSafeHandle(\Exception.$e
147a20 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 53 79 xception).{.if.(class_exists('Sy
147a40 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 48 74 74 70 46 6f 75 6e 64 61 74 69 6f 6e 5c 52 mfony\Component\HttpFoundation\R
147a60 65 73 70 6f 6e 73 65 27 2c 20 66 61 6c 73 65 29 0a 26 26 20 5f 5f 43 4c 41 53 53 5f 5f 20 21 3d esponse',.false).&&.__CLASS__.!=
147a80 3d 20 5c 67 65 74 5f 63 6c 61 73 73 28 24 74 68 69 73 29 0a 26 26 20 28 24 72 65 66 6c 65 63 74 =.\get_class($this).&&.($reflect
147aa0 6f 72 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 74 69 6f 6e 4d 65 74 68 6f 64 28 24 74 68 69 73 or.=.new.\ReflectionMethod($this
147ac0 2c 20 27 63 72 65 61 74 65 52 65 73 70 6f 6e 73 65 27 29 29 0a 26 26 20 5f 5f 43 4c 41 53 53 5f ,.'createResponse')).&&.__CLASS_
147ae0 5f 20 21 3d 3d 20 24 72 65 66 6c 65 63 74 6f 72 2d 3e 63 6c 61 73 73 0a 29 20 7b 0a 24 72 65 73 _.!==.$reflector->class.).{.$res
147b00 70 6f 6e 73 65 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 52 65 73 70 6f 6e 73 65 28 24 65 ponse.=.$this->createResponse($e
147b20 78 63 65 70 74 69 6f 6e 29 3b 0a 24 72 65 73 70 6f 6e 73 65 2d 3e 73 65 6e 64 48 65 61 64 65 72 xception);.$response->sendHeader
147b40 73 28 29 3b 0a 24 72 65 73 70 6f 6e 73 65 2d 3e 73 65 6e 64 43 6f 6e 74 65 6e 74 28 29 3b 0a 40 s();.$response->sendContent();.@
147b60 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 73 70 72 69 6e 74 66 28 22 54 68 65 20 25 73 3a 3a 63 trigger_error(sprintf("The.%s::c
147b80 72 65 61 74 65 52 65 73 70 6f 6e 73 65 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 reateResponse.method.is.deprecat
147ba0 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 6f 6e 27 74 20 62 ed.since.Symfony.2.8.and.won't.b
147bc0 65 20 63 61 6c 6c 65 64 20 61 6e 79 6d 6f 72 65 20 77 68 65 6e 20 68 61 6e 64 6c 69 6e 67 20 61 e.called.anymore.when.handling.a
147be0 6e 20 65 78 63 65 70 74 69 6f 6e 20 69 6e 20 33 2e 30 2e 22 2c 20 24 72 65 66 6c 65 63 74 6f 72 n.exception.in.3.0.",.$reflector
147c00 2d 3e 63 6c 61 73 73 29 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 72 ->class),.E_USER_DEPRECATED);..r
147c20 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 6e 64 50 68 70 52 65 73 70 6f 6e 73 65 eturn;.}..$this->sendPhpResponse
147c40 28 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ($exception);.}..........public.
147c60 66 75 6e 63 74 69 6f 6e 20 73 65 6e 64 50 68 70 52 65 73 70 6f 6e 73 65 28 24 65 78 63 65 70 74 function.sendPhpResponse($except
147c80 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f ion).{.if.(!$exception.instanceo
147ca0 66 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e f.FlattenException).{.$exception
147cc0 20 3d 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 65 78 63 .=.FlattenException::create($exc
147ce0 65 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 69 66 20 28 21 68 65 61 64 65 72 73 5f 73 65 6e 74 28 29 29 eption);.}..if.(!headers_sent())
147d00 20 7b 0a 68 65 61 64 65 72 28 73 70 72 69 6e 74 66 28 27 48 54 54 50 2f 31 2e 30 20 25 73 27 2c .{.header(sprintf('HTTP/1.0.%s',
147d20 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 29 29 3b 0a .$exception->getStatusCode()));.
147d40 66 6f 72 65 61 63 68 20 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 48 65 61 64 65 72 73 28 foreach.($exception->getHeaders(
147d60 29 20 61 73 20 24 6e 61 6d 65 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 68 65 61 64 65 72 28 24 ).as.$name.=>.$value).{.header($
147d80 6e 61 6d 65 2e 27 3a 20 27 2e 24 76 61 6c 75 65 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 68 65 61 64 name.':.'.$value,.false);.}.head
147da0 65 72 28 27 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 74 65 78 74 2f 68 74 6d 6c 3b 20 63 68 61 er('Content-Type:.text/html;.cha
147dc0 72 73 65 74 3d 27 2e 24 74 68 69 73 2d 3e 63 68 61 72 73 65 74 29 3b 0a 7d 0a 0a 65 63 68 6f 20 rset='.$this->charset);.}..echo.
147de0 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e $this->decorate($this->getConten
147e00 74 28 24 65 78 63 65 70 74 69 6f 6e 29 2c 20 24 74 68 69 73 2d 3e 67 65 74 53 74 79 6c 65 73 68 t($exception),.$this->getStylesh
147e20 65 65 74 28 24 65 78 63 65 70 74 69 6f 6e 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 eet($exception));.}...........pu
147e40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 52 65 73 70 6f 6e 73 65 28 24 65 78 blic.function.createResponse($ex
147e60 63 65 70 74 69 6f 6e 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 ception).{.@trigger_error('The.'
147e80 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 .__METHOD__.'.method.is.deprecat
147ea0 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 ed.since.Symfony.2.8.and.will.be
147ec0 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 .removed.in.3.0.',.E_USER_DEPREC
147ee0 41 54 45 44 29 3b 0a 0a 69 66 20 28 21 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 ATED);..if.(!$exception.instance
147f00 6f 66 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f of.FlattenException).{.$exceptio
147f20 6e 20 3d 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 65 78 n.=.FlattenException::create($ex
147f40 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 52 65 73 70 6f 6e 73 65 3a 3a 63 72 ception);.}..return.Response::cr
147f60 65 61 74 65 28 24 74 68 69 73 2d 3e 67 65 74 48 74 6d 6c 28 24 65 78 63 65 70 74 69 6f 6e 29 2c eate($this->getHtml($exception),
147f80 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 53 74 61 74 75 73 43 6f 64 65 28 29 2c 20 24 65 .$exception->getStatusCode(),.$e
147fa0 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 48 65 61 64 65 72 73 28 29 29 2d 3e 73 65 74 43 68 61 72 xception->getHeaders())->setChar
147fc0 73 65 74 28 24 74 68 69 73 2d 3e 63 68 61 72 73 65 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 set($this->charset);.}.........p
147fe0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 48 74 6d 6c 28 24 65 78 63 65 70 74 69 6f ublic.function.getHtml($exceptio
148000 6e 29 0a 7b 0a 69 66 20 28 21 24 65 78 63 65 70 74 69 6f 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 n).{.if.(!$exception.instanceof.
148020 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f 6e 20 3d FlattenException).{.$exception.=
148040 20 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 65 78 63 65 70 .FlattenException::create($excep
148060 74 69 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 63 6f 72 61 74 65 tion);.}..return.$this->decorate
148080 28 24 74 68 69 73 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 28 24 65 78 63 65 70 74 69 6f 6e 29 2c 20 ($this->getContent($exception),.
1480a0 24 74 68 69 73 2d 3e 67 65 74 53 74 79 6c 65 73 68 65 65 74 28 24 65 78 63 65 70 74 69 6f 6e 29 $this->getStylesheet($exception)
1480c0 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f );.}.......public.function.getCo
1480e0 6e 74 65 6e 74 28 46 6c 61 74 74 65 6e 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f ntent(FlattenException.$exceptio
148100 6e 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 53 74 61 74 n).{.switch.($exception->getStat
148120 75 73 43 6f 64 65 28 29 29 20 7b 0a 63 61 73 65 20 34 30 34 3a 0a 24 74 69 74 6c 65 20 3d 20 27 usCode()).{.case.404:.$title.=.'
148140 53 6f 72 72 79 2c 20 74 68 65 20 70 61 67 65 20 79 6f 75 20 61 72 65 20 6c 6f 6f 6b 69 6e 67 20 Sorry,.the.page.you.are.looking.
148160 66 6f 72 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 2e 27 3b 0a 62 72 65 61 6b 3b for.could.not.be.found.';.break;
148180 0a 64 65 66 61 75 6c 74 3a 0a 24 74 69 74 6c 65 20 3d 20 27 57 68 6f 6f 70 73 2c 20 6c 6f 6f 6b .default:.$title.=.'Whoops,.look
1481a0 73 20 6c 69 6b 65 20 73 6f 6d 65 74 68 69 6e 67 20 77 65 6e 74 20 77 72 6f 6e 67 2e 27 3b 0a 7d s.like.something.went.wrong.';.}
1481c0 0a 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 27 27 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 62 75 ..$content.=.'';.if.($this->debu
1481e0 67 29 20 7b 0a 74 72 79 20 7b 0a 24 63 6f 75 6e 74 20 3d 20 5c 63 6f 75 6e 74 28 24 65 78 63 65 g).{.try.{.$count.=.\count($exce
148200 70 74 69 6f 6e 2d 3e 67 65 74 41 6c 6c 50 72 65 76 69 6f 75 73 28 29 29 3b 0a 24 74 6f 74 61 6c ption->getAllPrevious());.$total
148220 20 3d 20 24 63 6f 75 6e 74 20 2b 20 31 3b 0a 66 6f 72 65 61 63 68 20 28 24 65 78 63 65 70 74 69 .=.$count.+.1;.foreach.($excepti
148240 6f 6e 2d 3e 74 6f 41 72 72 61 79 28 29 20 61 73 20 24 70 6f 73 69 74 69 6f 6e 20 3d 3e 20 24 65 on->toArray().as.$position.=>.$e
148260 29 20 7b 0a 24 69 6e 64 20 3d 20 24 63 6f 75 6e 74 20 2d 20 24 70 6f 73 69 74 69 6f 6e 20 2b 20 ).{.$ind.=.$count.-.$position.+.
148280 31 3b 0a 24 63 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 43 6c 61 73 73 28 24 1;.$class.=.$this->formatClass($
1482a0 65 5b 27 63 6c 61 73 73 27 5d 29 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 6e 6c 32 62 72 28 24 74 e['class']);.$message.=.nl2br($t
1482c0 68 69 73 2d 3e 65 73 63 61 70 65 48 74 6d 6c 28 24 65 5b 27 6d 65 73 73 61 67 65 27 5d 29 29 3b his->escapeHtml($e['message']));
1482e0 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 73 70 72 69 6e 74 66 28 3c 3c 3c 27 45 4f 46 27 0a 20 20 .$content..=.sprintf(<<<'EOF'...
148300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 68 32 20 63 6c 61 73 73 3d ......................<h2.class=
148320 22 62 6c 6f 63 6b 5f 65 78 63 65 70 74 69 6f 6e 20 63 6c 65 61 72 5f 66 69 78 22 3e 0a 20 20 20 "block_exception.clear_fix">....
148340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 .........................<span.c
148360 6c 61 73 73 3d 22 65 78 63 65 70 74 69 6f 6e 5f 63 6f 75 6e 74 65 72 22 3e 25 64 2f 25 64 3c 2f lass="exception_counter">%d/%d</
148380 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 span>...........................
1483a0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 65 78 63 65 70 74 69 6f 6e 5f 74 69 74 6c 65 22 3e ..<span.class="exception_title">
1483c0 25 73 25 73 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %s%s:</span>....................
1483e0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 65 78 63 65 70 74 69 6f 6e 5f .........<span.class="exception_
148400 6d 65 73 73 61 67 65 22 3e 25 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 message">%s</span>..............
148420 20 20 20 20 20 20 20 20 20 20 20 3c 2f 68 32 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........</h2>................
148440 20 20 20 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 62 6c 6f 63 6b 22 3e 0a 20 20 20 .........<div.class="block">....
148460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 20 63 6c 61 .........................<ol.cla
148480 73 73 3d 22 74 72 61 63 65 73 20 6c 69 73 74 5f 65 78 63 65 70 74 69 6f 6e 22 3e 0a 0a 45 4f 46 ss="traces.list_exception">..EOF
1484a0 0a 2c 20 24 69 6e 64 2c 20 24 74 6f 74 61 6c 2c 20 24 63 6c 61 73 73 2c 20 24 74 68 69 73 2d 3e .,.$ind,.$total,.$class,.$this->
1484c0 66 6f 72 6d 61 74 50 61 74 68 28 24 65 5b 27 74 72 61 63 65 27 5d 5b 30 5d 5b 27 66 69 6c 65 27 formatPath($e['trace'][0]['file'
1484e0 5d 2c 20 24 65 5b 27 74 72 61 63 65 27 5d 5b 30 5d 5b 27 6c 69 6e 65 27 5d 29 2c 20 24 6d 65 73 ],.$e['trace'][0]['line']),.$mes
148500 73 61 67 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 65 5b 27 74 72 61 63 65 27 5d 20 61 73 20 24 sage);.foreach.($e['trace'].as.$
148520 74 72 61 63 65 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 27 20 20 20 20 20 20 20 3c 6c 69 trace).{.$content..=.'.......<li
148540 3e 27 3b 0a 69 66 20 28 24 74 72 61 63 65 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 29 20 7b 0a 24 63 >';.if.($trace['function']).{.$c
148560 6f 6e 74 65 6e 74 20 2e 3d 20 73 70 72 69 6e 74 66 28 27 61 74 20 25 73 25 73 25 73 28 25 73 29 ontent..=.sprintf('at.%s%s%s(%s)
148580 27 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 43 6c 61 73 73 28 24 74 72 61 63 65 5b 27 63 6c ',.$this->formatClass($trace['cl
1485a0 61 73 73 27 5d 29 2c 20 24 74 72 61 63 65 5b 27 74 79 70 65 27 5d 2c 20 24 74 72 61 63 65 5b 27 ass']),.$trace['type'],.$trace['
1485c0 66 75 6e 63 74 69 6f 6e 27 5d 2c 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 41 72 67 73 28 24 74 function'],.$this->formatArgs($t
1485e0 72 61 63 65 5b 27 61 72 67 73 27 5d 29 29 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 74 72 61 race['args']));.}.if.(isset($tra
148600 63 65 5b 27 66 69 6c 65 27 5d 29 20 26 26 20 69 73 73 65 74 28 24 74 72 61 63 65 5b 27 6c 69 6e ce['file']).&&.isset($trace['lin
148620 65 27 5d 29 29 20 7b 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 e'])).{.$content..=.$this->forma
148640 74 50 61 74 68 28 24 74 72 61 63 65 5b 27 66 69 6c 65 27 5d 2c 20 24 74 72 61 63 65 5b 27 6c 69 tPath($trace['file'],.$trace['li
148660 6e 65 27 5d 29 3b 0a 7d 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 22 3c 2f 6c 69 3e 5c 6e 22 3b 0a ne']);.}.$content..=."</li>\n";.
148680 7d 0a 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 22 20 20 20 20 3c 2f 6f 6c 3e 5c 6e 3c 2f 64 69 76 }..$content..=."....</ol>\n</div
1486a0 3e 5c 6e 22 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 >\n";.}.}.catch.(\Exception.$e).
1486c0 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 62 75 67 29 20 7b 0a 24 74 69 74 6c 65 20 3d {...if.($this->debug).{.$title.=
1486e0 20 73 70 72 69 6e 74 66 28 27 45 78 63 65 70 74 69 6f 6e 20 74 68 72 6f 77 6e 20 77 68 65 6e 20 .sprintf('Exception.thrown.when.
148700 68 61 6e 64 6c 69 6e 67 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 28 25 73 3a 20 25 73 29 27 2c handling.an.exception.(%s:.%s)',
148720 20 5c 67 65 74 5f 63 6c 61 73 73 28 24 65 29 2c 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 74 .\get_class($e),.$this->escapeHt
148740 6d 6c 28 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a ml($e->getMessage()));.}.else.{.
148760 24 74 69 74 6c 65 20 3d 20 27 57 68 6f 6f 70 73 2c 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 73 6f 6d $title.=.'Whoops,.looks.like.som
148780 65 74 68 69 6e 67 20 77 65 6e 74 20 77 72 6f 6e 67 2e 27 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 ething.went.wrong.';.}.}.}..retu
1487a0 72 6e 20 3c 3c 3c 45 4f 46 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 64 69 76 20 69 64 3d 22 73 rn.<<<EOF.............<div.id="s
1487c0 66 2d 72 65 73 65 74 63 6f 6e 74 65 6e 74 22 20 63 6c 61 73 73 3d 22 73 66 2d 72 65 73 65 74 22 f-resetcontent".class="sf-reset"
1487e0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 68 31 3e 24 74 69 74 6c 65 3c 2f 68 31 >.................<h1>$title</h1
148800 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 0a 20 20 20 20 20 >.................$content......
148820 20 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 45 4f 46 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .......</div>.EOF;.}.......publi
148840 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 79 6c 65 73 68 65 65 74 28 46 6c 61 74 74 65 6e c.function.getStylesheet(Flatten
148860 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 3c Exception.$exception).{.return.<
148880 3c 3c 27 45 4f 46 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 7b 20 <<'EOF'..............sf-reset.{.
1488a0 66 6f 6e 74 3a 20 31 31 70 78 20 56 65 72 64 61 6e 61 2c 20 41 72 69 61 6c 2c 20 73 61 6e 73 2d font:.11px.Verdana,.Arial,.sans-
1488c0 73 65 72 69 66 3b 20 63 6f 6c 6f 72 3a 20 23 33 33 33 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 serif;.color:.#333.}............
1488e0 20 2e 73 66 2d 72 65 73 65 74 20 2e 63 6c 65 61 72 20 7b 20 63 6c 65 61 72 3a 62 6f 74 68 3b 20 ..sf-reset..clear.{.clear:both;.
148900 68 65 69 67 68 74 3a 30 3b 20 66 6f 6e 74 2d 73 69 7a 65 3a 30 3b 20 6c 69 6e 65 2d 68 65 69 67 height:0;.font-size:0;.line-heig
148920 68 74 3a 30 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 63 ht:0;.}..............sf-reset..c
148940 6c 65 61 72 5f 66 69 78 3a 61 66 74 65 72 20 7b 20 64 69 73 70 6c 61 79 3a 62 6c 6f 63 6b 3b 20 lear_fix:after.{.display:block;.
148960 68 65 69 67 68 74 3a 30 3b 20 63 6c 65 61 72 3a 62 6f 74 68 3b 20 76 69 73 69 62 69 6c 69 74 79 height:0;.clear:both;.visibility
148980 3a 68 69 64 64 65 6e 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 :hidden;.}..............sf-reset
1489a0 20 2e 63 6c 65 61 72 5f 66 69 78 20 7b 20 64 69 73 70 6c 61 79 3a 69 6e 6c 69 6e 65 2d 62 6c 6f ..clear_fix.{.display:inline-blo
1489c0 63 6b 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2a 20 68 74 ck;.}..............sf-reset.*.ht
1489e0 6d 6c 20 2e 63 6c 65 61 72 5f 66 69 78 20 7b 20 68 65 69 67 68 74 3a 31 25 3b 20 7d 0a 20 20 20 ml..clear_fix.{.height:1%;.}....
148a00 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 63 6c 65 61 72 5f 66 69 78 20 7b 20 ..........sf-reset..clear_fix.{.
148a20 64 69 73 70 6c 61 79 3a 62 6c 6f 63 6b 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 display:block;.}..............sf
148a40 2d 72 65 73 65 74 2c 20 2e 73 66 2d 72 65 73 65 74 20 2e 62 6c 6f 63 6b 20 7b 20 6d 61 72 67 69 -reset,..sf-reset..block.{.margi
148a60 6e 3a 20 61 75 74 6f 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 n:.auto.}..............sf-reset.
148a80 61 62 62 72 20 7b 20 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d 3a 20 31 70 78 20 64 6f 74 74 65 64 abbr.{.border-bottom:.1px.dotted
148aa0 20 23 30 30 30 3b 20 63 75 72 73 6f 72 3a 20 68 65 6c 70 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 .#000;.cursor:.help;.}..........
148ac0 20 20 20 2e 73 66 2d 72 65 73 65 74 20 70 20 7b 20 66 6f 6e 74 2d 73 69 7a 65 3a 31 34 70 78 3b ....sf-reset.p.{.font-size:14px;
148ae0 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a 32 30 70 78 3b 20 63 6f 6c 6f 72 3a 23 38 36 38 36 38 36 .line-height:20px;.color:#868686
148b00 3b 20 70 61 64 64 69 6e 67 2d 62 6f 74 74 6f 6d 3a 32 30 70 78 20 7d 0a 20 20 20 20 20 20 20 20 ;.padding-bottom:20px.}.........
148b20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 73 74 72 6f 6e 67 20 7b 20 66 6f 6e 74 2d 77 65 69 67 .....sf-reset.strong.{.font-weig
148b40 68 74 3a 62 6f 6c 64 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 ht:bold;.}..............sf-reset
148b60 20 61 20 7b 20 63 6f 6c 6f 72 3a 23 36 63 36 31 35 39 3b 20 63 75 72 73 6f 72 3a 20 64 65 66 61 .a.{.color:#6c6159;.cursor:.defa
148b80 75 6c 74 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 61 20 69 ult;.}..............sf-reset.a.i
148ba0 6d 67 20 7b 20 62 6f 72 64 65 72 3a 6e 6f 6e 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 mg.{.border:none;.}.............
148bc0 2e 73 66 2d 72 65 73 65 74 20 61 3a 68 6f 76 65 72 20 7b 20 74 65 78 74 2d 64 65 63 6f 72 61 74 .sf-reset.a:hover.{.text-decorat
148be0 69 6f 6e 3a 75 6e 64 65 72 6c 69 6e 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 ion:underline;.}..............sf
148c00 2d 72 65 73 65 74 20 65 6d 20 7b 20 66 6f 6e 74 2d 73 74 79 6c 65 3a 69 74 61 6c 69 63 3b 20 7d -reset.em.{.font-style:italic;.}
148c20 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 68 31 2c 20 2e 73 66 2d 72 ..............sf-reset.h1,..sf-r
148c40 65 73 65 74 20 68 32 20 7b 20 66 6f 6e 74 3a 20 32 30 70 78 20 47 65 6f 72 67 69 61 2c 20 22 54 eset.h2.{.font:.20px.Georgia,."T
148c60 69 6d 65 73 20 4e 65 77 20 52 6f 6d 61 6e 22 2c 20 54 69 6d 65 73 2c 20 73 65 72 69 66 20 7d 0a imes.New.Roman",.Times,.serif.}.
148c80 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 65 78 63 65 70 74 69 6f 6e .............sf-reset..exception
148ca0 5f 63 6f 75 6e 74 65 72 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 23 66 66 _counter.{.background-color:.#ff
148cc0 66 3b 20 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 20 70 61 64 64 69 6e 67 3a 20 36 70 78 3b 20 66 6c f;.color:.#333;.padding:.6px;.fl
148ce0 6f 61 74 3a 20 6c 65 66 74 3b 20 6d 61 72 67 69 6e 2d 72 69 67 68 74 3a 20 31 30 70 78 3b 20 66 oat:.left;.margin-right:.10px;.f
148d00 6c 6f 61 74 3a 20 6c 65 66 74 3b 20 64 69 73 70 6c 61 79 3a 20 62 6c 6f 63 6b 3b 20 7d 0a 20 20 loat:.left;.display:.block;.}...
148d20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 65 78 63 65 70 74 69 6f 6e 5f 74 ...........sf-reset..exception_t
148d40 69 74 6c 65 20 7b 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 20 33 65 6d 3b 20 6d 61 72 67 69 6e 2d itle.{.margin-left:.3em;.margin-
148d60 62 6f 74 74 6f 6d 3a 20 30 2e 37 65 6d 3b 20 64 69 73 70 6c 61 79 3a 20 62 6c 6f 63 6b 3b 20 7d bottom:.0.7em;.display:.block;.}
148d80 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 65 78 63 65 70 74 69 6f ..............sf-reset..exceptio
148da0 6e 5f 6d 65 73 73 61 67 65 20 7b 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 20 33 65 6d 3b 20 64 69 n_message.{.margin-left:.3em;.di
148dc0 73 70 6c 61 79 3a 20 62 6c 6f 63 6b 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d splay:.block;.}..............sf-
148de0 72 65 73 65 74 20 2e 74 72 61 63 65 73 20 6c 69 20 7b 20 66 6f 6e 74 2d 73 69 7a 65 3a 31 32 70 reset..traces.li.{.font-size:12p
148e00 78 3b 20 70 61 64 64 69 6e 67 3a 20 32 70 78 20 34 70 78 3b 20 6c 69 73 74 2d 73 74 79 6c 65 2d x;.padding:.2px.4px;.list-style-
148e20 74 79 70 65 3a 64 65 63 69 6d 61 6c 3b 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 32 30 70 78 3b 20 type:decimal;.margin-left:20px;.
148e40 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 62 6c 6f 63 6b 20 7b }..............sf-reset..block.{
148e60 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 23 46 46 46 46 46 46 3b 20 70 61 64 64 69 .background-color:#FFFFFF;.paddi
148e80 6e 67 3a 31 30 70 78 20 32 38 70 78 3b 20 6d 61 72 67 69 6e 2d 62 6f 74 74 6f 6d 3a 32 30 70 78 ng:10px.28px;.margin-bottom:20px
148ea0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 77 65 62 6b 69 74 2d 62 6f 72 64 65 72 ;.................-webkit-border
148ec0 2d 62 6f 74 74 6f 6d 2d 72 69 67 68 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 -bottom-right-radius:.16px;.....
148ee0 20 20 20 20 20 20 20 20 20 20 20 20 2d 77 65 62 6b 69 74 2d 62 6f 72 64 65 72 2d 62 6f 74 74 6f ............-webkit-border-botto
148f00 6d 2d 6c 65 66 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 m-left-radius:.16px;............
148f20 20 20 20 20 20 2d 6d 6f 7a 2d 62 6f 72 64 65 72 2d 72 61 64 69 75 73 2d 62 6f 74 74 6f 6d 72 69 .....-moz-border-radius-bottomri
148f40 67 68 74 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 6d 6f 7a 2d ght:.16px;.................-moz-
148f60 62 6f 72 64 65 72 2d 72 61 64 69 75 73 2d 62 6f 74 74 6f 6d 6c 65 66 74 3a 20 31 36 70 78 3b 0a border-radius-bottomleft:.16px;.
148f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d 2d 72 69 ................border-bottom-ri
148fa0 67 68 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ght-radius:.16px;...............
148fc0 20 20 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d 2d 6c 65 66 74 2d 72 61 64 69 75 73 3a 20 31 36 70 ..border-bottom-left-radius:.16p
148fe0 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 62 6f 74 74 6f 6d x;.................border-bottom
149000 3a 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :1px.solid.#ccc;................
149020 20 62 6f 72 64 65 72 2d 72 69 67 68 74 3a 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 20 .border-right:1px.solid.#ccc;...
149040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 6c 65 66 74 3a 31 70 78 20 73 6f ..............border-left:1px.so
149060 6c 69 64 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 2d 77 lid.#ccc;.................word-w
149080 72 61 70 3a 20 62 72 65 61 6b 2d 77 6f 72 64 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 rap:.break-word;.............}..
1490a0 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 2e 62 6c 6f 63 6b 5f 65 78 63 65 ............sf-reset..block_exce
1490c0 70 74 69 6f 6e 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 23 64 64 64 3b 20 63 ption.{.background-color:#ddd;.c
1490e0 6f 6c 6f 72 3a 20 23 33 33 33 3b 20 70 61 64 64 69 6e 67 3a 32 30 70 78 3b 0a 20 20 20 20 20 20 olor:.#333;.padding:20px;.......
149100 20 20 20 20 20 20 20 20 20 20 2d 77 65 62 6b 69 74 2d 62 6f 72 64 65 72 2d 74 6f 70 2d 6c 65 66 ..........-webkit-border-top-lef
149120 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-radius:.16px;.................
149140 2d 77 65 62 6b 69 74 2d 62 6f 72 64 65 72 2d 74 6f 70 2d 72 69 67 68 74 2d 72 61 64 69 75 73 3a -webkit-border-top-right-radius:
149160 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 6d 6f 7a 2d 62 6f 72 64 .16px;.................-moz-bord
149180 65 72 2d 72 61 64 69 75 73 2d 74 6f 70 6c 65 66 74 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 er-radius-topleft:.16px;........
1491a0 20 20 20 20 20 20 20 20 20 2d 6d 6f 7a 2d 62 6f 72 64 65 72 2d 72 61 64 69 75 73 2d 74 6f 70 72 .........-moz-border-radius-topr
1491c0 69 67 68 74 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 ight:.16px;.................bord
1491e0 65 72 2d 74 6f 70 2d 6c 65 66 74 2d 72 61 64 69 75 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 er-top-left-radius:.16px;.......
149200 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 74 6f 70 2d 72 69 67 68 74 2d 72 61 64 69 75 ..........border-top-right-radiu
149220 73 3a 20 31 36 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d s:.16px;.................border-
149240 74 6f 70 3a 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 top:1px.solid.#ccc;.............
149260 20 20 20 20 62 6f 72 64 65 72 2d 72 69 67 68 74 3a 31 70 78 20 73 6f 6c 69 64 20 23 63 63 63 3b ....border-right:1px.solid.#ccc;
149280 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 6c 65 66 74 3a 31 70 78 .................border-left:1px
1492a0 20 73 6f 6c 69 64 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 76 65 .solid.#ccc;.................ove
1492c0 72 66 6c 6f 77 3a 20 68 69 64 64 65 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 rflow:.hidden;.................w
1492e0 6f 72 64 2d 77 72 61 70 3a 20 62 72 65 61 6b 2d 77 6f 72 64 3b 0a 20 20 20 20 20 20 20 20 20 20 ord-wrap:.break-word;...........
149300 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 61 20 7b 20 62 61 ..}..............sf-reset.a.{.ba
149320 63 6b 67 72 6f 75 6e 64 3a 6e 6f 6e 65 3b 20 63 6f 6c 6f 72 3a 23 38 36 38 36 38 36 3b 20 74 65 ckground:none;.color:#868686;.te
149340 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 6e 6f 6e 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 xt-decoration:none;.}...........
149360 20 20 2e 73 66 2d 72 65 73 65 74 20 61 3a 68 6f 76 65 72 20 7b 20 62 61 63 6b 67 72 6f 75 6e 64 ...sf-reset.a:hover.{.background
149380 3a 6e 6f 6e 65 3b 20 63 6f 6c 6f 72 3a 23 33 31 33 31 33 31 3b 20 74 65 78 74 2d 64 65 63 6f 72 :none;.color:#313131;.text-decor
1493a0 61 74 69 6f 6e 3a 75 6e 64 65 72 6c 69 6e 65 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e ation:underline;.}..............
1493c0 73 66 2d 72 65 73 65 74 20 6f 6c 20 7b 20 70 61 64 64 69 6e 67 3a 20 31 30 70 78 20 30 3b 20 7d sf-reset.ol.{.padding:.10px.0;.}
1493e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 66 2d 72 65 73 65 74 20 68 31 20 7b 20 62 61 63 6b ..............sf-reset.h1.{.back
149400 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 23 46 46 46 46 46 46 3b 20 70 61 64 64 69 6e 67 3a 20 31 ground-color:#FFFFFF;.padding:.1
149420 35 70 78 20 32 38 70 78 3b 20 6d 61 72 67 69 6e 2d 62 6f 74 74 6f 6d 3a 20 32 30 70 78 3b 0a 20 5px.28px;.margin-bottom:.20px;..
149440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 77 65 62 6b 69 74 2d 62 6f 72 64 65 72 2d 72 61 ...............-webkit-border-ra
149460 64 69 75 73 3a 20 31 30 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 6d 6f 7a dius:.10px;.................-moz
149480 2d 62 6f 72 64 65 72 2d 72 61 64 69 75 73 3a 20 31 30 70 78 3b 0a 20 20 20 20 20 20 20 20 20 20 -border-radius:.10px;...........
1494a0 20 20 20 20 20 20 62 6f 72 64 65 72 2d 72 61 64 69 75 73 3a 20 31 30 70 78 3b 0a 20 20 20 20 20 ......border-radius:.10px;......
1494c0 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 23 63 63 ...........border:.1px.solid.#cc
1494e0 63 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 45 4f 46 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 c;.............}.EOF;.}..private
149500 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 6f 72 61 74 65 28 24 63 6f 6e 74 65 6e 74 2c 20 24 63 73 .function.decorate($content,.$cs
149520 73 29 0a 7b 0a 72 65 74 75 72 6e 20 3c 3c 3c 45 4f 46 0a 3c 21 44 4f 43 54 59 50 45 20 68 74 6d s).{.return.<<<EOF.<!DOCTYPE.htm
149540 6c 3e 0a 3c 68 74 6d 6c 3e 0a 20 20 20 20 3c 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 6d 65 l>.<html>.....<head>.........<me
149560 74 61 20 63 68 61 72 73 65 74 3d 22 7b 24 74 68 69 73 2d 3e 63 68 61 72 73 65 74 7d 22 20 2f 3e ta.charset="{$this->charset}"./>
149580 0a 20 20 20 20 20 20 20 20 3c 6d 65 74 61 20 6e 61 6d 65 3d 22 72 6f 62 6f 74 73 22 20 63 6f 6e .........<meta.name="robots".con
1495a0 74 65 6e 74 3d 22 6e 6f 69 6e 64 65 78 2c 6e 6f 66 6f 6c 6c 6f 77 22 20 2f 3e 0a 20 20 20 20 20 tent="noindex,nofollow"./>......
1495c0 20 20 20 3c 73 74 79 6c 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 43 6f 70 79 72 69 ...<style>............./*.Copyri
1495e0 67 68 74 20 28 63 29 20 32 30 31 30 2c 20 59 61 68 6f 6f 21 20 49 6e 63 2e 20 41 6c 6c 20 72 69 ght.(c).2010,.Yahoo!.Inc..All.ri
149600 67 68 74 73 20 72 65 73 65 72 76 65 64 2e 20 43 6f 64 65 20 6c 69 63 65 6e 73 65 64 20 75 6e 64 ghts.reserved..Code.licensed.und
149620 65 72 20 74 68 65 20 42 53 44 20 4c 69 63 65 6e 73 65 3a 20 68 74 74 70 3a 2f 2f 64 65 76 65 6c er.the.BSD.License:.http://devel
149640 6f 70 65 72 2e 79 61 68 6f 6f 2e 63 6f 6d 2f 79 75 69 2f 6c 69 63 65 6e 73 65 2e 68 74 6d 6c 20 oper.yahoo.com/yui/license.html.
149660 2a 2f 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 74 6d 6c 7b 63 6f 6c 6f 72 3a 23 30 30 30 3b 62 */.............html{color:#000;b
149680 61 63 6b 67 72 6f 75 6e 64 3a 23 46 46 46 3b 7d 62 6f 64 79 2c 64 69 76 2c 64 6c 2c 64 74 2c 64 ackground:#FFF;}body,div,dl,dt,d
1496a0 64 2c 75 6c 2c 6f 6c 2c 6c 69 2c 68 31 2c 68 32 2c 68 33 2c 68 34 2c 68 35 2c 68 36 2c 70 72 65 d,ul,ol,li,h1,h2,h3,h4,h5,h6,pre
1496c0 2c 63 6f 64 65 2c 66 6f 72 6d 2c 66 69 65 6c 64 73 65 74 2c 6c 65 67 65 6e 64 2c 69 6e 70 75 74 ,code,form,fieldset,legend,input
1496e0 2c 74 65 78 74 61 72 65 61 2c 70 2c 62 6c 6f 63 6b 71 75 6f 74 65 2c 74 68 2c 74 64 7b 6d 61 72 ,textarea,p,blockquote,th,td{mar
149700 67 69 6e 3a 30 3b 70 61 64 64 69 6e 67 3a 30 3b 7d 74 61 62 6c 65 7b 62 6f 72 64 65 72 2d 63 6f gin:0;padding:0;}table{border-co
149720 6c 6c 61 70 73 65 3a 63 6f 6c 6c 61 70 73 65 3b 62 6f 72 64 65 72 2d 73 70 61 63 69 6e 67 3a 30 llapse:collapse;border-spacing:0
149740 3b 7d 66 69 65 6c 64 73 65 74 2c 69 6d 67 7b 62 6f 72 64 65 72 3a 30 3b 7d 61 64 64 72 65 73 73 ;}fieldset,img{border:0;}address
149760 2c 63 61 70 74 69 6f 6e 2c 63 69 74 65 2c 63 6f 64 65 2c 64 66 6e 2c 65 6d 2c 73 74 72 6f 6e 67 ,caption,cite,code,dfn,em,strong
149780 2c 74 68 2c 76 61 72 7b 66 6f 6e 74 2d 73 74 79 6c 65 3a 6e 6f 72 6d 61 6c 3b 66 6f 6e 74 2d 77 ,th,var{font-style:normal;font-w
1497a0 65 69 67 68 74 3a 6e 6f 72 6d 61 6c 3b 7d 6c 69 7b 6c 69 73 74 2d 73 74 79 6c 65 3a 6e 6f 6e 65 eight:normal;}li{list-style:none
1497c0 3b 7d 63 61 70 74 69 6f 6e 2c 74 68 7b 74 65 78 74 2d 61 6c 69 67 6e 3a 6c 65 66 74 3b 7d 68 31 ;}caption,th{text-align:left;}h1
1497e0 2c 68 32 2c 68 33 2c 68 34 2c 68 35 2c 68 36 7b 66 6f 6e 74 2d 73 69 7a 65 3a 31 30 30 25 3b 66 ,h2,h3,h4,h5,h6{font-size:100%;f
149800 6f 6e 74 2d 77 65 69 67 68 74 3a 6e 6f 72 6d 61 6c 3b 7d 71 3a 62 65 66 6f 72 65 2c 71 3a 61 66 ont-weight:normal;}q:before,q:af
149820 74 65 72 7b 63 6f 6e 74 65 6e 74 3a 27 27 3b 7d 61 62 62 72 2c 61 63 72 6f 6e 79 6d 7b 62 6f 72 ter{content:'';}abbr,acronym{bor
149840 64 65 72 3a 30 3b 66 6f 6e 74 2d 76 61 72 69 61 6e 74 3a 6e 6f 72 6d 61 6c 3b 7d 73 75 70 7b 76 der:0;font-variant:normal;}sup{v
149860 65 72 74 69 63 61 6c 2d 61 6c 69 67 6e 3a 74 65 78 74 2d 74 6f 70 3b 7d 73 75 62 7b 76 65 72 74 ertical-align:text-top;}sub{vert
149880 69 63 61 6c 2d 61 6c 69 67 6e 3a 74 65 78 74 2d 62 6f 74 74 6f 6d 3b 7d 69 6e 70 75 74 2c 74 65 ical-align:text-bottom;}input,te
1498a0 78 74 61 72 65 61 2c 73 65 6c 65 63 74 7b 66 6f 6e 74 2d 66 61 6d 69 6c 79 3a 69 6e 68 65 72 69 xtarea,select{font-family:inheri
1498c0 74 3b 66 6f 6e 74 2d 73 69 7a 65 3a 69 6e 68 65 72 69 74 3b 66 6f 6e 74 2d 77 65 69 67 68 74 3a t;font-size:inherit;font-weight:
1498e0 69 6e 68 65 72 69 74 3b 7d 69 6e 70 75 74 2c 74 65 78 74 61 72 65 61 2c 73 65 6c 65 63 74 7b 2a inherit;}input,textarea,select{*
149900 66 6f 6e 74 2d 73 69 7a 65 3a 31 30 30 25 3b 7d 6c 65 67 65 6e 64 7b 63 6f 6c 6f 72 3a 23 30 30 font-size:100%;}legend{color:#00
149920 30 3b 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 74 6d 6c 20 7b 20 62 61 63 6b 67 72 6f 75 0;}..............html.{.backgrou
149940 6e 64 3a 20 23 65 65 65 3b 20 70 61 64 64 69 6e 67 3a 20 31 30 70 78 20 7d 0a 20 20 20 20 20 20 nd:.#eee;.padding:.10px.}.......
149960 20 20 20 20 20 20 69 6d 67 20 7b 20 62 6f 72 64 65 72 3a 20 30 3b 20 7d 0a 20 20 20 20 20 20 20 ......img.{.border:.0;.}........
149980 20 20 20 20 20 23 73 66 2d 72 65 73 65 74 63 6f 6e 74 65 6e 74 20 7b 20 77 69 64 74 68 3a 39 37 .....#sf-resetcontent.{.width:97
1499a0 30 70 78 3b 20 6d 61 72 67 69 6e 3a 30 20 61 75 74 6f 3b 20 7d 0a 20 20 20 20 20 20 20 20 20 20 0px;.margin:0.auto;.}...........
1499c0 20 20 24 63 73 73 0a 20 20 20 20 20 20 20 20 3c 2f 73 74 79 6c 65 3e 0a 20 20 20 20 3c 2f 68 65 ..$css.........</style>.....</he
1499e0 61 64 3e 0a 20 20 20 20 3c 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 24 63 6f 6e 74 65 6e 74 0a ad>.....<body>.........$content.
149a00 20 20 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a 45 4f 46 3b 0a 7d 0a 0a 70 72 69 76 ....</body>.</html>.EOF;.}..priv
149a20 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 6d 61 74 43 6c 61 73 73 28 24 63 6c 61 73 73 29 ate.function.formatClass($class)
149a40 0a 7b 0a 24 70 61 72 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 5c 5c 27 2c 20 24 63 6c 61 73 73 .{.$parts.=.explode('\\',.$class
149a60 29 3b 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 3c 61 62 62 72 20 74 69 74 6c 65 3d );..return.sprintf('<abbr.title=
149a80 22 25 73 22 3e 25 73 3c 2f 61 62 62 72 3e 27 2c 20 24 63 6c 61 73 73 2c 20 61 72 72 61 79 5f 70 "%s">%s</abbr>',.$class,.array_p
149aa0 6f 70 28 24 70 61 72 74 73 29 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e op($parts));.}..private.function
149ac0 20 66 6f 72 6d 61 74 50 61 74 68 28 24 70 61 74 68 2c 20 24 6c 69 6e 65 29 0a 7b 0a 24 70 61 74 .formatPath($path,.$line).{.$pat
149ae0 68 20 3d 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 74 6d 6c 28 24 70 61 74 68 29 3b 0a 24 66 h.=.$this->escapeHtml($path);.$f
149b00 69 6c 65 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5b 5e 2f 5c 5c 5c 5c 5d 2a 24 23 27 2c ile.=.preg_match('#[^/\\\\]*$#',
149b20 20 24 70 61 74 68 2c 20 24 66 69 6c 65 29 20 3f 20 24 66 69 6c 65 5b 30 5d 20 3a 20 24 70 61 74 .$path,.$file).?.$file[0].:.$pat
149b40 68 3b 0a 0a 69 66 20 28 24 6c 69 6e 6b 46 6f 72 6d 61 74 20 3d 20 24 74 68 69 73 2d 3e 66 69 6c h;..if.($linkFormat.=.$this->fil
149b60 65 4c 69 6e 6b 46 6f 72 6d 61 74 29 20 7b 0a 24 6c 69 6e 6b 20 3d 20 73 74 72 74 72 28 24 74 68 eLinkFormat).{.$link.=.strtr($th
149b80 69 73 2d 3e 65 73 63 61 70 65 48 74 6d 6c 28 24 6c 69 6e 6b 46 6f 72 6d 61 74 29 2c 20 61 72 72 is->escapeHtml($linkFormat),.arr
149ba0 61 79 28 27 25 66 27 20 3d 3e 20 24 70 61 74 68 2c 20 27 25 6c 27 20 3d 3e 20 28 69 6e 74 29 20 ay('%f'.=>.$path,.'%l'.=>.(int).
149bc0 24 6c 69 6e 65 29 29 3b 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 20 69 6e 20 3c 61 $line));..return.sprintf('.in.<a
149be0 20 68 72 65 66 3d 22 25 73 22 20 74 69 74 6c 65 3d 22 47 6f 20 74 6f 20 73 6f 75 72 63 65 22 3e .href="%s".title="Go.to.source">
149c00 25 73 20 6c 69 6e 65 20 25 64 3c 2f 61 3e 27 2c 20 24 6c 69 6e 6b 2c 20 24 66 69 6c 65 2c 20 24 %s.line.%d</a>',.$link,.$file,.$
149c20 6c 69 6e 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 70 72 69 6e 74 66 28 27 20 69 6e 20 3c 61 line);.}..return.sprintf('.in.<a
149c40 20 74 69 74 6c 65 3d 22 25 73 20 6c 69 6e 65 20 25 33 24 64 22 20 6f 6e 64 62 6c 63 6c 69 63 6b .title="%s.line.%3$d".ondblclick
149c60 3d 22 76 61 72 20 66 3d 74 68 69 73 2e 69 6e 6e 65 72 48 54 4d 4c 3b 74 68 69 73 2e 69 6e 6e 65 ="var.f=this.innerHTML;this.inne
149c80 72 48 54 4d 4c 3d 74 68 69 73 2e 74 69 74 6c 65 3b 74 68 69 73 2e 74 69 74 6c 65 3d 66 3b 22 3e rHTML=this.title;this.title=f;">
149ca0 25 73 20 6c 69 6e 65 20 25 64 3c 2f 61 3e 27 2c 20 24 70 61 74 68 2c 20 24 66 69 6c 65 2c 20 24 %s.line.%d</a>',.$path,.$file,.$
149cc0 6c 69 6e 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f line);.}.........private.functio
149ce0 6e 20 66 6f 72 6d 61 74 41 72 67 73 28 61 72 72 61 79 20 24 61 72 67 73 29 0a 7b 0a 24 72 65 73 n.formatArgs(array.$args).{.$res
149d00 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 72 67 73 20 61 73 ult.=.array();.foreach.($args.as
149d20 20 24 6b 65 79 20 3d 3e 20 24 69 74 65 6d 29 20 7b 0a 69 66 20 28 27 6f 62 6a 65 63 74 27 20 3d .$key.=>.$item).{.if.('object'.=
149d40 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d ==.$item[0]).{.$formattedValue.=
149d60 20 73 70 72 69 6e 74 66 28 27 3c 65 6d 3e 6f 62 6a 65 63 74 3c 2f 65 6d 3e 28 25 73 29 27 2c 20 .sprintf('<em>object</em>(%s)',.
149d80 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 43 6c 61 73 73 28 24 69 74 65 6d 5b 31 5d 29 29 3b 0a 7d $this->formatClass($item[1]));.}
149da0 20 65 6c 73 65 69 66 20 28 27 61 72 72 61 79 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b .elseif.('array'.===.$item[0]).{
149dc0 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 73 70 72 69 6e 74 66 28 27 3c 65 6d 3e .$formattedValue.=.sprintf('<em>
149de0 61 72 72 61 79 3c 2f 65 6d 3e 28 25 73 29 27 2c 20 5c 69 73 5f 61 72 72 61 79 28 24 69 74 65 6d array</em>(%s)',.\is_array($item
149e00 5b 31 5d 29 20 3f 20 24 74 68 69 73 2d 3e 66 6f 72 6d 61 74 41 72 67 73 28 24 69 74 65 6d 5b 31 [1]).?.$this->formatArgs($item[1
149e20 5d 29 20 3a 20 24 69 74 65 6d 5b 31 5d 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 73 74 72 69 6e ]).:.$item[1]);.}.elseif.('strin
149e40 67 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 6c g'.===.$item[0]).{.$formattedVal
149e60 75 65 20 3d 20 73 70 72 69 6e 74 66 28 22 27 25 73 27 22 2c 20 24 74 68 69 73 2d 3e 65 73 63 61 ue.=.sprintf("'%s'",.$this->esca
149e80 70 65 48 74 6d 6c 28 24 69 74 65 6d 5b 31 5d 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 6e 75 peHtml($item[1]));.}.elseif.('nu
149ea0 6c 6c 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 ll'.===.$item[0]).{.$formattedVa
149ec0 6c 75 65 20 3d 20 27 3c 65 6d 3e 6e 75 6c 6c 3c 2f 65 6d 3e 27 3b 0a 7d 20 65 6c 73 65 69 66 20 lue.=.'<em>null</em>';.}.elseif.
149ee0 28 27 62 6f 6f 6c 65 61 6e 27 20 3d 3d 3d 20 24 69 74 65 6d 5b 30 5d 29 20 7b 0a 24 66 6f 72 6d ('boolean'.===.$item[0]).{.$form
149f00 61 74 74 65 64 56 61 6c 75 65 20 3d 20 27 3c 65 6d 3e 27 2e 73 74 72 74 6f 6c 6f 77 65 72 28 76 attedValue.=.'<em>'.strtolower(v
149f20 61 72 5f 65 78 70 6f 72 74 28 24 69 74 65 6d 5b 31 5d 2c 20 74 72 75 65 29 29 2e 27 3c 2f 65 6d ar_export($item[1],.true)).'</em
149f40 3e 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 72 65 73 6f 75 72 63 65 27 20 3d 3d 3d 20 24 69 74 >';.}.elseif.('resource'.===.$it
149f60 65 6d 5b 30 5d 29 20 7b 0a 24 66 6f 72 6d 61 74 74 65 64 56 61 6c 75 65 20 3d 20 27 3c 65 6d 3e em[0]).{.$formattedValue.=.'<em>
149f80 72 65 73 6f 75 72 63 65 3c 2f 65 6d 3e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 6f 72 6d 61 74 resource</em>';.}.else.{.$format
149fa0 74 65 64 56 61 6c 75 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 27 27 2c tedValue.=.str_replace("\n",.'',
149fc0 20 76 61 72 5f 65 78 70 6f 72 74 28 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 74 6d 6c 28 28 73 .var_export($this->escapeHtml((s
149fe0 74 72 69 6e 67 29 20 24 69 74 65 6d 5b 31 5d 29 2c 20 74 72 75 65 29 29 3b 0a 7d 0a 0a 24 72 65 tring).$item[1]),.true));.}..$re
14a000 73 75 6c 74 5b 5d 20 3d 20 5c 69 73 5f 69 6e 74 28 24 6b 65 79 29 20 3f 20 24 66 6f 72 6d 61 74 sult[].=.\is_int($key).?.$format
14a020 74 65 64 56 61 6c 75 65 20 3a 20 73 70 72 69 6e 74 66 28 22 27 25 73 27 20 3d 3e 20 25 73 22 2c tedValue.:.sprintf("'%s'.=>.%s",
14a040 20 24 74 68 69 73 2d 3e 65 73 63 61 70 65 48 74 6d 6c 28 24 6b 65 79 29 2c 20 24 66 6f 72 6d 61 .$this->escapeHtml($key),.$forma
14a060 74 74 65 64 56 61 6c 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 27 2c ttedValue);.}..return.implode(',
14a080 20 27 2c 20 24 72 65 73 75 6c 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 .',.$result);.}.......protected.
14a0a0 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 74 66 38 48 74 6d 6c 69 7a 65 28 24 73 74 72 static.function.utf8Htmlize($str
14a0c0 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 ).{.@trigger_error('The.'.__METH
14a0e0 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 OD__.'.method.is.deprecated.sinc
14a100 65 20 53 79 6d 66 6f 6e 79 20 32 2e 37 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 e.Symfony.2.7.and.will.be.remove
14a120 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a d.in.3.0.',.E_USER_DEPRECATED);.
14a140 0a 72 65 74 75 72 6e 20 68 74 6d 6c 73 70 65 63 69 61 6c 63 68 61 72 73 28 24 73 74 72 2c 20 45 .return.htmlspecialchars($str,.E
14a160 4e 54 5f 51 55 4f 54 45 53 20 7c 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 NT_QUOTES.|.(\PHP_VERSION_ID.>=.
14a180 35 30 34 30 30 20 3f 20 45 4e 54 5f 53 55 42 53 54 49 54 55 54 45 20 3a 20 30 29 2c 20 27 55 54 50400.?.ENT_SUBSTITUTE.:.0),.'UT
14a1a0 46 2d 38 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 73 F-8');.}.....private.function.es
14a1c0 63 61 70 65 48 74 6d 6c 28 24 73 74 72 29 0a 7b 0a 72 65 74 75 72 6e 20 68 74 6d 6c 73 70 65 63 capeHtml($str).{.return.htmlspec
14a1e0 69 61 6c 63 68 61 72 73 28 24 73 74 72 2c 20 45 4e 54 5f 51 55 4f 54 45 53 20 7c 20 28 5c 50 48 ialchars($str,.ENT_QUOTES.|.(\PH
14a200 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 30 30 20 3f 20 45 4e 54 5f 53 55 42 53 P_VERSION_ID.>=.50400.?.ENT_SUBS
14a220 54 49 54 55 54 45 20 3a 20 30 29 2c 20 24 74 68 69 73 2d 3e 63 68 61 72 73 65 74 29 3b 0a 7d 0a TITUTE.:.0),.$this->charset);.}.
14a240 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 61 74 63 68 4f 75 74 70 75 74 28 ....public.function.catchOutput(
14a260 24 62 75 66 66 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 61 75 67 68 74 42 75 66 66 65 72 20 3d $buffer).{.$this->caughtBuffer.=
14a280 20 24 62 75 66 66 65 72 3b 0a 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c .$buffer;..return.'';.}.....publ
14a2a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 6e 4f 75 74 70 75 74 28 24 62 75 66 66 65 72 29 ic.function.cleanOutput($buffer)
14a2c0 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 61 75 67 68 74 4c 65 6e 67 74 68 29 20 7b 0a 0a 20 .{.if.($this->caughtLength).{...
14a2e0 24 63 6c 65 61 6e 42 75 66 66 65 72 20 3d 20 73 75 62 73 74 72 5f 72 65 70 6c 61 63 65 28 24 62 $cleanBuffer.=.substr_replace($b
14a300 75 66 66 65 72 2c 20 27 27 2c 20 30 2c 20 24 74 68 69 73 2d 3e 63 61 75 67 68 74 4c 65 6e 67 74 uffer,.'',.0,.$this->caughtLengt
14a320 68 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 63 6c 65 61 6e 42 75 66 66 65 72 5b 30 5d 29 29 20 h);.if.(isset($cleanBuffer[0])).
14a340 7b 0a 24 62 75 66 66 65 72 20 3d 20 24 63 6c 65 61 6e 42 75 66 66 65 72 3b 0a 7d 0a 7d 0a 0a 72 {.$buffer.=.$cleanBuffer;.}.}..r
14a360 65 74 75 72 6e 20 24 62 75 66 66 65 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a eturn.$buffer;.}.}.<?php........
14a380 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 ...namespace.Symfony\Component\D
14a3a0 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 75 73 65 20 43 6f 6d ebug\FatalErrorHandler;..use.Com
14a3c0 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 20 61 73 20 43 6f poser\Autoload\ClassLoader.as.Co
14a3e0 6d 70 6f 73 65 72 43 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 mposerClassLoader;.use.Symfony\C
14a400 6f 6d 70 6f 6e 65 6e 74 5c 43 6c 61 73 73 4c 6f 61 64 65 72 5c 43 6c 61 73 73 4c 6f 61 64 65 72 omponent\ClassLoader\ClassLoader
14a420 20 61 73 20 53 79 6d 66 6f 6e 79 43 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 .as.SymfonyClassLoader;.use.Symf
14a440 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 43 6c 61 73 73 4c 6f 61 64 65 72 5c 55 6e 69 76 65 72 ony\Component\ClassLoader\Univer
14a460 73 61 6c 43 6c 61 73 73 4c 6f 61 64 65 72 20 61 73 20 53 79 6d 66 6f 6e 79 55 6e 69 76 65 72 73 salClassLoader.as.SymfonyUnivers
14a480 61 6c 43 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f alClassLoader;.use.Symfony\Compo
14a4a0 6e 65 6e 74 5c 44 65 62 75 67 5c 44 65 62 75 67 43 6c 61 73 73 4c 6f 61 64 65 72 3b 0a 75 73 65 nent\Debug\DebugClassLoader;.use
14a4c0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 .Symfony\Component\Debug\Excepti
14a4e0 6f 6e 5c 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 on\ClassNotFoundException;.use.S
14a500 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e ymfony\Component\Debug\Exception
14a520 5c 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 \FatalErrorException;.......clas
14a540 73 20 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 s.ClassNotFoundFatalErrorHandler
14a560 20 69 6d 70 6c 65 6d 65 6e 74 73 20 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 .implements.FatalErrorHandlerInt
14a580 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 erface.{....public.function.hand
14a5a0 6c 65 45 72 72 6f 72 28 61 72 72 61 79 20 24 65 72 72 6f 72 2c 20 46 61 74 61 6c 45 72 72 6f 72 leError(array.$error,.FatalError
14a5c0 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 24 6d 65 73 73 61 67 65 Exception.$exception).{.$message
14a5e0 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 29 Len.=.\strlen($error['message'])
14a600 3b 0a 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 20 3d 20 27 5c 27 20 6e 6f 74 20 66 6f 75 6e ;.$notFoundSuffix.=.'\'.not.foun
14a620 64 27 3b 0a 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e d';.$notFoundSuffixLen.=.\strlen
14a640 28 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 29 3b 0a 69 66 20 28 24 6e 6f 74 46 6f 75 6e 64 ($notFoundSuffix);.if.($notFound
14a660 53 75 66 66 69 78 4c 65 6e 20 3e 20 24 6d 65 73 73 61 67 65 4c 65 6e 29 20 7b 0a 72 65 74 75 72 SuffixLen.>.$messageLen).{.retur
14a680 6e 3b 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 73 75 62 73 74 72 5f 63 6f 6d 70 61 72 65 28 24 n;.}..if.(0.!==.substr_compare($
14a6a0 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 error['message'],.$notFoundSuffi
14a6c0 78 2c 20 2d 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 29 29 20 7b 0a 72 65 74 75 72 x,.-$notFoundSuffixLen)).{.retur
14a6e0 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 61 72 72 61 79 28 27 63 6c 61 73 73 27 2c 20 27 69 n;.}..foreach.(array('class',.'i
14a700 6e 74 65 72 66 61 63 65 27 2c 20 27 74 72 61 69 74 27 29 20 61 73 20 24 74 79 70 65 4e 61 6d 65 nterface',.'trait').as.$typeName
14a720 29 20 7b 0a 24 70 72 65 66 69 78 20 3d 20 75 63 66 69 72 73 74 28 24 74 79 70 65 4e 61 6d 65 29 ).{.$prefix.=.ucfirst($typeName)
14a740 2e 27 20 5c 27 27 3b 0a 24 70 72 65 66 69 78 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 70 72 .'.\'';.$prefixLen.=.\strlen($pr
14a760 65 66 69 78 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 72 72 6f 72 5b 27 efix);.if.(0.!==.strpos($error['
14a780 6d 65 73 73 61 67 65 27 5d 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b message'],.$prefix)).{.continue;
14a7a0 0a 7d 0a 0a 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 43 6c 61 73 73 4e 61 6d 65 20 3d 20 73 .}..$fullyQualifiedClassName.=.s
14a7c0 75 62 73 74 72 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 70 72 65 66 69 78 ubstr($error['message'],.$prefix
14a7e0 4c 65 6e 2c 20 2d 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 29 3b 0a 69 66 20 28 66 Len,.-$notFoundSuffixLen);.if.(f
14a800 61 6c 73 65 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 alse.!==.$namespaceSeparatorInde
14a820 78 20 3d 20 73 74 72 72 70 6f 73 28 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 43 6c 61 73 73 x.=.strrpos($fullyQualifiedClass
14a840 4e 61 6d 65 2c 20 27 5c 5c 27 29 29 20 7b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 73 75 62 73 Name,.'\\')).{.$className.=.subs
14a860 74 72 28 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 43 6c 61 73 73 4e 61 6d 65 2c 20 24 6e 61 tr($fullyQualifiedClassName,.$na
14a880 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 78 20 2b 20 31 29 3b 0a 24 6e 61 6d mespaceSeparatorIndex.+.1);.$nam
14a8a0 65 73 70 61 63 65 50 72 65 66 69 78 20 3d 20 73 75 62 73 74 72 28 24 66 75 6c 6c 79 51 75 61 6c espacePrefix.=.substr($fullyQual
14a8c0 69 66 69 65 64 43 6c 61 73 73 4e 61 6d 65 2c 20 30 2c 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 ifiedClassName,.0,.$namespaceSep
14a8e0 61 72 61 74 6f 72 49 6e 64 65 78 29 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 aratorIndex);.$message.=.sprintf
14a900 28 27 41 74 74 65 6d 70 74 65 64 20 74 6f 20 6c 6f 61 64 20 25 73 20 22 25 73 22 20 66 72 6f 6d ('Attempted.to.load.%s."%s".from
14a920 20 6e 61 6d 65 73 70 61 63 65 20 22 25 73 22 2e 27 2c 20 24 74 79 70 65 4e 61 6d 65 2c 20 24 63 .namespace."%s".',.$typeName,.$c
14a940 6c 61 73 73 4e 61 6d 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 50 72 65 66 69 78 29 3b 0a 24 74 61 lassName,.$namespacePrefix);.$ta
14a960 69 6c 20 3d 20 27 20 66 6f 72 20 61 6e 6f 74 68 65 72 20 6e 61 6d 65 73 70 61 63 65 3f 27 3b 0a il.=.'.for.another.namespace?';.
14a980 7d 20 65 6c 73 65 20 7b 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 24 66 75 6c 6c 79 51 75 61 6c }.else.{.$className.=.$fullyQual
14a9a0 69 66 69 65 64 43 6c 61 73 73 4e 61 6d 65 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e ifiedClassName;.$message.=.sprin
14a9c0 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 74 6f 20 6c 6f 61 64 20 25 73 20 22 25 73 22 20 66 72 tf('Attempted.to.load.%s."%s".fr
14a9e0 6f 6d 20 74 68 65 20 67 6c 6f 62 61 6c 20 6e 61 6d 65 73 70 61 63 65 2e 27 2c 20 24 74 79 70 65 om.the.global.namespace.',.$type
14aa00 4e 61 6d 65 2c 20 24 63 6c 61 73 73 4e 61 6d 65 29 3b 0a 24 74 61 69 6c 20 3d 20 27 3f 27 3b 0a Name,.$className);.$tail.=.'?';.
14aa20 7d 0a 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 }..if.($candidates.=.$this->getC
14aa40 6c 61 73 73 43 61 6e 64 69 64 61 74 65 73 28 24 63 6c 61 73 73 4e 61 6d 65 29 29 20 7b 0a 24 74 lassCandidates($className)).{.$t
14aa60 61 69 6c 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 63 61 6e 64 69 64 61 74 65 73 29 2e 27 22 3f ail.=.array_pop($candidates).'"?
14aa80 27 3b 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a 24 74 61 69 6c 20 3d 20 27 20 ';.if.($candidates).{.$tail.=.'.
14aaa0 66 6f 72 20 65 2e 67 2e 20 22 27 2e 69 6d 70 6c 6f 64 65 28 27 22 2c 20 22 27 2c 20 24 63 61 6e for.e.g.."'.implode('",."',.$can
14aac0 64 69 64 61 74 65 73 29 2e 27 22 20 6f 72 20 22 27 2e 24 74 61 69 6c 3b 0a 7d 20 65 6c 73 65 20 didates).'".or."'.$tail;.}.else.
14aae0 7b 0a 24 74 61 69 6c 20 3d 20 27 20 66 6f 72 20 22 27 2e 24 74 61 69 6c 3b 0a 7d 0a 7d 0a 24 6d {.$tail.=.'.for."'.$tail;.}.}.$m
14ab00 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 44 69 64 20 79 6f 75 20 66 6f 72 67 65 74 20 61 20 5c 22 essage..=."\nDid.you.forget.a.\"
14ab20 75 73 65 5c 22 20 73 74 61 74 65 6d 65 6e 74 22 2e 24 74 61 69 6c 3b 0a 0a 72 65 74 75 72 6e 20 use\".statement".$tail;..return.
14ab40 6e 65 77 20 43 6c 61 73 73 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 new.ClassNotFoundException($mess
14ab60 61 67 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a age,.$exception);.}.}...........
14ab80 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6c 61 73 73 43 61 6e 64 69 64 .private.function.getClassCandid
14aba0 61 74 65 73 28 24 63 6c 61 73 73 29 0a 7b 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 66 ates($class).{.if.(!\is_array($f
14abc0 75 6e 63 74 69 6f 6e 73 20 3d 20 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 66 75 6e 63 74 69 6f 6e unctions.=.spl_autoload_function
14abe0 73 28 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 20 24 63 6c s())).{.return.array();.}....$cl
14ac00 61 73 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 asses.=.array();..foreach.($func
14ac20 74 69 6f 6e 73 20 61 73 20 24 66 75 6e 63 74 69 6f 6e 29 20 7b 0a 69 66 20 28 21 5c 69 73 5f 61 tions.as.$function).{.if.(!\is_a
14ac40 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a rray($function)).{.continue;.}..
14ac60 20 69 66 20 28 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 44 65 62 .if.($function[0].instanceof.Deb
14ac80 75 67 43 6c 61 73 73 4c 6f 61 64 65 72 29 20 7b 0a 24 66 75 6e 63 74 69 6f 6e 20 3d 20 24 66 75 ugClassLoader).{.$function.=.$fu
14aca0 6e 63 74 69 6f 6e 5b 30 5d 2d 3e 67 65 74 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 3b 0a 0a 0a 20 nction[0]->getClassLoader();....
14acc0 69 66 20 28 5c 69 73 5f 6f 62 6a 65 63 74 28 24 66 75 6e 63 74 69 6f 6e 29 29 20 7b 0a 24 66 75 if.(\is_object($function)).{.$fu
14ace0 6e 63 74 69 6f 6e 20 3d 20 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 29 3b 0a 7d 0a 0a 69 66 nction.=.array($function);.}..if
14ad00 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 66 75 6e 63 74 69 6f 6e 29 29 20 7b 0a 63 6f 6e 74 69 .(!\is_array($function)).{.conti
14ad20 6e 75 65 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 nue;.}.}..if.($function[0].insta
14ad40 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 65 72 43 6c 61 73 73 4c 6f 61 64 65 72 20 7c 7c 20 24 66 75 nceof.ComposerClassLoader.||.$fu
14ad60 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 53 79 6d 66 6f 6e 79 43 6c 61 73 nction[0].instanceof.SymfonyClas
14ad80 73 4c 6f 61 64 65 72 20 7c 7c 20 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 20 69 6e 73 74 61 6e 63 65 sLoader.||.$function[0].instance
14ada0 6f 66 20 53 79 6d 66 6f 6e 79 55 6e 69 76 65 72 73 61 6c 43 6c 61 73 73 4c 6f 61 64 65 72 29 20 of.SymfonyUniversalClassLoader).
14adc0 7b 0a 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 2d 3e 67 65 74 50 72 65 66 {.foreach.($function[0]->getPref
14ade0 69 78 65 73 28 29 20 61 73 20 24 70 72 65 66 69 78 20 3d 3e 20 24 70 61 74 68 73 29 20 7b 0a 66 ixes().as.$prefix.=>.$paths).{.f
14ae00 6f 72 65 61 63 68 20 28 24 70 61 74 68 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 63 6c 61 73 oreach.($paths.as.$path).{.$clas
14ae20 73 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 63 6c 61 73 73 65 73 2c 20 24 74 68 69 ses.=.array_merge($classes,.$thi
14ae40 73 2d 3e 66 69 6e 64 43 6c 61 73 73 49 6e 50 61 74 68 28 24 70 61 74 68 2c 20 24 63 6c 61 73 73 s->findClassInPath($path,.$class
14ae60 2c 20 24 70 72 65 66 69 78 29 29 3b 0a 7d 0a 7d 0a 7d 0a 69 66 20 28 24 66 75 6e 63 74 69 6f 6e ,.$prefix));.}.}.}.if.($function
14ae80 5b 30 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 70 6f 73 65 72 43 6c 61 73 73 4c 6f 61 64 [0].instanceof.ComposerClassLoad
14aea0 65 72 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 66 75 6e 63 74 69 6f 6e 5b 30 5d 2d 3e 67 65 74 er).{.foreach.($function[0]->get
14aec0 50 72 65 66 69 78 65 73 50 73 72 34 28 29 20 61 73 20 24 70 72 65 66 69 78 20 3d 3e 20 24 70 61 PrefixesPsr4().as.$prefix.=>.$pa
14aee0 74 68 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 68 73 20 61 73 20 24 70 61 74 68 29 ths).{.foreach.($paths.as.$path)
14af00 20 7b 0a 24 63 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 63 6c 61 73 73 .{.$classes.=.array_merge($class
14af20 65 73 2c 20 24 74 68 69 73 2d 3e 66 69 6e 64 43 6c 61 73 73 49 6e 50 61 74 68 28 24 70 61 74 68 es,.$this->findClassInPath($path
14af40 2c 20 24 63 6c 61 73 73 2c 20 24 70 72 65 66 69 78 29 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 72 65 ,.$class,.$prefix));.}.}.}.}..re
14af60 74 75 72 6e 20 61 72 72 61 79 5f 75 6e 69 71 75 65 28 24 63 6c 61 73 73 65 73 29 3b 0a 7d 0a 0a turn.array_unique($classes);.}..
14af80 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 43 6c 61 73 .......private.function.findClas
14afa0 73 49 6e 50 61 74 68 28 24 70 61 74 68 2c 20 24 63 6c 61 73 73 2c 20 24 70 72 65 66 69 78 29 0a sInPath($path,.$class,.$prefix).
14afc0 7b 0a 69 66 20 28 21 24 70 61 74 68 20 3d 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 2e 27 2f {.if.(!$path.=.realpath($path.'/
14afe0 27 2e 73 74 72 74 72 28 24 70 72 65 66 69 78 2c 20 27 5c 5c 5f 27 2c 20 27 2f 2f 27 29 29 20 3f '.strtr($prefix,.'\\_',.'//')).?
14b000 3a 20 72 65 61 6c 70 61 74 68 28 24 70 61 74 68 2e 27 2f 27 2e 5c 64 69 72 6e 61 6d 65 28 73 74 :.realpath($path.'/'.\dirname(st
14b020 72 74 72 28 24 70 72 65 66 69 78 2c 20 27 5c 5c 5f 27 2c 20 27 2f 2f 27 29 29 29 20 3f 3a 20 72 rtr($prefix,.'\\_',.'//'))).?:.r
14b040 65 61 6c 70 61 74 68 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 ealpath($path)).{.return.array()
14b060 3b 0a 7d 0a 0a 24 63 6c 61 73 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 66 69 6c 65 6e 61 ;.}..$classes.=.array();.$filena
14b080 6d 65 20 3d 20 24 63 6c 61 73 73 2e 27 2e 70 68 70 27 3b 0a 66 6f 72 65 61 63 68 20 28 6e 65 77 me.=.$class.'.php';.foreach.(new
14b0a0 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 6e 65 77 20 .\RecursiveIteratorIterator(new.
14b0c0 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 70 61 74 \RecursiveDirectoryIterator($pat
14b0e0 68 2c 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a h,.\RecursiveDirectoryIterator::
14b100 53 4b 49 50 5f 44 4f 54 53 29 2c 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 SKIP_DOTS),.\RecursiveIteratorIt
14b120 65 72 61 74 6f 72 3a 3a 4c 45 41 56 45 53 5f 4f 4e 4c 59 29 20 61 73 20 24 66 69 6c 65 29 20 7b erator::LEAVES_ONLY).as.$file).{
14b140 0a 69 66 20 28 24 66 69 6c 65 6e 61 6d 65 20 3d 3d 20 24 66 69 6c 65 2d 3e 67 65 74 46 69 6c 65 .if.($filename.==.$file->getFile
14b160 4e 61 6d 65 28 29 20 26 26 20 24 63 6c 61 73 73 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 76 65 72 Name().&&.$class.=.$this->conver
14b180 74 46 69 6c 65 54 6f 43 6c 61 73 73 28 24 70 61 74 68 2c 20 24 66 69 6c 65 2d 3e 67 65 74 50 61 tFileToClass($path,.$file->getPa
14b1a0 74 68 4e 61 6d 65 28 29 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 24 63 6c 61 73 73 65 73 5b 5d thName(),.$prefix)).{.$classes[]
14b1c0 20 3d 20 24 63 6c 61 73 73 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6c 61 73 73 65 73 3b .=.$class;.}.}..return.$classes;
14b1e0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 .}.........private.function.conv
14b200 65 72 74 46 69 6c 65 54 6f 43 6c 61 73 73 28 24 70 61 74 68 2c 20 24 66 69 6c 65 2c 20 24 70 72 ertFileToClass($path,.$file,.$pr
14b220 65 66 69 78 29 0a 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 0a 0a 20 24 efix).{.$candidates.=.array(...$
14b240 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 namespacedClass.=.str_replace(ar
14b260 72 61 79 28 24 70 61 74 68 2e 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2c 20 ray($path.\DIRECTORY_SEPARATOR,.
14b280 27 2e 70 68 70 27 2c 20 27 2f 27 29 2c 20 61 72 72 61 79 28 27 27 2c 20 27 27 2c 20 27 5c 5c 27 '.php',.'/'),.array('',.'',.'\\'
14b2a0 29 2c 20 24 66 69 6c 65 29 2c 0a 0a 20 24 70 72 65 66 69 78 2e 24 6e 61 6d 65 73 70 61 63 65 64 ),.$file),...$prefix.$namespaced
14b2c0 43 6c 61 73 73 2c 0a 0a 20 24 70 72 65 66 69 78 2e 27 5c 5c 27 2e 24 6e 61 6d 65 73 70 61 63 65 Class,...$prefix.'\\'.$namespace
14b2e0 64 43 6c 61 73 73 2c 0a 0a 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 5f 27 2c dClass,...str_replace('\\',.'_',
14b300 20 24 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 73 29 2c 0a 0a 20 73 74 72 5f 72 65 70 6c 61 63 .$namespacedClass),...str_replac
14b320 65 28 27 5c 5c 27 2c 20 27 5f 27 2c 20 24 70 72 65 66 69 78 2e 24 6e 61 6d 65 73 70 61 63 65 64 e('\\',.'_',.$prefix.$namespaced
14b340 43 6c 61 73 73 29 2c 0a 0a 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 5f 27 2c Class),...str_replace('\\',.'_',
14b360 20 24 70 72 65 66 69 78 2e 27 5c 5c 27 2e 24 6e 61 6d 65 73 70 61 63 65 64 43 6c 61 73 73 29 2c .$prefix.'\\'.$namespacedClass),
14b380 0a 29 3b 0a 0a 69 66 20 28 24 70 72 65 66 69 78 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 .);..if.($prefix).{.$candidates.
14b3a0 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 63 61 6e 64 69 64 61 74 65 73 2c 20 66 75 6e 63 =.array_filter($candidates,.func
14b3c0 74 69 6f 6e 20 28 24 63 61 6e 64 69 64 61 74 65 29 20 75 73 65 20 28 24 70 72 65 66 69 78 29 20 tion.($candidate).use.($prefix).
14b3e0 7b 20 72 65 74 75 72 6e 20 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 63 61 6e 64 69 64 61 74 65 {.return.0.===.strpos($candidate
14b400 2c 20 24 70 72 65 66 69 78 29 3b 20 7d 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 66 6f 72 65 61 63 68 ,.$prefix);.});.}........foreach
14b420 20 28 24 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 .($candidates.as.$candidate).{.i
14b440 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 45 78 69 73 74 73 28 24 63 61 6e 64 69 64 61 74 65 f.($this->classExists($candidate
14b460 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 7d 0a 7d 0a 0a 72 65 71 )).{.return.$candidate;.}.}..req
14b480 75 69 72 65 5f 6f 6e 63 65 20 24 66 69 6c 65 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 61 6e 64 uire_once.$file;..foreach.($cand
14b4a0 69 64 61 74 65 73 20 61 73 20 24 63 61 6e 64 69 64 61 74 65 29 20 7b 0a 69 66 20 28 24 74 68 69 idates.as.$candidate).{.if.($thi
14b4c0 73 2d 3e 63 6c 61 73 73 45 78 69 73 74 73 28 24 63 61 6e 64 69 64 61 74 65 29 29 20 7b 0a 72 65 s->classExists($candidate)).{.re
14b4e0 74 75 72 6e 20 24 63 61 6e 64 69 64 61 74 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 turn.$candidate;.}.}.}.......pri
14b500 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 6c 61 73 73 45 78 69 73 74 73 28 24 63 6c 61 73 73 vate.function.classExists($class
14b520 29 0a 7b 0a 72 65 74 75 72 6e 20 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 2c 20 ).{.return.class_exists($class,.
14b540 66 61 6c 73 65 29 20 7c 7c 20 69 6e 74 65 72 66 61 63 65 5f 65 78 69 73 74 73 28 24 63 6c 61 73 false).||.interface_exists($clas
14b560 73 2c 20 66 61 6c 73 65 29 20 7c 7c 20 28 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 s,.false).||.(\function_exists('
14b580 74 72 61 69 74 5f 65 78 69 73 74 73 27 29 20 26 26 20 74 72 61 69 74 5f 65 78 69 73 74 73 28 24 trait_exists').&&.trait_exists($
14b5a0 63 6c 61 73 73 2c 20 66 61 6c 73 65 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a class,.false));.}.}.<?php.......
14b5c0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
14b5e0 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 75 73 65 20 53 79 Debug\FatalErrorHandler;..use.Sy
14b600 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c mfony\Component\Debug\Exception\
14b620 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 FatalErrorException;.......inter
14b640 66 61 63 65 20 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 63 65 0a face.FatalErrorHandlerInterface.
14b660 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 {.........public.function.handle
14b680 45 72 72 6f 72 28 61 72 72 61 79 20 24 65 72 72 6f 72 2c 20 46 61 74 61 6c 45 72 72 6f 72 45 78 Error(array.$error,.FatalErrorEx
14b6a0 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a ception.$exception);.}.<?php....
14b6c0 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
14b6e0 6e 74 5c 44 65 62 75 67 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 75 73 65 nt\Debug\FatalErrorHandler;..use
14b700 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 .Symfony\Component\Debug\Excepti
14b720 6f 6e 5c 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 on\FatalErrorException;.use.Symf
14b740 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 55 6e ony\Component\Debug\Exception\Un
14b760 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a definedFunctionException;.......
14b780 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 46 61 74 61 6c 45 72 72 6f class.UndefinedFunctionFatalErro
14b7a0 72 48 61 6e 64 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 46 61 74 61 6c 45 72 72 6f 72 48 61 rHandler.implements.FatalErrorHa
14b7c0 6e 64 6c 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ndlerInterface.{....public.funct
14b7e0 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 61 72 72 61 79 20 24 65 72 72 6f 72 2c 20 46 61 ion.handleError(array.$error,.Fa
14b800 74 61 6c 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a talErrorException.$exception).{.
14b820 24 6d 65 73 73 61 67 65 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 65 72 72 6f 72 5b 27 6d 65 $messageLen.=.\strlen($error['me
14b840 73 73 61 67 65 27 5d 29 3b 0a 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 20 3d 20 27 28 29 27 ssage']);.$notFoundSuffix.=.'()'
14b860 3b 0a 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 ;.$notFoundSuffixLen.=.\strlen($
14b880 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 29 3b 0a 69 66 20 28 24 6e 6f 74 46 6f 75 6e 64 53 75 notFoundSuffix);.if.($notFoundSu
14b8a0 66 66 69 78 4c 65 6e 20 3e 20 24 6d 65 73 73 61 67 65 4c 65 6e 29 20 7b 0a 72 65 74 75 72 6e 3b ffixLen.>.$messageLen).{.return;
14b8c0 0a 7d 0a 0a 69 66 20 28 30 20 21 3d 3d 20 73 75 62 73 74 72 5f 63 6f 6d 70 61 72 65 28 24 65 72 .}..if.(0.!==.substr_compare($er
14b8e0 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 2c ror['message'],.$notFoundSuffix,
14b900 20 2d 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 29 29 20 7b 0a 72 65 74 75 72 6e 3b .-$notFoundSuffixLen)).{.return;
14b920 0a 7d 0a 0a 24 70 72 65 66 69 78 20 3d 20 27 43 61 6c 6c 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 .}..$prefix.=.'Call.to.undefined
14b940 20 66 75 6e 63 74 69 6f 6e 20 27 3b 0a 24 70 72 65 66 69 78 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 .function.';.$prefixLen.=.\strle
14b960 6e 28 24 70 72 65 66 69 78 29 3b 0a 69 66 20 28 30 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 65 72 n($prefix);.if.(0.!==.strpos($er
14b980 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 72 65 74 75 ror['message'],.$prefix)).{.retu
14b9a0 72 6e 3b 0a 7d 0a 0a 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 46 75 6e 63 74 69 6f 6e 4e 61 rn;.}..$fullyQualifiedFunctionNa
14b9c0 6d 65 20 3d 20 73 75 62 73 74 72 28 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c 20 24 me.=.substr($error['message'],.$
14b9e0 70 72 65 66 69 78 4c 65 6e 2c 20 2d 24 6e 6f 74 46 6f 75 6e 64 53 75 66 66 69 78 4c 65 6e 29 3b prefixLen,.-$notFoundSuffixLen);
14ba00 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 .if.(false.!==.$namespaceSeparat
14ba20 6f 72 49 6e 64 65 78 20 3d 20 73 74 72 72 70 6f 73 28 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 orIndex.=.strrpos($fullyQualifie
14ba40 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 2c 20 27 5c 5c 27 29 29 20 7b 0a 24 66 75 6e 63 74 69 6f dFunctionName,.'\\')).{.$functio
14ba60 6e 4e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 46 75 nName.=.substr($fullyQualifiedFu
14ba80 6e 63 74 69 6f 6e 4e 61 6d 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 nctionName,.$namespaceSeparatorI
14baa0 6e 64 65 78 20 2b 20 31 29 3b 0a 24 6e 61 6d 65 73 70 61 63 65 50 72 65 66 69 78 20 3d 20 73 75 ndex.+.1);.$namespacePrefix.=.su
14bac0 62 73 74 72 28 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 bstr($fullyQualifiedFunctionName
14bae0 2c 20 30 2c 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 65 78 29 3b 0a ,.0,.$namespaceSeparatorIndex);.
14bb00 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 74 6f $message.=.sprintf('Attempted.to
14bb20 20 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 22 25 73 22 20 66 72 6f 6d 20 6e 61 6d 65 73 70 61 .call.function."%s".from.namespa
14bb40 63 65 20 22 25 73 22 2e 27 2c 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 2c 20 24 6e 61 6d 65 73 ce."%s".',.$functionName,.$names
14bb60 70 61 63 65 50 72 65 66 69 78 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 75 6e 63 74 69 6f 6e 4e pacePrefix);.}.else.{.$functionN
14bb80 61 6d 65 20 3d 20 24 66 75 6c 6c 79 51 75 61 6c 69 66 69 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d ame.=.$fullyQualifiedFunctionNam
14bba0 65 3b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 e;.$message.=.sprintf('Attempted
14bbc0 20 74 6f 20 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 22 25 73 22 20 66 72 6f 6d 20 74 68 65 20 .to.call.function."%s".from.the.
14bbe0 67 6c 6f 62 61 6c 20 6e 61 6d 65 73 70 61 63 65 2e 27 2c 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d global.namespace.',.$functionNam
14bc00 65 29 3b 0a 7d 0a 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f e);.}..$candidates.=.array();.fo
14bc20 72 65 61 63 68 20 28 67 65 74 5f 64 65 66 69 6e 65 64 5f 66 75 6e 63 74 69 6f 6e 73 28 29 20 61 reach.(get_defined_functions().a
14bc40 73 20 24 74 79 70 65 20 3d 3e 20 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 73 s.$type.=>.$definedFunctionNames
14bc60 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d ).{.foreach.($definedFunctionNam
14bc80 65 73 20 61 73 20 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 20 7b 0a 69 66 es.as.$definedFunctionName).{.if
14bca0 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 .(false.!==.$namespaceSeparatorI
14bcc0 6e 64 65 78 20 3d 20 73 74 72 72 70 6f 73 28 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e ndex.=.strrpos($definedFunctionN
14bce0 61 6d 65 2c 20 27 5c 5c 27 29 29 20 7b 0a 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 ame,.'\\')).{.$definedFunctionNa
14bd00 6d 65 42 61 73 65 6e 61 6d 65 20 3d 20 73 75 62 73 74 72 28 24 64 65 66 69 6e 65 64 46 75 6e 63 meBasename.=.substr($definedFunc
14bd20 74 69 6f 6e 4e 61 6d 65 2c 20 24 6e 61 6d 65 73 70 61 63 65 53 65 70 61 72 61 74 6f 72 49 6e 64 tionName,.$namespaceSeparatorInd
14bd40 65 78 20 2b 20 31 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 ex.+.1);.}.else.{.$definedFuncti
14bd60 6f 6e 4e 61 6d 65 42 61 73 65 6e 61 6d 65 20 3d 20 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f onNameBasename.=.$definedFunctio
14bd80 6e 4e 61 6d 65 3b 0a 7d 0a 0a 69 66 20 28 24 64 65 66 69 6e 65 64 46 75 6e 63 74 69 6f 6e 4e 61 nName;.}..if.($definedFunctionNa
14bda0 6d 65 42 61 73 65 6e 61 6d 65 20 3d 3d 3d 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 20 7b 0a meBasename.===.$functionName).{.
14bdc0 24 63 61 6e 64 69 64 61 74 65 73 5b 5d 20 3d 20 27 5c 5c 27 2e 24 64 65 66 69 6e 65 64 46 75 6e $candidates[].=.'\\'.$definedFun
14bde0 63 74 69 6f 6e 4e 61 6d 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 ctionName;.}.}.}..if.($candidate
14be00 73 29 20 7b 0a 73 6f 72 74 28 24 63 61 6e 64 69 64 61 74 65 73 29 3b 0a 24 6c 61 73 74 20 3d 20 s).{.sort($candidates);.$last.=.
14be20 61 72 72 61 79 5f 70 6f 70 28 24 63 61 6e 64 69 64 61 74 65 73 29 2e 27 22 3f 27 3b 0a 69 66 20 array_pop($candidates).'"?';.if.
14be40 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 27 65 ($candidates).{.$candidates.=.'e
14be60 2e 67 2e 20 22 27 2e 69 6d 70 6c 6f 64 65 28 27 22 2c 20 22 27 2c 20 24 63 61 6e 64 69 64 61 74 .g.."'.implode('",."',.$candidat
14be80 65 73 29 2e 27 22 20 6f 72 20 22 27 2e 24 6c 61 73 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 61 es).'".or."'.$last;.}.else.{.$ca
14bea0 6e 64 69 64 61 74 65 73 20 3d 20 27 22 27 2e 24 6c 61 73 74 3b 0a 7d 0a 24 6d 65 73 73 61 67 65 ndidates.=.'"'.$last;.}.$message
14bec0 20 2e 3d 20 22 5c 6e 44 69 64 20 79 6f 75 20 6d 65 61 6e 20 74 6f 20 63 61 6c 6c 20 22 2e 24 63 ..=."\nDid.you.mean.to.call.".$c
14bee0 61 6e 64 69 64 61 74 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 55 6e 64 65 66 69 6e andidates;.}..return.new.Undefin
14bf00 65 64 46 75 6e 63 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 65 edFunctionException($message,.$e
14bf20 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e xception);.}.}.<?php...........n
14bf40 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 amespace.Symfony\Component\Debug
14bf60 5c 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 \FatalErrorHandler;..use.Symfony
14bf80 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 46 61 74 61 6c \Component\Debug\Exception\Fatal
14bfa0 45 72 72 6f 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ErrorException;.use.Symfony\Comp
14bfc0 6f 6e 65 6e 74 5c 44 65 62 75 67 5c 45 78 63 65 70 74 69 6f 6e 5c 55 6e 64 65 66 69 6e 65 64 4d onent\Debug\Exception\UndefinedM
14bfe0 65 74 68 6f 64 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 64 65 ethodException;.......class.Unde
14c000 66 69 6e 65 64 4d 65 74 68 6f 64 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 20 69 6d 70 finedMethodFatalErrorHandler.imp
14c020 6c 65 6d 65 6e 74 73 20 46 61 74 61 6c 45 72 72 6f 72 48 61 6e 64 6c 65 72 49 6e 74 65 72 66 61 lements.FatalErrorHandlerInterfa
14c040 63 65 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 ce.{....public.function.handleEr
14c060 72 6f 72 28 61 72 72 61 79 20 24 65 72 72 6f 72 2c 20 46 61 74 61 6c 45 72 72 6f 72 45 78 63 65 ror(array.$error,.FatalErrorExce
14c080 70 74 69 6f 6e 20 24 65 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 ption.$exception).{.preg_match('
14c0a0 2f 5e 43 61 6c 6c 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 74 68 6f 64 20 28 2e 2a 29 3a /^Call.to.undefined.method.(.*):
14c0c0 3a 28 2e 2a 29 5c 28 5c 29 24 2f 27 2c 20 24 65 72 72 6f 72 5b 27 6d 65 73 73 61 67 65 27 5d 2c :(.*)\(\)$/',.$error['message'],
14c0e0 20 24 6d 61 74 63 68 65 73 29 3b 0a 69 66 20 28 21 24 6d 61 74 63 68 65 73 29 20 7b 0a 72 65 74 .$matches);.if.(!$matches).{.ret
14c100 75 72 6e 3b 0a 7d 0a 0a 24 63 6c 61 73 73 4e 61 6d 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d urn;.}..$className.=.$matches[1]
14c120 3b 0a 24 6d 65 74 68 6f 64 4e 61 6d 65 20 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 3b 0a 0a 24 6d ;.$methodName.=.$matches[2];..$m
14c140 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 66 28 27 41 74 74 65 6d 70 74 65 64 20 74 6f 20 63 essage.=.sprintf('Attempted.to.c
14c160 61 6c 6c 20 61 6e 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 74 68 6f 64 20 6e 61 6d 65 64 20 22 25 all.an.undefined.method.named."%
14c180 73 22 20 6f 66 20 63 6c 61 73 73 20 22 25 73 22 2e 27 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 2c s".of.class."%s".',.$methodName,
14c1a0 20 24 63 6c 61 73 73 4e 61 6d 65 29 3b 0a 0a 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 .$className);..if.(!class_exists
14c1c0 28 24 63 6c 61 73 73 4e 61 6d 65 29 20 7c 7c 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 65 74 68 6f 64 ($className).||.null.===.$method
14c1e0 73 20 3d 20 67 65 74 5f 63 6c 61 73 73 5f 6d 65 74 68 6f 64 73 28 24 63 6c 61 73 73 4e 61 6d 65 s.=.get_class_methods($className
14c200 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f )).{...return.new.UndefinedMetho
14c220 64 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 dException($message,.$exception)
14c240 3b 0a 7d 0a 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 ;.}..$candidates.=.array();.fore
14c260 61 63 68 20 28 24 6d 65 74 68 6f 64 73 20 61 73 20 24 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 4e ach.($methods.as.$definedMethodN
14c280 61 6d 65 29 20 7b 0a 24 6c 65 76 20 3d 20 6c 65 76 65 6e 73 68 74 65 69 6e 28 24 6d 65 74 68 6f ame).{.$lev.=.levenshtein($metho
14c2a0 64 4e 61 6d 65 2c 20 24 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 4e 61 6d 65 29 3b 0a 69 66 20 28 dName,.$definedMethodName);.if.(
14c2c0 24 6c 65 76 20 3c 3d 20 5c 73 74 72 6c 65 6e 28 24 6d 65 74 68 6f 64 4e 61 6d 65 29 20 2f 20 33 $lev.<=.\strlen($methodName)./.3
14c2e0 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 64 65 66 69 6e 65 64 4d 65 74 .||.false.!==.strpos($definedMet
14c300 68 6f 64 4e 61 6d 65 2c 20 24 6d 65 74 68 6f 64 4e 61 6d 65 29 29 20 7b 0a 24 63 61 6e 64 69 64 hodName,.$methodName)).{.$candid
14c320 61 74 65 73 5b 5d 20 3d 20 24 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 4e 61 6d 65 3b 0a 7d 0a 7d ates[].=.$definedMethodName;.}.}
14c340 0a 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a 73 6f 72 74 28 24 63 61 6e 64 69 ..if.($candidates).{.sort($candi
14c360 64 61 74 65 73 29 3b 0a 24 6c 61 73 74 20 3d 20 61 72 72 61 79 5f 70 6f 70 28 24 63 61 6e 64 69 dates);.$last.=.array_pop($candi
14c380 64 61 74 65 73 29 2e 27 22 3f 27 3b 0a 69 66 20 28 24 63 61 6e 64 69 64 61 74 65 73 29 20 7b 0a dates).'"?';.if.($candidates).{.
14c3a0 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 27 65 2e 67 2e 20 22 27 2e 69 6d 70 6c 6f 64 65 28 27 $candidates.=.'e.g.."'.implode('
14c3c0 22 2c 20 22 27 2c 20 24 63 61 6e 64 69 64 61 74 65 73 29 2e 27 22 20 6f 72 20 22 27 2e 24 6c 61 ",."',.$candidates).'".or."'.$la
14c3e0 73 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 61 6e 64 69 64 61 74 65 73 20 3d 20 27 22 27 2e 24 st;.}.else.{.$candidates.=.'"'.$
14c400 6c 61 73 74 3b 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 5c 6e 44 69 64 20 79 6f 75 20 last;.}..$message..=."\nDid.you.
14c420 6d 65 61 6e 20 74 6f 20 63 61 6c 6c 20 22 2e 24 63 61 6e 64 69 64 61 74 65 73 3b 0a 7d 0a 0a 72 mean.to.call.".$candidates;.}..r
14c440 65 74 75 72 6e 20 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 4d 65 74 68 6f 64 45 78 63 65 70 74 69 eturn.new.UndefinedMethodExcepti
14c460 6f 6e 28 24 6d 65 73 73 61 67 65 2c 20 24 65 78 63 65 70 74 69 6f 6e 29 3b 0a 7d 0a 7d 0a 43 6f on($message,.$exception);.}.}.Co
14c480 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 34 2d 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 pyright.(c).2004-2018.Fabien.Pot
14c4a0 65 6e 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 encier..Permission.is.hereby.gra
14c4c0 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 nted,.free.of.charge,.to.any.per
14c4e0 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 son.obtaining.a.copy.of.this.sof
14c500 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 tware.and.associated.documentati
14c520 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 on.files.(the."Software"),.to.de
14c540 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 al.in.the.Software.without.restr
14c560 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 iction,.including.without.limita
14c580 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f tion.the.rights.to.use,.copy,.mo
14c5a0 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 dify,.merge,.publish,.distribute
14c5c0 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 ,.sublicense,.and/or.sell.copies
14c5e0 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 .of.the.Software,.and.to.permit.
14c600 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 persons.to.whom.the.Software.is.
14c620 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 furnished.to.do.so,.subject.to.t
14c640 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 he.following.conditions:..The.ab
14c660 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 ove.copyright.notice.and.this.pe
14c680 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 rmission.notice.shall.be.include
14c6a0 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 d.in.all.copies.or.substantial.p
14c6c0 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f ortions.of.the.Software...THE.SO
14c6e0 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 FTWARE.IS.PROVIDED."AS.IS",.WITH
14c700 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 OUT.WARRANTY.OF.ANY.KIND,.EXPRES
14c720 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 S.OR.IMPLIED,.INCLUDING.BUT.NOT.
14c740 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 LIMITED.TO.THE.WARRANTIES.OF.MER
14c760 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 CHANTABILITY,.FITNESS.FOR.A.PART
14c780 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 ICULAR.PURPOSE.AND.NONINFRINGEME
14c7a0 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 NT..IN.NO.EVENT.SHALL.THE.AUTHOR
14c7c0 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 S.OR.COPYRIGHT.HOLDERS.BE.LIABLE
14c7e0 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 .FOR.ANY.CLAIM,.DAMAGES.OR.OTHER
14c800 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e .LIABILITY,.WHETHER.IN.AN.ACTION
14c820 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c .OF.CONTRACT,.TORT.OR.OTHERWISE,
14c840 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e .ARISING.FROM,.OUT.OF.OR.IN.CONN
14c860 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 ECTION.WITH.THE.SOFTWARE.OR.THE.
14c880 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 USE.OR.OTHER.DEALINGS.IN.THE.SOF
14c8a0 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 TWARE..<?php...........namespace
14c8c0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 .Symfony\Component\Filesystem\Ex
14c8e0 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 78 63 65 70 74 69 ception;.......interface.Excepti
14c900 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a onInterface.{.}.<?php...........
14c920 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 namespace.Symfony\Component\File
14c940 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 system\Exception;........class.F
14c960 69 6c 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 49 4f 45 ileNotFoundException.extends.IOE
14c980 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e xception.{.public.function.__con
14c9a0 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 2c 20 24 63 6f 64 65 20 3d 20 struct($message.=.null,.$code.=.
14c9c0 30 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 2c 20 0,.\Exception.$previous.=.null,.
14c9e0 24 70 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6d 65 $path.=.null).{.if.(null.===.$me
14ca00 73 73 61 67 65 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 70 61 74 68 29 20 7b 0a 24 ssage).{.if.(null.===.$path).{.$
14ca20 6d 65 73 73 61 67 65 20 3d 20 27 46 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 message.=.'File.could.not.be.fou
14ca40 6e 64 2e 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 73 70 72 69 6e 74 nd.';.}.else.{.$message.=.sprint
14ca60 66 28 27 46 69 6c 65 20 22 25 73 22 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75 6e 64 2e f('File."%s".could.not.be.found.
14ca80 27 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 ',.$path);.}.}..parent::__constr
14caa0 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 70 72 65 76 69 6f 75 73 2c 20 uct($message,.$code,.$previous,.
14cac0 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 $path);.}.}.<?php...........name
14cae0 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 space.Symfony\Component\Filesyst
14cb00 65 6d 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 4f 45 78 em\Exception;.........class.IOEx
14cb20 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f ception.extends.\RuntimeExceptio
14cb40 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 49 4f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 n.implements.IOExceptionInterfac
14cb60 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 61 74 68 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 e.{.private.$path;..public.funct
14cb80 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 20 ion.__construct($message,.$code.
14cba0 3d 20 30 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c =.0,.\Exception.$previous.=.null
14cbc0 2c 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 68 20 3d 20 ,.$path.=.null).{.$this->path.=.
14cbe0 24 70 61 74 68 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 $path;..parent::__construct($mes
14cc00 73 61 67 65 2c 20 24 63 6f 64 65 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 sage,.$code,.$previous);.}.....p
14cc20 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 ublic.function.getPath().{.retur
14cc40 6e 20 24 74 68 69 73 2d 3e 70 61 74 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a n.$this->path;.}.}.<?php........
14cc60 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 ...namespace.Symfony\Component\F
14cc80 69 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 ilesystem\Exception;.......inter
14cca0 66 61 63 65 20 49 4f 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 65 78 74 65 6e 64 face.IOExceptionInterface.extend
14ccc0 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c s.ExceptionInterface.{......publ
14cce0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 74 68 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a ic.function.getPath();.}.<?php..
14cd00 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
14cd20 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f nent\Filesystem;..use.Symfony\Co
14cd40 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 5c 46 69 6c mponent\Filesystem\Exception\Fil
14cd60 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c eNotFoundException;.use.Symfony\
14cd80 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 78 63 65 70 74 69 6f 6e 5c 49 Component\Filesystem\Exception\I
14cda0 4f 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 73 79 73 74 OException;.......class.Filesyst
14cdc0 65 6d 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6c 61 73 74 45 72 72 6f 72 3b 0a em.{.private.static.$lastError;.
14cde0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 ...............public.function.c
14ce00 6f 70 79 28 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 2c 20 24 6f opy($originFile,.$targetFile,.$o
14ce20 76 65 72 77 72 69 74 65 4e 65 77 65 72 46 69 6c 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6f verwriteNewerFiles.=.false).{.$o
14ce40 72 69 67 69 6e 49 73 4c 6f 63 61 6c 20 3d 20 73 74 72 65 61 6d 5f 69 73 5f 6c 6f 63 61 6c 28 24 riginIsLocal.=.stream_is_local($
14ce60 6f 72 69 67 69 6e 46 69 6c 65 29 20 7c 7c 20 30 20 3d 3d 3d 20 73 74 72 69 70 6f 73 28 24 6f 72 originFile).||.0.===.stripos($or
14ce80 69 67 69 6e 46 69 6c 65 2c 20 27 66 69 6c 65 3a 2f 2f 27 29 3b 0a 69 66 20 28 24 6f 72 69 67 69 iginFile,.'file://');.if.($origi
14cea0 6e 49 73 4c 6f 63 61 6c 20 26 26 20 21 69 73 5f 66 69 6c 65 28 24 6f 72 69 67 69 6e 46 69 6c 65 nIsLocal.&&.!is_file($originFile
14cec0 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 )).{.throw.new.FileNotFoundExcep
14cee0 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6f 70 79 20 22 25 73 tion(sprintf('Failed.to.copy."%s
14cf00 22 20 62 65 63 61 75 73 65 20 66 69 6c 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c ".because.file.does.not.exist.',
14cf20 20 24 6f 72 69 67 69 6e 46 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 6f 72 69 67 69 6e 46 .$originFile),.0,.null,.$originF
14cf40 69 6c 65 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6d 6b 64 69 72 28 5c 64 69 72 6e 61 6d 65 28 24 ile);.}..$this->mkdir(\dirname($
14cf60 74 61 72 67 65 74 46 69 6c 65 29 29 3b 0a 0a 24 64 6f 43 6f 70 79 20 3d 20 74 72 75 65 3b 0a 69 targetFile));..$doCopy.=.true;.i
14cf80 66 20 28 21 24 6f 76 65 72 77 72 69 74 65 4e 65 77 65 72 46 69 6c 65 73 20 26 26 20 6e 75 6c 6c f.(!$overwriteNewerFiles.&&.null
14cfa0 20 3d 3d 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 50 48 50 5f .===.parse_url($originFile,.PHP_
14cfc0 55 52 4c 5f 48 4f 53 54 29 20 26 26 20 69 73 5f 66 69 6c 65 28 24 74 61 72 67 65 74 46 69 6c 65 URL_HOST).&&.is_file($targetFile
14cfe0 29 29 20 7b 0a 24 64 6f 43 6f 70 79 20 3d 20 66 69 6c 65 6d 74 69 6d 65 28 24 6f 72 69 67 69 6e )).{.$doCopy.=.filemtime($origin
14d000 46 69 6c 65 29 20 3e 20 66 69 6c 65 6d 74 69 6d 65 28 24 74 61 72 67 65 74 46 69 6c 65 29 3b 0a File).>.filemtime($targetFile);.
14d020 7d 0a 0a 69 66 20 28 24 64 6f 43 6f 70 79 29 20 7b 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d }..if.($doCopy).{...if.(false.==
14d040 3d 20 24 73 6f 75 72 63 65 20 3d 20 40 66 6f 70 65 6e 28 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 =.$source.=.@fopen($originFile,.
14d060 27 72 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 'r')).{.throw.new.IOException(sp
14d080 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6f 70 79 20 22 25 73 22 20 74 6f 20 22 25 rintf('Failed.to.copy."%s".to."%
14d0a0 73 22 20 62 65 63 61 75 73 65 20 73 6f 75 72 63 65 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 s".because.source.file.could.not
14d0c0 20 62 65 20 6f 70 65 6e 65 64 20 66 6f 72 20 72 65 61 64 69 6e 67 2e 27 2c 20 24 6f 72 69 67 69 .be.opened.for.reading.',.$origi
14d0e0 6e 46 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 6f nFile,.$targetFile),.0,.null,.$o
14d100 72 69 67 69 6e 46 69 6c 65 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 riginFile);.}....if.(false.===.$
14d120 74 61 72 67 65 74 20 3d 20 40 66 6f 70 65 6e 28 24 74 61 72 67 65 74 46 69 6c 65 2c 20 27 77 27 target.=.@fopen($targetFile,.'w'
14d140 2c 20 6e 75 6c 6c 2c 20 73 74 72 65 61 6d 5f 63 6f 6e 74 65 78 74 5f 63 72 65 61 74 65 28 61 72 ,.null,.stream_context_create(ar
14d160 72 61 79 28 27 66 74 70 27 20 3d 3e 20 61 72 72 61 79 28 27 6f 76 65 72 77 72 69 74 65 27 20 3d ray('ftp'.=>.array('overwrite'.=
14d180 3e 20 74 72 75 65 29 29 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 >.true))))).{.throw.new.IOExcept
14d1a0 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6f 70 79 20 22 25 73 22 ion(sprintf('Failed.to.copy."%s"
14d1c0 20 74 6f 20 22 25 73 22 20 62 65 63 61 75 73 65 20 74 61 72 67 65 74 20 66 69 6c 65 20 63 6f 75 .to."%s".because.target.file.cou
14d1e0 6c 64 20 6e 6f 74 20 62 65 20 6f 70 65 6e 65 64 20 66 6f 72 20 77 72 69 74 69 6e 67 2e 27 2c 20 ld.not.be.opened.for.writing.',.
14d200 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 29 2c 20 30 2c 20 6e 75 $originFile,.$targetFile),.0,.nu
14d220 6c 6c 2c 20 24 6f 72 69 67 69 6e 46 69 6c 65 29 3b 0a 7d 0a 0a 24 62 79 74 65 73 43 6f 70 69 65 ll,.$originFile);.}..$bytesCopie
14d240 64 20 3d 20 73 74 72 65 61 6d 5f 63 6f 70 79 5f 74 6f 5f 73 74 72 65 61 6d 28 24 73 6f 75 72 63 d.=.stream_copy_to_stream($sourc
14d260 65 2c 20 24 74 61 72 67 65 74 29 3b 0a 66 63 6c 6f 73 65 28 24 73 6f 75 72 63 65 29 3b 0a 66 63 e,.$target);.fclose($source);.fc
14d280 6c 6f 73 65 28 24 74 61 72 67 65 74 29 3b 0a 75 6e 73 65 74 28 24 73 6f 75 72 63 65 2c 20 24 74 lose($target);.unset($source,.$t
14d2a0 61 72 67 65 74 29 3b 0a 0a 69 66 20 28 21 69 73 5f 66 69 6c 65 28 24 74 61 72 67 65 74 46 69 6c arget);..if.(!is_file($targetFil
14d2c0 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 e)).{.throw.new.IOException(spri
14d2e0 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 6f 70 79 20 22 25 73 22 20 74 6f 20 22 25 73 22 ntf('Failed.to.copy."%s".to."%s"
14d300 2e 27 2c 20 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c 65 29 2c 20 30 .',.$originFile,.$targetFile),.0
14d320 2c 20 6e 75 6c 6c 2c 20 24 6f 72 69 67 69 6e 46 69 6c 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 6f 72 ,.null,.$originFile);.}..if.($or
14d340 69 67 69 6e 49 73 4c 6f 63 61 6c 29 20 7b 0a 0a 20 40 63 68 6d 6f 64 28 24 74 61 72 67 65 74 46 iginIsLocal).{...@chmod($targetF
14d360 69 6c 65 2c 20 66 69 6c 65 70 65 72 6d 73 28 24 74 61 72 67 65 74 46 69 6c 65 29 20 7c 20 28 66 ile,.fileperms($targetFile).|.(f
14d380 69 6c 65 70 65 72 6d 73 28 24 6f 72 69 67 69 6e 46 69 6c 65 29 20 26 20 30 31 31 31 29 29 3b 0a ileperms($originFile).&.0111));.
14d3a0 0a 69 66 20 28 24 62 79 74 65 73 43 6f 70 69 65 64 20 21 3d 3d 20 24 62 79 74 65 73 4f 72 69 67 .if.($bytesCopied.!==.$bytesOrig
14d3c0 69 6e 20 3d 20 66 69 6c 65 73 69 7a 65 28 24 6f 72 69 67 69 6e 46 69 6c 65 29 29 20 7b 0a 74 68 in.=.filesize($originFile)).{.th
14d3e0 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 row.new.IOException(sprintf('Fai
14d400 6c 65 64 20 74 6f 20 63 6f 70 79 20 74 68 65 20 77 68 6f 6c 65 20 63 6f 6e 74 65 6e 74 20 6f 66 led.to.copy.the.whole.content.of
14d420 20 22 25 73 22 20 74 6f 20 22 25 73 22 20 28 25 67 20 6f 66 20 25 67 20 62 79 74 65 73 20 63 6f ."%s".to."%s".(%g.of.%g.bytes.co
14d440 70 69 65 64 29 2e 27 2c 20 24 6f 72 69 67 69 6e 46 69 6c 65 2c 20 24 74 61 72 67 65 74 46 69 6c pied).',.$originFile,.$targetFil
14d460 65 2c 20 24 62 79 74 65 73 43 6f 70 69 65 64 2c 20 24 62 79 74 65 73 4f 72 69 67 69 6e 29 2c 20 e,.$bytesCopied,.$bytesOrigin),.
14d480 30 2c 20 6e 75 6c 6c 2c 20 24 6f 72 69 67 69 6e 46 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0,.null,.$originFile);.}.}.}.}..
14d4a0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 6b 64 69 72 28 24 64 ........public.function.mkdir($d
14d4c0 69 72 73 2c 20 24 6d 6f 64 65 20 3d 20 30 37 37 37 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 irs,.$mode.=.0777).{.foreach.($t
14d4e0 68 69 73 2d 3e 74 6f 49 74 65 72 61 74 6f 72 28 24 64 69 72 73 29 20 61 73 20 24 64 69 72 29 20 his->toIterator($dirs).as.$dir).
14d500 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a {.if.(is_dir($dir)).{.continue;.
14d520 7d 0a 0a 69 66 20 28 21 73 65 6c 66 3a 3a 62 6f 78 28 27 6d 6b 64 69 72 27 2c 20 24 64 69 72 2c }..if.(!self::box('mkdir',.$dir,
14d540 20 24 6d 6f 64 65 2c 20 74 72 75 65 29 29 20 7b 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 .$mode,.true)).{.if.(!is_dir($di
14d560 72 29 29 20 7b 0a 0a 20 69 66 20 28 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 29 20 7b 0a r)).{...if.(self::$lastError).{.
14d580 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 throw.new.IOException(sprintf('F
14d5a0 61 69 6c 65 64 20 74 6f 20 63 72 65 61 74 65 20 22 25 73 22 3a 20 25 73 2e 27 2c 20 24 64 69 72 ailed.to.create."%s":.%s.',.$dir
14d5c0 2c 20 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 64 ,.self::$lastError),.0,.null,.$d
14d5e0 69 72 29 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 ir);.}.throw.new.IOException(spr
14d600 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 72 65 61 74 65 20 22 25 73 22 27 2c 20 24 64 intf('Failed.to.create."%s"',.$d
14d620 69 72 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 64 69 72 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a ir),.0,.null,.$dir);.}.}.}.}....
14d640 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 73 28 24 66 69 6c .....public.function.exists($fil
14d660 65 73 29 0a 7b 0a 24 6d 61 78 50 61 74 68 4c 65 6e 67 74 68 20 3d 20 50 48 50 5f 4d 41 58 50 41 es).{.$maxPathLength.=.PHP_MAXPA
14d680 54 48 4c 45 4e 20 2d 20 32 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 6f 49 74 THLEN.-.2;..foreach.($this->toIt
14d6a0 65 72 61 74 6f 72 28 24 66 69 6c 65 73 29 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 69 66 20 28 5c erator($files).as.$file).{.if.(\
14d6c0 73 74 72 6c 65 6e 28 24 66 69 6c 65 29 20 3e 20 24 6d 61 78 50 61 74 68 4c 65 6e 67 74 68 29 20 strlen($file).>.$maxPathLength).
14d6e0 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 {.throw.new.IOException(sprintf(
14d700 27 43 6f 75 6c 64 20 6e 6f 74 20 63 68 65 63 6b 20 69 66 20 66 69 6c 65 20 65 78 69 73 74 20 62 'Could.not.check.if.file.exist.b
14d720 65 63 61 75 73 65 20 70 61 74 68 20 6c 65 6e 67 74 68 20 65 78 63 65 65 64 73 20 25 64 20 63 68 ecause.path.length.exceeds.%d.ch
14d740 61 72 61 63 74 65 72 73 2e 27 2c 20 24 6d 61 78 50 61 74 68 4c 65 6e 67 74 68 29 2c 20 30 2c 20 aracters.',.$maxPathLength),.0,.
14d760 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 null,.$file);.}..if.(!file_exist
14d780 73 28 24 66 69 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 s($file)).{.return.false;.}.}..r
14d7a0 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 eturn.true;.}...........public.f
14d7c0 75 6e 63 74 69 6f 6e 20 74 6f 75 63 68 28 24 66 69 6c 65 73 2c 20 24 74 69 6d 65 20 3d 20 6e 75 unction.touch($files,.$time.=.nu
14d7e0 6c 6c 2c 20 24 61 74 69 6d 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 ll,.$atime.=.null).{.foreach.($t
14d800 68 69 73 2d 3e 74 6f 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 73 29 20 61 73 20 24 66 69 6c 65 his->toIterator($files).as.$file
14d820 29 20 7b 0a 24 74 6f 75 63 68 20 3d 20 24 74 69 6d 65 20 3f 20 40 74 6f 75 63 68 28 24 66 69 6c ).{.$touch.=.$time.?.@touch($fil
14d840 65 2c 20 24 74 69 6d 65 2c 20 24 61 74 69 6d 65 29 20 3a 20 40 74 6f 75 63 68 28 24 66 69 6c 65 e,.$time,.$atime).:.@touch($file
14d860 29 3b 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 24 74 6f 75 63 68 29 20 7b 0a 74 68 72 6f 77 20 );.if.(true.!==.$touch).{.throw.
14d880 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 new.IOException(sprintf('Failed.
14d8a0 74 6f 20 74 6f 75 63 68 20 22 25 73 22 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c to.touch."%s".',.$file),.0,.null
14d8c0 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ,.$file);.}.}.}.........public.f
14d8e0 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 28 24 66 69 6c 65 73 29 0a 7b 0a 69 66 20 28 24 66 69 unction.remove($files).{.if.($fi
14d900 6c 65 73 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 54 72 61 76 65 72 73 61 62 6c 65 29 20 7b 0a 24 les.instanceof.\Traversable).{.$
14d920 66 69 6c 65 73 20 3d 20 69 74 65 72 61 74 6f 72 5f 74 6f 5f 61 72 72 61 79 28 24 66 69 6c 65 73 files.=.iterator_to_array($files
14d940 2c 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 ,.false);.}.elseif.(!\is_array($
14d960 66 69 6c 65 73 29 29 20 7b 0a 24 66 69 6c 65 73 20 3d 20 61 72 72 61 79 28 24 66 69 6c 65 73 29 files)).{.$files.=.array($files)
14d980 3b 0a 7d 0a 24 66 69 6c 65 73 20 3d 20 61 72 72 61 79 5f 72 65 76 65 72 73 65 28 24 66 69 6c 65 ;.}.$files.=.array_reverse($file
14d9a0 73 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 65 73 20 61 73 20 24 66 69 6c 65 29 20 7b 0a s);.foreach.($files.as.$file).{.
14d9c0 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 29 20 7b 0a 0a 20 69 66 20 28 21 28 73 65 if.(is_link($file)).{...if.(!(se
14d9e0 6c 66 3a 3a 62 6f 78 28 27 75 6e 6c 69 6e 6b 27 2c 20 24 66 69 6c 65 29 20 7c 7c 20 27 5c 5c 27 lf::box('unlink',.$file).||.'\\'
14da00 20 21 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 7c 7c 20 73 65 6c .!==.\DIRECTORY_SEPARATOR.||.sel
14da20 66 3a 3a 62 6f 78 28 27 72 6d 64 69 72 27 2c 20 24 66 69 6c 65 29 29 20 26 26 20 66 69 6c 65 5f f::box('rmdir',.$file)).&&.file_
14da40 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 exists($file)).{.throw.new.IOExc
14da60 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 72 65 6d 6f 76 65 eption(sprintf('Failed.to.remove
14da80 20 73 79 6d 6c 69 6e 6b 20 22 25 73 22 3a 20 25 73 2e 27 2c 20 24 66 69 6c 65 2c 20 73 65 6c 66 .symlink."%s":.%s.',.$file,.self
14daa0 3a 3a 24 6c 61 73 74 45 72 72 6f 72 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 64 ::$lastError));.}.}.elseif.(is_d
14dac0 69 72 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 28 6e 65 77 20 5c ir($file)).{.$this->remove(new.\
14dae0 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 2c 20 5c 46 69 6c 65 73 FilesystemIterator($file,.\Files
14db00 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 43 55 52 52 45 4e 54 5f 41 53 5f 50 41 54 48 4e 41 ystemIterator::CURRENT_AS_PATHNA
14db20 4d 45 20 7c 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 ME.|.\FilesystemIterator::SKIP_D
14db40 4f 54 53 29 29 3b 0a 0a 69 66 20 28 21 73 65 6c 66 3a 3a 62 6f 78 28 27 72 6d 64 69 72 27 2c 20 OTS));..if.(!self::box('rmdir',.
14db60 24 66 69 6c 65 29 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 7b 0a $file).&&.file_exists($file)).{.
14db80 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 throw.new.IOException(sprintf('F
14dba0 61 69 6c 65 64 20 74 6f 20 72 65 6d 6f 76 65 20 64 69 72 65 63 74 6f 72 79 20 22 25 73 22 3a 20 ailed.to.remove.directory."%s":.
14dbc0 25 73 2e 27 2c 20 24 66 69 6c 65 2c 20 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 29 29 3b %s.',.$file,.self::$lastError));
14dbe0 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 21 73 65 6c 66 3a 3a 62 6f 78 28 27 75 6e 6c 69 6e 6b 27 .}.}.elseif.(!self::box('unlink'
14dc00 2c 20 24 66 69 6c 65 29 20 26 26 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 29 29 20 ,.$file).&&.file_exists($file)).
14dc20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 {.throw.new.IOException(sprintf(
14dc40 27 46 61 69 6c 65 64 20 74 6f 20 72 65 6d 6f 76 65 20 66 69 6c 65 20 22 25 73 22 3a 20 25 73 2e 'Failed.to.remove.file."%s":.%s.
14dc60 27 2c 20 24 66 69 6c 65 2c 20 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 29 29 3b 0a 7d 0a ',.$file,.self::$lastError));.}.
14dc80 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 }.}............public.function.c
14dca0 68 6d 6f 64 28 24 66 69 6c 65 73 2c 20 24 6d 6f 64 65 2c 20 24 75 6d 61 73 6b 20 3d 20 30 30 30 hmod($files,.$mode,.$umask.=.000
14dcc0 30 2c 20 24 72 65 63 75 72 73 69 76 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 66 6f 72 65 61 63 68 0,.$recursive.=.false).{.foreach
14dce0 20 28 24 74 68 69 73 2d 3e 74 6f 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 73 29 20 61 73 20 24 .($this->toIterator($files).as.$
14dd00 66 69 6c 65 29 20 7b 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 63 68 6d 6f 64 28 24 66 69 6c file).{.if.(true.!==.@chmod($fil
14dd20 65 2c 20 24 6d 6f 64 65 20 26 20 7e 24 75 6d 61 73 6b 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 e,.$mode.&.~$umask)).{.throw.new
14dd40 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 .IOException(sprintf('Failed.to.
14dd60 63 68 6d 6f 64 20 66 69 6c 65 20 22 25 73 22 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 chmod.file."%s".',.$file),.0,.nu
14dd80 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 69 66 20 28 24 72 65 63 75 72 73 69 76 65 20 26 26 20 ll,.$file);.}.if.($recursive.&&.
14dda0 69 73 5f 64 69 72 28 24 66 69 6c 65 29 20 26 26 20 21 69 73 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 is_dir($file).&&.!is_link($file)
14ddc0 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 6d 6f 64 28 6e 65 77 20 5c 46 69 6c 65 73 79 73 74 65 6d ).{.$this->chmod(new.\Filesystem
14dde0 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 29 2c 20 24 6d 6f 64 65 2c 20 24 75 6d 61 73 6b 2c 20 Iterator($file),.$mode,.$umask,.
14de00 74 72 75 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 true);.}.}.}...........public.fu
14de20 6e 63 74 69 6f 6e 20 63 68 6f 77 6e 28 24 66 69 6c 65 73 2c 20 24 75 73 65 72 2c 20 24 72 65 63 nction.chown($files,.$user,.$rec
14de40 75 72 73 69 76 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 ursive.=.false).{.foreach.($this
14de60 2d 3e 74 6f 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 73 29 20 61 73 20 24 66 69 6c 65 29 20 7b ->toIterator($files).as.$file).{
14de80 0a 69 66 20 28 24 72 65 63 75 72 73 69 76 65 20 26 26 20 69 73 5f 64 69 72 28 24 66 69 6c 65 29 .if.($recursive.&&.is_dir($file)
14dea0 20 26 26 20 21 69 73 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 .&&.!is_link($file)).{.$this->ch
14dec0 6f 77 6e 28 6e 65 77 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 24 66 69 6c own(new.\FilesystemIterator($fil
14dee0 65 29 2c 20 24 75 73 65 72 2c 20 74 72 75 65 29 3b 0a 7d 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 e),.$user,.true);.}.if.(is_link(
14df00 24 66 69 6c 65 29 20 26 26 20 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6c 63 68 6f $file).&&.\function_exists('lcho
14df20 77 6e 27 29 29 20 7b 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 6c 63 68 6f 77 6e 28 24 66 69 wn')).{.if.(true.!==.@lchown($fi
14df40 6c 65 2c 20 24 75 73 65 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 le,.$user)).{.throw.new.IOExcept
14df60 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 68 6f 77 6e 20 66 69 6c ion(sprintf('Failed.to.chown.fil
14df80 65 20 22 25 73 22 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 e."%s".',.$file),.0,.null,.$file
14dfa0 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 63 68 6f 77 );.}.}.else.{.if.(true.!==.@chow
14dfc0 6e 28 24 66 69 6c 65 2c 20 24 75 73 65 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 n($file,.$user)).{.throw.new.IOE
14dfe0 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 68 6f 77 xception(sprintf('Failed.to.chow
14e000 6e 20 66 69 6c 65 20 22 25 73 22 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 n.file."%s".',.$file),.0,.null,.
14e020 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 $file);.}.}.}.}...........public
14e040 20 66 75 6e 63 74 69 6f 6e 20 63 68 67 72 70 28 24 66 69 6c 65 73 2c 20 24 67 72 6f 75 70 2c 20 .function.chgrp($files,.$group,.
14e060 24 72 65 63 75 72 73 69 76 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 $recursive.=.false).{.foreach.($
14e080 74 68 69 73 2d 3e 74 6f 49 74 65 72 61 74 6f 72 28 24 66 69 6c 65 73 29 20 61 73 20 24 66 69 6c this->toIterator($files).as.$fil
14e0a0 65 29 20 7b 0a 69 66 20 28 24 72 65 63 75 72 73 69 76 65 20 26 26 20 69 73 5f 64 69 72 28 24 66 e).{.if.($recursive.&&.is_dir($f
14e0c0 69 6c 65 29 20 26 26 20 21 69 73 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 ile).&&.!is_link($file)).{.$this
14e0e0 2d 3e 63 68 67 72 70 28 6e 65 77 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 28 ->chgrp(new.\FilesystemIterator(
14e100 24 66 69 6c 65 29 2c 20 24 67 72 6f 75 70 2c 20 74 72 75 65 29 3b 0a 7d 0a 69 66 20 28 69 73 5f $file),.$group,.true);.}.if.(is_
14e120 6c 69 6e 6b 28 24 66 69 6c 65 29 20 26 26 20 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 link($file).&&.\function_exists(
14e140 27 6c 63 68 67 72 70 27 29 29 20 7b 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 6c 63 68 67 72 'lchgrp')).{.if.(true.!==.@lchgr
14e160 70 28 24 66 69 6c 65 2c 20 24 67 72 6f 75 70 29 20 7c 7c 20 28 5c 64 65 66 69 6e 65 64 28 27 48 p($file,.$group).||.(\defined('H
14e180 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 21 70 6f 73 69 78 5f 67 65 74 67 72 6e 61 6d HVM_VERSION').&&.!posix_getgrnam
14e1a0 28 24 67 72 6f 75 70 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 ($group))).{.throw.new.IOExcepti
14e1c0 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 68 67 72 70 20 66 69 6c 65 on(sprintf('Failed.to.chgrp.file
14e1e0 20 22 25 73 22 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 ."%s".',.$file),.0,.null,.$file)
14e200 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 63 68 67 72 70 ;.}.}.else.{.if.(true.!==.@chgrp
14e220 28 24 66 69 6c 65 2c 20 24 67 72 6f 75 70 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 ($file,.$group)).{.throw.new.IOE
14e240 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 63 68 67 72 xception(sprintf('Failed.to.chgr
14e260 70 20 66 69 6c 65 20 22 25 73 22 2e 27 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 p.file."%s".',.$file),.0,.null,.
14e280 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 $file);.}.}.}.}............publi
14e2a0 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 61 6d 65 28 24 6f 72 69 67 69 6e 2c 20 24 74 61 72 67 c.function.rename($origin,.$targ
14e2c0 65 74 2c 20 24 6f 76 65 72 77 72 69 74 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 0a 20 69 66 20 28 et,.$overwrite.=.false).{...if.(
14e2e0 21 24 6f 76 65 72 77 72 69 74 65 20 26 26 20 24 74 68 69 73 2d 3e 69 73 52 65 61 64 61 62 6c 65 !$overwrite.&&.$this->isReadable
14e300 28 24 74 61 72 67 65 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 ($target)).{.throw.new.IOExcepti
14e320 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 61 6e 6e 6f 74 20 72 65 6e 61 6d 65 20 62 65 63 61 75 73 on(sprintf('Cannot.rename.becaus
14e340 65 20 74 68 65 20 74 61 72 67 65 74 20 22 25 73 22 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 e.the.target."%s".already.exists
14e360 2e 27 2c 20 24 74 61 72 67 65 74 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 61 72 67 65 74 29 3b .',.$target),.0,.null,.$target);
14e380 0a 7d 0a 0a 69 66 20 28 74 72 75 65 20 21 3d 3d 20 40 72 65 6e 61 6d 65 28 24 6f 72 69 67 69 6e .}..if.(true.!==.@rename($origin
14e3a0 2c 20 24 74 61 72 67 65 74 29 29 20 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 6f 72 69 67 69 6e ,.$target)).{.if.(is_dir($origin
14e3c0 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 6d 69 72 72 6f 72 28 24 6f 72 69 67 69 6e 2c 20 24 74 )).{...$this->mirror($origin,.$t
14e3e0 61 72 67 65 74 2c 20 6e 75 6c 6c 2c 20 61 72 72 61 79 28 27 6f 76 65 72 72 69 64 65 27 20 3d 3e arget,.null,.array('override'.=>
14e400 20 24 6f 76 65 72 77 72 69 74 65 2c 20 27 64 65 6c 65 74 65 27 20 3d 3e 20 24 6f 76 65 72 77 72 .$overwrite,.'delete'.=>.$overwr
14e420 69 74 65 29 29 3b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 28 24 6f 72 69 67 69 6e 29 3b 0a 0a ite));.$this->remove($origin);..
14e440 72 65 74 75 72 6e 3b 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 return;.}.throw.new.IOException(
14e460 73 70 72 69 6e 74 66 28 27 43 61 6e 6e 6f 74 20 72 65 6e 61 6d 65 20 22 25 73 22 20 74 6f 20 22 sprintf('Cannot.rename."%s".to."
14e480 25 73 22 2e 27 2c 20 24 6f 72 69 67 69 6e 2c 20 24 74 61 72 67 65 74 29 2c 20 30 2c 20 6e 75 6c %s".',.$origin,.$target),.0,.nul
14e4a0 6c 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 l,.$target);.}.}...........priva
14e4c0 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 65 61 64 61 62 6c 65 28 24 66 69 6c 65 6e 61 6d 65 te.function.isReadable($filename
14e4e0 29 0a 7b 0a 24 6d 61 78 50 61 74 68 4c 65 6e 67 74 68 20 3d 20 50 48 50 5f 4d 41 58 50 41 54 48 ).{.$maxPathLength.=.PHP_MAXPATH
14e500 4c 45 4e 20 2d 20 32 3b 0a 0a 69 66 20 28 5c 73 74 72 6c 65 6e 28 24 66 69 6c 65 6e 61 6d 65 29 LEN.-.2;..if.(\strlen($filename)
14e520 20 3e 20 24 6d 61 78 50 61 74 68 4c 65 6e 67 74 68 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 .>.$maxPathLength).{.throw.new.I
14e540 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 43 6f 75 6c 64 20 6e 6f 74 20 63 68 OException(sprintf('Could.not.ch
14e560 65 63 6b 20 69 66 20 66 69 6c 65 20 69 73 20 72 65 61 64 61 62 6c 65 20 62 65 63 61 75 73 65 20 eck.if.file.is.readable.because.
14e580 70 61 74 68 20 6c 65 6e 67 74 68 20 65 78 63 65 65 64 73 20 25 64 20 63 68 61 72 61 63 74 65 72 path.length.exceeds.%d.character
14e5a0 73 2e 27 2c 20 24 6d 61 78 50 61 74 68 4c 65 6e 67 74 68 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 s.',.$maxPathLength),.0,.null,.$
14e5c0 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 5f 72 65 61 64 61 62 6c 65 filename);.}..return.is_readable
14e5e0 28 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ($filename);.}...........public.
14e600 66 75 6e 63 74 69 6f 6e 20 73 79 6d 6c 69 6e 6b 28 24 6f 72 69 67 69 6e 44 69 72 2c 20 24 74 61 function.symlink($originDir,.$ta
14e620 72 67 65 74 44 69 72 2c 20 24 63 6f 70 79 4f 6e 57 69 6e 64 6f 77 73 20 3d 20 66 61 6c 73 65 29 rgetDir,.$copyOnWindows.=.false)
14e640 0a 7b 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 .{.if.('\\'.===.\DIRECTORY_SEPAR
14e660 41 54 4f 52 29 20 7b 0a 24 6f 72 69 67 69 6e 44 69 72 20 3d 20 73 74 72 74 72 28 24 6f 72 69 67 ATOR).{.$originDir.=.strtr($orig
14e680 69 6e 44 69 72 2c 20 27 2f 27 2c 20 27 5c 5c 27 29 3b 0a 24 74 61 72 67 65 74 44 69 72 20 3d 20 inDir,.'/',.'\\');.$targetDir.=.
14e6a0 73 74 72 74 72 28 24 74 61 72 67 65 74 44 69 72 2c 20 27 2f 27 2c 20 27 5c 5c 27 29 3b 0a 0a 69 strtr($targetDir,.'/',.'\\');..i
14e6c0 66 20 28 24 63 6f 70 79 4f 6e 57 69 6e 64 6f 77 73 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 69 72 72 f.($copyOnWindows).{.$this->mirr
14e6e0 6f 72 28 24 6f 72 69 67 69 6e 44 69 72 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 0a 72 65 74 or($originDir,.$targetDir);..ret
14e700 75 72 6e 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6d 6b 64 69 72 28 5c 64 69 72 6e 61 6d 65 28 urn;.}.}..$this->mkdir(\dirname(
14e720 24 74 61 72 67 65 74 44 69 72 29 29 3b 0a 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 74 61 72 67 $targetDir));..if.(is_link($targ
14e740 65 74 44 69 72 29 29 20 7b 0a 69 66 20 28 72 65 61 64 6c 69 6e 6b 28 24 74 61 72 67 65 74 44 69 etDir)).{.if.(readlink($targetDi
14e760 72 29 20 3d 3d 3d 20 24 6f 72 69 67 69 6e 44 69 72 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 r).===.$originDir).{.return;.}.$
14e780 74 68 69 73 2d 3e 72 65 6d 6f 76 65 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 7d 0a 0a 69 66 20 this->remove($targetDir);.}..if.
14e7a0 28 21 73 65 6c 66 3a 3a 62 6f 78 28 27 73 79 6d 6c 69 6e 6b 27 2c 20 24 6f 72 69 67 69 6e 44 69 (!self::box('symlink',.$originDi
14e7c0 72 2c 20 24 74 61 72 67 65 74 44 69 72 29 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 r,.$targetDir)).{.if.(null.!==.s
14e7e0 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 29 20 7b 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 elf::$lastError).{.if.('\\'.===.
14e800 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 26 26 20 66 61 6c 73 65 20 21 3d \DIRECTORY_SEPARATOR.&&.false.!=
14e820 3d 20 73 74 72 70 6f 73 28 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 2c 20 27 65 72 72 6f =.strpos(self::$lastError,.'erro
14e840 72 20 63 6f 64 65 28 31 33 31 34 29 27 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 r.code(1314)')).{.throw.new.IOEx
14e860 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 63 72 65 61 74 65 20 73 79 6d 6c 69 6e ception('Unable.to.create.symlin
14e880 6b 20 64 75 65 20 74 6f 20 65 72 72 6f 72 20 63 6f 64 65 20 31 33 31 34 3a 20 5c 27 41 20 72 65 k.due.to.error.code.1314:.\'A.re
14e8a0 71 75 69 72 65 64 20 70 72 69 76 69 6c 65 67 65 20 69 73 20 6e 6f 74 20 68 65 6c 64 20 62 79 20 quired.privilege.is.not.held.by.
14e8c0 74 68 65 20 63 6c 69 65 6e 74 5c 27 2e 20 44 6f 20 79 6f 75 20 68 61 76 65 20 74 68 65 20 72 65 the.client\'..Do.you.have.the.re
14e8e0 71 75 69 72 65 64 20 41 64 6d 69 6e 69 73 74 72 61 74 6f 72 2d 72 69 67 68 74 73 3f 27 2c 20 30 quired.Administrator-rights?',.0
14e900 2c 20 6e 75 6c 6c 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 7d 0a 7d 0a 74 68 72 6f 77 20 6e ,.null,.$targetDir);.}.}.throw.n
14e920 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 46 61 69 6c 65 64 20 74 ew.IOException(sprintf('Failed.t
14e940 6f 20 63 72 65 61 74 65 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 20 66 72 6f 6d 20 22 25 73 22 o.create.symbolic.link.from."%s"
14e960 20 74 6f 20 22 25 73 22 2e 27 2c 20 24 6f 72 69 67 69 6e 44 69 72 2c 20 24 74 61 72 67 65 74 44 .to."%s".',.$originDir,.$targetD
14e980 69 72 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 74 61 72 67 65 74 44 69 72 29 3b 0a 7d 0a 7d 0a 0a ir),.0,.null,.$targetDir);.}.}..
14e9a0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6b 65 50 61 74 68 ........public.function.makePath
14e9c0 52 65 6c 61 74 69 76 65 28 24 65 6e 64 50 61 74 68 2c 20 24 73 74 61 72 74 50 61 74 68 29 0a 7b Relative($endPath,.$startPath).{
14e9e0 0a 0a 20 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 ...if.('\\'.===.\DIRECTORY_SEPAR
14ea00 41 54 4f 52 29 20 7b 0a 24 65 6e 64 50 61 74 68 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 ATOR).{.$endPath.=.str_replace('
14ea20 5c 5c 27 2c 20 27 2f 27 2c 20 24 65 6e 64 50 61 74 68 29 3b 0a 24 73 74 61 72 74 50 61 74 68 20 \\',.'/',.$endPath);.$startPath.
14ea40 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 2f 27 2c 20 24 73 74 61 72 74 50 =.str_replace('\\',.'/',.$startP
14ea60 61 74 68 29 3b 0a 7d 0a 0a 24 73 74 72 69 70 44 72 69 76 65 4c 65 74 74 65 72 20 3d 20 66 75 6e ath);.}..$stripDriveLetter.=.fun
14ea80 63 74 69 6f 6e 20 28 24 70 61 74 68 29 20 7b 0a 69 66 20 28 5c 73 74 72 6c 65 6e 28 24 70 61 74 ction.($path).{.if.(\strlen($pat
14eaa0 68 29 20 3e 20 32 20 26 26 20 27 3a 27 20 3d 3d 3d 20 24 70 61 74 68 5b 31 5d 20 26 26 20 27 2f h).>.2.&&.':'.===.$path[1].&&.'/
14eac0 27 20 3d 3d 3d 20 24 70 61 74 68 5b 32 5d 20 26 26 20 63 74 79 70 65 5f 61 6c 70 68 61 28 24 70 '.===.$path[2].&&.ctype_alpha($p
14eae0 61 74 68 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 70 61 74 68 2c 20 ath[0])).{.return.substr($path,.
14eb00 32 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 3b 0a 0a 24 65 6e 64 50 61 74 2);.}..return.$path;.};..$endPat
14eb20 68 20 3d 20 24 73 74 72 69 70 44 72 69 76 65 4c 65 74 74 65 72 28 24 65 6e 64 50 61 74 68 29 3b h.=.$stripDriveLetter($endPath);
14eb40 0a 24 73 74 61 72 74 50 61 74 68 20 3d 20 24 73 74 72 69 70 44 72 69 76 65 4c 65 74 74 65 72 28 .$startPath.=.$stripDriveLetter(
14eb60 24 73 74 61 72 74 50 61 74 68 29 3b 0a 0a 0a 20 24 73 74 61 72 74 50 61 74 68 41 72 72 20 3d 20 $startPath);....$startPathArr.=.
14eb80 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 74 72 69 6d 28 24 73 74 61 72 74 50 61 74 68 2c 20 27 2f explode('/',.trim($startPath,.'/
14eba0 27 29 29 3b 0a 24 65 6e 64 50 61 74 68 41 72 72 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 '));.$endPathArr.=.explode('/',.
14ebc0 74 72 69 6d 28 24 65 6e 64 50 61 74 68 2c 20 27 2f 27 29 29 3b 0a 0a 24 6e 6f 72 6d 61 6c 69 7a trim($endPath,.'/'));..$normaliz
14ebe0 65 50 61 74 68 41 72 72 61 79 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 74 68 53 65 67 6d ePathArray.=.function.($pathSegm
14ec00 65 6e 74 73 2c 20 24 61 62 73 6f 6c 75 74 65 29 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 ents,.$absolute).{.$result.=.arr
14ec20 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 68 53 65 67 6d 65 6e 74 73 20 61 73 ay();..foreach.($pathSegments.as
14ec40 20 24 73 65 67 6d 65 6e 74 29 20 7b 0a 69 66 20 28 27 2e 2e 27 20 3d 3d 3d 20 24 73 65 67 6d 65 .$segment).{.if.('..'.===.$segme
14ec60 6e 74 20 26 26 20 28 24 61 62 73 6f 6c 75 74 65 20 7c 7c 20 5c 63 6f 75 6e 74 28 24 72 65 73 75 nt.&&.($absolute.||.\count($resu
14ec80 6c 74 29 29 29 20 7b 0a 61 72 72 61 79 5f 70 6f 70 28 24 72 65 73 75 6c 74 29 3b 0a 7d 20 65 6c lt))).{.array_pop($result);.}.el
14eca0 73 65 69 66 20 28 27 2e 27 20 21 3d 3d 20 24 73 65 67 6d 65 6e 74 29 20 7b 0a 24 72 65 73 75 6c seif.('.'.!==.$segment).{.$resul
14ecc0 74 5b 5d 20 3d 20 24 73 65 67 6d 65 6e 74 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 t[].=.$segment;.}.}..return.$res
14ece0 75 6c 74 3b 0a 7d 3b 0a 0a 24 73 74 61 72 74 50 61 74 68 41 72 72 20 3d 20 24 6e 6f 72 6d 61 6c ult;.};..$startPathArr.=.$normal
14ed00 69 7a 65 50 61 74 68 41 72 72 61 79 28 24 73 74 61 72 74 50 61 74 68 41 72 72 2c 20 73 74 61 74 izePathArray($startPathArr,.stat
14ed20 69 63 3a 3a 69 73 41 62 73 6f 6c 75 74 65 50 61 74 68 28 24 73 74 61 72 74 50 61 74 68 29 29 3b ic::isAbsolutePath($startPath));
14ed40 0a 24 65 6e 64 50 61 74 68 41 72 72 20 3d 20 24 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 41 72 72 .$endPathArr.=.$normalizePathArr
14ed60 61 79 28 24 65 6e 64 50 61 74 68 41 72 72 2c 20 73 74 61 74 69 63 3a 3a 69 73 41 62 73 6f 6c 75 ay($endPathArr,.static::isAbsolu
14ed80 74 65 50 61 74 68 28 24 65 6e 64 50 61 74 68 29 29 3b 0a 0a 0a 20 24 69 6e 64 65 78 20 3d 20 30 tePath($endPath));....$index.=.0
14eda0 3b 0a 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 73 74 61 72 74 50 61 74 68 41 72 72 5b 24 69 6e ;.while.(isset($startPathArr[$in
14edc0 64 65 78 5d 29 20 26 26 20 69 73 73 65 74 28 24 65 6e 64 50 61 74 68 41 72 72 5b 24 69 6e 64 65 dex]).&&.isset($endPathArr[$inde
14ede0 78 5d 29 20 26 26 20 24 73 74 61 72 74 50 61 74 68 41 72 72 5b 24 69 6e 64 65 78 5d 20 3d 3d 3d x]).&&.$startPathArr[$index].===
14ee00 20 24 65 6e 64 50 61 74 68 41 72 72 5b 24 69 6e 64 65 78 5d 29 20 7b 0a 2b 2b 24 69 6e 64 65 78 .$endPathArr[$index]).{.++$index
14ee20 3b 0a 7d 0a 0a 0a 20 69 66 20 28 31 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 73 74 61 72 74 50 61 ;.}....if.(1.===.\count($startPa
14ee40 74 68 41 72 72 29 20 26 26 20 27 27 20 3d 3d 3d 20 24 73 74 61 72 74 50 61 74 68 41 72 72 5b 30 thArr).&&.''.===.$startPathArr[0
14ee60 5d 29 20 7b 0a 24 64 65 70 74 68 20 3d 20 30 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 65 70 74 68 ]).{.$depth.=.0;.}.else.{.$depth
14ee80 20 3d 20 5c 63 6f 75 6e 74 28 24 73 74 61 72 74 50 61 74 68 41 72 72 29 20 2d 20 24 69 6e 64 65 .=.\count($startPathArr).-.$inde
14eea0 78 3b 0a 7d 0a 0a 0a 20 24 74 72 61 76 65 72 73 65 72 20 3d 20 73 74 72 5f 72 65 70 65 61 74 28 x;.}....$traverser.=.str_repeat(
14eec0 27 2e 2e 2f 27 2c 20 24 64 65 70 74 68 29 3b 0a 0a 24 65 6e 64 50 61 74 68 52 65 6d 61 69 6e 64 '../',.$depth);..$endPathRemaind
14eee0 65 72 20 3d 20 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 5c 61 72 72 61 79 5f 73 6c 69 63 65 28 24 er.=.implode('/',.\array_slice($
14ef00 65 6e 64 50 61 74 68 41 72 72 2c 20 24 69 6e 64 65 78 29 29 3b 0a 0a 0a 20 24 72 65 6c 61 74 69 endPathArr,.$index));....$relati
14ef20 76 65 50 61 74 68 20 3d 20 24 74 72 61 76 65 72 73 65 72 2e 28 27 27 20 21 3d 3d 20 24 65 6e 64 vePath.=.$traverser.(''.!==.$end
14ef40 50 61 74 68 52 65 6d 61 69 6e 64 65 72 20 3f 20 24 65 6e 64 50 61 74 68 52 65 6d 61 69 6e 64 65 PathRemainder.?.$endPathRemainde
14ef60 72 2e 27 2f 27 20 3a 20 27 27 29 3b 0a 0a 72 65 74 75 72 6e 20 27 27 20 3d 3d 3d 20 24 72 65 6c r.'/'.:.'');..return.''.===.$rel
14ef80 61 74 69 76 65 50 61 74 68 20 3f 20 27 2e 2f 27 20 3a 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 ativePath.?.'./'.:.$relativePath
14efa0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ;.}.....................public.f
14efc0 75 6e 63 74 69 6f 6e 20 6d 69 72 72 6f 72 28 24 6f 72 69 67 69 6e 44 69 72 2c 20 24 74 61 72 67 unction.mirror($originDir,.$targ
14efe0 65 74 44 69 72 2c 20 5c 54 72 61 76 65 72 73 61 62 6c 65 20 24 69 74 65 72 61 74 6f 72 20 3d 20 etDir,.\Traversable.$iterator.=.
14f000 6e 75 6c 6c 2c 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 61 72 null,.$options.=.array()).{.$tar
14f020 67 65 74 44 69 72 20 3d 20 72 74 72 69 6d 28 24 74 61 72 67 65 74 44 69 72 2c 20 27 2f 5c 5c 27 getDir.=.rtrim($targetDir,.'/\\'
14f040 29 3b 0a 24 6f 72 69 67 69 6e 44 69 72 20 3d 20 72 74 72 69 6d 28 24 6f 72 69 67 69 6e 44 69 72 );.$originDir.=.rtrim($originDir
14f060 2c 20 27 2f 5c 5c 27 29 3b 0a 24 6f 72 69 67 69 6e 44 69 72 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 ,.'/\\');.$originDirLen.=.\strle
14f080 6e 28 24 6f 72 69 67 69 6e 44 69 72 29 3b 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 65 78 69 n($originDir);....if.($this->exi
14f0a0 73 74 73 28 24 74 61 72 67 65 74 44 69 72 29 20 26 26 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e sts($targetDir).&&.isset($option
14f0c0 73 5b 27 64 65 6c 65 74 65 27 5d 29 20 26 26 20 24 6f 70 74 69 6f 6e 73 5b 27 64 65 6c 65 74 65 s['delete']).&&.$options['delete
14f0e0 27 5d 29 20 7b 0a 24 64 65 6c 65 74 65 49 74 65 72 61 74 6f 72 20 3d 20 24 69 74 65 72 61 74 6f ']).{.$deleteIterator.=.$iterato
14f100 72 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 64 65 6c 65 74 65 49 74 65 72 61 74 6f 72 29 r;.if.(null.===.$deleteIterator)
14f120 20 7b 0a 24 66 6c 61 67 73 20 3d 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 3a .{.$flags.=.\FilesystemIterator:
14f140 3a 53 4b 49 50 5f 44 4f 54 53 3b 0a 24 64 65 6c 65 74 65 49 74 65 72 61 74 6f 72 20 3d 20 6e 65 :SKIP_DOTS;.$deleteIterator.=.ne
14f160 77 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 6e 65 77 w.\RecursiveIteratorIterator(new
14f180 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 74 61 .\RecursiveDirectoryIterator($ta
14f1a0 72 67 65 74 44 69 72 2c 20 24 66 6c 61 67 73 29 2c 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 rgetDir,.$flags),.\RecursiveIter
14f1c0 61 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 43 48 49 4c 44 5f 46 49 52 53 54 29 3b 0a 7d 0a 24 74 atorIterator::CHILD_FIRST);.}.$t
14f1e0 61 72 67 65 74 44 69 72 4c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 74 61 72 67 65 74 44 69 72 argetDirLen.=.\strlen($targetDir
14f200 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 6c 65 74 65 49 74 65 72 61 74 6f 72 20 61 73 20 24 );.foreach.($deleteIterator.as.$
14f220 66 69 6c 65 29 20 7b 0a 24 6f 72 69 67 69 6e 20 3d 20 24 6f 72 69 67 69 6e 44 69 72 2e 73 75 62 file).{.$origin.=.$originDir.sub
14f240 73 74 72 28 24 66 69 6c 65 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 24 74 61 72 67 65 str($file->getPathname(),.$targe
14f260 74 44 69 72 4c 65 6e 29 3b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 65 78 69 73 74 73 28 24 6f 72 tDirLen);.if.(!$this->exists($or
14f280 69 67 69 6e 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 6d 6f 76 65 28 24 66 69 6c 65 29 3b 0a 7d igin)).{.$this->remove($file);.}
14f2a0 0a 7d 0a 7d 0a 0a 24 63 6f 70 79 4f 6e 57 69 6e 64 6f 77 73 20 3d 20 66 61 6c 73 65 3b 0a 69 66 .}.}..$copyOnWindows.=.false;.if
14f2c0 20 28 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 63 6f 70 79 5f 6f 6e 5f 77 69 6e 64 6f 77 .(isset($options['copy_on_window
14f2e0 73 27 5d 29 29 20 7b 0a 24 63 6f 70 79 4f 6e 57 69 6e 64 6f 77 73 20 3d 20 24 6f 70 74 69 6f 6e s'])).{.$copyOnWindows.=.$option
14f300 73 5b 27 63 6f 70 79 5f 6f 6e 5f 77 69 6e 64 6f 77 73 27 5d 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c s['copy_on_windows'];.}..if.(nul
14f320 6c 20 3d 3d 3d 20 24 69 74 65 72 61 74 6f 72 29 20 7b 0a 24 66 6c 61 67 73 20 3d 20 24 63 6f 70 l.===.$iterator).{.$flags.=.$cop
14f340 79 4f 6e 57 69 6e 64 6f 77 73 20 3f 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 yOnWindows.?.\FilesystemIterator
14f360 3a 3a 53 4b 49 50 5f 44 4f 54 53 20 7c 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f ::SKIP_DOTS.|.\FilesystemIterato
14f380 72 3a 3a 46 4f 4c 4c 4f 57 5f 53 59 4d 4c 49 4e 4b 53 20 3a 20 5c 46 69 6c 65 73 79 73 74 65 6d r::FOLLOW_SYMLINKS.:.\Filesystem
14f3a0 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 3b 0a 24 69 74 65 72 61 74 6f 72 20 3d Iterator::SKIP_DOTS;.$iterator.=
14f3c0 20 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 .new.\RecursiveIteratorIterator(
14f3e0 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 new.\RecursiveDirectoryIterator(
14f400 24 6f 72 69 67 69 6e 44 69 72 2c 20 24 66 6c 61 67 73 29 2c 20 5c 52 65 63 75 72 73 69 76 65 49 $originDir,.$flags),.\RecursiveI
14f420 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 53 45 4c 46 5f 46 49 52 53 54 29 3b 0a 7d 0a teratorIterator::SELF_FIRST);.}.
14f440 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 69 73 74 73 28 24 6f 72 69 67 69 6e 44 69 72 29 29 20 .if.($this->exists($originDir)).
14f460 7b 0a 24 74 68 69 73 2d 3e 6d 6b 64 69 72 28 24 74 61 72 67 65 74 44 69 72 29 3b 0a 7d 0a 0a 66 {.$this->mkdir($targetDir);.}..f
14f480 6f 72 65 61 63 68 20 28 24 69 74 65 72 61 74 6f 72 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 24 74 oreach.($iterator.as.$file).{.$t
14f4a0 61 72 67 65 74 20 3d 20 24 74 61 72 67 65 74 44 69 72 2e 73 75 62 73 74 72 28 24 66 69 6c 65 2d arget.=.$targetDir.substr($file-
14f4c0 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 24 6f 72 69 67 69 6e 44 69 72 4c 65 6e 29 3b 0a >getPathname(),.$originDirLen);.
14f4e0 0a 69 66 20 28 24 63 6f 70 79 4f 6e 57 69 6e 64 6f 77 73 29 20 7b 0a 69 66 20 28 69 73 5f 66 69 .if.($copyOnWindows).{.if.(is_fi
14f500 6c 65 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 70 79 28 24 66 69 6c 65 2c 20 le($file)).{.$this->copy($file,.
14f520 24 74 61 72 67 65 74 2c 20 69 73 73 65 74 28 24 6f 70 74 69 6f 6e 73 5b 27 6f 76 65 72 72 69 64 $target,.isset($options['overrid
14f540 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6f 76 65 72 72 69 64 65 27 5d 20 3a 20 66 61 e']).?.$options['override'].:.fa
14f560 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 64 69 72 28 24 66 69 6c 65 29 29 20 7b lse);.}.elseif.(is_dir($file)).{
14f580 0a 24 74 68 69 73 2d 3e 6d 6b 64 69 72 28 24 74 61 72 67 65 74 29 3b 0a 7d 20 65 6c 73 65 20 7b .$this->mkdir($target);.}.else.{
14f5a0 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 .throw.new.IOException(sprintf('
14f5c0 55 6e 61 62 6c 65 20 74 6f 20 67 75 65 73 73 20 22 25 73 22 20 66 69 6c 65 20 74 79 70 65 2e 27 Unable.to.guess."%s".file.type.'
14f5e0 2c 20 24 66 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 20 65 ,.$file),.0,.null,.$file);.}.}.e
14f600 6c 73 65 20 7b 0a 69 66 20 28 69 73 5f 6c 69 6e 6b 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 lse.{.if.(is_link($file)).{.$thi
14f620 73 2d 3e 73 79 6d 6c 69 6e 6b 28 24 66 69 6c 65 2d 3e 67 65 74 4c 69 6e 6b 54 61 72 67 65 74 28 s->symlink($file->getLinkTarget(
14f640 29 2c 20 24 74 61 72 67 65 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 64 69 72 28 24 66 ),.$target);.}.elseif.(is_dir($f
14f660 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 6b 64 69 72 28 24 74 61 72 67 65 74 29 3b 0a 7d ile)).{.$this->mkdir($target);.}
14f680 20 65 6c 73 65 69 66 20 28 69 73 5f 66 69 6c 65 28 24 66 69 6c 65 29 29 20 7b 0a 24 74 68 69 73 .elseif.(is_file($file)).{.$this
14f6a0 2d 3e 63 6f 70 79 28 24 66 69 6c 65 2c 20 24 74 61 72 67 65 74 2c 20 69 73 73 65 74 28 24 6f 70 ->copy($file,.$target,.isset($op
14f6c0 74 69 6f 6e 73 5b 27 6f 76 65 72 72 69 64 65 27 5d 29 20 3f 20 24 6f 70 74 69 6f 6e 73 5b 27 6f tions['override']).?.$options['o
14f6e0 76 65 72 72 69 64 65 27 5d 20 3a 20 66 61 6c 73 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 verride'].:.false);.}.else.{.thr
14f700 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 61 62 ow.new.IOException(sprintf('Unab
14f720 6c 65 20 74 6f 20 67 75 65 73 73 20 22 25 73 22 20 66 69 6c 65 20 74 79 70 65 2e 27 2c 20 24 66 le.to.guess."%s".file.type.',.$f
14f740 69 6c 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a ile),.0,.null,.$file);.}.}.}.}..
14f760 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 62 73 6f 6c 75 74 .......public.function.isAbsolut
14f780 65 50 61 74 68 28 24 66 69 6c 65 29 0a 7b 0a 72 65 74 75 72 6e 20 73 74 72 73 70 6e 28 24 66 69 ePath($file).{.return.strspn($fi
14f7a0 6c 65 2c 20 27 2f 5c 5c 27 2c 20 30 2c 20 31 29 0a 7c 7c 20 28 5c 73 74 72 6c 65 6e 28 24 66 69 le,.'/\\',.0,.1).||.(\strlen($fi
14f7c0 6c 65 29 20 3e 20 33 20 26 26 20 63 74 79 70 65 5f 61 6c 70 68 61 28 24 66 69 6c 65 5b 30 5d 29 le).>.3.&&.ctype_alpha($file[0])
14f7e0 0a 26 26 20 27 3a 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 66 69 6c 65 2c 20 31 2c 20 31 29 0a .&&.':'.===.substr($file,.1,.1).
14f800 26 26 20 73 74 72 73 70 6e 28 24 66 69 6c 65 2c 20 27 2f 5c 5c 27 2c 20 32 2c 20 31 29 0a 29 0a &&.strspn($file,.'/\\',.2,.1).).
14f820 7c 7c 20 6e 75 6c 6c 20 21 3d 3d 20 70 61 72 73 65 5f 75 72 6c 28 24 66 69 6c 65 2c 20 50 48 50 ||.null.!==.parse_url($file,.PHP
14f840 5f 55 52 4c 5f 53 43 48 45 4d 45 29 0a 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 _URL_SCHEME).;.}...........publi
14f860 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 6d 70 6e 61 6d 28 24 64 69 72 2c 20 24 70 72 65 66 69 78 c.function.tempnam($dir,.$prefix
14f880 29 0a 7b 0a 6c 69 73 74 28 24 73 63 68 65 6d 65 2c 20 24 68 69 65 72 61 72 63 68 79 29 20 3d 20 ).{.list($scheme,.$hierarchy).=.
14f8a0 24 74 68 69 73 2d 3e 67 65 74 53 63 68 65 6d 65 41 6e 64 48 69 65 72 61 72 63 68 79 28 24 64 69 $this->getSchemeAndHierarchy($di
14f8c0 72 29 3b 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 73 63 68 65 6d 65 20 7c 7c 20 27 r);....if.(null.===.$scheme.||.'
14f8e0 66 69 6c 65 27 20 3d 3d 3d 20 24 73 63 68 65 6d 65 20 7c 7c 20 27 67 73 27 20 3d 3d 3d 20 24 73 file'.===.$scheme.||.'gs'.===.$s
14f900 63 68 65 6d 65 29 20 7b 0a 24 74 6d 70 46 69 6c 65 20 3d 20 40 74 65 6d 70 6e 61 6d 28 24 68 69 cheme).{.$tmpFile.=.@tempnam($hi
14f920 65 72 61 72 63 68 79 2c 20 24 70 72 65 66 69 78 29 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 erarchy,.$prefix);....if.(false.
14f940 21 3d 3d 20 24 74 6d 70 46 69 6c 65 29 20 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 73 63 !==.$tmpFile).{.if.(null.!==.$sc
14f960 68 65 6d 65 20 26 26 20 27 67 73 27 20 21 3d 3d 20 24 73 63 68 65 6d 65 29 20 7b 0a 72 65 74 75 heme.&&.'gs'.!==.$scheme).{.retu
14f980 72 6e 20 24 73 63 68 65 6d 65 2e 27 3a 2f 2f 27 2e 24 74 6d 70 46 69 6c 65 3b 0a 7d 0a 0a 72 65 rn.$scheme.'://'.$tmpFile;.}..re
14f9a0 74 75 72 6e 20 24 74 6d 70 46 69 6c 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 turn.$tmpFile;.}..throw.new.IOEx
14f9c0 63 65 70 74 69 6f 6e 28 27 41 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 63 6f 75 6c 64 20 ception('A.temporary.file.could.
14f9e0 6e 6f 74 20 62 65 20 63 72 65 61 74 65 64 2e 27 29 3b 0a 7d 0a 0a 0a 20 66 6f 72 20 28 24 69 20 not.be.created.');.}....for.($i.
14fa00 3d 20 30 3b 20 24 69 20 3c 20 31 30 3b 20 2b 2b 24 69 29 20 7b 0a 0a 20 24 74 6d 70 46 69 6c 65 =.0;.$i.<.10;.++$i).{...$tmpFile
14fa20 20 3d 20 24 64 69 72 2e 27 2f 27 2e 24 70 72 65 66 69 78 2e 75 6e 69 71 69 64 28 6d 74 5f 72 61 .=.$dir.'/'.$prefix.uniqid(mt_ra
14fa40 6e 64 28 29 2c 20 74 72 75 65 29 3b 0a 0a 0a 20 0a 20 24 68 61 6e 64 6c 65 20 3d 20 40 66 6f 70 nd(),.true);......$handle.=.@fop
14fa60 65 6e 28 24 74 6d 70 46 69 6c 65 2c 20 27 78 2b 27 29 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 en($tmpFile,.'x+');....if.(false
14fa80 20 3d 3d 3d 20 24 68 61 6e 64 6c 65 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 0a 20 40 .===.$handle).{.continue;.}....@
14faa0 66 63 6c 6f 73 65 28 24 68 61 6e 64 6c 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 6d 70 46 69 6c fclose($handle);..return.$tmpFil
14fac0 65 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 27 41 20 74 e;.}..throw.new.IOException('A.t
14fae0 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 72 65 61 74 emporary.file.could.not.be.creat
14fb00 65 64 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ed.');.}............public.funct
14fb20 69 6f 6e 20 64 75 6d 70 46 69 6c 65 28 24 66 69 6c 65 6e 61 6d 65 2c 20 24 63 6f 6e 74 65 6e 74 ion.dumpFile($filename,.$content
14fb40 2c 20 24 6d 6f 64 65 20 3d 20 30 36 36 36 29 0a 7b 0a 24 64 69 72 20 3d 20 5c 64 69 72 6e 61 6d ,.$mode.=.0666).{.$dir.=.\dirnam
14fb60 65 28 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 64 69 72 29 e($filename);..if.(!is_dir($dir)
14fb80 29 20 7b 0a 24 74 68 69 73 2d 3e 6d 6b 64 69 72 28 24 64 69 72 29 3b 0a 7d 0a 0a 69 66 20 28 21 ).{.$this->mkdir($dir);.}..if.(!
14fba0 69 73 5f 77 72 69 74 61 62 6c 65 28 24 64 69 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 is_writable($dir)).{.throw.new.I
14fbc0 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 6e 61 62 6c 65 20 74 6f 20 77 72 OException(sprintf('Unable.to.wr
14fbe0 69 74 65 20 74 6f 20 74 68 65 20 22 25 73 22 20 64 69 72 65 63 74 6f 72 79 2e 27 2c 20 24 64 69 ite.to.the."%s".directory.',.$di
14fc00 72 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 64 69 72 29 3b 0a 7d 0a 0a 24 74 6d 70 46 69 6c 65 20 r),.0,.null,.$dir);.}..$tmpFile.
14fc20 3d 20 24 74 68 69 73 2d 3e 74 65 6d 70 6e 61 6d 28 24 64 69 72 2c 20 62 61 73 65 6e 61 6d 65 28 =.$this->tempnam($dir,.basename(
14fc40 24 66 69 6c 65 6e 61 6d 65 29 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 40 66 69 6c $filename));..if.(false.===.@fil
14fc60 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 6d 70 46 69 6c 65 2c 20 24 63 6f 6e 74 65 6e e_put_contents($tmpFile,.$conten
14fc80 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 t)).{.throw.new.IOException(spri
14fca0 6e 74 66 28 27 46 61 69 6c 65 64 20 74 6f 20 77 72 69 74 65 20 66 69 6c 65 20 22 25 73 22 2e 27 ntf('Failed.to.write.file."%s".'
14fcc0 2c 20 24 66 69 6c 65 6e 61 6d 65 29 2c 20 30 2c 20 6e 75 6c 6c 2c 20 24 66 69 6c 65 6e 61 6d 65 ,.$filename),.0,.null,.$filename
14fce0 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 69 66 20 28 );.}..if.(null.!==.$mode).{.if.(
14fd00 5c 66 75 6e 63 5f 6e 75 6d 5f 61 72 67 73 28 29 20 3e 20 32 29 20 7b 0a 40 74 72 69 67 67 65 72 \func_num_args().>.2).{.@trigger
14fd20 5f 65 72 72 6f 72 28 27 53 75 70 70 6f 72 74 20 66 6f 72 20 6d 6f 64 69 66 79 69 6e 67 20 66 69 _error('Support.for.modifying.fi
14fd40 6c 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e le.permissions.is.deprecated.sin
14fd60 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 33 2e 31 32 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 ce.Symfony.2.3.12.and.will.be.re
14fd80 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 moved.in.3.0.',.E_USER_DEPRECATE
14fda0 44 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 68 6d 6f 64 28 24 74 6d 70 46 69 6c 65 2c 20 24 6d D);.}..$this->chmod($tmpFile,.$m
14fdc0 6f 64 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c ode);.}.elseif.(file_exists($fil
14fde0 65 6e 61 6d 65 29 29 20 7b 0a 40 63 68 6d 6f 64 28 24 74 6d 70 46 69 6c 65 2c 20 66 69 6c 65 70 ename)).{.@chmod($tmpFile,.filep
14fe00 65 72 6d 73 28 24 66 69 6c 65 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 6e 61 erms($filename));.}..$this->rena
14fe20 6d 65 28 24 74 6d 70 46 69 6c 65 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 74 72 75 65 29 3b 0a 7d me($tmpFile,.$filename,.true);.}
14fe40 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 49 74 65 72 61 74 .......private.function.toIterat
14fe60 6f 72 28 24 66 69 6c 65 73 29 0a 7b 0a 69 66 20 28 21 24 66 69 6c 65 73 20 69 6e 73 74 61 6e 63 or($files).{.if.(!$files.instanc
14fe80 65 6f 66 20 5c 54 72 61 76 65 72 73 61 62 6c 65 29 20 7b 0a 24 66 69 6c 65 73 20 3d 20 6e 65 77 eof.\Traversable).{.$files.=.new
14fea0 20 5c 41 72 72 61 79 4f 62 6a 65 63 74 28 5c 69 73 5f 61 72 72 61 79 28 24 66 69 6c 65 73 29 20 .\ArrayObject(\is_array($files).
14fec0 3f 20 24 66 69 6c 65 73 20 3a 20 61 72 72 61 79 28 24 66 69 6c 65 73 29 29 3b 0a 7d 0a 0a 72 65 ?.$files.:.array($files));.}..re
14fee0 74 75 72 6e 20 24 66 69 6c 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 turn.$files;.}.........private.f
14ff00 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 68 65 6d 65 41 6e 64 48 69 65 72 61 72 63 68 79 28 24 66 unction.getSchemeAndHierarchy($f
14ff20 69 6c 65 6e 61 6d 65 29 0a 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 65 78 70 6c 6f 64 65 ilename).{.$components.=.explode
14ff40 28 27 3a 2f 2f 27 2c 20 24 66 69 6c 65 6e 61 6d 65 2c 20 32 29 3b 0a 0a 72 65 74 75 72 6e 20 32 ('://',.$filename,.2);..return.2
14ff60 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 20 3f 20 61 72 72 61 79 .===.\count($components).?.array
14ff80 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 30 5d 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 31 5d 29 ($components[0],.$components[1])
14ffa0 20 3a 20 61 72 72 61 79 28 6e 75 6c 6c 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 30 5d 29 3b 0a .:.array(null,.$components[0]);.
14ffc0 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 62 6f 78 28 24 }..private.static.function.box($
14ffe0 66 75 6e 63 29 0a 7b 0a 73 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 20 3d 20 6e 75 6c 6c 3b func).{.self::$lastError.=.null;
150000 0a 5c 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 5f 5f 43 4c 41 53 53 5f 5f 2e 27 3a .\set_error_handler(__CLASS__.':
150020 3a 68 61 6e 64 6c 65 45 72 72 6f 72 27 29 3b 0a 74 72 79 20 7b 0a 24 72 65 73 75 6c 74 20 3d 20 :handleError');.try.{.$result.=.
150040 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 24 66 75 6e 63 2c 20 5c 61 72 \call_user_func_array($func,.\ar
150060 72 61 79 5f 73 6c 69 63 65 28 5c 66 75 6e 63 5f 67 65 74 5f 61 72 67 73 28 29 2c 20 31 29 29 3b ray_slice(\func_get_args(),.1));
150080 0a 5c 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 72 65 74 75 .\restore_error_handler();..retu
1500a0 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 20 63 61 74 63 68 20 28 5c 54 68 72 6f 77 61 62 6c 65 20 rn.$result;.}.catch.(\Throwable.
1500c0 24 65 29 20 7b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a $e).{.}.catch.(\Exception.$e).{.
1500e0 7d 0a 5c 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 74 68 72 }.\restore_error_handler();..thr
150100 6f 77 20 24 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 ow.$e;.}.....public.static.funct
150120 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 24 74 79 70 65 2c 20 24 6d 73 67 29 0a 7b 0a 73 ion.handleError($type,.$msg).{.s
150140 65 6c 66 3a 3a 24 6c 61 73 74 45 72 72 6f 72 20 3d 20 24 6d 73 67 3b 0a 7d 0a 7d 0a 43 6f 70 79 elf::$lastError.=.$msg;.}.}.Copy
150160 72 69 67 68 74 20 28 63 29 20 32 30 30 34 2d 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e right.(c).2004-2018.Fabien.Poten
150180 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 cier..Permission.is.hereby.grant
1501a0 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f ed,.free.of.charge,.to.any.perso
1501c0 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 n.obtaining.a.copy.of.this.softw
1501e0 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e are.and.associated.documentation
150200 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c .files.(the."Software"),.to.deal
150220 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 .in.the.Software.without.restric
150240 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 tion,.including.without.limitati
150260 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 on.the.rights.to.use,.copy,.modi
150280 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 fy,.merge,.publish,.distribute,.
1502a0 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f sublicense,.and/or.sell.copies.o
1502c0 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 f.the.Software,.and.to.permit.pe
1502e0 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 rsons.to.whom.the.Software.is.fu
150300 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 rnished.to.do.so,.subject.to.the
150320 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 .following.conditions:..The.abov
150340 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d e.copyright.notice.and.this.perm
150360 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 ission.notice.shall.be.included.
150380 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 in.all.copies.or.substantial.por
1503a0 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 tions.of.the.Software...THE.SOFT
1503c0 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 WARE.IS.PROVIDED."AS.IS",.WITHOU
1503e0 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 T.WARRANTY.OF.ANY.KIND,.EXPRESS.
150400 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 OR.IMPLIED,.INCLUDING.BUT.NOT.LI
150420 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 MITED.TO.THE.WARRANTIES.OF.MERCH
150440 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 ANTABILITY,.FITNESS.FOR.A.PARTIC
150460 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 ULAR.PURPOSE.AND.NONINFRINGEMENT
150480 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 ..IN.NO.EVENT.SHALL.THE.AUTHORS.
1504a0 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 OR.COPYRIGHT.HOLDERS.BE.LIABLE.F
1504c0 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c OR.ANY.CLAIM,.DAMAGES.OR.OTHER.L
1504e0 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f IABILITY,.WHETHER.IN.AN.ACTION.O
150500 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 F.CONTRACT,.TORT.OR.OTHERWISE,.A
150520 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 RISING.FROM,.OUT.OF.OR.IN.CONNEC
150540 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 TION.WITH.THE.SOFTWARE.OR.THE.US
150560 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 E.OR.OTHER.DEALINGS.IN.THE.SOFTW
150580 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 ARE..<?php...........namespace.S
1505a0 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 3b 0a 0a 75 73 ymfony\Component\Filesystem;..us
1505c0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6c 65 73 79 73 74 65 6d 5c 45 e.Symfony\Component\Filesystem\E
1505e0 78 63 65 70 74 69 6f 6e 5c 49 4f 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a xception\IOException;...........
150600 0a 0a 0a 0a 63 6c 61 73 73 20 4c 6f 63 6b 48 61 6e 64 6c 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 ....class.LockHandler.{.private.
150620 24 66 69 6c 65 3b 0a 70 72 69 76 61 74 65 20 24 68 61 6e 64 6c 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 $file;.private.$handle;........p
150640 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6e 61 6d 65 ublic.function.__construct($name
150660 2c 20 24 6c 6f 63 6b 50 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 6c 6f 63 6b 50 61 74 68 20 ,.$lockPath.=.null).{.$lockPath.
150680 3d 20 24 6c 6f 63 6b 50 61 74 68 20 3f 3a 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 =.$lockPath.?:.sys_get_temp_dir(
1506a0 29 3b 0a 0a 69 66 20 28 21 69 73 5f 64 69 72 28 24 6c 6f 63 6b 50 61 74 68 29 29 20 7b 0a 24 66 );..if.(!is_dir($lockPath)).{.$f
1506c0 73 20 3d 20 6e 65 77 20 46 69 6c 65 73 79 73 74 65 6d 28 29 3b 0a 24 66 73 2d 3e 6d 6b 64 69 72 s.=.new.Filesystem();.$fs->mkdir
1506e0 28 24 6c 6f 63 6b 50 61 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 77 72 69 74 61 62 6c 65 ($lockPath);.}..if.(!is_writable
150700 28 24 6c 6f 63 6b 50 61 74 68 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 ($lockPath)).{.throw.new.IOExcep
150720 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 64 69 72 65 63 74 6f 72 79 20 22 25 73 22 tion(sprintf('The.directory."%s"
150740 20 69 73 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 2e 27 2c 20 24 6c 6f 63 6b 50 61 74 68 29 2c 20 .is.not.writable.',.$lockPath),.
150760 30 2c 20 6e 75 6c 6c 2c 20 24 6c 6f 63 6b 50 61 74 68 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 0,.null,.$lockPath);.}..$this->f
150780 69 6c 65 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 2f 73 66 2e 25 73 2e 25 73 2e 6c 6f 63 6b 27 ile.=.sprintf('%s/sf.%s.%s.lock'
1507a0 2c 20 24 6c 6f 63 6b 50 61 74 68 2c 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5b 5e 61 2d ,.$lockPath,.preg_replace('/[^a-
1507c0 7a 30 2d 39 5c 2e 5f 2d 5d 2b 2f 69 27 2c 20 27 2d 27 2c 20 24 6e 61 6d 65 29 2c 20 68 61 73 68 z0-9\._-]+/i',.'-',.$name),.hash
1507e0 28 27 73 68 61 32 35 36 27 2c 20 24 6e 61 6d 65 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ('sha256',.$name));.}...........
150800 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 63 6b 28 24 62 6c 6f 63 6b 69 6e 67 20 3d public.function.lock($blocking.=
150820 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 29 20 7b 0a 72 .false).{.if.($this->handle).{.r
150840 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 65 72 72 6f 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a eturn.true;.}..$error.=.null;...
150860 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 66 75 6e 63 74 69 6f 6e 20 28 24 65 72 .set_error_handler(function.($er
150880 72 6e 6f 2c 20 24 6d 73 67 29 20 75 73 65 20 28 26 24 65 72 72 6f 72 29 20 7b 0a 24 65 72 72 6f rno,.$msg).use.(&$error).{.$erro
1508a0 72 20 3d 20 24 6d 73 67 3b 0a 7d 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 6e 64 6c r.=.$msg;.});..if.(!$this->handl
1508c0 65 20 3d 20 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 27 72 2b 27 29 20 3f 3a 20 e.=.fopen($this->file,.'r+').?:.
1508e0 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 27 72 27 29 29 20 7b 0a 69 66 20 28 24 fopen($this->file,.'r')).{.if.($
150900 74 68 69 73 2d 3e 68 61 6e 64 6c 65 20 3d 20 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e 66 69 6c 65 this->handle.=.fopen($this->file
150920 2c 20 27 78 27 29 29 20 7b 0a 63 68 6d 6f 64 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 30 36 36 ,.'x')).{.chmod($this->file,.066
150940 36 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 20 3d 20 66 6);.}.elseif.(!$this->handle.=.f
150960 6f 70 65 6e 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 27 72 2b 27 29 20 3f 3a 20 66 6f 70 65 6e open($this->file,.'r+').?:.fopen
150980 28 24 74 68 69 73 2d 3e 66 69 6c 65 2c 20 27 72 27 29 29 20 7b 0a 75 73 6c 65 65 70 28 31 30 30 ($this->file,.'r')).{.usleep(100
1509a0 29 3b 20 0a 20 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 20 3d 20 66 6f 70 65 6e 28 24 74 68 69 73 );...$this->handle.=.fopen($this
1509c0 2d 3e 66 69 6c 65 2c 20 27 72 2b 27 29 20 3f 3a 20 66 6f 70 65 6e 28 24 74 68 69 73 2d 3e 66 69 ->file,.'r+').?:.fopen($this->fi
1509e0 6c 65 2c 20 27 72 27 29 3b 0a 7d 0a 7d 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 le,.'r');.}.}.restore_error_hand
150a00 6c 65 72 28 29 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 29 20 7b 0a 74 68 ler();..if.(!$this->handle).{.th
150a20 72 6f 77 20 6e 65 77 20 49 4f 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 6f 72 2c 20 30 2c 20 6e row.new.IOException($error,.0,.n
150a40 75 6c 6c 2c 20 24 74 68 69 73 2d 3e 66 69 6c 65 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 21 66 ull,.$this->file);.}......if.(!f
150a60 6c 6f 63 6b 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 2c 20 4c 4f 43 4b 5f 45 58 20 7c 20 28 24 lock($this->handle,.LOCK_EX.|.($
150a80 62 6c 6f 63 6b 69 6e 67 20 3f 20 30 20 3a 20 4c 4f 43 4b 5f 4e 42 29 29 29 20 7b 0a 66 63 6c 6f blocking.?.0.:.LOCK_NB))).{.fclo
150aa0 73 65 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 29 3b 0a 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 se($this->handle);.$this->handle
150ac0 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 .=.null;..return.false;.}..retur
150ae0 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 n.true;.}.....public.function.re
150b00 6c 65 61 73 65 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 29 20 7b 0a 66 lease().{.if.($this->handle).{.f
150b20 6c 6f 63 6b 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 2c 20 4c 4f 43 4b 5f 55 4e 20 7c 20 4c 4f lock($this->handle,.LOCK_UN.|.LO
150b40 43 4b 5f 4e 42 29 3b 0a 66 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 68 61 6e 64 6c 65 29 3b 0a 24 CK_NB);.fclose($this->handle);.$
150b60 74 68 69 73 2d 3e 68 61 6e 64 6c 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 this->handle.=.null;.}.}.}.<?php
150b80 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
150ba0 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 3b 0a 0a 40 74 72 69 67 67 65 72 ponent\Finder\Adapter;..@trigger
150bc0 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 41 62 _error('The.'.__NAMESPACE__.'\Ab
150be0 73 74 72 61 63 74 41 64 61 70 74 65 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 stractAdapter.class.is.deprecate
150c00 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 d.since.Symfony.2.8.and.will.be.
150c20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 64 69 72 65 63 74 6c 79 20 74 68 65 removed.in.3.0..Use.directly.the
150c40 20 46 69 6e 64 65 72 20 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f .Finder.class.instead.',.E_USER_
150c60 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c DEPRECATED);.........abstract.cl
150c80 61 73 73 20 41 62 73 74 72 61 63 74 41 64 61 70 74 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 41 ass.AbstractAdapter.implements.A
150ca0 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 66 6f 6c dapterInterface.{.protected.$fol
150cc0 6c 6f 77 4c 69 6e 6b 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 6f 64 lowLinks.=.false;.protected.$mod
150ce0 65 20 3d 20 30 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 69 6e 44 65 70 74 68 20 3d 20 30 3b 0a e.=.0;.protected.$minDepth.=.0;.
150d00 70 72 6f 74 65 63 74 65 64 20 24 6d 61 78 44 65 70 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 protected.$maxDepth.=.PHP_INT_MA
150d20 58 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 65 78 63 6c 75 64 65 20 3d 20 61 72 72 61 79 28 29 3b X;.protected.$exclude.=.array();
150d40 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f .protected.$names.=.array();.pro
150d60 74 65 63 74 65 64 20 24 6e 6f 74 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 tected.$notNames.=.array();.prot
150d80 65 63 74 65 64 20 24 63 6f 6e 74 61 69 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 ected.$contains.=.array();.prote
150da0 63 74 65 64 20 24 6e 6f 74 43 6f 6e 74 61 69 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f cted.$notContains.=.array();.pro
150dc0 74 65 63 74 65 64 20 24 73 69 7a 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 tected.$sizes.=.array();.protect
150de0 65 64 20 24 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 ed.$dates.=.array();.protected.$
150e00 66 69 6c 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 6f filters.=.array();.protected.$so
150e20 72 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 70 61 74 68 73 20 3d 20 61 rt.=.false;.protected.$paths.=.a
150e40 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 74 50 61 74 68 73 20 3d 20 61 72 rray();.protected.$notPaths.=.ar
150e60 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 ray();.protected.$ignoreUnreadab
150e80 6c 65 44 69 72 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 leDirs.=.false;..private.static.
150ea0 24 61 72 65 53 75 70 70 6f 72 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 75 62 $areSupported.=.array();.....pub
150ec0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 75 70 70 6f 72 74 65 64 28 29 0a 7b 0a 24 6e 61 lic.function.isSupported().{.$na
150ee0 6d 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4e 61 6d 65 28 29 3b 0a 0a 69 66 20 28 21 61 72 72 me.=.$this->getName();..if.(!arr
150f00 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 6e 61 6d 65 2c 20 73 65 6c 66 3a 3a 24 61 72 65 53 ay_key_exists($name,.self::$areS
150f20 75 70 70 6f 72 74 65 64 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 61 72 65 53 75 70 70 6f 72 74 65 64 upported)).{.self::$areSupported
150f40 5b 24 6e 61 6d 65 5d 20 3d 20 24 74 68 69 73 2d 3e 63 61 6e 42 65 55 73 65 64 28 29 3b 0a 7d 0a [$name].=.$this->canBeUsed();.}.
150f60 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 61 72 65 53 75 70 70 6f 72 74 65 64 5b 24 6e 61 6d .return.self::$areSupported[$nam
150f80 65 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 6c e];.}.....public.function.setFol
150fa0 6c 6f 77 4c 69 6e 6b 73 28 24 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 29 0a 7b 0a 24 74 68 69 73 2d 3e lowLinks($followLinks).{.$this->
150fc0 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 20 3d 20 24 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 3b 0a 0a 72 65 74 followLinks.=.$followLinks;..ret
150fe0 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e urn.$this;.}.....public.function
151000 20 73 65 74 4d 6f 64 65 28 24 6d 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d 20 .setMode($mode).{.$this->mode.=.
151020 24 6d 6f 64 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c $mode;..return.$this;.}.....publ
151040 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 65 70 74 68 73 28 61 72 72 61 79 20 24 64 65 70 ic.function.setDepths(array.$dep
151060 74 68 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 3d 20 30 3b 0a 24 74 68 69 ths).{.$this->minDepth.=.0;.$thi
151080 73 2d 3e 6d 61 78 44 65 70 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 0a 66 6f 72 65 s->maxDepth.=.PHP_INT_MAX;..fore
1510a0 61 63 68 20 28 24 64 65 70 74 68 73 20 61 73 20 24 63 6f 6d 70 61 72 61 74 6f 72 29 20 7b 0a 73 ach.($depths.as.$comparator).{.s
1510c0 77 69 74 63 68 20 28 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 4f 70 65 72 61 74 6f 72 28 witch.($comparator->getOperator(
1510e0 29 29 20 7b 0a 63 61 73 65 20 27 3e 27 3a 0a 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 3d )).{.case.'>':.$this->minDepth.=
151100 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2b 20 31 3b 0a 62 .$comparator->getTarget().+.1;.b
151120 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 3d 27 3a 0a 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 reak;.case.'>=':.$this->minDepth
151140 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 62 72 65 .=.$comparator->getTarget();.bre
151160 61 6b 3b 0a 63 61 73 65 20 27 3c 27 3a 0a 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 3d 20 ak;.case.'<':.$this->maxDepth.=.
151180 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2d 20 31 3b 0a 62 72 $comparator->getTarget().-.1;.br
1511a0 65 61 6b 3b 0a 63 61 73 65 20 27 3c 3d 27 3a 0a 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 eak;.case.'<=':.$this->maxDepth.
1511c0 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 62 72 65 61 =.$comparator->getTarget();.brea
1511e0 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 3d 20 24 74 k;.default:.$this->minDepth.=.$t
151200 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 his->maxDepth.=.$comparator->get
151220 54 61 72 67 65 74 28 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a Target();.}.}..return.$this;.}..
151240 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 63 6c 75 64 65 28 61 72 ...public.function.setExclude(ar
151260 72 61 79 20 24 65 78 63 6c 75 64 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 20 3d ray.$exclude).{.$this->exclude.=
151280 20 24 65 78 63 6c 75 64 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a .$exclude;..return.$this;.}.....
1512a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 61 6d 65 73 28 61 72 72 61 79 20 24 public.function.setNames(array.$
1512c0 6e 61 6d 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 73 20 3d 20 24 6e 61 6d 65 73 3b 0a names).{.$this->names.=.$names;.
1512e0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .return.$this;.}.....public.func
151300 74 69 6f 6e 20 73 65 74 4e 6f 74 4e 61 6d 65 73 28 61 72 72 61 79 20 24 6e 6f 74 4e 61 6d 65 73 tion.setNotNames(array.$notNames
151320 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 20 3d 20 24 6e 6f 74 4e 61 6d 65 73 3b ).{.$this->notNames.=.$notNames;
151340 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ..return.$this;.}.....public.fun
151360 63 74 69 6f 6e 20 73 65 74 43 6f 6e 74 61 69 6e 73 28 61 72 72 61 79 20 24 63 6f 6e 74 61 69 6e ction.setContains(array.$contain
151380 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 20 3d 20 24 63 6f 6e 74 61 69 6e 73 s).{.$this->contains.=.$contains
1513a0 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ;..return.$this;.}.....public.fu
1513c0 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 74 43 6f 6e 74 61 69 6e 73 28 61 72 72 61 79 20 24 6e 6f 74 nction.setNotContains(array.$not
1513e0 43 6f 6e 74 61 69 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 20 3d Contains).{.$this->notContains.=
151400 20 24 6e 6f 74 43 6f 6e 74 61 69 6e 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a .$notContains;..return.$this;.}.
151420 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 69 7a 65 73 28 61 72 72 ....public.function.setSizes(arr
151440 61 79 20 24 73 69 7a 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 69 7a 65 73 20 3d 20 24 73 69 7a ay.$sizes).{.$this->sizes.=.$siz
151460 65 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 es;..return.$this;.}.....public.
151480 66 75 6e 63 74 69 6f 6e 20 73 65 74 44 61 74 65 73 28 61 72 72 61 79 20 24 64 61 74 65 73 29 0a function.setDates(array.$dates).
1514a0 7b 0a 24 74 68 69 73 2d 3e 64 61 74 65 73 20 3d 20 24 64 61 74 65 73 3b 0a 0a 72 65 74 75 72 6e {.$this->dates.=.$dates;..return
1514c0 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 .$this;.}.....public.function.se
1514e0 74 46 69 6c 74 65 72 73 28 61 72 72 61 79 20 24 66 69 6c 74 65 72 73 29 0a 7b 0a 24 74 68 69 73 tFilters(array.$filters).{.$this
151500 2d 3e 66 69 6c 74 65 72 73 20 3d 20 24 66 69 6c 74 65 72 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 ->filters.=.$filters;..return.$t
151520 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 6f his;.}.....public.function.setSo
151540 72 74 28 24 73 6f 72 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 24 73 6f 72 74 3b rt($sort).{.$this->sort.=.$sort;
151560 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ..return.$this;.}.....public.fun
151580 63 74 69 6f 6e 20 73 65 74 50 61 74 68 28 61 72 72 61 79 20 24 70 61 74 68 73 29 0a 7b 0a 24 74 ction.setPath(array.$paths).{.$t
1515a0 68 69 73 2d 3e 70 61 74 68 73 20 3d 20 24 70 61 74 68 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 his->paths.=.$paths;..return.$th
1515c0 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 74 is;.}.....public.function.setNot
1515e0 50 61 74 68 28 61 72 72 61 79 20 24 6e 6f 74 50 61 74 68 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e Path(array.$notPaths).{.$this->n
151600 6f 74 50 61 74 68 73 20 3d 20 24 6e 6f 74 50 61 74 68 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 otPaths.=.$notPaths;..return.$th
151620 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 is;.}.....public.function.ignore
151640 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 28 24 69 67 6e 6f 72 65 20 3d 20 74 72 75 65 29 0a 7b UnreadableDirs($ignore.=.true).{
151660 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 20 3d 20 28 .$this->ignoreUnreadableDirs.=.(
151680 62 6f 6f 6c 29 20 24 69 67 6e 6f 72 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a bool).$ignore;..return.$this;.}.
1516a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 ............abstract.protected.f
1516c0 75 6e 63 74 69 6f 6e 20 63 61 6e 42 65 55 73 65 64 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a unction.canBeUsed();.}.<?php....
1516e0 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 .......namespace.Symfony\Compone
151700 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 nt\Finder\Adapter;..@trigger_err
151720 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 41 62 73 74 72 61 or('The.'.__NAMESPACE__.'\Abstra
151740 63 74 46 69 6e 64 41 64 61 70 74 65 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 ctFindAdapter.class.is.deprecate
151760 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 d.since.Symfony.2.8.and.will.be.
151780 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 64 69 72 65 63 74 6c 79 20 74 68 65 removed.in.3.0..Use.directly.the
1517a0 20 46 69 6e 64 65 72 20 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f .Finder.class.instead.',.E_USER_
1517c0 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e DEPRECATED);..use.Symfony\Compon
1517e0 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 61 72 61 74 6f 72 5c 44 61 74 65 43 6f 6d 70 61 72 ent\Finder\Comparator\DateCompar
151800 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 ator;.use.Symfony\Component\Find
151820 65 72 5c 43 6f 6d 70 61 72 61 74 6f 72 5c 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 3b 0a er\Comparator\NumberComparator;.
151840 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 use.Symfony\Component\Finder\Exc
151860 65 70 74 69 6f 6e 5c 41 63 63 65 73 73 44 65 6e 69 65 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 eption\AccessDeniedException;.us
151880 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 70 72 65 e.Symfony\Component\Finder\Expre
1518a0 73 73 69 6f 6e 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f ssion\Expression;.use.Symfony\Co
1518c0 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d mponent\Finder\Iterator;.use.Sym
1518e0 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 43 6f 6d 6d fony\Component\Finder\Shell\Comm
151900 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 and;.use.Symfony\Component\Finde
151920 72 5c 53 68 65 6c 6c 5c 53 68 65 6c 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 r\Shell\Shell;.........abstract.
151940 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 46 69 6e 64 41 64 61 70 74 65 72 20 65 78 74 65 6e 64 class.AbstractFindAdapter.extend
151960 73 20 41 62 73 74 72 61 63 74 41 64 61 70 74 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 s.AbstractAdapter.{.protected.$s
151980 68 65 6c 6c 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 hell;..public.function.__constru
1519a0 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 68 65 6c 6c 20 3d 20 6e 65 77 20 53 68 65 6c 6c 28 ct().{.$this->shell.=.new.Shell(
1519c0 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 49 );.}.....public.function.searchI
1519e0 6e 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 0a 7b 0a 0a 20 24 64 69 72 20 3d 20 72 65 61 6c nDirectory($dir).{...$dir.=.real
151a00 70 61 74 68 28 24 64 69 72 29 3b 0a 0a 0a 20 69 66 20 28 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 path($dir);....if.(Iterator\File
151a20 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f TypeFilterIterator::ONLY_DIRECTO
151a40 52 49 45 53 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 65 20 26 26 20 28 24 74 68 69 73 2d 3e RIES.===.$this->mode.&&.($this->
151a60 63 6f 6e 74 61 69 6e 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 29 contains.||.$this->notContains))
151a80 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 50 61 74 68 73 .{.return.new.Iterator\FilePaths
151aa0 49 74 65 72 61 74 6f 72 28 61 72 72 61 79 28 29 2c 20 24 64 69 72 29 3b 0a 7d 0a 0a 24 63 6f 6d Iterator(array(),.$dir);.}..$com
151ac0 6d 61 6e 64 20 3d 20 43 6f 6d 6d 61 6e 64 3a 3a 63 72 65 61 74 65 28 29 3b 0a 24 66 69 6e 64 20 mand.=.Command::create();.$find.
151ae0 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 =.$this->buildFindCommand($comma
151b00 6e 64 2c 20 24 64 69 72 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e nd,.$dir);..if.($this->followLin
151b20 6b 73 29 20 7b 0a 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 66 6f 6c 6c 6f 77 27 29 3b 0a 7d 0a 0a ks).{.$find->add('-follow');.}..
151b40 24 66 69 6e 64 2d 3e 61 64 64 28 27 2d 6d 69 6e 64 65 70 74 68 27 29 2d 3e 61 64 64 28 24 74 68 $find->add('-mindepth')->add($th
151b60 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 2b 20 31 29 3b 0a 0a 69 66 20 28 50 48 50 5f 49 4e 54 5f is->minDepth.+.1);..if.(PHP_INT_
151b80 4d 41 58 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 29 20 7b 0a 24 66 69 6e 64 MAX.!==.$this->maxDepth).{.$find
151ba0 2d 3e 61 64 64 28 27 2d 6d 61 78 64 65 70 74 68 27 29 2d 3e 61 64 64 28 24 74 68 69 73 2d 3e 6d ->add('-maxdepth')->add($this->m
151bc0 61 78 44 65 70 74 68 20 2b 20 31 29 3b 0a 7d 0a 0a 69 66 20 28 49 74 65 72 61 74 6f 72 5c 46 69 axDepth.+.1);.}..if.(Iterator\Fi
151be0 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 leTypeFilterIterator::ONLY_DIREC
151c00 54 4f 52 49 45 53 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 7b 0a 24 66 69 6e 64 2d TORIES.===.$this->mode).{.$find-
151c20 3e 61 64 64 28 27 2d 74 79 70 65 20 64 27 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 49 74 65 72 61 >add('-type.d');.}.elseif.(Itera
151c40 74 6f 72 5c 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3a 3a 4f 4e 4c 59 tor\FileTypeFilterIterator::ONLY
151c60 5f 46 49 4c 45 53 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 7b 0a 24 66 69 6e 64 2d _FILES.===.$this->mode).{.$find-
151c80 3e 61 64 64 28 27 2d 74 79 70 65 20 66 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 >add('-type.f');.}..$this->build
151ca0 4e 61 6d 65 73 46 69 6c 74 65 72 69 6e 67 28 24 66 69 6e 64 2c 20 24 74 68 69 73 2d 3e 6e 61 6d NamesFiltering($find,.$this->nam
151cc0 65 73 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 4e 61 6d 65 73 46 69 6c 74 65 72 69 6e 67 28 es);.$this->buildNamesFiltering(
151ce0 24 66 69 6e 64 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 2c 20 74 72 75 65 29 3b 0a 24 $find,.$this->notNames,.true);.$
151d00 74 68 69 73 2d 3e 62 75 69 6c 64 50 61 74 68 73 46 69 6c 74 65 72 69 6e 67 28 24 66 69 6e 64 2c this->buildPathsFiltering($find,
151d20 20 24 64 69 72 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 73 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 .$dir,.$this->paths);.$this->bui
151d40 6c 64 50 61 74 68 73 46 69 6c 74 65 72 69 6e 67 28 24 66 69 6e 64 2c 20 24 64 69 72 2c 20 24 74 ldPathsFiltering($find,.$dir,.$t
151d60 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 2c 20 74 72 75 65 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 his->notPaths,.true);.$this->bui
151d80 6c 64 53 69 7a 65 73 46 69 6c 74 65 72 69 6e 67 28 24 66 69 6e 64 2c 20 24 74 68 69 73 2d 3e 73 ldSizesFiltering($find,.$this->s
151da0 69 7a 65 73 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 61 74 65 73 46 69 6c 74 65 72 69 6e izes);.$this->buildDatesFilterin
151dc0 67 28 24 66 69 6e 64 2c 20 24 74 68 69 73 2d 3e 64 61 74 65 73 29 3b 0a 0a 24 75 73 65 47 72 65 g($find,.$this->dates);..$useGre
151de0 70 20 3d 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e 64 28 27 67 p.=.$this->shell->testCommand('g
151e00 72 65 70 27 29 20 26 26 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 rep').&&.$this->shell->testComma
151e20 6e 64 28 27 78 61 72 67 73 27 29 3b 0a 24 75 73 65 53 6f 72 74 20 3d 20 5c 69 73 5f 69 6e 74 28 nd('xargs');.$useSort.=.\is_int(
151e40 24 74 68 69 73 2d 3e 73 6f 72 74 29 20 26 26 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 74 65 $this->sort).&&.$this->shell->te
151e60 73 74 43 6f 6d 6d 61 6e 64 28 27 73 6f 72 74 27 29 20 26 26 20 24 74 68 69 73 2d 3e 73 68 65 6c stCommand('sort').&&.$this->shel
151e80 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e 64 28 27 63 75 74 27 29 3b 0a 0a 69 66 20 28 24 75 73 65 l->testCommand('cut');..if.($use
151ea0 47 72 65 70 20 26 26 20 28 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 20 7c 7c 20 24 74 68 69 Grep.&&.($this->contains.||.$thi
151ec0 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 29 20 7b 0a 24 67 72 65 70 20 3d 20 24 63 6f 6d 6d s->notContains)).{.$grep.=.$comm
151ee0 61 6e 64 2d 3e 69 6e 73 28 27 67 72 65 70 27 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f and->ins('grep');.$this->buildCo
151f00 6e 74 65 6e 74 46 69 6c 74 65 72 69 6e 67 28 24 67 72 65 70 2c 20 24 74 68 69 73 2d 3e 63 6f 6e ntentFiltering($grep,.$this->con
151f20 74 61 69 6e 73 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 6f 6e 74 65 6e 74 46 69 6c 74 65 tains);.$this->buildContentFilte
151f40 72 69 6e 67 28 24 67 72 65 70 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 2c 20 ring($grep,.$this->notContains,.
151f60 74 72 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 75 73 65 53 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d true);.}..if.($useSort).{.$this-
151f80 3e 62 75 69 6c 64 53 6f 72 74 69 6e 67 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 74 68 69 73 2d 3e 73 >buildSorting($command,.$this->s
151fa0 6f 72 74 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 73 65 74 45 72 72 6f 72 48 61 6e 64 6c ort);.}..$command->setErrorHandl
151fc0 65 72 28 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 0a er(.$this->ignoreUnreadableDirs.
151fe0 0a 20 3f 20 66 75 6e 63 74 69 6f 6e 20 28 24 73 74 64 65 72 72 29 20 7b 20 7d 0a 3a 20 66 75 6e ..?.function.($stderr).{.}.:.fun
152000 63 74 69 6f 6e 20 28 24 73 74 64 65 72 72 29 20 7b 20 74 68 72 6f 77 20 6e 65 77 20 41 63 63 65 ction.($stderr).{.throw.new.Acce
152020 73 73 44 65 6e 69 65 64 45 78 63 65 70 74 69 6f 6e 28 24 73 74 64 65 72 72 29 3b 20 7d 0a 29 3b ssDeniedException($stderr);.}.);
152040 0a 0a 24 70 61 74 68 73 20 3d 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d ..$paths.=.$this->shell->testCom
152060 6d 61 6e 64 28 27 75 6e 69 71 27 29 20 3f 20 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 7c 20 mand('uniq').?.$command->add('|.
152080 75 6e 69 71 27 29 2d 3e 65 78 65 63 75 74 65 28 29 20 3a 20 61 72 72 61 79 5f 75 6e 69 71 75 65 uniq')->execute().:.array_unique
1520a0 28 24 63 6f 6d 6d 61 6e 64 2d 3e 65 78 65 63 75 74 65 28 29 29 3b 0a 24 69 74 65 72 61 74 6f 72 ($command->execute());.$iterator
1520c0 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 50 61 74 68 73 49 74 65 72 61 74 6f .=.new.Iterator\FilePathsIterato
1520e0 72 28 24 70 61 74 68 73 2c 20 24 64 69 72 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 63 r($paths,.$dir);..if.($this->exc
152100 6c 75 64 65 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 lude).{.$iterator.=.new.Iterator
152120 5c 45 78 63 6c 75 64 65 44 69 72 65 63 74 6f 72 79 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 \ExcludeDirectoryFilterIterator(
152140 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 3b 0a 7d 0a 0a 69 $iterator,.$this->exclude);.}..i
152160 66 20 28 21 24 75 73 65 47 72 65 70 20 26 26 20 28 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 f.(!$useGrep.&&.($this->contains
152180 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 29 20 7b 0a 24 69 74 65 72 .||.$this->notContains)).{.$iter
1521a0 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 63 6f 6e 74 65 6e 74 46 ator.=.new.Iterator\FilecontentF
1521c0 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e ilterIterator($iterator,.$this->
1521e0 63 6f 6e 74 61 69 6e 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 3b 0a 7d contains,.$this->notContains);.}
152200 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 20 7b 0a 24 69 74 65 72 61 74 6f ..if.($this->filters).{.$iterato
152220 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 43 75 73 74 6f 6d 46 69 6c 74 65 72 49 74 65 r.=.new.Iterator\CustomFilterIte
152240 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 rator($iterator,.$this->filters)
152260 3b 0a 7d 0a 0a 69 66 20 28 21 24 75 73 65 53 6f 72 74 20 26 26 20 24 74 68 69 73 2d 3e 73 6f 72 ;.}..if.(!$useSort.&&.$this->sor
152280 74 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 20 3d 20 6e 65 77 20 49 74 t).{.$iteratorAggregate.=.new.It
1522a0 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f erator\SortableIterator($iterato
1522c0 72 2c 20 24 74 68 69 73 2d 3e 73 6f 72 74 29 3b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 69 74 r,.$this->sort);.$iterator.=.$it
1522e0 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 3b 0a eratorAggregate->getIterator();.
152300 7d 0a 0a 72 65 74 75 72 6e 20 24 69 74 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 }..return.$iterator;.}.....prote
152320 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 42 65 55 73 65 64 28 29 0a 7b 0a 72 65 74 75 cted.function.canBeUsed().{.retu
152340 72 6e 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 74 65 73 74 43 6f 6d 6d 61 6e 64 28 27 66 69 rn.$this->shell->testCommand('fi
152360 6e 64 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f nd');.}........protected.functio
152380 6e 20 62 75 69 6c 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d n.buildFindCommand(Command.$comm
1523a0 61 6e 64 2c 20 24 64 69 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 69 and,.$dir).{.return.$command.->i
1523c0 6e 73 28 27 66 69 6e 64 27 29 0a 2d 3e 61 64 64 28 27 66 69 6e 64 20 27 29 0a 2d 3e 61 72 67 28 ns('find').->add('find.').->arg(
1523e0 24 64 69 72 29 0a 2d 3e 61 64 64 28 27 2d 6e 6f 6c 65 61 66 27 29 3b 20 0a 20 7d 0a 0a 0a 0a 0a $dir).->add('-noleaf');...}.....
152400 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 4e 61 6d 65 73 46 69 6c ..private.function.buildNamesFil
152420 74 65 72 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 tering(Command.$command,.array.$
152440 6e 61 6d 65 73 2c 20 24 6e 6f 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d names,.$not.=.false).{.if.(0.===
152460 20 5c 63 6f 75 6e 74 28 24 6e 61 6d 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 .\count($names)).{.return;.}..$c
152480 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 24 6e 6f 74 20 3f 20 27 2d 6e 6f 74 27 20 3a 20 6e 75 6c 6c ommand->add($not.?.'-not'.:.null
1524a0 29 2d 3e 63 6d 64 28 27 28 27 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e 61 6d 65 73 20 61 73 )->cmd('(');..foreach.($names.as
1524c0 20 24 69 20 3d 3e 20 24 6e 61 6d 65 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 69 .$i.=>.$name).{.$expr.=.Expressi
1524e0 6f 6e 3a 3a 63 72 65 61 74 65 28 24 6e 61 6d 65 29 3b 0a 0a 0a 20 69 66 20 28 24 65 78 70 72 2d on::create($name);....if.($expr-
152500 3e 69 73 47 6c 6f 62 28 29 20 26 26 20 24 65 78 70 72 2d 3e 67 65 74 47 6c 6f 62 28 29 2d 3e 69 >isGlob().&&.$expr->getGlob()->i
152520 73 45 78 70 61 6e 64 61 62 6c 65 28 29 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 sExpandable()).{.$expr.=.Express
152540 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 65 78 70 72 2d 3e 67 65 74 47 6c 6f 62 28 29 2d 3e 74 6f ion::create($expr->getGlob()->to
152560 52 65 67 65 78 28 66 61 6c 73 65 29 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 69 66 20 28 24 65 78 70 Regex(false));.}........if.($exp
152580 72 2d 3e 69 73 52 65 67 65 78 28 29 29 20 7b 0a 24 72 65 67 65 78 20 3d 20 24 65 78 70 72 2d 3e r->isRegex()).{.$regex.=.$expr->
1525a0 67 65 74 52 65 67 65 78 28 29 3b 0a 24 72 65 67 65 78 2d 3e 70 72 65 70 65 6e 64 28 24 72 65 67 getRegex();.$regex->prepend($reg
1525c0 65 78 2d 3e 68 61 73 53 74 61 72 74 46 6c 61 67 28 29 20 3f 20 27 2f 27 20 3a 20 27 2f 5b 5e 2f ex->hasStartFlag().?.'/'.:.'/[^/
1525e0 5d 2a 27 29 0a 2d 3e 73 65 74 53 74 61 72 74 46 6c 61 67 28 66 61 6c 73 65 29 0a 2d 3e 73 65 74 ]*').->setStartFlag(false).->set
152600 53 74 61 72 74 4a 6f 6b 65 72 28 74 72 75 65 29 0a 2d 3e 72 65 70 6c 61 63 65 4a 6f 6b 65 72 73 StartJoker(true).->replaceJokers
152620 28 27 5b 5e 2f 5d 27 29 3b 0a 69 66 20 28 21 24 72 65 67 65 78 2d 3e 68 61 73 45 6e 64 46 6c 61 ('[^/]');.if.(!$regex->hasEndFla
152640 67 28 29 20 7c 7c 20 24 72 65 67 65 78 2d 3e 68 61 73 45 6e 64 4a 6f 6b 65 72 28 29 29 20 7b 0a g().||.$regex->hasEndJoker()).{.
152660 24 72 65 67 65 78 2d 3e 73 65 74 45 6e 64 4a 6f 6b 65 72 28 66 61 6c 73 65 29 2d 3e 61 70 70 65 $regex->setEndJoker(false)->appe
152680 6e 64 28 27 5b 5e 2f 5d 2a 27 29 3b 0a 7d 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 64 64 nd('[^/]*');.}.}..$command.->add
1526a0 28 24 69 20 3e 20 30 20 3f 20 27 2d 6f 72 27 20 3a 20 6e 75 6c 6c 29 0a 2d 3e 61 64 64 28 24 65 ($i.>.0.?.'-or'.:.null).->add($e
1526c0 78 70 72 2d 3e 69 73 52 65 67 65 78 28 29 0a 3f 20 28 24 65 78 70 72 2d 3e 69 73 43 61 73 65 53 xpr->isRegex().?.($expr->isCaseS
1526e0 65 6e 73 69 74 69 76 65 28 29 20 3f 20 27 2d 72 65 67 65 78 27 20 3a 20 27 2d 69 72 65 67 65 78 ensitive().?.'-regex'.:.'-iregex
152700 27 29 0a 3a 20 28 24 65 78 70 72 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 20 3f ').:.($expr->isCaseSensitive().?
152720 20 27 2d 6e 61 6d 65 27 20 3a 20 27 2d 69 6e 61 6d 65 27 29 0a 29 0a 2d 3e 61 72 67 28 24 65 78 .'-name'.:.'-iname').).->arg($ex
152740 70 72 2d 3e 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e pr->renderPattern());.}..$comman
152760 64 2d 3e 63 6d 64 28 27 29 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 d->cmd(')');.}........private.fu
152780 6e 63 74 69 6f 6e 20 62 75 69 6c 64 50 61 74 68 73 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 nction.buildPathsFiltering(Comma
1527a0 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 2c 20 61 72 72 61 79 20 24 70 61 74 68 73 2c nd.$command,.$dir,.array.$paths,
1527c0 20 24 6e 6f 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 5c 63 6f 75 6e .$not.=.false).{.if.(0.===.\coun
1527e0 74 28 24 70 61 74 68 73 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 t($paths)).{.return;.}..$command
152800 2d 3e 61 64 64 28 24 6e 6f 74 20 3f 20 27 2d 6e 6f 74 27 20 3a 20 6e 75 6c 6c 29 2d 3e 63 6d 64 ->add($not.?.'-not'.:.null)->cmd
152820 28 27 28 27 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 68 73 20 61 73 20 24 69 20 3d 3e ('(');..foreach.($paths.as.$i.=>
152840 20 24 70 61 74 68 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 69 6f 6e 3a 3a 63 72 .$path).{.$expr.=.Expression::cr
152860 65 61 74 65 28 24 70 61 74 68 29 3b 0a 0a 0a 20 69 66 20 28 24 65 78 70 72 2d 3e 69 73 47 6c 6f eate($path);....if.($expr->isGlo
152880 62 28 29 20 26 26 20 24 65 78 70 72 2d 3e 67 65 74 47 6c 6f 62 28 29 2d 3e 69 73 45 78 70 61 6e b().&&.$expr->getGlob()->isExpan
1528a0 64 61 62 6c 65 28 29 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 69 6f 6e 3a 3a 63 dable()).{.$expr.=.Expression::c
1528c0 72 65 61 74 65 28 24 65 78 70 72 2d 3e 67 65 74 47 6c 6f 62 28 29 2d 3e 74 6f 52 65 67 65 78 28 reate($expr->getGlob()->toRegex(
1528e0 66 61 6c 73 65 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 65 78 70 72 2d 3e 69 73 52 65 67 65 78 false));.}....if.($expr->isRegex
152900 28 29 29 20 7b 0a 24 72 65 67 65 78 20 3d 20 24 65 78 70 72 2d 3e 67 65 74 52 65 67 65 78 28 29 ()).{.$regex.=.$expr->getRegex()
152920 3b 0a 24 72 65 67 65 78 2d 3e 70 72 65 70 65 6e 64 28 24 72 65 67 65 78 2d 3e 68 61 73 53 74 61 ;.$regex->prepend($regex->hasSta
152940 72 74 46 6c 61 67 28 29 20 3f 20 70 72 65 67 5f 71 75 6f 74 65 28 24 64 69 72 29 2e 5c 44 49 52 rtFlag().?.preg_quote($dir).\DIR
152960 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 3a 20 27 2e 2a 27 29 2d 3e 73 65 74 45 6e 64 ECTORY_SEPARATOR.:.'.*')->setEnd
152980 4a 6f 6b 65 72 28 21 24 72 65 67 65 78 2d 3e 68 61 73 45 6e 64 46 6c 61 67 28 29 29 3b 0a 7d 20 Joker(!$regex->hasEndFlag());.}.
1529a0 65 6c 73 65 20 7b 0a 24 65 78 70 72 2d 3e 70 72 65 70 65 6e 64 28 27 2a 27 29 2d 3e 61 70 70 65 else.{.$expr->prepend('*')->appe
1529c0 6e 64 28 27 2a 27 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 64 64 28 24 69 20 3e 20 nd('*');.}..$command.->add($i.>.
1529e0 30 20 3f 20 27 2d 6f 72 27 20 3a 20 6e 75 6c 6c 29 0a 2d 3e 61 64 64 28 24 65 78 70 72 2d 3e 69 0.?.'-or'.:.null).->add($expr->i
152a00 73 52 65 67 65 78 28 29 0a 3f 20 28 24 65 78 70 72 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 sRegex().?.($expr->isCaseSensiti
152a20 76 65 28 29 20 3f 20 27 2d 72 65 67 65 78 27 20 3a 20 27 2d 69 72 65 67 65 78 27 29 0a 3a 20 28 ve().?.'-regex'.:.'-iregex').:.(
152a40 24 65 78 70 72 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 20 3f 20 27 2d 70 61 74 $expr->isCaseSensitive().?.'-pat
152a60 68 27 20 3a 20 27 2d 69 70 61 74 68 27 29 0a 29 0a 2d 3e 61 72 67 28 24 65 78 70 72 2d 3e 72 65 h'.:.'-ipath').).->arg($expr->re
152a80 6e 64 65 72 50 61 74 74 65 72 6e 28 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 63 6d 64 nderPattern());.}..$command->cmd
152aa0 28 27 29 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 (')');.}......private.function.b
152ac0 75 69 6c 64 53 69 7a 65 73 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d uildSizesFiltering(Command.$comm
152ae0 61 6e 64 2c 20 61 72 72 61 79 20 24 73 69 7a 65 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 73 and,.array.$sizes).{.foreach.($s
152b00 69 7a 65 73 20 61 73 20 24 69 20 3d 3e 20 24 73 69 7a 65 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 2d izes.as.$i.=>.$size).{.$command-
152b20 3e 61 64 64 28 24 69 20 3e 20 30 20 3f 20 27 2d 61 6e 64 27 20 3a 20 6e 75 6c 6c 29 3b 0a 0a 73 >add($i.>.0.?.'-and'.:.null);..s
152b40 77 69 74 63 68 20 28 24 73 69 7a 65 2d 3e 67 65 74 4f 70 65 72 61 74 6f 72 28 29 29 20 7b 0a 63 witch.($size->getOperator()).{.c
152b60 61 73 65 20 27 3c 3d 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 20 2d ase.'<=':.$command->add('-size.-
152b80 27 2e 28 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2b 20 31 29 2e 27 63 27 29 3b '.($size->getTarget().+.1).'c');
152ba0 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 3d 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 .break;.case.'>=':.$command->add
152bc0 28 27 2d 73 69 7a 65 20 2b 27 2e 28 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2d ('-size.+'.($size->getTarget().-
152be0 20 31 29 2e 27 63 27 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 27 3a 0a 24 63 6f 6d 6d .1).'c');.break;.case.'>':.$comm
152c00 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 20 2b 27 2e 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 and->add('-size.+'.$size->getTar
152c20 67 65 74 28 29 2e 27 63 27 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 21 3d 27 3a 0a 24 63 get().'c');.break;.case.'!=':.$c
152c40 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 20 2d 27 2e 24 73 69 7a 65 2d 3e 67 65 74 ommand->add('-size.-'.$size->get
152c60 54 61 72 67 65 74 28 29 2e 27 63 27 29 3b 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 73 Target().'c');.$command->add('-s
152c80 69 7a 65 20 2b 27 2e 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 2e 27 63 27 29 3b 0a ize.+'.$size->getTarget().'c');.
152ca0 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3c 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 24 63 6f 6d 6d 61 break;.case.'<':.default:.$comma
152cc0 6e 64 2d 3e 61 64 64 28 27 2d 73 69 7a 65 20 2d 27 2e 24 73 69 7a 65 2d 3e 67 65 74 54 61 72 67 nd->add('-size.-'.$size->getTarg
152ce0 65 74 28 29 2e 27 63 27 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 et().'c');.}.}.}......private.fu
152d00 6e 63 74 69 6f 6e 20 62 75 69 6c 64 44 61 74 65 73 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 nction.buildDatesFiltering(Comma
152d20 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 64 61 74 65 73 29 0a 7b 0a 66 6f 72 nd.$command,.array.$dates).{.for
152d40 65 61 63 68 20 28 24 64 61 74 65 73 20 61 73 20 24 69 20 3d 3e 20 24 64 61 74 65 29 20 7b 0a 24 each.($dates.as.$i.=>.$date).{.$
152d60 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 24 69 20 3e 20 30 20 3f 20 27 2d 61 6e 64 27 20 3a 20 6e command->add($i.>.0.?.'-and'.:.n
152d80 75 6c 6c 29 3b 0a 0a 24 6d 69 6e 73 20 3d 20 28 69 6e 74 29 20 72 6f 75 6e 64 28 28 74 69 6d 65 ull);..$mins.=.(int).round((time
152da0 28 29 20 2d 20 24 64 61 74 65 2d 3e 67 65 74 54 61 72 67 65 74 28 29 29 20 2f 20 36 30 29 3b 0a ().-.$date->getTarget())./.60);.
152dc0 0a 69 66 20 28 30 20 3e 20 24 6d 69 6e 73 29 20 7b 0a 0a 20 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 .if.(0.>.$mins).{...$command->ad
152de0 64 28 27 20 2d 6d 6d 69 6e 20 2d 30 27 29 3b 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 73 77 69 d('.-mmin.-0');...return;.}..swi
152e00 74 63 68 20 28 24 64 61 74 65 2d 3e 67 65 74 4f 70 65 72 61 74 6f 72 28 29 29 20 7b 0a 63 61 73 tch.($date->getOperator()).{.cas
152e20 65 20 27 3c 3d 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2b 27 2e e.'<=':.$command->add('-mmin.+'.
152e40 28 24 6d 69 6e 73 20 2d 20 31 29 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 3d 27 3a 0a ($mins.-.1));.break;.case.'>=':.
152e60 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2d 27 2e 28 24 6d 69 6e 73 20 2b $command->add('-mmin.-'.($mins.+
152e80 20 31 29 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3e 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d .1));.break;.case.'>':.$command-
152ea0 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2d 27 2e 24 6d 69 6e 73 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 >add('-mmin.-'.$mins);.break;.ca
152ec0 73 65 20 27 21 3d 27 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2b 27 se.'!=':.$command->add('-mmin.+'
152ee0 2e 24 6d 69 6e 73 2e 27 20 2d 6f 72 20 2d 6d 6d 69 6e 20 2d 27 2e 24 6d 69 6e 73 29 3b 0a 62 72 .$mins.'.-or.-mmin.-'.$mins);.br
152f00 65 61 6b 3b 0a 63 61 73 65 20 27 3c 27 3a 0a 64 65 66 61 75 6c 74 3a 0a 24 63 6f 6d 6d 61 6e 64 eak;.case.'<':.default:.$command
152f20 2d 3e 61 64 64 28 27 2d 6d 6d 69 6e 20 2b 27 2e 24 6d 69 6e 73 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a ->add('-mmin.+'.$mins);.}.}.}...
152f40 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 53 6f 72 74 69 .....private.function.buildSorti
152f60 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 73 6f 72 74 29 0a 7b 0a 24 74 ng(Command.$command,.$sort).{.$t
152f80 68 69 73 2d 3e 62 75 69 6c 64 46 6f 72 6d 61 74 53 6f 72 74 69 6e 67 28 24 63 6f 6d 6d 61 6e 64 his->buildFormatSorting($command
152fa0 2c 20 24 73 6f 72 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 ,.$sort);.}......abstract.protec
152fc0 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 46 6f 72 6d 61 74 53 6f 72 74 69 6e 67 28 ted.function.buildFormatSorting(
152fe0 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 73 6f 72 74 29 3b 0a 0a 0a 0a 0a 0a 0a Command.$command,.$sort);.......
153000 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c abstract.protected.function.buil
153020 64 43 6f 6e 74 65 6e 74 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 dContentFiltering(Command.$comma
153040 6e 64 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 61 69 6e 73 2c 20 24 6e 6f 74 20 3d 20 66 61 6c 73 nd,.array.$contains,.$not.=.fals
153060 65 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 e);.}.<?php...........namespace.
153080 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 Symfony\Component\Finder\Adapter
1530a0 3b 0a 0a 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 ;.......interface.AdapterInterfa
1530c0 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 6f 6c ce.{......public.function.setFol
1530e0 6c 6f 77 4c 69 6e 6b 73 28 24 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 lowLinks($followLinks);.......pu
153100 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 6f 64 65 28 24 6d 6f 64 65 29 3b 0a 0a 0a blic.function.setMode($mode);...
153120 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 78 63 6c 75 64 65 28 61 72 72 ..public.function.setExclude(arr
153140 61 79 20 24 65 78 63 6c 75 64 65 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ay.$exclude);.....public.functio
153160 6e 20 73 65 74 44 65 70 74 68 73 28 61 72 72 61 79 20 24 64 65 70 74 68 73 29 3b 0a 0a 0a 0a 0a n.setDepths(array.$depths);.....
153180 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 61 6d 65 73 28 61 72 72 61 79 20 24 public.function.setNames(array.$
1531a0 6e 61 6d 65 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e names);.....public.function.setN
1531c0 6f 74 4e 61 6d 65 73 28 61 72 72 61 79 20 24 6e 6f 74 4e 61 6d 65 73 29 3b 0a 0a 0a 0a 0a 70 75 otNames(array.$notNames);.....pu
1531e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 74 61 69 6e 73 28 61 72 72 61 79 20 blic.function.setContains(array.
153200 24 63 6f 6e 74 61 69 6e 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 $contains);.....public.function.
153220 73 65 74 4e 6f 74 43 6f 6e 74 61 69 6e 73 28 61 72 72 61 79 20 24 6e 6f 74 43 6f 6e 74 61 69 6e setNotContains(array.$notContain
153240 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 69 7a 65 73 s);.....public.function.setSizes
153260 28 61 72 72 61 79 20 24 73 69 7a 65 73 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 (array.$sizes);.....public.funct
153280 69 6f 6e 20 73 65 74 44 61 74 65 73 28 61 72 72 61 79 20 24 64 61 74 65 73 29 3b 0a 0a 0a 0a 0a ion.setDates(array.$dates);.....
1532a0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 46 69 6c 74 65 72 73 28 61 72 72 61 79 public.function.setFilters(array
1532c0 20 24 66 69 6c 74 65 72 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$filters);.......public.functio
1532e0 6e 20 73 65 74 53 6f 72 74 28 24 73 6f 72 74 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e n.setSort($sort);.....public.fun
153300 63 74 69 6f 6e 20 73 65 74 50 61 74 68 28 61 72 72 61 79 20 24 70 61 74 68 73 29 3b 0a 0a 0a 0a ction.setPath(array.$paths);....
153320 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4e 6f 74 50 61 74 68 28 61 72 72 61 .public.function.setNotPath(arra
153340 79 20 24 6e 6f 74 50 61 74 68 73 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 y.$notPaths);.......public.funct
153360 69 6f 6e 20 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 28 24 69 67 6e 6f 72 65 ion.ignoreUnreadableDirs($ignore
153380 20 3d 20 74 72 75 65 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 .=.true);.......public.function.
1533a0 73 65 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 3b 0a 0a 0a 0a 0a 0a 0a 70 searchInDirectory($dir);.......p
1533c0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 75 70 70 6f 72 74 65 64 28 29 3b 0a 0a 0a ublic.function.isSupported();...
1533e0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 3b 0a 7d ....public.function.getName();.}
153400 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
153420 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 3b 0a 0a 40 74 ny\Component\Finder\Adapter;..@t
153440 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f rigger_error('The.'.__NAMESPACE_
153460 5f 2e 27 5c 42 73 64 46 69 6e 64 41 64 61 70 74 65 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 _.'\BsdFindAdapter.class.is.depr
153480 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c ecated.since.Symfony.2.8.and.wil
1534a0 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 64 69 72 65 63 74 6c l.be.removed.in.3.0..Use.directl
1534c0 79 20 74 68 65 20 46 69 6e 64 65 72 20 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f y.the.Finder.class.instead.',.E_
1534e0 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 USER_DEPRECATED);..use.Symfony\C
153500 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 5c 45 78 70 72 65 omponent\Finder\Expression\Expre
153520 73 73 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e ssion;.use.Symfony\Component\Fin
153540 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3b 0a 75 der\Iterator\SortableIterator;.u
153560 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c se.Symfony\Component\Finder\Shel
153580 6c 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 l\Command;.use.Symfony\Component
1535a0 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 53 68 65 6c 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 \Finder\Shell\Shell;.........cla
1535c0 73 73 20 42 73 64 46 69 6e 64 41 64 61 70 74 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 ss.BsdFindAdapter.extends.Abstra
1535e0 63 74 46 69 6e 64 41 64 61 70 74 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ctFindAdapter.{....public.functi
153600 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 62 73 64 5f 66 69 6e 64 27 on.getName().{.return.'bsd_find'
153620 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 42 65 ;.}.....protected.function.canBe
153640 55 73 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 5c 69 6e 5f 61 72 72 61 79 28 24 74 68 69 73 2d Used().{.return.\in_array($this-
153660 3e 73 68 65 6c 6c 2d 3e 67 65 74 54 79 70 65 28 29 2c 20 61 72 72 61 79 28 53 68 65 6c 6c 3a 3a >shell->getType(),.array(Shell::
153680 54 59 50 45 5f 42 53 44 2c 20 53 68 65 6c 6c 3a 3a 54 59 50 45 5f 44 41 52 57 49 4e 29 29 20 26 TYPE_BSD,.Shell::TYPE_DARWIN)).&
1536a0 26 20 70 61 72 65 6e 74 3a 3a 63 61 6e 42 65 55 73 65 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f &.parent::canBeUsed();.}.....pro
1536c0 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 46 6f 72 6d 61 74 53 6f 72 74 69 tected.function.buildFormatSorti
1536e0 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 73 6f 72 74 29 0a 7b 0a 73 77 ng(Command.$command,.$sort).{.sw
153700 69 74 63 68 20 28 24 73 6f 72 74 29 20 7b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 itch.($sort).{.case.SortableIter
153720 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 4e 41 4d 45 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 69 6e ator::SORT_BY_NAME:.$command->in
153740 73 28 27 73 6f 72 74 27 29 2d 3e 61 64 64 28 27 7c 20 73 6f 72 74 27 29 3b 0a 0a 72 65 74 75 72 s('sort')->add('|.sort');..retur
153760 6e 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 n;.case.SortableIterator::SORT_B
153780 59 5f 54 59 50 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 48 54 27 3b 0a 62 72 65 61 6b 3b 0a Y_TYPE:.$format.=.'%HT';.break;.
1537a0 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 41 case.SortableIterator::SORT_BY_A
1537c0 43 43 45 53 53 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 61 27 3b 0a 62 72 CCESSED_TIME:.$format.=.'%a';.br
1537e0 65 61 6b 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 eak;.case.SortableIterator::SORT
153800 5f 42 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 63 27 _BY_CHANGED_TIME:.$format.=.'%c'
153820 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a ;.break;.case.SortableIterator::
153840 53 4f 52 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d SORT_BY_MODIFIED_TIME:.$format.=
153860 20 27 25 6d 27 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 .'%m';.break;.default:.throw.new
153880 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e .\InvalidArgumentException(sprin
1538a0 74 66 28 27 55 6e 6b 6e 6f 77 6e 20 73 6f 72 74 20 6f 70 74 69 6f 6e 73 3a 20 25 73 2e 27 2c 20 tf('Unknown.sort.options:.%s.',.
1538c0 24 73 6f 72 74 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 64 64 28 27 2d 70 72 69 $sort));.}..$command.->add('-pri
1538e0 6e 74 30 20 7c 20 78 61 72 67 73 20 2d 30 20 73 74 61 74 20 2d 66 27 29 0a 2d 3e 61 72 67 28 24 nt0.|.xargs.-0.stat.-f').->arg($
153900 66 6f 72 6d 61 74 2e 27 25 74 25 4e 27 29 0a 2d 3e 61 64 64 28 27 7c 20 73 6f 72 74 20 7c 20 63 format.'%t%N').->add('|.sort.|.c
153920 75 74 20 2d 66 20 32 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 ut.-f.2');.}.....protected.funct
153940 69 6f 6e 20 62 75 69 6c 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 43 6f 6d 6d 61 6e 64 20 24 63 6f ion.buildFindCommand(Command.$co
153960 6d 6d 61 6e 64 2c 20 24 64 69 72 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 62 75 69 6c 64 46 69 6e 64 mmand,.$dir).{.parent::buildFind
153980 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 29 2d 3e 61 64 64 41 74 49 6e Command($command,.$dir)->addAtIn
1539a0 64 65 78 28 27 2d 45 27 2c 20 31 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6d 6d 61 6e 64 3b 0a dex('-E',.1);..return.$command;.
1539c0 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 43 6f }.....protected.function.buildCo
1539e0 6e 74 65 6e 74 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c ntentFiltering(Command.$command,
153a00 20 61 72 72 61 79 20 24 63 6f 6e 74 61 69 6e 73 2c 20 24 6e 6f 74 20 3d 20 66 61 6c 73 65 29 0a .array.$contains,.$not.=.false).
153a20 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 61 69 6e 73 20 61 73 20 24 63 6f 6e 74 61 69 6e {.foreach.($contains.as.$contain
153a40 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 69 6f 6e 3a 3a 63 72 65 61 74 65 28 24 ).{.$expr.=.Expression::create($
153a60 63 6f 6e 74 61 69 6e 29 3b 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 61 64 64 28 27 7c 20 67 contain);....$command.->add('|.g
153a80 72 65 70 20 2d 76 20 5c 27 5e 24 5c 27 27 29 0a 2d 3e 61 64 64 28 27 7c 20 78 61 72 67 73 20 2d rep.-v.\'^$\'').->add('|.xargs.-
153aa0 49 7b 7d 20 67 72 65 70 20 2d 49 27 29 0a 2d 3e 61 64 64 28 24 65 78 70 72 2d 3e 69 73 43 61 73 I{}.grep.-I').->add($expr->isCas
153ac0 65 53 65 6e 73 69 74 69 76 65 28 29 20 3f 20 6e 75 6c 6c 20 3a 20 27 2d 69 27 29 0a 2d 3e 61 64 eSensitive().?.null.:.'-i').->ad
153ae0 64 28 24 6e 6f 74 20 3f 20 27 2d 4c 27 20 3a 20 27 2d 6c 27 29 0a 2d 3e 61 64 64 28 27 2d 45 65 d($not.?.'-L'.:.'-l').->add('-Ee
153b00 27 29 2d 3e 61 72 67 28 24 65 78 70 72 2d 3e 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 29 0a ')->arg($expr->renderPattern()).
153b20 2d 3e 61 64 64 28 27 7b 7d 27 29 0a 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a ->add('{}').;.}.}.}.<?php.......
153b40 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c ....namespace.Symfony\Component\
153b60 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 Finder\Adapter;..@trigger_error(
153b80 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 47 6e 75 46 69 6e 64 41 64 'The.'.__NAMESPACE__.'\GnuFindAd
153ba0 61 70 74 65 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 apter.class.is.deprecated.since.
153bc0 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 Symfony.2.8.and.will.be.removed.
153be0 69 6e 20 33 2e 30 2e 20 55 73 65 20 64 69 72 65 63 74 6c 79 20 74 68 65 20 46 69 6e 64 65 72 20 in.3.0..Use.directly.the.Finder.
153c00 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 class.instead.',.E_USER_DEPRECAT
153c20 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 ED);..use.Symfony\Component\Find
153c40 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 75 73 65 20 53 79 er\Expression\Expression;.use.Sy
153c60 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c mfony\Component\Finder\Iterator\
153c80 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f SortableIterator;.use.Symfony\Co
153ca0 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 43 6f 6d 6d 61 6e 64 3b 0a 75 73 mponent\Finder\Shell\Command;.us
153cc0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c e.Symfony\Component\Finder\Shell
153ce0 5c 53 68 65 6c 6c 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 6e 75 46 69 6e 64 41 64 61 \Shell;.........class.GnuFindAda
153d00 70 74 65 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 46 69 6e 64 41 64 61 70 74 65 72 pter.extends.AbstractFindAdapter
153d20 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a .{....public.function.getName().
153d40 7b 0a 72 65 74 75 72 6e 20 27 67 6e 75 5f 66 69 6e 64 27 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 {.return.'gnu_find';.}.....prote
153d60 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 46 6f 72 6d 61 74 53 6f 72 74 69 6e 67 cted.function.buildFormatSorting
153d80 28 43 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 73 6f 72 74 29 0a 7b 0a 73 77 69 74 (Command.$command,.$sort).{.swit
153da0 63 68 20 28 24 73 6f 72 74 29 20 7b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 ch.($sort).{.case.SortableIterat
153dc0 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 4e 41 4d 45 3a 0a 24 63 6f 6d 6d 61 6e 64 2d 3e 69 6e 73 28 or::SORT_BY_NAME:.$command->ins(
153de0 27 73 6f 72 74 27 29 2d 3e 61 64 64 28 27 7c 20 73 6f 72 74 27 29 3b 0a 0a 72 65 74 75 72 6e 3b 'sort')->add('|.sort');..return;
153e00 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f .case.SortableIterator::SORT_BY_
153e20 54 59 50 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 79 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 TYPE:.$format.=.'%y';.break;.cas
153e40 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 41 43 43 45 e.SortableIterator::SORT_BY_ACCE
153e60 53 53 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 41 40 27 3b 0a 62 72 65 61 SSED_TIME:.$format.=.'%A@';.brea
153e80 6b 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 k;.case.SortableIterator::SORT_B
153ea0 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 27 25 43 40 27 3b Y_CHANGED_TIME:.$format.=.'%C@';
153ec0 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 .break;.case.SortableIterator::S
153ee0 4f 52 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 3a 0a 24 66 6f 72 6d 61 74 20 3d 20 ORT_BY_MODIFIED_TIME:.$format.=.
153f00 27 25 54 40 27 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f 77 20 6e 65 77 '%T@';.break;.default:.throw.new
153f20 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e .\InvalidArgumentException(sprin
153f40 74 66 28 27 55 6e 6b 6e 6f 77 6e 20 73 6f 72 74 20 6f 70 74 69 6f 6e 73 3a 20 25 73 2e 27 2c 20 tf('Unknown.sort.options:.%s.',.
153f60 24 73 6f 72 74 29 29 3b 0a 7d 0a 0a 24 63 6f 6d 6d 61 6e 64 0a 2d 3e 67 65 74 28 27 66 69 6e 64 $sort));.}..$command.->get('find
153f80 27 29 0a 2d 3e 61 64 64 28 27 2d 70 72 69 6e 74 66 27 29 0a 2d 3e 61 72 67 28 24 66 6f 72 6d 61 ').->add('-printf').->arg($forma
153fa0 74 2e 27 20 25 68 2f 25 66 5c 5c 6e 27 29 0a 2d 3e 61 64 64 28 27 7c 20 73 6f 72 74 20 7c 20 63 t.'.%h/%f\\n').->add('|.sort.|.c
153fc0 75 74 27 29 0a 2d 3e 61 72 67 28 27 2d 64 20 27 29 0a 2d 3e 61 72 67 28 27 2d 66 32 2d 27 29 0a ut').->arg('-d.').->arg('-f2-').
153fe0 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 42 65 ;.}.....protected.function.canBe
154000 55 73 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 53 68 65 6c 6c 3a 3a 54 59 50 45 5f 55 4e 49 58 Used().{.return.Shell::TYPE_UNIX
154020 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 68 65 6c 6c 2d 3e 67 65 74 54 79 70 65 28 29 20 26 26 20 .===.$this->shell->getType().&&.
154040 70 61 72 65 6e 74 3a 3a 63 61 6e 42 65 55 73 65 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 parent::canBeUsed();.}.....prote
154060 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 43 cted.function.buildFindCommand(C
154080 6f 6d 6d 61 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 24 64 69 72 29 0a 7b 0a 72 65 74 75 72 6e 20 ommand.$command,.$dir).{.return.
1540a0 70 61 72 65 6e 74 3a 3a 62 75 69 6c 64 46 69 6e 64 43 6f 6d 6d 61 6e 64 28 24 63 6f 6d 6d 61 6e parent::buildFindCommand($comman
1540c0 64 2c 20 24 64 69 72 29 2d 3e 61 64 64 28 27 2d 72 65 67 65 78 74 79 70 65 20 70 6f 73 69 78 2d d,.$dir)->add('-regextype.posix-
1540e0 65 78 74 65 6e 64 65 64 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 extended');.}.....protected.func
154100 74 69 6f 6e 20 62 75 69 6c 64 43 6f 6e 74 65 6e 74 46 69 6c 74 65 72 69 6e 67 28 43 6f 6d 6d 61 tion.buildContentFiltering(Comma
154120 6e 64 20 24 63 6f 6d 6d 61 6e 64 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 61 69 6e 73 2c 20 24 6e nd.$command,.array.$contains,.$n
154140 6f 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 63 6f 6e 74 61 69 6e 73 ot.=.false).{.foreach.($contains
154160 20 61 73 20 24 63 6f 6e 74 61 69 6e 29 20 7b 0a 24 65 78 70 72 20 3d 20 45 78 70 72 65 73 73 69 .as.$contain).{.$expr.=.Expressi
154180 6f 6e 3a 3a 63 72 65 61 74 65 28 24 63 6f 6e 74 61 69 6e 29 3b 0a 0a 0a 20 24 63 6f 6d 6d 61 6e on::create($contain);....$comman
1541a0 64 0a 2d 3e 61 64 64 28 27 7c 20 78 61 72 67 73 20 2d 49 7b 7d 20 2d 72 20 67 72 65 70 20 2d 49 d.->add('|.xargs.-I{}.-r.grep.-I
1541c0 27 29 0a 2d 3e 61 64 64 28 24 65 78 70 72 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 ').->add($expr->isCaseSensitive(
1541e0 29 20 3f 20 6e 75 6c 6c 20 3a 20 27 2d 69 27 29 0a 2d 3e 61 64 64 28 24 6e 6f 74 20 3f 20 27 2d ).?.null.:.'-i').->add($not.?.'-
154200 4c 27 20 3a 20 27 2d 6c 27 29 0a 2d 3e 61 64 64 28 27 2d 45 65 27 29 2d 3e 61 72 67 28 24 65 78 L'.:.'-l').->add('-Ee')->arg($ex
154220 70 72 2d 3e 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 29 0a 2d 3e 61 64 64 28 27 7b 7d 27 29 pr->renderPattern()).->add('{}')
154240 0a 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 .;.}.}.}.<?php...........namespa
154260 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 ce.Symfony\Component\Finder\Adap
154280 74 65 72 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 ter;..@trigger_error('The.'.__NA
1542a0 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 50 68 70 41 64 61 70 74 65 72 20 63 6c 61 73 73 20 69 73 20 MESPACE__.'\PhpAdapter.class.is.
1542c0 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 deprecated.since.Symfony.2.8.and
1542e0 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 64 69 72 .will.be.removed.in.3.0..Use.dir
154300 65 63 74 6c 79 20 74 68 65 20 46 69 6e 64 65 72 20 63 6c 61 73 73 20 69 6e 73 74 65 61 64 2e 27 ectly.the.Finder.class.instead.'
154320 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f ,.E_USER_DEPRECATED);..use.Symfo
154340 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a ny\Component\Finder\Iterator;...
154360 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 68 70 41 64 61 70 74 65 72 20 65 78 74 65 6e 64 73 20 41 ......class.PhpAdapter.extends.A
154380 62 73 74 72 61 63 74 41 64 61 70 74 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 bstractAdapter.{....public.funct
1543a0 69 6f 6e 20 73 65 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 0a 7b 0a 24 66 ion.searchInDirectory($dir).{.$f
1543c0 6c 61 67 73 20 3d 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 lags.=.\RecursiveDirectoryIterat
1543e0 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 6f 6c 6c 6f or::SKIP_DOTS;..if.($this->follo
154400 77 4c 69 6e 6b 73 29 20 7b 0a 24 66 6c 61 67 73 20 7c 3d 20 5c 52 65 63 75 72 73 69 76 65 44 69 wLinks).{.$flags.|=.\RecursiveDi
154420 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 46 4f 4c 4c 4f 57 5f 53 59 4d 4c 49 4e 4b 53 rectoryIterator::FOLLOW_SYMLINKS
154440 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 52 65 ;.}..$iterator.=.new.Iterator\Re
154460 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 28 24 64 69 72 2c 20 24 cursiveDirectoryIterator($dir,.$
154480 66 6c 61 67 73 2c 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 flags,.$this->ignoreUnreadableDi
1544a0 72 73 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 20 7b 0a 24 69 74 65 rs);..if.($this->exclude).{.$ite
1544c0 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 45 78 63 6c 75 64 65 44 69 72 65 rator.=.new.Iterator\ExcludeDire
1544e0 63 74 6f 72 79 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 ctoryFilterIterator($iterator,.$
154500 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e this->exclude);.}..$iterator.=.n
154520 65 77 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 28 24 69 ew.\RecursiveIteratorIterator($i
154540 74 65 72 61 74 6f 72 2c 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 74 65 72 61 terator,.\RecursiveIteratorItera
154560 74 6f 72 3a 3a 53 45 4c 46 5f 46 49 52 53 54 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 69 tor::SELF_FIRST);..if.($this->mi
154580 6e 44 65 70 74 68 20 3e 20 30 20 7c 7c 20 24 74 68 69 73 2d 3e 6d 61 78 44 65 70 74 68 20 3c 20 nDepth.>.0.||.$this->maxDepth.<.
1545a0 50 48 50 5f 49 4e 54 5f 4d 41 58 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 PHP_INT_MAX).{.$iterator.=.new.I
1545c0 74 65 72 61 74 6f 72 5c 44 65 70 74 68 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 terator\DepthRangeFilterIterator
1545e0 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 2c 20 24 74 68 ($iterator,.$this->minDepth,.$th
154600 69 73 2d 3e 6d 61 78 44 65 70 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 6f 64 is->maxDepth);.}..if.($this->mod
154620 65 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 e).{.$iterator.=.new.Iterator\Fi
154640 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 leTypeFilterIterator($iterator,.
154660 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6e 61 6d 65 $this->mode);.}..if.($this->name
154680 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 29 20 7b 0a 24 69 74 65 72 61 74 6f s.||.$this->notNames).{.$iterato
1546a0 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 6e 61 6d 65 46 69 6c 74 65 72 49 r.=.new.Iterator\FilenameFilterI
1546c0 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 2c terator($iterator,.$this->names,
1546e0 20 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d .$this->notNames);.}..if.($this-
154700 3e 63 6f 6e 74 61 69 6e 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 >contains.||.$this->notContains)
154720 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 .{.$iterator.=.new.Iterator\File
154740 63 6f 6e 74 65 6e 74 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c contentFilterIterator($iterator,
154760 20 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 .$this->contains,.$this->notCont
154780 61 69 6e 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 20 7b 0a 24 69 ains);.}..if.($this->sizes).{.$i
1547a0 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 53 69 7a 65 52 61 6e 67 65 terator.=.new.Iterator\SizeRange
1547c0 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d FilterIterator($iterator,.$this-
1547e0 3e 73 69 7a 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 61 74 65 73 29 20 7b 0a >sizes);.}..if.($this->dates).{.
154800 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 44 61 74 65 52 61 6e $iterator.=.new.Iterator\DateRan
154820 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 geFilterIterator($iterator,.$thi
154840 73 2d 3e 64 61 74 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 s->dates);.}..if.($this->filters
154860 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 43 75 73 ).{.$iterator.=.new.Iterator\Cus
154880 74 6f 6d 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 tomFilterIterator($iterator,.$th
1548a0 69 73 2d 3e 66 69 6c 74 65 72 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 61 74 68 is->filters);.}..if.($this->path
1548c0 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 29 20 7b 0a 24 69 74 65 72 61 74 6f s.||.$this->notPaths).{.$iterato
1548e0 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 50 61 74 68 46 69 6c 74 65 72 49 74 65 72 61 r.=.new.Iterator\PathFilterItera
154900 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 70 61 74 68 73 2c 20 24 74 68 tor($iterator,.$this->paths,.$th
154920 69 73 2d 3e 6e 6f 74 50 61 74 68 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 6f 72 is->notPaths);.}..if.($this->sor
154940 74 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 20 3d 20 6e 65 77 20 49 74 t).{.$iteratorAggregate.=.new.It
154960 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f erator\SortableIterator($iterato
154980 72 2c 20 24 74 68 69 73 2d 3e 73 6f 72 74 29 3b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 69 74 r,.$this->sort);.$iterator.=.$it
1549a0 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 3b 0a eratorAggregate->getIterator();.
1549c0 7d 0a 0a 72 65 74 75 72 6e 20 24 69 74 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 }..return.$iterator;.}.....publi
1549e0 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 70 c.function.getName().{.return.'p
154a00 68 70 27 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 61 hp';.}.....protected.function.ca
154a20 6e 42 65 55 73 65 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 nBeUsed().{.return.true;.}.}.<?p
154a40 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
154a60 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 0a 0a 0a 0a omponent\Finder\Comparator;.....
154a80 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 61 72 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 61 ..class.Comparator.{.private.$ta
154aa0 72 67 65 74 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 65 72 61 74 6f 72 20 3d 20 27 3d 3d 27 3b 0a rget;.private.$operator.=.'==';.
154ac0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 61 72 67 65 74 28 ......public.function.getTarget(
154ae0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 7d 0a 0a 0a 0a 0a ).{.return.$this->target;.}.....
154b00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 61 72 67 65 74 28 24 74 61 72 ..public.function.setTarget($tar
154b20 67 65 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 61 72 67 65 74 20 3d 20 24 74 61 72 67 65 74 3b 0a get).{.$this->target.=.$target;.
154b40 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 65 72 61 }.......public.function.getOpera
154b60 74 6f 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a tor().{.return.$this->operator;.
154b80 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 65 }.........public.function.setOpe
154ba0 72 61 74 6f 72 28 24 6f 70 65 72 61 74 6f 72 29 0a 7b 0a 69 66 20 28 21 24 6f 70 65 72 61 74 6f rator($operator).{.if.(!$operato
154bc0 72 29 20 7b 0a 24 6f 70 65 72 61 74 6f 72 20 3d 20 27 3d 3d 27 3b 0a 7d 0a 0a 69 66 20 28 21 5c r).{.$operator.=.'==';.}..if.(!\
154be0 69 6e 5f 61 72 72 61 79 28 24 6f 70 65 72 61 74 6f 72 2c 20 61 72 72 61 79 28 27 3e 27 2c 20 27 in_array($operator,.array('>',.'
154c00 3c 27 2c 20 27 3e 3d 27 2c 20 27 3c 3d 27 2c 20 27 3d 3d 27 2c 20 27 21 3d 27 29 29 29 20 7b 0a <',.'>=',.'<=',.'==',.'!='))).{.
154c20 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 throw.new.\InvalidArgumentExcept
154c40 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 6f 70 65 72 61 74 6f 72 20 22 25 ion(sprintf('Invalid.operator."%
154c60 73 22 2e 27 2c 20 24 6f 70 65 72 61 74 6f 72 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 70 65 s".',.$operator));.}..$this->ope
154c80 72 61 74 6f 72 20 3d 20 24 6f 70 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 rator.=.$operator;.}.........pub
154ca0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 28 24 74 65 73 74 29 0a 7b 0a 73 77 69 74 63 lic.function.test($test).{.switc
154cc0 68 20 28 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 29 20 7b 0a 63 61 73 65 20 27 3e 27 3a 0a h.($this->operator).{.case.'>':.
154ce0 72 65 74 75 72 6e 20 24 74 65 73 74 20 3e 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 63 61 return.$test.>.$this->target;.ca
154d00 73 65 20 27 3e 3d 27 3a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 3e 3d 20 24 74 68 69 73 2d 3e se.'>=':.return.$test.>=.$this->
154d20 74 61 72 67 65 74 3b 0a 63 61 73 65 20 27 3c 27 3a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 3c target;.case.'<':.return.$test.<
154d40 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 63 61 73 65 20 27 3c 3d 27 3a 0a 72 65 74 75 72 .$this->target;.case.'<=':.retur
154d60 6e 20 24 74 65 73 74 20 3c 3d 20 24 74 68 69 73 2d 3e 74 61 72 67 65 74 3b 0a 63 61 73 65 20 27 n.$test.<=.$this->target;.case.'
154d80 21 3d 27 3a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 21 3d 20 24 74 68 69 73 2d 3e 74 61 72 67 !=':.return.$test.!=.$this->targ
154da0 65 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 65 73 74 20 3d 3d 20 24 74 68 69 73 2d 3e 74 61 et;.}..return.$test.==.$this->ta
154dc0 72 67 65 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 rget;.}.}.<?php...........namesp
154de0 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d ace.Symfony\Component\Finder\Com
154e00 70 61 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 61 74 65 43 6f 6d 70 61 72 61 parator;.......class.DateCompara
154e20 74 6f 72 20 65 78 74 65 6e 64 73 20 43 6f 6d 70 61 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 tor.extends.Comparator.{......pu
154e40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 65 73 74 29 blic.function.__construct($test)
154e60 0a 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 23 5e 5c 73 2a 28 3d 3d 7c 21 3d 7c .{.if.(!preg_match('#^\s*(==|!=|
154e80 5b 3c 3e 5d 3d 3f 7c 61 66 74 65 72 7c 73 69 6e 63 65 7c 62 65 66 6f 72 65 7c 75 6e 74 69 6c 29 [<>]=?|after|since|before|until)
154ea0 3f 5c 73 2a 28 2e 2b 3f 29 5c 73 2a 24 23 69 27 2c 20 24 74 65 73 74 2c 20 24 6d 61 74 63 68 65 ?\s*(.+?)\s*$#i',.$test,.$matche
154ec0 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 s)).{.throw.new.\InvalidArgument
154ee0 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 44 6f 6e 5c 27 74 20 75 6e 64 65 72 73 Exception(sprintf('Don\'t.unders
154f00 74 61 6e 64 20 22 25 73 22 20 61 73 20 61 20 64 61 74 65 20 74 65 73 74 2e 27 2c 20 24 74 65 73 tand."%s".as.a.date.test.',.$tes
154f20 74 29 29 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 24 64 61 74 65 20 3d 20 6e 65 77 20 5c 44 61 74 65 54 t));.}..try.{.$date.=.new.\DateT
154f40 69 6d 65 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 24 74 61 72 67 65 74 20 3d 20 24 64 61 74 ime($matches[2]);.$target.=.$dat
154f60 65 2d 3e 66 6f 72 6d 61 74 28 27 55 27 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 e->format('U');.}.catch.(\Except
154f80 69 6f 6e 20 24 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 ion.$e).{.throw.new.\InvalidArgu
154fa0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 22 25 73 22 20 69 73 20 6e mentException(sprintf('"%s".is.n
154fc0 6f 74 20 61 20 76 61 6c 69 64 20 64 61 74 65 2e 27 2c 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 ot.a.valid.date.',.$matches[2]))
154fe0 3b 0a 7d 0a 0a 24 6f 70 65 72 61 74 6f 72 20 3d 20 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b ;.}..$operator.=.isset($matches[
155000 31 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 3a 20 27 3d 3d 27 3b 0a 69 66 20 28 27 73 1]).?.$matches[1].:.'==';.if.('s
155020 69 6e 63 65 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 6f 72 20 7c 7c 20 27 61 66 74 65 72 27 20 3d ince'.===.$operator.||.'after'.=
155040 3d 3d 20 24 6f 70 65 72 61 74 6f 72 29 20 7b 0a 24 6f 70 65 72 61 74 6f 72 20 3d 20 27 3e 27 3b ==.$operator).{.$operator.=.'>';
155060 0a 7d 0a 0a 69 66 20 28 27 75 6e 74 69 6c 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 6f 72 20 7c 7c .}..if.('until'.===.$operator.||
155080 20 27 62 65 66 6f 72 65 27 20 3d 3d 3d 20 24 6f 70 65 72 61 74 6f 72 29 20 7b 0a 24 6f 70 65 72 .'before'.===.$operator).{.$oper
1550a0 61 74 6f 72 20 3d 20 27 3c 27 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 4f 70 65 72 61 74 6f ator.=.'<';.}..$this->setOperato
1550c0 72 28 24 6f 70 65 72 61 74 6f 72 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 54 61 72 67 65 74 28 24 r($operator);.$this->setTarget($
1550e0 74 61 72 67 65 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d target);.}.}.<?php...........nam
155100 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c espace.Symfony\Component\Finder\
155120 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a Comparator;.....................
155140 0a 0a 63 6c 61 73 73 20 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 20 65 78 74 65 6e 64 73 ..class.NumberComparator.extends
155160 20 43 6f 6d 70 61 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .Comparator.{......public.functi
155180 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 65 73 74 29 0a 7b 0a 69 66 20 28 21 70 72 65 on.__construct($test).{.if.(!pre
1551a0 67 5f 6d 61 74 63 68 28 27 23 5e 5c 73 2a 28 3d 3d 7c 21 3d 7c 5b 3c 3e 5d 3d 3f 29 3f 5c 73 2a g_match('#^\s*(==|!=|[<>]=?)?\s*
1551c0 28 5b 30 2d 39 5c 2e 5d 2b 29 5c 73 2a 28 5b 6b 6d 67 5d 69 3f 29 3f 5c 73 2a 24 23 69 27 2c 20 ([0-9\.]+)\s*([kmg]i?)?\s*$#i',.
1551e0 24 74 65 73 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 $test,.$matches)).{.throw.new.\I
155200 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 nvalidArgumentException(sprintf(
155220 27 44 6f 6e 5c 27 74 20 75 6e 64 65 72 73 74 61 6e 64 20 22 25 73 22 20 61 73 20 61 20 6e 75 6d 'Don\'t.understand."%s".as.a.num
155240 62 65 72 20 74 65 73 74 2e 27 2c 20 24 74 65 73 74 29 29 3b 0a 7d 0a 0a 24 74 61 72 67 65 74 20 ber.test.',.$test));.}..$target.
155260 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 3b 0a 69 66 20 28 21 69 73 5f 6e 75 6d 65 72 69 63 28 24 =.$matches[2];.if.(!is_numeric($
155280 74 61 72 67 65 74 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 target)).{.throw.new.\InvalidArg
1552a0 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 umentException(sprintf('Invalid.
1552c0 6e 75 6d 62 65 72 20 22 25 73 22 2e 27 2c 20 24 74 61 72 67 65 74 29 29 3b 0a 7d 0a 69 66 20 28 number."%s".',.$target));.}.if.(
1552e0 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 29 20 7b 0a 0a 20 73 77 69 74 63 68 20 28 isset($matches[3])).{...switch.(
155300 73 74 72 74 6f 6c 6f 77 65 72 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 29 20 7b 0a 63 61 73 65 20 strtolower($matches[3])).{.case.
155320 27 6b 27 3a 0a 24 74 61 72 67 65 74 20 2a 3d 20 31 30 30 30 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 'k':.$target.*=.1000;.break;.cas
155340 65 20 27 6b 69 27 3a 0a 24 74 61 72 67 65 74 20 2a 3d 20 31 30 32 34 3b 0a 62 72 65 61 6b 3b 0a e.'ki':.$target.*=.1024;.break;.
155360 63 61 73 65 20 27 6d 27 3a 0a 24 74 61 72 67 65 74 20 2a 3d 20 31 30 30 30 30 30 30 3b 0a 62 72 case.'m':.$target.*=.1000000;.br
155380 65 61 6b 3b 0a 63 61 73 65 20 27 6d 69 27 3a 0a 24 74 61 72 67 65 74 20 2a 3d 20 31 30 32 34 20 eak;.case.'mi':.$target.*=.1024.
1553a0 2a 20 31 30 32 34 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 67 27 3a 0a 24 74 61 72 67 65 74 *.1024;.break;.case.'g':.$target
1553c0 20 2a 3d 20 31 30 30 30 30 30 30 30 30 30 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 67 69 27 .*=.1000000000;.break;.case.'gi'
1553e0 3a 0a 24 74 61 72 67 65 74 20 2a 3d 20 31 30 32 34 20 2a 20 31 30 32 34 20 2a 20 31 30 32 34 3b :.$target.*=.1024.*.1024.*.1024;
155400 0a 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 73 65 74 54 61 72 67 65 74 28 24 74 .break;.}.}..$this->setTarget($t
155420 61 72 67 65 74 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 4f 70 65 72 61 74 6f 72 28 69 73 73 65 74 arget);.$this->setOperator(isset
155440 28 24 6d 61 74 63 68 65 73 5b 31 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 3a 20 27 3d ($matches[1]).?.$matches[1].:.'=
155460 3d 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 =');.}.}.<?php...........namespa
155480 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 ce.Symfony\Component\Finder\Exce
1554a0 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 41 63 63 65 73 73 44 65 6e 69 65 64 45 78 63 ption;.....class.AccessDeniedExc
1554c0 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 eption.extends.\UnexpectedValueE
1554e0 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d xception.{.}.<?php...........nam
155500 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c espace.Symfony\Component\Finder\
155520 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 Exception;..@trigger_error('The.
155540 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 41 64 61 70 74 65 72 46 61 69 6c 75 72 65 '.__NAMESPACE__.'\AdapterFailure
155560 45 78 63 65 70 74 69 6f 6e 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 Exception.class.is.deprecated.si
155580 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f nce.Symfony.2.8.and.will.be.remo
1555a0 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 ved.in.3.0.',.E_USER_DEPRECATED)
1555c0 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c ;..use.Symfony\Component\Finder\
1555e0 41 64 61 70 74 65 72 5c 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a Adapter\AdapterInterface;.......
155600 0a 0a 63 6c 61 73 73 20 41 64 61 70 74 65 72 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f 6e 20 ..class.AdapterFailureException.
155620 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d extends.\RuntimeException.implem
155640 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 ents.ExceptionInterface.{.privat
155660 65 20 24 61 64 61 70 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f e.$adapter;.......public.functio
155680 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 n.__construct(AdapterInterface.$
1556a0 61 64 61 70 74 65 72 2c 20 24 6d 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 2c 20 5c 45 78 63 65 70 adapter,.$message.=.null,.\Excep
1556c0 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e tion.$previous.=.null).{.$this->
1556e0 61 64 61 70 74 65 72 20 3d 20 24 61 64 61 70 74 65 72 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f adapter.=.$adapter;.parent::__co
155700 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 20 3f 3a 20 27 53 65 61 72 63 68 20 66 61 69 6c nstruct($message.?:.'Search.fail
155720 65 64 20 77 69 74 68 20 22 27 2e 24 61 64 61 70 74 65 72 2d 3e 67 65 74 4e 61 6d 65 28 29 2e 27 ed.with."'.$adapter->getName().'
155740 22 20 61 64 61 70 74 65 72 2e 27 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 ".adapter.',.$previous);.}.....p
155760 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 64 61 70 74 65 72 28 29 0a 7b 0a 72 65 ublic.function.getAdapter().{.re
155780 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a turn.$this->adapter;.}.}.<?php..
1557a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
1557c0 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 nent\Finder\Exception;.....inter
1557e0 66 61 63 65 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 70 75 62 face.ExceptionInterface.{....pub
155800 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 64 61 70 74 65 72 28 29 3b 0a 7d 0a 3c 3f 70 lic.function.getAdapter();.}.<?p
155820 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
155840 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 40 74 72 69 omponent\Finder\Exception;..@tri
155860 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e gger_error('The.'.__NAMESPACE__.
155880 27 5c 4f 70 65 72 61 74 69 6f 6e 4e 6f 74 50 65 72 6d 69 74 65 64 45 78 63 65 70 74 69 6f 6e 20 '\OperationNotPermitedException.
1558a0 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e class.is.deprecated.since.Symfon
1558c0 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 y.2.8.and.will.be.removed.in.3.0
1558e0 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 0a 0a 63 6c .',.E_USER_DEPRECATED);.......cl
155900 61 73 73 20 4f 70 65 72 61 74 69 6f 6e 4e 6f 74 50 65 72 6d 69 74 65 64 45 78 63 65 70 74 69 6f ass.OperationNotPermitedExceptio
155920 6e 20 65 78 74 65 6e 64 73 20 41 64 61 70 74 65 72 46 61 69 6c 75 72 65 45 78 63 65 70 74 69 6f n.extends.AdapterFailureExceptio
155940 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 n.{.}.<?php...........namespace.
155960 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 Symfony\Component\Finder\Excepti
155980 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d on;..@trigger_error('The.'.__NAM
1559a0 45 53 50 41 43 45 5f 5f 2e 27 5c 53 68 65 6c 6c 43 6f 6d 6d 61 6e 64 46 61 69 6c 75 72 65 45 78 ESPACE__.'\ShellCommandFailureEx
1559c0 63 65 70 74 69 6f 6e 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 ception.class.is.deprecated.sinc
1559e0 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 e.Symfony.2.8.and.will.be.remove
155a00 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a d.in.3.0.',.E_USER_DEPRECATED);.
155a20 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 .use.Symfony\Component\Finder\Ad
155a40 61 70 74 65 72 5c 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 apter\AdapterInterface;.use.Symf
155a60 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 68 65 6c 6c 5c 43 6f 6d 6d 61 ony\Component\Finder\Shell\Comma
155a80 6e 64 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 68 65 6c 6c 43 6f 6d 6d 61 6e 64 46 61 69 6c nd;.......class.ShellCommandFail
155aa0 75 72 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 41 64 61 70 74 65 72 46 61 69 6c ureException.extends.AdapterFail
155ac0 75 72 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 3b ureException.{.private.$command;
155ae0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 41 64 ..public.function.__construct(Ad
155b00 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 61 64 61 70 74 65 72 2c 20 43 6f 6d 6d 61 6e 64 apterInterface.$adapter,.Command
155b20 20 24 63 6f 6d 6d 61 6e 64 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 65 76 69 6f 75 73 20 .$command,.\Exception.$previous.
155b40 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 20 3d 20 24 63 6f 6d 6d =.null).{.$this->command.=.$comm
155b60 61 6e 64 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 61 64 61 70 74 65 and;.parent::__construct($adapte
155b80 72 2c 20 27 53 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 3a 20 22 27 2e 24 63 6f r,.'Shell.command.failed:."'.$co
155ba0 6d 6d 61 6e 64 2d 3e 6a 6f 69 6e 28 29 2e 27 22 2e 27 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a mmand->join().'".',.$previous);.
155bc0 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 }.....public.function.getCommand
155be0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 3b 0a 7d 0a 7d 0a ().{.return.$this->command;.}.}.
155c00 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
155c20 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a y\Component\Finder\Expression;..
155c40 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 @trigger_error('The.'.__NAMESPAC
155c60 45 5f 5f 2e 27 5c 45 78 70 72 65 73 73 69 6f 6e 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 63 E__.'\Expression.class.is.deprec
155c80 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 ated.since.Symfony.2.8.and.will.
155ca0 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 be.removed.in.3.0.',.E_USER_DEPR
155cc0 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 78 70 72 65 73 73 69 6f 6e 20 69 6d ECATED);.....class.Expression.im
155ce0 70 6c 65 6d 65 6e 74 73 20 56 61 6c 75 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 plements.ValueInterface.{.const.
155d00 54 59 50 45 5f 52 45 47 45 58 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 47 4c 4f 42 20 TYPE_REGEX.=.1;.const.TYPE_GLOB.
155d20 3d 20 32 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 76 61 6c 75 65 3b 0a 0a 0a 0a 0a 0a 0a 70 =.2;.....private.$value;.......p
155d40 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 24 65 78 ublic.static.function.create($ex
155d60 70 72 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 65 6c 66 28 24 65 78 70 72 29 3b 0a 7d 0a pr).{.return.new.self($expr);.}.
155d80 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 ....public.function.__construct(
155da0 24 65 78 70 72 29 0a 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 75 65 20 3d 20 52 65 $expr).{.try.{.$this->value.=.Re
155dc0 67 65 78 3a 3a 63 72 65 61 74 65 28 24 65 78 70 72 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 49 6e gex::create($expr);.}.catch.(\In
155de0 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 24 74 68 validArgumentException.$e).{.$th
155e00 69 73 2d 3e 76 61 6c 75 65 20 3d 20 6e 65 77 20 47 6c 6f 62 28 24 65 78 70 72 29 3b 0a 7d 0a 7d is->value.=.new.Glob($expr);.}.}
155e20 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 .....public.function.__toString(
155e40 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a ).{.return.$this->render();.}...
155e60 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 29 0a 7b 0a 72 65 74 ..public.function.render().{.ret
155e80 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a urn.$this->value->render();.}...
155ea0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 ..public.function.renderPattern(
155ec0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 72 65 6e 64 65 72 50 ).{.return.$this->value->renderP
155ee0 61 74 74 65 72 6e 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 attern();.}.....public.function.
155f00 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 isCaseSensitive().{.return.$this
155f20 2d 3e 76 61 6c 75 65 2d 3e 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 3b 0a 7d 0a 0a 0a ->value->isCaseSensitive();.}...
155f40 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 ..public.function.getType().{.re
155f60 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 7d 0a turn.$this->value->getType();.}.
155f80 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 65 6e 64 28 24 65 78 70 ....public.function.prepend($exp
155fa0 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 70 72 65 70 65 6e 64 28 24 65 78 70 72 r).{.$this->value->prepend($expr
155fc0 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 );..return.$this;.}.....public.f
155fe0 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 28 24 65 78 70 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 unction.append($expr).{.$this->v
156000 61 6c 75 65 2d 3e 61 70 70 65 6e 64 28 24 65 78 70 72 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 alue->append($expr);..return.$th
156020 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 52 65 67 65 is;.}.....public.function.isRege
156040 78 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 52 45 47 45 58 20 3d 3d x().{.return.self::TYPE_REGEX.==
156060 3d 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 7d 0a 0a 0a 0a =.$this->value->getType();.}....
156080 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 47 6c 6f 62 28 29 0a 7b 0a 72 65 74 75 .public.function.isGlob().{.retu
1560a0 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 47 4c 4f 42 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 76 61 rn.self::TYPE_GLOB.===.$this->va
1560c0 6c 75 65 2d 3e 67 65 74 54 79 70 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 lue->getType();.}.......public.f
1560e0 75 6e 63 74 69 6f 6e 20 67 65 74 47 6c 6f 62 28 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 54 59 unction.getGlob().{.if.(self::TY
156100 50 45 5f 47 4c 4f 42 20 21 3d 3d 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 67 65 74 54 79 70 PE_GLOB.!==.$this->value->getTyp
156120 65 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e e()).{.throw.new.\LogicException
156140 28 27 52 65 67 65 78 20 63 61 6e 5c 27 74 20 62 65 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 74 6f ('Regex.can\'t.be.transformed.to
156160 20 67 6c 6f 62 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 .glob.');.}..return.$this->value
156180 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 67 65 78 ;.}.....public.function.getRegex
1561a0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 52 45 47 45 58 20 3d 3d 3d ().{.return.self::TYPE_REGEX.===
1561c0 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 67 65 74 54 79 70 65 28 29 20 3f 20 24 74 68 69 73 .$this->value->getType().?.$this
1561e0 2d 3e 76 61 6c 75 65 20 3a 20 24 74 68 69 73 2d 3e 76 61 6c 75 65 2d 3e 74 6f 52 65 67 65 78 28 ->value.:.$this->value->toRegex(
156200 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 );.}.}.<?php...........namespace
156220 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 70 72 65 73 .Symfony\Component\Finder\Expres
156240 73 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e sion;..@trigger_error('The.'.__N
156260 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 47 6c 6f 62 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 65 AMESPACE__.'\Glob.class.is.depre
156280 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c cated.since.Symfony.2.8.and.will
1562a0 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 .be.removed.in.3.0.',.E_USER_DEP
1562c0 52 45 43 41 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 RECATED);..use.Symfony\Component
1562e0 5c 46 69 6e 64 65 72 5c 47 6c 6f 62 20 61 73 20 46 69 6e 64 65 72 47 6c 6f 62 3b 0a 0a 0a 0a 0a \Finder\Glob.as.FinderGlob;.....
156300 63 6c 61 73 73 20 47 6c 6f 62 20 69 6d 70 6c 65 6d 65 6e 74 73 20 56 61 6c 75 65 49 6e 74 65 72 class.Glob.implements.ValueInter
156320 66 61 63 65 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 61 74 74 65 72 6e 3b 0a 0a 0a 0a 0a 70 75 62 face.{.private.$pattern;.....pub
156340 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 74 65 72 lic.function.__construct($patter
156360 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a n).{.$this->pattern.=.$pattern;.
156380 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 29 0a 7b }.....public.function.render().{
1563a0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 .return.$this->pattern;.}.....pu
1563c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 50 61 74 74 65 72 6e 28 29 0a 7b 0a blic.function.renderPattern().{.
1563e0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 return.$this->pattern;.}.....pub
156400 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 lic.function.getType().{.return.
156420 45 78 70 72 65 73 73 69 6f 6e 3a 3a 54 59 50 45 5f 47 4c 4f 42 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 Expression::TYPE_GLOB;.}.....pub
156440 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 0a 7b lic.function.isCaseSensitive().{
156460 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 .return.true;.}.....public.funct
156480 69 6f 6e 20 70 72 65 70 65 6e 64 28 24 65 78 70 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 ion.prepend($expr).{.$this->patt
1564a0 65 72 6e 20 3d 20 24 65 78 70 72 2e 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 ern.=.$expr.$this->pattern;..ret
1564c0 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e urn.$this;.}.....public.function
1564e0 20 61 70 70 65 6e 64 28 24 65 78 70 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 20 .append($expr).{.$this->pattern.
156500 2e 3d 20 24 65 78 70 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a .=.$expr;..return.$this;.}......
156520 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 45 78 70 61 6e 64 61 62 6c 65 28 29 0a .public.function.isExpandable().
156540 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 74 68 69 73 2d {.return.false.!==.strpos($this-
156560 3e 70 61 74 74 65 72 6e 2c 20 27 7b 27 29 0a 26 26 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 >pattern,.'{').&&.false.!==.strp
156580 6f 73 28 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 2c 20 27 7d 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a os($this->pattern,.'}');.}......
1565a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 73 74 72 69 63 ..public.function.toRegex($stric
1565c0 74 4c 65 61 64 69 6e 67 44 6f 74 20 3d 20 74 72 75 65 2c 20 24 73 74 72 69 63 74 57 69 6c 64 63 tLeadingDot.=.true,.$strictWildc
1565e0 61 72 64 53 6c 61 73 68 20 3d 20 74 72 75 65 29 0a 7b 0a 24 72 65 67 65 78 20 3d 20 46 69 6e 64 ardSlash.=.true).{.$regex.=.Find
156600 65 72 47 6c 6f 62 3a 3a 74 6f 52 65 67 65 78 28 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 2c 20 erGlob::toRegex($this->pattern,.
156620 24 73 74 72 69 63 74 4c 65 61 64 69 6e 67 44 6f 74 2c 20 24 73 74 72 69 63 74 57 69 6c 64 63 61 $strictLeadingDot,.$strictWildca
156640 72 64 53 6c 61 73 68 2c 20 27 27 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 52 65 67 65 78 28 rdSlash,.'');..return.new.Regex(
156660 24 72 65 67 65 78 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d $regex);.}.}.<?php...........nam
156680 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c espace.Symfony\Component\Finder\
1566a0 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 Expression;..@trigger_error('The
1566c0 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 52 65 67 65 78 20 63 6c 61 73 73 20 69 .'.__NAMESPACE__.'\Regex.class.i
1566e0 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 s.deprecated.since.Symfony.2.8.a
156700 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 nd.will.be.removed.in.3.0.',.E_U
156720 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 67 65 78 SER_DEPRECATED);.....class.Regex
156740 20 69 6d 70 6c 65 6d 65 6e 74 73 20 56 61 6c 75 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e .implements.ValueInterface.{.con
156760 73 74 20 53 54 41 52 54 5f 46 4c 41 47 20 3d 20 27 5e 27 3b 0a 63 6f 6e 73 74 20 45 4e 44 5f 46 st.START_FLAG.=.'^';.const.END_F
156780 4c 41 47 20 3d 20 27 24 27 3b 0a 63 6f 6e 73 74 20 42 4f 55 4e 44 41 52 59 20 3d 20 27 7e 27 3b LAG.=.'$';.const.BOUNDARY.=.'~';
1567a0 0a 63 6f 6e 73 74 20 4a 4f 4b 45 52 20 3d 20 27 2e 2a 27 3b 0a 63 6f 6e 73 74 20 45 53 43 41 50 .const.JOKER.=.'.*';.const.ESCAP
1567c0 49 4e 47 20 3d 20 27 5c 5c 27 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 61 74 74 65 72 6e ING.=.'\\';.....private.$pattern
1567e0 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 6f 6e 73 3b 0a 0a 0a 0a 0a 70 72 69 76 ;.....private.$options;.....priv
156800 61 74 65 20 24 73 74 61 72 74 46 6c 61 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 6e 64 ate.$startFlag;.....private.$end
156820 46 6c 61 67 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 4a 6f 6b 65 72 3b 0a 0a Flag;.....private.$startJoker;..
156840 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 6e 64 4a 6f 6b 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ...private.$endJoker;.........pu
156860 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 24 65 78 70 blic.static.function.create($exp
156880 72 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 28 2e 7b 33 2c 7d 3f 29 28 r).{.if.(preg_match('/^(.{3,}?)(
1568a0 5b 69 6d 73 78 75 41 44 55 5d 2a 29 24 2f 27 2c 20 24 65 78 70 72 2c 20 24 6d 29 29 20 7b 0a 24 [imsxuADU]*)$/',.$expr,.$m)).{.$
1568c0 73 74 61 72 74 20 3d 20 73 75 62 73 74 72 28 24 6d 5b 31 5d 2c 20 30 2c 20 31 29 3b 0a 24 65 6e start.=.substr($m[1],.0,.1);.$en
1568e0 64 20 3d 20 73 75 62 73 74 72 28 24 6d 5b 31 5d 2c 20 2d 31 29 3b 0a 0a 69 66 20 28 0a 28 24 73 d.=.substr($m[1],.-1);..if.(.($s
156900 74 61 72 74 20 3d 3d 3d 20 24 65 6e 64 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b tart.===.$end.&&.!preg_match('/[
156920 2a 3f 5b 3a 61 6c 6e 75 6d 3a 5d 20 5c 5c 5c 5c 5d 2f 27 2c 20 24 73 74 61 72 74 29 29 0a 7c 7c *?[:alnum:].\\\\]/',.$start)).||
156940 20 28 27 7b 27 20 3d 3d 3d 20 24 73 74 61 72 74 20 26 26 20 27 7d 27 20 3d 3d 3d 20 24 65 6e 64 .('{'.===.$start.&&.'}'.===.$end
156960 29 0a 7c 7c 20 28 27 28 27 20 3d 3d 3d 20 24 73 74 61 72 74 20 26 26 20 27 29 27 20 3d 3d 3d 20 ).||.('('.===.$start.&&.')'.===.
156980 24 65 6e 64 29 0a 29 20 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 65 6c 66 28 73 75 62 73 74 72 $end).).{.return.new.self(substr
1569a0 28 24 6d 5b 31 5d 2c 20 31 2c 20 2d 31 29 2c 20 24 6d 5b 32 5d 2c 20 24 65 6e 64 29 3b 0a 7d 0a ($m[1],.1,.-1),.$m[2],.$end);.}.
1569c0 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 }..throw.new.\InvalidArgumentExc
1569e0 65 70 74 69 6f 6e 28 27 47 69 76 65 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 6e 6f 74 20 eption('Given.expression.is.not.
156a00 61 20 72 65 67 65 78 2e 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 a.regex.');.}.......public.funct
156a20 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 74 65 72 6e 2c 20 24 6f 70 74 69 6f ion.__construct($pattern,.$optio
156a40 6e 73 20 3d 20 27 27 2c 20 24 64 65 6c 69 6d 69 74 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 ns.=.'',.$delimiter.=.null).{.if
156a60 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 64 65 6c 69 6d 69 74 65 72 29 20 7b 0a 0a 20 24 70 61 74 74 .(null.!==.$delimiter).{...$patt
156a80 65 72 6e 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2e 24 64 65 6c 69 6d 69 74 65 ern.=.str_replace('\\'.$delimite
156aa0 72 2c 20 24 64 65 6c 69 6d 69 74 65 72 2c 20 24 70 61 74 74 65 72 6e 29 3b 0a 7d 0a 0a 24 74 68 r,.$delimiter,.$pattern);.}..$th
156ac0 69 73 2d 3e 70 61 72 73 65 50 61 74 74 65 72 6e 28 24 70 61 74 74 65 72 6e 29 3b 0a 24 74 68 69 is->parsePattern($pattern);.$thi
156ae0 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 24 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 s->options.=.$options;.}.....pub
156b00 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 lic.function.__toString().{.retu
156b20 72 6e 20 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 rn.$this->render();.}.....public
156b40 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 .function.render().{.return.self
156b60 3a 3a 42 4f 55 4e 44 41 52 59 0a 2e 24 74 68 69 73 2d 3e 72 65 6e 64 65 72 50 61 74 74 65 72 6e ::BOUNDARY..$this->renderPattern
156b80 28 29 0a 2e 73 65 6c 66 3a 3a 42 4f 55 4e 44 41 52 59 0a 2e 24 74 68 69 73 2d 3e 6f 70 74 69 6f ()..self::BOUNDARY..$this->optio
156ba0 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 ns;.}.....public.function.render
156bc0 50 61 74 74 65 72 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 28 24 74 68 69 73 2d 3e 73 74 61 72 74 Pattern().{.return.($this->start
156be0 46 6c 61 67 20 3f 20 73 65 6c 66 3a 3a 53 54 41 52 54 5f 46 4c 41 47 20 3a 20 27 27 29 0a 2e 28 Flag.?.self::START_FLAG.:.'')..(
156c00 24 74 68 69 73 2d 3e 73 74 61 72 74 4a 6f 6b 65 72 20 3f 20 73 65 6c 66 3a 3a 4a 4f 4b 45 52 20 $this->startJoker.?.self::JOKER.
156c20 3a 20 27 27 29 0a 2e 73 74 72 5f 72 65 70 6c 61 63 65 28 73 65 6c 66 3a 3a 42 4f 55 4e 44 41 52 :.'')..str_replace(self::BOUNDAR
156c40 59 2c 20 27 5c 5c 27 2e 73 65 6c 66 3a 3a 42 4f 55 4e 44 41 52 59 2c 20 24 74 68 69 73 2d 3e 70 Y,.'\\'.self::BOUNDARY,.$this->p
156c60 61 74 74 65 72 6e 29 0a 2e 28 24 74 68 69 73 2d 3e 65 6e 64 4a 6f 6b 65 72 20 3f 20 73 65 6c 66 attern)..($this->endJoker.?.self
156c80 3a 3a 4a 4f 4b 45 52 20 3a 20 27 27 29 0a 2e 28 24 74 68 69 73 2d 3e 65 6e 64 46 6c 61 67 20 3f ::JOKER.:.'')..($this->endFlag.?
156ca0 20 73 65 6c 66 3a 3a 45 4e 44 5f 46 4c 41 47 20 3a 20 27 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 .self::END_FLAG.:.'');.}.....pub
156cc0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 0a 7b lic.function.isCaseSensitive().{
156ce0 0a 72 65 74 75 72 6e 20 21 24 74 68 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 27 69 27 29 3b 0a .return.!$this->hasOption('i');.
156d00 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 0a }.....public.function.getType().
156d20 7b 0a 72 65 74 75 72 6e 20 45 78 70 72 65 73 73 69 6f 6e 3a 3a 54 59 50 45 5f 52 45 47 45 58 3b {.return.Expression::TYPE_REGEX;
156d40 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 65 6e 64 28 24 .}.....public.function.prepend($
156d60 65 78 70 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 20 3d 20 24 65 78 70 72 2e 24 expr).{.$this->pattern.=.$expr.$
156d80 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a this->pattern;..return.$this;.}.
156da0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 28 24 65 78 70 72 ....public.function.append($expr
156dc0 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 20 2e 3d 20 24 65 78 70 72 3b 0a 0a 72 65 ).{.$this->pattern..=.$expr;..re
156de0 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 turn.$this;.}.......public.funct
156e00 69 6f 6e 20 68 61 73 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 0a 7b 0a 72 65 74 75 72 6e 20 ion.hasOption($option).{.return.
156e20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 2c false.!==.strpos($this->options,
156e40 20 24 6f 70 74 69 6f 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .$option);.}.......public.functi
156e60 6f 6e 20 61 64 64 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 24 74 68 on.addOption($option).{.if.(!$th
156e80 69 73 2d 3e 68 61 73 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 29 20 7b 0a 24 74 68 69 73 2d is->hasOption($option)).{.$this-
156ea0 3e 6f 70 74 69 6f 6e 73 20 2e 3d 20 24 6f 70 74 69 6f 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 >options..=.$option;.}..return.$
156ec0 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 this;.}.......public.function.re
156ee0 6d 6f 76 65 4f 70 74 69 6f 6e 28 24 6f 70 74 69 6f 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 moveOption($option).{.$this->opt
156f00 69 6f 6e 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 24 6f 70 74 69 6f 6e 2c 20 27 27 2c 20 ions.=.str_replace($option,.'',.
156f20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a $this->options);..return.$this;.
156f40 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 72 74 }.......public.function.setStart
156f60 46 6c 61 67 28 24 73 74 61 72 74 46 6c 61 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 46 Flag($startFlag).{.$this->startF
156f80 6c 61 67 20 3d 20 24 73 74 61 72 74 46 6c 61 67 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b lag.=.$startFlag;..return.$this;
156fa0 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 61 72 74 46 .}.....public.function.hasStartF
156fc0 6c 61 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 72 74 46 6c 61 67 3b lag().{.return.$this->startFlag;
156fe0 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 64 46 .}.......public.function.setEndF
157000 6c 61 67 28 24 65 6e 64 46 6c 61 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 64 46 6c 61 67 20 3d lag($endFlag).{.$this->endFlag.=
157020 20 28 62 6f 6f 6c 29 20 24 65 6e 64 46 6c 61 67 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b .(bool).$endFlag;..return.$this;
157040 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 45 6e 64 46 6c 61 .}.....public.function.hasEndFla
157060 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 64 46 6c 61 67 3b 0a 7d 0a 0a g().{.return.$this->endFlag;.}..
157080 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 74 61 72 74 4a 6f 6b .....public.function.setStartJok
1570a0 65 72 28 24 73 74 61 72 74 4a 6f 6b 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 4a 6f er($startJoker).{.$this->startJo
1570c0 6b 65 72 20 3d 20 24 73 74 61 72 74 4a 6f 6b 65 72 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 ker.=.$startJoker;..return.$this
1570e0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 53 74 61 72 74 ;.}.....public.function.hasStart
157100 4a 6f 6b 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 72 74 4a 6f 6b Joker().{.return.$this->startJok
157120 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 er;.}.......public.function.setE
157140 6e 64 4a 6f 6b 65 72 28 24 65 6e 64 4a 6f 6b 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 64 4a ndJoker($endJoker).{.$this->endJ
157160 6f 6b 65 72 20 3d 20 28 62 6f 6f 6c 29 20 24 65 6e 64 4a 6f 6b 65 72 3b 0a 0a 72 65 74 75 72 6e oker.=.(bool).$endJoker;..return
157180 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 .$this;.}.....public.function.ha
1571a0 73 45 6e 64 4a 6f 6b 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 64 4a sEndJoker().{.return.$this->endJ
1571c0 6f 6b 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6c oker;.}.....public.function.repl
1571e0 61 63 65 4a 6f 6b 65 72 73 28 24 72 65 70 6c 61 63 65 6d 65 6e 74 29 0a 7b 0a 24 72 65 70 6c 61 aceJokers($replacement).{.$repla
157200 63 65 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 73 75 62 6a 65 63 74 29 20 75 73 65 20 28 24 72 ce.=.function.($subject).use.($r
157220 65 70 6c 61 63 65 6d 65 6e 74 29 20 7b 0a 24 73 75 62 6a 65 63 74 20 3d 20 24 73 75 62 6a 65 63 eplacement).{.$subject.=.$subjec
157240 74 5b 30 5d 3b 0a 24 72 65 70 6c 61 63 65 20 3d 20 30 20 3d 3d 3d 20 73 75 62 73 74 72 5f 63 6f t[0];.$replace.=.0.===.substr_co
157260 75 6e 74 28 24 73 75 62 6a 65 63 74 2c 20 27 5c 5c 27 29 20 25 20 32 3b 0a 0a 72 65 74 75 72 6e unt($subject,.'\\').%.2;..return
157280 20 24 72 65 70 6c 61 63 65 20 3f 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 2e 27 2c 20 24 72 65 .$replace.?.str_replace('.',.$re
1572a0 70 6c 61 63 65 6d 65 6e 74 2c 20 24 73 75 62 6a 65 63 74 29 20 3a 20 24 73 75 62 6a 65 63 74 3b placement,.$subject).:.$subject;
1572c0 0a 7d 3b 0a 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 .};..$this->pattern.=.preg_repla
1572e0 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 7e 5b 5c 5c 5c 5c 5d 2a 5c 5c 2e 7e 27 2c 20 24 72 65 70 ce_callback('~[\\\\]*\\.~',.$rep
157300 6c 61 63 65 2c 20 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e 29 3b 0a 0a 72 65 74 75 72 6e 20 24 lace,.$this->pattern);..return.$
157320 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 this;.}.....private.function.par
157340 73 65 50 61 74 74 65 72 6e 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d sePattern($pattern).{.if.($this-
157360 3e 73 74 61 72 74 46 6c 61 67 20 3d 20 73 65 6c 66 3a 3a 53 54 41 52 54 5f 46 4c 41 47 20 3d 3d >startFlag.=.self::START_FLAG.==
157380 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 30 2c 20 31 29 29 20 7b 0a 24 70 61 74 =.substr($pattern,.0,.1)).{.$pat
1573a0 74 65 72 6e 20 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 31 29 3b 0a 7d 0a 0a 69 tern.=.substr($pattern,.1);.}..i
1573c0 66 20 28 24 74 68 69 73 2d 3e 73 74 61 72 74 4a 6f 6b 65 72 20 3d 20 73 65 6c 66 3a 3a 4a 4f 4b f.($this->startJoker.=.self::JOK
1573e0 45 52 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 30 2c 20 32 29 29 20 7b ER.===.substr($pattern,.0,.2)).{
157400 0a 24 70 61 74 74 65 72 6e 20 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 32 29 3b .$pattern.=.substr($pattern,.2);
157420 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 64 46 6c 61 67 20 3d 20 28 73 65 6c 66 3a 3a .}..if.($this->endFlag.=.(self::
157440 45 4e 44 5f 46 4c 41 47 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 2d 31 END_FLAG.===.substr($pattern,.-1
157460 29 20 26 26 20 73 65 6c 66 3a 3a 45 53 43 41 50 49 4e 47 20 21 3d 3d 20 73 75 62 73 74 72 28 24 ).&&.self::ESCAPING.!==.substr($
157480 70 61 74 74 65 72 6e 2c 20 2d 32 2c 20 2d 31 29 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 pattern,.-2,.-1))).{.$pattern.=.
1574a0 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 30 2c 20 2d 31 29 3b 0a 7d 0a 0a 69 66 20 28 substr($pattern,.0,.-1);.}..if.(
1574c0 24 74 68 69 73 2d 3e 65 6e 64 4a 6f 6b 65 72 20 3d 20 28 73 65 6c 66 3a 3a 4a 4f 4b 45 52 20 3d $this->endJoker.=.(self::JOKER.=
1574e0 3d 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 2d 32 29 20 26 26 20 73 65 6c 66 3a ==.substr($pattern,.-2).&&.self:
157500 3a 45 53 43 41 50 49 4e 47 20 21 3d 3d 20 73 75 62 73 74 72 28 24 70 61 74 74 65 72 6e 2c 20 2d :ESCAPING.!==.substr($pattern,.-
157520 33 2c 20 2d 32 29 29 29 20 7b 0a 24 70 61 74 74 65 72 6e 20 3d 20 73 75 62 73 74 72 28 24 70 61 3,.-2))).{.$pattern.=.substr($pa
157540 74 74 65 72 6e 2c 20 30 2c 20 2d 32 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 61 74 74 65 72 6e ttern,.0,.-2);.}..$this->pattern
157560 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .=.$pattern;.}.}.<?php..........
157580 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e .namespace.Symfony\Component\Fin
1575a0 64 65 72 5c 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 der\Expression;..@trigger_error(
1575c0 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 56 61 6c 75 65 49 6e 74 65 'The.'.__NAMESPACE__.'\ValueInte
1575e0 72 66 61 63 65 20 69 6e 74 65 72 66 61 63 65 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 rface.interface.is.deprecated.si
157600 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f nce.Symfony.2.8.and.will.be.remo
157620 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 ved.in.3.0.',.E_USER_DEPRECATED)
157640 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 56 61 6c 75 65 49 6e 74 65 72 66 61 63 65 0a 7b ;.....interface.ValueInterface.{
157660 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 28 29 3b 0a ......public.function.render();.
157680 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6e 64 65 72 50 61 74 74 ......public.function.renderPatt
1576a0 65 72 6e 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 ern();.......public.function.isC
1576c0 61 73 65 53 65 6e 73 69 74 69 76 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e aseSensitive();.......public.fun
1576e0 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 ction.getType();.......public.fu
157700 6e 63 74 69 6f 6e 20 70 72 65 70 65 6e 64 28 24 65 78 70 72 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 nction.prepend($expr);.......pub
157720 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 28 24 65 78 70 72 29 3b 0a 7d 0a 3c 3f lic.function.append($expr);.}.<?
157740 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
157760 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 Component\Finder;..use.Symfony\C
157780 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 5c 41 64 61 70 74 65 72 49 omponent\Finder\Adapter\AdapterI
1577a0 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c nterface;.use.Symfony\Component\
1577c0 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 5c 42 73 64 46 69 6e 64 41 64 61 70 74 65 72 3b 0a 75 Finder\Adapter\BsdFindAdapter;.u
1577e0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 se.Symfony\Component\Finder\Adap
157800 74 65 72 5c 47 6e 75 46 69 6e 64 41 64 61 70 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c ter\GnuFindAdapter;.use.Symfony\
157820 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 41 64 61 70 74 65 72 5c 50 68 70 41 64 61 70 Component\Finder\Adapter\PhpAdap
157840 74 65 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 ter;.use.Symfony\Component\Finde
157860 72 5c 43 6f 6d 70 61 72 61 74 6f 72 5c 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 75 73 65 r\Comparator\DateComparator;.use
157880 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 61 72 .Symfony\Component\Finder\Compar
1578a0 61 74 6f 72 5c 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f ator\NumberComparator;.use.Symfo
1578c0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 70 74 69 6f 6e 5c 45 78 ny\Component\Finder\Exception\Ex
1578e0 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f ceptionInterface;.use.Symfony\Co
157900 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 43 75 73 74 6f 6d 46 69 mponent\Finder\Iterator\CustomFi
157920 6c 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e lterIterator;.use.Symfony\Compon
157940 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 44 61 74 65 52 61 6e 67 65 46 69 6c ent\Finder\Iterator\DateRangeFil
157960 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 terIterator;.use.Symfony\Compone
157980 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 44 65 70 74 68 52 61 6e 67 65 46 69 6c nt\Finder\Iterator\DepthRangeFil
1579a0 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 terIterator;.use.Symfony\Compone
1579c0 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 45 78 63 6c 75 64 65 44 69 72 65 63 74 nt\Finder\Iterator\ExcludeDirect
1579e0 6f 72 79 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 oryFilterIterator;.use.Symfony\C
157a00 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 63 6f 6e omponent\Finder\Iterator\Filecon
157a20 74 65 6e 74 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c tentFilterIterator;.use.Symfony\
157a40 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 6e 61 Component\Finder\Iterator\Filena
157a60 6d 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f meFilterIterator;.use.Symfony\Co
157a80 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 53 69 7a 65 52 61 6e 67 mponent\Finder\Iterator\SizeRang
157aa0 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d eFilterIterator;.use.Symfony\Com
157ac0 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 ponent\Finder\Iterator\SortableI
157ae0 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6e terator;...............class.Fin
157b00 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 der.implements.\IteratorAggregat
157b20 65 2c 20 5c 43 6f 75 6e 74 61 62 6c 65 0a 7b 0a 63 6f 6e 73 74 20 49 47 4e 4f 52 45 5f 56 43 53 e,.\Countable.{.const.IGNORE_VCS
157b40 5f 46 49 4c 45 53 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c _FILES.=.1;.const.IGNORE_DOT_FIL
157b60 45 53 20 3d 20 32 3b 0a 0a 70 72 69 76 61 74 65 20 24 6d 6f 64 65 20 3d 20 30 3b 0a 70 72 69 76 ES.=.2;..private.$mode.=.0;.priv
157b80 61 74 65 20 24 6e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6e ate.$names.=.array();.private.$n
157ba0 6f 74 4e 61 6d 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 65 78 63 6c otNames.=.array();.private.$excl
157bc0 75 64 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 74 65 72 73 20 ude.=.array();.private.$filters.
157be0 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 64 65 70 74 68 73 20 3d 20 61 72 72 =.array();.private.$depths.=.arr
157c00 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 73 69 7a 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ay();.private.$sizes.=.array();.
157c20 70 72 69 76 61 74 65 20 24 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 20 3d 20 66 61 6c 73 65 3b 0a 70 72 private.$followLinks.=.false;.pr
157c40 69 76 61 74 65 20 24 73 6f 72 74 20 3d 20 66 61 6c 73 65 3b 0a 70 72 69 76 61 74 65 20 24 69 67 ivate.$sort.=.false;.private.$ig
157c60 6e 6f 72 65 20 3d 20 30 3b 0a 70 72 69 76 61 74 65 20 24 64 69 72 73 20 3d 20 61 72 72 61 79 28 nore.=.0;.private.$dirs.=.array(
157c80 29 3b 0a 70 72 69 76 61 74 65 20 24 64 61 74 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 );.private.$dates.=.array();.pri
157ca0 76 61 74 65 20 24 69 74 65 72 61 74 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 vate.$iterators.=.array();.priva
157cc0 74 65 20 24 63 6f 6e 74 61 69 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 te.$contains.=.array();.private.
157ce0 24 6e 6f 74 43 6f 6e 74 61 69 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 $notContains.=.array();.private.
157d00 24 61 64 61 70 74 65 72 73 20 3d 20 6e 75 6c 6c 3b 0a 70 72 69 76 61 74 65 20 24 70 61 74 68 73 $adapters.=.null;.private.$paths
157d20 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6e 6f 74 50 61 74 68 73 20 3d 20 .=.array();.private.$notPaths.=.
157d40 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 array();.private.$ignoreUnreadab
157d60 6c 65 44 69 72 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 leDirs.=.false;..private.static.
157d80 24 76 63 73 50 61 74 74 65 72 6e 73 20 3d 20 61 72 72 61 79 28 27 2e 73 76 6e 27 2c 20 27 5f 73 $vcsPatterns.=.array('.svn',.'_s
157da0 76 6e 27 2c 20 27 43 56 53 27 2c 20 27 5f 64 61 72 63 73 27 2c 20 27 2e 61 72 63 68 2d 70 61 72 vn',.'CVS',.'_darcs',.'.arch-par
157dc0 61 6d 73 27 2c 20 27 2e 6d 6f 6e 6f 74 6f 6e 65 27 2c 20 27 2e 62 7a 72 27 2c 20 27 2e 67 69 74 ams',.'.monotone',.'.bzr',.'.git
157de0 27 2c 20 27 2e 68 67 27 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f ',.'.hg');..public.function.__co
157e00 6e 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 3d 20 73 74 61 74 nstruct().{.$this->ignore.=.stat
157e20 69 63 3a 3a 49 47 4e 4f 52 45 5f 56 43 53 5f 46 49 4c 45 53 20 7c 20 73 74 61 74 69 63 3a 3a 49 ic::IGNORE_VCS_FILES.|.static::I
157e40 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c 45 53 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 GNORE_DOT_FILES;.}.......public.
157e60 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 29 0a 7b 0a 72 65 74 75 72 static.function.create().{.retur
157e80 6e 20 6e 65 77 20 73 74 61 74 69 63 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 n.new.static();.}............pub
157ea0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 64 61 70 74 65 72 28 41 64 61 70 74 65 72 49 lic.function.addAdapter(AdapterI
157ec0 6e 74 65 72 66 61 63 65 20 24 61 64 61 70 74 65 72 2c 20 24 70 72 69 6f 72 69 74 79 20 3d 20 30 nterface.$adapter,.$priority.=.0
157ee0 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 ).{.@trigger_error('The.'.__METH
157f00 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 OD__.'.method.is.deprecated.sinc
157f20 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 e.Symfony.2.8.and.will.be.remove
157f40 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a d.in.3.0.',.E_USER_DEPRECATED);.
157f60 0a 24 74 68 69 73 2d 3e 69 6e 69 74 44 65 66 61 75 6c 74 41 64 61 70 74 65 72 73 28 29 3b 0a 0a .$this->initDefaultAdapters();..
157f80 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 5b 24 61 64 61 70 74 65 72 2d 3e 67 65 74 4e 61 6d $this->adapters[$adapter->getNam
157fa0 65 28 29 5d 20 3d 20 61 72 72 61 79 28 0a 27 61 64 61 70 74 65 72 27 20 3d 3e 20 24 61 64 61 70 e()].=.array(.'adapter'.=>.$adap
157fc0 74 65 72 2c 0a 27 70 72 69 6f 72 69 74 79 27 20 3d 3e 20 24 70 72 69 6f 72 69 74 79 2c 0a 27 73 ter,.'priority'.=>.$priority,.'s
157fe0 65 6c 65 63 74 65 64 27 20 3d 3e 20 66 61 6c 73 65 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 elected'.=>.false,.);..return.$t
158000 68 69 73 2d 3e 73 6f 72 74 41 64 61 70 74 65 72 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 his->sortAdapters();.}.........p
158020 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 42 65 73 74 41 64 61 70 74 65 72 28 29 0a ublic.function.useBestAdapter().
158040 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 {.@trigger_error('The.'.__METHOD
158060 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 __.'.method.is.deprecated.since.
158080 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 Symfony.2.8.and.will.be.removed.
1580a0 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 in.3.0.',.E_USER_DEPRECATED);..$
1580c0 74 68 69 73 2d 3e 69 6e 69 74 44 65 66 61 75 6c 74 41 64 61 70 74 65 72 73 28 29 3b 0a 0a 24 74 this->initDefaultAdapters();..$t
1580e0 68 69 73 2d 3e 72 65 73 65 74 41 64 61 70 74 65 72 53 65 6c 65 63 74 69 6f 6e 28 29 3b 0a 0a 72 his->resetAdapterSelection();..r
158100 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 6f 72 74 41 64 61 70 74 65 72 73 28 29 3b 0a 7d 0a 0a eturn.$this->sortAdapters();.}..
158120 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 41 64 ...........public.function.setAd
158140 61 70 74 65 72 28 24 6e 61 6d 65 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 apter($name).{.@trigger_error('T
158160 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 he.'.__METHOD__.'.method.is.depr
158180 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c ecated.since.Symfony.2.8.and.wil
1581a0 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 l.be.removed.in.3.0.',.E_USER_DE
1581c0 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 44 65 66 61 75 6c 74 41 64 PRECATED);..$this->initDefaultAd
1581e0 61 70 74 65 72 73 28 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 61 64 61 apters();..if.(!isset($this->ada
158200 70 74 65 72 73 5b 24 6e 61 6d 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 pters[$name])).{.throw.new.\Inva
158220 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 64 lidArgumentException(sprintf('Ad
158240 61 70 74 65 72 20 22 25 73 22 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6e 61 apter."%s".does.not.exist.',.$na
158260 6d 65 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 73 65 74 41 64 61 70 74 65 72 53 65 6c 65 me));.}..$this->resetAdapterSele
158280 63 74 69 6f 6e 28 29 3b 0a 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 5b 24 6e 61 6d 65 5d 5b ction();.$this->adapters[$name][
1582a0 27 73 65 6c 65 63 74 65 64 27 5d 20 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 'selected'].=.true;..return.$thi
1582c0 73 2d 3e 73 6f 72 74 41 64 61 70 74 65 72 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 s->sortAdapters();.}.........pub
1582e0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 41 64 61 70 74 65 72 73 28 29 0a 7b 0a lic.function.removeAdapters().{.
158300 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f @trigger_error('The.'.__METHOD__
158320 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 .'.method.is.deprecated.since.Sy
158340 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e mfony.2.8.and.will.be.removed.in
158360 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 74 68 .3.0.',.E_USER_DEPRECATED);..$th
158380 69 73 2d 3e 61 64 61 70 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 72 65 74 75 72 6e 20 is->adapters.=.array();..return.
1583a0 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e $this;.}.........public.function
1583c0 20 67 65 74 41 64 61 70 74 65 72 73 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 .getAdapters().{.@trigger_error(
1583e0 27 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 'The.'.__METHOD__.'.method.is.de
158400 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 precated.since.Symfony.2.8.and.w
158420 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f ill.be.removed.in.3.0.',.E_USER_
158440 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 24 74 68 69 73 2d 3e 69 6e 69 74 44 65 66 61 75 6c 74 DEPRECATED);..$this->initDefault
158460 41 64 61 70 74 65 72 73 28 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 76 61 6c 75 65 73 Adapters();..return.array_values
158480 28 61 72 72 61 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 61 72 72 61 79 20 24 61 64 61 70 (array_map(function.(array.$adap
1584a0 74 65 72 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 64 61 70 74 65 72 5b 27 61 64 61 70 74 65 72 27 ter).{.return.$adapter['adapter'
1584c0 5d 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a ];.},.$this->adapters));.}......
1584e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 72 65 63 74 6f 72 69 65 73 28 29 0a 7b .public.function.directories().{
158500 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 54 79 70 65 .$this->mode.=.Iterator\FileType
158520 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 3a 3a 4f 4e 4c 59 5f 44 49 52 45 43 54 4f 52 49 45 53 FilterIterator::ONLY_DIRECTORIES
158540 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ;..return.$this;.}.......public.
158560 66 75 6e 63 74 69 6f 6e 20 66 69 6c 65 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 6f 64 65 20 3d function.files().{.$this->mode.=
158580 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 .Iterator\FileTypeFilterIterator
1585a0 3a 3a 4f 4e 4c 59 5f 46 49 4c 45 53 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a ::ONLY_FILES;..return.$this;.}..
1585c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 ...............public.function.d
1585e0 65 70 74 68 28 24 6c 65 76 65 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 70 74 68 73 5b 5d 20 3d epth($level).{.$this->depths[].=
158600 20 6e 65 77 20 43 6f 6d 70 61 72 61 74 6f 72 5c 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 .new.Comparator\NumberComparator
158620 28 24 6c 65 76 65 6c 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a ($level);..return.$this;.}......
158640 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 61 ..............public.function.da
158660 74 65 28 24 64 61 74 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 61 74 65 73 5b 5d 20 3d 20 6e 65 77 te($date).{.$this->dates[].=.new
158680 20 43 6f 6d 70 61 72 61 74 6f 72 5c 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 28 24 64 61 74 65 .Comparator\DateComparator($date
1586a0 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a );..return.$this;.}.............
1586c0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 28 24 70 61 74 74 65 72 ....public.function.name($patter
1586e0 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 61 6d 65 73 5b 5d 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a n).{.$this->names[].=.$pattern;.
158700 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .return.$this;.}...........publi
158720 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 4e 61 6d 65 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 c.function.notName($pattern).{.$
158740 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d 65 73 5b 5d 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a 0a 72 65 this->notNames[].=.$pattern;..re
158760 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 turn.$this;.}................pub
158780 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 73 28 24 70 61 74 74 65 72 6e 29 0a lic.function.contains($pattern).
1587a0 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 5b 5d 20 3d 20 24 70 61 74 74 65 72 6e 3b 0a {.$this->contains[].=.$pattern;.
1587c0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a .return.$this;.}................
1587e0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 43 6f 6e 74 61 69 6e 73 28 24 70 61 74 public.function.notContains($pat
158800 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 5b 5d 20 3d 20 24 tern).{.$this->notContains[].=.$
158820 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a pattern;..return.$this;.}.......
158840 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 74 68 28 ...........public.function.path(
158860 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 61 74 68 73 5b 5d 20 3d 20 24 70 61 $pattern).{.$this->paths[].=.$pa
158880 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ttern;..return.$this;.}.........
1588a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 50 61 74 68 .........public.function.notPath
1588c0 28 24 70 61 74 74 65 72 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 5b 5d 20 3d ($pattern).{.$this->notPaths[].=
1588e0 20 24 70 61 74 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a .$pattern;..return.$this;.}.....
158900 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 69 7a 65 28 ...........public.function.size(
158920 24 73 69 7a 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 69 7a 65 73 5b 5d 20 3d 20 6e 65 77 20 43 6f $size).{.$this->sizes[].=.new.Co
158940 6d 70 61 72 61 74 6f 72 5c 4e 75 6d 62 65 72 43 6f 6d 70 61 72 61 74 6f 72 28 24 73 69 7a 65 29 mparator\NumberComparator($size)
158960 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ;..return.$this;.}..............
158980 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 63 6c 75 64 65 28 24 64 69 72 73 29 0a .public.function.exclude($dirs).
1589a0 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 {.$this->exclude.=.array_merge($
1589c0 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 2c 20 28 61 72 72 61 79 29 20 24 64 69 72 73 29 3b 0a 0a this->exclude,.(array).$dirs);..
1589e0 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c return.$this;.}.............publ
158a00 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 73 28 24 69 67 6e 6f ic.function.ignoreDotFiles($igno
158a20 72 65 44 6f 74 46 69 6c 65 73 29 0a 7b 0a 69 66 20 28 24 69 67 6e 6f 72 65 44 6f 74 46 69 6c 65 reDotFiles).{.if.($ignoreDotFile
158a40 73 29 20 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 7c 3d 20 73 74 61 74 69 63 3a 3a 49 47 s).{.$this->ignore.|=.static::IG
158a60 4e 4f 52 45 5f 44 4f 54 5f 46 49 4c 45 53 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e NORE_DOT_FILES;.}.else.{.$this->
158a80 69 67 6e 6f 72 65 20 26 3d 20 7e 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 49 ignore.&=.~static::IGNORE_DOT_FI
158aa0 4c 45 53 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a LES;.}..return.$this;.}.........
158ac0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 56 43 53 28 24 69 ....public.function.ignoreVCS($i
158ae0 67 6e 6f 72 65 56 43 53 29 0a 7b 0a 69 66 20 28 24 69 67 6e 6f 72 65 56 43 53 29 20 7b 0a 24 74 gnoreVCS).{.if.($ignoreVCS).{.$t
158b00 68 69 73 2d 3e 69 67 6e 6f 72 65 20 7c 3d 20 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 56 43 his->ignore.|=.static::IGNORE_VC
158b20 53 5f 46 49 4c 45 53 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 20 S_FILES;.}.else.{.$this->ignore.
158b40 26 3d 20 7e 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 56 43 53 5f 46 49 4c 45 53 3b 0a 7d 0a &=.~static::IGNORE_VCS_FILES;.}.
158b60 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 .return.$this;.}.........public.
158b80 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 56 43 53 50 61 74 74 65 72 6e 28 24 70 static.function.addVCSPattern($p
158ba0 61 74 74 65 72 6e 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 28 61 72 72 61 79 29 20 24 70 61 74 74 attern).{.foreach.((array).$patt
158bc0 65 72 6e 20 61 73 20 24 70 29 20 7b 0a 73 65 6c 66 3a 3a 24 76 63 73 50 61 74 74 65 72 6e 73 5b ern.as.$p).{.self::$vcsPatterns[
158be0 5d 20 3d 20 24 70 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 76 63 73 50 61 74 74 65 72 6e 73 20 3d 20 ].=.$p;.}..self::$vcsPatterns.=.
158c00 61 72 72 61 79 5f 75 6e 69 71 75 65 28 73 65 6c 66 3a 3a 24 76 63 73 50 61 74 74 65 72 6e 73 29 array_unique(self::$vcsPatterns)
158c20 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ;.}.............public.function.
158c40 73 6f 72 74 28 5c 43 6c 6f 73 75 72 65 20 24 63 6c 6f 73 75 72 65 29 0a 7b 0a 24 74 68 69 73 2d sort(\Closure.$closure).{.$this-
158c60 3e 73 6f 72 74 20 3d 20 24 63 6c 6f 73 75 72 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b >sort.=.$closure;..return.$this;
158c80 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 .}...........public.function.sor
158ca0 74 42 79 4e 61 6d 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 49 74 65 72 61 74 tByName().{.$this->sort.=.Iterat
158cc0 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 4e 41 4d or\SortableIterator::SORT_BY_NAM
158ce0 45 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 E;..return.$this;.}...........pu
158d00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 42 79 54 79 70 65 28 29 0a 7b 0a 24 74 68 blic.function.sortByType().{.$th
158d20 69 73 2d 3e 73 6f 72 74 20 3d 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 is->sort.=.Iterator\SortableIter
158d40 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 54 59 50 45 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 ator::SORT_BY_TYPE;..return.$thi
158d60 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e s;.}.............public.function
158d80 20 73 6f 72 74 42 79 41 63 63 65 73 73 65 64 54 69 6d 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 .sortByAccessedTime().{.$this->s
158da0 6f 72 74 20 3d 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 3a ort.=.Iterator\SortableIterator:
158dc0 3a 53 4f 52 54 5f 42 59 5f 41 43 43 45 53 53 45 44 5f 54 49 4d 45 3b 0a 0a 72 65 74 75 72 6e 20 :SORT_BY_ACCESSED_TIME;..return.
158de0 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 $this;.}...............public.fu
158e00 6e 63 74 69 6f 6e 20 73 6f 72 74 42 79 43 68 61 6e 67 65 64 54 69 6d 65 28 29 0a 7b 0a 24 74 68 nction.sortByChangedTime().{.$th
158e20 69 73 2d 3e 73 6f 72 74 20 3d 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 74 65 72 is->sort.=.Iterator\SortableIter
158e40 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 3b 0a 0a 72 65 74 ator::SORT_BY_CHANGED_TIME;..ret
158e60 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 urn.$this;.}.............public.
158e80 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 42 79 4d 6f 64 69 66 69 65 64 54 69 6d 65 28 29 0a 7b 0a function.sortByModifiedTime().{.
158ea0 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c 65 49 $this->sort.=.Iterator\SortableI
158ec0 74 65 72 61 74 6f 72 3a 3a 53 4f 52 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d 45 3b 0a terator::SORT_BY_MODIFIED_TIME;.
158ee0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c .return.$this;.}............publ
158f00 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6c 74 65 72 28 5c 43 6c 6f 73 75 72 65 20 24 63 6c 6f ic.function.filter(\Closure.$clo
158f20 73 75 72 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 5b 5d 20 3d 20 24 63 6c 6f 73 sure).{.$this->filters[].=.$clos
158f40 75 72 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ure;..return.$this;.}.......publ
158f60 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 28 29 0a 7b 0a 24 74 68 69 ic.function.followLinks().{.$thi
158f80 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 20 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 s->followLinks.=.true;..return.$
158fa0 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f this;.}...........public.functio
158fc0 6e 20 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 28 24 69 67 6e 6f 72 65 20 3d n.ignoreUnreadableDirs($ignore.=
158fe0 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 .true).{.$this->ignoreUnreadable
159000 44 69 72 73 20 3d 20 28 62 6f 6f 6c 29 20 24 69 67 6e 6f 72 65 3b 0a 0a 72 65 74 75 72 6e 20 24 Dirs.=.(bool).$ignore;..return.$
159020 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f this;.}...........public.functio
159040 6e 20 69 6e 28 24 64 69 72 73 29 0a 7b 0a 24 72 65 73 6f 6c 76 65 64 44 69 72 73 20 3d 20 61 72 n.in($dirs).{.$resolvedDirs.=.ar
159060 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 28 61 72 72 61 79 29 20 24 64 69 72 73 20 61 ray();..foreach.((array).$dirs.a
159080 73 20 24 64 69 72 29 20 7b 0a 69 66 20 28 69 73 5f 64 69 72 28 24 64 69 72 29 29 20 7b 0a 24 72 s.$dir).{.if.(is_dir($dir)).{.$r
1590a0 65 73 6f 6c 76 65 64 44 69 72 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 esolvedDirs[].=.$this->normalize
1590c0 44 69 72 28 24 64 69 72 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 67 6c 6f 62 20 3d 20 67 6c 6f Dir($dir);.}.elseif.($glob.=.glo
1590e0 62 28 24 64 69 72 2c 20 28 5c 64 65 66 69 6e 65 64 28 27 47 4c 4f 42 5f 42 52 41 43 45 27 29 20 b($dir,.(\defined('GLOB_BRACE').
159100 3f 20 47 4c 4f 42 5f 42 52 41 43 45 20 3a 20 30 29 20 7c 20 47 4c 4f 42 5f 4f 4e 4c 59 44 49 52 ?.GLOB_BRACE.:.0).|.GLOB_ONLYDIR
159120 29 29 20 7b 0a 24 72 65 73 6f 6c 76 65 64 44 69 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 )).{.$resolvedDirs.=.array_merge
159140 28 24 72 65 73 6f 6c 76 65 64 44 69 72 73 2c 20 61 72 72 61 79 5f 6d 61 70 28 61 72 72 61 79 28 ($resolvedDirs,.array_map(array(
159160 24 74 68 69 73 2c 20 27 6e 6f 72 6d 61 6c 69 7a 65 44 69 72 27 29 2c 20 24 67 6c 6f 62 29 29 3b $this,.'normalizeDir'),.$glob));
159180 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 .}.else.{.throw.new.\InvalidArgu
1591a0 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 22 25 73 22 20 mentException(sprintf('The."%s".
1591c0 64 69 72 65 63 74 6f 72 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 64 69 72 directory.does.not.exist.',.$dir
1591e0 29 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 64 69 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 ));.}.}..$this->dirs.=.array_mer
159200 67 65 28 24 74 68 69 73 2d 3e 64 69 72 73 2c 20 24 72 65 73 6f 6c 76 65 64 44 69 72 73 29 3b 0a ge($this->dirs,.$resolvedDirs);.
159220 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 .return.$this;.}...........publi
159240 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 74 65 72 61 74 6f 72 28 29 0a 7b 0a 69 66 20 28 30 c.function.getIterator().{.if.(0
159260 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 69 72 73 29 20 26 26 20 30 20 3d 3d .===.\count($this->dirs).&&.0.==
159280 3d 20 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 29 29 20 7b 0a 74 68 =.\count($this->iterators)).{.th
1592a0 72 6f 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 row.new.\LogicException('You.mus
1592c0 74 20 63 61 6c 6c 20 6f 6e 65 20 6f 66 20 69 6e 28 29 20 6f 72 20 61 70 70 65 6e 64 28 29 20 6d t.call.one.of.in().or.append().m
1592e0 65 74 68 6f 64 73 20 62 65 66 6f 72 65 20 69 74 65 72 61 74 69 6e 67 20 6f 76 65 72 20 61 20 46 ethods.before.iterating.over.a.F
159300 69 6e 64 65 72 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 31 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 74 inder.');.}..if.(1.===.\count($t
159320 68 69 73 2d 3e 64 69 72 73 29 20 26 26 20 30 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 74 68 69 73 his->dirs).&&.0.===.\count($this
159340 2d 3e 69 74 65 72 61 74 6f 72 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 65 ->iterators)).{.return.$this->se
159360 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 74 68 69 73 2d 3e 64 69 72 73 5b 30 5d 29 3b archInDirectory($this->dirs[0]);
159380 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 5c 41 70 70 65 6e 64 49 74 65 72 61 .}..$iterator.=.new.\AppendItera
1593a0 74 6f 72 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 64 69 72 73 20 61 73 20 24 tor();.foreach.($this->dirs.as.$
1593c0 64 69 72 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 2d 3e 61 70 70 65 6e 64 28 24 74 68 69 73 2d 3e dir).{.$iterator->append($this->
1593e0 73 65 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 29 3b 0a 7d 0a 0a 66 6f 72 searchInDirectory($dir));.}..for
159400 65 61 63 68 20 28 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 20 61 73 20 24 69 74 29 20 7b each.($this->iterators.as.$it).{
159420 0a 24 69 74 65 72 61 74 6f 72 2d 3e 61 70 70 65 6e 64 28 24 69 74 29 3b 0a 7d 0a 0a 72 65 74 75 .$iterator->append($it);.}..retu
159440 72 6e 20 24 69 74 65 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c rn.$iterator;.}.............publ
159460 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 65 6e 64 28 24 69 74 65 72 61 74 6f 72 29 0a 7b 0a ic.function.append($iterator).{.
159480 69 66 20 28 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 49 74 65 72 61 74 if.($iterator.instanceof.\Iterat
1594a0 6f 72 41 67 67 72 65 67 61 74 65 29 20 7b 0a 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 5b orAggregate).{.$this->iterators[
1594c0 5d 20 3d 20 24 69 74 65 72 61 74 6f 72 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 3b 0a 7d 20 ].=.$iterator->getIterator();.}.
1594e0 65 6c 73 65 69 66 20 28 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 49 74 elseif.($iterator.instanceof.\It
159500 65 72 61 74 6f 72 29 20 7b 0a 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 73 5b 5d 20 3d 20 24 erator).{.$this->iterators[].=.$
159520 69 74 65 72 61 74 6f 72 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 69 74 65 72 61 74 6f 72 20 69 6e iterator;.}.elseif.($iterator.in
159540 73 74 61 6e 63 65 6f 66 20 5c 54 72 61 76 65 72 73 61 62 6c 65 20 7c 7c 20 5c 69 73 5f 61 72 72 stanceof.\Traversable.||.\is_arr
159560 61 79 28 24 69 74 65 72 61 74 6f 72 29 29 20 7b 0a 24 69 74 20 3d 20 6e 65 77 20 5c 41 72 72 61 ay($iterator)).{.$it.=.new.\Arra
159580 79 49 74 65 72 61 74 6f 72 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 69 74 65 72 61 74 6f 72 20 yIterator();.foreach.($iterator.
1595a0 61 73 20 24 66 69 6c 65 29 20 7b 0a 24 69 74 2d 3e 61 70 70 65 6e 64 28 24 66 69 6c 65 20 69 6e as.$file).{.$it->append($file.in
1595c0 73 74 61 6e 63 65 6f 66 20 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 20 3f 20 24 66 69 6c 65 20 3a 20 stanceof.\SplFileInfo.?.$file.:.
1595e0 6e 65 77 20 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 28 24 66 69 6c 65 29 29 3b 0a 7d 0a 24 74 68 69 new.\SplFileInfo($file));.}.$thi
159600 73 2d 3e 69 74 65 72 61 74 6f 72 73 5b 5d 20 3d 20 24 69 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 s->iterators[].=.$it;.}.else.{.t
159620 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 hrow.new.\InvalidArgumentExcepti
159640 6f 6e 28 27 46 69 6e 64 65 72 3a 3a 61 70 70 65 6e 64 28 29 20 6d 65 74 68 6f 64 20 77 72 6f 6e on('Finder::append().method.wron
159660 67 20 61 72 67 75 6d 65 6e 74 20 74 79 70 65 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 g.argument.type.');.}..return.$t
159680 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 his;.}.......public.function.cou
1596a0 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 69 74 65 72 61 74 6f 72 5f 63 6f 75 6e 74 28 24 74 68 nt().{.return.iterator_count($th
1596c0 69 73 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 is->getIterator());.}.....privat
1596e0 65 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 41 64 61 70 74 65 72 73 28 29 0a 7b 0a 75 61 73 6f e.function.sortAdapters().{.uaso
159700 72 74 28 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 61 72 rt($this->adapters,.function.(ar
159720 72 61 79 20 24 61 2c 20 61 72 72 61 79 20 24 62 29 20 7b 0a 69 66 20 28 24 61 5b 27 73 65 6c 65 ray.$a,.array.$b).{.if.($a['sele
159740 63 74 65 64 27 5d 20 7c 7c 20 24 62 5b 27 73 65 6c 65 63 74 65 64 27 5d 29 20 7b 0a 72 65 74 75 cted'].||.$b['selected']).{.retu
159760 72 6e 20 24 61 5b 27 73 65 6c 65 63 74 65 64 27 5d 20 3f 20 2d 31 20 3a 20 31 3b 0a 7d 0a 0a 72 rn.$a['selected'].?.-1.:.1;.}..r
159780 65 74 75 72 6e 20 24 61 5b 27 70 72 69 6f 72 69 74 79 27 5d 20 3e 20 24 62 5b 27 70 72 69 6f 72 eturn.$a['priority'].>.$b['prior
1597a0 69 74 79 27 5d 20 3f 20 2d 31 20 3a 20 31 3b 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 ity'].?.-1.:.1;.});..return.$thi
1597c0 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 s;.}.......private.function.sear
1597e0 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 0a 7b 0a 69 66 20 28 73 74 61 74 69 63 chInDirectory($dir).{.if.(static
159800 3a 3a 49 47 4e 4f 52 45 5f 56 43 53 5f 46 49 4c 45 53 20 3d 3d 3d 20 28 73 74 61 74 69 63 3a 3a ::IGNORE_VCS_FILES.===.(static::
159820 49 47 4e 4f 52 45 5f 56 43 53 5f 46 49 4c 45 53 20 26 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 IGNORE_VCS_FILES.&.$this->ignore
159840 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 )).{.$this->exclude.=.array_merg
159860 65 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 2c 20 73 65 6c 66 3a 3a 24 76 63 73 50 61 74 74 e($this->exclude,.self::$vcsPatt
159880 65 72 6e 73 29 3b 0a 7d 0a 0a 69 66 20 28 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 erns);.}..if.(static::IGNORE_DOT
1598a0 5f 46 49 4c 45 53 20 3d 3d 3d 20 28 73 74 61 74 69 63 3a 3a 49 47 4e 4f 52 45 5f 44 4f 54 5f 46 _FILES.===.(static::IGNORE_DOT_F
1598c0 49 4c 45 53 20 26 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e ILES.&.$this->ignore)).{.$this->
1598e0 6e 6f 74 50 61 74 68 73 5b 5d 20 3d 20 27 23 28 5e 7c 2f 29 5c 2e 2e 2b 28 2f 7c 24 29 23 27 3b notPaths[].=.'#(^|/)\..+(/|$)#';
159900 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 29 20 7b 0a 66 6f 72 65 61 .}..if.($this->adapters).{.forea
159920 63 68 20 28 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 20 61 73 20 24 61 64 61 70 74 65 72 29 ch.($this->adapters.as.$adapter)
159940 20 7b 0a 69 66 20 28 24 61 64 61 70 74 65 72 5b 27 61 64 61 70 74 65 72 27 5d 2d 3e 69 73 53 75 .{.if.($adapter['adapter']->isSu
159960 70 70 6f 72 74 65 64 28 29 29 20 7b 0a 74 72 79 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 0a pported()).{.try.{.return.$this.
159980 2d 3e 62 75 69 6c 64 41 64 61 70 74 65 72 28 24 61 64 61 70 74 65 72 5b 27 61 64 61 70 74 65 72 ->buildAdapter($adapter['adapter
1599a0 27 5d 29 0a 2d 3e 73 65 61 72 63 68 49 6e 44 69 72 65 63 74 6f 72 79 28 24 64 69 72 29 3b 0a 7d ']).->searchInDirectory($dir);.}
1599c0 20 63 61 74 63 68 20 28 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 20 24 65 29 20 7b .catch.(ExceptionInterface.$e).{
1599e0 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 24 6d 69 6e 44 65 70 74 68 20 3d 20 30 3b 0a 24 6d 61 78 44 65 70 .}.}.}.}..$minDepth.=.0;.$maxDep
159a00 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 th.=.PHP_INT_MAX;..foreach.($thi
159a20 73 2d 3e 64 65 70 74 68 73 20 61 73 20 24 63 6f 6d 70 61 72 61 74 6f 72 29 20 7b 0a 73 77 69 74 s->depths.as.$comparator).{.swit
159a40 63 68 20 28 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 4f 70 65 72 61 74 6f 72 28 29 29 20 ch.($comparator->getOperator()).
159a60 7b 0a 63 61 73 65 20 27 3e 27 3a 0a 24 6d 69 6e 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 {.case.'>':.$minDepth.=.$compara
159a80 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 20 2b 20 31 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 tor->getTarget().+.1;.break;.cas
159aa0 65 20 27 3e 3d 27 3a 0a 24 6d 69 6e 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d e.'>=':.$minDepth.=.$comparator-
159ac0 3e 67 65 74 54 61 72 67 65 74 28 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3c 27 3a 0a 24 >getTarget();.break;.case.'<':.$
159ae0 6d 61 78 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 maxDepth.=.$comparator->getTarge
159b00 74 28 29 20 2d 20 31 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 27 3c 3d 27 3a 0a 24 6d 61 78 44 t().-.1;.break;.case.'<=':.$maxD
159b20 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 29 3b epth.=.$comparator->getTarget();
159b40 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a 24 6d 69 6e 44 65 70 74 68 20 3d 20 24 6d 61 .break;.default:.$minDepth.=.$ma
159b60 78 44 65 70 74 68 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 2d 3e 67 65 74 54 61 72 67 65 74 28 xDepth.=.$comparator->getTarget(
159b80 29 3b 0a 7d 0a 7d 0a 0a 24 66 6c 61 67 73 20 3d 20 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 );.}.}..$flags.=.\RecursiveDirec
159ba0 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 53 4b 49 50 5f 44 4f 54 53 3b 0a 0a 69 66 20 28 24 74 toryIterator::SKIP_DOTS;..if.($t
159bc0 68 69 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 29 20 7b 0a 24 66 6c 61 67 73 20 7c 3d 20 5c 52 his->followLinks).{.$flags.|=.\R
159be0 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 3a 3a 46 4f 4c 4c 4f ecursiveDirectoryIterator::FOLLO
159c00 57 5f 53 59 4d 4c 49 4e 4b 53 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 W_SYMLINKS;.}..$iterator.=.new.I
159c20 74 65 72 61 74 6f 72 5c 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 terator\RecursiveDirectoryIterat
159c40 6f 72 28 24 64 69 72 2c 20 24 66 6c 61 67 73 2c 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e or($dir,.$flags,.$this->ignoreUn
159c60 72 65 61 64 61 62 6c 65 44 69 72 73 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 readableDirs);..if.($this->exclu
159c80 64 65 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 45 de).{.$iterator.=.new.Iterator\E
159ca0 78 63 6c 75 64 65 44 69 72 65 63 74 6f 72 79 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 xcludeDirectoryFilterIterator($i
159cc0 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 29 3b 0a 7d 0a 0a 24 69 74 terator,.$this->exclude);.}..$it
159ce0 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 49 erator.=.new.\RecursiveIteratorI
159d00 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 terator($iterator,.\RecursiveIte
159d20 72 61 74 6f 72 49 74 65 72 61 74 6f 72 3a 3a 53 45 4c 46 5f 46 49 52 53 54 29 3b 0a 0a 69 66 20 ratorIterator::SELF_FIRST);..if.
159d40 28 24 6d 69 6e 44 65 70 74 68 20 3e 20 30 20 7c 7c 20 24 6d 61 78 44 65 70 74 68 20 3c 20 50 48 ($minDepth.>.0.||.$maxDepth.<.PH
159d60 50 5f 49 4e 54 5f 4d 41 58 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 P_INT_MAX).{.$iterator.=.new.Ite
159d80 72 61 74 6f 72 5c 44 65 70 74 68 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 rator\DepthRangeFilterIterator($
159da0 69 74 65 72 61 74 6f 72 2c 20 24 6d 69 6e 44 65 70 74 68 2c 20 24 6d 61 78 44 65 70 74 68 29 3b iterator,.$minDepth,.$maxDepth);
159dc0 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 .}..if.($this->mode).{.$iterator
159de0 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 .=.new.Iterator\FileTypeFilterIt
159e00 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 3b 0a erator($iterator,.$this->mode);.
159e20 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 6e 61 6d 65 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f }..if.($this->names.||.$this->no
159e40 74 4e 61 6d 65 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 tNames).{.$iterator.=.new.Iterat
159e60 6f 72 5c 46 69 6c 65 6e 61 6d 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 or\FilenameFilterIterator($itera
159e80 74 6f 72 2c 20 24 74 68 69 73 2d 3e 6e 61 6d 65 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d tor,.$this->names,.$this->notNam
159ea0 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e 73 20 7c 7c 20 24 es);.}..if.($this->contains.||.$
159ec0 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d this->notContains).{.$iterator.=
159ee0 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 46 69 6c 65 63 6f 6e 74 65 6e 74 46 69 6c 74 65 72 49 .new.Iterator\FilecontentFilterI
159f00 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 terator($iterator,.$this->contai
159f20 6e 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 43 6f 6e 74 61 69 6e 73 29 3b 0a 7d 0a 0a 69 66 20 28 ns,.$this->notContains);.}..if.(
159f40 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 $this->sizes).{.$iterator.=.new.
159f60 49 74 65 72 61 74 6f 72 5c 53 69 7a 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 Iterator\SizeRangeFilterIterator
159f80 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 3b 0a 7d 0a 0a 69 66 ($iterator,.$this->sizes);.}..if
159fa0 20 28 24 74 68 69 73 2d 3e 64 61 74 65 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 .($this->dates).{.$iterator.=.ne
159fc0 77 20 49 74 65 72 61 74 6f 72 5c 44 61 74 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 w.Iterator\DateRangeFilterIterat
159fe0 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 64 61 74 65 73 29 3b 0a 7d 0a 0a or($iterator,.$this->dates);.}..
15a000 69 66 20 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 if.($this->filters).{.$iterator.
15a020 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 43 75 73 74 6f 6d 46 69 6c 74 65 72 49 74 65 72 61 =.new.Iterator\CustomFilterItera
15a040 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 3b 0a tor($iterator,.$this->filters);.
15a060 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 61 74 68 73 20 7c 7c 20 24 74 68 69 73 2d 3e 6e 6f }..if.($this->paths.||.$this->no
15a080 74 50 61 74 68 73 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 6e 65 77 20 49 74 65 72 61 74 tPaths).{.$iterator.=.new.Iterat
15a0a0 6f 72 5c 50 61 74 68 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c or\PathFilterIterator($iterator,
15a0c0 20 24 74 68 69 73 2d 3e 70 61 74 68 73 2c 20 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 68 73 29 3b .$this->paths,.$this->notPaths);
15a0e0 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 73 6f 72 74 29 20 7b 0a 24 69 74 65 72 61 74 6f 72 .}..if.($this->sort).{.$iterator
15a100 41 67 67 72 65 67 61 74 65 20 3d 20 6e 65 77 20 49 74 65 72 61 74 6f 72 5c 53 6f 72 74 61 62 6c Aggregate.=.new.Iterator\Sortabl
15a120 65 49 74 65 72 61 74 6f 72 28 24 69 74 65 72 61 74 6f 72 2c 20 24 74 68 69 73 2d 3e 73 6f 72 74 eIterator($iterator,.$this->sort
15a140 29 3b 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 69 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 );.$iterator.=.$iteratorAggregat
15a160 65 2d 3e 67 65 74 49 74 65 72 61 74 6f 72 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 69 74 65 e->getIterator();.}..return.$ite
15a180 72 61 74 6f 72 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 rator;.}.....private.function.bu
15a1a0 69 6c 64 41 64 61 70 74 65 72 28 41 64 61 70 74 65 72 49 6e 74 65 72 66 61 63 65 20 24 61 64 61 ildAdapter(AdapterInterface.$ada
15a1c0 70 74 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 61 64 61 70 74 65 72 0a 2d 3e 73 65 74 46 6f 6c pter).{.return.$adapter.->setFol
15a1e0 6c 6f 77 4c 69 6e 6b 73 28 24 74 68 69 73 2d 3e 66 6f 6c 6c 6f 77 4c 69 6e 6b 73 29 0a 2d 3e 73 lowLinks($this->followLinks).->s
15a200 65 74 44 65 70 74 68 73 28 24 74 68 69 73 2d 3e 64 65 70 74 68 73 29 0a 2d 3e 73 65 74 4d 6f 64 etDepths($this->depths).->setMod
15a220 65 28 24 74 68 69 73 2d 3e 6d 6f 64 65 29 0a 2d 3e 73 65 74 45 78 63 6c 75 64 65 28 24 74 68 69 e($this->mode).->setExclude($thi
15a240 73 2d 3e 65 78 63 6c 75 64 65 29 0a 2d 3e 73 65 74 4e 61 6d 65 73 28 24 74 68 69 73 2d 3e 6e 61 s->exclude).->setNames($this->na
15a260 6d 65 73 29 0a 2d 3e 73 65 74 4e 6f 74 4e 61 6d 65 73 28 24 74 68 69 73 2d 3e 6e 6f 74 4e 61 6d mes).->setNotNames($this->notNam
15a280 65 73 29 0a 2d 3e 73 65 74 43 6f 6e 74 61 69 6e 73 28 24 74 68 69 73 2d 3e 63 6f 6e 74 61 69 6e es).->setContains($this->contain
15a2a0 73 29 0a 2d 3e 73 65 74 4e 6f 74 43 6f 6e 74 61 69 6e 73 28 24 74 68 69 73 2d 3e 6e 6f 74 43 6f s).->setNotContains($this->notCo
15a2c0 6e 74 61 69 6e 73 29 0a 2d 3e 73 65 74 53 69 7a 65 73 28 24 74 68 69 73 2d 3e 73 69 7a 65 73 29 ntains).->setSizes($this->sizes)
15a2e0 0a 2d 3e 73 65 74 44 61 74 65 73 28 24 74 68 69 73 2d 3e 64 61 74 65 73 29 0a 2d 3e 73 65 74 46 .->setDates($this->dates).->setF
15a300 69 6c 74 65 72 73 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 29 0a 2d 3e 73 65 74 53 6f 72 74 ilters($this->filters).->setSort
15a320 28 24 74 68 69 73 2d 3e 73 6f 72 74 29 0a 2d 3e 73 65 74 50 61 74 68 28 24 74 68 69 73 2d 3e 70 ($this->sort).->setPath($this->p
15a340 61 74 68 73 29 0a 2d 3e 73 65 74 4e 6f 74 50 61 74 68 28 24 74 68 69 73 2d 3e 6e 6f 74 50 61 74 aths).->setNotPath($this->notPat
15a360 68 73 29 0a 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 28 24 74 68 69 73 hs).->ignoreUnreadableDirs($this
15a380 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 ->ignoreUnreadableDirs);.}.....p
15a3a0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 41 64 61 70 74 65 72 53 65 6c 65 rivate.function.resetAdapterSele
15a3c0 63 74 69 6f 6e 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 20 3d 20 61 72 72 61 ction().{.$this->adapters.=.arra
15a3e0 79 5f 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 61 72 72 61 79 20 24 70 72 6f 70 65 72 74 69 65 y_map(function.(array.$propertie
15a400 73 29 20 7b 0a 24 70 72 6f 70 65 72 74 69 65 73 5b 27 73 65 6c 65 63 74 65 64 27 5d 20 3d 20 66 s).{.$properties['selected'].=.f
15a420 61 6c 73 65 3b 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 70 65 72 74 69 65 73 3b 0a 7d 2c 20 24 74 alse;..return.$properties;.},.$t
15a440 68 69 73 2d 3e 61 64 61 70 74 65 72 73 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 his->adapters);.}..private.funct
15a460 69 6f 6e 20 69 6e 69 74 44 65 66 61 75 6c 74 41 64 61 70 74 65 72 73 28 29 0a 7b 0a 69 66 20 28 ion.initDefaultAdapters().{.if.(
15a480 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 61 64 61 70 74 65 72 73 29 20 7b 0a 24 74 68 69 null.===.$this->adapters).{.$thi
15a4a0 73 2d 3e 61 64 61 70 74 65 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 0a 2d 3e 61 s->adapters.=.array();.$this.->a
15a4c0 64 64 41 64 61 70 74 65 72 28 6e 65 77 20 47 6e 75 46 69 6e 64 41 64 61 70 74 65 72 28 29 29 0a ddAdapter(new.GnuFindAdapter()).
15a4e0 2d 3e 61 64 64 41 64 61 70 74 65 72 28 6e 65 77 20 42 73 64 46 69 6e 64 41 64 61 70 74 65 72 28 ->addAdapter(new.BsdFindAdapter(
15a500 29 29 0a 2d 3e 61 64 64 41 64 61 70 74 65 72 28 6e 65 77 20 50 68 70 41 64 61 70 74 65 72 28 29 )).->addAdapter(new.PhpAdapter()
15a520 2c 20 2d 35 30 29 0a 2d 3e 73 65 74 41 64 61 70 74 65 72 28 27 70 68 70 27 29 0a 3b 0a 7d 0a 7d ,.-50).->setAdapter('php').;.}.}
15a540 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c .........private.function.normal
15a560 69 7a 65 44 69 72 28 24 64 69 72 29 0a 7b 0a 72 65 74 75 72 6e 20 72 74 72 69 6d 28 24 64 69 72 izeDir($dir).{.return.rtrim($dir
15a580 2c 20 27 2f 27 2e 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 7d 0a 7d ,.'/'.\DIRECTORY_SEPARATOR);.}.}
15a5a0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
15a5c0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ny\Component\Finder;............
15a5e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 47 6c 6f 62 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a ............class.Glob.{........
15a600 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 ...public.static.function.toRege
15a620 78 28 24 67 6c 6f 62 2c 20 24 73 74 72 69 63 74 4c 65 61 64 69 6e 67 44 6f 74 20 3d 20 74 72 75 x($glob,.$strictLeadingDot.=.tru
15a640 65 2c 20 24 73 74 72 69 63 74 57 69 6c 64 63 61 72 64 53 6c 61 73 68 20 3d 20 74 72 75 65 2c 20 e,.$strictWildcardSlash.=.true,.
15a660 24 64 65 6c 69 6d 69 74 65 72 20 3d 20 27 23 27 29 0a 7b 0a 24 66 69 72 73 74 42 79 74 65 20 3d $delimiter.=.'#').{.$firstByte.=
15a680 20 74 72 75 65 3b 0a 24 65 73 63 61 70 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 24 69 6e 43 75 72 .true;.$escaping.=.false;.$inCur
15a6a0 6c 69 65 73 20 3d 20 30 3b 0a 24 72 65 67 65 78 20 3d 20 27 27 3b 0a 24 73 69 7a 65 47 6c 6f 62 lies.=.0;.$regex.=.'';.$sizeGlob
15a6c0 20 3d 20 5c 73 74 72 6c 65 6e 28 24 67 6c 6f 62 29 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 .=.\strlen($glob);.for.($i.=.0;.
15a6e0 24 69 20 3c 20 24 73 69 7a 65 47 6c 6f 62 3b 20 2b 2b 24 69 29 20 7b 0a 24 63 61 72 20 3d 20 24 $i.<.$sizeGlob;.++$i).{.$car.=.$
15a700 67 6c 6f 62 5b 24 69 5d 3b 0a 69 66 20 28 24 66 69 72 73 74 42 79 74 65 29 20 7b 0a 69 66 20 28 glob[$i];.if.($firstByte).{.if.(
15a720 24 73 74 72 69 63 74 4c 65 61 64 69 6e 67 44 6f 74 20 26 26 20 27 2e 27 20 21 3d 3d 20 24 63 61 $strictLeadingDot.&&.'.'.!==.$ca
15a740 72 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 27 28 3f 3d 5b 5e 5c 2e 5d 29 27 3b 0a 7d 0a 0a 24 r).{.$regex..=.'(?=[^\.])';.}..$
15a760 66 69 72 73 74 42 79 74 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 27 2f 27 20 3d 3d firstByte.=.false;.}..if.('/'.==
15a780 3d 20 24 63 61 72 29 20 7b 0a 24 66 69 72 73 74 42 79 74 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a =.$car).{.$firstByte.=.true;.}..
15a7a0 69 66 20 28 24 64 65 6c 69 6d 69 74 65 72 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 2e 27 20 3d if.($delimiter.===.$car.||.'.'.=
15a7c0 3d 3d 20 24 63 61 72 20 7c 7c 20 27 28 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 29 27 20 3d ==.$car.||.'('.===.$car.||.')'.=
15a7e0 3d 3d 20 24 63 61 72 20 7c 7c 20 27 7c 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 2b 27 20 3d ==.$car.||.'|'.===.$car.||.'+'.=
15a800 3d 3d 20 24 63 61 72 20 7c 7c 20 27 5e 27 20 3d 3d 3d 20 24 63 61 72 20 7c 7c 20 27 24 27 20 3d ==.$car.||.'^'.===.$car.||.'$'.=
15a820 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 22 5c 5c 24 63 61 72 22 3b 0a 7d ==.$car).{.$regex..=."\\$car";.}
15a840 20 65 6c 73 65 69 66 20 28 27 2a 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 65 78 20 .elseif.('*'.===.$car).{.$regex.
15a860 2e 3d 20 24 65 73 63 61 70 69 6e 67 20 3f 20 27 5c 5c 2a 27 20 3a 20 28 24 73 74 72 69 63 74 57 .=.$escaping.?.'\\*'.:.($strictW
15a880 69 6c 64 63 61 72 64 53 6c 61 73 68 20 3f 20 27 5b 5e 2f 5d 2a 27 20 3a 20 27 2e 2a 27 29 3b 0a ildcardSlash.?.'[^/]*'.:.'.*');.
15a8a0 7d 20 65 6c 73 65 69 66 20 28 27 3f 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 65 78 }.elseif.('?'.===.$car).{.$regex
15a8c0 20 2e 3d 20 24 65 73 63 61 70 69 6e 67 20 3f 20 27 5c 5c 3f 27 20 3a 20 28 24 73 74 72 69 63 74 ..=.$escaping.?.'\\?'.:.($strict
15a8e0 57 69 6c 64 63 61 72 64 53 6c 61 73 68 20 3f 20 27 5b 5e 2f 5d 27 20 3a 20 27 2e 27 29 3b 0a 7d WildcardSlash.?.'[^/]'.:.'.');.}
15a900 20 65 6c 73 65 69 66 20 28 27 7b 27 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 24 72 65 67 65 78 20 .elseif.('{'.===.$car).{.$regex.
15a920 2e 3d 20 24 65 73 63 61 70 69 6e 67 20 3f 20 27 5c 5c 7b 27 20 3a 20 27 28 27 3b 0a 69 66 20 28 .=.$escaping.?.'\\{'.:.'(';.if.(
15a940 21 24 65 73 63 61 70 69 6e 67 29 20 7b 0a 2b 2b 24 69 6e 43 75 72 6c 69 65 73 3b 0a 7d 0a 7d 20 !$escaping).{.++$inCurlies;.}.}.
15a960 65 6c 73 65 69 66 20 28 27 7d 27 20 3d 3d 3d 20 24 63 61 72 20 26 26 20 24 69 6e 43 75 72 6c 69 elseif.('}'.===.$car.&&.$inCurli
15a980 65 73 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 65 73 63 61 70 69 6e 67 20 3f 20 27 7d 27 20 es).{.$regex..=.$escaping.?.'}'.
15a9a0 3a 20 27 29 27 3b 0a 69 66 20 28 21 24 65 73 63 61 70 69 6e 67 29 20 7b 0a 2d 2d 24 69 6e 43 75 :.')';.if.(!$escaping).{.--$inCu
15a9c0 72 6c 69 65 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 27 2c 27 20 3d 3d 3d 20 24 63 61 72 20 rlies;.}.}.elseif.(','.===.$car.
15a9e0 26 26 20 24 69 6e 43 75 72 6c 69 65 73 29 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 65 73 63 61 &&.$inCurlies).{.$regex..=.$esca
15aa00 70 69 6e 67 20 3f 20 27 2c 27 20 3a 20 27 7c 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 5c 5c 27 ping.?.','.:.'|';.}.elseif.('\\'
15aa20 20 3d 3d 3d 20 24 63 61 72 29 20 7b 0a 69 66 20 28 24 65 73 63 61 70 69 6e 67 29 20 7b 0a 24 72 .===.$car).{.if.($escaping).{.$r
15aa40 65 67 65 78 20 2e 3d 20 27 5c 5c 5c 5c 27 3b 0a 24 65 73 63 61 70 69 6e 67 20 3d 20 66 61 6c 73 egex..=.'\\\\';.$escaping.=.fals
15aa60 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 73 63 61 70 69 6e 67 20 3d 20 74 72 75 65 3b 0a 7d 0a e;.}.else.{.$escaping.=.true;.}.
15aa80 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 72 65 67 65 78 20 2e 3d 20 24 63 .continue;.}.else.{.$regex..=.$c
15aaa0 61 72 3b 0a 7d 0a 24 65 73 63 61 70 69 6e 67 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 ar;.}.$escaping.=.false;.}..retu
15aac0 72 6e 20 24 64 65 6c 69 6d 69 74 65 72 2e 27 5e 27 2e 24 72 65 67 65 78 2e 27 24 27 2e 24 64 65 rn.$delimiter.'^'.$regex.'$'.$de
15aae0 6c 69 6d 69 74 65 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d limiter;.}.}.<?php...........nam
15ab00 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c espace.Symfony\Component\Finder\
15ab20 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 75 73 74 6f 6d 46 Iterator;..........class.CustomF
15ab40 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 72 ilterIterator.extends.FilterIter
15ab60 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 74 65 72 73 20 3d 20 61 72 72 61 79 28 ator.{.private.$filters.=.array(
15ab80 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 );........public.function.__cons
15aba0 74 72 75 63 74 28 5c 49 74 65 72 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 61 72 72 61 79 truct(\Iterator.$iterator,.array
15abc0 20 24 66 69 6c 74 65 72 73 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 66 69 6c 74 65 72 73 20 61 .$filters).{.foreach.($filters.a
15abe0 73 20 24 66 69 6c 74 65 72 29 20 7b 0a 69 66 20 28 21 5c 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 s.$filter).{.if.(!\is_callable($
15ac00 66 69 6c 74 65 72 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 filter)).{.throw.new.\InvalidArg
15ac20 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 50 48 50 20 63 61 6c 6c umentException('Invalid.PHP.call
15ac40 62 61 63 6b 2e 27 29 3b 0a 7d 0a 7d 0a 24 74 68 69 73 2d 3e 66 69 6c 74 65 72 73 20 3d 20 24 66 back.');.}.}.$this->filters.=.$f
15ac60 69 6c 74 65 72 73 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 ilters;..parent::__construct($it
15ac80 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e erator);.}.......public.function
15aca0 20 61 63 63 65 70 74 28 29 0a 7b 0a 24 66 69 6c 65 69 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 63 .accept().{.$fileinfo.=.$this->c
15acc0 75 72 72 65 6e 74 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 69 6c 74 65 urrent();..foreach.($this->filte
15ace0 72 73 20 61 73 20 24 66 69 6c 74 65 72 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 5c rs.as.$filter).{.if.(false.===.\
15ad00 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 66 69 6c 74 65 72 2c 20 24 66 69 6c 65 69 6e 66 call_user_func($filter,.$fileinf
15ad20 6f 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 o)).{.return.false;.}.}..return.
15ad40 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 true;.}.}.<?php...........namesp
15ad60 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 ace.Symfony\Component\Finder\Ite
15ad80 72 61 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 rator;..use.Symfony\Component\Fi
15ada0 6e 64 65 72 5c 43 6f 6d 70 61 72 61 74 6f 72 5c 44 61 74 65 43 6f 6d 70 61 72 61 74 6f 72 3b 0a nder\Comparator\DateComparator;.
15adc0 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 61 74 65 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 ......class.DateRangeFilterItera
15ade0 74 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 69 tor.extends.FilterIterator.{.pri
15ae00 76 61 74 65 20 24 63 6f 6d 70 61 72 61 74 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a vate.$comparators.=.array();....
15ae20 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 49 ..public.function.__construct(\I
15ae40 74 65 72 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 61 72 72 61 79 20 24 63 6f 6d 70 61 72 terator.$iterator,.array.$compar
15ae60 61 74 6f 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6d 70 61 72 61 74 6f 72 73 20 3d 20 24 63 ators).{.$this->comparators.=.$c
15ae80 6f 6d 70 61 72 61 74 6f 72 73 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 omparators;..parent::__construct
15aea0 28 24 69 74 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ($iterator);.}.......public.func
15aec0 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 24 66 69 6c 65 69 6e 66 6f 20 3d 20 24 74 68 69 tion.accept().{.$fileinfo.=.$thi
15aee0 73 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 0a 69 66 20 28 21 66 69 6c 65 5f 65 78 69 73 74 73 28 s->current();..if.(!file_exists(
15af00 24 66 69 6c 65 69 6e 66 6f 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 29 20 7b 0a 72 65 74 $fileinfo->getPathname())).{.ret
15af20 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 66 69 6c 65 64 61 74 65 20 3d 20 24 66 69 6c 65 69 urn.false;.}..$filedate.=.$filei
15af40 6e 66 6f 2d 3e 67 65 74 4d 54 69 6d 65 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d nfo->getMTime();.foreach.($this-
15af60 3e 63 6f 6d 70 61 72 61 74 6f 72 73 20 61 73 20 24 63 6f 6d 70 61 72 65 29 20 7b 0a 69 66 20 28 >comparators.as.$compare).{.if.(
15af80 21 24 63 6f 6d 70 61 72 65 2d 3e 74 65 73 74 28 24 66 69 6c 65 64 61 74 65 29 29 20 7b 0a 72 65 !$compare->test($filedate)).{.re
15afa0 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a turn.false;.}.}..return.true;.}.
15afc0 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
15afe0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a ony\Component\Finder\Iterator;..
15b000 0a 0a 0a 0a 0a 63 6c 61 73 73 20 44 65 70 74 68 52 61 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 .....class.DepthRangeFilterItera
15b020 74 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 69 tor.extends.FilterIterator.{.pri
15b040 76 61 74 65 20 24 6d 69 6e 44 65 70 74 68 20 3d 20 30 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 vate.$minDepth.=.0;.......public
15b060 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 52 65 63 75 72 73 69 76 65 .function.__construct(\Recursive
15b080 49 74 65 72 61 74 6f 72 49 74 65 72 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 24 6d 69 6e IteratorIterator.$iterator,.$min
15b0a0 44 65 70 74 68 20 3d 20 30 2c 20 24 6d 61 78 44 65 70 74 68 20 3d 20 50 48 50 5f 49 4e 54 5f 4d Depth.=.0,.$maxDepth.=.PHP_INT_M
15b0c0 41 58 29 0a 7b 0a 24 74 68 69 73 2d 3e 6d 69 6e 44 65 70 74 68 20 3d 20 24 6d 69 6e 44 65 70 74 AX).{.$this->minDepth.=.$minDept
15b0e0 68 3b 0a 24 69 74 65 72 61 74 6f 72 2d 3e 73 65 74 4d 61 78 44 65 70 74 68 28 50 48 50 5f 49 4e h;.$iterator->setMaxDepth(PHP_IN
15b100 54 5f 4d 41 58 20 3d 3d 3d 20 24 6d 61 78 44 65 70 74 68 20 3f 20 2d 31 20 3a 20 24 6d 61 78 44 T_MAX.===.$maxDepth.?.-1.:.$maxD
15b120 65 70 74 68 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 65 epth);..parent::__construct($ite
15b140 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 rator);.}.......public.function.
15b160 61 63 63 65 70 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 6e 65 accept().{.return.$this->getInne
15b180 72 49 74 65 72 61 74 6f 72 28 29 2d 3e 67 65 74 44 65 70 74 68 28 29 20 3e 3d 20 24 74 68 69 73 rIterator()->getDepth().>=.$this
15b1a0 2d 3e 6d 69 6e 44 65 70 74 68 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ->minDepth;.}.}.<?php...........
15b1c0 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 namespace.Symfony\Component\Find
15b1e0 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 78 63 6c 75 64 65 er\Iterator;.......class.Exclude
15b200 44 69 72 65 63 74 6f 72 79 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 DirectoryFilterIterator.extends.
15b220 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 5c 52 65 63 75 72 FilterIterator.implements.\Recur
15b240 73 69 76 65 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 69 74 65 72 61 74 6f 72 siveIterator.{.private.$iterator
15b260 3b 0a 70 72 69 76 61 74 65 20 24 69 73 52 65 63 75 72 73 69 76 65 3b 0a 70 72 69 76 61 74 65 20 ;.private.$isRecursive;.private.
15b280 24 65 78 63 6c 75 64 65 64 44 69 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 $excludedDirs.=.array();.private
15b2a0 20 24 65 78 63 6c 75 64 65 64 50 61 74 74 65 72 6e 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .$excludedPattern;......public.f
15b2c0 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 49 74 65 72 61 74 6f 72 20 24 69 unction.__construct(\Iterator.$i
15b2e0 74 65 72 61 74 6f 72 2c 20 61 72 72 61 79 20 24 64 69 72 65 63 74 6f 72 69 65 73 29 0a 7b 0a 24 terator,.array.$directories).{.$
15b300 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 20 3d 20 24 69 74 65 72 61 74 6f 72 3b 0a 24 74 68 69 this->iterator.=.$iterator;.$thi
15b320 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 20 3d 20 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 s->isRecursive.=.$iterator.insta
15b340 6e 63 65 6f 66 20 5c 52 65 63 75 72 73 69 76 65 49 74 65 72 61 74 6f 72 3b 0a 24 70 61 74 74 65 nceof.\RecursiveIterator;.$patte
15b360 72 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 65 63 74 6f rns.=.array();.foreach.($directo
15b380 72 69 65 73 20 61 73 20 24 64 69 72 65 63 74 6f 72 79 29 20 7b 0a 24 64 69 72 65 63 74 6f 72 79 ries.as.$directory).{.$directory
15b3a0 20 3d 20 72 74 72 69 6d 28 24 64 69 72 65 63 74 6f 72 79 2c 20 27 2f 27 29 3b 0a 69 66 20 28 21 .=.rtrim($directory,.'/');.if.(!
15b3c0 24 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 $this->isRecursive.||.false.!==.
15b3e0 73 74 72 70 6f 73 28 24 64 69 72 65 63 74 6f 72 79 2c 20 27 2f 27 29 29 20 7b 0a 24 70 61 74 74 strpos($directory,.'/')).{.$patt
15b400 65 72 6e 73 5b 5d 20 3d 20 70 72 65 67 5f 71 75 6f 74 65 28 24 64 69 72 65 63 74 6f 72 79 2c 20 erns[].=.preg_quote($directory,.
15b420 27 23 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 44 69 '#');.}.else.{.$this->excludedDi
15b440 72 73 5b 24 64 69 72 65 63 74 6f 72 79 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 69 66 20 28 24 rs[$directory].=.true;.}.}.if.($
15b460 70 61 74 74 65 72 6e 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 50 61 74 74 65 patterns).{.$this->excludedPatte
15b480 72 6e 20 3d 20 27 23 28 3f 3a 5e 7c 2f 29 28 3f 3a 27 2e 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 rn.=.'#(?:^|/)(?:'.implode('|',.
15b4a0 24 70 61 74 74 65 72 6e 73 29 2e 27 29 28 3f 3a 2f 7c 24 29 23 27 3b 0a 7d 0a 0a 70 61 72 65 6e $patterns).')(?:/|$)#';.}..paren
15b4c0 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a t::__construct($iterator);.}....
15b4e0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 69 66 ...public.function.accept().{.if
15b500 20 28 24 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 20 26 26 20 69 73 73 65 74 28 24 74 .($this->isRecursive.&&.isset($t
15b520 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 44 69 72 73 5b 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 his->excludedDirs[$this->getFile
15b540 6e 61 6d 65 28 29 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 72 65 name()]).&&.$this->isDir()).{.re
15b560 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 turn.false;.}..if.($this->exclud
15b580 65 64 50 61 74 74 65 72 6e 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 73 44 69 edPattern).{.$path.=.$this->isDi
15b5a0 72 28 29 20 3f 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 2d 3e 67 65 74 52 65 6c 61 74 r().?.$this->current()->getRelat
15b5c0 69 76 65 50 61 74 68 6e 61 6d 65 28 29 20 3a 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 ivePathname().:.$this->current()
15b5e0 2d 3e 67 65 74 52 65 6c 61 74 69 76 65 50 61 74 68 28 29 3b 0a 24 70 61 74 68 20 3d 20 73 74 72 ->getRelativePath();.$path.=.str
15b600 5f 72 65 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 2f 27 2c 20 24 70 61 74 68 29 3b 0a 0a 72 65 74 _replace('\\',.'/',.$path);..ret
15b620 75 72 6e 20 21 70 72 65 67 5f 6d 61 74 63 68 28 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 50 urn.!preg_match($this->excludedP
15b640 61 74 74 65 72 6e 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a attern,.$path);.}..return.true;.
15b660 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 43 68 69 6c 64 72 65 6e 28 29 }..public.function.hasChildren()
15b680 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 52 65 63 75 72 73 69 76 65 20 26 26 20 .{.return.$this->isRecursive.&&.
15b6a0 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 2d 3e 68 61 73 43 68 69 6c 64 72 65 6e 28 29 3b 0a $this->iterator->hasChildren();.
15b6c0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 69 6c 64 72 65 6e 28 29 }..public.function.getChildren()
15b6e0 0a 7b 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 6e 65 77 20 73 65 6c 66 28 24 74 68 69 73 2d 3e 69 .{.$children.=.new.self($this->i
15b700 74 65 72 61 74 6f 72 2d 3e 67 65 74 43 68 69 6c 64 72 65 6e 28 29 2c 20 61 72 72 61 79 28 29 29 terator->getChildren(),.array())
15b720 3b 0a 24 63 68 69 6c 64 72 65 6e 2d 3e 65 78 63 6c 75 64 65 64 44 69 72 73 20 3d 20 24 74 68 69 ;.$children->excludedDirs.=.$thi
15b740 73 2d 3e 65 78 63 6c 75 64 65 64 44 69 72 73 3b 0a 24 63 68 69 6c 64 72 65 6e 2d 3e 65 78 63 6c s->excludedDirs;.$children->excl
15b760 75 64 65 64 50 61 74 74 65 72 6e 20 3d 20 24 74 68 69 73 2d 3e 65 78 63 6c 75 64 65 64 50 61 74 udedPattern.=.$this->excludedPat
15b780 74 65 72 6e 3b 0a 0a 72 65 74 75 72 6e 20 24 63 68 69 6c 64 72 65 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 tern;..return.$children;.}.}.<?p
15b7a0 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 hp...........namespace.Symfony\C
15b7c0 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 40 74 72 69 67 omponent\Finder\Iterator;..@trig
15b7e0 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 ger_error('The.'.__NAMESPACE__.'
15b800 5c 46 69 6c 65 50 61 74 68 73 49 74 65 72 61 74 6f 72 20 63 6c 61 73 73 20 69 73 20 64 65 70 72 \FilePathsIterator.class.is.depr
15b820 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 6c ecated.since.Symfony.2.8.and.wil
15b840 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 l.be.removed.in.3.0.',.E_USER_DE
15b860 50 52 45 43 41 54 45 44 29 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e PRECATED);..use.Symfony\Componen
15b880 74 5c 46 69 6e 64 65 72 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c t\Finder\SplFileInfo;.........cl
15b8a0 61 73 73 20 46 69 6c 65 50 61 74 68 73 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 5c 41 ass.FilePathsIterator.extends.\A
15b8c0 72 72 61 79 49 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 62 61 73 65 44 rrayIterator.{....private.$baseD
15b8e0 69 72 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 62 61 73 65 44 69 72 4c 65 6e 67 74 68 3b 0a ir;.....private.$baseDirLength;.
15b900 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 75 62 50 61 74 68 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 ....private.$subPath;.....privat
15b920 65 20 24 73 75 62 50 61 74 68 6e 61 6d 65 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 63 75 72 e.$subPathname;.....private.$cur
15b940 72 65 6e 74 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e rent;......public.function.__con
15b960 73 74 72 75 63 74 28 61 72 72 61 79 20 24 70 61 74 68 73 2c 20 24 62 61 73 65 44 69 72 29 0a 7b struct(array.$paths,.$baseDir).{
15b980 0a 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 3d 20 24 62 61 73 65 44 69 72 3b 0a 24 74 68 69 .$this->baseDir.=.$baseDir;.$thi
15b9a0 73 2d 3e 62 61 73 65 44 69 72 4c 65 6e 67 74 68 20 3d 20 5c 73 74 72 6c 65 6e 28 24 62 61 73 65 s->baseDirLength.=.\strlen($base
15b9c0 44 69 72 29 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 61 74 68 Dir);..parent::__construct($path
15b9e0 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 s);.}........public.function.__c
15ba00 61 6c 6c 28 24 6e 61 6d 65 2c 20 61 72 72 61 79 20 24 61 72 67 75 6d 65 6e 74 73 29 0a 7b 0a 72 all($name,.array.$arguments).{.r
15ba20 65 74 75 72 6e 20 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 61 72 72 61 eturn.\call_user_func_array(arra
15ba40 79 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 2c 20 24 6e 61 6d 65 29 2c 20 24 61 72 67 y($this->current(),.$name),.$arg
15ba60 75 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e uments);.}.......public.function
15ba80 20 63 75 72 72 65 6e 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 75 72 72 65 .current().{.return.$this->curre
15baa0 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 28 29 0a nt;.}.....public.function.key().
15bac0 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 2d 3e 67 65 74 50 61 74 68 {.return.$this->current->getPath
15bae0 6e 61 6d 65 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 78 74 28 name();.}..public.function.next(
15bb00 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 6e 65 78 74 28 29 3b 0a 24 74 68 69 73 2d 3e 62 75 69 6c 64 ).{.parent::next();.$this->build
15bb20 50 72 6f 70 65 72 74 69 65 73 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e Properties();.}..public.function
15bb40 20 72 65 77 69 6e 64 28 29 0a 7b 0a 70 61 72 65 6e 74 3a 3a 72 65 77 69 6e 64 28 29 3b 0a 24 74 .rewind().{.parent::rewind();.$t
15bb60 68 69 73 2d 3e 62 75 69 6c 64 50 72 6f 70 65 72 74 69 65 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 his->buildProperties();.}.....pu
15bb80 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 62 50 61 74 68 28 29 0a 7b 0a 72 65 74 blic.function.getSubPath().{.ret
15bba0 75 72 6e 20 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 urn.$this->subPath;.}.....public
15bbc0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 62 50 61 74 68 6e 61 6d 65 28 29 0a 7b 0a 72 65 74 .function.getSubPathname().{.ret
15bbe0 75 72 6e 20 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 6e 61 6d 65 3b 0a 7d 0a 0a 70 72 69 76 61 urn.$this->subPathname;.}..priva
15bc00 74 65 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 50 72 6f 70 65 72 74 69 65 73 28 29 0a 7b 0a te.function.buildProperties().{.
15bc20 24 61 62 73 6f 6c 75 74 65 50 61 74 68 20 3d 20 70 61 72 65 6e 74 3a 3a 63 75 72 72 65 6e 74 28 $absolutePath.=.parent::current(
15bc40 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 62 61 73 65 44 69 72 20 3d 3d 3d 20 73 75 62 73 74 );..if.($this->baseDir.===.subst
15bc60 72 28 24 61 62 73 6f 6c 75 74 65 50 61 74 68 2c 20 30 2c 20 24 74 68 69 73 2d 3e 62 61 73 65 44 r($absolutePath,.0,.$this->baseD
15bc80 69 72 4c 65 6e 67 74 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 6e 61 6d 65 20 irLength)).{.$this->subPathname.
15bca0 3d 20 6c 74 72 69 6d 28 73 75 62 73 74 72 28 24 61 62 73 6f 6c 75 74 65 50 61 74 68 2c 20 24 74 =.ltrim(substr($absolutePath,.$t
15bcc0 68 69 73 2d 3e 62 61 73 65 44 69 72 4c 65 6e 67 74 68 29 2c 20 27 2f 5c 5c 27 29 3b 0a 24 64 69 his->baseDirLength),.'/\\');.$di
15bce0 72 20 3d 20 5c 64 69 72 6e 61 6d 65 28 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 6e 61 6d 65 29 r.=.\dirname($this->subPathname)
15bd00 3b 0a 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 20 3d 20 27 2e 27 20 3d 3d 3d 20 24 64 69 72 20 ;.$this->subPath.=.'.'.===.$dir.
15bd20 3f 20 27 27 20 3a 20 24 64 69 72 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 73 75 62 ?.''.:.$dir;.}.else.{.$this->sub
15bd40 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 6e 61 6d 65 20 3d 20 27 27 3b 0a Path.=.$this->subPathname.=.'';.
15bd60 7d 0a 0a 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 20 3d 20 6e 65 77 20 53 70 6c 46 69 6c 65 49 }..$this->current.=.new.SplFileI
15bd80 6e 66 6f 28 70 61 72 65 6e 74 3a 3a 63 75 72 72 65 6e 74 28 29 2c 20 24 74 68 69 73 2d 3e 73 75 nfo(parent::current(),.$this->su
15bda0 62 50 61 74 68 2c 20 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 6e 61 6d 65 29 3b 0a 7d 0a 7d 0a bPath,.$this->subPathname);.}.}.
15bdc0 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
15bde0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a y\Component\Finder\Iterator;....
15be00 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 54 79 70 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 ...class.FileTypeFilterIterator.
15be20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 63 6f 6e 73 74 20 4f extends.FilterIterator.{.const.O
15be40 4e 4c 59 5f 46 49 4c 45 53 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 4f 4e 4c 59 5f 44 49 52 45 43 54 NLY_FILES.=.1;.const.ONLY_DIRECT
15be60 4f 52 49 45 53 20 3d 20 32 3b 0a 0a 70 72 69 76 61 74 65 20 24 6d 6f 64 65 3b 0a 0a 0a 0a 0a 0a ORIES.=.2;..private.$mode;......
15be80 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 49 74 65 public.function.__construct(\Ite
15bea0 72 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c 20 24 6d 6f 64 65 29 0a 7b 0a 24 74 68 69 73 2d rator.$iterator,.$mode).{.$this-
15bec0 3e 6d 6f 64 65 20 3d 20 24 6d 6f 64 65 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 >mode.=.$mode;..parent::__constr
15bee0 75 63 74 28 24 69 74 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 uct($iterator);.}.......public.f
15bf00 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 24 66 69 6c 65 69 6e 66 6f 20 3d 20 24 unction.accept().{.$fileinfo.=.$
15bf20 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 69 66 20 28 73 65 6c 66 3a 3a 4f 4e 4c 59 5f this->current();.if.(self::ONLY_
15bf40 44 49 52 45 43 54 4f 52 49 45 53 20 3d 3d 3d 20 28 73 65 6c 66 3a 3a 4f 4e 4c 59 5f 44 49 52 45 DIRECTORIES.===.(self::ONLY_DIRE
15bf60 43 54 4f 52 49 45 53 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 26 26 20 24 66 69 6c 65 69 CTORIES.&.$this->mode).&&.$filei
15bf80 6e 66 6f 2d 3e 69 73 46 69 6c 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d nfo->isFile()).{.return.false;.}
15bfa0 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 4f 4e 4c 59 5f 46 49 4c 45 53 20 3d 3d 3d 20 28 73 .elseif.(self::ONLY_FILES.===.(s
15bfc0 65 6c 66 3a 3a 4f 4e 4c 59 5f 46 49 4c 45 53 20 26 20 24 74 68 69 73 2d 3e 6d 6f 64 65 29 20 26 elf::ONLY_FILES.&.$this->mode).&
15bfe0 26 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 &.$fileinfo->isDir()).{.return.f
15c000 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a alse;.}..return.true;.}.}.<?php.
15c020 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 ..........namespace.Symfony\Comp
15c040 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c onent\Finder\Iterator;........cl
15c060 61 73 73 20 46 69 6c 65 63 6f 6e 74 65 6e 74 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 ass.FilecontentFilterIterator.ex
15c080 74 65 6e 64 73 20 4d 75 6c 74 69 70 6c 65 50 63 72 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 tends.MultiplePcreFilterIterator
15c0a0 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 .{......public.function.accept()
15c0c0 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6d 61 74 63 68 52 65 67 65 78 70 73 20 26 26 20 21 .{.if.(!$this->matchRegexps.&&.!
15c0e0 24 74 68 69 73 2d 3e 6e 6f 4d 61 74 63 68 52 65 67 65 78 70 73 29 20 7b 0a 72 65 74 75 72 6e 20 $this->noMatchRegexps).{.return.
15c100 74 72 75 65 3b 0a 7d 0a 0a 24 66 69 6c 65 69 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 true;.}..$fileinfo.=.$this->curr
15c120 65 6e 74 28 29 3b 0a 0a 69 66 20 28 24 66 69 6c 65 69 6e 66 6f 2d 3e 69 73 44 69 72 28 29 20 7c ent();..if.($fileinfo->isDir().|
15c140 7c 20 21 24 66 69 6c 65 69 6e 66 6f 2d 3e 69 73 52 65 61 64 61 62 6c 65 28 29 29 20 7b 0a 72 65 |.!$fileinfo->isReadable()).{.re
15c160 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 24 66 69 6c 65 69 turn.false;.}..$content.=.$filei
15c180 6e 66 6f 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 73 28 29 3b 0a 69 66 20 28 21 24 63 6f 6e 74 65 6e nfo->getContents();.if.(!$conten
15c1a0 74 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 t).{.return.false;.}..return.$th
15c1c0 69 73 2d 3e 69 73 41 63 63 65 70 74 65 64 28 24 63 6f 6e 74 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a is->isAccepted($content);.}.....
15c1e0 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 ....protected.function.toRegex($
15c200 73 74 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 52 65 67 65 78 28 24 73 74 str).{.return.$this->isRegex($st
15c220 72 29 20 3f 20 24 73 74 72 20 3a 20 27 2f 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 73 74 72 2c r).?.$str.:.'/'.preg_quote($str,
15c240 20 27 2f 27 29 2e 27 2f 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e .'/').'/';.}.}.<?php...........n
15c260 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 amespace.Symfony\Component\Finde
15c280 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 r\Iterator;..use.Symfony\Compone
15c2a0 6e 74 5c 46 69 6e 64 65 72 5c 47 6c 6f 62 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 nt\Finder\Glob;.......class.File
15c2c0 6e 61 6d 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 4d 75 6c 74 69 nameFilterIterator.extends.Multi
15c2e0 70 6c 65 50 63 72 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 plePcreFilterIterator.{......pub
15c300 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 lic.function.accept().{.return.$
15c320 74 68 69 73 2d 3e 69 73 41 63 63 65 70 74 65 64 28 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 this->isAccepted($this->current(
15c340 29 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a )->getFilename());.}............
15c360 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 73 74 72 29 protected.function.toRegex($str)
15c380 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 52 65 67 65 78 28 24 73 74 72 29 20 3f .{.return.$this->isRegex($str).?
15c3a0 20 24 73 74 72 20 3a 20 47 6c 6f 62 3a 3a 74 6f 52 65 67 65 78 28 24 73 74 72 29 3b 0a 7d 0a 7d .$str.:.Glob::toRegex($str);.}.}
15c3c0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
15c3e0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a ny\Component\Finder\Iterator;...
15c400 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 46 69 6c 74 65 72 49 74 65 72 .......abstract.class.FilterIter
15c420 61 74 6f 72 20 65 78 74 65 6e 64 73 20 5c 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 0a ator.extends.\FilterIterator.{..
15c440 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 0a 7b 0a .....public.function.rewind().{.
15c460 69 66 20 28 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 20 35 30 36 30 37 20 7c 7c 20 28 if.(\PHP_VERSION_ID.>.50607.||.(
15c480 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 20 35 30 35 32 33 20 26 26 20 5c 50 48 50 5f \PHP_VERSION_ID.>.50523.&&.\PHP_
15c4a0 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 30 29 29 20 7b 0a 70 61 72 65 6e 74 3a 3a 72 VERSION_ID.<.50600)).{.parent::r
15c4c0 65 77 69 6e 64 28 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d ewind();..return;.}..$iterator.=
15c4e0 20 24 74 68 69 73 3b 0a 77 68 69 6c 65 20 28 24 69 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 .$this;.while.($iterator.instanc
15c500 65 6f 66 20 5c 4f 75 74 65 72 49 74 65 72 61 74 6f 72 29 20 7b 0a 24 69 6e 6e 65 72 49 74 65 72 eof.\OuterIterator).{.$innerIter
15c520 61 74 6f 72 20 3d 20 24 69 74 65 72 61 74 6f 72 2d 3e 67 65 74 49 6e 6e 65 72 49 74 65 72 61 74 ator.=.$iterator->getInnerIterat
15c540 6f 72 28 29 3b 0a 0a 69 66 20 28 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e or();..if.($innerIterator.instan
15c560 63 65 6f 66 20 52 65 63 75 72 73 69 76 65 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 29 ceof.RecursiveDirectoryIterator)
15c580 20 7b 0a 0a 20 69 66 20 28 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 2d 3e 69 73 52 65 77 69 6e .{...if.($innerIterator->isRewin
15c5a0 64 61 62 6c 65 28 29 29 20 7b 0a 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 2d 3e 6e 65 78 74 28 dable()).{.$innerIterator->next(
15c5c0 29 3b 0a 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 2d 3e 72 65 77 69 6e 64 28 29 3b 0a 7d 0a 7d );.$innerIterator->rewind();.}.}
15c5e0 20 65 6c 73 65 69 66 20 28 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 20 69 6e 73 74 61 6e 63 65 .elseif.($innerIterator.instance
15c600 6f 66 20 5c 46 69 6c 65 73 79 73 74 65 6d 49 74 65 72 61 74 6f 72 29 20 7b 0a 24 69 6e 6e 65 72 of.\FilesystemIterator).{.$inner
15c620 49 74 65 72 61 74 6f 72 2d 3e 6e 65 78 74 28 29 3b 0a 24 69 6e 6e 65 72 49 74 65 72 61 74 6f 72 Iterator->next();.$innerIterator
15c640 2d 3e 72 65 77 69 6e 64 28 29 3b 0a 7d 0a 0a 24 69 74 65 72 61 74 6f 72 20 3d 20 24 69 6e 6e 65 ->rewind();.}..$iterator.=.$inne
15c660 72 49 74 65 72 61 74 6f 72 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 72 65 77 69 6e 64 28 29 3b 0a rIterator;.}..parent::rewind();.
15c680 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 }.}.<?php...........namespace.Sy
15c6a0 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b mfony\Component\Finder\Iterator;
15c6c0 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 4d 75 6c 74 69 70 6c 65 50 63 .......abstract.class.MultiplePc
15c6e0 72 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 49 reFilterIterator.extends.FilterI
15c700 74 65 72 61 74 6f 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 6d 61 74 63 68 52 65 67 65 78 70 terator.{.protected.$matchRegexp
15c720 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 6e 6f 4d 61 74 63 68 52 s.=.array();.protected.$noMatchR
15c740 65 67 65 78 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 egexps.=.array();.......public.f
15c760 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 49 74 65 72 61 74 6f 72 20 24 69 unction.__construct(\Iterator.$i
15c780 74 65 72 61 74 6f 72 2c 20 61 72 72 61 79 20 24 6d 61 74 63 68 50 61 74 74 65 72 6e 73 2c 20 61 terator,.array.$matchPatterns,.a
15c7a0 72 72 61 79 20 24 6e 6f 4d 61 74 63 68 50 61 74 74 65 72 6e 73 29 0a 7b 0a 66 6f 72 65 61 63 68 rray.$noMatchPatterns).{.foreach
15c7c0 20 28 24 6d 61 74 63 68 50 61 74 74 65 72 6e 73 20 61 73 20 24 70 61 74 74 65 72 6e 29 20 7b 0a .($matchPatterns.as.$pattern).{.
15c7e0 24 74 68 69 73 2d 3e 6d 61 74 63 68 52 65 67 65 78 70 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 74 $this->matchRegexps[].=.$this->t
15c800 6f 52 65 67 65 78 28 24 70 61 74 74 65 72 6e 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 6e oRegex($pattern);.}..foreach.($n
15c820 6f 4d 61 74 63 68 50 61 74 74 65 72 6e 73 20 61 73 20 24 70 61 74 74 65 72 6e 29 20 7b 0a 24 74 oMatchPatterns.as.$pattern).{.$t
15c840 68 69 73 2d 3e 6e 6f 4d 61 74 63 68 52 65 67 65 78 70 73 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 74 his->noMatchRegexps[].=.$this->t
15c860 6f 52 65 67 65 78 28 24 70 61 74 74 65 72 6e 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 oRegex($pattern);.}..parent::__c
15c880 6f 6e 73 74 72 75 63 74 28 24 69 74 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a onstruct($iterator);.}..........
15c8a0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 63 63 65 70 74 65 64 ...protected.function.isAccepted
15c8c0 28 24 73 74 72 69 6e 67 29 0a 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6e 6f ($string).{...foreach.($this->no
15c8e0 4d 61 74 63 68 52 65 67 65 78 70 73 20 61 73 20 24 72 65 67 65 78 29 20 7b 0a 69 66 20 28 70 72 MatchRegexps.as.$regex).{.if.(pr
15c900 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 73 74 72 69 6e 67 29 29 20 7b 0a 72 65 74 eg_match($regex,.$string)).{.ret
15c920 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 6d 61 74 urn.false;.}.}....if.($this->mat
15c940 63 68 52 65 67 65 78 70 73 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6d 61 74 chRegexps).{.foreach.($this->mat
15c960 63 68 52 65 67 65 78 70 73 20 61 73 20 24 72 65 67 65 78 29 20 7b 0a 69 66 20 28 70 72 65 67 5f chRegexps.as.$regex).{.if.(preg_
15c980 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 73 74 72 69 6e 67 29 29 20 7b 0a 72 65 74 75 72 6e match($regex,.$string)).{.return
15c9a0 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 72 .true;.}.}..return.false;.}....r
15c9c0 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 eturn.true;.}.........protected.
15c9e0 66 75 6e 63 74 69 6f 6e 20 69 73 52 65 67 65 78 28 24 73 74 72 29 0a 7b 0a 69 66 20 28 70 72 65 function.isRegex($str).{.if.(pre
15ca00 67 5f 6d 61 74 63 68 28 27 2f 5e 28 2e 7b 33 2c 7d 3f 29 5b 69 6d 73 78 75 41 44 55 5d 2a 24 2f g_match('/^(.{3,}?)[imsxuADU]*$/
15ca20 27 2c 20 24 73 74 72 2c 20 24 6d 29 29 20 7b 0a 24 73 74 61 72 74 20 3d 20 73 75 62 73 74 72 28 ',.$str,.$m)).{.$start.=.substr(
15ca40 24 6d 5b 31 5d 2c 20 30 2c 20 31 29 3b 0a 24 65 6e 64 20 3d 20 73 75 62 73 74 72 28 24 6d 5b 31 $m[1],.0,.1);.$end.=.substr($m[1
15ca60 5d 2c 20 2d 31 29 3b 0a 0a 69 66 20 28 24 73 74 61 72 74 20 3d 3d 3d 20 24 65 6e 64 29 20 7b 0a ],.-1);..if.($start.===.$end).{.
15ca80 72 65 74 75 72 6e 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 2a 3f 5b 3a 61 6c 6e 75 6d 3a return.!preg_match('/[*?[:alnum:
15caa0 5d 20 5c 5c 5c 5c 5d 2f 27 2c 20 24 73 74 61 72 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 ].\\\\]/',.$start);.}..foreach.(
15cac0 61 72 72 61 79 28 61 72 72 61 79 28 27 7b 27 2c 20 27 7d 27 29 2c 20 61 72 72 61 79 28 27 28 27 array(array('{',.'}'),.array('('
15cae0 2c 20 27 29 27 29 2c 20 61 72 72 61 79 28 27 5b 27 2c 20 27 5d 27 29 2c 20 61 72 72 61 79 28 27 ,.')'),.array('[',.']'),.array('
15cb00 3c 27 2c 20 27 3e 27 29 29 20 61 73 20 24 64 65 6c 69 6d 69 74 65 72 73 29 20 7b 0a 69 66 20 28 <',.'>')).as.$delimiters).{.if.(
15cb20 24 73 74 61 72 74 20 3d 3d 3d 20 24 64 65 6c 69 6d 69 74 65 72 73 5b 30 5d 20 26 26 20 24 65 6e $start.===.$delimiters[0].&&.$en
15cb40 64 20 3d 3d 3d 20 24 64 65 6c 69 6d 69 74 65 72 73 5b 31 5d 29 20 7b 0a 72 65 74 75 72 6e 20 74 d.===.$delimiters[1]).{.return.t
15cb60 72 75 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a rue;.}.}.}..return.false;.}.....
15cb80 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 ....abstract.protected.function.
15cba0 74 6f 52 65 67 65 78 28 24 73 74 72 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a toRegex($str);.}.<?php..........
15cbc0 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e .namespace.Symfony\Component\Fin
15cbe0 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 61 74 68 46 der\Iterator;........class.PathF
15cc00 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 4d 75 6c 74 69 70 6c 65 50 63 ilterIterator.extends.MultiplePc
15cc20 72 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 reFilterIterator.{......public.f
15cc40 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 24 unction.accept().{.$filename.=.$
15cc60 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 2d 3e 67 65 74 52 65 6c 61 74 69 76 65 50 61 74 68 this->current()->getRelativePath
15cc80 6e 61 6d 65 28 29 3b 0a 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 name();..if.('\\'.===.\DIRECTORY
15cca0 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 24 66 69 6c 65 6e 61 6d 65 20 3d 20 73 74 72 5f 72 65 _SEPARATOR).{.$filename.=.str_re
15ccc0 70 6c 61 63 65 28 27 5c 5c 27 2c 20 27 2f 27 2c 20 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 0a place('\\',.'/',.$filename);.}..
15cce0 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 41 63 63 65 70 74 65 64 28 24 66 69 6c 65 6e 61 return.$this->isAccepted($filena
15cd00 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 me);.}................protected.
15cd20 66 75 6e 63 74 69 6f 6e 20 74 6f 52 65 67 65 78 28 24 73 74 72 29 0a 7b 0a 72 65 74 75 72 6e 20 function.toRegex($str).{.return.
15cd40 24 74 68 69 73 2d 3e 69 73 52 65 67 65 78 28 24 73 74 72 29 20 3f 20 24 73 74 72 20 3a 20 27 2f $this->isRegex($str).?.$str.:.'/
15cd60 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 73 74 72 2c 20 27 2f 27 29 2e 27 2f 27 3b 0a 7d 0a 7d '.preg_quote($str,.'/').'/';.}.}
15cd80 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
15cda0 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 75 ny\Component\Finder\Iterator;..u
15cdc0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 45 78 63 65 se.Symfony\Component\Finder\Exce
15cde0 70 74 69 6f 6e 5c 41 63 63 65 73 73 44 65 6e 69 65 64 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 ption\AccessDeniedException;.use
15ce00 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 53 70 6c 46 69 6c .Symfony\Component\Finder\SplFil
15ce20 65 49 6e 66 6f 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 63 75 72 73 69 76 65 44 69 72 65 eInfo;.......class.RecursiveDire
15ce40 63 74 6f 72 79 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 5c 52 65 63 75 72 73 69 76 65 ctoryIterator.extends.\Recursive
15ce60 44 69 72 65 63 74 6f 72 79 49 74 65 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 DirectoryIterator.{....private.$
15ce80 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 ignoreUnreadableDirs;.....privat
15cea0 65 20 24 72 65 77 69 6e 64 61 62 6c 65 3b 0a 0a 0a 20 70 72 69 76 61 74 65 20 24 72 6f 6f 74 50 e.$rewindable;....private.$rootP
15cec0 61 74 68 3b 0a 70 72 69 76 61 74 65 20 24 73 75 62 50 61 74 68 3b 0a 70 72 69 76 61 74 65 20 24 ath;.private.$subPath;.private.$
15cee0 64 69 72 65 63 74 6f 72 79 53 65 70 61 72 61 74 6f 72 20 3d 20 27 2f 27 3b 0a 0a 0a 0a 0a 0a 0a directorySeparator.=.'/';.......
15cf00 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 ..public.function.__construct($p
15cf20 61 74 68 2c 20 24 66 6c 61 67 73 2c 20 24 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 ath,.$flags,.$ignoreUnreadableDi
15cf40 72 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 66 6c 61 67 73 20 26 20 28 73 65 6c 66 rs.=.false).{.if.($flags.&.(self
15cf60 3a 3a 43 55 52 52 45 4e 54 5f 41 53 5f 50 41 54 48 4e 41 4d 45 20 7c 20 73 65 6c 66 3a 3a 43 55 ::CURRENT_AS_PATHNAME.|.self::CU
15cf80 52 52 45 4e 54 5f 41 53 5f 53 45 4c 46 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e RRENT_AS_SELF)).{.throw.new.\Run
15cfa0 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 69 73 20 69 74 65 72 61 74 6f 72 20 6f 6e 6c timeException('This.iterator.onl
15cfc0 79 20 73 75 70 70 6f 72 74 20 72 65 74 75 72 6e 69 6e 67 20 63 75 72 72 65 6e 74 20 61 73 20 66 y.support.returning.current.as.f
15cfe0 69 6c 65 69 6e 66 6f 2e 27 29 3b 0a 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 ileinfo.');.}..parent::__constru
15d000 63 74 28 24 70 61 74 68 2c 20 24 66 6c 61 67 73 29 3b 0a 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 ct($path,.$flags);.$this->ignore
15d020 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 20 3d 20 24 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 UnreadableDirs.=.$ignoreUnreadab
15d040 6c 65 44 69 72 73 3b 0a 24 74 68 69 73 2d 3e 72 6f 6f 74 50 61 74 68 20 3d 20 28 73 74 72 69 6e leDirs;.$this->rootPath.=.(strin
15d060 67 29 20 24 70 61 74 68 3b 0a 69 66 20 28 27 2f 27 20 21 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 g).$path;.if.('/'.!==.\DIRECTORY
15d080 5f 53 45 50 41 52 41 54 4f 52 20 26 26 20 21 28 24 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 55 _SEPARATOR.&&.!($flags.&.self::U
15d0a0 4e 49 58 5f 50 41 54 48 53 29 29 20 7b 0a 24 74 68 69 73 2d 3e 64 69 72 65 63 74 6f 72 79 53 65 NIX_PATHS)).{.$this->directorySe
15d0c0 70 61 72 61 74 6f 72 20 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 3b 0a parator.=.\DIRECTORY_SEPARATOR;.
15d0e0 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 75 72 72 65 6e }.}.......public.function.curren
15d100 74 28 29 0a 7b 0a 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 73 75 62 50 61 74 68 6e 61 6d t().{...if.(null.===.$subPathnam
15d120 65 20 3d 20 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 29 20 7b 0a 24 73 75 62 50 61 74 68 6e 61 e.=.$this->subPath).{.$subPathna
15d140 6d 65 20 3d 20 24 74 68 69 73 2d 3e 73 75 62 50 61 74 68 20 3d 20 28 73 74 72 69 6e 67 29 20 24 me.=.$this->subPath.=.(string).$
15d160 74 68 69 73 2d 3e 67 65 74 53 75 62 50 61 74 68 28 29 3b 0a 7d 0a 69 66 20 28 27 27 20 21 3d 3d this->getSubPath();.}.if.(''.!==
15d180 20 24 73 75 62 50 61 74 68 6e 61 6d 65 29 20 7b 0a 24 73 75 62 50 61 74 68 6e 61 6d 65 20 2e 3d .$subPathname).{.$subPathname..=
15d1a0 20 24 74 68 69 73 2d 3e 64 69 72 65 63 74 6f 72 79 53 65 70 61 72 61 74 6f 72 3b 0a 7d 0a 24 73 .$this->directorySeparator;.}.$s
15d1c0 75 62 50 61 74 68 6e 61 6d 65 20 2e 3d 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 ubPathname..=.$this->getFilename
15d1e0 28 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 53 70 6c 46 69 6c 65 49 6e 66 6f 28 24 74 68 69 ();..return.new.SplFileInfo($thi
15d200 73 2d 3e 72 6f 6f 74 50 61 74 68 2e 24 74 68 69 73 2d 3e 64 69 72 65 63 74 6f 72 79 53 65 70 61 s->rootPath.$this->directorySepa
15d220 72 61 74 6f 72 2e 24 73 75 62 50 61 74 68 6e 61 6d 65 2c 20 24 74 68 69 73 2d 3e 73 75 62 50 61 rator.$subPathname,.$this->subPa
15d240 74 68 2c 20 24 73 75 62 50 61 74 68 6e 61 6d 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 th,.$subPathname);.}.......publi
15d260 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 68 69 6c 64 72 65 6e 28 29 0a 7b 0a 74 72 79 20 7b c.function.getChildren().{.try.{
15d280 0a 24 63 68 69 6c 64 72 65 6e 20 3d 20 70 61 72 65 6e 74 3a 3a 67 65 74 43 68 69 6c 64 72 65 6e .$children.=.parent::getChildren
15d2a0 28 29 3b 0a 0a 69 66 20 28 24 63 68 69 6c 64 72 65 6e 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 ();..if.($children.instanceof.se
15d2c0 6c 66 29 20 7b 0a 0a 20 24 63 68 69 6c 64 72 65 6e 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 lf).{...$children->ignoreUnreada
15d2e0 62 6c 65 44 69 72 73 20 3d 20 24 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c bleDirs.=.$this->ignoreUnreadabl
15d300 65 44 69 72 73 3b 0a 0a 0a 20 24 63 68 69 6c 64 72 65 6e 2d 3e 72 65 77 69 6e 64 61 62 6c 65 20 eDirs;....$children->rewindable.
15d320 3d 20 26 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 61 62 6c 65 3b 0a 24 63 68 69 6c 64 72 65 6e 2d =.&$this->rewindable;.$children-
15d340 3e 72 6f 6f 74 50 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 72 6f 6f 74 50 61 74 68 3b 0a 7d 0a 0a >rootPath.=.$this->rootPath;.}..
15d360 72 65 74 75 72 6e 20 24 63 68 69 6c 64 72 65 6e 3b 0a 7d 20 63 61 74 63 68 20 28 5c 55 6e 65 78 return.$children;.}.catch.(\Unex
15d380 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 69 66 20 28 24 pectedValueException.$e).{.if.($
15d3a0 74 68 69 73 2d 3e 69 67 6e 6f 72 65 55 6e 72 65 61 64 61 62 6c 65 44 69 72 73 29 20 7b 0a 0a 20 this->ignoreUnreadableDirs).{...
15d3c0 72 65 74 75 72 6e 20 6e 65 77 20 5c 52 65 63 75 72 73 69 76 65 41 72 72 61 79 49 74 65 72 61 74 return.new.\RecursiveArrayIterat
15d3e0 6f 72 28 61 72 72 61 79 28 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 or(array());.}.else.{.throw.new.
15d400 41 63 63 65 73 73 44 65 6e 69 65 64 45 78 63 65 70 74 69 6f 6e 28 24 65 2d 3e 67 65 74 4d 65 73 AccessDeniedException($e->getMes
15d420 73 61 67 65 28 29 2c 20 24 65 2d 3e 67 65 74 43 6f 64 65 28 29 2c 20 24 65 29 3b 0a 7d 0a 7d 0a sage(),.$e->getCode(),.$e);.}.}.
15d440 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 0a 7b }.....public.function.rewind().{
15d460 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 69 73 52 65 77 69 6e 64 61 62 .if.(false.===.$this->isRewindab
15d480 6c 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 5c 50 48 50 5f 56 45 le()).{.return;.}....if.(\PHP_VE
15d4a0 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 35 32 33 20 7c 7c 20 5c 50 48 50 5f 56 45 52 53 49 4f 4e RSION_ID.<.50523.||.\PHP_VERSION
15d4c0 5f 49 44 20 3e 3d 20 35 30 36 30 30 20 26 26 20 5c 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 _ID.>=.50600.&&.\PHP_VERSION_ID.
15d4e0 3c 20 35 30 36 30 37 29 20 7b 0a 70 61 72 65 6e 74 3a 3a 6e 65 78 74 28 29 3b 0a 7d 0a 0a 70 61 <.50607).{.parent::next();.}..pa
15d500 72 65 6e 74 3a 3a 72 65 77 69 6e 64 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 rent::rewind();.}.......public.f
15d520 75 6e 63 74 69 6f 6e 20 69 73 52 65 77 69 6e 64 61 62 6c 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c unction.isRewindable().{.if.(nul
15d540 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 61 62 6c 65 29 20 7b 0a 72 65 74 75 72 l.!==.$this->rewindable).{.retur
15d560 6e 20 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 61 62 6c 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 27 27 n.$this->rewindable;.}....if.(''
15d580 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 61 74 68 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 .===.$this->getPath()).{.return.
15d5a0 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 61 62 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 $this->rewindable.=.false;.}..if
15d5c0 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 73 74 72 65 61 6d 20 3d 20 40 6f 70 65 6e 64 69 72 28 24 .(false.!==.$stream.=.@opendir($
15d5e0 74 68 69 73 2d 3e 67 65 74 50 61 74 68 28 29 29 29 20 7b 0a 24 69 6e 66 6f 73 20 3d 20 73 74 72 this->getPath())).{.$infos.=.str
15d600 65 61 6d 5f 67 65 74 5f 6d 65 74 61 5f 64 61 74 61 28 24 73 74 72 65 61 6d 29 3b 0a 63 6c 6f 73 eam_get_meta_data($stream);.clos
15d620 65 64 69 72 28 24 73 74 72 65 61 6d 29 3b 0a 0a 69 66 20 28 24 69 6e 66 6f 73 5b 27 73 65 65 6b edir($stream);..if.($infos['seek
15d640 61 62 6c 65 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 77 69 6e 64 61 62 able']).{.return.$this->rewindab
15d660 6c 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 le.=.true;.}.}..return.$this->re
15d680 77 69 6e 64 61 62 6c 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a windable.=.false;.}.}.<?php.....
15d6a0 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ......namespace.Symfony\Componen
15d6c0 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c t\Finder\Iterator;..use.Symfony\
15d6e0 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 43 6f 6d 70 61 72 61 74 6f 72 5c 4e 75 6d 62 Component\Finder\Comparator\Numb
15d700 65 72 43 6f 6d 70 61 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 69 7a 65 52 61 erComparator;.......class.SizeRa
15d720 6e 67 65 46 69 6c 74 65 72 49 74 65 72 61 74 6f 72 20 65 78 74 65 6e 64 73 20 46 69 6c 74 65 72 ngeFilterIterator.extends.Filter
15d740 49 74 65 72 61 74 6f 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 70 61 72 61 74 6f 72 73 20 Iterator.{.private.$comparators.
15d760 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 =.array();......public.function.
15d780 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 49 74 65 72 61 74 6f 72 20 24 69 74 65 72 61 74 6f 72 2c __construct(\Iterator.$iterator,
15d7a0 20 61 72 72 61 79 20 24 63 6f 6d 70 61 72 61 74 6f 72 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f .array.$comparators).{.$this->co
15d7c0 6d 70 61 72 61 74 6f 72 73 20 3d 20 24 63 6f 6d 70 61 72 61 74 6f 72 73 3b 0a 0a 70 61 72 65 6e mparators.=.$comparators;..paren
15d7e0 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 74 65 72 61 74 6f 72 29 3b 0a 7d 0a 0a 0a 0a t::__construct($iterator);.}....
15d800 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 28 29 0a 7b 0a 24 66 ...public.function.accept().{.$f
15d820 69 6c 65 69 6e 66 6f 20 3d 20 24 74 68 69 73 2d 3e 63 75 72 72 65 6e 74 28 29 3b 0a 69 66 20 28 ileinfo.=.$this->current();.if.(
15d840 21 24 66 69 6c 65 69 6e 66 6f 2d 3e 69 73 46 69 6c 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 !$fileinfo->isFile()).{.return.t
15d860 72 75 65 3b 0a 7d 0a 0a 24 66 69 6c 65 73 69 7a 65 20 3d 20 24 66 69 6c 65 69 6e 66 6f 2d 3e 67 rue;.}..$filesize.=.$fileinfo->g
15d880 65 74 53 69 7a 65 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6d 70 61 72 etSize();.foreach.($this->compar
15d8a0 61 74 6f 72 73 20 61 73 20 24 63 6f 6d 70 61 72 65 29 20 7b 0a 69 66 20 28 21 24 63 6f 6d 70 61 ators.as.$compare).{.if.(!$compa
15d8c0 72 65 2d 3e 74 65 73 74 28 24 66 69 6c 65 73 69 7a 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 re->test($filesize)).{.return.fa
15d8e0 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 lse;.}.}..return.true;.}.}.<?php
15d900 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d ...........namespace.Symfony\Com
15d920 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c 49 74 65 72 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c ponent\Finder\Iterator;.......cl
15d940 61 73 73 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 ass.SortableIterator.implements.
15d960 5c 49 74 65 72 61 74 6f 72 41 67 67 72 65 67 61 74 65 0a 7b 0a 63 6f 6e 73 74 20 53 4f 52 54 5f \IteratorAggregate.{.const.SORT_
15d980 42 59 5f 4e 41 4d 45 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 53 4f 52 54 5f 42 59 5f 54 59 50 45 20 BY_NAME.=.1;.const.SORT_BY_TYPE.
15d9a0 3d 20 32 3b 0a 63 6f 6e 73 74 20 53 4f 52 54 5f 42 59 5f 41 43 43 45 53 53 45 44 5f 54 49 4d 45 =.2;.const.SORT_BY_ACCESSED_TIME
15d9c0 20 3d 20 33 3b 0a 63 6f 6e 73 74 20 53 4f 52 54 5f 42 59 5f 43 48 41 4e 47 45 44 5f 54 49 4d 45 .=.3;.const.SORT_BY_CHANGED_TIME
15d9e0 20 3d 20 34 3b 0a 63 6f 6e 73 74 20 53 4f 52 54 5f 42 59 5f 4d 4f 44 49 46 49 45 44 5f 54 49 4d .=.4;.const.SORT_BY_MODIFIED_TIM
15da00 45 20 3d 20 35 3b 0a 0a 70 72 69 76 61 74 65 20 24 69 74 65 72 61 74 6f 72 3b 0a 70 72 69 76 61 E.=.5;..private.$iterator;.priva
15da20 74 65 20 24 73 6f 72 74 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e te.$sort;........public.function
15da40 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 5c 54 72 61 76 65 72 73 61 62 6c 65 20 24 69 74 65 72 61 .__construct(\Traversable.$itera
15da60 74 6f 72 2c 20 24 73 6f 72 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 20 3d 20 tor,.$sort).{.$this->iterator.=.
15da80 24 69 74 65 72 61 74 6f 72 3b 0a 0a 69 66 20 28 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 4e 41 $iterator;..if.(self::SORT_BY_NA
15daa0 4d 45 20 3d 3d 3d 20 24 73 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 66 75 ME.===.$sort).{.$this->sort.=.fu
15dac0 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 63 6d 70 28 nction.($a,.$b).{.return.strcmp(
15dae0 24 61 2d 3e 67 65 74 52 65 61 6c 70 61 74 68 28 29 20 3f 3a 20 24 61 2d 3e 67 65 74 50 61 74 68 $a->getRealpath().?:.$a->getPath
15db00 6e 61 6d 65 28 29 2c 20 24 62 2d 3e 67 65 74 52 65 61 6c 70 61 74 68 28 29 20 3f 3a 20 24 62 2d name(),.$b->getRealpath().?:.$b-
15db20 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 >getPathname());.};.}.elseif.(se
15db40 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 54 59 50 45 20 3d 3d 3d 20 24 73 6f 72 74 29 20 7b 0a 24 74 lf::SORT_BY_TYPE.===.$sort).{.$t
15db60 68 69 73 2d 3e 73 6f 72 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a his->sort.=.function.($a,.$b).{.
15db80 69 66 20 28 24 61 2d 3e 69 73 44 69 72 28 29 20 26 26 20 24 62 2d 3e 69 73 46 69 6c 65 28 29 29 if.($a->isDir().&&.$b->isFile())
15dba0 20 7b 0a 72 65 74 75 72 6e 20 2d 31 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 61 2d 3e 69 73 46 69 .{.return.-1;.}.elseif.($a->isFi
15dbc0 6c 65 28 29 20 26 26 20 24 62 2d 3e 69 73 44 69 72 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 31 3b le().&&.$b->isDir()).{.return.1;
15dbe0 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 74 72 63 6d 70 28 24 61 2d 3e 67 65 74 52 65 61 6c 70 61 74 .}..return.strcmp($a->getRealpat
15dc00 68 28 29 20 3f 3a 20 24 61 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 2c 20 24 62 2d 3e 67 65 h().?:.$a->getPathname(),.$b->ge
15dc20 74 52 65 61 6c 70 61 74 68 28 29 20 3f 3a 20 24 62 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 tRealpath().?:.$b->getPathname()
15dc40 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 41 43 );.};.}.elseif.(self::SORT_BY_AC
15dc60 43 45 53 53 45 44 5f 54 49 4d 45 20 3d 3d 3d 20 24 73 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e CESSED_TIME.===.$sort).{.$this->
15dc80 73 6f 72 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a 72 65 74 75 72 sort.=.function.($a,.$b).{.retur
15dca0 6e 20 24 61 2d 3e 67 65 74 41 54 69 6d 65 28 29 20 2d 20 24 62 2d 3e 67 65 74 41 54 69 6d 65 28 n.$a->getATime().-.$b->getATime(
15dcc0 29 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 43 48 );.};.}.elseif.(self::SORT_BY_CH
15dce0 41 4e 47 45 44 5f 54 49 4d 45 20 3d 3d 3d 20 24 73 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 ANGED_TIME.===.$sort).{.$this->s
15dd00 6f 72 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a 72 65 74 75 72 6e ort.=.function.($a,.$b).{.return
15dd20 20 24 61 2d 3e 67 65 74 43 54 69 6d 65 28 29 20 2d 20 24 62 2d 3e 67 65 74 43 54 69 6d 65 28 29 .$a->getCTime().-.$b->getCTime()
15dd40 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 53 4f 52 54 5f 42 59 5f 4d 4f 44 ;.};.}.elseif.(self::SORT_BY_MOD
15dd60 49 46 49 45 44 5f 54 49 4d 45 20 3d 3d 3d 20 24 73 6f 72 74 29 20 7b 0a 24 74 68 69 73 2d 3e 73 IFIED_TIME.===.$sort).{.$this->s
15dd80 6f 72 74 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 61 2c 20 24 62 29 20 7b 0a 72 65 74 75 72 6e ort.=.function.($a,.$b).{.return
15dda0 20 24 61 2d 3e 67 65 74 4d 54 69 6d 65 28 29 20 2d 20 24 62 2d 3e 67 65 74 4d 54 69 6d 65 28 29 .$a->getMTime().-.$b->getMTime()
15ddc0 3b 0a 7d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c 69 73 5f 63 61 6c 6c 61 62 6c 65 28 24 73 6f 72 ;.};.}.elseif.(\is_callable($sor
15dde0 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 6f 72 74 20 3d 20 24 73 6f 72 74 3b 0a 7d 20 65 6c 73 t)).{.$this->sort.=.$sort;.}.els
15de00 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 e.{.throw.new.\InvalidArgumentEx
15de20 63 65 70 74 69 6f 6e 28 27 54 68 65 20 53 6f 72 74 61 62 6c 65 49 74 65 72 61 74 6f 72 20 74 61 ception('The.SortableIterator.ta
15de40 6b 65 73 20 61 20 50 48 50 20 63 61 6c 6c 61 62 6c 65 20 6f 72 20 61 20 76 61 6c 69 64 20 62 75 kes.a.PHP.callable.or.a.valid.bu
15de60 69 6c 74 2d 69 6e 20 73 6f 72 74 20 61 6c 67 6f 72 69 74 68 6d 20 61 73 20 61 6e 20 61 72 67 75 ilt-in.sort.algorithm.as.an.argu
15de80 6d 65 6e 74 2e 27 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 ment.');.}.}..public.function.ge
15dea0 74 49 74 65 72 61 74 6f 72 28 29 0a 7b 0a 24 61 72 72 61 79 20 3d 20 69 74 65 72 61 74 6f 72 5f tIterator().{.$array.=.iterator_
15dec0 74 6f 5f 61 72 72 61 79 28 24 74 68 69 73 2d 3e 69 74 65 72 61 74 6f 72 2c 20 74 72 75 65 29 3b to_array($this->iterator,.true);
15dee0 0a 75 61 73 6f 72 74 28 24 61 72 72 61 79 2c 20 24 74 68 69 73 2d 3e 73 6f 72 74 29 3b 0a 0a 72 .uasort($array,.$this->sort);..r
15df00 65 74 75 72 6e 20 6e 65 77 20 5c 41 72 72 61 79 49 74 65 72 61 74 6f 72 28 24 61 72 72 61 79 29 eturn.new.\ArrayIterator($array)
15df20 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 34 2d 32 30 31 38 20 46 61 ;.}.}.Copyright.(c).2004-2018.Fa
15df40 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 bien.Potencier..Permission.is.he
15df60 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f reby.granted,.free.of.charge,.to
15df80 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 .any.person.obtaining.a.copy.of.
15dfa0 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 this.software.and.associated.doc
15dfc0 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 umentation.files.(the."Software"
15dfe0 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f ),.to.deal.in.the.Software.witho
15e000 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 ut.restriction,.including.withou
15e020 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 t.limitation.the.rights.to.use,.
15e040 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 copy,.modify,.merge,.publish,.di
15e060 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c stribute,.sublicense,.and/or.sel
15e080 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f l.copies.of.the.Software,.and.to
15e0a0 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 .permit.persons.to.whom.the.Soft
15e0c0 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a ware.is.furnished.to.do.so,.subj
15e0e0 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a ect.to.the.following.conditions:
15e100 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 ..The.above.copyright.notice.and
15e120 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 .this.permission.notice.shall.be
15e140 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 .included.in.all.copies.or.subst
15e160 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e antial.portions.of.the.Software.
15e180 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 ..THE.SOFTWARE.IS.PROVIDED."AS.I
15e1a0 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 S",.WITHOUT.WARRANTY.OF.ANY.KIND
15e1c0 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 ,.EXPRESS.OR.IMPLIED,.INCLUDING.
15e1e0 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 BUT.NOT.LIMITED.TO.THE.WARRANTIE
15e200 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f S.OF.MERCHANTABILITY,.FITNESS.FO
15e220 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e R.A.PARTICULAR.PURPOSE.AND.NONIN
15e240 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 FRINGEMENT..IN.NO.EVENT.SHALL.TH
15e260 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 E.AUTHORS.OR.COPYRIGHT.HOLDERS.B
15e280 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 E.LIABLE.FOR.ANY.CLAIM,.DAMAGES.
15e2a0 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 OR.OTHER.LIABILITY,.WHETHER.IN.A
15e2c0 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 N.ACTION.OF.CONTRACT,.TORT.OR.OT
15e2e0 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 HERWISE,.ARISING.FROM,.OUT.OF.OR
15e300 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 .IN.CONNECTION.WITH.THE.SOFTWARE
15e320 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e .OR.THE.USE.OR.OTHER.DEALINGS.IN
15e340 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e .THE.SOFTWARE..<?php...........n
15e360 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 amespace.Symfony\Component\Finde
15e380 72 5c 53 68 65 6c 6c 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e r\Shell;..@trigger_error('The.'.
15e3a0 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 43 6f 6d 6d 61 6e 64 20 63 6c 61 73 73 20 69 73 __NAMESPACE__.'\Command.class.is
15e3c0 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e .deprecated.since.Symfony.2.8.an
15e3e0 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 d.will.be.removed.in.3.0.',.E_US
15e400 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6d 6d ER_DEPRECATED);.......class.Comm
15e420 61 6e 64 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 61 72 65 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 and.{.private.$parent;.private.$
15e440 62 69 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6c 61 62 65 6c 73 20 bits.=.array();.private.$labels.
15e460 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 72 72 6f 72 48 61 6e =.array();.....private.$errorHan
15e480 64 6c 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 dler;..public.function.__constru
15e4a0 63 74 28 43 6f 6d 6d 61 6e 64 20 24 70 61 72 65 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 ct(Command.$parent.=.null).{.$th
15e4c0 69 73 2d 3e 70 61 72 65 6e 74 20 3d 20 24 70 61 72 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 is->parent.=.$parent;.}.......pu
15e4e0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 blic.function.__toString().{.ret
15e500 75 72 6e 20 24 74 68 69 73 2d 3e 6a 6f 69 6e 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 urn.$this->join();.}.......publi
15e520 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 43 6f 6d 6d 61 6e 64 c.static.function.create(Command
15e540 20 24 70 61 72 65 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 65 .$parent.=.null).{.return.new.se
15e560 6c 66 28 24 70 61 72 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 lf($parent);.}.........public.st
15e580 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 28 24 69 6e 70 75 74 29 0a 7b 0a 72 atic.function.escape($input).{.r
15e5a0 65 74 75 72 6e 20 65 73 63 61 70 65 73 68 65 6c 6c 63 6d 64 28 24 69 6e 70 75 74 29 3b 0a 7d 0a eturn.escapeshellcmd($input);.}.
15e5c0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 71 ........public.static.function.q
15e5e0 75 6f 74 65 28 24 69 6e 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 65 73 63 61 70 65 73 68 65 6c uote($input).{.return.escapeshel
15e600 6c 61 72 67 28 24 69 6e 70 75 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 larg($input);.}.........public.f
15e620 75 6e 63 74 69 6f 6e 20 61 64 64 28 24 62 69 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 69 74 73 5b unction.add($bit).{.$this->bits[
15e640 5d 20 3d 20 24 62 69 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a ].=.$bit;..return.$this;.}......
15e660 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 70 28 24 62 69 74 29 0a 7b 0a 61 ...public.function.top($bit).{.a
15e680 72 72 61 79 5f 75 6e 73 68 69 66 74 28 24 74 68 69 73 2d 3e 62 69 74 73 2c 20 24 62 69 74 29 3b rray_unshift($this->bits,.$bit);
15e6a0 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 20 61 73 20 24 6c 61 62 ..foreach.($this->labels.as.$lab
15e6c0 65 6c 20 3d 3e 20 24 69 6e 64 65 78 29 20 7b 0a 2b 2b 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b el.=>.$index).{.++$this->labels[
15e6e0 24 6c 61 62 65 6c 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a $label];.}..return.$this;.}.....
15e700 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 67 28 24 61 72 67 29 0a 7b 0a ....public.function.arg($arg).{.
15e720 24 74 68 69 73 2d 3e 62 69 74 73 5b 5d 20 3d 20 73 65 6c 66 3a 3a 71 75 6f 74 65 28 24 61 72 67 $this->bits[].=.self::quote($arg
15e740 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c );..return.$this;.}.........publ
15e760 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6d 64 28 24 65 73 63 29 0a 7b 0a 24 74 68 69 73 2d 3e 62 ic.function.cmd($esc).{.$this->b
15e780 69 74 73 5b 5d 20 3d 20 73 65 6c 66 3a 3a 65 73 63 61 70 65 28 24 65 73 63 29 3b 0a 0a 72 65 74 its[].=.self::escape($esc);..ret
15e7a0 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 urn.$this;.}...........public.fu
15e7c0 6e 63 74 69 6f 6e 20 69 6e 73 28 24 6c 61 62 65 6c 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 nction.ins($label).{.if.(isset($
15e7e0 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 62 65 6c 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e this->labels[$label])).{.throw.n
15e800 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4c 61 ew.\RuntimeException(sprintf('La
15e820 62 65 6c 20 22 25 73 22 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2e 27 2c 20 24 6c 61 62 65 bel."%s".already.exists.',.$labe
15e840 6c 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 62 69 74 73 5b 5d 20 3d 20 73 65 6c 66 3a 3a 63 72 l));.}..$this->bits[].=.self::cr
15e860 65 61 74 65 28 24 74 68 69 73 29 3b 0a 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 62 65 eate($this);.$this->labels[$labe
15e880 6c 5d 20 3d 20 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 62 69 74 73 29 20 2d 20 31 3b 0a 0a 72 l].=.\count($this->bits).-.1;..r
15e8a0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 69 74 73 5b 24 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b eturn.$this->bits[$this->labels[
15e8c0 24 6c 61 62 65 6c 5d 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $label]];.}...........public.fun
15e8e0 63 74 69 6f 6e 20 67 65 74 28 24 6c 61 62 65 6c 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 ction.get($label).{.if.(!isset($
15e900 74 68 69 73 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 62 65 6c 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e this->labels[$label])).{.throw.n
15e920 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4c 61 ew.\RuntimeException(sprintf('La
15e940 62 65 6c 20 22 25 73 22 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 27 2c 20 24 6c 61 62 65 bel."%s".does.not.exist.',.$labe
15e960 6c 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 62 69 74 73 5b 24 74 68 69 73 l));.}..return.$this->bits[$this
15e980 2d 3e 6c 61 62 65 6c 73 5b 24 6c 61 62 65 6c 5d 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ->labels[$label]];.}.........pub
15e9a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 64 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d lic.function.end().{.if.(null.==
15e9c0 3d 20 24 74 68 69 73 2d 3e 70 61 72 65 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 =.$this->parent).{.throw.new.\Ru
15e9e0 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6c 6c 69 6e 67 20 65 6e 64 20 6f 6e 20 72 ntimeException('Calling.end.on.r
15ea00 6f 6f 74 20 63 6f 6d 6d 61 6e 64 20 64 6f 65 73 6e 5c 27 74 20 6d 61 6b 65 20 73 65 6e 73 65 2e oot.command.doesn\'t.make.sense.
15ea20 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 72 65 6e 74 3b 0a 7d 0a 0a ');.}..return.$this->parent;.}..
15ea40 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 65 6e 67 74 68 28 29 0a 7b 0a .....public.function.length().{.
15ea60 72 65 74 75 72 6e 20 5c 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 62 69 74 73 29 3b 0a 7d 0a 0a 0a return.\count($this->bits);.}...
15ea80 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 72 72 6f 72 48 61 6e 64 6c 65 ..public.function.setErrorHandle
15eaa0 72 28 5c 43 6c 6f 73 75 72 65 20 24 65 72 72 6f 72 48 61 6e 64 6c 65 72 29 0a 7b 0a 24 74 68 69 r(\Closure.$errorHandler).{.$thi
15eac0 73 2d 3e 65 72 72 6f 72 48 61 6e 64 6c 65 72 20 3d 20 24 65 72 72 6f 72 48 61 6e 64 6c 65 72 3b s->errorHandler.=.$errorHandler;
15eae0 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ..return.$this;.}.....public.fun
15eb00 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e ction.getErrorHandler().{.return
15eb20 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 48 61 6e 64 6c 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a .$this->errorHandler;.}.........
15eb40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 78 65 63 75 74 65 28 29 0a 7b 0a 69 66 20 28 public.function.execute().{.if.(
15eb60 6e 75 6c 6c 20 3d 3d 3d 20 24 65 72 72 6f 72 48 61 6e 64 6c 65 72 20 3d 20 24 74 68 69 73 2d 3e null.===.$errorHandler.=.$this->
15eb80 65 72 72 6f 72 48 61 6e 64 6c 65 72 29 20 7b 0a 65 78 65 63 28 24 74 68 69 73 2d 3e 6a 6f 69 6e errorHandler).{.exec($this->join
15eba0 28 29 2c 20 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 72 6f 63 65 73 73 20 (),.$output);.}.else.{.$process.
15ebc0 3d 20 70 72 6f 63 5f 6f 70 65 6e 28 24 74 68 69 73 2d 3e 6a 6f 69 6e 28 29 2c 20 61 72 72 61 79 =.proc_open($this->join(),.array
15ebe0 28 30 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 72 27 29 2c 20 31 20 3d 3e 20 61 (0.=>.array('pipe',.'r'),.1.=>.a
15ec00 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 2c 20 32 20 3d 3e 20 61 72 72 61 79 28 27 70 rray('pipe',.'w'),.2.=>.array('p
15ec20 69 70 65 27 2c 20 27 77 27 29 29 2c 20 24 70 69 70 65 73 29 3b 0a 24 6f 75 74 70 75 74 20 3d 20 ipe',.'w')),.$pipes);.$output.=.
15ec40 70 72 65 67 5f 73 70 6c 69 74 28 27 7e 28 5c 72 5c 6e 7c 5c 72 7c 5c 6e 29 7e 27 2c 20 73 74 72 preg_split('~(\r\n|\r|\n)~',.str
15ec60 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 69 70 65 73 5b 31 5d 29 2c 20 2d 31 2c eam_get_contents($pipes[1]),.-1,
15ec80 20 50 52 45 47 5f 53 50 4c 49 54 5f 4e 4f 5f 45 4d 50 54 59 29 3b 0a 0a 69 66 20 28 24 65 72 72 .PREG_SPLIT_NO_EMPTY);..if.($err
15eca0 6f 72 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 70 69 70 65 73 5b or.=.stream_get_contents($pipes[
15ecc0 32 5d 29 29 20 7b 0a 24 65 72 72 6f 72 48 61 6e 64 6c 65 72 28 24 65 72 72 6f 72 29 3b 0a 7d 0a 2])).{.$errorHandler($error);.}.
15ece0 0a 70 72 6f 63 5f 63 6c 6f 73 65 28 24 70 72 6f 63 65 73 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e .proc_close($process);.}..return
15ed00 20 24 6f 75 74 70 75 74 20 3f 3a 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 .$output.?:.array();.}.......pub
15ed20 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6a 6f 69 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 69 6d 70 lic.function.join().{.return.imp
15ed40 6c 6f 64 65 28 27 20 27 2c 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 0a 61 72 72 61 79 5f 6d 61 lode('.',.array_filter(.array_ma
15ed60 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 62 69 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 62 69 74 20 p(function.($bit).{.return.$bit.
15ed80 69 6e 73 74 61 6e 63 65 6f 66 20 43 6f 6d 6d 61 6e 64 20 3f 20 24 62 69 74 2d 3e 6a 6f 69 6e 28 instanceof.Command.?.$bit->join(
15eda0 29 20 3a 20 28 24 62 69 74 20 3f 3a 20 6e 75 6c 6c 29 3b 0a 7d 2c 20 24 74 68 69 73 2d 3e 62 69 ).:.($bit.?:.null);.},.$this->bi
15edc0 74 73 29 2c 0a 66 75 6e 63 74 69 6f 6e 20 28 24 62 69 74 29 20 7b 20 72 65 74 75 72 6e 20 6e 75 ts),.function.($bit).{.return.nu
15ede0 6c 6c 20 21 3d 3d 20 24 62 69 74 3b 20 7d 0a 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ll.!==.$bit;.}.));.}..........pu
15ee00 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 41 74 49 6e 64 65 78 28 24 62 69 74 2c 20 24 blic.function.addAtIndex($bit,.$
15ee20 69 6e 64 65 78 29 0a 7b 0a 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 74 68 69 73 2d 3e 62 69 74 index).{.array_splice($this->bit
15ee40 73 2c 20 24 69 6e 64 65 78 2c 20 30 2c 20 24 62 69 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 s,.$index,.0,.$bit.instanceof.se
15ee60 6c 66 20 3f 20 61 72 72 61 79 28 24 62 69 74 29 20 3a 20 24 62 69 74 29 3b 0a 0a 72 65 74 75 72 lf.?.array($bit).:.$bit);..retur
15ee80 6e 20 24 74 68 69 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d n.$this;.}.}.<?php...........nam
15eea0 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 5c espace.Symfony\Component\Finder\
15eec0 53 68 65 6c 6c 3b 0a 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f 5f Shell;..@trigger_error('The.'.__
15eee0 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 53 68 65 6c 6c 20 63 6c 61 73 73 20 69 73 20 64 65 70 NAMESPACE__.'\Shell.class.is.dep
15ef00 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 38 20 61 6e 64 20 77 69 recated.since.Symfony.2.8.and.wi
15ef20 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c 20 45 5f 55 53 45 52 5f 44 ll.be.removed.in.3.0.',.E_USER_D
15ef40 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 68 65 6c 6c 0a 7b 0a EPRECATED);.......class.Shell.{.
15ef60 63 6f 6e 73 74 20 54 59 50 45 5f 55 4e 49 58 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f const.TYPE_UNIX.=.1;.const.TYPE_
15ef80 44 41 52 57 49 4e 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 43 59 47 57 49 4e 20 3d 20 DARWIN.=.2;.const.TYPE_CYGWIN.=.
15efa0 33 3b 0a 63 6f 6e 73 74 20 54 59 50 45 5f 57 49 4e 44 4f 57 53 20 3d 20 34 3b 0a 63 6f 6e 73 74 3;.const.TYPE_WINDOWS.=.4;.const
15efc0 20 54 59 50 45 5f 42 53 44 20 3d 20 35 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 74 79 70 65 .TYPE_BSD.=.5;.....private.$type
15efe0 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 28 ;.......public.function.getType(
15f000 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 79 70 65 29 20 7b 0a ).{.if.(null.===.$this->type).{.
15f020 24 74 68 69 73 2d 3e 74 79 70 65 20 3d 20 24 74 68 69 73 2d 3e 67 75 65 73 73 54 79 70 65 28 29 $this->type.=.$this->guessType()
15f040 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 0a ;.}..return.$this->type;.}......
15f060 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 43 6f 6d 6d 61 6e 64 28 24 ...public.function.testCommand($
15f080 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 69 66 20 28 21 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 command).{.if.(!\function_exists
15f0a0 28 27 65 78 65 63 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 24 ('exec')).{.return.false;.}....$
15f0c0 74 65 73 74 43 6f 6d 6d 61 6e 64 20 3d 20 27 77 68 69 63 68 20 27 3b 0a 69 66 20 28 73 65 6c 66 testCommand.=.'which.';.if.(self
15f0e0 3a 3a 54 59 50 45 5f 57 49 4e 44 4f 57 53 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 79 70 65 29 20 ::TYPE_WINDOWS.===.$this->type).
15f100 7b 0a 24 74 65 73 74 43 6f 6d 6d 61 6e 64 20 3d 20 27 77 68 65 72 65 20 27 3b 0a 7d 0a 0a 24 63 {.$testCommand.=.'where.';.}..$c
15f120 6f 6d 6d 61 6e 64 20 3d 20 65 73 63 61 70 65 73 68 65 6c 6c 63 6d 64 28 24 63 6f 6d 6d 61 6e 64 ommand.=.escapeshellcmd($command
15f140 29 3b 0a 0a 65 78 65 63 28 24 74 65 73 74 43 6f 6d 6d 61 6e 64 2e 24 63 6f 6d 6d 61 6e 64 2c 20 );..exec($testCommand.$command,.
15f160 24 6f 75 74 70 75 74 2c 20 24 63 6f 64 65 29 3b 0a 0a 72 65 74 75 72 6e 20 30 20 3d 3d 3d 20 24 $output,.$code);..return.0.===.$
15f180 63 6f 64 65 20 26 26 20 5c 63 6f 75 6e 74 28 24 6f 75 74 70 75 74 29 20 3e 20 30 3b 0a 7d 0a 0a code.&&.\count($output).>.0;.}..
15f1a0 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 75 65 73 73 54 79 70 65 28 .....private.function.guessType(
15f1c0 29 0a 7b 0a 24 6f 73 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 50 48 50 5f 4f 53 29 3b 0a 0a 69 ).{.$os.=.strtolower(PHP_OS);..i
15f1e0 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6f 73 2c 20 27 63 79 67 77 69 6e f.(false.!==.strpos($os,.'cygwin
15f200 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 43 59 47 57 49 4e 3b 0a ')).{.return.self::TYPE_CYGWIN;.
15f220 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6f 73 2c 20 27 64 61 }..if.(false.!==.strpos($os,.'da
15f240 72 77 69 6e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 44 41 52 57 rwin')).{.return.self::TYPE_DARW
15f260 49 4e 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 6f 73 2c IN;.}..if.(false.!==.strpos($os,
15f280 20 27 62 73 64 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 42 53 44 .'bsd')).{.return.self::TYPE_BSD
15f2a0 3b 0a 7d 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 6f 73 2c 20 27 77 69 6e 27 ;.}..if.(0.===.strpos($os,.'win'
15f2c0 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 57 49 4e 44 4f 57 53 3b 0a )).{.return.self::TYPE_WINDOWS;.
15f2e0 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 55 4e 49 58 3b 0a 7d 0a 7d 0a 3c }..return.self::TYPE_UNIX;.}.}.<
15f300 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 ?php...........namespace.Symfony
15f320 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 46 69 6e 64 65 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 \Component\Finder;.......class.S
15f340 70 6c 46 69 6c 65 49 6e 66 6f 20 65 78 74 65 6e 64 73 20 5c 53 70 6c 46 69 6c 65 49 6e 66 6f 0a plFileInfo.extends.\SplFileInfo.
15f360 7b 0a 70 72 69 76 61 74 65 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 70 72 69 76 61 74 65 {.private.$relativePath;.private
15f380 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .$relativePathname;.......public
15f3a0 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 66 69 6c 65 2c 20 24 72 65 .function.__construct($file,.$re
15f3c0 6c 61 74 69 76 65 50 61 74 68 2c 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 29 0a 7b lativePath,.$relativePathname).{
15f3e0 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 66 69 6c 65 29 3b 0a 24 74 68 .parent::__construct($file);.$th
15f400 69 73 2d 3e 72 65 6c 61 74 69 76 65 50 61 74 68 20 3d 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 is->relativePath.=.$relativePath
15f420 3b 0a 24 74 68 69 73 2d 3e 72 65 6c 61 74 69 76 65 50 61 74 68 6e 61 6d 65 20 3d 20 24 72 65 6c ;.$this->relativePathname.=.$rel
15f440 61 74 69 76 65 50 61 74 68 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ativePathname;.}.........public.
15f460 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6c 61 74 69 76 65 50 61 74 68 28 29 0a 7b 0a 72 65 74 function.getRelativePath().{.ret
15f480 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a urn.$this->relativePath;.}......
15f4a0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 52 65 6c 61 74 69 76 65 50 61 ...public.function.getRelativePa
15f4c0 74 68 6e 61 6d 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 72 65 6c 61 74 69 76 thname().{.return.$this->relativ
15f4e0 65 50 61 74 68 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 ePathname;.}.........public.func
15f500 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 73 28 29 0a 7b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 tion.getContents().{.set_error_h
15f520 61 6e 64 6c 65 72 28 66 75 6e 63 74 69 6f 6e 20 28 24 74 79 70 65 2c 20 24 6d 73 67 29 20 75 73 andler(function.($type,.$msg).us
15f540 65 20 28 26 24 65 72 72 6f 72 29 20 7b 20 24 65 72 72 6f 72 20 3d 20 24 6d 73 67 3b 20 7d 29 3b e.(&$error).{.$error.=.$msg;.});
15f560 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 .$content.=.file_get_contents($t
15f580 68 69 73 2d 3e 67 65 74 50 61 74 68 6e 61 6d 65 28 29 29 3b 0a 72 65 73 74 6f 72 65 5f 65 72 72 his->getPathname());.restore_err
15f5a0 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 63 6f 6e or_handler();.if.(false.===.$con
15f5c0 74 65 6e 74 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 tent).{.throw.new.\RuntimeExcept
15f5e0 69 6f 6e 28 24 65 72 72 6f 72 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b ion($error);.}..return.$content;
15f600 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 .}.}.<?php...........namespace.S
15f620 79 6d 66 6f 6e 79 5c 50 6f 6c 79 66 69 6c 6c 5c 43 74 79 70 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 66 ymfony\Polyfill\Ctype;.........f
15f640 69 6e 61 6c 20 63 6c 61 73 73 20 43 74 79 70 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c inal.class.Ctype.{..........publ
15f660 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 61 6c 6e 75 6d 28 24 ic.static.function.ctype_alnum($
15f680 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e text).{.$text.=.self::convert_in
15f6a0 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 t_to_char_for_ctype($text);..ret
15f6c0 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 urn.\is_string($text).&&.''.!==.
15f6e0 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 41 2d 5a 61 2d 7a 30 $text.&&.!preg_match('/[^A-Za-z0
15f700 2d 39 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 -9]/',.$text);.}...........publi
15f720 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 61 6c 70 68 61 28 24 74 c.static.function.ctype_alpha($t
15f740 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 ext).{.$text.=.self::convert_int
15f760 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 _to_char_for_ctype($text);..retu
15f780 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 rn.\is_string($text).&&.''.!==.$
15f7a0 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 41 2d 5a 61 2d 7a 5d 2f text.&&.!preg_match('/[^A-Za-z]/
15f7c0 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 ',.$text);.}...........public.st
15f7e0 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 63 6e 74 72 6c 28 24 74 65 78 74 29 atic.function.ctype_cntrl($text)
15f800 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f .{.$text.=.self::convert_int_to_
15f820 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c char_for_ctype($text);..return.\
15f840 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 is_string($text).&&.''.!==.$text
15f860 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 5c 78 30 30 2d 5c 78 31 66 5c 78 37 .&&.!preg_match('/[^\x00-\x1f\x7
15f880 66 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 f]/',.$text);.}...........public
15f8a0 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 64 69 67 69 74 28 24 74 65 .static.function.ctype_digit($te
15f8c0 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f xt).{.$text.=.self::convert_int_
15f8e0 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 to_char_for_ctype($text);..retur
15f900 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 n.\is_string($text).&&.''.!==.$t
15f920 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 30 2d 39 5d 2f 27 2c 20 24 ext.&&.!preg_match('/[^0-9]/',.$
15f940 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 text);.}...........public.static
15f960 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 67 72 61 70 68 28 24 74 65 78 74 29 0a 7b 0a 24 .function.ctype_graph($text).{.$
15f980 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 text.=.self::convert_int_to_char
15f9a0 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 _for_ctype($text);..return.\is_s
15f9c0 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 tring($text).&&.''.!==.$text.&&.
15f9e0 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 21 2d 7e 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a !preg_match('/[^!-~]/',.$text);.
15fa00 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 }...........public.static.functi
15fa20 6f 6e 20 63 74 79 70 65 5f 6c 6f 77 65 72 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 on.ctype_lower($text).{.$text.=.
15fa40 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 self::convert_int_to_char_for_ct
15fa60 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 ype($text);..return.\is_string($
15fa80 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d text).&&.''.!==.$text.&&.!preg_m
15faa0 61 74 63 68 28 27 2f 5b 5e 61 2d 7a 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a atch('/[^a-z]/',.$text);.}......
15fac0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 .....public.static.function.ctyp
15fae0 65 5f 70 72 69 6e 74 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 e_print($text).{.$text.=.self::c
15fb00 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 onvert_int_to_char_for_ctype($te
15fb20 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 xt);..return.\is_string($text).&
15fb40 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f &.''.!==.$text.&&.!preg_match('/
15fb60 5b 5e 20 2d 7e 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 [^.-~]/',.$text);.}...........pu
15fb80 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 70 75 6e 63 74 blic.static.function.ctype_punct
15fba0 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f ($text).{.$text.=.self::convert_
15fbc0 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 int_to_char_for_ctype($text);..r
15fbe0 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d eturn.\is_string($text).&&.''.!=
15fc00 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 21 2d 5c 2f 5c =.$text.&&.!preg_match('/[^!-\/\
15fc20 3a 2d 40 5c 5b 2d 60 5c 7b 2d 7e 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a :-@\[-`\{-~]/',.$text);.}.......
15fc40 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 ....public.static.function.ctype
15fc60 5f 73 70 61 63 65 28 24 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f _space($text).{.$text.=.self::co
15fc80 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 nvert_int_to_char_for_ctype($tex
15fca0 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 t);..return.\is_string($text).&&
15fcc0 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b .''.!==.$text.&&.!preg_match('/[
15fce0 5e 5c 73 5d 2f 27 2c 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ^\s]/',.$text);.}...........publ
15fd00 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 75 70 70 65 72 28 24 ic.static.function.ctype_upper($
15fd20 74 65 78 74 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e text).{.$text.=.self::convert_in
15fd40 74 5f 74 6f 5f 63 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 t_to_char_for_ctype($text);..ret
15fd60 75 72 6e 20 5c 69 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 urn.\is_string($text).&&.''.!==.
15fd80 24 74 65 78 74 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 41 2d 5a 5d 2f 27 2c $text.&&.!preg_match('/[^A-Z]/',
15fda0 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 .$text);.}...........public.stat
15fdc0 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 78 64 69 67 69 74 28 24 74 65 78 74 29 0a ic.function.ctype_xdigit($text).
15fde0 7b 0a 24 74 65 78 74 20 3d 20 73 65 6c 66 3a 3a 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 {.$text.=.self::convert_int_to_c
15fe00 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 74 65 78 74 29 3b 0a 0a 72 65 74 75 72 6e 20 5c 69 har_for_ctype($text);..return.\i
15fe20 73 5f 73 74 72 69 6e 67 28 24 74 65 78 74 29 20 26 26 20 27 27 20 21 3d 3d 20 24 74 65 78 74 20 s_string($text).&&.''.!==.$text.
15fe40 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5e 41 2d 46 61 2d 66 30 2d 39 5d 2f 27 2c &&.!preg_match('/[^A-Fa-f0-9]/',
15fe60 20 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 .$text);.}..............private.
15fe80 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 5f 69 6e 74 5f 74 6f 5f 63 static.function.convert_int_to_c
15fea0 68 61 72 5f 66 6f 72 5f 63 74 79 70 65 28 24 69 6e 74 29 0a 7b 0a 69 66 20 28 21 5c 69 73 5f 69 har_for_ctype($int).{.if.(!\is_i
15fec0 6e 74 28 24 69 6e 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e 74 3b 0a 7d 0a 0a 69 66 20 28 nt($int)).{.return.$int;.}..if.(
15fee0 24 69 6e 74 20 3c 20 2d 31 32 38 20 7c 7c 20 24 69 6e 74 20 3e 20 32 35 35 29 20 7b 0a 72 65 74 $int.<.-128.||.$int.>.255).{.ret
15ff00 75 72 6e 20 28 73 74 72 69 6e 67 29 20 24 69 6e 74 3b 0a 7d 0a 0a 69 66 20 28 24 69 6e 74 20 3c urn.(string).$int;.}..if.($int.<
15ff20 20 30 29 20 7b 0a 24 69 6e 74 20 2b 3d 20 32 35 36 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 5c 63 68 .0).{.$int.+=.256;.}..return.\ch
15ff40 72 28 24 69 6e 74 29 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 38 2d r($int);.}.}.Copyright.(c).2018-
15ff60 32 30 31 39 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 2019.Fabien.Potencier..Permissio
15ff80 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 n.is.hereby.granted,.free.of.cha
15ffa0 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 rge,.to.any.person.obtaining.a.c
15ffc0 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 opy.of.this.software.and.associa
15ffe0 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f ted.documentation.files.(the."So
160000 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 ftware"),.to.deal.in.the.Softwar
160020 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 e.without.restriction,.including
160040 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 .without.limitation.the.rights.t
160060 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c o.use,.copy,.modify,.merge,.publ
160080 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 ish,.distribute,.sublicense,.and
1600a0 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c /or.sell.copies.of.the.Software,
1600c0 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 .and.to.permit.persons.to.whom.t
1600e0 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 he.Software.is.furnished.to.do.s
160100 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 o,.subject.to.the.following.cond
160120 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 itions:..The.above.copyright.not
160140 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 ice.and.this.permission.notice.s
160160 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f hall.be.included.in.all.copies.o
160180 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f r.substantial.portions.of.the.So
1601a0 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 ftware...THE.SOFTWARE.IS.PROVIDE
1601c0 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 D."AS.IS",.WITHOUT.WARRANTY.OF.A
1601e0 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 NY.KIND,.EXPRESS.OR.IMPLIED,.INC
160200 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 LUDING.BUT.NOT.LIMITED.TO.THE.WA
160220 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 RRANTIES.OF.MERCHANTABILITY,.FIT
160240 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e NESS.FOR.A.PARTICULAR.PURPOSE.AN
160260 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 D.NONINFRINGEMENT..IN.NO.EVENT.S
160280 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f HALL.THE.AUTHORS.OR.COPYRIGHT.HO
1602a0 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 LDERS.BE.LIABLE.FOR.ANY.CLAIM,.D
1602c0 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 AMAGES.OR.OTHER.LIABILITY,.WHETH
1602e0 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 ER.IN.AN.ACTION.OF.CONTRACT,.TOR
160300 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 T.OR.OTHERWISE,.ARISING.FROM,.OU
160320 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 T.OF.OR.IN.CONNECTION.WITH.THE.S
160340 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c OFTWARE.OR.THE.USE.OR.OTHER.DEAL
160360 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a INGS.IN.THE.SOFTWARE..<?php.....
160380 0a 0a 0a 0a 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 50 6f 6c 79 66 69 6c 6c 5c 43 74 79 70 65 ......use.Symfony\Polyfill\Ctype
1603a0 20 61 73 20 70 3b 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 63 74 .as.p;..if.(!function_exists('ct
1603c0 79 70 65 5f 61 6c 6e 75 6d 27 29 29 20 7b 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 61 6c ype_alnum')).{.function.ctype_al
1603e0 6e 75 6d 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 num($text).{.return.p\Ctype::cty
160400 70 65 5f 61 6c 6e 75 6d 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 pe_alnum($text);.}.function.ctyp
160420 65 5f 61 6c 70 68 61 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a e_alpha($text).{.return.p\Ctype:
160440 3a 63 74 79 70 65 5f 61 6c 70 68 61 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 :ctype_alpha($text);.}.function.
160460 63 74 79 70 65 5f 63 6e 74 72 6c 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 ctype_cntrl($text).{.return.p\Ct
160480 79 70 65 3a 3a 63 74 79 70 65 5f 63 6e 74 72 6c 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 ype::ctype_cntrl($text);.}.funct
1604a0 69 6f 6e 20 63 74 79 70 65 5f 64 69 67 69 74 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 ion.ctype_digit($text).{.return.
1604c0 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 64 69 67 69 74 28 24 74 65 78 74 29 3b 20 7d 0a 66 p\Ctype::ctype_digit($text);.}.f
1604e0 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 67 72 61 70 68 28 24 74 65 78 74 29 20 7b 20 72 65 74 unction.ctype_graph($text).{.ret
160500 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 67 72 61 70 68 28 24 74 65 78 74 29 3b urn.p\Ctype::ctype_graph($text);
160520 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 6c 6f 77 65 72 28 24 74 65 78 74 29 20 7b .}.function.ctype_lower($text).{
160540 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 6c 6f 77 65 72 28 24 74 65 .return.p\Ctype::ctype_lower($te
160560 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 70 72 69 6e 74 28 24 74 65 78 xt);.}.function.ctype_print($tex
160580 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 70 72 69 6e 74 t).{.return.p\Ctype::ctype_print
1605a0 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 70 75 6e 63 74 28 ($text);.}.function.ctype_punct(
1605c0 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 70 65 5f 70 $text).{.return.p\Ctype::ctype_p
1605e0 75 6e 63 74 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 65 5f 73 70 unct($text);.}.function.ctype_sp
160600 61 63 65 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a 3a 63 74 79 ace($text).{.return.p\Ctype::cty
160620 70 65 5f 73 70 61 63 65 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 63 74 79 70 pe_space($text);.}.function.ctyp
160640 65 5f 75 70 70 65 72 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 74 79 70 65 3a e_upper($text).{.return.p\Ctype:
160660 3a 63 74 79 70 65 5f 75 70 70 65 72 28 24 74 65 78 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 :ctype_upper($text);.}.function.
160680 63 74 79 70 65 5f 78 64 69 67 69 74 28 24 74 65 78 74 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 43 ctype_xdigit($text).{.return.p\C
1606a0 74 79 70 65 3a 3a 63 74 79 70 65 5f 78 64 69 67 69 74 28 24 74 65 78 74 29 3b 20 7d 0a 7d 0a 43 type::ctype_xdigit($text);.}.}.C
1606c0 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 35 2d 32 30 31 39 20 46 61 62 69 65 6e 20 50 6f opyright.(c).2015-2019.Fabien.Po
1606e0 74 65 6e 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 tencier..Permission.is.hereby.gr
160700 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 anted,.free.of.charge,.to.any.pe
160720 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f rson.obtaining.a.copy.of.this.so
160740 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 ftware.and.associated.documentat
160760 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 ion.files.(the."Software"),.to.d
160780 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 eal.in.the.Software.without.rest
1607a0 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 riction,.including.without.limit
1607c0 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d ation.the.rights.to.use,.copy,.m
1607e0 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 odify,.merge,.publish,.distribut
160800 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 e,.sublicense,.and/or.sell.copie
160820 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 s.of.the.Software,.and.to.permit
160840 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 .persons.to.whom.the.Software.is
160860 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 .furnished.to.do.so,.subject.to.
160880 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 the.following.conditions:..The.a
1608a0 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 bove.copyright.notice.and.this.p
1608c0 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 ermission.notice.shall.be.includ
1608e0 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 ed.in.all.copies.or.substantial.
160900 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 portions.of.the.Software...THE.S
160920 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 OFTWARE.IS.PROVIDED."AS.IS",.WIT
160940 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 HOUT.WARRANTY.OF.ANY.KIND,.EXPRE
160960 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 SS.OR.IMPLIED,.INCLUDING.BUT.NOT
160980 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 .LIMITED.TO.THE.WARRANTIES.OF.ME
1609a0 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 RCHANTABILITY,.FITNESS.FOR.A.PAR
1609c0 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d TICULAR.PURPOSE.AND.NONINFRINGEM
1609e0 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f ENT..IN.NO.EVENT.SHALL.THE.AUTHO
160a00 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c RS.OR.COPYRIGHT.HOLDERS.BE.LIABL
160a20 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 E.FOR.ANY.CLAIM,.DAMAGES.OR.OTHE
160a40 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f R.LIABILITY,.WHETHER.IN.AN.ACTIO
160a60 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 N.OF.CONTRACT,.TORT.OR.OTHERWISE
160a80 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e ,.ARISING.FROM,.OUT.OF.OR.IN.CON
160aa0 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 NECTION.WITH.THE.SOFTWARE.OR.THE
160ac0 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f .USE.OR.OTHER.DEALINGS.IN.THE.SO
160ae0 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 FTWARE..<?php...........namespac
160b00 65 20 53 79 6d 66 6f 6e 79 5c 50 6f 6c 79 66 69 6c 6c 5c 4d 62 73 74 72 69 6e 67 3b 0a 0a 0a 0a e.Symfony\Polyfill\Mbstring;....
160b20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ................................
160b40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 66 69 6e 61 6c 20 63 6c 61 73 73 20 ....................final.class.
160b60 4d 62 73 74 72 69 6e 67 0a 7b 0a 63 6f 6e 73 74 20 4d 42 5f 43 41 53 45 5f 46 4f 4c 44 20 3d 20 Mbstring.{.const.MB_CASE_FOLD.=.
160b80 50 48 50 5f 49 4e 54 5f 4d 41 58 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 65 6e PHP_INT_MAX;..private.static.$en
160ba0 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 28 27 41 53 43 49 49 27 2c 20 27 55 54 46 codingList.=.array('ASCII',.'UTF
160bc0 2d 38 27 29 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 6c 61 6e 67 75 61 67 65 20 3d -8');.private.static.$language.=
160be0 20 27 6e 65 75 74 72 61 6c 27 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 69 6e 74 65 .'neutral';.private.static.$inte
160c00 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 20 3d 20 27 55 54 46 2d 38 27 3b 0a 70 72 69 76 61 74 65 20 rnalEncoding.=.'UTF-8';.private.
160c20 73 74 61 74 69 63 20 24 63 61 73 65 46 6f 6c 64 20 3d 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 static.$caseFold.=.array(.array(
160c40 27 c2 b5 27 2c 20 27 c5 bf 27 2c 20 22 5c 78 43 44 5c 78 38 35 22 2c 20 27 cf 82 27 2c 20 22 5c '..',.'..',."\xCD\x85",.'..',."\
160c60 78 43 46 5c 78 39 30 22 2c 20 22 5c 78 43 46 5c 78 39 31 22 2c 20 22 5c 78 43 46 5c 78 39 35 22 xCF\x90",."\xCF\x91",."\xCF\x95"
160c80 2c 20 22 5c 78 43 46 5c 78 39 36 22 2c 20 22 5c 78 43 46 5c 78 42 30 22 2c 20 22 5c 78 43 46 5c ,."\xCF\x96",."\xCF\xB0",."\xCF\
160ca0 78 42 31 22 2c 20 22 5c 78 43 46 5c 78 42 35 22 2c 20 22 5c 78 45 31 5c 78 42 41 5c 78 39 42 22 xB1",."\xCF\xB5",."\xE1\xBA\x9B"
160cc0 2c 20 22 5c 78 45 31 5c 78 42 45 5c 78 42 45 22 29 2c 0a 61 72 72 61 79 28 27 ce bc 27 2c 20 27 ,."\xE1\xBE\xBE"),.array('..',.'
160ce0 73 27 2c 20 27 ce b9 27 2c 20 27 cf 83 27 2c 20 27 ce b2 27 2c 20 27 ce b8 27 2c 20 27 cf 86 27 s',.'..',.'..',.'..',.'..',.'..'
160d00 2c 20 27 cf 80 27 2c 20 27 ce ba 27 2c 20 27 cf 81 27 2c 20 27 ce b5 27 2c 20 22 5c 78 45 31 5c ,.'..',.'..',.'..',.'..',."\xE1\
160d20 78 42 39 5c 78 41 31 22 2c 20 27 ce b9 27 29 2c 0a 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 xB9\xA1",.'..'),.);..public.stat
160d40 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 ic.function.mb_convert_encoding(
160d60 24 73 2c 20 24 74 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d $s,.$toEncoding,.$fromEncoding.=
160d80 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 5c 69 73 5f 61 72 72 61 79 28 24 66 72 6f 6d 45 6e 63 6f .null).{.if.(\is_array($fromEnco
160da0 64 69 6e 67 29 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 24 66 72 6f 6d 45 ding).||.false.!==.strpos($fromE
160dc0 6e 63 6f 64 69 6e 67 2c 20 27 2c 27 29 29 20 7b 0a 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d ncoding,.',')).{.$fromEncoding.=
160de0 20 73 65 6c 66 3a 3a 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 66 .self::mb_detect_encoding($s,.$f
160e00 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 66 72 6f 6d 45 6e 63 6f romEncoding);.}.else.{.$fromEnco
160e20 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 66 72 6f 6d 45 6e ding.=.self::getEncoding($fromEn
160e40 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 24 74 6f 45 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a coding);.}..$toEncoding.=.self::
160e60 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 74 6f 45 6e 63 6f 64 69 6e 67 29 3b 0a 0a 69 66 20 28 27 getEncoding($toEncoding);..if.('
160e80 42 41 53 45 36 34 27 20 3d 3d 3d 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 73 20 BASE64'.===.$fromEncoding).{.$s.
160ea0 3d 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 28 24 73 29 3b 0a 24 66 72 6f 6d 45 6e 63 6f 64 69 =.base64_decode($s);.$fromEncodi
160ec0 6e 67 20 3d 20 24 74 6f 45 6e 63 6f 64 69 6e 67 3b 0a 7d 0a 0a 69 66 20 28 27 42 41 53 45 36 34 ng.=.$toEncoding;.}..if.('BASE64
160ee0 27 20 3d 3d 3d 20 24 74 6f 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 62 61 73 65 '.===.$toEncoding).{.return.base
160f00 36 34 5f 65 6e 63 6f 64 65 28 24 73 29 3b 0a 7d 0a 0a 69 66 20 28 27 48 54 4d 4c 2d 45 4e 54 49 64_encode($s);.}..if.('HTML-ENTI
160f20 54 49 45 53 27 20 3d 3d 3d 20 24 74 6f 45 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 48 54 4d 4c 27 20 TIES'.===.$toEncoding.||.'HTML'.
160f40 3d 3d 3d 20 24 74 6f 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 69 66 20 28 27 48 54 4d 4c 2d 45 4e 54 ===.$toEncoding).{.if.('HTML-ENT
160f60 49 54 49 45 53 27 20 3d 3d 3d 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 48 54 4d ITIES'.===.$fromEncoding.||.'HTM
160f80 4c 27 20 3d 3d 3d 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 66 72 6f 6d 45 6e 63 L'.===.$fromEncoding).{.$fromEnc
160fa0 6f 64 69 6e 67 20 3d 20 27 57 69 6e 64 6f 77 73 2d 31 32 35 32 27 3b 0a 7d 0a 69 66 20 28 27 55 oding.=.'Windows-1252';.}.if.('U
160fc0 54 46 2d 38 27 20 21 3d 3d 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 73 20 3d 20 TF-8'.!==.$fromEncoding).{.$s.=.
160fe0 69 63 6f 6e 76 28 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e iconv($fromEncoding,.'UTF-8//IGN
161000 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 72 65 70 6c 61 63 ORE',.$s);.}..return.preg_replac
161020 65 5f 63 61 6c 6c 62 61 63 6b 28 27 2f 5b 5c 78 38 30 2d 5c 78 46 46 5d 2b 2f 27 2c 20 61 72 72 e_callback('/[\x80-\xFF]+/',.arr
161040 61 79 28 5f 5f 43 4c 41 53 53 5f 5f 2c 20 27 68 74 6d 6c 5f 65 6e 63 6f 64 69 6e 67 5f 63 61 6c ay(__CLASS__,.'html_encoding_cal
161060 6c 62 61 63 6b 27 29 2c 20 24 73 29 3b 0a 7d 0a 0a 69 66 20 28 27 48 54 4d 4c 2d 45 4e 54 49 54 lback'),.$s);.}..if.('HTML-ENTIT
161080 49 45 53 27 20 3d 3d 3d 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 73 20 3d 20 68 IES'.===.$fromEncoding).{.$s.=.h
1610a0 74 6d 6c 5f 65 6e 74 69 74 79 5f 64 65 63 6f 64 65 28 24 73 2c 20 45 4e 54 5f 43 4f 4d 50 41 54 tml_entity_decode($s,.ENT_COMPAT
1610c0 2c 20 27 55 54 46 2d 38 27 29 3b 0a 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 20 3d 20 27 55 54 46 ,.'UTF-8');.$fromEncoding.=.'UTF
1610e0 2d 38 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 63 6f 6e 76 28 24 66 72 6f 6d 45 6e 63 6f 64 69 -8';.}..return.iconv($fromEncodi
161100 6e 67 2c 20 24 74 6f 45 6e 63 6f 64 69 6e 67 2e 27 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b ng,.$toEncoding.'//IGNORE',.$s);
161120 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 6f .}..public.static.function.mb_co
161140 6e 76 65 72 74 5f 76 61 72 69 61 62 6c 65 73 28 24 74 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 66 72 nvert_variables($toEncoding,.$fr
161160 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 26 24 61 20 3d 20 6e 75 6c 6c 2c 20 26 24 62 20 3d 20 6e 75 omEncoding,.&$a.=.null,.&$b.=.nu
161180 6c 6c 2c 20 26 24 63 20 3d 20 6e 75 6c 6c 2c 20 26 24 64 20 3d 20 6e 75 6c 6c 2c 20 26 24 65 20 ll,.&$c.=.null,.&$d.=.null,.&$e.
1611a0 3d 20 6e 75 6c 6c 2c 20 26 24 66 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 61 72 73 20 3d 20 61 72 =.null,.&$f.=.null).{.$vars.=.ar
1611c0 72 61 79 28 26 24 61 2c 20 26 24 62 2c 20 26 24 63 2c 20 26 24 64 2c 20 26 24 65 2c 20 26 24 66 ray(&$a,.&$b,.&$c,.&$d,.&$e,.&$f
1611e0 29 3b 0a 0a 24 6f 6b 20 3d 20 74 72 75 65 3b 0a 61 72 72 61 79 5f 77 61 6c 6b 5f 72 65 63 75 72 );..$ok.=.true;.array_walk_recur
161200 73 69 76 65 28 24 76 61 72 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 26 24 76 29 20 75 73 65 20 28 sive($vars,.function.(&$v).use.(
161220 26 24 6f 6b 2c 20 24 74 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 &$ok,.$toEncoding,.$fromEncoding
161240 29 20 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 76 20 3d 20 4d 62 73 74 72 69 6e 67 3a ).{.if.(false.===.$v.=.Mbstring:
161260 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 24 76 2c 20 24 74 6f 45 6e 63 6f :mb_convert_encoding($v,.$toEnco
161280 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 29 29 20 7b 0a 24 6f 6b 20 3d 20 66 61 ding,.$fromEncoding)).{.$ok.=.fa
1612a0 6c 73 65 3b 0a 7d 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 6f 6b 20 3f 20 24 66 72 6f 6d 45 6e lse;.}.});..return.$ok.?.$fromEn
1612c0 63 6f 64 69 6e 67 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 coding.:.false;.}..public.static
1612e0 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 24 .function.mb_decode_mimeheader($
161300 73 29 0a 7b 0a 72 65 74 75 72 6e 20 69 63 6f 6e 76 5f 6d 69 6d 65 5f 64 65 63 6f 64 65 28 24 73 s).{.return.iconv_mime_decode($s
161320 2c 20 32 2c 20 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 29 3b 0a 7d ,.2,.self::$internalEncoding);.}
161340 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f ..public.static.function.mb_enco
161360 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 24 73 2c 20 24 63 68 61 72 73 65 74 20 3d 20 6e 75 6c de_mimeheader($s,.$charset.=.nul
161380 6c 2c 20 24 74 72 61 6e 73 66 65 72 45 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 2c 20 24 6c 69 l,.$transferEncoding.=.null,.$li
1613a0 6e 65 66 65 65 64 20 3d 20 6e 75 6c 6c 2c 20 24 69 6e 64 65 6e 74 20 3d 20 6e 75 6c 6c 29 0a 7b nefeed.=.null,.$indent.=.null).{
1613c0 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 6d 62 5f 65 6e 63 6f 64 65 5f 6d 69 6d 65 68 65 .trigger_error('mb_encode_mimehe
1613e0 61 64 65 72 28 29 20 69 73 20 62 75 67 67 65 64 2e 20 50 6c 65 61 73 65 20 75 73 65 20 69 63 6f ader().is.bugged..Please.use.ico
161400 6e 76 5f 6d 69 6d 65 5f 65 6e 63 6f 64 65 28 29 20 69 6e 73 74 65 61 64 27 2c 20 45 5f 55 53 45 nv_mime_encode().instead',.E_USE
161420 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e R_WARNING);.}..public.static.fun
161440 63 74 69 6f 6e 20 6d 62 5f 64 65 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 24 73 ction.mb_decode_numericentity($s
161460 2c 20 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a ,.$convmap,.$encoding.=.null).{.
161480 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 73 20 26 26 20 21 5c 69 73 5f 73 63 61 6c 61 72 28 24 if.(null.!==.$s.&&.!\is_scalar($
1614a0 73 29 20 26 26 20 21 28 5c 69 73 5f 6f 62 6a 65 63 74 28 24 73 29 20 26 26 20 5c 6d 65 74 68 6f s).&&.!(\is_object($s).&&.\metho
1614c0 64 5f 65 78 69 73 74 73 28 24 73 2c 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 29 20 7b 0a 74 d_exists($s,.'__toString'))).{.t
1614e0 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 6d 62 5f 64 65 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 rigger_error('mb_decode_numerice
161500 6e 74 69 74 79 28 29 20 65 78 70 65 63 74 73 20 70 61 72 61 6d 65 74 65 72 20 31 20 74 6f 20 62 ntity().expects.parameter.1.to.b
161520 65 20 73 74 72 69 6e 67 2c 20 27 2e 5c 67 65 74 74 79 70 65 28 24 73 29 2e 27 20 67 69 76 65 6e e.string,.'.\gettype($s).'.given
161540 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c ',.E_USER_WARNING);..return.null
161560 3b 0a 7d 0a 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 76 6d 61 70 29 20 7c 7c ;.}..if.(!\is_array($convmap).||
161580 20 21 24 63 6f 6e 76 6d 61 70 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 .!$convmap).{.return.false;.}..i
1615a0 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 26 26 20 21 5c 69 73 5f 73 63 f.(null.!==.$encoding.&&.!\is_sc
1615c0 61 6c 61 72 28 24 65 6e 63 6f 64 69 6e 67 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 alar($encoding)).{.trigger_error
1615e0 28 27 6d 62 5f 64 65 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 29 20 65 78 70 65 ('mb_decode_numericentity().expe
161600 63 74 73 20 70 61 72 61 6d 65 74 65 72 20 33 20 74 6f 20 62 65 20 73 74 72 69 6e 67 2c 20 27 2e cts.parameter.3.to.be.string,.'.
161620 5c 67 65 74 74 79 70 65 28 24 73 29 2e 27 20 67 69 76 65 6e 27 2c 20 45 5f 55 53 45 52 5f 57 41 \gettype($s).'.given',.E_USER_WA
161640 52 4e 49 4e 47 29 3b 0a 0a 72 65 74 75 72 6e 20 27 27 3b 20 0a 20 7d 0a 0a 24 73 20 3d 20 28 73 RNING);..return.'';...}..$s.=.(s
161660 74 72 69 6e 67 29 20 24 73 3b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 73 29 20 7b 0a 72 65 74 75 tring).$s;.if.(''.===.$s).{.retu
161680 72 6e 20 27 27 3b 0a 7d 0a 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 rn.'';.}..$encoding.=.self::getE
1616a0 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 69 66 20 28 27 55 54 46 2d 38 27 ncoding($encoding);..if.('UTF-8'
1616c0 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 .===.$encoding).{.$encoding.=.nu
1616e0 6c 6c 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 2f 75 27 2c 20 24 73 29 29 20 ll;.if.(!preg_match('//u',.$s)).
161700 7b 0a 24 73 20 3d 20 40 69 63 6f 6e 76 28 27 55 54 46 2d 38 27 2c 20 27 55 54 46 2d 38 2f 2f 49 {.$s.=.@iconv('UTF-8',.'UTF-8//I
161720 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 20 3d 20 69 63 6f GNORE',.$s);.}.}.else.{.$s.=.ico
161740 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 nv($encoding,.'UTF-8//IGNORE',.$
161760 73 29 3b 0a 7d 0a 0a 24 63 6e 74 20 3d 20 66 6c 6f 6f 72 28 5c 63 6f 75 6e 74 28 24 63 6f 6e 76 s);.}..$cnt.=.floor(\count($conv
161780 6d 61 70 29 20 2f 20 34 29 20 2a 20 34 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 map)./.4).*.4;..for.($i.=.0;.$i.
1617a0 3c 20 24 63 6e 74 3b 20 24 69 20 2b 3d 20 34 29 20 7b 0a 0a 20 24 63 6f 6e 76 6d 61 70 5b 24 69 <.$cnt;.$i.+=.4).{...$convmap[$i
1617c0 5d 20 2b 3d 20 24 63 6f 6e 76 6d 61 70 5b 24 69 20 2b 20 32 5d 3b 0a 24 63 6f 6e 76 6d 61 70 5b ].+=.$convmap[$i.+.2];.$convmap[
1617e0 24 69 20 2b 20 31 5d 20 2b 3d 20 24 63 6f 6e 76 6d 61 70 5b 24 69 20 2b 20 32 5d 3b 0a 7d 0a 0a $i.+.1].+=.$convmap[$i.+.2];.}..
161800 24 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 27 2f 26 23 28 $s.=.preg_replace_callback('/&#(
161820 3f 3a 30 2a 28 5b 30 2d 39 5d 2b 29 7c 78 30 2a 28 5b 30 2d 39 61 2d 66 41 2d 46 5d 2b 29 29 28 ?:0*([0-9]+)|x0*([0-9a-fA-F]+))(
161840 3f 21 26 29 3b 3f 2f 27 2c 20 66 75 6e 63 74 69 6f 6e 20 28 61 72 72 61 79 20 24 6d 29 20 75 73 ?!&);?/',.function.(array.$m).us
161860 65 20 28 24 63 6e 74 2c 20 24 63 6f 6e 76 6d 61 70 29 20 7b 0a 24 63 20 3d 20 69 73 73 65 74 28 e.($cnt,.$convmap).{.$c.=.isset(
161880 24 6d 5b 32 5d 29 20 3f 20 28 69 6e 74 29 20 68 65 78 64 65 63 28 24 6d 5b 32 5d 29 20 3a 20 24 $m[2]).?.(int).hexdec($m[2]).:.$
1618a0 6d 5b 31 5d 3b 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 24 63 6e 74 3b 20 24 69 m[1];.for.($i.=.0;.$i.<.$cnt;.$i
1618c0 20 2b 3d 20 34 29 20 7b 0a 69 66 20 28 24 63 20 3e 3d 20 24 63 6f 6e 76 6d 61 70 5b 24 69 5d 20 .+=.4).{.if.($c.>=.$convmap[$i].
1618e0 26 26 20 24 63 20 3c 3d 20 24 63 6f 6e 76 6d 61 70 5b 24 69 20 2b 20 31 5d 29 20 7b 0a 72 65 74 &&.$c.<=.$convmap[$i.+.1]).{.ret
161900 75 72 6e 20 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 68 72 28 24 63 20 2d 20 24 63 6f 6e 76 6d urn.Mbstring::mb_chr($c.-.$convm
161920 61 70 5b 24 69 20 2b 20 32 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6d 5b 30 5d 3b 0a ap[$i.+.2]);.}.}..return.$m[0];.
161940 7d 2c 20 24 73 29 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 },.$s);..if.(null.===.$encoding)
161960 20 7b 0a 72 65 74 75 72 6e 20 24 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 63 6f 6e 76 28 27 55 .{.return.$s;.}..return.iconv('U
161980 54 46 2d 38 27 2c 20 24 65 6e 63 6f 64 69 6e 67 2e 27 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 TF-8',.$encoding.'//IGNORE',.$s)
1619a0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 ;.}..public.static.function.mb_e
1619c0 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 ncode_numericentity($s,.$convmap
1619e0 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 2c 20 24 69 73 5f 68 65 78 20 3d 20 66 61 ,.$encoding.=.null,.$is_hex.=.fa
161a00 6c 73 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 73 20 26 26 20 21 5c 69 73 5f 73 lse).{.if.(null.!==.$s.&&.!\is_s
161a20 63 61 6c 61 72 28 24 73 29 20 26 26 20 21 28 5c 69 73 5f 6f 62 6a 65 63 74 28 24 73 29 20 26 26 calar($s).&&.!(\is_object($s).&&
161a40 20 5c 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 73 2c 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 .\method_exists($s,.'__toString'
161a60 29 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 6d 62 5f 65 6e 63 6f 64 65 5f 6e ))).{.trigger_error('mb_encode_n
161a80 75 6d 65 72 69 63 65 6e 74 69 74 79 28 29 20 65 78 70 65 63 74 73 20 70 61 72 61 6d 65 74 65 72 umericentity().expects.parameter
161aa0 20 31 20 74 6f 20 62 65 20 73 74 72 69 6e 67 2c 20 27 2e 5c 67 65 74 74 79 70 65 28 24 73 29 2e .1.to.be.string,.'.\gettype($s).
161ac0 27 20 67 69 76 65 6e 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 0a 72 65 74 75 '.given',.E_USER_WARNING);..retu
161ae0 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 63 6f 6e 76 rn.null;.}..if.(!\is_array($conv
161b00 6d 61 70 29 20 7c 7c 20 21 24 63 6f 6e 76 6d 61 70 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 map).||.!$convmap).{.return.fals
161b20 65 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 26 26 20 e;.}..if.(null.!==.$encoding.&&.
161b40 21 5c 69 73 5f 73 63 61 6c 61 72 28 24 65 6e 63 6f 64 69 6e 67 29 29 20 7b 0a 74 72 69 67 67 65 !\is_scalar($encoding)).{.trigge
161b60 72 5f 65 72 72 6f 72 28 27 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 r_error('mb_encode_numericentity
161b80 28 29 20 65 78 70 65 63 74 73 20 70 61 72 61 6d 65 74 65 72 20 33 20 74 6f 20 62 65 20 73 74 72 ().expects.parameter.3.to.be.str
161ba0 69 6e 67 2c 20 27 2e 5c 67 65 74 74 79 70 65 28 24 73 29 2e 27 20 67 69 76 65 6e 27 2c 20 45 5f ing,.'.\gettype($s).'.given',.E_
161bc0 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 20 0a 20 7d USER_WARNING);..return.null;...}
161be0 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 69 73 5f 68 65 78 20 26 26 20 21 5c 69 73 5f 73 ..if.(null.!==.$is_hex.&&.!\is_s
161c00 63 61 6c 61 72 28 24 69 73 5f 68 65 78 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 calar($is_hex)).{.trigger_error(
161c20 27 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 29 20 65 78 70 65 63 'mb_encode_numericentity().expec
161c40 74 73 20 70 61 72 61 6d 65 74 65 72 20 34 20 74 6f 20 62 65 20 62 6f 6f 6c 65 61 6e 2c 20 27 2e ts.parameter.4.to.be.boolean,.'.
161c60 5c 67 65 74 74 79 70 65 28 24 73 29 2e 27 20 67 69 76 65 6e 27 2c 20 45 5f 55 53 45 52 5f 57 41 \gettype($s).'.given',.E_USER_WA
161c80 52 4e 49 4e 47 29 3b 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 73 20 3d 20 28 73 RNING);..return.null;.}..$s.=.(s
161ca0 74 72 69 6e 67 29 20 24 73 3b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 73 29 20 7b 0a 72 65 74 75 tring).$s;.if.(''.===.$s).{.retu
161cc0 72 6e 20 27 27 3b 0a 7d 0a 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 rn.'';.}..$encoding.=.self::getE
161ce0 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 69 66 20 28 27 55 54 46 2d 38 27 ncoding($encoding);..if.('UTF-8'
161d00 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 .===.$encoding).{.$encoding.=.nu
161d20 6c 6c 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 2f 75 27 2c 20 24 73 29 29 20 ll;.if.(!preg_match('//u',.$s)).
161d40 7b 0a 24 73 20 3d 20 40 69 63 6f 6e 76 28 27 55 54 46 2d 38 27 2c 20 27 55 54 46 2d 38 2f 2f 49 {.$s.=.@iconv('UTF-8',.'UTF-8//I
161d60 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 20 3d 20 69 63 6f GNORE',.$s);.}.}.else.{.$s.=.ico
161d80 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 nv($encoding,.'UTF-8//IGNORE',.$
161da0 73 29 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 24 75 6c 65 6e 4d 61 73 6b 20 3d 20 61 72 72 61 79 28 s);.}..static.$ulenMask.=.array(
161dc0 22 5c 78 43 30 22 20 3d 3e 20 32 2c 20 22 5c 78 44 30 22 20 3d 3e 20 32 2c 20 22 5c 78 45 30 22 "\xC0".=>.2,."\xD0".=>.2,."\xE0"
161de0 20 3d 3e 20 33 2c 20 22 5c 78 46 30 22 20 3d 3e 20 34 29 3b 0a 0a 24 63 6e 74 20 3d 20 66 6c 6f .=>.3,."\xF0".=>.4);..$cnt.=.flo
161e00 6f 72 28 5c 63 6f 75 6e 74 28 24 63 6f 6e 76 6d 61 70 29 20 2f 20 34 29 20 2a 20 34 3b 0a 24 69 or(\count($convmap)./.4).*.4;.$i
161e20 20 3d 20 30 3b 0a 24 6c 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 73 29 3b 0a 24 72 65 73 75 6c .=.0;.$len.=.\strlen($s);.$resul
161e40 74 20 3d 20 27 27 3b 0a 0a 77 68 69 6c 65 20 28 24 69 20 3c 20 24 6c 65 6e 29 20 7b 0a 24 75 6c t.=.'';..while.($i.<.$len).{.$ul
161e60 65 6e 20 3d 20 24 73 5b 24 69 5d 20 3c 20 22 5c 78 38 30 22 20 3f 20 31 20 3a 20 24 75 6c 65 6e en.=.$s[$i].<."\x80".?.1.:.$ulen
161e80 4d 61 73 6b 5b 24 73 5b 24 69 5d 20 26 20 22 5c 78 46 30 22 5d 3b 0a 24 75 63 68 72 20 3d 20 73 Mask[$s[$i].&."\xF0"];.$uchr.=.s
161ea0 75 62 73 74 72 28 24 73 2c 20 24 69 2c 20 24 75 6c 65 6e 29 3b 0a 24 69 20 2b 3d 20 24 75 6c 65 ubstr($s,.$i,.$ulen);.$i.+=.$ule
161ec0 6e 3b 0a 24 63 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 6f 72 64 28 24 75 63 68 72 29 3b 0a 0a 66 6f n;.$c.=.self::mb_ord($uchr);..fo
161ee0 72 20 28 24 6a 20 3d 20 30 3b 20 24 6a 20 3c 20 24 63 6e 74 3b 20 24 6a 20 2b 3d 20 34 29 20 7b r.($j.=.0;.$j.<.$cnt;.$j.+=.4).{
161f00 0a 69 66 20 28 24 63 20 3e 3d 20 24 63 6f 6e 76 6d 61 70 5b 24 6a 5d 20 26 26 20 24 63 20 3c 3d .if.($c.>=.$convmap[$j].&&.$c.<=
161f20 20 24 63 6f 6e 76 6d 61 70 5b 24 6a 20 2b 20 31 5d 29 20 7b 0a 24 63 4f 66 66 73 65 74 20 3d 20 .$convmap[$j.+.1]).{.$cOffset.=.
161f40 28 24 63 20 2b 20 24 63 6f 6e 76 6d 61 70 5b 24 6a 20 2b 20 32 5d 29 20 26 20 24 63 6f 6e 76 6d ($c.+.$convmap[$j.+.2]).&.$convm
161f60 61 70 5b 24 6a 20 2b 20 33 5d 3b 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 69 73 5f 68 65 78 20 3f ap[$j.+.3];.$result..=.$is_hex.?
161f80 20 73 70 72 69 6e 74 66 28 27 26 23 78 25 58 3b 27 2c 20 24 63 4f 66 66 73 65 74 29 20 3a 20 27 .sprintf('&#x%X;',.$cOffset).:.'
161fa0 26 23 27 2e 24 63 4f 66 66 73 65 74 2e 27 3b 27 3b 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 0a 7d 0a &#'.$cOffset.';';.continue.2;.}.
161fc0 7d 0a 24 72 65 73 75 6c 74 20 2e 3d 20 24 75 63 68 72 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 }.$result..=.$uchr;.}..if.(null.
161fe0 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b ===.$encoding).{.return.$result;
162000 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 63 6f 6e 76 28 27 55 54 46 2d 38 27 2c 20 24 65 6e 63 6f 64 .}..return.iconv('UTF-8',.$encod
162020 69 6e 67 2e 27 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 72 65 73 75 6c 74 29 3b 0a 7d 0a 0a 70 75 62 ing.'//IGNORE',.$result);.}..pub
162040 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 lic.static.function.mb_convert_c
162060 61 73 65 28 24 73 2c 20 24 6d 6f 64 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 ase($s,.$mode,.$encoding.=.null)
162080 0a 7b 0a 24 73 20 3d 20 28 73 74 72 69 6e 67 29 20 24 73 3b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 .{.$s.=.(string).$s;.if.(''.===.
1620a0 24 73 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 $s).{.return.'';.}..$encoding.=.
1620c0 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 69 self::getEncoding($encoding);..i
1620e0 66 20 28 27 55 54 46 2d 38 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 65 6e 63 f.('UTF-8'.===.$encoding).{.$enc
162100 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f oding.=.null;.if.(!preg_match('/
162120 2f 75 27 2c 20 24 73 29 29 20 7b 0a 24 73 20 3d 20 40 69 63 6f 6e 76 28 27 55 54 46 2d 38 27 2c /u',.$s)).{.$s.=.@iconv('UTF-8',
162140 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 .'UTF-8//IGNORE',.$s);.}.}.else.
162160 7b 0a 24 73 20 3d 20 69 63 6f 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c 20 27 55 54 46 2d 38 2f 2f {.$s.=.iconv($encoding,.'UTF-8//
162180 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 69 66 20 28 4d 42 5f 43 41 53 45 5f 54 49 54 IGNORE',.$s);.}..if.(MB_CASE_TIT
1621a0 4c 45 20 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 73 74 61 74 69 63 20 24 74 69 74 6c 65 52 65 67 65 LE.==.$mode).{.static.$titleRege
1621c0 78 70 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 69 74 6c 65 52 65 xp.=.null;.if.(null.===.$titleRe
1621e0 67 65 78 70 29 20 7b 0a 24 74 69 74 6c 65 52 65 67 65 78 70 20 3d 20 73 65 6c 66 3a 3a 67 65 74 gexp).{.$titleRegexp.=.self::get
162200 44 61 74 61 28 27 74 69 74 6c 65 43 61 73 65 52 65 67 65 78 70 27 29 3b 0a 7d 0a 24 73 20 3d 20 Data('titleCaseRegexp');.}.$s.=.
162220 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 63 6b 28 24 74 69 74 6c 65 52 65 67 65 preg_replace_callback($titleRege
162240 78 70 2c 20 61 72 72 61 79 28 5f 5f 43 4c 41 53 53 5f 5f 2c 20 27 74 69 74 6c 65 5f 63 61 73 65 xp,.array(__CLASS__,.'title_case
162260 27 29 2c 20 24 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 4d 42 5f 43 41 53 45 5f 55 50 '),.$s);.}.else.{.if.(MB_CASE_UP
162280 50 45 52 20 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a 73 74 61 74 69 63 20 24 75 70 70 65 72 20 3d 20 PER.==.$mode).{.static.$upper.=.
1622a0 6e 75 6c 6c 3b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 75 70 70 65 72 29 20 7b 0a 24 75 70 null;.if.(null.===.$upper).{.$up
1622c0 70 65 72 20 3d 20 73 65 6c 66 3a 3a 67 65 74 44 61 74 61 28 27 75 70 70 65 72 43 61 73 65 27 29 per.=.self::getData('upperCase')
1622e0 3b 0a 7d 0a 24 6d 61 70 20 3d 20 24 75 70 70 65 72 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 ;.}.$map.=.$upper;.}.else.{.if.(
162300 73 65 6c 66 3a 3a 4d 42 5f 43 41 53 45 5f 46 4f 4c 44 20 3d 3d 3d 20 24 6d 6f 64 65 29 20 7b 0a self::MB_CASE_FOLD.===.$mode).{.
162320 24 73 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 73 65 6c 66 3a 3a 24 63 61 73 65 46 6f 6c 64 $s.=.str_replace(self::$caseFold
162340 5b 30 5d 2c 20 73 65 6c 66 3a 3a 24 63 61 73 65 46 6f 6c 64 5b 31 5d 2c 20 24 73 29 3b 0a 7d 0a [0],.self::$caseFold[1],.$s);.}.
162360 0a 73 74 61 74 69 63 20 24 6c 6f 77 65 72 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 6e 75 6c 6c 20 .static.$lower.=.null;.if.(null.
162380 3d 3d 3d 20 24 6c 6f 77 65 72 29 20 7b 0a 24 6c 6f 77 65 72 20 3d 20 73 65 6c 66 3a 3a 67 65 74 ===.$lower).{.$lower.=.self::get
1623a0 44 61 74 61 28 27 6c 6f 77 65 72 43 61 73 65 27 29 3b 0a 7d 0a 24 6d 61 70 20 3d 20 24 6c 6f 77 Data('lowerCase');.}.$map.=.$low
1623c0 65 72 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 24 75 6c 65 6e 4d 61 73 6b 20 3d 20 61 72 72 61 79 28 er;.}..static.$ulenMask.=.array(
1623e0 22 5c 78 43 30 22 20 3d 3e 20 32 2c 20 22 5c 78 44 30 22 20 3d 3e 20 32 2c 20 22 5c 78 45 30 22 "\xC0".=>.2,."\xD0".=>.2,."\xE0"
162400 20 3d 3e 20 33 2c 20 22 5c 78 46 30 22 20 3d 3e 20 34 29 3b 0a 0a 24 69 20 3d 20 30 3b 0a 24 6c .=>.3,."\xF0".=>.4);..$i.=.0;.$l
162420 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 73 29 3b 0a 0a 77 68 69 6c 65 20 28 24 69 20 3c 20 24 en.=.\strlen($s);..while.($i.<.$
162440 6c 65 6e 29 20 7b 0a 24 75 6c 65 6e 20 3d 20 24 73 5b 24 69 5d 20 3c 20 22 5c 78 38 30 22 20 3f len).{.$ulen.=.$s[$i].<."\x80".?
162460 20 31 20 3a 20 24 75 6c 65 6e 4d 61 73 6b 5b 24 73 5b 24 69 5d 20 26 20 22 5c 78 46 30 22 5d 3b .1.:.$ulenMask[$s[$i].&."\xF0"];
162480 0a 24 75 63 68 72 20 3d 20 73 75 62 73 74 72 28 24 73 2c 20 24 69 2c 20 24 75 6c 65 6e 29 3b 0a .$uchr.=.substr($s,.$i,.$ulen);.
1624a0 24 69 20 2b 3d 20 24 75 6c 65 6e 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 70 5b 24 75 63 $i.+=.$ulen;..if.(isset($map[$uc
1624c0 68 72 5d 29 29 20 7b 0a 24 75 63 68 72 20 3d 20 24 6d 61 70 5b 24 75 63 68 72 5d 3b 0a 24 6e 6c hr])).{.$uchr.=.$map[$uchr];.$nl
1624e0 65 6e 20 3d 20 5c 73 74 72 6c 65 6e 28 24 75 63 68 72 29 3b 0a 0a 69 66 20 28 24 6e 6c 65 6e 20 en.=.\strlen($uchr);..if.($nlen.
162500 3d 3d 20 24 75 6c 65 6e 29 20 7b 0a 24 6e 6c 65 6e 20 3d 20 24 69 3b 0a 64 6f 20 7b 0a 24 73 5b ==.$ulen).{.$nlen.=.$i;.do.{.$s[
162520 2d 2d 24 6e 6c 65 6e 5d 20 3d 20 24 75 63 68 72 5b 2d 2d 24 75 6c 65 6e 5d 3b 0a 7d 20 77 68 69 --$nlen].=.$uchr[--$ulen];.}.whi
162540 6c 65 20 28 24 75 6c 65 6e 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 20 3d 20 73 75 62 73 74 72 le.($ulen);.}.else.{.$s.=.substr
162560 5f 72 65 70 6c 61 63 65 28 24 73 2c 20 24 75 63 68 72 2c 20 24 69 20 2d 20 24 75 6c 65 6e 2c 20 _replace($s,.$uchr,.$i.-.$ulen,.
162580 24 75 6c 65 6e 29 3b 0a 24 6c 65 6e 20 2b 3d 20 24 6e 6c 65 6e 20 2d 20 24 75 6c 65 6e 3b 0a 24 $ulen);.$len.+=.$nlen.-.$ulen;.$
1625a0 69 20 2b 3d 20 24 6e 6c 65 6e 20 2d 20 24 75 6c 65 6e 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 69 66 20 i.+=.$nlen.-.$ulen;.}.}.}.}..if.
1625c0 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 73 (null.===.$encoding).{.return.$s
1625e0 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 63 6f 6e 76 28 27 55 54 46 2d 38 27 2c 20 24 65 6e 63 6f ;.}..return.iconv('UTF-8',.$enco
162600 64 69 6e 67 2e 27 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 ding.'//IGNORE',.$s);.}..public.
162620 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f static.function.mb_internal_enco
162640 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c ding($encoding.=.null).{.if.(nul
162660 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a l.===.$encoding).{.return.self::
162680 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f 64 69 6e 67 3b 0a 7d 0a 0a 24 65 6e 63 6f 64 69 6e 67 20 $internalEncoding;.}..$encoding.
1626a0 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a =.self::getEncoding($encoding);.
1626c0 0a 69 66 20 28 27 55 54 46 2d 38 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c 7c 20 66 61 .if.('UTF-8'.===.$encoding.||.fa
1626e0 6c 73 65 20 21 3d 3d 20 40 69 63 6f 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c 20 24 65 6e 63 6f 64 lse.!==.@iconv($encoding,.$encod
162700 69 6e 67 2c 20 27 20 27 29 29 20 7b 0a 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 6c 45 6e 63 6f ing,.'.')).{.self::$internalEnco
162720 64 69 6e 67 20 3d 20 24 65 6e 63 6f 64 69 6e 67 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a ding.=.$encoding;..return.true;.
162740 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 }..return.false;.}..public.stati
162760 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6c 61 6e 67 75 61 67 65 28 24 6c 61 6e 67 20 3d 20 6e c.function.mb_language($lang.=.n
162780 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 61 6e 67 29 20 7b 0a 72 65 74 ull).{.if.(null.===.$lang).{.ret
1627a0 75 72 6e 20 73 65 6c 66 3a 3a 24 6c 61 6e 67 75 61 67 65 3b 0a 7d 0a 0a 73 77 69 74 63 68 20 28 urn.self::$language;.}..switch.(
1627c0 24 6c 61 6e 67 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6c 61 6e 67 29 29 20 7b 0a 63 61 73 $lang.=.strtolower($lang)).{.cas
1627e0 65 20 27 75 6e 69 27 3a 0a 63 61 73 65 20 27 6e 65 75 74 72 61 6c 27 3a 0a 73 65 6c 66 3a 3a 24 e.'uni':.case.'neutral':.self::$
162800 6c 61 6e 67 75 61 67 65 20 3d 20 24 6c 61 6e 67 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a language.=.$lang;..return.true;.
162820 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 }..return.false;.}..public.stati
162840 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6c 69 73 74 5f 65 6e 63 6f 64 69 6e 67 73 28 29 0a 7b c.function.mb_list_encodings().{
162860 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 55 54 46 2d 38 27 29 3b 0a 7d 0a 0a 70 75 62 6c 69 .return.array('UTF-8');.}..publi
162880 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 69 6e 67 5f 61 6c c.static.function.mb_encoding_al
1628a0 69 61 73 65 73 28 24 65 6e 63 6f 64 69 6e 67 29 0a 7b 0a 73 77 69 74 63 68 20 28 73 74 72 74 6f iases($encoding).{.switch.(strto
1628c0 75 70 70 65 72 28 24 65 6e 63 6f 64 69 6e 67 29 29 20 7b 0a 63 61 73 65 20 27 55 54 46 38 27 3a upper($encoding)).{.case.'UTF8':
1628e0 0a 63 61 73 65 20 27 55 54 46 2d 38 27 3a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 27 75 74 66 .case.'UTF-8':.return.array('utf
162900 38 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 8');.}..return.false;.}..public.
162920 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 68 65 63 6b 5f 65 6e 63 6f 64 69 6e static.function.mb_check_encodin
162940 67 28 24 76 61 72 20 3d 20 6e 75 6c 6c 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 g($var.=.null,.$encoding.=.null)
162960 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 69 66 20 .{.if.(null.===.$encoding).{.if.
162980 28 6e 75 6c 6c 20 3d 3d 3d 20 24 76 61 72 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a (null.===.$var).{.return.false;.
1629a0 7d 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 6c 45 6e 63 }.$encoding.=.self::$internalEnc
1629c0 6f 64 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 64 65 74 65 63 74 oding;.}..return.self::mb_detect
1629e0 5f 65 6e 63 6f 64 69 6e 67 28 24 76 61 72 2c 20 61 72 72 61 79 28 24 65 6e 63 6f 64 69 6e 67 29 _encoding($var,.array($encoding)
162a00 29 20 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 40 69 63 6f 6e 76 28 24 65 6e 63 6f 64 69 6e 67 2c ).||.false.!==.@iconv($encoding,
162a20 20 24 65 6e 63 6f 64 69 6e 67 2c 20 24 76 61 72 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 .$encoding,.$var);.}..public.sta
162a40 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 tic.function.mb_detect_encoding(
162a60 24 73 74 72 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 72 $str,.$encodingList.=.null,.$str
162a80 69 63 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 ict.=.false).{.if.(null.===.$enc
162aa0 6f 64 69 6e 67 4c 69 73 74 29 20 7b 0a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 73 65 6c odingList).{.$encodingList.=.sel
162ac0 66 3a 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 f::$encodingList;.}.else.{.if.(!
162ae0 5c 69 73 5f 61 72 72 61 79 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 29 20 7b 0a 24 65 6e 63 \is_array($encodingList)).{.$enc
162b00 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 74 72 69 6d 27 2c 20 65 78 odingList.=.array_map('trim',.ex
162b20 70 6c 6f 64 65 28 27 2c 27 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 29 3b 0a 7d 0a 24 65 plode(',',.$encodingList));.}.$e
162b40 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 73 74 72 74 6f 75 70 ncodingList.=.array_map('strtoup
162b60 70 65 72 27 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 per',.$encodingList);.}..foreach
162b80 20 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 61 73 20 24 65 6e 63 29 20 7b 0a 73 77 69 74 63 .($encodingList.as.$enc).{.switc
162ba0 68 20 28 24 65 6e 63 29 20 7b 0a 63 61 73 65 20 27 41 53 43 49 49 27 3a 0a 69 66 20 28 21 70 72 h.($enc).{.case.'ASCII':.if.(!pr
162bc0 65 67 5f 6d 61 74 63 68 28 27 2f 5b 5c 78 38 30 2d 5c 78 46 46 5d 2f 27 2c 20 24 73 74 72 29 29 eg_match('/[\x80-\xFF]/',.$str))
162be0 20 7b 0a 72 65 74 75 72 6e 20 24 65 6e 63 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 .{.return.$enc;.}.break;..case.'
162c00 55 54 46 38 27 3a 0a 63 61 73 65 20 27 55 54 46 2d 38 27 3a 0a 69 66 20 28 70 72 65 67 5f 6d 61 UTF8':.case.'UTF-8':.if.(preg_ma
162c20 74 63 68 28 27 2f 2f 75 27 2c 20 24 73 74 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 55 54 46 2d tch('//u',.$str)).{.return.'UTF-
162c40 38 27 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 69 66 20 28 30 20 3d 3d 3d 8';.}.break;..default:.if.(0.===
162c60 20 73 74 72 6e 63 6d 70 28 24 65 6e 63 2c 20 27 49 53 4f 2d 38 38 35 39 2d 27 2c 20 39 29 29 20 .strncmp($enc,.'ISO-8859-',.9)).
162c80 7b 0a 72 65 74 75 72 6e 20 24 65 6e 63 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c {.return.$enc;.}.}.}..return.fal
162ca0 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 se;.}..public.static.function.mb
162cc0 5f 64 65 74 65 63 74 5f 6f 72 64 65 72 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 6e 75 _detect_order($encodingList.=.nu
162ce0 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 ll).{.if.(null.===.$encodingList
162d00 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 3b 0a ).{.return.self::$encodingList;.
162d20 7d 0a 0a 69 66 20 28 21 5c 69 73 5f 61 72 72 61 79 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 }..if.(!\is_array($encodingList)
162d40 29 20 7b 0a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 74 ).{.$encodingList.=.array_map('t
162d60 72 69 6d 27 2c 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 rim',.explode(',',.$encodingList
162d80 29 29 3b 0a 7d 0a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 ));.}.$encodingList.=.array_map(
162da0 27 73 74 72 74 6f 75 70 70 65 72 27 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 29 3b 0a 0a 66 'strtoupper',.$encodingList);..f
162dc0 6f 72 65 61 63 68 20 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 61 73 20 24 65 6e 63 29 20 7b oreach.($encodingList.as.$enc).{
162de0 0a 73 77 69 74 63 68 20 28 24 65 6e 63 29 20 7b 0a 64 65 66 61 75 6c 74 3a 0a 69 66 20 28 73 74 .switch.($enc).{.default:.if.(st
162e00 72 6e 63 6d 70 28 24 65 6e 63 2c 20 27 49 53 4f 2d 38 38 35 39 2d 27 2c 20 39 29 29 20 7b 0a 72 rncmp($enc,.'ISO-8859-',.9)).{.r
162e20 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 20 63 61 73 65 20 27 41 53 43 49 49 27 3a 0a 63 eturn.false;.}...case.'ASCII':.c
162e40 61 73 65 20 27 55 54 46 38 27 3a 0a 63 61 73 65 20 27 55 54 46 2d 38 27 3a 0a 7d 0a 7d 0a 0a 73 ase.'UTF8':.case.'UTF-8':.}.}..s
162e60 65 6c 66 3a 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 24 65 6e 63 6f 64 69 6e 67 4c 69 elf::$encodingList.=.$encodingLi
162e80 73 74 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 st;..return.true;.}..public.stat
162ea0 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 6c 65 6e 28 24 73 2c 20 24 65 6e 63 6f 64 ic.function.mb_strlen($s,.$encod
162ec0 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a ing.=.null).{.$encoding.=.self::
162ee0 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 69 66 20 28 27 43 50 38 getEncoding($encoding);.if.('CP8
162f00 35 30 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 41 53 43 49 49 27 20 3d 3d 3d 50'.===.$encoding.||.'ASCII'.===
162f20 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 5c 73 74 72 6c 65 6e 28 24 73 29 .$encoding).{.return.\strlen($s)
162f40 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 40 69 63 6f 6e 76 5f 73 74 72 6c 65 6e 28 24 73 2c 20 24 65 ;.}..return.@iconv_strlen($s,.$e
162f60 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 ncoding);.}..public.static.funct
162f80 69 6f 6e 20 6d 62 5f 73 74 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 ion.mb_strpos($haystack,.$needle
162fa0 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 ,.$offset.=.0,.$encoding.=.null)
162fc0 0a 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 .{.$encoding.=.self::getEncoding
162fe0 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 69 66 20 28 27 43 50 38 35 30 27 20 3d 3d 3d 20 24 65 6e ($encoding);.if.('CP850'.===.$en
163000 63 6f 64 69 6e 67 20 7c 7c 20 27 41 53 43 49 49 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 coding.||.'ASCII'.===.$encoding)
163020 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 .{.return.strpos($haystack,.$nee
163040 64 6c 65 2c 20 24 6f 66 66 73 65 74 29 3b 0a 7d 0a 0a 24 6e 65 65 64 6c 65 20 3d 20 28 73 74 72 dle,.$offset);.}..$needle.=.(str
163060 69 6e 67 29 20 24 6e 65 65 64 6c 65 3b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 6e 65 65 64 6c 65 ing).$needle;.if.(''.===.$needle
163080 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 3a 20 ).{.trigger_error(__METHOD__.':.
1630a0 45 6d 70 74 79 20 64 65 6c 69 6d 69 74 65 72 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 Empty.delimiter',.E_USER_WARNING
1630c0 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 63 6f 6e );..return.false;.}..return.icon
1630e0 76 5f 73 74 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 v_strpos($haystack,.$needle,.$of
163100 66 73 65 74 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 fset,.$encoding);.}..public.stat
163120 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b ic.function.mb_strrpos($haystack
163140 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 6f 64 69 6e ,.$needle,.$offset.=.0,.$encodin
163160 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 g.=.null).{.$encoding.=.self::ge
163180 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 69 66 20 28 27 43 50 38 35 30 tEncoding($encoding);.if.('CP850
1631a0 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 41 53 43 49 49 27 20 3d 3d 3d 20 24 '.===.$encoding.||.'ASCII'.===.$
1631c0 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 72 70 6f 73 28 24 68 61 79 73 encoding).{.return.strrpos($hays
1631e0 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 29 3b 0a 7d 0a 0a 69 66 20 28 tack,.$needle,.$offset);.}..if.(
163200 24 6f 66 66 73 65 74 20 21 3d 20 28 69 6e 74 29 20 24 6f 66 66 73 65 74 29 20 7b 0a 24 6f 66 66 $offset.!=.(int).$offset).{.$off
163220 73 65 74 20 3d 20 30 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6f 66 66 73 65 74 20 3d 20 28 69 6e set.=.0;.}.elseif.($offset.=.(in
163240 74 29 20 24 6f 66 66 73 65 74 29 20 7b 0a 69 66 20 28 24 6f 66 66 73 65 74 20 3c 20 30 29 20 7b t).$offset).{.if.($offset.<.0).{
163260 0a 24 68 61 79 73 74 61 63 6b 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 68 61 .$haystack.=.self::mb_substr($ha
163280 79 73 74 61 63 6b 2c 20 30 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a ystack,.0,.$offset,.$encoding);.
1632a0 24 6f 66 66 73 65 74 20 3d 20 30 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 68 61 79 73 74 61 63 6b 20 $offset.=.0;.}.else.{.$haystack.
1632c0 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6f 66 =.self::mb_substr($haystack,.$of
1632e0 66 73 65 74 2c 20 32 31 34 37 34 38 33 36 34 37 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a fset,.2147483647,.$encoding);.}.
163300 7d 0a 0a 24 70 6f 73 20 3d 20 69 63 6f 6e 76 5f 73 74 72 72 70 6f 73 28 24 68 61 79 73 74 61 63 }..$pos.=.iconv_strrpos($haystac
163320 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 72 65 74 75 72 6e 20 k,.$needle,.$encoding);..return.
163340 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 3f 20 24 6f 66 66 73 65 74 20 2b 20 24 70 6f 73 20 false.!==.$pos.?.$offset.+.$pos.
163360 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 :.false;.}..public.static.functi
163380 6f 6e 20 6d 62 5f 73 74 72 5f 73 70 6c 69 74 28 24 73 74 72 69 6e 67 2c 20 24 73 70 6c 69 74 5f on.mb_str_split($string,.$split_
1633a0 6c 65 6e 67 74 68 20 3d 20 31 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a length.=.1,.$encoding.=.null).{.
1633c0 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 73 74 72 69 6e 67 20 26 26 20 21 5c 69 73 5f 73 63 61 if.(null.!==.$string.&&.!\is_sca
1633e0 6c 61 72 28 24 73 74 72 69 6e 67 29 20 26 26 20 21 28 5c 69 73 5f 6f 62 6a 65 63 74 28 24 73 74 lar($string).&&.!(\is_object($st
163400 72 69 6e 67 29 20 26 26 20 5c 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 73 74 72 69 6e 67 2c ring).&&.\method_exists($string,
163420 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 .'__toString'))).{.trigger_error
163440 28 27 6d 62 5f 73 74 72 5f 73 70 6c 69 74 28 29 20 65 78 70 65 63 74 73 20 70 61 72 61 6d 65 74 ('mb_str_split().expects.paramet
163460 65 72 20 31 20 74 6f 20 62 65 20 73 74 72 69 6e 67 2c 20 27 2e 5c 67 65 74 74 79 70 65 28 24 73 er.1.to.be.string,.'.\gettype($s
163480 74 72 69 6e 67 29 2e 27 20 67 69 76 65 6e 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 29 tring).'.given',.E_USER_WARNING)
1634a0 3b 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 69 66 20 28 24 73 70 6c 69 74 5f 6c 65 ;..return.null;.}..if.($split_le
1634c0 6e 67 74 68 20 3c 20 31 29 20 7b 0a 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 6c ngth.<.1).{.trigger_error('The.l
1634e0 65 6e 67 74 68 20 6f 66 20 65 61 63 68 20 73 65 67 6d 65 6e 74 20 6d 75 73 74 20 62 65 20 67 72 ength.of.each.segment.must.be.gr
163500 65 61 74 65 72 20 74 68 61 6e 20 7a 65 72 6f 27 2c 20 45 5f 55 53 45 52 5f 57 41 52 4e 49 4e 47 eater.than.zero',.E_USER_WARNING
163520 29 3b 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d );..return.false;.}..if.(null.==
163540 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6d 62 5f 69 6e =.$encoding).{.$encoding.=.mb_in
163560 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 28 29 3b 0a 7d 0a 0a 24 72 65 73 75 6c 74 20 3d 20 ternal_encoding();.}..$result.=.
163580 61 72 72 61 79 28 29 3b 0a 24 6c 65 6e 67 74 68 20 3d 20 6d 62 5f 73 74 72 6c 65 6e 28 24 73 74 array();.$length.=.mb_strlen($st
1635a0 72 69 6e 67 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 ring,.$encoding);..for.($i.=.0;.
1635c0 24 69 20 3c 20 24 6c 65 6e 67 74 68 3b 20 24 69 20 2b 3d 20 24 73 70 6c 69 74 5f 6c 65 6e 67 74 $i.<.$length;.$i.+=.$split_lengt
1635e0 68 29 20 7b 0a 24 72 65 73 75 6c 74 5b 5d 20 3d 20 6d 62 5f 73 75 62 73 74 72 28 24 73 74 72 69 h).{.$result[].=.mb_substr($stri
163600 6e 67 2c 20 24 69 2c 20 24 73 70 6c 69 74 5f 6c 65 6e 67 74 68 2c 20 24 65 6e 63 6f 64 69 6e 67 ng,.$i,.$split_length,.$encoding
163620 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 );.}..return.$result;.}..public.
163640 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 static.function.mb_strtolower($s
163660 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c ,.$encoding.=.null).{.return.sel
163680 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c 20 4d 42 5f 43 41 53 45 5f 4c f::mb_convert_case($s,.MB_CASE_L
1636a0 4f 57 45 52 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 OWER,.$encoding);.}..public.stat
1636c0 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 74 6f 75 70 70 65 72 28 24 73 2c 20 24 65 ic.function.mb_strtoupper($s,.$e
1636e0 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d ncoding.=.null).{.return.self::m
163700 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c 20 4d 42 5f 43 41 53 45 5f 55 50 50 45 52 b_convert_case($s,.MB_CASE_UPPER
163720 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 ,.$encoding);.}..public.static.f
163740 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 75 62 73 74 69 74 75 74 65 5f 63 68 61 72 61 63 74 65 72 28 unction.mb_substitute_character(
163760 24 63 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 63 61 73 65 63 6d $c.=.null).{.if.(0.===.strcasecm
163780 70 28 24 63 2c 20 27 6e 6f 6e 65 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a p($c,.'none')).{.return.true;.}.
1637a0 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 20 21 3d 3d 20 24 63 20 3f 20 66 61 6c 73 65 20 3a 20 27 6e .return.null.!==.$c.?.false.:.'n
1637c0 6f 6e 65 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 one';.}..public.static.function.
1637e0 6d 62 5f 73 75 62 73 74 72 28 24 73 2c 20 24 73 74 61 72 74 2c 20 24 6c 65 6e 67 74 68 20 3d 20 mb_substr($s,.$start,.$length.=.
163800 6e 75 6c 6c 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 6f 64 null,.$encoding.=.null).{.$encod
163820 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e ing.=.self::getEncoding($encodin
163840 67 29 3b 0a 69 66 20 28 27 43 50 38 35 30 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c 7c g);.if.('CP850'.===.$encoding.||
163860 20 27 41 53 43 49 49 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e .'ASCII'.===.$encoding).{.return
163880 20 28 73 74 72 69 6e 67 29 20 73 75 62 73 74 72 28 24 73 2c 20 24 73 74 61 72 74 2c 20 6e 75 6c .(string).substr($s,.$start,.nul
1638a0 6c 20 3d 3d 3d 20 24 6c 65 6e 67 74 68 20 3f 20 32 31 34 37 34 38 33 36 34 37 20 3a 20 24 6c 65 l.===.$length.?.2147483647.:.$le
1638c0 6e 67 74 68 29 3b 0a 7d 0a 0a 69 66 20 28 24 73 74 61 72 74 20 3c 20 30 29 20 7b 0a 24 73 74 61 ngth);.}..if.($start.<.0).{.$sta
1638e0 72 74 20 3d 20 69 63 6f 6e 76 5f 73 74 72 6c 65 6e 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 29 rt.=.iconv_strlen($s,.$encoding)
163900 20 2b 20 24 73 74 61 72 74 3b 0a 69 66 20 28 24 73 74 61 72 74 20 3c 20 30 29 20 7b 0a 24 73 74 .+.$start;.if.($start.<.0).{.$st
163920 61 72 74 20 3d 20 30 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 6c 65 6e 67 art.=.0;.}.}..if.(null.===.$leng
163940 74 68 29 20 7b 0a 24 6c 65 6e 67 74 68 20 3d 20 32 31 34 37 34 38 33 36 34 37 3b 0a 7d 20 65 6c th).{.$length.=.2147483647;.}.el
163960 73 65 69 66 20 28 24 6c 65 6e 67 74 68 20 3c 20 30 29 20 7b 0a 24 6c 65 6e 67 74 68 20 3d 20 69 seif.($length.<.0).{.$length.=.i
163980 63 6f 6e 76 5f 73 74 72 6c 65 6e 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 29 20 2b 20 24 6c 65 conv_strlen($s,.$encoding).+.$le
1639a0 6e 67 74 68 20 2d 20 24 73 74 61 72 74 3b 0a 69 66 20 28 24 6c 65 6e 67 74 68 20 3c 20 30 29 20 ngth.-.$start;.if.($length.<.0).
1639c0 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 73 74 72 69 6e 67 {.return.'';.}.}..return.(string
1639e0 29 20 69 63 6f 6e 76 5f 73 75 62 73 74 72 28 24 73 2c 20 24 73 74 61 72 74 2c 20 24 6c 65 6e 67 ).iconv_substr($s,.$start,.$leng
163a00 74 68 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 th,.$encoding);.}..public.static
163a20 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 69 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 .function.mb_stripos($haystack,.
163a40 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 6f 64 69 6e 67 20 $needle,.$offset.=.0,.$encoding.
163a60 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 68 61 79 73 74 61 63 6b 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 63 =.null).{.$haystack.=.self::mb_c
163a80 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 68 61 79 73 74 61 63 6b 2c 20 73 65 6c 66 3a 3a 4d 42 5f onvert_case($haystack,.self::MB_
163aa0 43 41 53 45 5f 46 4f 4c 44 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 24 6e 65 65 64 6c 65 20 3d CASE_FOLD,.$encoding);.$needle.=
163ac0 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 6e 65 65 64 6c 65 2c 20 .self::mb_convert_case($needle,.
163ae0 73 65 6c 66 3a 3a 4d 42 5f 43 41 53 45 5f 46 4f 4c 44 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a self::MB_CASE_FOLD,.$encoding);.
163b00 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 73 74 72 70 6f 73 28 24 68 61 79 73 74 61 63 .return.self::mb_strpos($haystac
163b20 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b k,.$needle,.$offset,.$encoding);
163b40 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 .}..public.static.function.mb_st
163b60 72 69 73 74 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 ristr($haystack,.$needle,.$part.
163b80 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 6f =.false,.$encoding.=.null).{.$po
163ba0 73 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 74 72 69 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 s.=.self::mb_stripos($haystack,.
163bc0 24 6e 65 65 64 6c 65 2c 20 30 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 72 65 74 75 72 6e 20 $needle,.0,.$encoding);..return.
163be0 73 65 6c 66 3a 3a 67 65 74 53 75 62 70 61 72 74 28 24 70 6f 73 2c 20 24 70 61 72 74 2c 20 24 68 self::getSubpart($pos,.$part,.$h
163c00 61 79 73 74 61 63 6b 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 aystack,.$encoding);.}..public.s
163c20 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 63 68 72 28 24 68 61 79 73 74 tatic.function.mb_strrchr($hayst
163c40 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e ack,.$needle,.$part.=.false,.$en
163c60 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c coding.=.null).{.$encoding.=.sel
163c80 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 69 66 20 28 27 f::getEncoding($encoding);.if.('
163ca0 43 50 38 35 30 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 41 53 43 49 49 27 20 CP850'.===.$encoding.||.'ASCII'.
163cc0 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 72 63 68 72 28 ===.$encoding).{.return.strrchr(
163ce0 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 29 3b 0a 7d 0a 24 6e $haystack,.$needle,.$part);.}.$n
163d00 65 65 64 6c 65 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 6e 65 65 64 6c 65 2c eedle.=.self::mb_substr($needle,
163d20 20 30 2c 20 31 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 24 70 6f 73 20 3d 20 69 63 6f 6e 76 5f .0,.1,.$encoding);.$pos.=.iconv_
163d40 73 74 72 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 strrpos($haystack,.$needle,.$enc
163d60 6f 64 69 6e 67 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 67 65 74 53 75 62 70 61 72 74 oding);..return.self::getSubpart
163d80 28 24 70 6f 73 2c 20 24 70 61 72 74 2c 20 24 68 61 79 73 74 61 63 6b 2c 20 24 65 6e 63 6f 64 69 ($pos,.$part,.$haystack,.$encodi
163da0 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d ng);.}..public.static.function.m
163dc0 62 5f 73 74 72 72 69 63 68 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 b_strrichr($haystack,.$needle,.$
163de0 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a part.=.false,.$encoding.=.null).
163e00 7b 0a 24 6e 65 65 64 6c 65 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 6e 65 65 {.$needle.=.self::mb_substr($nee
163e20 64 6c 65 2c 20 30 2c 20 31 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 24 70 6f 73 20 3d 20 73 65 dle,.0,.1,.$encoding);.$pos.=.se
163e40 6c 66 3a 3a 6d 62 5f 73 74 72 72 69 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 lf::mb_strripos($haystack,.$need
163e60 6c 65 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 67 65 le,.$encoding);..return.self::ge
163e80 74 53 75 62 70 61 72 74 28 24 70 6f 73 2c 20 24 70 61 72 74 2c 20 24 68 61 79 73 74 61 63 6b 2c tSubpart($pos,.$part,.$haystack,
163ea0 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 .$encoding);.}..public.static.fu
163ec0 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 69 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e nction.mb_strripos($haystack,.$n
163ee0 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 eedle,.$offset.=.0,.$encoding.=.
163f00 6e 75 6c 6c 29 0a 7b 0a 24 68 61 79 73 74 61 63 6b 20 3d 20 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e null).{.$haystack.=.self::mb_con
163f20 76 65 72 74 5f 63 61 73 65 28 24 68 61 79 73 74 61 63 6b 2c 20 73 65 6c 66 3a 3a 4d 42 5f 43 41 vert_case($haystack,.self::MB_CA
163f40 53 45 5f 46 4f 4c 44 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 24 6e 65 65 64 6c 65 20 3d 20 73 SE_FOLD,.$encoding);.$needle.=.s
163f60 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 6e 65 65 64 6c 65 2c 20 73 65 elf::mb_convert_case($needle,.se
163f80 6c 66 3a 3a 4d 42 5f 43 41 53 45 5f 46 4f 4c 44 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 72 lf::MB_CASE_FOLD,.$encoding);..r
163fa0 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 73 74 72 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b eturn.self::mb_strrpos($haystack
163fc0 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a ,.$needle,.$offset,.$encoding);.
163fe0 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 }..public.static.function.mb_str
164000 73 74 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 str($haystack,.$needle,.$part.=.
164020 66 61 6c 73 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 70 6f 73 20 false,.$encoding.=.null).{.$pos.
164040 3d 20 73 74 72 70 6f 73 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 29 3b 0a 69 66 =.strpos($haystack,.$needle);.if
164060 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 70 6f 73 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 .(false.===.$pos).{.return.false
164080 3b 0a 7d 0a 69 66 20 28 24 70 61 72 74 29 20 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 ;.}.if.($part).{.return.substr($
1640a0 68 61 79 73 74 61 63 6b 2c 20 30 2c 20 24 70 6f 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 75 haystack,.0,.$pos);.}..return.su
1640c0 62 73 74 72 28 24 68 61 79 73 74 61 63 6b 2c 20 24 70 6f 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 bstr($haystack,.$pos);.}..public
1640e0 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 67 65 74 5f 69 6e 66 6f 28 24 74 79 .static.function.mb_get_info($ty
164100 70 65 20 3d 20 27 61 6c 6c 27 29 0a 7b 0a 24 69 6e 66 6f 20 3d 20 61 72 72 61 79 28 0a 27 69 6e pe.=.'all').{.$info.=.array(.'in
164120 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 27 20 3d 3e 20 73 65 6c 66 3a 3a 24 69 6e 74 65 72 ternal_encoding'.=>.self::$inter
164140 6e 61 6c 45 6e 63 6f 64 69 6e 67 2c 0a 27 68 74 74 70 5f 6f 75 74 70 75 74 27 20 3d 3e 20 27 70 nalEncoding,.'http_output'.=>.'p
164160 61 73 73 27 2c 0a 27 68 74 74 70 5f 6f 75 74 70 75 74 5f 63 6f 6e 76 5f 6d 69 6d 65 74 79 70 65 ass',.'http_output_conv_mimetype
164180 73 27 20 3d 3e 20 27 5e 28 74 65 78 74 2f 7c 61 70 70 6c 69 63 61 74 69 6f 6e 2f 78 68 74 6d 6c s'.=>.'^(text/|application/xhtml
1641a0 5c 2b 78 6d 6c 29 27 2c 0a 27 66 75 6e 63 5f 6f 76 65 72 6c 6f 61 64 27 20 3d 3e 20 30 2c 0a 27 \+xml)',.'func_overload'.=>.0,.'
1641c0 66 75 6e 63 5f 6f 76 65 72 6c 6f 61 64 5f 6c 69 73 74 27 20 3d 3e 20 27 6e 6f 20 6f 76 65 72 6c func_overload_list'.=>.'no.overl
1641e0 6f 61 64 27 2c 0a 27 6d 61 69 6c 5f 63 68 61 72 73 65 74 27 20 3d 3e 20 27 55 54 46 2d 38 27 2c oad',.'mail_charset'.=>.'UTF-8',
164200 0a 27 6d 61 69 6c 5f 68 65 61 64 65 72 5f 65 6e 63 6f 64 69 6e 67 27 20 3d 3e 20 27 42 41 53 45 .'mail_header_encoding'.=>.'BASE
164220 36 34 27 2c 0a 27 6d 61 69 6c 5f 62 6f 64 79 5f 65 6e 63 6f 64 69 6e 67 27 20 3d 3e 20 27 42 41 64',.'mail_body_encoding'.=>.'BA
164240 53 45 36 34 27 2c 0a 27 69 6c 6c 65 67 61 6c 5f 63 68 61 72 73 27 20 3d 3e 20 30 2c 0a 27 65 6e SE64',.'illegal_chars'.=>.0,.'en
164260 63 6f 64 69 6e 67 5f 74 72 61 6e 73 6c 61 74 69 6f 6e 27 20 3d 3e 20 27 4f 66 66 27 2c 0a 27 6c coding_translation'.=>.'Off',.'l
164280 61 6e 67 75 61 67 65 27 20 3d 3e 20 73 65 6c 66 3a 3a 24 6c 61 6e 67 75 61 67 65 2c 0a 27 64 65 anguage'.=>.self::$language,.'de
1642a0 74 65 63 74 5f 6f 72 64 65 72 27 20 3d 3e 20 73 65 6c 66 3a 3a 24 65 6e 63 6f 64 69 6e 67 4c 69 tect_order'.=>.self::$encodingLi
1642c0 73 74 2c 0a 27 73 75 62 73 74 69 74 75 74 65 5f 63 68 61 72 61 63 74 65 72 27 20 3d 3e 20 27 6e st,.'substitute_character'.=>.'n
1642e0 6f 6e 65 27 2c 0a 27 73 74 72 69 63 74 5f 64 65 74 65 63 74 69 6f 6e 27 20 3d 3e 20 27 4f 66 66 one',.'strict_detection'.=>.'Off
164300 27 2c 0a 29 3b 0a 0a 69 66 20 28 27 61 6c 6c 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 65 ',.);..if.('all'.===.$type).{.re
164320 74 75 72 6e 20 24 69 6e 66 6f 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 69 6e 66 6f 5b 24 74 turn.$info;.}.if.(isset($info[$t
164340 79 70 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e 66 6f 5b 24 74 79 70 65 5d 3b 0a 7d 0a ype])).{.return.$info[$type];.}.
164360 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 .return.false;.}..public.static.
164380 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 68 74 74 70 5f 69 6e 70 75 74 28 24 74 79 70 65 20 3d 20 27 function.mb_http_input($type.=.'
1643a0 27 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 ').{.return.false;.}..public.sta
1643c0 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 68 74 74 70 5f 6f 75 74 70 75 74 28 24 65 6e 63 tic.function.mb_http_output($enc
1643e0 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 20 21 3d 3d 20 oding.=.null).{.return.null.!==.
164400 24 65 6e 63 6f 64 69 6e 67 20 3f 20 27 70 61 73 73 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 $encoding.?.'pass'.===.$encoding
164420 20 3a 20 27 70 61 73 73 27 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 .:.'pass';.}..public.static.func
164440 74 69 6f 6e 20 6d 62 5f 73 74 72 77 69 64 74 68 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d tion.mb_strwidth($s,.$encoding.=
164460 20 6e 75 6c 6c 29 0a 7b 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e .null).{.$encoding.=.self::getEn
164480 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 69 66 20 28 27 55 54 46 2d 38 27 20 coding($encoding);..if.('UTF-8'.
1644a0 21 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 24 73 20 3d 20 69 63 6f 6e 76 28 24 65 6e 63 !==.$encoding).{.$s.=.iconv($enc
1644c0 6f 64 69 6e 67 2c 20 27 55 54 46 2d 38 2f 2f 49 47 4e 4f 52 45 27 2c 20 24 73 29 3b 0a 7d 0a 0a oding,.'UTF-8//IGNORE',.$s);.}..
1644e0 24 73 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 5b 5c 78 7b 31 31 30 30 7d 2d 5c 78 $s.=.preg_replace('/[\x{1100}-\x
164500 7b 31 31 35 46 7d 5c 78 7b 32 33 32 39 7d 5c 78 7b 32 33 32 41 7d 5c 78 7b 32 45 38 30 7d 2d 5c {115F}\x{2329}\x{232A}\x{2E80}-\
164520 78 7b 33 30 33 45 7d 5c 78 7b 33 30 34 30 7d 2d 5c 78 7b 41 34 43 46 7d 5c 78 7b 41 43 30 30 7d x{303E}\x{3040}-\x{A4CF}\x{AC00}
164540 2d 5c 78 7b 44 37 41 33 7d 5c 78 7b 46 39 30 30 7d 2d 5c 78 7b 46 41 46 46 7d 5c 78 7b 46 45 31 -\x{D7A3}\x{F900}-\x{FAFF}\x{FE1
164560 30 7d 2d 5c 78 7b 46 45 31 39 7d 5c 78 7b 46 45 33 30 7d 2d 5c 78 7b 46 45 36 46 7d 5c 78 7b 46 0}-\x{FE19}\x{FE30}-\x{FE6F}\x{F
164580 46 30 30 7d 2d 5c 78 7b 46 46 36 30 7d 5c 78 7b 46 46 45 30 7d 2d 5c 78 7b 46 46 45 36 7d 5c 78 F00}-\x{FF60}\x{FFE0}-\x{FFE6}\x
1645a0 7b 32 30 30 30 30 7d 2d 5c 78 7b 32 46 46 46 44 7d 5c 78 7b 33 30 30 30 30 7d 2d 5c 78 7b 33 46 {20000}-\x{2FFFD}\x{30000}-\x{3F
1645c0 46 46 44 7d 5d 2f 75 27 2c 20 27 27 2c 20 24 73 2c 20 2d 31 2c 20 24 77 69 64 65 29 3b 0a 0a 72 FFD}]/u',.'',.$s,.-1,.$wide);..r
1645e0 65 74 75 72 6e 20 28 24 77 69 64 65 20 3c 3c 20 31 29 20 2b 20 69 63 6f 6e 76 5f 73 74 72 6c 65 eturn.($wide.<<.1).+.iconv_strle
164600 6e 28 24 73 2c 20 27 55 54 46 2d 38 27 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 n($s,.'UTF-8');.}..public.static
164620 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 68 61 79 73 74 .function.mb_substr_count($hayst
164640 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a ack,.$needle,.$encoding.=.null).
164660 7b 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 68 61 79 73 74 61 63 6b 2c {.return.substr_count($haystack,
164680 20 24 6e 65 65 64 6c 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 .$needle);.}..public.static.func
1646a0 74 69 6f 6e 20 6d 62 5f 6f 75 74 70 75 74 5f 68 61 6e 64 6c 65 72 28 24 63 6f 6e 74 65 6e 74 73 tion.mb_output_handler($contents
1646c0 2c 20 24 73 74 61 74 75 73 29 0a 7b 0a 72 65 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 73 3b 0a 7d ,.$status).{.return.$contents;.}
1646e0 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 68 72 28 ..public.static.function.mb_chr(
164700 24 63 6f 64 65 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 30 $code,.$encoding.=.null).{.if.(0
164720 78 38 30 20 3e 20 24 63 6f 64 65 20 25 3d 20 30 78 32 30 30 30 30 30 29 20 7b 0a 24 73 20 3d 20 x80.>.$code.%=.0x200000).{.$s.=.
164740 5c 63 68 72 28 24 63 6f 64 65 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 30 78 38 30 30 20 3e 20 24 \chr($code);.}.elseif.(0x800.>.$
164760 63 6f 64 65 29 20 7b 0a 24 73 20 3d 20 5c 63 68 72 28 30 78 43 30 20 7c 20 24 63 6f 64 65 20 3e code).{.$s.=.\chr(0xC0.|.$code.>
164780 3e 20 36 29 2e 5c 63 68 72 28 30 78 38 30 20 7c 20 24 63 6f 64 65 20 26 20 30 78 33 46 29 3b 0a >.6).\chr(0x80.|.$code.&.0x3F);.
1647a0 7d 20 65 6c 73 65 69 66 20 28 30 78 31 30 30 30 30 20 3e 20 24 63 6f 64 65 29 20 7b 0a 24 73 20 }.elseif.(0x10000.>.$code).{.$s.
1647c0 3d 20 5c 63 68 72 28 30 78 45 30 20 7c 20 24 63 6f 64 65 20 3e 3e 20 31 32 29 2e 5c 63 68 72 28 =.\chr(0xE0.|.$code.>>.12).\chr(
1647e0 30 78 38 30 20 7c 20 24 63 6f 64 65 20 3e 3e 20 36 20 26 20 30 78 33 46 29 2e 5c 63 68 72 28 30 0x80.|.$code.>>.6.&.0x3F).\chr(0
164800 78 38 30 20 7c 20 24 63 6f 64 65 20 26 20 30 78 33 46 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 x80.|.$code.&.0x3F);.}.else.{.$s
164820 20 3d 20 5c 63 68 72 28 30 78 46 30 20 7c 20 24 63 6f 64 65 20 3e 3e 20 31 38 29 2e 5c 63 68 72 .=.\chr(0xF0.|.$code.>>.18).\chr
164840 28 30 78 38 30 20 7c 20 24 63 6f 64 65 20 3e 3e 20 31 32 20 26 20 30 78 33 46 29 2e 5c 63 68 72 (0x80.|.$code.>>.12.&.0x3F).\chr
164860 28 30 78 38 30 20 7c 20 24 63 6f 64 65 20 3e 3e 20 36 20 26 20 30 78 33 46 29 2e 5c 63 68 72 28 (0x80.|.$code.>>.6.&.0x3F).\chr(
164880 30 78 38 30 20 7c 20 24 63 6f 64 65 20 26 20 30 78 33 46 29 3b 0a 7d 0a 0a 69 66 20 28 27 55 54 0x80.|.$code.&.0x3F);.}..if.('UT
1648a0 46 2d 38 27 20 21 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e F-8'.!==.$encoding.=.self::getEn
1648c0 63 6f 64 69 6e 67 28 24 65 6e 63 6f 64 69 6e 67 29 29 20 7b 0a 24 73 20 3d 20 6d 62 5f 63 6f 6e coding($encoding)).{.$s.=.mb_con
1648e0 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 65 6e 63 6f 64 69 6e 67 2c 20 27 55 54 vert_encoding($s,.$encoding,.'UT
164900 46 2d 38 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 F-8');.}..return.$s;.}..public.s
164920 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6f 72 64 28 24 73 2c 20 24 65 6e 63 6f 64 tatic.function.mb_ord($s,.$encod
164940 69 6e 67 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 27 55 54 46 2d 38 27 20 21 3d 3d 20 24 65 ing.=.null).{.if.('UTF-8'.!==.$e
164960 6e 63 6f 64 69 6e 67 20 3d 20 73 65 6c 66 3a 3a 67 65 74 45 6e 63 6f 64 69 6e 67 28 24 65 6e 63 ncoding.=.self::getEncoding($enc
164980 6f 64 69 6e 67 29 29 20 7b 0a 24 73 20 3d 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 oding)).{.$s.=.mb_convert_encodi
1649a0 6e 67 28 24 73 2c 20 27 55 54 46 2d 38 27 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d 0a 0a 69 ng($s,.'UTF-8',.$encoding);.}..i
1649c0 66 20 28 31 20 3d 3d 3d 20 5c 73 74 72 6c 65 6e 28 24 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 5c f.(1.===.\strlen($s)).{.return.\
1649e0 6f 72 64 28 24 73 29 3b 0a 7d 0a 0a 24 63 6f 64 65 20 3d 20 28 24 73 20 3d 20 75 6e 70 61 63 6b ord($s);.}..$code.=.($s.=.unpack
164a00 28 27 43 2a 27 2c 20 73 75 62 73 74 72 28 24 73 2c 20 30 2c 20 34 29 29 29 20 3f 20 24 73 5b 31 ('C*',.substr($s,.0,.4))).?.$s[1
164a20 5d 20 3a 20 30 3b 0a 69 66 20 28 30 78 46 30 20 3c 3d 20 24 63 6f 64 65 29 20 7b 0a 72 65 74 75 ].:.0;.if.(0xF0.<=.$code).{.retu
164a40 72 6e 20 28 28 24 63 6f 64 65 20 2d 20 30 78 46 30 29 20 3c 3c 20 31 38 29 20 2b 20 28 28 24 73 rn.(($code.-.0xF0).<<.18).+.(($s
164a60 5b 32 5d 20 2d 20 30 78 38 30 29 20 3c 3c 20 31 32 29 20 2b 20 28 28 24 73 5b 33 5d 20 2d 20 30 [2].-.0x80).<<.12).+.(($s[3].-.0
164a80 78 38 30 29 20 3c 3c 20 36 29 20 2b 20 24 73 5b 34 5d 20 2d 20 30 78 38 30 3b 0a 7d 0a 69 66 20 x80).<<.6).+.$s[4].-.0x80;.}.if.
164aa0 28 30 78 45 30 20 3c 3d 20 24 63 6f 64 65 29 20 7b 0a 72 65 74 75 72 6e 20 28 28 24 63 6f 64 65 (0xE0.<=.$code).{.return.(($code
164ac0 20 2d 20 30 78 45 30 29 20 3c 3c 20 31 32 29 20 2b 20 28 28 24 73 5b 32 5d 20 2d 20 30 78 38 30 .-.0xE0).<<.12).+.(($s[2].-.0x80
164ae0 29 20 3c 3c 20 36 29 20 2b 20 24 73 5b 33 5d 20 2d 20 30 78 38 30 3b 0a 7d 0a 69 66 20 28 30 78 ).<<.6).+.$s[3].-.0x80;.}.if.(0x
164b00 43 30 20 3c 3d 20 24 63 6f 64 65 29 20 7b 0a 72 65 74 75 72 6e 20 28 28 24 63 6f 64 65 20 2d 20 C0.<=.$code).{.return.(($code.-.
164b20 30 78 43 30 29 20 3c 3c 20 36 29 20 2b 20 24 73 5b 32 5d 20 2d 20 30 78 38 30 3b 0a 7d 0a 0a 72 0xC0).<<.6).+.$s[2].-.0x80;.}..r
164b40 65 74 75 72 6e 20 24 63 6f 64 65 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 eturn.$code;.}..private.static.f
164b60 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 62 70 61 72 74 28 24 70 6f 73 2c 20 24 70 61 72 74 2c 20 unction.getSubpart($pos,.$part,.
164b80 24 68 61 79 73 74 61 63 6b 2c 20 24 65 6e 63 6f 64 69 6e 67 29 0a 7b 0a 69 66 20 28 66 61 6c 73 $haystack,.$encoding).{.if.(fals
164ba0 65 20 3d 3d 3d 20 24 70 6f 73 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 e.===.$pos).{.return.false;.}.if
164bc0 20 28 24 70 61 72 74 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 .($part).{.return.self::mb_subst
164be0 72 28 24 68 61 79 73 74 61 63 6b 2c 20 30 2c 20 24 70 6f 73 2c 20 24 65 6e 63 6f 64 69 6e 67 29 r($haystack,.0,.$pos,.$encoding)
164c00 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 68 61 79 ;.}..return.self::mb_substr($hay
164c20 73 74 61 63 6b 2c 20 24 70 6f 73 2c 20 6e 75 6c 6c 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 7d stack,.$pos,.null,.$encoding);.}
164c40 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 74 6d 6c 5f 65 ..private.static.function.html_e
164c60 6e 63 6f 64 69 6e 67 5f 63 61 6c 6c 62 61 63 6b 28 61 72 72 61 79 20 24 6d 29 0a 7b 0a 24 69 20 ncoding_callback(array.$m).{.$i.
164c80 3d 20 31 3b 0a 24 65 6e 74 69 74 69 65 73 20 3d 20 27 27 3b 0a 24 6d 20 3d 20 75 6e 70 61 63 6b =.1;.$entities.=.'';.$m.=.unpack
164ca0 28 27 43 2a 27 2c 20 68 74 6d 6c 65 6e 74 69 74 69 65 73 28 24 6d 5b 30 5d 2c 20 45 4e 54 5f 43 ('C*',.htmlentities($m[0],.ENT_C
164cc0 4f 4d 50 41 54 2c 20 27 55 54 46 2d 38 27 29 29 3b 0a 0a 77 68 69 6c 65 20 28 69 73 73 65 74 28 OMPAT,.'UTF-8'));..while.(isset(
164ce0 24 6d 5b 24 69 5d 29 29 20 7b 0a 69 66 20 28 30 78 38 30 20 3e 20 24 6d 5b 24 69 5d 29 20 7b 0a $m[$i])).{.if.(0x80.>.$m[$i]).{.
164d00 24 65 6e 74 69 74 69 65 73 20 2e 3d 20 5c 63 68 72 28 24 6d 5b 24 69 2b 2b 5d 29 3b 0a 63 6f 6e $entities..=.\chr($m[$i++]);.con
164d20 74 69 6e 75 65 3b 0a 7d 0a 69 66 20 28 30 78 46 30 20 3c 3d 20 24 6d 5b 24 69 5d 29 20 7b 0a 24 tinue;.}.if.(0xF0.<=.$m[$i]).{.$
164d40 63 20 3d 20 28 28 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 46 30 29 20 3c 3c 20 31 38 29 20 2b 20 c.=.(($m[$i++].-.0xF0).<<.18).+.
164d60 28 28 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 38 30 29 20 3c 3c 20 31 32 29 20 2b 20 28 28 24 6d (($m[$i++].-.0x80).<<.12).+.(($m
164d80 5b 24 69 2b 2b 5d 20 2d 20 30 78 38 30 29 20 3c 3c 20 36 29 20 2b 20 24 6d 5b 24 69 2b 2b 5d 20 [$i++].-.0x80).<<.6).+.$m[$i++].
164da0 2d 20 30 78 38 30 3b 0a 7d 20 65 6c 73 65 69 66 20 28 30 78 45 30 20 3c 3d 20 24 6d 5b 24 69 5d -.0x80;.}.elseif.(0xE0.<=.$m[$i]
164dc0 29 20 7b 0a 24 63 20 3d 20 28 28 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 45 30 29 20 3c 3c 20 31 ).{.$c.=.(($m[$i++].-.0xE0).<<.1
164de0 32 29 20 2b 20 28 28 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 38 30 29 20 3c 3c 20 36 29 20 2b 20 2).+.(($m[$i++].-.0x80).<<.6).+.
164e00 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 38 30 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 20 3d 20 28 $m[$i++].-.0x80;.}.else.{.$c.=.(
164e20 28 24 6d 5b 24 69 2b 2b 5d 20 2d 20 30 78 43 30 29 20 3c 3c 20 36 29 20 2b 20 24 6d 5b 24 69 2b ($m[$i++].-.0xC0).<<.6).+.$m[$i+
164e40 2b 5d 20 2d 20 30 78 38 30 3b 0a 7d 0a 0a 24 65 6e 74 69 74 69 65 73 20 2e 3d 20 27 26 23 27 2e +].-.0x80;.}..$entities..=.'&#'.
164e60 24 63 2e 27 3b 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 6e 74 69 74 69 65 73 3b 0a 7d 0a 0a $c.';';.}..return.$entities;.}..
164e80 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 69 74 6c 65 5f 63 61 private.static.function.title_ca
164ea0 73 65 28 61 72 72 61 79 20 24 73 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 6d 62 5f 63 se(array.$s).{.return.self::mb_c
164ec0 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 5b 31 5d 2c 20 4d 42 5f 43 41 53 45 5f 55 50 50 45 52 onvert_case($s[1],.MB_CASE_UPPER
164ee0 2c 20 27 55 54 46 2d 38 27 29 2e 73 65 6c 66 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 ,.'UTF-8').self::mb_convert_case
164f00 28 24 73 5b 32 5d 2c 20 4d 42 5f 43 41 53 45 5f 4c 4f 57 45 52 2c 20 27 55 54 46 2d 38 27 29 3b ($s[2],.MB_CASE_LOWER,.'UTF-8');
164f20 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 .}..private.static.function.getD
164f40 61 74 61 28 24 66 69 6c 65 29 0a 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 ata($file).{.if.(file_exists($fi
164f60 6c 65 20 3d 20 5f 5f 44 49 52 5f 5f 2e 27 2f 52 65 73 6f 75 72 63 65 73 2f 75 6e 69 64 61 74 61 le.=.__DIR__.'/Resources/unidata
164f80 2f 27 2e 24 66 69 6c 65 2e 27 2e 70 68 70 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 72 65 71 75 69 /'.$file.'.php')).{.return.requi
164fa0 72 65 20 24 66 69 6c 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 72 re.$file;.}..return.false;.}..pr
164fc0 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 63 6f 64 69 6e ivate.static.function.getEncodin
164fe0 67 28 24 65 6e 63 6f 64 69 6e 67 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 g($encoding).{.if.(null.===.$enc
165000 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 69 6e 74 65 72 6e 61 6c 45 oding).{.return.self::$internalE
165020 6e 63 6f 64 69 6e 67 3b 0a 7d 0a 0a 24 65 6e 63 6f 64 69 6e 67 20 3d 20 73 74 72 74 6f 75 70 70 ncoding;.}..$encoding.=.strtoupp
165040 65 72 28 24 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 69 66 20 28 27 38 42 49 54 27 20 3d 3d 3d 20 24 er($encoding);..if.('8BIT'.===.$
165060 65 6e 63 6f 64 69 6e 67 20 7c 7c 20 27 42 49 4e 41 52 59 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 encoding.||.'BINARY'.===.$encodi
165080 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 27 43 50 38 35 30 27 3b 0a 7d 0a 69 66 20 28 27 55 54 46 ng).{.return.'CP850';.}.if.('UTF
1650a0 38 27 20 3d 3d 3d 20 24 65 6e 63 6f 64 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 27 55 54 46 2d 8'.===.$encoding).{.return.'UTF-
1650c0 38 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 65 6e 63 6f 64 69 6e 67 3b 0a 7d 0a 7d 0a 3c 3f 70 8';.}..return.$encoding;.}.}.<?p
1650e0 68 70 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 41 27 20 3d 3e 20 27 61 27 2c 0a 27 42 hp..return.array(.'A'.=>.'a',.'B
165100 27 20 3d 3e 20 27 62 27 2c 0a 27 43 27 20 3d 3e 20 27 63 27 2c 0a 27 44 27 20 3d 3e 20 27 64 27 '.=>.'b',.'C'.=>.'c',.'D'.=>.'d'
165120 2c 0a 27 45 27 20 3d 3e 20 27 65 27 2c 0a 27 46 27 20 3d 3e 20 27 66 27 2c 0a 27 47 27 20 3d 3e ,.'E'.=>.'e',.'F'.=>.'f',.'G'.=>
165140 20 27 67 27 2c 0a 27 48 27 20 3d 3e 20 27 68 27 2c 0a 27 49 27 20 3d 3e 20 27 69 27 2c 0a 27 4a .'g',.'H'.=>.'h',.'I'.=>.'i',.'J
165160 27 20 3d 3e 20 27 6a 27 2c 0a 27 4b 27 20 3d 3e 20 27 6b 27 2c 0a 27 4c 27 20 3d 3e 20 27 6c 27 '.=>.'j',.'K'.=>.'k',.'L'.=>.'l'
165180 2c 0a 27 4d 27 20 3d 3e 20 27 6d 27 2c 0a 27 4e 27 20 3d 3e 20 27 6e 27 2c 0a 27 4f 27 20 3d 3e ,.'M'.=>.'m',.'N'.=>.'n',.'O'.=>
1651a0 20 27 6f 27 2c 0a 27 50 27 20 3d 3e 20 27 70 27 2c 0a 27 51 27 20 3d 3e 20 27 71 27 2c 0a 27 52 .'o',.'P'.=>.'p',.'Q'.=>.'q',.'R
1651c0 27 20 3d 3e 20 27 72 27 2c 0a 27 53 27 20 3d 3e 20 27 73 27 2c 0a 27 54 27 20 3d 3e 20 27 74 27 '.=>.'r',.'S'.=>.'s',.'T'.=>.'t'
1651e0 2c 0a 27 55 27 20 3d 3e 20 27 75 27 2c 0a 27 56 27 20 3d 3e 20 27 76 27 2c 0a 27 57 27 20 3d 3e ,.'U'.=>.'u',.'V'.=>.'v',.'W'.=>
165200 20 27 77 27 2c 0a 27 58 27 20 3d 3e 20 27 78 27 2c 0a 27 59 27 20 3d 3e 20 27 79 27 2c 0a 27 5a .'w',.'X'.=>.'x',.'Y'.=>.'y',.'Z
165220 27 20 3d 3e 20 27 7a 27 2c 0a 27 c3 80 27 20 3d 3e 20 27 c3 a0 27 2c 0a 27 c3 81 27 20 3d 3e 20 '.=>.'z',.'..'.=>.'..',.'..'.=>.
165240 27 c3 a1 27 2c 0a 27 c3 82 27 20 3d 3e 20 27 c3 a2 27 2c 0a 27 c3 83 27 20 3d 3e 20 27 c3 a3 27 '..',.'..'.=>.'..',.'..'.=>.'..'
165260 2c 0a 27 c3 84 27 20 3d 3e 20 27 c3 a4 27 2c 0a 27 c3 85 27 20 3d 3e 20 27 c3 a5 27 2c 0a 27 c3 ,.'..'.=>.'..',.'..'.=>.'..',.'.
165280 86 27 20 3d 3e 20 27 c3 a6 27 2c 0a 27 c3 87 27 20 3d 3e 20 27 c3 a7 27 2c 0a 27 c3 88 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
1652a0 3e 20 27 c3 a8 27 2c 0a 27 c3 89 27 20 3d 3e 20 27 c3 a9 27 2c 0a 27 c3 8a 27 20 3d 3e 20 27 c3 >.'..',.'..'.=>.'..',.'..'.=>.'.
1652c0 aa 27 2c 0a 27 c3 8b 27 20 3d 3e 20 27 c3 ab 27 2c 0a 27 c3 8c 27 20 3d 3e 20 27 c3 ac 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
1652e0 27 c3 8d 27 20 3d 3e 20 27 c3 ad 27 2c 0a 27 c3 8e 27 20 3d 3e 20 27 c3 ae 27 2c 0a 27 c3 8f 27 '..'.=>.'..',.'..'.=>.'..',.'..'
165300 20 3d 3e 20 27 c3 af 27 2c 0a 27 c3 90 27 20 3d 3e 20 27 c3 b0 27 2c 0a 27 c3 91 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
165320 27 c3 b1 27 2c 0a 27 c3 92 27 20 3d 3e 20 27 c3 b2 27 2c 0a 27 c3 93 27 20 3d 3e 20 27 c3 b3 27 '..',.'..'.=>.'..',.'..'.=>.'..'
165340 2c 0a 27 c3 94 27 20 3d 3e 20 27 c3 b4 27 2c 0a 27 c3 95 27 20 3d 3e 20 27 c3 b5 27 2c 0a 27 c3 ,.'..'.=>.'..',.'..'.=>.'..',.'.
165360 96 27 20 3d 3e 20 27 c3 b6 27 2c 0a 27 c3 98 27 20 3d 3e 20 27 c3 b8 27 2c 0a 27 c3 99 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
165380 3e 20 27 c3 b9 27 2c 0a 27 c3 9a 27 20 3d 3e 20 27 c3 ba 27 2c 0a 27 c3 9b 27 20 3d 3e 20 27 c3 >.'..',.'..'.=>.'..',.'..'.=>.'.
1653a0 bb 27 2c 0a 27 c3 9c 27 20 3d 3e 20 27 c3 bc 27 2c 0a 27 c3 9d 27 20 3d 3e 20 27 c3 bd 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
1653c0 27 c3 9e 27 20 3d 3e 20 27 c3 be 27 2c 0a 27 c4 80 27 20 3d 3e 20 27 c4 81 27 2c 0a 27 c4 82 27 '..'.=>.'..',.'..'.=>.'..',.'..'
1653e0 20 3d 3e 20 27 c4 83 27 2c 0a 27 c4 84 27 20 3d 3e 20 27 c4 85 27 2c 0a 27 c4 86 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
165400 27 c4 87 27 2c 0a 27 c4 88 27 20 3d 3e 20 27 c4 89 27 2c 0a 27 c4 8a 27 20 3d 3e 20 27 c4 8b 27 '..',.'..'.=>.'..',.'..'.=>.'..'
165420 2c 0a 27 c4 8c 27 20 3d 3e 20 27 c4 8d 27 2c 0a 27 c4 8e 27 20 3d 3e 20 27 c4 8f 27 2c 0a 27 c4 ,.'..'.=>.'..',.'..'.=>.'..',.'.
165440 90 27 20 3d 3e 20 27 c4 91 27 2c 0a 27 c4 92 27 20 3d 3e 20 27 c4 93 27 2c 0a 27 c4 94 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
165460 3e 20 27 c4 95 27 2c 0a 27 c4 96 27 20 3d 3e 20 27 c4 97 27 2c 0a 27 c4 98 27 20 3d 3e 20 27 c4 >.'..',.'..'.=>.'..',.'..'.=>.'.
165480 99 27 2c 0a 27 c4 9a 27 20 3d 3e 20 27 c4 9b 27 2c 0a 27 c4 9c 27 20 3d 3e 20 27 c4 9d 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
1654a0 27 c4 9e 27 20 3d 3e 20 27 c4 9f 27 2c 0a 27 c4 a0 27 20 3d 3e 20 27 c4 a1 27 2c 0a 27 c4 a2 27 '..'.=>.'..',.'..'.=>.'..',.'..'
1654c0 20 3d 3e 20 27 c4 a3 27 2c 0a 27 c4 a4 27 20 3d 3e 20 27 c4 a5 27 2c 0a 27 c4 a6 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
1654e0 27 c4 a7 27 2c 0a 27 c4 a8 27 20 3d 3e 20 27 c4 a9 27 2c 0a 27 c4 aa 27 20 3d 3e 20 27 c4 ab 27 '..',.'..'.=>.'..',.'..'.=>.'..'
165500 2c 0a 27 c4 ac 27 20 3d 3e 20 27 c4 ad 27 2c 0a 27 c4 ae 27 20 3d 3e 20 27 c4 af 27 2c 0a 27 c4 ,.'..'.=>.'..',.'..'.=>.'..',.'.
165520 b0 27 20 3d 3e 20 27 69 27 2c 0a 27 c4 b2 27 20 3d 3e 20 27 c4 b3 27 2c 0a 27 c4 b4 27 20 3d 3e .'.=>.'i',.'..'.=>.'..',.'..'.=>
165540 20 27 c4 b5 27 2c 0a 27 c4 b6 27 20 3d 3e 20 27 c4 b7 27 2c 0a 27 c4 b9 27 20 3d 3e 20 27 c4 ba .'..',.'..'.=>.'..',.'..'.=>.'..
165560 27 2c 0a 27 c4 bb 27 20 3d 3e 20 27 c4 bc 27 2c 0a 27 c4 bd 27 20 3d 3e 20 27 c4 be 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
165580 c4 bf 27 20 3d 3e 20 27 c5 80 27 2c 0a 27 c5 81 27 20 3d 3e 20 27 c5 82 27 2c 0a 27 c5 83 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1655a0 3d 3e 20 27 c5 84 27 2c 0a 27 c5 85 27 20 3d 3e 20 27 c5 86 27 2c 0a 27 c5 87 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1655c0 c5 88 27 2c 0a 27 c5 8a 27 20 3d 3e 20 27 c5 8b 27 2c 0a 27 c5 8c 27 20 3d 3e 20 27 c5 8d 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1655e0 0a 27 c5 8e 27 20 3d 3e 20 27 c5 8f 27 2c 0a 27 c5 90 27 20 3d 3e 20 27 c5 91 27 2c 0a 27 c5 92 .'..'.=>.'..',.'..'.=>.'..',.'..
165600 27 20 3d 3e 20 27 c5 93 27 2c 0a 27 c5 94 27 20 3d 3e 20 27 c5 95 27 2c 0a 27 c5 96 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
165620 20 27 c5 97 27 2c 0a 27 c5 98 27 20 3d 3e 20 27 c5 99 27 2c 0a 27 c5 9a 27 20 3d 3e 20 27 c5 9b .'..',.'..'.=>.'..',.'..'.=>.'..
165640 27 2c 0a 27 c5 9c 27 20 3d 3e 20 27 c5 9d 27 2c 0a 27 c5 9e 27 20 3d 3e 20 27 c5 9f 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
165660 c5 a0 27 20 3d 3e 20 27 c5 a1 27 2c 0a 27 c5 a2 27 20 3d 3e 20 27 c5 a3 27 2c 0a 27 c5 a4 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
165680 3d 3e 20 27 c5 a5 27 2c 0a 27 c5 a6 27 20 3d 3e 20 27 c5 a7 27 2c 0a 27 c5 a8 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1656a0 c5 a9 27 2c 0a 27 c5 aa 27 20 3d 3e 20 27 c5 ab 27 2c 0a 27 c5 ac 27 20 3d 3e 20 27 c5 ad 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1656c0 0a 27 c5 ae 27 20 3d 3e 20 27 c5 af 27 2c 0a 27 c5 b0 27 20 3d 3e 20 27 c5 b1 27 2c 0a 27 c5 b2 .'..'.=>.'..',.'..'.=>.'..',.'..
1656e0 27 20 3d 3e 20 27 c5 b3 27 2c 0a 27 c5 b4 27 20 3d 3e 20 27 c5 b5 27 2c 0a 27 c5 b6 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
165700 20 27 c5 b7 27 2c 0a 27 c5 b8 27 20 3d 3e 20 27 c3 bf 27 2c 0a 27 c5 b9 27 20 3d 3e 20 27 c5 ba .'..',.'..'.=>.'..',.'..'.=>.'..
165720 27 2c 0a 27 c5 bb 27 20 3d 3e 20 27 c5 bc 27 2c 0a 27 c5 bd 27 20 3d 3e 20 27 c5 be 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
165740 c6 81 27 20 3d 3e 20 27 c9 93 27 2c 0a 27 c6 82 27 20 3d 3e 20 27 c6 83 27 2c 0a 27 c6 84 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
165760 3d 3e 20 27 c6 85 27 2c 0a 27 c6 86 27 20 3d 3e 20 27 c9 94 27 2c 0a 27 c6 87 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
165780 c6 88 27 2c 0a 27 c6 89 27 20 3d 3e 20 27 c9 96 27 2c 0a 27 c6 8a 27 20 3d 3e 20 27 c9 97 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1657a0 0a 27 c6 8b 27 20 3d 3e 20 27 c6 8c 27 2c 0a 27 c6 8e 27 20 3d 3e 20 27 c7 9d 27 2c 0a 27 c6 8f .'..'.=>.'..',.'..'.=>.'..',.'..
1657c0 27 20 3d 3e 20 27 c9 99 27 2c 0a 27 c6 90 27 20 3d 3e 20 27 c9 9b 27 2c 0a 27 c6 91 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1657e0 20 27 c6 92 27 2c 0a 27 c6 93 27 20 3d 3e 20 27 c9 a0 27 2c 0a 27 c6 94 27 20 3d 3e 20 27 c9 a3 .'..',.'..'.=>.'..',.'..'.=>.'..
165800 27 2c 0a 27 c6 96 27 20 3d 3e 20 27 c9 a9 27 2c 0a 27 c6 97 27 20 3d 3e 20 27 c9 a8 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
165820 c6 98 27 20 3d 3e 20 27 c6 99 27 2c 0a 27 c6 9c 27 20 3d 3e 20 27 c9 af 27 2c 0a 27 c6 9d 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
165840 3d 3e 20 27 c9 b2 27 2c 0a 27 c6 9f 27 20 3d 3e 20 27 c9 b5 27 2c 0a 27 c6 a0 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
165860 c6 a1 27 2c 0a 27 c6 a2 27 20 3d 3e 20 27 c6 a3 27 2c 0a 27 c6 a4 27 20 3d 3e 20 27 c6 a5 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
165880 0a 27 c6 a6 27 20 3d 3e 20 27 ca 80 27 2c 0a 27 c6 a7 27 20 3d 3e 20 27 c6 a8 27 2c 0a 27 c6 a9 .'..'.=>.'..',.'..'.=>.'..',.'..
1658a0 27 20 3d 3e 20 27 ca 83 27 2c 0a 27 c6 ac 27 20 3d 3e 20 27 c6 ad 27 2c 0a 27 c6 ae 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1658c0 20 27 ca 88 27 2c 0a 27 c6 af 27 20 3d 3e 20 27 c6 b0 27 2c 0a 27 c6 b1 27 20 3d 3e 20 27 ca 8a .'..',.'..'.=>.'..',.'..'.=>.'..
1658e0 27 2c 0a 27 c6 b2 27 20 3d 3e 20 27 ca 8b 27 2c 0a 27 c6 b3 27 20 3d 3e 20 27 c6 b4 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
165900 c6 b5 27 20 3d 3e 20 27 c6 b6 27 2c 0a 27 c6 b7 27 20 3d 3e 20 27 ca 92 27 2c 0a 27 c6 b8 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
165920 3d 3e 20 27 c6 b9 27 2c 0a 27 c6 bc 27 20 3d 3e 20 27 c6 bd 27 2c 0a 27 c7 84 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
165940 c7 86 27 2c 0a 27 c7 85 27 20 3d 3e 20 27 c7 86 27 2c 0a 27 c7 87 27 20 3d 3e 20 27 c7 89 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
165960 0a 27 c7 88 27 20 3d 3e 20 27 c7 89 27 2c 0a 27 c7 8a 27 20 3d 3e 20 27 c7 8c 27 2c 0a 27 c7 8b .'..'.=>.'..',.'..'.=>.'..',.'..
165980 27 20 3d 3e 20 27 c7 8c 27 2c 0a 27 c7 8d 27 20 3d 3e 20 27 c7 8e 27 2c 0a 27 c7 8f 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1659a0 20 27 c7 90 27 2c 0a 27 c7 91 27 20 3d 3e 20 27 c7 92 27 2c 0a 27 c7 93 27 20 3d 3e 20 27 c7 94 .'..',.'..'.=>.'..',.'..'.=>.'..
1659c0 27 2c 0a 27 c7 95 27 20 3d 3e 20 27 c7 96 27 2c 0a 27 c7 97 27 20 3d 3e 20 27 c7 98 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1659e0 c7 99 27 20 3d 3e 20 27 c7 9a 27 2c 0a 27 c7 9b 27 20 3d 3e 20 27 c7 9c 27 2c 0a 27 c7 9e 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
165a00 3d 3e 20 27 c7 9f 27 2c 0a 27 c7 a0 27 20 3d 3e 20 27 c7 a1 27 2c 0a 27 c7 a2 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
165a20 c7 a3 27 2c 0a 27 c7 a4 27 20 3d 3e 20 27 c7 a5 27 2c 0a 27 c7 a6 27 20 3d 3e 20 27 c7 a7 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
165a40 0a 27 c7 a8 27 20 3d 3e 20 27 c7 a9 27 2c 0a 27 c7 aa 27 20 3d 3e 20 27 c7 ab 27 2c 0a 27 c7 ac .'..'.=>.'..',.'..'.=>.'..',.'..
165a60 27 20 3d 3e 20 27 c7 ad 27 2c 0a 27 c7 ae 27 20 3d 3e 20 27 c7 af 27 2c 0a 27 c7 b1 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
165a80 20 27 c7 b3 27 2c 0a 27 c7 b2 27 20 3d 3e 20 27 c7 b3 27 2c 0a 27 c7 b4 27 20 3d 3e 20 27 c7 b5 .'..',.'..'.=>.'..',.'..'.=>.'..
165aa0 27 2c 0a 27 c7 b6 27 20 3d 3e 20 27 c6 95 27 2c 0a 27 c7 b7 27 20 3d 3e 20 27 c6 bf 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
165ac0 c7 b8 27 20 3d 3e 20 27 c7 b9 27 2c 0a 27 c7 ba 27 20 3d 3e 20 27 c7 bb 27 2c 0a 27 c7 bc 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
165ae0 3d 3e 20 27 c7 bd 27 2c 0a 27 c7 be 27 20 3d 3e 20 27 c7 bf 27 2c 0a 27 c8 80 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
165b00 c8 81 27 2c 0a 27 c8 82 27 20 3d 3e 20 27 c8 83 27 2c 0a 27 c8 84 27 20 3d 3e 20 27 c8 85 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
165b20 0a 27 c8 86 27 20 3d 3e 20 27 c8 87 27 2c 0a 27 c8 88 27 20 3d 3e 20 27 c8 89 27 2c 0a 27 c8 8a .'..'.=>.'..',.'..'.=>.'..',.'..
165b40 27 20 3d 3e 20 27 c8 8b 27 2c 0a 27 c8 8c 27 20 3d 3e 20 27 c8 8d 27 2c 0a 27 c8 8e 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
165b60 20 27 c8 8f 27 2c 0a 27 c8 90 27 20 3d 3e 20 27 c8 91 27 2c 0a 27 c8 92 27 20 3d 3e 20 27 c8 93 .'..',.'..'.=>.'..',.'..'.=>.'..
165b80 27 2c 0a 27 c8 94 27 20 3d 3e 20 27 c8 95 27 2c 0a 27 c8 96 27 20 3d 3e 20 27 c8 97 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
165ba0 c8 98 27 20 3d 3e 20 27 c8 99 27 2c 0a 27 c8 9a 27 20 3d 3e 20 27 c8 9b 27 2c 0a 27 c8 9c 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
165bc0 3d 3e 20 27 c8 9d 27 2c 0a 27 c8 9e 27 20 3d 3e 20 27 c8 9f 27 2c 0a 27 c8 a0 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
165be0 c6 9e 27 2c 0a 27 c8 a2 27 20 3d 3e 20 27 c8 a3 27 2c 0a 27 c8 a4 27 20 3d 3e 20 27 c8 a5 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
165c00 0a 27 c8 a6 27 20 3d 3e 20 27 c8 a7 27 2c 0a 27 c8 a8 27 20 3d 3e 20 27 c8 a9 27 2c 0a 27 c8 aa .'..'.=>.'..',.'..'.=>.'..',.'..
165c20 27 20 3d 3e 20 27 c8 ab 27 2c 0a 27 c8 ac 27 20 3d 3e 20 27 c8 ad 27 2c 0a 27 c8 ae 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
165c40 20 27 c8 af 27 2c 0a 27 c8 b0 27 20 3d 3e 20 27 c8 b1 27 2c 0a 27 c8 b2 27 20 3d 3e 20 27 c8 b3 .'..',.'..'.=>.'..',.'..'.=>.'..
165c60 27 2c 0a 27 c8 ba 27 20 3d 3e 20 27 e2 b1 a5 27 2c 0a 27 c8 bb 27 20 3d 3e 20 27 c8 bc 27 2c 0a ',.'..'.=>.'...',.'..'.=>.'..',.
165c80 27 c8 bd 27 20 3d 3e 20 27 c6 9a 27 2c 0a 27 c8 be 27 20 3d 3e 20 27 e2 b1 a6 27 2c 0a 27 c9 81 '..'.=>.'..',.'..'.=>.'...',.'..
165ca0 27 20 3d 3e 20 27 c9 82 27 2c 0a 27 c9 83 27 20 3d 3e 20 27 c6 80 27 2c 0a 27 c9 84 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
165cc0 20 27 ca 89 27 2c 0a 27 c9 85 27 20 3d 3e 20 27 ca 8c 27 2c 0a 27 c9 86 27 20 3d 3e 20 27 c9 87 .'..',.'..'.=>.'..',.'..'.=>.'..
165ce0 27 2c 0a 27 c9 88 27 20 3d 3e 20 27 c9 89 27 2c 0a 27 c9 8a 27 20 3d 3e 20 27 c9 8b 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
165d00 c9 8c 27 20 3d 3e 20 27 c9 8d 27 2c 0a 27 c9 8e 27 20 3d 3e 20 27 c9 8f 27 2c 0a 27 cd b0 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
165d20 3d 3e 20 27 cd b1 27 2c 0a 27 cd b2 27 20 3d 3e 20 27 cd b3 27 2c 0a 27 cd b6 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
165d40 cd b7 27 2c 0a 27 cd bf 27 20 3d 3e 20 27 cf b3 27 2c 0a 27 ce 86 27 20 3d 3e 20 27 ce ac 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
165d60 0a 27 ce 88 27 20 3d 3e 20 27 ce ad 27 2c 0a 27 ce 89 27 20 3d 3e 20 27 ce ae 27 2c 0a 27 ce 8a .'..'.=>.'..',.'..'.=>.'..',.'..
165d80 27 20 3d 3e 20 27 ce af 27 2c 0a 27 ce 8c 27 20 3d 3e 20 27 cf 8c 27 2c 0a 27 ce 8e 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
165da0 20 27 cf 8d 27 2c 0a 27 ce 8f 27 20 3d 3e 20 27 cf 8e 27 2c 0a 27 ce 91 27 20 3d 3e 20 27 ce b1 .'..',.'..'.=>.'..',.'..'.=>.'..
165dc0 27 2c 0a 27 ce 92 27 20 3d 3e 20 27 ce b2 27 2c 0a 27 ce 93 27 20 3d 3e 20 27 ce b3 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
165de0 ce 94 27 20 3d 3e 20 27 ce b4 27 2c 0a 27 ce 95 27 20 3d 3e 20 27 ce b5 27 2c 0a 27 ce 96 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
165e00 3d 3e 20 27 ce b6 27 2c 0a 27 ce 97 27 20 3d 3e 20 27 ce b7 27 2c 0a 27 ce 98 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
165e20 ce b8 27 2c 0a 27 ce 99 27 20 3d 3e 20 27 ce b9 27 2c 0a 27 ce 9a 27 20 3d 3e 20 27 ce ba 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
165e40 0a 27 ce 9b 27 20 3d 3e 20 27 ce bb 27 2c 0a 27 ce 9c 27 20 3d 3e 20 27 ce bc 27 2c 0a 27 ce 9d .'..'.=>.'..',.'..'.=>.'..',.'..
165e60 27 20 3d 3e 20 27 ce bd 27 2c 0a 27 ce 9e 27 20 3d 3e 20 27 ce be 27 2c 0a 27 ce 9f 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
165e80 20 27 ce bf 27 2c 0a 27 ce a0 27 20 3d 3e 20 27 cf 80 27 2c 0a 27 ce a1 27 20 3d 3e 20 27 cf 81 .'..',.'..'.=>.'..',.'..'.=>.'..
165ea0 27 2c 0a 27 ce a3 27 20 3d 3e 20 27 cf 83 27 2c 0a 27 ce a4 27 20 3d 3e 20 27 cf 84 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
165ec0 ce a5 27 20 3d 3e 20 27 cf 85 27 2c 0a 27 ce a6 27 20 3d 3e 20 27 cf 86 27 2c 0a 27 ce a7 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
165ee0 3d 3e 20 27 cf 87 27 2c 0a 27 ce a8 27 20 3d 3e 20 27 cf 88 27 2c 0a 27 ce a9 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
165f00 cf 89 27 2c 0a 27 ce aa 27 20 3d 3e 20 27 cf 8a 27 2c 0a 27 ce ab 27 20 3d 3e 20 27 cf 8b 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
165f20 0a 27 cf 8f 27 20 3d 3e 20 27 cf 97 27 2c 0a 27 cf 98 27 20 3d 3e 20 27 cf 99 27 2c 0a 27 cf 9a .'..'.=>.'..',.'..'.=>.'..',.'..
165f40 27 20 3d 3e 20 27 cf 9b 27 2c 0a 27 cf 9c 27 20 3d 3e 20 27 cf 9d 27 2c 0a 27 cf 9e 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
165f60 20 27 cf 9f 27 2c 0a 27 cf a0 27 20 3d 3e 20 27 cf a1 27 2c 0a 27 cf a2 27 20 3d 3e 20 27 cf a3 .'..',.'..'.=>.'..',.'..'.=>.'..
165f80 27 2c 0a 27 cf a4 27 20 3d 3e 20 27 cf a5 27 2c 0a 27 cf a6 27 20 3d 3e 20 27 cf a7 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
165fa0 cf a8 27 20 3d 3e 20 27 cf a9 27 2c 0a 27 cf aa 27 20 3d 3e 20 27 cf ab 27 2c 0a 27 cf ac 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
165fc0 3d 3e 20 27 cf ad 27 2c 0a 27 cf ae 27 20 3d 3e 20 27 cf af 27 2c 0a 27 cf b4 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
165fe0 ce b8 27 2c 0a 27 cf b7 27 20 3d 3e 20 27 cf b8 27 2c 0a 27 cf b9 27 20 3d 3e 20 27 cf b2 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
166000 0a 27 cf ba 27 20 3d 3e 20 27 cf bb 27 2c 0a 27 cf bd 27 20 3d 3e 20 27 cd bb 27 2c 0a 27 cf be .'..'.=>.'..',.'..'.=>.'..',.'..
166020 27 20 3d 3e 20 27 cd bc 27 2c 0a 27 cf bf 27 20 3d 3e 20 27 cd bd 27 2c 0a 27 d0 80 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
166040 20 27 d1 90 27 2c 0a 27 d0 81 27 20 3d 3e 20 27 d1 91 27 2c 0a 27 d0 82 27 20 3d 3e 20 27 d1 92 .'..',.'..'.=>.'..',.'..'.=>.'..
166060 27 2c 0a 27 d0 83 27 20 3d 3e 20 27 d1 93 27 2c 0a 27 d0 84 27 20 3d 3e 20 27 d1 94 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
166080 d0 85 27 20 3d 3e 20 27 d1 95 27 2c 0a 27 d0 86 27 20 3d 3e 20 27 d1 96 27 2c 0a 27 d0 87 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1660a0 3d 3e 20 27 d1 97 27 2c 0a 27 d0 88 27 20 3d 3e 20 27 d1 98 27 2c 0a 27 d0 89 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1660c0 d1 99 27 2c 0a 27 d0 8a 27 20 3d 3e 20 27 d1 9a 27 2c 0a 27 d0 8b 27 20 3d 3e 20 27 d1 9b 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1660e0 0a 27 d0 8c 27 20 3d 3e 20 27 d1 9c 27 2c 0a 27 d0 8d 27 20 3d 3e 20 27 d1 9d 27 2c 0a 27 d0 8e .'..'.=>.'..',.'..'.=>.'..',.'..
166100 27 20 3d 3e 20 27 d1 9e 27 2c 0a 27 d0 8f 27 20 3d 3e 20 27 d1 9f 27 2c 0a 27 d0 90 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
166120 20 27 d0 b0 27 2c 0a 27 d0 91 27 20 3d 3e 20 27 d0 b1 27 2c 0a 27 d0 92 27 20 3d 3e 20 27 d0 b2 .'..',.'..'.=>.'..',.'..'.=>.'..
166140 27 2c 0a 27 d0 93 27 20 3d 3e 20 27 d0 b3 27 2c 0a 27 d0 94 27 20 3d 3e 20 27 d0 b4 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
166160 d0 95 27 20 3d 3e 20 27 d0 b5 27 2c 0a 27 d0 96 27 20 3d 3e 20 27 d0 b6 27 2c 0a 27 d0 97 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
166180 3d 3e 20 27 d0 b7 27 2c 0a 27 d0 98 27 20 3d 3e 20 27 d0 b8 27 2c 0a 27 d0 99 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1661a0 d0 b9 27 2c 0a 27 d0 9a 27 20 3d 3e 20 27 d0 ba 27 2c 0a 27 d0 9b 27 20 3d 3e 20 27 d0 bb 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1661c0 0a 27 d0 9c 27 20 3d 3e 20 27 d0 bc 27 2c 0a 27 d0 9d 27 20 3d 3e 20 27 d0 bd 27 2c 0a 27 d0 9e .'..'.=>.'..',.'..'.=>.'..',.'..
1661e0 27 20 3d 3e 20 27 d0 be 27 2c 0a 27 d0 9f 27 20 3d 3e 20 27 d0 bf 27 2c 0a 27 d0 a0 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
166200 20 27 d1 80 27 2c 0a 27 d0 a1 27 20 3d 3e 20 27 d1 81 27 2c 0a 27 d0 a2 27 20 3d 3e 20 27 d1 82 .'..',.'..'.=>.'..',.'..'.=>.'..
166220 27 2c 0a 27 d0 a3 27 20 3d 3e 20 27 d1 83 27 2c 0a 27 d0 a4 27 20 3d 3e 20 27 d1 84 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
166240 d0 a5 27 20 3d 3e 20 27 d1 85 27 2c 0a 27 d0 a6 27 20 3d 3e 20 27 d1 86 27 2c 0a 27 d0 a7 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
166260 3d 3e 20 27 d1 87 27 2c 0a 27 d0 a8 27 20 3d 3e 20 27 d1 88 27 2c 0a 27 d0 a9 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
166280 d1 89 27 2c 0a 27 d0 aa 27 20 3d 3e 20 27 d1 8a 27 2c 0a 27 d0 ab 27 20 3d 3e 20 27 d1 8b 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1662a0 0a 27 d0 ac 27 20 3d 3e 20 27 d1 8c 27 2c 0a 27 d0 ad 27 20 3d 3e 20 27 d1 8d 27 2c 0a 27 d0 ae .'..'.=>.'..',.'..'.=>.'..',.'..
1662c0 27 20 3d 3e 20 27 d1 8e 27 2c 0a 27 d0 af 27 20 3d 3e 20 27 d1 8f 27 2c 0a 27 d1 a0 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1662e0 20 27 d1 a1 27 2c 0a 27 d1 a2 27 20 3d 3e 20 27 d1 a3 27 2c 0a 27 d1 a4 27 20 3d 3e 20 27 d1 a5 .'..',.'..'.=>.'..',.'..'.=>.'..
166300 27 2c 0a 27 d1 a6 27 20 3d 3e 20 27 d1 a7 27 2c 0a 27 d1 a8 27 20 3d 3e 20 27 d1 a9 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
166320 d1 aa 27 20 3d 3e 20 27 d1 ab 27 2c 0a 27 d1 ac 27 20 3d 3e 20 27 d1 ad 27 2c 0a 27 d1 ae 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
166340 3d 3e 20 27 d1 af 27 2c 0a 27 d1 b0 27 20 3d 3e 20 27 d1 b1 27 2c 0a 27 d1 b2 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
166360 d1 b3 27 2c 0a 27 d1 b4 27 20 3d 3e 20 27 d1 b5 27 2c 0a 27 d1 b6 27 20 3d 3e 20 27 d1 b7 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
166380 0a 27 d1 b8 27 20 3d 3e 20 27 d1 b9 27 2c 0a 27 d1 ba 27 20 3d 3e 20 27 d1 bb 27 2c 0a 27 d1 bc .'..'.=>.'..',.'..'.=>.'..',.'..
1663a0 27 20 3d 3e 20 27 d1 bd 27 2c 0a 27 d1 be 27 20 3d 3e 20 27 d1 bf 27 2c 0a 27 d2 80 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1663c0 20 27 d2 81 27 2c 0a 27 d2 8a 27 20 3d 3e 20 27 d2 8b 27 2c 0a 27 d2 8c 27 20 3d 3e 20 27 d2 8d .'..',.'..'.=>.'..',.'..'.=>.'..
1663e0 27 2c 0a 27 d2 8e 27 20 3d 3e 20 27 d2 8f 27 2c 0a 27 d2 90 27 20 3d 3e 20 27 d2 91 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
166400 d2 92 27 20 3d 3e 20 27 d2 93 27 2c 0a 27 d2 94 27 20 3d 3e 20 27 d2 95 27 2c 0a 27 d2 96 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
166420 3d 3e 20 27 d2 97 27 2c 0a 27 d2 98 27 20 3d 3e 20 27 d2 99 27 2c 0a 27 d2 9a 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
166440 d2 9b 27 2c 0a 27 d2 9c 27 20 3d 3e 20 27 d2 9d 27 2c 0a 27 d2 9e 27 20 3d 3e 20 27 d2 9f 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
166460 0a 27 d2 a0 27 20 3d 3e 20 27 d2 a1 27 2c 0a 27 d2 a2 27 20 3d 3e 20 27 d2 a3 27 2c 0a 27 d2 a4 .'..'.=>.'..',.'..'.=>.'..',.'..
166480 27 20 3d 3e 20 27 d2 a5 27 2c 0a 27 d2 a6 27 20 3d 3e 20 27 d2 a7 27 2c 0a 27 d2 a8 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1664a0 20 27 d2 a9 27 2c 0a 27 d2 aa 27 20 3d 3e 20 27 d2 ab 27 2c 0a 27 d2 ac 27 20 3d 3e 20 27 d2 ad .'..',.'..'.=>.'..',.'..'.=>.'..
1664c0 27 2c 0a 27 d2 ae 27 20 3d 3e 20 27 d2 af 27 2c 0a 27 d2 b0 27 20 3d 3e 20 27 d2 b1 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1664e0 d2 b2 27 20 3d 3e 20 27 d2 b3 27 2c 0a 27 d2 b4 27 20 3d 3e 20 27 d2 b5 27 2c 0a 27 d2 b6 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
166500 3d 3e 20 27 d2 b7 27 2c 0a 27 d2 b8 27 20 3d 3e 20 27 d2 b9 27 2c 0a 27 d2 ba 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
166520 d2 bb 27 2c 0a 27 d2 bc 27 20 3d 3e 20 27 d2 bd 27 2c 0a 27 d2 be 27 20 3d 3e 20 27 d2 bf 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
166540 0a 27 d3 80 27 20 3d 3e 20 27 d3 8f 27 2c 0a 27 d3 81 27 20 3d 3e 20 27 d3 82 27 2c 0a 27 d3 83 .'..'.=>.'..',.'..'.=>.'..',.'..
166560 27 20 3d 3e 20 27 d3 84 27 2c 0a 27 d3 85 27 20 3d 3e 20 27 d3 86 27 2c 0a 27 d3 87 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
166580 20 27 d3 88 27 2c 0a 27 d3 89 27 20 3d 3e 20 27 d3 8a 27 2c 0a 27 d3 8b 27 20 3d 3e 20 27 d3 8c .'..',.'..'.=>.'..',.'..'.=>.'..
1665a0 27 2c 0a 27 d3 8d 27 20 3d 3e 20 27 d3 8e 27 2c 0a 27 d3 90 27 20 3d 3e 20 27 d3 91 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1665c0 d3 92 27 20 3d 3e 20 27 d3 93 27 2c 0a 27 d3 94 27 20 3d 3e 20 27 d3 95 27 2c 0a 27 d3 96 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1665e0 3d 3e 20 27 d3 97 27 2c 0a 27 d3 98 27 20 3d 3e 20 27 d3 99 27 2c 0a 27 d3 9a 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
166600 d3 9b 27 2c 0a 27 d3 9c 27 20 3d 3e 20 27 d3 9d 27 2c 0a 27 d3 9e 27 20 3d 3e 20 27 d3 9f 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
166620 0a 27 d3 a0 27 20 3d 3e 20 27 d3 a1 27 2c 0a 27 d3 a2 27 20 3d 3e 20 27 d3 a3 27 2c 0a 27 d3 a4 .'..'.=>.'..',.'..'.=>.'..',.'..
166640 27 20 3d 3e 20 27 d3 a5 27 2c 0a 27 d3 a6 27 20 3d 3e 20 27 d3 a7 27 2c 0a 27 d3 a8 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
166660 20 27 d3 a9 27 2c 0a 27 d3 aa 27 20 3d 3e 20 27 d3 ab 27 2c 0a 27 d3 ac 27 20 3d 3e 20 27 d3 ad .'..',.'..'.=>.'..',.'..'.=>.'..
166680 27 2c 0a 27 d3 ae 27 20 3d 3e 20 27 d3 af 27 2c 0a 27 d3 b0 27 20 3d 3e 20 27 d3 b1 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
1666a0 d3 b2 27 20 3d 3e 20 27 d3 b3 27 2c 0a 27 d3 b4 27 20 3d 3e 20 27 d3 b5 27 2c 0a 27 d3 b6 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1666c0 3d 3e 20 27 d3 b7 27 2c 0a 27 d3 b8 27 20 3d 3e 20 27 d3 b9 27 2c 0a 27 d3 ba 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1666e0 d3 bb 27 2c 0a 27 d3 bc 27 20 3d 3e 20 27 d3 bd 27 2c 0a 27 d3 be 27 20 3d 3e 20 27 d3 bf 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
166700 0a 27 d4 80 27 20 3d 3e 20 27 d4 81 27 2c 0a 27 d4 82 27 20 3d 3e 20 27 d4 83 27 2c 0a 27 d4 84 .'..'.=>.'..',.'..'.=>.'..',.'..
166720 27 20 3d 3e 20 27 d4 85 27 2c 0a 27 d4 86 27 20 3d 3e 20 27 d4 87 27 2c 0a 27 d4 88 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
166740 20 27 d4 89 27 2c 0a 27 d4 8a 27 20 3d 3e 20 27 d4 8b 27 2c 0a 27 d4 8c 27 20 3d 3e 20 27 d4 8d .'..',.'..'.=>.'..',.'..'.=>.'..
166760 27 2c 0a 27 d4 8e 27 20 3d 3e 20 27 d4 8f 27 2c 0a 27 d4 90 27 20 3d 3e 20 27 d4 91 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
166780 d4 92 27 20 3d 3e 20 27 d4 93 27 2c 0a 27 d4 94 27 20 3d 3e 20 27 d4 95 27 2c 0a 27 d4 96 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
1667a0 3d 3e 20 27 d4 97 27 2c 0a 27 d4 98 27 20 3d 3e 20 27 d4 99 27 2c 0a 27 d4 9a 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1667c0 d4 9b 27 2c 0a 27 d4 9c 27 20 3d 3e 20 27 d4 9d 27 2c 0a 27 d4 9e 27 20 3d 3e 20 27 d4 9f 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1667e0 0a 27 d4 a0 27 20 3d 3e 20 27 d4 a1 27 2c 0a 27 d4 a2 27 20 3d 3e 20 27 d4 a3 27 2c 0a 27 d4 a4 .'..'.=>.'..',.'..'.=>.'..',.'..
166800 27 20 3d 3e 20 27 d4 a5 27 2c 0a 27 d4 a6 27 20 3d 3e 20 27 d4 a7 27 2c 0a 27 d4 a8 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
166820 20 27 d4 a9 27 2c 0a 27 d4 aa 27 20 3d 3e 20 27 d4 ab 27 2c 0a 27 d4 ac 27 20 3d 3e 20 27 d4 ad .'..',.'..'.=>.'..',.'..'.=>.'..
166840 27 2c 0a 27 d4 ae 27 20 3d 3e 20 27 d4 af 27 2c 0a 27 d4 b1 27 20 3d 3e 20 27 d5 a1 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
166860 d4 b2 27 20 3d 3e 20 27 d5 a2 27 2c 0a 27 d4 b3 27 20 3d 3e 20 27 d5 a3 27 2c 0a 27 d4 b4 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
166880 3d 3e 20 27 d5 a4 27 2c 0a 27 d4 b5 27 20 3d 3e 20 27 d5 a5 27 2c 0a 27 d4 b6 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
1668a0 d5 a6 27 2c 0a 27 d4 b7 27 20 3d 3e 20 27 d5 a7 27 2c 0a 27 d4 b8 27 20 3d 3e 20 27 d5 a8 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1668c0 0a 27 d4 b9 27 20 3d 3e 20 27 d5 a9 27 2c 0a 27 d4 ba 27 20 3d 3e 20 27 d5 aa 27 2c 0a 27 d4 bb .'..'.=>.'..',.'..'.=>.'..',.'..
1668e0 27 20 3d 3e 20 27 d5 ab 27 2c 0a 27 d4 bc 27 20 3d 3e 20 27 d5 ac 27 2c 0a 27 d4 bd 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
166900 20 27 d5 ad 27 2c 0a 27 d4 be 27 20 3d 3e 20 27 d5 ae 27 2c 0a 27 d4 bf 27 20 3d 3e 20 27 d5 af .'..',.'..'.=>.'..',.'..'.=>.'..
166920 27 2c 0a 27 d5 80 27 20 3d 3e 20 27 d5 b0 27 2c 0a 27 d5 81 27 20 3d 3e 20 27 d5 b1 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
166940 d5 82 27 20 3d 3e 20 27 d5 b2 27 2c 0a 27 d5 83 27 20 3d 3e 20 27 d5 b3 27 2c 0a 27 d5 84 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
166960 3d 3e 20 27 d5 b4 27 2c 0a 27 d5 85 27 20 3d 3e 20 27 d5 b5 27 2c 0a 27 d5 86 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
166980 d5 b6 27 2c 0a 27 d5 87 27 20 3d 3e 20 27 d5 b7 27 2c 0a 27 d5 88 27 20 3d 3e 20 27 d5 b8 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
1669a0 0a 27 d5 89 27 20 3d 3e 20 27 d5 b9 27 2c 0a 27 d5 8a 27 20 3d 3e 20 27 d5 ba 27 2c 0a 27 d5 8b .'..'.=>.'..',.'..'.=>.'..',.'..
1669c0 27 20 3d 3e 20 27 d5 bb 27 2c 0a 27 d5 8c 27 20 3d 3e 20 27 d5 bc 27 2c 0a 27 d5 8d 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
1669e0 20 27 d5 bd 27 2c 0a 27 d5 8e 27 20 3d 3e 20 27 d5 be 27 2c 0a 27 d5 8f 27 20 3d 3e 20 27 d5 bf .'..',.'..'.=>.'..',.'..'.=>.'..
166a00 27 2c 0a 27 d5 90 27 20 3d 3e 20 27 d6 80 27 2c 0a 27 d5 91 27 20 3d 3e 20 27 d6 81 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
166a20 d5 92 27 20 3d 3e 20 27 d6 82 27 2c 0a 27 d5 93 27 20 3d 3e 20 27 d6 83 27 2c 0a 27 d5 94 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
166a40 3d 3e 20 27 d6 84 27 2c 0a 27 d5 95 27 20 3d 3e 20 27 d6 85 27 2c 0a 27 d5 96 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
166a60 d6 86 27 2c 0a 27 e1 82 a0 27 20 3d 3e 20 27 e2 b4 80 27 2c 0a 27 e1 82 a1 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166a80 b4 81 27 2c 0a 27 e1 82 a2 27 20 3d 3e 20 27 e2 b4 82 27 2c 0a 27 e1 82 a3 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166aa0 b4 83 27 2c 0a 27 e1 82 a4 27 20 3d 3e 20 27 e2 b4 84 27 2c 0a 27 e1 82 a5 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166ac0 b4 85 27 2c 0a 27 e1 82 a6 27 20 3d 3e 20 27 e2 b4 86 27 2c 0a 27 e1 82 a7 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166ae0 b4 87 27 2c 0a 27 e1 82 a8 27 20 3d 3e 20 27 e2 b4 88 27 2c 0a 27 e1 82 a9 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166b00 b4 89 27 2c 0a 27 e1 82 aa 27 20 3d 3e 20 27 e2 b4 8a 27 2c 0a 27 e1 82 ab 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166b20 b4 8b 27 2c 0a 27 e1 82 ac 27 20 3d 3e 20 27 e2 b4 8c 27 2c 0a 27 e1 82 ad 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166b40 b4 8d 27 2c 0a 27 e1 82 ae 27 20 3d 3e 20 27 e2 b4 8e 27 2c 0a 27 e1 82 af 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166b60 b4 8f 27 2c 0a 27 e1 82 b0 27 20 3d 3e 20 27 e2 b4 90 27 2c 0a 27 e1 82 b1 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166b80 b4 91 27 2c 0a 27 e1 82 b2 27 20 3d 3e 20 27 e2 b4 92 27 2c 0a 27 e1 82 b3 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166ba0 b4 93 27 2c 0a 27 e1 82 b4 27 20 3d 3e 20 27 e2 b4 94 27 2c 0a 27 e1 82 b5 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166bc0 b4 95 27 2c 0a 27 e1 82 b6 27 20 3d 3e 20 27 e2 b4 96 27 2c 0a 27 e1 82 b7 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166be0 b4 97 27 2c 0a 27 e1 82 b8 27 20 3d 3e 20 27 e2 b4 98 27 2c 0a 27 e1 82 b9 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166c00 b4 99 27 2c 0a 27 e1 82 ba 27 20 3d 3e 20 27 e2 b4 9a 27 2c 0a 27 e1 82 bb 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166c20 b4 9b 27 2c 0a 27 e1 82 bc 27 20 3d 3e 20 27 e2 b4 9c 27 2c 0a 27 e1 82 bd 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166c40 b4 9d 27 2c 0a 27 e1 82 be 27 20 3d 3e 20 27 e2 b4 9e 27 2c 0a 27 e1 82 bf 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166c60 b4 9f 27 2c 0a 27 e1 83 80 27 20 3d 3e 20 27 e2 b4 a0 27 2c 0a 27 e1 83 81 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166c80 b4 a1 27 2c 0a 27 e1 83 82 27 20 3d 3e 20 27 e2 b4 a2 27 2c 0a 27 e1 83 83 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166ca0 b4 a3 27 2c 0a 27 e1 83 84 27 20 3d 3e 20 27 e2 b4 a4 27 2c 0a 27 e1 83 85 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166cc0 b4 a5 27 2c 0a 27 e1 83 87 27 20 3d 3e 20 27 e2 b4 a7 27 2c 0a 27 e1 83 8d 27 20 3d 3e 20 27 e2 ..',.'...'.=>.'...',.'...'.=>.'.
166ce0 b4 ad 27 2c 0a 27 e1 b8 80 27 20 3d 3e 20 27 e1 b8 81 27 2c 0a 27 e1 b8 82 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166d00 b8 83 27 2c 0a 27 e1 b8 84 27 20 3d 3e 20 27 e1 b8 85 27 2c 0a 27 e1 b8 86 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166d20 b8 87 27 2c 0a 27 e1 b8 88 27 20 3d 3e 20 27 e1 b8 89 27 2c 0a 27 e1 b8 8a 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166d40 b8 8b 27 2c 0a 27 e1 b8 8c 27 20 3d 3e 20 27 e1 b8 8d 27 2c 0a 27 e1 b8 8e 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166d60 b8 8f 27 2c 0a 27 e1 b8 90 27 20 3d 3e 20 27 e1 b8 91 27 2c 0a 27 e1 b8 92 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166d80 b8 93 27 2c 0a 27 e1 b8 94 27 20 3d 3e 20 27 e1 b8 95 27 2c 0a 27 e1 b8 96 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166da0 b8 97 27 2c 0a 27 e1 b8 98 27 20 3d 3e 20 27 e1 b8 99 27 2c 0a 27 e1 b8 9a 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166dc0 b8 9b 27 2c 0a 27 e1 b8 9c 27 20 3d 3e 20 27 e1 b8 9d 27 2c 0a 27 e1 b8 9e 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166de0 b8 9f 27 2c 0a 27 e1 b8 a0 27 20 3d 3e 20 27 e1 b8 a1 27 2c 0a 27 e1 b8 a2 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166e00 b8 a3 27 2c 0a 27 e1 b8 a4 27 20 3d 3e 20 27 e1 b8 a5 27 2c 0a 27 e1 b8 a6 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166e20 b8 a7 27 2c 0a 27 e1 b8 a8 27 20 3d 3e 20 27 e1 b8 a9 27 2c 0a 27 e1 b8 aa 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166e40 b8 ab 27 2c 0a 27 e1 b8 ac 27 20 3d 3e 20 27 e1 b8 ad 27 2c 0a 27 e1 b8 ae 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166e60 b8 af 27 2c 0a 27 e1 b8 b0 27 20 3d 3e 20 27 e1 b8 b1 27 2c 0a 27 e1 b8 b2 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166e80 b8 b3 27 2c 0a 27 e1 b8 b4 27 20 3d 3e 20 27 e1 b8 b5 27 2c 0a 27 e1 b8 b6 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166ea0 b8 b7 27 2c 0a 27 e1 b8 b8 27 20 3d 3e 20 27 e1 b8 b9 27 2c 0a 27 e1 b8 ba 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166ec0 b8 bb 27 2c 0a 27 e1 b8 bc 27 20 3d 3e 20 27 e1 b8 bd 27 2c 0a 27 e1 b8 be 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166ee0 b8 bf 27 2c 0a 27 e1 b9 80 27 20 3d 3e 20 27 e1 b9 81 27 2c 0a 27 e1 b9 82 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166f00 b9 83 27 2c 0a 27 e1 b9 84 27 20 3d 3e 20 27 e1 b9 85 27 2c 0a 27 e1 b9 86 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166f20 b9 87 27 2c 0a 27 e1 b9 88 27 20 3d 3e 20 27 e1 b9 89 27 2c 0a 27 e1 b9 8a 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166f40 b9 8b 27 2c 0a 27 e1 b9 8c 27 20 3d 3e 20 27 e1 b9 8d 27 2c 0a 27 e1 b9 8e 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166f60 b9 8f 27 2c 0a 27 e1 b9 90 27 20 3d 3e 20 27 e1 b9 91 27 2c 0a 27 e1 b9 92 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166f80 b9 93 27 2c 0a 27 e1 b9 94 27 20 3d 3e 20 27 e1 b9 95 27 2c 0a 27 e1 b9 96 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166fa0 b9 97 27 2c 0a 27 e1 b9 98 27 20 3d 3e 20 27 e1 b9 99 27 2c 0a 27 e1 b9 9a 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166fc0 b9 9b 27 2c 0a 27 e1 b9 9c 27 20 3d 3e 20 27 e1 b9 9d 27 2c 0a 27 e1 b9 9e 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
166fe0 b9 9f 27 2c 0a 27 e1 b9 a0 27 20 3d 3e 20 27 e1 b9 a1 27 2c 0a 27 e1 b9 a2 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
167000 b9 a3 27 2c 0a 27 e1 b9 a4 27 20 3d 3e 20 27 e1 b9 a5 27 2c 0a 27 e1 b9 a6 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
167020 b9 a7 27 2c 0a 27 e1 b9 a8 27 20 3d 3e 20 27 e1 b9 a9 27 2c 0a 27 e1 b9 aa 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
167040 b9 ab 27 2c 0a 27 e1 b9 ac 27 20 3d 3e 20 27 e1 b9 ad 27 2c 0a 27 e1 b9 ae 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
167060 b9 af 27 2c 0a 27 e1 b9 b0 27 20 3d 3e 20 27 e1 b9 b1 27 2c 0a 27 e1 b9 b2 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
167080 b9 b3 27 2c 0a 27 e1 b9 b4 27 20 3d 3e 20 27 e1 b9 b5 27 2c 0a 27 e1 b9 b6 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1670a0 b9 b7 27 2c 0a 27 e1 b9 b8 27 20 3d 3e 20 27 e1 b9 b9 27 2c 0a 27 e1 b9 ba 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1670c0 b9 bb 27 2c 0a 27 e1 b9 bc 27 20 3d 3e 20 27 e1 b9 bd 27 2c 0a 27 e1 b9 be 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
1670e0 b9 bf 27 2c 0a 27 e1 ba 80 27 20 3d 3e 20 27 e1 ba 81 27 2c 0a 27 e1 ba 82 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
167100 ba 83 27 2c 0a 27 e1 ba 84 27 20 3d 3e 20 27 e1 ba 85 27 2c 0a 27 e1 ba 86 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
167120 ba 87 27 2c 0a 27 e1 ba 88 27 20 3d 3e 20 27 e1 ba 89 27 2c 0a 27 e1 ba 8a 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
167140 ba 8b 27 2c 0a 27 e1 ba 8c 27 20 3d 3e 20 27 e1 ba 8d 27 2c 0a 27 e1 ba 8e 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
167160 ba 8f 27 2c 0a 27 e1 ba 90 27 20 3d 3e 20 27 e1 ba 91 27 2c 0a 27 e1 ba 92 27 20 3d 3e 20 27 e1 ..',.'...'.=>.'...',.'...'.=>.'.
167180 ba 93 27 2c 0a 27 e1 ba 94 27 20 3d 3e 20 27 e1 ba 95 27 2c 0a 27 e1 ba 9e 27 20 3d 3e 20 27 c3 ..',.'...'.=>.'...',.'...'.=>.'.
1671a0 9f 27 2c 0a 27 e1 ba a0 27 20 3d 3e 20 27 e1 ba a1 27 2c 0a 27 e1 ba a2 27 20 3d 3e 20 27 e1 ba .',.'...'.=>.'...',.'...'.=>.'..
1671c0 a3 27 2c 0a 27 e1 ba a4 27 20 3d 3e 20 27 e1 ba a5 27 2c 0a 27 e1 ba a6 27 20 3d 3e 20 27 e1 ba .',.'...'.=>.'...',.'...'.=>.'..
1671e0 a7 27 2c 0a 27 e1 ba a8 27 20 3d 3e 20 27 e1 ba a9 27 2c 0a 27 e1 ba aa 27 20 3d 3e 20 27 e1 ba .',.'...'.=>.'...',.'...'.=>.'..
167200 ab 27 2c 0a 27 e1 ba ac 27 20 3d 3e 20 27 e1 ba ad 27 2c 0a 27 e1 ba ae 27 20 3d 3e 20 27 e1 ba .',.'...'.=>.'...',.'...'.=>.'..
167220 af 27 2c 0a 27 e1 ba b0 27 20 3d 3e 20 27 e1 ba b1 27 2c 0a 27 e1 ba b2 27 20 3d 3e 20 27 e1 ba .',.'...'.=>.'...',.'...'.=>.'..
167240 b3 27 2c 0a 27 e1 ba b4 27 20 3d 3e 20 27 e1 ba b5 27 2c 0a 27 e1 ba b6 27 20 3d 3e 20 27 e1 ba .',.'...'.=>.'...',.'...'.=>.'..
167260 b7 27 2c 0a 27 e1 ba b8 27 20 3d 3e 20 27 e1 ba b9 27 2c 0a 27 e1 ba ba 27 20 3d 3e 20 27 e1 ba .',.'...'.=>.'...',.'...'.=>.'..
167280 bb 27 2c 0a 27 e1 ba bc 27 20 3d 3e 20 27 e1 ba bd 27 2c 0a 27 e1 ba be 27 20 3d 3e 20 27 e1 ba .',.'...'.=>.'...',.'...'.=>.'..
1672a0 bf 27 2c 0a 27 e1 bb 80 27 20 3d 3e 20 27 e1 bb 81 27 2c 0a 27 e1 bb 82 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
1672c0 83 27 2c 0a 27 e1 bb 84 27 20 3d 3e 20 27 e1 bb 85 27 2c 0a 27 e1 bb 86 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
1672e0 87 27 2c 0a 27 e1 bb 88 27 20 3d 3e 20 27 e1 bb 89 27 2c 0a 27 e1 bb 8a 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
167300 8b 27 2c 0a 27 e1 bb 8c 27 20 3d 3e 20 27 e1 bb 8d 27 2c 0a 27 e1 bb 8e 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
167320 8f 27 2c 0a 27 e1 bb 90 27 20 3d 3e 20 27 e1 bb 91 27 2c 0a 27 e1 bb 92 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
167340 93 27 2c 0a 27 e1 bb 94 27 20 3d 3e 20 27 e1 bb 95 27 2c 0a 27 e1 bb 96 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
167360 97 27 2c 0a 27 e1 bb 98 27 20 3d 3e 20 27 e1 bb 99 27 2c 0a 27 e1 bb 9a 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
167380 9b 27 2c 0a 27 e1 bb 9c 27 20 3d 3e 20 27 e1 bb 9d 27 2c 0a 27 e1 bb 9e 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
1673a0 9f 27 2c 0a 27 e1 bb a0 27 20 3d 3e 20 27 e1 bb a1 27 2c 0a 27 e1 bb a2 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
1673c0 a3 27 2c 0a 27 e1 bb a4 27 20 3d 3e 20 27 e1 bb a5 27 2c 0a 27 e1 bb a6 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
1673e0 a7 27 2c 0a 27 e1 bb a8 27 20 3d 3e 20 27 e1 bb a9 27 2c 0a 27 e1 bb aa 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
167400 ab 27 2c 0a 27 e1 bb ac 27 20 3d 3e 20 27 e1 bb ad 27 2c 0a 27 e1 bb ae 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
167420 af 27 2c 0a 27 e1 bb b0 27 20 3d 3e 20 27 e1 bb b1 27 2c 0a 27 e1 bb b2 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
167440 b3 27 2c 0a 27 e1 bb b4 27 20 3d 3e 20 27 e1 bb b5 27 2c 0a 27 e1 bb b6 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
167460 b7 27 2c 0a 27 e1 bb b8 27 20 3d 3e 20 27 e1 bb b9 27 2c 0a 27 e1 bb ba 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
167480 bb 27 2c 0a 27 e1 bb bc 27 20 3d 3e 20 27 e1 bb bd 27 2c 0a 27 e1 bb be 27 20 3d 3e 20 27 e1 bb .',.'...'.=>.'...',.'...'.=>.'..
1674a0 bf 27 2c 0a 27 e1 bc 88 27 20 3d 3e 20 27 e1 bc 80 27 2c 0a 27 e1 bc 89 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
1674c0 81 27 2c 0a 27 e1 bc 8a 27 20 3d 3e 20 27 e1 bc 82 27 2c 0a 27 e1 bc 8b 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
1674e0 83 27 2c 0a 27 e1 bc 8c 27 20 3d 3e 20 27 e1 bc 84 27 2c 0a 27 e1 bc 8d 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
167500 85 27 2c 0a 27 e1 bc 8e 27 20 3d 3e 20 27 e1 bc 86 27 2c 0a 27 e1 bc 8f 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
167520 87 27 2c 0a 27 e1 bc 98 27 20 3d 3e 20 27 e1 bc 90 27 2c 0a 27 e1 bc 99 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
167540 91 27 2c 0a 27 e1 bc 9a 27 20 3d 3e 20 27 e1 bc 92 27 2c 0a 27 e1 bc 9b 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
167560 93 27 2c 0a 27 e1 bc 9c 27 20 3d 3e 20 27 e1 bc 94 27 2c 0a 27 e1 bc 9d 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
167580 95 27 2c 0a 27 e1 bc a8 27 20 3d 3e 20 27 e1 bc a0 27 2c 0a 27 e1 bc a9 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
1675a0 a1 27 2c 0a 27 e1 bc aa 27 20 3d 3e 20 27 e1 bc a2 27 2c 0a 27 e1 bc ab 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
1675c0 a3 27 2c 0a 27 e1 bc ac 27 20 3d 3e 20 27 e1 bc a4 27 2c 0a 27 e1 bc ad 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
1675e0 a5 27 2c 0a 27 e1 bc ae 27 20 3d 3e 20 27 e1 bc a6 27 2c 0a 27 e1 bc af 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
167600 a7 27 2c 0a 27 e1 bc b8 27 20 3d 3e 20 27 e1 bc b0 27 2c 0a 27 e1 bc b9 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
167620 b1 27 2c 0a 27 e1 bc ba 27 20 3d 3e 20 27 e1 bc b2 27 2c 0a 27 e1 bc bb 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
167640 b3 27 2c 0a 27 e1 bc bc 27 20 3d 3e 20 27 e1 bc b4 27 2c 0a 27 e1 bc bd 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
167660 b5 27 2c 0a 27 e1 bc be 27 20 3d 3e 20 27 e1 bc b6 27 2c 0a 27 e1 bc bf 27 20 3d 3e 20 27 e1 bc .',.'...'.=>.'...',.'...'.=>.'..
167680 b7 27 2c 0a 27 e1 bd 88 27 20 3d 3e 20 27 e1 bd 80 27 2c 0a 27 e1 bd 89 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
1676a0 81 27 2c 0a 27 e1 bd 8a 27 20 3d 3e 20 27 e1 bd 82 27 2c 0a 27 e1 bd 8b 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
1676c0 83 27 2c 0a 27 e1 bd 8c 27 20 3d 3e 20 27 e1 bd 84 27 2c 0a 27 e1 bd 8d 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
1676e0 85 27 2c 0a 27 e1 bd 99 27 20 3d 3e 20 27 e1 bd 91 27 2c 0a 27 e1 bd 9b 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
167700 93 27 2c 0a 27 e1 bd 9d 27 20 3d 3e 20 27 e1 bd 95 27 2c 0a 27 e1 bd 9f 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
167720 97 27 2c 0a 27 e1 bd a8 27 20 3d 3e 20 27 e1 bd a0 27 2c 0a 27 e1 bd a9 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
167740 a1 27 2c 0a 27 e1 bd aa 27 20 3d 3e 20 27 e1 bd a2 27 2c 0a 27 e1 bd ab 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
167760 a3 27 2c 0a 27 e1 bd ac 27 20 3d 3e 20 27 e1 bd a4 27 2c 0a 27 e1 bd ad 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
167780 a5 27 2c 0a 27 e1 bd ae 27 20 3d 3e 20 27 e1 bd a6 27 2c 0a 27 e1 bd af 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
1677a0 a7 27 2c 0a 27 e1 be 88 27 20 3d 3e 20 27 e1 be 80 27 2c 0a 27 e1 be 89 27 20 3d 3e 20 27 e1 be .',.'...'.=>.'...',.'...'.=>.'..
1677c0 81 27 2c 0a 27 e1 be 8a 27 20 3d 3e 20 27 e1 be 82 27 2c 0a 27 e1 be 8b 27 20 3d 3e 20 27 e1 be .',.'...'.=>.'...',.'...'.=>.'..
1677e0 83 27 2c 0a 27 e1 be 8c 27 20 3d 3e 20 27 e1 be 84 27 2c 0a 27 e1 be 8d 27 20 3d 3e 20 27 e1 be .',.'...'.=>.'...',.'...'.=>.'..
167800 85 27 2c 0a 27 e1 be 8e 27 20 3d 3e 20 27 e1 be 86 27 2c 0a 27 e1 be 8f 27 20 3d 3e 20 27 e1 be .',.'...'.=>.'...',.'...'.=>.'..
167820 87 27 2c 0a 27 e1 be 98 27 20 3d 3e 20 27 e1 be 90 27 2c 0a 27 e1 be 99 27 20 3d 3e 20 27 e1 be .',.'...'.=>.'...',.'...'.=>.'..
167840 91 27 2c 0a 27 e1 be 9a 27 20 3d 3e 20 27 e1 be 92 27 2c 0a 27 e1 be 9b 27 20 3d 3e 20 27 e1 be .',.'...'.=>.'...',.'...'.=>.'..
167860 93 27 2c 0a 27 e1 be 9c 27 20 3d 3e 20 27 e1 be 94 27 2c 0a 27 e1 be 9d 27 20 3d 3e 20 27 e1 be .',.'...'.=>.'...',.'...'.=>.'..
167880 95 27 2c 0a 27 e1 be 9e 27 20 3d 3e 20 27 e1 be 96 27 2c 0a 27 e1 be 9f 27 20 3d 3e 20 27 e1 be .',.'...'.=>.'...',.'...'.=>.'..
1678a0 97 27 2c 0a 27 e1 be a8 27 20 3d 3e 20 27 e1 be a0 27 2c 0a 27 e1 be a9 27 20 3d 3e 20 27 e1 be .',.'...'.=>.'...',.'...'.=>.'..
1678c0 a1 27 2c 0a 27 e1 be aa 27 20 3d 3e 20 27 e1 be a2 27 2c 0a 27 e1 be ab 27 20 3d 3e 20 27 e1 be .',.'...'.=>.'...',.'...'.=>.'..
1678e0 a3 27 2c 0a 27 e1 be ac 27 20 3d 3e 20 27 e1 be a4 27 2c 0a 27 e1 be ad 27 20 3d 3e 20 27 e1 be .',.'...'.=>.'...',.'...'.=>.'..
167900 a5 27 2c 0a 27 e1 be ae 27 20 3d 3e 20 27 e1 be a6 27 2c 0a 27 e1 be af 27 20 3d 3e 20 27 e1 be .',.'...'.=>.'...',.'...'.=>.'..
167920 a7 27 2c 0a 27 e1 be b8 27 20 3d 3e 20 27 e1 be b0 27 2c 0a 27 e1 be b9 27 20 3d 3e 20 27 e1 be .',.'...'.=>.'...',.'...'.=>.'..
167940 b1 27 2c 0a 27 e1 be ba 27 20 3d 3e 20 27 e1 bd b0 27 2c 0a 27 e1 be bb 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
167960 b1 27 2c 0a 27 e1 be bc 27 20 3d 3e 20 27 e1 be b3 27 2c 0a 27 e1 bf 88 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
167980 b2 27 2c 0a 27 e1 bf 89 27 20 3d 3e 20 27 e1 bd b3 27 2c 0a 27 e1 bf 8a 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
1679a0 b4 27 2c 0a 27 e1 bf 8b 27 20 3d 3e 20 27 e1 bd b5 27 2c 0a 27 e1 bf 8c 27 20 3d 3e 20 27 e1 bf .',.'...'.=>.'...',.'...'.=>.'..
1679c0 83 27 2c 0a 27 e1 bf 98 27 20 3d 3e 20 27 e1 bf 90 27 2c 0a 27 e1 bf 99 27 20 3d 3e 20 27 e1 bf .',.'...'.=>.'...',.'...'.=>.'..
1679e0 91 27 2c 0a 27 e1 bf 9a 27 20 3d 3e 20 27 e1 bd b6 27 2c 0a 27 e1 bf 9b 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
167a00 b7 27 2c 0a 27 e1 bf a8 27 20 3d 3e 20 27 e1 bf a0 27 2c 0a 27 e1 bf a9 27 20 3d 3e 20 27 e1 bf .',.'...'.=>.'...',.'...'.=>.'..
167a20 a1 27 2c 0a 27 e1 bf aa 27 20 3d 3e 20 27 e1 bd ba 27 2c 0a 27 e1 bf ab 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
167a40 bb 27 2c 0a 27 e1 bf ac 27 20 3d 3e 20 27 e1 bf a5 27 2c 0a 27 e1 bf b8 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
167a60 b8 27 2c 0a 27 e1 bf b9 27 20 3d 3e 20 27 e1 bd b9 27 2c 0a 27 e1 bf ba 27 20 3d 3e 20 27 e1 bd .',.'...'.=>.'...',.'...'.=>.'..
167a80 bc 27 2c 0a 27 e1 bf bb 27 20 3d 3e 20 27 e1 bd bd 27 2c 0a 27 e1 bf bc 27 20 3d 3e 20 27 e1 bf .',.'...'.=>.'...',.'...'.=>.'..
167aa0 b3 27 2c 0a 27 e2 84 a6 27 20 3d 3e 20 27 cf 89 27 2c 0a 27 e2 84 aa 27 20 3d 3e 20 27 6b 27 2c .',.'...'.=>.'..',.'...'.=>.'k',
167ac0 0a 27 e2 84 ab 27 20 3d 3e 20 27 c3 a5 27 2c 0a 27 e2 84 b2 27 20 3d 3e 20 27 e2 85 8e 27 2c 0a .'...'.=>.'..',.'...'.=>.'...',.
167ae0 27 e2 85 a0 27 20 3d 3e 20 27 e2 85 b0 27 2c 0a 27 e2 85 a1 27 20 3d 3e 20 27 e2 85 b1 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167b00 27 e2 85 a2 27 20 3d 3e 20 27 e2 85 b2 27 2c 0a 27 e2 85 a3 27 20 3d 3e 20 27 e2 85 b3 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167b20 27 e2 85 a4 27 20 3d 3e 20 27 e2 85 b4 27 2c 0a 27 e2 85 a5 27 20 3d 3e 20 27 e2 85 b5 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167b40 27 e2 85 a6 27 20 3d 3e 20 27 e2 85 b6 27 2c 0a 27 e2 85 a7 27 20 3d 3e 20 27 e2 85 b7 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167b60 27 e2 85 a8 27 20 3d 3e 20 27 e2 85 b8 27 2c 0a 27 e2 85 a9 27 20 3d 3e 20 27 e2 85 b9 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167b80 27 e2 85 aa 27 20 3d 3e 20 27 e2 85 ba 27 2c 0a 27 e2 85 ab 27 20 3d 3e 20 27 e2 85 bb 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167ba0 27 e2 85 ac 27 20 3d 3e 20 27 e2 85 bc 27 2c 0a 27 e2 85 ad 27 20 3d 3e 20 27 e2 85 bd 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167bc0 27 e2 85 ae 27 20 3d 3e 20 27 e2 85 be 27 2c 0a 27 e2 85 af 27 20 3d 3e 20 27 e2 85 bf 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167be0 27 e2 86 83 27 20 3d 3e 20 27 e2 86 84 27 2c 0a 27 e2 92 b6 27 20 3d 3e 20 27 e2 93 90 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167c00 27 e2 92 b7 27 20 3d 3e 20 27 e2 93 91 27 2c 0a 27 e2 92 b8 27 20 3d 3e 20 27 e2 93 92 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167c20 27 e2 92 b9 27 20 3d 3e 20 27 e2 93 93 27 2c 0a 27 e2 92 ba 27 20 3d 3e 20 27 e2 93 94 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167c40 27 e2 92 bb 27 20 3d 3e 20 27 e2 93 95 27 2c 0a 27 e2 92 bc 27 20 3d 3e 20 27 e2 93 96 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167c60 27 e2 92 bd 27 20 3d 3e 20 27 e2 93 97 27 2c 0a 27 e2 92 be 27 20 3d 3e 20 27 e2 93 98 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167c80 27 e2 92 bf 27 20 3d 3e 20 27 e2 93 99 27 2c 0a 27 e2 93 80 27 20 3d 3e 20 27 e2 93 9a 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167ca0 27 e2 93 81 27 20 3d 3e 20 27 e2 93 9b 27 2c 0a 27 e2 93 82 27 20 3d 3e 20 27 e2 93 9c 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167cc0 27 e2 93 83 27 20 3d 3e 20 27 e2 93 9d 27 2c 0a 27 e2 93 84 27 20 3d 3e 20 27 e2 93 9e 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167ce0 27 e2 93 85 27 20 3d 3e 20 27 e2 93 9f 27 2c 0a 27 e2 93 86 27 20 3d 3e 20 27 e2 93 a0 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167d00 27 e2 93 87 27 20 3d 3e 20 27 e2 93 a1 27 2c 0a 27 e2 93 88 27 20 3d 3e 20 27 e2 93 a2 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167d20 27 e2 93 89 27 20 3d 3e 20 27 e2 93 a3 27 2c 0a 27 e2 93 8a 27 20 3d 3e 20 27 e2 93 a4 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167d40 27 e2 93 8b 27 20 3d 3e 20 27 e2 93 a5 27 2c 0a 27 e2 93 8c 27 20 3d 3e 20 27 e2 93 a6 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167d60 27 e2 93 8d 27 20 3d 3e 20 27 e2 93 a7 27 2c 0a 27 e2 93 8e 27 20 3d 3e 20 27 e2 93 a8 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167d80 27 e2 93 8f 27 20 3d 3e 20 27 e2 93 a9 27 2c 0a 27 e2 b0 80 27 20 3d 3e 20 27 e2 b0 b0 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167da0 27 e2 b0 81 27 20 3d 3e 20 27 e2 b0 b1 27 2c 0a 27 e2 b0 82 27 20 3d 3e 20 27 e2 b0 b2 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167dc0 27 e2 b0 83 27 20 3d 3e 20 27 e2 b0 b3 27 2c 0a 27 e2 b0 84 27 20 3d 3e 20 27 e2 b0 b4 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167de0 27 e2 b0 85 27 20 3d 3e 20 27 e2 b0 b5 27 2c 0a 27 e2 b0 86 27 20 3d 3e 20 27 e2 b0 b6 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167e00 27 e2 b0 87 27 20 3d 3e 20 27 e2 b0 b7 27 2c 0a 27 e2 b0 88 27 20 3d 3e 20 27 e2 b0 b8 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167e20 27 e2 b0 89 27 20 3d 3e 20 27 e2 b0 b9 27 2c 0a 27 e2 b0 8a 27 20 3d 3e 20 27 e2 b0 ba 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167e40 27 e2 b0 8b 27 20 3d 3e 20 27 e2 b0 bb 27 2c 0a 27 e2 b0 8c 27 20 3d 3e 20 27 e2 b0 bc 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167e60 27 e2 b0 8d 27 20 3d 3e 20 27 e2 b0 bd 27 2c 0a 27 e2 b0 8e 27 20 3d 3e 20 27 e2 b0 be 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167e80 27 e2 b0 8f 27 20 3d 3e 20 27 e2 b0 bf 27 2c 0a 27 e2 b0 90 27 20 3d 3e 20 27 e2 b1 80 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167ea0 27 e2 b0 91 27 20 3d 3e 20 27 e2 b1 81 27 2c 0a 27 e2 b0 92 27 20 3d 3e 20 27 e2 b1 82 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167ec0 27 e2 b0 93 27 20 3d 3e 20 27 e2 b1 83 27 2c 0a 27 e2 b0 94 27 20 3d 3e 20 27 e2 b1 84 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167ee0 27 e2 b0 95 27 20 3d 3e 20 27 e2 b1 85 27 2c 0a 27 e2 b0 96 27 20 3d 3e 20 27 e2 b1 86 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167f00 27 e2 b0 97 27 20 3d 3e 20 27 e2 b1 87 27 2c 0a 27 e2 b0 98 27 20 3d 3e 20 27 e2 b1 88 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167f20 27 e2 b0 99 27 20 3d 3e 20 27 e2 b1 89 27 2c 0a 27 e2 b0 9a 27 20 3d 3e 20 27 e2 b1 8a 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167f40 27 e2 b0 9b 27 20 3d 3e 20 27 e2 b1 8b 27 2c 0a 27 e2 b0 9c 27 20 3d 3e 20 27 e2 b1 8c 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167f60 27 e2 b0 9d 27 20 3d 3e 20 27 e2 b1 8d 27 2c 0a 27 e2 b0 9e 27 20 3d 3e 20 27 e2 b1 8e 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167f80 27 e2 b0 9f 27 20 3d 3e 20 27 e2 b1 8f 27 2c 0a 27 e2 b0 a0 27 20 3d 3e 20 27 e2 b1 90 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167fa0 27 e2 b0 a1 27 20 3d 3e 20 27 e2 b1 91 27 2c 0a 27 e2 b0 a2 27 20 3d 3e 20 27 e2 b1 92 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167fc0 27 e2 b0 a3 27 20 3d 3e 20 27 e2 b1 93 27 2c 0a 27 e2 b0 a4 27 20 3d 3e 20 27 e2 b1 94 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
167fe0 27 e2 b0 a5 27 20 3d 3e 20 27 e2 b1 95 27 2c 0a 27 e2 b0 a6 27 20 3d 3e 20 27 e2 b1 96 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
168000 27 e2 b0 a7 27 20 3d 3e 20 27 e2 b1 97 27 2c 0a 27 e2 b0 a8 27 20 3d 3e 20 27 e2 b1 98 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
168020 27 e2 b0 a9 27 20 3d 3e 20 27 e2 b1 99 27 2c 0a 27 e2 b0 aa 27 20 3d 3e 20 27 e2 b1 9a 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
168040 27 e2 b0 ab 27 20 3d 3e 20 27 e2 b1 9b 27 2c 0a 27 e2 b0 ac 27 20 3d 3e 20 27 e2 b1 9c 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
168060 27 e2 b0 ad 27 20 3d 3e 20 27 e2 b1 9d 27 2c 0a 27 e2 b0 ae 27 20 3d 3e 20 27 e2 b1 9e 27 2c 0a '...'.=>.'...',.'...'.=>.'...',.
168080 27 e2 b1 a0 27 20 3d 3e 20 27 e2 b1 a1 27 2c 0a 27 e2 b1 a2 27 20 3d 3e 20 27 c9 ab 27 2c 0a 27 '...'.=>.'...',.'...'.=>.'..',.'
1680a0 e2 b1 a3 27 20 3d 3e 20 27 e1 b5 bd 27 2c 0a 27 e2 b1 a4 27 20 3d 3e 20 27 c9 bd 27 2c 0a 27 e2 ...'.=>.'...',.'...'.=>.'..',.'.
1680c0 b1 a7 27 20 3d 3e 20 27 e2 b1 a8 27 2c 0a 27 e2 b1 a9 27 20 3d 3e 20 27 e2 b1 aa 27 2c 0a 27 e2 ..'.=>.'...',.'...'.=>.'...',.'.
1680e0 b1 ab 27 20 3d 3e 20 27 e2 b1 ac 27 2c 0a 27 e2 b1 ad 27 20 3d 3e 20 27 c9 91 27 2c 0a 27 e2 b1 ..'.=>.'...',.'...'.=>.'..',.'..
168100 ae 27 20 3d 3e 20 27 c9 b1 27 2c 0a 27 e2 b1 af 27 20 3d 3e 20 27 c9 90 27 2c 0a 27 e2 b1 b0 27 .'.=>.'..',.'...'.=>.'..',.'...'
168120 20 3d 3e 20 27 c9 92 27 2c 0a 27 e2 b1 b2 27 20 3d 3e 20 27 e2 b1 b3 27 2c 0a 27 e2 b1 b5 27 20 .=>.'..',.'...'.=>.'...',.'...'.
168140 3d 3e 20 27 e2 b1 b6 27 2c 0a 27 e2 b1 be 27 20 3d 3e 20 27 c8 bf 27 2c 0a 27 e2 b1 bf 27 20 3d =>.'...',.'...'.=>.'..',.'...'.=
168160 3e 20 27 c9 80 27 2c 0a 27 e2 b2 80 27 20 3d 3e 20 27 e2 b2 81 27 2c 0a 27 e2 b2 82 27 20 3d 3e >.'..',.'...'.=>.'...',.'...'.=>
168180 20 27 e2 b2 83 27 2c 0a 27 e2 b2 84 27 20 3d 3e 20 27 e2 b2 85 27 2c 0a 27 e2 b2 86 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1681a0 20 27 e2 b2 87 27 2c 0a 27 e2 b2 88 27 20 3d 3e 20 27 e2 b2 89 27 2c 0a 27 e2 b2 8a 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1681c0 20 27 e2 b2 8b 27 2c 0a 27 e2 b2 8c 27 20 3d 3e 20 27 e2 b2 8d 27 2c 0a 27 e2 b2 8e 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1681e0 20 27 e2 b2 8f 27 2c 0a 27 e2 b2 90 27 20 3d 3e 20 27 e2 b2 91 27 2c 0a 27 e2 b2 92 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168200 20 27 e2 b2 93 27 2c 0a 27 e2 b2 94 27 20 3d 3e 20 27 e2 b2 95 27 2c 0a 27 e2 b2 96 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168220 20 27 e2 b2 97 27 2c 0a 27 e2 b2 98 27 20 3d 3e 20 27 e2 b2 99 27 2c 0a 27 e2 b2 9a 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168240 20 27 e2 b2 9b 27 2c 0a 27 e2 b2 9c 27 20 3d 3e 20 27 e2 b2 9d 27 2c 0a 27 e2 b2 9e 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168260 20 27 e2 b2 9f 27 2c 0a 27 e2 b2 a0 27 20 3d 3e 20 27 e2 b2 a1 27 2c 0a 27 e2 b2 a2 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168280 20 27 e2 b2 a3 27 2c 0a 27 e2 b2 a4 27 20 3d 3e 20 27 e2 b2 a5 27 2c 0a 27 e2 b2 a6 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1682a0 20 27 e2 b2 a7 27 2c 0a 27 e2 b2 a8 27 20 3d 3e 20 27 e2 b2 a9 27 2c 0a 27 e2 b2 aa 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1682c0 20 27 e2 b2 ab 27 2c 0a 27 e2 b2 ac 27 20 3d 3e 20 27 e2 b2 ad 27 2c 0a 27 e2 b2 ae 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1682e0 20 27 e2 b2 af 27 2c 0a 27 e2 b2 b0 27 20 3d 3e 20 27 e2 b2 b1 27 2c 0a 27 e2 b2 b2 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168300 20 27 e2 b2 b3 27 2c 0a 27 e2 b2 b4 27 20 3d 3e 20 27 e2 b2 b5 27 2c 0a 27 e2 b2 b6 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168320 20 27 e2 b2 b7 27 2c 0a 27 e2 b2 b8 27 20 3d 3e 20 27 e2 b2 b9 27 2c 0a 27 e2 b2 ba 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168340 20 27 e2 b2 bb 27 2c 0a 27 e2 b2 bc 27 20 3d 3e 20 27 e2 b2 bd 27 2c 0a 27 e2 b2 be 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168360 20 27 e2 b2 bf 27 2c 0a 27 e2 b3 80 27 20 3d 3e 20 27 e2 b3 81 27 2c 0a 27 e2 b3 82 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168380 20 27 e2 b3 83 27 2c 0a 27 e2 b3 84 27 20 3d 3e 20 27 e2 b3 85 27 2c 0a 27 e2 b3 86 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1683a0 20 27 e2 b3 87 27 2c 0a 27 e2 b3 88 27 20 3d 3e 20 27 e2 b3 89 27 2c 0a 27 e2 b3 8a 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1683c0 20 27 e2 b3 8b 27 2c 0a 27 e2 b3 8c 27 20 3d 3e 20 27 e2 b3 8d 27 2c 0a 27 e2 b3 8e 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1683e0 20 27 e2 b3 8f 27 2c 0a 27 e2 b3 90 27 20 3d 3e 20 27 e2 b3 91 27 2c 0a 27 e2 b3 92 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168400 20 27 e2 b3 93 27 2c 0a 27 e2 b3 94 27 20 3d 3e 20 27 e2 b3 95 27 2c 0a 27 e2 b3 96 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168420 20 27 e2 b3 97 27 2c 0a 27 e2 b3 98 27 20 3d 3e 20 27 e2 b3 99 27 2c 0a 27 e2 b3 9a 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168440 20 27 e2 b3 9b 27 2c 0a 27 e2 b3 9c 27 20 3d 3e 20 27 e2 b3 9d 27 2c 0a 27 e2 b3 9e 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168460 20 27 e2 b3 9f 27 2c 0a 27 e2 b3 a0 27 20 3d 3e 20 27 e2 b3 a1 27 2c 0a 27 e2 b3 a2 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168480 20 27 e2 b3 a3 27 2c 0a 27 e2 b3 ab 27 20 3d 3e 20 27 e2 b3 ac 27 2c 0a 27 e2 b3 ad 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1684a0 20 27 e2 b3 ae 27 2c 0a 27 e2 b3 b2 27 20 3d 3e 20 27 e2 b3 b3 27 2c 0a 27 ea 99 80 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1684c0 20 27 ea 99 81 27 2c 0a 27 ea 99 82 27 20 3d 3e 20 27 ea 99 83 27 2c 0a 27 ea 99 84 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1684e0 20 27 ea 99 85 27 2c 0a 27 ea 99 86 27 20 3d 3e 20 27 ea 99 87 27 2c 0a 27 ea 99 88 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168500 20 27 ea 99 89 27 2c 0a 27 ea 99 8a 27 20 3d 3e 20 27 ea 99 8b 27 2c 0a 27 ea 99 8c 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168520 20 27 ea 99 8d 27 2c 0a 27 ea 99 8e 27 20 3d 3e 20 27 ea 99 8f 27 2c 0a 27 ea 99 90 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168540 20 27 ea 99 91 27 2c 0a 27 ea 99 92 27 20 3d 3e 20 27 ea 99 93 27 2c 0a 27 ea 99 94 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168560 20 27 ea 99 95 27 2c 0a 27 ea 99 96 27 20 3d 3e 20 27 ea 99 97 27 2c 0a 27 ea 99 98 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168580 20 27 ea 99 99 27 2c 0a 27 ea 99 9a 27 20 3d 3e 20 27 ea 99 9b 27 2c 0a 27 ea 99 9c 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1685a0 20 27 ea 99 9d 27 2c 0a 27 ea 99 9e 27 20 3d 3e 20 27 ea 99 9f 27 2c 0a 27 ea 99 a0 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1685c0 20 27 ea 99 a1 27 2c 0a 27 ea 99 a2 27 20 3d 3e 20 27 ea 99 a3 27 2c 0a 27 ea 99 a4 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1685e0 20 27 ea 99 a5 27 2c 0a 27 ea 99 a6 27 20 3d 3e 20 27 ea 99 a7 27 2c 0a 27 ea 99 a8 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168600 20 27 ea 99 a9 27 2c 0a 27 ea 99 aa 27 20 3d 3e 20 27 ea 99 ab 27 2c 0a 27 ea 99 ac 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168620 20 27 ea 99 ad 27 2c 0a 27 ea 9a 80 27 20 3d 3e 20 27 ea 9a 81 27 2c 0a 27 ea 9a 82 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168640 20 27 ea 9a 83 27 2c 0a 27 ea 9a 84 27 20 3d 3e 20 27 ea 9a 85 27 2c 0a 27 ea 9a 86 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168660 20 27 ea 9a 87 27 2c 0a 27 ea 9a 88 27 20 3d 3e 20 27 ea 9a 89 27 2c 0a 27 ea 9a 8a 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168680 20 27 ea 9a 8b 27 2c 0a 27 ea 9a 8c 27 20 3d 3e 20 27 ea 9a 8d 27 2c 0a 27 ea 9a 8e 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1686a0 20 27 ea 9a 8f 27 2c 0a 27 ea 9a 90 27 20 3d 3e 20 27 ea 9a 91 27 2c 0a 27 ea 9a 92 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1686c0 20 27 ea 9a 93 27 2c 0a 27 ea 9a 94 27 20 3d 3e 20 27 ea 9a 95 27 2c 0a 27 ea 9a 96 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1686e0 20 27 ea 9a 97 27 2c 0a 27 ea 9a 98 27 20 3d 3e 20 27 ea 9a 99 27 2c 0a 27 ea 9a 9a 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168700 20 27 ea 9a 9b 27 2c 0a 27 ea 9c a2 27 20 3d 3e 20 27 ea 9c a3 27 2c 0a 27 ea 9c a4 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168720 20 27 ea 9c a5 27 2c 0a 27 ea 9c a6 27 20 3d 3e 20 27 ea 9c a7 27 2c 0a 27 ea 9c a8 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168740 20 27 ea 9c a9 27 2c 0a 27 ea 9c aa 27 20 3d 3e 20 27 ea 9c ab 27 2c 0a 27 ea 9c ac 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168760 20 27 ea 9c ad 27 2c 0a 27 ea 9c ae 27 20 3d 3e 20 27 ea 9c af 27 2c 0a 27 ea 9c b2 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168780 20 27 ea 9c b3 27 2c 0a 27 ea 9c b4 27 20 3d 3e 20 27 ea 9c b5 27 2c 0a 27 ea 9c b6 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1687a0 20 27 ea 9c b7 27 2c 0a 27 ea 9c b8 27 20 3d 3e 20 27 ea 9c b9 27 2c 0a 27 ea 9c ba 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1687c0 20 27 ea 9c bb 27 2c 0a 27 ea 9c bc 27 20 3d 3e 20 27 ea 9c bd 27 2c 0a 27 ea 9c be 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1687e0 20 27 ea 9c bf 27 2c 0a 27 ea 9d 80 27 20 3d 3e 20 27 ea 9d 81 27 2c 0a 27 ea 9d 82 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168800 20 27 ea 9d 83 27 2c 0a 27 ea 9d 84 27 20 3d 3e 20 27 ea 9d 85 27 2c 0a 27 ea 9d 86 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168820 20 27 ea 9d 87 27 2c 0a 27 ea 9d 88 27 20 3d 3e 20 27 ea 9d 89 27 2c 0a 27 ea 9d 8a 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168840 20 27 ea 9d 8b 27 2c 0a 27 ea 9d 8c 27 20 3d 3e 20 27 ea 9d 8d 27 2c 0a 27 ea 9d 8e 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168860 20 27 ea 9d 8f 27 2c 0a 27 ea 9d 90 27 20 3d 3e 20 27 ea 9d 91 27 2c 0a 27 ea 9d 92 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168880 20 27 ea 9d 93 27 2c 0a 27 ea 9d 94 27 20 3d 3e 20 27 ea 9d 95 27 2c 0a 27 ea 9d 96 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1688a0 20 27 ea 9d 97 27 2c 0a 27 ea 9d 98 27 20 3d 3e 20 27 ea 9d 99 27 2c 0a 27 ea 9d 9a 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1688c0 20 27 ea 9d 9b 27 2c 0a 27 ea 9d 9c 27 20 3d 3e 20 27 ea 9d 9d 27 2c 0a 27 ea 9d 9e 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1688e0 20 27 ea 9d 9f 27 2c 0a 27 ea 9d a0 27 20 3d 3e 20 27 ea 9d a1 27 2c 0a 27 ea 9d a2 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168900 20 27 ea 9d a3 27 2c 0a 27 ea 9d a4 27 20 3d 3e 20 27 ea 9d a5 27 2c 0a 27 ea 9d a6 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168920 20 27 ea 9d a7 27 2c 0a 27 ea 9d a8 27 20 3d 3e 20 27 ea 9d a9 27 2c 0a 27 ea 9d aa 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168940 20 27 ea 9d ab 27 2c 0a 27 ea 9d ac 27 20 3d 3e 20 27 ea 9d ad 27 2c 0a 27 ea 9d ae 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168960 20 27 ea 9d af 27 2c 0a 27 ea 9d b9 27 20 3d 3e 20 27 ea 9d ba 27 2c 0a 27 ea 9d bb 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168980 20 27 ea 9d bc 27 2c 0a 27 ea 9d bd 27 20 3d 3e 20 27 e1 b5 b9 27 2c 0a 27 ea 9d be 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1689a0 20 27 ea 9d bf 27 2c 0a 27 ea 9e 80 27 20 3d 3e 20 27 ea 9e 81 27 2c 0a 27 ea 9e 82 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1689c0 20 27 ea 9e 83 27 2c 0a 27 ea 9e 84 27 20 3d 3e 20 27 ea 9e 85 27 2c 0a 27 ea 9e 86 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
1689e0 20 27 ea 9e 87 27 2c 0a 27 ea 9e 8b 27 20 3d 3e 20 27 ea 9e 8c 27 2c 0a 27 ea 9e 8d 27 20 3d 3e .'...',.'...'.=>.'...',.'...'.=>
168a00 20 27 c9 a5 27 2c 0a 27 ea 9e 90 27 20 3d 3e 20 27 ea 9e 91 27 2c 0a 27 ea 9e 92 27 20 3d 3e 20 .'..',.'...'.=>.'...',.'...'.=>.
168a20 27 ea 9e 93 27 2c 0a 27 ea 9e 96 27 20 3d 3e 20 27 ea 9e 97 27 2c 0a 27 ea 9e 98 27 20 3d 3e 20 '...',.'...'.=>.'...',.'...'.=>.
168a40 27 ea 9e 99 27 2c 0a 27 ea 9e 9a 27 20 3d 3e 20 27 ea 9e 9b 27 2c 0a 27 ea 9e 9c 27 20 3d 3e 20 '...',.'...'.=>.'...',.'...'.=>.
168a60 27 ea 9e 9d 27 2c 0a 27 ea 9e 9e 27 20 3d 3e 20 27 ea 9e 9f 27 2c 0a 27 ea 9e a0 27 20 3d 3e 20 '...',.'...'.=>.'...',.'...'.=>.
168a80 27 ea 9e a1 27 2c 0a 27 ea 9e a2 27 20 3d 3e 20 27 ea 9e a3 27 2c 0a 27 ea 9e a4 27 20 3d 3e 20 '...',.'...'.=>.'...',.'...'.=>.
168aa0 27 ea 9e a5 27 2c 0a 27 ea 9e a6 27 20 3d 3e 20 27 ea 9e a7 27 2c 0a 27 ea 9e a8 27 20 3d 3e 20 '...',.'...'.=>.'...',.'...'.=>.
168ac0 27 ea 9e a9 27 2c 0a 27 ea 9e aa 27 20 3d 3e 20 27 c9 a6 27 2c 0a 27 ea 9e ab 27 20 3d 3e 20 27 '...',.'...'.=>.'..',.'...'.=>.'
168ae0 c9 9c 27 2c 0a 27 ea 9e ac 27 20 3d 3e 20 27 c9 a1 27 2c 0a 27 ea 9e ad 27 20 3d 3e 20 27 c9 ac ..',.'...'.=>.'..',.'...'.=>.'..
168b00 27 2c 0a 27 ea 9e b0 27 20 3d 3e 20 27 ca 9e 27 2c 0a 27 ea 9e b1 27 20 3d 3e 20 27 ca 87 27 2c ',.'...'.=>.'..',.'...'.=>.'..',
168b20 0a 27 ef bc a1 27 20 3d 3e 20 27 ef bd 81 27 2c 0a 27 ef bc a2 27 20 3d 3e 20 27 ef bd 82 27 2c .'...'.=>.'...',.'...'.=>.'...',
168b40 0a 27 ef bc a3 27 20 3d 3e 20 27 ef bd 83 27 2c 0a 27 ef bc a4 27 20 3d 3e 20 27 ef bd 84 27 2c .'...'.=>.'...',.'...'.=>.'...',
168b60 0a 27 ef bc a5 27 20 3d 3e 20 27 ef bd 85 27 2c 0a 27 ef bc a6 27 20 3d 3e 20 27 ef bd 86 27 2c .'...'.=>.'...',.'...'.=>.'...',
168b80 0a 27 ef bc a7 27 20 3d 3e 20 27 ef bd 87 27 2c 0a 27 ef bc a8 27 20 3d 3e 20 27 ef bd 88 27 2c .'...'.=>.'...',.'...'.=>.'...',
168ba0 0a 27 ef bc a9 27 20 3d 3e 20 27 ef bd 89 27 2c 0a 27 ef bc aa 27 20 3d 3e 20 27 ef bd 8a 27 2c .'...'.=>.'...',.'...'.=>.'...',
168bc0 0a 27 ef bc ab 27 20 3d 3e 20 27 ef bd 8b 27 2c 0a 27 ef bc ac 27 20 3d 3e 20 27 ef bd 8c 27 2c .'...'.=>.'...',.'...'.=>.'...',
168be0 0a 27 ef bc ad 27 20 3d 3e 20 27 ef bd 8d 27 2c 0a 27 ef bc ae 27 20 3d 3e 20 27 ef bd 8e 27 2c .'...'.=>.'...',.'...'.=>.'...',
168c00 0a 27 ef bc af 27 20 3d 3e 20 27 ef bd 8f 27 2c 0a 27 ef bc b0 27 20 3d 3e 20 27 ef bd 90 27 2c .'...'.=>.'...',.'...'.=>.'...',
168c20 0a 27 ef bc b1 27 20 3d 3e 20 27 ef bd 91 27 2c 0a 27 ef bc b2 27 20 3d 3e 20 27 ef bd 92 27 2c .'...'.=>.'...',.'...'.=>.'...',
168c40 0a 27 ef bc b3 27 20 3d 3e 20 27 ef bd 93 27 2c 0a 27 ef bc b4 27 20 3d 3e 20 27 ef bd 94 27 2c .'...'.=>.'...',.'...'.=>.'...',
168c60 0a 27 ef bc b5 27 20 3d 3e 20 27 ef bd 95 27 2c 0a 27 ef bc b6 27 20 3d 3e 20 27 ef bd 96 27 2c .'...'.=>.'...',.'...'.=>.'...',
168c80 0a 27 ef bc b7 27 20 3d 3e 20 27 ef bd 97 27 2c 0a 27 ef bc b8 27 20 3d 3e 20 27 ef bd 98 27 2c .'...'.=>.'...',.'...'.=>.'...',
168ca0 0a 27 ef bc b9 27 20 3d 3e 20 27 ef bd 99 27 2c 0a 27 ef bc ba 27 20 3d 3e 20 27 ef bd 9a 27 2c .'...'.=>.'...',.'...'.=>.'...',
168cc0 0a 27 f0 90 90 80 27 20 3d 3e 20 27 f0 90 90 a8 27 2c 0a 27 f0 90 90 81 27 20 3d 3e 20 27 f0 90 .'....'.=>.'....',.'....'.=>.'..
168ce0 90 a9 27 2c 0a 27 f0 90 90 82 27 20 3d 3e 20 27 f0 90 90 aa 27 2c 0a 27 f0 90 90 83 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
168d00 20 27 f0 90 90 ab 27 2c 0a 27 f0 90 90 84 27 20 3d 3e 20 27 f0 90 90 ac 27 2c 0a 27 f0 90 90 85 .'....',.'....'.=>.'....',.'....
168d20 27 20 3d 3e 20 27 f0 90 90 ad 27 2c 0a 27 f0 90 90 86 27 20 3d 3e 20 27 f0 90 90 ae 27 2c 0a 27 '.=>.'....',.'....'.=>.'....',.'
168d40 f0 90 90 87 27 20 3d 3e 20 27 f0 90 90 af 27 2c 0a 27 f0 90 90 88 27 20 3d 3e 20 27 f0 90 90 b0 ....'.=>.'....',.'....'.=>.'....
168d60 27 2c 0a 27 f0 90 90 89 27 20 3d 3e 20 27 f0 90 90 b1 27 2c 0a 27 f0 90 90 8a 27 20 3d 3e 20 27 ',.'....'.=>.'....',.'....'.=>.'
168d80 f0 90 90 b2 27 2c 0a 27 f0 90 90 8b 27 20 3d 3e 20 27 f0 90 90 b3 27 2c 0a 27 f0 90 90 8c 27 20 ....',.'....'.=>.'....',.'....'.
168da0 3d 3e 20 27 f0 90 90 b4 27 2c 0a 27 f0 90 90 8d 27 20 3d 3e 20 27 f0 90 90 b5 27 2c 0a 27 f0 90 =>.'....',.'....'.=>.'....',.'..
168dc0 90 8e 27 20 3d 3e 20 27 f0 90 90 b6 27 2c 0a 27 f0 90 90 8f 27 20 3d 3e 20 27 f0 90 90 b7 27 2c ..'.=>.'....',.'....'.=>.'....',
168de0 0a 27 f0 90 90 90 27 20 3d 3e 20 27 f0 90 90 b8 27 2c 0a 27 f0 90 90 91 27 20 3d 3e 20 27 f0 90 .'....'.=>.'....',.'....'.=>.'..
168e00 90 b9 27 2c 0a 27 f0 90 90 92 27 20 3d 3e 20 27 f0 90 90 ba 27 2c 0a 27 f0 90 90 93 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
168e20 20 27 f0 90 90 bb 27 2c 0a 27 f0 90 90 94 27 20 3d 3e 20 27 f0 90 90 bc 27 2c 0a 27 f0 90 90 95 .'....',.'....'.=>.'....',.'....
168e40 27 20 3d 3e 20 27 f0 90 90 bd 27 2c 0a 27 f0 90 90 96 27 20 3d 3e 20 27 f0 90 90 be 27 2c 0a 27 '.=>.'....',.'....'.=>.'....',.'
168e60 f0 90 90 97 27 20 3d 3e 20 27 f0 90 90 bf 27 2c 0a 27 f0 90 90 98 27 20 3d 3e 20 27 f0 90 91 80 ....'.=>.'....',.'....'.=>.'....
168e80 27 2c 0a 27 f0 90 90 99 27 20 3d 3e 20 27 f0 90 91 81 27 2c 0a 27 f0 90 90 9a 27 20 3d 3e 20 27 ',.'....'.=>.'....',.'....'.=>.'
168ea0 f0 90 91 82 27 2c 0a 27 f0 90 90 9b 27 20 3d 3e 20 27 f0 90 91 83 27 2c 0a 27 f0 90 90 9c 27 20 ....',.'....'.=>.'....',.'....'.
168ec0 3d 3e 20 27 f0 90 91 84 27 2c 0a 27 f0 90 90 9d 27 20 3d 3e 20 27 f0 90 91 85 27 2c 0a 27 f0 90 =>.'....',.'....'.=>.'....',.'..
168ee0 90 9e 27 20 3d 3e 20 27 f0 90 91 86 27 2c 0a 27 f0 90 90 9f 27 20 3d 3e 20 27 f0 90 91 87 27 2c ..'.=>.'....',.'....'.=>.'....',
168f00 0a 27 f0 90 90 a0 27 20 3d 3e 20 27 f0 90 91 88 27 2c 0a 27 f0 90 90 a1 27 20 3d 3e 20 27 f0 90 .'....'.=>.'....',.'....'.=>.'..
168f20 91 89 27 2c 0a 27 f0 90 90 a2 27 20 3d 3e 20 27 f0 90 91 8a 27 2c 0a 27 f0 90 90 a3 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
168f40 20 27 f0 90 91 8b 27 2c 0a 27 f0 90 90 a4 27 20 3d 3e 20 27 f0 90 91 8c 27 2c 0a 27 f0 90 90 a5 .'....',.'....'.=>.'....',.'....
168f60 27 20 3d 3e 20 27 f0 90 91 8d 27 2c 0a 27 f0 90 90 a6 27 20 3d 3e 20 27 f0 90 91 8e 27 2c 0a 27 '.=>.'....',.'....'.=>.'....',.'
168f80 f0 90 90 a7 27 20 3d 3e 20 27 f0 90 91 8f 27 2c 0a 27 f0 91 a2 a0 27 20 3d 3e 20 27 f0 91 a3 80 ....'.=>.'....',.'....'.=>.'....
168fa0 27 2c 0a 27 f0 91 a2 a1 27 20 3d 3e 20 27 f0 91 a3 81 27 2c 0a 27 f0 91 a2 a2 27 20 3d 3e 20 27 ',.'....'.=>.'....',.'....'.=>.'
168fc0 f0 91 a3 82 27 2c 0a 27 f0 91 a2 a3 27 20 3d 3e 20 27 f0 91 a3 83 27 2c 0a 27 f0 91 a2 a4 27 20 ....',.'....'.=>.'....',.'....'.
168fe0 3d 3e 20 27 f0 91 a3 84 27 2c 0a 27 f0 91 a2 a5 27 20 3d 3e 20 27 f0 91 a3 85 27 2c 0a 27 f0 91 =>.'....',.'....'.=>.'....',.'..
169000 a2 a6 27 20 3d 3e 20 27 f0 91 a3 86 27 2c 0a 27 f0 91 a2 a7 27 20 3d 3e 20 27 f0 91 a3 87 27 2c ..'.=>.'....',.'....'.=>.'....',
169020 0a 27 f0 91 a2 a8 27 20 3d 3e 20 27 f0 91 a3 88 27 2c 0a 27 f0 91 a2 a9 27 20 3d 3e 20 27 f0 91 .'....'.=>.'....',.'....'.=>.'..
169040 a3 89 27 2c 0a 27 f0 91 a2 aa 27 20 3d 3e 20 27 f0 91 a3 8a 27 2c 0a 27 f0 91 a2 ab 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
169060 20 27 f0 91 a3 8b 27 2c 0a 27 f0 91 a2 ac 27 20 3d 3e 20 27 f0 91 a3 8c 27 2c 0a 27 f0 91 a2 ad .'....',.'....'.=>.'....',.'....
169080 27 20 3d 3e 20 27 f0 91 a3 8d 27 2c 0a 27 f0 91 a2 ae 27 20 3d 3e 20 27 f0 91 a3 8e 27 2c 0a 27 '.=>.'....',.'....'.=>.'....',.'
1690a0 f0 91 a2 af 27 20 3d 3e 20 27 f0 91 a3 8f 27 2c 0a 27 f0 91 a2 b0 27 20 3d 3e 20 27 f0 91 a3 90 ....'.=>.'....',.'....'.=>.'....
1690c0 27 2c 0a 27 f0 91 a2 b1 27 20 3d 3e 20 27 f0 91 a3 91 27 2c 0a 27 f0 91 a2 b2 27 20 3d 3e 20 27 ',.'....'.=>.'....',.'....'.=>.'
1690e0 f0 91 a3 92 27 2c 0a 27 f0 91 a2 b3 27 20 3d 3e 20 27 f0 91 a3 93 27 2c 0a 27 f0 91 a2 b4 27 20 ....',.'....'.=>.'....',.'....'.
169100 3d 3e 20 27 f0 91 a3 94 27 2c 0a 27 f0 91 a2 b5 27 20 3d 3e 20 27 f0 91 a3 95 27 2c 0a 27 f0 91 =>.'....',.'....'.=>.'....',.'..
169120 a2 b6 27 20 3d 3e 20 27 f0 91 a3 96 27 2c 0a 27 f0 91 a2 b7 27 20 3d 3e 20 27 f0 91 a3 97 27 2c ..'.=>.'....',.'....'.=>.'....',
169140 0a 27 f0 91 a2 b8 27 20 3d 3e 20 27 f0 91 a3 98 27 2c 0a 27 f0 91 a2 b9 27 20 3d 3e 20 27 f0 91 .'....'.=>.'....',.'....'.=>.'..
169160 a3 99 27 2c 0a 27 f0 91 a2 ba 27 20 3d 3e 20 27 f0 91 a3 9a 27 2c 0a 27 f0 91 a2 bb 27 20 3d 3e ..',.'....'.=>.'....',.'....'.=>
169180 20 27 f0 91 a3 9b 27 2c 0a 27 f0 91 a2 bc 27 20 3d 3e 20 27 f0 91 a3 9c 27 2c 0a 27 f0 91 a2 bd .'....',.'....'.=>.'....',.'....
1691a0 27 20 3d 3e 20 27 f0 91 a3 9d 27 2c 0a 27 f0 91 a2 be 27 20 3d 3e 20 27 f0 91 a3 9e 27 2c 0a 27 '.=>.'....',.'....'.=>.'....',.'
1691c0 f0 91 a2 bf 27 20 3d 3e 20 27 f0 91 a3 9f 27 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 72 65 74 ....'.=>.'....',.);.<?php....ret
1691e0 75 72 6e 20 27 2f 28 3f 3c 21 5b 5c 78 7b 30 30 32 37 7d 5c 78 7b 30 30 32 45 7d 5c 78 7b 30 30 urn.'/(?<![\x{0027}\x{002E}\x{00
169200 33 41 7d 5c 78 7b 30 30 35 45 7d 5c 78 7b 30 30 36 30 7d 5c 78 7b 30 30 41 38 7d 5c 78 7b 30 30 3A}\x{005E}\x{0060}\x{00A8}\x{00
169220 41 44 7d 5c 78 7b 30 30 41 46 7d 5c 78 7b 30 30 42 34 7d 5c 78 7b 30 30 42 37 7d 5c 78 7b 30 30 AD}\x{00AF}\x{00B4}\x{00B7}\x{00
169240 42 38 7d 5c 78 7b 30 32 42 30 7d 2d 5c 78 7b 30 32 43 31 7d 5c 78 7b 30 32 43 32 7d 2d 5c 78 7b B8}\x{02B0}-\x{02C1}\x{02C2}-\x{
169260 30 32 43 35 7d 5c 78 7b 30 32 43 36 7d 2d 5c 78 7b 30 32 44 31 7d 5c 78 7b 30 32 44 32 7d 2d 5c 02C5}\x{02C6}-\x{02D1}\x{02D2}-\
169280 78 7b 30 32 44 46 7d 5c 78 7b 30 32 45 30 7d 2d 5c 78 7b 30 32 45 34 7d 5c 78 7b 30 32 45 35 7d x{02DF}\x{02E0}-\x{02E4}\x{02E5}
1692a0 2d 5c 78 7b 30 32 45 42 7d 5c 78 7b 30 32 45 43 7d 5c 78 7b 30 32 45 44 7d 5c 78 7b 30 32 45 45 -\x{02EB}\x{02EC}\x{02ED}\x{02EE
1692c0 7d 5c 78 7b 30 32 45 46 7d 2d 5c 78 7b 30 32 46 46 7d 5c 78 7b 30 33 30 30 7d 2d 5c 78 7b 30 33 }\x{02EF}-\x{02FF}\x{0300}-\x{03
1692e0 36 46 7d 5c 78 7b 30 33 37 34 7d 5c 78 7b 30 33 37 35 7d 5c 78 7b 30 33 37 41 7d 5c 78 7b 30 33 6F}\x{0374}\x{0375}\x{037A}\x{03
169300 38 34 7d 2d 5c 78 7b 30 33 38 35 7d 5c 78 7b 30 33 38 37 7d 5c 78 7b 30 34 38 33 7d 2d 5c 78 7b 84}-\x{0385}\x{0387}\x{0483}-\x{
169320 30 34 38 37 7d 5c 78 7b 30 34 38 38 7d 2d 5c 78 7b 30 34 38 39 7d 5c 78 7b 30 35 35 39 7d 5c 78 0487}\x{0488}-\x{0489}\x{0559}\x
169340 7b 30 35 39 31 7d 2d 5c 78 7b 30 35 42 44 7d 5c 78 7b 30 35 42 46 7d 5c 78 7b 30 35 43 31 7d 2d {0591}-\x{05BD}\x{05BF}\x{05C1}-
169360 5c 78 7b 30 35 43 32 7d 5c 78 7b 30 35 43 34 7d 2d 5c 78 7b 30 35 43 35 7d 5c 78 7b 30 35 43 37 \x{05C2}\x{05C4}-\x{05C5}\x{05C7
169380 7d 5c 78 7b 30 35 46 34 7d 5c 78 7b 30 36 30 30 7d 2d 5c 78 7b 30 36 30 35 7d 5c 78 7b 30 36 31 }\x{05F4}\x{0600}-\x{0605}\x{061
1693a0 30 7d 2d 5c 78 7b 30 36 31 41 7d 5c 78 7b 30 36 31 43 7d 5c 78 7b 30 36 34 30 7d 5c 78 7b 30 36 0}-\x{061A}\x{061C}\x{0640}\x{06
1693c0 34 42 7d 2d 5c 78 7b 30 36 35 46 7d 5c 78 7b 30 36 37 30 7d 5c 78 7b 30 36 44 36 7d 2d 5c 78 7b 4B}-\x{065F}\x{0670}\x{06D6}-\x{
1693e0 30 36 44 43 7d 5c 78 7b 30 36 44 44 7d 5c 78 7b 30 36 44 46 7d 2d 5c 78 7b 30 36 45 34 7d 5c 78 06DC}\x{06DD}\x{06DF}-\x{06E4}\x
169400 7b 30 36 45 35 7d 2d 5c 78 7b 30 36 45 36 7d 5c 78 7b 30 36 45 37 7d 2d 5c 78 7b 30 36 45 38 7d {06E5}-\x{06E6}\x{06E7}-\x{06E8}
169420 5c 78 7b 30 36 45 41 7d 2d 5c 78 7b 30 36 45 44 7d 5c 78 7b 30 37 30 46 7d 5c 78 7b 30 37 31 31 \x{06EA}-\x{06ED}\x{070F}\x{0711
169440 7d 5c 78 7b 30 37 33 30 7d 2d 5c 78 7b 30 37 34 41 7d 5c 78 7b 30 37 41 36 7d 2d 5c 78 7b 30 37 }\x{0730}-\x{074A}\x{07A6}-\x{07
169460 42 30 7d 5c 78 7b 30 37 45 42 7d 2d 5c 78 7b 30 37 46 33 7d 5c 78 7b 30 37 46 34 7d 2d 5c 78 7b B0}\x{07EB}-\x{07F3}\x{07F4}-\x{
169480 30 37 46 35 7d 5c 78 7b 30 37 46 41 7d 5c 78 7b 30 37 46 44 7d 5c 78 7b 30 38 31 36 7d 2d 5c 78 07F5}\x{07FA}\x{07FD}\x{0816}-\x
1694a0 7b 30 38 31 39 7d 5c 78 7b 30 38 31 41 7d 5c 78 7b 30 38 31 42 7d 2d 5c 78 7b 30 38 32 33 7d 5c {0819}\x{081A}\x{081B}-\x{0823}\
1694c0 78 7b 30 38 32 34 7d 5c 78 7b 30 38 32 35 7d 2d 5c 78 7b 30 38 32 37 7d 5c 78 7b 30 38 32 38 7d x{0824}\x{0825}-\x{0827}\x{0828}
1694e0 5c 78 7b 30 38 32 39 7d 2d 5c 78 7b 30 38 32 44 7d 5c 78 7b 30 38 35 39 7d 2d 5c 78 7b 30 38 35 \x{0829}-\x{082D}\x{0859}-\x{085
169500 42 7d 5c 78 7b 30 38 44 33 7d 2d 5c 78 7b 30 38 45 31 7d 5c 78 7b 30 38 45 32 7d 5c 78 7b 30 38 B}\x{08D3}-\x{08E1}\x{08E2}\x{08
169520 45 33 7d 2d 5c 78 7b 30 39 30 32 7d 5c 78 7b 30 39 33 41 7d 5c 78 7b 30 39 33 43 7d 5c 78 7b 30 E3}-\x{0902}\x{093A}\x{093C}\x{0
169540 39 34 31 7d 2d 5c 78 7b 30 39 34 38 7d 5c 78 7b 30 39 34 44 7d 5c 78 7b 30 39 35 31 7d 2d 5c 78 941}-\x{0948}\x{094D}\x{0951}-\x
169560 7b 30 39 35 37 7d 5c 78 7b 30 39 36 32 7d 2d 5c 78 7b 30 39 36 33 7d 5c 78 7b 30 39 37 31 7d 5c {0957}\x{0962}-\x{0963}\x{0971}\
169580 78 7b 30 39 38 31 7d 5c 78 7b 30 39 42 43 7d 5c 78 7b 30 39 43 31 7d 2d 5c 78 7b 30 39 43 34 7d x{0981}\x{09BC}\x{09C1}-\x{09C4}
1695a0 5c 78 7b 30 39 43 44 7d 5c 78 7b 30 39 45 32 7d 2d 5c 78 7b 30 39 45 33 7d 5c 78 7b 30 39 46 45 \x{09CD}\x{09E2}-\x{09E3}\x{09FE
1695c0 7d 5c 78 7b 30 41 30 31 7d 2d 5c 78 7b 30 41 30 32 7d 5c 78 7b 30 41 33 43 7d 5c 78 7b 30 41 34 }\x{0A01}-\x{0A02}\x{0A3C}\x{0A4
1695e0 31 7d 2d 5c 78 7b 30 41 34 32 7d 5c 78 7b 30 41 34 37 7d 2d 5c 78 7b 30 41 34 38 7d 5c 78 7b 30 1}-\x{0A42}\x{0A47}-\x{0A48}\x{0
169600 41 34 42 7d 2d 5c 78 7b 30 41 34 44 7d 5c 78 7b 30 41 35 31 7d 5c 78 7b 30 41 37 30 7d 2d 5c 78 A4B}-\x{0A4D}\x{0A51}\x{0A70}-\x
169620 7b 30 41 37 31 7d 5c 78 7b 30 41 37 35 7d 5c 78 7b 30 41 38 31 7d 2d 5c 78 7b 30 41 38 32 7d 5c {0A71}\x{0A75}\x{0A81}-\x{0A82}\
169640 78 7b 30 41 42 43 7d 5c 78 7b 30 41 43 31 7d 2d 5c 78 7b 30 41 43 35 7d 5c 78 7b 30 41 43 37 7d x{0ABC}\x{0AC1}-\x{0AC5}\x{0AC7}
169660 2d 5c 78 7b 30 41 43 38 7d 5c 78 7b 30 41 43 44 7d 5c 78 7b 30 41 45 32 7d 2d 5c 78 7b 30 41 45 -\x{0AC8}\x{0ACD}\x{0AE2}-\x{0AE
169680 33 7d 5c 78 7b 30 41 46 41 7d 2d 5c 78 7b 30 41 46 46 7d 5c 78 7b 30 42 30 31 7d 5c 78 7b 30 42 3}\x{0AFA}-\x{0AFF}\x{0B01}\x{0B
1696a0 33 43 7d 5c 78 7b 30 42 33 46 7d 5c 78 7b 30 42 34 31 7d 2d 5c 78 7b 30 42 34 34 7d 5c 78 7b 30 3C}\x{0B3F}\x{0B41}-\x{0B44}\x{0
1696c0 42 34 44 7d 5c 78 7b 30 42 35 36 7d 5c 78 7b 30 42 36 32 7d 2d 5c 78 7b 30 42 36 33 7d 5c 78 7b B4D}\x{0B56}\x{0B62}-\x{0B63}\x{
1696e0 30 42 38 32 7d 5c 78 7b 30 42 43 30 7d 5c 78 7b 30 42 43 44 7d 5c 78 7b 30 43 30 30 7d 5c 78 7b 0B82}\x{0BC0}\x{0BCD}\x{0C00}\x{
169700 30 43 30 34 7d 5c 78 7b 30 43 33 45 7d 2d 5c 78 7b 30 43 34 30 7d 5c 78 7b 30 43 34 36 7d 2d 5c 0C04}\x{0C3E}-\x{0C40}\x{0C46}-\
169720 78 7b 30 43 34 38 7d 5c 78 7b 30 43 34 41 7d 2d 5c 78 7b 30 43 34 44 7d 5c 78 7b 30 43 35 35 7d x{0C48}\x{0C4A}-\x{0C4D}\x{0C55}
169740 2d 5c 78 7b 30 43 35 36 7d 5c 78 7b 30 43 36 32 7d 2d 5c 78 7b 30 43 36 33 7d 5c 78 7b 30 43 38 -\x{0C56}\x{0C62}-\x{0C63}\x{0C8
169760 31 7d 5c 78 7b 30 43 42 43 7d 5c 78 7b 30 43 42 46 7d 5c 78 7b 30 43 43 36 7d 5c 78 7b 30 43 43 1}\x{0CBC}\x{0CBF}\x{0CC6}\x{0CC
169780 43 7d 2d 5c 78 7b 30 43 43 44 7d 5c 78 7b 30 43 45 32 7d 2d 5c 78 7b 30 43 45 33 7d 5c 78 7b 30 C}-\x{0CCD}\x{0CE2}-\x{0CE3}\x{0
1697a0 44 30 30 7d 2d 5c 78 7b 30 44 30 31 7d 5c 78 7b 30 44 33 42 7d 2d 5c 78 7b 30 44 33 43 7d 5c 78 D00}-\x{0D01}\x{0D3B}-\x{0D3C}\x
1697c0 7b 30 44 34 31 7d 2d 5c 78 7b 30 44 34 34 7d 5c 78 7b 30 44 34 44 7d 5c 78 7b 30 44 36 32 7d 2d {0D41}-\x{0D44}\x{0D4D}\x{0D62}-
1697e0 5c 78 7b 30 44 36 33 7d 5c 78 7b 30 44 43 41 7d 5c 78 7b 30 44 44 32 7d 2d 5c 78 7b 30 44 44 34 \x{0D63}\x{0DCA}\x{0DD2}-\x{0DD4
169800 7d 5c 78 7b 30 44 44 36 7d 5c 78 7b 30 45 33 31 7d 5c 78 7b 30 45 33 34 7d 2d 5c 78 7b 30 45 33 }\x{0DD6}\x{0E31}\x{0E34}-\x{0E3
169820 41 7d 5c 78 7b 30 45 34 36 7d 5c 78 7b 30 45 34 37 7d 2d 5c 78 7b 30 45 34 45 7d 5c 78 7b 30 45 A}\x{0E46}\x{0E47}-\x{0E4E}\x{0E
169840 42 31 7d 5c 78 7b 30 45 42 34 7d 2d 5c 78 7b 30 45 42 39 7d 5c 78 7b 30 45 42 42 7d 2d 5c 78 7b B1}\x{0EB4}-\x{0EB9}\x{0EBB}-\x{
169860 30 45 42 43 7d 5c 78 7b 30 45 43 36 7d 5c 78 7b 30 45 43 38 7d 2d 5c 78 7b 30 45 43 44 7d 5c 78 0EBC}\x{0EC6}\x{0EC8}-\x{0ECD}\x
169880 7b 30 46 31 38 7d 2d 5c 78 7b 30 46 31 39 7d 5c 78 7b 30 46 33 35 7d 5c 78 7b 30 46 33 37 7d 5c {0F18}-\x{0F19}\x{0F35}\x{0F37}\
1698a0 78 7b 30 46 33 39 7d 5c 78 7b 30 46 37 31 7d 2d 5c 78 7b 30 46 37 45 7d 5c 78 7b 30 46 38 30 7d x{0F39}\x{0F71}-\x{0F7E}\x{0F80}
1698c0 2d 5c 78 7b 30 46 38 34 7d 5c 78 7b 30 46 38 36 7d 2d 5c 78 7b 30 46 38 37 7d 5c 78 7b 30 46 38 -\x{0F84}\x{0F86}-\x{0F87}\x{0F8
1698e0 44 7d 2d 5c 78 7b 30 46 39 37 7d 5c 78 7b 30 46 39 39 7d 2d 5c 78 7b 30 46 42 43 7d 5c 78 7b 30 D}-\x{0F97}\x{0F99}-\x{0FBC}\x{0
169900 46 43 36 7d 5c 78 7b 31 30 32 44 7d 2d 5c 78 7b 31 30 33 30 7d 5c 78 7b 31 30 33 32 7d 2d 5c 78 FC6}\x{102D}-\x{1030}\x{1032}-\x
169920 7b 31 30 33 37 7d 5c 78 7b 31 30 33 39 7d 2d 5c 78 7b 31 30 33 41 7d 5c 78 7b 31 30 33 44 7d 2d {1037}\x{1039}-\x{103A}\x{103D}-
169940 5c 78 7b 31 30 33 45 7d 5c 78 7b 31 30 35 38 7d 2d 5c 78 7b 31 30 35 39 7d 5c 78 7b 31 30 35 45 \x{103E}\x{1058}-\x{1059}\x{105E
169960 7d 2d 5c 78 7b 31 30 36 30 7d 5c 78 7b 31 30 37 31 7d 2d 5c 78 7b 31 30 37 34 7d 5c 78 7b 31 30 }-\x{1060}\x{1071}-\x{1074}\x{10
169980 38 32 7d 5c 78 7b 31 30 38 35 7d 2d 5c 78 7b 31 30 38 36 7d 5c 78 7b 31 30 38 44 7d 5c 78 7b 31 82}\x{1085}-\x{1086}\x{108D}\x{1
1699a0 30 39 44 7d 5c 78 7b 31 30 46 43 7d 5c 78 7b 31 33 35 44 7d 2d 5c 78 7b 31 33 35 46 7d 5c 78 7b 09D}\x{10FC}\x{135D}-\x{135F}\x{
1699c0 31 37 31 32 7d 2d 5c 78 7b 31 37 31 34 7d 5c 78 7b 31 37 33 32 7d 2d 5c 78 7b 31 37 33 34 7d 5c 1712}-\x{1714}\x{1732}-\x{1734}\
1699e0 78 7b 31 37 35 32 7d 2d 5c 78 7b 31 37 35 33 7d 5c 78 7b 31 37 37 32 7d 2d 5c 78 7b 31 37 37 33 x{1752}-\x{1753}\x{1772}-\x{1773
169a00 7d 5c 78 7b 31 37 42 34 7d 2d 5c 78 7b 31 37 42 35 7d 5c 78 7b 31 37 42 37 7d 2d 5c 78 7b 31 37 }\x{17B4}-\x{17B5}\x{17B7}-\x{17
169a20 42 44 7d 5c 78 7b 31 37 43 36 7d 5c 78 7b 31 37 43 39 7d 2d 5c 78 7b 31 37 44 33 7d 5c 78 7b 31 BD}\x{17C6}\x{17C9}-\x{17D3}\x{1
169a40 37 44 37 7d 5c 78 7b 31 37 44 44 7d 5c 78 7b 31 38 30 42 7d 2d 5c 78 7b 31 38 30 44 7d 5c 78 7b 7D7}\x{17DD}\x{180B}-\x{180D}\x{
169a60 31 38 30 45 7d 5c 78 7b 31 38 34 33 7d 5c 78 7b 31 38 38 35 7d 2d 5c 78 7b 31 38 38 36 7d 5c 78 180E}\x{1843}\x{1885}-\x{1886}\x
169a80 7b 31 38 41 39 7d 5c 78 7b 31 39 32 30 7d 2d 5c 78 7b 31 39 32 32 7d 5c 78 7b 31 39 32 37 7d 2d {18A9}\x{1920}-\x{1922}\x{1927}-
169aa0 5c 78 7b 31 39 32 38 7d 5c 78 7b 31 39 33 32 7d 5c 78 7b 31 39 33 39 7d 2d 5c 78 7b 31 39 33 42 \x{1928}\x{1932}\x{1939}-\x{193B
169ac0 7d 5c 78 7b 31 41 31 37 7d 2d 5c 78 7b 31 41 31 38 7d 5c 78 7b 31 41 31 42 7d 5c 78 7b 31 41 35 }\x{1A17}-\x{1A18}\x{1A1B}\x{1A5
169ae0 36 7d 5c 78 7b 31 41 35 38 7d 2d 5c 78 7b 31 41 35 45 7d 5c 78 7b 31 41 36 30 7d 5c 78 7b 31 41 6}\x{1A58}-\x{1A5E}\x{1A60}\x{1A
169b00 36 32 7d 5c 78 7b 31 41 36 35 7d 2d 5c 78 7b 31 41 36 43 7d 5c 78 7b 31 41 37 33 7d 2d 5c 78 7b 62}\x{1A65}-\x{1A6C}\x{1A73}-\x{
169b20 31 41 37 43 7d 5c 78 7b 31 41 37 46 7d 5c 78 7b 31 41 41 37 7d 5c 78 7b 31 41 42 30 7d 2d 5c 78 1A7C}\x{1A7F}\x{1AA7}\x{1AB0}-\x
169b40 7b 31 41 42 44 7d 5c 78 7b 31 41 42 45 7d 5c 78 7b 31 42 30 30 7d 2d 5c 78 7b 31 42 30 33 7d 5c {1ABD}\x{1ABE}\x{1B00}-\x{1B03}\
169b60 78 7b 31 42 33 34 7d 5c 78 7b 31 42 33 36 7d 2d 5c 78 7b 31 42 33 41 7d 5c 78 7b 31 42 33 43 7d x{1B34}\x{1B36}-\x{1B3A}\x{1B3C}
169b80 5c 78 7b 31 42 34 32 7d 5c 78 7b 31 42 36 42 7d 2d 5c 78 7b 31 42 37 33 7d 5c 78 7b 31 42 38 30 \x{1B42}\x{1B6B}-\x{1B73}\x{1B80
169ba0 7d 2d 5c 78 7b 31 42 38 31 7d 5c 78 7b 31 42 41 32 7d 2d 5c 78 7b 31 42 41 35 7d 5c 78 7b 31 42 }-\x{1B81}\x{1BA2}-\x{1BA5}\x{1B
169bc0 41 38 7d 2d 5c 78 7b 31 42 41 39 7d 5c 78 7b 31 42 41 42 7d 2d 5c 78 7b 31 42 41 44 7d 5c 78 7b A8}-\x{1BA9}\x{1BAB}-\x{1BAD}\x{
169be0 31 42 45 36 7d 5c 78 7b 31 42 45 38 7d 2d 5c 78 7b 31 42 45 39 7d 5c 78 7b 31 42 45 44 7d 5c 78 1BE6}\x{1BE8}-\x{1BE9}\x{1BED}\x
169c00 7b 31 42 45 46 7d 2d 5c 78 7b 31 42 46 31 7d 5c 78 7b 31 43 32 43 7d 2d 5c 78 7b 31 43 33 33 7d {1BEF}-\x{1BF1}\x{1C2C}-\x{1C33}
169c20 5c 78 7b 31 43 33 36 7d 2d 5c 78 7b 31 43 33 37 7d 5c 78 7b 31 43 37 38 7d 2d 5c 78 7b 31 43 37 \x{1C36}-\x{1C37}\x{1C78}-\x{1C7
169c40 44 7d 5c 78 7b 31 43 44 30 7d 2d 5c 78 7b 31 43 44 32 7d 5c 78 7b 31 43 44 34 7d 2d 5c 78 7b 31 D}\x{1CD0}-\x{1CD2}\x{1CD4}-\x{1
169c60 43 45 30 7d 5c 78 7b 31 43 45 32 7d 2d 5c 78 7b 31 43 45 38 7d 5c 78 7b 31 43 45 44 7d 5c 78 7b CE0}\x{1CE2}-\x{1CE8}\x{1CED}\x{
169c80 31 43 46 34 7d 5c 78 7b 31 43 46 38 7d 2d 5c 78 7b 31 43 46 39 7d 5c 78 7b 31 44 32 43 7d 2d 5c 1CF4}\x{1CF8}-\x{1CF9}\x{1D2C}-\
169ca0 78 7b 31 44 36 41 7d 5c 78 7b 31 44 37 38 7d 5c 78 7b 31 44 39 42 7d 2d 5c 78 7b 31 44 42 46 7d x{1D6A}\x{1D78}\x{1D9B}-\x{1DBF}
169cc0 5c 78 7b 31 44 43 30 7d 2d 5c 78 7b 31 44 46 39 7d 5c 78 7b 31 44 46 42 7d 2d 5c 78 7b 31 44 46 \x{1DC0}-\x{1DF9}\x{1DFB}-\x{1DF
169ce0 46 7d 5c 78 7b 31 46 42 44 7d 5c 78 7b 31 46 42 46 7d 2d 5c 78 7b 31 46 43 31 7d 5c 78 7b 31 46 F}\x{1FBD}\x{1FBF}-\x{1FC1}\x{1F
169d00 43 44 7d 2d 5c 78 7b 31 46 43 46 7d 5c 78 7b 31 46 44 44 7d 2d 5c 78 7b 31 46 44 46 7d 5c 78 7b CD}-\x{1FCF}\x{1FDD}-\x{1FDF}\x{
169d20 31 46 45 44 7d 2d 5c 78 7b 31 46 45 46 7d 5c 78 7b 31 46 46 44 7d 2d 5c 78 7b 31 46 46 45 7d 5c 1FED}-\x{1FEF}\x{1FFD}-\x{1FFE}\
169d40 78 7b 32 30 30 42 7d 2d 5c 78 7b 32 30 30 46 7d 5c 78 7b 32 30 31 38 7d 5c 78 7b 32 30 31 39 7d x{200B}-\x{200F}\x{2018}\x{2019}
169d60 5c 78 7b 32 30 32 34 7d 5c 78 7b 32 30 32 37 7d 5c 78 7b 32 30 32 41 7d 2d 5c 78 7b 32 30 32 45 \x{2024}\x{2027}\x{202A}-\x{202E
169d80 7d 5c 78 7b 32 30 36 30 7d 2d 5c 78 7b 32 30 36 34 7d 5c 78 7b 32 30 36 36 7d 2d 5c 78 7b 32 30 }\x{2060}-\x{2064}\x{2066}-\x{20
169da0 36 46 7d 5c 78 7b 32 30 37 31 7d 5c 78 7b 32 30 37 46 7d 5c 78 7b 32 30 39 30 7d 2d 5c 78 7b 32 6F}\x{2071}\x{207F}\x{2090}-\x{2
169dc0 30 39 43 7d 5c 78 7b 32 30 44 30 7d 2d 5c 78 7b 32 30 44 43 7d 5c 78 7b 32 30 44 44 7d 2d 5c 78 09C}\x{20D0}-\x{20DC}\x{20DD}-\x
169de0 7b 32 30 45 30 7d 5c 78 7b 32 30 45 31 7d 5c 78 7b 32 30 45 32 7d 2d 5c 78 7b 32 30 45 34 7d 5c {20E0}\x{20E1}\x{20E2}-\x{20E4}\
169e00 78 7b 32 30 45 35 7d 2d 5c 78 7b 32 30 46 30 7d 5c 78 7b 32 43 37 43 7d 2d 5c 78 7b 32 43 37 44 x{20E5}-\x{20F0}\x{2C7C}-\x{2C7D
169e20 7d 5c 78 7b 32 43 45 46 7d 2d 5c 78 7b 32 43 46 31 7d 5c 78 7b 32 44 36 46 7d 5c 78 7b 32 44 37 }\x{2CEF}-\x{2CF1}\x{2D6F}\x{2D7
169e40 46 7d 5c 78 7b 32 44 45 30 7d 2d 5c 78 7b 32 44 46 46 7d 5c 78 7b 32 45 32 46 7d 5c 78 7b 33 30 F}\x{2DE0}-\x{2DFF}\x{2E2F}\x{30
169e60 30 35 7d 5c 78 7b 33 30 32 41 7d 2d 5c 78 7b 33 30 32 44 7d 5c 78 7b 33 30 33 31 7d 2d 5c 78 7b 05}\x{302A}-\x{302D}\x{3031}-\x{
169e80 33 30 33 35 7d 5c 78 7b 33 30 33 42 7d 5c 78 7b 33 30 39 39 7d 2d 5c 78 7b 33 30 39 41 7d 5c 78 3035}\x{303B}\x{3099}-\x{309A}\x
169ea0 7b 33 30 39 42 7d 2d 5c 78 7b 33 30 39 43 7d 5c 78 7b 33 30 39 44 7d 2d 5c 78 7b 33 30 39 45 7d {309B}-\x{309C}\x{309D}-\x{309E}
169ec0 5c 78 7b 33 30 46 43 7d 2d 5c 78 7b 33 30 46 45 7d 5c 78 7b 41 30 31 35 7d 5c 78 7b 41 34 46 38 \x{30FC}-\x{30FE}\x{A015}\x{A4F8
169ee0 7d 2d 5c 78 7b 41 34 46 44 7d 5c 78 7b 41 36 30 43 7d 5c 78 7b 41 36 36 46 7d 5c 78 7b 41 36 37 }-\x{A4FD}\x{A60C}\x{A66F}\x{A67
169f00 30 7d 2d 5c 78 7b 41 36 37 32 7d 5c 78 7b 41 36 37 34 7d 2d 5c 78 7b 41 36 37 44 7d 5c 78 7b 41 0}-\x{A672}\x{A674}-\x{A67D}\x{A
169f20 36 37 46 7d 5c 78 7b 41 36 39 43 7d 2d 5c 78 7b 41 36 39 44 7d 5c 78 7b 41 36 39 45 7d 2d 5c 78 67F}\x{A69C}-\x{A69D}\x{A69E}-\x
169f40 7b 41 36 39 46 7d 5c 78 7b 41 36 46 30 7d 2d 5c 78 7b 41 36 46 31 7d 5c 78 7b 41 37 30 30 7d 2d {A69F}\x{A6F0}-\x{A6F1}\x{A700}-
169f60 5c 78 7b 41 37 31 36 7d 5c 78 7b 41 37 31 37 7d 2d 5c 78 7b 41 37 31 46 7d 5c 78 7b 41 37 32 30 \x{A716}\x{A717}-\x{A71F}\x{A720
169f80 7d 2d 5c 78 7b 41 37 32 31 7d 5c 78 7b 41 37 37 30 7d 5c 78 7b 41 37 38 38 7d 5c 78 7b 41 37 38 }-\x{A721}\x{A770}\x{A788}\x{A78
169fa0 39 7d 2d 5c 78 7b 41 37 38 41 7d 5c 78 7b 41 37 46 38 7d 2d 5c 78 7b 41 37 46 39 7d 5c 78 7b 41 9}-\x{A78A}\x{A7F8}-\x{A7F9}\x{A
169fc0 38 30 32 7d 5c 78 7b 41 38 30 36 7d 5c 78 7b 41 38 30 42 7d 5c 78 7b 41 38 32 35 7d 2d 5c 78 7b 802}\x{A806}\x{A80B}\x{A825}-\x{
169fe0 41 38 32 36 7d 5c 78 7b 41 38 43 34 7d 2d 5c 78 7b 41 38 43 35 7d 5c 78 7b 41 38 45 30 7d 2d 5c A826}\x{A8C4}-\x{A8C5}\x{A8E0}-\
16a000 78 7b 41 38 46 31 7d 5c 78 7b 41 38 46 46 7d 5c 78 7b 41 39 32 36 7d 2d 5c 78 7b 41 39 32 44 7d x{A8F1}\x{A8FF}\x{A926}-\x{A92D}
16a020 5c 78 7b 41 39 34 37 7d 2d 5c 78 7b 41 39 35 31 7d 5c 78 7b 41 39 38 30 7d 2d 5c 78 7b 41 39 38 \x{A947}-\x{A951}\x{A980}-\x{A98
16a040 32 7d 5c 78 7b 41 39 42 33 7d 5c 78 7b 41 39 42 36 7d 2d 5c 78 7b 41 39 42 39 7d 5c 78 7b 41 39 2}\x{A9B3}\x{A9B6}-\x{A9B9}\x{A9
16a060 42 43 7d 5c 78 7b 41 39 43 46 7d 5c 78 7b 41 39 45 35 7d 5c 78 7b 41 39 45 36 7d 5c 78 7b 41 41 BC}\x{A9CF}\x{A9E5}\x{A9E6}\x{AA
16a080 32 39 7d 2d 5c 78 7b 41 41 32 45 7d 5c 78 7b 41 41 33 31 7d 2d 5c 78 7b 41 41 33 32 7d 5c 78 7b 29}-\x{AA2E}\x{AA31}-\x{AA32}\x{
16a0a0 41 41 33 35 7d 2d 5c 78 7b 41 41 33 36 7d 5c 78 7b 41 41 34 33 7d 5c 78 7b 41 41 34 43 7d 5c 78 AA35}-\x{AA36}\x{AA43}\x{AA4C}\x
16a0c0 7b 41 41 37 30 7d 5c 78 7b 41 41 37 43 7d 5c 78 7b 41 41 42 30 7d 5c 78 7b 41 41 42 32 7d 2d 5c {AA70}\x{AA7C}\x{AAB0}\x{AAB2}-\
16a0e0 78 7b 41 41 42 34 7d 5c 78 7b 41 41 42 37 7d 2d 5c 78 7b 41 41 42 38 7d 5c 78 7b 41 41 42 45 7d x{AAB4}\x{AAB7}-\x{AAB8}\x{AABE}
16a100 2d 5c 78 7b 41 41 42 46 7d 5c 78 7b 41 41 43 31 7d 5c 78 7b 41 41 44 44 7d 5c 78 7b 41 41 45 43 -\x{AABF}\x{AAC1}\x{AADD}\x{AAEC
16a120 7d 2d 5c 78 7b 41 41 45 44 7d 5c 78 7b 41 41 46 33 7d 2d 5c 78 7b 41 41 46 34 7d 5c 78 7b 41 41 }-\x{AAED}\x{AAF3}-\x{AAF4}\x{AA
16a140 46 36 7d 5c 78 7b 41 42 35 42 7d 5c 78 7b 41 42 35 43 7d 2d 5c 78 7b 41 42 35 46 7d 5c 78 7b 41 F6}\x{AB5B}\x{AB5C}-\x{AB5F}\x{A
16a160 42 45 35 7d 5c 78 7b 41 42 45 38 7d 5c 78 7b 41 42 45 44 7d 5c 78 7b 46 42 31 45 7d 5c 78 7b 46 BE5}\x{ABE8}\x{ABED}\x{FB1E}\x{F
16a180 42 42 32 7d 2d 5c 78 7b 46 42 43 31 7d 5c 78 7b 46 45 30 30 7d 2d 5c 78 7b 46 45 30 46 7d 5c 78 BB2}-\x{FBC1}\x{FE00}-\x{FE0F}\x
16a1a0 7b 46 45 31 33 7d 5c 78 7b 46 45 32 30 7d 2d 5c 78 7b 46 45 32 46 7d 5c 78 7b 46 45 35 32 7d 5c {FE13}\x{FE20}-\x{FE2F}\x{FE52}\
16a1c0 78 7b 46 45 35 35 7d 5c 78 7b 46 45 46 46 7d 5c 78 7b 46 46 30 37 7d 5c 78 7b 46 46 30 45 7d 5c x{FE55}\x{FEFF}\x{FF07}\x{FF0E}\
16a1e0 78 7b 46 46 31 41 7d 5c 78 7b 46 46 33 45 7d 5c 78 7b 46 46 34 30 7d 5c 78 7b 46 46 37 30 7d 5c x{FF1A}\x{FF3E}\x{FF40}\x{FF70}\
16a200 78 7b 46 46 39 45 7d 2d 5c 78 7b 46 46 39 46 7d 5c 78 7b 46 46 45 33 7d 5c 78 7b 46 46 46 39 7d x{FF9E}-\x{FF9F}\x{FFE3}\x{FFF9}
16a220 2d 5c 78 7b 46 46 46 42 7d 5c 78 7b 31 30 31 46 44 7d 5c 78 7b 31 30 32 45 30 7d 5c 78 7b 31 30 -\x{FFFB}\x{101FD}\x{102E0}\x{10
16a240 33 37 36 7d 2d 5c 78 7b 31 30 33 37 41 7d 5c 78 7b 31 30 41 30 31 7d 2d 5c 78 7b 31 30 41 30 33 376}-\x{1037A}\x{10A01}-\x{10A03
16a260 7d 5c 78 7b 31 30 41 30 35 7d 2d 5c 78 7b 31 30 41 30 36 7d 5c 78 7b 31 30 41 30 43 7d 2d 5c 78 }\x{10A05}-\x{10A06}\x{10A0C}-\x
16a280 7b 31 30 41 30 46 7d 5c 78 7b 31 30 41 33 38 7d 2d 5c 78 7b 31 30 41 33 41 7d 5c 78 7b 31 30 41 {10A0F}\x{10A38}-\x{10A3A}\x{10A
16a2a0 33 46 7d 5c 78 7b 31 30 41 45 35 7d 2d 5c 78 7b 31 30 41 45 36 7d 5c 78 7b 31 30 44 32 34 7d 2d 3F}\x{10AE5}-\x{10AE6}\x{10D24}-
16a2c0 5c 78 7b 31 30 44 32 37 7d 5c 78 7b 31 30 46 34 36 7d 2d 5c 78 7b 31 30 46 35 30 7d 5c 78 7b 31 \x{10D27}\x{10F46}-\x{10F50}\x{1
16a2e0 31 30 30 31 7d 5c 78 7b 31 31 30 33 38 7d 2d 5c 78 7b 31 31 30 34 36 7d 5c 78 7b 31 31 30 37 46 1001}\x{11038}-\x{11046}\x{1107F
16a300 7d 2d 5c 78 7b 31 31 30 38 31 7d 5c 78 7b 31 31 30 42 33 7d 2d 5c 78 7b 31 31 30 42 36 7d 5c 78 }-\x{11081}\x{110B3}-\x{110B6}\x
16a320 7b 31 31 30 42 39 7d 2d 5c 78 7b 31 31 30 42 41 7d 5c 78 7b 31 31 30 42 44 7d 5c 78 7b 31 31 30 {110B9}-\x{110BA}\x{110BD}\x{110
16a340 43 44 7d 5c 78 7b 31 31 31 30 30 7d 2d 5c 78 7b 31 31 31 30 32 7d 5c 78 7b 31 31 31 32 37 7d 2d CD}\x{11100}-\x{11102}\x{11127}-
16a360 5c 78 7b 31 31 31 32 42 7d 5c 78 7b 31 31 31 32 44 7d 2d 5c 78 7b 31 31 31 33 34 7d 5c 78 7b 31 \x{1112B}\x{1112D}-\x{11134}\x{1
16a380 31 31 37 33 7d 5c 78 7b 31 31 31 38 30 7d 2d 5c 78 7b 31 31 31 38 31 7d 5c 78 7b 31 31 31 42 36 1173}\x{11180}-\x{11181}\x{111B6
16a3a0 7d 2d 5c 78 7b 31 31 31 42 45 7d 5c 78 7b 31 31 31 43 39 7d 2d 5c 78 7b 31 31 31 43 43 7d 5c 78 }-\x{111BE}\x{111C9}-\x{111CC}\x
16a3c0 7b 31 31 32 32 46 7d 2d 5c 78 7b 31 31 32 33 31 7d 5c 78 7b 31 31 32 33 34 7d 5c 78 7b 31 31 32 {1122F}-\x{11231}\x{11234}\x{112
16a3e0 33 36 7d 2d 5c 78 7b 31 31 32 33 37 7d 5c 78 7b 31 31 32 33 45 7d 5c 78 7b 31 31 32 44 46 7d 5c 36}-\x{11237}\x{1123E}\x{112DF}\
16a400 78 7b 31 31 32 45 33 7d 2d 5c 78 7b 31 31 32 45 41 7d 5c 78 7b 31 31 33 30 30 7d 2d 5c 78 7b 31 x{112E3}-\x{112EA}\x{11300}-\x{1
16a420 31 33 30 31 7d 5c 78 7b 31 31 33 33 42 7d 2d 5c 78 7b 31 31 33 33 43 7d 5c 78 7b 31 31 33 34 30 1301}\x{1133B}-\x{1133C}\x{11340
16a440 7d 5c 78 7b 31 31 33 36 36 7d 2d 5c 78 7b 31 31 33 36 43 7d 5c 78 7b 31 31 33 37 30 7d 2d 5c 78 }\x{11366}-\x{1136C}\x{11370}-\x
16a460 7b 31 31 33 37 34 7d 5c 78 7b 31 31 34 33 38 7d 2d 5c 78 7b 31 31 34 33 46 7d 5c 78 7b 31 31 34 {11374}\x{11438}-\x{1143F}\x{114
16a480 34 32 7d 2d 5c 78 7b 31 31 34 34 34 7d 5c 78 7b 31 31 34 34 36 7d 5c 78 7b 31 31 34 35 45 7d 5c 42}-\x{11444}\x{11446}\x{1145E}\
16a4a0 78 7b 31 31 34 42 33 7d 2d 5c 78 7b 31 31 34 42 38 7d 5c 78 7b 31 31 34 42 41 7d 5c 78 7b 31 31 x{114B3}-\x{114B8}\x{114BA}\x{11
16a4c0 34 42 46 7d 2d 5c 78 7b 31 31 34 43 30 7d 5c 78 7b 31 31 34 43 32 7d 2d 5c 78 7b 31 31 34 43 33 4BF}-\x{114C0}\x{114C2}-\x{114C3
16a4e0 7d 5c 78 7b 31 31 35 42 32 7d 2d 5c 78 7b 31 31 35 42 35 7d 5c 78 7b 31 31 35 42 43 7d 2d 5c 78 }\x{115B2}-\x{115B5}\x{115BC}-\x
16a500 7b 31 31 35 42 44 7d 5c 78 7b 31 31 35 42 46 7d 2d 5c 78 7b 31 31 35 43 30 7d 5c 78 7b 31 31 35 {115BD}\x{115BF}-\x{115C0}\x{115
16a520 44 43 7d 2d 5c 78 7b 31 31 35 44 44 7d 5c 78 7b 31 31 36 33 33 7d 2d 5c 78 7b 31 31 36 33 41 7d DC}-\x{115DD}\x{11633}-\x{1163A}
16a540 5c 78 7b 31 31 36 33 44 7d 5c 78 7b 31 31 36 33 46 7d 2d 5c 78 7b 31 31 36 34 30 7d 5c 78 7b 31 \x{1163D}\x{1163F}-\x{11640}\x{1
16a560 31 36 41 42 7d 5c 78 7b 31 31 36 41 44 7d 5c 78 7b 31 31 36 42 30 7d 2d 5c 78 7b 31 31 36 42 35 16AB}\x{116AD}\x{116B0}-\x{116B5
16a580 7d 5c 78 7b 31 31 36 42 37 7d 5c 78 7b 31 31 37 31 44 7d 2d 5c 78 7b 31 31 37 31 46 7d 5c 78 7b }\x{116B7}\x{1171D}-\x{1171F}\x{
16a5a0 31 31 37 32 32 7d 2d 5c 78 7b 31 31 37 32 35 7d 5c 78 7b 31 31 37 32 37 7d 2d 5c 78 7b 31 31 37 11722}-\x{11725}\x{11727}-\x{117
16a5c0 32 42 7d 5c 78 7b 31 31 38 32 46 7d 2d 5c 78 7b 31 31 38 33 37 7d 5c 78 7b 31 31 38 33 39 7d 2d 2B}\x{1182F}-\x{11837}\x{11839}-
16a5e0 5c 78 7b 31 31 38 33 41 7d 5c 78 7b 31 31 41 30 31 7d 2d 5c 78 7b 31 31 41 30 41 7d 5c 78 7b 31 \x{1183A}\x{11A01}-\x{11A0A}\x{1
16a600 31 41 33 33 7d 2d 5c 78 7b 31 31 41 33 38 7d 5c 78 7b 31 31 41 33 42 7d 2d 5c 78 7b 31 31 41 33 1A33}-\x{11A38}\x{11A3B}-\x{11A3
16a620 45 7d 5c 78 7b 31 31 41 34 37 7d 5c 78 7b 31 31 41 35 31 7d 2d 5c 78 7b 31 31 41 35 36 7d 5c 78 E}\x{11A47}\x{11A51}-\x{11A56}\x
16a640 7b 31 31 41 35 39 7d 2d 5c 78 7b 31 31 41 35 42 7d 5c 78 7b 31 31 41 38 41 7d 2d 5c 78 7b 31 31 {11A59}-\x{11A5B}\x{11A8A}-\x{11
16a660 41 39 36 7d 5c 78 7b 31 31 41 39 38 7d 2d 5c 78 7b 31 31 41 39 39 7d 5c 78 7b 31 31 43 33 30 7d A96}\x{11A98}-\x{11A99}\x{11C30}
16a680 2d 5c 78 7b 31 31 43 33 36 7d 5c 78 7b 31 31 43 33 38 7d 2d 5c 78 7b 31 31 43 33 44 7d 5c 78 7b -\x{11C36}\x{11C38}-\x{11C3D}\x{
16a6a0 31 31 43 33 46 7d 5c 78 7b 31 31 43 39 32 7d 2d 5c 78 7b 31 31 43 41 37 7d 5c 78 7b 31 31 43 41 11C3F}\x{11C92}-\x{11CA7}\x{11CA
16a6c0 41 7d 2d 5c 78 7b 31 31 43 42 30 7d 5c 78 7b 31 31 43 42 32 7d 2d 5c 78 7b 31 31 43 42 33 7d 5c A}-\x{11CB0}\x{11CB2}-\x{11CB3}\
16a6e0 78 7b 31 31 43 42 35 7d 2d 5c 78 7b 31 31 43 42 36 7d 5c 78 7b 31 31 44 33 31 7d 2d 5c 78 7b 31 x{11CB5}-\x{11CB6}\x{11D31}-\x{1
16a700 31 44 33 36 7d 5c 78 7b 31 31 44 33 41 7d 5c 78 7b 31 31 44 33 43 7d 2d 5c 78 7b 31 31 44 33 44 1D36}\x{11D3A}\x{11D3C}-\x{11D3D
16a720 7d 5c 78 7b 31 31 44 33 46 7d 2d 5c 78 7b 31 31 44 34 35 7d 5c 78 7b 31 31 44 34 37 7d 5c 78 7b }\x{11D3F}-\x{11D45}\x{11D47}\x{
16a740 31 31 44 39 30 7d 2d 5c 78 7b 31 31 44 39 31 7d 5c 78 7b 31 31 44 39 35 7d 5c 78 7b 31 31 44 39 11D90}-\x{11D91}\x{11D95}\x{11D9
16a760 37 7d 5c 78 7b 31 31 45 46 33 7d 2d 5c 78 7b 31 31 45 46 34 7d 5c 78 7b 31 36 41 46 30 7d 2d 5c 7}\x{11EF3}-\x{11EF4}\x{16AF0}-\
16a780 78 7b 31 36 41 46 34 7d 5c 78 7b 31 36 42 33 30 7d 2d 5c 78 7b 31 36 42 33 36 7d 5c 78 7b 31 36 x{16AF4}\x{16B30}-\x{16B36}\x{16
16a7a0 42 34 30 7d 2d 5c 78 7b 31 36 42 34 33 7d 5c 78 7b 31 36 46 38 46 7d 2d 5c 78 7b 31 36 46 39 32 B40}-\x{16B43}\x{16F8F}-\x{16F92
16a7c0 7d 5c 78 7b 31 36 46 39 33 7d 2d 5c 78 7b 31 36 46 39 46 7d 5c 78 7b 31 36 46 45 30 7d 2d 5c 78 }\x{16F93}-\x{16F9F}\x{16FE0}-\x
16a7e0 7b 31 36 46 45 31 7d 5c 78 7b 31 42 43 39 44 7d 2d 5c 78 7b 31 42 43 39 45 7d 5c 78 7b 31 42 43 {16FE1}\x{1BC9D}-\x{1BC9E}\x{1BC
16a800 41 30 7d 2d 5c 78 7b 31 42 43 41 33 7d 5c 78 7b 31 44 31 36 37 7d 2d 5c 78 7b 31 44 31 36 39 7d A0}-\x{1BCA3}\x{1D167}-\x{1D169}
16a820 5c 78 7b 31 44 31 37 33 7d 2d 5c 78 7b 31 44 31 37 41 7d 5c 78 7b 31 44 31 37 42 7d 2d 5c 78 7b \x{1D173}-\x{1D17A}\x{1D17B}-\x{
16a840 31 44 31 38 32 7d 5c 78 7b 31 44 31 38 35 7d 2d 5c 78 7b 31 44 31 38 42 7d 5c 78 7b 31 44 31 41 1D182}\x{1D185}-\x{1D18B}\x{1D1A
16a860 41 7d 2d 5c 78 7b 31 44 31 41 44 7d 5c 78 7b 31 44 32 34 32 7d 2d 5c 78 7b 31 44 32 34 34 7d 5c A}-\x{1D1AD}\x{1D242}-\x{1D244}\
16a880 78 7b 31 44 41 30 30 7d 2d 5c 78 7b 31 44 41 33 36 7d 5c 78 7b 31 44 41 33 42 7d 2d 5c 78 7b 31 x{1DA00}-\x{1DA36}\x{1DA3B}-\x{1
16a8a0 44 41 36 43 7d 5c 78 7b 31 44 41 37 35 7d 5c 78 7b 31 44 41 38 34 7d 5c 78 7b 31 44 41 39 42 7d DA6C}\x{1DA75}\x{1DA84}\x{1DA9B}
16a8c0 2d 5c 78 7b 31 44 41 39 46 7d 5c 78 7b 31 44 41 41 31 7d 2d 5c 78 7b 31 44 41 41 46 7d 5c 78 7b -\x{1DA9F}\x{1DAA1}-\x{1DAAF}\x{
16a8e0 31 45 30 30 30 7d 2d 5c 78 7b 31 45 30 30 36 7d 5c 78 7b 31 45 30 30 38 7d 2d 5c 78 7b 31 45 30 1E000}-\x{1E006}\x{1E008}-\x{1E0
16a900 31 38 7d 5c 78 7b 31 45 30 31 42 7d 2d 5c 78 7b 31 45 30 32 31 7d 5c 78 7b 31 45 30 32 33 7d 2d 18}\x{1E01B}-\x{1E021}\x{1E023}-
16a920 5c 78 7b 31 45 30 32 34 7d 5c 78 7b 31 45 30 32 36 7d 2d 5c 78 7b 31 45 30 32 41 7d 5c 78 7b 31 \x{1E024}\x{1E026}-\x{1E02A}\x{1
16a940 45 38 44 30 7d 2d 5c 78 7b 31 45 38 44 36 7d 5c 78 7b 31 45 39 34 34 7d 2d 5c 78 7b 31 45 39 34 E8D0}-\x{1E8D6}\x{1E944}-\x{1E94
16a960 41 7d 5c 78 7b 31 46 33 46 42 7d 2d 5c 78 7b 31 46 33 46 46 7d 5c 78 7b 45 30 30 30 31 7d 5c 78 A}\x{1F3FB}-\x{1F3FF}\x{E0001}\x
16a980 7b 45 30 30 32 30 7d 2d 5c 78 7b 45 30 30 37 46 7d 5c 78 7b 45 30 31 30 30 7d 2d 5c 78 7b 45 30 {E0020}-\x{E007F}\x{E0100}-\x{E0
16a9a0 31 45 46 7d 5d 29 28 5c 70 4c 29 28 5c 70 4c 2a 2b 29 2f 75 27 3b 0a 3c 3f 70 68 70 0a 0a 72 65 1EF}])(\pL)(\pL*+)/u';.<?php..re
16a9c0 74 75 72 6e 20 61 72 72 61 79 28 0a 27 61 27 20 3d 3e 20 27 41 27 2c 0a 27 62 27 20 3d 3e 20 27 turn.array(.'a'.=>.'A',.'b'.=>.'
16a9e0 42 27 2c 0a 27 63 27 20 3d 3e 20 27 43 27 2c 0a 27 64 27 20 3d 3e 20 27 44 27 2c 0a 27 65 27 20 B',.'c'.=>.'C',.'d'.=>.'D',.'e'.
16aa00 3d 3e 20 27 45 27 2c 0a 27 66 27 20 3d 3e 20 27 46 27 2c 0a 27 67 27 20 3d 3e 20 27 47 27 2c 0a =>.'E',.'f'.=>.'F',.'g'.=>.'G',.
16aa20 27 68 27 20 3d 3e 20 27 48 27 2c 0a 27 69 27 20 3d 3e 20 27 49 27 2c 0a 27 6a 27 20 3d 3e 20 27 'h'.=>.'H',.'i'.=>.'I',.'j'.=>.'
16aa40 4a 27 2c 0a 27 6b 27 20 3d 3e 20 27 4b 27 2c 0a 27 6c 27 20 3d 3e 20 27 4c 27 2c 0a 27 6d 27 20 J',.'k'.=>.'K',.'l'.=>.'L',.'m'.
16aa60 3d 3e 20 27 4d 27 2c 0a 27 6e 27 20 3d 3e 20 27 4e 27 2c 0a 27 6f 27 20 3d 3e 20 27 4f 27 2c 0a =>.'M',.'n'.=>.'N',.'o'.=>.'O',.
16aa80 27 70 27 20 3d 3e 20 27 50 27 2c 0a 27 71 27 20 3d 3e 20 27 51 27 2c 0a 27 72 27 20 3d 3e 20 27 'p'.=>.'P',.'q'.=>.'Q',.'r'.=>.'
16aaa0 52 27 2c 0a 27 73 27 20 3d 3e 20 27 53 27 2c 0a 27 74 27 20 3d 3e 20 27 54 27 2c 0a 27 75 27 20 R',.'s'.=>.'S',.'t'.=>.'T',.'u'.
16aac0 3d 3e 20 27 55 27 2c 0a 27 76 27 20 3d 3e 20 27 56 27 2c 0a 27 77 27 20 3d 3e 20 27 57 27 2c 0a =>.'U',.'v'.=>.'V',.'w'.=>.'W',.
16aae0 27 78 27 20 3d 3e 20 27 58 27 2c 0a 27 79 27 20 3d 3e 20 27 59 27 2c 0a 27 7a 27 20 3d 3e 20 27 'x'.=>.'X',.'y'.=>.'Y',.'z'.=>.'
16ab00 5a 27 2c 0a 27 c2 b5 27 20 3d 3e 20 27 ce 9c 27 2c 0a 27 c3 a0 27 20 3d 3e 20 27 c3 80 27 2c 0a Z',.'..'.=>.'..',.'..'.=>.'..',.
16ab20 27 c3 a1 27 20 3d 3e 20 27 c3 81 27 2c 0a 27 c3 a2 27 20 3d 3e 20 27 c3 82 27 2c 0a 27 c3 a3 27 '..'.=>.'..',.'..'.=>.'..',.'..'
16ab40 20 3d 3e 20 27 c3 83 27 2c 0a 27 c3 a4 27 20 3d 3e 20 27 c3 84 27 2c 0a 27 c3 a5 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
16ab60 27 c3 85 27 2c 0a 27 c3 a6 27 20 3d 3e 20 27 c3 86 27 2c 0a 27 c3 a7 27 20 3d 3e 20 27 c3 87 27 '..',.'..'.=>.'..',.'..'.=>.'..'
16ab80 2c 0a 27 c3 a8 27 20 3d 3e 20 27 c3 88 27 2c 0a 27 c3 a9 27 20 3d 3e 20 27 c3 89 27 2c 0a 27 c3 ,.'..'.=>.'..',.'..'.=>.'..',.'.
16aba0 aa 27 20 3d 3e 20 27 c3 8a 27 2c 0a 27 c3 ab 27 20 3d 3e 20 27 c3 8b 27 2c 0a 27 c3 ac 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
16abc0 3e 20 27 c3 8c 27 2c 0a 27 c3 ad 27 20 3d 3e 20 27 c3 8d 27 2c 0a 27 c3 ae 27 20 3d 3e 20 27 c3 >.'..',.'..'.=>.'..',.'..'.=>.'.
16abe0 8e 27 2c 0a 27 c3 af 27 20 3d 3e 20 27 c3 8f 27 2c 0a 27 c3 b0 27 20 3d 3e 20 27 c3 90 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
16ac00 27 c3 b1 27 20 3d 3e 20 27 c3 91 27 2c 0a 27 c3 b2 27 20 3d 3e 20 27 c3 92 27 2c 0a 27 c3 b3 27 '..'.=>.'..',.'..'.=>.'..',.'..'
16ac20 20 3d 3e 20 27 c3 93 27 2c 0a 27 c3 b4 27 20 3d 3e 20 27 c3 94 27 2c 0a 27 c3 b5 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
16ac40 27 c3 95 27 2c 0a 27 c3 b6 27 20 3d 3e 20 27 c3 96 27 2c 0a 27 c3 b8 27 20 3d 3e 20 27 c3 98 27 '..',.'..'.=>.'..',.'..'.=>.'..'
16ac60 2c 0a 27 c3 b9 27 20 3d 3e 20 27 c3 99 27 2c 0a 27 c3 ba 27 20 3d 3e 20 27 c3 9a 27 2c 0a 27 c3 ,.'..'.=>.'..',.'..'.=>.'..',.'.
16ac80 bb 27 20 3d 3e 20 27 c3 9b 27 2c 0a 27 c3 bc 27 20 3d 3e 20 27 c3 9c 27 2c 0a 27 c3 bd 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
16aca0 3e 20 27 c3 9d 27 2c 0a 27 c3 be 27 20 3d 3e 20 27 c3 9e 27 2c 0a 27 c3 bf 27 20 3d 3e 20 27 c5 >.'..',.'..'.=>.'..',.'..'.=>.'.
16acc0 b8 27 2c 0a 27 c4 81 27 20 3d 3e 20 27 c4 80 27 2c 0a 27 c4 83 27 20 3d 3e 20 27 c4 82 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
16ace0 27 c4 85 27 20 3d 3e 20 27 c4 84 27 2c 0a 27 c4 87 27 20 3d 3e 20 27 c4 86 27 2c 0a 27 c4 89 27 '..'.=>.'..',.'..'.=>.'..',.'..'
16ad00 20 3d 3e 20 27 c4 88 27 2c 0a 27 c4 8b 27 20 3d 3e 20 27 c4 8a 27 2c 0a 27 c4 8d 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
16ad20 27 c4 8c 27 2c 0a 27 c4 8f 27 20 3d 3e 20 27 c4 8e 27 2c 0a 27 c4 91 27 20 3d 3e 20 27 c4 90 27 '..',.'..'.=>.'..',.'..'.=>.'..'
16ad40 2c 0a 27 c4 93 27 20 3d 3e 20 27 c4 92 27 2c 0a 27 c4 95 27 20 3d 3e 20 27 c4 94 27 2c 0a 27 c4 ,.'..'.=>.'..',.'..'.=>.'..',.'.
16ad60 97 27 20 3d 3e 20 27 c4 96 27 2c 0a 27 c4 99 27 20 3d 3e 20 27 c4 98 27 2c 0a 27 c4 9b 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
16ad80 3e 20 27 c4 9a 27 2c 0a 27 c4 9d 27 20 3d 3e 20 27 c4 9c 27 2c 0a 27 c4 9f 27 20 3d 3e 20 27 c4 >.'..',.'..'.=>.'..',.'..'.=>.'.
16ada0 9e 27 2c 0a 27 c4 a1 27 20 3d 3e 20 27 c4 a0 27 2c 0a 27 c4 a3 27 20 3d 3e 20 27 c4 a2 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
16adc0 27 c4 a5 27 20 3d 3e 20 27 c4 a4 27 2c 0a 27 c4 a7 27 20 3d 3e 20 27 c4 a6 27 2c 0a 27 c4 a9 27 '..'.=>.'..',.'..'.=>.'..',.'..'
16ade0 20 3d 3e 20 27 c4 a8 27 2c 0a 27 c4 ab 27 20 3d 3e 20 27 c4 aa 27 2c 0a 27 c4 ad 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
16ae00 27 c4 ac 27 2c 0a 27 c4 af 27 20 3d 3e 20 27 c4 ae 27 2c 0a 27 c4 b1 27 20 3d 3e 20 27 49 27 2c '..',.'..'.=>.'..',.'..'.=>.'I',
16ae20 0a 27 c4 b3 27 20 3d 3e 20 27 c4 b2 27 2c 0a 27 c4 b5 27 20 3d 3e 20 27 c4 b4 27 2c 0a 27 c4 b7 .'..'.=>.'..',.'..'.=>.'..',.'..
16ae40 27 20 3d 3e 20 27 c4 b6 27 2c 0a 27 c4 ba 27 20 3d 3e 20 27 c4 b9 27 2c 0a 27 c4 bc 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16ae60 20 27 c4 bb 27 2c 0a 27 c4 be 27 20 3d 3e 20 27 c4 bd 27 2c 0a 27 c5 80 27 20 3d 3e 20 27 c4 bf .'..',.'..'.=>.'..',.'..'.=>.'..
16ae80 27 2c 0a 27 c5 82 27 20 3d 3e 20 27 c5 81 27 2c 0a 27 c5 84 27 20 3d 3e 20 27 c5 83 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16aea0 c5 86 27 20 3d 3e 20 27 c5 85 27 2c 0a 27 c5 88 27 20 3d 3e 20 27 c5 87 27 2c 0a 27 c5 8b 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16aec0 3d 3e 20 27 c5 8a 27 2c 0a 27 c5 8d 27 20 3d 3e 20 27 c5 8c 27 2c 0a 27 c5 8f 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16aee0 c5 8e 27 2c 0a 27 c5 91 27 20 3d 3e 20 27 c5 90 27 2c 0a 27 c5 93 27 20 3d 3e 20 27 c5 92 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16af00 0a 27 c5 95 27 20 3d 3e 20 27 c5 94 27 2c 0a 27 c5 97 27 20 3d 3e 20 27 c5 96 27 2c 0a 27 c5 99 .'..'.=>.'..',.'..'.=>.'..',.'..
16af20 27 20 3d 3e 20 27 c5 98 27 2c 0a 27 c5 9b 27 20 3d 3e 20 27 c5 9a 27 2c 0a 27 c5 9d 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16af40 20 27 c5 9c 27 2c 0a 27 c5 9f 27 20 3d 3e 20 27 c5 9e 27 2c 0a 27 c5 a1 27 20 3d 3e 20 27 c5 a0 .'..',.'..'.=>.'..',.'..'.=>.'..
16af60 27 2c 0a 27 c5 a3 27 20 3d 3e 20 27 c5 a2 27 2c 0a 27 c5 a5 27 20 3d 3e 20 27 c5 a4 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16af80 c5 a7 27 20 3d 3e 20 27 c5 a6 27 2c 0a 27 c5 a9 27 20 3d 3e 20 27 c5 a8 27 2c 0a 27 c5 ab 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16afa0 3d 3e 20 27 c5 aa 27 2c 0a 27 c5 ad 27 20 3d 3e 20 27 c5 ac 27 2c 0a 27 c5 af 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16afc0 c5 ae 27 2c 0a 27 c5 b1 27 20 3d 3e 20 27 c5 b0 27 2c 0a 27 c5 b3 27 20 3d 3e 20 27 c5 b2 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16afe0 0a 27 c5 b5 27 20 3d 3e 20 27 c5 b4 27 2c 0a 27 c5 b7 27 20 3d 3e 20 27 c5 b6 27 2c 0a 27 c5 ba .'..'.=>.'..',.'..'.=>.'..',.'..
16b000 27 20 3d 3e 20 27 c5 b9 27 2c 0a 27 c5 bc 27 20 3d 3e 20 27 c5 bb 27 2c 0a 27 c5 be 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16b020 20 27 c5 bd 27 2c 0a 27 c5 bf 27 20 3d 3e 20 27 53 27 2c 0a 27 c6 80 27 20 3d 3e 20 27 c9 83 27 .'..',.'..'.=>.'S',.'..'.=>.'..'
16b040 2c 0a 27 c6 83 27 20 3d 3e 20 27 c6 82 27 2c 0a 27 c6 85 27 20 3d 3e 20 27 c6 84 27 2c 0a 27 c6 ,.'..'.=>.'..',.'..'.=>.'..',.'.
16b060 88 27 20 3d 3e 20 27 c6 87 27 2c 0a 27 c6 8c 27 20 3d 3e 20 27 c6 8b 27 2c 0a 27 c6 92 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
16b080 3e 20 27 c6 91 27 2c 0a 27 c6 95 27 20 3d 3e 20 27 c7 b6 27 2c 0a 27 c6 99 27 20 3d 3e 20 27 c6 >.'..',.'..'.=>.'..',.'..'.=>.'.
16b0a0 98 27 2c 0a 27 c6 9a 27 20 3d 3e 20 27 c8 bd 27 2c 0a 27 c6 9e 27 20 3d 3e 20 27 c8 a0 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
16b0c0 27 c6 a1 27 20 3d 3e 20 27 c6 a0 27 2c 0a 27 c6 a3 27 20 3d 3e 20 27 c6 a2 27 2c 0a 27 c6 a5 27 '..'.=>.'..',.'..'.=>.'..',.'..'
16b0e0 20 3d 3e 20 27 c6 a4 27 2c 0a 27 c6 a8 27 20 3d 3e 20 27 c6 a7 27 2c 0a 27 c6 ad 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
16b100 27 c6 ac 27 2c 0a 27 c6 b0 27 20 3d 3e 20 27 c6 af 27 2c 0a 27 c6 b4 27 20 3d 3e 20 27 c6 b3 27 '..',.'..'.=>.'..',.'..'.=>.'..'
16b120 2c 0a 27 c6 b6 27 20 3d 3e 20 27 c6 b5 27 2c 0a 27 c6 b9 27 20 3d 3e 20 27 c6 b8 27 2c 0a 27 c6 ,.'..'.=>.'..',.'..'.=>.'..',.'.
16b140 bd 27 20 3d 3e 20 27 c6 bc 27 2c 0a 27 c6 bf 27 20 3d 3e 20 27 c7 b7 27 2c 0a 27 c7 85 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
16b160 3e 20 27 c7 84 27 2c 0a 27 c7 86 27 20 3d 3e 20 27 c7 84 27 2c 0a 27 c7 88 27 20 3d 3e 20 27 c7 >.'..',.'..'.=>.'..',.'..'.=>.'.
16b180 87 27 2c 0a 27 c7 89 27 20 3d 3e 20 27 c7 87 27 2c 0a 27 c7 8b 27 20 3d 3e 20 27 c7 8a 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
16b1a0 27 c7 8c 27 20 3d 3e 20 27 c7 8a 27 2c 0a 27 c7 8e 27 20 3d 3e 20 27 c7 8d 27 2c 0a 27 c7 90 27 '..'.=>.'..',.'..'.=>.'..',.'..'
16b1c0 20 3d 3e 20 27 c7 8f 27 2c 0a 27 c7 92 27 20 3d 3e 20 27 c7 91 27 2c 0a 27 c7 94 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
16b1e0 27 c7 93 27 2c 0a 27 c7 96 27 20 3d 3e 20 27 c7 95 27 2c 0a 27 c7 98 27 20 3d 3e 20 27 c7 97 27 '..',.'..'.=>.'..',.'..'.=>.'..'
16b200 2c 0a 27 c7 9a 27 20 3d 3e 20 27 c7 99 27 2c 0a 27 c7 9c 27 20 3d 3e 20 27 c7 9b 27 2c 0a 27 c7 ,.'..'.=>.'..',.'..'.=>.'..',.'.
16b220 9d 27 20 3d 3e 20 27 c6 8e 27 2c 0a 27 c7 9f 27 20 3d 3e 20 27 c7 9e 27 2c 0a 27 c7 a1 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
16b240 3e 20 27 c7 a0 27 2c 0a 27 c7 a3 27 20 3d 3e 20 27 c7 a2 27 2c 0a 27 c7 a5 27 20 3d 3e 20 27 c7 >.'..',.'..'.=>.'..',.'..'.=>.'.
16b260 a4 27 2c 0a 27 c7 a7 27 20 3d 3e 20 27 c7 a6 27 2c 0a 27 c7 a9 27 20 3d 3e 20 27 c7 a8 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
16b280 27 c7 ab 27 20 3d 3e 20 27 c7 aa 27 2c 0a 27 c7 ad 27 20 3d 3e 20 27 c7 ac 27 2c 0a 27 c7 af 27 '..'.=>.'..',.'..'.=>.'..',.'..'
16b2a0 20 3d 3e 20 27 c7 ae 27 2c 0a 27 c7 b2 27 20 3d 3e 20 27 c7 b1 27 2c 0a 27 c7 b3 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
16b2c0 27 c7 b1 27 2c 0a 27 c7 b5 27 20 3d 3e 20 27 c7 b4 27 2c 0a 27 c7 b9 27 20 3d 3e 20 27 c7 b8 27 '..',.'..'.=>.'..',.'..'.=>.'..'
16b2e0 2c 0a 27 c7 bb 27 20 3d 3e 20 27 c7 ba 27 2c 0a 27 c7 bd 27 20 3d 3e 20 27 c7 bc 27 2c 0a 27 c7 ,.'..'.=>.'..',.'..'.=>.'..',.'.
16b300 bf 27 20 3d 3e 20 27 c7 be 27 2c 0a 27 c8 81 27 20 3d 3e 20 27 c8 80 27 2c 0a 27 c8 83 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
16b320 3e 20 27 c8 82 27 2c 0a 27 c8 85 27 20 3d 3e 20 27 c8 84 27 2c 0a 27 c8 87 27 20 3d 3e 20 27 c8 >.'..',.'..'.=>.'..',.'..'.=>.'.
16b340 86 27 2c 0a 27 c8 89 27 20 3d 3e 20 27 c8 88 27 2c 0a 27 c8 8b 27 20 3d 3e 20 27 c8 8a 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
16b360 27 c8 8d 27 20 3d 3e 20 27 c8 8c 27 2c 0a 27 c8 8f 27 20 3d 3e 20 27 c8 8e 27 2c 0a 27 c8 91 27 '..'.=>.'..',.'..'.=>.'..',.'..'
16b380 20 3d 3e 20 27 c8 90 27 2c 0a 27 c8 93 27 20 3d 3e 20 27 c8 92 27 2c 0a 27 c8 95 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
16b3a0 27 c8 94 27 2c 0a 27 c8 97 27 20 3d 3e 20 27 c8 96 27 2c 0a 27 c8 99 27 20 3d 3e 20 27 c8 98 27 '..',.'..'.=>.'..',.'..'.=>.'..'
16b3c0 2c 0a 27 c8 9b 27 20 3d 3e 20 27 c8 9a 27 2c 0a 27 c8 9d 27 20 3d 3e 20 27 c8 9c 27 2c 0a 27 c8 ,.'..'.=>.'..',.'..'.=>.'..',.'.
16b3e0 9f 27 20 3d 3e 20 27 c8 9e 27 2c 0a 27 c8 a3 27 20 3d 3e 20 27 c8 a2 27 2c 0a 27 c8 a5 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
16b400 3e 20 27 c8 a4 27 2c 0a 27 c8 a7 27 20 3d 3e 20 27 c8 a6 27 2c 0a 27 c8 a9 27 20 3d 3e 20 27 c8 >.'..',.'..'.=>.'..',.'..'.=>.'.
16b420 a8 27 2c 0a 27 c8 ab 27 20 3d 3e 20 27 c8 aa 27 2c 0a 27 c8 ad 27 20 3d 3e 20 27 c8 ac 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
16b440 27 c8 af 27 20 3d 3e 20 27 c8 ae 27 2c 0a 27 c8 b1 27 20 3d 3e 20 27 c8 b0 27 2c 0a 27 c8 b3 27 '..'.=>.'..',.'..'.=>.'..',.'..'
16b460 20 3d 3e 20 27 c8 b2 27 2c 0a 27 c8 bc 27 20 3d 3e 20 27 c8 bb 27 2c 0a 27 c8 bf 27 20 3d 3e 20 .=>.'..',.'..'.=>.'..',.'..'.=>.
16b480 27 e2 b1 be 27 2c 0a 27 c9 80 27 20 3d 3e 20 27 e2 b1 bf 27 2c 0a 27 c9 82 27 20 3d 3e 20 27 c9 '...',.'..'.=>.'...',.'..'.=>.'.
16b4a0 81 27 2c 0a 27 c9 87 27 20 3d 3e 20 27 c9 86 27 2c 0a 27 c9 89 27 20 3d 3e 20 27 c9 88 27 2c 0a .',.'..'.=>.'..',.'..'.=>.'..',.
16b4c0 27 c9 8b 27 20 3d 3e 20 27 c9 8a 27 2c 0a 27 c9 8d 27 20 3d 3e 20 27 c9 8c 27 2c 0a 27 c9 8f 27 '..'.=>.'..',.'..'.=>.'..',.'..'
16b4e0 20 3d 3e 20 27 c9 8e 27 2c 0a 27 c9 90 27 20 3d 3e 20 27 e2 b1 af 27 2c 0a 27 c9 91 27 20 3d 3e .=>.'..',.'..'.=>.'...',.'..'.=>
16b500 20 27 e2 b1 ad 27 2c 0a 27 c9 92 27 20 3d 3e 20 27 e2 b1 b0 27 2c 0a 27 c9 93 27 20 3d 3e 20 27 .'...',.'..'.=>.'...',.'..'.=>.'
16b520 c6 81 27 2c 0a 27 c9 94 27 20 3d 3e 20 27 c6 86 27 2c 0a 27 c9 96 27 20 3d 3e 20 27 c6 89 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16b540 0a 27 c9 97 27 20 3d 3e 20 27 c6 8a 27 2c 0a 27 c9 99 27 20 3d 3e 20 27 c6 8f 27 2c 0a 27 c9 9b .'..'.=>.'..',.'..'.=>.'..',.'..
16b560 27 20 3d 3e 20 27 c6 90 27 2c 0a 27 c9 9c 27 20 3d 3e 20 27 ea 9e ab 27 2c 0a 27 c9 a0 27 20 3d '.=>.'..',.'..'.=>.'...',.'..'.=
16b580 3e 20 27 c6 93 27 2c 0a 27 c9 a1 27 20 3d 3e 20 27 ea 9e ac 27 2c 0a 27 c9 a3 27 20 3d 3e 20 27 >.'..',.'..'.=>.'...',.'..'.=>.'
16b5a0 c6 94 27 2c 0a 27 c9 a5 27 20 3d 3e 20 27 ea 9e 8d 27 2c 0a 27 c9 a6 27 20 3d 3e 20 27 ea 9e aa ..',.'..'.=>.'...',.'..'.=>.'...
16b5c0 27 2c 0a 27 c9 a8 27 20 3d 3e 20 27 c6 97 27 2c 0a 27 c9 a9 27 20 3d 3e 20 27 c6 96 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16b5e0 c9 ab 27 20 3d 3e 20 27 e2 b1 a2 27 2c 0a 27 c9 ac 27 20 3d 3e 20 27 ea 9e ad 27 2c 0a 27 c9 af ..'.=>.'...',.'..'.=>.'...',.'..
16b600 27 20 3d 3e 20 27 c6 9c 27 2c 0a 27 c9 b1 27 20 3d 3e 20 27 e2 b1 ae 27 2c 0a 27 c9 b2 27 20 3d '.=>.'..',.'..'.=>.'...',.'..'.=
16b620 3e 20 27 c6 9d 27 2c 0a 27 c9 b5 27 20 3d 3e 20 27 c6 9f 27 2c 0a 27 c9 bd 27 20 3d 3e 20 27 e2 >.'..',.'..'.=>.'..',.'..'.=>.'.
16b640 b1 a4 27 2c 0a 27 ca 80 27 20 3d 3e 20 27 c6 a6 27 2c 0a 27 ca 83 27 20 3d 3e 20 27 c6 a9 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16b660 0a 27 ca 87 27 20 3d 3e 20 27 ea 9e b1 27 2c 0a 27 ca 88 27 20 3d 3e 20 27 c6 ae 27 2c 0a 27 ca .'..'.=>.'...',.'..'.=>.'..',.'.
16b680 89 27 20 3d 3e 20 27 c9 84 27 2c 0a 27 ca 8a 27 20 3d 3e 20 27 c6 b1 27 2c 0a 27 ca 8b 27 20 3d .'.=>.'..',.'..'.=>.'..',.'..'.=
16b6a0 3e 20 27 c6 b2 27 2c 0a 27 ca 8c 27 20 3d 3e 20 27 c9 85 27 2c 0a 27 ca 92 27 20 3d 3e 20 27 c6 >.'..',.'..'.=>.'..',.'..'.=>.'.
16b6c0 b7 27 2c 0a 27 ca 9e 27 20 3d 3e 20 27 ea 9e b0 27 2c 0a 27 cd 85 27 20 3d 3e 20 27 ce 99 27 2c .',.'..'.=>.'...',.'..'.=>.'..',
16b6e0 0a 27 cd b1 27 20 3d 3e 20 27 cd b0 27 2c 0a 27 cd b3 27 20 3d 3e 20 27 cd b2 27 2c 0a 27 cd b7 .'..'.=>.'..',.'..'.=>.'..',.'..
16b700 27 20 3d 3e 20 27 cd b6 27 2c 0a 27 cd bb 27 20 3d 3e 20 27 cf bd 27 2c 0a 27 cd bc 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16b720 20 27 cf be 27 2c 0a 27 cd bd 27 20 3d 3e 20 27 cf bf 27 2c 0a 27 ce ac 27 20 3d 3e 20 27 ce 86 .'..',.'..'.=>.'..',.'..'.=>.'..
16b740 27 2c 0a 27 ce ad 27 20 3d 3e 20 27 ce 88 27 2c 0a 27 ce ae 27 20 3d 3e 20 27 ce 89 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16b760 ce af 27 20 3d 3e 20 27 ce 8a 27 2c 0a 27 ce b1 27 20 3d 3e 20 27 ce 91 27 2c 0a 27 ce b2 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16b780 3d 3e 20 27 ce 92 27 2c 0a 27 ce b3 27 20 3d 3e 20 27 ce 93 27 2c 0a 27 ce b4 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16b7a0 ce 94 27 2c 0a 27 ce b5 27 20 3d 3e 20 27 ce 95 27 2c 0a 27 ce b6 27 20 3d 3e 20 27 ce 96 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16b7c0 0a 27 ce b7 27 20 3d 3e 20 27 ce 97 27 2c 0a 27 ce b8 27 20 3d 3e 20 27 ce 98 27 2c 0a 27 ce b9 .'..'.=>.'..',.'..'.=>.'..',.'..
16b7e0 27 20 3d 3e 20 27 ce 99 27 2c 0a 27 ce ba 27 20 3d 3e 20 27 ce 9a 27 2c 0a 27 ce bb 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16b800 20 27 ce 9b 27 2c 0a 27 ce bc 27 20 3d 3e 20 27 ce 9c 27 2c 0a 27 ce bd 27 20 3d 3e 20 27 ce 9d .'..',.'..'.=>.'..',.'..'.=>.'..
16b820 27 2c 0a 27 ce be 27 20 3d 3e 20 27 ce 9e 27 2c 0a 27 ce bf 27 20 3d 3e 20 27 ce 9f 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16b840 cf 80 27 20 3d 3e 20 27 ce a0 27 2c 0a 27 cf 81 27 20 3d 3e 20 27 ce a1 27 2c 0a 27 cf 82 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16b860 3d 3e 20 27 ce a3 27 2c 0a 27 cf 83 27 20 3d 3e 20 27 ce a3 27 2c 0a 27 cf 84 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16b880 ce a4 27 2c 0a 27 cf 85 27 20 3d 3e 20 27 ce a5 27 2c 0a 27 cf 86 27 20 3d 3e 20 27 ce a6 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16b8a0 0a 27 cf 87 27 20 3d 3e 20 27 ce a7 27 2c 0a 27 cf 88 27 20 3d 3e 20 27 ce a8 27 2c 0a 27 cf 89 .'..'.=>.'..',.'..'.=>.'..',.'..
16b8c0 27 20 3d 3e 20 27 ce a9 27 2c 0a 27 cf 8a 27 20 3d 3e 20 27 ce aa 27 2c 0a 27 cf 8b 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16b8e0 20 27 ce ab 27 2c 0a 27 cf 8c 27 20 3d 3e 20 27 ce 8c 27 2c 0a 27 cf 8d 27 20 3d 3e 20 27 ce 8e .'..',.'..'.=>.'..',.'..'.=>.'..
16b900 27 2c 0a 27 cf 8e 27 20 3d 3e 20 27 ce 8f 27 2c 0a 27 cf 90 27 20 3d 3e 20 27 ce 92 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16b920 cf 91 27 20 3d 3e 20 27 ce 98 27 2c 0a 27 cf 95 27 20 3d 3e 20 27 ce a6 27 2c 0a 27 cf 96 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16b940 3d 3e 20 27 ce a0 27 2c 0a 27 cf 97 27 20 3d 3e 20 27 cf 8f 27 2c 0a 27 cf 99 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16b960 cf 98 27 2c 0a 27 cf 9b 27 20 3d 3e 20 27 cf 9a 27 2c 0a 27 cf 9d 27 20 3d 3e 20 27 cf 9c 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16b980 0a 27 cf 9f 27 20 3d 3e 20 27 cf 9e 27 2c 0a 27 cf a1 27 20 3d 3e 20 27 cf a0 27 2c 0a 27 cf a3 .'..'.=>.'..',.'..'.=>.'..',.'..
16b9a0 27 20 3d 3e 20 27 cf a2 27 2c 0a 27 cf a5 27 20 3d 3e 20 27 cf a4 27 2c 0a 27 cf a7 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16b9c0 20 27 cf a6 27 2c 0a 27 cf a9 27 20 3d 3e 20 27 cf a8 27 2c 0a 27 cf ab 27 20 3d 3e 20 27 cf aa .'..',.'..'.=>.'..',.'..'.=>.'..
16b9e0 27 2c 0a 27 cf ad 27 20 3d 3e 20 27 cf ac 27 2c 0a 27 cf af 27 20 3d 3e 20 27 cf ae 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16ba00 cf b0 27 20 3d 3e 20 27 ce 9a 27 2c 0a 27 cf b1 27 20 3d 3e 20 27 ce a1 27 2c 0a 27 cf b2 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16ba20 3d 3e 20 27 cf b9 27 2c 0a 27 cf b3 27 20 3d 3e 20 27 cd bf 27 2c 0a 27 cf b5 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16ba40 ce 95 27 2c 0a 27 cf b8 27 20 3d 3e 20 27 cf b7 27 2c 0a 27 cf bb 27 20 3d 3e 20 27 cf ba 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16ba60 0a 27 d0 b0 27 20 3d 3e 20 27 d0 90 27 2c 0a 27 d0 b1 27 20 3d 3e 20 27 d0 91 27 2c 0a 27 d0 b2 .'..'.=>.'..',.'..'.=>.'..',.'..
16ba80 27 20 3d 3e 20 27 d0 92 27 2c 0a 27 d0 b3 27 20 3d 3e 20 27 d0 93 27 2c 0a 27 d0 b4 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16baa0 20 27 d0 94 27 2c 0a 27 d0 b5 27 20 3d 3e 20 27 d0 95 27 2c 0a 27 d0 b6 27 20 3d 3e 20 27 d0 96 .'..',.'..'.=>.'..',.'..'.=>.'..
16bac0 27 2c 0a 27 d0 b7 27 20 3d 3e 20 27 d0 97 27 2c 0a 27 d0 b8 27 20 3d 3e 20 27 d0 98 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16bae0 d0 b9 27 20 3d 3e 20 27 d0 99 27 2c 0a 27 d0 ba 27 20 3d 3e 20 27 d0 9a 27 2c 0a 27 d0 bb 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16bb00 3d 3e 20 27 d0 9b 27 2c 0a 27 d0 bc 27 20 3d 3e 20 27 d0 9c 27 2c 0a 27 d0 bd 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16bb20 d0 9d 27 2c 0a 27 d0 be 27 20 3d 3e 20 27 d0 9e 27 2c 0a 27 d0 bf 27 20 3d 3e 20 27 d0 9f 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16bb40 0a 27 d1 80 27 20 3d 3e 20 27 d0 a0 27 2c 0a 27 d1 81 27 20 3d 3e 20 27 d0 a1 27 2c 0a 27 d1 82 .'..'.=>.'..',.'..'.=>.'..',.'..
16bb60 27 20 3d 3e 20 27 d0 a2 27 2c 0a 27 d1 83 27 20 3d 3e 20 27 d0 a3 27 2c 0a 27 d1 84 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16bb80 20 27 d0 a4 27 2c 0a 27 d1 85 27 20 3d 3e 20 27 d0 a5 27 2c 0a 27 d1 86 27 20 3d 3e 20 27 d0 a6 .'..',.'..'.=>.'..',.'..'.=>.'..
16bba0 27 2c 0a 27 d1 87 27 20 3d 3e 20 27 d0 a7 27 2c 0a 27 d1 88 27 20 3d 3e 20 27 d0 a8 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16bbc0 d1 89 27 20 3d 3e 20 27 d0 a9 27 2c 0a 27 d1 8a 27 20 3d 3e 20 27 d0 aa 27 2c 0a 27 d1 8b 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16bbe0 3d 3e 20 27 d0 ab 27 2c 0a 27 d1 8c 27 20 3d 3e 20 27 d0 ac 27 2c 0a 27 d1 8d 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16bc00 d0 ad 27 2c 0a 27 d1 8e 27 20 3d 3e 20 27 d0 ae 27 2c 0a 27 d1 8f 27 20 3d 3e 20 27 d0 af 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16bc20 0a 27 d1 90 27 20 3d 3e 20 27 d0 80 27 2c 0a 27 d1 91 27 20 3d 3e 20 27 d0 81 27 2c 0a 27 d1 92 .'..'.=>.'..',.'..'.=>.'..',.'..
16bc40 27 20 3d 3e 20 27 d0 82 27 2c 0a 27 d1 93 27 20 3d 3e 20 27 d0 83 27 2c 0a 27 d1 94 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16bc60 20 27 d0 84 27 2c 0a 27 d1 95 27 20 3d 3e 20 27 d0 85 27 2c 0a 27 d1 96 27 20 3d 3e 20 27 d0 86 .'..',.'..'.=>.'..',.'..'.=>.'..
16bc80 27 2c 0a 27 d1 97 27 20 3d 3e 20 27 d0 87 27 2c 0a 27 d1 98 27 20 3d 3e 20 27 d0 88 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16bca0 d1 99 27 20 3d 3e 20 27 d0 89 27 2c 0a 27 d1 9a 27 20 3d 3e 20 27 d0 8a 27 2c 0a 27 d1 9b 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16bcc0 3d 3e 20 27 d0 8b 27 2c 0a 27 d1 9c 27 20 3d 3e 20 27 d0 8c 27 2c 0a 27 d1 9d 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16bce0 d0 8d 27 2c 0a 27 d1 9e 27 20 3d 3e 20 27 d0 8e 27 2c 0a 27 d1 9f 27 20 3d 3e 20 27 d0 8f 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16bd00 0a 27 d1 a1 27 20 3d 3e 20 27 d1 a0 27 2c 0a 27 d1 a3 27 20 3d 3e 20 27 d1 a2 27 2c 0a 27 d1 a5 .'..'.=>.'..',.'..'.=>.'..',.'..
16bd20 27 20 3d 3e 20 27 d1 a4 27 2c 0a 27 d1 a7 27 20 3d 3e 20 27 d1 a6 27 2c 0a 27 d1 a9 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16bd40 20 27 d1 a8 27 2c 0a 27 d1 ab 27 20 3d 3e 20 27 d1 aa 27 2c 0a 27 d1 ad 27 20 3d 3e 20 27 d1 ac .'..',.'..'.=>.'..',.'..'.=>.'..
16bd60 27 2c 0a 27 d1 af 27 20 3d 3e 20 27 d1 ae 27 2c 0a 27 d1 b1 27 20 3d 3e 20 27 d1 b0 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16bd80 d1 b3 27 20 3d 3e 20 27 d1 b2 27 2c 0a 27 d1 b5 27 20 3d 3e 20 27 d1 b4 27 2c 0a 27 d1 b7 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16bda0 3d 3e 20 27 d1 b6 27 2c 0a 27 d1 b9 27 20 3d 3e 20 27 d1 b8 27 2c 0a 27 d1 bb 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16bdc0 d1 ba 27 2c 0a 27 d1 bd 27 20 3d 3e 20 27 d1 bc 27 2c 0a 27 d1 bf 27 20 3d 3e 20 27 d1 be 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16bde0 0a 27 d2 81 27 20 3d 3e 20 27 d2 80 27 2c 0a 27 d2 8b 27 20 3d 3e 20 27 d2 8a 27 2c 0a 27 d2 8d .'..'.=>.'..',.'..'.=>.'..',.'..
16be00 27 20 3d 3e 20 27 d2 8c 27 2c 0a 27 d2 8f 27 20 3d 3e 20 27 d2 8e 27 2c 0a 27 d2 91 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16be20 20 27 d2 90 27 2c 0a 27 d2 93 27 20 3d 3e 20 27 d2 92 27 2c 0a 27 d2 95 27 20 3d 3e 20 27 d2 94 .'..',.'..'.=>.'..',.'..'.=>.'..
16be40 27 2c 0a 27 d2 97 27 20 3d 3e 20 27 d2 96 27 2c 0a 27 d2 99 27 20 3d 3e 20 27 d2 98 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16be60 d2 9b 27 20 3d 3e 20 27 d2 9a 27 2c 0a 27 d2 9d 27 20 3d 3e 20 27 d2 9c 27 2c 0a 27 d2 9f 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16be80 3d 3e 20 27 d2 9e 27 2c 0a 27 d2 a1 27 20 3d 3e 20 27 d2 a0 27 2c 0a 27 d2 a3 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16bea0 d2 a2 27 2c 0a 27 d2 a5 27 20 3d 3e 20 27 d2 a4 27 2c 0a 27 d2 a7 27 20 3d 3e 20 27 d2 a6 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16bec0 0a 27 d2 a9 27 20 3d 3e 20 27 d2 a8 27 2c 0a 27 d2 ab 27 20 3d 3e 20 27 d2 aa 27 2c 0a 27 d2 ad .'..'.=>.'..',.'..'.=>.'..',.'..
16bee0 27 20 3d 3e 20 27 d2 ac 27 2c 0a 27 d2 af 27 20 3d 3e 20 27 d2 ae 27 2c 0a 27 d2 b1 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16bf00 20 27 d2 b0 27 2c 0a 27 d2 b3 27 20 3d 3e 20 27 d2 b2 27 2c 0a 27 d2 b5 27 20 3d 3e 20 27 d2 b4 .'..',.'..'.=>.'..',.'..'.=>.'..
16bf20 27 2c 0a 27 d2 b7 27 20 3d 3e 20 27 d2 b6 27 2c 0a 27 d2 b9 27 20 3d 3e 20 27 d2 b8 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16bf40 d2 bb 27 20 3d 3e 20 27 d2 ba 27 2c 0a 27 d2 bd 27 20 3d 3e 20 27 d2 bc 27 2c 0a 27 d2 bf 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16bf60 3d 3e 20 27 d2 be 27 2c 0a 27 d3 82 27 20 3d 3e 20 27 d3 81 27 2c 0a 27 d3 84 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16bf80 d3 83 27 2c 0a 27 d3 86 27 20 3d 3e 20 27 d3 85 27 2c 0a 27 d3 88 27 20 3d 3e 20 27 d3 87 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16bfa0 0a 27 d3 8a 27 20 3d 3e 20 27 d3 89 27 2c 0a 27 d3 8c 27 20 3d 3e 20 27 d3 8b 27 2c 0a 27 d3 8e .'..'.=>.'..',.'..'.=>.'..',.'..
16bfc0 27 20 3d 3e 20 27 d3 8d 27 2c 0a 27 d3 8f 27 20 3d 3e 20 27 d3 80 27 2c 0a 27 d3 91 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16bfe0 20 27 d3 90 27 2c 0a 27 d3 93 27 20 3d 3e 20 27 d3 92 27 2c 0a 27 d3 95 27 20 3d 3e 20 27 d3 94 .'..',.'..'.=>.'..',.'..'.=>.'..
16c000 27 2c 0a 27 d3 97 27 20 3d 3e 20 27 d3 96 27 2c 0a 27 d3 99 27 20 3d 3e 20 27 d3 98 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16c020 d3 9b 27 20 3d 3e 20 27 d3 9a 27 2c 0a 27 d3 9d 27 20 3d 3e 20 27 d3 9c 27 2c 0a 27 d3 9f 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16c040 3d 3e 20 27 d3 9e 27 2c 0a 27 d3 a1 27 20 3d 3e 20 27 d3 a0 27 2c 0a 27 d3 a3 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16c060 d3 a2 27 2c 0a 27 d3 a5 27 20 3d 3e 20 27 d3 a4 27 2c 0a 27 d3 a7 27 20 3d 3e 20 27 d3 a6 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16c080 0a 27 d3 a9 27 20 3d 3e 20 27 d3 a8 27 2c 0a 27 d3 ab 27 20 3d 3e 20 27 d3 aa 27 2c 0a 27 d3 ad .'..'.=>.'..',.'..'.=>.'..',.'..
16c0a0 27 20 3d 3e 20 27 d3 ac 27 2c 0a 27 d3 af 27 20 3d 3e 20 27 d3 ae 27 2c 0a 27 d3 b1 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16c0c0 20 27 d3 b0 27 2c 0a 27 d3 b3 27 20 3d 3e 20 27 d3 b2 27 2c 0a 27 d3 b5 27 20 3d 3e 20 27 d3 b4 .'..',.'..'.=>.'..',.'..'.=>.'..
16c0e0 27 2c 0a 27 d3 b7 27 20 3d 3e 20 27 d3 b6 27 2c 0a 27 d3 b9 27 20 3d 3e 20 27 d3 b8 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16c100 d3 bb 27 20 3d 3e 20 27 d3 ba 27 2c 0a 27 d3 bd 27 20 3d 3e 20 27 d3 bc 27 2c 0a 27 d3 bf 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16c120 3d 3e 20 27 d3 be 27 2c 0a 27 d4 81 27 20 3d 3e 20 27 d4 80 27 2c 0a 27 d4 83 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16c140 d4 82 27 2c 0a 27 d4 85 27 20 3d 3e 20 27 d4 84 27 2c 0a 27 d4 87 27 20 3d 3e 20 27 d4 86 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16c160 0a 27 d4 89 27 20 3d 3e 20 27 d4 88 27 2c 0a 27 d4 8b 27 20 3d 3e 20 27 d4 8a 27 2c 0a 27 d4 8d .'..'.=>.'..',.'..'.=>.'..',.'..
16c180 27 20 3d 3e 20 27 d4 8c 27 2c 0a 27 d4 8f 27 20 3d 3e 20 27 d4 8e 27 2c 0a 27 d4 91 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16c1a0 20 27 d4 90 27 2c 0a 27 d4 93 27 20 3d 3e 20 27 d4 92 27 2c 0a 27 d4 95 27 20 3d 3e 20 27 d4 94 .'..',.'..'.=>.'..',.'..'.=>.'..
16c1c0 27 2c 0a 27 d4 97 27 20 3d 3e 20 27 d4 96 27 2c 0a 27 d4 99 27 20 3d 3e 20 27 d4 98 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16c1e0 d4 9b 27 20 3d 3e 20 27 d4 9a 27 2c 0a 27 d4 9d 27 20 3d 3e 20 27 d4 9c 27 2c 0a 27 d4 9f 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16c200 3d 3e 20 27 d4 9e 27 2c 0a 27 d4 a1 27 20 3d 3e 20 27 d4 a0 27 2c 0a 27 d4 a3 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16c220 d4 a2 27 2c 0a 27 d4 a5 27 20 3d 3e 20 27 d4 a4 27 2c 0a 27 d4 a7 27 20 3d 3e 20 27 d4 a6 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16c240 0a 27 d4 a9 27 20 3d 3e 20 27 d4 a8 27 2c 0a 27 d4 ab 27 20 3d 3e 20 27 d4 aa 27 2c 0a 27 d4 ad .'..'.=>.'..',.'..'.=>.'..',.'..
16c260 27 20 3d 3e 20 27 d4 ac 27 2c 0a 27 d4 af 27 20 3d 3e 20 27 d4 ae 27 2c 0a 27 d5 a1 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16c280 20 27 d4 b1 27 2c 0a 27 d5 a2 27 20 3d 3e 20 27 d4 b2 27 2c 0a 27 d5 a3 27 20 3d 3e 20 27 d4 b3 .'..',.'..'.=>.'..',.'..'.=>.'..
16c2a0 27 2c 0a 27 d5 a4 27 20 3d 3e 20 27 d4 b4 27 2c 0a 27 d5 a5 27 20 3d 3e 20 27 d4 b5 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16c2c0 d5 a6 27 20 3d 3e 20 27 d4 b6 27 2c 0a 27 d5 a7 27 20 3d 3e 20 27 d4 b7 27 2c 0a 27 d5 a8 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16c2e0 3d 3e 20 27 d4 b8 27 2c 0a 27 d5 a9 27 20 3d 3e 20 27 d4 b9 27 2c 0a 27 d5 aa 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16c300 d4 ba 27 2c 0a 27 d5 ab 27 20 3d 3e 20 27 d4 bb 27 2c 0a 27 d5 ac 27 20 3d 3e 20 27 d4 bc 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16c320 0a 27 d5 ad 27 20 3d 3e 20 27 d4 bd 27 2c 0a 27 d5 ae 27 20 3d 3e 20 27 d4 be 27 2c 0a 27 d5 af .'..'.=>.'..',.'..'.=>.'..',.'..
16c340 27 20 3d 3e 20 27 d4 bf 27 2c 0a 27 d5 b0 27 20 3d 3e 20 27 d5 80 27 2c 0a 27 d5 b1 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16c360 20 27 d5 81 27 2c 0a 27 d5 b2 27 20 3d 3e 20 27 d5 82 27 2c 0a 27 d5 b3 27 20 3d 3e 20 27 d5 83 .'..',.'..'.=>.'..',.'..'.=>.'..
16c380 27 2c 0a 27 d5 b4 27 20 3d 3e 20 27 d5 84 27 2c 0a 27 d5 b5 27 20 3d 3e 20 27 d5 85 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16c3a0 d5 b6 27 20 3d 3e 20 27 d5 86 27 2c 0a 27 d5 b7 27 20 3d 3e 20 27 d5 87 27 2c 0a 27 d5 b8 27 20 ..'.=>.'..',.'..'.=>.'..',.'..'.
16c3c0 3d 3e 20 27 d5 88 27 2c 0a 27 d5 b9 27 20 3d 3e 20 27 d5 89 27 2c 0a 27 d5 ba 27 20 3d 3e 20 27 =>.'..',.'..'.=>.'..',.'..'.=>.'
16c3e0 d5 8a 27 2c 0a 27 d5 bb 27 20 3d 3e 20 27 d5 8b 27 2c 0a 27 d5 bc 27 20 3d 3e 20 27 d5 8c 27 2c ..',.'..'.=>.'..',.'..'.=>.'..',
16c400 0a 27 d5 bd 27 20 3d 3e 20 27 d5 8d 27 2c 0a 27 d5 be 27 20 3d 3e 20 27 d5 8e 27 2c 0a 27 d5 bf .'..'.=>.'..',.'..'.=>.'..',.'..
16c420 27 20 3d 3e 20 27 d5 8f 27 2c 0a 27 d6 80 27 20 3d 3e 20 27 d5 90 27 2c 0a 27 d6 81 27 20 3d 3e '.=>.'..',.'..'.=>.'..',.'..'.=>
16c440 20 27 d5 91 27 2c 0a 27 d6 82 27 20 3d 3e 20 27 d5 92 27 2c 0a 27 d6 83 27 20 3d 3e 20 27 d5 93 .'..',.'..'.=>.'..',.'..'.=>.'..
16c460 27 2c 0a 27 d6 84 27 20 3d 3e 20 27 d5 94 27 2c 0a 27 d6 85 27 20 3d 3e 20 27 d5 95 27 2c 0a 27 ',.'..'.=>.'..',.'..'.=>.'..',.'
16c480 d6 86 27 20 3d 3e 20 27 d5 96 27 2c 0a 27 e1 b5 b9 27 20 3d 3e 20 27 ea 9d bd 27 2c 0a 27 e1 b5 ..'.=>.'..',.'...'.=>.'...',.'..
16c4a0 bd 27 20 3d 3e 20 27 e2 b1 a3 27 2c 0a 27 e1 b8 81 27 20 3d 3e 20 27 e1 b8 80 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c4c0 83 27 20 3d 3e 20 27 e1 b8 82 27 2c 0a 27 e1 b8 85 27 20 3d 3e 20 27 e1 b8 84 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c4e0 87 27 20 3d 3e 20 27 e1 b8 86 27 2c 0a 27 e1 b8 89 27 20 3d 3e 20 27 e1 b8 88 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c500 8b 27 20 3d 3e 20 27 e1 b8 8a 27 2c 0a 27 e1 b8 8d 27 20 3d 3e 20 27 e1 b8 8c 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c520 8f 27 20 3d 3e 20 27 e1 b8 8e 27 2c 0a 27 e1 b8 91 27 20 3d 3e 20 27 e1 b8 90 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c540 93 27 20 3d 3e 20 27 e1 b8 92 27 2c 0a 27 e1 b8 95 27 20 3d 3e 20 27 e1 b8 94 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c560 97 27 20 3d 3e 20 27 e1 b8 96 27 2c 0a 27 e1 b8 99 27 20 3d 3e 20 27 e1 b8 98 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c580 9b 27 20 3d 3e 20 27 e1 b8 9a 27 2c 0a 27 e1 b8 9d 27 20 3d 3e 20 27 e1 b8 9c 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c5a0 9f 27 20 3d 3e 20 27 e1 b8 9e 27 2c 0a 27 e1 b8 a1 27 20 3d 3e 20 27 e1 b8 a0 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c5c0 a3 27 20 3d 3e 20 27 e1 b8 a2 27 2c 0a 27 e1 b8 a5 27 20 3d 3e 20 27 e1 b8 a4 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c5e0 a7 27 20 3d 3e 20 27 e1 b8 a6 27 2c 0a 27 e1 b8 a9 27 20 3d 3e 20 27 e1 b8 a8 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c600 ab 27 20 3d 3e 20 27 e1 b8 aa 27 2c 0a 27 e1 b8 ad 27 20 3d 3e 20 27 e1 b8 ac 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c620 af 27 20 3d 3e 20 27 e1 b8 ae 27 2c 0a 27 e1 b8 b1 27 20 3d 3e 20 27 e1 b8 b0 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c640 b3 27 20 3d 3e 20 27 e1 b8 b2 27 2c 0a 27 e1 b8 b5 27 20 3d 3e 20 27 e1 b8 b4 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c660 b7 27 20 3d 3e 20 27 e1 b8 b6 27 2c 0a 27 e1 b8 b9 27 20 3d 3e 20 27 e1 b8 b8 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c680 bb 27 20 3d 3e 20 27 e1 b8 ba 27 2c 0a 27 e1 b8 bd 27 20 3d 3e 20 27 e1 b8 bc 27 2c 0a 27 e1 b8 .'.=>.'...',.'...'.=>.'...',.'..
16c6a0 bf 27 20 3d 3e 20 27 e1 b8 be 27 2c 0a 27 e1 b9 81 27 20 3d 3e 20 27 e1 b9 80 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c6c0 83 27 20 3d 3e 20 27 e1 b9 82 27 2c 0a 27 e1 b9 85 27 20 3d 3e 20 27 e1 b9 84 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c6e0 87 27 20 3d 3e 20 27 e1 b9 86 27 2c 0a 27 e1 b9 89 27 20 3d 3e 20 27 e1 b9 88 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c700 8b 27 20 3d 3e 20 27 e1 b9 8a 27 2c 0a 27 e1 b9 8d 27 20 3d 3e 20 27 e1 b9 8c 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c720 8f 27 20 3d 3e 20 27 e1 b9 8e 27 2c 0a 27 e1 b9 91 27 20 3d 3e 20 27 e1 b9 90 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c740 93 27 20 3d 3e 20 27 e1 b9 92 27 2c 0a 27 e1 b9 95 27 20 3d 3e 20 27 e1 b9 94 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c760 97 27 20 3d 3e 20 27 e1 b9 96 27 2c 0a 27 e1 b9 99 27 20 3d 3e 20 27 e1 b9 98 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c780 9b 27 20 3d 3e 20 27 e1 b9 9a 27 2c 0a 27 e1 b9 9d 27 20 3d 3e 20 27 e1 b9 9c 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c7a0 9f 27 20 3d 3e 20 27 e1 b9 9e 27 2c 0a 27 e1 b9 a1 27 20 3d 3e 20 27 e1 b9 a0 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c7c0 a3 27 20 3d 3e 20 27 e1 b9 a2 27 2c 0a 27 e1 b9 a5 27 20 3d 3e 20 27 e1 b9 a4 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c7e0 a7 27 20 3d 3e 20 27 e1 b9 a6 27 2c 0a 27 e1 b9 a9 27 20 3d 3e 20 27 e1 b9 a8 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c800 ab 27 20 3d 3e 20 27 e1 b9 aa 27 2c 0a 27 e1 b9 ad 27 20 3d 3e 20 27 e1 b9 ac 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c820 af 27 20 3d 3e 20 27 e1 b9 ae 27 2c 0a 27 e1 b9 b1 27 20 3d 3e 20 27 e1 b9 b0 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c840 b3 27 20 3d 3e 20 27 e1 b9 b2 27 2c 0a 27 e1 b9 b5 27 20 3d 3e 20 27 e1 b9 b4 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c860 b7 27 20 3d 3e 20 27 e1 b9 b6 27 2c 0a 27 e1 b9 b9 27 20 3d 3e 20 27 e1 b9 b8 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c880 bb 27 20 3d 3e 20 27 e1 b9 ba 27 2c 0a 27 e1 b9 bd 27 20 3d 3e 20 27 e1 b9 bc 27 2c 0a 27 e1 b9 .'.=>.'...',.'...'.=>.'...',.'..
16c8a0 bf 27 20 3d 3e 20 27 e1 b9 be 27 2c 0a 27 e1 ba 81 27 20 3d 3e 20 27 e1 ba 80 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16c8c0 83 27 20 3d 3e 20 27 e1 ba 82 27 2c 0a 27 e1 ba 85 27 20 3d 3e 20 27 e1 ba 84 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16c8e0 87 27 20 3d 3e 20 27 e1 ba 86 27 2c 0a 27 e1 ba 89 27 20 3d 3e 20 27 e1 ba 88 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16c900 8b 27 20 3d 3e 20 27 e1 ba 8a 27 2c 0a 27 e1 ba 8d 27 20 3d 3e 20 27 e1 ba 8c 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16c920 8f 27 20 3d 3e 20 27 e1 ba 8e 27 2c 0a 27 e1 ba 91 27 20 3d 3e 20 27 e1 ba 90 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16c940 93 27 20 3d 3e 20 27 e1 ba 92 27 2c 0a 27 e1 ba 95 27 20 3d 3e 20 27 e1 ba 94 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16c960 9b 27 20 3d 3e 20 27 e1 b9 a0 27 2c 0a 27 e1 ba a1 27 20 3d 3e 20 27 e1 ba a0 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16c980 a3 27 20 3d 3e 20 27 e1 ba a2 27 2c 0a 27 e1 ba a5 27 20 3d 3e 20 27 e1 ba a4 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16c9a0 a7 27 20 3d 3e 20 27 e1 ba a6 27 2c 0a 27 e1 ba a9 27 20 3d 3e 20 27 e1 ba a8 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16c9c0 ab 27 20 3d 3e 20 27 e1 ba aa 27 2c 0a 27 e1 ba ad 27 20 3d 3e 20 27 e1 ba ac 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16c9e0 af 27 20 3d 3e 20 27 e1 ba ae 27 2c 0a 27 e1 ba b1 27 20 3d 3e 20 27 e1 ba b0 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16ca00 b3 27 20 3d 3e 20 27 e1 ba b2 27 2c 0a 27 e1 ba b5 27 20 3d 3e 20 27 e1 ba b4 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16ca20 b7 27 20 3d 3e 20 27 e1 ba b6 27 2c 0a 27 e1 ba b9 27 20 3d 3e 20 27 e1 ba b8 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16ca40 bb 27 20 3d 3e 20 27 e1 ba ba 27 2c 0a 27 e1 ba bd 27 20 3d 3e 20 27 e1 ba bc 27 2c 0a 27 e1 ba .'.=>.'...',.'...'.=>.'...',.'..
16ca60 bf 27 20 3d 3e 20 27 e1 ba be 27 2c 0a 27 e1 bb 81 27 20 3d 3e 20 27 e1 bb 80 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16ca80 83 27 20 3d 3e 20 27 e1 bb 82 27 2c 0a 27 e1 bb 85 27 20 3d 3e 20 27 e1 bb 84 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16caa0 87 27 20 3d 3e 20 27 e1 bb 86 27 2c 0a 27 e1 bb 89 27 20 3d 3e 20 27 e1 bb 88 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cac0 8b 27 20 3d 3e 20 27 e1 bb 8a 27 2c 0a 27 e1 bb 8d 27 20 3d 3e 20 27 e1 bb 8c 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cae0 8f 27 20 3d 3e 20 27 e1 bb 8e 27 2c 0a 27 e1 bb 91 27 20 3d 3e 20 27 e1 bb 90 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cb00 93 27 20 3d 3e 20 27 e1 bb 92 27 2c 0a 27 e1 bb 95 27 20 3d 3e 20 27 e1 bb 94 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cb20 97 27 20 3d 3e 20 27 e1 bb 96 27 2c 0a 27 e1 bb 99 27 20 3d 3e 20 27 e1 bb 98 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cb40 9b 27 20 3d 3e 20 27 e1 bb 9a 27 2c 0a 27 e1 bb 9d 27 20 3d 3e 20 27 e1 bb 9c 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cb60 9f 27 20 3d 3e 20 27 e1 bb 9e 27 2c 0a 27 e1 bb a1 27 20 3d 3e 20 27 e1 bb a0 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cb80 a3 27 20 3d 3e 20 27 e1 bb a2 27 2c 0a 27 e1 bb a5 27 20 3d 3e 20 27 e1 bb a4 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cba0 a7 27 20 3d 3e 20 27 e1 bb a6 27 2c 0a 27 e1 bb a9 27 20 3d 3e 20 27 e1 bb a8 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cbc0 ab 27 20 3d 3e 20 27 e1 bb aa 27 2c 0a 27 e1 bb ad 27 20 3d 3e 20 27 e1 bb ac 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cbe0 af 27 20 3d 3e 20 27 e1 bb ae 27 2c 0a 27 e1 bb b1 27 20 3d 3e 20 27 e1 bb b0 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cc00 b3 27 20 3d 3e 20 27 e1 bb b2 27 2c 0a 27 e1 bb b5 27 20 3d 3e 20 27 e1 bb b4 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cc20 b7 27 20 3d 3e 20 27 e1 bb b6 27 2c 0a 27 e1 bb b9 27 20 3d 3e 20 27 e1 bb b8 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cc40 bb 27 20 3d 3e 20 27 e1 bb ba 27 2c 0a 27 e1 bb bd 27 20 3d 3e 20 27 e1 bb bc 27 2c 0a 27 e1 bb .'.=>.'...',.'...'.=>.'...',.'..
16cc60 bf 27 20 3d 3e 20 27 e1 bb be 27 2c 0a 27 e1 bc 80 27 20 3d 3e 20 27 e1 bc 88 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16cc80 81 27 20 3d 3e 20 27 e1 bc 89 27 2c 0a 27 e1 bc 82 27 20 3d 3e 20 27 e1 bc 8a 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16cca0 83 27 20 3d 3e 20 27 e1 bc 8b 27 2c 0a 27 e1 bc 84 27 20 3d 3e 20 27 e1 bc 8c 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16ccc0 85 27 20 3d 3e 20 27 e1 bc 8d 27 2c 0a 27 e1 bc 86 27 20 3d 3e 20 27 e1 bc 8e 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16cce0 87 27 20 3d 3e 20 27 e1 bc 8f 27 2c 0a 27 e1 bc 90 27 20 3d 3e 20 27 e1 bc 98 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16cd00 91 27 20 3d 3e 20 27 e1 bc 99 27 2c 0a 27 e1 bc 92 27 20 3d 3e 20 27 e1 bc 9a 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16cd20 93 27 20 3d 3e 20 27 e1 bc 9b 27 2c 0a 27 e1 bc 94 27 20 3d 3e 20 27 e1 bc 9c 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16cd40 95 27 20 3d 3e 20 27 e1 bc 9d 27 2c 0a 27 e1 bc a0 27 20 3d 3e 20 27 e1 bc a8 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16cd60 a1 27 20 3d 3e 20 27 e1 bc a9 27 2c 0a 27 e1 bc a2 27 20 3d 3e 20 27 e1 bc aa 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16cd80 a3 27 20 3d 3e 20 27 e1 bc ab 27 2c 0a 27 e1 bc a4 27 20 3d 3e 20 27 e1 bc ac 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16cda0 a5 27 20 3d 3e 20 27 e1 bc ad 27 2c 0a 27 e1 bc a6 27 20 3d 3e 20 27 e1 bc ae 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16cdc0 a7 27 20 3d 3e 20 27 e1 bc af 27 2c 0a 27 e1 bc b0 27 20 3d 3e 20 27 e1 bc b8 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16cde0 b1 27 20 3d 3e 20 27 e1 bc b9 27 2c 0a 27 e1 bc b2 27 20 3d 3e 20 27 e1 bc ba 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16ce00 b3 27 20 3d 3e 20 27 e1 bc bb 27 2c 0a 27 e1 bc b4 27 20 3d 3e 20 27 e1 bc bc 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16ce20 b5 27 20 3d 3e 20 27 e1 bc bd 27 2c 0a 27 e1 bc b6 27 20 3d 3e 20 27 e1 bc be 27 2c 0a 27 e1 bc .'.=>.'...',.'...'.=>.'...',.'..
16ce40 b7 27 20 3d 3e 20 27 e1 bc bf 27 2c 0a 27 e1 bd 80 27 20 3d 3e 20 27 e1 bd 88 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16ce60 81 27 20 3d 3e 20 27 e1 bd 89 27 2c 0a 27 e1 bd 82 27 20 3d 3e 20 27 e1 bd 8a 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16ce80 83 27 20 3d 3e 20 27 e1 bd 8b 27 2c 0a 27 e1 bd 84 27 20 3d 3e 20 27 e1 bd 8c 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16cea0 85 27 20 3d 3e 20 27 e1 bd 8d 27 2c 0a 27 e1 bd 91 27 20 3d 3e 20 27 e1 bd 99 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16cec0 93 27 20 3d 3e 20 27 e1 bd 9b 27 2c 0a 27 e1 bd 95 27 20 3d 3e 20 27 e1 bd 9d 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16cee0 97 27 20 3d 3e 20 27 e1 bd 9f 27 2c 0a 27 e1 bd a0 27 20 3d 3e 20 27 e1 bd a8 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16cf00 a1 27 20 3d 3e 20 27 e1 bd a9 27 2c 0a 27 e1 bd a2 27 20 3d 3e 20 27 e1 bd aa 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16cf20 a3 27 20 3d 3e 20 27 e1 bd ab 27 2c 0a 27 e1 bd a4 27 20 3d 3e 20 27 e1 bd ac 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16cf40 a5 27 20 3d 3e 20 27 e1 bd ad 27 2c 0a 27 e1 bd a6 27 20 3d 3e 20 27 e1 bd ae 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16cf60 a7 27 20 3d 3e 20 27 e1 bd af 27 2c 0a 27 e1 bd b0 27 20 3d 3e 20 27 e1 be ba 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16cf80 b1 27 20 3d 3e 20 27 e1 be bb 27 2c 0a 27 e1 bd b2 27 20 3d 3e 20 27 e1 bf 88 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16cfa0 b3 27 20 3d 3e 20 27 e1 bf 89 27 2c 0a 27 e1 bd b4 27 20 3d 3e 20 27 e1 bf 8a 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16cfc0 b5 27 20 3d 3e 20 27 e1 bf 8b 27 2c 0a 27 e1 bd b6 27 20 3d 3e 20 27 e1 bf 9a 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16cfe0 b7 27 20 3d 3e 20 27 e1 bf 9b 27 2c 0a 27 e1 bd b8 27 20 3d 3e 20 27 e1 bf b8 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16d000 b9 27 20 3d 3e 20 27 e1 bf b9 27 2c 0a 27 e1 bd ba 27 20 3d 3e 20 27 e1 bf aa 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16d020 bb 27 20 3d 3e 20 27 e1 bf ab 27 2c 0a 27 e1 bd bc 27 20 3d 3e 20 27 e1 bf ba 27 2c 0a 27 e1 bd .'.=>.'...',.'...'.=>.'...',.'..
16d040 bd 27 20 3d 3e 20 27 e1 bf bb 27 2c 0a 27 e1 be 80 27 20 3d 3e 20 27 e1 be 88 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d060 81 27 20 3d 3e 20 27 e1 be 89 27 2c 0a 27 e1 be 82 27 20 3d 3e 20 27 e1 be 8a 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d080 83 27 20 3d 3e 20 27 e1 be 8b 27 2c 0a 27 e1 be 84 27 20 3d 3e 20 27 e1 be 8c 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d0a0 85 27 20 3d 3e 20 27 e1 be 8d 27 2c 0a 27 e1 be 86 27 20 3d 3e 20 27 e1 be 8e 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d0c0 87 27 20 3d 3e 20 27 e1 be 8f 27 2c 0a 27 e1 be 90 27 20 3d 3e 20 27 e1 be 98 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d0e0 91 27 20 3d 3e 20 27 e1 be 99 27 2c 0a 27 e1 be 92 27 20 3d 3e 20 27 e1 be 9a 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d100 93 27 20 3d 3e 20 27 e1 be 9b 27 2c 0a 27 e1 be 94 27 20 3d 3e 20 27 e1 be 9c 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d120 95 27 20 3d 3e 20 27 e1 be 9d 27 2c 0a 27 e1 be 96 27 20 3d 3e 20 27 e1 be 9e 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d140 97 27 20 3d 3e 20 27 e1 be 9f 27 2c 0a 27 e1 be a0 27 20 3d 3e 20 27 e1 be a8 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d160 a1 27 20 3d 3e 20 27 e1 be a9 27 2c 0a 27 e1 be a2 27 20 3d 3e 20 27 e1 be aa 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d180 a3 27 20 3d 3e 20 27 e1 be ab 27 2c 0a 27 e1 be a4 27 20 3d 3e 20 27 e1 be ac 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d1a0 a5 27 20 3d 3e 20 27 e1 be ad 27 2c 0a 27 e1 be a6 27 20 3d 3e 20 27 e1 be ae 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d1c0 a7 27 20 3d 3e 20 27 e1 be af 27 2c 0a 27 e1 be b0 27 20 3d 3e 20 27 e1 be b8 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d1e0 b1 27 20 3d 3e 20 27 e1 be b9 27 2c 0a 27 e1 be b3 27 20 3d 3e 20 27 e1 be bc 27 2c 0a 27 e1 be .'.=>.'...',.'...'.=>.'...',.'..
16d200 be 27 20 3d 3e 20 27 ce 99 27 2c 0a 27 e1 bf 83 27 20 3d 3e 20 27 e1 bf 8c 27 2c 0a 27 e1 bf 90 .'.=>.'..',.'...'.=>.'...',.'...
16d220 27 20 3d 3e 20 27 e1 bf 98 27 2c 0a 27 e1 bf 91 27 20 3d 3e 20 27 e1 bf 99 27 2c 0a 27 e1 bf a0 '.=>.'...',.'...'.=>.'...',.'...
16d240 27 20 3d 3e 20 27 e1 bf a8 27 2c 0a 27 e1 bf a1 27 20 3d 3e 20 27 e1 bf a9 27 2c 0a 27 e1 bf a5 '.=>.'...',.'...'.=>.'...',.'...
16d260 27 20 3d 3e 20 27 e1 bf ac 27 2c 0a 27 e1 bf b3 27 20 3d 3e 20 27 e1 bf bc 27 2c 0a 27 e2 85 8e '.=>.'...',.'...'.=>.'...',.'...
16d280 27 20 3d 3e 20 27 e2 84 b2 27 2c 0a 27 e2 85 b0 27 20 3d 3e 20 27 e2 85 a0 27 2c 0a 27 e2 85 b1 '.=>.'...',.'...'.=>.'...',.'...
16d2a0 27 20 3d 3e 20 27 e2 85 a1 27 2c 0a 27 e2 85 b2 27 20 3d 3e 20 27 e2 85 a2 27 2c 0a 27 e2 85 b3 '.=>.'...',.'...'.=>.'...',.'...
16d2c0 27 20 3d 3e 20 27 e2 85 a3 27 2c 0a 27 e2 85 b4 27 20 3d 3e 20 27 e2 85 a4 27 2c 0a 27 e2 85 b5 '.=>.'...',.'...'.=>.'...',.'...
16d2e0 27 20 3d 3e 20 27 e2 85 a5 27 2c 0a 27 e2 85 b6 27 20 3d 3e 20 27 e2 85 a6 27 2c 0a 27 e2 85 b7 '.=>.'...',.'...'.=>.'...',.'...
16d300 27 20 3d 3e 20 27 e2 85 a7 27 2c 0a 27 e2 85 b8 27 20 3d 3e 20 27 e2 85 a8 27 2c 0a 27 e2 85 b9 '.=>.'...',.'...'.=>.'...',.'...
16d320 27 20 3d 3e 20 27 e2 85 a9 27 2c 0a 27 e2 85 ba 27 20 3d 3e 20 27 e2 85 aa 27 2c 0a 27 e2 85 bb '.=>.'...',.'...'.=>.'...',.'...
16d340 27 20 3d 3e 20 27 e2 85 ab 27 2c 0a 27 e2 85 bc 27 20 3d 3e 20 27 e2 85 ac 27 2c 0a 27 e2 85 bd '.=>.'...',.'...'.=>.'...',.'...
16d360 27 20 3d 3e 20 27 e2 85 ad 27 2c 0a 27 e2 85 be 27 20 3d 3e 20 27 e2 85 ae 27 2c 0a 27 e2 85 bf '.=>.'...',.'...'.=>.'...',.'...
16d380 27 20 3d 3e 20 27 e2 85 af 27 2c 0a 27 e2 86 84 27 20 3d 3e 20 27 e2 86 83 27 2c 0a 27 e2 93 90 '.=>.'...',.'...'.=>.'...',.'...
16d3a0 27 20 3d 3e 20 27 e2 92 b6 27 2c 0a 27 e2 93 91 27 20 3d 3e 20 27 e2 92 b7 27 2c 0a 27 e2 93 92 '.=>.'...',.'...'.=>.'...',.'...
16d3c0 27 20 3d 3e 20 27 e2 92 b8 27 2c 0a 27 e2 93 93 27 20 3d 3e 20 27 e2 92 b9 27 2c 0a 27 e2 93 94 '.=>.'...',.'...'.=>.'...',.'...
16d3e0 27 20 3d 3e 20 27 e2 92 ba 27 2c 0a 27 e2 93 95 27 20 3d 3e 20 27 e2 92 bb 27 2c 0a 27 e2 93 96 '.=>.'...',.'...'.=>.'...',.'...
16d400 27 20 3d 3e 20 27 e2 92 bc 27 2c 0a 27 e2 93 97 27 20 3d 3e 20 27 e2 92 bd 27 2c 0a 27 e2 93 98 '.=>.'...',.'...'.=>.'...',.'...
16d420 27 20 3d 3e 20 27 e2 92 be 27 2c 0a 27 e2 93 99 27 20 3d 3e 20 27 e2 92 bf 27 2c 0a 27 e2 93 9a '.=>.'...',.'...'.=>.'...',.'...
16d440 27 20 3d 3e 20 27 e2 93 80 27 2c 0a 27 e2 93 9b 27 20 3d 3e 20 27 e2 93 81 27 2c 0a 27 e2 93 9c '.=>.'...',.'...'.=>.'...',.'...
16d460 27 20 3d 3e 20 27 e2 93 82 27 2c 0a 27 e2 93 9d 27 20 3d 3e 20 27 e2 93 83 27 2c 0a 27 e2 93 9e '.=>.'...',.'...'.=>.'...',.'...
16d480 27 20 3d 3e 20 27 e2 93 84 27 2c 0a 27 e2 93 9f 27 20 3d 3e 20 27 e2 93 85 27 2c 0a 27 e2 93 a0 '.=>.'...',.'...'.=>.'...',.'...
16d4a0 27 20 3d 3e 20 27 e2 93 86 27 2c 0a 27 e2 93 a1 27 20 3d 3e 20 27 e2 93 87 27 2c 0a 27 e2 93 a2 '.=>.'...',.'...'.=>.'...',.'...
16d4c0 27 20 3d 3e 20 27 e2 93 88 27 2c 0a 27 e2 93 a3 27 20 3d 3e 20 27 e2 93 89 27 2c 0a 27 e2 93 a4 '.=>.'...',.'...'.=>.'...',.'...
16d4e0 27 20 3d 3e 20 27 e2 93 8a 27 2c 0a 27 e2 93 a5 27 20 3d 3e 20 27 e2 93 8b 27 2c 0a 27 e2 93 a6 '.=>.'...',.'...'.=>.'...',.'...
16d500 27 20 3d 3e 20 27 e2 93 8c 27 2c 0a 27 e2 93 a7 27 20 3d 3e 20 27 e2 93 8d 27 2c 0a 27 e2 93 a8 '.=>.'...',.'...'.=>.'...',.'...
16d520 27 20 3d 3e 20 27 e2 93 8e 27 2c 0a 27 e2 93 a9 27 20 3d 3e 20 27 e2 93 8f 27 2c 0a 27 e2 b0 b0 '.=>.'...',.'...'.=>.'...',.'...
16d540 27 20 3d 3e 20 27 e2 b0 80 27 2c 0a 27 e2 b0 b1 27 20 3d 3e 20 27 e2 b0 81 27 2c 0a 27 e2 b0 b2 '.=>.'...',.'...'.=>.'...',.'...
16d560 27 20 3d 3e 20 27 e2 b0 82 27 2c 0a 27 e2 b0 b3 27 20 3d 3e 20 27 e2 b0 83 27 2c 0a 27 e2 b0 b4 '.=>.'...',.'...'.=>.'...',.'...
16d580 27 20 3d 3e 20 27 e2 b0 84 27 2c 0a 27 e2 b0 b5 27 20 3d 3e 20 27 e2 b0 85 27 2c 0a 27 e2 b0 b6 '.=>.'...',.'...'.=>.'...',.'...
16d5a0 27 20 3d 3e 20 27 e2 b0 86 27 2c 0a 27 e2 b0 b7 27 20 3d 3e 20 27 e2 b0 87 27 2c 0a 27 e2 b0 b8 '.=>.'...',.'...'.=>.'...',.'...
16d5c0 27 20 3d 3e 20 27 e2 b0 88 27 2c 0a 27 e2 b0 b9 27 20 3d 3e 20 27 e2 b0 89 27 2c 0a 27 e2 b0 ba '.=>.'...',.'...'.=>.'...',.'...
16d5e0 27 20 3d 3e 20 27 e2 b0 8a 27 2c 0a 27 e2 b0 bb 27 20 3d 3e 20 27 e2 b0 8b 27 2c 0a 27 e2 b0 bc '.=>.'...',.'...'.=>.'...',.'...
16d600 27 20 3d 3e 20 27 e2 b0 8c 27 2c 0a 27 e2 b0 bd 27 20 3d 3e 20 27 e2 b0 8d 27 2c 0a 27 e2 b0 be '.=>.'...',.'...'.=>.'...',.'...
16d620 27 20 3d 3e 20 27 e2 b0 8e 27 2c 0a 27 e2 b0 bf 27 20 3d 3e 20 27 e2 b0 8f 27 2c 0a 27 e2 b1 80 '.=>.'...',.'...'.=>.'...',.'...
16d640 27 20 3d 3e 20 27 e2 b0 90 27 2c 0a 27 e2 b1 81 27 20 3d 3e 20 27 e2 b0 91 27 2c 0a 27 e2 b1 82 '.=>.'...',.'...'.=>.'...',.'...
16d660 27 20 3d 3e 20 27 e2 b0 92 27 2c 0a 27 e2 b1 83 27 20 3d 3e 20 27 e2 b0 93 27 2c 0a 27 e2 b1 84 '.=>.'...',.'...'.=>.'...',.'...
16d680 27 20 3d 3e 20 27 e2 b0 94 27 2c 0a 27 e2 b1 85 27 20 3d 3e 20 27 e2 b0 95 27 2c 0a 27 e2 b1 86 '.=>.'...',.'...'.=>.'...',.'...
16d6a0 27 20 3d 3e 20 27 e2 b0 96 27 2c 0a 27 e2 b1 87 27 20 3d 3e 20 27 e2 b0 97 27 2c 0a 27 e2 b1 88 '.=>.'...',.'...'.=>.'...',.'...
16d6c0 27 20 3d 3e 20 27 e2 b0 98 27 2c 0a 27 e2 b1 89 27 20 3d 3e 20 27 e2 b0 99 27 2c 0a 27 e2 b1 8a '.=>.'...',.'...'.=>.'...',.'...
16d6e0 27 20 3d 3e 20 27 e2 b0 9a 27 2c 0a 27 e2 b1 8b 27 20 3d 3e 20 27 e2 b0 9b 27 2c 0a 27 e2 b1 8c '.=>.'...',.'...'.=>.'...',.'...
16d700 27 20 3d 3e 20 27 e2 b0 9c 27 2c 0a 27 e2 b1 8d 27 20 3d 3e 20 27 e2 b0 9d 27 2c 0a 27 e2 b1 8e '.=>.'...',.'...'.=>.'...',.'...
16d720 27 20 3d 3e 20 27 e2 b0 9e 27 2c 0a 27 e2 b1 8f 27 20 3d 3e 20 27 e2 b0 9f 27 2c 0a 27 e2 b1 90 '.=>.'...',.'...'.=>.'...',.'...
16d740 27 20 3d 3e 20 27 e2 b0 a0 27 2c 0a 27 e2 b1 91 27 20 3d 3e 20 27 e2 b0 a1 27 2c 0a 27 e2 b1 92 '.=>.'...',.'...'.=>.'...',.'...
16d760 27 20 3d 3e 20 27 e2 b0 a2 27 2c 0a 27 e2 b1 93 27 20 3d 3e 20 27 e2 b0 a3 27 2c 0a 27 e2 b1 94 '.=>.'...',.'...'.=>.'...',.'...
16d780 27 20 3d 3e 20 27 e2 b0 a4 27 2c 0a 27 e2 b1 95 27 20 3d 3e 20 27 e2 b0 a5 27 2c 0a 27 e2 b1 96 '.=>.'...',.'...'.=>.'...',.'...
16d7a0 27 20 3d 3e 20 27 e2 b0 a6 27 2c 0a 27 e2 b1 97 27 20 3d 3e 20 27 e2 b0 a7 27 2c 0a 27 e2 b1 98 '.=>.'...',.'...'.=>.'...',.'...
16d7c0 27 20 3d 3e 20 27 e2 b0 a8 27 2c 0a 27 e2 b1 99 27 20 3d 3e 20 27 e2 b0 a9 27 2c 0a 27 e2 b1 9a '.=>.'...',.'...'.=>.'...',.'...
16d7e0 27 20 3d 3e 20 27 e2 b0 aa 27 2c 0a 27 e2 b1 9b 27 20 3d 3e 20 27 e2 b0 ab 27 2c 0a 27 e2 b1 9c '.=>.'...',.'...'.=>.'...',.'...
16d800 27 20 3d 3e 20 27 e2 b0 ac 27 2c 0a 27 e2 b1 9d 27 20 3d 3e 20 27 e2 b0 ad 27 2c 0a 27 e2 b1 9e '.=>.'...',.'...'.=>.'...',.'...
16d820 27 20 3d 3e 20 27 e2 b0 ae 27 2c 0a 27 e2 b1 a1 27 20 3d 3e 20 27 e2 b1 a0 27 2c 0a 27 e2 b1 a5 '.=>.'...',.'...'.=>.'...',.'...
16d840 27 20 3d 3e 20 27 c8 ba 27 2c 0a 27 e2 b1 a6 27 20 3d 3e 20 27 c8 be 27 2c 0a 27 e2 b1 a8 27 20 '.=>.'..',.'...'.=>.'..',.'...'.
16d860 3d 3e 20 27 e2 b1 a7 27 2c 0a 27 e2 b1 aa 27 20 3d 3e 20 27 e2 b1 a9 27 2c 0a 27 e2 b1 ac 27 20 =>.'...',.'...'.=>.'...',.'...'.
16d880 3d 3e 20 27 e2 b1 ab 27 2c 0a 27 e2 b1 b3 27 20 3d 3e 20 27 e2 b1 b2 27 2c 0a 27 e2 b1 b6 27 20 =>.'...',.'...'.=>.'...',.'...'.
16d8a0 3d 3e 20 27 e2 b1 b5 27 2c 0a 27 e2 b2 81 27 20 3d 3e 20 27 e2 b2 80 27 2c 0a 27 e2 b2 83 27 20 =>.'...',.'...'.=>.'...',.'...'.
16d8c0 3d 3e 20 27 e2 b2 82 27 2c 0a 27 e2 b2 85 27 20 3d 3e 20 27 e2 b2 84 27 2c 0a 27 e2 b2 87 27 20 =>.'...',.'...'.=>.'...',.'...'.
16d8e0 3d 3e 20 27 e2 b2 86 27 2c 0a 27 e2 b2 89 27 20 3d 3e 20 27 e2 b2 88 27 2c 0a 27 e2 b2 8b 27 20 =>.'...',.'...'.=>.'...',.'...'.
16d900 3d 3e 20 27 e2 b2 8a 27 2c 0a 27 e2 b2 8d 27 20 3d 3e 20 27 e2 b2 8c 27 2c 0a 27 e2 b2 8f 27 20 =>.'...',.'...'.=>.'...',.'...'.
16d920 3d 3e 20 27 e2 b2 8e 27 2c 0a 27 e2 b2 91 27 20 3d 3e 20 27 e2 b2 90 27 2c 0a 27 e2 b2 93 27 20 =>.'...',.'...'.=>.'...',.'...'.
16d940 3d 3e 20 27 e2 b2 92 27 2c 0a 27 e2 b2 95 27 20 3d 3e 20 27 e2 b2 94 27 2c 0a 27 e2 b2 97 27 20 =>.'...',.'...'.=>.'...',.'...'.
16d960 3d 3e 20 27 e2 b2 96 27 2c 0a 27 e2 b2 99 27 20 3d 3e 20 27 e2 b2 98 27 2c 0a 27 e2 b2 9b 27 20 =>.'...',.'...'.=>.'...',.'...'.
16d980 3d 3e 20 27 e2 b2 9a 27 2c 0a 27 e2 b2 9d 27 20 3d 3e 20 27 e2 b2 9c 27 2c 0a 27 e2 b2 9f 27 20 =>.'...',.'...'.=>.'...',.'...'.
16d9a0 3d 3e 20 27 e2 b2 9e 27 2c 0a 27 e2 b2 a1 27 20 3d 3e 20 27 e2 b2 a0 27 2c 0a 27 e2 b2 a3 27 20 =>.'...',.'...'.=>.'...',.'...'.
16d9c0 3d 3e 20 27 e2 b2 a2 27 2c 0a 27 e2 b2 a5 27 20 3d 3e 20 27 e2 b2 a4 27 2c 0a 27 e2 b2 a7 27 20 =>.'...',.'...'.=>.'...',.'...'.
16d9e0 3d 3e 20 27 e2 b2 a6 27 2c 0a 27 e2 b2 a9 27 20 3d 3e 20 27 e2 b2 a8 27 2c 0a 27 e2 b2 ab 27 20 =>.'...',.'...'.=>.'...',.'...'.
16da00 3d 3e 20 27 e2 b2 aa 27 2c 0a 27 e2 b2 ad 27 20 3d 3e 20 27 e2 b2 ac 27 2c 0a 27 e2 b2 af 27 20 =>.'...',.'...'.=>.'...',.'...'.
16da20 3d 3e 20 27 e2 b2 ae 27 2c 0a 27 e2 b2 b1 27 20 3d 3e 20 27 e2 b2 b0 27 2c 0a 27 e2 b2 b3 27 20 =>.'...',.'...'.=>.'...',.'...'.
16da40 3d 3e 20 27 e2 b2 b2 27 2c 0a 27 e2 b2 b5 27 20 3d 3e 20 27 e2 b2 b4 27 2c 0a 27 e2 b2 b7 27 20 =>.'...',.'...'.=>.'...',.'...'.
16da60 3d 3e 20 27 e2 b2 b6 27 2c 0a 27 e2 b2 b9 27 20 3d 3e 20 27 e2 b2 b8 27 2c 0a 27 e2 b2 bb 27 20 =>.'...',.'...'.=>.'...',.'...'.
16da80 3d 3e 20 27 e2 b2 ba 27 2c 0a 27 e2 b2 bd 27 20 3d 3e 20 27 e2 b2 bc 27 2c 0a 27 e2 b2 bf 27 20 =>.'...',.'...'.=>.'...',.'...'.
16daa0 3d 3e 20 27 e2 b2 be 27 2c 0a 27 e2 b3 81 27 20 3d 3e 20 27 e2 b3 80 27 2c 0a 27 e2 b3 83 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dac0 3d 3e 20 27 e2 b3 82 27 2c 0a 27 e2 b3 85 27 20 3d 3e 20 27 e2 b3 84 27 2c 0a 27 e2 b3 87 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dae0 3d 3e 20 27 e2 b3 86 27 2c 0a 27 e2 b3 89 27 20 3d 3e 20 27 e2 b3 88 27 2c 0a 27 e2 b3 8b 27 20 =>.'...',.'...'.=>.'...',.'...'.
16db00 3d 3e 20 27 e2 b3 8a 27 2c 0a 27 e2 b3 8d 27 20 3d 3e 20 27 e2 b3 8c 27 2c 0a 27 e2 b3 8f 27 20 =>.'...',.'...'.=>.'...',.'...'.
16db20 3d 3e 20 27 e2 b3 8e 27 2c 0a 27 e2 b3 91 27 20 3d 3e 20 27 e2 b3 90 27 2c 0a 27 e2 b3 93 27 20 =>.'...',.'...'.=>.'...',.'...'.
16db40 3d 3e 20 27 e2 b3 92 27 2c 0a 27 e2 b3 95 27 20 3d 3e 20 27 e2 b3 94 27 2c 0a 27 e2 b3 97 27 20 =>.'...',.'...'.=>.'...',.'...'.
16db60 3d 3e 20 27 e2 b3 96 27 2c 0a 27 e2 b3 99 27 20 3d 3e 20 27 e2 b3 98 27 2c 0a 27 e2 b3 9b 27 20 =>.'...',.'...'.=>.'...',.'...'.
16db80 3d 3e 20 27 e2 b3 9a 27 2c 0a 27 e2 b3 9d 27 20 3d 3e 20 27 e2 b3 9c 27 2c 0a 27 e2 b3 9f 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dba0 3d 3e 20 27 e2 b3 9e 27 2c 0a 27 e2 b3 a1 27 20 3d 3e 20 27 e2 b3 a0 27 2c 0a 27 e2 b3 a3 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dbc0 3d 3e 20 27 e2 b3 a2 27 2c 0a 27 e2 b3 ac 27 20 3d 3e 20 27 e2 b3 ab 27 2c 0a 27 e2 b3 ae 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dbe0 3d 3e 20 27 e2 b3 ad 27 2c 0a 27 e2 b3 b3 27 20 3d 3e 20 27 e2 b3 b2 27 2c 0a 27 e2 b4 80 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dc00 3d 3e 20 27 e1 82 a0 27 2c 0a 27 e2 b4 81 27 20 3d 3e 20 27 e1 82 a1 27 2c 0a 27 e2 b4 82 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dc20 3d 3e 20 27 e1 82 a2 27 2c 0a 27 e2 b4 83 27 20 3d 3e 20 27 e1 82 a3 27 2c 0a 27 e2 b4 84 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dc40 3d 3e 20 27 e1 82 a4 27 2c 0a 27 e2 b4 85 27 20 3d 3e 20 27 e1 82 a5 27 2c 0a 27 e2 b4 86 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dc60 3d 3e 20 27 e1 82 a6 27 2c 0a 27 e2 b4 87 27 20 3d 3e 20 27 e1 82 a7 27 2c 0a 27 e2 b4 88 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dc80 3d 3e 20 27 e1 82 a8 27 2c 0a 27 e2 b4 89 27 20 3d 3e 20 27 e1 82 a9 27 2c 0a 27 e2 b4 8a 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dca0 3d 3e 20 27 e1 82 aa 27 2c 0a 27 e2 b4 8b 27 20 3d 3e 20 27 e1 82 ab 27 2c 0a 27 e2 b4 8c 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dcc0 3d 3e 20 27 e1 82 ac 27 2c 0a 27 e2 b4 8d 27 20 3d 3e 20 27 e1 82 ad 27 2c 0a 27 e2 b4 8e 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dce0 3d 3e 20 27 e1 82 ae 27 2c 0a 27 e2 b4 8f 27 20 3d 3e 20 27 e1 82 af 27 2c 0a 27 e2 b4 90 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dd00 3d 3e 20 27 e1 82 b0 27 2c 0a 27 e2 b4 91 27 20 3d 3e 20 27 e1 82 b1 27 2c 0a 27 e2 b4 92 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dd20 3d 3e 20 27 e1 82 b2 27 2c 0a 27 e2 b4 93 27 20 3d 3e 20 27 e1 82 b3 27 2c 0a 27 e2 b4 94 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dd40 3d 3e 20 27 e1 82 b4 27 2c 0a 27 e2 b4 95 27 20 3d 3e 20 27 e1 82 b5 27 2c 0a 27 e2 b4 96 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dd60 3d 3e 20 27 e1 82 b6 27 2c 0a 27 e2 b4 97 27 20 3d 3e 20 27 e1 82 b7 27 2c 0a 27 e2 b4 98 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dd80 3d 3e 20 27 e1 82 b8 27 2c 0a 27 e2 b4 99 27 20 3d 3e 20 27 e1 82 b9 27 2c 0a 27 e2 b4 9a 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dda0 3d 3e 20 27 e1 82 ba 27 2c 0a 27 e2 b4 9b 27 20 3d 3e 20 27 e1 82 bb 27 2c 0a 27 e2 b4 9c 27 20 =>.'...',.'...'.=>.'...',.'...'.
16ddc0 3d 3e 20 27 e1 82 bc 27 2c 0a 27 e2 b4 9d 27 20 3d 3e 20 27 e1 82 bd 27 2c 0a 27 e2 b4 9e 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dde0 3d 3e 20 27 e1 82 be 27 2c 0a 27 e2 b4 9f 27 20 3d 3e 20 27 e1 82 bf 27 2c 0a 27 e2 b4 a0 27 20 =>.'...',.'...'.=>.'...',.'...'.
16de00 3d 3e 20 27 e1 83 80 27 2c 0a 27 e2 b4 a1 27 20 3d 3e 20 27 e1 83 81 27 2c 0a 27 e2 b4 a2 27 20 =>.'...',.'...'.=>.'...',.'...'.
16de20 3d 3e 20 27 e1 83 82 27 2c 0a 27 e2 b4 a3 27 20 3d 3e 20 27 e1 83 83 27 2c 0a 27 e2 b4 a4 27 20 =>.'...',.'...'.=>.'...',.'...'.
16de40 3d 3e 20 27 e1 83 84 27 2c 0a 27 e2 b4 a5 27 20 3d 3e 20 27 e1 83 85 27 2c 0a 27 e2 b4 a7 27 20 =>.'...',.'...'.=>.'...',.'...'.
16de60 3d 3e 20 27 e1 83 87 27 2c 0a 27 e2 b4 ad 27 20 3d 3e 20 27 e1 83 8d 27 2c 0a 27 ea 99 81 27 20 =>.'...',.'...'.=>.'...',.'...'.
16de80 3d 3e 20 27 ea 99 80 27 2c 0a 27 ea 99 83 27 20 3d 3e 20 27 ea 99 82 27 2c 0a 27 ea 99 85 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dea0 3d 3e 20 27 ea 99 84 27 2c 0a 27 ea 99 87 27 20 3d 3e 20 27 ea 99 86 27 2c 0a 27 ea 99 89 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dec0 3d 3e 20 27 ea 99 88 27 2c 0a 27 ea 99 8b 27 20 3d 3e 20 27 ea 99 8a 27 2c 0a 27 ea 99 8d 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dee0 3d 3e 20 27 ea 99 8c 27 2c 0a 27 ea 99 8f 27 20 3d 3e 20 27 ea 99 8e 27 2c 0a 27 ea 99 91 27 20 =>.'...',.'...'.=>.'...',.'...'.
16df00 3d 3e 20 27 ea 99 90 27 2c 0a 27 ea 99 93 27 20 3d 3e 20 27 ea 99 92 27 2c 0a 27 ea 99 95 27 20 =>.'...',.'...'.=>.'...',.'...'.
16df20 3d 3e 20 27 ea 99 94 27 2c 0a 27 ea 99 97 27 20 3d 3e 20 27 ea 99 96 27 2c 0a 27 ea 99 99 27 20 =>.'...',.'...'.=>.'...',.'...'.
16df40 3d 3e 20 27 ea 99 98 27 2c 0a 27 ea 99 9b 27 20 3d 3e 20 27 ea 99 9a 27 2c 0a 27 ea 99 9d 27 20 =>.'...',.'...'.=>.'...',.'...'.
16df60 3d 3e 20 27 ea 99 9c 27 2c 0a 27 ea 99 9f 27 20 3d 3e 20 27 ea 99 9e 27 2c 0a 27 ea 99 a1 27 20 =>.'...',.'...'.=>.'...',.'...'.
16df80 3d 3e 20 27 ea 99 a0 27 2c 0a 27 ea 99 a3 27 20 3d 3e 20 27 ea 99 a2 27 2c 0a 27 ea 99 a5 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dfa0 3d 3e 20 27 ea 99 a4 27 2c 0a 27 ea 99 a7 27 20 3d 3e 20 27 ea 99 a6 27 2c 0a 27 ea 99 a9 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dfc0 3d 3e 20 27 ea 99 a8 27 2c 0a 27 ea 99 ab 27 20 3d 3e 20 27 ea 99 aa 27 2c 0a 27 ea 99 ad 27 20 =>.'...',.'...'.=>.'...',.'...'.
16dfe0 3d 3e 20 27 ea 99 ac 27 2c 0a 27 ea 9a 81 27 20 3d 3e 20 27 ea 9a 80 27 2c 0a 27 ea 9a 83 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e000 3d 3e 20 27 ea 9a 82 27 2c 0a 27 ea 9a 85 27 20 3d 3e 20 27 ea 9a 84 27 2c 0a 27 ea 9a 87 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e020 3d 3e 20 27 ea 9a 86 27 2c 0a 27 ea 9a 89 27 20 3d 3e 20 27 ea 9a 88 27 2c 0a 27 ea 9a 8b 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e040 3d 3e 20 27 ea 9a 8a 27 2c 0a 27 ea 9a 8d 27 20 3d 3e 20 27 ea 9a 8c 27 2c 0a 27 ea 9a 8f 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e060 3d 3e 20 27 ea 9a 8e 27 2c 0a 27 ea 9a 91 27 20 3d 3e 20 27 ea 9a 90 27 2c 0a 27 ea 9a 93 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e080 3d 3e 20 27 ea 9a 92 27 2c 0a 27 ea 9a 95 27 20 3d 3e 20 27 ea 9a 94 27 2c 0a 27 ea 9a 97 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e0a0 3d 3e 20 27 ea 9a 96 27 2c 0a 27 ea 9a 99 27 20 3d 3e 20 27 ea 9a 98 27 2c 0a 27 ea 9a 9b 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e0c0 3d 3e 20 27 ea 9a 9a 27 2c 0a 27 ea 9c a3 27 20 3d 3e 20 27 ea 9c a2 27 2c 0a 27 ea 9c a5 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e0e0 3d 3e 20 27 ea 9c a4 27 2c 0a 27 ea 9c a7 27 20 3d 3e 20 27 ea 9c a6 27 2c 0a 27 ea 9c a9 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e100 3d 3e 20 27 ea 9c a8 27 2c 0a 27 ea 9c ab 27 20 3d 3e 20 27 ea 9c aa 27 2c 0a 27 ea 9c ad 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e120 3d 3e 20 27 ea 9c ac 27 2c 0a 27 ea 9c af 27 20 3d 3e 20 27 ea 9c ae 27 2c 0a 27 ea 9c b3 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e140 3d 3e 20 27 ea 9c b2 27 2c 0a 27 ea 9c b5 27 20 3d 3e 20 27 ea 9c b4 27 2c 0a 27 ea 9c b7 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e160 3d 3e 20 27 ea 9c b6 27 2c 0a 27 ea 9c b9 27 20 3d 3e 20 27 ea 9c b8 27 2c 0a 27 ea 9c bb 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e180 3d 3e 20 27 ea 9c ba 27 2c 0a 27 ea 9c bd 27 20 3d 3e 20 27 ea 9c bc 27 2c 0a 27 ea 9c bf 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e1a0 3d 3e 20 27 ea 9c be 27 2c 0a 27 ea 9d 81 27 20 3d 3e 20 27 ea 9d 80 27 2c 0a 27 ea 9d 83 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e1c0 3d 3e 20 27 ea 9d 82 27 2c 0a 27 ea 9d 85 27 20 3d 3e 20 27 ea 9d 84 27 2c 0a 27 ea 9d 87 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e1e0 3d 3e 20 27 ea 9d 86 27 2c 0a 27 ea 9d 89 27 20 3d 3e 20 27 ea 9d 88 27 2c 0a 27 ea 9d 8b 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e200 3d 3e 20 27 ea 9d 8a 27 2c 0a 27 ea 9d 8d 27 20 3d 3e 20 27 ea 9d 8c 27 2c 0a 27 ea 9d 8f 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e220 3d 3e 20 27 ea 9d 8e 27 2c 0a 27 ea 9d 91 27 20 3d 3e 20 27 ea 9d 90 27 2c 0a 27 ea 9d 93 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e240 3d 3e 20 27 ea 9d 92 27 2c 0a 27 ea 9d 95 27 20 3d 3e 20 27 ea 9d 94 27 2c 0a 27 ea 9d 97 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e260 3d 3e 20 27 ea 9d 96 27 2c 0a 27 ea 9d 99 27 20 3d 3e 20 27 ea 9d 98 27 2c 0a 27 ea 9d 9b 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e280 3d 3e 20 27 ea 9d 9a 27 2c 0a 27 ea 9d 9d 27 20 3d 3e 20 27 ea 9d 9c 27 2c 0a 27 ea 9d 9f 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e2a0 3d 3e 20 27 ea 9d 9e 27 2c 0a 27 ea 9d a1 27 20 3d 3e 20 27 ea 9d a0 27 2c 0a 27 ea 9d a3 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e2c0 3d 3e 20 27 ea 9d a2 27 2c 0a 27 ea 9d a5 27 20 3d 3e 20 27 ea 9d a4 27 2c 0a 27 ea 9d a7 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e2e0 3d 3e 20 27 ea 9d a6 27 2c 0a 27 ea 9d a9 27 20 3d 3e 20 27 ea 9d a8 27 2c 0a 27 ea 9d ab 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e300 3d 3e 20 27 ea 9d aa 27 2c 0a 27 ea 9d ad 27 20 3d 3e 20 27 ea 9d ac 27 2c 0a 27 ea 9d af 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e320 3d 3e 20 27 ea 9d ae 27 2c 0a 27 ea 9d ba 27 20 3d 3e 20 27 ea 9d b9 27 2c 0a 27 ea 9d bc 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e340 3d 3e 20 27 ea 9d bb 27 2c 0a 27 ea 9d bf 27 20 3d 3e 20 27 ea 9d be 27 2c 0a 27 ea 9e 81 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e360 3d 3e 20 27 ea 9e 80 27 2c 0a 27 ea 9e 83 27 20 3d 3e 20 27 ea 9e 82 27 2c 0a 27 ea 9e 85 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e380 3d 3e 20 27 ea 9e 84 27 2c 0a 27 ea 9e 87 27 20 3d 3e 20 27 ea 9e 86 27 2c 0a 27 ea 9e 8c 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e3a0 3d 3e 20 27 ea 9e 8b 27 2c 0a 27 ea 9e 91 27 20 3d 3e 20 27 ea 9e 90 27 2c 0a 27 ea 9e 93 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e3c0 3d 3e 20 27 ea 9e 92 27 2c 0a 27 ea 9e 97 27 20 3d 3e 20 27 ea 9e 96 27 2c 0a 27 ea 9e 99 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e3e0 3d 3e 20 27 ea 9e 98 27 2c 0a 27 ea 9e 9b 27 20 3d 3e 20 27 ea 9e 9a 27 2c 0a 27 ea 9e 9d 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e400 3d 3e 20 27 ea 9e 9c 27 2c 0a 27 ea 9e 9f 27 20 3d 3e 20 27 ea 9e 9e 27 2c 0a 27 ea 9e a1 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e420 3d 3e 20 27 ea 9e a0 27 2c 0a 27 ea 9e a3 27 20 3d 3e 20 27 ea 9e a2 27 2c 0a 27 ea 9e a5 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e440 3d 3e 20 27 ea 9e a4 27 2c 0a 27 ea 9e a7 27 20 3d 3e 20 27 ea 9e a6 27 2c 0a 27 ea 9e a9 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e460 3d 3e 20 27 ea 9e a8 27 2c 0a 27 ef bd 81 27 20 3d 3e 20 27 ef bc a1 27 2c 0a 27 ef bd 82 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e480 3d 3e 20 27 ef bc a2 27 2c 0a 27 ef bd 83 27 20 3d 3e 20 27 ef bc a3 27 2c 0a 27 ef bd 84 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e4a0 3d 3e 20 27 ef bc a4 27 2c 0a 27 ef bd 85 27 20 3d 3e 20 27 ef bc a5 27 2c 0a 27 ef bd 86 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e4c0 3d 3e 20 27 ef bc a6 27 2c 0a 27 ef bd 87 27 20 3d 3e 20 27 ef bc a7 27 2c 0a 27 ef bd 88 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e4e0 3d 3e 20 27 ef bc a8 27 2c 0a 27 ef bd 89 27 20 3d 3e 20 27 ef bc a9 27 2c 0a 27 ef bd 8a 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e500 3d 3e 20 27 ef bc aa 27 2c 0a 27 ef bd 8b 27 20 3d 3e 20 27 ef bc ab 27 2c 0a 27 ef bd 8c 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e520 3d 3e 20 27 ef bc ac 27 2c 0a 27 ef bd 8d 27 20 3d 3e 20 27 ef bc ad 27 2c 0a 27 ef bd 8e 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e540 3d 3e 20 27 ef bc ae 27 2c 0a 27 ef bd 8f 27 20 3d 3e 20 27 ef bc af 27 2c 0a 27 ef bd 90 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e560 3d 3e 20 27 ef bc b0 27 2c 0a 27 ef bd 91 27 20 3d 3e 20 27 ef bc b1 27 2c 0a 27 ef bd 92 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e580 3d 3e 20 27 ef bc b2 27 2c 0a 27 ef bd 93 27 20 3d 3e 20 27 ef bc b3 27 2c 0a 27 ef bd 94 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e5a0 3d 3e 20 27 ef bc b4 27 2c 0a 27 ef bd 95 27 20 3d 3e 20 27 ef bc b5 27 2c 0a 27 ef bd 96 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e5c0 3d 3e 20 27 ef bc b6 27 2c 0a 27 ef bd 97 27 20 3d 3e 20 27 ef bc b7 27 2c 0a 27 ef bd 98 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e5e0 3d 3e 20 27 ef bc b8 27 2c 0a 27 ef bd 99 27 20 3d 3e 20 27 ef bc b9 27 2c 0a 27 ef bd 9a 27 20 =>.'...',.'...'.=>.'...',.'...'.
16e600 3d 3e 20 27 ef bc ba 27 2c 0a 27 f0 90 90 a8 27 20 3d 3e 20 27 f0 90 90 80 27 2c 0a 27 f0 90 90 =>.'...',.'....'.=>.'....',.'...
16e620 a9 27 20 3d 3e 20 27 f0 90 90 81 27 2c 0a 27 f0 90 90 aa 27 20 3d 3e 20 27 f0 90 90 82 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
16e640 27 f0 90 90 ab 27 20 3d 3e 20 27 f0 90 90 83 27 2c 0a 27 f0 90 90 ac 27 20 3d 3e 20 27 f0 90 90 '....'.=>.'....',.'....'.=>.'...
16e660 84 27 2c 0a 27 f0 90 90 ad 27 20 3d 3e 20 27 f0 90 90 85 27 2c 0a 27 f0 90 90 ae 27 20 3d 3e 20 .',.'....'.=>.'....',.'....'.=>.
16e680 27 f0 90 90 86 27 2c 0a 27 f0 90 90 af 27 20 3d 3e 20 27 f0 90 90 87 27 2c 0a 27 f0 90 90 b0 27 '....',.'....'.=>.'....',.'....'
16e6a0 20 3d 3e 20 27 f0 90 90 88 27 2c 0a 27 f0 90 90 b1 27 20 3d 3e 20 27 f0 90 90 89 27 2c 0a 27 f0 .=>.'....',.'....'.=>.'....',.'.
16e6c0 90 90 b2 27 20 3d 3e 20 27 f0 90 90 8a 27 2c 0a 27 f0 90 90 b3 27 20 3d 3e 20 27 f0 90 90 8b 27 ...'.=>.'....',.'....'.=>.'....'
16e6e0 2c 0a 27 f0 90 90 b4 27 20 3d 3e 20 27 f0 90 90 8c 27 2c 0a 27 f0 90 90 b5 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
16e700 90 90 8d 27 2c 0a 27 f0 90 90 b6 27 20 3d 3e 20 27 f0 90 90 8e 27 2c 0a 27 f0 90 90 b7 27 20 3d ...',.'....'.=>.'....',.'....'.=
16e720 3e 20 27 f0 90 90 8f 27 2c 0a 27 f0 90 90 b8 27 20 3d 3e 20 27 f0 90 90 90 27 2c 0a 27 f0 90 90 >.'....',.'....'.=>.'....',.'...
16e740 b9 27 20 3d 3e 20 27 f0 90 90 91 27 2c 0a 27 f0 90 90 ba 27 20 3d 3e 20 27 f0 90 90 92 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
16e760 27 f0 90 90 bb 27 20 3d 3e 20 27 f0 90 90 93 27 2c 0a 27 f0 90 90 bc 27 20 3d 3e 20 27 f0 90 90 '....'.=>.'....',.'....'.=>.'...
16e780 94 27 2c 0a 27 f0 90 90 bd 27 20 3d 3e 20 27 f0 90 90 95 27 2c 0a 27 f0 90 90 be 27 20 3d 3e 20 .',.'....'.=>.'....',.'....'.=>.
16e7a0 27 f0 90 90 96 27 2c 0a 27 f0 90 90 bf 27 20 3d 3e 20 27 f0 90 90 97 27 2c 0a 27 f0 90 91 80 27 '....',.'....'.=>.'....',.'....'
16e7c0 20 3d 3e 20 27 f0 90 90 98 27 2c 0a 27 f0 90 91 81 27 20 3d 3e 20 27 f0 90 90 99 27 2c 0a 27 f0 .=>.'....',.'....'.=>.'....',.'.
16e7e0 90 91 82 27 20 3d 3e 20 27 f0 90 90 9a 27 2c 0a 27 f0 90 91 83 27 20 3d 3e 20 27 f0 90 90 9b 27 ...'.=>.'....',.'....'.=>.'....'
16e800 2c 0a 27 f0 90 91 84 27 20 3d 3e 20 27 f0 90 90 9c 27 2c 0a 27 f0 90 91 85 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
16e820 90 90 9d 27 2c 0a 27 f0 90 91 86 27 20 3d 3e 20 27 f0 90 90 9e 27 2c 0a 27 f0 90 91 87 27 20 3d ...',.'....'.=>.'....',.'....'.=
16e840 3e 20 27 f0 90 90 9f 27 2c 0a 27 f0 90 91 88 27 20 3d 3e 20 27 f0 90 90 a0 27 2c 0a 27 f0 90 91 >.'....',.'....'.=>.'....',.'...
16e860 89 27 20 3d 3e 20 27 f0 90 90 a1 27 2c 0a 27 f0 90 91 8a 27 20 3d 3e 20 27 f0 90 90 a2 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
16e880 27 f0 90 91 8b 27 20 3d 3e 20 27 f0 90 90 a3 27 2c 0a 27 f0 90 91 8c 27 20 3d 3e 20 27 f0 90 90 '....'.=>.'....',.'....'.=>.'...
16e8a0 a4 27 2c 0a 27 f0 90 91 8d 27 20 3d 3e 20 27 f0 90 90 a5 27 2c 0a 27 f0 90 91 8e 27 20 3d 3e 20 .',.'....'.=>.'....',.'....'.=>.
16e8c0 27 f0 90 90 a6 27 2c 0a 27 f0 90 91 8f 27 20 3d 3e 20 27 f0 90 90 a7 27 2c 0a 27 f0 91 a3 80 27 '....',.'....'.=>.'....',.'....'
16e8e0 20 3d 3e 20 27 f0 91 a2 a0 27 2c 0a 27 f0 91 a3 81 27 20 3d 3e 20 27 f0 91 a2 a1 27 2c 0a 27 f0 .=>.'....',.'....'.=>.'....',.'.
16e900 91 a3 82 27 20 3d 3e 20 27 f0 91 a2 a2 27 2c 0a 27 f0 91 a3 83 27 20 3d 3e 20 27 f0 91 a2 a3 27 ...'.=>.'....',.'....'.=>.'....'
16e920 2c 0a 27 f0 91 a3 84 27 20 3d 3e 20 27 f0 91 a2 a4 27 2c 0a 27 f0 91 a3 85 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
16e940 91 a2 a5 27 2c 0a 27 f0 91 a3 86 27 20 3d 3e 20 27 f0 91 a2 a6 27 2c 0a 27 f0 91 a3 87 27 20 3d ...',.'....'.=>.'....',.'....'.=
16e960 3e 20 27 f0 91 a2 a7 27 2c 0a 27 f0 91 a3 88 27 20 3d 3e 20 27 f0 91 a2 a8 27 2c 0a 27 f0 91 a3 >.'....',.'....'.=>.'....',.'...
16e980 89 27 20 3d 3e 20 27 f0 91 a2 a9 27 2c 0a 27 f0 91 a3 8a 27 20 3d 3e 20 27 f0 91 a2 aa 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
16e9a0 27 f0 91 a3 8b 27 20 3d 3e 20 27 f0 91 a2 ab 27 2c 0a 27 f0 91 a3 8c 27 20 3d 3e 20 27 f0 91 a2 '....'.=>.'....',.'....'.=>.'...
16e9c0 ac 27 2c 0a 27 f0 91 a3 8d 27 20 3d 3e 20 27 f0 91 a2 ad 27 2c 0a 27 f0 91 a3 8e 27 20 3d 3e 20 .',.'....'.=>.'....',.'....'.=>.
16e9e0 27 f0 91 a2 ae 27 2c 0a 27 f0 91 a3 8f 27 20 3d 3e 20 27 f0 91 a2 af 27 2c 0a 27 f0 91 a3 90 27 '....',.'....'.=>.'....',.'....'
16ea00 20 3d 3e 20 27 f0 91 a2 b0 27 2c 0a 27 f0 91 a3 91 27 20 3d 3e 20 27 f0 91 a2 b1 27 2c 0a 27 f0 .=>.'....',.'....'.=>.'....',.'.
16ea20 91 a3 92 27 20 3d 3e 20 27 f0 91 a2 b2 27 2c 0a 27 f0 91 a3 93 27 20 3d 3e 20 27 f0 91 a2 b3 27 ...'.=>.'....',.'....'.=>.'....'
16ea40 2c 0a 27 f0 91 a3 94 27 20 3d 3e 20 27 f0 91 a2 b4 27 2c 0a 27 f0 91 a3 95 27 20 3d 3e 20 27 f0 ,.'....'.=>.'....',.'....'.=>.'.
16ea60 91 a2 b5 27 2c 0a 27 f0 91 a3 96 27 20 3d 3e 20 27 f0 91 a2 b6 27 2c 0a 27 f0 91 a3 97 27 20 3d ...',.'....'.=>.'....',.'....'.=
16ea80 3e 20 27 f0 91 a2 b7 27 2c 0a 27 f0 91 a3 98 27 20 3d 3e 20 27 f0 91 a2 b8 27 2c 0a 27 f0 91 a3 >.'....',.'....'.=>.'....',.'...
16eaa0 99 27 20 3d 3e 20 27 f0 91 a2 b9 27 2c 0a 27 f0 91 a3 9a 27 20 3d 3e 20 27 f0 91 a2 ba 27 2c 0a .'.=>.'....',.'....'.=>.'....',.
16eac0 27 f0 91 a3 9b 27 20 3d 3e 20 27 f0 91 a2 bb 27 2c 0a 27 f0 91 a3 9c 27 20 3d 3e 20 27 f0 91 a2 '....'.=>.'....',.'....'.=>.'...
16eae0 bc 27 2c 0a 27 f0 91 a3 9d 27 20 3d 3e 20 27 f0 91 a2 bd 27 2c 0a 27 f0 91 a3 9e 27 20 3d 3e 20 .',.'....'.=>.'....',.'....'.=>.
16eb00 27 f0 91 a2 be 27 2c 0a 27 f0 91 a3 9f 27 20 3d 3e 20 27 f0 91 a2 bf 27 2c 0a 29 3b 0a 3c 3f 70 '....',.'....'.=>.'....',.);.<?p
16eb20 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 50 6f 6c 79 66 69 6c hp...........use.Symfony\Polyfil
16eb40 6c 5c 4d 62 73 74 72 69 6e 67 20 61 73 20 70 3b 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f l\Mbstring.as.p;..if.(!function_
16eb60 65 78 69 73 74 73 28 27 6d 62 5f 73 74 72 6c 65 6e 27 29 29 20 7b 0a 64 65 66 69 6e 65 28 27 4d exists('mb_strlen')).{.define('M
16eb80 42 5f 43 41 53 45 5f 55 50 50 45 52 27 2c 20 30 29 3b 0a 64 65 66 69 6e 65 28 27 4d 42 5f 43 41 B_CASE_UPPER',.0);.define('MB_CA
16eba0 53 45 5f 4c 4f 57 45 52 27 2c 20 31 29 3b 0a 64 65 66 69 6e 65 28 27 4d 42 5f 43 41 53 45 5f 54 SE_LOWER',.1);.define('MB_CASE_T
16ebc0 49 54 4c 45 27 2c 20 32 29 3b 0a 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f ITLE',.2);..function.mb_convert_
16ebe0 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 74 6f 2c 20 24 66 72 6f 6d 20 3d 20 6e 75 6c 6c 29 20 encoding($s,.$to,.$from.=.null).
16ec00 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f {.return.p\Mbstring::mb_convert_
16ec20 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 74 6f 2c 20 24 66 72 6f 6d 29 3b 20 7d 0a 66 75 6e 63 encoding($s,.$to,.$from);.}.func
16ec40 74 69 6f 6e 20 6d 62 5f 64 65 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 24 73 29 20 7b 20 tion.mb_decode_mimeheader($s).{.
16ec60 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 64 65 63 6f 64 65 5f 6d 69 6d return.p\Mbstring::mb_decode_mim
16ec80 65 68 65 61 64 65 72 28 24 73 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 eheader($s);.}.function.mb_encod
16eca0 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 24 73 2c 20 24 63 68 61 72 73 65 74 20 3d 20 6e 75 6c 6c e_mimeheader($s,.$charset.=.null
16ecc0 2c 20 24 74 72 61 6e 73 66 65 72 45 6e 63 20 3d 20 6e 75 6c 6c 2c 20 24 6c 66 20 3d 20 6e 75 6c ,.$transferEnc.=.null,.$lf.=.nul
16ece0 6c 2c 20 24 69 6e 64 65 6e 74 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 l,.$indent.=.null).{.return.p\Mb
16ed00 73 74 72 69 6e 67 3a 3a 6d 62 5f 65 6e 63 6f 64 65 5f 6d 69 6d 65 68 65 61 64 65 72 28 24 73 2c string::mb_encode_mimeheader($s,
16ed20 20 24 63 68 61 72 73 65 74 2c 20 24 74 72 61 6e 73 66 65 72 45 6e 63 2c 20 24 6c 66 2c 20 24 69 .$charset,.$transferEnc,.$lf,.$i
16ed40 6e 64 65 6e 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 63 6f 64 65 5f 6e 75 6d ndent);.}.function.mb_decode_num
16ed60 65 72 69 63 65 6e 74 69 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 20 3d 20 ericentity($s,.$convmap,.$enc.=.
16ed80 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 64 65 null).{.return.p\Mbstring::mb_de
16eda0 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 69 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 2c code_numericentity($s,.$convmap,
16edc0 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d .$enc);.}.function.mb_encode_num
16ede0 65 72 69 63 65 6e 74 69 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 20 3d 20 ericentity($s,.$convmap,.$enc.=.
16ee00 6e 75 6c 6c 2c 20 24 69 73 5f 68 65 78 20 3d 20 66 61 6c 73 65 29 20 7b 20 72 65 74 75 72 6e 20 null,.$is_hex.=.false).{.return.
16ee20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 65 6e 63 6f 64 65 5f 6e 75 6d 65 72 69 63 65 6e 74 p\Mbstring::mb_encode_numericent
16ee40 69 74 79 28 24 73 2c 20 24 63 6f 6e 76 6d 61 70 2c 20 24 65 6e 63 2c 20 24 69 73 5f 68 65 78 29 ity($s,.$convmap,.$enc,.$is_hex)
16ee60 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c ;.}.function.mb_convert_case($s,
16ee80 20 24 6d 6f 64 65 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c .$mode,.$enc.=.null).{.return.p\
16eea0 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 63 61 73 65 28 24 73 2c 20 24 6d Mbstring::mb_convert_case($s,.$m
16eec0 6f 64 65 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 69 6e 74 65 72 6e ode,.$enc);.}.function.mb_intern
16eee0 61 6c 5f 65 6e 63 6f 64 69 6e 67 28 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 al_encoding($enc.=.null).{.retur
16ef00 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 69 6e 74 65 72 6e 61 6c 5f 65 6e 63 6f 64 69 n.p\Mbstring::mb_internal_encodi
16ef20 6e 67 28 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6c 61 6e 67 75 61 67 65 ng($enc);.}.function.mb_language
16ef40 28 24 6c 61 6e 67 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 ($lang.=.null).{.return.p\Mbstri
16ef60 6e 67 3a 3a 6d 62 5f 6c 61 6e 67 75 61 67 65 28 24 6c 61 6e 67 29 3b 20 7d 0a 66 75 6e 63 74 69 ng::mb_language($lang);.}.functi
16ef80 6f 6e 20 6d 62 5f 6c 69 73 74 5f 65 6e 63 6f 64 69 6e 67 73 28 29 20 7b 20 72 65 74 75 72 6e 20 on.mb_list_encodings().{.return.
16efa0 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 6c 69 73 74 5f 65 6e 63 6f 64 69 6e 67 73 28 29 3b p\Mbstring::mb_list_encodings();
16efc0 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 65 6e 63 6f 64 69 6e 67 5f 61 6c 69 61 73 65 73 28 .}.function.mb_encoding_aliases(
16efe0 24 65 6e 63 6f 64 69 6e 67 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a $encoding).{.return.p\Mbstring::
16f000 6d 62 5f 65 6e 63 6f 64 69 6e 67 5f 61 6c 69 61 73 65 73 28 24 65 6e 63 6f 64 69 6e 67 29 3b 20 mb_encoding_aliases($encoding);.
16f020 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 68 65 63 6b 5f 65 6e 63 6f 64 69 6e 67 28 24 76 61 }.function.mb_check_encoding($va
16f040 72 20 3d 20 6e 75 6c 6c 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 r.=.null,.$encoding.=.null).{.re
16f060 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 68 65 63 6b 5f 65 6e 63 6f 64 69 turn.p\Mbstring::mb_check_encodi
16f080 6e 67 28 24 76 61 72 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 ng($var,.$encoding);.}.function.
16f0a0 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 2c 20 24 65 6e 63 6f 64 69 mb_detect_encoding($str,.$encodi
16f0c0 6e 67 4c 69 73 74 20 3d 20 6e 75 6c 6c 2c 20 24 73 74 72 69 63 74 20 3d 20 66 61 6c 73 65 29 20 ngList.=.null,.$strict.=.false).
16f0e0 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 64 65 74 65 63 74 5f 65 {.return.p\Mbstring::mb_detect_e
16f100 6e 63 6f 64 69 6e 67 28 24 73 74 72 2c 20 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 2c 20 24 73 74 ncoding($str,.$encodingList,.$st
16f120 72 69 63 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 64 65 74 65 63 74 5f 6f 72 64 65 rict);.}.function.mb_detect_orde
16f140 72 28 24 65 6e 63 6f 64 69 6e 67 4c 69 73 74 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e r($encodingList.=.null).{.return
16f160 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 64 65 74 65 63 74 5f 6f 72 64 65 72 28 24 65 6e .p\Mbstring::mb_detect_order($en
16f180 63 6f 64 69 6e 67 4c 69 73 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 70 61 72 73 65 codingList);.}.function.mb_parse
16f1a0 5f 73 74 72 28 24 73 2c 20 26 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 29 20 7b 20 70 _str($s,.&$result.=.array()).{.p
16f1c0 61 72 73 65 5f 73 74 72 28 24 73 2c 20 24 72 65 73 75 6c 74 29 3b 20 7d 0a 66 75 6e 63 74 69 6f arse_str($s,.$result);.}.functio
16f1e0 6e 20 6d 62 5f 73 74 72 6c 65 6e 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 n.mb_strlen($s,.$enc.=.null).{.r
16f200 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 6c 65 6e 28 24 73 2c 20 eturn.p\Mbstring::mb_strlen($s,.
16f220 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 70 6f 73 28 24 73 2c 20 $enc);.}.function.mb_strpos($s,.
16f240 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 20 3d 20 6e 75 6c $needle,.$offset.=.0,.$enc.=.nul
16f260 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 70 6f l).{.return.p\Mbstring::mb_strpo
16f280 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 29 3b 20 7d s($s,.$needle,.$offset,.$enc);.}
16f2a0 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 2c 20 24 65 6e 63 .function.mb_strtolower($s,.$enc
16f2c0 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 .=.null).{.return.p\Mbstring::mb
16f2e0 5f 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f _strtolower($s,.$enc);.}.functio
16f300 6e 20 6d 62 5f 73 74 72 74 6f 75 70 70 65 72 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 n.mb_strtoupper($s,.$enc.=.null)
16f320 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 74 6f 75 70 .{.return.p\Mbstring::mb_strtoup
16f340 70 65 72 28 24 73 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 75 62 per($s,.$enc);.}.function.mb_sub
16f360 73 74 69 74 75 74 65 5f 63 68 61 72 61 63 74 65 72 28 24 63 68 61 72 20 3d 20 6e 75 6c 6c 29 20 stitute_character($char.=.null).
16f380 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 75 62 73 74 69 74 75 {.return.p\Mbstring::mb_substitu
16f3a0 74 65 5f 63 68 61 72 61 63 74 65 72 28 24 63 68 61 72 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 te_character($char);.}.function.
16f3c0 6d 62 5f 73 75 62 73 74 72 28 24 73 2c 20 24 73 74 61 72 74 2c 20 24 6c 65 6e 67 74 68 20 3d 20 mb_substr($s,.$start,.$length.=.
16f3e0 32 31 34 37 34 38 33 36 34 37 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 2147483647,.$enc.=.null).{.retur
16f400 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 75 62 73 74 72 28 24 73 2c 20 24 73 74 61 n.p\Mbstring::mb_substr($s,.$sta
16f420 72 74 2c 20 24 6c 65 6e 67 74 68 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d rt,.$length,.$enc);.}.function.m
16f440 62 5f 73 74 72 69 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 20 3d b_stripos($s,.$needle,.$offset.=
16f460 20 30 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 .0,.$enc.=.null).{.return.p\Mbst
16f480 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 69 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f ring::mb_stripos($s,.$needle,.$o
16f4a0 66 66 73 65 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 69 ffset,.$enc);.}.function.mb_stri
16f4c0 73 74 72 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 str($s,.$needle,.$part.=.false,.
16f4e0 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 $enc.=.null).{.return.p\Mbstring
16f500 3a 3a 6d 62 5f 73 74 72 69 73 74 72 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 2c ::mb_stristr($s,.$needle,.$part,
16f520 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 63 68 72 28 24 73 .$enc);.}.function.mb_strrchr($s
16f540 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 20 3d ,.$needle,.$part.=.false,.$enc.=
16f560 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 .null).{.return.p\Mbstring::mb_s
16f580 74 72 72 63 68 72 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 2c 20 24 65 6e 63 29 trrchr($s,.$needle,.$part,.$enc)
16f5a0 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 69 63 68 72 28 24 73 2c 20 24 6e 65 ;.}.function.mb_strrichr($s,.$ne
16f5c0 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 6c 73 65 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c edle,.$part.=.false,.$enc.=.null
16f5e0 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 72 69 63 ).{.return.p\Mbstring::mb_strric
16f600 68 72 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 2c 20 24 65 6e 63 29 3b 20 7d 0a hr($s,.$needle,.$part,.$enc);.}.
16f620 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 72 69 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 function.mb_strripos($s,.$needle
16f640 2c 20 24 6f 66 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 ,.$offset.=.0,.$enc.=.null).{.re
16f660 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 72 69 70 6f 73 28 24 73 2c turn.p\Mbstring::mb_strripos($s,
16f680 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 .$needle,.$offset,.$enc);.}.func
16f6a0 74 69 6f 6e 20 6d 62 5f 73 74 72 72 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 6f 66 tion.mb_strrpos($s,.$needle,.$of
16f6c0 66 73 65 74 20 3d 20 30 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 fset.=.0,.$enc.=.null).{.return.
16f6e0 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 72 70 6f 73 28 24 73 2c 20 24 6e 65 65 64 p\Mbstring::mb_strrpos($s,.$need
16f700 6c 65 2c 20 24 6f 66 66 73 65 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d le,.$offset,.$enc);.}.function.m
16f720 62 5f 73 74 72 73 74 72 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 61 72 74 20 3d 20 66 61 b_strstr($s,.$needle,.$part.=.fa
16f740 6c 73 65 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 lse,.$enc.=.null).{.return.p\Mbs
16f760 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 73 74 72 28 24 73 2c 20 24 6e 65 65 64 6c 65 2c 20 24 70 tring::mb_strstr($s,.$needle,.$p
16f780 61 72 74 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 67 65 74 5f 69 6e art,.$enc);.}.function.mb_get_in
16f7a0 66 6f 28 24 74 79 70 65 20 3d 20 27 61 6c 6c 27 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 fo($type.=.'all').{.return.p\Mbs
16f7c0 74 72 69 6e 67 3a 3a 6d 62 5f 67 65 74 5f 69 6e 66 6f 28 24 74 79 70 65 29 3b 20 7d 0a 66 75 6e tring::mb_get_info($type);.}.fun
16f7e0 63 74 69 6f 6e 20 6d 62 5f 68 74 74 70 5f 6f 75 74 70 75 74 28 24 65 6e 63 20 3d 20 6e 75 6c 6c ction.mb_http_output($enc.=.null
16f800 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 68 74 74 70 5f 6f ).{.return.p\Mbstring::mb_http_o
16f820 75 74 70 75 74 28 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 77 69 utput($enc);.}.function.mb_strwi
16f840 64 74 68 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c dth($s,.$enc.=.null).{.return.p\
16f860 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 77 69 64 74 68 28 24 73 2c 20 24 65 6e 63 29 3b Mbstring::mb_strwidth($s,.$enc);
16f880 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 75 62 73 74 72 5f 63 6f 75 6e 74 28 24 68 61 79 .}.function.mb_substr_count($hay
16f8a0 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 stack,.$needle,.$enc.=.null).{.r
16f8c0 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 75 62 73 74 72 5f 63 6f 75 6e eturn.p\Mbstring::mb_substr_coun
16f8e0 74 28 24 68 61 79 73 74 61 63 6b 2c 20 24 6e 65 65 64 6c 65 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 t($haystack,.$needle,.$enc);.}.f
16f900 75 6e 63 74 69 6f 6e 20 6d 62 5f 6f 75 74 70 75 74 5f 68 61 6e 64 6c 65 72 28 24 63 6f 6e 74 65 unction.mb_output_handler($conte
16f920 6e 74 73 2c 20 24 73 74 61 74 75 73 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e nts,.$status).{.return.p\Mbstrin
16f940 67 3a 3a 6d 62 5f 6f 75 74 70 75 74 5f 68 61 6e 64 6c 65 72 28 24 63 6f 6e 74 65 6e 74 73 2c 20 g::mb_output_handler($contents,.
16f960 24 73 74 61 74 75 73 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 68 74 74 70 5f 69 6e 70 $status);.}.function.mb_http_inp
16f980 75 74 28 24 74 79 70 65 20 3d 20 27 27 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 ut($type.=.'').{.return.p\Mbstri
16f9a0 6e 67 3a 3a 6d 62 5f 68 74 74 70 5f 69 6e 70 75 74 28 24 74 79 70 65 29 3b 20 7d 0a 66 75 6e 63 ng::mb_http_input($type);.}.func
16f9c0 74 69 6f 6e 20 6d 62 5f 63 6f 6e 76 65 72 74 5f 76 61 72 69 61 62 6c 65 73 28 24 74 6f 45 6e 63 tion.mb_convert_variables($toEnc
16f9e0 6f 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 6e 67 2c 20 26 24 61 20 3d 20 6e 75 6c 6c oding,.$fromEncoding,.&$a.=.null
16fa00 2c 20 26 24 62 20 3d 20 6e 75 6c 6c 2c 20 26 24 63 20 3d 20 6e 75 6c 6c 2c 20 26 24 64 20 3d 20 ,.&$b.=.null,.&$c.=.null,.&$d.=.
16fa20 6e 75 6c 6c 2c 20 26 24 65 20 3d 20 6e 75 6c 6c 2c 20 26 24 66 20 3d 20 6e 75 6c 6c 29 20 7b 20 null,.&$e.=.null,.&$f.=.null).{.
16fa40 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 63 6f 6e 76 65 72 74 5f 76 61 return.p\Mbstring::mb_convert_va
16fa60 72 69 61 62 6c 65 73 28 24 74 6f 45 6e 63 6f 64 69 6e 67 2c 20 24 66 72 6f 6d 45 6e 63 6f 64 69 riables($toEncoding,.$fromEncodi
16fa80 6e 67 2c 20 24 61 2c 20 24 62 2c 20 24 63 2c 20 24 64 2c 20 24 65 2c 20 24 66 29 3b 20 7d 0a 7d ng,.$a,.$b,.$c,.$d,.$e,.$f);.}.}
16faa0 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6d 62 5f 63 68 72 27 29 29 .if.(!function_exists('mb_chr'))
16fac0 20 7b 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 6f 72 64 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 .{.function.mb_ord($s,.$enc.=.nu
16fae0 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 6f 72 64 28 ll).{.return.p\Mbstring::mb_ord(
16fb00 24 73 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 63 68 72 28 24 63 6f $s,.$enc);.}.function.mb_chr($co
16fb20 64 65 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 4d 62 73 74 de,.$enc.=.null).{.return.p\Mbst
16fb40 72 69 6e 67 3a 3a 6d 62 5f 63 68 72 28 24 63 6f 64 65 2c 20 24 65 6e 63 29 3b 20 7d 0a 66 75 6e ring::mb_chr($code,.$enc);.}.fun
16fb60 63 74 69 6f 6e 20 6d 62 5f 73 63 72 75 62 28 24 73 2c 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 29 20 ction.mb_scrub($s,.$enc.=.null).
16fb80 7b 20 24 65 6e 63 20 3d 20 6e 75 6c 6c 20 3d 3d 3d 20 24 65 6e 63 20 3f 20 6d 62 5f 69 6e 74 65 {.$enc.=.null.===.$enc.?.mb_inte
16fba0 72 6e 61 6c 5f 65 6e 63 6f 64 69 6e 67 28 29 20 3a 20 24 65 6e 63 3b 20 72 65 74 75 72 6e 20 6d rnal_encoding().:.$enc;.return.m
16fbc0 62 5f 63 6f 6e 76 65 72 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 2c 20 24 65 6e 63 2c 20 24 65 6e b_convert_encoding($s,.$enc,.$en
16fbe0 63 29 3b 20 7d 0a 7d 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6d c);.}.}..if.(!function_exists('m
16fc00 62 5f 73 74 72 5f 73 70 6c 69 74 27 29 29 20 7b 0a 66 75 6e 63 74 69 6f 6e 20 6d 62 5f 73 74 72 b_str_split')).{.function.mb_str
16fc20 5f 73 70 6c 69 74 28 24 73 74 72 69 6e 67 2c 20 24 73 70 6c 69 74 5f 6c 65 6e 67 74 68 20 3d 20 _split($string,.$split_length.=.
16fc40 31 2c 20 24 65 6e 63 6f 64 69 6e 67 20 3d 20 6e 75 6c 6c 29 20 7b 20 72 65 74 75 72 6e 20 70 5c 1,.$encoding.=.null).{.return.p\
16fc60 4d 62 73 74 72 69 6e 67 3a 3a 6d 62 5f 73 74 72 5f 73 70 6c 69 74 28 24 73 74 72 69 6e 67 2c 20 Mbstring::mb_str_split($string,.
16fc80 24 73 70 6c 69 74 5f 6c 65 6e 67 74 68 2c 20 24 65 6e 63 6f 64 69 6e 67 29 3b 20 7d 0a 7d 0a 3c $split_length,.$encoding);.}.}.<
16fca0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 ?php...........namespace.Symfony
16fcc0 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a \Component\Process\Exception;...
16fce0 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 ....interface.ExceptionInterface
16fd00 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 .{.}.<?php...........namespace.S
16fd20 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 ymfony\Component\Process\Excepti
16fd40 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 on;.......class.InvalidArgumentE
16fd60 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e xception.extends.\InvalidArgumen
16fd80 74 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 tException.implements.ExceptionI
16fda0 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d nterface.{.}.<?php...........nam
16fdc0 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 espace.Symfony\Component\Process
16fde0 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 6f 67 69 63 45 78 63 \Exception;.......class.LogicExc
16fe00 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 20 69 eption.extends.\LogicException.i
16fe20 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d mplements.ExceptionInterface.{.}
16fe40 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
16fe60 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 3b 0a ny\Component\Process\Exception;.
16fe80 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 .use.Symfony\Component\Process\P
16fea0 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 46 61 69 6c 65 rocess;.......class.ProcessFaile
16fec0 64 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 dException.extends.RuntimeExcept
16fee0 69 6f 6e 0a 7b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b 0a 0a 70 75 62 6c 69 63 20 ion.{.private.$process;..public.
16ff00 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 72 6f 63 65 73 73 20 24 70 72 function.__construct(Process.$pr
16ff20 6f 63 65 73 73 29 0a 7b 0a 69 66 20 28 24 70 72 6f 63 65 73 73 2d 3e 69 73 53 75 63 63 65 73 73 ocess).{.if.($process->isSuccess
16ff40 66 75 6c 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 ful()).{.throw.new.InvalidArgume
16ff60 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 45 78 70 65 63 74 65 64 20 61 20 66 61 69 6c 65 64 20 70 ntException('Expected.a.failed.p
16ff80 72 6f 63 65 73 73 2c 20 62 75 74 20 74 68 65 20 67 69 76 65 6e 20 70 72 6f 63 65 73 73 20 77 61 rocess,.but.the.given.process.wa
16ffa0 73 20 73 75 63 63 65 73 73 66 75 6c 2e 27 29 3b 0a 7d 0a 0a 24 65 72 72 6f 72 20 3d 20 73 70 72 s.successful.');.}..$error.=.spr
16ffc0 69 6e 74 66 28 27 54 68 65 20 63 6f 6d 6d 61 6e 64 20 22 25 73 22 20 66 61 69 6c 65 64 2e 27 2e intf('The.command."%s".failed.'.
16ffe0 22 5c 6e 5c 6e 45 78 69 74 20 43 6f 64 65 3a 20 25 73 28 25 73 29 5c 6e 5c 6e 57 6f 72 6b 69 6e "\n\nExit.Code:.%s(%s)\n\nWorkin
170000 67 20 64 69 72 65 63 74 6f 72 79 3a 20 25 73 22 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 43 g.directory:.%s",.$process->getC
170020 6f 6d 6d 61 6e 64 4c 69 6e 65 28 29 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 43 ommandLine(),.$process->getExitC
170040 6f 64 65 28 29 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 54 65 78 74 ode(),.$process->getExitCodeText
170060 28 29 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 57 6f 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 (),.$process->getWorkingDirector
170080 79 28 29 0a 29 3b 0a 0a 69 66 20 28 21 24 70 72 6f 63 65 73 73 2d 3e 69 73 4f 75 74 70 75 74 44 y().);..if.(!$process->isOutputD
1700a0 69 73 61 62 6c 65 64 28 29 29 20 7b 0a 24 65 72 72 6f 72 20 2e 3d 20 73 70 72 69 6e 74 66 28 22 isabled()).{.$error..=.sprintf("
1700c0 5c 6e 5c 6e 4f 75 74 70 75 74 3a 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 5c 6e 25 \n\nOutput:\n================\n%
1700e0 73 5c 6e 5c 6e 45 72 72 6f 72 20 4f 75 74 70 75 74 3a 5c 6e 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d s\n\nError.Output:\n============
170100 3d 3d 3d 3d 5c 6e 25 73 22 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 4f 75 74 70 75 74 28 29 ====\n%s",.$process->getOutput()
170120 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 29 3b 0a ,.$process->getErrorOutput().);.
170140 7d 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 65 72 72 6f 72 29 3b 0a }..parent::__construct($error);.
170160 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 3b 0a 7d 0a 0a 70 .$this->process.=.$process;.}..p
170180 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 63 65 73 73 28 29 0a 7b 0a 72 65 ublic.function.getProcess().{.re
1701a0 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a turn.$this->process;.}.}.<?php..
1701c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f .........namespace.Symfony\Compo
1701e0 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 75 73 65 20 53 79 6d nent\Process\Exception;..use.Sym
170200 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b 0a fony\Component\Process\Process;.
170220 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 ......class.ProcessTimedOutExcep
170240 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a tion.extends.RuntimeException.{.
170260 63 6f 6e 73 74 20 54 59 50 45 5f 47 45 4e 45 52 41 4c 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 54 59 const.TYPE_GENERAL.=.1;.const.TY
170280 50 45 5f 49 44 4c 45 20 3d 20 32 3b 0a 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 3b 0a PE_IDLE.=.2;..private.$process;.
1702a0 70 72 69 76 61 74 65 20 24 74 69 6d 65 6f 75 74 54 79 70 65 3b 0a 0a 70 75 62 6c 69 63 20 66 75 private.$timeoutType;..public.fu
1702c0 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 50 72 6f 63 65 73 73 20 24 70 72 6f 63 nction.__construct(Process.$proc
1702e0 65 73 73 2c 20 24 74 69 6d 65 6f 75 74 54 79 70 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 ess,.$timeoutType).{.$this->proc
170300 65 73 73 20 3d 20 24 70 72 6f 63 65 73 73 3b 0a 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 54 79 ess.=.$process;.$this->timeoutTy
170320 70 65 20 3d 20 24 74 69 6d 65 6f 75 74 54 79 70 65 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f pe.=.$timeoutType;..parent::__co
170340 6e 73 74 72 75 63 74 28 73 70 72 69 6e 74 66 28 0a 27 54 68 65 20 70 72 6f 63 65 73 73 20 22 25 nstruct(sprintf(.'The.process."%
170360 73 22 20 65 78 63 65 65 64 65 64 20 74 68 65 20 74 69 6d 65 6f 75 74 20 6f 66 20 25 73 20 73 65 s".exceeded.the.timeout.of.%s.se
170380 63 6f 6e 64 73 2e 27 2c 0a 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4c 69 6e conds.',.$process->getCommandLin
1703a0 65 28 29 2c 0a 24 74 68 69 73 2d 3e 67 65 74 45 78 63 65 65 64 65 64 54 69 6d 65 6f 75 74 28 29 e(),.$this->getExceededTimeout()
1703c0 0a 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 63 65 .));.}..public.function.getProce
1703e0 73 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 3b 0a 7d 0a ss().{.return.$this->process;.}.
170400 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 47 65 6e 65 72 61 6c 54 69 6d 65 6f 75 .public.function.isGeneralTimeou
170420 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 47 45 4e 45 52 41 4c 20 t().{.return.self::TYPE_GENERAL.
170440 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 54 79 70 65 3b 0a 7d 0a 0a 70 75 62 6c 69 ===.$this->timeoutType;.}..publi
170460 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 49 64 6c 65 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 72 65 74 c.function.isIdleTimeout().{.ret
170480 75 72 6e 20 73 65 6c 66 3a 3a 54 59 50 45 5f 49 44 4c 45 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 74 urn.self::TYPE_IDLE.===.$this->t
1704a0 69 6d 65 6f 75 74 54 79 70 65 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 imeoutType;.}..public.function.g
1704c0 65 74 45 78 63 65 65 64 65 64 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 74 etExceededTimeout().{.switch.($t
1704e0 68 69 73 2d 3e 74 69 6d 65 6f 75 74 54 79 70 65 29 20 7b 0a 63 61 73 65 20 73 65 6c 66 3a 3a 54 his->timeoutType).{.case.self::T
170500 59 50 45 5f 47 45 4e 45 52 41 4c 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 YPE_GENERAL:.return.$this->proce
170520 73 73 2d 3e 67 65 74 54 69 6d 65 6f 75 74 28 29 3b 0a 0a 63 61 73 65 20 73 65 6c 66 3a 3a 54 59 ss->getTimeout();..case.self::TY
170540 50 45 5f 49 44 4c 45 3a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 2d 3e PE_IDLE:.return.$this->process->
170560 67 65 74 49 64 6c 65 54 69 6d 65 6f 75 74 28 29 3b 0a 0a 64 65 66 61 75 6c 74 3a 0a 74 68 72 6f getIdleTimeout();..default:.thro
170580 77 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 w.new.\LogicException(sprintf('U
1705a0 6e 6b 6e 6f 77 6e 20 74 69 6d 65 6f 75 74 20 74 79 70 65 20 22 25 64 22 2e 27 2c 20 24 74 68 69 nknown.timeout.type."%d".',.$thi
1705c0 73 2d 3e 74 69 6d 65 6f 75 74 54 79 70 65 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a s->timeoutType));.}.}.}.<?php...
1705e0 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e ........namespace.Symfony\Compon
170600 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 ent\Process\Exception;.......cla
170620 73 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 6e ss.RuntimeException.extends.\Run
170640 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 timeException.implements.Excepti
170660 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a onInterface.{.}.<?php...........
170680 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 namespace.Symfony\Component\Proc
1706a0 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 ess;........class.ExecutableFind
1706c0 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 73 75 66 66 69 78 65 73 20 3d 20 61 72 72 61 79 28 27 er.{.private.$suffixes.=.array('
1706e0 2e 65 78 65 27 2c 20 27 2e 62 61 74 27 2c 20 27 2e 63 6d 64 27 2c 20 27 2e 63 6f 6d 27 29 3b 0a .exe',.'.bat',.'.cmd',.'.com');.
170700 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 53 75 66 66 69 78 65 73 28 ....public.function.setSuffixes(
170720 61 72 72 61 79 20 24 73 75 66 66 69 78 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 75 66 66 69 78 array.$suffixes).{.$this->suffix
170740 65 73 20 3d 20 24 73 75 66 66 69 78 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 es.=.$suffixes;.}.......public.f
170760 75 6e 63 74 69 6f 6e 20 61 64 64 53 75 66 66 69 78 28 24 73 75 66 66 69 78 29 0a 7b 0a 24 74 68 unction.addSuffix($suffix).{.$th
170780 69 73 2d 3e 73 75 66 66 69 78 65 73 5b 5d 20 3d 20 24 73 75 66 66 69 78 3b 0a 7d 0a 0a 0a 0a 0a is->suffixes[].=.$suffix;.}.....
1707a0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 28 24 6e 61 6d 65 ......public.function.find($name
1707c0 2c 20 24 64 65 66 61 75 6c 74 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 65 78 74 72 61 44 ,.$default.=.null,.array.$extraD
1707e0 69 72 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 69 6e 69 5f 67 65 74 28 27 6f 70 irs.=.array()).{.if.(ini_get('op
170800 65 6e 5f 62 61 73 65 64 69 72 27 29 29 20 7b 0a 24 73 65 61 72 63 68 50 61 74 68 20 3d 20 65 78 en_basedir')).{.$searchPath.=.ex
170820 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 69 6e 69 5f 67 65 74 28 27 6f plode(PATH_SEPARATOR,.ini_get('o
170840 70 65 6e 5f 62 61 73 65 64 69 72 27 29 29 3b 0a 24 64 69 72 73 20 3d 20 61 72 72 61 79 28 29 3b pen_basedir'));.$dirs.=.array();
170860 0a 66 6f 72 65 61 63 68 20 28 24 73 65 61 72 63 68 50 61 74 68 20 61 73 20 24 70 61 74 68 29 20 .foreach.($searchPath.as.$path).
170880 7b 0a 0a 20 69 66 20 28 40 69 73 5f 64 69 72 28 24 70 61 74 68 29 29 20 7b 0a 24 64 69 72 73 5b {...if.(@is_dir($path)).{.$dirs[
1708a0 5d 20 3d 20 24 70 61 74 68 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 62 61 73 65 6e 61 6d 65 ].=.$path;.}.else.{.if.(basename
1708c0 28 24 70 61 74 68 29 20 3d 3d 20 24 6e 61 6d 65 20 26 26 20 40 69 73 5f 65 78 65 63 75 74 61 62 ($path).==.$name.&&.@is_executab
1708e0 6c 65 28 24 70 61 74 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 7d 0a 7d le($path)).{.return.$path;.}.}.}
170900 0a 7d 20 65 6c 73 65 20 7b 0a 24 64 69 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 65 .}.else.{.$dirs.=.array_merge(.e
170920 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 67 65 74 65 6e 76 28 27 50 xplode(PATH_SEPARATOR,.getenv('P
170940 41 54 48 27 29 20 3f 3a 20 67 65 74 65 6e 76 28 27 50 61 74 68 27 29 29 2c 0a 24 65 78 74 72 61 ATH').?:.getenv('Path')),.$extra
170960 44 69 72 73 0a 29 3b 0a 7d 0a 0a 24 73 75 66 66 69 78 65 73 20 3d 20 61 72 72 61 79 28 27 27 29 Dirs.);.}..$suffixes.=.array('')
170980 3b 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 ;.if.('\\'.===.\DIRECTORY_SEPARA
1709a0 54 4f 52 29 20 7b 0a 24 70 61 74 68 45 78 74 20 3d 20 67 65 74 65 6e 76 28 27 50 41 54 48 45 58 TOR).{.$pathExt.=.getenv('PATHEX
1709c0 54 27 29 3b 0a 24 73 75 66 66 69 78 65 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 61 T');.$suffixes.=.array_merge($pa
1709e0 74 68 45 78 74 20 3f 20 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 thExt.?.explode(PATH_SEPARATOR,.
170a00 24 70 61 74 68 45 78 74 29 20 3a 20 24 74 68 69 73 2d 3e 73 75 66 66 69 78 65 73 2c 20 24 73 75 $pathExt).:.$this->suffixes,.$su
170a20 66 66 69 78 65 73 29 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 73 75 66 66 69 78 65 73 20 61 73 ffixes);.}.foreach.($suffixes.as
170a40 20 24 73 75 66 66 69 78 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 72 73 20 61 73 20 24 64 .$suffix).{.foreach.($dirs.as.$d
170a60 69 72 29 20 7b 0a 69 66 20 28 40 69 73 5f 66 69 6c 65 28 24 66 69 6c 65 20 3d 20 24 64 69 72 2e ir).{.if.(@is_file($file.=.$dir.
170a80 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 2e 24 6e 61 6d 65 2e 24 73 75 66 66 \DIRECTORY_SEPARATOR.$name.$suff
170aa0 69 78 29 20 26 26 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 ix).&&.('\\'.===.\DIRECTORY_SEPA
170ac0 52 41 54 4f 52 20 7c 7c 20 40 69 73 5f 65 78 65 63 75 74 61 62 6c 65 28 24 66 69 6c 65 29 29 29 RATOR.||.@is_executable($file)))
170ae0 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 .{.return.$file;.}.}.}..return.$
170b00 64 65 66 61 75 6c 74 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 34 2d default;.}.}.Copyright.(c).2004-
170b20 32 30 31 38 20 46 61 62 69 65 6e 20 50 6f 74 65 6e 63 69 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 2018.Fabien.Potencier..Permissio
170b40 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 n.is.hereby.granted,.free.of.cha
170b60 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 rge,.to.any.person.obtaining.a.c
170b80 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 opy.of.this.software.and.associa
170ba0 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f ted.documentation.files.(the."So
170bc0 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 ftware"),.to.deal.in.the.Softwar
170be0 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 e.without.restriction,.including
170c00 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 .without.limitation.the.rights.t
170c20 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c o.use,.copy,.modify,.merge,.publ
170c40 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 ish,.distribute,.sublicense,.and
170c60 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c /or.sell.copies.of.the.Software,
170c80 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 .and.to.permit.persons.to.whom.t
170ca0 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f 20 73 he.Software.is.furnished.to.do.s
170cc0 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 o,.subject.to.the.following.cond
170ce0 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 itions:..The.above.copyright.not
170d00 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 ice.and.this.permission.notice.s
170d20 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f hall.be.included.in.all.copies.o
170d40 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f r.substantial.portions.of.the.So
170d60 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 ftware...THE.SOFTWARE.IS.PROVIDE
170d80 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 D."AS.IS",.WITHOUT.WARRANTY.OF.A
170da0 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 NY.KIND,.EXPRESS.OR.IMPLIED,.INC
170dc0 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 LUDING.BUT.NOT.LIMITED.TO.THE.WA
170de0 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 RRANTIES.OF.MERCHANTABILITY,.FIT
170e00 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e NESS.FOR.A.PARTICULAR.PURPOSE.AN
170e20 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 D.NONINFRINGEMENT..IN.NO.EVENT.S
170e40 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f HALL.THE.AUTHORS.OR.COPYRIGHT.HO
170e60 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 LDERS.BE.LIABLE.FOR.ANY.CLAIM,.D
170e80 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 AMAGES.OR.OTHER.LIABILITY,.WHETH
170ea0 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 ER.IN.AN.ACTION.OF.CONTRACT,.TOR
170ec0 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 T.OR.OTHERWISE,.ARISING.FROM,.OU
170ee0 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 T.OF.OR.IN.CONNECTION.WITH.THE.S
170f00 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c OFTWARE.OR.THE.USE.OR.OTHER.DEAL
170f20 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a INGS.IN.THE.SOFTWARE..<?php.....
170f40 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e ......namespace.Symfony\Componen
170f60 74 5c 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 68 70 45 78 65 63 75 t\Process;........class.PhpExecu
170f80 74 61 62 6c 65 46 69 6e 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 65 78 65 63 75 74 61 62 6c tableFinder.{.private.$executabl
170fa0 65 46 69 6e 64 65 72 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 eFinder;..public.function.__cons
170fc0 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 truct().{.$this->executableFinde
170fe0 72 20 3d 20 6e 65 77 20 45 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 28 29 3b 0a 7d 0a 0a 0a r.=.new.ExecutableFinder();.}...
171000 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 28 24 69 6e 63 6c ......public.function.find($incl
171020 75 64 65 41 72 67 73 20 3d 20 74 72 75 65 29 0a 7b 0a 24 61 72 67 73 20 3d 20 24 74 68 69 73 2d udeArgs.=.true).{.$args.=.$this-
171040 3e 66 69 6e 64 41 72 67 75 6d 65 6e 74 73 28 29 3b 0a 24 61 72 67 73 20 3d 20 24 69 6e 63 6c 75 >findArguments();.$args.=.$inclu
171060 64 65 41 72 67 73 20 26 26 20 24 61 72 67 73 20 3f 20 27 20 27 2e 69 6d 70 6c 6f 64 65 28 27 20 deArgs.&&.$args.?.'.'.implode('.
171080 27 2c 20 24 61 72 67 73 29 20 3a 20 27 27 3b 0a 0a 0a 20 69 66 20 28 5c 64 65 66 69 6e 65 64 28 ',.$args).:.'';....if.(\defined(
1710a0 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 28 67 65 74 65 6e 'HHVM_VERSION')).{.return.(geten
1710c0 76 28 27 50 48 50 5f 42 49 4e 41 52 59 27 29 20 3f 3a 20 50 48 50 5f 42 49 4e 41 52 59 29 2e 24 v('PHP_BINARY').?:.PHP_BINARY).$
1710e0 61 72 67 73 3b 0a 7d 0a 0a 0a 20 69 66 20 28 5c 64 65 66 69 6e 65 64 28 27 50 48 50 5f 42 49 4e args;.}....if.(\defined('PHP_BIN
171100 41 52 59 27 29 20 26 26 20 50 48 50 5f 42 49 4e 41 52 59 20 26 26 20 5c 69 6e 5f 61 72 72 61 79 ARY').&&.PHP_BINARY.&&.\in_array
171120 28 5c 50 48 50 5f 53 41 50 49 2c 20 61 72 72 61 79 28 27 63 6c 69 27 2c 20 27 63 6c 69 2d 73 65 (\PHP_SAPI,.array('cli',.'cli-se
171140 72 76 65 72 27 2c 20 27 70 68 70 64 62 67 27 29 2c 20 74 72 75 65 29 29 20 7b 0a 72 65 74 75 72 rver',.'phpdbg'),.true)).{.retur
171160 6e 20 50 48 50 5f 42 49 4e 41 52 59 2e 24 61 72 67 73 3b 0a 7d 0a 0a 69 66 20 28 24 70 68 70 20 n.PHP_BINARY.$args;.}..if.($php.
171180 3d 20 67 65 74 65 6e 76 28 27 50 48 50 5f 50 41 54 48 27 29 29 20 7b 0a 69 66 20 28 21 40 69 73 =.getenv('PHP_PATH')).{.if.(!@is
1711a0 5f 65 78 65 63 75 74 61 62 6c 65 28 24 70 68 70 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 _executable($php)).{.return.fals
1711c0 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 68 70 3b 0a 7d 0a 0a 69 66 20 28 24 70 68 70 20 3d e;.}..return.$php;.}..if.($php.=
1711e0 20 67 65 74 65 6e 76 28 27 50 48 50 5f 50 45 41 52 5f 50 48 50 5f 42 49 4e 27 29 29 20 7b 0a 69 .getenv('PHP_PEAR_PHP_BIN')).{.i
171200 66 20 28 40 69 73 5f 65 78 65 63 75 74 61 62 6c 65 28 24 70 68 70 29 29 20 7b 0a 72 65 74 75 72 f.(@is_executable($php)).{.retur
171220 6e 20 24 70 68 70 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 40 69 73 5f 65 78 65 63 75 74 61 62 6c 65 28 n.$php;.}.}..if.(@is_executable(
171240 24 70 68 70 20 3d 20 50 48 50 5f 42 49 4e 44 49 52 2e 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 $php.=.PHP_BINDIR.('\\'.===.\DIR
171260 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 3f 20 27 5c 5c 70 68 70 2e 65 78 65 27 20 3a ECTORY_SEPARATOR.?.'\\php.exe'.:
171280 20 27 2f 70 68 70 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 70 68 70 3b 0a 7d 0a 0a 24 64 69 .'/php'))).{.return.$php;.}..$di
1712a0 72 73 20 3d 20 61 72 72 61 79 28 50 48 50 5f 42 49 4e 44 49 52 29 3b 0a 69 66 20 28 27 5c 5c 27 rs.=.array(PHP_BINDIR);.if.('\\'
1712c0 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 24 64 69 .===.\DIRECTORY_SEPARATOR).{.$di
1712e0 72 73 5b 5d 20 3d 20 27 43 3a 5c 78 61 6d 70 70 5c 70 68 70 5c 5c 27 3b 0a 7d 0a 0a 72 65 74 75 rs[].=.'C:\xampp\php\\';.}..retu
171300 72 6e 20 24 74 68 69 73 2d 3e 65 78 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 2d 3e 66 69 6e 64 rn.$this->executableFinder->find
171320 28 27 70 68 70 27 2c 20 66 61 6c 73 65 2c 20 24 64 69 72 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 ('php',.false,.$dirs);.}.......p
171340 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 41 72 67 75 6d 65 6e 74 73 28 29 0a 7b ublic.function.findArguments().{
171360 0a 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 5c 64 65 66 .$arguments.=.array();..if.(\def
171380 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 7b 0a 24 61 72 67 75 6d 65 6e ined('HHVM_VERSION')).{.$argumen
1713a0 74 73 5b 5d 20 3d 20 27 2d 2d 70 68 70 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 70 68 70 64 62 ts[].=.'--php';.}.elseif.('phpdb
1713c0 67 27 20 3d 3d 3d 20 5c 50 48 50 5f 53 41 50 49 29 20 7b 0a 24 61 72 67 75 6d 65 6e 74 73 5b 5d g'.===.\PHP_SAPI).{.$arguments[]
1713e0 20 3d 20 27 2d 71 72 72 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 72 67 75 6d 65 6e 74 73 3b .=.'-qrr';.}..return.$arguments;
171400 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 .}.}.<?php...........namespace.S
171420 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 3b 0a 0a 75 73 65 20 53 ymfony\Component\Process;..use.S
171440 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 69 ymfony\Component\Process\Excepti
171460 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 on\RuntimeException;...........c
171480 6c 61 73 73 20 50 68 70 50 72 6f 63 65 73 73 20 65 78 74 65 6e 64 73 20 50 72 6f 63 65 73 73 0a lass.PhpProcess.extends.Process.
1714a0 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 {........public.function.__const
1714c0 72 75 63 74 28 24 73 63 72 69 70 74 2c 20 24 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 ruct($script,.$cwd.=.null,.array
1714e0 20 24 65 6e 76 20 3d 20 6e 75 6c 6c 2c 20 24 74 69 6d 65 6f 75 74 20 3d 20 36 30 2c 20 61 72 72 .$env.=.null,.$timeout.=.60,.arr
171500 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 65 78 65 63 75 74 ay.$options.=.array()).{.$execut
171520 61 62 6c 65 46 69 6e 64 65 72 20 3d 20 6e 65 77 20 50 68 70 45 78 65 63 75 74 61 62 6c 65 46 69 ableFinder.=.new.PhpExecutableFi
171540 6e 64 65 72 28 29 3b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 70 68 70 20 3d 20 24 65 78 nder();.if.(false.===.$php.=.$ex
171560 65 63 75 74 61 62 6c 65 46 69 6e 64 65 72 2d 3e 66 69 6e 64 28 29 29 20 7b 0a 24 70 68 70 20 3d ecutableFinder->find()).{.$php.=
171580 20 6e 75 6c 6c 3b 0a 7d 0a 69 66 20 28 27 70 68 70 64 62 67 27 20 3d 3d 3d 20 5c 50 48 50 5f 53 .null;.}.if.('phpdbg'.===.\PHP_S
1715a0 41 50 49 29 20 7b 0a 24 66 69 6c 65 20 3d 20 74 65 6d 70 6e 61 6d 28 73 79 73 5f 67 65 74 5f 74 API).{.$file.=.tempnam(sys_get_t
1715c0 65 6d 70 5f 64 69 72 28 29 2c 20 27 64 62 67 27 29 3b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 emp_dir(),.'dbg');.file_put_cont
1715e0 65 6e 74 73 28 24 66 69 6c 65 2c 20 24 73 63 72 69 70 74 29 3b 0a 72 65 67 69 73 74 65 72 5f 73 ents($file,.$script);.register_s
171600 68 75 74 64 6f 77 6e 5f 66 75 6e 63 74 69 6f 6e 28 27 75 6e 6c 69 6e 6b 27 2c 20 24 66 69 6c 65 hutdown_function('unlink',.$file
171620 29 3b 0a 24 70 68 70 20 2e 3d 20 27 20 27 2e 50 72 6f 63 65 73 73 55 74 69 6c 73 3a 3a 65 73 63 );.$php..=.'.'.ProcessUtils::esc
171640 61 70 65 41 72 67 75 6d 65 6e 74 28 24 66 69 6c 65 29 3b 0a 24 73 63 72 69 70 74 20 3d 20 6e 75 apeArgument($file);.$script.=.nu
171660 6c 6c 3b 0a 7d 0a 69 66 20 28 27 5c 5c 27 20 21 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 ll;.}.if.('\\'.!==.\DIRECTORY_SE
171680 50 41 52 41 54 4f 52 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 70 68 70 29 20 7b 0a 0a 20 0a 20 PARATOR.&&.null.!==.$php).{.....
1716a0 0a 20 24 70 68 70 20 3d 20 27 65 78 65 63 20 27 2e 24 70 68 70 3b 0a 7d 0a 0a 70 61 72 65 6e 74 ..$php.=.'exec.'.$php;.}..parent
1716c0 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 70 68 70 2c 20 24 63 77 64 2c 20 24 65 6e 76 2c 20 ::__construct($php,.$cwd,.$env,.
1716e0 24 73 63 72 69 70 74 2c 20 24 74 69 6d 65 6f 75 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 7d 0a $script,.$timeout,.$options);.}.
171700 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 68 70 42 69 6e 61 72 79 ....public.function.setPhpBinary
171720 28 24 70 68 70 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 65 74 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 24 ($php).{.$this->setCommandLine($
171740 70 68 70 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 61 72 php);.}.....public.function.star
171760 74 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d t($callback.=.null).{.if.(null.=
171780 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 29 29 20 7b 0a 74 68 ==.$this->getCommandLine()).{.th
1717a0 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 61 62 6c 65 row.new.RuntimeException('Unable
1717c0 20 74 6f 20 66 69 6e 64 20 74 68 65 20 50 48 50 20 65 78 65 63 75 74 61 62 6c 65 2e 27 29 3b 0a .to.find.the.PHP.executable.');.
1717e0 7d 0a 0a 70 61 72 65 6e 74 3a 3a 73 74 61 72 74 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 7d 0a 7d }..parent::start($callback);.}.}
171800 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f .<?php...........namespace.Symfo
171820 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 3b 0a 0a 0a 0a 0a ny\Component\Process\Pipes;.....
171840 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 50 69 70 65 73 20 69 ..abstract.class.AbstractPipes.i
171860 6d 70 6c 65 6d 65 6e 74 73 20 50 69 70 65 73 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 mplements.PipesInterface.{.publi
171880 63 20 24 70 69 70 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 69 6e c.$pipes.=.array();..private.$in
1718a0 70 75 74 42 75 66 66 65 72 20 3d 20 27 27 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a putBuffer.=.'';.private.$input;.
1718c0 70 72 69 76 61 74 65 20 24 62 6c 6f 63 6b 65 64 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 private.$blocked.=.true;.private
1718e0 20 24 6c 61 73 74 45 72 72 6f 72 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$lastError;.....public.function
171900 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 70 75 74 29 0a 7b 0a 69 66 20 28 5c 69 73 5f 72 .__construct($input).{.if.(\is_r
171920 65 73 6f 75 72 63 65 28 24 69 6e 70 75 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 esource($input)).{.$this->input.
171940 3d 20 24 69 6e 70 75 74 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c 69 73 5f 73 74 72 69 6e 67 28 24 =.$input;.}.elseif.(\is_string($
171960 69 6e 70 75 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 65 72 20 3d 20 24 input)).{.$this->inputBuffer.=.$
171980 69 6e 70 75 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 input;.}.else.{.$this->inputBuff
1719a0 65 72 20 3d 20 28 73 74 72 69 6e 67 29 20 24 69 6e 70 75 74 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 er.=.(string).$input;.}.}.....pu
1719c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 6f 73 65 28 29 0a 7b 0a 66 6f 72 65 61 63 68 20 blic.function.close().{.foreach.
1719e0 28 24 74 68 69 73 2d 3e 70 69 70 65 73 20 61 73 20 24 70 69 70 65 29 20 7b 0a 66 63 6c 6f 73 65 ($this->pipes.as.$pipe).{.fclose
171a00 28 24 70 69 70 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 69 70 65 73 20 3d 20 61 72 72 61 79 28 ($pipe);.}.$this->pipes.=.array(
171a20 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 68 61 );.}.......protected.function.ha
171a40 73 53 79 73 74 65 6d 43 61 6c 6c 42 65 65 6e 49 6e 74 65 72 72 75 70 74 65 64 28 29 0a 7b 0a 24 sSystemCallBeenInterrupted().{.$
171a60 6c 61 73 74 45 72 72 6f 72 20 3d 20 24 74 68 69 73 2d 3e 6c 61 73 74 45 72 72 6f 72 3b 0a 24 74 lastError.=.$this->lastError;.$t
171a80 68 69 73 2d 3e 6c 61 73 74 45 72 72 6f 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 20 72 65 74 75 72 6e his->lastError.=.null;....return
171aa0 20 6e 75 6c 6c 20 21 3d 3d 20 24 6c 61 73 74 45 72 72 6f 72 20 26 26 20 66 61 6c 73 65 20 21 3d .null.!==.$lastError.&&.false.!=
171ac0 3d 20 73 74 72 69 70 6f 73 28 24 6c 61 73 74 45 72 72 6f 72 2c 20 27 69 6e 74 65 72 72 75 70 74 =.stripos($lastError,.'interrupt
171ae0 65 64 20 73 79 73 74 65 6d 20 63 61 6c 6c 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 ed.system.call');.}.....protecte
171b00 64 20 66 75 6e 63 74 69 6f 6e 20 75 6e 62 6c 6f 63 6b 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 d.function.unblock().{.if.(!$thi
171b20 73 2d 3e 62 6c 6f 63 6b 65 64 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 s->blocked).{.return;.}..foreach
171b40 20 28 24 74 68 69 73 2d 3e 70 69 70 65 73 20 61 73 20 24 70 69 70 65 29 20 7b 0a 73 74 72 65 61 .($this->pipes.as.$pipe).{.strea
171b60 6d 5f 73 65 74 5f 62 6c 6f 63 6b 69 6e 67 28 24 70 69 70 65 2c 20 30 29 3b 0a 7d 0a 69 66 20 28 m_set_blocking($pipe,.0);.}.if.(
171b80 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 29 20 7b 0a 73 74 72 65 61 6d 5f null.!==.$this->input).{.stream_
171ba0 73 65 74 5f 62 6c 6f 63 6b 69 6e 67 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 30 29 3b 0a 7d set_blocking($this->input,.0);.}
171bc0 0a 0a 24 74 68 69 73 2d 3e 62 6c 6f 63 6b 65 64 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a ..$this->blocked.=.false;.}.....
171be0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 28 29 0a 7b 0a 69 66 20 protected.function.write().{.if.
171c00 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 29 20 7b 0a 72 65 74 75 (!isset($this->pipes[0])).{.retu
171c20 72 6e 3b 0a 7d 0a 24 69 6e 70 75 74 20 3d 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 24 72 20 rn;.}.$input.=.$this->input;.$r.
171c40 3d 20 24 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 77 20 3d 20 61 72 72 61 79 28 24 74 68 69 73 =.$e.=.array();.$w.=.array($this
171c60 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 40 73 ->pipes[0]);....if.(false.===.@s
171c80 74 72 65 61 6d 5f 73 65 6c 65 63 74 28 24 72 2c 20 24 77 2c 20 24 65 2c 20 30 2c 20 30 29 29 20 tream_select($r,.$w,.$e,.0,.0)).
171ca0 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 77 20 61 73 20 24 73 74 64 {.return;.}..foreach.($w.as.$std
171cc0 69 6e 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 in).{.if.(isset($this->inputBuff
171ce0 65 72 5b 30 5d 29 29 20 7b 0a 24 77 72 69 74 74 65 6e 20 3d 20 66 77 72 69 74 65 28 24 73 74 64 er[0])).{.$written.=.fwrite($std
171d00 69 6e 2c 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 65 72 29 3b 0a 24 74 68 69 73 2d 3e in,.$this->inputBuffer);.$this->
171d20 69 6e 70 75 74 42 75 66 66 65 72 20 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 69 6e 70 75 inputBuffer.=.substr($this->inpu
171d40 74 42 75 66 66 65 72 2c 20 24 77 72 69 74 74 65 6e 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 tBuffer,.$written);.if.(isset($t
171d60 68 69 73 2d 3e 69 6e 70 75 74 42 75 66 66 65 72 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 his->inputBuffer[0])).{.return.a
171d80 72 72 61 79 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 rray($this->pipes[0]);.}.}..if.(
171da0 24 69 6e 70 75 74 29 20 7b 0a 66 6f 72 20 28 3b 3b 29 20 7b 0a 24 64 61 74 61 20 3d 20 66 72 65 $input).{.for.(;;).{.$data.=.fre
171dc0 61 64 28 24 69 6e 70 75 74 2c 20 73 65 6c 66 3a 3a 43 48 55 4e 4b 5f 53 49 5a 45 29 3b 0a 69 66 ad($input,.self::CHUNK_SIZE);.if
171de0 20 28 21 69 73 73 65 74 28 24 64 61 74 61 5b 30 5d 29 29 20 7b 0a 62 72 65 61 6b 3b 0a 7d 0a 24 .(!isset($data[0])).{.break;.}.$
171e00 77 72 69 74 74 65 6e 20 3d 20 66 77 72 69 74 65 28 24 73 74 64 69 6e 2c 20 24 64 61 74 61 29 3b written.=.fwrite($stdin,.$data);
171e20 0a 24 64 61 74 61 20 3d 20 73 75 62 73 74 72 28 24 64 61 74 61 2c 20 24 77 72 69 74 74 65 6e 29 .$data.=.substr($data,.$written)
171e40 3b 0a 69 66 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 30 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e ;.if.(isset($data[0])).{.$this->
171e60 69 6e 70 75 74 42 75 66 66 65 72 20 3d 20 24 64 61 74 61 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 inputBuffer.=.$data;..return.arr
171e80 61 79 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 7d 0a 7d 0a 69 66 20 28 66 65 6f ay($this->pipes[0]);.}.}.if.(feo
171ea0 66 28 24 69 6e 70 75 74 29 29 20 7b 0a 0a 20 0a 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 f($input)).{.....$this->input.=.
171ec0 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 null;.}.}.}....if.(null.===.$thi
171ee0 73 2d 3e 69 6e 70 75 74 20 26 26 20 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 42 s->input.&&.!isset($this->inputB
171f00 75 66 66 65 72 5b 30 5d 29 29 20 7b 0a 66 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 70 69 70 65 73 uffer[0])).{.fclose($this->pipes
171f20 5b 30 5d 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 7d 20 [0]);.unset($this->pipes[0]);.}.
171f40 65 6c 73 65 69 66 20 28 21 24 77 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 24 74 68 69 elseif.(!$w).{.return.array($thi
171f60 73 2d 3e 70 69 70 65 73 5b 30 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e s->pipes[0]);.}.}.....public.fun
171f80 63 74 69 6f 6e 20 68 61 6e 64 6c 65 45 72 72 6f 72 28 24 74 79 70 65 2c 20 24 6d 73 67 29 0a 7b ction.handleError($type,.$msg).{
171fa0 0a 24 74 68 69 73 2d 3e 6c 61 73 74 45 72 72 6f 72 20 3d 20 24 6d 73 67 3b 0a 7d 0a 7d 0a 3c 3f .$this->lastError.=.$msg;.}.}.<?
171fc0 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c php...........namespace.Symfony\
171fe0 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 3b 0a 0a 0a 0a 0a 0a 0a 0a Component\Process\Pipes;........
172000 0a 69 6e 74 65 72 66 61 63 65 20 50 69 70 65 73 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 .interface.PipesInterface.{.cons
172020 74 20 43 48 55 4e 4b 5f 53 49 5a 45 20 3d 20 31 36 33 38 34 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c t.CHUNK_SIZE.=.16384;.......publ
172040 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 3b 0a 0a 0a ic.function.getDescriptors();...
172060 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 73 28 29 3b 0a ....public.function.getFiles();.
172080 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 41 6e 64 .........public.function.readAnd
1720a0 57 72 69 74 65 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 63 6c 6f 73 65 20 3d 20 66 61 6c 73 65 29 Write($blocking,.$close.=.false)
1720c0 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 4f 70 65 6e 28 ;.......public.function.areOpen(
1720e0 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 6f 73 65 28 29 3b 0a );.....public.function.close();.
172100 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 }.<?php...........namespace.Symf
172120 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 3b 0a 0a 75 73 ony\Component\Process\Pipes;..us
172140 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 e.Symfony\Component\Process\Proc
172160 65 73 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 69 78 50 69 70 65 73 20 65 78 74 ess;.........class.UnixPipes.ext
172180 65 6e 64 73 20 41 62 73 74 72 61 63 74 50 69 70 65 73 0a 7b 0a 70 72 69 76 61 74 65 20 24 74 74 ends.AbstractPipes.{.private.$tt
1721a0 79 4d 6f 64 65 3b 0a 70 72 69 76 61 74 65 20 24 70 74 79 4d 6f 64 65 3b 0a 70 72 69 76 61 74 65 yMode;.private.$ptyMode;.private
1721c0 20 24 64 69 73 61 62 6c 65 4f 75 74 70 75 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f .$disableOutput;..public.functio
1721e0 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 74 74 79 4d 6f 64 65 2c 20 24 70 74 79 4d 6f 64 65 n.__construct($ttyMode,.$ptyMode
172200 2c 20 24 69 6e 70 75 74 2c 20 24 64 69 73 61 62 6c 65 4f 75 74 70 75 74 29 0a 7b 0a 24 74 68 69 ,.$input,.$disableOutput).{.$thi
172220 73 2d 3e 74 74 79 4d 6f 64 65 20 3d 20 28 62 6f 6f 6c 29 20 24 74 74 79 4d 6f 64 65 3b 0a 24 74 s->ttyMode.=.(bool).$ttyMode;.$t
172240 68 69 73 2d 3e 70 74 79 4d 6f 64 65 20 3d 20 28 62 6f 6f 6c 29 20 24 70 74 79 4d 6f 64 65 3b 0a his->ptyMode.=.(bool).$ptyMode;.
172260 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 4f 75 74 70 75 74 20 3d 20 28 62 6f 6f 6c 29 20 24 64 $this->disableOutput.=.(bool).$d
172280 69 73 61 62 6c 65 4f 75 74 70 75 74 3b 0a 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 isableOutput;..parent::__constru
1722a0 63 74 28 24 69 6e 70 75 74 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f ct($input);.}..public.function._
1722c0 5f 64 65 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6c 6f 73 65 28 29 3b 0a 7d 0a _destruct().{.$this->close();.}.
1722e0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 6f ....public.function.getDescripto
172300 72 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 4f 75 74 70 75 74 29 rs().{.if.($this->disableOutput)
172320 20 7b 0a 24 6e 75 6c 6c 73 74 72 65 61 6d 20 3d 20 66 6f 70 65 6e 28 27 2f 64 65 76 2f 6e 75 6c .{.$nullstream.=.fopen('/dev/nul
172340 6c 27 2c 20 27 63 27 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 l',.'c');..return.array(.array('
172360 70 69 70 65 27 2c 20 27 72 27 29 2c 0a 24 6e 75 6c 6c 73 74 72 65 61 6d 2c 0a 24 6e 75 6c 6c 73 pipe',.'r'),.$nullstream,.$nulls
172380 74 72 65 61 6d 2c 0a 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 74 74 79 4d 6f 64 65 29 tream,.);.}..if.($this->ttyMode)
1723a0 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 .{.return.array(.array('file',.'
1723c0 2f 64 65 76 2f 74 74 79 27 2c 20 27 72 27 29 2c 0a 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 /dev/tty',.'r'),.array('file',.'
1723e0 2f 64 65 76 2f 74 74 79 27 2c 20 27 77 27 29 2c 0a 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 /dev/tty',.'w'),.array('file',.'
172400 2f 64 65 76 2f 74 74 79 27 2c 20 27 77 27 29 2c 0a 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 /dev/tty',.'w'),.);.}..if.($this
172420 2d 3e 70 74 79 4d 6f 64 65 20 26 26 20 50 72 6f 63 65 73 73 3a 3a 69 73 50 74 79 53 75 70 70 6f ->ptyMode.&&.Process::isPtySuppo
172440 72 74 65 64 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 70 rted()).{.return.array(.array('p
172460 74 79 27 29 2c 0a 61 72 72 61 79 28 27 70 74 79 27 29 2c 0a 61 72 72 61 79 28 27 70 74 79 27 29 ty'),.array('pty'),.array('pty')
172480 2c 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 70 69 70 ,.);.}..return.array(.array('pip
1724a0 65 27 2c 20 27 72 27 29 2c 0a 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 2c 20 0a 20 e',.'r'),.array('pipe',.'w'),...
1724c0 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 2c 20 0a 20 29 3b 0a 7d 0a 0a 0a 0a 0a 70 array('pipe',.'w'),...);.}.....p
1724e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 73 28 29 0a 7b 0a 72 65 74 75 ublic.function.getFiles().{.retu
172500 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f rn.array();.}.....public.functio
172520 6e 20 72 65 61 64 41 6e 64 57 72 69 74 65 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 63 6c 6f 73 65 n.readAndWrite($blocking,.$close
172540 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 6e 62 6c 6f 63 6b 28 29 3b 0a 24 77 .=.false).{.$this->unblock();.$w
172560 20 3d 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 29 3b 0a 0a 24 72 65 61 64 20 3d 20 24 65 20 3d .=.$this->write();..$read.=.$e.=
172580 20 61 72 72 61 79 28 29 3b 0a 24 72 20 3d 20 24 74 68 69 73 2d 3e 70 69 70 65 73 3b 0a 75 6e 73 .array();.$r.=.$this->pipes;.uns
1725a0 65 74 28 24 72 5b 30 5d 29 3b 0a 0a 0a 20 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 et($r[0]);....set_error_handler(
1725c0 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 68 61 6e 64 6c 65 45 72 72 6f 72 27 29 29 3b 0a 69 66 array($this,.'handleError'));.if
1725e0 20 28 28 24 72 20 7c 7c 20 24 77 29 20 26 26 20 66 61 6c 73 65 20 3d 3d 3d 20 73 74 72 65 61 6d .(($r.||.$w).&&.false.===.stream
172600 5f 73 65 6c 65 63 74 28 24 72 2c 20 24 77 2c 20 24 65 2c 20 30 2c 20 24 62 6c 6f 63 6b 69 6e 67 _select($r,.$w,.$e,.0,.$blocking
172620 20 3f 20 50 72 6f 63 65 73 73 3a 3a 54 49 4d 45 4f 55 54 5f 50 52 45 43 49 53 49 4f 4e 20 2a 20 .?.Process::TIMEOUT_PRECISION.*.
172640 31 45 36 20 3a 20 30 29 29 20 7b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 1E6.:.0)).{.restore_error_handle
172660 72 28 29 3b 0a 0a 20 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 68 61 73 53 79 73 74 65 6d 43 61 r();.....if.(!$this->hasSystemCa
172680 6c 6c 42 65 65 6e 49 6e 74 65 72 72 75 70 74 65 64 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 69 llBeenInterrupted()).{.$this->pi
1726a0 70 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 61 64 3b 0a pes.=.array();.}..return.$read;.
1726c0 7d 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 66 6f 72 65 }.restore_error_handler();..fore
1726e0 61 63 68 20 28 24 72 20 61 73 20 24 70 69 70 65 29 20 7b 0a 0a 20 0a 20 24 72 65 61 64 5b 24 74 ach.($r.as.$pipe).{.....$read[$t
172700 79 70 65 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 24 70 69 70 65 2c 20 24 74 68 69 73 2d ype.=.array_search($pipe,.$this-
172720 3e 70 69 70 65 73 2c 20 74 72 75 65 29 5d 20 3d 20 27 27 3b 0a 0a 64 6f 20 7b 0a 24 64 61 74 61 >pipes,.true)].=.'';..do.{.$data
172740 20 3d 20 66 72 65 61 64 28 24 70 69 70 65 2c 20 73 65 6c 66 3a 3a 43 48 55 4e 4b 5f 53 49 5a 45 .=.fread($pipe,.self::CHUNK_SIZE
172760 29 3b 0a 24 72 65 61 64 5b 24 74 79 70 65 5d 20 2e 3d 20 24 64 61 74 61 3b 0a 7d 20 77 68 69 6c );.$read[$type]..=.$data;.}.whil
172780 65 20 28 69 73 73 65 74 28 24 64 61 74 61 5b 30 5d 29 20 26 26 20 28 24 63 6c 6f 73 65 20 7c 7c e.(isset($data[0]).&&.($close.||
1727a0 20 69 73 73 65 74 28 24 64 61 74 61 5b 73 65 6c 66 3a 3a 43 48 55 4e 4b 5f 53 49 5a 45 20 2d 20 .isset($data[self::CHUNK_SIZE.-.
1727c0 31 5d 29 29 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 72 65 61 64 5b 24 74 79 70 65 5d 5b 1])));..if.(!isset($read[$type][
1727e0 30 5d 29 29 20 7b 0a 75 6e 73 65 74 28 24 72 65 61 64 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 0a 69 0])).{.unset($read[$type]);.}..i
172800 66 20 28 24 63 6c 6f 73 65 20 26 26 20 66 65 6f 66 28 24 70 69 70 65 29 29 20 7b 0a 66 63 6c 6f f.($close.&&.feof($pipe)).{.fclo
172820 73 65 28 24 70 69 70 65 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 70 69 70 65 73 5b 24 74 se($pipe);.unset($this->pipes[$t
172840 79 70 65 5d 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 61 64 3b 0a 7d 0a 0a 0a 0a 0a ype]);.}.}..return.$read;.}.....
172860 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 4f 70 65 6e 28 29 0a 7b 0a 72 65 74 75 public.function.areOpen().{.retu
172880 72 6e 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d 3e 70 69 70 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a rn.(bool).$this->pipes;.}.......
1728a0 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 ...public.static.function.create
1728c0 28 50 72 6f 63 65 73 73 20 24 70 72 6f 63 65 73 73 2c 20 24 69 6e 70 75 74 29 0a 7b 0a 72 65 74 (Process.$process,.$input).{.ret
1728e0 75 72 6e 20 6e 65 77 20 73 74 61 74 69 63 28 24 70 72 6f 63 65 73 73 2d 3e 69 73 54 74 79 28 29 urn.new.static($process->isTty()
172900 2c 20 24 70 72 6f 63 65 73 73 2d 3e 69 73 50 74 79 28 29 2c 20 24 69 6e 70 75 74 2c 20 24 70 72 ,.$process->isPty(),.$input,.$pr
172920 6f 63 65 73 73 2d 3e 69 73 4f 75 74 70 75 74 44 69 73 61 62 6c 65 64 28 29 29 3b 0a 7d 0a 7d 0a ocess->isOutputDisabled());.}.}.
172940 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e <?php...........namespace.Symfon
172960 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 3b 0a 0a 75 73 65 20 y\Component\Process\Pipes;..use.
172980 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 74 Symfony\Component\Process\Except
1729a0 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e ion\RuntimeException;.use.Symfon
1729c0 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 72 6f 63 65 73 73 3b 0a 0a 0a 0a y\Component\Process\Process;....
1729e0 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 57 69 6e 64 6f 77 73 50 69 70 65 73 20 65 78 74 65 6e ........class.WindowsPipes.exten
172a00 64 73 20 41 62 73 74 72 61 63 74 50 69 70 65 73 0a 7b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 ds.AbstractPipes.{.private.$file
172a20 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 48 61 6e 64 6c 65 s.=.array();.private.$fileHandle
172a40 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 63 6b 48 61 6e 64 6c 65 s.=.array();.private.$lockHandle
172a60 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 72 65 61 64 42 79 74 65 73 20 s.=.array();.private.$readBytes.
172a80 3d 20 61 72 72 61 79 28 0a 50 72 6f 63 65 73 73 3a 3a 53 54 44 4f 55 54 20 3d 3e 20 30 2c 0a 50 =.array(.Process::STDOUT.=>.0,.P
172aa0 72 6f 63 65 73 73 3a 3a 53 54 44 45 52 52 20 3d 3e 20 30 2c 0a 29 3b 0a 70 72 69 76 61 74 65 20 rocess::STDERR.=>.0,.);.private.
172ac0 24 64 69 73 61 62 6c 65 4f 75 74 70 75 74 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e $disableOutput;..public.function
172ae0 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 64 69 73 61 62 6c 65 4f 75 74 70 75 74 2c 20 24 69 6e .__construct($disableOutput,.$in
172b00 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 69 73 61 62 6c 65 4f 75 74 70 75 74 20 3d 20 28 62 put).{.$this->disableOutput.=.(b
172b20 6f 6f 6c 29 20 24 64 69 73 61 62 6c 65 4f 75 74 70 75 74 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 ool).$disableOutput;..if.(!$this
172b40 2d 3e 64 69 73 61 62 6c 65 4f 75 74 70 75 74 29 20 7b 0a 0a 20 0a 20 0a 20 0a 20 24 70 69 70 65 ->disableOutput).{.........$pipe
172b60 73 20 3d 20 61 72 72 61 79 28 0a 50 72 6f 63 65 73 73 3a 3a 53 54 44 4f 55 54 20 3d 3e 20 50 72 s.=.array(.Process::STDOUT.=>.Pr
172b80 6f 63 65 73 73 3a 3a 4f 55 54 2c 0a 50 72 6f 63 65 73 73 3a 3a 53 54 44 45 52 52 20 3d 3e 20 50 ocess::OUT,.Process::STDERR.=>.P
172ba0 72 6f 63 65 73 73 3a 3a 45 52 52 2c 0a 29 3b 0a 24 74 6d 70 44 69 72 20 3d 20 73 79 73 5f 67 65 rocess::ERR,.);.$tmpDir.=.sys_ge
172bc0 74 5f 74 65 6d 70 5f 64 69 72 28 29 3b 0a 24 6c 61 73 74 45 72 72 6f 72 20 3d 20 27 75 6e 6b 6e t_temp_dir();.$lastError.=.'unkn
172be0 6f 77 6e 20 72 65 61 73 6f 6e 27 3b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 66 own.reason';.set_error_handler(f
172c00 75 6e 63 74 69 6f 6e 20 28 24 74 79 70 65 2c 20 24 6d 73 67 29 20 75 73 65 20 28 26 24 6c 61 73 unction.($type,.$msg).use.(&$las
172c20 74 45 72 72 6f 72 29 20 7b 20 24 6c 61 73 74 45 72 72 6f 72 20 3d 20 24 6d 73 67 3b 20 7d 29 3b tError).{.$lastError.=.$msg;.});
172c40 0a 66 6f 72 20 28 24 69 20 3d 20 30 3b 3b 20 2b 2b 24 69 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 .for.($i.=.0;;.++$i).{.foreach.(
172c60 24 70 69 70 65 73 20 61 73 20 24 70 69 70 65 20 3d 3e 20 24 6e 61 6d 65 29 20 7b 0a 24 66 69 6c $pipes.as.$pipe.=>.$name).{.$fil
172c80 65 20 3d 20 73 70 72 69 6e 74 66 28 27 25 73 5c 5c 73 66 5f 70 72 6f 63 5f 25 30 32 58 2e 25 73 e.=.sprintf('%s\\sf_proc_%02X.%s
172ca0 27 2c 20 24 74 6d 70 44 69 72 2c 20 24 69 2c 20 24 6e 61 6d 65 29 3b 0a 0a 69 66 20 28 21 24 68 ',.$tmpDir,.$i,.$name);..if.(!$h
172cc0 20 3d 20 66 6f 70 65 6e 28 24 66 69 6c 65 2e 27 2e 6c 6f 63 6b 27 2c 20 27 77 27 29 29 20 7b 0a .=.fopen($file.'.lock',.'w')).{.
172ce0 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 74 68 72 6f 77 20 6e restore_error_handler();.throw.n
172d00 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 41 20 74 ew.RuntimeException(sprintf('A.t
172d20 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 6f 70 65 6e 65 emporary.file.could.not.be.opene
172d40 64 20 74 6f 20 77 72 69 74 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 75 74 70 75 74 3a 20 25 d.to.write.the.process.output:.%
172d60 73 27 2c 20 24 6c 61 73 74 45 72 72 6f 72 29 29 3b 0a 7d 0a 69 66 20 28 21 66 6c 6f 63 6b 28 24 s',.$lastError));.}.if.(!flock($
172d80 68 2c 20 4c 4f 43 4b 5f 45 58 20 7c 20 4c 4f 43 4b 5f 4e 42 29 29 20 7b 0a 63 6f 6e 74 69 6e 75 h,.LOCK_EX.|.LOCK_NB)).{.continu
172da0 65 20 32 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 e.2;.}.if.(isset($this->lockHand
172dc0 6c 65 73 5b 24 70 69 70 65 5d 29 29 20 7b 0a 66 6c 6f 63 6b 28 24 74 68 69 73 2d 3e 6c 6f 63 6b les[$pipe])).{.flock($this->lock
172de0 48 61 6e 64 6c 65 73 5b 24 70 69 70 65 5d 2c 20 4c 4f 43 4b 5f 55 4e 29 3b 0a 66 63 6c 6f 73 65 Handles[$pipe],.LOCK_UN);.fclose
172e00 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 70 69 70 65 5d 29 3b 0a 7d 0a 24 ($this->lockHandles[$pipe]);.}.$
172e20 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 70 69 70 65 5d 20 3d 20 24 68 3b 0a 0a this->lockHandles[$pipe].=.$h;..
172e40 69 66 20 28 21 66 63 6c 6f 73 65 28 66 6f 70 65 6e 28 24 66 69 6c 65 2c 20 27 77 27 29 29 20 7c if.(!fclose(fopen($file,.'w')).|
172e60 7c 20 21 24 68 20 3d 20 66 6f 70 65 6e 28 24 66 69 6c 65 2c 20 27 72 27 29 29 20 7b 0a 66 6c 6f |.!$h.=.fopen($file,.'r')).{.flo
172e80 63 6b 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 70 69 70 65 5d 2c 20 4c 4f ck($this->lockHandles[$pipe],.LO
172ea0 43 4b 5f 55 4e 29 3b 0a 66 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 CK_UN);.fclose($this->lockHandle
172ec0 73 5b 24 70 69 70 65 5d 29 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 s[$pipe]);.unset($this->lockHand
172ee0 6c 65 73 5b 24 70 69 70 65 5d 29 3b 0a 63 6f 6e 74 69 6e 75 65 20 32 3b 0a 7d 0a 24 74 68 69 73 les[$pipe]);.continue.2;.}.$this
172f00 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 5b 24 70 69 70 65 5d 20 3d 20 24 68 3b 0a 24 74 68 69 73 ->fileHandles[$pipe].=.$h;.$this
172f20 2d 3e 66 69 6c 65 73 5b 24 70 69 70 65 5d 20 3d 20 24 66 69 6c 65 3b 0a 7d 0a 62 72 65 61 6b 3b ->files[$pipe].=.$file;.}.break;
172f40 0a 7d 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 29 3b 0a 7d 0a 0a 70 .}.restore_error_handler();.}..p
172f60 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 69 6e 70 75 74 29 3b 0a 7d 0a 0a 70 arent::__construct($input);.}..p
172f80 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 64 65 73 74 72 75 63 74 28 29 0a 7b 0a 24 74 ublic.function.__destruct().{.$t
172fa0 68 69 73 2d 3e 63 6c 6f 73 65 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 his->close();.}.....public.funct
172fc0 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 ion.getDescriptors().{.if.($this
172fe0 2d 3e 64 69 73 61 62 6c 65 4f 75 74 70 75 74 29 20 7b 0a 24 6e 75 6c 6c 73 74 72 65 61 6d 20 3d ->disableOutput).{.$nullstream.=
173000 20 66 6f 70 65 6e 28 27 4e 55 4c 27 2c 20 27 63 27 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 .fopen('NUL',.'c');..return.arra
173020 79 28 0a 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 72 27 29 2c 0a 24 6e 75 6c 6c 73 74 72 65 y(.array('pipe',.'r'),.$nullstre
173040 61 6d 2c 0a 24 6e 75 6c 6c 73 74 72 65 61 6d 2c 0a 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 72 65 74 am,.$nullstream,.);.}........ret
173060 75 72 6e 20 61 72 72 61 79 28 0a 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 72 27 29 2c 0a 61 urn.array(.array('pipe',.'r'),.a
173080 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 4e 55 4c 27 2c 20 27 77 27 29 2c 0a 61 72 72 61 79 28 rray('file',.'NUL',.'w'),.array(
1730a0 27 66 69 6c 65 27 2c 20 27 4e 55 4c 27 2c 20 27 77 27 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 'file',.'NUL',.'w'),.);.}.....pu
1730c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 73 28 29 0a 7b 0a 72 65 74 75 72 blic.function.getFiles().{.retur
1730e0 6e 20 24 74 68 69 73 2d 3e 66 69 6c 65 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e n.$this->files;.}.....public.fun
173100 63 74 69 6f 6e 20 72 65 61 64 41 6e 64 57 72 69 74 65 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 63 ction.readAndWrite($blocking,.$c
173120 6c 6f 73 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 6e 62 6c 6f 63 6b 28 29 lose.=.false).{.$this->unblock()
173140 3b 0a 24 77 20 3d 20 24 74 68 69 73 2d 3e 77 72 69 74 65 28 29 3b 0a 24 72 65 61 64 20 3d 20 24 ;.$w.=.$this->write();.$read.=.$
173160 72 20 3d 20 24 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 69 66 20 28 24 62 6c 6f 63 6b 69 6e 67 r.=.$e.=.array();..if.($blocking
173180 29 20 7b 0a 69 66 20 28 24 77 29 20 7b 0a 40 73 74 72 65 61 6d 5f 73 65 6c 65 63 74 28 24 72 2c ).{.if.($w).{.@stream_select($r,
1731a0 20 24 77 2c 20 24 65 2c 20 30 2c 20 50 72 6f 63 65 73 73 3a 3a 54 49 4d 45 4f 55 54 5f 50 52 45 .$w,.$e,.0,.Process::TIMEOUT_PRE
1731c0 43 49 53 49 4f 4e 20 2a 20 31 45 36 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e CISION.*.1E6);.}.elseif.($this->
1731e0 66 69 6c 65 48 61 6e 64 6c 65 73 29 20 7b 0a 75 73 6c 65 65 70 28 50 72 6f 63 65 73 73 3a 3a 54 fileHandles).{.usleep(Process::T
173200 49 4d 45 4f 55 54 5f 50 52 45 43 49 53 49 4f 4e 20 2a 20 31 45 36 29 3b 0a 7d 0a 7d 0a 66 6f 72 IMEOUT_PRECISION.*.1E6);.}.}.for
173220 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 20 61 73 20 24 74 79 70 each.($this->fileHandles.as.$typ
173240 65 20 3d 3e 20 24 66 69 6c 65 48 61 6e 64 6c 65 29 20 7b 0a 24 64 61 74 61 20 3d 20 73 74 72 65 e.=>.$fileHandle).{.$data.=.stre
173260 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 6c 65 48 61 6e 64 6c 65 2c 20 2d 31 2c am_get_contents($fileHandle,.-1,
173280 20 24 74 68 69 73 2d 3e 72 65 61 64 42 79 74 65 73 5b 24 74 79 70 65 5d 29 3b 0a 0a 69 66 20 28 .$this->readBytes[$type]);..if.(
1732a0 69 73 73 65 74 28 24 64 61 74 61 5b 30 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 72 65 61 64 42 79 isset($data[0])).{.$this->readBy
1732c0 74 65 73 5b 24 74 79 70 65 5d 20 2b 3d 20 5c 73 74 72 6c 65 6e 28 24 64 61 74 61 29 3b 0a 24 72 tes[$type].+=.\strlen($data);.$r
1732e0 65 61 64 5b 24 74 79 70 65 5d 20 3d 20 24 64 61 74 61 3b 0a 7d 0a 69 66 20 28 24 63 6c 6f 73 65 ead[$type].=.$data;.}.if.($close
173300 29 20 7b 0a 66 74 72 75 6e 63 61 74 65 28 24 66 69 6c 65 48 61 6e 64 6c 65 2c 20 30 29 3b 0a 66 ).{.ftruncate($fileHandle,.0);.f
173320 63 6c 6f 73 65 28 24 66 69 6c 65 48 61 6e 64 6c 65 29 3b 0a 66 6c 6f 63 6b 28 24 74 68 69 73 2d close($fileHandle);.flock($this-
173340 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 74 79 70 65 5d 2c 20 4c 4f 43 4b 5f 55 4e 29 3b 0a 66 >lockHandles[$type],.LOCK_UN);.f
173360 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 74 79 70 65 5d 29 close($this->lockHandles[$type])
173380 3b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 5b 24 74 79 70 65 ;.unset($this->fileHandles[$type
1733a0 5d 2c 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 74 79 70 65 5d 29 3b 0a 7d ],.$this->lockHandles[$type]);.}
1733c0 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 61 64 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .}..return.$read;.}.....public.f
1733e0 75 6e 63 74 69 6f 6e 20 61 72 65 4f 70 65 6e 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 unction.areOpen().{.return.$this
173400 2d 3e 70 69 70 65 73 20 26 26 20 24 74 68 69 73 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 3b 0a 7d ->pipes.&&.$this->fileHandles;.}
173420 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 6f 73 65 28 29 0a 7b 0a 70 .....public.function.close().{.p
173440 61 72 65 6e 74 3a 3a 63 6c 6f 73 65 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e arent::close();.foreach.($this->
173460 66 69 6c 65 48 61 6e 64 6c 65 73 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 68 61 6e 64 6c 65 29 fileHandles.as.$type.=>.$handle)
173480 20 7b 0a 66 74 72 75 6e 63 61 74 65 28 24 68 61 6e 64 6c 65 2c 20 30 29 3b 0a 66 63 6c 6f 73 65 .{.ftruncate($handle,.0);.fclose
1734a0 28 24 68 61 6e 64 6c 65 29 3b 0a 66 6c 6f 63 6b 28 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 ($handle);.flock($this->lockHand
1734c0 6c 65 73 5b 24 74 79 70 65 5d 2c 20 4c 4f 43 4b 5f 55 4e 29 3b 0a 66 63 6c 6f 73 65 28 24 74 68 les[$type],.LOCK_UN);.fclose($th
1734e0 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c 65 73 5b 24 74 79 70 65 5d 29 3b 0a 7d 0a 24 74 68 69 73 is->lockHandles[$type]);.}.$this
173500 2d 3e 66 69 6c 65 48 61 6e 64 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 6c 6f 63 6b 48 61 6e 64 6c ->fileHandles.=.$this->lockHandl
173520 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 es.=.array();.}..........public.
173540 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 28 50 72 6f 63 65 73 73 20 24 static.function.create(Process.$
173560 70 72 6f 63 65 73 73 2c 20 24 69 6e 70 75 74 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 74 process,.$input).{.return.new.st
173580 61 74 69 63 28 24 70 72 6f 63 65 73 73 2d 3e 69 73 4f 75 74 70 75 74 44 69 73 61 62 6c 65 64 28 atic($process->isOutputDisabled(
1735a0 29 2c 20 24 69 6e 70 75 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ),.$input);.}.}.<?php...........
1735c0 6e 61 6d 65 73 70 61 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 namespace.Symfony\Component\Proc
1735e0 65 73 73 3b 0a 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 ess;..use.Symfony\Component\Proc
173600 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ess\Exception\InvalidArgumentExc
173620 65 70 74 69 6f 6e 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 eption;.use.Symfony\Component\Pr
173640 6f 63 65 73 73 5c 45 78 63 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a ocess\Exception\LogicException;.
173660 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 use.Symfony\Component\Process\Ex
173680 63 65 70 74 69 6f 6e 5c 50 72 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e 3b 0a ception\ProcessFailedException;.
1736a0 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 use.Symfony\Component\Process\Ex
1736c0 63 65 70 74 69 6f 6e 5c 50 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f 6e ception\ProcessTimedOutException
1736e0 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c ;.use.Symfony\Component\Process\
173700 45 78 63 65 70 74 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 Exception\RuntimeException;.use.
173720 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 5c Symfony\Component\Process\Pipes\
173740 50 69 70 65 73 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 PipesInterface;.use.Symfony\Comp
173760 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 65 73 5c 55 6e 69 78 50 69 70 65 73 3b 0a 75 onent\Process\Pipes\UnixPipes;.u
173780 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 69 70 se.Symfony\Component\Process\Pip
1737a0 65 73 5c 57 69 6e 64 6f 77 73 50 69 70 65 73 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 es\WindowsPipes;.........class.P
1737c0 72 6f 63 65 73 73 0a 7b 0a 63 6f 6e 73 74 20 45 52 52 20 3d 20 27 65 72 72 27 3b 0a 63 6f 6e 73 rocess.{.const.ERR.=.'err';.cons
1737e0 74 20 4f 55 54 20 3d 20 27 6f 75 74 27 3b 0a 0a 63 6f 6e 73 74 20 53 54 41 54 55 53 5f 52 45 41 t.OUT.=.'out';..const.STATUS_REA
173800 44 59 20 3d 20 27 72 65 61 64 79 27 3b 0a 63 6f 6e 73 74 20 53 54 41 54 55 53 5f 53 54 41 52 54 DY.=.'ready';.const.STATUS_START
173820 45 44 20 3d 20 27 73 74 61 72 74 65 64 27 3b 0a 63 6f 6e 73 74 20 53 54 41 54 55 53 5f 54 45 52 ED.=.'started';.const.STATUS_TER
173840 4d 49 4e 41 54 45 44 20 3d 20 27 74 65 72 6d 69 6e 61 74 65 64 27 3b 0a 0a 63 6f 6e 73 74 20 53 MINATED.=.'terminated';..const.S
173860 54 44 49 4e 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 53 54 44 4f 55 54 20 3d 20 31 3b 0a 63 6f 6e 73 TDIN.=.0;.const.STDOUT.=.1;.cons
173880 74 20 53 54 44 45 52 52 20 3d 20 32 3b 0a 0a 0a 20 63 6f 6e 73 74 20 54 49 4d 45 4f 55 54 5f 50 t.STDERR.=.2;....const.TIMEOUT_P
1738a0 52 45 43 49 53 49 4f 4e 20 3d 20 30 2e 32 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 61 6c 6c 62 61 RECISION.=.0.2;..private.$callba
1738c0 63 6b 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 3b 0a 70 72 69 76 61 74 ck;.private.$commandline;.privat
1738e0 65 20 24 63 77 64 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 76 3b 0a 70 72 69 76 61 74 65 20 24 69 e.$cwd;.private.$env;.private.$i
173900 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 72 74 74 69 6d 65 3b 0a 70 72 69 76 61 74 nput;.private.$starttime;.privat
173920 65 20 24 6c 61 73 74 4f 75 74 70 75 74 54 69 6d 65 3b 0a 70 72 69 76 61 74 65 20 24 74 69 6d 65 e.$lastOutputTime;.private.$time
173940 6f 75 74 3b 0a 70 72 69 76 61 74 65 20 24 69 64 6c 65 54 69 6d 65 6f 75 74 3b 0a 70 72 69 76 61 out;.private.$idleTimeout;.priva
173960 74 65 20 24 6f 70 74 69 6f 6e 73 3b 0a 70 72 69 76 61 74 65 20 24 65 78 69 74 63 6f 64 65 3b 0a te.$options;.private.$exitcode;.
173980 70 72 69 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 20 3d 20 61 72 72 61 79 28 private.$fallbackStatus.=.array(
1739a0 29 3b 0a 70 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a );.private.$processInformation;.
1739c0 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b private.$outputDisabled.=.false;
1739e0 0a 70 72 69 76 61 74 65 20 24 73 74 64 6f 75 74 3b 0a 70 72 69 76 61 74 65 20 24 73 74 64 65 72 .private.$stdout;.private.$stder
173a00 72 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 68 61 6e 63 65 57 69 6e 64 6f 77 73 43 6f 6d 70 61 74 r;.private.$enhanceWindowsCompat
173a20 69 62 69 6c 69 74 79 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 68 61 6e 63 65 ibility.=.true;.private.$enhance
173a40 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 3b 0a 70 72 69 76 61 74 65 20 24 SigchildCompatibility;.private.$
173a60 70 72 6f 63 65 73 73 3b 0a 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 20 3d 20 73 65 6c 66 3a process;.private.$status.=.self:
173a80 3a 53 54 41 54 55 53 5f 52 45 41 44 59 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 63 72 65 6d 65 6e :STATUS_READY;.private.$incremen
173aa0 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 70 72 69 76 61 74 65 20 24 69 6e talOutputOffset.=.0;.private.$in
173ac0 63 72 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a crementalErrorOutputOffset.=.0;.
173ae0 70 72 69 76 61 74 65 20 24 74 74 79 3b 0a 70 72 69 76 61 74 65 20 24 70 74 79 3b 0a 0a 70 72 69 private.$tty;.private.$pty;..pri
173b00 76 61 74 65 20 24 75 73 65 46 69 6c 65 48 61 6e 64 6c 65 73 20 3d 20 66 61 6c 73 65 3b 0a 0a 70 vate.$useFileHandles.=.false;..p
173b20 72 69 76 61 74 65 20 24 70 72 6f 63 65 73 73 50 69 70 65 73 3b 0a 0a 70 72 69 76 61 74 65 20 24 rivate.$processPipes;..private.$
173b40 6c 61 74 65 73 74 53 69 67 6e 61 6c 3b 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 latestSignal;..private.static.$s
173b60 69 67 63 68 69 6c 64 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 65 78 igchild;.......public.static.$ex
173b80 69 74 43 6f 64 65 73 20 3d 20 61 72 72 61 79 28 0a 30 20 3d 3e 20 27 4f 4b 27 2c 0a 31 20 3d 3e itCodes.=.array(.0.=>.'OK',.1.=>
173ba0 20 27 47 65 6e 65 72 61 6c 20 65 72 72 6f 72 27 2c 0a 32 20 3d 3e 20 27 4d 69 73 75 73 65 20 6f .'General.error',.2.=>.'Misuse.o
173bc0 66 20 73 68 65 6c 6c 20 62 75 69 6c 74 69 6e 73 27 2c 0a 0a 31 32 36 20 3d 3e 20 27 49 6e 76 6f f.shell.builtins',..126.=>.'Invo
173be0 6b 65 64 20 63 6f 6d 6d 61 6e 64 20 63 61 6e 6e 6f 74 20 65 78 65 63 75 74 65 27 2c 0a 31 32 37 ked.command.cannot.execute',.127
173c00 20 3d 3e 20 27 43 6f 6d 6d 61 6e 64 20 6e 6f 74 20 66 6f 75 6e 64 27 2c 0a 31 32 38 20 3d 3e 20 .=>.'Command.not.found',.128.=>.
173c20 27 49 6e 76 61 6c 69 64 20 65 78 69 74 20 61 72 67 75 6d 65 6e 74 27 2c 0a 0a 0a 20 31 32 39 20 'Invalid.exit.argument',....129.
173c40 3d 3e 20 27 48 61 6e 67 75 70 27 2c 0a 31 33 30 20 3d 3e 20 27 49 6e 74 65 72 72 75 70 74 27 2c =>.'Hangup',.130.=>.'Interrupt',
173c60 0a 31 33 31 20 3d 3e 20 27 51 75 69 74 20 61 6e 64 20 64 75 6d 70 20 63 6f 72 65 27 2c 0a 31 33 .131.=>.'Quit.and.dump.core',.13
173c80 32 20 3d 3e 20 27 49 6c 6c 65 67 61 6c 20 69 6e 73 74 72 75 63 74 69 6f 6e 27 2c 0a 31 33 33 20 2.=>.'Illegal.instruction',.133.
173ca0 3d 3e 20 27 54 72 61 63 65 2f 62 72 65 61 6b 70 6f 69 6e 74 20 74 72 61 70 27 2c 0a 31 33 34 20 =>.'Trace/breakpoint.trap',.134.
173cc0 3d 3e 20 27 50 72 6f 63 65 73 73 20 61 62 6f 72 74 65 64 27 2c 0a 31 33 35 20 3d 3e 20 27 42 75 =>.'Process.aborted',.135.=>.'Bu
173ce0 73 20 65 72 72 6f 72 3a 20 22 61 63 63 65 73 73 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 70 6f s.error:."access.to.undefined.po
173d00 72 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 6f 62 6a 65 63 74 22 27 2c 0a 31 33 36 20 3d 3e rtion.of.memory.object"',.136.=>
173d20 20 27 46 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 65 78 63 65 70 74 69 6f 6e 3a 20 22 65 72 72 .'Floating.point.exception:."err
173d40 6f 6e 65 6f 75 73 20 61 72 69 74 68 6d 65 74 69 63 20 6f 70 65 72 61 74 69 6f 6e 22 27 2c 0a 31 oneous.arithmetic.operation"',.1
173d60 33 37 20 3d 3e 20 27 4b 69 6c 6c 20 28 74 65 72 6d 69 6e 61 74 65 20 69 6d 6d 65 64 69 61 74 65 37.=>.'Kill.(terminate.immediate
173d80 6c 79 29 27 2c 0a 31 33 38 20 3d 3e 20 27 55 73 65 72 2d 64 65 66 69 6e 65 64 20 31 27 2c 0a 31 ly)',.138.=>.'User-defined.1',.1
173da0 33 39 20 3d 3e 20 27 53 65 67 6d 65 6e 74 61 74 69 6f 6e 20 76 69 6f 6c 61 74 69 6f 6e 27 2c 0a 39.=>.'Segmentation.violation',.
173dc0 31 34 30 20 3d 3e 20 27 55 73 65 72 2d 64 65 66 69 6e 65 64 20 32 27 2c 0a 31 34 31 20 3d 3e 20 140.=>.'User-defined.2',.141.=>.
173de0 27 57 72 69 74 65 20 74 6f 20 70 69 70 65 20 77 69 74 68 20 6e 6f 20 6f 6e 65 20 72 65 61 64 69 'Write.to.pipe.with.no.one.readi
173e00 6e 67 27 2c 0a 31 34 32 20 3d 3e 20 27 53 69 67 6e 61 6c 20 72 61 69 73 65 64 20 62 79 20 61 6c ng',.142.=>.'Signal.raised.by.al
173e20 61 72 6d 27 2c 0a 31 34 33 20 3d 3e 20 27 54 65 72 6d 69 6e 61 74 69 6f 6e 20 28 72 65 71 75 65 arm',.143.=>.'Termination.(reque
173e40 73 74 20 74 6f 20 74 65 72 6d 69 6e 61 74 65 29 27 2c 0a 0a 20 31 34 35 20 3d 3e 20 27 43 68 69 st.to.terminate)',...145.=>.'Chi
173e60 6c 64 20 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 2c 20 73 74 6f 70 70 65 64 20 28 ld.process.terminated,.stopped.(
173e80 6f 72 20 63 6f 6e 74 69 6e 75 65 64 2a 29 27 2c 0a 31 34 36 20 3d 3e 20 27 43 6f 6e 74 69 6e 75 or.continued*)',.146.=>.'Continu
173ea0 65 20 69 66 20 73 74 6f 70 70 65 64 27 2c 0a 31 34 37 20 3d 3e 20 27 53 74 6f 70 20 65 78 65 63 e.if.stopped',.147.=>.'Stop.exec
173ec0 75 74 69 6e 67 20 74 65 6d 70 6f 72 61 72 69 6c 79 27 2c 0a 31 34 38 20 3d 3e 20 27 54 65 72 6d uting.temporarily',.148.=>.'Term
173ee0 69 6e 61 6c 20 73 74 6f 70 20 73 69 67 6e 61 6c 27 2c 0a 31 34 39 20 3d 3e 20 27 42 61 63 6b 67 inal.stop.signal',.149.=>.'Backg
173f00 72 6f 75 6e 64 20 70 72 6f 63 65 73 73 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 72 65 61 64 round.process.attempting.to.read
173f20 20 66 72 6f 6d 20 74 74 79 20 28 22 69 6e 22 29 27 2c 0a 31 35 30 20 3d 3e 20 27 42 61 63 6b 67 .from.tty.("in")',.150.=>.'Backg
173f40 72 6f 75 6e 64 20 70 72 6f 63 65 73 73 20 61 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 77 72 69 74 round.process.attempting.to.writ
173f60 65 20 74 6f 20 74 74 79 20 28 22 6f 75 74 22 29 27 2c 0a 31 35 31 20 3d 3e 20 27 55 72 67 65 6e e.to.tty.("out")',.151.=>.'Urgen
173f80 74 20 64 61 74 61 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 73 6f 63 6b 65 74 27 2c 0a 31 35 32 t.data.available.on.socket',.152
173fa0 20 3d 3e 20 27 43 50 55 20 74 69 6d 65 20 6c 69 6d 69 74 20 65 78 63 65 65 64 65 64 27 2c 0a 31 .=>.'CPU.time.limit.exceeded',.1
173fc0 35 33 20 3d 3e 20 27 46 69 6c 65 20 73 69 7a 65 20 6c 69 6d 69 74 20 65 78 63 65 65 64 65 64 27 53.=>.'File.size.limit.exceeded'
173fe0 2c 0a 31 35 34 20 3d 3e 20 27 53 69 67 6e 61 6c 20 72 61 69 73 65 64 20 62 79 20 74 69 6d 65 72 ,.154.=>.'Signal.raised.by.timer
174000 20 63 6f 75 6e 74 69 6e 67 20 76 69 72 74 75 61 6c 20 74 69 6d 65 3a 20 22 76 69 72 74 75 61 6c .counting.virtual.time:."virtual
174020 20 74 69 6d 65 72 20 65 78 70 69 72 65 64 22 27 2c 0a 31 35 35 20 3d 3e 20 27 50 72 6f 66 69 6c .timer.expired"',.155.=>.'Profil
174040 69 6e 67 20 74 69 6d 65 72 20 65 78 70 69 72 65 64 27 2c 0a 0a 20 31 35 37 20 3d 3e 20 27 50 6f ing.timer.expired',...157.=>.'Po
174060 6c 6c 61 62 6c 65 20 65 76 65 6e 74 27 2c 0a 0a 20 31 35 39 20 3d 3e 20 27 42 61 64 20 73 79 73 llable.event',...159.=>.'Bad.sys
174080 63 61 6c 6c 27 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 call',.);............public.func
1740a0 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 2c 20 24 tion.__construct($commandline,.$
1740c0 63 77 64 20 3d 20 6e 75 6c 6c 2c 20 61 72 72 61 79 20 24 65 6e 76 20 3d 20 6e 75 6c 6c 2c 20 24 cwd.=.null,.array.$env.=.null,.$
1740e0 69 6e 70 75 74 20 3d 20 6e 75 6c 6c 2c 20 24 74 69 6d 65 6f 75 74 20 3d 20 36 30 2c 20 61 72 72 input.=.null,.$timeout.=.60,.arr
174100 61 79 20 24 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 21 5c 66 ay.$options.=.array()).{.if.(!\f
174120 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 72 6f 63 5f 6f 70 65 6e 27 29 29 20 7b 0a 74 unction_exists('proc_open')).{.t
174140 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 50 hrow.new.RuntimeException('The.P
174160 72 6f 63 65 73 73 20 63 6c 61 73 73 20 72 65 6c 69 65 73 20 6f 6e 20 70 72 6f 63 5f 6f 70 65 6e rocess.class.relies.on.proc_open
174180 2c 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 20 79 6f 75 72 ,.which.is.not.available.on.your
1741a0 20 50 48 50 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e .PHP.installation.');.}..$this->
1741c0 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 3b 0a 24 74 68 69 commandline.=.$commandline;.$thi
1741e0 73 2d 3e 63 77 64 20 3d 20 24 63 77 64 3b 0a 0a 0a 20 0a 20 0a 20 0a 20 69 66 20 28 6e 75 6c 6c s->cwd.=.$cwd;..........if.(null
174200 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 77 64 20 26 26 20 28 5c 64 65 66 69 6e 65 64 28 27 5a 45 .===.$this->cwd.&&.(\defined('ZE
174220 4e 44 5f 54 48 52 45 41 44 5f 53 41 46 45 27 29 20 7c 7c 20 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 ND_THREAD_SAFE').||.'\\'.===.\DI
174240 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 77 64 RECTORY_SEPARATOR)).{.$this->cwd
174260 20 3d 20 67 65 74 63 77 64 28 29 3b 0a 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 65 6e 76 .=.getcwd();.}.if.(null.!==.$env
174280 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 45 6e 76 28 24 65 6e 76 29 3b 0a 7d 0a 0a 24 74 68 69 ).{.$this->setEnv($env);.}..$thi
1742a0 73 2d 3e 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 24 74 68 69 73 2d 3e 73 65 74 54 s->setInput($input);.$this->setT
1742c0 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f 75 74 29 3b 0a 24 74 68 69 73 2d 3e 75 73 65 46 69 6c 65 imeout($timeout);.$this->useFile
1742e0 48 61 6e 64 6c 65 73 20 3d 20 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 Handles.=.'\\'.===.\DIRECTORY_SE
174300 50 41 52 41 54 4f 52 3b 0a 24 74 68 69 73 2d 3e 70 74 79 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 PARATOR;.$this->pty.=.false;.$th
174320 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 is->enhanceSigchildCompatibility
174340 20 3d 20 27 5c 5c 27 20 21 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 .=.'\\'.!==.\DIRECTORY_SEPARATOR
174360 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 3b 0a .&&.$this->isSigchildEnabled();.
174380 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 28 61 $this->options.=.array_replace(a
1743a0 72 72 61 79 28 27 73 75 70 70 72 65 73 73 5f 65 72 72 6f 72 73 27 20 3d 3e 20 74 72 75 65 2c 20 rray('suppress_errors'.=>.true,.
1743c0 27 62 69 6e 61 72 79 5f 70 69 70 65 73 27 20 3d 3e 20 74 72 75 65 29 2c 20 24 6f 70 74 69 6f 6e 'binary_pipes'.=>.true),.$option
1743e0 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 64 65 73 74 72 75 63 s);.}..public.function.__destruc
174400 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 6f 70 28 30 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 t().{.$this->stop(0);.}..public.
174420 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6c 6f 6e 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 73 65 function.__clone().{.$this->rese
174440 74 50 72 6f 63 65 73 73 44 61 74 61 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a tProcessData();.}...............
174460 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 28 24 63 61 6c 6c 62 ......public.function.run($callb
174480 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 28 24 63 61 6c 6c ack.=.null).{.$this->start($call
1744a0 62 61 63 6b 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 77 61 69 74 28 29 3b 0a 7d 0a back);..return.$this->wait();.}.
1744c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 75 ..............public.function.mu
1744e0 73 74 52 75 6e 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 24 stRun($callback.=.null).{.if.(!$
174500 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 this->enhanceSigchildCompatibili
174520 74 79 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 ty.&&.$this->isSigchildEnabled()
174540 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 ).{.throw.new.RuntimeException('
174560 54 68 69 73 20 50 48 50 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 This.PHP.has.been.compiled.with.
174580 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 2e 20 59 6f 75 20 6d 75 73 74 20 75 73 65 20 --enable-sigchild..You.must.use.
1745a0 73 65 74 45 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 28 setEnhanceSigchildCompatibility(
1745c0 29 20 74 6f 20 75 73 65 20 74 68 69 73 20 6d 65 74 68 6f 64 2e 27 29 3b 0a 7d 0a 0a 69 66 20 28 ).to.use.this.method.');.}..if.(
1745e0 30 20 21 3d 3d 20 24 74 68 69 73 2d 3e 72 75 6e 28 24 63 61 6c 6c 62 61 63 6b 29 29 20 7b 0a 74 0.!==.$this->run($callback)).{.t
174600 68 72 6f 77 20 6e 65 77 20 50 72 6f 63 65 73 73 46 61 69 6c 65 64 45 78 63 65 70 74 69 6f 6e 28 hrow.new.ProcessFailedException(
174620 24 74 68 69 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a $this);.}..return.$this;.}......
174640 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ...............public.function.s
174660 74 61 72 74 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 tart($callback.=.null).{.if.($th
174680 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e is->isRunning()).{.throw.new.Run
1746a0 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 50 72 6f 63 65 73 73 20 69 73 20 61 6c 72 65 61 64 timeException('Process.is.alread
1746c0 79 20 72 75 6e 6e 69 6e 67 27 29 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 y.running');.}.if.($this->output
1746e0 44 69 73 61 62 6c 65 64 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 63 61 6c 6c 62 61 63 6b 29 20 Disabled.&&.null.!==.$callback).
174700 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 4f 75 74 70 {.throw.new.LogicException('Outp
174720 75 74 20 68 61 73 20 62 65 65 6e 20 64 69 73 61 62 6c 65 64 2c 20 65 6e 61 62 6c 65 20 69 74 20 ut.has.been.disabled,.enable.it.
174740 74 6f 20 61 6c 6c 6f 77 20 74 68 65 20 75 73 65 20 6f 66 20 61 20 63 61 6c 6c 62 61 63 6b 2e 27 to.allow.the.use.of.a.callback.'
174760 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 73 65 74 50 72 6f 63 65 73 73 44 61 74 61 28 29 3b );.}..$this->resetProcessData();
174780 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 74 69 6d 65 20 3d 20 24 74 68 69 73 2d 3e 6c 61 73 74 4f .$this->starttime.=.$this->lastO
1747a0 75 74 70 75 74 54 69 6d 65 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 3b 0a 24 74 68 utputTime.=.microtime(true);.$th
1747c0 69 73 2d 3e 63 61 6c 6c 62 61 63 6b 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 43 61 6c 6c 62 is->callback.=.$this->buildCallb
1747e0 61 63 6b 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 24 64 65 73 63 72 69 70 74 6f 72 73 20 3d 20 24 ack($callback);.$descriptors.=.$
174800 74 68 69 73 2d 3e 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 3b 0a 0a 24 63 6f 6d 6d 61 6e this->getDescriptors();..$comman
174820 64 6c 69 6e 65 20 3d 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 6e 65 3b 0a 0a 69 66 20 dline.=.$this->commandline;..if.
174840 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 26 ('\\'.===.\DIRECTORY_SEPARATOR.&
174860 26 20 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 57 69 6e 64 6f 77 73 43 6f 6d 70 61 74 69 62 69 &.$this->enhanceWindowsCompatibi
174880 6c 69 74 79 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 27 63 6d 64 20 2f 56 3a 4f lity).{.$commandline.=.'cmd./V:O
1748a0 4e 20 2f 45 3a 4f 4e 20 2f 44 20 2f 43 20 22 28 27 2e 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 2e 27 N./E:ON./D./C."('.$commandline.'
1748c0 29 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 )';.foreach.($this->processPipes
1748e0 2d 3e 67 65 74 46 69 6c 65 73 28 29 20 61 73 20 24 6f 66 66 73 65 74 20 3d 3e 20 24 66 69 6c 65 ->getFiles().as.$offset.=>.$file
174900 6e 61 6d 65 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 2e 3d 20 27 20 27 2e 24 6f 66 66 name).{.$commandline..=.'.'.$off
174920 73 65 74 2e 27 3e 27 2e 50 72 6f 63 65 73 73 55 74 69 6c 73 3a 3a 65 73 63 61 70 65 41 72 67 75 set.'>'.ProcessUtils::escapeArgu
174940 6d 65 6e 74 28 24 66 69 6c 65 6e 61 6d 65 29 3b 0a 7d 0a 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 ment($filename);.}.$commandline.
174960 2e 3d 20 27 22 27 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6f 70 74 69 6f .=.'"';..if.(!isset($this->optio
174980 6e 73 5b 27 62 79 70 61 73 73 5f 73 68 65 6c 6c 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 6f 70 ns['bypass_shell'])).{.$this->op
1749a0 74 69 6f 6e 73 5b 27 62 79 70 61 73 73 5f 73 68 65 6c 6c 27 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a tions['bypass_shell'].=.true;.}.
1749c0 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 2d 3e 75 73 65 46 69 6c 65 48 61 6e 64 6c 65 73 }.elseif.(!$this->useFileHandles
1749e0 20 26 26 20 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 .&&.$this->enhanceSigchildCompat
174a00 69 62 69 6c 69 74 79 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 ibility.&&.$this->isSigchildEnab
174a20 6c 65 64 28 29 29 20 7b 0a 0a 20 24 64 65 73 63 72 69 70 74 6f 72 73 5b 33 5d 20 3d 20 61 72 72 led()).{...$descriptors[3].=.arr
174a40 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 3b 0a 0a 0a 20 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 ay('pipe',.'w');....$commandline
174a60 20 3d 20 27 7b 20 28 27 2e 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 6e 65 2e 27 29 20 3c .=.'{.('.$this->commandline.').<
174a80 26 33 20 33 3c 26 2d 20 33 3e 2f 64 65 76 2f 6e 75 6c 6c 20 26 20 7d 20 33 3c 26 30 3b 27 3b 0a &3.3<&-.3>/dev/null.&.}.3<&0;';.
174aa0 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 2e 3d 20 27 70 69 64 3d 24 21 3b 20 65 63 68 6f 20 24 70 $commandline..=.'pid=$!;.echo.$p
174ac0 69 64 20 3e 26 33 3b 20 77 61 69 74 20 24 70 69 64 3b 20 63 6f 64 65 3d 24 3f 3b 20 65 63 68 6f id.>&3;.wait.$pid;.code=$?;.echo
174ae0 20 24 63 6f 64 65 20 3e 26 33 3b 20 65 78 69 74 20 24 63 6f 64 65 27 3b 0a 0a 0a 20 0a 20 24 70 .$code.>&3;.exit.$code';......$p
174b00 74 73 57 6f 72 6b 61 72 6f 75 6e 64 20 3d 20 66 6f 70 65 6e 28 5f 5f 46 49 4c 45 5f 5f 2c 20 27 tsWorkaround.=.fopen(__FILE__,.'
174b20 72 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 70 72 6f 63 5f 6f 70 r');.}..$this->process.=.proc_op
174b40 65 6e 28 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 2c 20 24 64 65 73 63 72 69 70 74 6f 72 73 2c 20 24 en($commandline,.$descriptors,.$
174b60 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d 3e 70 69 70 65 73 2c 20 24 74 68 69 73 this->processPipes->pipes,.$this
174b80 2d 3e 63 77 64 2c 20 24 74 68 69 73 2d 3e 65 6e 76 2c 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e ->cwd,.$this->env,.$this->option
174ba0 73 29 3b 0a 0a 69 66 20 28 21 5c 69 73 5f 72 65 73 6f 75 72 63 65 28 24 74 68 69 73 2d 3e 70 72 s);..if.(!\is_resource($this->pr
174bc0 6f 63 65 73 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 ocess)).{.throw.new.RuntimeExcep
174be0 74 69 6f 6e 28 27 55 6e 61 62 6c 65 20 74 6f 20 6c 61 75 6e 63 68 20 61 20 6e 65 77 20 70 72 6f tion('Unable.to.launch.a.new.pro
174c00 63 65 73 73 2e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 20 3d 20 73 65 6c 66 3a cess.');.}.$this->status.=.self:
174c20 3a 53 54 41 54 55 53 5f 53 54 41 52 54 45 44 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 24 64 65 73 :STATUS_STARTED;..if.(isset($des
174c40 63 72 69 70 74 6f 72 73 5b 33 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 criptors[3])).{.$this->fallbackS
174c60 74 61 74 75 73 5b 27 70 69 64 27 5d 20 3d 20 28 69 6e 74 29 20 66 67 65 74 73 28 24 74 68 69 73 tatus['pid'].=.(int).fgets($this
174c80 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d 3e 70 69 70 65 73 5b 33 5d 29 3b 0a 7d 0a 0a 69 66 ->processPipes->pipes[3]);.}..if
174ca0 20 28 24 74 68 69 73 2d 3e 74 74 79 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 .($this->tty).{.return;.}..$this
174cc0 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 24 74 68 69 73 2d 3e 63 68 ->updateStatus(false);.$this->ch
174ce0 65 63 6b 54 69 6d 65 6f 75 74 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a eckTimeout();.}.................
174d00 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 74 61 72 74 28 24 63 61 6c 6c 62 61 63 public.function.restart($callbac
174d20 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 k.=.null).{.if.($this->isRunning
174d40 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e ()).{.throw.new.RuntimeException
174d60 28 27 50 72 6f 63 65 73 73 20 69 73 20 61 6c 72 65 61 64 79 20 72 75 6e 6e 69 6e 67 27 29 3b 0a ('Process.is.already.running');.
174d80 7d 0a 0a 24 70 72 6f 63 65 73 73 20 3d 20 63 6c 6f 6e 65 20 24 74 68 69 73 3b 0a 24 70 72 6f 63 }..$process.=.clone.$this;.$proc
174da0 65 73 73 2d 3e 73 74 61 72 74 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 0a 72 65 74 75 72 6e 20 24 ess->start($callback);..return.$
174dc0 70 72 6f 63 65 73 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 process;.}.................publi
174de0 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 69 74 28 24 63 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c c.function.wait($callback.=.null
174e00 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 73 53 74 61 72 74 ).{.$this->requireProcessIsStart
174e20 65 64 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 ed(__FUNCTION__);..$this->update
174e40 53 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 61 6c Status(false);.if.(null.!==.$cal
174e60 6c 62 61 63 6b 29 20 7b 0a 24 74 68 69 73 2d 3e 63 61 6c 6c 62 61 63 6b 20 3d 20 24 74 68 69 73 lback).{.$this->callback.=.$this
174e80 2d 3e 62 75 69 6c 64 43 61 6c 6c 62 61 63 6b 28 24 63 61 6c 6c 62 61 63 6b 29 3b 0a 7d 0a 0a 64 ->buildCallback($callback);.}..d
174ea0 6f 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 54 69 6d 65 6f 75 74 28 29 3b 0a 24 72 75 6e 6e o.{.$this->checkTimeout();.$runn
174ec0 69 6e 67 20 3d 20 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 ing.=.'\\'.===.\DIRECTORY_SEPARA
174ee0 54 4f 52 20 3f 20 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 20 3a 20 24 74 68 69 73 TOR.?.$this->isRunning().:.$this
174f00 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d 3e 61 72 65 4f 70 65 6e 28 29 3b 0a 24 74 68 69 73 ->processPipes->areOpen();.$this
174f20 2d 3e 72 65 61 64 50 69 70 65 73 28 24 72 75 6e 6e 69 6e 67 2c 20 27 5c 5c 27 20 21 3d 3d 20 5c ->readPipes($running,.'\\'.!==.\
174f40 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 7c 7c 20 21 24 72 75 6e 6e 69 6e 67 DIRECTORY_SEPARATOR.||.!$running
174f60 29 3b 0a 7d 20 77 68 69 6c 65 20 28 24 72 75 6e 6e 69 6e 67 29 3b 0a 0a 77 68 69 6c 65 20 28 24 );.}.while.($running);..while.($
174f80 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 75 73 6c 65 65 70 28 31 30 30 30 this->isRunning()).{.usleep(1000
174fa0 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 );.}..if.($this->processInformat
174fc0 69 6f 6e 5b 27 73 69 67 6e 61 6c 65 64 27 5d 20 26 26 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 ion['signaled'].&&.$this->proces
174fe0 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 6d 73 69 67 27 5d 20 21 3d 3d 20 24 74 68 69 sInformation['termsig'].!==.$thi
175000 73 2d 3e 6c 61 74 65 73 74 53 69 67 6e 61 6c 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e s->latestSignal).{.throw.new.Run
175020 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 54 68 65 20 70 72 6f 63 65 timeException(sprintf('The.proce
175040 73 73 20 68 61 73 20 62 65 65 6e 20 73 69 67 6e 61 6c 65 64 20 77 69 74 68 20 73 69 67 6e 61 6c ss.has.been.signaled.with.signal
175060 20 22 25 73 22 2e 27 2c 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 ."%s".',.$this->processInformati
175080 6f 6e 5b 27 74 65 72 6d 73 69 67 27 5d 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 on['termsig']));.}..return.$this
1750a0 2d 3e 65 78 69 74 63 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ->exitcode;.}.......public.funct
1750c0 69 6f 6e 20 67 65 74 50 69 64 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 73 52 ion.getPid().{.return.$this->isR
1750e0 75 6e 6e 69 6e 67 28 29 20 3f 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 unning().?.$this->processInforma
175100 74 69 6f 6e 5b 27 70 69 64 27 5d 20 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a tion['pid'].:.null;.}...........
175120 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 69 67 6e 61 6c 28 24 73 69 67 6e 61 6c ..public.function.signal($signal
175140 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 6f 53 69 67 6e 61 6c 28 24 73 69 67 6e 61 6c 2c 20 74 72 75 ).{.$this->doSignal($signal,.tru
175160 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 e);..return.$this;.}..........pu
175180 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 4f 75 74 70 75 74 28 29 0a 7b 0a blic.function.disableOutput().{.
1751a0 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 74 68 72 6f 77 20 if.($this->isRunning()).{.throw.
1751c0 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 44 69 73 61 62 6c 69 6e 67 20 new.RuntimeException('Disabling.
1751e0 6f 75 74 70 75 74 20 77 68 69 6c 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 20 72 75 6e 6e output.while.the.process.is.runn
175200 69 6e 67 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2e 27 29 3b 0a 7d 0a 69 66 20 28 6e 75 ing.is.not.possible.');.}.if.(nu
175220 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 69 64 6c 65 54 69 6d 65 6f 75 74 29 20 7b 0a 74 68 72 ll.!==.$this->idleTimeout).{.thr
175240 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 4f 75 74 70 75 74 20 63 61 ow.new.LogicException('Output.ca
175260 6e 20 6e 6f 74 20 62 65 20 64 69 73 61 62 6c 65 64 20 77 68 69 6c 65 20 61 6e 20 69 64 6c 65 20 n.not.be.disabled.while.an.idle.
175280 74 69 6d 65 6f 75 74 20 69 73 20 73 65 74 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 timeout.is.set.');.}..$this->out
1752a0 70 75 74 44 69 73 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 putDisabled.=.true;..return.$thi
1752c0 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6e 61 s;.}.........public.function.ena
1752e0 62 6c 65 4f 75 74 70 75 74 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 bleOutput().{.if.($this->isRunni
175300 6e 67 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 ng()).{.throw.new.RuntimeExcepti
175320 6f 6e 28 27 45 6e 61 62 6c 69 6e 67 20 6f 75 74 70 75 74 20 77 68 69 6c 65 20 74 68 65 20 70 72 on('Enabling.output.while.the.pr
175340 6f 63 65 73 73 20 69 73 20 72 75 6e 6e 69 6e 67 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 ocess.is.running.is.not.possible
175360 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 20 3d 20 .');.}..$this->outputDisabled.=.
175380 66 61 6c 73 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 false;..return.$this;.}.......pu
1753a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4f 75 74 70 75 74 44 69 73 61 62 6c 65 64 28 29 blic.function.isOutputDisabled()
1753c0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 3b .{.return.$this->outputDisabled;
1753e0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f .}..........public.function.getO
175400 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 69 70 65 73 46 6f 72 4f 75 74 utput().{.$this->readPipesForOut
175420 70 75 74 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d put(__FUNCTION__);..if.(false.==
175440 3d 20 24 72 65 74 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 =.$ret.=.stream_get_contents($th
175460 69 73 2d 3e 73 74 64 6f 75 74 2c 20 2d 31 2c 20 30 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b is->stdout,.-1,.0)).{.return.'';
175480 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 .}..return.$ret;.}.............p
1754a0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 ublic.function.getIncrementalOut
1754c0 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 69 70 65 73 46 6f 72 4f 75 74 70 75 put().{.$this->readPipesForOutpu
1754e0 74 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 24 6c 61 74 65 73 74 20 3d 20 73 74 72 65 t(__FUNCTION__);..$latest.=.stre
175500 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 73 74 64 6f 75 74 2c 20 2d am_get_contents($this->stdout,.-
175520 31 2c 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 65 1,.$this->incrementalOutputOffse
175540 74 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 t);.$this->incrementalOutputOffs
175560 65 74 20 3d 20 66 74 65 6c 6c 28 24 74 68 69 73 2d 3e 73 74 64 6f 75 74 29 3b 0a 0a 69 66 20 28 et.=.ftell($this->stdout);..if.(
175580 66 61 6c 73 65 20 3d 3d 3d 20 24 6c 61 74 65 73 74 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a false.===.$latest).{.return.'';.
1755a0 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 61 74 65 73 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 }..return.$latest;.}.......publi
1755c0 63 20 66 75 6e 63 74 69 6f 6e 20 63 6c 65 61 72 4f 75 74 70 75 74 28 29 0a 7b 0a 66 74 72 75 6e c.function.clearOutput().{.ftrun
1755e0 63 61 74 65 28 24 74 68 69 73 2d 3e 73 74 64 6f 75 74 2c 20 30 29 3b 0a 66 73 65 65 6b 28 24 74 cate($this->stdout,.0);.fseek($t
175600 68 69 73 2d 3e 73 74 64 6f 75 74 2c 20 30 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e his->stdout,.0);.$this->incremen
175620 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 talOutputOffset.=.0;..return.$th
175640 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 is;.}..........public.function.g
175660 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 69 70 etErrorOutput().{.$this->readPip
175680 65 73 46 6f 72 4f 75 74 70 75 74 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 69 66 20 28 esForOutput(__FUNCTION__);..if.(
1756a0 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 74 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 false.===.$ret.=.stream_get_cont
1756c0 65 6e 74 73 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 2d 31 2c 20 30 29 29 20 7b 0a 72 65 ents($this->stderr,.-1,.0)).{.re
1756e0 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 74 3b 0a 7d 0a 0a 0a 0a 0a 0a turn.'';.}..return.$ret;.}......
175700 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 63 72 65 ........public.function.getIncre
175720 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 61 mentalErrorOutput().{.$this->rea
175740 64 50 69 70 65 73 46 6f 72 4f 75 74 70 75 74 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a dPipesForOutput(__FUNCTION__);..
175760 24 6c 61 74 65 73 74 20 3d 20 73 74 72 65 61 6d 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 $latest.=.stream_get_contents($t
175780 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 2d 31 2c 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e his->stderr,.-1,.$this->incremen
1757a0 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 29 3b 0a 24 74 68 69 73 2d 3e 69 6e talErrorOutputOffset);.$this->in
1757c0 63 72 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 66 74 65 crementalErrorOutputOffset.=.fte
1757e0 6c 6c 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d ll($this->stderr);..if.(false.==
175800 3d 20 24 6c 61 74 65 73 74 29 20 7b 0a 72 65 74 75 72 6e 20 27 27 3b 0a 7d 0a 0a 72 65 74 75 72 =.$latest).{.return.'';.}..retur
175820 6e 20 24 6c 61 74 65 73 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 n.$latest;.}.......public.functi
175840 6f 6e 20 63 6c 65 61 72 45 72 72 6f 72 4f 75 74 70 75 74 28 29 0a 7b 0a 66 74 72 75 6e 63 61 74 on.clearErrorOutput().{.ftruncat
175860 65 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 30 29 3b 0a 66 73 65 65 6b 28 24 74 68 69 73 e($this->stderr,.0);.fseek($this
175880 2d 3e 73 74 64 65 72 72 2c 20 30 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c ->stderr,.0);.$this->incremental
1758a0 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 0a 72 65 74 75 72 6e 20 24 ErrorOutputOffset.=.0;..return.$
1758c0 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 this;.}.........public.function.
1758e0 67 65 74 45 78 69 74 43 6f 64 65 28 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 65 6e 68 61 getExitCode().{.if.(!$this->enha
175900 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 26 26 20 24 74 68 69 nceSigchildCompatibility.&&.$thi
175920 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 s->isSigchildEnabled()).{.throw.
175940 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 54 68 69 73 20 50 48 50 20 68 new.RuntimeException('This.PHP.h
175960 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 2d 2d 65 6e 61 62 6c 65 2d 73 as.been.compiled.with.--enable-s
175980 69 67 63 68 69 6c 64 2e 20 59 6f 75 20 6d 75 73 74 20 75 73 65 20 73 65 74 45 6e 68 61 6e 63 65 igchild..You.must.use.setEnhance
1759a0 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 28 29 20 74 6f 20 75 73 65 20 74 SigchildCompatibility().to.use.t
1759c0 68 69 73 20 6d 65 74 68 6f 64 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 his.method.');.}..$this->updateS
1759e0 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 tatus(false);..return.$this->exi
175a00 74 63 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 tcode;.}.............public.func
175a20 74 69 6f 6e 20 67 65 74 45 78 69 74 43 6f 64 65 54 65 78 74 28 29 0a 7b 0a 69 66 20 28 6e 75 6c tion.getExitCodeText().{.if.(nul
175a40 6c 20 3d 3d 3d 20 24 65 78 69 74 63 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 78 69 74 l.===.$exitcode.=.$this->getExit
175a60 43 6f 64 65 28 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 Code()).{.return;.}..return.isse
175a80 74 28 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 73 5b 24 65 78 69 74 63 6f 64 65 5d 29 20 3f t(self::$exitCodes[$exitcode]).?
175aa0 20 73 65 6c 66 3a 3a 24 65 78 69 74 43 6f 64 65 73 5b 24 65 78 69 74 63 6f 64 65 5d 20 3a 20 27 .self::$exitCodes[$exitcode].:.'
175ac0 55 6e 6b 6e 6f 77 6e 20 65 72 72 6f 72 27 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 Unknown.error';.}.......public.f
175ae0 75 6e 63 74 69 6f 6e 20 69 73 53 75 63 63 65 73 73 66 75 6c 28 29 0a 7b 0a 72 65 74 75 72 6e 20 unction.isSuccessful().{.return.
175b00 30 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 78 69 74 43 6f 64 65 28 29 3b 0a 7d 0a 0a 0a 0.===.$this->getExitCode();.}...
175b20 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 42 65 65 6e .........public.function.hasBeen
175b40 53 69 67 6e 61 6c 65 64 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 Signaled().{.$this->requireProce
175b60 73 73 49 73 54 65 72 6d 69 6e 61 74 65 64 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 69 ssIsTerminated(__FUNCTION__);..i
175b80 66 20 28 21 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 f.(!$this->enhanceSigchildCompat
175ba0 69 62 69 6c 69 74 79 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 ibility.&&.$this->isSigchildEnab
175bc0 6c 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 led()).{.throw.new.RuntimeExcept
175be0 69 6f 6e 28 27 54 68 69 73 20 50 48 50 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 6c 65 64 20 ion('This.PHP.has.been.compiled.
175c00 77 69 74 68 20 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 2e 20 54 65 72 6d 20 73 69 67 with.--enable-sigchild..Term.sig
175c20 6e 61 6c 20 63 61 6e 20 6e 6f 74 20 62 65 20 72 65 74 72 69 65 76 65 64 2e 27 29 3b 0a 7d 0a 0a nal.can.not.be.retrieved.');.}..
175c40 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e return.$this->processInformation
175c60 5b 27 73 69 67 6e 61 6c 65 64 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ['signaled'];.}............publi
175c80 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 65 72 6d 53 69 67 6e 61 6c 28 29 0a 7b 0a 24 74 68 c.function.getTermSignal().{.$th
175ca0 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 73 54 65 72 6d 69 6e 61 74 65 64 28 5f is->requireProcessIsTerminated(_
175cc0 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 53 69 67 63 _FUNCTION__);..if.($this->isSigc
175ce0 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 20 26 26 20 28 21 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 hildEnabled().&&.(!$this->enhanc
175d00 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 7c 7c 20 2d 31 20 3d 3d 3d eSigchildCompatibility.||.-1.===
175d20 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 6d .$this->processInformation['term
175d40 73 69 67 27 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 sig'])).{.throw.new.RuntimeExcep
175d60 74 69 6f 6e 28 27 54 68 69 73 20 50 48 50 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 6c 65 64 tion('This.PHP.has.been.compiled
175d80 20 77 69 74 68 20 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 2e 20 54 65 72 6d 20 73 69 .with.--enable-sigchild..Term.si
175da0 67 6e 61 6c 20 63 61 6e 20 6e 6f 74 20 62 65 20 72 65 74 72 69 65 76 65 64 2e 27 29 3b 0a 7d 0a gnal.can.not.be.retrieved.');.}.
175dc0 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f .return.$this->processInformatio
175de0 6e 5b 27 74 65 72 6d 73 69 67 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 n['termsig'];.}...........public
175e00 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 42 65 65 6e 53 74 6f 70 70 65 64 28 29 0a 7b 0a 24 74 68 .function.hasBeenStopped().{.$th
175e20 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 73 54 65 72 6d 69 6e 61 74 65 64 28 5f is->requireProcessIsTerminated(_
175e40 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f _FUNCTION__);..return.$this->pro
175e60 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 73 74 6f 70 70 65 64 27 5d 3b 0a 7d 0a 0a 0a cessInformation['stopped'];.}...
175e80 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 6f 70 53 ........public.function.getStopS
175ea0 69 67 6e 61 6c 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 ignal().{.$this->requireProcessI
175ec0 73 54 65 72 6d 69 6e 61 74 65 64 28 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 29 3b 0a 0a 72 65 74 75 sTerminated(__FUNCTION__);..retu
175ee0 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 73 74 rn.$this->processInformation['st
175f00 6f 70 73 69 67 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e opsig'];.}.......public.function
175f20 20 69 73 52 75 6e 6e 69 6e 67 28 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f .isRunning().{.if.(self::STATUS_
175f40 53 54 41 52 54 45 44 20 21 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 29 20 7b 0a 72 65 74 STARTED.!==.$this->status).{.ret
175f60 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 urn.false;.}..$this->updateStatu
175f80 73 28 66 61 6c 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 s(false);..return.$this->process
175fa0 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 72 75 6e 6e 69 6e 67 27 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a Information['running'];.}.......
175fc0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 74 61 72 74 65 64 28 29 0a 7b 0a 72 65 public.function.isStarted().{.re
175fe0 74 75 72 6e 20 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 52 45 41 44 59 20 21 3d 20 24 74 68 69 73 turn.self::STATUS_READY.!=.$this
176000 2d 3e 73 74 61 74 75 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ->status;.}.......public.functio
176020 6e 20 69 73 54 65 72 6d 69 6e 61 74 65 64 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 n.isTerminated().{.$this->update
176040 53 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 53 54 41 Status(false);..return.self::STA
176060 54 55 53 5f 54 45 52 4d 49 4e 41 54 45 44 20 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 3b TUS_TERMINATED.==.$this->status;
176080 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 74 .}.........public.function.getSt
1760a0 61 74 75 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 65 53 74 61 74 75 73 28 66 61 6c atus().{.$this->updateStatus(fal
1760c0 73 65 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 3b 0a 7d 0a 0a 0a se);..return.$this->status;.}...
1760e0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 74 6f 70 28 24 74 69 6d .......public.function.stop($tim
176100 65 6f 75 74 20 3d 20 31 30 2c 20 24 73 69 67 6e 61 6c 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 69 eout.=.10,.$signal.=.null).{.$ti
176120 6d 65 6f 75 74 4d 69 63 72 6f 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2b 20 24 meoutMicro.=.microtime(true).+.$
176140 74 69 6d 65 6f 75 74 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 timeout;.if.($this->isRunning())
176160 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 64 6f 53 69 67 6e 61 6c 28 31 35 2c 20 66 61 6c 73 65 29 3b .{...$this->doSignal(15,.false);
176180 0a 64 6f 20 7b 0a 75 73 6c 65 65 70 28 31 30 30 30 29 3b 0a 7d 20 77 68 69 6c 65 20 28 24 74 68 .do.{.usleep(1000);.}.while.($th
1761a0 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 20 26 26 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 is->isRunning().&&.microtime(tru
1761c0 65 29 20 3c 20 24 74 69 6d 65 6f 75 74 4d 69 63 72 6f 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d e).<.$timeoutMicro);..if.($this-
1761e0 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 0a 20 0a 20 24 74 68 69 73 2d 3e 64 6f 53 69 67 >isRunning()).{.....$this->doSig
176200 6e 61 6c 28 24 73 69 67 6e 61 6c 20 3f 3a 20 39 2c 20 66 61 6c 73 65 29 3b 0a 7d 0a 7d 0a 0a 69 nal($signal.?:.9,.false);.}.}..i
176220 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 69 66 20 28 69 73 73 f.($this->isRunning()).{.if.(iss
176240 65 74 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 5b 27 70 69 64 27 5d 29 et($this->fallbackStatus['pid'])
176260 29 20 7b 0a 75 6e 73 65 74 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 5b ).{.unset($this->fallbackStatus[
176280 27 70 69 64 27 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 74 6f 70 28 30 2c 20 'pid']);..return.$this->stop(0,.
1762a0 24 73 69 67 6e 61 6c 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 63 6c 6f 73 65 28 29 3b 0a 7d 0a 0a 72 $signal);.}.$this->close();.}..r
1762c0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a eturn.$this->exitcode;.}........
1762e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 4f 75 74 70 75 74 28 24 6c 69 6e 65 .public.function.addOutput($line
176300 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 61 73 74 4f 75 74 70 75 74 54 69 6d 65 20 3d 20 6d 69 63 72 ).{.$this->lastOutputTime.=.micr
176320 6f 74 69 6d 65 28 74 72 75 65 29 3b 0a 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 73 74 64 6f 75 otime(true);..fseek($this->stdou
176340 74 2c 20 30 2c 20 53 45 45 4b 5f 45 4e 44 29 3b 0a 66 77 72 69 74 65 28 24 74 68 69 73 2d 3e 73 t,.0,.SEEK_END);.fwrite($this->s
176360 74 64 6f 75 74 2c 20 24 6c 69 6e 65 29 3b 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 73 74 64 6f tdout,.$line);.fseek($this->stdo
176380 75 74 2c 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 ut,.$this->incrementalOutputOffs
1763a0 65 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 et);.}.........public.function.a
1763c0 64 64 45 72 72 6f 72 4f 75 74 70 75 74 28 24 6c 69 6e 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 61 ddErrorOutput($line).{.$this->la
1763e0 73 74 4f 75 74 70 75 74 54 69 6d 65 20 3d 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 3b 0a stOutputTime.=.microtime(true);.
176400 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 30 2c 20 53 45 45 4b 5f 45 4e .fseek($this->stderr,.0,.SEEK_EN
176420 44 29 3b 0a 66 77 72 69 74 65 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 24 6c 69 6e 65 29 D);.fwrite($this->stderr,.$line)
176440 3b 0a 66 73 65 65 6b 28 24 74 68 69 73 2d 3e 73 74 64 65 72 72 2c 20 24 74 68 69 73 2d 3e 69 6e ;.fseek($this->stderr,.$this->in
176460 63 72 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 75 74 4f 66 66 73 65 74 29 3b 0a 7d 0a 0a crementalErrorOutputOffset);.}..
176480 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 4c .....public.function.getCommandL
1764a0 69 6e 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 6e ine().{.return.$this->commandlin
1764c0 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 e;.}.........public.function.set
1764e0 43 6f 6d 6d 61 6e 64 4c 69 6e 65 28 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 29 0a 7b 0a 24 74 68 69 CommandLine($commandline).{.$thi
176500 73 2d 3e 63 6f 6d 6d 61 6e 64 6c 69 6e 65 20 3d 20 24 63 6f 6d 6d 61 6e 64 6c 69 6e 65 3b 0a 0a s->commandline.=.$commandline;..
176520 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e return.$this;.}.......public.fun
176540 63 74 69 6f 6e 20 67 65 74 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 ction.getTimeout().{.return.$thi
176560 73 2d 3e 74 69 6d 65 6f 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 s->timeout;.}.......public.funct
176580 69 6f 6e 20 67 65 74 49 64 6c 65 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 ion.getIdleTimeout().{.return.$t
1765a0 68 69 73 2d 3e 69 64 6c 65 54 69 6d 65 6f 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a his->idleTimeout;.}.............
1765c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 public.function.setTimeout($time
1765e0 6f 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3d 20 24 74 68 69 73 2d 3e 76 out).{.$this->timeout.=.$this->v
176600 61 6c 69 64 61 74 65 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f 75 74 29 3b 0a 0a 72 65 74 75 72 alidateTimeout($timeout);..retur
176620 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 n.$this;.}..............public.f
176640 75 6e 63 74 69 6f 6e 20 73 65 74 49 64 6c 65 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f 75 74 29 unction.setIdleTimeout($timeout)
176660 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 69 6d 65 6f 75 74 20 26 26 20 24 74 68 69 .{.if.(null.!==.$timeout.&&.$thi
176680 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c s->outputDisabled).{.throw.new.L
1766a0 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 49 64 6c 65 20 74 69 6d 65 6f 75 74 20 63 61 6e 20 ogicException('Idle.timeout.can.
1766c0 6e 6f 74 20 62 65 20 73 65 74 20 77 68 69 6c 65 20 74 68 65 20 6f 75 74 70 75 74 20 69 73 20 64 not.be.set.while.the.output.is.d
1766e0 69 73 61 62 6c 65 64 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 64 6c 65 54 69 6d 65 6f 75 isabled.');.}..$this->idleTimeou
176700 74 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 t.=.$this->validateTimeout($time
176720 6f 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a out);..return.$this;.}..........
176740 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 74 79 28 24 74 74 79 29 0a 7b 0a .public.function.setTty($tty).{.
176760 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f if.('\\'.===.\DIRECTORY_SEPARATO
176780 52 20 26 26 20 24 74 74 79 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 R.&&.$tty).{.throw.new.RuntimeEx
1767a0 63 65 70 74 69 6f 6e 28 27 54 54 59 20 6d 6f 64 65 20 69 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 ception('TTY.mode.is.not.support
1767c0 65 64 20 6f 6e 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d 2e 27 29 3b 0a 7d 0a 69 66 20 ed.on.Windows.platform.');.}.if.
1767e0 28 24 74 74 79 29 20 7b 0a 73 74 61 74 69 63 20 24 69 73 54 74 79 53 75 70 70 6f 72 74 65 64 3b ($tty).{.static.$isTtySupported;
176800 0a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 69 73 54 74 79 53 75 70 70 6f 72 74 65 64 29 20 ..if.(null.===.$isTtySupported).
176820 7b 0a 24 69 73 54 74 79 53 75 70 70 6f 72 74 65 64 20 3d 20 28 62 6f 6f 6c 29 20 40 70 72 6f 63 {.$isTtySupported.=.(bool).@proc
176840 5f 6f 70 65 6e 28 27 65 63 68 6f 20 31 20 3e 2f 64 65 76 2f 6e 75 6c 6c 27 2c 20 61 72 72 61 79 _open('echo.1.>/dev/null',.array
176860 28 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 72 27 29 2c (array('file',.'/dev/tty',.'r'),
176880 20 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 77 27 29 2c .array('file',.'/dev/tty',.'w'),
1768a0 20 61 72 72 61 79 28 27 66 69 6c 65 27 2c 20 27 2f 64 65 76 2f 74 74 79 27 2c 20 27 77 27 29 29 .array('file',.'/dev/tty',.'w'))
1768c0 2c 20 24 70 69 70 65 73 29 3b 0a 7d 0a 0a 69 66 20 28 21 24 69 73 54 74 79 53 75 70 70 6f 72 74 ,.$pipes);.}..if.(!$isTtySupport
1768e0 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e ed).{.throw.new.RuntimeException
176900 28 27 54 54 59 20 6d 6f 64 65 20 72 65 71 75 69 72 65 73 20 2f 64 65 76 2f 74 74 79 20 74 6f 20 ('TTY.mode.requires./dev/tty.to.
176920 62 65 20 72 65 61 64 2f 77 72 69 74 61 62 6c 65 2e 27 29 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d be.read/writable.');.}.}..$this-
176940 3e 74 74 79 20 3d 20 28 62 6f 6f 6c 29 20 24 74 74 79 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 >tty.=.(bool).$tty;..return.$thi
176960 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 54 74 79 s;.}.......public.function.isTty
176980 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 74 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ().{.return.$this->tty;.}.......
1769a0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 74 79 28 24 62 6f 6f 6c 29 0a ..public.function.setPty($bool).
1769c0 7b 0a 24 74 68 69 73 2d 3e 70 74 79 20 3d 20 28 62 6f 6f 6c 29 20 24 62 6f 6f 6c 3b 0a 0a 72 65 {.$this->pty.=.(bool).$bool;..re
1769e0 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 turn.$this;.}.......public.funct
176a00 69 6f 6e 20 69 73 50 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 74 79 3b ion.isPty().{.return.$this->pty;
176a20 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 57 6f 72 6b .}.......public.function.getWork
176a40 69 6e 67 44 69 72 65 63 74 6f 72 79 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 ingDirectory().{.if.(null.===.$t
176a60 68 69 73 2d 3e 63 77 64 29 20 7b 0a 0a 20 0a 20 72 65 74 75 72 6e 20 67 65 74 63 77 64 28 29 20 his->cwd).{.....return.getcwd().
176a80 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 77 64 3b 0a 7d ?:.null;.}..return.$this->cwd;.}
176aa0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 57 6f 72 6b .........public.function.setWork
176ac0 69 6e 67 44 69 72 65 63 74 6f 72 79 28 24 63 77 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 77 64 20 ingDirectory($cwd).{.$this->cwd.
176ae0 3d 20 24 63 77 64 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 =.$cwd;..return.$this;.}.......p
176b00 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 76 28 29 0a 7b 0a 72 65 74 75 72 6e ublic.function.getEnv().{.return
176b20 20 24 74 68 69 73 2d 3e 65 6e 76 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 .$this->env;.}...............pub
176b40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 76 28 61 72 72 61 79 20 24 65 6e 76 29 0a lic.function.setEnv(array.$env).
176b60 7b 0a 0a 20 24 65 6e 76 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 65 6e 76 2c 20 66 75 {...$env.=.array_filter($env,.fu
176b80 6e 63 74 69 6f 6e 20 28 24 76 61 6c 75 65 29 20 7b 0a 72 65 74 75 72 6e 20 21 5c 69 73 5f 61 72 nction.($value).{.return.!\is_ar
176ba0 72 61 79 28 24 76 61 6c 75 65 29 3b 0a 7d 29 3b 0a 0a 24 74 68 69 73 2d 3e 65 6e 76 20 3d 20 61 ray($value);.});..$this->env.=.a
176bc0 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 65 6e 76 20 61 73 20 24 6b 65 79 20 3d 3e rray();.foreach.($env.as.$key.=>
176be0 20 24 76 61 6c 75 65 29 20 7b 0a 24 74 68 69 73 2d 3e 65 6e 76 5b 24 6b 65 79 5d 20 3d 20 28 73 .$value).{.$this->env[$key].=.(s
176c00 74 72 69 6e 67 29 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a tring).$value;.}..return.$this;.
176c20 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 }...........public.function.getS
176c40 74 64 69 6e 28 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 54 68 65 20 27 2e 5f tdin().{.@trigger_error('The.'._
176c60 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 72 65 63 61 74 65 64 _METHOD__.'.method.is.deprecated
176c80 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 .since.Symfony.2.5.and.will.be.r
176ca0 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 67 65 74 49 6e 70 75 74 28 emoved.in.3.0..Use.the.getInput(
176cc0 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 ).method.instead.',.E_USER_DEPRE
176ce0 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 49 6e 70 75 74 28 CATED);..return.$this->getInput(
176d00 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e );.}.......public.function.getIn
176d20 70 75 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 3b 0a 7d 0a 0a put().{.return.$this->input;.}..
176d40 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 .............public.function.set
176d60 53 74 64 69 6e 28 24 73 74 64 69 6e 29 0a 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 72 6f 72 28 27 Stdin($stdin).{.@trigger_error('
176d80 54 68 65 20 27 2e 5f 5f 4d 45 54 48 4f 44 5f 5f 2e 27 20 6d 65 74 68 6f 64 20 69 73 20 64 65 70 The.'.__METHOD__.'.method.is.dep
176da0 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 2e 35 20 61 6e 64 20 77 69 recated.since.Symfony.2.5.and.wi
176dc0 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 20 55 73 65 20 74 68 65 20 73 65 ll.be.removed.in.3.0..Use.the.se
176de0 74 49 6e 70 75 74 28 29 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 2e 27 2c 20 45 5f 55 53 45 tInput().method.instead.',.E_USE
176e00 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 65 R_DEPRECATED);..return.$this->se
176e20 74 49 6e 70 75 74 28 24 73 74 64 69 6e 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a tInput($stdin);.}...............
176e40 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 public.function.setInput($input)
176e60 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 29 20 7b 0a 74 68 72 .{.if.($this->isRunning()).{.thr
176e80 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 70 75 74 20 63 61 6e ow.new.LogicException('Input.can
176ea0 20 6e 6f 74 20 62 65 20 73 65 74 20 77 68 69 6c 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 69 73 .not.be.set.while.the.process.is
176ec0 20 72 75 6e 6e 69 6e 67 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 50 .running.');.}..$this->input.=.P
176ee0 72 6f 63 65 73 73 55 74 69 6c 73 3a 3a 76 61 6c 69 64 61 74 65 49 6e 70 75 74 28 5f 5f 4d 45 54 rocessUtils::validateInput(__MET
176f00 48 4f 44 5f 5f 2c 20 24 69 6e 70 75 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d HOD__,.$input);..return.$this;.}
176f20 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4f 70 74 69 6f 6e .......public.function.getOption
176f40 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a s().{.return.$this->options;.}..
176f60 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e .......public.function.setOption
176f80 73 28 61 72 72 61 79 20 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f s(array.$options).{.$this->optio
176fa0 6e 73 20 3d 20 24 6f 70 74 69 6f 6e 73 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a ns.=.$options;..return.$this;.}.
176fc0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 68 61 6e ........public.function.getEnhan
176fe0 63 65 57 69 6e 64 6f 77 73 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 ceWindowsCompatibility().{.retur
177000 6e 20 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 57 69 6e 64 6f 77 73 43 6f 6d 70 61 74 69 62 69 n.$this->enhanceWindowsCompatibi
177020 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 lity;.}.........public.function.
177040 73 65 74 45 6e 68 61 6e 63 65 57 69 6e 64 6f 77 73 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 28 24 setEnhanceWindowsCompatibility($
177060 65 6e 68 61 6e 63 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 57 69 6e 64 6f 77 73 enhance).{.$this->enhanceWindows
177080 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 3d 20 28 62 6f 6f 6c 29 20 24 65 6e 68 61 6e 63 65 3b Compatibility.=.(bool).$enhance;
1770a0 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ..return.$this;.}.......public.f
1770c0 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 unction.getEnhanceSigchildCompat
1770e0 69 62 69 6c 69 74 79 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 ibility().{.return.$this->enhanc
177100 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a eSigchildCompatibility;.}.......
177120 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 68 61 6e 63 65 ......public.function.setEnhance
177140 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 28 24 65 6e 68 61 6e 63 65 29 0a SigchildCompatibility($enhance).
177160 7b 0a 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 {.$this->enhanceSigchildCompatib
177180 69 6c 69 74 79 20 3d 20 28 62 6f 6f 6c 29 20 24 65 6e 68 61 6e 63 65 3b 0a 0a 72 65 74 75 72 6e ility.=.(bool).$enhance;..return
1771a0 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 .$this;.}..........public.functi
1771c0 6f 6e 20 63 68 65 63 6b 54 69 6d 65 6f 75 74 28 29 0a 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 53 54 on.checkTimeout().{.if.(self::ST
1771e0 41 54 55 53 5f 53 54 41 52 54 45 44 20 21 3d 3d 20 24 74 68 69 73 2d 3e 73 74 61 74 75 73 29 20 ATUS_STARTED.!==.$this->status).
177200 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d {.return;.}..if.(null.!==.$this-
177220 3e 74 69 6d 65 6f 75 74 20 26 26 20 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3c 20 6d 69 63 >timeout.&&.$this->timeout.<.mic
177240 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 74 68 69 73 2d 3e 73 74 61 72 74 74 69 6d 65 29 rotime(true).-.$this->starttime)
177260 20 7b 0a 24 74 68 69 73 2d 3e 73 74 6f 70 28 30 29 3b 0a 0a 74 68 72 6f 77 20 6e 65 77 20 50 72 .{.$this->stop(0);..throw.new.Pr
177280 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f 6e 28 24 74 68 69 73 2c 20 50 72 ocessTimedOutException($this,.Pr
1772a0 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f 6e 3a 3a 54 59 50 45 5f 47 45 4e ocessTimedOutException::TYPE_GEN
1772c0 45 52 41 4c 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 69 64 ERAL);.}..if.(null.!==.$this->id
1772e0 6c 65 54 69 6d 65 6f 75 74 20 26 26 20 24 74 68 69 73 2d 3e 69 64 6c 65 54 69 6d 65 6f 75 74 20 leTimeout.&&.$this->idleTimeout.
177300 3c 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 74 68 69 73 2d 3e 6c 61 73 74 4f <.microtime(true).-.$this->lastO
177320 75 74 70 75 74 54 69 6d 65 29 20 7b 0a 24 74 68 69 73 2d 3e 73 74 6f 70 28 30 29 3b 0a 0a 74 68 utputTime).{.$this->stop(0);..th
177340 72 6f 77 20 6e 65 77 20 50 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f 6e row.new.ProcessTimedOutException
177360 28 24 74 68 69 73 2c 20 50 72 6f 63 65 73 73 54 69 6d 65 64 4f 75 74 45 78 63 65 70 74 69 6f 6e ($this,.ProcessTimedOutException
177380 3a 3a 54 59 50 45 5f 49 44 4c 45 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 ::TYPE_IDLE);.}.}.......public.s
1773a0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 50 74 79 53 75 70 70 6f 72 74 65 64 28 29 0a tatic.function.isPtySupported().
1773c0 7b 0a 73 74 61 74 69 63 20 24 72 65 73 75 6c 74 3b 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 {.static.$result;..if.(null.!==.
1773e0 24 72 65 73 75 6c 74 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 3b 0a 7d 0a 0a 69 66 $result).{.return.$result;.}..if
177400 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 .('\\'.===.\DIRECTORY_SEPARATOR)
177420 20 7b 0a 72 65 74 75 72 6e 20 24 72 65 73 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 .{.return.$result.=.false;.}..re
177440 74 75 72 6e 20 24 72 65 73 75 6c 74 20 3d 20 28 62 6f 6f 6c 29 20 40 70 72 6f 63 5f 6f 70 65 6e turn.$result.=.(bool).@proc_open
177460 28 27 65 63 68 6f 20 31 20 3e 2f 64 65 76 2f 6e 75 6c 6c 27 2c 20 61 72 72 61 79 28 61 72 72 61 ('echo.1.>/dev/null',.array(arra
177480 79 28 27 70 74 79 27 29 2c 20 61 72 72 61 79 28 27 70 74 79 27 29 2c 20 61 72 72 61 79 28 27 70 y('pty'),.array('pty'),.array('p
1774a0 74 79 27 29 29 2c 20 24 70 69 70 65 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 ty')),.$pipes);.}.......private.
1774c0 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 0a 7b 0a 69 66 20 28 function.getDescriptors().{.if.(
1774e0 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b '\\'.===.\DIRECTORY_SEPARATOR).{
177500 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 20 3d 20 57 69 6e 64 6f 77 73 50 69 .$this->processPipes.=.WindowsPi
177520 70 65 73 3a 3a 63 72 65 61 74 65 28 24 74 68 69 73 2c 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 29 pes::create($this,.$this->input)
177540 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 20 3d ;.}.else.{.$this->processPipes.=
177560 20 55 6e 69 78 50 69 70 65 73 3a 3a 63 72 65 61 74 65 28 24 74 68 69 73 2c 20 24 74 68 69 73 2d .UnixPipes::create($this,.$this-
177580 3e 69 6e 70 75 74 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 >input);.}..return.$this->proces
1775a0 73 50 69 70 65 73 2d 3e 67 65 74 44 65 73 63 72 69 70 74 6f 72 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a sPipes->getDescriptors();.}.....
1775c0 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 43 .......protected.function.buildC
1775e0 61 6c 6c 62 61 63 6b 28 24 63 61 6c 6c 62 61 63 6b 29 0a 7b 0a 24 74 68 61 74 20 3d 20 24 74 68 allback($callback).{.$that.=.$th
177600 69 73 3b 0a 24 6f 75 74 20 3d 20 73 65 6c 66 3a 3a 4f 55 54 3b 0a 24 63 61 6c 6c 62 61 63 6b 20 is;.$out.=.self::OUT;.$callback.
177620 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 74 79 70 65 2c 20 24 64 61 74 61 29 20 75 73 65 20 28 24 =.function.($type,.$data).use.($
177640 74 68 61 74 2c 20 24 63 61 6c 6c 62 61 63 6b 2c 20 24 6f 75 74 29 20 7b 0a 69 66 20 28 24 6f 75 that,.$callback,.$out).{.if.($ou
177660 74 20 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 74 68 61 74 2d 3e 61 64 64 4f 75 74 70 75 74 28 24 t.==.$type).{.$that->addOutput($
177680 64 61 74 61 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 61 74 2d 3e 61 64 64 45 72 72 6f 72 4f data);.}.else.{.$that->addErrorO
1776a0 75 74 70 75 74 28 24 64 61 74 61 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 63 utput($data);.}..if.(null.!==.$c
1776c0 61 6c 6c 62 61 63 6b 29 20 7b 0a 5c 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 24 63 61 6c 6c allback).{.\call_user_func($call
1776e0 62 61 63 6b 2c 20 24 74 79 70 65 2c 20 24 64 61 74 61 29 3b 0a 7d 0a 7d 3b 0a 0a 72 65 74 75 72 back,.$type,.$data);.}.};..retur
177700 6e 20 24 63 61 6c 6c 62 61 63 6b 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 n.$callback;.}.......protected.f
177720 75 6e 63 74 69 6f 6e 20 75 70 64 61 74 65 53 74 61 74 75 73 28 24 62 6c 6f 63 6b 69 6e 67 29 0a unction.updateStatus($blocking).
177740 7b 0a 69 66 20 28 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 53 54 41 52 54 45 44 20 21 3d 3d 20 24 {.if.(self::STATUS_STARTED.!==.$
177760 74 68 69 73 2d 3e 73 74 61 74 75 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 this->status).{.return;.}..$this
177780 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 3d 20 70 72 6f 63 5f 67 65 74 5f ->processInformation.=.proc_get_
1777a0 73 74 61 74 75 73 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 29 3b 0a 24 72 75 6e 6e 69 6e 67 status($this->process);.$running
1777c0 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 72 75 .=.$this->processInformation['ru
1777e0 6e 6e 69 6e 67 27 5d 3b 0a 0a 24 74 68 69 73 2d 3e 72 65 61 64 50 69 70 65 73 28 24 72 75 6e 6e nning'];..$this->readPipes($runn
177800 69 6e 67 20 26 26 20 24 62 6c 6f 63 6b 69 6e 67 2c 20 27 5c 5c 27 20 21 3d 3d 20 5c 44 49 52 45 ing.&&.$blocking,.'\\'.!==.\DIRE
177820 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 7c 7c 20 21 24 72 75 6e 6e 69 6e 67 29 3b 0a 0a CTORY_SEPARATOR.||.!$running);..
177840 69 66 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 20 26 26 20 24 74 68 if.($this->fallbackStatus.&&.$th
177860 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 is->enhanceSigchildCompatibility
177880 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 29 20 .&&.$this->isSigchildEnabled()).
1778a0 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 3d 20 24 74 {.$this->processInformation.=.$t
1778c0 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 20 2b 20 24 74 68 69 73 2d 3e 70 72 6f his->fallbackStatus.+.$this->pro
1778e0 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 3b 0a 7d 0a 0a 69 66 20 28 21 24 72 75 6e 6e 69 6e cessInformation;.}..if.(!$runnin
177900 67 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 6f 73 65 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 g).{.$this->close();.}.}.......p
177920 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 rotected.function.isSigchildEnab
177940 6c 65 64 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 73 69 67 63 led().{.if.(null.!==.self::$sigc
177960 68 69 6c 64 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 69 67 63 68 69 6c 64 3b 0a hild).{.return.self::$sigchild;.
177980 7d 0a 0a 69 66 20 28 21 5c 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 68 70 69 6e 66 }..if.(!\function_exists('phpinf
1779a0 6f 27 29 20 7c 7c 20 5c 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 o').||.\defined('HHVM_VERSION'))
1779c0 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 69 67 63 68 69 6c 64 20 3d 20 66 61 6c 73 .{.return.self::$sigchild.=.fals
1779e0 65 3b 0a 7d 0a 0a 6f 62 5f 73 74 61 72 74 28 29 3b 0a 70 68 70 69 6e 66 6f 28 49 4e 46 4f 5f 47 e;.}..ob_start();.phpinfo(INFO_G
177a00 45 4e 45 52 41 4c 29 3b 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 73 69 67 63 68 69 6c 64 ENERAL);..return.self::$sigchild
177a20 20 3d 20 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 28 6f 62 5f 67 65 74 5f 63 6c 65 61 6e .=.false.!==.strpos(ob_get_clean
177a40 28 29 2c 20 27 2d 2d 65 6e 61 62 6c 65 2d 73 69 67 63 68 69 6c 64 27 29 3b 0a 7d 0a 0a 0a 0a 0a (),.'--enable-sigchild');.}.....
177a60 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 61 64 50 69 70 65 73 46 6f ....private.function.readPipesFo
177a80 72 4f 75 74 70 75 74 28 24 63 61 6c 6c 65 72 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6f 75 rOutput($caller).{.if.($this->ou
177aa0 74 70 75 74 44 69 73 61 62 6c 65 64 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 tputDisabled).{.throw.new.LogicE
177ac0 78 63 65 70 74 69 6f 6e 28 27 4f 75 74 70 75 74 20 68 61 73 20 62 65 65 6e 20 64 69 73 61 62 6c xception('Output.has.been.disabl
177ae0 65 64 2e 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 72 65 71 75 69 72 65 50 72 6f 63 65 73 73 49 ed.');.}..$this->requireProcessI
177b00 73 53 74 61 72 74 65 64 28 24 63 61 6c 6c 65 72 29 3b 0a 0a 24 74 68 69 73 2d 3e 75 70 64 61 74 sStarted($caller);..$this->updat
177b20 65 53 74 61 74 75 73 28 66 61 6c 73 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 eStatus(false);.}...........priv
177b40 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 54 69 6d 65 6f 75 74 28 24 74 69 ate.function.validateTimeout($ti
177b60 6d 65 6f 75 74 29 0a 7b 0a 24 74 69 6d 65 6f 75 74 20 3d 20 28 66 6c 6f 61 74 29 20 24 74 69 6d meout).{.$timeout.=.(float).$tim
177b80 65 6f 75 74 3b 0a 0a 69 66 20 28 30 2e 30 20 3d 3d 3d 20 24 74 69 6d 65 6f 75 74 29 20 7b 0a 24 eout;..if.(0.0.===.$timeout).{.$
177ba0 74 69 6d 65 6f 75 74 20 3d 20 6e 75 6c 6c 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 69 6d 65 6f timeout.=.null;.}.elseif.($timeo
177bc0 75 74 20 3c 20 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d ut.<.0).{.throw.new.InvalidArgum
177be0 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 20 74 69 6d 65 6f 75 74 20 76 61 6c 75 65 20 entException('The.timeout.value.
177c00 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 70 6f 73 69 74 69 76 65 20 69 6e 74 65 67 65 72 must.be.a.valid.positive.integer
177c20 20 6f 72 20 66 6c 6f 61 74 20 6e 75 6d 62 65 72 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 .or.float.number.');.}..return.$
177c40 74 69 6d 65 6f 75 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 timeout;.}........private.functi
177c60 6f 6e 20 72 65 61 64 50 69 70 65 73 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 63 6c 6f 73 65 29 0a on.readPipes($blocking,.$close).
177c80 7b 0a 24 72 65 73 75 6c 74 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d {.$result.=.$this->processPipes-
177ca0 3e 72 65 61 64 41 6e 64 57 72 69 74 65 28 24 62 6c 6f 63 6b 69 6e 67 2c 20 24 63 6c 6f 73 65 29 >readAndWrite($blocking,.$close)
177cc0 3b 0a 0a 24 63 61 6c 6c 62 61 63 6b 20 3d 20 24 74 68 69 73 2d 3e 63 61 6c 6c 62 61 63 6b 3b 0a ;..$callback.=.$this->callback;.
177ce0 66 6f 72 65 61 63 68 20 28 24 72 65 73 75 6c 74 20 61 73 20 24 74 79 70 65 20 3d 3e 20 24 64 61 foreach.($result.as.$type.=>.$da
177d00 74 61 29 20 7b 0a 69 66 20 28 33 20 21 3d 3d 20 24 74 79 70 65 29 20 7b 0a 24 63 61 6c 6c 62 61 ta).{.if.(3.!==.$type).{.$callba
177d20 63 6b 28 73 65 6c 66 3a 3a 53 54 44 4f 55 54 20 3d 3d 3d 20 24 74 79 70 65 20 3f 20 73 65 6c 66 ck(self::STDOUT.===.$type.?.self
177d40 3a 3a 4f 55 54 20 3a 20 73 65 6c 66 3a 3a 45 52 52 2c 20 24 64 61 74 61 29 3b 0a 7d 20 65 6c 73 ::OUT.:.self::ERR,.$data);.}.els
177d60 65 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 eif.(!isset($this->fallbackStatu
177d80 73 5b 27 73 69 67 6e 61 6c 65 64 27 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 s['signaled'])).{.$this->fallbac
177da0 6b 53 74 61 74 75 73 5b 27 65 78 69 74 63 6f 64 65 27 5d 20 3d 20 28 69 6e 74 29 20 24 64 61 74 kStatus['exitcode'].=.(int).$dat
177dc0 61 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 a;.}.}.}.......private.function.
177de0 63 6c 6f 73 65 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 50 69 70 65 73 2d 3e 63 close().{.$this->processPipes->c
177e00 6c 6f 73 65 28 29 3b 0a 69 66 20 28 5c 69 73 5f 72 65 73 6f 75 72 63 65 28 24 74 68 69 73 2d 3e lose();.if.(\is_resource($this->
177e20 70 72 6f 63 65 73 73 29 29 20 7b 0a 70 72 6f 63 5f 63 6c 6f 73 65 28 24 74 68 69 73 2d 3e 70 72 process)).{.proc_close($this->pr
177e40 6f 63 65 73 73 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 20 3d 20 24 74 68 69 ocess);.}.$this->exitcode.=.$thi
177e60 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 65 78 69 74 63 6f 64 65 27 s->processInformation['exitcode'
177e80 5d 3b 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 20 3d 20 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f ];.$this->status.=.self::STATUS_
177ea0 54 45 52 4d 49 4e 41 54 45 44 3b 0a 0a 69 66 20 28 2d 31 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 65 TERMINATED;..if.(-1.===.$this->e
177ec0 78 69 74 63 6f 64 65 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 xitcode).{.if.($this->processInf
177ee0 6f 72 6d 61 74 69 6f 6e 5b 27 73 69 67 6e 61 6c 65 64 27 5d 20 26 26 20 30 20 3c 20 24 74 68 69 ormation['signaled'].&&.0.<.$thi
177f00 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 6d 73 69 67 27 5d s->processInformation['termsig']
177f20 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 20 3d 20 31 32 38 20 2b 20 24 74 ).{...$this->exitcode.=.128.+.$t
177f40 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 6d 73 69 67 his->processInformation['termsig
177f60 27 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 '];.}.elseif.($this->enhanceSigc
177f80 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 26 26 20 24 74 68 69 73 2d 3e 69 73 53 69 hildCompatibility.&&.$this->isSi
177fa0 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 gchildEnabled()).{.$this->proces
177fc0 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 73 69 67 6e 61 6c 65 64 27 5d 20 3d 20 74 72 75 65 3b sInformation['signaled'].=.true;
177fe0 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 5b 27 74 65 72 6d .$this->processInformation['term
178000 73 69 67 27 5d 20 3d 20 2d 31 3b 0a 7d 0a 7d 0a 0a 0a 20 0a 20 0a 20 24 74 68 69 73 2d 3e 63 61 sig'].=.-1;.}.}........$this->ca
178020 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 llback.=.null;..return.$this->ex
178040 69 74 63 6f 64 65 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 itcode;.}.....private.function.r
178060 65 73 65 74 50 72 6f 63 65 73 73 44 61 74 61 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 72 74 esetProcessData().{.$this->start
178080 74 69 6d 65 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 63 61 6c 6c 62 61 63 6b 20 3d 20 6e time.=.null;.$this->callback.=.n
1780a0 75 6c 6c 3b 0a 24 74 68 69 73 2d 3e 65 78 69 74 63 6f 64 65 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 ull;.$this->exitcode.=.null;.$th
1780c0 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 is->fallbackStatus.=.array();.$t
1780e0 68 69 73 2d 3e 70 72 6f 63 65 73 73 49 6e 66 6f 72 6d 61 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a his->processInformation.=.null;.
178100 24 74 68 69 73 2d 3e 73 74 64 6f 75 74 20 3d 20 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 74 65 6d $this->stdout.=.fopen('php://tem
178120 70 2f 6d 61 78 6d 65 6d 6f 72 79 3a 27 2e 28 31 30 32 34 20 2a 20 31 30 32 34 29 2c 20 27 77 2b p/maxmemory:'.(1024.*.1024),.'w+
178140 62 27 29 3b 0a 24 74 68 69 73 2d 3e 73 74 64 65 72 72 20 3d 20 66 6f 70 65 6e 28 27 70 68 70 3a b');.$this->stderr.=.fopen('php:
178160 2f 2f 74 65 6d 70 2f 6d 61 78 6d 65 6d 6f 72 79 3a 27 2e 28 31 30 32 34 20 2a 20 31 30 32 34 29 //temp/maxmemory:'.(1024.*.1024)
178180 2c 20 27 77 2b 62 27 29 3b 0a 24 74 68 69 73 2d 3e 70 72 6f 63 65 73 73 20 3d 20 6e 75 6c 6c 3b ,.'w+b');.$this->process.=.null;
1781a0 0a 24 74 68 69 73 2d 3e 6c 61 74 65 73 74 53 69 67 6e 61 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 74 68 .$this->latestSignal.=.null;.$th
1781c0 69 73 2d 3e 73 74 61 74 75 73 20 3d 20 73 65 6c 66 3a 3a 53 54 41 54 55 53 5f 52 45 41 44 59 3b is->status.=.self::STATUS_READY;
1781e0 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 4f 75 74 70 75 74 4f 66 66 73 65 74 20 .$this->incrementalOutputOffset.
178200 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 61 6c 45 72 72 6f 72 4f 75 74 70 =.0;.$this->incrementalErrorOutp
178220 75 74 4f 66 66 73 65 74 20 3d 20 30 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 utOffset.=.0;.}..............pri
178240 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 53 69 67 6e 61 6c 28 24 73 69 67 6e 61 6c 2c 20 vate.function.doSignal($signal,.
178260 24 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 $throwException).{.if.(null.===.
178280 24 70 69 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 69 64 28 29 29 20 7b 0a 69 66 20 28 24 74 $pid.=.$this->getPid()).{.if.($t
1782a0 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 hrowException).{.throw.new.Logic
1782c0 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6e 20 6e 6f 74 20 73 65 6e 64 20 73 69 67 6e 61 6c 20 6f Exception('Can.not.send.signal.o
1782e0 6e 20 61 20 6e 6f 6e 20 72 75 6e 6e 69 6e 67 20 70 72 6f 63 65 73 73 2e 27 29 3b 0a 7d 0a 0a 72 n.a.non.running.process.');.}..r
178300 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 eturn.false;.}..if.('\\'.===.\DI
178320 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 7b 0a 65 78 65 63 28 73 70 72 69 6e 74 RECTORY_SEPARATOR).{.exec(sprint
178340 66 28 27 74 61 73 6b 6b 69 6c 6c 20 2f 46 20 2f 54 20 2f 50 49 44 20 25 64 20 32 3e 26 31 27 2c f('taskkill./F./T./PID.%d.2>&1',
178360 20 24 70 69 64 29 2c 20 24 6f 75 74 70 75 74 2c 20 24 65 78 69 74 43 6f 64 65 29 3b 0a 69 66 20 .$pid),.$output,.$exitCode);.if.
178380 28 24 65 78 69 74 43 6f 64 65 20 26 26 20 24 74 68 69 73 2d 3e 69 73 52 75 6e 6e 69 6e 67 28 29 ($exitCode.&&.$this->isRunning()
1783a0 29 20 7b 0a 69 66 20 28 24 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 ).{.if.($throwException).{.throw
1783c0 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 55 .new.RuntimeException(sprintf('U
1783e0 6e 61 62 6c 65 20 74 6f 20 6b 69 6c 6c 20 74 68 65 20 70 72 6f 63 65 73 73 20 28 25 73 29 2e 27 nable.to.kill.the.process.(%s).'
178400 2c 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 24 6f 75 74 70 75 74 29 29 29 3b 0a 7d 0a 0a 72 65 ,.implode('.',.$output)));.}..re
178420 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 21 24 74 68 69 turn.false;.}.}.else.{.if.(!$thi
178440 73 2d 3e 65 6e 68 61 6e 63 65 53 69 67 63 68 69 6c 64 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 s->enhanceSigchildCompatibility.
178460 7c 7c 20 21 24 74 68 69 73 2d 3e 69 73 53 69 67 63 68 69 6c 64 45 6e 61 62 6c 65 64 28 29 29 20 ||.!$this->isSigchildEnabled()).
178480 7b 0a 24 6f 6b 20 3d 20 40 70 72 6f 63 5f 74 65 72 6d 69 6e 61 74 65 28 24 74 68 69 73 2d 3e 70 {.$ok.=.@proc_terminate($this->p
1784a0 72 6f 63 65 73 73 2c 20 24 73 69 67 6e 61 6c 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 5c 66 75 6e rocess,.$signal);.}.elseif.(\fun
1784c0 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 6b 69 6c 6c 27 29 29 20 7b 0a 24 6f ction_exists('posix_kill')).{.$o
1784e0 6b 20 3d 20 40 70 6f 73 69 78 5f 6b 69 6c 6c 28 24 70 69 64 2c 20 24 73 69 67 6e 61 6c 29 3b 0a k.=.@posix_kill($pid,.$signal);.
178500 7d 20 65 6c 73 65 69 66 20 28 24 6f 6b 20 3d 20 70 72 6f 63 5f 6f 70 65 6e 28 73 70 72 69 6e 74 }.elseif.($ok.=.proc_open(sprint
178520 66 28 27 6b 69 6c 6c 20 2d 25 64 20 25 64 27 2c 20 24 73 69 67 6e 61 6c 2c 20 24 70 69 64 29 2c f('kill.-%d.%d',.$signal,.$pid),
178540 20 61 72 72 61 79 28 32 20 3d 3e 20 61 72 72 61 79 28 27 70 69 70 65 27 2c 20 27 77 27 29 29 2c .array(2.=>.array('pipe',.'w')),
178560 20 24 70 69 70 65 73 29 29 20 7b 0a 24 6f 6b 20 3d 20 66 61 6c 73 65 20 3d 3d 3d 20 66 67 65 74 .$pipes)).{.$ok.=.false.===.fget
178580 73 28 24 70 69 70 65 73 5b 32 5d 29 3b 0a 7d 0a 69 66 20 28 21 24 6f 6b 29 20 7b 0a 69 66 20 28 s($pipes[2]);.}.if.(!$ok).{.if.(
1785a0 24 74 68 72 6f 77 45 78 63 65 70 74 69 6f 6e 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e $throwException).{.throw.new.Run
1785c0 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 45 72 72 6f 72 20 77 68 69 timeException(sprintf('Error.whi
1785e0 6c 65 20 73 65 6e 64 69 6e 67 20 73 69 67 6e 61 6c 20 60 25 73 60 2e 27 2c 20 24 73 69 67 6e 61 le.sending.signal.`%s`.',.$signa
178600 6c 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 24 74 68 69 73 l));.}..return.false;.}.}..$this
178620 2d 3e 6c 61 74 65 73 74 53 69 67 6e 61 6c 20 3d 20 28 69 6e 74 29 20 24 73 69 67 6e 61 6c 3b 0a ->latestSignal.=.(int).$signal;.
178640 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 5b 27 73 69 67 6e 61 6c 65 64 27 $this->fallbackStatus['signaled'
178660 5d 20 3d 20 74 72 75 65 3b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 53 74 61 74 75 73 5b ].=.true;.$this->fallbackStatus[
178680 27 65 78 69 74 63 6f 64 65 27 5d 20 3d 20 2d 31 3b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 'exitcode'].=.-1;.$this->fallbac
1786a0 6b 53 74 61 74 75 73 5b 27 74 65 72 6d 73 69 67 27 5d 20 3d 20 24 74 68 69 73 2d 3e 6c 61 74 65 kStatus['termsig'].=.$this->late
1786c0 73 74 53 69 67 6e 61 6c 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a stSignal;..return.true;.}.......
1786e0 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 50 72 6f 63 65 73 ..private.function.requireProces
178700 73 49 73 53 74 61 72 74 65 64 28 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 0a 7b 0a 69 66 20 28 sIsStarted($functionName).{.if.(
178720 21 24 74 68 69 73 2d 3e 69 73 53 74 61 72 74 65 64 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 !$this->isStarted()).{.throw.new
178740 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 50 72 6f 63 65 73 73 .LogicException(sprintf('Process
178760 20 6d 75 73 74 20 62 65 20 73 74 61 72 74 65 64 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 .must.be.started.before.calling.
178780 25 73 2e 27 2c 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a %s.',.$functionName));.}.}......
1787a0 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 50 72 6f 63 65 ...private.function.requireProce
1787c0 73 73 49 73 54 65 72 6d 69 6e 61 74 65 64 28 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 0a 7b 0a ssIsTerminated($functionName).{.
1787e0 69 66 20 28 21 24 74 68 69 73 2d 3e 69 73 54 65 72 6d 69 6e 61 74 65 64 28 29 29 20 7b 0a 74 68 if.(!$this->isTerminated()).{.th
178800 72 6f 77 20 6e 65 77 20 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 row.new.LogicException(sprintf('
178820 50 72 6f 63 65 73 73 20 6d 75 73 74 20 62 65 20 74 65 72 6d 69 6e 61 74 65 64 20 62 65 66 6f 72 Process.must.be.terminated.befor
178840 65 20 63 61 6c 6c 69 6e 67 20 25 73 2e 27 2c 20 24 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 29 29 3b e.calling.%s.',.$functionName));
178860 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 .}.}.}.<?php...........namespace
178880 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 3b 0a 0a 75 73 65 .Symfony\Component\Process;..use
1788a0 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 65 70 .Symfony\Component\Process\Excep
1788c0 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 tion\InvalidArgumentException;.u
1788e0 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 se.Symfony\Component\Process\Exc
178900 65 70 74 69 6f 6e 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 eption\LogicException;.....class
178920 20 50 72 6f 63 65 73 73 42 75 69 6c 64 65 72 0a 7b 0a 70 72 69 76 61 74 65 20 24 61 72 67 75 6d .ProcessBuilder.{.private.$argum
178940 65 6e 74 73 3b 0a 70 72 69 76 61 74 65 20 24 63 77 64 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 76 ents;.private.$cwd;.private.$env
178960 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 .=.array();.private.$input;.priv
178980 61 74 65 20 24 74 69 6d 65 6f 75 74 20 3d 20 36 30 3b 0a 70 72 69 76 61 74 65 20 24 6f 70 74 69 ate.$timeout.=.60;.private.$opti
1789a0 6f 6e 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 68 65 72 69 74 45 ons.=.array();.private.$inheritE
1789c0 6e 76 20 3d 20 74 72 75 65 3b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 20 3d 20 61 72 72 nv.=.true;.private.$prefix.=.arr
1789e0 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 20 3d 20 ay();.private.$outputDisabled.=.
178a00 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e false;.....public.function.__con
178a20 73 74 72 75 63 74 28 61 72 72 61 79 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 28 struct(array.$arguments.=.array(
178a40 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 3d 20 24 61 72 67 75 6d 65 6e )).{.$this->arguments.=.$argumen
178a60 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 ts;.}.........public.static.func
178a80 74 69 6f 6e 20 63 72 65 61 74 65 28 61 72 72 61 79 20 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 tion.create(array.$arguments.=.a
178aa0 72 72 61 79 28 29 29 0a 7b 0a 72 65 74 75 72 6e 20 6e 65 77 20 73 74 61 74 69 63 28 24 61 72 67 rray()).{.return.new.static($arg
178ac0 75 6d 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 uments);.}.........public.functi
178ae0 6f 6e 20 61 64 64 28 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 72 67 75 6d on.add($argument).{.$this->argum
178b00 65 6e 74 73 5b 5d 20 3d 20 24 61 72 67 75 6d 65 6e 74 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 ents[].=.$argument;..return.$thi
178b20 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 s;.}...........public.function.s
178b40 65 74 50 72 65 66 69 78 28 24 70 72 65 66 69 78 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 etPrefix($prefix).{.$this->prefi
178b60 78 20 3d 20 5c 69 73 5f 61 72 72 61 79 28 24 70 72 65 66 69 78 29 20 3f 20 24 70 72 65 66 69 78 x.=.\is_array($prefix).?.$prefix
178b80 20 3a 20 61 72 72 61 79 28 24 70 72 65 66 69 78 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 .:.array($prefix);..return.$this
178ba0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ;.}............public.function.s
178bc0 65 74 41 72 67 75 6d 65 6e 74 73 28 61 72 72 61 79 20 24 61 72 67 75 6d 65 6e 74 73 29 0a 7b 0a etArguments(array.$arguments).{.
178be0 24 74 68 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 20 3d 20 24 61 72 67 75 6d 65 6e 74 73 3b 0a 0a $this->arguments.=.$arguments;..
178c00 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 return.$this;.}.........public.f
178c20 75 6e 63 74 69 6f 6e 20 73 65 74 57 6f 72 6b 69 6e 67 44 69 72 65 63 74 6f 72 79 28 24 63 77 64 unction.setWorkingDirectory($cwd
178c40 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 77 64 20 3d 20 24 63 77 64 3b 0a 0a 72 65 74 75 72 6e 20 24 ).{.$this->cwd.=.$cwd;..return.$
178c60 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 this;.}.........public.function.
178c80 69 6e 68 65 72 69 74 45 6e 76 69 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 73 28 24 69 6e 68 inheritEnvironmentVariables($inh
178ca0 65 72 69 74 45 6e 76 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 68 65 72 69 74 eritEnv.=.true).{.$this->inherit
178cc0 45 6e 76 20 3d 20 24 69 6e 68 65 72 69 74 45 6e 76 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 Env.=.$inheritEnv;..return.$this
178ce0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 ;.}.............public.function.
178d00 73 65 74 45 6e 76 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 setEnv($name,.$value).{.$this->e
178d20 6e 76 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 nv[$name].=.$value;..return.$thi
178d40 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e s;.}.............public.function
178d60 20 61 64 64 45 6e 76 69 72 6f 6e 6d 65 6e 74 56 61 72 69 61 62 6c 65 73 28 61 72 72 61 79 20 24 .addEnvironmentVariables(array.$
178d80 76 61 72 69 61 62 6c 65 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 65 6e 76 20 3d 20 61 72 72 61 79 5f variables).{.$this->env.=.array_
178da0 72 65 70 6c 61 63 65 28 24 74 68 69 73 2d 3e 65 6e 76 2c 20 24 76 61 72 69 61 62 6c 65 73 29 3b replace($this->env,.$variables);
178dc0 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ..return.$this;.}.............pu
178de0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 0a 7b blic.function.setInput($input).{
178e00 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 50 72 6f 63 65 73 73 55 74 69 6c 73 3a 3a 76 61 .$this->input.=.ProcessUtils::va
178e20 6c 69 64 61 74 65 49 6e 70 75 74 28 5f 5f 4d 45 54 48 4f 44 5f 5f 2c 20 24 69 6e 70 75 74 29 3b lidateInput(__METHOD__,.$input);
178e40 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ..return.$this;.}.............pu
178e60 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 54 69 6d 65 6f 75 74 28 24 74 69 6d 65 6f 75 blic.function.setTimeout($timeou
178e80 74 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 69 6d 65 6f 75 74 29 20 7b 0a 24 74 t).{.if.(null.===.$timeout).{.$t
178ea0 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 his->timeout.=.null;..return.$th
178ec0 69 73 3b 0a 7d 0a 0a 24 74 69 6d 65 6f 75 74 20 3d 20 28 66 6c 6f 61 74 29 20 24 74 69 6d 65 6f is;.}..$timeout.=.(float).$timeo
178ee0 75 74 3b 0a 0a 69 66 20 28 24 74 69 6d 65 6f 75 74 20 3c 20 30 29 20 7b 0a 74 68 72 6f 77 20 6e ut;..if.($timeout.<.0).{.throw.n
178f00 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 54 68 65 ew.InvalidArgumentException('The
178f20 20 74 69 6d 65 6f 75 74 20 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 61 20 76 61 6c 69 64 20 70 .timeout.value.must.be.a.valid.p
178f40 6f 73 69 74 69 76 65 20 69 6e 74 65 67 65 72 20 6f 72 20 66 6c 6f 61 74 20 6e 75 6d 62 65 72 2e ositive.integer.or.float.number.
178f60 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 74 69 6d 65 6f 75 74 20 3d 20 24 74 69 6d 65 6f 75 74 ');.}..$this->timeout.=.$timeout
178f80 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c ;..return.$this;.}..........publ
178fa0 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4f 70 74 69 6f 6e 28 24 6e 61 6d 65 2c 20 24 76 61 ic.function.setOption($name,.$va
178fc0 6c 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 70 74 69 6f 6e 73 5b 24 6e 61 6d 65 5d 20 3d 20 24 lue).{.$this->options[$name].=.$
178fe0 76 61 6c 75 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 value;..return.$this;.}.......pu
179000 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 69 73 61 62 6c 65 4f 75 74 70 75 74 28 29 0a 7b 0a blic.function.disableOutput().{.
179020 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 20 3d 20 74 72 75 65 3b 0a 0a 72 $this->outputDisabled.=.true;..r
179040 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 eturn.$this;.}.......public.func
179060 74 69 6f 6e 20 65 6e 61 62 6c 65 4f 75 74 70 75 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 tion.enableOutput().{.$this->out
179080 70 75 74 44 69 73 61 62 6c 65 64 20 3d 20 66 61 6c 73 65 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 putDisabled.=.false;..return.$th
1790a0 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 is;.}.........public.function.ge
1790c0 74 50 72 6f 63 65 73 73 28 29 0a 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 74 tProcess().{.if.(0.===.\count($t
1790e0 68 69 73 2d 3e 70 72 65 66 69 78 29 20 26 26 20 30 20 3d 3d 3d 20 5c 63 6f 75 6e 74 28 24 74 68 his->prefix).&&.0.===.\count($th
179100 69 73 2d 3e 61 72 67 75 6d 65 6e 74 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 4c 6f 67 69 is->arguments)).{.throw.new.Logi
179120 63 45 78 63 65 70 74 69 6f 6e 28 27 59 6f 75 20 6d 75 73 74 20 61 64 64 28 29 20 63 6f 6d 6d 61 cException('You.must.add().comma
179140 6e 64 20 61 72 67 75 6d 65 6e 74 73 20 62 65 66 6f 72 65 20 63 61 6c 6c 69 6e 67 20 67 65 74 50 nd.arguments.before.calling.getP
179160 72 6f 63 65 73 73 28 29 2e 27 29 3b 0a 7d 0a 0a 24 6f 70 74 69 6f 6e 73 20 3d 20 24 74 68 69 73 rocess().');.}..$options.=.$this
179180 2d 3e 6f 70 74 69 6f 6e 73 3b 0a 0a 24 61 72 67 75 6d 65 6e 74 73 20 3d 20 61 72 72 61 79 5f 6d ->options;..$arguments.=.array_m
1791a0 65 72 67 65 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 2c 20 24 74 68 69 73 2d 3e 61 72 67 75 6d erge($this->prefix,.$this->argum
1791c0 65 6e 74 73 29 3b 0a 24 73 63 72 69 70 74 20 3d 20 69 6d 70 6c 6f 64 65 28 27 20 27 2c 20 61 72 ents);.$script.=.implode('.',.ar
1791e0 72 61 79 5f 6d 61 70 28 61 72 72 61 79 28 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 2e 27 5c 5c 50 ray_map(array(__NAMESPACE__.'\\P
179200 72 6f 63 65 73 73 55 74 69 6c 73 27 2c 20 27 65 73 63 61 70 65 41 72 67 75 6d 65 6e 74 27 29 2c rocessUtils',.'escapeArgument'),
179220 20 24 61 72 67 75 6d 65 6e 74 73 29 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 68 65 72 .$arguments));..if.($this->inher
179240 69 74 45 6e 76 29 20 7b 0a 0a 20 24 65 6e 76 20 3d 20 61 72 72 61 79 5f 72 65 70 6c 61 63 65 28 itEnv).{...$env.=.array_replace(
179260 24 5f 45 4e 56 2c 20 24 5f 53 45 52 56 45 52 2c 20 24 74 68 69 73 2d 3e 65 6e 76 29 3b 0a 7d 20 $_ENV,.$_SERVER,.$this->env);.}.
179280 65 6c 73 65 20 7b 0a 24 65 6e 76 20 3d 20 24 74 68 69 73 2d 3e 65 6e 76 3b 0a 7d 0a 0a 24 70 72 else.{.$env.=.$this->env;.}..$pr
1792a0 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 72 6f 63 65 73 73 28 24 73 63 72 69 70 74 2c 20 24 74 68 ocess.=.new.Process($script,.$th
1792c0 69 73 2d 3e 63 77 64 2c 20 24 65 6e 76 2c 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 74 68 is->cwd,.$env,.$this->input,.$th
1792e0 69 73 2d 3e 74 69 6d 65 6f 75 74 2c 20 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 24 74 68 is->timeout,.$options);..if.($th
179300 69 73 2d 3e 6f 75 74 70 75 74 44 69 73 61 62 6c 65 64 29 20 7b 0a 24 70 72 6f 63 65 73 73 2d 3e is->outputDisabled).{.$process->
179320 64 69 73 61 62 6c 65 4f 75 74 70 75 74 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 72 6f 63 disableOutput();.}..return.$proc
179340 65 73 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 ess;.}.}.<?php...........namespa
179360 63 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 3b 0a 0a 75 ce.Symfony\Component\Process;..u
179380 73 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 45 78 63 se.Symfony\Component\Process\Exc
1793a0 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b eption\InvalidArgumentException;
1793c0 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 6f 63 65 73 73 55 74 69 6c 73 0a 7b 0a 0a 0a .........class.ProcessUtils.{...
1793e0 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a .private.function.__construct().
179400 7b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 {.}.........public.static.functi
179420 6f 6e 20 65 73 63 61 70 65 41 72 67 75 6d 65 6e 74 28 24 61 72 67 75 6d 65 6e 74 29 0a 7b 0a 0a on.escapeArgument($argument).{..
179440 20 0a 20 0a 20 0a 20 69 66 20 28 27 5c 5c 27 20 3d 3d 3d 20 5c 44 49 52 45 43 54 4f 52 59 5f 53 .......if.('\\'.===.\DIRECTORY_S
179460 45 50 41 52 41 54 4f 52 29 20 7b 0a 69 66 20 28 27 27 20 3d 3d 3d 20 24 61 72 67 75 6d 65 6e 74 EPARATOR).{.if.(''.===.$argument
179480 29 20 7b 0a 72 65 74 75 72 6e 20 65 73 63 61 70 65 73 68 65 6c 6c 61 72 67 28 24 61 72 67 75 6d ).{.return.escapeshellarg($argum
1794a0 65 6e 74 29 3b 0a 7d 0a 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 3d 20 27 27 3b 0a ent);.}..$escapedArgument.=.'';.
1794c0 24 71 75 6f 74 65 20 3d 20 66 61 6c 73 65 3b 0a 66 6f 72 65 61 63 68 20 28 70 72 65 67 5f 73 70 $quote.=.false;.foreach.(preg_sp
1794e0 6c 69 74 28 27 2f 28 22 29 2f 27 2c 20 24 61 72 67 75 6d 65 6e 74 2c 20 2d 31 2c 20 50 52 45 47 lit('/(")/',.$argument,.-1,.PREG
179500 5f 53 50 4c 49 54 5f 4e 4f 5f 45 4d 50 54 59 20 7c 20 50 52 45 47 5f 53 50 4c 49 54 5f 44 45 4c _SPLIT_NO_EMPTY.|.PREG_SPLIT_DEL
179520 49 4d 5f 43 41 50 54 55 52 45 29 20 61 73 20 24 70 61 72 74 29 20 7b 0a 69 66 20 28 27 22 27 20 IM_CAPTURE).as.$part).{.if.('"'.
179540 3d 3d 3d 20 24 70 61 72 74 29 20 7b 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 2e 3d ===.$part).{.$escapedArgument..=
179560 20 27 5c 5c 22 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 65 6c 66 3a 3a 69 73 53 75 72 72 6f 75 .'\\"';.}.elseif.(self::isSurrou
179580 6e 64 65 64 42 79 28 24 70 61 72 74 2c 20 27 25 27 29 29 20 7b 0a 0a 20 24 65 73 63 61 70 65 64 ndedBy($part,.'%')).{...$escaped
1795a0 41 72 67 75 6d 65 6e 74 20 2e 3d 20 27 5e 25 22 27 2e 73 75 62 73 74 72 28 24 70 61 72 74 2c 20 Argument..=.'^%"'.substr($part,.
1795c0 31 2c 20 2d 31 29 2e 27 22 5e 25 27 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 27 5c 5c 1,.-1).'"^%';.}.else.{...if.('\\
1795e0 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 70 61 72 74 2c 20 2d 31 29 29 20 7b 0a 24 70 61 72 74 '.===.substr($part,.-1)).{.$part
179600 20 2e 3d 20 27 5c 5c 27 3b 0a 7d 0a 24 71 75 6f 74 65 20 3d 20 74 72 75 65 3b 0a 24 65 73 63 61 ..=.'\\';.}.$quote.=.true;.$esca
179620 70 65 64 41 72 67 75 6d 65 6e 74 20 2e 3d 20 24 70 61 72 74 3b 0a 7d 0a 7d 0a 69 66 20 28 24 71 pedArgument..=.$part;.}.}.if.($q
179640 75 6f 74 65 29 20 7b 0a 24 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 20 3d 20 27 22 27 2e 24 uote).{.$escapedArgument.=.'"'.$
179660 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 2e 27 22 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 escapedArgument.'"';.}..return.$
179680 65 73 63 61 70 65 64 41 72 67 75 6d 65 6e 74 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 22 27 22 2e 73 escapedArgument;.}..return."'".s
1796a0 74 72 5f 72 65 70 6c 61 63 65 28 22 27 22 2c 20 22 27 5c 5c 27 27 22 2c 20 24 61 72 67 75 6d 65 tr_replace("'",."'\\''",.$argume
1796c0 6e 74 29 2e 22 27 22 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 nt)."'";.}..............public.s
1796e0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 49 6e 70 75 74 28 24 63 61 tatic.function.validateInput($ca
179700 6c 6c 65 72 2c 20 24 69 6e 70 75 74 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 69 6e ller,.$input).{.if.(null.!==.$in
179720 70 75 74 29 20 7b 0a 69 66 20 28 5c 69 73 5f 72 65 73 6f 75 72 63 65 28 24 69 6e 70 75 74 29 29 put).{.if.(\is_resource($input))
179740 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e 70 75 74 3b 0a 7d 0a 69 66 20 28 5c 69 73 5f 73 74 72 69 .{.return.$input;.}.if.(\is_stri
179760 6e 67 28 24 69 6e 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 69 6e 70 75 74 3b 0a 7d 0a 69 ng($input)).{.return.$input;.}.i
179780 66 20 28 69 73 5f 73 63 61 6c 61 72 28 24 69 6e 70 75 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 28 f.(is_scalar($input)).{.return.(
1797a0 73 74 72 69 6e 67 29 20 24 69 6e 70 75 74 3b 0a 7d 0a 0a 20 69 66 20 28 5c 69 73 5f 6f 62 6a 65 string).$input;.}...if.(\is_obje
1797c0 63 74 28 24 69 6e 70 75 74 29 20 26 26 20 6d 65 74 68 6f 64 5f 65 78 69 73 74 73 28 24 69 6e 70 ct($input).&&.method_exists($inp
1797e0 75 74 2c 20 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 20 7b 0a 40 74 72 69 67 67 65 72 5f 65 72 ut,.'__toString')).{.@trigger_er
179800 72 6f 72 28 27 50 61 73 73 69 6e 67 20 61 6e 20 6f 62 6a 65 63 74 20 61 73 20 61 6e 20 69 6e 70 ror('Passing.an.object.as.an.inp
179820 75 74 20 69 73 20 64 65 70 72 65 63 61 74 65 64 20 73 69 6e 63 65 20 53 79 6d 66 6f 6e 79 20 32 ut.is.deprecated.since.Symfony.2
179840 2e 35 20 61 6e 64 20 77 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 20 69 6e 20 33 2e 30 2e 27 2c .5.and.will.be.removed.in.3.0.',
179860 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 72 65 74 75 72 6e 20 28 73 74 .E_USER_DEPRECATED);..return.(st
179880 72 69 6e 67 29 20 24 69 6e 70 75 74 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c ring).$input;.}..throw.new.Inval
1798a0 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 25 73 20 idArgumentException(sprintf('%s.
1798c0 6f 6e 6c 79 20 61 63 63 65 70 74 73 20 73 74 72 69 6e 67 73 20 6f 72 20 73 74 72 65 61 6d 20 72 only.accepts.strings.or.stream.r
1798e0 65 73 6f 75 72 63 65 73 2e 27 2c 20 24 63 61 6c 6c 65 72 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e esources.',.$caller));.}..return
179900 20 24 69 6e 70 75 74 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 .$input;.}..private.static.funct
179920 69 6f 6e 20 69 73 53 75 72 72 6f 75 6e 64 65 64 42 79 28 24 61 72 67 2c 20 24 63 68 61 72 29 0a ion.isSurroundedBy($arg,.$char).
179940 7b 0a 72 65 74 75 72 6e 20 32 20 3c 20 5c 73 74 72 6c 65 6e 28 24 61 72 67 29 20 26 26 20 24 63 {.return.2.<.\strlen($arg).&&.$c
179960 68 61 72 20 3d 3d 3d 20 24 61 72 67 5b 30 5d 20 26 26 20 24 63 68 61 72 20 3d 3d 3d 20 24 61 72 har.===.$arg[0].&&.$char.===.$ar
179980 67 5b 5c 73 74 72 6c 65 6e 28 24 61 72 67 29 20 2d 20 31 5d 3b 0a 7d 0a 7d 0a 43 6f 70 79 72 69 g[\strlen($arg).-.1];.}.}.Copyri
1799a0 67 68 74 20 28 63 29 20 32 30 31 31 20 4a 6f 72 64 69 20 42 6f 67 67 69 61 6e 6f 0a 0a 50 65 72 ght.(c).2011.Jordi.Boggiano..Per
1799c0 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 mission.is.hereby.granted,.free.
1799e0 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 of.charge,.to.any.person.obtaini
179a00 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 ng.a.copy.of.this.software.and.a
179a20 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 ssociated.documentation.files.(t
179a40 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 he."Software"),.to.deal.in.the.S
179a60 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 oftware.without.restriction,.inc
179a80 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 luding.without.limitation.the.ri
179aa0 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 ghts.to.use,.copy,.modify,.merge
179ac0 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 ,.publish,.distribute,.sublicens
179ae0 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 e,.and/or.sell.copies.of.the.Sof
179b00 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 tware,.and.to.permit.persons.to.
179b20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 whom.the.Software.is.furnished.t
179b40 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e o.do.so,.subject.to.the.followin
179b60 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 g.conditions:..The.above.copyrig
179b80 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f ht.notice.and.this.permission.no
179ba0 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f tice.shall.be.included.in.all.co
179bc0 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 pies.or.substantial.portions.of.
179be0 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 the.Software...THE.SOFTWARE.IS.P
179c00 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 ROVIDED."AS.IS",.WITHOUT.WARRANT
179c20 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 Y.OF.ANY.KIND,.EXPRESS.OR.IMPLIE
179c40 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 D,.INCLUDING.BUT.NOT.LIMITED.TO.
179c60 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 THE.WARRANTIES.OF.MERCHANTABILIT
179c80 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 Y,.FITNESS.FOR.A.PARTICULAR.PURP
179ca0 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 OSE.AND.NONINFRINGEMENT..IN.NO.E
179cc0 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 VENT.SHALL.THE.AUTHORS.OR.COPYRI
179ce0 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c GHT.HOLDERS.BE.LIABLE.FOR.ANY.CL
179d00 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c AIM,.DAMAGES.OR.OTHER.LIABILITY,
179d20 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 .WHETHER.IN.AN.ACTION.OF.CONTRAC
179d40 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 T,.TORT.OR.OTHERWISE,.ARISING.FR
179d60 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 OM,.OUT.OF.OR.IN.CONNECTION.WITH
179d80 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 .THE.SOFTWARE.OR.THE.USE.OR.OTHE
179da0 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 R.DEALINGS.IN.THE.SOFTWARE..<?ph
179dc0 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 65 6c 64 5c 4a 73 6f 6e 4c p...........namespace.Seld\JsonL
179de0 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 44 75 70 6c 69 63 61 74 65 4b 65 79 45 78 63 65 70 74 69 6f int;..class.DuplicateKeyExceptio
179e00 6e 20 65 78 74 65 6e 64 73 20 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 n.extends.ParsingException.{.pub
179e20 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 lic.function.__construct($messag
179e40 65 2c 20 24 6b 65 79 2c 20 61 72 72 61 79 20 24 64 65 74 61 69 6c 73 20 3d 20 61 72 72 61 79 28 e,.$key,.array.$details.=.array(
179e60 29 29 0a 7b 0a 24 64 65 74 61 69 6c 73 5b 27 6b 65 79 27 5d 20 3d 20 24 6b 65 79 3b 0a 70 61 72 )).{.$details['key'].=.$key;.par
179e80 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 64 65 74 61 ent::__construct($message,.$deta
179ea0 69 6c 73 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4b 65 79 28 ils);.}..public.function.getKey(
179ec0 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 74 61 69 6c 73 5b 27 6b 65 79 27 5d ).{.return.$this->details['key']
179ee0 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ;.}.}.<?php...........namespace.
179f00 53 65 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 3b 0a 75 73 65 20 73 74 64 43 6c 61 73 73 3b 0a 0a 0a 0a Seld\JsonLint;.use.stdClass;....
179f20 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 50 61 72 73 65 72 0a 7b 0a 63 6f ...........class.JsonParser.{.co
179f40 6e 73 74 20 44 45 54 45 43 54 5f 4b 45 59 5f 43 4f 4e 46 4c 49 43 54 53 20 3d 20 31 3b 0a 63 6f nst.DETECT_KEY_CONFLICTS.=.1;.co
179f60 6e 73 74 20 41 4c 4c 4f 57 5f 44 55 50 4c 49 43 41 54 45 5f 4b 45 59 53 20 3d 20 32 3b 0a 63 6f nst.ALLOW_DUPLICATE_KEYS.=.2;.co
179f80 6e 73 74 20 50 41 52 53 45 5f 54 4f 5f 41 53 53 4f 43 20 3d 20 34 3b 0a 0a 70 72 69 76 61 74 65 nst.PARSE_TO_ASSOC.=.4;..private
179fa0 20 24 6c 65 78 65 72 3b 0a 0a 70 72 69 76 61 74 65 20 24 66 6c 61 67 73 3b 0a 70 72 69 76 61 74 .$lexer;..private.$flags;.privat
179fc0 65 20 24 73 74 61 63 6b 3b 0a 70 72 69 76 61 74 65 20 24 76 73 74 61 63 6b 3b 20 0a 20 70 72 69 e.$stack;.private.$vstack;...pri
179fe0 76 61 74 65 20 24 6c 73 74 61 63 6b 3b 20 0a 0a 70 72 69 76 61 74 65 20 24 73 79 6d 62 6f 6c 73 vate.$lstack;...private.$symbols
17a000 20 3d 20 61 72 72 61 79 28 0a 27 65 72 72 6f 72 27 20 3d 3e 20 32 2c 0a 27 4a 53 4f 4e 53 74 72 .=.array(.'error'.=>.2,.'JSONStr
17a020 69 6e 67 27 20 3d 3e 20 33 2c 0a 27 53 54 52 49 4e 47 27 20 3d 3e 20 34 2c 0a 27 4a 53 4f 4e 4e ing'.=>.3,.'STRING'.=>.4,.'JSONN
17a040 75 6d 62 65 72 27 20 3d 3e 20 35 2c 0a 27 4e 55 4d 42 45 52 27 20 3d 3e 20 36 2c 0a 27 4a 53 4f umber'.=>.5,.'NUMBER'.=>.6,.'JSO
17a060 4e 4e 75 6c 6c 4c 69 74 65 72 61 6c 27 20 3d 3e 20 37 2c 0a 27 4e 55 4c 4c 27 20 3d 3e 20 38 2c NNullLiteral'.=>.7,.'NULL'.=>.8,
17a080 0a 27 4a 53 4f 4e 42 6f 6f 6c 65 61 6e 4c 69 74 65 72 61 6c 27 20 3d 3e 20 39 2c 0a 27 54 52 55 .'JSONBooleanLiteral'.=>.9,.'TRU
17a0a0 45 27 20 3d 3e 20 31 30 2c 0a 27 46 41 4c 53 45 27 20 3d 3e 20 31 31 2c 0a 27 4a 53 4f 4e 54 65 E'.=>.10,.'FALSE'.=>.11,.'JSONTe
17a0c0 78 74 27 20 3d 3e 20 31 32 2c 0a 27 4a 53 4f 4e 56 61 6c 75 65 27 20 3d 3e 20 31 33 2c 0a 27 45 xt'.=>.12,.'JSONValue'.=>.13,.'E
17a0e0 4f 46 27 20 3d 3e 20 31 34 2c 0a 27 4a 53 4f 4e 4f 62 6a 65 63 74 27 20 3d 3e 20 31 35 2c 0a 27 OF'.=>.14,.'JSONObject'.=>.15,.'
17a100 4a 53 4f 4e 41 72 72 61 79 27 20 3d 3e 20 31 36 2c 0a 27 7b 27 20 3d 3e 20 31 37 2c 0a 27 7d 27 JSONArray'.=>.16,.'{'.=>.17,.'}'
17a120 20 3d 3e 20 31 38 2c 0a 27 4a 53 4f 4e 4d 65 6d 62 65 72 4c 69 73 74 27 20 3d 3e 20 31 39 2c 0a .=>.18,.'JSONMemberList'.=>.19,.
17a140 27 4a 53 4f 4e 4d 65 6d 62 65 72 27 20 3d 3e 20 32 30 2c 0a 27 3a 27 20 3d 3e 20 32 31 2c 0a 27 'JSONMember'.=>.20,.':'.=>.21,.'
17a160 2c 27 20 3d 3e 20 32 32 2c 0a 27 5b 27 20 3d 3e 20 32 33 2c 0a 27 5d 27 20 3d 3e 20 32 34 2c 0a ,'.=>.22,.'['.=>.23,.']'.=>.24,.
17a180 27 4a 53 4f 4e 45 6c 65 6d 65 6e 74 4c 69 73 74 27 20 3d 3e 20 32 35 2c 0a 27 24 61 63 63 65 70 'JSONElementList'.=>.25,.'$accep
17a1a0 74 27 20 3d 3e 20 30 2c 0a 27 24 65 6e 64 27 20 3d 3e 20 31 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 t'.=>.0,.'$end'.=>.1,.);..privat
17a1c0 65 20 24 74 65 72 6d 69 6e 61 6c 73 5f 20 3d 20 61 72 72 61 79 28 0a 32 20 3d 3e 20 22 65 72 72 e.$terminals_.=.array(.2.=>."err
17a1e0 6f 72 22 2c 0a 34 20 3d 3e 20 22 53 54 52 49 4e 47 22 2c 0a 36 20 3d 3e 20 22 4e 55 4d 42 45 52 or",.4.=>."STRING",.6.=>."NUMBER
17a200 22 2c 0a 38 20 3d 3e 20 22 4e 55 4c 4c 22 2c 0a 31 30 20 3d 3e 20 22 54 52 55 45 22 2c 0a 31 31 ",.8.=>."NULL",.10.=>."TRUE",.11
17a220 20 3d 3e 20 22 46 41 4c 53 45 22 2c 0a 31 34 20 3d 3e 20 22 45 4f 46 22 2c 0a 31 37 20 3d 3e 20 .=>."FALSE",.14.=>."EOF",.17.=>.
17a240 22 7b 22 2c 0a 31 38 20 3d 3e 20 22 7d 22 2c 0a 32 31 20 3d 3e 20 22 3a 22 2c 0a 32 32 20 3d 3e "{",.18.=>."}",.21.=>.":",.22.=>
17a260 20 22 2c 22 2c 0a 32 33 20 3d 3e 20 22 5b 22 2c 0a 32 34 20 3d 3e 20 22 5d 22 2c 0a 29 3b 0a 0a .",",.23.=>."[",.24.=>."]",.);..
17a280 70 72 69 76 61 74 65 20 24 70 72 6f 64 75 63 74 69 6f 6e 73 5f 20 3d 20 61 72 72 61 79 28 0a 30 private.$productions_.=.array(.0
17a2a0 2c 0a 61 72 72 61 79 28 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 35 2c 20 31 29 2c 0a 61 72 72 61 ,.array(3,.1),.array(5,.1),.arra
17a2c0 79 28 37 2c 20 31 29 2c 0a 61 72 72 61 79 28 39 2c 20 31 29 2c 0a 61 72 72 61 79 28 39 2c 20 31 y(7,.1),.array(9,.1),.array(9,.1
17a2e0 29 2c 0a 61 72 72 61 79 28 31 32 2c 20 32 29 2c 0a 61 72 72 61 79 28 31 33 2c 20 31 29 2c 0a 61 ),.array(12,.2),.array(13,.1),.a
17a300 72 72 61 79 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 79 rray(13,.1),.array(13,.1),.array
17a320 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 33 2c 20 31 29 2c 0a 61 72 72 61 79 28 31 33 2c (13,.1),.array(13,.1),.array(13,
17a340 20 31 29 2c 0a 61 72 72 61 79 28 31 35 2c 20 32 29 2c 0a 61 72 72 61 79 28 31 35 2c 20 33 29 2c .1),.array(15,.2),.array(15,.3),
17a360 0a 61 72 72 61 79 28 32 30 2c 20 33 29 2c 0a 61 72 72 61 79 28 31 39 2c 20 31 29 2c 0a 61 72 72 .array(20,.3),.array(19,.1),.arr
17a380 61 79 28 31 39 2c 20 33 29 2c 0a 61 72 72 61 79 28 31 36 2c 20 32 29 2c 0a 61 72 72 61 79 28 31 ay(19,.3),.array(16,.2),.array(1
17a3a0 36 2c 20 33 29 2c 0a 61 72 72 61 79 28 32 35 2c 20 31 29 2c 0a 61 72 72 61 79 28 32 35 2c 20 33 6,.3),.array(25,.1),.array(25,.3
17a3c0 29 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 74 61 62 6c 65 20 3d 20 61 72 72 61 79 28 61 72 72 ).);..private.$table.=.array(arr
17a3e0 61 79 28 33 20 3d 3e 20 35 2c 20 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 32 29 2c 20 35 20 3d ay(3.=>.5,.4.=>.array(1,12),.5.=
17a400 3e 20 36 2c 20 36 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 33 29 2c 20 37 20 3d 3e 20 33 2c 20 38 >.6,.6.=>.array(1,13),.7.=>.3,.8
17a420 20 3d 3e 20 61 72 72 61 79 28 31 2c 39 29 2c 20 39 20 3d 3e 20 34 2c 20 31 30 20 3d 3e 20 61 72 .=>.array(1,9),.9.=>.4,.10.=>.ar
17a440 72 61 79 28 31 2c 31 30 29 2c 20 31 31 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 31 29 2c 20 31 32 ray(1,10),.11.=>.array(1,11),.12
17a460 20 3d 3e 20 31 2c 20 31 33 20 3d 3e 20 32 2c 20 31 35 20 3d 3e 20 37 2c 20 31 36 20 3d 3e 20 38 .=>.1,.13.=>.2,.15.=>.7,.16.=>.8
17a480 2c 20 31 37 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 34 29 2c 20 32 33 20 3d 3e 20 61 72 72 61 79 ,.17.=>.array(1,14),.23.=>.array
17a4a0 28 31 2c 31 35 29 29 2c 20 61 72 72 61 79 28 20 31 20 3d 3e 20 61 72 72 61 79 28 33 29 29 2c 20 (1,15)),.array(.1.=>.array(3)),.
17a4c0 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 36 29 29 2c 20 61 72 72 61 79 array(.14.=>.array(1,16)),.array
17a4e0 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 37 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 (.14.=>.array(2,7),.18.=>.array(
17a500 32 2c 37 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 37 29 2c 20 32 34 20 3d 3e 20 61 72 2,7),.22.=>.array(2,7),.24.=>.ar
17a520 72 61 79 28 32 2c 37 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c ray(2,7)),.array(.14.=>.array(2,
17a540 38 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 38 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 8),.18.=>.array(2,8),.22.=>.arra
17a560 79 28 32 2c 38 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 38 29 29 2c 20 61 72 72 61 79 y(2,8),.24.=>.array(2,8)),.array
17a580 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 39 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 (.14.=>.array(2,9),.18.=>.array(
17a5a0 32 2c 39 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 39 29 2c 20 32 34 20 3d 3e 20 61 72 2,9),.22.=>.array(2,9),.24.=>.ar
17a5c0 72 61 79 28 32 2c 39 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c ray(2,9)),.array(.14.=>.array(2,
17a5e0 31 30 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 30 29 2c 20 32 32 20 3d 3e 20 61 72 10),.18.=>.array(2,10),.22.=>.ar
17a600 72 61 79 28 32 2c 31 30 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 30 29 29 2c 20 61 ray(2,10),.24.=>.array(2,10)),.a
17a620 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 31 29 2c 20 31 38 20 3d 3e 20 61 rray(.14.=>.array(2,11),.18.=>.a
17a640 72 72 61 79 28 32 2c 31 31 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 31 29 2c 20 32 rray(2,11),.22.=>.array(2,11),.2
17a660 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 31 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 4.=>.array(2,11)),.array(.14.=>.
17a680 61 72 72 61 79 28 32 2c 31 32 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 32 29 2c 20 array(2,12),.18.=>.array(2,12),.
17a6a0 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 32 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 22.=>.array(2,12),.24.=>.array(2
17a6c0 2c 31 32 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 33 29 2c 20 ,12)),.array(.14.=>.array(2,3),.
17a6e0 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 33 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 18.=>.array(2,3),.22.=>.array(2,
17a700 33 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 33 29 29 2c 20 61 72 72 61 79 28 20 31 34 3),.24.=>.array(2,3)),.array(.14
17a720 20 3d 3e 20 61 72 72 61 79 28 32 2c 34 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 34 29 .=>.array(2,4),.18.=>.array(2,4)
17a740 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 34 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 ,.22.=>.array(2,4),.24.=>.array(
17a760 32 2c 34 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 35 29 2c 20 2,4)),.array(.14.=>.array(2,5),.
17a780 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 35 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 18.=>.array(2,5),.22.=>.array(2,
17a7a0 35 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 35 29 29 2c 20 61 72 72 61 79 28 20 31 34 5),.24.=>.array(2,5)),.array(.14
17a7c0 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 .=>.array(2,1),.18.=>.array(2,1)
17a7e0 2c 20 32 31 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 ,.21.=>.array(2,1),.22.=>.array(
17a800 32 2c 31 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 29 29 2c 20 61 72 72 61 79 28 20 2,1),.24.=>.array(2,1)),.array(.
17a820 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 14.=>.array(2,2),.18.=>.array(2,
17a840 32 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 2),.22.=>.array(2,2),.24.=>.arra
17a860 79 28 32 2c 32 29 29 2c 20 61 72 72 61 79 28 20 33 20 3d 3e 20 32 30 2c 20 34 20 3d 3e 20 61 72 y(2,2)),.array(.3.=>.20,.4.=>.ar
17a880 72 61 79 28 31 2c 31 32 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 37 29 2c 20 31 39 ray(1,12),.18.=>.array(1,17),.19
17a8a0 20 3d 3e 20 31 38 2c 20 32 30 20 3d 3e 20 31 39 20 29 2c 20 61 72 72 61 79 28 20 33 20 3d 3e 20 .=>.18,.20.=>.19.),.array(.3.=>.
17a8c0 35 2c 20 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 32 29 2c 20 35 20 3d 3e 20 36 2c 20 36 20 3d 5,.4.=>.array(1,12),.5.=>.6,.6.=
17a8e0 3e 20 61 72 72 61 79 28 31 2c 31 33 29 2c 20 37 20 3d 3e 20 33 2c 20 38 20 3d 3e 20 61 72 72 61 >.array(1,13),.7.=>.3,.8.=>.arra
17a900 79 28 31 2c 39 29 2c 20 39 20 3d 3e 20 34 2c 20 31 30 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 30 y(1,9),.9.=>.4,.10.=>.array(1,10
17a920 29 2c 20 31 31 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 31 29 2c 20 31 33 20 3d 3e 20 32 33 2c 20 ),.11.=>.array(1,11),.13.=>.23,.
17a940 31 35 20 3d 3e 20 37 2c 20 31 36 20 3d 3e 20 38 2c 20 31 37 20 3d 3e 20 61 72 72 61 79 28 31 2c 15.=>.7,.16.=>.8,.17.=>.array(1,
17a960 31 34 29 2c 20 32 33 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 35 29 2c 20 32 34 20 3d 3e 20 61 72 14),.23.=>.array(1,15),.24.=>.ar
17a980 72 61 79 28 31 2c 32 31 29 2c 20 32 35 20 3d 3e 20 32 32 20 29 2c 20 61 72 72 61 79 28 20 31 20 ray(1,21),.25.=>.22.),.array(.1.
17a9a0 3d 3e 20 61 72 72 61 79 28 32 2c 36 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 =>.array(2,6)),.array(.14.=>.arr
17a9c0 61 79 28 32 2c 31 33 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 33 29 2c 20 32 32 20 ay(2,13),.18.=>.array(2,13),.22.
17a9e0 3d 3e 20 61 72 72 61 79 28 32 2c 31 33 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 33 =>.array(2,13),.24.=>.array(2,13
17aa00 29 29 2c 20 61 72 72 61 79 28 20 31 38 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 34 29 2c 20 32 32 )),.array(.18.=>.array(1,24),.22
17aa20 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 35 29 29 2c 20 61 72 72 61 79 28 20 31 38 20 3d 3e 20 61 .=>.array(1,25)),.array(.18.=>.a
17aa40 72 72 61 79 28 32 2c 31 36 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 36 29 29 2c 20 rray(2,16),.22.=>.array(2,16)),.
17aa60 61 72 72 61 79 28 20 32 31 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 36 29 29 2c 20 61 72 72 61 79 array(.21.=>.array(1,26)),.array
17aa80 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 38 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 (.14.=>.array(2,18),.18.=>.array
17aaa0 28 32 2c 31 38 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 38 29 2c 20 32 34 20 3d 3e (2,18),.22.=>.array(2,18),.24.=>
17aac0 20 61 72 72 61 79 28 32 2c 31 38 29 29 2c 20 61 72 72 61 79 28 20 32 32 20 3d 3e 20 61 72 72 61 .array(2,18)),.array(.22.=>.arra
17aae0 79 28 31 2c 32 38 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 32 37 29 29 2c 20 61 72 72 y(1,28),.24.=>.array(1,27)),.arr
17ab00 61 79 28 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 30 29 2c 20 32 34 20 3d 3e 20 61 72 72 ay(.22.=>.array(2,20),.24.=>.arr
17ab20 61 79 28 32 2c 32 30 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 72 72 61 79 28 32 2c ay(2,20)),.array(.14.=>.array(2,
17ab40 31 34 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 34 29 2c 20 32 32 20 3d 3e 20 61 72 14),.18.=>.array(2,14),.22.=>.ar
17ab60 72 61 79 28 32 2c 31 34 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 34 29 29 2c 20 61 ray(2,14),.24.=>.array(2,14)),.a
17ab80 72 72 61 79 28 20 33 20 3d 3e 20 32 30 2c 20 34 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 32 29 2c rray(.3.=>.20,.4.=>.array(1,12),
17aba0 20 32 30 20 3d 3e 20 32 39 20 29 2c 20 61 72 72 61 79 28 20 33 20 3d 3e 20 35 2c 20 34 20 3d 3e .20.=>.29.),.array(.3.=>.5,.4.=>
17abc0 20 61 72 72 61 79 28 31 2c 31 32 29 2c 20 35 20 3d 3e 20 36 2c 20 36 20 3d 3e 20 61 72 72 61 79 .array(1,12),.5.=>.6,.6.=>.array
17abe0 28 31 2c 31 33 29 2c 20 37 20 3d 3e 20 33 2c 20 38 20 3d 3e 20 61 72 72 61 79 28 31 2c 39 29 2c (1,13),.7.=>.3,.8.=>.array(1,9),
17ac00 20 39 20 3d 3e 20 34 2c 20 31 30 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 30 29 2c 20 31 31 20 3d .9.=>.4,.10.=>.array(1,10),.11.=
17ac20 3e 20 61 72 72 61 79 28 31 2c 31 31 29 2c 20 31 33 20 3d 3e 20 33 30 2c 20 31 35 20 3d 3e 20 37 >.array(1,11),.13.=>.30,.15.=>.7
17ac40 2c 20 31 36 20 3d 3e 20 38 2c 20 31 37 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 34 29 2c 20 32 33 ,.16.=>.8,.17.=>.array(1,14),.23
17ac60 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 35 29 29 2c 20 61 72 72 61 79 28 20 31 34 20 3d 3e 20 61 .=>.array(1,15)),.array(.14.=>.a
17ac80 72 72 61 79 28 32 2c 31 39 29 2c 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 39 29 2c 20 32 rray(2,19),.18.=>.array(2,19),.2
17aca0 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 39 29 2c 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 2.=>.array(2,19),.24.=>.array(2,
17acc0 31 39 29 29 2c 20 61 72 72 61 79 28 20 33 20 3d 3e 20 35 2c 20 34 20 3d 3e 20 61 72 72 61 79 28 19)),.array(.3.=>.5,.4.=>.array(
17ace0 31 2c 31 32 29 2c 20 35 20 3d 3e 20 36 2c 20 36 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 33 29 2c 1,12),.5.=>.6,.6.=>.array(1,13),
17ad00 20 37 20 3d 3e 20 33 2c 20 38 20 3d 3e 20 61 72 72 61 79 28 31 2c 39 29 2c 20 39 20 3d 3e 20 34 .7.=>.3,.8.=>.array(1,9),.9.=>.4
17ad20 2c 20 31 30 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 30 29 2c 20 31 31 20 3d 3e 20 61 72 72 61 79 ,.10.=>.array(1,10),.11.=>.array
17ad40 28 31 2c 31 31 29 2c 20 31 33 20 3d 3e 20 33 31 2c 20 31 35 20 3d 3e 20 37 2c 20 31 36 20 3d 3e (1,11),.13.=>.31,.15.=>.7,.16.=>
17ad60 20 38 2c 20 31 37 20 3d 3e 20 61 72 72 61 79 28 31 2c 31 34 29 2c 20 32 33 20 3d 3e 20 61 72 72 .8,.17.=>.array(1,14),.23.=>.arr
17ad80 61 79 28 31 2c 31 35 29 29 2c 20 61 72 72 61 79 28 20 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c ay(1,15)),.array(.18.=>.array(2,
17ada0 31 37 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 37 29 29 2c 20 61 72 72 61 79 28 20 17),.22.=>.array(2,17)),.array(.
17adc0 31 38 20 3d 3e 20 61 72 72 61 79 28 32 2c 31 35 29 2c 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 18.=>.array(2,15),.22.=>.array(2
17ade0 2c 31 35 29 29 2c 20 61 72 72 61 79 28 20 32 32 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 31 29 2c ,15)),.array(.22.=>.array(2,21),
17ae00 20 32 34 20 3d 3e 20 61 72 72 61 79 28 32 2c 32 31 29 29 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 .24.=>.array(2,21)),.);..private
17ae20 20 24 64 65 66 61 75 6c 74 41 63 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 0a 31 36 20 3d 3e 20 .$defaultActions.=.array(.16.=>.
17ae40 61 72 72 61 79 28 32 2c 20 36 29 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 array(2,.6).);.......public.func
17ae60 74 69 6f 6e 20 6c 69 6e 74 28 24 69 6e 70 75 74 2c 20 24 66 6c 61 67 73 20 3d 20 30 29 0a 7b 0a tion.lint($input,.$flags.=.0).{.
17ae80 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 69 6e 70 75 74 2c 20 24 66 6c 61 67 try.{.$this->parse($input,.$flag
17aea0 73 29 3b 0a 7d 20 63 61 74 63 68 20 28 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 20 24 65 s);.}.catch.(ParsingException.$e
17aec0 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ).{.return.$e;.}.}........public
17aee0 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 28 24 69 6e 70 75 74 2c 20 24 66 6c 61 67 73 20 3d .function.parse($input,.$flags.=
17af00 20 30 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 61 69 6c 4f 6e 42 4f 4d 28 24 69 6e 70 75 74 29 3b 0a .0).{.$this->failOnBOM($input);.
17af20 0a 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 3d 20 24 66 6c 61 67 73 3b 0a 0a 24 74 68 69 73 2d 3e .$this->flags.=.$flags;..$this->
17af40 73 74 61 63 6b 20 3d 20 61 72 72 61 79 28 30 29 3b 0a 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 20 stack.=.array(0);.$this->vstack.
17af60 3d 20 61 72 72 61 79 28 6e 75 6c 6c 29 3b 0a 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 20 3d 20 61 =.array(null);.$this->lstack.=.a
17af80 72 72 61 79 28 29 3b 0a 0a 24 79 79 74 65 78 74 20 3d 20 27 27 3b 0a 24 79 79 6c 69 6e 65 6e 6f rray();..$yytext.=.'';.$yylineno
17afa0 20 3d 20 30 3b 0a 24 79 79 6c 65 6e 67 20 3d 20 30 3b 0a 24 72 65 63 6f 76 65 72 69 6e 67 20 3d .=.0;.$yyleng.=.0;.$recovering.=
17afc0 20 30 3b 0a 24 54 45 52 52 4f 52 20 3d 20 32 3b 0a 24 45 4f 46 20 3d 20 31 3b 0a 0a 24 74 68 69 .0;.$TERROR.=.2;.$EOF.=.1;..$thi
17afe0 73 2d 3e 6c 65 78 65 72 20 3d 20 6e 65 77 20 4c 65 78 65 72 28 29 3b 0a 24 74 68 69 73 2d 3e 6c s->lexer.=.new.Lexer();.$this->l
17b000 65 78 65 72 2d 3e 73 65 74 49 6e 70 75 74 28 24 69 6e 70 75 74 29 3b 0a 0a 24 79 79 6c 6f 63 20 exer->setInput($input);..$yyloc.
17b020 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 6c 6f 63 3b 0a 24 74 68 69 73 2d 3e 6c =.$this->lexer->yylloc;.$this->l
17b040 73 74 61 63 6b 5b 5d 20 3d 20 24 79 79 6c 6f 63 3b 0a 0a 24 73 79 6d 62 6f 6c 20 3d 20 6e 75 6c stack[].=.$yyloc;..$symbol.=.nul
17b060 6c 3b 0a 24 70 72 65 45 72 72 6f 72 53 79 6d 62 6f 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 73 74 61 74 l;.$preErrorSymbol.=.null;.$stat
17b080 65 20 3d 20 6e 75 6c 6c 3b 0a 24 61 63 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 61 20 3d 20 6e e.=.null;.$action.=.null;.$a.=.n
17b0a0 75 6c 6c 3b 0a 24 72 20 3d 20 6e 75 6c 6c 3b 0a 24 79 79 76 61 6c 20 3d 20 6e 65 77 20 73 74 64 ull;.$r.=.null;.$yyval.=.new.std
17b0c0 43 6c 61 73 73 3b 0a 24 70 20 3d 20 6e 75 6c 6c 3b 0a 24 6c 65 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 Class;.$p.=.null;.$len.=.null;.$
17b0e0 6e 65 77 53 74 61 74 65 20 3d 20 6e 75 6c 6c 3b 0a 24 65 78 70 65 63 74 65 64 20 3d 20 6e 75 6c newState.=.null;.$expected.=.nul
17b100 6c 3b 0a 24 65 72 72 53 74 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 77 68 69 6c 65 20 28 74 72 75 65 29 l;.$errStr.=.null;..while.(true)
17b120 20 7b 0a 0a 20 24 73 74 61 74 65 20 3d 20 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 63 6f 75 6e 74 .{...$state.=.$this->stack[count
17b140 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 29 2d 31 5d 3b 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 ($this->stack)-1];....if.(isset(
17b160 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 41 63 74 69 6f 6e 73 5b 24 73 74 61 74 65 5d 29 29 20 $this->defaultActions[$state])).
17b180 7b 0a 24 61 63 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 64 65 66 61 75 6c 74 41 63 74 69 6f 6e {.$action.=.$this->defaultAction
17b1a0 73 5b 24 73 74 61 74 65 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 69 66 20 28 24 73 79 6d 62 6f 6c 20 s[$state];.}.else.{.if.($symbol.
17b1c0 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 73 79 6d 62 6f 6c 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 28 ==.null).{.$symbol.=.$this->lex(
17b1e0 29 3b 0a 7d 0a 0a 20 24 61 63 74 69 6f 6e 20 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 61 );.}...$action.=.isset($this->ta
17b200 62 6c 65 5b 24 73 74 61 74 65 5d 5b 24 73 79 6d 62 6f 6c 5d 29 20 3f 20 24 74 68 69 73 2d 3e 74 ble[$state][$symbol]).?.$this->t
17b220 61 62 6c 65 5b 24 73 74 61 74 65 5d 5b 24 73 79 6d 62 6f 6c 5d 20 3a 20 66 61 6c 73 65 3b 0a 7d able[$state][$symbol].:.false;.}
17b240 0a 0a 0a 20 69 66 20 28 21 24 61 63 74 69 6f 6e 20 7c 7c 20 21 24 61 63 74 69 6f 6e 5b 30 5d 29 ....if.(!$action.||.!$action[0])
17b260 20 7b 0a 69 66 20 28 21 24 72 65 63 6f 76 65 72 69 6e 67 29 20 7b 0a 0a 20 24 65 78 70 65 63 74 .{.if.(!$recovering).{...$expect
17b280 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 61 ed.=.array();.foreach.($this->ta
17b2a0 62 6c 65 5b 24 73 74 61 74 65 5d 20 61 73 20 24 70 20 3d 3e 20 24 69 67 6e 6f 72 65 29 20 7b 0a ble[$state].as.$p.=>.$ignore).{.
17b2c0 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 73 5f 5b 24 70 5d 29 if.(isset($this->terminals_[$p])
17b2e0 20 26 26 20 24 70 20 3e 20 32 29 20 7b 0a 24 65 78 70 65 63 74 65 64 5b 5d 20 3d 20 22 27 22 20 .&&.$p.>.2).{.$expected[].=."'".
17b300 2e 20 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 73 5f 5b 24 70 5d 20 2e 20 22 27 22 3b 0a 7d ..$this->terminals_[$p]..."'";.}
17b320 0a 7d 0a 0a 24 6d 65 73 73 61 67 65 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 69 6e 5f 61 72 72 61 .}..$message.=.null;.if.(in_arra
17b340 79 28 22 27 53 54 52 49 4e 47 27 22 2c 20 24 65 78 70 65 63 74 65 64 29 20 26 26 20 69 6e 5f 61 y("'STRING'",.$expected).&&.in_a
17b360 72 72 61 79 28 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 6d 61 74 63 68 2c rray(substr($this->lexer->match,
17b380 20 30 2c 20 31 29 2c 20 61 72 72 61 79 28 27 22 27 2c 20 22 27 22 29 29 29 20 7b 0a 24 6d 65 73 .0,.1),.array('"',."'"))).{.$mes
17b3a0 73 61 67 65 20 3d 20 22 49 6e 76 61 6c 69 64 20 73 74 72 69 6e 67 22 3b 0a 69 66 20 28 22 27 22 sage.=."Invalid.string";.if.("'"
17b3c0 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 6d 61 74 63 68 2c .===.substr($this->lexer->match,
17b3e0 20 30 2c 20 31 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 22 2c 20 69 74 20 61 70 70 65 .0,.1)).{.$message..=.",.it.appe
17b400 61 72 73 20 79 6f 75 20 75 73 65 64 20 73 69 6e 67 6c 65 20 71 75 6f 74 65 73 20 69 6e 73 74 65 ars.you.used.single.quotes.inste
17b420 61 64 20 6f 66 20 64 6f 75 62 6c 65 20 71 75 6f 74 65 73 22 3b 0a 7d 20 65 6c 73 65 69 66 20 28 ad.of.double.quotes";.}.elseif.(
17b440 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 22 2e 2b 3f 28 5c 5c 5c 5c 5b 5e 22 62 66 6e 72 74 2f 5c preg_match('{".+?(\\\\[^"bfnrt/\
17b460 5c 5c 5c 75 5d 29 7d 27 2c 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 67 65 74 55 70 63 6f 6d \\\u])}',.$this->lexer->getUpcom
17b480 69 6e 67 49 6e 70 75 74 28 29 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 ingInput(),.$match)).{.$message.
17b4a0 2e 3d 20 22 2c 20 69 74 20 61 70 70 65 61 72 73 20 79 6f 75 20 68 61 76 65 20 61 6e 20 75 6e 65 .=.",.it.appears.you.have.an.une
17b4c0 73 63 61 70 65 64 20 62 61 63 6b 73 6c 61 73 68 20 61 74 3a 20 22 2e 24 6d 61 74 63 68 5b 31 5d scaped.backslash.at:.".$match[1]
17b4e0 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 22 28 3f 3a 5b 5e 22 ;.}.elseif.(preg_match('{"(?:[^"
17b500 5d 2b 7c 5c 5c 5c 5c 22 29 2a 24 7d 6d 27 2c 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 67 65 ]+|\\\\")*$}m',.$this->lexer->ge
17b520 74 55 70 63 6f 6d 69 6e 67 49 6e 70 75 74 28 29 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d tUpcomingInput())).{.$message..=
17b540 20 22 2c 20 69 74 20 61 70 70 65 61 72 73 20 79 6f 75 20 66 6f 72 67 6f 74 20 74 6f 20 74 65 72 .",.it.appears.you.forgot.to.ter
17b560 6d 69 6e 61 74 65 20 61 20 73 74 72 69 6e 67 2c 20 6f 72 20 61 74 74 65 6d 70 74 65 64 20 74 6f minate.a.string,.or.attempted.to
17b580 20 77 72 69 74 65 20 61 20 6d 75 6c 74 69 6c 69 6e 65 20 73 74 72 69 6e 67 20 77 68 69 63 68 20 .write.a.multiline.string.which.
17b5a0 69 73 20 69 6e 76 61 6c 69 64 22 3b 0a 7d 0a 7d 0a 0a 24 65 72 72 53 74 72 20 3d 20 27 50 61 72 is.invalid";.}.}..$errStr.=.'Par
17b5c0 73 65 20 65 72 72 6f 72 20 6f 6e 20 6c 69 6e 65 20 27 20 2e 20 28 24 79 79 6c 69 6e 65 6e 6f 2b se.error.on.line.'...($yylineno+
17b5e0 31 29 20 2e 20 22 3a 5c 6e 22 3b 0a 24 65 72 72 53 74 72 20 2e 3d 20 24 74 68 69 73 2d 3e 6c 65 1)...":\n";.$errStr..=.$this->le
17b600 78 65 72 2d 3e 73 68 6f 77 50 6f 73 69 74 69 6f 6e 28 29 20 2e 20 22 5c 6e 22 3b 0a 69 66 20 28 xer->showPosition()..."\n";.if.(
17b620 24 6d 65 73 73 61 67 65 29 20 7b 0a 24 65 72 72 53 74 72 20 2e 3d 20 24 6d 65 73 73 61 67 65 3b $message).{.$errStr..=.$message;
17b640 0a 7d 20 65 6c 73 65 20 7b 0a 24 65 72 72 53 74 72 20 2e 3d 20 28 63 6f 75 6e 74 28 24 65 78 70 .}.else.{.$errStr..=.(count($exp
17b660 65 63 74 65 64 29 20 3e 20 31 29 20 3f 20 22 45 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 3a 20 ected).>.1).?."Expected.one.of:.
17b680 22 20 3a 20 22 45 78 70 65 63 74 65 64 3a 20 22 3b 0a 24 65 72 72 53 74 72 20 2e 3d 20 69 6d 70 ".:."Expected:.";.$errStr..=.imp
17b6a0 6c 6f 64 65 28 27 2c 20 27 2c 20 24 65 78 70 65 63 74 65 64 29 3b 0a 7d 0a 0a 69 66 20 28 27 2c lode(',.',.$expected);.}..if.(',
17b6c0 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 74 72 69 6d 28 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e '.===.substr(trim($this->lexer->
17b6e0 67 65 74 50 61 73 74 49 6e 70 75 74 28 29 29 2c 20 2d 31 29 29 20 7b 0a 24 65 72 72 53 74 72 20 getPastInput()),.-1)).{.$errStr.
17b700 2e 3d 20 22 20 2d 20 49 74 20 61 70 70 65 61 72 73 20 79 6f 75 20 68 61 76 65 20 61 6e 20 65 78 .=.".-.It.appears.you.have.an.ex
17b720 74 72 61 20 74 72 61 69 6c 69 6e 67 20 63 6f 6d 6d 61 22 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 70 tra.trailing.comma";.}..$this->p
17b740 61 72 73 65 45 72 72 6f 72 28 24 65 72 72 53 74 72 2c 20 61 72 72 61 79 28 0a 27 74 65 78 74 27 arseError($errStr,.array(.'text'
17b760 20 3d 3e 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 6d 61 74 63 68 2c 0a 27 74 6f 6b 65 6e 27 .=>.$this->lexer->match,.'token'
17b780 20 3d 3e 20 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 73 5f 5b 24 73 79 .=>.!empty($this->terminals_[$sy
17b7a0 6d 62 6f 6c 5d 29 20 3f 20 24 74 68 69 73 2d 3e 74 65 72 6d 69 6e 61 6c 73 5f 5b 24 73 79 6d 62 mbol]).?.$this->terminals_[$symb
17b7c0 6f 6c 5d 20 3a 20 24 73 79 6d 62 6f 6c 2c 0a 27 6c 69 6e 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e ol].:.$symbol,.'line'.=>.$this->
17b7e0 6c 65 78 65 72 2d 3e 79 79 6c 69 6e 65 6e 6f 2c 0a 27 6c 6f 63 27 20 3d 3e 20 24 79 79 6c 6f 63 lexer->yylineno,.'loc'.=>.$yyloc
17b800 2c 0a 27 65 78 70 65 63 74 65 64 27 20 3d 3e 20 24 65 78 70 65 63 74 65 64 2c 0a 29 29 3b 0a 7d ,.'expected'.=>.$expected,.));.}
17b820 0a 0a 0a 20 69 66 20 28 24 72 65 63 6f 76 65 72 69 6e 67 20 3d 3d 20 33 29 20 7b 0a 69 66 20 28 ....if.($recovering.==.3).{.if.(
17b840 24 73 79 6d 62 6f 6c 20 3d 3d 20 24 45 4f 46 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 61 72 $symbol.==.$EOF).{.throw.new.Par
17b860 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 53 74 72 20 3f 3a 20 27 50 61 72 73 69 6e singException($errStr.?:.'Parsin
17b880 67 20 68 61 6c 74 65 64 2e 27 29 3b 0a 7d 0a 0a 0a 20 24 79 79 6c 65 6e 67 20 3d 20 24 74 68 69 g.halted.');.}....$yyleng.=.$thi
17b8a0 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 65 6e 67 3b 0a 24 79 79 74 65 78 74 20 3d 20 24 74 68 69 s->lexer->yyleng;.$yytext.=.$thi
17b8c0 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 74 65 78 74 3b 0a 24 79 79 6c 69 6e 65 6e 6f 20 3d 20 24 74 s->lexer->yytext;.$yylineno.=.$t
17b8e0 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 69 6e 65 6e 6f 3b 0a 24 79 79 6c 6f 63 20 3d 20 24 his->lexer->yylineno;.$yyloc.=.$
17b900 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 6c 6f 63 3b 0a 24 73 79 6d 62 6f 6c 20 3d 20 24 this->lexer->yylloc;.$symbol.=.$
17b920 74 68 69 73 2d 3e 6c 65 78 28 29 3b 0a 7d 0a 0a 0a 20 77 68 69 6c 65 20 28 74 72 75 65 29 20 7b this->lex();.}....while.(true).{
17b940 0a 0a 20 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 54 45 52 52 4f 52 2c ...if.(array_key_exists($TERROR,
17b960 20 24 74 68 69 73 2d 3e 74 61 62 6c 65 5b 24 73 74 61 74 65 5d 29 29 20 7b 0a 62 72 65 61 6b 3b .$this->table[$state])).{.break;
17b980 0a 7d 0a 69 66 20 28 24 73 74 61 74 65 20 3d 3d 20 30 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 .}.if.($state.==.0).{.throw.new.
17b9a0 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 53 74 72 20 3f 3a 20 27 50 61 72 ParsingException($errStr.?:.'Par
17b9c0 73 69 6e 67 20 68 61 6c 74 65 64 2e 27 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 6f 70 53 74 61 63 sing.halted.');.}.$this->popStac
17b9e0 6b 28 31 29 3b 0a 24 73 74 61 74 65 20 3d 20 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 63 6f 75 6e k(1);.$state.=.$this->stack[coun
17ba00 74 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 29 2d 31 5d 3b 0a 7d 0a 0a 24 70 72 65 45 72 72 6f 72 t($this->stack)-1];.}..$preError
17ba20 53 79 6d 62 6f 6c 20 3d 20 24 73 79 6d 62 6f 6c 3b 20 0a 20 24 73 79 6d 62 6f 6c 20 3d 20 24 54 Symbol.=.$symbol;...$symbol.=.$T
17ba40 45 52 52 4f 52 3b 20 0a 20 24 73 74 61 74 65 20 3d 20 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 63 ERROR;...$state.=.$this->stack[c
17ba60 6f 75 6e 74 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 29 2d 31 5d 3b 0a 24 61 63 74 69 6f 6e 20 3d ount($this->stack)-1];.$action.=
17ba80 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 61 62 6c 65 5b 24 73 74 61 74 65 5d 5b 24 54 45 52 .isset($this->table[$state][$TER
17baa0 52 4f 52 5d 29 20 3f 20 24 74 68 69 73 2d 3e 74 61 62 6c 65 5b 24 73 74 61 74 65 5d 5b 24 54 45 ROR]).?.$this->table[$state][$TE
17bac0 52 52 4f 52 5d 20 3a 20 66 61 6c 73 65 3b 0a 24 72 65 63 6f 76 65 72 69 6e 67 20 3d 20 33 3b 20 RROR].:.false;.$recovering.=.3;.
17bae0 0a 20 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 61 63 74 69 6f 6e 5b 30 5d 29 20 ..}....if.(is_array($action[0]).
17bb00 26 26 20 63 6f 75 6e 74 28 24 61 63 74 69 6f 6e 29 20 3e 20 31 29 20 7b 0a 74 68 72 6f 77 20 6e &&.count($action).>.1).{.throw.n
17bb20 65 77 20 50 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 27 50 61 72 73 65 20 45 72 72 6f 72 ew.ParsingException('Parse.Error
17bb40 3a 20 6d 75 6c 74 69 70 6c 65 20 61 63 74 69 6f 6e 73 20 70 6f 73 73 69 62 6c 65 20 61 74 20 73 :.multiple.actions.possible.at.s
17bb60 74 61 74 65 3a 20 27 20 2e 20 24 73 74 61 74 65 20 2e 20 27 2c 20 74 6f 6b 65 6e 3a 20 27 20 2e tate:.'...$state...',.token:.'..
17bb80 20 24 73 79 6d 62 6f 6c 29 3b 0a 7d 0a 0a 73 77 69 74 63 68 20 28 24 61 63 74 69 6f 6e 5b 30 5d .$symbol);.}..switch.($action[0]
17bba0 29 20 7b 0a 63 61 73 65 20 31 3a 20 0a 20 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 5d 20 3d 20 24 ).{.case.1:...$this->stack[].=.$
17bbc0 73 79 6d 62 6f 6c 3b 0a 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 5b 5d 20 3d 20 24 74 68 69 73 2d symbol;.$this->vstack[].=.$this-
17bbe0 3e 6c 65 78 65 72 2d 3e 79 79 74 65 78 74 3b 0a 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 5b 5d 20 >lexer->yytext;.$this->lstack[].
17bc00 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 6c 6f 63 3b 0a 24 74 68 69 73 2d 3e 73 =.$this->lexer->yylloc;.$this->s
17bc20 74 61 63 6b 5b 5d 20 3d 20 24 61 63 74 69 6f 6e 5b 31 5d 3b 20 0a 20 24 73 79 6d 62 6f 6c 20 3d tack[].=.$action[1];...$symbol.=
17bc40 20 6e 75 6c 6c 3b 0a 69 66 20 28 21 24 70 72 65 45 72 72 6f 72 53 79 6d 62 6f 6c 29 20 7b 20 0a .null;.if.(!$preErrorSymbol).{..
17bc60 20 24 79 79 6c 65 6e 67 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 65 6e 67 3b .$yyleng.=.$this->lexer->yyleng;
17bc80 0a 24 79 79 74 65 78 74 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 74 65 78 74 3b .$yytext.=.$this->lexer->yytext;
17bca0 0a 24 79 79 6c 69 6e 65 6e 6f 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 69 6e .$yylineno.=.$this->lexer->yylin
17bcc0 65 6e 6f 3b 0a 24 79 79 6c 6f 63 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 79 79 6c 6c eno;.$yyloc.=.$this->lexer->yyll
17bce0 6f 63 3b 0a 69 66 20 28 24 72 65 63 6f 76 65 72 69 6e 67 20 3e 20 30 29 20 7b 0a 24 72 65 63 6f oc;.if.($recovering.>.0).{.$reco
17bd00 76 65 72 69 6e 67 2d 2d 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 20 0a 20 24 73 79 6d 62 6f 6c 20 3d vering--;.}.}.else.{...$symbol.=
17bd20 20 24 70 72 65 45 72 72 6f 72 53 79 6d 62 6f 6c 3b 0a 24 70 72 65 45 72 72 6f 72 53 79 6d 62 6f .$preErrorSymbol;.$preErrorSymbo
17bd40 6c 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 32 3a 20 0a 20 24 6c l.=.null;.}.break;..case.2:...$l
17bd60 65 6e 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 64 75 63 74 69 6f 6e 73 5f 5b 24 61 63 74 69 6f 6e en.=.$this->productions_[$action
17bd80 5b 31 5d 5d 5b 31 5d 3b 0a 0a 0a 20 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 68 69 [1]][1];....$yyval->token.=.$thi
17bda0 73 2d 3e 76 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 29 20 2d s->vstack[count($this->vstack).-
17bdc0 20 24 6c 65 6e 5d 3b 20 0a 20 0a 20 24 79 79 76 61 6c 2d 3e 73 74 6f 72 65 20 3d 20 61 72 72 61 .$len];.....$yyval->store.=.arra
17bde0 79 28 20 0a 20 27 66 69 72 73 74 5f 6c 69 6e 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 6c 73 74 61 y(...'first_line'.=>.$this->lsta
17be00 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 29 20 2d 20 28 24 6c 65 6e 20 ck[count($this->lstack).-.($len.
17be20 3f 3a 20 31 29 5d 5b 27 66 69 72 73 74 5f 6c 69 6e 65 27 5d 2c 0a 27 6c 61 73 74 5f 6c 69 6e 65 ?:.1)]['first_line'],.'last_line
17be40 27 20 3d 3e 20 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e '.=>.$this->lstack[count($this->
17be60 6c 73 74 61 63 6b 29 20 2d 20 31 5d 5b 27 6c 61 73 74 5f 6c 69 6e 65 27 5d 2c 0a 27 66 69 72 73 lstack).-.1]['last_line'],.'firs
17be80 74 5f 63 6f 6c 75 6d 6e 27 20 3d 3e 20 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 5b 63 6f 75 6e 74 t_column'.=>.$this->lstack[count
17bea0 28 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 29 20 2d 20 28 24 6c 65 6e 20 3f 3a 20 31 29 5d 5b 27 ($this->lstack).-.($len.?:.1)]['
17bec0 66 69 72 73 74 5f 63 6f 6c 75 6d 6e 27 5d 2c 0a 27 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d 3e first_column'],.'last_column'.=>
17bee0 20 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 6c 73 74 61 .$this->lstack[count($this->lsta
17bf00 63 6b 29 20 2d 20 31 5d 5b 27 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 5d 2c 0a 29 3b 0a 24 72 20 3d ck).-.1]['last_column'],.);.$r.=
17bf20 20 24 74 68 69 73 2d 3e 70 65 72 66 6f 72 6d 41 63 74 69 6f 6e 28 24 79 79 76 61 6c 2c 20 24 79 .$this->performAction($yyval,.$y
17bf40 79 74 65 78 74 2c 20 24 79 79 6c 65 6e 67 2c 20 24 79 79 6c 69 6e 65 6e 6f 2c 20 24 61 63 74 69 ytext,.$yyleng,.$yylineno,.$acti
17bf60 6f 6e 5b 31 5d 2c 20 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 2c 20 24 74 68 69 73 2d 3e 6c 73 74 on[1],.$this->vstack,.$this->lst
17bf80 61 63 6b 29 3b 0a 0a 69 66 20 28 21 24 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 64 65 66 69 ack);..if.(!$r.instanceof.Undefi
17bfa0 6e 65 64 29 20 7b 0a 72 65 74 75 72 6e 20 24 72 3b 0a 7d 0a 0a 69 66 20 28 24 6c 65 6e 29 20 7b ned).{.return.$r;.}..if.($len).{
17bfc0 0a 24 74 68 69 73 2d 3e 70 6f 70 53 74 61 63 6b 28 24 6c 65 6e 29 3b 0a 7d 0a 0a 24 74 68 69 73 .$this->popStack($len);.}..$this
17bfe0 2d 3e 73 74 61 63 6b 5b 5d 20 3d 20 24 74 68 69 73 2d 3e 70 72 6f 64 75 63 74 69 6f 6e 73 5f 5b ->stack[].=.$this->productions_[
17c000 24 61 63 74 69 6f 6e 5b 31 5d 5d 5b 30 5d 3b 20 0a 20 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 5b $action[1]][0];...$this->vstack[
17c020 5d 20 3d 20 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 3b 0a 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b ].=.$yyval->token;.$this->lstack
17c040 5b 5d 20 3d 20 24 79 79 76 61 6c 2d 3e 73 74 6f 72 65 3b 0a 24 6e 65 77 53 74 61 74 65 20 3d 20 [].=.$yyval->store;.$newState.=.
17c060 24 74 68 69 73 2d 3e 74 61 62 6c 65 5b 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 63 6f 75 6e 74 28 $this->table[$this->stack[count(
17c080 24 74 68 69 73 2d 3e 73 74 61 63 6b 29 2d 32 5d 5d 5b 24 74 68 69 73 2d 3e 73 74 61 63 6b 5b 63 $this->stack)-2]][$this->stack[c
17c0a0 6f 75 6e 74 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 29 2d 31 5d 5d 3b 0a 24 74 68 69 73 2d 3e 73 ount($this->stack)-1]];.$this->s
17c0c0 74 61 63 6b 5b 5d 20 3d 20 24 6e 65 77 53 74 61 74 65 3b 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 tack[].=.$newState;.break;..case
17c0e0 20 33 3a 20 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 .3:...return.true;.}.}..return.t
17c100 72 75 65 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 rue;.}..protected.function.parse
17c120 45 72 72 6f 72 28 24 73 74 72 2c 20 24 68 61 73 68 29 0a 7b 0a 74 68 72 6f 77 20 6e 65 77 20 50 Error($str,.$hash).{.throw.new.P
17c140 61 72 73 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 24 73 74 72 2c 20 24 68 61 73 68 29 3b 0a 7d 0a arsingException($str,.$hash);.}.
17c160 0a 0a 20 0a 20 0a 20 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 41 .......private.function.performA
17c180 63 74 69 6f 6e 28 73 74 64 43 6c 61 73 73 20 24 79 79 76 61 6c 2c 20 24 79 79 74 65 78 74 2c 20 ction(stdClass.$yyval,.$yytext,.
17c1a0 24 79 79 6c 65 6e 67 2c 20 24 79 79 6c 69 6e 65 6e 6f 2c 20 24 79 79 73 74 61 74 65 2c 20 26 24 $yyleng,.$yylineno,.$yystate,.&$
17c1c0 74 6f 6b 65 6e 73 29 0a 7b 0a 0a 20 24 6c 65 6e 20 3d 20 63 6f 75 6e 74 28 24 74 6f 6b 65 6e 73 tokens).{...$len.=.count($tokens
17c1e0 29 20 2d 20 31 3b 0a 73 77 69 74 63 68 20 28 24 79 79 73 74 61 74 65 29 20 7b 0a 63 61 73 65 20 ).-.1;.switch.($yystate).{.case.
17c200 31 3a 0a 24 79 79 74 65 78 74 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 5f 63 61 6c 6c 62 61 1:.$yytext.=.preg_replace_callba
17c220 63 6b 28 27 7b 28 3f 3a 5c 5c 5c 5c 5b 22 62 66 6e 72 74 2f 5c 5c 5c 5c 5d 7c 5c 5c 5c 5c 75 5b ck('{(?:\\\\["bfnrt/\\\\]|\\\\u[
17c240 61 2d 66 41 2d 46 30 2d 39 5d 7b 34 7d 29 7d 27 2c 20 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 a-fA-F0-9]{4})}',.array($this,.'
17c260 73 74 72 69 6e 67 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 27 29 2c 20 24 79 79 74 65 78 74 29 3b stringInterpolation'),.$yytext);
17c280 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 79 79 74 65 78 74 3b 0a 62 72 65 61 6b 3b .$yyval->token.=.$yytext;.break;
17c2a0 0a 63 61 73 65 20 32 3a 0a 69 66 20 28 73 74 72 70 6f 73 28 24 79 79 74 65 78 74 2c 20 27 65 27 .case.2:.if.(strpos($yytext,.'e'
17c2c0 29 20 21 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 73 74 72 70 6f 73 28 24 79 79 74 65 78 74 2c 20 27 ).!==.false.||.strpos($yytext,.'
17c2e0 45 27 29 20 21 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d E').!==.false).{.$yyval->token.=
17c300 20 66 6c 6f 61 74 76 61 6c 28 24 79 79 74 65 78 74 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 79 79 .floatval($yytext);.}.else.{.$yy
17c320 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 73 74 72 70 6f 73 28 24 79 79 74 65 78 74 2c 20 27 2e 27 val->token.=.strpos($yytext,.'.'
17c340 29 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 69 6e 74 76 61 6c 28 24 79 79 74 65 78 74 29 20 3a 20 ).===.false.?.intval($yytext).:.
17c360 66 6c 6f 61 74 76 61 6c 28 24 79 79 74 65 78 74 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 floatval($yytext);.}.break;.case
17c380 20 33 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 6e 75 6c 6c 3b 0a 62 72 65 61 6b 3b .3:.$yyval->token.=.null;.break;
17c3a0 0a 63 61 73 65 20 34 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 74 72 75 65 3b 0a 62 .case.4:.$yyval->token.=.true;.b
17c3c0 72 65 61 6b 3b 0a 63 61 73 65 20 35 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 66 61 reak;.case.5:.$yyval->token.=.fa
17c3e0 6c 73 65 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 36 3a 0a 72 65 74 75 72 6e 20 24 79 79 76 61 lse;.break;.case.6:.return.$yyva
17c400 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 31 5d 3b 0a 63 61 73 65 l->token.=.$tokens[$len-1];.case
17c420 20 31 33 3a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 50 41 .13:.if.($this->flags.&.self::PA
17c440 52 53 45 5f 54 4f 5f 41 53 53 4f 43 29 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 RSE_TO_ASSOC).{.$yyval->token.=.
17c460 61 72 72 61 79 28 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 array();.}.else.{.$yyval->token.
17c480 3d 20 6e 65 77 20 73 74 64 43 6c 61 73 73 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 34 =.new.stdClass;.}.break;.case.14
17c4a0 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 31 :.$yyval->token.=.$tokens[$len-1
17c4c0 5d 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 35 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e ];.break;.case.15:.$yyval->token
17c4e0 20 3d 20 61 72 72 61 79 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 2c 20 24 74 6f 6b 65 6e .=.array($tokens[$len-2],.$token
17c500 73 5b 24 6c 65 6e 5d 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 36 3a 0a 69 66 20 28 50 48 s[$len]);.break;.case.16:.if.(PH
17c520 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 37 30 31 30 30 29 20 7b 0a 24 70 72 6f 70 65 72 74 P_VERSION_ID.<.70100).{.$propert
17c540 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 20 3d 3d 3d 20 27 27 20 3f 20 27 5f y.=.$tokens[$len][0].===.''.?.'_
17c560 65 6d 70 74 79 5f 27 20 3a 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 3b 0a 7d 20 65 6c empty_'.:.$tokens[$len][0];.}.el
17c580 73 65 20 7b 0a 24 70 72 6f 70 65 72 74 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 se.{.$property.=.$tokens[$len][0
17c5a0 5d 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 50 41 ];.}.if.($this->flags.&.self::PA
17c5c0 52 53 45 5f 54 4f 5f 41 53 53 4f 43 29 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 RSE_TO_ASSOC).{.$yyval->token.=.
17c5e0 61 72 72 61 79 28 29 3b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 5b 24 70 72 6f 70 65 72 74 79 array();.$yyval->token[$property
17c600 5d 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 31 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 ].=.$tokens[$len][1];.}.else.{.$
17c620 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 6e 65 77 20 73 74 64 43 6c 61 73 73 3b 0a 24 79 79 yyval->token.=.new.stdClass;.$yy
17c640 76 61 6c 2d 3e 74 6f 6b 65 6e 2d 3e 24 70 72 6f 70 65 72 74 79 20 3d 20 24 74 6f 6b 65 6e 73 5b val->token->$property.=.$tokens[
17c660 24 6c 65 6e 5d 5b 31 5d 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 37 3a 0a 69 66 20 28 $len][1];.}.break;.case.17:.if.(
17c680 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 50 41 52 53 45 5f 54 4f 5f 41 53 $this->flags.&.self::PARSE_TO_AS
17c6a0 53 4f 43 29 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 26 20 24 74 6f 6b 65 6e 73 5b SOC).{.$yyval->token.=&.$tokens[
17c6c0 24 6c 65 6e 2d 32 5d 3b 0a 24 6b 65 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d $len-2];.$key.=.$tokens[$len][0]
17c6e0 3b 0a 69 66 20 28 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 44 45 54 45 ;.if.(($this->flags.&.self::DETE
17c700 43 54 5f 4b 45 59 5f 43 4f 4e 46 4c 49 43 54 53 29 20 26 26 20 69 73 73 65 74 28 24 74 6f 6b 65 CT_KEY_CONFLICTS).&&.isset($toke
17c720 6e 73 5b 24 6c 65 6e 2d 32 5d 5b 24 6b 65 79 5d 29 29 20 7b 0a 24 65 72 72 53 74 72 20 3d 20 27 ns[$len-2][$key])).{.$errStr.=.'
17c740 50 61 72 73 65 20 65 72 72 6f 72 20 6f 6e 20 6c 69 6e 65 20 27 20 2e 20 28 24 79 79 6c 69 6e 65 Parse.error.on.line.'...($yyline
17c760 6e 6f 2b 31 29 20 2e 20 22 3a 5c 6e 22 3b 0a 24 65 72 72 53 74 72 20 2e 3d 20 24 74 68 69 73 2d no+1)...":\n";.$errStr..=.$this-
17c780 3e 6c 65 78 65 72 2d 3e 73 68 6f 77 50 6f 73 69 74 69 6f 6e 28 29 20 2e 20 22 5c 6e 22 3b 0a 24 >lexer->showPosition()..."\n";.$
17c7a0 65 72 72 53 74 72 20 2e 3d 20 22 44 75 70 6c 69 63 61 74 65 20 6b 65 79 3a 20 22 2e 24 74 6f 6b errStr..=."Duplicate.key:.".$tok
17c7c0 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 3b 0a 74 68 72 6f 77 20 6e 65 77 20 44 75 70 6c 69 63 61 74 ens[$len][0];.throw.new.Duplicat
17c7e0 65 4b 65 79 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 53 74 72 2c 20 24 74 6f 6b 65 6e 73 5b 24 eKeyException($errStr,.$tokens[$
17c800 6c 65 6e 5d 5b 30 5d 2c 20 61 72 72 61 79 28 27 6c 69 6e 65 27 20 3d 3e 20 24 79 79 6c 69 6e 65 len][0],.array('line'.=>.$yyline
17c820 6e 6f 2b 31 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 no+1));.}.elseif.(($this->flags.
17c840 26 20 73 65 6c 66 3a 3a 41 4c 4c 4f 57 5f 44 55 50 4c 49 43 41 54 45 5f 4b 45 59 53 29 20 26 26 &.self::ALLOW_DUPLICATE_KEYS).&&
17c860 20 69 73 73 65 74 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 5b 24 6b 65 79 5d 29 29 20 7b .isset($tokens[$len-2][$key])).{
17c880 0a 24 64 75 70 6c 69 63 61 74 65 43 6f 75 6e 74 20 3d 20 31 3b 0a 64 6f 20 7b 0a 24 64 75 70 6c .$duplicateCount.=.1;.do.{.$dupl
17c8a0 69 63 61 74 65 4b 65 79 20 3d 20 24 6b 65 79 20 2e 20 27 2e 27 20 2e 20 24 64 75 70 6c 69 63 61 icateKey.=.$key...'.'...$duplica
17c8c0 74 65 43 6f 75 6e 74 2b 2b 3b 0a 7d 20 77 68 69 6c 65 20 28 69 73 73 65 74 28 24 74 6f 6b 65 6e teCount++;.}.while.(isset($token
17c8e0 73 5b 24 6c 65 6e 2d 32 5d 5b 24 64 75 70 6c 69 63 61 74 65 4b 65 79 5d 29 29 3b 0a 24 6b 65 79 s[$len-2][$duplicateKey]));.$key
17c900 20 3d 20 24 64 75 70 6c 69 63 61 74 65 4b 65 79 3b 0a 7d 0a 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e .=.$duplicateKey;.}.$tokens[$len
17c920 2d 32 5d 5b 24 6b 65 79 5d 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 31 5d 3b 0a 7d 20 -2][$key].=.$tokens[$len][1];.}.
17c940 65 6c 73 65 20 7b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 else.{.$yyval->token.=.$tokens[$
17c960 6c 65 6e 2d 32 5d 3b 0a 69 66 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 37 30 31 len-2];.if.(PHP_VERSION_ID.<.701
17c980 30 30 29 20 7b 0a 24 6b 65 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 20 3d 3d 00).{.$key.=.$tokens[$len][0].==
17c9a0 3d 20 27 27 20 3f 20 27 5f 65 6d 70 74 79 5f 27 20 3a 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d =.''.?.'_empty_'.:.$tokens[$len]
17c9c0 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6b 65 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 [0];.}.else.{.$key.=.$tokens[$le
17c9e0 6e 5d 5b 30 5d 3b 0a 7d 0a 69 66 20 28 28 24 74 68 69 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c n][0];.}.if.(($this->flags.&.sel
17ca00 66 3a 3a 44 45 54 45 43 54 5f 4b 45 59 5f 43 4f 4e 46 4c 49 43 54 53 29 20 26 26 20 69 73 73 65 f::DETECT_KEY_CONFLICTS).&&.isse
17ca20 74 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 2d 3e 7b 24 6b 65 79 7d 29 29 20 7b 0a 24 65 t($tokens[$len-2]->{$key})).{.$e
17ca40 72 72 53 74 72 20 3d 20 27 50 61 72 73 65 20 65 72 72 6f 72 20 6f 6e 20 6c 69 6e 65 20 27 20 2e rrStr.=.'Parse.error.on.line.'..
17ca60 20 28 24 79 79 6c 69 6e 65 6e 6f 2b 31 29 20 2e 20 22 3a 5c 6e 22 3b 0a 24 65 72 72 53 74 72 20 .($yylineno+1)...":\n";.$errStr.
17ca80 2e 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 73 68 6f 77 50 6f 73 69 74 69 6f 6e 28 29 20 .=.$this->lexer->showPosition().
17caa0 2e 20 22 5c 6e 22 3b 0a 24 65 72 72 53 74 72 20 2e 3d 20 22 44 75 70 6c 69 63 61 74 65 20 6b 65 .."\n";.$errStr..=."Duplicate.ke
17cac0 79 3a 20 22 2e 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 3b 0a 74 68 72 6f 77 20 6e 65 77 y:.".$tokens[$len][0];.throw.new
17cae0 20 44 75 70 6c 69 63 61 74 65 4b 65 79 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 53 74 72 2c 20 .DuplicateKeyException($errStr,.
17cb00 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 5b 30 5d 2c 20 61 72 72 61 79 28 27 6c 69 6e 65 27 20 3d $tokens[$len][0],.array('line'.=
17cb20 3e 20 24 79 79 6c 69 6e 65 6e 6f 2b 31 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 28 24 74 68 69 >.$yylineno+1));.}.elseif.(($thi
17cb40 73 2d 3e 66 6c 61 67 73 20 26 20 73 65 6c 66 3a 3a 41 4c 4c 4f 57 5f 44 55 50 4c 49 43 41 54 45 s->flags.&.self::ALLOW_DUPLICATE
17cb60 5f 4b 45 59 53 29 20 26 26 20 69 73 73 65 74 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 2d _KEYS).&&.isset($tokens[$len-2]-
17cb80 3e 7b 24 6b 65 79 7d 29 29 20 7b 0a 24 64 75 70 6c 69 63 61 74 65 43 6f 75 6e 74 20 3d 20 31 3b >{$key})).{.$duplicateCount.=.1;
17cba0 0a 64 6f 20 7b 0a 24 64 75 70 6c 69 63 61 74 65 4b 65 79 20 3d 20 24 6b 65 79 20 2e 20 27 2e 27 .do.{.$duplicateKey.=.$key...'.'
17cbc0 20 2e 20 24 64 75 70 6c 69 63 61 74 65 43 6f 75 6e 74 2b 2b 3b 0a 7d 20 77 68 69 6c 65 20 28 69 ...$duplicateCount++;.}.while.(i
17cbe0 73 73 65 74 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 2d 3e 24 64 75 70 6c 69 63 61 74 65 sset($tokens[$len-2]->$duplicate
17cc00 4b 65 79 29 29 3b 0a 24 6b 65 79 20 3d 20 24 64 75 70 6c 69 63 61 74 65 4b 65 79 3b 0a 7d 0a 24 Key));.$key.=.$duplicateKey;.}.$
17cc20 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 2d 3e 24 6b 65 79 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 tokens[$len-2]->$key.=.$tokens[$
17cc40 6c 65 6e 5d 5b 31 5d 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 31 38 3a 0a 24 79 79 76 61 len][1];.}.break;.case.18:.$yyva
17cc60 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 61 72 72 61 79 28 29 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 l->token.=.array();.break;.case.
17cc80 31 39 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 19:.$yyval->token.=.$tokens[$len
17cca0 2d 31 5d 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 32 30 3a 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b -1];.break;.case.20:.$yyval->tok
17ccc0 65 6e 20 3d 20 61 72 72 61 79 28 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 29 3b 0a 62 72 65 61 6b en.=.array($tokens[$len]);.break
17cce0 3b 0a 63 61 73 65 20 32 31 3a 0a 24 74 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 5b 5d 20 3d 20 24 ;.case.21:.$tokens[$len-2][].=.$
17cd00 74 6f 6b 65 6e 73 5b 24 6c 65 6e 5d 3b 0a 24 79 79 76 61 6c 2d 3e 74 6f 6b 65 6e 20 3d 20 24 74 tokens[$len];.$yyval->token.=.$t
17cd20 6f 6b 65 6e 73 5b 24 6c 65 6e 2d 32 5d 3b 0a 62 72 65 61 6b 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 okens[$len-2];.break;.}..return.
17cd40 6e 65 77 20 55 6e 64 65 66 69 6e 65 64 28 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 new.Undefined();.}..private.func
17cd60 74 69 6f 6e 20 73 74 72 69 6e 67 49 6e 74 65 72 70 6f 6c 61 74 69 6f 6e 28 24 6d 61 74 63 68 29 tion.stringInterpolation($match)
17cd80 0a 7b 0a 73 77 69 74 63 68 20 28 24 6d 61 74 63 68 5b 30 5d 29 20 7b 0a 63 61 73 65 20 27 5c 5c .{.switch.($match[0]).{.case.'\\
17cda0 5c 5c 27 3a 0a 72 65 74 75 72 6e 20 27 5c 5c 27 3b 0a 63 61 73 65 20 27 5c 22 27 3a 0a 72 65 74 \\':.return.'\\';.case.'\"':.ret
17cdc0 75 72 6e 20 27 22 27 3b 0a 63 61 73 65 20 27 5c 62 27 3a 0a 72 65 74 75 72 6e 20 63 68 72 28 38 urn.'"';.case.'\b':.return.chr(8
17cde0 29 3b 0a 63 61 73 65 20 27 5c 66 27 3a 0a 72 65 74 75 72 6e 20 63 68 72 28 31 32 29 3b 0a 63 61 );.case.'\f':.return.chr(12);.ca
17ce00 73 65 20 27 5c 6e 27 3a 0a 72 65 74 75 72 6e 20 22 5c 6e 22 3b 0a 63 61 73 65 20 27 5c 72 27 3a se.'\n':.return."\n";.case.'\r':
17ce20 0a 72 65 74 75 72 6e 20 22 5c 72 22 3b 0a 63 61 73 65 20 27 5c 74 27 3a 0a 72 65 74 75 72 6e 20 .return."\r";.case.'\t':.return.
17ce40 22 5c 74 22 3b 0a 63 61 73 65 20 27 5c 2f 27 3a 0a 72 65 74 75 72 6e 20 22 2f 22 3b 0a 64 65 66 "\t";.case.'\/':.return."/";.def
17ce60 61 75 6c 74 3a 0a 72 65 74 75 72 6e 20 68 74 6d 6c 5f 65 6e 74 69 74 79 5f 64 65 63 6f 64 65 28 ault:.return.html_entity_decode(
17ce80 27 26 23 78 27 2e 6c 74 72 69 6d 28 73 75 62 73 74 72 28 24 6d 61 74 63 68 5b 30 5d 2c 20 32 29 '&#x'.ltrim(substr($match[0],.2)
17cea0 2c 20 27 30 27 29 2e 27 3b 27 2c 20 45 4e 54 5f 51 55 4f 54 45 53 2c 20 27 55 54 46 2d 38 27 29 ,.'0').';',.ENT_QUOTES,.'UTF-8')
17cec0 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 6f 70 53 74 61 63 6b ;.}.}..private.function.popStack
17cee0 28 24 6e 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 63 6b 20 3d 20 61 72 72 61 79 5f 73 6c 69 63 ($n).{.$this->stack.=.array_slic
17cf00 65 28 24 74 68 69 73 2d 3e 73 74 61 63 6b 2c 20 30 2c 20 2d 20 28 32 20 2a 20 24 6e 29 29 3b 0a e($this->stack,.0,.-.(2.*.$n));.
17cf20 24 74 68 69 73 2d 3e 76 73 74 61 63 6b 20 3d 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 74 68 69 $this->vstack.=.array_slice($thi
17cf40 73 2d 3e 76 73 74 61 63 6b 2c 20 30 2c 20 2d 20 24 6e 29 3b 0a 24 74 68 69 73 2d 3e 6c 73 74 61 s->vstack,.0,.-.$n);.$this->lsta
17cf60 63 6b 20 3d 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 74 68 69 73 2d 3e 6c 73 74 61 63 6b 2c 20 ck.=.array_slice($this->lstack,.
17cf80 30 2c 20 2d 20 24 6e 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6c 65 0,.-.$n);.}..private.function.le
17cfa0 78 28 29 0a 7b 0a 24 74 6f 6b 65 6e 20 3d 20 24 74 68 69 73 2d 3e 6c 65 78 65 72 2d 3e 6c 65 78 x().{.$token.=.$this->lexer->lex
17cfc0 28 29 20 3f 3a 20 31 3b 20 0a 20 0a 20 69 66 20 28 21 69 73 5f 6e 75 6d 65 72 69 63 28 24 74 6f ().?:.1;.....if.(!is_numeric($to
17cfe0 6b 65 6e 29 29 20 7b 0a 24 74 6f 6b 65 6e 20 3d 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 73 79 ken)).{.$token.=.isset($this->sy
17d000 6d 62 6f 6c 73 5b 24 74 6f 6b 65 6e 5d 29 20 3f 20 24 74 68 69 73 2d 3e 73 79 6d 62 6f 6c 73 5b mbols[$token]).?.$this->symbols[
17d020 24 74 6f 6b 65 6e 5d 20 3a 20 24 74 6f 6b 65 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 6f 6b $token].:.$token;.}..return.$tok
17d040 65 6e 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 61 69 6c 4f 6e 42 4f en;.}..private.function.failOnBO
17d060 4d 28 24 69 6e 70 75 74 29 0a 7b 0a 0a 20 24 62 6f 6d 20 3d 20 22 5c 78 45 46 5c 78 42 42 5c 78 M($input).{...$bom.=."\xEF\xBB\x
17d080 42 46 22 3b 0a 0a 69 66 20 28 73 75 62 73 74 72 28 24 69 6e 70 75 74 2c 20 30 2c 20 33 29 20 3d BF";..if.(substr($input,.0,.3).=
17d0a0 3d 3d 20 24 62 6f 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 70 61 72 73 65 45 72 72 6f 72 28 22 42 4f ==.$bom).{.$this->parseError("BO
17d0c0 4d 20 64 65 74 65 63 74 65 64 2c 20 6d 61 6b 65 20 73 75 72 65 20 79 6f 75 72 20 69 6e 70 75 74 M.detected,.make.sure.your.input
17d0e0 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 61 20 55 6e 69 63 6f 64 65 20 42 79 74 65 .does.not.include.a.Unicode.Byte
17d100 2d 4f 72 64 65 72 2d 4d 61 72 6b 22 2c 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 7d 0a 7d 0a 3c 3f -Order-Mark",.array());.}.}.}.<?
17d120 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 65 6c 64 5c 4a 73 6f php...........namespace.Seld\Jso
17d140 6e 4c 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4c 65 78 65 72 0a 7b 0a 70 72 69 76 61 nLint;.......class.Lexer.{.priva
17d160 74 65 20 24 45 4f 46 20 3d 20 31 3b 0a 70 72 69 76 61 74 65 20 24 72 75 6c 65 73 20 3d 20 61 72 te.$EOF.=.1;.private.$rules.=.ar
17d180 72 61 79 28 0a 30 20 3d 3e 20 27 2f 5e 5c 73 2b 2f 27 2c 0a 31 20 3d 3e 20 27 2f 5e 2d 3f 28 5b ray(.0.=>.'/^\s+/',.1.=>.'/^-?([
17d1a0 30 2d 39 5d 7c 5b 31 2d 39 5d 5b 30 2d 39 5d 2b 29 28 5c 2e 5b 30 2d 39 5d 2b 29 3f 28 5b 65 45 0-9]|[1-9][0-9]+)(\.[0-9]+)?([eE
17d1c0 5d 5b 2b 2d 5d 3f 5b 30 2d 39 5d 2b 29 3f 5c 62 2f 27 2c 0a 32 20 3d 3e 20 27 7b 5e 22 28 3f 3e ][+-]?[0-9]+)?\b/',.2.=>.'{^"(?>
17d1e0 5c 5c 5c 5c 5b 22 62 66 6e 72 74 2f 5c 5c 5c 5c 5d 7c 5c 5c 5c 5c 75 5b 61 2d 66 41 2d 46 30 2d \\\\["bfnrt/\\\\]|\\\\u[a-fA-F0-
17d200 39 5d 7b 34 7d 7c 5b 5e 5c 30 2d 5c 78 31 66 5c 5c 5c 5c 22 5d 2b 2b 29 2a 2b 22 7d 27 2c 0a 33 9]{4}|[^\0-\x1f\\\\"]++)*+"}',.3
17d220 20 3d 3e 20 27 2f 5e 5c 7b 2f 27 2c 0a 34 20 3d 3e 20 27 2f 5e 5c 7d 2f 27 2c 0a 35 20 3d 3e 20 .=>.'/^\{/',.4.=>.'/^\}/',.5.=>.
17d240 27 2f 5e 5c 5b 2f 27 2c 0a 36 20 3d 3e 20 27 2f 5e 5c 5d 2f 27 2c 0a 37 20 3d 3e 20 27 2f 5e 2c '/^\[/',.6.=>.'/^\]/',.7.=>.'/^,
17d260 2f 27 2c 0a 38 20 3d 3e 20 27 2f 5e 3a 2f 27 2c 0a 39 20 3d 3e 20 27 2f 5e 74 72 75 65 5c 62 2f /',.8.=>.'/^:/',.9.=>.'/^true\b/
17d280 27 2c 0a 31 30 20 3d 3e 20 27 2f 5e 66 61 6c 73 65 5c 62 2f 27 2c 0a 31 31 20 3d 3e 20 27 2f 5e ',.10.=>.'/^false\b/',.11.=>.'/^
17d2a0 6e 75 6c 6c 5c 62 2f 27 2c 0a 31 32 20 3d 3e 20 27 2f 5e 24 2f 27 2c 0a 31 33 20 3d 3e 20 27 2f null\b/',.12.=>.'/^$/',.13.=>.'/
17d2c0 5e 2e 2f 27 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 64 69 74 69 6f 6e 73 20 3d 20 ^./',.);..private.$conditions.=.
17d2e0 61 72 72 61 79 28 0a 22 49 4e 49 54 49 41 4c 22 20 3d 3e 20 61 72 72 61 79 28 0a 22 72 75 6c 65 array(."INITIAL".=>.array(."rule
17d300 73 22 20 3d 3e 20 61 72 72 61 79 28 30 2c 31 2c 32 2c 33 2c 34 2c 35 2c 36 2c 37 2c 38 2c 39 2c s".=>.array(0,1,2,3,4,5,6,7,8,9,
17d320 31 30 2c 31 31 2c 31 32 2c 31 33 29 2c 0a 22 69 6e 63 6c 75 73 69 76 65 22 20 3d 3e 20 74 72 75 10,11,12,13),."inclusive".=>.tru
17d340 65 2c 0a 29 2c 0a 29 3b 0a 0a 70 72 69 76 61 74 65 20 24 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 e,.),.);..private.$conditionStac
17d360 6b 3b 0a 70 72 69 76 61 74 65 20 24 69 6e 70 75 74 3b 0a 70 72 69 76 61 74 65 20 24 6d 6f 72 65 k;.private.$input;.private.$more
17d380 3b 0a 70 72 69 76 61 74 65 20 24 64 6f 6e 65 3b 0a 70 72 69 76 61 74 65 20 24 6d 61 74 63 68 65 ;.private.$done;.private.$matche
17d3a0 64 3b 0a 0a 70 75 62 6c 69 63 20 24 6d 61 74 63 68 3b 0a 70 75 62 6c 69 63 20 24 79 79 6c 69 6e d;..public.$match;.public.$yylin
17d3c0 65 6e 6f 3b 0a 70 75 62 6c 69 63 20 24 79 79 6c 65 6e 67 3b 0a 70 75 62 6c 69 63 20 24 79 79 74 eno;.public.$yyleng;.public.$yyt
17d3e0 65 78 74 3b 0a 70 75 62 6c 69 63 20 24 79 79 6c 6c 6f 63 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e ext;.public.$yylloc;..public.fun
17d400 63 74 69 6f 6e 20 6c 65 78 28 29 0a 7b 0a 24 72 20 3d 20 24 74 68 69 73 2d 3e 6e 65 78 74 28 29 ction.lex().{.$r.=.$this->next()
17d420 3b 0a 69 66 20 28 21 24 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 64 65 66 69 6e 65 64 29 20 ;.if.(!$r.instanceof.Undefined).
17d440 7b 0a 72 65 74 75 72 6e 20 24 72 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 65 {.return.$r;.}..return.$this->le
17d460 78 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 49 6e 70 75 74 x();.}..public.function.setInput
17d480 28 24 69 6e 70 75 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 3d 20 24 69 6e 70 75 74 ($input).{.$this->input.=.$input
17d4a0 3b 0a 24 74 68 69 73 2d 3e 6d 6f 72 65 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 64 6f ;.$this->more.=.false;.$this->do
17d4c0 6e 65 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 2d 3e 79 79 6c 69 6e 65 6e 6f 20 3d 20 24 74 ne.=.false;.$this->yylineno.=.$t
17d4e0 68 69 73 2d 3e 79 79 6c 65 6e 67 20 3d 20 30 3b 0a 24 74 68 69 73 2d 3e 79 79 74 65 78 74 20 3d his->yyleng.=.0;.$this->yytext.=
17d500 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 65 64 20 3d 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 20 3d .$this->matched.=.$this->match.=
17d520 20 27 27 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b 20 3d 20 61 72 72 .'';.$this->conditionStack.=.arr
17d540 61 79 28 27 49 4e 49 54 49 41 4c 27 29 3b 0a 24 74 68 69 73 2d 3e 79 79 6c 6c 6f 63 20 3d 20 61 ay('INITIAL');.$this->yylloc.=.a
17d560 72 72 61 79 28 27 66 69 72 73 74 5f 6c 69 6e 65 27 20 3d 3e 20 31 2c 20 27 66 69 72 73 74 5f 63 rray('first_line'.=>.1,.'first_c
17d580 6f 6c 75 6d 6e 27 20 3d 3e 20 30 2c 20 27 6c 61 73 74 5f 6c 69 6e 65 27 20 3d 3e 20 31 2c 20 27 olumn'.=>.0,.'last_line'.=>.1,.'
17d5a0 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d 3e 20 30 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 last_column'.=>.0);..return.$thi
17d5c0 73 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 77 50 6f 73 69 74 69 s;.}..public.function.showPositi
17d5e0 6f 6e 28 29 0a 7b 0a 24 70 72 65 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 on().{.$pre.=.str_replace("\n",.
17d600 27 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 50 61 73 74 49 6e 70 75 74 28 29 29 3b 0a 24 63 20 3d '',.$this->getPastInput());.$c.=
17d620 20 73 74 72 5f 72 65 70 65 61 74 28 27 2d 27 2c 20 6d 61 78 28 30 2c 20 73 74 72 6c 65 6e 28 24 .str_repeat('-',.max(0,.strlen($
17d640 70 72 65 29 20 2d 20 31 29 29 3b 20 0a 0a 72 65 74 75 72 6e 20 24 70 72 65 20 2e 20 73 74 72 5f pre).-.1));...return.$pre...str_
17d660 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 27 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 55 70 63 6f replace("\n",.'',.$this->getUpco
17d680 6d 69 6e 67 49 6e 70 75 74 28 29 29 20 2e 20 22 5c 6e 22 20 2e 20 24 63 20 2e 20 22 5e 22 3b 0a mingInput())..."\n"...$c..."^";.
17d6a0 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 73 74 49 6e 70 75 74 28 }..public.function.getPastInput(
17d6c0 29 0a 7b 0a 24 70 61 73 74 20 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 65 ).{.$past.=.substr($this->matche
17d6e0 64 2c 20 30 2c 20 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 65 64 29 20 2d 20 73 d,.0,.strlen($this->matched).-.s
17d700 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 6d 61 74 63 68 29 29 3b 0a 0a 72 65 74 75 72 6e 20 28 73 trlen($this->match));..return.(s
17d720 74 72 6c 65 6e 28 24 70 61 73 74 29 20 3e 20 32 30 20 3f 20 27 2e 2e 2e 27 20 3a 20 27 27 29 20 trlen($past).>.20.?.'...'.:.'').
17d740 2e 20 73 75 62 73 74 72 28 24 70 61 73 74 2c 20 2d 32 30 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 ..substr($past,.-20);.}..public.
17d760 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 70 63 6f 6d 69 6e 67 49 6e 70 75 74 28 29 0a 7b 0a 24 6e function.getUpcomingInput().{.$n
17d780 65 78 74 20 3d 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 3b 0a 69 66 20 28 73 74 72 6c 65 6e 28 24 ext.=.$this->match;.if.(strlen($
17d7a0 6e 65 78 74 29 20 3c 20 32 30 29 20 7b 0a 24 6e 65 78 74 20 2e 3d 20 73 75 62 73 74 72 28 24 74 next).<.20).{.$next..=.substr($t
17d7c0 68 69 73 2d 3e 69 6e 70 75 74 2c 20 30 2c 20 32 30 20 2d 20 73 74 72 6c 65 6e 28 24 6e 65 78 74 his->input,.0,.20.-.strlen($next
17d7e0 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 75 62 73 74 72 28 24 6e 65 78 74 2c 20 30 2c 20 32 ));.}..return.substr($next,.0,.2
17d800 30 29 20 2e 20 28 73 74 72 6c 65 6e 28 24 6e 65 78 74 29 20 3e 20 32 30 20 3f 20 27 2e 2e 2e 27 0)...(strlen($next).>.20.?.'...'
17d820 20 3a 20 27 27 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 70 61 .:.'');.}..protected.function.pa
17d840 72 73 65 45 72 72 6f 72 28 24 73 74 72 2c 20 24 68 61 73 68 29 0a 7b 0a 74 68 72 6f 77 20 6e 65 rseError($str,.$hash).{.throw.ne
17d860 77 20 5c 45 78 63 65 70 74 69 6f 6e 28 24 73 74 72 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 w.\Exception($str);.}..private.f
17d880 75 6e 63 74 69 6f 6e 20 6e 65 78 74 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 6f 6e 65 unction.next().{.if.($this->done
17d8a0 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 45 4f 46 3b 0a 7d 0a 69 66 20 28 24 74 68 ).{.return.$this->EOF;.}.if.($th
17d8c0 69 73 2d 3e 69 6e 70 75 74 20 3d 3d 3d 20 27 27 29 20 7b 0a 24 74 68 69 73 2d 3e 64 6f 6e 65 20 is->input.===.'').{.$this->done.
17d8e0 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 74 6f 6b 65 6e 20 3d 20 6e 75 6c 6c 3b 0a 24 6d 61 74 63 68 =.true;.}..$token.=.null;.$match
17d900 20 3d 20 6e 75 6c 6c 3b 0a 24 63 6f 6c 20 3d 20 6e 75 6c 6c 3b 0a 24 6c 69 6e 65 73 20 3d 20 6e .=.null;.$col.=.null;.$lines.=.n
17d920 75 6c 6c 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6d 6f 72 65 29 20 7b 0a 24 74 68 69 73 2d ull;..if.(!$this->more).{.$this-
17d940 3e 79 79 74 65 78 74 20 3d 20 27 27 3b 0a 24 74 68 69 73 2d 3e 6d 61 74 63 68 20 3d 20 27 27 3b >yytext.=.'';.$this->match.=.'';
17d960 0a 7d 0a 0a 24 72 75 6c 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 75 72 72 65 6e 74 52 75 .}..$rules.=.$this->getCurrentRu
17d980 6c 65 73 28 29 3b 0a 24 72 75 6c 65 73 4c 65 6e 20 3d 20 63 6f 75 6e 74 28 24 72 75 6c 65 73 29 les();.$rulesLen.=.count($rules)
17d9a0 3b 0a 0a 66 6f 72 20 28 24 69 3d 30 3b 20 24 69 20 3c 20 24 72 75 6c 65 73 4c 65 6e 3b 20 24 69 ;..for.($i=0;.$i.<.$rulesLen;.$i
17d9c0 2b 2b 29 20 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 74 68 69 73 2d 3e 72 75 6c 65 ++).{.if.(preg_match($this->rule
17d9e0 73 5b 24 72 75 6c 65 73 5b 24 69 5d 5d 2c 20 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 24 6d 61 s[$rules[$i]],.$this->input,.$ma
17da00 74 63 68 29 29 20 7b 0a 70 72 65 67 5f 6d 61 74 63 68 5f 61 6c 6c 28 27 2f 5c 6e 2e 2a 2f 27 2c tch)).{.preg_match_all('/\n.*/',
17da20 20 24 6d 61 74 63 68 5b 30 5d 2c 20 24 6c 69 6e 65 73 29 3b 0a 24 6c 69 6e 65 73 20 3d 20 24 6c .$match[0],.$lines);.$lines.=.$l
17da40 69 6e 65 73 5b 30 5d 3b 0a 69 66 20 28 24 6c 69 6e 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 79 79 ines[0];.if.($lines).{.$this->yy
17da60 6c 69 6e 65 6e 6f 20 2b 3d 20 63 6f 75 6e 74 28 24 6c 69 6e 65 73 29 3b 0a 7d 0a 0a 24 74 68 69 lineno.+=.count($lines);.}..$thi
17da80 73 2d 3e 79 79 6c 6c 6f 63 20 3d 20 61 72 72 61 79 28 0a 27 66 69 72 73 74 5f 6c 69 6e 65 27 20 s->yylloc.=.array(.'first_line'.
17daa0 3d 3e 20 24 74 68 69 73 2d 3e 79 79 6c 6c 6f 63 5b 27 6c 61 73 74 5f 6c 69 6e 65 27 5d 2c 0a 27 =>.$this->yylloc['last_line'],.'
17dac0 6c 61 73 74 5f 6c 69 6e 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 79 79 6c 69 6e 65 6e 6f 2b 31 2c last_line'.=>.$this->yylineno+1,
17dae0 0a 27 66 69 72 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d 3e 20 24 74 68 69 73 2d 3e 79 79 6c 6c 6f 63 .'first_column'.=>.$this->yylloc
17db00 5b 27 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 5d 2c 0a 27 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 20 3d ['last_column'],.'last_column'.=
17db20 3e 20 24 6c 69 6e 65 73 20 3f 20 73 74 72 6c 65 6e 28 24 6c 69 6e 65 73 5b 63 6f 75 6e 74 28 24 >.$lines.?.strlen($lines[count($
17db40 6c 69 6e 65 73 29 20 2d 20 31 5d 29 20 2d 20 31 20 3a 20 24 74 68 69 73 2d 3e 79 79 6c 6c 6f 63 lines).-.1]).-.1.:.$this->yylloc
17db60 5b 27 6c 61 73 74 5f 63 6f 6c 75 6d 6e 27 5d 20 2b 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b ['last_column'].+.strlen($match[
17db80 30 5d 29 2c 0a 29 3b 0a 24 74 68 69 73 2d 3e 79 79 74 65 78 74 20 2e 3d 20 24 6d 61 74 63 68 5b 0]),.);.$this->yytext..=.$match[
17dba0 30 5d 3b 0a 24 74 68 69 73 2d 3e 6d 61 74 63 68 20 2e 3d 20 24 6d 61 74 63 68 5b 30 5d 3b 0a 24 0];.$this->match..=.$match[0];.$
17dbc0 74 68 69 73 2d 3e 79 79 6c 65 6e 67 20 3d 20 73 74 72 6c 65 6e 28 24 74 68 69 73 2d 3e 79 79 74 this->yyleng.=.strlen($this->yyt
17dbe0 65 78 74 29 3b 0a 24 74 68 69 73 2d 3e 6d 6f 72 65 20 3d 20 66 61 6c 73 65 3b 0a 24 74 68 69 73 ext);.$this->more.=.false;.$this
17dc00 2d 3e 69 6e 70 75 74 20 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 2c 20 73 ->input.=.substr($this->input,.s
17dc20 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b 30 5d 29 29 3b 0a 24 74 68 69 73 2d 3e 6d 61 74 63 68 65 trlen($match[0]));.$this->matche
17dc40 64 20 2e 3d 20 24 6d 61 74 63 68 5b 30 5d 3b 0a 24 74 6f 6b 65 6e 20 3d 20 24 74 68 69 73 2d 3e d..=.$match[0];.$token.=.$this->
17dc60 70 65 72 66 6f 72 6d 41 63 74 69 6f 6e 28 24 72 75 6c 65 73 5b 24 69 5d 2c 20 24 74 68 69 73 2d performAction($rules[$i],.$this-
17dc80 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 63 6f 6e >conditionStack[count($this->con
17dca0 64 69 74 69 6f 6e 53 74 61 63 6b 29 2d 31 5d 29 3b 0a 69 66 20 28 24 74 6f 6b 65 6e 29 20 7b 0a ditionStack)-1]);.if.($token).{.
17dcc0 72 65 74 75 72 6e 20 24 74 6f 6b 65 6e 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 65 77 20 55 6e 64 return.$token;.}..return.new.Und
17dce0 65 66 69 6e 65 64 28 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 69 6e 70 75 74 20 efined();.}.}..if.($this->input.
17dd00 3d 3d 3d 20 22 22 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 45 4f 46 3b 0a 7d 0a 0a ===."").{.return.$this->EOF;.}..
17dd20 24 74 68 69 73 2d 3e 70 61 72 73 65 45 72 72 6f 72 28 0a 27 4c 65 78 69 63 61 6c 20 65 72 72 6f $this->parseError(.'Lexical.erro
17dd40 72 20 6f 6e 20 6c 69 6e 65 20 27 20 2e 20 28 24 74 68 69 73 2d 3e 79 79 6c 69 6e 65 6e 6f 2b 31 r.on.line.'...($this->yylineno+1
17dd60 29 20 2e 20 22 2e 20 55 6e 72 65 63 6f 67 6e 69 7a 65 64 20 74 65 78 74 2e 5c 6e 22 20 2e 20 24 )..."..Unrecognized.text.\n"...$
17dd80 74 68 69 73 2d 3e 73 68 6f 77 50 6f 73 69 74 69 6f 6e 28 29 2c 0a 61 72 72 61 79 28 0a 27 74 65 this->showPosition(),.array(.'te
17dda0 78 74 27 20 3d 3e 20 22 22 2c 0a 27 74 6f 6b 65 6e 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 27 6c 69 6e xt'.=>."",.'token'.=>.null,.'lin
17ddc0 65 27 20 3d 3e 20 24 74 68 69 73 2d 3e 79 79 6c 69 6e 65 6e 6f 2c 0a 29 0a 29 3b 0a 7d 0a 0a 70 e'.=>.$this->yylineno,.).);.}..p
17dde0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 75 72 72 65 6e 74 52 75 6c 65 73 28 rivate.function.getCurrentRules(
17de00 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 73 5b 24 74 68 ).{.return.$this->conditions[$th
17de20 69 73 2d 3e 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b 5b 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e is->conditionStack[count($this->
17de40 63 6f 6e 64 69 74 69 6f 6e 53 74 61 63 6b 29 2d 31 5d 5d 5b 27 72 75 6c 65 73 27 5d 3b 0a 7d 0a conditionStack)-1]]['rules'];.}.
17de60 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 41 63 74 69 6f 6e 28 .private.function.performAction(
17de80 24 61 76 6f 69 64 69 6e 67 5f 6e 61 6d 65 5f 63 6f 6c 6c 69 73 69 6f 6e 73 2c 20 24 59 59 5f 53 $avoiding_name_collisions,.$YY_S
17dea0 54 41 52 54 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 61 76 6f 69 64 69 6e 67 5f 6e 61 6d 65 5f 63 TART).{.switch.($avoiding_name_c
17dec0 6f 6c 6c 69 73 69 6f 6e 73 29 20 7b 0a 63 61 73 65 20 30 3a 0a 62 72 65 61 6b 3b 0a 63 61 73 65 ollisions).{.case.0:.break;.case
17dee0 20 31 3a 0a 72 65 74 75 72 6e 20 36 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 32 3a 0a 24 74 68 .1:.return.6;.break;.case.2:.$th
17df00 69 73 2d 3e 79 79 74 65 78 74 20 3d 20 73 75 62 73 74 72 28 24 74 68 69 73 2d 3e 79 79 74 65 78 is->yytext.=.substr($this->yytex
17df20 74 2c 20 31 2c 20 24 74 68 69 73 2d 3e 79 79 6c 65 6e 67 2d 32 29 3b 0a 0a 72 65 74 75 72 6e 20 t,.1,.$this->yyleng-2);..return.
17df40 34 3b 0a 63 61 73 65 20 33 3a 0a 72 65 74 75 72 6e 20 31 37 3b 0a 63 61 73 65 20 34 3a 0a 72 65 4;.case.3:.return.17;.case.4:.re
17df60 74 75 72 6e 20 31 38 3b 0a 63 61 73 65 20 35 3a 0a 72 65 74 75 72 6e 20 32 33 3b 0a 63 61 73 65 turn.18;.case.5:.return.23;.case
17df80 20 36 3a 0a 72 65 74 75 72 6e 20 32 34 3b 0a 63 61 73 65 20 37 3a 0a 72 65 74 75 72 6e 20 32 32 .6:.return.24;.case.7:.return.22
17dfa0 3b 0a 63 61 73 65 20 38 3a 0a 72 65 74 75 72 6e 20 32 31 3b 0a 63 61 73 65 20 39 3a 0a 72 65 74 ;.case.8:.return.21;.case.9:.ret
17dfc0 75 72 6e 20 31 30 3b 0a 63 61 73 65 20 31 30 3a 0a 72 65 74 75 72 6e 20 31 31 3b 0a 63 61 73 65 urn.10;.case.10:.return.11;.case
17dfe0 20 31 31 3a 0a 72 65 74 75 72 6e 20 38 3b 0a 63 61 73 65 20 31 32 3a 0a 72 65 74 75 72 6e 20 31 .11:.return.8;.case.12:.return.1
17e000 34 3b 0a 63 61 73 65 20 31 33 3a 0a 72 65 74 75 72 6e 20 27 49 4e 56 41 4c 49 44 27 3b 0a 7d 0a 4;.case.13:.return.'INVALID';.}.
17e020 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 65 }.}.<?php...........namespace.Se
17e040 6c 64 5c 4a 73 6f 6e 4c 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 50 61 72 73 69 6e 67 45 78 63 65 70 ld\JsonLint;..class.ParsingExcep
17e060 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 72 6f 74 65 63 tion.extends.\Exception.{.protec
17e080 74 65 64 20 24 64 65 74 61 69 6c 73 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f ted.$details;..public.function._
17e0a0 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 64 65 74 61 69 6c 73 20 3d 20 _construct($message,.$details.=.
17e0c0 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 64 65 74 61 69 6c 73 20 3d 20 24 64 65 74 array()).{.$this->details.=.$det
17e0e0 61 69 6c 73 3b 0a 70 61 72 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 ails;.parent::__construct($messa
17e100 67 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 44 65 74 61 69 ge);.}..public.function.getDetai
17e120 6c 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 65 74 61 69 6c 73 3b 0a 7d 0a ls().{.return.$this->details;.}.
17e140 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 53 65 6c 64 }.<?php...........namespace.Seld
17e160 5c 4a 73 6f 6e 4c 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 64 0a 7b 0a 7d 0a \JsonLint;..class.Undefined.{.}.
17e180 4d 49 54 20 4c 69 63 65 6e 73 65 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 36 0a MIT.License..Copyright.(c).2016.
17e1a0 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 .Permission.is.hereby.granted,.f
17e1c0 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 ree.of.charge,.to.any.person.obt
17e1e0 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 aining.a.copy.of.this.software.a
17e200 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 nd.associated.documentation.file
17e220 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 s.(the."Software"),.to.deal.in.t
17e240 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c he.Software.without.restriction,
17e260 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 .including.without.limitation.th
17e280 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d e.rights.to.use,.copy,.modify,.m
17e2a0 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 erge,.publish,.distribute,.subli
17e2c0 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 cense,.and/or.sell.copies.of.the
17e2e0 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 .Software,.and.to.permit.persons
17e300 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 0a 66 75 72 6e 69 73 68 .to.whom.the.Software.is.furnish
17e320 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c ed.to.do.so,.subject.to.the.foll
17e340 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 owing.conditions:..The.above.cop
17e360 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f yright.notice.and.this.permissio
17e380 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c n.notice.shall.be.included.in.al
17e3a0 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 l.copies.or.substantial.portions
17e3c0 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 .of.the.Software...THE.SOFTWARE.
17e3e0 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 IS.PROVIDED."AS.IS",.WITHOUT.WAR
17e400 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d RANTY.OF.ANY.KIND,.EXPRESS.OR.IM
17e420 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 PLIED,.INCLUDING.BUT.NOT.LIMITED
17e440 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 .TO.THE.WARRANTIES.OF.MERCHANTAB
17e460 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 ILITY,.FITNESS.FOR.A.PARTICULAR.
17e480 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 PURPOSE.AND.NONINFRINGEMENT..IN.
17e4a0 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f NO.EVENT.SHALL.THE.AUTHORS.OR.CO
17e4c0 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e PYRIGHT.HOLDERS.BE.LIABLE.FOR.AN
17e4e0 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c Y.CLAIM,.DAMAGES.OR.OTHER.LIABIL
17e500 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e ITY,.WHETHER.IN.AN.ACTION.OF.CON
17e520 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e TRACT,.TORT.OR.OTHERWISE,.ARISIN
17e540 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 G.FROM,.OUT.OF.OR.IN.CONNECTION.
17e560 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 WITH.THE.SOFTWARE.OR.THE.USE.OR.
17e580 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 0a 53 4f 46 54 57 41 52 45 2e 0a OTHER.DEALINGS.IN.THE.SOFTWARE..
17e5a0 3c 3f 70 68 70 0a 0a 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 2f 76 65 <?php..require.__DIR__...'/../ve
17e5c0 6e 64 6f 72 2f 61 75 74 6f 6c 6f 61 64 2e 70 68 70 27 3b 0a 0a 24 64 61 74 61 20 3d 20 6a 73 6f ndor/autoload.php';..$data.=.jso
17e5e0 6e 5f 64 65 63 6f 64 65 28 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 27 64 61 74 61 n_decode(file_get_contents('data
17e600 2e 6a 73 6f 6e 27 29 29 3b 0a 0a 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 6e 65 77 20 4a 73 6f .json'));...$validator.=.new.Jso
17e620 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 28 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d nSchema\Validator();.$validator-
17e640 3e 63 68 65 63 6b 28 24 64 61 74 61 2c 20 28 6f 62 6a 65 63 74 29 20 61 72 72 61 79 28 27 24 72 >check($data,.(object).array('$r
17e660 65 66 27 20 3d 3e 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 72 65 61 6c 70 61 74 68 28 27 73 63 68 ef'.=>.'file://'...realpath('sch
17e680 65 6d 61 2e 6a 73 6f 6e 27 29 29 29 3b 0a 0a 69 66 20 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 69 ema.json')));..if.($validator->i
17e6a0 73 56 61 6c 69 64 28 29 29 20 7b 0a 65 63 68 6f 20 22 54 68 65 20 73 75 70 70 6c 69 65 64 20 4a sValid()).{.echo."The.supplied.J
17e6c0 53 4f 4e 20 76 61 6c 69 64 61 74 65 73 20 61 67 61 69 6e 73 74 20 74 68 65 20 73 63 68 65 6d 61 SON.validates.against.the.schema
17e6e0 2e 5c 6e 22 3b 0a 7d 20 65 6c 73 65 20 7b 0a 65 63 68 6f 20 22 4a 53 4f 4e 20 64 6f 65 73 20 6e .\n";.}.else.{.echo."JSON.does.n
17e700 6f 74 20 76 61 6c 69 64 61 74 65 2e 20 56 69 6f 6c 61 74 69 6f 6e 73 3a 5c 6e 22 3b 0a 66 6f 72 ot.validate..Violations:\n";.for
17e720 65 61 63 68 20 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 20 61 73 each.($validator->getErrors().as
17e740 20 24 65 72 72 6f 72 29 20 7b 0a 65 63 68 6f 20 73 70 72 69 6e 74 66 28 22 5b 25 73 5d 20 25 73 .$error).{.echo.sprintf("[%s].%s
17e760 5c 6e 22 2c 20 24 65 72 72 6f 72 5b 27 70 72 6f 70 65 72 74 79 27 5d 2c 20 24 65 72 72 6f 72 5b \n",.$error['property'],.$error[
17e780 27 6d 65 73 73 61 67 65 27 5d 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 'message']);.}.}.<?php.........n
17e7a0 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b amespace.JsonSchema\Constraints;
17e7c0 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e ..use.JsonSchema\Entity\JsonPoin
17e7e0 74 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e ter;.use.JsonSchema\Exception\In
17e800 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e validArgumentException;.use.Json
17e820 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 Schema\Exception\ValidationExcep
17e840 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 3b 0a tion;.use.JsonSchema\Validator;.
17e860 0a 0a 0a 0a 0a 63 6c 61 73 73 20 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 .....class.BaseConstraint.{....p
17e880 72 6f 74 65 63 74 65 64 20 24 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a rotected.$errors.=.array();.....
17e8a0 70 72 6f 74 65 63 74 65 64 20 24 65 72 72 6f 72 4d 61 73 6b 20 3d 20 56 61 6c 69 64 61 74 6f 72 protected.$errorMask.=.Validator
17e8c0 3a 3a 45 52 52 4f 52 5f 4e 4f 4e 45 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 66 61 63 ::ERROR_NONE;.....protected.$fac
17e8e0 74 6f 72 79 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 tory;.....public.function.__cons
17e900 74 72 75 63 74 28 46 61 63 74 6f 72 79 20 24 66 61 63 74 6f 72 79 20 3d 20 6e 75 6c 6c 29 0a 7b truct(Factory.$factory.=.null).{
17e920 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 20 3d 20 24 66 61 63 74 6f 72 79 20 3f 3a 20 6e 65 .$this->factory.=.$factory.?:.ne
17e940 77 20 46 61 63 74 6f 72 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 w.Factory();.}..public.function.
17e960 61 64 64 45 72 72 6f 72 28 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c addError(JsonPointer.$path.=.nul
17e980 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 27 27 2c 20 61 l,.$message,.$constraint.=.'',.a
17e9a0 72 72 61 79 20 24 6d 6f 72 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 65 72 72 6f 72 20 3d 20 61 72 rray.$more.=.null).{.$error.=.ar
17e9c0 72 61 79 28 0a 27 70 72 6f 70 65 72 74 79 27 20 3d 3e 20 24 74 68 69 73 2d 3e 63 6f 6e 76 65 72 ray(.'property'.=>.$this->conver
17e9e0 74 4a 73 6f 6e 50 6f 69 6e 74 65 72 49 6e 74 6f 50 72 6f 70 65 72 74 79 50 61 74 68 28 24 70 61 tJsonPointerIntoPropertyPath($pa
17ea00 74 68 20 3f 3a 20 6e 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 27 27 29 29 2c 0a 27 70 6f 69 th.?:.new.JsonPointer('')),.'poi
17ea20 6e 74 65 72 27 20 3d 3e 20 6c 74 72 69 6d 28 73 74 72 76 61 6c 28 24 70 61 74 68 20 3f 3a 20 6e nter'.=>.ltrim(strval($path.?:.n
17ea40 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 27 27 29 29 2c 20 27 23 27 29 2c 0a 27 6d 65 73 73 ew.JsonPointer('')),.'#'),.'mess
17ea60 61 67 65 27 20 3d 3e 20 24 6d 65 73 73 61 67 65 2c 0a 27 63 6f 6e 73 74 72 61 69 6e 74 27 20 3d age'.=>.$message,.'constraint'.=
17ea80 3e 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 0a 27 63 6f 6e 74 65 78 74 27 20 3d 3e 20 24 74 68 69 >.$constraint,.'context'.=>.$thi
17eaa0 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 45 72 72 6f 72 43 6f 6e 74 65 78 74 28 29 2c 0a 29 s->factory->getErrorContext(),.)
17eac0 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 ;..if.($this->factory->getConfig
17eae0 28 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 45 58 43 45 50 54 49 4f (Constraint::CHECK_MODE_EXCEPTIO
17eb00 4e 53 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 NS)).{.throw.new.ValidationExcep
17eb20 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 45 72 72 6f 72 20 76 61 6c 69 64 61 74 69 6e 67 20 25 tion(sprintf('Error.validating.%
17eb40 73 3a 20 25 73 27 2c 20 24 65 72 72 6f 72 5b 27 70 6f 69 6e 74 65 72 27 5d 2c 20 24 65 72 72 6f s:.%s',.$error['pointer'],.$erro
17eb60 72 5b 27 6d 65 73 73 61 67 65 27 5d 29 29 3b 0a 7d 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 r['message']));.}..if.(is_array(
17eb80 24 6d 6f 72 65 29 20 26 26 20 63 6f 75 6e 74 28 24 6d 6f 72 65 29 20 3e 20 30 29 20 7b 0a 24 65 $more).&&.count($more).>.0).{.$e
17eba0 72 72 6f 72 20 2b 3d 20 24 6d 6f 72 65 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 5b rror.+=.$more;.}..$this->errors[
17ebc0 5d 20 3d 20 24 65 72 72 6f 72 3b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 61 73 6b 20 7c 3d 20 ].=.$error;.$this->errorMask.|=.
17ebe0 24 65 72 72 6f 72 5b 27 63 6f 6e 74 65 78 74 27 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e $error['context'];.}..public.fun
17ec00 63 74 69 6f 6e 20 61 64 64 45 72 72 6f 72 73 28 61 72 72 61 79 20 24 65 72 72 6f 72 73 29 0a 7b ction.addErrors(array.$errors).{
17ec20 0a 69 66 20 28 24 65 72 72 6f 72 73 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 .if.($errors).{.$this->errors.=.
17ec40 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 2c 20 24 65 72 72 6f array_merge($this->errors,.$erro
17ec60 72 73 29 3b 0a 24 65 72 72 6f 72 4d 61 73 6b 20 3d 20 26 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d rs);.$errorMask.=.&$this->errorM
17ec80 61 73 6b 3b 0a 61 72 72 61 79 5f 77 61 6c 6b 28 24 65 72 72 6f 72 73 2c 20 66 75 6e 63 74 69 6f ask;.array_walk($errors,.functio
17eca0 6e 20 28 24 65 72 72 6f 72 29 20 75 73 65 20 28 26 24 65 72 72 6f 72 4d 61 73 6b 29 20 7b 0a 69 n.($error).use.(&$errorMask).{.i
17ecc0 66 20 28 69 73 73 65 74 28 24 65 72 72 6f 72 5b 27 63 6f 6e 74 65 78 74 27 5d 29 29 20 7b 0a 24 f.(isset($error['context'])).{.$
17ece0 65 72 72 6f 72 4d 61 73 6b 20 7c 3d 20 24 65 72 72 6f 72 5b 27 63 6f 6e 74 65 78 74 27 5d 3b 0a errorMask.|=.$error['context'];.
17ed00 7d 0a 7d 29 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 }.});.}.}..public.function.getEr
17ed20 72 6f 72 73 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 20 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a rors($errorContext.=.Validator::
17ed40 45 52 52 4f 52 5f 41 4c 4c 29 0a 7b 0a 69 66 20 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 20 3d ERROR_ALL).{.if.($errorContext.=
17ed60 3d 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 41 4c 4c 29 20 7b 0a 72 65 74 75 72 ==.Validator::ERROR_ALL).{.retur
17ed80 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 n.$this->errors;.}..return.array
17eda0 5f 66 69 6c 74 65 72 28 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 2c 20 66 75 6e 63 74 69 6f 6e 20 _filter($this->errors,.function.
17edc0 28 24 65 72 72 6f 72 29 20 75 73 65 20 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 29 20 7b 0a 69 ($error).use.($errorContext).{.i
17ede0 66 20 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 20 26 20 24 65 72 72 6f 72 5b 27 63 6f 6e 74 65 f.($errorContext.&.$error['conte
17ee00 78 74 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 29 3b 0a 7d 0a 0a 70 75 xt']).{.return.true;.}.});.}..pu
17ee20 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 75 6d 45 72 72 6f 72 73 28 24 65 72 72 6f 72 43 6f blic.function.numErrors($errorCo
17ee40 6e 74 65 78 74 20 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 41 4c 4c 29 0a 7b 0a ntext.=.Validator::ERROR_ALL).{.
17ee60 69 66 20 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 20 3d 3d 3d 20 56 61 6c 69 64 61 74 6f 72 3a if.($errorContext.===.Validator:
17ee80 3a 45 52 52 4f 52 5f 41 4c 4c 29 20 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 :ERROR_ALL).{.return.count($this
17eea0 2d 3e 65 72 72 6f 72 73 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 ->errors);.}..return.count($this
17eec0 2d 3e 67 65 74 45 72 72 6f 72 73 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 29 29 3b 0a 7d 0a 0a ->getErrors($errorContext));.}..
17eee0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 28 29 0a 7b 0a 72 65 74 75 public.function.isValid().{.retu
17ef00 72 6e 20 21 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 70 rn.!$this->getErrors();.}......p
17ef20 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e ublic.function.reset().{.$this->
17ef40 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 61 errors.=.array();.$this->errorMa
17ef60 73 6b 20 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 4e 4f 4e 45 3b 0a 7d 0a 0a 0a sk.=.Validator::ERROR_NONE;.}...
17ef80 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 4d 61 73 6b ....public.function.getErrorMask
17efa0 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 4d 61 73 6b 3b 0a 7d 0a ().{.return.$this->errorMask;.}.
17efc0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 ........public.static.function.a
17efe0 72 72 61 79 54 6f 4f 62 6a 65 63 74 52 65 63 75 72 73 69 76 65 28 24 61 72 72 61 79 29 0a 7b 0a rrayToObjectRecursive($array).{.
17f000 24 6a 73 6f 6e 20 3d 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 61 72 72 61 79 29 3b 0a 69 66 20 $json.=.json_encode($array);.if.
17f020 28 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 20 21 3d 3d 20 5c 4a 53 4f 4e 5f 45 52 52 (json_last_error().!==.\JSON_ERR
17f040 4f 52 5f 4e 4f 4e 45 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 55 6e 61 62 6c 65 20 74 6f OR_NONE).{.$message.=.'Unable.to
17f060 20 65 6e 63 6f 64 65 20 73 63 68 65 6d 61 20 61 72 72 61 79 20 61 73 20 4a 53 4f 4e 27 3b 0a 69 .encode.schema.array.as.JSON';.i
17f080 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 f.(function_exists('json_last_er
17f0a0 72 6f 72 5f 6d 73 67 27 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 3a 20 27 20 2e 20 ror_msg')).{.$message..=.':.'...
17f0c0 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 5f 6d 73 67 28 29 3b 0a 7d 0a 74 68 72 6f 77 20 6e json_last_error_msg();.}.throw.n
17f0e0 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 ew.InvalidArgumentException($mes
17f100 73 61 67 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 28 6f 62 6a 65 63 74 29 20 6a 73 6f 6e 5f 64 sage);.}..return.(object).json_d
17f120 65 63 6f 64 65 28 24 6a 73 6f 6e 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ecode($json);.}.}.<?php.........
17f140 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 namespace.JsonSchema\Constraints
17f160 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 ;..use.JsonSchema\Entity\JsonPoi
17f180 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6c 6c 65 63 74 69 6f 6e 43 6f 6e nter;........class.CollectionCon
17f1a0 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a straint.extends.Constraint.{....
17f1c0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 76 61 6c 75 65 2c 20 24 public.function.check(&$value,.$
17f1e0 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 schema.=.null,.JsonPointer.$path
17f200 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 69 73 73 65 .=.null,.$i.=.null).{...if.(isse
17f220 74 28 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 29 20 26 26 20 63 6f 75 6e 74 28 24 76 t($schema->minItems).&&.count($v
17f240 61 6c 75 65 29 20 3c 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 29 20 7b 0a 24 74 68 alue).<.$schema->minItems).{.$th
17f260 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 72 65 20 6d 75 73 74 20 is->addError($path,.'There.must.
17f280 62 65 20 61 20 6d 69 6e 69 6d 75 6d 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e be.a.minimum.of.'...$schema->min
17f2a0 49 74 65 6d 73 20 2e 20 27 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 61 72 72 61 79 27 2c 20 27 Items...'.items.in.the.array',.'
17f2c0 6d 69 6e 49 74 65 6d 73 27 2c 20 61 72 72 61 79 28 27 6d 69 6e 49 74 65 6d 73 27 20 3d 3e 20 24 minItems',.array('minItems'.=>.$
17f2e0 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 schema->minItems));.}....if.(iss
17f300 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 61 78 49 74 65 6d 73 29 20 26 26 20 63 6f 75 6e 74 28 24 et($schema->maxItems).&&.count($
17f320 76 61 6c 75 65 29 20 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 49 74 65 6d 73 29 20 7b 0a 24 74 value).>.$schema->maxItems).{.$t
17f340 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 72 65 20 6d 75 73 74 his->addError($path,.'There.must
17f360 20 62 65 20 61 20 6d 61 78 69 6d 75 6d 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 .be.a.maximum.of.'...$schema->ma
17f380 78 49 74 65 6d 73 20 2e 20 27 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 61 72 72 61 79 27 2c 20 xItems...'.items.in.the.array',.
17f3a0 27 6d 61 78 49 74 65 6d 73 27 2c 20 61 72 72 61 79 28 27 6d 61 78 49 74 65 6d 73 27 20 3d 3e 20 'maxItems',.array('maxItems'.=>.
17f3c0 24 73 63 68 65 6d 61 2d 3e 6d 61 78 49 74 65 6d 73 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 $schema->maxItems));.}....if.(is
17f3e0 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 75 6e 69 71 75 65 49 74 65 6d 73 29 20 26 26 20 24 73 63 set($schema->uniqueItems).&&.$sc
17f400 68 65 6d 61 2d 3e 75 6e 69 71 75 65 49 74 65 6d 73 29 20 7b 0a 24 75 6e 69 71 75 65 20 3d 20 24 hema->uniqueItems).{.$unique.=.$
17f420 76 61 6c 75 65 3b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 20 26 26 20 63 value;.if.(is_array($value).&&.c
17f440 6f 75 6e 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 75 6e 69 71 75 65 20 3d 20 61 72 72 61 79 5f ount($value)).{.$unique.=.array_
17f460 6d 61 70 28 66 75 6e 63 74 69 6f 6e 20 28 24 65 29 20 7b 0a 72 65 74 75 72 6e 20 76 61 72 5f 65 map(function.($e).{.return.var_e
17f480 78 70 6f 72 74 28 24 65 2c 20 74 72 75 65 29 3b 0a 7d 2c 20 24 76 61 6c 75 65 29 3b 0a 7d 0a 69 xport($e,.true);.},.$value);.}.i
17f4a0 66 20 28 63 6f 75 6e 74 28 61 72 72 61 79 5f 75 6e 69 71 75 65 28 24 75 6e 69 71 75 65 29 29 20 f.(count(array_unique($unique)).
17f4c0 21 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 !=.count($value)).{.$this->addEr
17f4e0 72 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 72 65 20 61 72 65 20 6e 6f 20 64 75 70 6c 69 63 61 ror($path,.'There.are.no.duplica
17f500 74 65 73 20 61 6c 6c 6f 77 65 64 20 69 6e 20 74 68 65 20 61 72 72 61 79 27 2c 20 27 75 6e 69 71 tes.allowed.in.the.array',.'uniq
17f520 75 65 49 74 65 6d 73 27 29 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 ueItems');.}.}....if.(isset($sch
17f540 65 6d 61 2d 3e 69 74 65 6d 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 49 74 ema->items)).{.$this->validateIt
17f560 65 6d 73 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b ems($value,.$schema,.$path,.$i);
17f580 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e .}.}..........protected.function
17f5a0 20 76 61 6c 69 64 61 74 65 49 74 65 6d 73 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 .validateItems(&$value,.$schema.
17f5c0 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c =.null,.JsonPointer.$path.=.null
17f5e0 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 73 63 ,.$i.=.null).{.if.(is_object($sc
17f600 68 65 6d 61 2d 3e 69 74 65 6d 73 29 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 76 61 6c 75 hema->items)).{...foreach.($valu
17f620 65 20 61 73 20 24 6b 20 3d 3e 20 26 24 76 29 20 7b 0a 24 69 6e 69 74 45 72 72 6f 72 73 20 3d 20 e.as.$k.=>.&$v).{.$initErrors.=.
17f640 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 63 68 $this->getErrors();....$this->ch
17f660 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 2c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 2c eckUndefined($v,.$schema->items,
17f680 20 24 70 61 74 68 2c 20 24 6b 29 3b 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 69 6e 69 74 45 .$path,.$k);....if.(count($initE
17f6a0 72 72 6f 72 73 29 20 3c 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 rrors).<.count($this->getErrors(
17f6c0 29 29 20 26 26 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c )).&&.(isset($schema->additional
17f6e0 49 74 65 6d 73 29 20 26 26 20 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 Items).&&.$schema->additionalIte
17f700 6d 73 20 21 3d 3d 20 66 61 6c 73 65 29 29 20 7b 0a 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 20 3d ms.!==.false)).{.$secondErrors.=
17f720 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 .$this->getErrors();.$this->chec
17f740 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 2c 20 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e kUndefined($v,.$schema->addition
17f760 61 6c 49 74 65 6d 73 2c 20 24 70 61 74 68 2c 20 24 6b 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 alItems,.$path,.$k);.}....if.(is
17f780 73 65 74 28 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 29 20 26 26 20 63 6f 75 6e 74 28 24 73 65 63 set($secondErrors).&&.count($sec
17f7a0 6f 6e 64 45 72 72 6f 72 73 29 20 3c 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 ondErrors).<.count($this->getErr
17f7c0 6f 72 73 28 29 29 29 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 73 65 63 6f 6e ors())).{.$this->errors.=.$secon
17f7e0 64 45 72 72 6f 72 73 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 73 65 63 6f 6e 64 dErrors;.}.elseif.(isset($second
17f800 45 72 72 6f 72 73 29 20 26 26 20 63 6f 75 6e 74 28 24 73 65 63 6f 6e 64 45 72 72 6f 72 73 29 20 Errors).&&.count($secondErrors).
17f820 3d 3d 3d 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 29 20 7b ===.count($this->getErrors())).{
17f840 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 69 6e 69 74 45 72 72 6f 72 73 3b 0a 7d 0a .$this->errors.=.$initErrors;.}.
17f860 7d 0a 75 6e 73 65 74 28 24 76 29 3b 20 0a 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 66 6f 72 65 61 63 }.unset($v);...}.else.{...foreac
17f880 68 20 28 24 76 61 6c 75 65 20 61 73 20 24 6b 20 3d 3e 20 26 24 76 29 20 7b 0a 69 66 20 28 61 72 h.($value.as.$k.=>.&$v).{.if.(ar
17f8a0 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 6b 2c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d ray_key_exists($k,.$schema->item
17f8c0 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 2c 20 s)).{.$this->checkUndefined($v,.
17f8e0 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 5b 24 6b 5d 2c 20 24 70 61 74 68 2c 20 24 6b 29 3b 0a $schema->items[$k],.$path,.$k);.
17f900 7d 20 65 6c 73 65 20 7b 0a 0a 20 69 66 20 28 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 }.else.{...if.(property_exists($
17f920 73 63 68 65 6d 61 2c 20 27 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 27 29 29 20 7b 0a 69 66 schema,.'additionalItems')).{.if
17f940 20 28 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 20 21 3d 3d 20 66 .($schema->additionalItems.!==.f
17f960 61 6c 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 alse).{.$this->checkUndefined($v
17f980 2c 20 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 2c 20 24 70 61 74 ,.$schema->additionalItems,.$pat
17f9a0 68 2c 20 24 6b 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 h,.$k);.}.else.{.$this->addError
17f9c0 28 0a 24 70 61 74 68 2c 20 27 54 68 65 20 69 74 65 6d 20 27 20 2e 20 24 69 20 2e 20 27 5b 27 20 (.$path,.'The.item.'...$i...'['.
17f9e0 2e 20 24 6b 20 2e 20 27 5d 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 61 6e 64 20 74 68 65 ..$k...'].is.not.defined.and.the
17fa00 20 64 65 66 69 6e 69 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 61 64 64 69 74 .definition.does.not.allow.addit
17fa20 69 6f 6e 61 6c 20 69 74 65 6d 73 27 2c 20 27 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 27 2c ional.items',.'additionalItems',
17fa40 20 61 72 72 61 79 28 27 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 27 20 3d 3e 20 24 73 63 68 .array('additionalItems'.=>.$sch
17fa60 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 49 74 65 6d 73 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 ema->additionalItems));.}.}.else
17fa80 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 2c 20 6e .{...$this->checkUndefined($v,.n
17faa0 65 77 20 5c 73 74 64 43 6c 61 73 73 28 29 2c 20 24 70 61 74 68 2c 20 24 6b 29 3b 0a 7d 0a 7d 0a ew.\stdClass(),.$path,.$k);.}.}.
17fac0 7d 0a 75 6e 73 65 74 28 24 76 29 3b 20 0a 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 76 61 6c }.unset($v);......if.(count($val
17fae0 75 65 29 20 3e 20 30 29 20 7b 0a 66 6f 72 20 28 24 6b 20 3d 20 63 6f 75 6e 74 28 24 76 61 6c 75 ue).>.0).{.for.($k.=.count($valu
17fb00 65 29 3b 20 24 6b 20 3c 20 63 6f 75 6e 74 28 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 29 3b 20 e);.$k.<.count($schema->items);.
17fb20 24 6b 2b 2b 29 20 7b 0a 24 75 6e 64 65 66 69 6e 65 64 49 6e 73 74 61 6e 63 65 20 3d 20 24 74 68 $k++).{.$undefinedInstance.=.$th
17fb40 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 is->factory->createInstanceFor('
17fb60 75 6e 64 65 66 69 6e 65 64 27 29 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e undefined');.$this->checkUndefin
17fb80 65 64 28 24 75 6e 64 65 66 69 6e 65 64 49 6e 73 74 61 6e 63 65 2c 20 24 73 63 68 65 6d 61 2d 3e ed($undefinedInstance,.$schema->
17fba0 69 74 65 6d 73 5b 24 6b 5d 2c 20 24 70 61 74 68 2c 20 24 6b 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d items[$k],.$path,.$k);.}.}.}.}.}
17fbc0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 .<?php.........namespace.JsonSch
17fbe0 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 ema\Constraints;..use.JsonSchema
17fc00 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 \Entity\JsonPointer;........abst
17fc20 72 61 63 74 20 63 6c 61 73 73 20 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 42 61 ract.class.Constraint.extends.Ba
17fc40 73 65 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 73 74 72 61 69 seConstraint.implements.Constrai
17fc60 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 72 6f 74 65 63 74 65 64 20 24 69 6e 6c 69 6e 65 53 ntInterface.{.protected.$inlineS
17fc80 63 68 65 6d 61 50 72 6f 70 65 72 74 79 20 3d 20 27 24 73 63 68 65 6d 61 27 3b 0a 0a 63 6f 6e 73 chemaProperty.=.'$schema';..cons
17fca0 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 4e 45 20 3d 20 30 78 30 30 30 30 30 30 30 30 3b 0a t.CHECK_MODE_NONE.=.0x00000000;.
17fcc0 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 52 4d 41 4c 20 3d 20 30 78 30 30 30 30 const.CHECK_MODE_NORMAL.=.0x0000
17fce0 30 30 30 31 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 54 59 50 45 5f 43 41 53 54 0001;.const.CHECK_MODE_TYPE_CAST
17fd00 20 3d 20 30 78 30 30 30 30 30 30 30 32 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f .=.0x00000002;.const.CHECK_MODE_
17fd20 43 4f 45 52 43 45 5f 54 59 50 45 53 20 3d 20 30 78 30 30 30 30 30 30 30 34 3b 0a 63 6f 6e 73 74 COERCE_TYPES.=.0x00000004;.const
17fd40 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 41 50 50 4c 59 5f 44 45 46 41 55 4c 54 53 20 3d 20 30 78 30 .CHECK_MODE_APPLY_DEFAULTS.=.0x0
17fd60 30 30 30 30 30 30 38 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 45 58 43 45 50 54 0000008;.const.CHECK_MODE_EXCEPT
17fd80 49 4f 4e 53 20 3d 20 30 78 30 30 30 30 30 30 31 30 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d IONS.=.0x00000010;.const.CHECK_M
17fda0 4f 44 45 5f 44 49 53 41 42 4c 45 5f 46 4f 52 4d 41 54 20 3d 20 30 78 30 30 30 30 30 30 32 30 3b ODE_DISABLE_FORMAT.=.0x00000020;
17fdc0 0a 63 6f 6e 73 74 20 43 48 45 43 4b 5f 4d 4f 44 45 5f 4f 4e 4c 59 5f 52 45 51 55 49 52 45 44 5f .const.CHECK_MODE_ONLY_REQUIRED_
17fde0 44 45 46 41 55 4c 54 53 20 3d 20 30 78 30 30 30 30 30 30 38 30 3b 0a 63 6f 6e 73 74 20 43 48 45 DEFAULTS.=.0x00000080;.const.CHE
17fe00 43 4b 5f 4d 4f 44 45 5f 56 41 4c 49 44 41 54 45 5f 53 43 48 45 4d 41 20 3d 20 30 78 30 30 30 30 CK_MODE_VALIDATE_SCHEMA.=.0x0000
17fe20 30 31 30 30 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 0100;..........protected.functio
17fe40 6e 20 69 6e 63 72 65 6d 65 6e 74 50 61 74 68 28 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 n.incrementPath(JsonPointer.$pat
17fe60 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 29 0a 7b 0a 24 70 61 74 68 20 3d 20 24 70 61 74 68 20 3f 3a h.=.null,.$i).{.$path.=.$path.?:
17fe80 20 6e 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 27 27 29 3b 0a 24 70 61 74 68 20 3d 20 24 70 .new.JsonPointer('');.$path.=.$p
17fea0 61 74 68 2d 3e 77 69 74 68 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 0a 61 72 72 61 79 5f 6d 65 ath->withPropertyPaths(.array_me
17fec0 72 67 65 28 0a 24 70 61 74 68 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 2c 0a rge(.$path->getPropertyPaths(),.
17fee0 61 72 72 61 79 5f 66 69 6c 74 65 72 28 61 72 72 61 79 28 24 69 29 2c 20 27 73 74 72 6c 65 6e 27 array_filter(array($i),.'strlen'
17ff00 29 0a 29 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a ).).);..return.$path;.}.........
17ff20 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 41 72 72 61 79 28 26 .protected.function.checkArray(&
17ff40 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e $value,.$schema.=.null,.JsonPoin
17ff60 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 ter.$path.=.null,.$i.=.null).{.$
17ff80 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 validator.=.$this->factory->crea
17ffa0 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 63 6f 6c 6c 65 63 74 69 6f 6e 27 29 3b 0a 24 76 61 teInstanceFor('collection');.$va
17ffc0 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 lidator->check($value,.$schema,.
17ffe0 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 $path,.$i);..$this->addErrors($v
180000 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a alidator->getErrors());.}.......
180020 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 4f 62 6a .....protected.function.checkObj
180040 65 63 74 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f ect(&$value,.$schema.=.null,.Jso
180060 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 6f 70 65 72 74 69 nPointer.$path.=.null,.$properti
180080 65 73 20 3d 20 6e 75 6c 6c 2c 0a 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 72 74 69 65 73 es.=.null,.$additionalProperties
1800a0 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 20 3d 20 6e 75 .=.null,.$patternProperties.=.nu
1800c0 6c 6c 2c 20 24 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a ll,.$appliedDefaults.=.array()).
1800e0 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 {.$validator.=.$this->factory->c
180100 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 6f 62 6a 65 63 74 27 29 3b 0a 24 76 61 6c reateInstanceFor('object');.$val
180120 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 idator->check($value,.$schema,.$
180140 70 61 74 68 2c 20 24 70 72 6f 70 65 72 74 69 65 73 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 path,.$properties,.$additionalPr
180160 6f 70 65 72 74 69 65 73 2c 20 24 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 2c 20 24 61 operties,.$patternProperties,.$a
180180 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f ppliedDefaults);..$this->addErro
1801a0 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a rs($validator->getErrors());.}..
1801c0 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b ........protected.function.check
1801e0 54 79 70 65 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 Type(&$value,.$schema.=.null,.Js
180200 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c onPointer.$path.=.null,.$i.=.nul
180220 6c 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 l).{.$validator.=.$this->factory
180240 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 74 79 70 65 27 29 3b 0a 24 76 61 ->createInstanceFor('type');.$va
180260 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 lidator->check($value,.$schema,.
180280 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 $path,.$i);..$this->addErrors($v
1802a0 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a alidator->getErrors());.}.......
1802c0 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 55 6e 64 65 66 ...protected.function.checkUndef
1802e0 69 6e 65 64 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 ined(&$value,.$schema.=.null,.Js
180300 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c onPointer.$path.=.null,.$i.=.nul
180320 6c 2c 20 24 66 72 6f 6d 44 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 76 61 6c 69 l,.$fromDefault.=.false).{.$vali
180340 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e dator.=.$this->factory->createIn
180360 73 74 61 6e 63 65 46 6f 72 28 27 75 6e 64 65 66 69 6e 65 64 27 29 3b 0a 0a 24 76 61 6c 69 64 61 stanceFor('undefined');..$valida
180380 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 tor->check($value,.$this->factor
1803a0 79 2d 3e 67 65 74 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 29 2d 3e 72 65 73 6f 6c 76 65 52 65 y->getSchemaStorage()->resolveRe
1803c0 66 53 63 68 65 6d 61 28 24 73 63 68 65 6d 61 29 2c 20 24 70 61 74 68 2c 20 24 69 2c 20 24 66 72 fSchema($schema),.$path,.$i,.$fr
1803e0 6f 6d 44 65 66 61 75 6c 74 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 omDefault);..$this->addErrors($v
180400 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a alidator->getErrors());.}.......
180420 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 53 74 72 69 6e ...protected.function.checkStrin
180440 67 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f g($value,.$schema.=.null,.JsonPo
180460 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b inter.$path.=.null,.$i.=.null).{
180480 0a 24 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 .$validator.=.$this->factory->cr
1804a0 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 73 74 72 69 6e 67 27 29 3b 0a 24 76 61 6c 69 eateInstanceFor('string');.$vali
1804c0 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 dator->check($value,.$schema,.$p
1804e0 61 74 68 2c 20 24 69 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c ath,.$i);..$this->addErrors($val
180500 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a idator->getErrors());.}.........
180520 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 4e 75 6d 62 65 72 28 .protected.function.checkNumber(
180540 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e $value,.$schema.=.null,.JsonPoin
180560 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 ter.$path.=.null,.$i.=.null).{.$
180580 76 61 6c 69 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 validator.=.$this->factory->crea
1805a0 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 6e 75 6d 62 65 72 27 29 3b 0a 24 76 61 6c 69 64 61 teInstanceFor('number');.$valida
1805c0 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 tor->check($value,.$schema,.$pat
1805e0 68 2c 20 24 69 29 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c 69 64 h,.$i);..$this->addErrors($valid
180600 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ator->getErrors());.}..........p
180620 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 45 6e 75 6d 28 24 76 61 6c rotected.function.checkEnum($val
180640 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 ue,.$schema.=.null,.JsonPointer.
180660 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 61 6c 69 $path.=.null,.$i.=.null).{.$vali
180680 64 61 74 6f 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e dator.=.$this->factory->createIn
1806a0 73 74 61 6e 63 65 46 6f 72 28 27 65 6e 75 6d 27 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 stanceFor('enum');.$validator->c
1806c0 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 heck($value,.$schema,.$path,.$i)
1806e0 3b 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e ;..$this->addErrors($validator->
180700 67 65 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 getErrors());.}..........protect
180720 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 46 6f 72 6d 61 74 28 24 76 61 6c 75 65 2c 20 ed.function.checkFormat($value,.
180740 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 $schema.=.null,.JsonPointer.$pat
180760 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 76 61 6c 69 64 61 74 6f h.=.null,.$i.=.null).{.$validato
180780 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e r.=.$this->factory->createInstan
1807a0 63 65 46 6f 72 28 27 66 6f 72 6d 61 74 27 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 ceFor('format');.$validator->che
1807c0 63 6b 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a ck($value,.$schema,.$path,.$i);.
1807e0 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 .$this->addErrors($validator->ge
180800 74 45 72 72 6f 72 73 28 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 tErrors());.}.......protected.fu
180820 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 nction.getTypeCheck().{.return.$
180840 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 3b 0a 7d this->factory->getTypeCheck();.}
180860 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 .......protected.function.conver
180880 74 4a 73 6f 6e 50 6f 69 6e 74 65 72 49 6e 74 6f 50 72 6f 70 65 72 74 79 50 61 74 68 28 4a 73 6f tJsonPointerIntoPropertyPath(Jso
1808a0 6e 50 6f 69 6e 74 65 72 20 24 70 6f 69 6e 74 65 72 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 nPointer.$pointer).{.$result.=.a
1808c0 72 72 61 79 5f 6d 61 70 28 0a 66 75 6e 63 74 69 6f 6e 20 28 24 70 61 74 68 29 20 7b 0a 72 65 74 rray_map(.function.($path).{.ret
1808e0 75 72 6e 20 73 70 72 69 6e 74 66 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 70 61 74 68 29 20 3f 20 urn.sprintf(is_numeric($path).?.
180900 27 5b 25 64 5d 27 20 3a 20 27 2e 25 73 27 2c 20 24 70 61 74 68 29 3b 0a 7d 2c 0a 24 70 6f 69 6e '[%d]'.:.'.%s',.$path);.},.$poin
180920 74 65 72 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 0a 29 3b 0a 0a 72 65 74 75 ter->getPropertyPaths().);..retu
180940 72 6e 20 74 72 69 6d 28 69 6d 70 6c 6f 64 65 28 27 27 2c 20 24 72 65 73 75 6c 74 29 2c 20 27 2e rn.trim(implode('',.$result),.'.
180960 27 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ');.}.}.<?php.........namespace.
180980 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f JsonSchema\Constraints;..use.Jso
1809a0 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a nSchema\Entity\JsonPointer;.....
1809c0 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a ..interface.ConstraintInterface.
1809e0 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 73 {......public.function.getErrors
180a00 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 72 72 ();.......public.function.addErr
180a20 6f 72 73 28 61 72 72 61 79 20 24 65 72 72 6f 72 73 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ors(array.$errors);..........pub
180a40 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 45 72 72 6f 72 28 4a 73 6f 6e 50 6f 69 6e 74 65 lic.function.addError(JsonPointe
180a60 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 73 74 r.$path.=.null,.$message,.$const
180a80 72 61 69 6e 74 3d 27 27 2c 20 61 72 72 61 79 20 24 6d 6f 72 65 20 3d 20 6e 75 6c 6c 29 3b 0a 0a raint='',.array.$more.=.null);..
180aa0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 28 29 3b 0a .....public.function.isValid();.
180ac0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 .............public.function.che
180ae0 63 6b 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e ck(&$value,.$schema.=.null,.Json
180b00 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 Pointer.$path.=.null,.$i.=.null)
180b20 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e ;.}.<?php.........namespace.Json
180b40 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 Schema\Constraints;..use.JsonSch
180b60 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 ema\Entity\JsonPointer;........c
180b80 6c 61 73 73 20 45 6e 75 6d 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 lass.EnumConstraint.extends.Cons
180ba0 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 traint.{....public.function.chec
180bc0 6b 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f k(&$element,.$schema.=.null,.Jso
180be0 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c nPointer.$path.=.null,.$i.=.null
180c00 29 0a 7b 0a 0a 20 69 66 20 28 24 65 6c 65 6d 65 6e 74 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e ).{...if.($element.instanceof.Un
180c20 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 20 26 26 20 28 21 69 73 73 65 74 28 24 73 63 definedConstraint.&&.(!isset($sc
180c40 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 20 7c 7c 20 21 24 73 63 68 65 6d 61 2d 3e 72 65 71 hema->required).||.!$schema->req
180c60 75 69 72 65 64 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 24 74 79 70 65 20 3d 20 67 65 74 74 uired)).{.return;.}.$type.=.gett
180c80 79 70 65 28 24 65 6c 65 6d 65 6e 74 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 ype($element);..foreach.($schema
180ca0 2d 3e 65 6e 75 6d 20 61 73 20 24 65 6e 75 6d 29 20 7b 0a 24 65 6e 75 6d 54 79 70 65 20 3d 20 67 ->enum.as.$enum).{.$enumType.=.g
180cc0 65 74 74 79 70 65 28 24 65 6e 75 6d 29 3b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 ettype($enum);.if.($this->factor
180ce0 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 54 59 y->getConfig(self::CHECK_MODE_TY
180d00 50 45 5f 43 41 53 54 29 20 26 26 20 24 74 79 70 65 20 3d 3d 20 27 61 72 72 61 79 27 20 26 26 20 PE_CAST).&&.$type.==.'array'.&&.
180d20 24 65 6e 75 6d 54 79 70 65 20 3d 3d 20 27 6f 62 6a 65 63 74 27 29 20 7b 0a 69 66 20 28 28 6f 62 $enumType.==.'object').{.if.((ob
180d40 6a 65 63 74 29 20 24 65 6c 65 6d 65 6e 74 20 3d 3d 20 24 65 6e 75 6d 29 20 7b 0a 72 65 74 75 72 ject).$element.==.$enum).{.retur
180d60 6e 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 74 79 70 65 20 3d 3d 3d 20 67 65 74 74 79 70 65 28 24 65 n;.}.}..if.($type.===.gettype($e
180d80 6e 75 6d 29 29 20 7b 0a 69 66 20 28 24 74 79 70 65 20 3d 3d 20 27 6f 62 6a 65 63 74 27 29 20 7b num)).{.if.($type.==.'object').{
180da0 0a 69 66 20 28 24 65 6c 65 6d 65 6e 74 20 3d 3d 20 24 65 6e 75 6d 29 20 7b 0a 72 65 74 75 72 6e .if.($element.==.$enum).{.return
180dc0 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 24 65 6c 65 6d 65 6e 74 20 3d 3d 3d 20 24 65 6e 75 6d ;.}.}.elseif.($element.===.$enum
180de0 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 ).{.return;.}.}.}..$this->addErr
180e00 6f 72 28 24 70 61 74 68 2c 20 27 44 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 20 76 61 6c 75 65 or($path,.'Does.not.have.a.value
180e20 20 69 6e 20 74 68 65 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 27 20 2e 20 6a 73 6f 6e 5f 65 6e 63 .in.the.enumeration.'...json_enc
180e40 6f 64 65 28 24 73 63 68 65 6d 61 2d 3e 65 6e 75 6d 29 2c 20 27 65 6e 75 6d 27 2c 20 61 72 72 61 ode($schema->enum),.'enum',.arra
180e60 79 28 27 65 6e 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 65 6e 75 6d 29 29 3b 0a 7d 0a 7d y('enum'.=>.$schema->enum));.}.}
180e80 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 .<?php.........namespace.JsonSch
180ea0 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 ema\Constraints;..use.JsonSchema
180ec0 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 \Exception\InvalidArgumentExcept
180ee0 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 53 63 68 65 6d 61 53 74 6f 72 61 67 ion;.use.JsonSchema\SchemaStorag
180f00 65 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 53 63 68 65 6d 61 53 74 6f 72 61 67 65 49 e;.use.JsonSchema\SchemaStorageI
180f20 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 55 72 69 nterface;.use.JsonSchema\Uri\Uri
180f40 52 65 74 72 69 65 76 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 52 65 74 Retriever;.use.JsonSchema\UriRet
180f60 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c rieverInterface;.use.JsonSchema\
180f80 56 61 6c 69 64 61 74 6f 72 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 61 63 74 6f 72 79 0a 7b 0a 0a Validator;.....class.Factory.{..
180fa0 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 73 63 68 65 6d 61 53 74 6f 72 61 67 65 3b 0a 0a 0a 0a 0a ..protected.$schemaStorage;.....
180fc0 70 72 6f 74 65 63 74 65 64 20 24 75 72 69 52 65 74 72 69 65 76 65 72 3b 0a 0a 0a 0a 0a 70 72 69 protected.$uriRetriever;.....pri
180fe0 76 61 74 65 20 24 63 68 65 63 6b 4d 6f 64 65 20 3d 20 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 vate.$checkMode.=.Constraint::CH
181000 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 52 4d 41 4c 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 74 79 ECK_MODE_NORMAL;.....private.$ty
181020 70 65 43 68 65 63 6b 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 peCheck.=.array();.....protected
181040 20 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 20 3d 20 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f .$errorContext.=.Validator::ERRO
181060 52 5f 44 4f 43 55 4d 45 4e 54 5f 56 41 4c 49 44 41 54 49 4f 4e 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 R_DOCUMENT_VALIDATION;.....prote
181080 63 74 65 64 20 24 63 6f 6e 73 74 72 61 69 6e 74 4d 61 70 20 3d 20 61 72 72 61 79 28 0a 27 61 72 cted.$constraintMap.=.array(.'ar
1810a0 72 61 79 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c ray'.=>.'JsonSchema\Constraints\
1810c0 43 6f 6c 6c 65 63 74 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 63 6f 6c 6c 65 63 74 69 CollectionConstraint',.'collecti
1810e0 6f 6e 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 43 on'.=>.'JsonSchema\Constraints\C
181100 6f 6c 6c 65 63 74 69 6f 6e 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 6f 62 6a 65 63 74 27 20 3d ollectionConstraint',.'object'.=
181120 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 4f 62 6a 65 63 74 >.'JsonSchema\Constraints\Object
181140 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 74 79 70 65 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 Constraint',.'type'.=>.'JsonSche
181160 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 54 79 70 65 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a ma\Constraints\TypeConstraint',.
181180 27 75 6e 64 65 66 69 6e 65 64 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 'undefined'.=>.'JsonSchema\Const
1811a0 72 61 69 6e 74 73 5c 55 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 73 74 raints\UndefinedConstraint',.'st
1811c0 72 69 6e 67 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 ring'.=>.'JsonSchema\Constraints
1811e0 5c 53 74 72 69 6e 67 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 6e 75 6d 62 65 72 27 20 3d 3e 20 \StringConstraint',.'number'.=>.
181200 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 4e 75 6d 62 65 72 43 6f 'JsonSchema\Constraints\NumberCo
181220 6e 73 74 72 61 69 6e 74 27 2c 0a 27 65 6e 75 6d 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 nstraint',.'enum'.=>.'JsonSchema
181240 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 45 6e 75 6d 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 66 \Constraints\EnumConstraint',.'f
181260 6f 72 6d 61 74 27 20 3d 3e 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 ormat'.=>.'JsonSchema\Constraint
181280 73 5c 46 6f 72 6d 61 74 43 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 73 63 68 65 6d 61 27 20 3d 3e s\FormatConstraint',.'schema'.=>
1812a0 20 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 53 63 68 65 6d 61 43 .'JsonSchema\Constraints\SchemaC
1812c0 6f 6e 73 74 72 61 69 6e 74 27 2c 0a 27 76 61 6c 69 64 61 74 6f 72 27 20 3d 3e 20 27 4a 73 6f 6e onstraint',.'validator'.=>.'Json
1812e0 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 27 0a 29 3b 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 Schema\Validator'.);.....private
181300 20 24 69 6e 73 74 61 6e 63 65 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a .$instanceCache.=.array();......
181320 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 0a 53 63 .public.function.__construct(.Sc
181340 68 65 6d 61 53 74 6f 72 61 67 65 49 6e 74 65 72 66 61 63 65 20 24 73 63 68 65 6d 61 53 74 6f 72 hemaStorageInterface.$schemaStor
181360 61 67 65 20 3d 20 6e 75 6c 6c 2c 0a 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 age.=.null,.UriRetrieverInterfac
181380 65 20 24 75 72 69 52 65 74 72 69 65 76 65 72 20 3d 20 6e 75 6c 6c 2c 0a 24 63 68 65 63 6b 4d 6f e.$uriRetriever.=.null,.$checkMo
1813a0 64 65 20 3d 20 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 52 4d de.=.Constraint::CHECK_MODE_NORM
1813c0 41 4c 0a 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 63 68 65 63 6b AL.).{...$this->setConfig($check
1813e0 4d 6f 64 65 29 3b 0a 0a 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 20 3d 20 24 75 Mode);..$this->uriRetriever.=.$u
181400 72 69 52 65 74 72 69 65 76 65 72 20 3f 3a 20 6e 65 77 20 55 72 69 52 65 74 72 69 65 76 65 72 28 riRetriever.?:.new.UriRetriever(
181420 29 3b 0a 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 53 74 6f 72 61 67 65 20 3d 20 24 73 63 68 65 6d );.$this->schemaStorage.=.$schem
181440 61 53 74 6f 72 61 67 65 20 3f 3a 20 6e 65 77 20 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 24 74 aStorage.?:.new.SchemaStorage($t
181460 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c his->uriRetriever);.}.......publ
181480 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 66 69 67 28 24 63 68 65 63 6b 4d 6f 64 65 ic.function.setConfig($checkMode
1814a0 20 3d 20 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 4e 4f 52 4d 41 4c .=.Constraint::CHECK_MODE_NORMAL
1814c0 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 20 3d 20 24 63 68 65 63 6b 4d 6f 64 ).{.$this->checkMode.=.$checkMod
1814e0 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6f e;.}.......public.function.addCo
181500 6e 66 69 67 28 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 nfig($options).{.$this->checkMod
181520 65 20 7c 3d 20 24 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 e.|=.$options;.}.......public.fu
181540 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 43 6f 6e 66 69 67 28 24 6f 70 74 69 6f 6e 73 29 0a 7b 0a nction.removeConfig($options).{.
181560 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 20 26 3d 20 7e 24 6f 70 74 69 6f 6e 73 3b 0a 7d $this->checkMode.&=.~$options;.}
181580 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 66 .........public.function.getConf
1815a0 69 67 28 24 6f 70 74 69 6f 6e 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 6f 70 74 69 6f ig($options.=.null).{.if.($optio
1815c0 6e 73 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 65 ns.===.null).{.return.$this->che
1815e0 63 6b 4d 6f 64 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f ckMode;.}..return.$this->checkMo
181600 64 65 20 26 20 24 6f 70 74 69 6f 6e 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 de.&.$options;.}.....public.func
181620 74 69 6f 6e 20 67 65 74 55 72 69 52 65 74 72 69 65 76 65 72 28 29 0a 7b 0a 72 65 74 75 72 6e 20 tion.getUriRetriever().{.return.
181640 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 $this->uriRetriever;.}..public.f
181660 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 29 0a 7b 0a 72 65 74 unction.getSchemaStorage().{.ret
181680 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 53 74 6f 72 61 67 65 3b 0a 7d 0a 0a 70 75 62 urn.$this->schemaStorage;.}..pub
1816a0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 0a 7b 0a 69 66 lic.function.getTypeCheck().{.if
1816c0 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 74 79 70 65 43 68 65 63 6b 5b 24 74 68 69 73 2d .(!isset($this->typeCheck[$this-
1816e0 3e 63 68 65 63 6b 4d 6f 64 65 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 74 79 70 65 43 68 65 63 6b >checkMode])).{.$this->typeCheck
181700 5b 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 5d 20 3d 20 28 24 74 68 69 73 2d 3e 63 68 65 [$this->checkMode].=.($this->che
181720 63 6b 4d 6f 64 65 20 26 20 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f ckMode.&.Constraint::CHECK_MODE_
181740 54 59 50 45 5f 43 41 53 54 29 0a 3f 20 6e 65 77 20 54 79 70 65 43 68 65 63 6b 5c 4c 6f 6f 73 65 TYPE_CAST).?.new.TypeCheck\Loose
181760 54 79 70 65 43 68 65 63 6b 28 29 0a 3a 20 6e 65 77 20 54 79 70 65 43 68 65 63 6b 5c 53 74 72 69 TypeCheck().:.new.TypeCheck\Stri
181780 63 74 54 79 70 65 43 68 65 63 6b 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e ctTypeCheck();.}..return.$this->
1817a0 74 79 70 65 43 68 65 63 6b 5b 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 6f 64 65 5d 3b 0a 7d 0a 0a typeCheck[$this->checkMode];.}..
1817c0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 6f 6e 73 74 72 61 ......public.function.setConstra
1817e0 69 6e 74 43 6c 61 73 73 28 24 6e 61 6d 65 2c 20 24 63 6c 61 73 73 29 0a 7b 0a 0a 20 69 66 20 28 intClass($name,.$class).{...if.(
181800 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 24 63 6c 61 73 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e !class_exists($class)).{.throw.n
181820 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 55 6e 6b ew.InvalidArgumentException('Unk
181840 6e 6f 77 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 27 20 2e 20 24 6e 61 6d 65 29 3b 0a 7d 0a 0a 20 nown.constraint.'...$name);.}...
181860 69 66 20 28 21 69 6e 5f 61 72 72 61 79 28 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 if.(!in_array('JsonSchema\Constr
181880 61 69 6e 74 73 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 27 2c 20 63 6c 61 73 aints\ConstraintInterface',.clas
1818a0 73 5f 69 6d 70 6c 65 6d 65 6e 74 73 28 24 63 6c 61 73 73 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e s_implements($class))).{.throw.n
1818c0 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 ew.InvalidArgumentException('Inv
1818e0 61 6c 69 64 20 63 6c 61 73 73 20 27 20 2e 20 24 6e 61 6d 65 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e alid.class.'...$name);.}.$this->
181900 63 6f 6e 73 74 72 61 69 6e 74 4d 61 70 5b 24 6e 61 6d 65 5d 20 3d 20 24 63 6c 61 73 73 3b 0a 0a constraintMap[$name].=.$class;..
181920 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 return.$this;.}...........public
181940 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 24 63 6f 6e .function.createInstanceFor($con
181960 73 74 72 61 69 6e 74 4e 61 6d 65 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d straintName).{.if.(!isset($this-
181980 3e 63 6f 6e 73 74 72 61 69 6e 74 4d 61 70 5b 24 63 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 5d 29 >constraintMap[$constraintName])
1819a0 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 ).{.throw.new.InvalidArgumentExc
1819c0 65 70 74 69 6f 6e 28 27 55 6e 6b 6e 6f 77 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 27 20 2e 20 24 eption('Unknown.constraint.'...$
1819e0 63 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 constraintName);.}..if.(!isset($
181a00 74 68 69 73 2d 3e 69 6e 73 74 61 6e 63 65 43 61 63 68 65 5b 24 63 6f 6e 73 74 72 61 69 6e 74 4e this->instanceCache[$constraintN
181a20 61 6d 65 5d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 69 6e 73 74 61 6e 63 65 43 61 63 68 65 5b 24 63 ame])).{.$this->instanceCache[$c
181a40 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 5d 20 3d 20 6e 65 77 20 24 74 68 69 73 2d 3e 63 6f 6e 73 onstraintName].=.new.$this->cons
181a60 74 72 61 69 6e 74 4d 61 70 5b 24 63 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 5d 28 24 74 68 69 73 traintMap[$constraintName]($this
181a80 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 6c 6f 6e 65 20 24 74 68 69 73 2d 3e 69 6e 73 74 61 6e );.}..return.clone.$this->instan
181aa0 63 65 43 61 63 68 65 5b 24 63 6f 6e 73 74 72 61 69 6e 74 4e 61 6d 65 5d 3b 0a 7d 0a 0a 0a 0a 0a ceCache[$constraintName];.}.....
181ac0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 72 72 6f 72 43 6f 6e 74 65 78 ..public.function.getErrorContex
181ae0 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 72 72 6f 72 43 6f 6e 74 65 78 74 t().{.return.$this->errorContext
181b00 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 72 72 ;.}.......public.function.setErr
181b20 6f 72 43 6f 6e 74 65 78 74 28 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 29 0a 7b 0a 24 74 68 69 73 orContext($errorContext).{.$this
181b40 2d 3e 65 72 72 6f 72 43 6f 6e 74 65 78 74 20 3d 20 24 65 72 72 6f 72 43 6f 6e 74 65 78 74 3b 0a ->errorContext.=.$errorContext;.
181b60 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e }.}.<?php.........namespace.Json
181b80 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 Schema\Constraints;..use.JsonSch
181ba0 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 75 73 65 20 4a 73 6f 6e ema\Entity\JsonPointer;.use.Json
181bc0 53 63 68 65 6d 61 5c 52 66 63 33 33 33 39 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 6f Schema\Rfc3339;.........class.Fo
181be0 72 6d 61 74 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e rmatConstraint.extends.Constrain
181c00 74 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 65 t.{....public.function.check(&$e
181c20 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e lement,.$schema.=.null,.JsonPoin
181c40 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 ter.$path.=.null,.$i.=.null).{.i
181c60 66 20 28 21 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 20 7c 7c 20 24 74 f.(!isset($schema->format).||.$t
181c80 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 his->factory->getConfig(self::CH
181ca0 45 43 4b 5f 4d 4f 44 45 5f 44 49 53 41 42 4c 45 5f 46 4f 52 4d 41 54 29 29 20 7b 0a 72 65 74 75 ECK_MODE_DISABLE_FORMAT)).{.retu
181cc0 72 6e 3b 0a 7d 0a 0a 73 77 69 74 63 68 20 28 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 20 rn;.}..switch.($schema->format).
181ce0 7b 0a 63 61 73 65 20 27 64 61 74 65 27 3a 0a 69 66 20 28 21 24 64 61 74 65 20 3d 20 24 74 68 69 {.case.'date':.if.(!$date.=.$thi
181d00 73 2d 3e 76 61 6c 69 64 61 74 65 44 61 74 65 54 69 6d 65 28 24 65 6c 65 6d 65 6e 74 2c 20 27 59 s->validateDateTime($element,.'Y
181d20 2d 6d 2d 64 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c -m-d')).{.$this->addError($path,
181d40 20 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 64 61 74 65 20 25 73 2c 20 65 78 70 65 63 .sprintf('Invalid.date.%s,.expec
181d60 74 65 64 20 66 6f 72 6d 61 74 20 59 59 59 59 2d 4d 4d 2d 44 44 27 2c 20 6a 73 6f 6e 5f 65 6e 63 ted.format.YYYY-MM-DD',.json_enc
181d80 6f 64 65 28 24 65 6c 65 6d 65 6e 74 29 29 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 ode($element)),.'format',.array(
181da0 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 'format'.=>.$schema->format));.}
181dc0 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 74 69 6d 65 27 3a 0a 69 66 20 28 21 24 74 68 69 73 .break;..case.'time':.if.(!$this
181de0 2d 3e 76 61 6c 69 64 61 74 65 44 61 74 65 54 69 6d 65 28 24 65 6c 65 6d 65 6e 74 2c 20 27 48 3a ->validateDateTime($element,.'H:
181e00 69 3a 73 27 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 i:s')).{.$this->addError($path,.
181e20 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 74 69 6d 65 20 25 73 2c 20 65 78 70 65 63 74 sprintf('Invalid.time.%s,.expect
181e40 65 64 20 66 6f 72 6d 61 74 20 68 68 3a 6d 6d 3a 73 73 27 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 ed.format.hh:mm:ss',.json_encode
181e60 28 24 65 6c 65 6d 65 6e 74 29 29 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f ($element)),.'format',.array('fo
181e80 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 rmat'.=>.$schema->format));.}.br
181ea0 65 61 6b 3b 0a 0a 63 61 73 65 20 27 64 61 74 65 2d 74 69 6d 65 27 3a 0a 69 66 20 28 6e 75 6c 6c eak;..case.'date-time':.if.(null
181ec0 20 3d 3d 3d 20 52 66 63 33 33 33 39 3a 3a 63 72 65 61 74 65 46 72 6f 6d 53 74 72 69 6e 67 28 24 .===.Rfc3339::createFromString($
181ee0 65 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 element)).{.$this->addError($pat
181f00 68 2c 20 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c 69 64 20 64 61 74 65 2d 74 69 6d 65 20 25 73 h,.sprintf('Invalid.date-time.%s
181f20 2c 20 65 78 70 65 63 74 65 64 20 66 6f 72 6d 61 74 20 59 59 59 59 2d 4d 4d 2d 44 44 54 68 68 3a ,.expected.format.YYYY-MM-DDThh:
181f40 6d 6d 3a 73 73 5a 20 6f 72 20 59 59 59 59 2d 4d 4d 2d 44 44 54 68 68 3a 6d 6d 3a 73 73 2b 68 68 mm:ssZ.or.YYYY-MM-DDThh:mm:ss+hh
181f60 3a 6d 6d 27 2c 20 6a 73 6f 6e 5f 65 6e 63 6f 64 65 28 24 65 6c 65 6d 65 6e 74 29 29 2c 20 27 66 :mm',.json_encode($element)),.'f
181f80 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d ormat',.array('format'.=>.$schem
181fa0 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 75 74 63 a->format));.}.break;..case.'utc
181fc0 2d 6d 69 6c 6c 69 73 65 63 27 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 -millisec':.if.(!$this->validate
181fe0 44 61 74 65 54 69 6d 65 28 24 65 6c 65 6d 65 6e 74 2c 20 27 55 27 29 29 20 7b 0a 24 74 68 69 73 DateTime($element,.'U')).{.$this
182000 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 73 70 72 69 6e 74 66 28 27 49 6e 76 61 6c ->addError($path,.sprintf('Inval
182020 69 64 20 74 69 6d 65 20 25 73 2c 20 65 78 70 65 63 74 65 64 20 69 6e 74 65 67 65 72 20 6f 66 20 id.time.%s,.expected.integer.of.
182040 6d 69 6c 6c 69 73 65 63 6f 6e 64 73 20 73 69 6e 63 65 20 45 70 6f 63 68 27 2c 20 6a 73 6f 6e 5f milliseconds.since.Epoch',.json_
182060 65 6e 63 6f 64 65 28 24 65 6c 65 6d 65 6e 74 29 29 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 encode($element)),.'format',.arr
182080 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 ay('format'.=>.$schema->format))
1820a0 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 72 65 67 65 78 27 3a 0a 69 66 20 28 21 24 ;.}.break;..case.'regex':.if.(!$
1820c0 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b this->validateRegex($element)).{
1820e0 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 .$this->addError($path,.'Invalid
182100 20 72 65 67 65 78 20 66 6f 72 6d 61 74 20 27 20 2e 20 24 65 6c 65 6d 65 6e 74 2c 20 27 66 6f 72 .regex.format.'...$element,.'for
182120 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d mat',.array('format'.=>.$schema-
182140 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 63 6f 6c 6f 72 >format));.}.break;..case.'color
182160 27 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 43 6f 6c 6f 72 28 24 65 6c ':.if.(!$this->validateColor($el
182180 65 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c ement)).{.$this->addError($path,
1821a0 20 27 49 6e 76 61 6c 69 64 20 63 6f 6c 6f 72 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 .'Invalid.color',.'format',.arra
1821c0 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b y('format'.=>.$schema->format));
1821e0 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 73 74 79 6c 65 27 3a 0a 69 66 20 28 21 24 74 .}.break;..case.'style':.if.(!$t
182200 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 53 74 79 6c 65 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b 0a his->validateStyle($element)).{.
182220 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 $this->addError($path,.'Invalid.
182240 73 74 79 6c 65 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 style',.'format',.array('format'
182260 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a .=>.$schema->format));.}.break;.
182280 0a 63 61 73 65 20 27 70 68 6f 6e 65 27 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c 69 64 .case.'phone':.if.(!$this->valid
1822a0 61 74 65 50 68 6f 6e 65 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 atePhone($element)).{.$this->add
1822c0 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 70 68 6f 6e 65 20 6e 75 6d 62 Error($path,.'Invalid.phone.numb
1822e0 65 72 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e er',.'format',.array('format'.=>
182300 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 .$schema->format));.}.break;..ca
182320 73 65 20 27 75 72 69 27 3a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 66 69 6c 74 65 72 5f 76 61 se.'uri':.if.(null.===.filter_va
182340 72 28 24 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 2c r($element,.FILTER_VALIDATE_URL,
182360 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 29 29 20 7b 0a 24 74 68 69 .FILTER_NULL_ON_FAILURE)).{.$thi
182380 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 55 52 4c 20 s->addError($path,.'Invalid.URL.
1823a0 66 6f 72 6d 61 74 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 format',.'format',.array('format
1823c0 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b '.=>.$schema->format));.}.break;
1823e0 0a 0a 63 61 73 65 20 27 75 72 69 72 65 66 27 3a 0a 63 61 73 65 20 27 75 72 69 2d 72 65 66 65 72 ..case.'uriref':.case.'uri-refer
182400 65 6e 63 65 27 3a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 ence':.if.(null.===.filter_var($
182420 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 2c 20 46 49 element,.FILTER_VALIDATE_URL,.FI
182440 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 29 29 20 7b 0a 0a 20 0a 20 0a 20 69 LTER_NULL_ON_FAILURE)).{.......i
182460 66 20 28 73 75 62 73 74 72 28 24 65 6c 65 6d 65 6e 74 2c 20 30 2c 20 32 29 20 3d 3d 3d 20 27 2f f.(substr($element,.0,.2).===.'/
182480 2f 27 29 20 7b 20 0a 20 24 76 61 6c 69 64 55 52 4c 20 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 27 /').{...$validURL.=.filter_var('
1824a0 73 63 68 65 6d 65 3a 27 20 2e 20 24 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 scheme:'...$element,.FILTER_VALI
1824c0 44 41 54 45 5f 55 52 4c 2c 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 DATE_URL,.FILTER_NULL_ON_FAILURE
1824e0 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 75 62 73 74 72 28 24 65 6c 65 6d 65 6e 74 2c 20 30 2c );.}.elseif.(substr($element,.0,
182500 20 31 29 20 3d 3d 3d 20 27 2f 27 29 20 7b 20 0a 20 24 76 61 6c 69 64 55 52 4c 20 3d 20 66 69 6c .1).===.'/').{...$validURL.=.fil
182520 74 65 72 5f 76 61 72 28 27 73 63 68 65 6d 65 3a 2f 2f 68 6f 73 74 27 20 2e 20 24 65 6c 65 6d 65 ter_var('scheme://host'...$eleme
182540 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 2c 20 46 49 4c 54 45 52 5f nt,.FILTER_VALIDATE_URL,.FILTER_
182560 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 73 74 72 6c NULL_ON_FAILURE);.}.elseif.(strl
182580 65 6e 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b 20 0a 20 24 70 61 74 68 50 61 72 74 73 20 3d 20 65 en($element)).{...$pathParts.=.e
1825a0 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 65 6c 65 6d 65 6e 74 2c 20 32 29 3b 0a 69 66 20 28 73 74 xplode('/',.$element,.2);.if.(st
1825c0 72 70 6f 73 28 24 70 61 74 68 50 61 72 74 73 5b 30 5d 2c 20 27 3a 27 29 20 21 3d 3d 20 66 61 6c rpos($pathParts[0],.':').!==.fal
1825e0 73 65 29 20 7b 0a 24 76 61 6c 69 64 55 52 4c 20 3d 20 6e 75 6c 6c 3b 0a 7d 20 65 6c 73 65 20 7b se).{.$validURL.=.null;.}.else.{
182600 0a 24 76 61 6c 69 64 55 52 4c 20 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 27 73 63 68 65 6d 65 3a .$validURL.=.filter_var('scheme:
182620 2f 2f 68 6f 73 74 2f 27 20 2e 20 24 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 //host/'...$element,.FILTER_VALI
182640 44 41 54 45 5f 55 52 4c 2c 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 DATE_URL,.FILTER_NULL_ON_FAILURE
182660 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 61 6c 69 64 55 52 4c 20 3d 20 6e 75 6c 6c 3b 0a );.}.}.else.{.$validURL.=.null;.
182680 7d 0a 69 66 20 28 24 76 61 6c 69 64 55 52 4c 20 3d 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 74 68 69 }.if.($validURL.===.null).{.$thi
1826a0 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 55 52 4c 20 s->addError($path,.'Invalid.URL.
1826c0 66 6f 72 6d 61 74 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 format',.'format',.array('format
1826e0 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 7d 0a 62 72 65 61 '.=>.$schema->format));.}.}.brea
182700 6b 3b 0a 0a 63 61 73 65 20 27 65 6d 61 69 6c 27 3a 0a 24 66 69 6c 74 65 72 46 6c 61 67 73 20 3d k;..case.'email':.$filterFlags.=
182720 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 3b 0a 69 66 20 28 64 65 66 .FILTER_NULL_ON_FAILURE;.if.(def
182740 69 6e 65 64 28 27 46 49 4c 54 45 52 5f 46 4c 41 47 5f 45 4d 41 49 4c 5f 55 4e 49 43 4f 44 45 27 ined('FILTER_FLAG_EMAIL_UNICODE'
182760 29 29 20 7b 0a 0a 20 24 66 69 6c 74 65 72 46 6c 61 67 73 20 7c 3d 20 63 6f 6e 73 74 61 6e 74 28 )).{...$filterFlags.|=.constant(
182780 27 46 49 4c 54 45 52 5f 46 4c 41 47 5f 45 4d 41 49 4c 5f 55 4e 49 43 4f 44 45 27 29 3b 20 0a 20 'FILTER_FLAG_EMAIL_UNICODE');...
1827a0 7d 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 65 6c 65 6d 65 }.if.(null.===.filter_var($eleme
1827c0 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 45 4d 41 49 4c 2c 20 24 66 69 6c 74 nt,.FILTER_VALIDATE_EMAIL,.$filt
1827e0 65 72 46 6c 61 67 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 erFlags)).{.$this->addError($pat
182800 68 2c 20 27 49 6e 76 61 6c 69 64 20 65 6d 61 69 6c 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 h,.'Invalid.email',.'format',.ar
182820 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 ray('format'.=>.$schema->format)
182840 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 70 2d 61 64 64 72 65 73 73 27 3a 0a );.}.break;..case.'ip-address':.
182860 63 61 73 65 20 27 69 70 76 34 27 3a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 66 69 6c 74 65 72 case.'ipv4':.if.(null.===.filter
182880 5f 76 61 72 28 24 65 6c 65 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 49 _var($element,.FILTER_VALIDATE_I
1828a0 50 2c 20 46 49 4c 54 45 52 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 20 7c 20 46 49 4c 54 P,.FILTER_NULL_ON_FAILURE.|.FILT
1828c0 45 52 5f 46 4c 41 47 5f 49 50 56 34 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 ER_FLAG_IPV4)).{.$this->addError
1828e0 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 49 50 20 61 64 64 72 65 73 73 27 2c 20 27 66 ($path,.'Invalid.IP.address',.'f
182900 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d ormat',.array('format'.=>.$schem
182920 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 69 70 76 a->format));.}.break;..case.'ipv
182940 36 27 3a 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 66 69 6c 74 65 72 5f 76 61 72 28 24 65 6c 65 6':.if.(null.===.filter_var($ele
182960 6d 65 6e 74 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 49 50 2c 20 46 49 4c 54 45 52 ment,.FILTER_VALIDATE_IP,.FILTER
182980 5f 4e 55 4c 4c 5f 4f 4e 5f 46 41 49 4c 55 52 45 20 7c 20 46 49 4c 54 45 52 5f 46 4c 41 47 5f 49 _NULL_ON_FAILURE.|.FILTER_FLAG_I
1829a0 50 56 36 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 PV6)).{.$this->addError($path,.'
1829c0 49 6e 76 61 6c 69 64 20 49 50 20 61 64 64 72 65 73 73 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 Invalid.IP.address',.'format',.a
1829e0 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 rray('format'.=>.$schema->format
182a00 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 63 61 73 65 20 27 68 6f 73 74 2d 6e 61 6d 65 27 3a 0a ));.}.break;..case.'host-name':.
182a20 63 61 73 65 20 27 68 6f 73 74 6e 61 6d 65 27 3a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 76 61 6c case.'hostname':.if.(!$this->val
182a40 69 64 61 74 65 48 6f 73 74 6e 61 6d 65 28 24 65 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 74 68 69 73 idateHostname($element)).{.$this
182a60 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 6e 76 61 6c 69 64 20 68 6f 73 74 6e ->addError($path,.'Invalid.hostn
182a80 61 6d 65 27 2c 20 27 66 6f 72 6d 61 74 27 2c 20 61 72 72 61 79 28 27 66 6f 72 6d 61 74 27 20 3d ame',.'format',.array('format'.=
182aa0 3e 20 24 73 63 68 65 6d 61 2d 3e 66 6f 72 6d 61 74 29 29 3b 0a 7d 0a 62 72 65 61 6b 3b 0a 0a 64 >.$schema->format));.}.break;..d
182ac0 65 66 61 75 6c 74 3a 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 20 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a efault:.............break;.}.}..
182ae0 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 44 61 74 65 54 protected.function.validateDateT
182b00 69 6d 65 28 24 64 61 74 65 74 69 6d 65 2c 20 24 66 6f 72 6d 61 74 29 0a 7b 0a 24 64 74 20 3d 20 ime($datetime,.$format).{.$dt.=.
182b20 5c 44 61 74 65 54 69 6d 65 3a 3a 63 72 65 61 74 65 46 72 6f 6d 46 6f 72 6d 61 74 28 24 66 6f 72 \DateTime::createFromFormat($for
182b40 6d 61 74 2c 20 24 64 61 74 65 74 69 6d 65 29 3b 0a 0a 69 66 20 28 21 24 64 74 29 20 7b 0a 72 65 mat,.$datetime);..if.(!$dt).{.re
182b60 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 64 61 74 65 74 69 6d 65 20 3d 3d 3d turn.false;.}..if.($datetime.===
182b80 20 24 64 74 2d 3e 66 6f 72 6d 61 74 28 24 66 6f 72 6d 61 74 29 29 20 7b 0a 72 65 74 75 72 6e 20 .$dt->format($format)).{.return.
182ba0 74 72 75 65 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 0a 20 69 66 20 28 28 73 74 72 70 6f 73 28 27 75 27 true;.}..........if.((strpos('u'
182bc0 2c 20 24 66 6f 72 6d 61 74 29 20 21 3d 3d 20 2d 31 29 20 26 26 20 28 70 72 65 67 5f 6d 61 74 63 ,.$format).!==.-1).&&.(preg_matc
182be0 68 28 27 2f 5c 2e 5c 64 2b 5a 24 2f 27 2c 20 24 64 61 74 65 74 69 6d 65 29 29 29 20 7b 0a 72 65 h('/\.\d+Z$/',.$datetime))).{.re
182c00 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 70 turn.true;.}..return.false;.}..p
182c20 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 52 65 67 65 78 28 rotected.function.validateRegex(
182c40 24 72 65 67 65 78 29 0a 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 20 21 3d 3d 20 40 70 72 65 67 $regex).{.return.false.!==.@preg
182c60 5f 6d 61 74 63 68 28 27 2f 27 20 2e 20 24 72 65 67 65 78 20 2e 20 27 2f 75 27 2c 20 27 27 29 3b _match('/'...$regex...'/u',.'');
182c80 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 43 .}..protected.function.validateC
182ca0 6f 6c 6f 72 28 24 63 6f 6c 6f 72 29 0a 7b 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 73 74 72 74 olor($color).{.if.(in_array(strt
182cc0 6f 6c 6f 77 65 72 28 24 63 6f 6c 6f 72 29 2c 20 61 72 72 61 79 28 27 61 71 75 61 27 2c 20 27 62 olower($color),.array('aqua',.'b
182ce0 6c 61 63 6b 27 2c 20 27 62 6c 75 65 27 2c 20 27 66 75 63 68 73 69 61 27 2c 0a 27 67 72 61 79 27 lack',.'blue',.'fuchsia',.'gray'
182d00 2c 20 27 67 72 65 65 6e 27 2c 20 27 6c 69 6d 65 27 2c 20 27 6d 61 72 6f 6f 6e 27 2c 20 27 6e 61 ,.'green',.'lime',.'maroon',.'na
182d20 76 79 27 2c 20 27 6f 6c 69 76 65 27 2c 20 27 6f 72 61 6e 67 65 27 2c 20 27 70 75 72 70 6c 65 27 vy',.'olive',.'orange',.'purple'
182d40 2c 0a 27 72 65 64 27 2c 20 27 73 69 6c 76 65 72 27 2c 20 27 74 65 61 6c 27 2c 20 27 77 68 69 74 ,.'red',.'silver',.'teal',.'whit
182d60 65 27 2c 20 27 79 65 6c 6c 6f 77 27 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d e',.'yellow'))).{.return.true;.}
182d80 0a 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 23 28 5b 61 2d 66 30 2d 39 ..return.preg_match('/^#([a-f0-9
182da0 5d 7b 33 7d 7c 5b 61 2d 66 30 2d 39 5d 7b 36 7d 29 24 2f 69 27 2c 20 24 63 6f 6c 6f 72 29 3b 0a ]{3}|[a-f0-9]{6})$/i',.$color);.
182dc0 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 53 74 }..protected.function.validateSt
182de0 79 6c 65 28 24 73 74 79 6c 65 29 0a 7b 0a 24 70 72 6f 70 65 72 74 69 65 73 20 3d 20 65 78 70 6c yle($style).{.$properties.=.expl
182e00 6f 64 65 28 27 3b 27 2c 20 72 74 72 69 6d 28 24 73 74 79 6c 65 2c 20 27 3b 27 29 29 3b 0a 24 69 ode(';',.rtrim($style,.';'));.$i
182e20 6e 76 61 6c 69 64 45 6e 74 72 69 65 73 20 3d 20 70 72 65 67 5f 67 72 65 70 28 27 2f 5e 5c 73 2a nvalidEntries.=.preg_grep('/^\s*
182e40 5b 2d 61 2d 7a 5d 2b 5c 73 2a 3a 5c 73 2a 2e 2b 24 2f 69 27 2c 20 24 70 72 6f 70 65 72 74 69 65 [-a-z]+\s*:\s*.+$/i',.$propertie
182e60 73 2c 20 50 52 45 47 5f 47 52 45 50 5f 49 4e 56 45 52 54 29 3b 0a 0a 72 65 74 75 72 6e 20 65 6d s,.PREG_GREP_INVERT);..return.em
182e80 70 74 79 28 24 69 6e 76 61 6c 69 64 45 6e 74 72 69 65 73 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 pty($invalidEntries);.}..protect
182ea0 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 50 68 6f 6e 65 28 24 70 68 6f 6e 65 ed.function.validatePhone($phone
182ec0 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 5c 2b 3f 28 5c 28 5c ).{.return.preg_match('/^\+?(\(\
182ee0 64 7b 33 7d 5c 29 7c 5c 64 7b 33 7d 29 20 5c 64 7b 33 7d 20 5c 64 7b 34 7d 24 2f 27 2c 20 24 70 d{3}\)|\d{3}).\d{3}.\d{4}$/',.$p
182f00 68 6f 6e 65 29 3b 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c hone);.}..protected.function.val
182f20 69 64 61 74 65 48 6f 73 74 6e 61 6d 65 28 24 68 6f 73 74 29 0a 7b 0a 24 68 6f 73 74 6e 61 6d 65 idateHostname($host).{.$hostname
182f40 52 65 67 65 78 20 3d 20 27 2f 5e 28 28 5b 61 2d 7a 41 2d 5a 30 2d 39 5d 7c 5b 61 2d 7a 41 2d 5a Regex.=.'/^(([a-zA-Z0-9]|[a-zA-Z
182f60 30 2d 39 5d 5b 61 2d 7a 41 2d 5a 30 2d 39 5c 2d 5d 2a 5b 61 2d 7a 41 2d 5a 30 2d 39 5d 29 5c 2e 0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.
182f80 29 2a 28 5b 41 2d 5a 61 2d 7a 30 2d 39 5d 7c 5b 41 2d 5a 61 2d 7a 30 2d 39 5d 5b 41 2d 5a 61 2d )*([A-Za-z0-9]|[A-Za-z0-9][A-Za-
182fa0 7a 30 2d 39 5c 2d 5d 2a 5b 41 2d 5a 61 2d 7a 30 2d 39 5d 29 24 2f 69 27 3b 0a 0a 72 65 74 75 72 z0-9\-]*[A-Za-z0-9])$/i';..retur
182fc0 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 24 68 6f 73 74 6e 61 6d 65 52 65 67 65 78 2c 20 24 68 6f n.preg_match($hostnameRegex,.$ho
182fe0 73 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 st);.}.}.<?php.........namespace
183000 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 .JsonSchema\Constraints;..use.Js
183020 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a onSchema\Entity\JsonPointer;....
183040 0a 0a 0a 0a 63 6c 61 73 73 20 4e 75 6d 62 65 72 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e ....class.NumberConstraint.exten
183060 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 ds.Constraint.{....public.functi
183080 6f 6e 20 63 68 65 63 6b 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 on.check(&$element,.$schema.=.nu
1830a0 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 ll,.JsonPointer.$path.=.null,.$i
1830c0 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e .=.null).{...if.(isset($schema->
1830e0 65 78 63 6c 75 73 69 76 65 4d 69 6e 69 6d 75 6d 29 29 20 7b 0a 69 66 20 28 69 73 73 65 74 28 24 exclusiveMinimum)).{.if.(isset($
183100 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 29 20 7b 0a 69 66 20 28 24 73 63 68 65 6d 61 2d schema->minimum)).{.if.($schema-
183120 3e 65 78 63 6c 75 73 69 76 65 4d 69 6e 69 6d 75 6d 20 26 26 20 24 65 6c 65 6d 65 6e 74 20 3c 3d >exclusiveMinimum.&&.$element.<=
183140 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 .$schema->minimum).{.$this->addE
183160 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 20 61 20 6d 69 6e 69 6d 75 6d rror($path,.'Must.have.a.minimum
183180 20 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 2c 20 .value.of.'...$schema->minimum,.
1831a0 27 65 78 63 6c 75 73 69 76 65 4d 69 6e 69 6d 75 6d 27 2c 20 61 72 72 61 79 28 27 6d 69 6e 69 6d 'exclusiveMinimum',.array('minim
1831c0 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 29 3b 0a 7d 20 65 6c 73 um'.=>.$schema->minimum));.}.els
1831e0 65 69 66 20 28 24 65 6c 65 6d 65 6e 74 20 3c 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d eif.($element.<.$schema->minimum
183200 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 ).{.$this->addError($path,.'Must
183220 20 68 61 76 65 20 61 20 6d 69 6e 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 24 73 63 .have.a.minimum.value.of.'...$sc
183240 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 2c 20 27 6d 69 6e 69 6d 75 6d 27 2c 20 61 72 72 61 79 28 hema->minimum,.'minimum',.array(
183260 27 6d 69 6e 69 6d 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 29 3b 'minimum'.=>.$schema->minimum));
183280 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 .}.}.else.{.$this->addError($pat
1832a0 68 2c 20 27 55 73 65 20 6f 66 20 65 78 63 6c 75 73 69 76 65 4d 69 6e 69 6d 75 6d 20 72 65 71 75 h,.'Use.of.exclusiveMinimum.requ
1832c0 69 72 65 73 20 70 72 65 73 65 6e 63 65 20 6f 66 20 6d 69 6e 69 6d 75 6d 27 2c 20 27 6d 69 73 73 ires.presence.of.minimum',.'miss
1832e0 69 6e 67 4d 69 6e 69 6d 75 6d 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 ingMinimum');.}.}.elseif.(isset(
183300 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 20 26 26 20 24 65 6c 65 6d 65 6e 74 20 3c 20 $schema->minimum).&&.$element.<.
183320 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 $schema->minimum).{.$this->addEr
183340 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 20 61 20 6d 69 6e 69 6d 75 6d 20 ror($path,.'Must.have.a.minimum.
183360 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 2c 20 27 value.of.'...$schema->minimum,.'
183380 6d 69 6e 69 6d 75 6d 27 2c 20 61 72 72 61 79 28 27 6d 69 6e 69 6d 75 6d 27 20 3d 3e 20 24 73 63 minimum',.array('minimum'.=>.$sc
1833a0 68 65 6d 61 2d 3e 6d 69 6e 69 6d 75 6d 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 hema->minimum));.}....if.(isset(
1833c0 24 73 63 68 65 6d 61 2d 3e 65 78 63 6c 75 73 69 76 65 4d 61 78 69 6d 75 6d 29 29 20 7b 0a 69 66 $schema->exclusiveMaximum)).{.if
1833e0 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 29 20 7b 0a 69 66 20 .(isset($schema->maximum)).{.if.
183400 28 24 73 63 68 65 6d 61 2d 3e 65 78 63 6c 75 73 69 76 65 4d 61 78 69 6d 75 6d 20 26 26 20 24 65 ($schema->exclusiveMaximum.&&.$e
183420 6c 65 6d 65 6e 74 20 3e 3d 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 20 7b 0a 24 74 lement.>=.$schema->maximum).{.$t
183440 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 20 his->addError($path,.'Must.have.
183460 61 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e a.maximum.value.of.'...$schema->
183480 6d 61 78 69 6d 75 6d 2c 20 27 65 78 63 6c 75 73 69 76 65 4d 61 78 69 6d 75 6d 27 2c 20 61 72 72 maximum,.'exclusiveMaximum',.arr
1834a0 61 79 28 27 6d 61 78 69 6d 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d ay('maximum'.=>.$schema->maximum
1834c0 29 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 65 6c 65 6d 65 6e 74 20 3e 20 24 73 63 68 65 6d 61 ));.}.elseif.($element.>.$schema
1834e0 2d 3e 6d 61 78 69 6d 75 6d 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 ->maximum).{.$this->addError($pa
183500 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 20 61 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f th,.'Must.have.a.maximum.value.o
183520 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 2c 20 27 6d 61 78 69 6d 75 6d f.'...$schema->maximum,.'maximum
183540 27 2c 20 61 72 72 61 79 28 27 6d 61 78 69 6d 75 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d ',.array('maximum'.=>.$schema->m
183560 61 78 69 6d 75 6d 29 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 aximum));.}.}.else.{.$this->addE
183580 72 72 6f 72 28 24 70 61 74 68 2c 20 27 55 73 65 20 6f 66 20 65 78 63 6c 75 73 69 76 65 4d 61 78 rror($path,.'Use.of.exclusiveMax
1835a0 69 6d 75 6d 20 72 65 71 75 69 72 65 73 20 70 72 65 73 65 6e 63 65 20 6f 66 20 6d 61 78 69 6d 75 imum.requires.presence.of.maximu
1835c0 6d 27 2c 20 27 6d 69 73 73 69 6e 67 4d 61 78 69 6d 75 6d 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 m',.'missingMaximum');.}.}.elsei
1835e0 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 20 26 26 20 24 65 f.(isset($schema->maximum).&&.$e
183600 6c 65 6d 65 6e 74 20 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 20 7b 0a 24 74 68 lement.>.$schema->maximum).{.$th
183620 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 68 61 76 65 20 61 is->addError($path,.'Must.have.a
183640 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d .maximum.value.of.'...$schema->m
183660 61 78 69 6d 75 6d 2c 20 27 6d 61 78 69 6d 75 6d 27 2c 20 61 72 72 61 79 28 27 6d 61 78 69 6d 75 aximum,.'maximum',.array('maximu
183680 6d 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 69 6d 75 6d 29 29 3b 0a 7d 0a 0a 0a 20 69 m'.=>.$schema->maximum));.}....i
1836a0 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 64 69 76 69 73 69 62 6c 65 42 79 29 20 26 f.(isset($schema->divisibleBy).&
1836c0 26 20 24 74 68 69 73 2d 3e 66 6d 6f 64 28 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2d &.$this->fmod($element,.$schema-
1836e0 3e 64 69 76 69 73 69 62 6c 65 42 79 29 20 21 3d 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 >divisibleBy).!=.0).{.$this->add
183700 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 49 73 20 6e 6f 74 20 64 69 76 69 73 69 62 6c 65 20 62 Error($path,.'Is.not.divisible.b
183720 79 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 64 69 76 69 73 69 62 6c 65 42 79 2c 20 27 64 69 76 y.'...$schema->divisibleBy,.'div
183740 69 73 69 62 6c 65 42 79 27 2c 20 61 72 72 61 79 28 27 64 69 76 69 73 69 62 6c 65 42 79 27 20 3d isibleBy',.array('divisibleBy'.=
183760 3e 20 24 73 63 68 65 6d 61 2d 3e 64 69 76 69 73 69 62 6c 65 42 79 29 29 3b 0a 7d 0a 0a 0a 20 69 >.$schema->divisibleBy));.}....i
183780 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 75 6c 74 69 70 6c 65 4f 66 29 20 26 26 f.(isset($schema->multipleOf).&&
1837a0 20 24 74 68 69 73 2d 3e 66 6d 6f 64 28 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2d 3e .$this->fmod($element,.$schema->
1837c0 6d 75 6c 74 69 70 6c 65 4f 66 29 20 21 3d 20 30 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 multipleOf).!=.0).{.$this->addEr
1837e0 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 62 65 20 61 20 6d 75 6c 74 69 70 6c 65 20 6f ror($path,.'Must.be.a.multiple.o
183800 66 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 75 6c 74 69 70 6c 65 4f 66 2c 20 27 6d 75 6c 74 f.'...$schema->multipleOf,.'mult
183820 69 70 6c 65 4f 66 27 2c 20 61 72 72 61 79 28 27 6d 75 6c 74 69 70 6c 65 4f 66 27 20 3d 3e 20 24 ipleOf',.array('multipleOf'.=>.$
183840 73 63 68 65 6d 61 2d 3e 6d 75 6c 74 69 70 6c 65 4f 66 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e schema->multipleOf));.}..$this->
183860 63 68 65 63 6b 46 6f 72 6d 61 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2c 20 24 checkFormat($element,.$schema,.$
183880 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 path,.$i);.}..private.function.f
1838a0 6d 6f 64 28 24 6e 75 6d 62 65 72 31 2c 20 24 6e 75 6d 62 65 72 32 29 0a 7b 0a 24 6d 6f 64 75 6c mod($number1,.$number2).{.$modul
1838c0 75 73 20 3d 20 28 24 6e 75 6d 62 65 72 31 20 2d 20 72 6f 75 6e 64 28 24 6e 75 6d 62 65 72 31 20 us.=.($number1.-.round($number1.
1838e0 2f 20 24 6e 75 6d 62 65 72 32 29 20 2a 20 24 6e 75 6d 62 65 72 32 29 3b 0a 24 70 72 65 63 69 73 /.$number2).*.$number2);.$precis
183900 69 6f 6e 20 3d 20 30 2e 30 30 30 30 30 30 30 30 30 31 3b 0a 0a 69 66 20 28 2d 24 70 72 65 63 69 ion.=.0.0000000001;..if.(-$preci
183920 73 69 6f 6e 20 3c 20 24 6d 6f 64 75 6c 75 73 20 26 26 20 24 6d 6f 64 75 6c 75 73 20 3c 20 24 70 sion.<.$modulus.&&.$modulus.<.$p
183940 72 65 63 69 73 69 6f 6e 29 20 7b 0a 72 65 74 75 72 6e 20 30 2e 30 3b 0a 7d 0a 0a 72 65 74 75 72 recision).{.return.0.0;.}..retur
183960 6e 20 24 6d 6f 64 75 6c 75 73 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 n.$modulus;.}.}.<?php.........na
183980 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a mespace.JsonSchema\Constraints;.
1839a0 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 .use.JsonSchema\Entity\JsonPoint
1839c0 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 62 6a 65 63 74 43 6f 6e 73 74 72 61 69 6e er;........class.ObjectConstrain
1839e0 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 t.extends.Constraint.{....protec
183a00 74 65 64 20 24 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a ted.$appliedDefaults.=.array();.
183a20 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 65 6c 65 6d ....public.function.check(&$elem
183a40 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 ent,.$schema.=.null,.JsonPointer
183a60 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 70 72 6f 70 65 72 74 69 65 73 20 3d 20 6e 75 6c .$path.=.null,.$properties.=.nul
183a80 6c 2c 0a 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 74 74 l,.$additionalProp.=.null,.$patt
183aa0 65 72 6e 50 72 6f 70 65 72 74 69 65 73 20 3d 20 6e 75 6c 6c 2c 20 24 61 70 70 6c 69 65 64 44 65 ernProperties.=.null,.$appliedDe
183ac0 66 61 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 69 66 20 28 24 65 6c 65 6d 65 6e 74 faults.=.array()).{.if.($element
183ae0 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 29 .instanceof.UndefinedConstraint)
183b00 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 61 .{.return;.}..$this->appliedDefa
183b20 75 6c 74 73 20 3d 20 24 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 3b 0a 0a 24 6d 61 74 63 68 ults.=.$appliedDefaults;..$match
183b40 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 69 66 20 28 24 70 61 74 74 65 72 6e 50 72 6f 70 65 72 es.=.array();.if.($patternProper
183b60 74 69 65 73 29 20 7b 0a 0a 20 24 6d 61 74 63 68 65 73 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 ties).{...$matches.=.$this->vali
183b80 64 61 74 65 50 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 28 24 65 6c 65 6d 65 6e 74 2c 20 datePatternProperties($element,.
183ba0 24 70 61 74 68 2c 20 24 70 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 29 3b 0a 7d 0a 0a 69 $path,.$patternProperties);.}..i
183bc0 66 20 28 24 70 72 6f 70 65 72 74 69 65 73 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 f.($properties).{...$this->valid
183be0 61 74 65 50 72 6f 70 65 72 74 69 65 73 28 24 65 6c 65 6d 65 6e 74 2c 20 24 70 72 6f 70 65 72 74 ateProperties($element,.$propert
183c00 69 65 73 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 ies,.$path);.}....$this->validat
183c20 65 45 6c 65 6d 65 6e 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 6d 61 74 63 68 65 73 2c 20 24 73 63 eElement($element,.$matches,.$sc
183c40 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 70 72 6f 70 65 72 74 69 65 73 2c 20 24 61 64 64 69 74 hema,.$path,.$properties,.$addit
183c60 69 6f 6e 61 6c 50 72 6f 70 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 ionalProp);.}..public.function.v
183c80 61 6c 69 64 61 74 65 50 61 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 28 24 65 6c 65 6d 65 6e alidatePatternProperties($elemen
183ca0 74 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 70 61 t,.JsonPointer.$path.=.null,.$pa
183cc0 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 29 0a 7b 0a 24 74 72 79 20 3d 20 61 72 72 61 79 28 tternProperties).{.$try.=.array(
183ce0 27 2f 27 2c 20 27 23 27 2c 20 27 2b 27 2c 20 27 7e 27 2c 20 27 25 27 29 3b 0a 24 6d 61 74 63 68 '/',.'#',.'+',.'~',.'%');.$match
183d00 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 70 61 74 74 65 72 6e 50 es.=.array();.foreach.($patternP
183d20 72 6f 70 65 72 74 69 65 73 20 61 73 20 24 70 72 65 67 65 78 20 3d 3e 20 24 73 63 68 65 6d 61 29 roperties.as.$pregex.=>.$schema)
183d40 20 7b 0a 24 64 65 6c 69 6d 69 74 65 72 20 3d 20 27 2f 27 3b 0a 0a 20 66 6f 72 65 61 63 68 20 28 .{.$delimiter.=.'/';...foreach.(
183d60 24 74 72 79 20 61 73 20 24 64 65 6c 69 6d 69 74 65 72 29 20 7b 0a 69 66 20 28 73 74 72 70 6f 73 $try.as.$delimiter).{.if.(strpos
183d80 28 24 70 72 65 67 65 78 2c 20 24 64 65 6c 69 6d 69 74 65 72 29 20 3d 3d 3d 20 66 61 6c 73 65 29 ($pregex,.$delimiter).===.false)
183da0 20 7b 20 0a 20 62 72 65 61 6b 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 40 70 72 65 67 5f 6d 61 74 .{...break;.}.}....if.(@preg_mat
183dc0 63 68 28 24 64 65 6c 69 6d 69 74 65 72 20 2e 20 24 70 72 65 67 65 78 20 2e 20 24 64 65 6c 69 6d ch($delimiter...$pregex...$delim
183de0 69 74 65 72 20 2e 20 27 75 27 2c 20 27 27 29 20 3d 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 24 74 68 iter...'u',.'').===.false).{.$th
183e00 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 20 70 61 74 74 65 72 6e is->addError($path,.'The.pattern
183e20 20 22 27 20 2e 20 24 70 72 65 67 65 78 20 2e 20 27 22 20 69 73 20 69 6e 76 61 6c 69 64 27 2c 20 ."'...$pregex...'".is.invalid',.
183e40 27 70 72 65 67 65 78 27 2c 20 61 72 72 61 79 28 27 70 72 65 67 65 78 27 20 3d 3e 20 24 70 72 65 'pregex',.array('pregex'.=>.$pre
183e60 67 65 78 29 29 3b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 65 6c 65 gex));.continue;.}.foreach.($ele
183e80 6d 65 6e 74 20 61 73 20 24 69 20 3d 3e 20 24 76 61 6c 75 65 29 20 7b 0a 69 66 20 28 70 72 65 67 ment.as.$i.=>.$value).{.if.(preg
183ea0 5f 6d 61 74 63 68 28 24 64 65 6c 69 6d 69 74 65 72 20 2e 20 24 70 72 65 67 65 78 20 2e 20 24 64 _match($delimiter...$pregex...$d
183ec0 65 6c 69 6d 69 74 65 72 20 2e 20 27 75 27 2c 20 24 69 29 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b elimiter...'u',.$i)).{.$matches[
183ee0 5d 20 3d 20 24 69 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 ].=.$i;.$this->checkUndefined($v
183f00 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3f 3a 20 6e 65 77 20 5c 73 74 64 43 6c 61 73 73 28 29 alue,.$schema.?:.new.\stdClass()
183f20 2c 20 24 70 61 74 68 2c 20 24 69 2c 20 69 6e 5f 61 72 72 61 79 28 24 69 2c 20 24 74 68 69 73 2d ,.$path,.$i,.in_array($i,.$this-
183f40 3e 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 >appliedDefaults));.}.}.}..retur
183f60 6e 20 24 6d 61 74 63 68 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 n.$matches;.}............public.
183f80 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 45 6c 65 6d 65 6e 74 28 24 65 6c 65 6d 65 6e function.validateElement($elemen
183fa0 74 2c 20 24 6d 61 74 63 68 65 73 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f t,.$matches,.$schema.=.null,.Jso
183fc0 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 0a 24 70 72 6f 70 65 72 74 69 nPointer.$path.=.null,.$properti
183fe0 65 73 20 3d 20 6e 75 6c 6c 2c 20 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 20 3d 20 6e 75 6c es.=.null,.$additionalProp.=.nul
184000 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 4d 69 6e 4d 61 78 43 6f 6e 73 74 72 l).{.$this->validateMinMaxConstr
184020 61 69 6e 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 29 3b 0a aint($element,.$schema,.$path);.
184040 0a 66 6f 72 65 61 63 68 20 28 24 65 6c 65 6d 65 6e 74 20 61 73 20 24 69 20 3d 3e 20 24 76 61 6c .foreach.($element.as.$i.=>.$val
184060 75 65 29 20 7b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 ue).{.$definition.=.$this->getPr
184080 6f 70 65 72 74 79 28 24 70 72 6f 70 65 72 74 69 65 73 2c 20 24 69 29 3b 0a 0a 0a 20 69 66 20 28 operty($properties,.$i);....if.(
1840a0 21 69 6e 5f 61 72 72 61 79 28 24 69 2c 20 24 6d 61 74 63 68 65 73 29 20 26 26 20 24 61 64 64 69 !in_array($i,.$matches).&&.$addi
1840c0 74 69 6f 6e 61 6c 50 72 6f 70 20 3d 3d 3d 20 66 61 6c 73 65 20 26 26 20 24 74 68 69 73 2d 3e 69 tionalProp.===.false.&&.$this->i
1840e0 6e 6c 69 6e 65 53 63 68 65 6d 61 50 72 6f 70 65 72 74 79 20 21 3d 3d 20 24 69 20 26 26 20 21 24 nlineSchemaProperty.!==.$i.&&.!$
184100 64 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 definition).{.$this->addError($p
184120 61 74 68 2c 20 27 54 68 65 20 70 72 6f 70 65 72 74 79 20 27 20 2e 20 24 69 20 2e 20 27 20 69 73 ath,.'The.property.'...$i...'.is
184140 20 6e 6f 74 20 64 65 66 69 6e 65 64 20 61 6e 64 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 .not.defined.and.the.definition.
184160 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 61 64 64 69 74 69 6f 6e 61 6c 20 70 72 6f 70 65 72 does.not.allow.additional.proper
184180 74 69 65 73 27 2c 20 27 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 27 29 3b 0a 7d 0a 0a 0a 20 69 ties',.'additionalProp');.}....i
1841a0 66 20 28 21 69 6e 5f 61 72 72 61 79 28 24 69 2c 20 24 6d 61 74 63 68 65 73 29 20 26 26 20 24 61 f.(!in_array($i,.$matches).&&.$a
1841c0 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 20 26 26 20 21 24 64 65 66 69 6e 69 74 69 6f 6e 29 20 7b dditionalProp.&&.!$definition).{
1841e0 0a 69 66 20 28 24 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 20 3d 3d 3d 20 74 72 75 65 29 20 7b .if.($additionalProp.===.true).{
184200 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 6e .$this->checkUndefined($value,.n
184220 75 6c 6c 2c 20 24 70 61 74 68 2c 20 24 69 2c 20 69 6e 5f 61 72 72 61 79 28 24 69 2c 20 24 74 68 ull,.$path,.$i,.in_array($i,.$th
184240 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a is->appliedDefaults));.}.else.{.
184260 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 61 $this->checkUndefined($value,.$a
184280 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 2c 20 24 70 61 74 68 2c 20 24 69 2c 20 69 6e 5f 61 72 72 dditionalProp,.$path,.$i,.in_arr
1842a0 61 79 28 24 69 2c 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 29 29 3b ay($i,.$this->appliedDefaults));
1842c0 0a 7d 0a 7d 0a 0a 0a 20 24 72 65 71 75 69 72 65 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f .}.}....$require.=.$this->getPro
1842e0 70 65 72 74 79 28 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 27 72 65 71 75 69 72 65 73 27 29 3b 0a perty($definition,.'requires');.
184300 69 66 20 28 24 72 65 71 75 69 72 65 20 26 26 20 21 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 if.($require.&&.!$this->getPrope
184320 72 74 79 28 24 65 6c 65 6d 65 6e 74 2c 20 24 72 65 71 75 69 72 65 29 29 20 7b 0a 24 74 68 69 73 rty($element,.$require)).{.$this
184340 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 54 68 65 20 70 72 65 73 65 6e 63 65 20 ->addError($path,.'The.presence.
184360 6f 66 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 27 20 2e 20 24 69 20 2e 20 27 20 72 65 71 75 69 of.the.property.'...$i...'.requi
184380 72 65 73 20 74 68 61 74 20 27 20 2e 20 24 72 65 71 75 69 72 65 20 2e 20 27 20 61 6c 73 6f 20 62 res.that.'...$require...'.also.b
1843a0 65 20 70 72 65 73 65 6e 74 27 2c 20 27 72 65 71 75 69 72 65 73 27 29 3b 0a 7d 0a 0a 24 70 72 6f e.present',.'requires');.}..$pro
1843c0 70 65 72 74 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 28 24 65 6c 65 6d perty.=.$this->getProperty($elem
1843e0 65 6e 74 2c 20 24 69 2c 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 ent,.$i,.$this->factory->createI
184400 6e 73 74 61 6e 63 65 46 6f 72 28 27 75 6e 64 65 66 69 6e 65 64 27 29 29 3b 0a 69 66 20 28 69 73 nstanceFor('undefined'));.if.(is
184420 5f 6f 62 6a 65 63 74 28 24 70 72 6f 70 65 72 74 79 29 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c _object($property)).{.$this->val
184440 69 64 61 74 65 4d 69 6e 4d 61 78 43 6f 6e 73 74 72 61 69 6e 74 28 21 28 24 70 72 6f 70 65 72 74 idateMinMaxConstraint(!($propert
184460 79 20 69 6e 73 74 61 6e 63 65 6f 66 20 55 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 y.instanceof.UndefinedConstraint
184480 29 20 3f 20 24 70 72 6f 70 65 72 74 79 20 3a 20 24 65 6c 65 6d 65 6e 74 2c 20 24 64 65 66 69 6e ).?.$property.:.$element,.$defin
1844a0 69 74 69 6f 6e 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 ition,.$path);.}.}.}.........pub
1844c0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 50 72 6f 70 65 72 74 69 65 73 28 lic.function.validateProperties(
1844e0 26 24 65 6c 65 6d 65 6e 74 2c 20 24 70 72 6f 70 65 72 74 69 65 73 20 3d 20 6e 75 6c 6c 2c 20 4a &$element,.$properties.=.null,.J
184500 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 75 6e 64 65 sonPointer.$path.=.null).{.$unde
184520 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 finedConstraint.=.$this->factory
184540 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e 63 65 46 6f 72 28 27 75 6e 64 65 66 69 6e 65 64 27 29 ->createInstanceFor('undefined')
184560 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 70 72 6f 70 65 72 74 69 65 73 20 61 73 20 24 69 20 3d 3e ;..foreach.($properties.as.$i.=>
184580 20 24 76 61 6c 75 65 29 20 7b 0a 24 70 72 6f 70 65 72 74 79 20 3d 20 26 24 74 68 69 73 2d 3e 67 .$value).{.$property.=.&$this->g
1845a0 65 74 50 72 6f 70 65 72 74 79 28 24 65 6c 65 6d 65 6e 74 2c 20 24 69 2c 20 24 75 6e 64 65 66 69 etProperty($element,.$i,.$undefi
1845c0 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 24 64 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 nedConstraint);.$definition.=.$t
1845e0 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 28 24 70 72 6f 70 65 72 74 69 65 73 2c 20 24 69 his->getProperty($properties,.$i
184600 29 3b 0a 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 64 65 66 69 6e 69 74 69 6f 6e 29 29 20 );..if.(is_object($definition)).
184620 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 70 72 6f 70 65 {...$this->checkUndefined($prope
184640 72 74 79 2c 20 24 64 65 66 69 6e 69 74 69 6f 6e 2c 20 24 70 61 74 68 2c 20 24 69 2c 20 69 6e 5f rty,.$definition,.$path,.$i,.in_
184660 61 72 72 61 79 28 24 69 2c 20 24 74 68 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 array($i,.$this->appliedDefaults
184680 29 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 ));.}.}.}...........protected.fu
1846a0 6e 63 74 69 6f 6e 20 26 67 65 74 50 72 6f 70 65 72 74 79 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 nction.&getProperty(&$element,.$
1846c0 70 72 6f 70 65 72 74 79 2c 20 24 66 61 6c 6c 62 61 63 6b 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 property,.$fallback.=.null).{.if
1846e0 20 28 69 73 5f 61 72 72 61 79 28 24 65 6c 65 6d 65 6e 74 29 20 26 26 20 28 69 73 73 65 74 28 24 .(is_array($element).&&.(isset($
184700 65 6c 65 6d 65 6e 74 5b 24 70 72 6f 70 65 72 74 79 5d 29 20 7c 7c 20 61 72 72 61 79 5f 6b 65 79 element[$property]).||.array_key
184720 5f 65 78 69 73 74 73 28 24 70 72 6f 70 65 72 74 79 2c 20 24 65 6c 65 6d 65 6e 74 29 29 20 29 20 _exists($property,.$element)).).
184740 7b 0a 72 65 74 75 72 6e 20 24 65 6c 65 6d 65 6e 74 5b 24 70 72 6f 70 65 72 74 79 5d 3b 0a 7d 20 {.return.$element[$property];.}.
184760 65 6c 73 65 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 65 6c 65 6d 65 6e 74 29 20 26 26 20 70 elseif.(is_object($element).&&.p
184780 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 65 6c 65 6d 65 6e 74 2c 20 24 70 72 6f 70 65 72 roperty_exists($element,.$proper
1847a0 74 79 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 65 6c 65 6d 65 6e 74 2d 3e 24 70 72 6f 70 65 72 74 ty)).{.return.$element->$propert
1847c0 79 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 61 6c 6c 62 61 63 6b 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a y;.}..return.$fallback;.}.......
1847e0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 4d 69 6e ..protected.function.validateMin
184800 4d 61 78 43 6f 6e 73 74 72 61 69 6e 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 6f 62 6a 65 63 74 44 MaxConstraint($element,.$objectD
184820 65 66 69 6e 69 74 69 6f 6e 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e efinition,.JsonPointer.$path.=.n
184840 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 ull).{...if.(isset($objectDefini
184860 74 69 6f 6e 2d 3e 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 29 20 26 26 20 21 69 73 5f 6f 62 6a 65 tion->minProperties).&&.!is_obje
184880 63 74 28 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 69 6e 50 72 6f 70 65 72 74 ct($objectDefinition->minPropert
1848a0 69 65 73 29 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 ies)).{.if.($this->getTypeCheck(
1848c0 29 2d 3e 70 72 6f 70 65 72 74 79 43 6f 75 6e 74 28 24 65 6c 65 6d 65 6e 74 29 20 3c 20 24 6f 62 )->propertyCount($element).<.$ob
1848e0 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 29 20 7b jectDefinition->minProperties).{
184900 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 63 6f .$this->addError($path,.'Must.co
184920 6e 74 61 69 6e 20 61 20 6d 69 6e 69 6d 75 6d 20 6f 66 20 27 20 2e 20 24 6f 62 6a 65 63 74 44 65 ntain.a.minimum.of.'...$objectDe
184940 66 69 6e 69 74 69 6f 6e 2d 3e 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 20 2e 20 27 20 70 72 6f 70 finition->minProperties...'.prop
184960 65 72 74 69 65 73 27 2c 20 27 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 27 2c 20 61 72 72 61 79 28 erties',.'minProperties',.array(
184980 27 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 27 20 3d 3e 20 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 'minProperties'.=>.$objectDefini
1849a0 74 69 6f 6e 2d 3e 6d 69 6e 50 72 6f 70 65 72 74 69 65 73 29 29 3b 0a 7d 0a 7d 0a 0a 20 69 66 20 tion->minProperties));.}.}...if.
1849c0 28 69 73 73 65 74 28 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 61 78 50 72 6f (isset($objectDefinition->maxPro
1849e0 70 65 72 74 69 65 73 29 20 26 26 20 21 69 73 5f 6f 62 6a 65 63 74 28 24 6f 62 6a 65 63 74 44 65 perties).&&.!is_object($objectDe
184a00 66 69 6e 69 74 69 6f 6e 2d 3e 6d 61 78 50 72 6f 70 65 72 74 69 65 73 29 29 20 7b 0a 69 66 20 28 finition->maxProperties)).{.if.(
184a20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 43 $this->getTypeCheck()->propertyC
184a40 6f 75 6e 74 28 24 65 6c 65 6d 65 6e 74 29 20 3e 20 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 ount($element).>.$objectDefiniti
184a60 6f 6e 2d 3e 6d 61 78 50 72 6f 70 65 72 74 69 65 73 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 on->maxProperties).{.$this->addE
184a80 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 63 6f 6e 74 61 69 6e 20 6e 6f 20 6d 6f 72 rror($path,.'Must.contain.no.mor
184aa0 65 20 74 68 61 6e 20 27 20 2e 20 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 61 e.than.'...$objectDefinition->ma
184ac0 78 50 72 6f 70 65 72 74 69 65 73 20 2e 20 27 20 70 72 6f 70 65 72 74 69 65 73 27 2c 20 27 6d 61 xProperties...'.properties',.'ma
184ae0 78 50 72 6f 70 65 72 74 69 65 73 27 2c 20 61 72 72 61 79 28 27 6d 61 78 50 72 6f 70 65 72 74 69 xProperties',.array('maxProperti
184b00 65 73 27 20 3d 3e 20 24 6f 62 6a 65 63 74 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 6d 61 78 50 72 6f es'.=>.$objectDefinition->maxPro
184b20 70 65 72 74 69 65 73 29 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a perties));.}.}.}.}.<?php........
184b40 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 .namespace.JsonSchema\Constraint
184b60 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f s;..use.JsonSchema\Entity\JsonPo
184b80 69 6e 74 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c inter;.use.JsonSchema\Exception\
184ba0 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 InvalidArgumentException;.use.Js
184bc0 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 53 63 68 65 6d 61 onSchema\Exception\InvalidSchema
184be0 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 Exception;.use.JsonSchema\Except
184c00 69 6f 6e 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 ion\RuntimeException;.use.JsonSc
184c20 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 63 68 hema\Validator;........class.Sch
184c40 65 6d 61 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 emaConstraint.extends.Constraint
184c60 0a 7b 0a 63 6f 6e 73 74 20 44 45 46 41 55 4c 54 5f 53 43 48 45 4d 41 5f 53 50 45 43 20 3d 20 27 .{.const.DEFAULT_SCHEMA_SPEC.=.'
184c80 68 74 74 70 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 64 72 61 66 74 2d 30 34 2f http://json-schema.org/draft-04/
184ca0 73 63 68 65 6d 61 23 27 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 schema#';.....public.function.ch
184cc0 65 63 6b 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a eck(&$element,.$schema.=.null,.J
184ce0 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 sonPointer.$path.=.null,.$i.=.nu
184d00 6c 6c 29 0a 7b 0a 69 66 20 28 24 73 63 68 65 6d 61 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 0a 20 ll).{.if.($schema.!==.null).{...
184d20 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 20 3d 20 24 73 63 68 65 6d 61 3b 0a 7d 20 65 $validationSchema.=.$schema;.}.e
184d40 6c 73 65 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 lseif.($this->getTypeCheck()->pr
184d60 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 65 6c 65 6d 65 6e 74 2c 20 24 74 68 69 73 2d 3e 69 6e opertyExists($element,.$this->in
184d80 6c 69 6e 65 53 63 68 65 6d 61 50 72 6f 70 65 72 74 79 29 29 20 7b 0a 0a 20 24 76 61 6c 69 64 61 lineSchemaProperty)).{...$valida
184da0 74 69 6f 6e 53 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b tionSchema.=.$this->getTypeCheck
184dc0 28 29 2d 3e 70 72 6f 70 65 72 74 79 47 65 74 28 24 65 6c 65 6d 65 6e 74 2c 20 24 74 68 69 73 2d ()->propertyGet($element,.$this-
184de0 3e 69 6e 6c 69 6e 65 53 63 68 65 6d 61 50 72 6f 70 65 72 74 79 29 3b 0a 7d 20 65 6c 73 65 20 7b >inlineSchemaProperty);.}.else.{
184e00 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 .throw.new.InvalidArgumentExcept
184e20 69 6f 6e 28 27 6e 6f 20 73 63 68 65 6d 61 20 66 6f 75 6e 64 20 74 6f 20 76 65 72 69 66 79 20 61 ion('no.schema.found.to.verify.a
184e40 67 61 69 6e 73 74 27 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c gainst');.}....if.(is_array($val
184e60 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 29 29 20 7b 0a 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 idationSchema)).{.$validationSch
184e80 65 6d 61 20 3d 20 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 61 72 72 61 79 54 6f 4f 62 6a ema.=.BaseConstraint::arrayToObj
184ea0 65 63 74 52 65 63 75 72 73 69 76 65 28 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 29 3b ectRecursive($validationSchema);
184ec0 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 .}......if.($this->factory->getC
184ee0 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 56 41 4c 49 44 41 54 45 5f onfig(self::CHECK_MODE_VALIDATE_
184f00 53 43 48 45 4d 41 29 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 SCHEMA)).{.if.(!$this->getTypeCh
184f20 65 63 6b 28 29 2d 3e 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d eck()->isObject($validationSchem
184f40 61 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e a)).{.throw.new.RuntimeException
184f60 28 27 43 61 6e 6e 6f 74 20 76 61 6c 69 64 61 74 65 20 74 68 65 20 73 63 68 65 6d 61 20 6f 66 20 ('Cannot.validate.the.schema.of.
184f80 61 20 6e 6f 6e 2d 6f 62 6a 65 63 74 27 29 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 a.non-object');.}.if.($this->get
184fa0 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c TypeCheck()->propertyExists($val
184fc0 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 2c 20 27 24 73 63 68 65 6d 61 27 29 29 20 7b 0a 24 73 63 idationSchema,.'$schema')).{.$sc
184fe0 68 65 6d 61 53 70 65 63 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 hemaSpec.=.$this->getTypeCheck()
185000 2d 3e 70 72 6f 70 65 72 74 79 47 65 74 28 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 2c ->propertyGet($validationSchema,
185020 20 27 24 73 63 68 65 6d 61 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 63 68 65 6d 61 53 70 65 .'$schema');.}.else.{.$schemaSpe
185040 63 20 3d 20 73 65 6c 66 3a 3a 44 45 46 41 55 4c 54 5f 53 43 48 45 4d 41 5f 53 50 45 43 3b 0a 7d c.=.self::DEFAULT_SCHEMA_SPEC;.}
185060 0a 0a 0a 20 24 73 63 68 65 6d 61 53 74 6f 72 61 67 65 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 ....$schemaStorage.=.$this->fact
185080 6f 72 79 2d 3e 67 65 74 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 29 3b 0a 69 66 20 28 21 24 74 ory->getSchemaStorage();.if.(!$t
1850a0 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 4f 62 6a 65 63 74 28 24 73 his->getTypeCheck()->isObject($s
1850c0 63 68 65 6d 61 53 70 65 63 29 29 20 7b 0a 24 73 63 68 65 6d 61 53 70 65 63 20 3d 20 24 73 63 68 chemaSpec)).{.$schemaSpec.=.$sch
1850e0 65 6d 61 53 74 6f 72 61 67 65 2d 3e 67 65 74 53 63 68 65 6d 61 28 24 73 63 68 65 6d 61 53 70 65 emaStorage->getSchema($schemaSpe
185100 63 29 3b 0a 7d 0a 0a 0a 20 24 69 6e 69 74 69 61 6c 45 72 72 6f 72 43 6f 75 6e 74 20 3d 20 24 74 c);.}....$initialErrorCount.=.$t
185120 68 69 73 2d 3e 6e 75 6d 45 72 72 6f 72 73 28 29 3b 0a 24 69 6e 69 74 69 61 6c 43 6f 6e 66 69 67 his->numErrors();.$initialConfig
185140 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a .=.$this->factory->getConfig();.
185160 24 69 6e 69 74 69 61 6c 43 6f 6e 74 65 78 74 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 $initialContext.=.$this->factory
185180 2d 3e 67 65 74 45 72 72 6f 72 43 6f 6e 74 65 78 74 28 29 3b 0a 24 74 68 69 73 2d 3e 66 61 63 74 ->getErrorContext();.$this->fact
1851a0 6f 72 79 2d 3e 72 65 6d 6f 76 65 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f ory->removeConfig(self::CHECK_MO
1851c0 44 45 5f 56 41 4c 49 44 41 54 45 5f 53 43 48 45 4d 41 20 7c 20 73 65 6c 66 3a 3a 43 48 45 43 4b DE_VALIDATE_SCHEMA.|.self::CHECK
1851e0 5f 4d 4f 44 45 5f 41 50 50 4c 59 5f 44 45 46 41 55 4c 54 53 29 3b 0a 24 74 68 69 73 2d 3e 66 61 _MODE_APPLY_DEFAULTS);.$this->fa
185200 63 74 6f 72 79 2d 3e 61 64 64 43 6f 6e 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 ctory->addConfig(self::CHECK_MOD
185220 45 5f 54 59 50 45 5f 43 41 53 54 29 3b 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 73 65 E_TYPE_CAST);.$this->factory->se
185240 74 45 72 72 6f 72 43 6f 6e 74 65 78 74 28 56 61 6c 69 64 61 74 6f 72 3a 3a 45 52 52 4f 52 5f 53 tErrorContext(Validator::ERROR_S
185260 43 48 45 4d 41 5f 56 41 4c 49 44 41 54 49 4f 4e 29 3b 0a 0a 0a 20 74 72 79 20 7b 0a 24 74 68 69 CHEMA_VALIDATION);....try.{.$thi
185280 73 2d 3e 63 68 65 63 6b 28 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 2c 20 24 73 63 68 s->check($validationSchema,.$sch
1852a0 65 6d 61 53 70 65 63 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 emaSpec);.}.catch.(\Exception.$e
1852c0 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 ).{.if.($this->factory->getConfi
1852e0 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 45 58 43 45 50 54 49 4f 4e 53 29 29 20 g(self::CHECK_MODE_EXCEPTIONS)).
185300 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 53 63 68 65 6d 61 45 78 63 65 70 74 69 {.throw.new.InvalidSchemaExcepti
185320 6f 6e 28 27 53 63 68 65 6d 61 20 64 69 64 20 6e 6f 74 20 70 61 73 73 20 76 61 6c 69 64 61 74 69 on('Schema.did.not.pass.validati
185340 6f 6e 27 2c 20 30 2c 20 24 65 29 3b 0a 7d 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 6e 75 6d 45 on',.0,.$e);.}.}.if.($this->numE
185360 72 72 6f 72 73 28 29 20 3e 20 24 69 6e 69 74 69 61 6c 45 72 72 6f 72 43 6f 75 6e 74 29 20 7b 0a rrors().>.$initialErrorCount).{.
185380 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 53 63 68 65 6d 61 20 69 $this->addError($path,.'Schema.i
1853a0 73 20 6e 6f 74 20 76 61 6c 69 64 27 2c 20 27 73 63 68 65 6d 61 27 29 3b 0a 7d 0a 0a 0a 20 24 74 s.not.valid',.'schema');.}....$t
1853c0 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 73 65 74 43 6f 6e 66 69 67 28 24 69 6e 69 74 69 61 6c his->factory->setConfig($initial
1853e0 43 6f 6e 66 69 67 29 3b 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 73 65 74 45 72 72 6f Config);.$this->factory->setErro
185400 72 43 6f 6e 74 65 78 74 28 24 69 6e 69 74 69 61 6c 43 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 20 rContext($initialContext);.}....
185420 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 65 6c 65 6d 65 6e 74 2c 20 $this->checkUndefined($element,.
185440 24 76 61 6c 69 64 61 74 69 6f 6e 53 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d $validationSchema,.$path,.$i);.}
185460 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 .}.<?php.........namespace.JsonS
185480 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 chema\Constraints;..use.JsonSche
1854a0 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c ma\Entity\JsonPointer;........cl
1854c0 61 73 73 20 53 74 72 69 6e 67 43 6f 6e 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e ass.StringConstraint.extends.Con
1854e0 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 straint.{....public.function.che
185500 63 6b 28 26 24 65 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 ck(&$element,.$schema.=.null,.Js
185520 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c onPointer.$path.=.null,.$i.=.nul
185540 6c 29 0a 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6d 61 78 4c 65 6e l).{...if.(isset($schema->maxLen
185560 67 74 68 29 20 26 26 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 65 6c 65 6d 65 6e 74 29 20 gth).&&.$this->strlen($element).
185580 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 4c 65 6e 67 74 68 29 20 7b 0a 24 74 68 69 73 2d 3e 61 >.$schema->maxLength).{.$this->a
1855a0 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 62 65 20 61 74 20 6d 6f 73 74 20 ddError($path,.'Must.be.at.most.
1855c0 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 4c 65 6e 67 74 68 20 2e 20 27 20 63 68 61 72 61 '...$schema->maxLength...'.chara
1855e0 63 74 65 72 73 20 6c 6f 6e 67 27 2c 20 27 6d 61 78 4c 65 6e 67 74 68 27 2c 20 61 72 72 61 79 28 cters.long',.'maxLength',.array(
185600 0a 27 6d 61 78 4c 65 6e 67 74 68 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 6d 61 78 4c 65 6e 67 .'maxLength'.=>.$schema->maxLeng
185620 74 68 2c 0a 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e th,.));.}....if.(isset($schema->
185640 6d 69 6e 4c 65 6e 67 74 68 29 20 26 26 20 24 74 68 69 73 2d 3e 73 74 72 6c 65 6e 28 24 65 6c 65 minLength).&&.$this->strlen($ele
185660 6d 65 6e 74 29 20 3c 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 4c 65 6e 67 74 68 29 20 7b 0a 24 74 ment).<.$schema->minLength).{.$t
185680 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 75 73 74 20 62 65 20 61 74 his->addError($path,.'Must.be.at
1856a0 20 6c 65 61 73 74 20 27 20 2e 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 4c 65 6e 67 74 68 20 2e 20 .least.'...$schema->minLength...
1856c0 27 20 63 68 61 72 61 63 74 65 72 73 20 6c 6f 6e 67 27 2c 20 27 6d 69 6e 4c 65 6e 67 74 68 27 2c '.characters.long',.'minLength',
1856e0 20 61 72 72 61 79 28 0a 27 6d 69 6e 4c 65 6e 67 74 68 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e .array(.'minLength'.=>.$schema->
185700 6d 69 6e 4c 65 6e 67 74 68 2c 0a 29 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 minLength,.));.}....if.(isset($s
185720 63 68 65 6d 61 2d 3e 70 61 74 74 65 72 6e 29 20 26 26 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 chema->pattern).&&.!preg_match('
185740 23 27 20 2e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 23 27 2c 20 27 5c 5c 23 27 2c 20 24 73 63 #'...str_replace('#',.'\\#',.$sc
185760 68 65 6d 61 2d 3e 70 61 74 74 65 72 6e 29 20 2e 20 27 23 75 27 2c 20 24 65 6c 65 6d 65 6e 74 29 hema->pattern)...'#u',.$element)
185780 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 44 6f 65 73 ).{.$this->addError($path,.'Does
1857a0 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 72 65 67 65 78 20 70 61 74 74 65 72 6e 20 27 20 2e .not.match.the.regex.pattern.'..
1857c0 20 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 65 72 6e 2c 20 27 70 61 74 74 65 72 6e 27 2c 20 61 72 .$schema->pattern,.'pattern',.ar
1857e0 72 61 79 28 0a 27 70 61 74 74 65 72 6e 27 20 3d 3e 20 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 65 ray(.'pattern'.=>.$schema->patte
185800 72 6e 2c 0a 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 46 6f 72 6d 61 74 28 24 65 rn,.));.}..$this->checkFormat($e
185820 6c 65 6d 65 6e 74 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a lement,.$schema,.$path,.$i);.}..
185840 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 private.function.strlen($string)
185860 0a 7b 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 6d 62 73 74 72 69 6e .{.if.(extension_loaded('mbstrin
185880 67 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 6d 62 5f 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 2c g')).{.return.mb_strlen($string,
1858a0 20 6d 62 5f 64 65 74 65 63 74 5f 65 6e 63 6f 64 69 6e 67 28 24 73 74 72 69 6e 67 29 29 3b 0a 7d .mb_detect_encoding($string));.}
1858c0 0a 0a 0a 20 72 65 74 75 72 6e 20 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 3b 20 0a 20 7d 0a ....return.strlen($string);...}.
1858e0 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f }.<?php..namespace.JsonSchema\Co
185900 6e 73 74 72 61 69 6e 74 73 5c 54 79 70 65 43 68 65 63 6b 3b 0a 0a 63 6c 61 73 73 20 4c 6f 6f 73 nstraints\TypeCheck;..class.Loos
185920 65 54 79 70 65 43 68 65 63 6b 20 69 6d 70 6c 65 6d 65 6e 74 73 20 54 79 70 65 43 68 65 63 6b 49 eTypeCheck.implements.TypeCheckI
185940 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f nterface.{.public.static.functio
185960 6e 20 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 0a 69 73 5f 6f n.isObject($value).{.return.is_o
185980 62 6a 65 63 74 28 24 76 61 6c 75 65 29 20 7c 7c 0a 28 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 bject($value).||.(is_array($valu
1859a0 65 29 20 26 26 20 28 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3d 3d 20 30 20 7c 7c 20 73 65 6c e).&&.(count($value).==.0.||.sel
1859c0 66 3a 3a 69 73 41 73 73 6f 63 69 61 74 69 76 65 41 72 72 61 79 28 24 76 61 6c 75 65 29 29 29 3b f::isAssociativeArray($value)));
1859e0 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 72 72 .}..public.static.function.isArr
185a00 61 79 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 0a 69 73 5f 61 72 72 61 79 28 24 76 61 ay($value).{.return.is_array($va
185a20 6c 75 65 29 20 26 26 0a 28 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 20 3d 3d 20 30 20 7c 7c 20 21 lue).&&.(count($value).==.0.||.!
185a40 73 65 6c 66 3a 3a 69 73 41 73 73 6f 63 69 61 74 69 76 65 41 72 72 61 79 28 24 76 61 6c 75 65 29 self::isAssociativeArray($value)
185a60 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f );.}..public.static.function.pro
185a80 70 65 72 74 79 47 65 74 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 0a 7b 0a 69 66 pertyGet($value,.$property).{.if
185aa0 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 .(is_object($value)).{.return.$v
185ac0 61 6c 75 65 2d 3e 7b 24 70 72 6f 70 65 72 74 79 7d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 alue->{$property};.}..return.$va
185ae0 6c 75 65 5b 24 70 72 6f 70 65 72 74 79 5d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 lue[$property];.}..public.static
185b00 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 53 65 74 28 26 24 76 61 6c 75 65 2c 20 24 .function.propertySet(&$value,.$
185b20 70 72 6f 70 65 72 74 79 2c 20 24 64 61 74 61 29 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 property,.$data).{.if.(is_object
185b40 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 76 61 6c 75 65 2d 3e 7b 24 70 72 6f 70 65 72 74 79 7d 20 ($value)).{.$value->{$property}.
185b60 3d 20 24 64 61 74 61 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 61 6c 75 65 5b 24 70 72 6f 70 65 72 =.$data;.}.else.{.$value[$proper
185b80 74 79 5d 20 3d 20 24 64 61 74 61 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 ty].=.$data;.}.}..public.static.
185ba0 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 function.propertyExists($value,.
185bc0 24 70 72 6f 70 65 72 74 79 29 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 $property).{.if.(is_object($valu
185be0 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 76 61 e)).{.return.property_exists($va
185c00 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 lue,.$property);.}..return.array
185c20 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 70 72 6f 70 65 72 74 79 2c 20 24 76 61 6c 75 65 29 3b 0a _key_exists($property,.$value);.
185c40 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 }..public.static.function.proper
185c60 74 79 43 6f 75 6e 74 28 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 tyCount($value).{.if.(is_object(
185c80 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 67 65 74 5f 6f 62 6a 65 $value)).{.return.count(get_obje
185ca0 63 74 5f 76 61 72 73 28 24 76 61 6c 75 65 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e ct_vars($value));.}..return.coun
185cc0 74 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 t($value);.}.........private.sta
185ce0 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 73 73 6f 63 69 61 74 69 76 65 41 72 72 61 79 28 tic.function.isAssociativeArray(
185d00 24 61 72 72 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 24 61 72 72 29 20 $arr).{.return.array_keys($arr).
185d20 21 3d 3d 20 72 61 6e 67 65 28 30 2c 20 63 6f 75 6e 74 28 24 61 72 72 29 20 2d 20 31 29 3b 0a 7d !==.range(0,.count($arr).-.1);.}
185d40 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 .}.<?php..namespace.JsonSchema\C
185d60 6f 6e 73 74 72 61 69 6e 74 73 5c 54 79 70 65 43 68 65 63 6b 3b 0a 0a 63 6c 61 73 73 20 53 74 72 onstraints\TypeCheck;..class.Str
185d80 69 63 74 54 79 70 65 43 68 65 63 6b 20 69 6d 70 6c 65 6d 65 6e 74 73 20 54 79 70 65 43 68 65 63 ictTypeCheck.implements.TypeChec
185da0 6b 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 kInterface.{.public.static.funct
185dc0 69 6f 6e 20 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 ion.isObject($value).{.return.is
185de0 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 _object($value);.}..public.stati
185e00 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 72 72 61 79 28 24 76 61 6c 75 65 29 0a 7b 0a 72 65 74 c.function.isArray($value).{.ret
185e20 75 72 6e 20 69 73 5f 61 72 72 61 79 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 urn.is_array($value);.}..public.
185e40 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 47 65 74 28 24 76 61 6c static.function.propertyGet($val
185e60 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 0a 7b 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 2d 3e ue,.$property).{.return.$value->
185e80 7b 24 70 72 6f 70 65 72 74 79 7d 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 {$property};.}..public.static.fu
185ea0 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 53 65 74 28 26 24 76 61 6c 75 65 2c 20 24 70 72 6f nction.propertySet(&$value,.$pro
185ec0 70 65 72 74 79 2c 20 24 64 61 74 61 29 0a 7b 0a 24 76 61 6c 75 65 2d 3e 7b 24 70 72 6f 70 65 72 perty,.$data).{.$value->{$proper
185ee0 74 79 7d 20 3d 20 24 64 61 74 61 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 ty}.=.$data;.}..public.static.fu
185f00 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 2c 20 24 70 nction.propertyExists($value,.$p
185f20 72 6f 70 65 72 74 79 29 0a 7b 0a 72 65 74 75 72 6e 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 roperty).{.return.property_exist
185f40 73 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 s($value,.$property);.}..public.
185f60 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 43 6f 75 6e 74 28 24 76 static.function.propertyCount($v
185f80 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 alue).{.if.(!is_object($value)).
185fa0 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 63 6f 75 6e 74 28 67 65 74 5f {.return.0;.}..return.count(get_
185fc0 6f 62 6a 65 63 74 5f 76 61 72 73 28 24 76 61 6c 75 65 29 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a object_vars($value));.}.}.<?php.
185fe0 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 .namespace.JsonSchema\Constraint
186000 73 5c 54 79 70 65 43 68 65 63 6b 3b 0a 0a 69 6e 74 65 72 66 61 63 65 20 54 79 70 65 43 68 65 63 s\TypeCheck;..interface.TypeChec
186020 6b 49 6e 74 65 72 66 61 63 65 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 kInterface.{.public.static.funct
186040 69 6f 6e 20 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 ion.isObject($value);..public.st
186060 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 41 72 72 61 79 28 24 76 61 6c 75 65 29 3b 0a 0a atic.function.isArray($value);..
186080 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 47 public.static.function.propertyG
1860a0 65 74 28 24 76 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 3b 0a 0a 70 75 62 6c 69 63 20 73 et($value,.$property);..public.s
1860c0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 53 65 74 28 26 24 76 61 6c tatic.function.propertySet(&$val
1860e0 75 65 2c 20 24 70 72 6f 70 65 72 74 79 2c 20 24 64 61 74 61 29 3b 0a 0a 70 75 62 6c 69 63 20 73 ue,.$property,.$data);..public.s
186100 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 tatic.function.propertyExists($v
186120 61 6c 75 65 2c 20 24 70 72 6f 70 65 72 74 79 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 alue,.$property);..public.static
186140 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 70 65 72 74 79 43 6f 75 6e 74 28 24 76 61 6c 75 65 29 3b .function.propertyCount($value);
186160 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 .}.<?php.........namespace.JsonS
186180 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 chema\Constraints;..use.JsonSche
1861a0 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 ma\Entity\JsonPointer;.use.JsonS
1861c0 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 chema\Exception\InvalidArgumentE
1861e0 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 xception;.use.UnexpectedValueExc
186200 65 70 74 69 6f 6e 20 61 73 20 53 74 61 6e 64 61 72 64 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 eption.as.StandardUnexpectedValu
186220 65 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 79 70 65 43 6f 6e eException;........class.TypeCon
186240 73 74 72 61 69 6e 74 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a straint.extends.Constraint.{....
186260 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 77 6f 72 64 69 6e 67 20 3d 20 61 72 72 61 79 28 0a public.static.$wording.=.array(.
186280 27 69 6e 74 65 67 65 72 27 20 3d 3e 20 27 61 6e 20 69 6e 74 65 67 65 72 27 2c 0a 27 6e 75 6d 62 'integer'.=>.'an.integer',.'numb
1862a0 65 72 27 20 3d 3e 20 27 61 20 6e 75 6d 62 65 72 27 2c 0a 27 62 6f 6f 6c 65 61 6e 27 20 3d 3e 20 er'.=>.'a.number',.'boolean'.=>.
1862c0 27 61 20 62 6f 6f 6c 65 61 6e 27 2c 0a 27 6f 62 6a 65 63 74 27 20 3d 3e 20 27 61 6e 20 6f 62 6a 'a.boolean',.'object'.=>.'an.obj
1862e0 65 63 74 27 2c 0a 27 61 72 72 61 79 27 20 3d 3e 20 27 61 6e 20 61 72 72 61 79 27 2c 0a 27 73 74 ect',.'array'.=>.'an.array',.'st
186300 72 69 6e 67 27 20 3d 3e 20 27 61 20 73 74 72 69 6e 67 27 2c 0a 27 6e 75 6c 6c 27 20 3d 3e 20 27 ring'.=>.'a.string',.'null'.=>.'
186320 61 20 6e 75 6c 6c 27 2c 0a 27 61 6e 79 27 20 3d 3e 20 6e 75 6c 6c 2c 20 0a 20 30 20 3d 3e 20 6e a.null',.'any'.=>.null,...0.=>.n
186340 75 6c 6c 2c 20 0a 20 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 ull,...);.....public.function.ch
186360 65 63 6b 28 26 24 76 61 6c 75 65 20 3d 20 6e 75 6c 6c 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 eck(&$value.=.null,.$schema.=.nu
186380 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 ll,.JsonPointer.$path.=.null,.$i
1863a0 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 79 70 65 20 3d 20 69 73 73 65 74 28 24 73 63 68 65 6d 61 .=.null).{.$type.=.isset($schema
1863c0 2d 3e 74 79 70 65 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e 74 79 70 65 20 3a 20 6e 75 6c 6c 3b 0a ->type).?.$schema->type.:.null;.
1863e0 24 69 73 56 61 6c 69 64 20 3d 20 66 61 6c 73 65 3b 0a 24 77 6f 72 64 69 6e 67 20 3d 20 61 72 72 $isValid.=.false;.$wording.=.arr
186400 61 79 28 29 3b 0a 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 74 79 70 65 29 29 20 7b 0a 24 74 ay();..if.(is_array($type)).{.$t
186420 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 79 70 65 73 41 72 72 61 79 28 24 76 61 6c 75 65 2c 20 his->validateTypesArray($value,.
186440 24 74 79 70 65 2c 20 24 77 6f 72 64 69 6e 67 2c 20 24 69 73 56 61 6c 69 64 2c 20 24 70 61 74 68 $type,.$wording,.$isValid,.$path
186460 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 74 79 70 65 29 29 20 7b );.}.elseif.(is_object($type)).{
186480 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 .$this->checkUndefined($value,.$
1864a0 74 79 70 65 2c 20 24 70 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 20 65 6c 73 65 20 7b 0a type,.$path);..return;.}.else.{.
1864c0 24 69 73 56 61 6c 69 64 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 79 70 65 28 24 $isValid.=.$this->validateType($
1864e0 76 61 6c 75 65 2c 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 69 66 20 28 24 69 73 56 61 6c 69 64 20 3d value,.$type);.}..if.($isValid.=
186500 3d 3d 20 66 61 6c 73 65 29 20 7b 0a 69 66 20 28 21 69 73 5f 61 72 72 61 79 28 24 74 79 70 65 29 ==.false).{.if.(!is_array($type)
186520 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 79 70 65 4e 61 6d 65 57 6f 72 64 69 ).{.$this->validateTypeNameWordi
186540 6e 67 28 24 74 79 70 65 29 3b 0a 24 77 6f 72 64 69 6e 67 5b 5d 20 3d 20 73 65 6c 66 3a 3a 24 77 ng($type);.$wording[].=.self::$w
186560 6f 72 64 69 6e 67 5b 24 74 79 70 65 5d 3b 0a 7d 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 ording[$type];.}.$this->addError
186580 28 24 70 61 74 68 2c 20 75 63 77 6f 72 64 73 28 67 65 74 74 79 70 65 28 24 76 61 6c 75 65 29 29 ($path,.ucwords(gettype($value))
1865a0 20 2e 20 27 20 76 61 6c 75 65 20 66 6f 75 6e 64 2c 20 62 75 74 20 27 20 2e 0a 24 74 68 69 73 2d ...'.value.found,.but.'...$this-
1865c0 3e 69 6d 70 6c 6f 64 65 57 69 74 68 28 24 77 6f 72 64 69 6e 67 2c 20 27 2c 20 27 2c 20 27 6f 72 >implodeWith($wording,.',.',.'or
1865e0 27 29 20 2e 20 27 20 69 73 20 72 65 71 75 69 72 65 64 27 2c 20 27 74 79 70 65 27 29 3b 0a 7d 0a ')...'.is.required',.'type');.}.
186600 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e }.............protected.function
186620 20 76 61 6c 69 64 61 74 65 54 79 70 65 73 41 72 72 61 79 28 26 24 76 61 6c 75 65 2c 20 61 72 72 .validateTypesArray(&$value,.arr
186640 61 79 20 24 74 79 70 65 2c 20 26 24 76 61 6c 69 64 54 79 70 65 73 57 6f 72 64 69 6e 67 2c 20 26 ay.$type,.&$validTypesWording,.&
186660 24 69 73 56 61 6c 69 64 2c 20 24 70 61 74 68 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 79 70 $isValid,.$path).{.foreach.($typ
186680 65 20 61 73 20 24 74 70 29 20 7b 0a 0a 20 0a 20 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 74 e.as.$tp).{.....if.(is_object($t
1866a0 70 29 29 20 7b 0a 69 66 20 28 21 24 69 73 56 61 6c 69 64 29 20 7b 0a 24 76 61 6c 69 64 61 74 6f p)).{.if.(!$isValid).{.$validato
1866c0 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e r.=.$this->factory->createInstan
1866e0 63 65 46 6f 72 28 27 74 79 70 65 27 29 3b 0a 24 73 75 62 53 63 68 65 6d 61 20 3d 20 6e 65 77 20 ceFor('type');.$subSchema.=.new.
186700 5c 73 74 64 43 6c 61 73 73 28 29 3b 0a 24 73 75 62 53 63 68 65 6d 61 2d 3e 74 79 70 65 20 3d 20 \stdClass();.$subSchema->type.=.
186720 24 74 70 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 63 6b 28 24 76 61 6c 75 65 2c 20 24 $tp;.$validator->check($value,.$
186740 73 75 62 53 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 6e 75 6c 6c 29 3b 0a 24 65 72 72 6f 72 20 subSchema,.$path,.null);.$error.
186760 3d 20 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 24 69 73 56 61 =.$validator->getErrors();.$isVa
186780 6c 69 64 20 3d 20 21 28 62 6f 6f 6c 29 20 24 65 72 72 6f 72 3b 0a 24 76 61 6c 69 64 54 79 70 65 lid.=.!(bool).$error;.$validType
1867a0 73 57 6f 72 64 69 6e 67 5b 5d 20 3d 20 73 65 6c 66 3a 3a 24 77 6f 72 64 69 6e 67 5b 27 6f 62 6a sWording[].=.self::$wording['obj
1867c0 65 63 74 27 5d 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 ect'];.}.}.else.{.$this->validat
1867e0 65 54 79 70 65 4e 61 6d 65 57 6f 72 64 69 6e 67 28 24 74 70 29 3b 0a 24 76 61 6c 69 64 54 79 70 eTypeNameWording($tp);.$validTyp
186800 65 73 57 6f 72 64 69 6e 67 5b 5d 20 3d 20 73 65 6c 66 3a 3a 24 77 6f 72 64 69 6e 67 5b 24 74 70 esWording[].=.self::$wording[$tp
186820 5d 3b 0a 69 66 20 28 21 24 69 73 56 61 6c 69 64 29 20 7b 0a 24 69 73 56 61 6c 69 64 20 3d 20 24 ];.if.(!$isValid).{.$isValid.=.$
186840 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 54 79 70 65 28 24 76 61 6c 75 65 2c 20 24 74 70 29 3b this->validateType($value,.$tp);
186860 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 .}.}.}.}.............protected.f
186880 75 6e 63 74 69 6f 6e 20 69 6d 70 6c 6f 64 65 57 69 74 68 28 61 72 72 61 79 20 24 65 6c 65 6d 65 unction.implodeWith(array.$eleme
1868a0 6e 74 73 2c 20 24 64 65 6c 69 6d 69 74 65 72 20 3d 20 27 2c 20 27 2c 20 24 6c 69 73 74 45 6e 64 nts,.$delimiter.=.',.',.$listEnd
1868c0 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 24 6c 69 73 74 45 6e 64 20 3d 3d 3d 20 66 61 6c .=.false).{.if.($listEnd.===.fal
1868e0 73 65 20 7c 7c 20 21 69 73 73 65 74 28 24 65 6c 65 6d 65 6e 74 73 5b 31 5d 29 29 20 7b 0a 72 65 se.||.!isset($elements[1])).{.re
186900 74 75 72 6e 20 69 6d 70 6c 6f 64 65 28 24 64 65 6c 69 6d 69 74 65 72 2c 20 24 65 6c 65 6d 65 6e turn.implode($delimiter,.$elemen
186920 74 73 29 3b 0a 7d 0a 24 6c 61 73 74 45 6c 65 6d 65 6e 74 20 3d 20 61 72 72 61 79 5f 73 6c 69 63 ts);.}.$lastElement.=.array_slic
186940 65 28 24 65 6c 65 6d 65 6e 74 73 2c 20 2d 31 29 3b 0a 24 66 69 72 73 45 6c 65 6d 65 6e 74 73 20 e($elements,.-1);.$firsElements.
186960 3d 20 6a 6f 69 6e 28 24 64 65 6c 69 6d 69 74 65 72 2c 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 =.join($delimiter,.array_slice($
186980 65 6c 65 6d 65 6e 74 73 2c 20 30 2c 20 2d 31 29 29 3b 0a 24 69 6d 70 6c 6f 64 65 64 45 6c 65 6d elements,.0,.-1));.$implodedElem
1869a0 65 6e 74 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 61 72 72 61 79 28 24 66 69 72 73 45 6c ents.=.array_merge(array($firsEl
1869c0 65 6d 65 6e 74 73 29 2c 20 24 6c 61 73 74 45 6c 65 6d 65 6e 74 29 3b 0a 0a 72 65 74 75 72 6e 20 ements),.$lastElement);..return.
1869e0 6a 6f 69 6e 28 22 20 24 6c 69 73 74 45 6e 64 20 22 2c 20 24 69 6d 70 6c 6f 64 65 64 45 6c 65 6d join(".$listEnd.",.$implodedElem
186a00 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 ents);.}..........protected.func
186a20 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 54 79 70 65 4e 61 6d 65 57 6f 72 64 69 6e 67 28 24 74 79 tion.validateTypeNameWording($ty
186a40 70 65 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 77 6f 72 64 69 6e 67 5b pe).{.if.(!isset(self::$wording[
186a60 24 74 79 70 65 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 53 74 61 6e 64 61 72 64 55 6e 65 $type])).{.throw.new.StandardUne
186a80 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 0a 73 70 72 69 6e 74 66 28 0a xpectedValueException(.sprintf(.
186aa0 27 4e 6f 20 77 6f 72 64 69 6e 67 20 66 6f 72 20 25 73 20 61 76 61 69 6c 61 62 6c 65 2c 20 65 78 'No.wording.for.%s.available,.ex
186ac0 70 65 63 74 65 64 20 77 6f 72 64 69 6e 67 73 20 61 72 65 3a 20 5b 25 73 5d 27 2c 0a 76 61 72 5f pected.wordings.are:.[%s]',.var_
186ae0 65 78 70 6f 72 74 28 24 74 79 70 65 2c 20 74 72 75 65 29 2c 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 export($type,.true),.implode(',.
186b00 27 2c 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 73 65 6c 66 3a 3a 24 77 6f 72 64 69 6e 67 29 29 ',.array_filter(self::$wording))
186b20 29 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 ).);.}.}............protected.fu
186b40 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 54 79 70 65 28 26 24 76 61 6c 75 65 2c 20 24 74 79 nction.validateType(&$value,.$ty
186b60 70 65 29 0a 7b 0a 0a 20 69 66 20 28 21 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 pe).{...if.(!$type).{.return.tru
186b80 65 3b 0a 7d 0a 0a 69 66 20 28 27 61 6e 79 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 65 74 e;.}..if.('any'.===.$type).{.ret
186ba0 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 27 6f 62 6a 65 63 74 27 20 3d 3d 3d 20 24 74 urn.true;.}..if.('object'.===.$t
186bc0 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 ype).{.return.$this->getTypeChec
186be0 6b 28 29 2d 3e 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 27 61 k()->isObject($value);.}..if.('a
186c00 72 72 61 79 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d rray'.===.$type).{.return.$this-
186c20 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 41 72 72 61 79 28 24 76 61 6c 75 65 29 >getTypeCheck()->isArray($value)
186c40 3b 0a 7d 0a 0a 24 63 6f 65 72 63 65 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 ;.}..$coerce.=.$this->factory->g
186c60 65 74 43 6f 6e 66 69 67 28 43 6f 6e 73 74 72 61 69 6e 74 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f etConfig(Constraint::CHECK_MODE_
186c80 43 4f 45 52 43 45 5f 54 59 50 45 53 29 3b 0a 0a 69 66 20 28 27 69 6e 74 65 67 65 72 27 20 3d 3d COERCE_TYPES);..if.('integer'.==
186ca0 3d 20 24 74 79 70 65 29 20 7b 0a 69 66 20 28 24 63 6f 65 72 63 65 29 20 7b 0a 24 76 61 6c 75 65 =.$type).{.if.($coerce).{.$value
186cc0 20 3d 20 24 74 68 69 73 2d 3e 74 6f 49 6e 74 65 67 65 72 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a .=.$this->toInteger($value);.}..
186ce0 72 65 74 75 72 6e 20 69 73 5f 69 6e 74 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 27 6e return.is_int($value);.}..if.('n
186d00 75 6d 62 65 72 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 69 66 20 28 24 63 6f 65 72 63 65 29 umber'.===.$type).{.if.($coerce)
186d20 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 74 6f 4e 75 6d 62 65 72 28 24 76 61 6c .{.$value.=.$this->toNumber($val
186d40 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 ue);.}..return.is_numeric($value
186d60 29 20 26 26 20 21 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 ).&&.!is_string($value);.}..if.(
186d80 27 62 6f 6f 6c 65 61 6e 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 69 66 20 28 24 63 6f 65 72 'boolean'.===.$type).{.if.($coer
186da0 63 65 29 20 7b 0a 24 76 61 6c 75 65 20 3d 20 24 74 68 69 73 2d 3e 74 6f 42 6f 6f 6c 65 61 6e 28 ce).{.$value.=.$this->toBoolean(
186dc0 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 5f 62 6f 6f 6c 28 24 76 61 6c 75 $value);.}..return.is_bool($valu
186de0 65 29 3b 0a 7d 0a 0a 69 66 20 28 27 73 74 72 69 6e 67 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b e);.}..if.('string'.===.$type).{
186e00 0a 72 65 74 75 72 6e 20 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 .return.is_string($value);.}..if
186e20 20 28 27 65 6d 61 69 6c 27 20 3d 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 .('email'.===.$type).{.return.is
186e40 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 3b 0a 7d 0a 0a 69 66 20 28 27 6e 75 6c 6c 27 20 3d _string($value);.}..if.('null'.=
186e60 3d 3d 20 24 74 79 70 65 29 20 7b 0a 72 65 74 75 72 6e 20 69 73 5f 6e 75 6c 6c 28 24 76 61 6c 75 ==.$type).{.return.is_null($valu
186e80 65 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 e);.}..throw.new.InvalidArgument
186ea0 45 78 63 65 70 74 69 6f 6e 28 28 69 73 5f 6f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 20 3f 20 27 Exception((is_object($value).?.'
186ec0 6f 62 6a 65 63 74 27 20 3a 20 24 76 61 6c 75 65 29 20 2e 20 27 20 69 73 20 61 6e 20 69 6e 76 61 object'.:.$value)...'.is.an.inva
186ee0 6c 69 64 20 74 79 70 65 20 66 6f 72 20 27 20 2e 20 24 74 79 70 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a lid.type.for.'...$type);.}......
186f00 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 42 6f 6f 6c 65 61 6e 28 ...protected.function.toBoolean(
186f20 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 24 76 61 6c 75 65 20 3d 3d 3d 20 27 74 72 75 65 27 29 $value).{.if.($value.===.'true')
186f40 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 20 28 24 76 61 6c 75 65 20 3d 3d .{.return.true;.}..if.($value.==
186f60 3d 20 27 66 61 6c 73 65 27 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 =.'false').{.return.false;.}..re
186f80 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 turn.$value;.}.........protected
186fa0 20 66 75 6e 63 74 69 6f 6e 20 74 6f 4e 75 6d 62 65 72 28 24 76 61 6c 75 65 29 0a 7b 0a 69 66 20 .function.toNumber($value).{.if.
186fc0 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 (is_numeric($value)).{.return.$v
186fe0 61 6c 75 65 20 2b 20 30 3b 20 0a 20 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 6c 75 65 3b 0a 7d 0a alue.+.0;...}..return.$value;.}.
187000 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 6f 49 6e 74 65 67 65 72 28 24 76 .protected.function.toInteger($v
187020 61 6c 75 65 29 0a 7b 0a 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 20 26 alue).{.if.(is_numeric($value).&
187040 26 20 28 69 6e 74 29 20 24 76 61 6c 75 65 20 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 72 65 74 75 &.(int).$value.==.$value).{.retu
187060 72 6e 20 28 69 6e 74 29 20 24 76 61 6c 75 65 3b 20 0a 20 7d 0a 0a 72 65 74 75 72 6e 20 24 76 61 rn.(int).$value;...}..return.$va
187080 6c 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 lue;.}.}.<?php.........namespace
1870a0 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 75 73 65 20 4a 73 .JsonSchema\Constraints;..use.Js
1870c0 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 54 79 70 65 43 68 65 63 6b 5c 4c onSchema\Constraints\TypeCheck\L
1870e0 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e ooseTypeCheck;.use.JsonSchema\En
187100 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 tity\JsonPointer;.use.JsonSchema
187120 5c 45 78 63 65 70 74 69 6f 6e 5c 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 3b 0a \Exception\ValidationException;.
187140 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 55 72 69 52 65 73 6f 6c 76 65 72 3b 0a use.JsonSchema\Uri\UriResolver;.
187160 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 6e 64 65 66 69 6e 65 64 43 6f 6e 73 74 72 61 69 6e 74 .......class.UndefinedConstraint
187180 20 65 78 74 65 6e 64 73 20 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 .extends.Constraint.{....protect
1871a0 65 64 20 24 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a ed.$appliedDefaults.=.array();..
1871c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 26 24 76 61 6c 75 65 ...public.function.check(&$value
1871e0 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 ,.$schema.=.null,.JsonPointer.$p
187200 61 74 68 20 3d 20 6e 75 6c 6c 2c 20 24 69 20 3d 20 6e 75 6c 6c 2c 20 24 66 72 6f 6d 44 65 66 61 ath.=.null,.$i.=.null,.$fromDefa
187220 75 6c 74 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 69 73 5f 6e 75 6c 6c 28 24 73 63 68 65 ult.=.false).{.if.(is_null($sche
187240 6d 61 29 20 7c 7c 20 21 69 73 5f 6f 62 6a 65 63 74 28 24 73 63 68 65 6d 61 29 29 20 7b 0a 72 65 ma).||.!is_object($schema)).{.re
187260 74 75 72 6e 3b 0a 7d 0a 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e turn;.}..$path.=.$this->incremen
187280 74 50 61 74 68 28 24 70 61 74 68 20 3f 3a 20 6e 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 27 tPath($path.?:.new.JsonPointer('
1872a0 27 29 2c 20 24 69 29 3b 0a 69 66 20 28 24 66 72 6f 6d 44 65 66 61 75 6c 74 29 20 7b 0a 24 70 61 '),.$i);.if.($fromDefault).{.$pa
1872c0 74 68 2d 3e 73 65 74 46 72 6f 6d 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 0a 0a 20 24 74 68 69 73 th->setFromDefault();.}....$this
1872e0 2d 3e 76 61 6c 69 64 61 74 65 43 6f 6d 6d 6f 6e 50 72 6f 70 65 72 74 69 65 73 28 24 76 61 6c 75 ->validateCommonProperties($valu
187300 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 0a 0a 20 24 74 68 69 73 e,.$schema,.$path,.$i);....$this
187320 2d 3e 76 61 6c 69 64 61 74 65 4f 66 50 72 6f 70 65 72 74 69 65 73 28 24 76 61 6c 75 65 2c 20 24 ->validateOfProperties($value,.$
187340 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 27 27 29 3b 0a 0a 0a 20 24 74 68 69 73 2d 3e 76 61 schema,.$path,.'');....$this->va
187360 6c 69 64 61 74 65 54 79 70 65 73 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 lidateTypes($value,.$schema,.$pa
187380 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 th,.$i);.}..........public.funct
1873a0 69 6f 6e 20 76 61 6c 69 64 61 74 65 54 79 70 65 73 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 ion.validateTypes(&$value,.$sche
1873c0 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 2c 20 24 69 ma.=.null,.JsonPointer.$path,.$i
1873e0 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 67 65 74 54 79 70 65 43 .=.null).{...if.($this->getTypeC
187400 68 65 63 6b 28 29 2d 3e 69 73 41 72 72 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 heck()->isArray($value)).{.$this
187420 2d 3e 63 68 65 63 6b 41 72 72 61 79 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 ->checkArray($value,.$schema,.$p
187440 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 ath,.$i);.}....if.(LooseTypeChec
187460 6b 3a 3a 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 20 0a 20 0a 20 0a 20 24 74 68 k::isObject($value)).{.......$th
187480 69 73 2d 3e 63 68 65 63 6b 4f 62 6a 65 63 74 28 0a 24 76 61 6c 75 65 2c 0a 24 73 63 68 65 6d 61 is->checkObject(.$value,.$schema
1874a0 2c 0a 24 70 61 74 68 2c 0a 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 ,.$path,.isset($schema->properti
1874c0 65 73 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 20 3a 20 6e 75 6c 6c es).?.$schema->properties.:.null
1874e0 2c 0a 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 65 ,.isset($schema->additionalPrope
187500 72 74 69 65 73 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e 61 64 64 69 74 69 6f 6e 61 6c 50 72 6f 70 rties).?.$schema->additionalProp
187520 65 72 74 69 65 73 20 3a 20 6e 75 6c 6c 2c 0a 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 70 61 erties.:.null,.isset($schema->pa
187540 74 74 65 72 6e 50 72 6f 70 65 72 74 69 65 73 29 20 3f 20 24 73 63 68 65 6d 61 2d 3e 70 61 74 74 tternProperties).?.$schema->patt
187560 65 72 6e 50 72 6f 70 65 72 74 69 65 73 20 3a 20 6e 75 6c 6c 2c 0a 24 74 68 69 73 2d 3e 61 70 70 ernProperties.:.null,.$this->app
187580 6c 69 65 64 44 65 66 61 75 6c 74 73 0a 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 73 74 72 69 liedDefaults.);.}....if.(is_stri
1875a0 6e 67 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 53 74 72 69 6e 67 ng($value)).{.$this->checkString
1875c0 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a ($value,.$schema,.$path,.$i);.}.
1875e0 0a 0a 20 69 66 20 28 69 73 5f 6e 75 6d 65 72 69 63 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 74 68 ...if.(is_numeric($value)).{.$th
187600 69 73 2d 3e 63 68 65 63 6b 4e 75 6d 62 65 72 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c is->checkNumber($value,.$schema,
187620 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 .$path,.$i);.}....if.(isset($sch
187640 65 6d 61 2d 3e 65 6e 75 6d 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 45 6e 75 6d 28 24 ema->enum)).{.$this->checkEnum($
187660 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 7d 0a value,.$schema,.$path,.$i);.}.}.
187680 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 .........protected.function.vali
1876a0 64 61 74 65 43 6f 6d 6d 6f 6e 50 72 6f 70 65 72 74 69 65 73 28 26 24 76 61 6c 75 65 2c 20 24 73 dateCommonProperties(&$value,.$s
1876c0 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 2c chema.=.null,.JsonPointer.$path,
1876e0 20 24 69 20 3d 20 27 27 29 0a 7b 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d .$i.=.'').{...if.(isset($schema-
187700 3e 65 78 74 65 6e 64 73 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 73 63 68 65 >extends)).{.if.(is_string($sche
187720 6d 61 2d 3e 65 78 74 65 6e 64 73 29 29 20 7b 0a 24 73 63 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 ma->extends)).{.$schema->extends
187740 20 3d 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 55 72 69 28 24 73 63 68 65 6d 61 2c 20 24 .=.$this->validateUri($schema,.$
187760 73 63 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 29 3b 0a 7d 0a 69 66 20 28 69 73 5f 61 72 72 61 79 schema->extends);.}.if.(is_array
187780 28 24 73 63 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 ($schema->extends)).{.foreach.($
1877a0 73 63 68 65 6d 61 2d 3e 65 78 74 65 6e 64 73 20 61 73 20 24 65 78 74 65 6e 64 73 29 20 7b 0a 24 schema->extends.as.$extends).{.$
1877c0 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 65 78 this->checkUndefined($value,.$ex
1877e0 74 65 6e 64 73 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 tends,.$path,.$i);.}.}.else.{.$t
187800 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 73 63 68 his->checkUndefined($value,.$sch
187820 65 6d 61 2d 3e 65 78 74 65 6e 64 73 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 7d 0a 0a 0a ema->extends,.$path,.$i);.}.}...
187840 20 69 66 20 28 21 24 70 61 74 68 2d 3e 66 72 6f 6d 44 65 66 61 75 6c 74 28 29 29 20 7b 0a 24 74 .if.(!$path->fromDefault()).{.$t
187860 68 69 73 2d 3e 61 70 70 6c 79 44 65 66 61 75 6c 74 56 61 6c 75 65 73 28 24 76 61 6c 75 65 2c 20 his->applyDefaultValues($value,.
187880 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 68 69 73 2d $schema,.$path);.}....if.($this-
1878a0 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 4f 62 6a 65 63 74 28 24 76 61 6c 75 65 >getTypeCheck()->isObject($value
1878c0 29 29 20 7b 0a 69 66 20 28 21 28 24 76 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c )).{.if.(!($value.instanceof.sel
1878e0 66 29 20 26 26 20 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 20 26 f).&&.isset($schema->required).&
187900 26 20 69 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 29 20 7b &.is_array($schema->required)).{
187920 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 20 61 73 ...foreach.($schema->required.as
187940 20 24 72 65 71 75 69 72 65 64 29 20 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 54 79 70 .$required).{.if.(!$this->getTyp
187960 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 2c eCheck()->propertyExists($value,
187980 20 24 72 65 71 75 69 72 65 64 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 0a .$required)).{.$this->addError(.
1879a0 24 74 68 69 73 2d 3e 69 6e 63 72 65 6d 65 6e 74 50 61 74 68 28 24 70 61 74 68 20 3f 3a 20 6e 65 $this->incrementPath($path.?:.ne
1879c0 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 27 27 29 2c 20 24 72 65 71 75 69 72 65 64 29 2c 0a 27 w.JsonPointer(''),.$required),.'
1879e0 54 68 65 20 70 72 6f 70 65 72 74 79 20 27 20 2e 20 24 72 65 71 75 69 72 65 64 20 2e 20 27 20 69 The.property.'...$required...'.i
187a00 73 20 72 65 71 75 69 72 65 64 27 2c 0a 27 72 65 71 75 69 72 65 64 27 0a 29 3b 0a 7d 0a 7d 0a 7d s.required',.'required'.);.}.}.}
187a20 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 .elseif.(isset($schema->required
187a40 29 20 26 26 20 21 69 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 ).&&.!is_array($schema->required
187a60 29 29 20 7b 0a 0a 20 69 66 20 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 20 26 26 20 )).{...if.($schema->required.&&.
187a80 24 76 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 24 70 72 6f 70 65 $value.instanceof.self).{.$prope
187aa0 72 74 79 50 61 74 68 73 20 3d 20 24 70 61 74 68 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 rtyPaths.=.$path->getPropertyPat
187ac0 68 73 28 29 3b 0a 24 70 72 6f 70 65 72 74 79 4e 61 6d 65 20 3d 20 65 6e 64 28 24 70 72 6f 70 65 hs();.$propertyName.=.end($prope
187ae0 72 74 79 50 61 74 68 73 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 0a 24 70 61 74 rtyPaths);.$this->addError(.$pat
187b00 68 2c 0a 27 54 68 65 20 70 72 6f 70 65 72 74 79 20 27 20 2e 20 24 70 72 6f 70 65 72 74 79 4e 61 h,.'The.property.'...$propertyNa
187b20 6d 65 20 2e 20 27 20 69 73 20 72 65 71 75 69 72 65 64 27 2c 0a 27 72 65 71 75 69 72 65 64 27 0a me...'.is.required',.'required'.
187b40 29 3b 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 0a 20 69 66 20 28 24 76 61 6c 75 65 20 69 6e 73 );.}.}.else.{.....if.($value.ins
187b60 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a tanceof.self).{.return;.}.}.}...
187b80 20 69 66 20 28 21 28 24 76 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 29 20 .if.(!($value.instanceof.self)).
187ba0 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 54 79 70 65 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 {.$this->checkType($value,.$sche
187bc0 6d 61 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 ma,.$path,.$i);.}....if.(isset($
187be0 73 63 68 65 6d 61 2d 3e 64 69 73 61 6c 6c 6f 77 29 29 20 7b 0a 24 69 6e 69 74 45 72 72 6f 72 73 schema->disallow)).{.$initErrors
187c00 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 0a 24 74 79 70 65 53 63 68 .=.$this->getErrors();..$typeSch
187c20 65 6d 61 20 3d 20 6e 65 77 20 5c 73 74 64 43 6c 61 73 73 28 29 3b 0a 24 74 79 70 65 53 63 68 65 ema.=.new.\stdClass();.$typeSche
187c40 6d 61 2d 3e 74 79 70 65 20 3d 20 24 73 63 68 65 6d 61 2d 3e 64 69 73 61 6c 6c 6f 77 3b 0a 24 74 ma->type.=.$schema->disallow;.$t
187c60 68 69 73 2d 3e 63 68 65 63 6b 54 79 70 65 28 24 76 61 6c 75 65 2c 20 24 74 79 70 65 53 63 68 65 his->checkType($value,.$typeSche
187c80 6d 61 2c 20 24 70 61 74 68 29 3b 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e ma,.$path);....if.(count($this->
187ca0 67 65 74 45 72 72 6f 72 73 28 29 29 20 3d 3d 20 63 6f 75 6e 74 28 24 69 6e 69 74 45 72 72 6f 72 getErrors()).==.count($initError
187cc0 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 44 69 s)).{.$this->addError($path,.'Di
187ce0 73 61 6c 6c 6f 77 65 64 20 76 61 6c 75 65 20 77 61 73 20 6d 61 74 63 68 65 64 27 2c 20 27 64 69 sallowed.value.was.matched',.'di
187d00 73 61 6c 6c 6f 77 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 sallow');.}.else.{.$this->errors
187d20 20 3d 20 24 69 6e 69 74 45 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 .=.$initErrors;.}.}..if.(isset($
187d40 73 63 68 65 6d 61 2d 3e 6e 6f 74 29 29 20 7b 0a 24 69 6e 69 74 45 72 72 6f 72 73 20 3d 20 24 74 schema->not)).{.$initErrors.=.$t
187d60 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e his->getErrors();.$this->checkUn
187d80 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2d 3e 6e 6f 74 2c 20 24 70 defined($value,.$schema->not,.$p
187da0 61 74 68 2c 20 24 69 29 3b 0a 0a 0a 20 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 ath,.$i);....if.(count($this->ge
187dc0 74 45 72 72 6f 72 73 28 29 29 20 3d 3d 20 63 6f 75 6e 74 28 24 69 6e 69 74 45 72 72 6f 72 73 29 tErrors()).==.count($initErrors)
187de0 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 4d 61 74 63 ).{.$this->addError($path,.'Matc
187e00 68 65 64 20 61 20 73 63 68 65 6d 61 20 77 68 69 63 68 20 69 74 20 73 68 6f 75 6c 64 20 6e 6f 74 hed.a.schema.which.it.should.not
187e20 27 2c 20 27 6e 6f 74 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 72 72 6f 72 ',.'not');.}.else.{.$this->error
187e40 73 20 3d 20 24 69 6e 69 74 45 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 s.=.$initErrors;.}.}....if.(isse
187e60 74 28 24 73 63 68 65 6d 61 2d 3e 64 65 70 65 6e 64 65 6e 63 69 65 73 29 20 26 26 20 24 74 68 69 t($schema->dependencies).&&.$thi
187e80 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 69 73 4f 62 6a 65 63 74 28 24 76 61 6c s->getTypeCheck()->isObject($val
187ea0 75 65 29 29 20 7b 0a 24 74 68 69 73 2d 3e 76 61 6c 69 64 61 74 65 44 65 70 65 6e 64 65 6e 63 69 ue)).{.$this->validateDependenci
187ec0 65 73 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2d 3e 64 65 70 65 6e 64 65 6e 63 69 65 73 es($value,.$schema->dependencies
187ee0 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 ,.$path);.}.}...........private.
187f00 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 41 70 70 6c 79 44 65 66 61 75 6c 74 56 61 6c 75 65 function.shouldApplyDefaultValue
187f20 28 24 72 65 71 75 69 72 65 64 4f 6e 6c 79 2c 20 24 73 63 68 65 6d 61 2c 20 24 6e 61 6d 65 20 3d ($requiredOnly,.$schema,.$name.=
187f40 20 6e 75 6c 6c 2c 20 24 70 61 72 65 6e 74 53 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a .null,.$parentSchema.=.null).{..
187f60 20 69 66 20 28 21 24 72 65 71 75 69 72 65 64 4f 6e 6c 79 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 .if.(!$requiredOnly).{.return.tr
187f80 75 65 3b 0a 7d 0a 0a 20 69 66 20 28 0a 24 6e 61 6d 65 20 21 3d 3d 20 6e 75 6c 6c 0a 26 26 20 69 ue;.}...if.(.$name.!==.null.&&.i
187fa0 73 73 65 74 28 24 70 61 72 65 6e 74 53 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 0a 26 26 sset($parentSchema->required).&&
187fc0 20 69 73 5f 61 72 72 61 79 28 24 70 61 72 65 6e 74 53 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 .is_array($parentSchema->require
187fe0 64 29 0a 26 26 20 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 24 70 61 72 65 6e 74 53 63 68 d).&&.in_array($name,.$parentSch
188000 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 0a 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a ema->required).).{.return.true;.
188020 7d 0a 0a 20 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 }...if.(isset($schema->required)
188040 20 26 26 20 21 69 73 5f 61 72 72 61 79 28 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 .&&.!is_array($schema->required)
188060 20 26 26 20 24 73 63 68 65 6d 61 2d 3e 72 65 71 75 69 72 65 64 29 20 7b 0a 72 65 74 75 72 6e 20 .&&.$schema->required).{.return.
188080 74 72 75 65 3b 0a 7d 0a 0a 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a true;.}...return.false;.}.......
1880a0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 79 44 65 66 61 75 6c ..protected.function.applyDefaul
1880c0 74 56 61 6c 75 65 73 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 24 70 61 74 68 29 tValues(&$value,.$schema,.$path)
1880e0 0a 7b 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e .{...if.(!$this->factory->getCon
188100 66 69 67 28 73 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 41 50 50 4c 59 5f 44 45 46 41 55 fig(self::CHECK_MODE_APPLY_DEFAU
188120 4c 54 53 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 0a 20 24 72 65 71 75 69 72 65 64 4f 6e LTS)).{.return;.}....$requiredOn
188140 6c 79 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 73 ly.=.$this->factory->getConfig(s
188160 65 6c 66 3a 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 4f 4e 4c 59 5f 52 45 51 55 49 52 45 44 5f 44 45 elf::CHECK_MODE_ONLY_REQUIRED_DE
188180 46 41 55 4c 54 53 29 3b 0a 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 FAULTS);.if.(isset($schema->prop
1881a0 65 72 74 69 65 73 29 20 26 26 20 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3a 3a 69 73 4f 62 6a erties).&&.LooseTypeCheck::isObj
1881c0 65 63 74 28 24 76 61 6c 75 65 29 29 20 7b 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d ect($value)).{...foreach.($schem
1881e0 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 20 61 73 20 24 63 75 72 72 65 6e 74 50 72 6f 70 65 72 74 a->properties.as.$currentPropert
188200 79 20 3d 3e 20 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 70 72 6f y.=>.$propertyDefinition).{.$pro
188220 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 pertyDefinition.=.$this->factory
188240 2d 3e 67 65 74 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 29 2d 3e 72 65 73 6f 6c 76 65 52 65 66 ->getSchemaStorage()->resolveRef
188260 53 63 68 65 6d 61 28 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 29 3b 0a 69 66 20 Schema($propertyDefinition);.if.
188280 28 0a 21 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3a 3a 70 72 6f 70 65 72 74 79 45 78 69 73 74 (.!LooseTypeCheck::propertyExist
1882a0 73 28 24 76 61 6c 75 65 2c 20 24 63 75 72 72 65 6e 74 50 72 6f 70 65 72 74 79 29 0a 26 26 20 70 s($value,.$currentProperty).&&.p
1882c0 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 roperty_exists($propertyDefiniti
1882e0 6f 6e 2c 20 27 64 65 66 61 75 6c 74 27 29 0a 26 26 20 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 41 on,.'default').&&.$this->shouldA
188300 70 70 6c 79 44 65 66 61 75 6c 74 56 61 6c 75 65 28 24 72 65 71 75 69 72 65 64 4f 6e 6c 79 2c 20 pplyDefaultValue($requiredOnly,.
188320 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 2c 20 24 63 75 72 72 65 6e 74 50 72 6f $propertyDefinition,.$currentPro
188340 70 65 72 74 79 2c 20 24 73 63 68 65 6d 61 29 0a 29 20 7b 0a 0a 20 69 66 20 28 69 73 5f 6f 62 6a perty,.$schema).).{...if.(is_obj
188360 65 63 74 28 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 64 65 66 61 75 6c 74 ect($propertyDefinition->default
188380 29 29 20 7b 0a 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3a 3a 70 72 6f 70 65 72 74 79 53 65 74 )).{.LooseTypeCheck::propertySet
1883a0 28 24 76 61 6c 75 65 2c 20 24 63 75 72 72 65 6e 74 50 72 6f 70 65 72 74 79 2c 20 63 6c 6f 6e 65 ($value,.$currentProperty,.clone
1883c0 20 24 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 64 65 66 61 75 6c 74 29 3b 0a .$propertyDefinition->default);.
1883e0 7d 20 65 6c 73 65 20 7b 0a 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3a 3a 70 72 6f 70 65 72 74 }.else.{.LooseTypeCheck::propert
188400 79 53 65 74 28 24 76 61 6c 75 65 2c 20 24 63 75 72 72 65 6e 74 50 72 6f 70 65 72 74 79 2c 20 24 ySet($value,.$currentProperty,.$
188420 70 72 6f 70 65 72 74 79 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 64 65 66 61 75 6c 74 29 3b 0a 7d 0a propertyDefinition->default);.}.
188440 24 74 68 69 73 2d 3e 61 70 70 6c 69 65 64 44 65 66 61 75 6c 74 73 5b 5d 20 3d 20 24 63 75 72 72 $this->appliedDefaults[].=.$curr
188460 65 6e 74 50 72 6f 70 65 72 74 79 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 entProperty;.}.}.}.elseif.(isset
188480 28 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 29 20 26 26 20 4c 6f 6f 73 65 54 79 70 65 43 68 65 ($schema->items).&&.LooseTypeChe
1884a0 63 6b 3a 3a 69 73 41 72 72 61 79 28 24 76 61 6c 75 65 29 29 20 7b 0a 24 69 74 65 6d 73 20 3d 20 ck::isArray($value)).{.$items.=.
1884c0 61 72 72 61 79 28 29 3b 0a 69 66 20 28 4c 6f 6f 73 65 54 79 70 65 43 68 65 63 6b 3a 3a 69 73 41 array();.if.(LooseTypeCheck::isA
1884e0 72 72 61 79 28 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 29 29 20 7b 0a 24 69 74 65 6d 73 20 3d rray($schema->items)).{.$items.=
188500 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 .$schema->items;.}.elseif.(isset
188520 28 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 29 20 26 26 20 63 6f 75 6e 74 28 24 76 61 ($schema->minItems).&&.count($va
188540 6c 75 65 29 20 3c 20 24 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 29 20 7b 0a 24 69 74 65 lue).<.$schema->minItems).{.$ite
188560 6d 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 6c 28 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 2c 20 24 ms.=.array_fill(count($value),.$
188580 73 63 68 65 6d 61 2d 3e 6d 69 6e 49 74 65 6d 73 20 2d 20 63 6f 75 6e 74 28 24 76 61 6c 75 65 29 schema->minItems.-.count($value)
1885a0 2c 20 24 73 63 68 65 6d 61 2d 3e 69 74 65 6d 73 29 3b 0a 7d 0a 0a 20 66 6f 72 65 61 63 68 20 28 ,.$schema->items);.}...foreach.(
1885c0 24 69 74 65 6d 73 20 61 73 20 24 63 75 72 72 65 6e 74 49 74 65 6d 20 3d 3e 20 24 69 74 65 6d 44 $items.as.$currentItem.=>.$itemD
1885e0 65 66 69 6e 69 74 69 6f 6e 29 20 7b 0a 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e 20 3d 20 24 efinition).{.$itemDefinition.=.$
188600 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 this->factory->getSchemaStorage(
188620 29 2d 3e 72 65 73 6f 6c 76 65 52 65 66 53 63 68 65 6d 61 28 24 69 74 65 6d 44 65 66 69 6e 69 74 )->resolveRefSchema($itemDefinit
188640 69 6f 6e 29 3b 0a 69 66 20 28 0a 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 63 75 ion);.if.(.!array_key_exists($cu
188660 72 72 65 6e 74 49 74 65 6d 2c 20 24 76 61 6c 75 65 29 0a 26 26 20 70 72 6f 70 65 72 74 79 5f 65 rrentItem,.$value).&&.property_e
188680 78 69 73 74 73 28 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e 2c 20 27 64 65 66 61 75 6c 74 27 xists($itemDefinition,.'default'
1886a0 29 0a 26 26 20 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 41 70 70 6c 79 44 65 66 61 75 6c 74 56 61 ).&&.$this->shouldApplyDefaultVa
1886c0 6c 75 65 28 24 72 65 71 75 69 72 65 64 4f 6e 6c 79 2c 20 24 69 74 65 6d 44 65 66 69 6e 69 74 69 lue($requiredOnly,.$itemDefiniti
1886e0 6f 6e 29 29 20 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 69 74 65 6d 44 65 66 69 6e 69 on)).{.if.(is_object($itemDefini
188700 74 69 6f 6e 2d 3e 64 65 66 61 75 6c 74 29 29 20 7b 0a 24 76 61 6c 75 65 5b 24 63 75 72 72 65 6e tion->default)).{.$value[$curren
188720 74 49 74 65 6d 5d 20 3d 20 63 6c 6f 6e 65 20 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e 2d 3e tItem].=.clone.$itemDefinition->
188740 64 65 66 61 75 6c 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 76 61 6c 75 65 5b 24 63 75 72 72 65 6e default;.}.else.{.$value[$curren
188760 74 49 74 65 6d 5d 20 3d 20 24 69 74 65 6d 44 65 66 69 6e 69 74 69 6f 6e 2d 3e 64 65 66 61 75 6c tItem].=.$itemDefinition->defaul
188780 74 3b 0a 7d 0a 7d 0a 24 70 61 74 68 2d 3e 73 65 74 46 72 6f 6d 44 65 66 61 75 6c 74 28 29 3b 0a t;.}.}.$path->setFromDefault();.
1887a0 7d 0a 7d 20 65 6c 73 65 69 66 20 28 0a 24 76 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 }.}.elseif.(.$value.instanceof.s
1887c0 65 6c 66 0a 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 73 63 68 65 6d 61 2c 20 elf.&&.property_exists($schema,.
1887e0 27 64 65 66 61 75 6c 74 27 29 0a 26 26 20 24 74 68 69 73 2d 3e 73 68 6f 75 6c 64 41 70 70 6c 79 'default').&&.$this->shouldApply
188800 44 65 66 61 75 6c 74 56 61 6c 75 65 28 24 72 65 71 75 69 72 65 64 4f 6e 6c 79 2c 20 24 73 63 68 DefaultValue($requiredOnly,.$sch
188820 65 6d 61 29 29 20 7b 0a 0a 20 24 76 61 6c 75 65 20 3d 20 69 73 5f 6f 62 6a 65 63 74 28 24 73 63 ema)).{...$value.=.is_object($sc
188840 68 65 6d 61 2d 3e 64 65 66 61 75 6c 74 29 20 3f 20 63 6c 6f 6e 65 20 24 73 63 68 65 6d 61 2d 3e hema->default).?.clone.$schema->
188860 64 65 66 61 75 6c 74 20 3a 20 24 73 63 68 65 6d 61 2d 3e 64 65 66 61 75 6c 74 3b 0a 24 70 61 74 default.:.$schema->default;.$pat
188880 68 2d 3e 73 65 74 46 72 6f 6d 44 65 66 61 75 6c 74 28 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a h->setFromDefault();.}.}........
1888a0 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 4f 66 50 ..protected.function.validateOfP
1888c0 72 6f 70 65 72 74 69 65 73 28 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 4a 73 6f 6e roperties(&$value,.$schema,.Json
1888e0 50 6f 69 6e 74 65 72 20 24 70 61 74 68 2c 20 24 69 20 3d 20 27 27 29 0a 7b 0a 0a 20 69 66 20 28 Pointer.$path,.$i.=.'').{...if.(
188900 24 76 61 6c 75 65 20 69 6e 73 74 61 6e 63 65 6f 66 20 73 65 6c 66 29 20 7b 0a 72 65 74 75 72 6e $value.instanceof.self).{.return
188920 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 61 6c 6c 4f 66 29 29 20 ;.}..if.(isset($schema->allOf)).
188940 7b 0a 24 69 73 56 61 6c 69 64 20 3d 20 74 72 75 65 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 {.$isValid.=.true;.foreach.($sch
188960 65 6d 61 2d 3e 61 6c 6c 4f 66 20 61 73 20 24 61 6c 6c 4f 66 29 20 7b 0a 24 69 6e 69 74 45 72 72 ema->allOf.as.$allOf).{.$initErr
188980 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 24 74 68 69 73 2d ors.=.$this->getErrors();.$this-
1889a0 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 61 6c 6c 4f 66 2c 20 >checkUndefined($value,.$allOf,.
1889c0 24 70 61 74 68 2c 20 24 69 29 3b 0a 24 69 73 56 61 6c 69 64 20 3d 20 24 69 73 56 61 6c 69 64 20 $path,.$i);.$isValid.=.$isValid.
1889e0 26 26 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 29 20 3d 3d &&.(count($this->getErrors()).==
188a00 20 63 6f 75 6e 74 28 24 69 6e 69 74 45 72 72 6f 72 73 29 29 3b 0a 7d 0a 69 66 20 28 21 24 69 73 .count($initErrors));.}.if.(!$is
188a20 56 61 6c 69 64 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 Valid).{.$this->addError($path,.
188a40 27 46 61 69 6c 65 64 20 74 6f 20 6d 61 74 63 68 20 61 6c 6c 20 73 63 68 65 6d 61 73 27 2c 20 27 'Failed.to.match.all.schemas',.'
188a60 61 6c 6c 4f 66 27 29 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d allOf');.}.}..if.(isset($schema-
188a80 3e 61 6e 79 4f 66 29 29 20 7b 0a 24 69 73 56 61 6c 69 64 20 3d 20 66 61 6c 73 65 3b 0a 24 73 74 >anyOf)).{.$isValid.=.false;.$st
188aa0 61 72 74 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a artErrors.=.$this->getErrors();.
188ac0 24 63 61 75 67 68 74 45 78 63 65 70 74 69 6f 6e 20 3d 20 6e 75 6c 6c 3b 0a 66 6f 72 65 61 63 68 $caughtException.=.null;.foreach
188ae0 20 28 24 73 63 68 65 6d 61 2d 3e 61 6e 79 4f 66 20 61 73 20 24 61 6e 79 4f 66 29 20 7b 0a 24 69 .($schema->anyOf.as.$anyOf).{.$i
188b00 6e 69 74 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a nitErrors.=.$this->getErrors();.
188b20 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 64 28 24 76 61 6c try.{.$this->checkUndefined($val
188b40 75 65 2c 20 24 61 6e 79 4f 66 2c 20 24 70 61 74 68 2c 20 24 69 29 3b 0a 69 66 20 28 24 69 73 56 ue,.$anyOf,.$path,.$i);.if.($isV
188b60 61 6c 69 64 20 3d 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 alid.=.(count($this->getErrors()
188b80 29 20 3d 3d 20 63 6f 75 6e 74 28 24 69 6e 69 74 45 72 72 6f 72 73 29 29 29 20 7b 0a 62 72 65 61 ).==.count($initErrors))).{.brea
188ba0 6b 3b 0a 7d 0a 7d 20 63 61 74 63 68 20 28 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f k;.}.}.catch.(ValidationExceptio
188bc0 6e 20 24 65 29 20 7b 0a 24 69 73 56 61 6c 69 64 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 69 66 n.$e).{.$isValid.=.false;.}.}.if
188be0 20 28 21 24 69 73 56 61 6c 69 64 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 .(!$isValid).{.$this->addError($
188c00 70 61 74 68 2c 20 27 46 61 69 6c 65 64 20 74 6f 20 6d 61 74 63 68 20 61 74 20 6c 65 61 73 74 20 path,.'Failed.to.match.at.least.
188c20 6f 6e 65 20 73 63 68 65 6d 61 27 2c 20 27 61 6e 79 4f 66 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a one.schema',.'anyOf');.}.else.{.
188c40 24 74 68 69 73 2d 3e 65 72 72 6f 72 73 20 3d 20 24 73 74 61 72 74 45 72 72 6f 72 73 3b 0a 7d 0a $this->errors.=.$startErrors;.}.
188c60 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 73 63 68 65 6d 61 2d 3e 6f 6e 65 4f 66 29 29 20 7b 0a }..if.(isset($schema->oneOf)).{.
188c80 24 61 6c 6c 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 6d 61 74 63 68 65 64 53 63 $allErrors.=.array();.$matchedSc
188ca0 68 65 6d 61 73 20 3d 20 30 3b 0a 24 73 74 61 72 74 45 72 72 6f 72 73 20 3d 20 24 74 68 69 73 2d hemas.=.0;.$startErrors.=.$this-
188cc0 3e 67 65 74 45 72 72 6f 72 73 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 2d 3e >getErrors();.foreach.($schema->
188ce0 6f 6e 65 4f 66 20 61 73 20 24 6f 6e 65 4f 66 29 20 7b 0a 74 72 79 20 7b 0a 24 74 68 69 73 2d 3e oneOf.as.$oneOf).{.try.{.$this->
188d00 65 72 72 6f 72 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e errors.=.array();.$this->checkUn
188d20 64 65 66 69 6e 65 64 28 24 76 61 6c 75 65 2c 20 24 6f 6e 65 4f 66 2c 20 24 70 61 74 68 2c 20 24 defined($value,.$oneOf,.$path,.$
188d40 69 29 3b 0a 69 66 20 28 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 i);.if.(count($this->getErrors()
188d60 29 20 3d 3d 20 30 29 20 7b 0a 24 6d 61 74 63 68 65 64 53 63 68 65 6d 61 73 2b 2b 3b 0a 7d 0a 24 ).==.0).{.$matchedSchemas++;.}.$
188d80 61 6c 6c 45 72 72 6f 72 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 61 6c 6c 45 72 72 6f allErrors.=.array_merge($allErro
188da0 72 73 2c 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 74 68 69 73 2d 3e 67 65 74 45 72 72 6f 72 rs,.array_values($this->getError
188dc0 73 28 29 29 29 3b 0a 7d 20 63 61 74 63 68 20 28 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 s()));.}.catch.(ValidationExcept
188de0 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 0a 20 7d 0a 7d 0a 69 66 20 28 24 6d 61 74 63 68 65 64 53 63 ion.$e).{.....}.}.if.($matchedSc
188e00 68 65 6d 61 73 20 21 3d 3d 20 31 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 73 28 hemas.!==.1).{.$this->addErrors(
188e20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 61 6c 6c 45 72 72 6f 72 73 2c 20 24 73 74 61 72 74 45 72 array_merge($allErrors,.$startEr
188e40 72 6f 72 73 29 29 3b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 28 24 70 61 74 68 2c 20 27 rors));.$this->addError($path,.'
188e60 46 61 69 6c 65 64 20 74 6f 20 6d 61 74 63 68 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 73 63 68 65 Failed.to.match.exactly.one.sche
188e80 6d 61 27 2c 20 27 6f 6e 65 4f 66 27 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 65 ma',.'oneOf');.}.else.{.$this->e
188ea0 72 72 6f 72 73 20 3d 20 24 73 74 61 72 74 45 72 72 6f 72 73 3b 0a 7d 0a 7d 0a 7d 0a 0a 0a 0a 0a rrors.=.$startErrors;.}.}.}.....
188ec0 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 .....protected.function.validate
188ee0 44 65 70 65 6e 64 65 6e 63 69 65 73 28 24 76 61 6c 75 65 2c 20 24 64 65 70 65 6e 64 65 6e 63 69 Dependencies($value,.$dependenci
188f00 65 73 2c 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 20 24 70 61 74 68 2c 20 24 69 20 3d 20 27 27 29 0a es,.JsonPointer.$path,.$i.=.'').
188f20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 73 20 24 6b 65 79 {.foreach.($dependencies.as.$key
188f40 20 3d 3e 20 24 64 65 70 65 6e 64 65 6e 63 79 29 20 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 67 65 .=>.$dependency).{.if.($this->ge
188f60 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 tTypeCheck()->propertyExists($va
188f80 6c 75 65 2c 20 24 6b 65 79 29 29 20 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 64 65 70 lue,.$key)).{.if.(is_string($dep
188fa0 65 6e 64 65 6e 63 79 29 29 20 7b 0a 0a 20 69 66 20 28 21 24 74 68 69 73 2d 3e 67 65 74 54 79 70 endency)).{...if.(!$this->getTyp
188fc0 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 45 78 69 73 74 73 28 24 76 61 6c 75 65 2c eCheck()->propertyExists($value,
188fe0 20 24 64 65 70 65 6e 64 65 6e 63 79 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f 72 .$dependency)).{.$this->addError
189000 28 24 70 61 74 68 2c 20 22 24 6b 65 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 24 64 65 70 65 6e 64 ($path,."$key.depends.on.$depend
189020 65 6e 63 79 20 61 6e 64 20 24 64 65 70 65 6e 64 65 6e 63 79 20 69 73 20 6d 69 73 73 69 6e 67 22 ency.and.$dependency.is.missing"
189040 2c 20 27 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 ,.'dependencies');.}.}.elseif.(i
189060 73 5f 61 72 72 61 79 28 24 64 65 70 65 6e 64 65 6e 63 79 29 29 20 7b 0a 0a 20 66 6f 72 65 61 63 s_array($dependency)).{...foreac
189080 68 20 28 24 64 65 70 65 6e 64 65 6e 63 79 20 61 73 20 24 64 29 20 7b 0a 69 66 20 28 21 24 74 68 h.($dependency.as.$d).{.if.(!$th
1890a0 69 73 2d 3e 67 65 74 54 79 70 65 43 68 65 63 6b 28 29 2d 3e 70 72 6f 70 65 72 74 79 45 78 69 73 is->getTypeCheck()->propertyExis
1890c0 74 73 28 24 76 61 6c 75 65 2c 20 24 64 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 45 72 72 6f ts($value,.$d)).{.$this->addErro
1890e0 72 28 24 70 61 74 68 2c 20 22 24 6b 65 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 24 64 20 61 6e 64 r($path,."$key.depends.on.$d.and
189100 20 24 64 20 69 73 20 6d 69 73 73 69 6e 67 22 2c 20 27 64 65 70 65 6e 64 65 6e 63 69 65 73 27 29 .$d.is.missing",.'dependencies')
189120 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 64 65 70 65 6e ;.}.}.}.elseif.(is_object($depen
189140 64 65 6e 63 79 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 63 68 65 63 6b 55 6e 64 65 66 69 6e 65 dency)).{...$this->checkUndefine
189160 64 28 24 76 61 6c 75 65 2c 20 24 64 65 70 65 6e 64 65 6e 63 79 2c 20 24 70 61 74 68 2c 20 24 69 d($value,.$dependency,.$path,.$i
189180 29 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 76 );.}.}.}.}..protected.function.v
1891a0 61 6c 69 64 61 74 65 55 72 69 28 24 73 63 68 65 6d 61 2c 20 24 73 63 68 65 6d 61 55 72 69 20 3d alidateUri($schema,.$schemaUri.=
1891c0 20 6e 75 6c 6c 29 0a 7b 0a 24 72 65 73 6f 6c 76 65 72 20 3d 20 6e 65 77 20 55 72 69 52 65 73 6f .null).{.$resolver.=.new.UriReso
1891e0 6c 76 65 72 28 29 3b 0a 24 72 65 74 72 69 65 76 65 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 lver();.$retriever.=.$this->fact
189200 6f 72 79 2d 3e 67 65 74 55 72 69 52 65 74 72 69 65 76 65 72 28 29 3b 0a 0a 24 6a 73 6f 6e 53 63 ory->getUriRetriever();..$jsonSc
189220 68 65 6d 61 20 3d 20 6e 75 6c 6c 3b 0a 69 66 20 28 24 72 65 73 6f 6c 76 65 72 2d 3e 69 73 56 61 hema.=.null;.if.($resolver->isVa
189240 6c 69 64 28 24 73 63 68 65 6d 61 55 72 69 29 29 20 7b 0a 24 73 63 68 65 6d 61 49 64 20 3d 20 70 lid($schemaUri)).{.$schemaId.=.p
189260 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 73 63 68 65 6d 61 2c 20 27 69 64 27 29 20 3f 20 roperty_exists($schema,.'id').?.
189280 24 73 63 68 65 6d 61 2d 3e 69 64 20 3a 20 6e 75 6c 6c 3b 0a 24 6a 73 6f 6e 53 63 68 65 6d 61 20 $schema->id.:.null;.$jsonSchema.
1892a0 3d 20 24 72 65 74 72 69 65 76 65 72 2d 3e 72 65 74 72 69 65 76 65 28 24 73 63 68 65 6d 61 49 64 =.$retriever->retrieve($schemaId
1892c0 2c 20 24 73 63 68 65 6d 61 55 72 69 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6a 73 6f 6e 53 63 ,.$schemaUri);.}..return.$jsonSc
1892e0 68 65 6d 61 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 hema;.}.}.<?php.........namespac
189300 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 e.JsonSchema\Entity;..use.JsonSc
189320 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 hema\Exception\InvalidArgumentEx
189340 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 ception;.......class.JsonPointer
189360 0a 7b 0a 0a 70 72 69 76 61 74 65 20 24 66 69 6c 65 6e 61 6d 65 3b 0a 0a 0a 70 72 69 76 61 74 65 .{..private.$filename;...private
189380 20 24 70 72 6f 70 65 72 74 79 50 61 74 68 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 70 .$propertyPaths.=.array();.....p
1893a0 72 69 76 61 74 65 20 24 66 72 6f 6d 44 65 66 61 75 6c 74 20 3d 20 66 61 6c 73 65 3b 0a 0a 0a 0a rivate.$fromDefault.=.false;....
1893c0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 ...public.function.__construct($
1893e0 76 61 6c 75 65 29 0a 7b 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c 75 65 29 29 value).{.if.(!is_string($value))
189400 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 .{.throw.new.InvalidArgumentExce
189420 70 74 69 6f 6e 28 27 52 65 66 20 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 69 6e ption('Ref.value.must.be.a.strin
189440 67 27 29 3b 0a 7d 0a 0a 24 73 70 6c 69 74 52 65 66 20 3d 20 65 78 70 6c 6f 64 65 28 27 23 27 2c g');.}..$splitRef.=.explode('#',
189460 20 24 76 61 6c 75 65 2c 20 32 29 3b 0a 24 74 68 69 73 2d 3e 66 69 6c 65 6e 61 6d 65 20 3d 20 24 .$value,.2);.$this->filename.=.$
189480 73 70 6c 69 74 52 65 66 5b 30 5d 3b 0a 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 splitRef[0];.if.(array_key_exist
1894a0 73 28 31 2c 20 24 73 70 6c 69 74 52 65 66 29 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 6f 70 65 72 s(1,.$splitRef)).{.$this->proper
1894c0 74 79 50 61 74 68 73 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 6f 64 65 50 72 6f 70 65 72 74 79 50 tyPaths.=.$this->decodePropertyP
1894e0 61 74 68 73 28 24 73 70 6c 69 74 52 65 66 5b 31 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 aths($splitRef[1]);.}.}.......pr
189500 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 6f 64 65 50 72 6f 70 65 72 74 79 50 61 74 ivate.function.decodePropertyPat
189520 68 73 28 24 70 72 6f 70 65 72 74 79 50 61 74 68 53 74 72 69 6e 67 29 0a 7b 0a 24 70 61 74 68 73 hs($propertyPathString).{.$paths
189540 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 65 78 70 6c 6f 64 65 28 27 2f 27 .=.array();.foreach.(explode('/'
189560 2c 20 74 72 69 6d 28 24 70 72 6f 70 65 72 74 79 50 61 74 68 53 74 72 69 6e 67 2c 20 27 2f 27 29 ,.trim($propertyPathString,.'/')
189580 29 20 61 73 20 24 70 61 74 68 29 20 7b 0a 24 70 61 74 68 20 3d 20 24 74 68 69 73 2d 3e 64 65 63 ).as.$path).{.$path.=.$this->dec
1895a0 6f 64 65 50 61 74 68 28 24 70 61 74 68 29 3b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 70 odePath($path);.if.(is_string($p
1895c0 61 74 68 29 20 26 26 20 27 27 20 21 3d 3d 20 24 70 61 74 68 29 20 7b 0a 24 70 61 74 68 73 5b 5d ath).&&.''.!==.$path).{.$paths[]
1895e0 20 3d 20 24 70 61 74 68 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 73 3b 0a 7d 0a .=.$path;.}.}..return.$paths;.}.
189600 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 6e 63 6f 64 65 50 72 6f 70 65 ....private.function.encodePrope
189620 72 74 79 50 61 74 68 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6d 61 70 28 0a 61 rtyPaths().{.return.array_map(.a
189640 72 72 61 79 28 24 74 68 69 73 2c 20 27 65 6e 63 6f 64 65 50 61 74 68 27 29 2c 0a 24 74 68 69 73 rray($this,.'encodePath'),.$this
189660 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ->getPropertyPaths().);.}.......
189680 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 6f 64 65 50 61 74 68 28 24 70 61 74 private.function.decodePath($pat
1896a0 68 29 0a 7b 0a 72 65 74 75 72 6e 20 73 74 72 74 72 28 24 70 61 74 68 2c 20 61 72 72 61 79 28 27 h).{.return.strtr($path,.array('
1896c0 7e 31 27 20 3d 3e 20 27 2f 27 2c 20 27 7e 30 27 20 3d 3e 20 27 7e 27 2c 20 27 25 32 35 27 20 3d ~1'.=>.'/',.'~0'.=>.'~',.'%25'.=
1896e0 3e 20 27 25 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f >.'%'));.}.......private.functio
189700 6e 20 65 6e 63 6f 64 65 50 61 74 68 28 24 70 61 74 68 29 0a 7b 0a 72 65 74 75 72 6e 20 73 74 72 n.encodePath($path).{.return.str
189720 74 72 28 24 70 61 74 68 2c 20 61 72 72 61 79 28 27 2f 27 20 3d 3e 20 27 7e 31 27 2c 20 27 7e 27 tr($path,.array('/'.=>.'~1',.'~'
189740 20 3d 3e 20 27 7e 30 27 2c 20 27 25 27 20 3d 3e 20 27 25 32 35 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a .=>.'~0',.'%'.=>.'%25'));.}.....
189760 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 0a 7b 0a public.function.getFilename().{.
189780 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 69 6c 65 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 return.$this->filename;.}.....pu
1897a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 blic.function.getPropertyPaths()
1897c0 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 6f 70 65 72 74 79 50 61 74 68 73 3b 0a .{.return.$this->propertyPaths;.
1897e0 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 50 72 6f 70 }.......public.function.withProp
189800 65 72 74 79 50 61 74 68 73 28 61 72 72 61 79 20 24 70 72 6f 70 65 72 74 79 50 61 74 68 73 29 0a ertyPaths(array.$propertyPaths).
189820 7b 0a 24 6e 65 77 20 3d 20 63 6c 6f 6e 65 20 24 74 68 69 73 3b 0a 24 6e 65 77 2d 3e 70 72 6f 70 {.$new.=.clone.$this;.$new->prop
189840 65 72 74 79 50 61 74 68 73 20 3d 20 24 70 72 6f 70 65 72 74 79 50 61 74 68 73 3b 0a 0a 72 65 74 ertyPaths.=.$propertyPaths;..ret
189860 75 72 6e 20 24 6e 65 77 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 urn.$new;.}.....public.function.
189880 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 41 73 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 getPropertyPathAsString().{.retu
1898a0 72 6e 20 72 74 72 69 6d 28 27 23 2f 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 2f 27 2c 20 24 74 68 rn.rtrim('#/'...implode('/',.$th
1898c0 69 73 2d 3e 65 6e 63 6f 64 65 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 29 2c 20 27 2f 27 29 is->encodePropertyPaths()),.'/')
1898e0 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 ;.}.....public.function.__toStri
189900 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 74 46 69 6c 65 6e 61 6d 65 ng().{.return.$this->getFilename
189920 28 29 20 2e 20 24 74 68 69 73 2d 3e 67 65 74 50 72 6f 70 65 72 74 79 50 61 74 68 41 73 53 74 72 ()...$this->getPropertyPathAsStr
189940 69 6e 67 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 ing();.}.....public.function.set
189960 46 72 6f 6d 44 65 66 61 75 6c 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 66 72 6f 6d 44 65 66 61 75 FromDefault().{.$this->fromDefau
189980 6c 74 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 lt.=.true;.}.......public.functi
1899a0 6f 6e 20 66 72 6f 6d 44 65 66 61 75 6c 74 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d on.fromDefault().{.return.$this-
1899c0 3e 66 72 6f 6d 44 65 66 61 75 6c 74 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 >fromDefault;.}.}.<?php..namespa
1899e0 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 69 6e 74 65 72 66 ce.JsonSchema\Exception;..interf
189a00 61 63 65 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 ace.ExceptionInterface.{.}.<?php
189a20 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 .........namespace.JsonSchema\Ex
189a40 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 ception;.....class.InvalidArgume
189a60 6e 74 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 ntException.extends.\InvalidArgu
189a80 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 mentException.implements.Excepti
189aa0 6f 6e 49 6e 74 65 72 66 61 63 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 onInterface.{.}.<?php.........na
189ac0 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a mespace.JsonSchema\Exception;...
189ae0 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 43 6f 6e 66 69 67 45 78 63 65 70 74 69 6f 6e 20 65 ..class.InvalidConfigException.e
189b00 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 xtends.RuntimeException.{.}.<?ph
189b20 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 p.........namespace.JsonSchema\E
189b40 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 53 63 68 65 6d xception;.....class.InvalidSchem
189b60 61 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 aException.extends.RuntimeExcept
189b80 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 ion.{.}.<?php.........namespace.
189ba0 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 JsonSchema\Exception;.....class.
189bc0 49 6e 76 61 6c 69 64 53 63 68 65 6d 61 4d 65 64 69 61 54 79 70 65 45 78 63 65 70 74 69 6f 6e 20 InvalidSchemaMediaTypeException.
189be0 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 extends.RuntimeException.{.}.<?p
189c00 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c hp.........namespace.JsonSchema\
189c20 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 49 6e 76 61 6c 69 64 53 6f 75 72 Exception;.....class.InvalidSour
189c40 63 65 55 72 69 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 49 6e 76 61 6c 69 64 41 72 ceUriException.extends.InvalidAr
189c60 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a gumentException.{.}.<?php.......
189c80 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e ..namespace.JsonSchema\Exception
189ca0 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4a 73 6f 6e 44 65 63 6f 64 69 6e 67 45 78 63 65 70 74 69 6f ;.....class.JsonDecodingExceptio
189cc0 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 70 75 62 n.extends.RuntimeException.{.pub
189ce0 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 63 6f 64 65 20 3d lic.function.__construct($code.=
189d00 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 4e 4f 4e 45 2c 20 5c 45 78 63 65 70 74 69 6f 6e 20 24 70 72 .JSON_ERROR_NONE,.\Exception.$pr
189d20 65 76 69 6f 75 73 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 73 77 69 74 63 68 20 28 24 63 6f 64 65 29 20 evious.=.null).{.switch.($code).
189d40 7b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 44 45 50 54 48 3a 0a 24 6d 65 73 73 61 67 {.case.JSON_ERROR_DEPTH:.$messag
189d60 65 20 3d 20 27 54 68 65 20 6d 61 78 69 6d 75 6d 20 73 74 61 63 6b 20 64 65 70 74 68 20 68 61 73 e.=.'The.maximum.stack.depth.has
189d80 20 62 65 65 6e 20 65 78 63 65 65 64 65 64 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f .been.exceeded';.break;.case.JSO
189da0 4e 5f 45 52 52 4f 52 5f 53 54 41 54 45 5f 4d 49 53 4d 41 54 43 48 3a 0a 24 6d 65 73 73 61 67 65 N_ERROR_STATE_MISMATCH:.$message
189dc0 20 3d 20 27 49 6e 76 61 6c 69 64 20 6f 72 20 6d 61 6c 66 6f 72 6d 65 64 20 4a 53 4f 4e 27 3b 0a .=.'Invalid.or.malformed.JSON';.
189de0 62 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 43 54 52 4c 5f 43 48 41 52 break;.case.JSON_ERROR_CTRL_CHAR
189e00 3a 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 43 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 20 :.$message.=.'Control.character.
189e20 65 72 72 6f 72 2c 20 70 6f 73 73 69 62 6c 79 20 69 6e 63 6f 72 72 65 63 74 6c 79 20 65 6e 63 6f error,.possibly.incorrectly.enco
189e40 64 65 64 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 5f 55 54 46 ded';.break;.case.JSON_ERROR_UTF
189e60 38 3a 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 4d 61 6c 66 6f 72 6d 65 64 20 55 54 46 2d 38 20 63 8:.$message.=.'Malformed.UTF-8.c
189e80 68 61 72 61 63 74 65 72 73 2c 20 70 6f 73 73 69 62 6c 79 20 69 6e 63 6f 72 72 65 63 74 6c 79 20 haracters,.possibly.incorrectly.
189ea0 65 6e 63 6f 64 65 64 27 3b 0a 62 72 65 61 6b 3b 0a 63 61 73 65 20 4a 53 4f 4e 5f 45 52 52 4f 52 encoded';.break;.case.JSON_ERROR
189ec0 5f 53 59 4e 54 41 58 3a 0a 24 6d 65 73 73 61 67 65 20 3d 20 27 4a 53 4f 4e 20 73 79 6e 74 61 78 _SYNTAX:.$message.=.'JSON.syntax
189ee0 20 69 73 20 6d 61 6c 66 6f 72 6d 65 64 27 3b 0a 62 72 65 61 6b 3b 0a 64 65 66 61 75 6c 74 3a 0a .is.malformed';.break;.default:.
189f00 24 6d 65 73 73 61 67 65 20 3d 20 27 53 79 6e 74 61 78 20 65 72 72 6f 72 27 3b 0a 7d 0a 70 61 72 $message.=.'Syntax.error';.}.par
189f20 65 6e 74 3a 3a 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 64 65 ent::__construct($message,.$code
189f40 2c 20 24 70 72 65 76 69 6f 75 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a ,.$previous);.}.}.<?php.........
189f60 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a namespace.JsonSchema\Exception;.
189f80 0a 0a 0a 0a 63 6c 61 73 73 20 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 ....class.ResourceNotFoundExcept
189fa0 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d ion.extends.RuntimeException.{.}
189fc0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 .<?php.........namespace.JsonSch
189fe0 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 52 75 6e 74 69 6d 65 ema\Exception;.....class.Runtime
18a000 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c 52 75 6e 74 69 6d 65 45 78 63 65 70 74 Exception.extends.\RuntimeExcept
18a020 69 6f 6e 20 69 6d 70 6c 65 6d 65 6e 74 73 20 45 78 63 65 70 74 69 6f 6e 49 6e 74 65 72 66 61 63 ion.implements.ExceptionInterfac
18a040 65 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 e.{.}.<?php.........namespace.Js
18a060 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 onSchema\Exception;.......class.
18a080 55 6e 72 65 73 6f 6c 76 61 62 6c 65 4a 73 6f 6e 50 6f 69 6e 74 65 72 45 78 63 65 70 74 69 6f 6e UnresolvableJsonPointerException
18a0a0 20 65 78 74 65 6e 64 73 20 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f .extends.InvalidArgumentExceptio
18a0c0 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 n.{.}.<?php.........namespace.Js
18a0e0 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 72 onSchema\Exception;.....class.Ur
18a100 69 52 65 73 6f 6c 76 65 72 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 52 75 6e 74 69 iResolverException.extends.Runti
18a120 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 meException.{.}.<?php.........na
18a140 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 3b 0a 0a 63 mespace.JsonSchema\Exception;..c
18a160 6c 61 73 73 20 56 61 6c 69 64 61 74 69 6f 6e 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 lass.ValidationException.extends
18a180 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a .RuntimeException.{.}.<?php.....
18a1a0 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 49 74 65 72 61 74 6f ....namespace.JsonSchema\Iterato
18a1c0 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4f 62 6a 65 63 74 49 74 65 72 61 74 6f 72 20 69 6d r;.......class.ObjectIterator.im
18a1e0 70 6c 65 6d 65 6e 74 73 20 5c 49 74 65 72 61 74 6f 72 2c 20 5c 43 6f 75 6e 74 61 62 6c 65 0a 7b plements.\Iterator,.\Countable.{
18a200 0a 0a 70 72 69 76 61 74 65 20 24 6f 62 6a 65 63 74 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 70 6f ..private.$object;...private.$po
18a220 73 69 74 69 6f 6e 20 3d 20 30 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 64 61 74 61 20 3d 20 61 72 sition.=.0;...private.$data.=.ar
18a240 72 61 79 28 29 3b 0a 0a 0a 70 72 69 76 61 74 65 20 24 69 6e 69 74 69 61 6c 69 7a 65 64 20 3d 20 ray();...private.$initialized.=.
18a260 66 61 6c 73 65 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e false;.....public.function.__con
18a280 73 74 72 75 63 74 28 24 6f 62 6a 65 63 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 62 6a 65 63 74 20 struct($object).{.$this->object.
18a2a0 3d 20 24 6f 62 6a 65 63 74 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e =.$object;.}.....public.function
18a2c0 20 63 75 72 72 65 6e 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 .current().{.$this->initialize()
18a2e0 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 64 61 74 61 5b 24 74 68 69 73 2d 3e 70 6f 73 ;..return.$this->data[$this->pos
18a300 69 74 69 6f 6e 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 65 ition];.}.....public.function.ne
18a320 78 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 24 74 68 69 xt().{.$this->initialize();.$thi
18a340 73 2d 3e 70 6f 73 69 74 69 6f 6e 2b 2b 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 s->position++;.}.....public.func
18a360 74 69 6f 6e 20 6b 65 79 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 tion.key().{.$this->initialize()
18a380 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 6f 73 69 74 69 6f 6e 3b 0a 7d 0a 0a 0a 0a ;..return.$this->position;.}....
18a3a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 28 29 0a 7b 0a 24 74 68 69 73 .public.function.valid().{.$this
18a3c0 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 24 74 ->initialize();..return.isset($t
18a3e0 68 69 73 2d 3e 64 61 74 61 5b 24 74 68 69 73 2d 3e 70 6f 73 69 74 69 6f 6e 5d 29 3b 0a 7d 0a 0a his->data[$this->position]);.}..
18a400 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 77 69 6e 64 28 29 0a 7b 0a 24 74 ...public.function.rewind().{.$t
18a420 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 24 74 68 69 73 2d 3e 70 6f 73 69 74 69 his->initialize();.$this->positi
18a440 6f 6e 20 3d 20 30 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f on.=.0;.}.....public.function.co
18a460 75 6e 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0a 0a 72 65 unt().{.$this->initialize();..re
18a480 74 75 72 6e 20 63 6f 75 6e 74 28 24 74 68 69 73 2d 3e 64 61 74 61 29 3b 0a 7d 0a 0a 0a 0a 0a 70 turn.count($this->data);.}.....p
18a4a0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 69 74 69 61 6c 69 7a 65 28 29 0a 7b 0a 69 rivate.function.initialize().{.i
18a4c0 66 20 28 21 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 6c 69 7a 65 64 29 20 7b 0a 24 74 68 69 73 2d f.(!$this->initialized).{.$this-
18a4e0 3e 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 62 75 69 6c 64 44 61 74 61 46 72 6f 6d 4f 62 6a 65 >data.=.$this->buildDataFromObje
18a500 63 74 28 24 74 68 69 73 2d 3e 6f 62 6a 65 63 74 29 3b 0a 24 74 68 69 73 2d 3e 69 6e 69 74 69 61 ct($this->object);.$this->initia
18a520 6c 69 7a 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 lized.=.true;.}.}.......private.
18a540 66 75 6e 63 74 69 6f 6e 20 62 75 69 6c 64 44 61 74 61 46 72 6f 6d 4f 62 6a 65 63 74 28 24 6f 62 function.buildDataFromObject($ob
18a560 6a 65 63 74 29 0a 7b 0a 24 72 65 73 75 6c 74 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 24 73 74 61 ject).{.$result.=.array();..$sta
18a580 63 6b 20 3d 20 6e 65 77 20 5c 53 70 6c 53 74 61 63 6b 28 29 3b 0a 24 73 74 61 63 6b 2d 3e 70 75 ck.=.new.\SplStack();.$stack->pu
18a5a0 73 68 28 24 6f 62 6a 65 63 74 29 3b 0a 0a 77 68 69 6c 65 20 28 21 24 73 74 61 63 6b 2d 3e 69 73 sh($object);..while.(!$stack->is
18a5c0 45 6d 70 74 79 28 29 29 20 7b 0a 24 63 75 72 72 65 6e 74 20 3d 20 24 73 74 61 63 6b 2d 3e 70 6f Empty()).{.$current.=.$stack->po
18a5e0 70 28 29 3b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 63 75 72 72 65 6e 74 29 29 20 7b 0a p();.if.(is_object($current)).{.
18a600 61 72 72 61 79 5f 70 75 73 68 28 24 72 65 73 75 6c 74 2c 20 24 63 75 72 72 65 6e 74 29 3b 0a 7d array_push($result,.$current);.}
18a620 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 67 65 74 44 61 74 61 46 72 6f 6d 49 74 65 ..foreach.($this->getDataFromIte
18a640 6d 28 24 63 75 72 72 65 6e 74 29 20 61 73 20 24 70 72 6f 70 65 72 74 79 4e 61 6d 65 20 3d 3e 20 m($current).as.$propertyName.=>.
18a660 24 70 72 6f 70 65 72 74 79 56 61 6c 75 65 29 20 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 $propertyValue).{.if.(is_object(
18a680 24 70 72 6f 70 65 72 74 79 56 61 6c 75 65 29 20 7c 7c 20 69 73 5f 61 72 72 61 79 28 24 70 72 6f $propertyValue).||.is_array($pro
18a6a0 70 65 72 74 79 56 61 6c 75 65 29 29 20 7b 0a 24 73 74 61 63 6b 2d 3e 70 75 73 68 28 24 70 72 6f pertyValue)).{.$stack->push($pro
18a6c0 70 65 72 74 79 56 61 6c 75 65 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 72 65 73 75 pertyValue);.}.}.}..return.$resu
18a6e0 6c 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 lt;.}.......private.function.get
18a700 44 61 74 61 46 72 6f 6d 49 74 65 6d 28 24 69 74 65 6d 29 0a 7b 0a 69 66 20 28 21 69 73 5f 6f 62 DataFromItem($item).{.if.(!is_ob
18a720 6a 65 63 74 28 24 69 74 65 6d 29 20 26 26 20 21 69 73 5f 61 72 72 61 79 28 24 69 74 65 6d 29 29 ject($item).&&.!is_array($item))
18a740 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 69 73 5f .{.return.array();.}..return.is_
18a760 6f 62 6a 65 63 74 28 24 69 74 65 6d 29 20 3f 20 67 65 74 5f 6f 62 6a 65 63 74 5f 76 61 72 73 28 object($item).?.get_object_vars(
18a780 24 69 74 65 6d 29 20 3a 20 24 69 74 65 6d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 $item).:.$item;.}.}.<?php..names
18a7a0 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a 63 6c 61 73 73 20 52 66 63 33 33 33 39 0a pace.JsonSchema;..class.Rfc3339.
18a7c0 7b 0a 63 6f 6e 73 74 20 52 45 47 45 58 20 3d 20 27 2f 5e 28 5c 64 7b 34 7d 2d 5c 64 7b 32 7d 2d {.const.REGEX.=.'/^(\d{4}-\d{2}-
18a7e0 5c 64 7b 32 7d 5b 54 20 5d 7b 31 7d 5c 64 7b 32 7d 3a 5c 64 7b 32 7d 3a 5c 64 7b 32 7d 29 28 5c \d{2}[T.]{1}\d{2}:\d{2}:\d{2})(\
18a800 2e 5c 64 2b 29 3f 28 5a 7c 28 5b 2b 2d 5d 5c 64 7b 32 7d 29 3a 3f 28 5c 64 7b 32 7d 29 29 24 2f .\d+)?(Z|([+-]\d{2}):?(\d{2}))$/
18a820 27 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f ';.........public.static.functio
18a840 6e 20 63 72 65 61 74 65 46 72 6f 6d 53 74 72 69 6e 67 28 24 73 74 72 69 6e 67 29 0a 7b 0a 69 66 n.createFromString($string).{.if
18a860 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 73 65 6c 66 3a 3a 52 45 47 45 58 2c 20 73 74 72 74 6f .(!preg_match(self::REGEX,.strto
18a880 75 70 70 65 72 28 24 73 74 72 69 6e 67 29 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 upper($string),.$matches)).{.ret
18a8a0 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 0a 24 64 61 74 65 41 6e 64 54 69 6d 65 20 3d 20 24 6d 61 74 urn.null;.}..$dateAndTime.=.$mat
18a8c0 63 68 65 73 5b 31 5d 3b 0a 24 6d 69 63 72 6f 73 65 63 6f 6e 64 73 20 3d 20 24 6d 61 74 63 68 65 ches[1];.$microseconds.=.$matche
18a8e0 73 5b 32 5d 20 3f 3a 20 27 2e 30 30 30 30 30 30 27 3b 0a 24 74 69 6d 65 5a 6f 6e 65 20 3d 20 27 s[2].?:.'.000000';.$timeZone.=.'
18a900 5a 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 3f 20 24 6d 61 74 63 68 65 73 5b 34 5d Z'.!==.$matches[3].?.$matches[4]
18a920 20 2e 20 27 3a 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 35 5d 20 3a 20 27 2b 30 30 3a 30 30 27 3b ...':'...$matches[5].:.'+00:00';
18a940 0a 24 64 61 74 65 46 6f 72 6d 61 74 20 3d 20 73 74 72 70 6f 73 28 24 64 61 74 65 41 6e 64 54 69 .$dateFormat.=.strpos($dateAndTi
18a960 6d 65 2c 20 27 54 27 29 20 3d 3d 3d 20 66 61 6c 73 65 20 3f 20 27 59 2d 6d 2d 64 20 48 3a 69 3a me,.'T').===.false.?.'Y-m-d.H:i:
18a980 73 2e 75 50 27 20 3a 20 27 59 2d 6d 2d 64 5c 54 48 3a 69 3a 73 2e 75 50 27 3b 0a 24 64 61 74 65 s.uP'.:.'Y-m-d\TH:i:s.uP';.$date
18a9a0 54 69 6d 65 20 3d 20 5c 44 61 74 65 54 69 6d 65 3a 3a 63 72 65 61 74 65 46 72 6f 6d 46 6f 72 6d Time.=.\DateTime::createFromForm
18a9c0 61 74 28 24 64 61 74 65 46 6f 72 6d 61 74 2c 20 24 64 61 74 65 41 6e 64 54 69 6d 65 20 2e 20 24 at($dateFormat,.$dateAndTime...$
18a9e0 6d 69 63 72 6f 73 65 63 6f 6e 64 73 20 2e 20 24 74 69 6d 65 5a 6f 6e 65 2c 20 6e 65 77 20 5c 44 microseconds...$timeZone,.new.\D
18aa00 61 74 65 54 69 6d 65 5a 6f 6e 65 28 27 55 54 43 27 29 29 3b 0a 0a 72 65 74 75 72 6e 20 24 64 61 ateTimeZone('UTC'));..return.$da
18aa20 74 65 54 69 6d 65 20 3f 3a 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 teTime.?:.null;.}.}.<?php..names
18aa40 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 pace.JsonSchema;..use.JsonSchema
18aa60 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 \Constraints\BaseConstraint;.use
18aa80 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 6e 74 69 74 79 5c 4a 73 6f 6e 50 6f 69 6e 74 65 72 3b 0a .JsonSchema\Entity\JsonPointer;.
18aaa0 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 55 6e 72 65 73 6f 6c use.JsonSchema\Exception\Unresol
18aac0 76 61 62 6c 65 4a 73 6f 6e 50 6f 69 6e 74 65 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a vableJsonPointerException;.use.J
18aae0 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 55 72 69 52 65 73 6f 6c 76 65 72 3b 0a 75 73 65 20 4a sonSchema\Uri\UriResolver;.use.J
18ab00 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 55 72 69 52 65 74 72 69 65 76 65 72 3b 0a 0a 63 6c 61 sonSchema\Uri\UriRetriever;..cla
18ab20 73 73 20 53 63 68 65 6d 61 53 74 6f 72 61 67 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 53 63 68 65 ss.SchemaStorage.implements.Sche
18ab40 6d 61 53 74 6f 72 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 63 6f 6e 73 74 20 49 4e 54 45 52 maStorageInterface.{.const.INTER
18ab60 4e 41 4c 5f 50 52 4f 56 49 44 45 44 5f 53 43 48 45 4d 41 5f 55 52 49 20 3d 20 27 69 6e 74 65 72 NAL_PROVIDED_SCHEMA_URI.=.'inter
18ab80 6e 61 6c 3a 2f 2f 70 72 6f 76 69 64 65 64 2d 73 63 68 65 6d 61 2f 27 3b 0a 0a 70 72 6f 74 65 63 nal://provided-schema/';..protec
18aba0 74 65 64 20 24 75 72 69 52 65 74 72 69 65 76 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 ted.$uriRetriever;.protected.$ur
18abc0 69 52 65 73 6f 6c 76 65 72 3b 0a 70 72 6f 74 65 63 74 65 64 20 24 73 63 68 65 6d 61 73 20 3d 20 iResolver;.protected.$schemas.=.
18abe0 61 72 72 61 79 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 array();..public.function.__cons
18ac00 74 72 75 63 74 28 0a 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 20 24 75 72 truct(.UriRetrieverInterface.$ur
18ac20 69 52 65 74 72 69 65 76 65 72 20 3d 20 6e 75 6c 6c 2c 0a 55 72 69 52 65 73 6f 6c 76 65 72 49 6e iRetriever.=.null,.UriResolverIn
18ac40 74 65 72 66 61 63 65 20 24 75 72 69 52 65 73 6f 6c 76 65 72 20 3d 20 6e 75 6c 6c 0a 29 20 7b 0a terface.$uriResolver.=.null.).{.
18ac60 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 20 3d 20 24 75 72 69 52 65 74 72 69 65 $this->uriRetriever.=.$uriRetrie
18ac80 76 65 72 20 3f 3a 20 6e 65 77 20 55 72 69 52 65 74 72 69 65 76 65 72 28 29 3b 0a 24 74 68 69 73 ver.?:.new.UriRetriever();.$this
18aca0 2d 3e 75 72 69 52 65 73 6f 6c 76 65 72 20 3d 20 24 75 72 69 52 65 73 6f 6c 76 65 72 20 3f 3a 20 ->uriResolver.=.$uriResolver.?:.
18acc0 6e 65 77 20 55 72 69 52 65 73 6f 6c 76 65 72 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 new.UriResolver();.}.....public.
18ace0 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 69 52 65 74 72 69 65 76 65 72 28 29 0a 7b 0a 72 65 74 function.getUriRetriever().{.ret
18ad00 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 3b 0a 7d 0a 0a 0a 0a 0a 70 urn.$this->uriRetriever;.}.....p
18ad20 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 69 52 65 73 6f 6c 76 65 72 28 29 0a ublic.function.getUriResolver().
18ad40 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 72 69 52 65 73 6f 6c 76 65 72 3b 0a 7d 0a 0a {.return.$this->uriResolver;.}..
18ad60 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 63 68 65 6d 61 28 24 69 64 ...public.function.addSchema($id
18ad80 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 69 73 5f 6e 75 6c 6c 28 ,.$schema.=.null).{.if.(is_null(
18ada0 24 73 63 68 65 6d 61 29 20 26 26 20 24 69 64 20 21 3d 3d 20 73 65 6c 66 3a 3a 49 4e 54 45 52 4e $schema).&&.$id.!==.self::INTERN
18adc0 41 4c 5f 50 52 4f 56 49 44 45 44 5f 53 43 48 45 4d 41 5f 55 52 49 29 20 7b 0a 0a 20 0a 20 0a 20 AL_PROVIDED_SCHEMA_URI).{.......
18ade0 24 73 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 2d 3e 72 $schema.=.$this->uriRetriever->r
18ae00 65 74 72 69 65 76 65 28 24 69 64 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 etrieve($id);.}....if.(is_array(
18ae20 24 73 63 68 65 6d 61 29 29 20 7b 0a 24 73 63 68 65 6d 61 20 3d 20 42 61 73 65 43 6f 6e 73 74 72 $schema)).{.$schema.=.BaseConstr
18ae40 61 69 6e 74 3a 3a 61 72 72 61 79 54 6f 4f 62 6a 65 63 74 52 65 63 75 72 73 69 76 65 28 24 73 63 aint::arrayToObjectRecursive($sc
18ae60 68 65 6d 61 29 3b 0a 7d 0a 0a 0a 20 0a 20 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 73 63 68 hema);.}......if.(is_object($sch
18ae80 65 6d 61 29 20 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 73 63 68 65 6d 61 2c ema).&&.property_exists($schema,
18aea0 20 27 69 64 27 29 29 20 7b 0a 69 66 20 28 24 73 63 68 65 6d 61 2d 3e 69 64 20 3d 3d 20 27 68 74 .'id')).{.if.($schema->id.==.'ht
18aec0 74 70 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 64 72 61 66 74 2d 30 34 2f 73 63 tp://json-schema.org/draft-04/sc
18aee0 68 65 6d 61 23 27 29 20 7b 0a 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 2d 3e 69 hema#').{.$schema->properties->i
18af00 64 2d 3e 66 6f 72 6d 61 74 20 3d 20 27 75 72 69 2d 72 65 66 65 72 65 6e 63 65 27 3b 0a 7d 20 65 d->format.=.'uri-reference';.}.e
18af20 6c 73 65 69 66 20 28 24 73 63 68 65 6d 61 2d 3e 69 64 20 3d 3d 20 27 68 74 74 70 3a 2f 2f 6a 73 lseif.($schema->id.==.'http://js
18af40 6f 6e 2d 73 63 68 65 6d 61 2e 6f 72 67 2f 64 72 61 66 74 2d 30 33 2f 73 63 68 65 6d 61 23 27 29 on-schema.org/draft-03/schema#')
18af60 20 7b 0a 24 73 63 68 65 6d 61 2d 3e 70 72 6f 70 65 72 74 69 65 73 2d 3e 69 64 2d 3e 66 6f 72 6d .{.$schema->properties->id->form
18af80 61 74 20 3d 20 27 75 72 69 2d 72 65 66 65 72 65 6e 63 65 27 3b 0a 24 73 63 68 65 6d 61 2d 3e 70 at.=.'uri-reference';.$schema->p
18afa0 72 6f 70 65 72 74 69 65 73 2d 3e 7b 27 24 72 65 66 27 7d 2d 3e 66 6f 72 6d 61 74 20 3d 20 27 75 roperties->{'$ref'}->format.=.'u
18afc0 72 69 2d 72 65 66 65 72 65 6e 63 65 27 3b 0a 7d 0a 7d 0a 0a 0a 20 24 74 68 69 73 2d 3e 65 78 70 ri-reference';.}.}....$this->exp
18afe0 61 6e 64 52 65 66 73 28 24 73 63 68 65 6d 61 2c 20 24 69 64 29 3b 0a 0a 24 74 68 69 73 2d 3e 73 andRefs($schema,.$id);..$this->s
18b000 63 68 65 6d 61 73 5b 24 69 64 5d 20 3d 20 24 73 63 68 65 6d 61 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a chemas[$id].=.$schema;.}........
18b020 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 61 6e 64 52 65 66 73 28 26 24 73 63 private.function.expandRefs(&$sc
18b040 68 65 6d 61 2c 20 24 62 61 73 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 21 69 73 5f 6f 62 hema,.$base.=.null).{.if.(!is_ob
18b060 6a 65 63 74 28 24 73 63 68 65 6d 61 29 29 20 7b 0a 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 73 ject($schema)).{.if.(is_array($s
18b080 63 68 65 6d 61 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 73 63 68 65 6d 61 20 61 73 20 26 24 chema)).{.foreach.($schema.as.&$
18b0a0 6d 65 6d 62 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 70 61 6e 64 52 65 66 73 28 24 6d 65 6d member).{.$this->expandRefs($mem
18b0c0 62 65 72 2c 20 24 62 61 73 65 29 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 ber,.$base);.}.}..return;.}..if.
18b0e0 28 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 73 63 68 65 6d 61 2c 20 27 69 64 27 29 20 (property_exists($schema,.'id').
18b100 26 26 20 69 73 5f 73 74 72 69 6e 67 28 24 73 63 68 65 6d 61 2d 3e 69 64 29 20 26 26 20 24 62 61 &&.is_string($schema->id).&&.$ba
18b120 73 65 20 21 3d 20 24 73 63 68 65 6d 61 2d 3e 69 64 29 20 7b 0a 24 62 61 73 65 20 3d 20 24 74 68 se.!=.$schema->id).{.$base.=.$th
18b140 69 73 2d 3e 75 72 69 52 65 73 6f 6c 76 65 72 2d 3e 72 65 73 6f 6c 76 65 28 24 73 63 68 65 6d 61 is->uriResolver->resolve($schema
18b160 2d 3e 69 64 2c 20 24 62 61 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 70 72 6f 70 65 72 74 79 5f 65 78 ->id,.$base);.}..if.(property_ex
18b180 69 73 74 73 28 24 73 63 68 65 6d 61 2c 20 27 24 72 65 66 27 29 20 26 26 20 69 73 5f 73 74 72 69 ists($schema,.'$ref').&&.is_stri
18b1a0 6e 67 28 24 73 63 68 65 6d 61 2d 3e 7b 27 24 72 65 66 27 7d 29 29 20 7b 0a 24 72 65 66 50 6f 69 ng($schema->{'$ref'})).{.$refPoi
18b1c0 6e 74 65 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 24 74 68 69 73 2d 3e 75 72 nter.=.new.JsonPointer($this->ur
18b1e0 69 52 65 73 6f 6c 76 65 72 2d 3e 72 65 73 6f 6c 76 65 28 24 73 63 68 65 6d 61 2d 3e 7b 27 24 72 iResolver->resolve($schema->{'$r
18b200 65 66 27 7d 2c 20 24 62 61 73 65 29 29 3b 0a 24 73 63 68 65 6d 61 2d 3e 7b 27 24 72 65 66 27 7d ef'},.$base));.$schema->{'$ref'}
18b220 20 3d 20 28 73 74 72 69 6e 67 29 20 24 72 65 66 50 6f 69 6e 74 65 72 3b 0a 7d 0a 0a 66 6f 72 65 .=.(string).$refPointer;.}..fore
18b240 61 63 68 20 28 24 73 63 68 65 6d 61 20 61 73 20 26 24 6d 65 6d 62 65 72 29 20 7b 0a 24 74 68 69 ach.($schema.as.&$member).{.$thi
18b260 73 2d 3e 65 78 70 61 6e 64 52 65 66 73 28 24 6d 65 6d 62 65 72 2c 20 24 62 61 73 65 29 3b 0a 7d s->expandRefs($member,.$base);.}
18b280 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 63 68 65 6d 61 .}.....public.function.getSchema
18b2a0 28 24 69 64 29 0a 7b 0a 69 66 20 28 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 69 ($id).{.if.(!array_key_exists($i
18b2c0 64 2c 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 73 29 29 20 7b 0a 24 74 68 69 73 2d 3e 61 64 64 d,.$this->schemas)).{.$this->add
18b2e0 53 63 68 65 6d 61 28 24 69 64 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 Schema($id);.}..return.$this->sc
18b300 68 65 6d 61 73 5b 24 69 64 5d 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f hemas[$id];.}.....public.functio
18b320 6e 20 72 65 73 6f 6c 76 65 52 65 66 28 24 72 65 66 29 0a 7b 0a 24 6a 73 6f 6e 50 6f 69 6e 74 65 n.resolveRef($ref).{.$jsonPointe
18b340 72 20 3d 20 6e 65 77 20 4a 73 6f 6e 50 6f 69 6e 74 65 72 28 24 72 65 66 29 3b 0a 0a 0a 20 24 66 r.=.new.JsonPointer($ref);....$f
18b360 69 6c 65 4e 61 6d 65 20 3d 20 24 6a 73 6f 6e 50 6f 69 6e 74 65 72 2d 3e 67 65 74 46 69 6c 65 6e ileName.=.$jsonPointer->getFilen
18b380 61 6d 65 28 29 3b 0a 69 66 20 28 21 73 74 72 6c 65 6e 28 24 66 69 6c 65 4e 61 6d 65 29 29 20 7b ame();.if.(!strlen($fileName)).{
18b3a0 0a 74 68 72 6f 77 20 6e 65 77 20 55 6e 72 65 73 6f 6c 76 61 62 6c 65 4a 73 6f 6e 50 6f 69 6e 74 .throw.new.UnresolvableJsonPoint
18b3c0 65 72 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 22 43 6f 75 6c 64 20 6e 6f 74 20 erException(sprintf(."Could.not.
18b3e0 72 65 73 6f 6c 76 65 20 66 72 61 67 6d 65 6e 74 20 27 25 73 27 3a 20 6e 6f 20 66 69 6c 65 20 69 resolve.fragment.'%s':.no.file.i
18b400 73 20 64 65 66 69 6e 65 64 22 2c 0a 24 6a 73 6f 6e 50 6f 69 6e 74 65 72 2d 3e 67 65 74 50 72 6f s.defined",.$jsonPointer->getPro
18b420 70 65 72 74 79 50 61 74 68 41 73 53 74 72 69 6e 67 28 29 0a 29 29 3b 0a 7d 0a 0a 0a 20 24 72 65 pertyPathAsString().));.}....$re
18b440 66 53 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 53 63 68 65 6d 61 28 24 66 69 6c 65 fSchema.=.$this->getSchema($file
18b460 4e 61 6d 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6a 73 6f 6e 50 6f 69 6e 74 65 72 2d 3e 67 65 Name);.foreach.($jsonPointer->ge
18b480 74 50 72 6f 70 65 72 74 79 50 61 74 68 73 28 29 20 61 73 20 24 70 61 74 68 29 20 7b 0a 69 66 20 tPropertyPaths().as.$path).{.if.
18b4a0 28 69 73 5f 6f 62 6a 65 63 74 28 24 72 65 66 53 63 68 65 6d 61 29 20 26 26 20 70 72 6f 70 65 72 (is_object($refSchema).&&.proper
18b4c0 74 79 5f 65 78 69 73 74 73 28 24 72 65 66 53 63 68 65 6d 61 2c 20 24 70 61 74 68 29 29 20 7b 0a ty_exists($refSchema,.$path)).{.
18b4e0 24 72 65 66 53 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 52 65 66 53 63 $refSchema.=.$this->resolveRefSc
18b500 68 65 6d 61 28 24 72 65 66 53 63 68 65 6d 61 2d 3e 7b 24 70 61 74 68 7d 29 3b 0a 7d 20 65 6c 73 hema($refSchema->{$path});.}.els
18b520 65 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 72 65 66 53 63 68 65 6d 61 29 20 26 26 20 61 72 72 eif.(is_array($refSchema).&&.arr
18b540 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 70 61 74 68 2c 20 24 72 65 66 53 63 68 65 6d 61 29 ay_key_exists($path,.$refSchema)
18b560 29 20 7b 0a 24 72 65 66 53 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 52 ).{.$refSchema.=.$this->resolveR
18b580 65 66 53 63 68 65 6d 61 28 24 72 65 66 53 63 68 65 6d 61 5b 24 70 61 74 68 5d 29 3b 0a 7d 20 65 efSchema($refSchema[$path]);.}.e
18b5a0 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 55 6e 72 65 73 6f 6c 76 61 62 6c 65 4a 73 6f 6e lse.{.throw.new.UnresolvableJson
18b5c0 50 6f 69 6e 74 65 72 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 46 69 6c 65 3a PointerException(sprintf(.'File:
18b5e0 20 25 73 20 69 73 20 66 6f 75 6e 64 2c 20 62 75 74 20 63 6f 75 6c 64 20 6e 6f 74 20 72 65 73 6f .%s.is.found,.but.could.not.reso
18b600 6c 76 65 20 66 72 61 67 6d 65 6e 74 3a 20 25 73 27 2c 0a 24 6a 73 6f 6e 50 6f 69 6e 74 65 72 2d lve.fragment:.%s',.$jsonPointer-
18b620 3e 67 65 74 46 69 6c 65 6e 61 6d 65 28 29 2c 0a 24 6a 73 6f 6e 50 6f 69 6e 74 65 72 2d 3e 67 65 >getFilename(),.$jsonPointer->ge
18b640 74 50 72 6f 70 65 72 74 79 50 61 74 68 41 73 53 74 72 69 6e 67 28 29 0a 29 29 3b 0a 7d 0a 7d 0a tPropertyPathAsString().));.}.}.
18b660 0a 72 65 74 75 72 6e 20 24 72 65 66 53 63 68 65 6d 61 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 .return.$refSchema;.}.....public
18b680 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 52 65 66 53 63 68 65 6d 61 28 24 72 65 66 53 .function.resolveRefSchema($refS
18b6a0 63 68 65 6d 61 29 0a 7b 0a 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 72 65 66 53 63 68 65 6d chema).{.if.(is_object($refSchem
18b6c0 61 29 20 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 28 24 72 65 66 53 63 68 65 6d 61 a).&&.property_exists($refSchema
18b6e0 2c 20 27 24 72 65 66 27 29 20 26 26 20 69 73 5f 73 74 72 69 6e 67 28 24 72 65 66 53 63 68 65 6d ,.'$ref').&&.is_string($refSchem
18b700 61 2d 3e 7b 27 24 72 65 66 27 7d 29 29 20 7b 0a 24 6e 65 77 53 63 68 65 6d 61 20 3d 20 24 74 68 a->{'$ref'})).{.$newSchema.=.$th
18b720 69 73 2d 3e 72 65 73 6f 6c 76 65 52 65 66 28 24 72 65 66 53 63 68 65 6d 61 2d 3e 7b 27 24 72 65 is->resolveRef($refSchema->{'$re
18b740 66 27 7d 29 3b 0a 24 72 65 66 53 63 68 65 6d 61 20 3d 20 28 6f 62 6a 65 63 74 29 20 28 67 65 74 f'});.$refSchema.=.(object).(get
18b760 5f 6f 62 6a 65 63 74 5f 76 61 72 73 28 24 72 65 66 53 63 68 65 6d 61 29 20 2b 20 67 65 74 5f 6f _object_vars($refSchema).+.get_o
18b780 62 6a 65 63 74 5f 76 61 72 73 28 24 6e 65 77 53 63 68 65 6d 61 29 29 3b 0a 75 6e 73 65 74 28 24 bject_vars($newSchema));.unset($
18b7a0 72 65 66 53 63 68 65 6d 61 2d 3e 7b 27 24 72 65 66 27 7d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 refSchema->{'$ref'});.}..return.
18b7c0 24 72 65 66 53 63 68 65 6d 61 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 $refSchema;.}.}.<?php..namespace
18b7e0 20 4a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a 69 6e 74 65 72 66 61 63 65 20 53 63 68 65 6d 61 53 74 .JsonSchema;..interface.SchemaSt
18b800 6f 72 61 67 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 orageInterface.{.......public.fu
18b820 6e 63 74 69 6f 6e 20 61 64 64 53 63 68 65 6d 61 28 24 69 64 2c 20 24 73 63 68 65 6d 61 20 3d 20 nction.addSchema($id,.$schema.=.
18b840 6e 75 6c 6c 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 null);.........public.function.g
18b860 65 74 53 63 68 65 6d 61 28 24 69 64 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 etSchema($id);.........public.fu
18b880 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 52 65 66 28 24 72 65 66 29 3b 0a 0a 0a 0a 0a 0a 0a 0a nction.resolveRef($ref);........
18b8a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 52 65 66 53 63 68 65 6d .public.function.resolveRefSchem
18b8c0 61 28 24 72 65 66 53 63 68 65 6d 61 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 6e 61 6d a($refSchema);.}.<?php.......nam
18b8e0 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 74 72 69 65 76 65 72 73 espace.JsonSchema\Uri\Retrievers
18b900 3b 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 ;........abstract.class.Abstract
18b920 52 65 74 72 69 65 76 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 55 72 69 52 65 74 72 69 65 76 65 Retriever.implements.UriRetrieve
18b940 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e rInterface.{......protected.$con
18b960 74 65 6e 74 54 79 70 65 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 tentType;.......public.function.
18b980 67 65 74 43 6f 6e 74 65 6e 74 54 79 70 65 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d getContentType().{.return.$this-
18b9a0 3e 63 6f 6e 74 65 6e 74 54 79 70 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a >contentType;.}.}.<?php.........
18b9c0 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 74 72 69 65 76 namespace.JsonSchema\Uri\Retriev
18b9e0 65 72 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 52 ers;..use.JsonSchema\Exception\R
18ba00 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c untimeException;.use.JsonSchema\
18ba20 56 61 6c 69 64 61 74 6f 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 75 72 6c 20 65 78 74 65 Validator;.......class.Curl.exte
18ba40 6e 64 73 20 41 62 73 74 72 61 63 74 52 65 74 72 69 65 76 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 nds.AbstractRetriever.{.protecte
18ba60 64 20 24 6d 65 73 73 61 67 65 42 6f 64 79 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e d.$messageBody;..public.function
18ba80 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a 7b 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 .__construct().{.if.(!function_e
18baa0 78 69 73 74 73 28 27 63 75 72 6c 5f 69 6e 69 74 27 29 29 20 7b 0a 0a 20 74 68 72 6f 77 20 6e 65 xists('curl_init')).{...throw.ne
18bac0 77 20 52 75 6e 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 63 55 52 4c 20 6e 6f 74 20 69 6e 73 w.RuntimeException('cURL.not.ins
18bae0 74 61 6c 6c 65 64 27 29 3b 20 0a 20 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e talled');...}.}.......public.fun
18bb00 63 74 69 6f 6e 20 72 65 74 72 69 65 76 65 28 24 75 72 69 29 0a 7b 0a 24 63 68 20 3d 20 63 75 72 ction.retrieve($uri).{.$ch.=.cur
18bb20 6c 5f 69 6e 69 74 28 29 3b 0a 0a 63 75 72 6c 5f 73 65 74 6f 70 74 28 24 63 68 2c 20 43 55 52 4c l_init();..curl_setopt($ch,.CURL
18bb40 4f 50 54 5f 55 52 4c 2c 20 24 75 72 69 29 3b 0a 63 75 72 6c 5f 73 65 74 6f 70 74 28 24 63 68 2c OPT_URL,.$uri);.curl_setopt($ch,
18bb60 20 43 55 52 4c 4f 50 54 5f 48 45 41 44 45 52 2c 20 74 72 75 65 29 3b 0a 63 75 72 6c 5f 73 65 74 .CURLOPT_HEADER,.true);.curl_set
18bb80 6f 70 74 28 24 63 68 2c 20 43 55 52 4c 4f 50 54 5f 52 45 54 55 52 4e 54 52 41 4e 53 46 45 52 2c opt($ch,.CURLOPT_RETURNTRANSFER,
18bba0 20 74 72 75 65 29 3b 0a 63 75 72 6c 5f 73 65 74 6f 70 74 28 24 63 68 2c 20 43 55 52 4c 4f 50 54 .true);.curl_setopt($ch,.CURLOPT
18bbc0 5f 48 54 54 50 48 45 41 44 45 52 2c 20 61 72 72 61 79 28 27 41 63 63 65 70 74 3a 20 27 20 2e 20 _HTTPHEADER,.array('Accept:.'...
18bbe0 56 61 6c 69 64 61 74 6f 72 3a 3a 53 43 48 45 4d 41 5f 4d 45 44 49 41 5f 54 59 50 45 29 29 3b 0a Validator::SCHEMA_MEDIA_TYPE));.
18bc00 0a 24 72 65 73 70 6f 6e 73 65 20 3d 20 63 75 72 6c 5f 65 78 65 63 28 24 63 68 29 3b 0a 69 66 20 .$response.=.curl_exec($ch);.if.
18bc20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 72 65 73 70 6f 6e 73 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 (false.===.$response).{.throw.ne
18bc40 77 20 5c 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 52 65 73 6f 75 72 63 65 w.\JsonSchema\Exception\Resource
18bc60 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 27 4a 53 4f 4e 20 73 63 68 65 6d 61 20 6e NotFoundException('JSON.schema.n
18bc80 6f 74 20 66 6f 75 6e 64 27 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 66 65 74 63 68 4d 65 73 73 61 ot.found');.}..$this->fetchMessa
18bca0 67 65 42 6f 64 79 28 24 72 65 73 70 6f 6e 73 65 29 3b 0a 24 74 68 69 73 2d 3e 66 65 74 63 68 43 geBody($response);.$this->fetchC
18bcc0 6f 6e 74 65 6e 74 54 79 70 65 28 24 72 65 73 70 6f 6e 73 65 29 3b 0a 0a 63 75 72 6c 5f 63 6c 6f ontentType($response);..curl_clo
18bce0 73 65 28 24 63 68 29 3b 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 42 se($ch);..return.$this->messageB
18bd00 6f 64 79 3b 0a 7d 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 ody;.}.....private.function.fetc
18bd20 68 4d 65 73 73 61 67 65 42 6f 64 79 28 24 72 65 73 70 6f 6e 73 65 29 0a 7b 0a 70 72 65 67 5f 6d hMessageBody($response).{.preg_m
18bd40 61 74 63 68 28 22 2f 28 3f 3a 5c 72 5c 6e 29 7b 32 7d 28 2e 2a 29 24 2f 6d 73 22 2c 20 24 72 65 atch("/(?:\r\n){2}(.*)$/ms",.$re
18bd60 73 70 6f 6e 73 65 2c 20 24 6d 61 74 63 68 29 3b 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 42 sponse,.$match);.$this->messageB
18bd80 6f 64 79 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 ody.=.$match[1];.}.......protect
18bda0 65 64 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 43 6f 6e 74 65 6e 74 54 79 70 65 28 24 72 65 ed.function.fetchContentType($re
18bdc0 73 70 6f 6e 73 65 29 0a 7b 0a 69 66 20 28 30 20 3c 20 70 72 65 67 5f 6d 61 74 63 68 28 22 2f 43 sponse).{.if.(0.<.preg_match("/C
18bde0 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 28 5c 56 2a 29 2f 69 6d 73 22 2c 20 24 72 65 73 70 6f 6e 73 ontent-Type:(\V*)/ims",.$respons
18be00 65 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 54 79 70 65 e,.$match)).{.$this->contentType
18be20 20 3d 20 74 72 69 6d 28 24 6d 61 74 63 68 5b 31 5d 29 3b 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 .=.trim($match[1]);..return.true
18be40 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a ;.}..return.false;.}.}.<?php....
18be60 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 .....namespace.JsonSchema\Uri\Re
18be80 74 72 69 65 76 65 72 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 trievers;..use.JsonSchema\Except
18bea0 69 6f 6e 5c 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 3b 0a 0a ion\ResourceNotFoundException;..
18bec0 0a 0a 0a 0a 0a 63 6c 61 73 73 20 46 69 6c 65 47 65 74 43 6f 6e 74 65 6e 74 73 20 65 78 74 65 6e .....class.FileGetContents.exten
18bee0 64 73 20 41 62 73 74 72 61 63 74 52 65 74 72 69 65 76 65 72 0a 7b 0a 70 72 6f 74 65 63 74 65 64 ds.AbstractRetriever.{.protected
18bf00 20 24 6d 65 73 73 61 67 65 42 6f 64 79 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 .$messageBody;.......public.func
18bf20 74 69 6f 6e 20 72 65 74 72 69 65 76 65 28 24 75 72 69 29 0a 7b 0a 24 65 72 72 6f 72 4d 65 73 73 tion.retrieve($uri).{.$errorMess
18bf40 61 67 65 20 3d 20 6e 75 6c 6c 3b 0a 73 65 74 5f 65 72 72 6f 72 5f 68 61 6e 64 6c 65 72 28 66 75 age.=.null;.set_error_handler(fu
18bf60 6e 63 74 69 6f 6e 20 28 24 65 72 72 6e 6f 2c 20 24 65 72 72 73 74 72 29 20 75 73 65 20 28 26 24 nction.($errno,.$errstr).use.(&$
18bf80 65 72 72 6f 72 4d 65 73 73 61 67 65 29 20 7b 0a 24 65 72 72 6f 72 4d 65 73 73 61 67 65 20 3d 20 errorMessage).{.$errorMessage.=.
18bfa0 24 65 72 72 73 74 72 3b 0a 7d 29 3b 0a 24 72 65 73 70 6f 6e 73 65 20 3d 20 66 69 6c 65 5f 67 65 $errstr;.});.$response.=.file_ge
18bfc0 74 5f 63 6f 6e 74 65 6e 74 73 28 24 75 72 69 29 3b 0a 72 65 73 74 6f 72 65 5f 65 72 72 6f 72 5f t_contents($uri);.restore_error_
18bfe0 68 61 6e 64 6c 65 72 28 29 3b 0a 0a 69 66 20 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 20 7b handler();..if.($errorMessage).{
18c000 0a 74 68 72 6f 77 20 6e 65 77 20 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 .throw.new.ResourceNotFoundExcep
18c020 74 69 6f 6e 28 24 65 72 72 6f 72 4d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 tion($errorMessage);.}..if.(fals
18c040 65 20 3d 3d 3d 20 24 72 65 73 70 6f 6e 73 65 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 65 73 e.===.$response).{.throw.new.Res
18c060 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 27 4a 53 4f 4e 20 73 63 68 ourceNotFoundException('JSON.sch
18c080 65 6d 61 20 6e 6f 74 20 66 6f 75 6e 64 20 61 74 20 27 20 2e 20 24 75 72 69 29 3b 0a 7d 0a 0a 69 ema.not.found.at.'...$uri);.}..i
18c0a0 66 20 28 24 72 65 73 70 6f 6e 73 65 20 3d 3d 20 27 27 0a 26 26 20 73 75 62 73 74 72 28 24 75 72 f.($response.==.''.&&.substr($ur
18c0c0 69 2c 20 30 2c 20 37 29 20 3d 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 26 26 20 73 75 62 73 74 72 28 i,.0,.7).==.'file://'.&&.substr(
18c0e0 24 75 72 69 2c 20 2d 31 29 20 3d 3d 20 27 2f 27 0a 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 $uri,.-1).==.'/'.).{.throw.new.R
18c100 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 27 4a 53 4f 4e 20 73 esourceNotFoundException('JSON.s
18c120 63 68 65 6d 61 20 6e 6f 74 20 66 6f 75 6e 64 20 61 74 20 27 20 2e 20 24 75 72 69 29 3b 0a 7d 0a chema.not.found.at.'...$uri);.}.
18c140 0a 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 42 6f 64 79 20 3d 20 24 72 65 73 70 6f 6e 73 65 3b .$this->messageBody.=.$response;
18c160 0a 69 66 20 28 21 65 6d 70 74 79 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 .if.(!empty($http_response_heade
18c180 72 29 29 20 7b 0a 0a 20 0a 20 24 74 68 69 73 2d 3e 66 65 74 63 68 43 6f 6e 74 65 6e 74 54 79 70 r)).{.....$this->fetchContentTyp
18c1a0 65 28 24 68 74 74 70 5f 72 65 73 70 6f 6e 73 65 5f 68 65 61 64 65 72 29 3b 20 0a 20 7d 20 65 6c e($http_response_header);...}.el
18c1c0 73 65 20 7b 20 0a 20 0a 20 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 6e 75 se.{.....$this->contentType.=.nu
18c1e0 6c 6c 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 65 73 73 61 67 65 42 6f 64 79 ll;.}..return.$this->messageBody
18c200 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 65 74 63 68 ;.}.......private.function.fetch
18c220 43 6f 6e 74 65 6e 74 54 79 70 65 28 61 72 72 61 79 20 24 68 65 61 64 65 72 73 29 0a 7b 0a 66 6f ContentType(array.$headers).{.fo
18c240 72 65 61 63 68 20 28 24 68 65 61 64 65 72 73 20 61 73 20 24 68 65 61 64 65 72 29 20 7b 0a 69 66 reach.($headers.as.$header).{.if
18c260 20 28 24 74 68 69 73 2d 3e 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 73 65 6c 66 3a 3a 67 65 74 .($this->contentType.=.self::get
18c280 43 6f 6e 74 65 6e 74 54 79 70 65 4d 61 74 63 68 49 6e 48 65 61 64 65 72 28 24 68 65 61 64 65 72 ContentTypeMatchInHeader($header
18c2a0 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 )).{.return.true;.}.}..return.fa
18c2c0 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 73 74 61 74 69 63 20 66 75 lse;.}.......protected.static.fu
18c2e0 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 74 65 6e 74 54 79 70 65 4d 61 74 63 68 49 6e 48 65 61 64 nction.getContentTypeMatchInHead
18c300 65 72 28 24 68 65 61 64 65 72 29 0a 7b 0a 69 66 20 28 30 20 3c 20 70 72 65 67 5f 6d 61 74 63 68 er($header).{.if.(0.<.preg_match
18c320 28 22 2f 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 28 5c 56 2a 29 2f 69 6d 73 22 2c 20 24 68 65 61 ("/Content-Type:(\V*)/ims",.$hea
18c340 64 65 72 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 69 6d 28 24 6d 61 74 der,.$match)).{.return.trim($mat
18c360 63 68 5b 31 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 6e 75 6c 6c 3b 0a 7d 0a 7d 0a 3c 3f 70 68 ch[1]);.}..return.null;.}.}.<?ph
18c380 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 74 72 p..namespace.JsonSchema\Uri\Retr
18c3a0 69 65 76 65 72 73 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f ievers;..use.JsonSchema\Validato
18c3c0 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 50 72 65 64 65 66 69 6e 65 64 r;..............class.Predefined
18c3e0 41 72 72 61 79 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 52 65 74 72 69 65 76 65 72 0a Array.extends.AbstractRetriever.
18c400 7b 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 63 68 65 6d 61 73 3b 0a 0a 0a 0a 0a 0a 0a 0a {......private.$schemas;........
18c420 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 61 72 72 61 public.function.__construct(arra
18c440 79 20 24 73 63 68 65 6d 61 73 2c 20 24 63 6f 6e 74 65 6e 74 54 79 70 65 20 3d 20 56 61 6c 69 64 y.$schemas,.$contentType.=.Valid
18c460 61 74 6f 72 3a 3a 53 43 48 45 4d 41 5f 4d 45 44 49 41 5f 54 59 50 45 29 0a 7b 0a 24 74 68 69 73 ator::SCHEMA_MEDIA_TYPE).{.$this
18c480 2d 3e 73 63 68 65 6d 61 73 20 3d 20 24 73 63 68 65 6d 61 73 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e ->schemas.=.$schemas;.$this->con
18c4a0 74 65 6e 74 54 79 70 65 20 3d 20 24 63 6f 6e 74 65 6e 74 54 79 70 65 3b 0a 7d 0a 0a 0a 0a 0a 0a tentType.=.$contentType;.}......
18c4c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 72 69 65 76 65 28 24 75 72 69 29 0a .public.function.retrieve($uri).
18c4e0 7b 0a 69 66 20 28 21 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 24 75 72 69 2c 20 24 74 {.if.(!array_key_exists($uri,.$t
18c500 68 69 73 2d 3e 73 63 68 65 6d 61 73 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 4a 73 6f 6e his->schemas)).{.throw.new.\Json
18c520 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e Schema\Exception\ResourceNotFoun
18c540 64 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 54 68 65 20 4a 53 4f 4e 20 73 63 dException(sprintf(.'The.JSON.sc
18c560 68 65 6d 61 20 22 25 73 22 20 77 61 73 20 6e 6f 74 20 66 6f 75 6e 64 2e 27 2c 0a 24 75 72 69 0a hema."%s".was.not.found.',.$uri.
18c580 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 73 5b 24 75 72 ));.}..return.$this->schemas[$ur
18c5a0 69 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 i];.}.}.<?php.........namespace.
18c5c0 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 74 72 69 65 76 65 72 73 3b 0a 0a 0a 0a 0a 0a JsonSchema\Uri\Retrievers;......
18c5e0 0a 69 6e 74 65 72 66 61 63 65 20 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 .interface.UriRetrieverInterface
18c600 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 72 .{..........public.function.retr
18c620 69 65 76 65 28 24 75 72 69 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ieve($uri);.......public.functio
18c640 6e 20 67 65 74 43 6f 6e 74 65 6e 74 54 79 70 65 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a n.getContentType();.}.<?php.....
18c660 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 3b 0a 0a 75 ....namespace.JsonSchema\Uri;..u
18c680 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 55 72 69 52 65 73 6f 6c se.JsonSchema\Exception\UriResol
18c6a0 76 65 72 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 verException;.use.JsonSchema\Uri
18c6c0 52 65 73 6f 6c 76 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 ResolverInterface;.......class.U
18c6e0 72 69 52 65 73 6f 6c 76 65 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 55 72 69 52 65 73 6f 6c 76 65 riResolver.implements.UriResolve
18c700 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 rInterface.{........public.funct
18c720 69 6f 6e 20 70 61 72 73 65 28 24 75 72 69 29 0a 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7c 5e ion.parse($uri).{.preg_match('|^
18c740 28 28 5b 5e 3a 2f 3f 23 5d 2b 29 3a 29 3f 28 2f 2f 28 5b 5e 2f 3f 23 5d 2a 29 29 3f 28 5b 5e 3f (([^:/?#]+):)?(//([^/?#]*))?([^?
18c760 23 5d 2a 29 28 5c 3f 28 5b 5e 23 5d 2a 29 29 3f 28 23 28 2e 2a 29 29 3f 7c 27 2c 20 24 75 72 69 #]*)(\?([^#]*))?(#(.*))?|',.$uri
18c780 2c 20 24 6d 61 74 63 68 29 3b 0a 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 61 72 72 61 79 28 ,.$match);..$components.=.array(
18c7a0 29 3b 0a 69 66 20 28 35 20 3c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6d );.if.(5.<.count($match)).{.$com
18c7c0 70 6f 6e 65 6e 74 73 20 3d 20 61 72 72 61 79 28 0a 27 73 63 68 65 6d 65 27 20 3d 3e 20 24 6d 61 ponents.=.array(.'scheme'.=>.$ma
18c7e0 74 63 68 5b 32 5d 2c 0a 27 61 75 74 68 6f 72 69 74 79 27 20 3d 3e 20 24 6d 61 74 63 68 5b 34 5d tch[2],.'authority'.=>.$match[4]
18c800 2c 0a 27 70 61 74 68 27 20 3d 3e 20 24 6d 61 74 63 68 5b 35 5d 0a 29 3b 0a 7d 0a 69 66 20 28 37 ,.'path'.=>.$match[5].);.}.if.(7
18c820 20 3c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b .<.count($match)).{.$components[
18c840 27 71 75 65 72 79 27 5d 20 3d 20 24 6d 61 74 63 68 5b 37 5d 3b 0a 7d 0a 69 66 20 28 39 20 3c 20 'query'].=.$match[7];.}.if.(9.<.
18c860 63 6f 75 6e 74 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 count($match)).{.$components['fr
18c880 61 67 6d 65 6e 74 27 5d 20 3d 20 24 6d 61 74 63 68 5b 39 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 agment'].=.$match[9];.}..return.
18c8a0 24 63 6f 6d 70 6f 6e 65 6e 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 $components;.}.........public.fu
18c8c0 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 28 61 72 72 61 79 20 24 63 6f 6d 70 6f 6e 65 6e 74 nction.generate(array.$component
18c8e0 73 29 0a 7b 0a 24 75 72 69 20 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 73 63 68 65 6d 65 27 s).{.$uri.=.$components['scheme'
18c900 5d 20 2e 20 27 3a 2f 2f 27 0a 2e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 61 75 74 68 6f 72 69 ]...'://'...$components['authori
18c920 74 79 27 5d 0a 2e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d 3b 0a 0a 69 66 20 ty']...$components['path'];..if.
18c940 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 71 75 65 72 79 27 2c 20 24 63 6f 6d 70 (array_key_exists('query',.$comp
18c960 6f 6e 65 6e 74 73 29 20 26 26 20 73 74 72 6c 65 6e 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 71 onents).&&.strlen($components['q
18c980 75 65 72 79 27 5d 29 29 20 7b 0a 24 75 72 69 20 2e 3d 20 27 3f 27 20 2e 20 24 63 6f 6d 70 6f 6e uery'])).{.$uri..=.'?'...$compon
18c9a0 65 6e 74 73 5b 27 71 75 65 72 79 27 5d 3b 0a 7d 0a 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 ents['query'];.}.if.(array_key_e
18c9c0 78 69 73 74 73 28 27 66 72 61 67 6d 65 6e 74 27 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 29 20 xists('fragment',.$components)).
18c9e0 7b 0a 24 75 72 69 20 2e 3d 20 27 23 27 20 2e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 61 {.$uri..=.'#'...$components['fra
18ca00 67 6d 65 6e 74 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 69 3b 0a 7d 0a 0a 0a 0a 0a 70 gment'];.}..return.$uri;.}.....p
18ca20 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 28 24 75 72 69 2c 20 24 62 61 ublic.function.resolve($uri,.$ba
18ca40 73 65 55 72 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 0a 21 69 73 5f 6e 75 6c 6c 28 seUri.=.null).{...if.(.!is_null(
18ca60 24 62 61 73 65 55 72 69 29 20 26 26 0a 21 66 69 6c 74 65 72 5f 76 61 72 28 24 62 61 73 65 55 72 $baseUri).&&.!filter_var($baseUr
18ca80 69 2c 20 5c 46 49 4c 54 45 52 5f 56 41 4c 49 44 41 54 45 5f 55 52 4c 29 20 26 26 0a 21 70 72 65 i,.\FILTER_VALIDATE_URL).&&.!pre
18caa0 67 5f 6d 61 74 63 68 28 27 7c 5e 5b 5e 2f 5d 2b 3a 2f 2f 7c 75 27 2c 20 24 62 61 73 65 55 72 69 g_match('|^[^/]+://|u',.$baseUri
18cac0 29 0a 29 20 7b 0a 69 66 20 28 69 73 5f 66 69 6c 65 28 24 62 61 73 65 55 72 69 29 29 20 7b 0a 24 ).).{.if.(is_file($baseUri)).{.$
18cae0 62 61 73 65 55 72 69 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 72 65 61 6c 70 61 74 68 28 24 baseUri.=.'file://'...realpath($
18cb00 62 61 73 65 55 72 69 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 5f 64 69 72 28 24 62 61 73 65 baseUri);.}.elseif.(is_dir($base
18cb20 55 72 69 29 29 20 7b 0a 24 62 61 73 65 55 72 69 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 72 Uri)).{.$baseUri.=.'file://'...r
18cb40 65 61 6c 70 61 74 68 28 24 62 61 73 65 55 72 69 29 20 2e 20 27 2f 27 3b 0a 7d 20 65 6c 73 65 20 ealpath($baseUri)...'/';.}.else.
18cb60 7b 0a 24 62 61 73 65 55 72 69 20 3d 20 27 66 69 6c 65 3a 2f 2f 27 20 2e 20 67 65 74 63 77 64 28 {.$baseUri.=.'file://'...getcwd(
18cb80 29 20 2e 20 27 2f 27 20 2e 20 24 62 61 73 65 55 72 69 3b 0a 7d 0a 7d 0a 0a 69 66 20 28 24 75 72 )...'/'...$baseUri;.}.}..if.($ur
18cba0 69 20 3d 3d 20 27 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 62 61 73 65 55 72 69 3b 0a 7d 0a 0a 24 i.==.'').{.return.$baseUri;.}..$
18cbc0 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 75 72 69 29 3b components.=.$this->parse($uri);
18cbe0 0a 24 70 61 74 68 20 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d 3b 0a 0a 69 .$path.=.$components['path'];..i
18cc00 66 20 28 21 65 6d 70 74 79 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 73 63 68 65 6d 65 27 5d 29 f.(!empty($components['scheme'])
18cc20 29 20 7b 0a 72 65 74 75 72 6e 20 24 75 72 69 3b 0a 7d 0a 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e ).{.return.$uri;.}.$baseComponen
18cc40 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 62 61 73 65 55 72 69 29 3b 0a 24 62 61 ts.=.$this->parse($baseUri);.$ba
18cc60 73 65 50 61 74 68 20 3d 20 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d sePath.=.$baseComponents['path']
18cc80 3b 0a 0a 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d 20 3d 20 73 65 6c ;..$baseComponents['path'].=.sel
18cca0 66 3a 3a 63 6f 6d 62 69 6e 65 52 65 6c 61 74 69 76 65 50 61 74 68 57 69 74 68 42 61 73 65 50 61 f::combineRelativePathWithBasePa
18ccc0 74 68 28 24 70 61 74 68 2c 20 24 62 61 73 65 50 61 74 68 29 3b 0a 69 66 20 28 69 73 73 65 74 28 th($path,.$basePath);.if.(isset(
18cce0 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 29 29 20 7b 0a 24 62 61 73 $components['fragment'])).{.$bas
18cd00 65 43 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 20 3d 20 24 63 6f 6d 70 6f eComponents['fragment'].=.$compo
18cd20 6e 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 nents['fragment'];.}..return.$th
18cd40 69 73 2d 3e 67 65 6e 65 72 61 74 65 28 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 29 3b 0a 7d is->generate($baseComponents);.}
18cd60 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 ............public.static.functi
18cd80 6f 6e 20 63 6f 6d 62 69 6e 65 52 65 6c 61 74 69 76 65 50 61 74 68 57 69 74 68 42 61 73 65 50 61 on.combineRelativePathWithBasePa
18cda0 74 68 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 24 62 61 73 65 50 61 74 68 29 0a 7b 0a 24 th($relativePath,.$basePath).{.$
18cdc0 72 65 6c 61 74 69 76 65 50 61 74 68 20 3d 20 73 65 6c 66 3a 3a 6e 6f 72 6d 61 6c 69 7a 65 50 61 relativePath.=.self::normalizePa
18cde0 74 68 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 29 3b 0a 69 66 20 28 24 72 65 6c 61 74 69 76 65 th($relativePath);.if.($relative
18ce00 50 61 74 68 20 3d 3d 20 27 27 29 20 7b 0a 72 65 74 75 72 6e 20 24 62 61 73 65 50 61 74 68 3b 0a Path.==.'').{.return.$basePath;.
18ce20 7d 0a 69 66 20 28 24 72 65 6c 61 74 69 76 65 50 61 74 68 5b 30 5d 20 3d 3d 20 27 2f 27 29 20 7b }.if.($relativePath[0].==.'/').{
18ce40 0a 72 65 74 75 72 6e 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 3b 0a 7d 0a 0a 24 62 61 73 65 50 .return.$relativePath;.}..$baseP
18ce60 61 74 68 53 65 67 6d 65 6e 74 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 2f 27 2c 20 24 62 61 73 65 athSegments.=.explode('/',.$base
18ce80 50 61 74 68 29 3b 0a 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7c 5e 2f 3f 28 5c 2e 5c 2e 2f 28 3f Path);..preg_match('|^/?(\.\./(?
18cea0 3a 5c 2e 2f 29 2a 29 2a 7c 27 2c 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 24 6d 61 74 63 :\./)*)*|',.$relativePath,.$matc
18cec0 68 29 3b 0a 24 6e 75 6d 4c 65 76 65 6c 55 70 20 3d 20 73 74 72 6c 65 6e 28 24 6d 61 74 63 68 5b h);.$numLevelUp.=.strlen($match[
18cee0 30 5d 29 20 2f 33 20 2b 20 31 3b 0a 69 66 20 28 24 6e 75 6d 4c 65 76 65 6c 55 70 20 3e 3d 20 63 0])./3.+.1;.if.($numLevelUp.>=.c
18cf00 6f 75 6e 74 28 24 62 61 73 65 50 61 74 68 53 65 67 6d 65 6e 74 73 29 29 20 7b 0a 74 68 72 6f 77 ount($basePathSegments)).{.throw
18cf20 20 6e 65 77 20 55 72 69 52 65 73 6f 6c 76 65 72 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 .new.UriResolverException(sprint
18cf40 66 28 22 55 6e 61 62 6c 65 20 74 6f 20 72 65 73 6f 6c 76 65 20 55 52 49 20 27 25 73 27 20 66 72 f("Unable.to.resolve.URI.'%s'.fr
18cf60 6f 6d 20 62 61 73 65 20 27 25 73 27 22 2c 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 2c 20 24 62 om.base.'%s'",.$relativePath,.$b
18cf80 61 73 65 50 61 74 68 29 29 3b 0a 7d 0a 0a 24 62 61 73 65 50 61 74 68 53 65 67 6d 65 6e 74 73 20 asePath));.}..$basePathSegments.
18cfa0 3d 20 61 72 72 61 79 5f 73 6c 69 63 65 28 24 62 61 73 65 50 61 74 68 53 65 67 6d 65 6e 74 73 2c =.array_slice($basePathSegments,
18cfc0 20 30 2c 20 2d 24 6e 75 6d 4c 65 76 65 6c 55 70 29 3b 0a 24 70 61 74 68 20 3d 20 70 72 65 67 5f .0,.-$numLevelUp);.$path.=.preg_
18cfe0 72 65 70 6c 61 63 65 28 27 7c 5e 2f 3f 28 5c 2e 5c 2e 2f 28 5c 2e 2f 29 2a 29 2a 7c 27 2c 20 27 replace('|^/?(\.\./(\./)*)*|',.'
18d000 27 2c 20 24 72 65 6c 61 74 69 76 65 50 61 74 68 29 3b 0a 0a 72 65 74 75 72 6e 20 69 6d 70 6c 6f ',.$relativePath);..return.implo
18d020 64 65 28 27 2f 27 2c 20 24 62 61 73 65 50 61 74 68 53 65 67 6d 65 6e 74 73 29 20 2e 20 27 2f 27 de('/',.$basePathSegments)...'/'
18d040 20 2e 20 24 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 ...$path;.}.........private.stat
18d060 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 50 61 74 68 28 24 70 61 74 68 29 ic.function.normalizePath($path)
18d080 0a 7b 0a 24 70 61 74 68 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7c 28 28 3f 3c 21 5c .{.$path.=.preg_replace('|((?<!\
18d0a0 2e 29 5c 2e 2f 29 2a 7c 27 2c 20 27 27 2c 20 24 70 61 74 68 29 3b 0a 24 70 61 74 68 20 3d 20 70 .)\./)*|',.'',.$path);.$path.=.p
18d0c0 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7c 2f 2f 7c 27 2c 20 27 2f 27 2c 20 24 70 61 74 68 29 3b reg_replace('|//|',.'/',.$path);
18d0e0 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 ..return.$path;.}.......public.f
18d100 75 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 28 24 75 72 69 29 0a 7b 0a 24 63 6f 6d 70 6f 6e 65 unction.isValid($uri).{.$compone
18d120 6e 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 75 72 69 29 3b 0a 0a 72 65 74 75 72 nts.=.$this->parse($uri);..retur
18d140 6e 20 21 65 6d 70 74 79 28 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 n.!empty($components);.}.}.<?php
18d160 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 .........namespace.JsonSchema\Ur
18d180 69 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 49 6e 76 i;..use.JsonSchema\Exception\Inv
18d1a0 61 6c 69 64 53 63 68 65 6d 61 4d 65 64 69 61 54 79 70 65 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 alidSchemaMediaTypeException;.us
18d1c0 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 65 70 74 69 6f 6e 5c 4a 73 6f 6e 44 65 63 6f 64 e.JsonSchema\Exception\JsonDecod
18d1e0 69 6e 67 45 78 63 65 70 74 69 6f 6e 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 45 78 63 ingException;.use.JsonSchema\Exc
18d200 65 70 74 69 6f 6e 5c 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e eption\ResourceNotFoundException
18d220 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 5c 52 65 74 72 69 65 76 65 72 73 5c ;.use.JsonSchema\Uri\Retrievers\
18d240 46 69 6c 65 47 65 74 43 6f 6e 74 65 6e 74 73 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c FileGetContents;.use.JsonSchema\
18d260 55 72 69 5c 52 65 74 72 69 65 76 65 72 73 5c 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 Uri\Retrievers\UriRetrieverInter
18d280 66 61 63 65 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 55 72 69 52 65 74 72 69 65 76 65 face;.use.JsonSchema\UriRetrieve
18d2a0 72 49 6e 74 65 72 66 61 63 65 20 61 73 20 42 61 73 65 55 72 69 52 65 74 72 69 65 76 65 72 49 6e rInterface.as.BaseUriRetrieverIn
18d2c0 74 65 72 66 61 63 65 3b 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 56 61 6c 69 64 61 74 6f terface;.use.JsonSchema\Validato
18d2e0 72 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 55 72 69 52 65 74 72 69 65 76 65 72 20 69 6d 70 6c r;.......class.UriRetriever.impl
18d300 65 6d 65 6e 74 73 20 42 61 73 65 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 66 61 63 65 ements.BaseUriRetrieverInterface
18d320 0a 7b 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 74 72 61 6e 73 6c 61 74 69 6f 6e 4d 61 70 20 .{....protected.$translationMap.
18d340 3d 20 61 72 72 61 79 28 0a 0a 20 27 7c 5e 68 74 74 70 73 3f 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 =.array(...'|^https?://json-sche
18d360 6d 61 2e 6f 72 67 2f 64 72 61 66 74 2d 28 30 5b 33 34 5d 29 2f 73 63 68 65 6d 61 23 3f 7c 27 20 ma.org/draft-(0[34])/schema#?|'.
18d380 3d 3e 20 27 70 61 63 6b 61 67 65 3a 2f 2f 64 69 73 74 2f 73 63 68 65 6d 61 2f 6a 73 6f 6e 2d 73 =>.'package://dist/schema/json-s
18d3a0 63 68 65 6d 61 2d 64 72 61 66 74 2d 24 31 2e 6a 73 6f 6e 27 0a 29 3b 0a 0a 0a 0a 0a 70 72 6f 74 chema-draft-$1.json'.);.....prot
18d3c0 65 63 74 65 64 20 24 61 6c 6c 6f 77 65 64 49 6e 76 61 6c 69 64 43 6f 6e 74 65 6e 74 54 79 70 65 ected.$allowedInvalidContentType
18d3e0 45 6e 64 70 6f 69 6e 74 73 20 3d 20 61 72 72 61 79 28 0a 27 68 74 74 70 3a 2f 2f 6a 73 6f 6e 2d Endpoints.=.array(.'http://json-
18d400 73 63 68 65 6d 61 2e 6f 72 67 2f 27 2c 0a 27 68 74 74 70 73 3a 2f 2f 6a 73 6f 6e 2d 73 63 68 65 schema.org/',.'https://json-sche
18d420 6d 61 2e 6f 72 67 2f 27 0a 29 3b 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 75 72 69 52 65 ma.org/'.);.....protected.$uriRe
18d440 74 72 69 65 76 65 72 20 3d 20 6e 75 6c 6c 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 73 triever.=.null;.......private.$s
18d460 63 68 65 6d 61 43 61 63 68 65 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c chemaCache.=.array();.......publ
18d480 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 49 6e 76 61 6c 69 64 43 6f 6e 74 65 6e 74 54 79 70 ic.function.addInvalidContentTyp
18d4a0 65 45 6e 64 70 6f 69 6e 74 28 24 65 6e 64 70 6f 69 6e 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 61 6c eEndpoint($endpoint).{.$this->al
18d4c0 6c 6f 77 65 64 49 6e 76 61 6c 69 64 43 6f 6e 74 65 6e 74 54 79 70 65 45 6e 64 70 6f 69 6e 74 73 lowedInvalidContentTypeEndpoints
18d4e0 5b 5d 20 3d 20 24 65 6e 64 70 6f 69 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 [].=.$endpoint;.}..........publi
18d500 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 66 69 72 6d 4d 65 64 69 61 54 79 70 65 28 24 75 72 69 c.function.confirmMediaType($uri
18d520 52 65 74 72 69 65 76 65 72 2c 20 24 75 72 69 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 54 79 70 65 20 Retriever,.$uri).{.$contentType.
18d540 3d 20 24 75 72 69 52 65 74 72 69 65 76 65 72 2d 3e 67 65 74 43 6f 6e 74 65 6e 74 54 79 70 65 28 =.$uriRetriever->getContentType(
18d560 29 3b 0a 0a 69 66 20 28 69 73 5f 6e 75 6c 6c 28 24 63 6f 6e 74 65 6e 74 54 79 70 65 29 29 20 7b );..if.(is_null($contentType)).{
18d580 0a 0a 20 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 63 6f 6e 74 ...return;.}..if.(in_array($cont
18d5a0 65 6e 74 54 79 70 65 2c 20 61 72 72 61 79 28 56 61 6c 69 64 61 74 6f 72 3a 3a 53 43 48 45 4d 41 entType,.array(Validator::SCHEMA
18d5c0 5f 4d 45 44 49 41 5f 54 59 50 45 2c 20 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6a 73 6f 6e 27 29 _MEDIA_TYPE,.'application/json')
18d5e0 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e )).{.return;.}..foreach.($this->
18d600 61 6c 6c 6f 77 65 64 49 6e 76 61 6c 69 64 43 6f 6e 74 65 6e 74 54 79 70 65 45 6e 64 70 6f 69 6e allowedInvalidContentTypeEndpoin
18d620 74 73 20 61 73 20 24 65 6e 64 70 6f 69 6e 74 29 20 7b 0a 69 66 20 28 73 74 72 70 6f 73 28 24 75 ts.as.$endpoint).{.if.(strpos($u
18d640 72 69 2c 20 24 65 6e 64 70 6f 69 6e 74 29 20 3d 3d 3d 20 30 29 20 7b 0a 72 65 74 75 72 6e 20 74 ri,.$endpoint).===.0).{.return.t
18d660 72 75 65 3b 0a 7d 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 49 6e 76 61 6c 69 64 53 63 68 65 6d rue;.}.}..throw.new.InvalidSchem
18d680 61 4d 65 64 69 61 54 79 70 65 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 27 4d 65 64 aMediaTypeException(sprintf('Med
18d6a0 69 61 20 74 79 70 65 20 25 73 20 65 78 70 65 63 74 65 64 27 2c 20 56 61 6c 69 64 61 74 6f 72 3a ia.type.%s.expected',.Validator:
18d6c0 3a 53 43 48 45 4d 41 5f 4d 45 44 49 41 5f 54 59 50 45 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a :SCHEMA_MEDIA_TYPE));.}.........
18d6e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 72 69 52 65 74 72 69 65 76 65 72 .public.function.getUriRetriever
18d700 28 29 0a 7b 0a 69 66 20 28 69 73 5f 6e 75 6c 6c 28 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 ().{.if.(is_null($this->uriRetri
18d720 65 76 65 72 29 29 20 7b 0a 24 74 68 69 73 2d 3e 73 65 74 55 72 69 52 65 74 72 69 65 76 65 72 28 ever)).{.$this->setUriRetriever(
18d740 6e 65 77 20 46 69 6c 65 47 65 74 43 6f 6e 74 65 6e 74 73 28 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 new.FileGetContents());.}..retur
18d760 6e 20 24 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a n.$this->uriRetriever;.}........
18d780 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 50 ........public.function.resolveP
18d7a0 6f 69 6e 74 65 72 28 24 6a 73 6f 6e 53 63 68 65 6d 61 2c 20 24 75 72 69 29 0a 7b 0a 24 72 65 73 ointer($jsonSchema,.$uri).{.$res
18d7c0 6f 6c 76 65 72 20 3d 20 6e 65 77 20 55 72 69 52 65 73 6f 6c 76 65 72 28 29 3b 0a 24 70 61 72 73 olver.=.new.UriResolver();.$pars
18d7e0 65 64 20 3d 20 24 72 65 73 6f 6c 76 65 72 2d 3e 70 61 72 73 65 28 24 75 72 69 29 3b 0a 69 66 20 ed.=.$resolver->parse($uri);.if.
18d800 28 65 6d 70 74 79 28 24 70 61 72 73 65 64 5b 27 66 72 61 67 6d 65 6e 74 27 5d 29 29 20 7b 0a 72 (empty($parsed['fragment'])).{.r
18d820 65 74 75 72 6e 20 24 6a 73 6f 6e 53 63 68 65 6d 61 3b 0a 7d 0a 0a 24 70 61 74 68 20 3d 20 65 78 eturn.$jsonSchema;.}..$path.=.ex
18d840 70 6c 6f 64 65 28 27 2f 27 2c 20 24 70 61 72 73 65 64 5b 27 66 72 61 67 6d 65 6e 74 27 5d 29 3b plode('/',.$parsed['fragment']);
18d860 0a 77 68 69 6c 65 20 28 24 70 61 74 68 29 20 7b 0a 24 70 61 74 68 45 6c 65 6d 65 6e 74 20 3d 20 .while.($path).{.$pathElement.=.
18d880 61 72 72 61 79 5f 73 68 69 66 74 28 24 70 61 74 68 29 3b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 array_shift($path);.if.(!empty($
18d8a0 70 61 74 68 45 6c 65 6d 65 6e 74 29 29 20 7b 0a 24 70 61 74 68 45 6c 65 6d 65 6e 74 20 3d 20 73 pathElement)).{.$pathElement.=.s
18d8c0 74 72 5f 72 65 70 6c 61 63 65 28 27 7e 31 27 2c 20 27 2f 27 2c 20 24 70 61 74 68 45 6c 65 6d 65 tr_replace('~1',.'/',.$pathEleme
18d8e0 6e 74 29 3b 0a 24 70 61 74 68 45 6c 65 6d 65 6e 74 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 nt);.$pathElement.=.str_replace(
18d900 27 7e 30 27 2c 20 27 7e 27 2c 20 24 70 61 74 68 45 6c 65 6d 65 6e 74 29 3b 0a 69 66 20 28 21 65 '~0',.'~',.$pathElement);.if.(!e
18d920 6d 70 74 79 28 24 6a 73 6f 6e 53 63 68 65 6d 61 2d 3e 24 70 61 74 68 45 6c 65 6d 65 6e 74 29 29 mpty($jsonSchema->$pathElement))
18d940 20 7b 0a 24 6a 73 6f 6e 53 63 68 65 6d 61 20 3d 20 24 6a 73 6f 6e 53 63 68 65 6d 61 2d 3e 24 70 .{.$jsonSchema.=.$jsonSchema->$p
18d960 61 74 68 45 6c 65 6d 65 6e 74 3b 0a 7d 20 65 6c 73 65 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 athElement;.}.else.{.throw.new.R
18d980 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 70 74 69 6f 6e 28 0a 27 46 72 61 67 6d esourceNotFoundException(.'Fragm
18d9a0 65 6e 74 20 22 27 20 2e 20 24 70 61 72 73 65 64 5b 27 66 72 61 67 6d 65 6e 74 27 5d 20 2e 20 27 ent."'...$parsed['fragment']...'
18d9c0 22 20 6e 6f 74 20 66 6f 75 6e 64 27 0a 2e 20 27 20 69 6e 20 27 20 2e 20 24 75 72 69 0a 29 3b 0a ".not.found'...'.in.'...$uri.);.
18d9e0 7d 0a 0a 69 66 20 28 21 69 73 5f 6f 62 6a 65 63 74 28 24 6a 73 6f 6e 53 63 68 65 6d 61 29 29 20 }..if.(!is_object($jsonSchema)).
18da00 7b 0a 74 68 72 6f 77 20 6e 65 77 20 52 65 73 6f 75 72 63 65 4e 6f 74 46 6f 75 6e 64 45 78 63 65 {.throw.new.ResourceNotFoundExce
18da20 70 74 69 6f 6e 28 0a 27 46 72 61 67 6d 65 6e 74 20 70 61 72 74 20 22 27 20 2e 20 24 70 61 74 68 ption(.'Fragment.part."'...$path
18da40 45 6c 65 6d 65 6e 74 20 2e 20 27 22 20 69 73 20 6e 6f 20 6f 62 6a 65 63 74 20 27 0a 2e 20 27 20 Element...'".is.no.object.'...'.
18da60 69 6e 20 27 20 2e 20 24 75 72 69 0a 29 3b 0a 7d 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6a 73 in.'...$uri.);.}.}.}..return.$js
18da80 6f 6e 53 63 68 65 6d 61 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 onSchema;.}.....public.function.
18daa0 72 65 74 72 69 65 76 65 28 24 75 72 69 2c 20 24 62 61 73 65 55 72 69 20 3d 20 6e 75 6c 6c 2c 20 retrieve($uri,.$baseUri.=.null,.
18dac0 24 74 72 61 6e 73 6c 61 74 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 72 65 73 6f 6c 76 65 72 20 3d $translate.=.true).{.$resolver.=
18dae0 20 6e 65 77 20 55 72 69 52 65 73 6f 6c 76 65 72 28 29 3b 0a 24 72 65 73 6f 6c 76 65 64 55 72 69 .new.UriResolver();.$resolvedUri
18db00 20 3d 20 24 66 65 74 63 68 55 72 69 20 3d 20 24 72 65 73 6f 6c 76 65 72 2d 3e 72 65 73 6f 6c 76 .=.$fetchUri.=.$resolver->resolv
18db20 65 28 24 75 72 69 2c 20 24 62 61 73 65 55 72 69 29 3b 0a 0a 0a 20 24 61 72 50 61 72 74 73 20 3d e($uri,.$baseUri);....$arParts.=
18db40 20 24 72 65 73 6f 6c 76 65 72 2d 3e 70 61 72 73 65 28 24 72 65 73 6f 6c 76 65 64 55 72 69 29 3b .$resolver->parse($resolvedUri);
18db60 0a 69 66 20 28 69 73 73 65 74 28 24 61 72 50 61 72 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 29 .if.(isset($arParts['fragment'])
18db80 29 20 7b 0a 75 6e 73 65 74 28 24 61 72 50 61 72 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 29 3b ).{.unset($arParts['fragment']);
18dba0 0a 24 66 65 74 63 68 55 72 69 20 3d 20 24 72 65 73 6f 6c 76 65 72 2d 3e 67 65 6e 65 72 61 74 65 .$fetchUri.=.$resolver->generate
18dbc0 28 24 61 72 50 61 72 74 73 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 24 74 72 61 6e 73 6c 61 74 65 29 ($arParts);.}....if.($translate)
18dbe0 20 7b 0a 24 66 65 74 63 68 55 72 69 20 3d 20 24 74 68 69 73 2d 3e 74 72 61 6e 73 6c 61 74 65 28 .{.$fetchUri.=.$this->translate(
18dc00 24 66 65 74 63 68 55 72 69 29 3b 0a 7d 0a 0a 24 6a 73 6f 6e 53 63 68 65 6d 61 20 3d 20 24 74 68 $fetchUri);.}..$jsonSchema.=.$th
18dc20 69 73 2d 3e 6c 6f 61 64 53 63 68 65 6d 61 28 24 66 65 74 63 68 55 72 69 29 3b 0a 0a 0a 20 24 6a is->loadSchema($fetchUri);....$j
18dc40 73 6f 6e 53 63 68 65 6d 61 20 3d 20 24 74 68 69 73 2d 3e 72 65 73 6f 6c 76 65 50 6f 69 6e 74 65 sonSchema.=.$this->resolvePointe
18dc60 72 28 24 6a 73 6f 6e 53 63 68 65 6d 61 2c 20 24 72 65 73 6f 6c 76 65 64 55 72 69 29 3b 0a 0a 69 r($jsonSchema,.$resolvedUri);..i
18dc80 66 20 28 24 6a 73 6f 6e 53 63 68 65 6d 61 20 69 6e 73 74 61 6e 63 65 6f 66 20 5c 73 74 64 43 6c f.($jsonSchema.instanceof.\stdCl
18dca0 61 73 73 29 20 7b 0a 24 6a 73 6f 6e 53 63 68 65 6d 61 2d 3e 69 64 20 3d 20 24 72 65 73 6f 6c 76 ass).{.$jsonSchema->id.=.$resolv
18dcc0 65 64 55 72 69 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6a 73 6f 6e 53 63 68 65 6d 61 3b 0a 7d 0a edUri;.}..return.$jsonSchema;.}.
18dce0 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 .........protected.function.load
18dd00 53 63 68 65 6d 61 28 24 66 65 74 63 68 55 72 69 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 Schema($fetchUri).{.if.(isset($t
18dd20 68 69 73 2d 3e 73 63 68 65 6d 61 43 61 63 68 65 5b 24 66 65 74 63 68 55 72 69 5d 29 29 20 7b 0a his->schemaCache[$fetchUri])).{.
18dd40 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 43 61 63 68 65 5b 24 66 65 74 63 68 return.$this->schemaCache[$fetch
18dd60 55 72 69 5d 3b 0a 7d 0a 0a 24 75 72 69 52 65 74 72 69 65 76 65 72 20 3d 20 24 74 68 69 73 2d 3e Uri];.}..$uriRetriever.=.$this->
18dd80 67 65 74 55 72 69 52 65 74 72 69 65 76 65 72 28 29 3b 0a 24 63 6f 6e 74 65 6e 74 73 20 3d 20 24 getUriRetriever();.$contents.=.$
18dda0 74 68 69 73 2d 3e 75 72 69 52 65 74 72 69 65 76 65 72 2d 3e 72 65 74 72 69 65 76 65 28 24 66 65 this->uriRetriever->retrieve($fe
18ddc0 74 63 68 55 72 69 29 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 66 69 72 6d 4d 65 64 69 61 54 79 70 65 tchUri);.$this->confirmMediaType
18dde0 28 24 75 72 69 52 65 74 72 69 65 76 65 72 2c 20 24 66 65 74 63 68 55 72 69 29 3b 0a 24 6a 73 6f ($uriRetriever,.$fetchUri);.$jso
18de00 6e 53 63 68 65 6d 61 20 3d 20 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 63 6f 6e 74 65 6e 74 73 29 nSchema.=.json_decode($contents)
18de20 3b 0a 0a 69 66 20 28 4a 53 4f 4e 5f 45 52 52 4f 52 5f 4e 4f 4e 45 20 3c 20 24 65 72 72 6f 72 20 ;..if.(JSON_ERROR_NONE.<.$error.
18de40 3d 20 6a 73 6f 6e 5f 6c 61 73 74 5f 65 72 72 6f 72 28 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 =.json_last_error()).{.throw.new
18de60 20 4a 73 6f 6e 44 65 63 6f 64 69 6e 67 45 78 63 65 70 74 69 6f 6e 28 24 65 72 72 6f 72 29 3b 0a .JsonDecodingException($error);.
18de80 7d 0a 0a 24 74 68 69 73 2d 3e 73 63 68 65 6d 61 43 61 63 68 65 5b 24 66 65 74 63 68 55 72 69 5d }..$this->schemaCache[$fetchUri]
18dea0 20 3d 20 24 6a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a 72 65 74 75 72 6e 20 24 6a 73 6f 6e 53 63 68 .=.$jsonSchema;..return.$jsonSch
18dec0 65 6d 61 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ema;.}.........public.function.s
18dee0 65 74 55 72 69 52 65 74 72 69 65 76 65 72 28 55 72 69 52 65 74 72 69 65 76 65 72 49 6e 74 65 72 etUriRetriever(UriRetrieverInter
18df00 66 61 63 65 20 24 75 72 69 52 65 74 72 69 65 76 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 72 69 face.$uriRetriever).{.$this->uri
18df20 52 65 74 72 69 65 76 65 72 20 3d 20 24 75 72 69 52 65 74 72 69 65 76 65 72 3b 0a 0a 72 65 74 75 Retriever.=.$uriRetriever;..retu
18df40 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 rn.$this;.}.........public.funct
18df60 69 6f 6e 20 70 61 72 73 65 28 24 75 72 69 29 0a 7b 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7c 5e ion.parse($uri).{.preg_match('|^
18df80 28 28 5b 5e 3a 2f 3f 23 5d 2b 29 3a 29 3f 28 2f 2f 28 5b 5e 2f 3f 23 5d 2a 29 29 3f 28 5b 5e 3f (([^:/?#]+):)?(//([^/?#]*))?([^?
18dfa0 23 5d 2a 29 28 5c 3f 28 5b 5e 23 5d 2a 29 29 3f 28 23 28 2e 2a 29 29 3f 7c 27 2c 20 24 75 72 69 #]*)(\?([^#]*))?(#(.*))?|',.$uri
18dfc0 2c 20 24 6d 61 74 63 68 29 3b 0a 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 61 72 72 61 79 28 ,.$match);..$components.=.array(
18dfe0 29 3b 0a 69 66 20 28 35 20 3c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6d );.if.(5.<.count($match)).{.$com
18e000 70 6f 6e 65 6e 74 73 20 3d 20 61 72 72 61 79 28 0a 27 73 63 68 65 6d 65 27 20 3d 3e 20 24 6d 61 ponents.=.array(.'scheme'.=>.$ma
18e020 74 63 68 5b 32 5d 2c 0a 27 61 75 74 68 6f 72 69 74 79 27 20 3d 3e 20 24 6d 61 74 63 68 5b 34 5d tch[2],.'authority'.=>.$match[4]
18e040 2c 0a 27 70 61 74 68 27 20 3d 3e 20 24 6d 61 74 63 68 5b 35 5d 0a 29 3b 0a 7d 0a 0a 69 66 20 28 ,.'path'.=>.$match[5].);.}..if.(
18e060 37 20 3c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 7.<.count($match)).{.$components
18e080 5b 27 71 75 65 72 79 27 5d 20 3d 20 24 6d 61 74 63 68 5b 37 5d 3b 0a 7d 0a 0a 69 66 20 28 39 20 ['query'].=.$match[7];.}..if.(9.
18e0a0 3c 20 63 6f 75 6e 74 28 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 <.count($match)).{.$components['
18e0c0 66 72 61 67 6d 65 6e 74 27 5d 20 3d 20 24 6d 61 74 63 68 5b 39 5d 3b 0a 7d 0a 0a 72 65 74 75 72 fragment'].=.$match[9];.}..retur
18e0e0 6e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 n.$components;.}.........public.
18e100 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 28 61 72 72 61 79 20 24 63 6f 6d 70 6f 6e 65 function.generate(array.$compone
18e120 6e 74 73 29 0a 7b 0a 24 75 72 69 20 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 73 63 68 65 6d nts).{.$uri.=.$components['schem
18e140 65 27 5d 20 2e 20 27 3a 2f 2f 27 0a 2e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 61 75 74 68 6f e']...'://'...$components['autho
18e160 72 69 74 79 27 5d 0a 2e 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d 3b 0a 0a 69 rity']...$components['path'];..i
18e180 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 73 28 27 71 75 65 72 79 27 2c 20 24 63 6f f.(array_key_exists('query',.$co
18e1a0 6d 70 6f 6e 65 6e 74 73 29 29 20 7b 0a 24 75 72 69 20 2e 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 mponents)).{.$uri..=.$components
18e1c0 5b 27 71 75 65 72 79 27 5d 3b 0a 7d 0a 0a 69 66 20 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 ['query'];.}..if.(array_key_exis
18e1e0 74 73 28 27 66 72 61 67 6d 65 6e 74 27 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 29 20 7b 0a 24 ts('fragment',.$components)).{.$
18e200 75 72 69 20 2e 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 66 72 61 67 6d 65 6e 74 27 5d 3b 0a uri..=.$components['fragment'];.
18e220 7d 0a 0a 72 65 74 75 72 6e 20 24 75 72 69 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 }..return.$uri;.}..........publi
18e240 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 6f 6c 76 65 28 24 75 72 69 2c 20 24 62 61 73 65 55 72 c.function.resolve($uri,.$baseUr
18e260 69 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 24 74 68 69 73 2d i.=.null).{.$components.=.$this-
18e280 3e 70 61 72 73 65 28 24 75 72 69 29 3b 0a 24 70 61 74 68 20 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 >parse($uri);.$path.=.$component
18e2a0 73 5b 27 70 61 74 68 27 5d 3b 0a 0a 69 66 20 28 28 61 72 72 61 79 5f 6b 65 79 5f 65 78 69 73 74 s['path'];..if.((array_key_exist
18e2c0 73 28 27 73 63 68 65 6d 65 27 2c 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 29 20 26 26 20 28 27 68 s('scheme',.$components)).&&.('h
18e2e0 74 74 70 27 20 3d 3d 3d 20 24 63 6f 6d 70 6f 6e 65 6e 74 73 5b 27 73 63 68 65 6d 65 27 5d 29 29 ttp'.===.$components['scheme']))
18e300 20 7b 0a 72 65 74 75 72 6e 20 24 75 72 69 3b 0a 7d 0a 0a 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e .{.return.$uri;.}..$baseComponen
18e320 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 28 24 62 61 73 65 55 72 69 29 3b 0a 24 62 61 ts.=.$this->parse($baseUri);.$ba
18e340 73 65 50 61 74 68 20 3d 20 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d sePath.=.$baseComponents['path']
18e360 3b 0a 0a 24 62 61 73 65 43 6f 6d 70 6f 6e 65 6e 74 73 5b 27 70 61 74 68 27 5d 20 3d 20 55 72 69 ;..$baseComponents['path'].=.Uri
18e380 52 65 73 6f 6c 76 65 72 3a 3a 63 6f 6d 62 69 6e 65 52 65 6c 61 74 69 76 65 50 61 74 68 57 69 74 Resolver::combineRelativePathWit
18e3a0 68 42 61 73 65 50 61 74 68 28 24 70 61 74 68 2c 20 24 62 61 73 65 50 61 74 68 29 3b 0a 0a 72 65 hBasePath($path,.$basePath);..re
18e3c0 74 75 72 6e 20 24 74 68 69 73 2d 3e 67 65 6e 65 72 61 74 65 28 24 62 61 73 65 43 6f 6d 70 6f 6e turn.$this->generate($baseCompon
18e3e0 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 ents);.}.......public.function.i
18e400 73 56 61 6c 69 64 28 24 75 72 69 29 0a 7b 0a 24 63 6f 6d 70 6f 6e 65 6e 74 73 20 3d 20 24 74 68 sValid($uri).{.$components.=.$th
18e420 69 73 2d 3e 70 61 72 73 65 28 24 75 72 69 29 3b 0a 0a 72 65 74 75 72 6e 20 21 65 6d 70 74 79 28 is->parse($uri);..return.!empty(
18e440 24 63 6f 6d 70 6f 6e 65 6e 74 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 $components);.}.....public.funct
18e460 69 6f 6e 20 73 65 74 54 72 61 6e 73 6c 61 74 69 6f 6e 28 24 66 72 6f 6d 2c 20 24 74 6f 29 0a 7b ion.setTranslation($from,.$to).{
18e480 0a 24 74 68 69 73 2d 3e 74 72 61 6e 73 6c 61 74 69 6f 6e 4d 61 70 5b 24 66 72 6f 6d 5d 20 3d 20 .$this->translationMap[$from].=.
18e4a0 24 74 6f 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 72 61 6e 73 $to;.}.....public.function.trans
18e4c0 6c 61 74 65 28 24 75 72 69 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 74 72 61 late($uri).{.foreach.($this->tra
18e4e0 6e 73 6c 61 74 69 6f 6e 4d 61 70 20 61 73 20 24 66 72 6f 6d 20 3d 3e 20 24 74 6f 29 20 7b 0a 24 nslationMap.as.$from.=>.$to).{.$
18e500 75 72 69 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 24 66 72 6f 6d 2c 20 24 74 6f 2c 20 24 uri.=.preg_replace($from,.$to,.$
18e520 75 72 69 29 3b 0a 7d 0a 0a 0a 20 24 75 72 69 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 uri);.}....$uri.=.preg_replace('
18e540 7c 5e 70 61 63 6b 61 67 65 3a 2f 2f 7c 27 2c 20 73 70 72 69 6e 74 66 28 27 66 69 6c 65 3a 2f 2f |^package://|',.sprintf('file://
18e560 25 73 2f 27 2c 20 72 65 61 6c 70 61 74 68 28 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 2f 2e 2e %s/',.realpath(__DIR__...'/../..
18e580 2f 2e 2e 27 29 29 2c 20 24 75 72 69 29 3b 0a 0a 72 65 74 75 72 6e 20 24 75 72 69 3b 0a 7d 0a 7d /..')),.$uri);..return.$uri;.}.}
18e5a0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e 53 63 68 .<?php.........namespace.JsonSch
18e5c0 65 6d 61 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 55 72 69 52 65 73 6f 6c 76 65 72 49 6e ema;.....interface.UriResolverIn
18e5e0 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f terface.{.........public.functio
18e600 6e 20 72 65 73 6f 6c 76 65 28 24 75 72 69 2c 20 24 62 61 73 65 55 72 69 20 3d 20 6e 75 6c 6c 29 n.resolve($uri,.$baseUri.=.null)
18e620 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 4a 73 6f 6e ;.}.<?php.........namespace.Json
18e640 53 63 68 65 6d 61 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 55 72 69 52 65 74 72 69 65 76 Schema;.....interface.UriRetriev
18e660 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e erInterface.{.........public.fun
18e680 63 74 69 6f 6e 20 72 65 74 72 69 65 76 65 28 24 75 72 69 2c 20 24 62 61 73 65 55 72 69 20 3d 20 ction.retrieve($uri,.$baseUri.=.
18e6a0 6e 75 6c 6c 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 null);.}.<?php.........namespace
18e6c0 20 4a 73 6f 6e 53 63 68 65 6d 61 3b 0a 0a 75 73 65 20 4a 73 6f 6e 53 63 68 65 6d 61 5c 43 6f 6e .JsonSchema;..use.JsonSchema\Con
18e6e0 73 74 72 61 69 6e 74 73 5c 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 4a 73 6f straints\BaseConstraint;.use.Jso
18e700 6e 53 63 68 65 6d 61 5c 43 6f 6e 73 74 72 61 69 6e 74 73 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a nSchema\Constraints\Constraint;.
18e720 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 61 6c 69 64 61 74 6f 72 20 65 78 74 65 6e 64 73 .........class.Validator.extends
18e740 20 42 61 73 65 43 6f 6e 73 74 72 61 69 6e 74 0a 7b 0a 63 6f 6e 73 74 20 53 43 48 45 4d 41 5f 4d .BaseConstraint.{.const.SCHEMA_M
18e760 45 44 49 41 5f 54 59 50 45 20 3d 20 27 61 70 70 6c 69 63 61 74 69 6f 6e 2f 73 63 68 65 6d 61 2b EDIA_TYPE.=.'application/schema+
18e780 6a 73 6f 6e 27 3b 0a 0a 63 6f 6e 73 74 20 45 52 52 4f 52 5f 4e 4f 4e 45 20 3d 20 30 78 30 30 30 json';..const.ERROR_NONE.=.0x000
18e7a0 30 30 30 30 30 3b 0a 63 6f 6e 73 74 20 45 52 52 4f 52 5f 41 4c 4c 20 3d 20 30 78 46 46 46 46 46 00000;.const.ERROR_ALL.=.0xFFFFF
18e7c0 46 46 46 3b 0a 63 6f 6e 73 74 20 45 52 52 4f 52 5f 44 4f 43 55 4d 45 4e 54 5f 56 41 4c 49 44 41 FFF;.const.ERROR_DOCUMENT_VALIDA
18e7e0 54 49 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 30 31 3b 0a 63 6f 6e 73 74 20 45 52 52 4f 52 5f 53 TION.=.0x00000001;.const.ERROR_S
18e800 43 48 45 4d 41 5f 56 41 4c 49 44 41 54 49 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 30 32 3b 0a 0a CHEMA_VALIDATION.=.0x00000002;..
18e820 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 28 .......public.function.validate(
18e840 26 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 20 3d 20 6e 75 6c 6c 2c 20 24 63 68 65 63 6b 4d &$value,.$schema.=.null,.$checkM
18e860 6f 64 65 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 0a 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 73 63 ode.=.null).{...if.(is_array($sc
18e880 68 65 6d 61 29 29 20 7b 0a 24 73 63 68 65 6d 61 20 3d 20 73 65 6c 66 3a 3a 61 72 72 61 79 54 6f hema)).{.$schema.=.self::arrayTo
18e8a0 4f 62 6a 65 63 74 52 65 63 75 72 73 69 76 65 28 24 73 63 68 65 6d 61 29 3b 0a 7d 0a 0a 0a 20 24 ObjectRecursive($schema);.}....$
18e8c0 69 6e 69 74 69 61 6c 43 68 65 63 6b 4d 6f 64 65 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 initialCheckMode.=.$this->factor
18e8e0 79 2d 3e 67 65 74 43 6f 6e 66 69 67 28 29 3b 0a 69 66 20 28 24 63 68 65 63 6b 4d 6f 64 65 20 21 y->getConfig();.if.($checkMode.!
18e900 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 73 65 74 43 6f ==.null).{.$this->factory->setCo
18e920 6e 66 69 67 28 24 63 68 65 63 6b 4d 6f 64 65 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 5f 6f 62 nfig($checkMode);.}....if.(is_ob
18e940 6a 65 63 74 28 24 73 63 68 65 6d 61 29 20 26 26 20 70 72 6f 70 65 72 74 79 5f 65 78 69 73 74 73 ject($schema).&&.property_exists
18e960 28 24 73 63 68 65 6d 61 2c 20 27 69 64 27 29 29 20 7b 0a 24 73 63 68 65 6d 61 55 52 49 20 3d 20 ($schema,.'id')).{.$schemaURI.=.
18e980 24 73 63 68 65 6d 61 2d 3e 69 64 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 73 63 68 65 6d 61 55 52 49 $schema->id;.}.else.{.$schemaURI
18e9a0 20 3d 20 53 63 68 65 6d 61 53 74 6f 72 61 67 65 3a 3a 49 4e 54 45 52 4e 41 4c 5f 50 52 4f 56 49 .=.SchemaStorage::INTERNAL_PROVI
18e9c0 44 45 44 5f 53 43 48 45 4d 41 5f 55 52 49 3b 0a 7d 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 DED_SCHEMA_URI;.}.$this->factory
18e9e0 2d 3e 67 65 74 53 63 68 65 6d 61 53 74 6f 72 61 67 65 28 29 2d 3e 61 64 64 53 63 68 65 6d 61 28 ->getSchemaStorage()->addSchema(
18ea00 24 73 63 68 65 6d 61 55 52 49 2c 20 24 73 63 68 65 6d 61 29 3b 0a 0a 24 76 61 6c 69 64 61 74 6f $schemaURI,.$schema);..$validato
18ea20 72 20 3d 20 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 63 72 65 61 74 65 49 6e 73 74 61 6e r.=.$this->factory->createInstan
18ea40 63 65 46 6f 72 28 27 73 63 68 65 6d 61 27 29 3b 0a 24 76 61 6c 69 64 61 74 6f 72 2d 3e 63 68 65 ceFor('schema');.$validator->che
18ea60 63 6b 28 0a 24 76 61 6c 75 65 2c 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 67 65 74 53 ck(.$value,.$this->factory->getS
18ea80 63 68 65 6d 61 53 74 6f 72 61 67 65 28 29 2d 3e 67 65 74 53 63 68 65 6d 61 28 24 73 63 68 65 6d chemaStorage()->getSchema($schem
18eaa0 61 55 52 49 29 0a 29 3b 0a 0a 24 74 68 69 73 2d 3e 66 61 63 74 6f 72 79 2d 3e 73 65 74 43 6f 6e aURI).);..$this->factory->setCon
18eac0 66 69 67 28 24 69 6e 69 74 69 61 6c 43 68 65 63 6b 4d 6f 64 65 29 3b 0a 0a 24 74 68 69 73 2d 3e fig($initialCheckMode);..$this->
18eae0 61 64 64 45 72 72 6f 72 73 28 61 72 72 61 79 5f 75 6e 69 71 75 65 28 24 76 61 6c 69 64 61 74 6f addErrors(array_unique($validato
18eb00 72 2d 3e 67 65 74 45 72 72 6f 72 73 28 29 2c 20 53 4f 52 54 5f 52 45 47 55 4c 41 52 29 29 3b 0a r->getErrors(),.SORT_REGULAR));.
18eb20 0a 72 65 74 75 72 6e 20 24 76 61 6c 69 64 61 74 6f 72 2d 3e 67 65 74 45 72 72 6f 72 4d 61 73 6b .return.$validator->getErrorMask
18eb40 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 28 ();.}.....public.function.check(
18eb60 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d $value,.$schema).{.return.$this-
18eb80 3e 76 61 6c 69 64 61 74 65 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 29 3b 0a 7d 0a 0a 0a >validate($value,.$schema);.}...
18eba0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 65 72 63 65 28 26 24 76 61 6c 75 65 ..public.function.coerce(&$value
18ebc0 2c 20 24 73 63 68 65 6d 61 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 76 61 6c 69 64 ,.$schema).{.return.$this->valid
18ebe0 61 74 65 28 24 76 61 6c 75 65 2c 20 24 73 63 68 65 6d 61 2c 20 43 6f 6e 73 74 72 61 69 6e 74 3a ate($value,.$schema,.Constraint:
18ec00 3a 43 48 45 43 4b 5f 4d 4f 44 45 5f 43 4f 45 52 43 45 5f 54 59 50 45 53 29 3b 0a 7d 0a 7d 0a 43 :CHECK_MODE_COERCE_TYPES);.}.}.C
18ec20 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 35 20 43 6f 6d 70 6f 73 65 72 0a 0a 50 65 72 6d opyright.(C).2015.Composer..Perm
18ec40 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f ission.is.hereby.granted,.free.o
18ec60 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e f.charge,.to.any.person.obtainin
18ec80 67 20 61 20 63 6f 70 79 20 6f 66 0a 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 g.a.copy.of.this.software.and.as
18eca0 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 sociated.documentation.files.(th
18ecc0 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 20 69 6e 0a 74 68 65 20 53 6f e."Software"),.to.deal.in.the.So
18ece0 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c ftware.without.restriction,.incl
18ed00 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 uding.without.limitation.the.rig
18ed20 68 74 73 20 74 6f 0a 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c hts.to.use,.copy,.modify,.merge,
18ed40 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 .publish,.distribute,.sublicense
18ed60 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 20 63 6f 70 69 65 73 0a 6f 66 20 74 68 65 20 53 6f 66 74 ,.and/or.sell.copies.of.the.Soft
18ed80 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 ware,.and.to.permit.persons.to.w
18eda0 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 20 74 6f hom.the.Software.is.furnished.to
18edc0 20 64 6f 0a 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 .do.so,.subject.to.the.following
18ede0 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 .conditions:..The.above.copyrigh
18ee00 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 t.notice.and.this.permission.not
18ee20 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 ice.shall.be.included.in.all.cop
18ee40 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 ies.or.substantial.portions.of.t
18ee60 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 he.Software...THE.SOFTWARE.IS.PR
18ee80 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 OVIDED."AS.IS",.WITHOUT.WARRANTY
18eea0 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 .OF.ANY.KIND,.EXPRESS.OR.IMPLIED
18eec0 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 ,.INCLUDING.BUT.NOT.LIMITED.TO.T
18eee0 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 HE.WARRANTIES.OF.MERCHANTABILITY
18ef00 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f ,.FITNESS.FOR.A.PARTICULAR.PURPO
18ef20 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 SE.AND.NONINFRINGEMENT..IN.NO.EV
18ef40 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 ENT.SHALL.THE.AUTHORS.OR.COPYRIG
18ef60 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 HT.HOLDERS.BE.LIABLE.FOR.ANY.CLA
18ef80 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 IM,.DAMAGES.OR.OTHER.LIABILITY,.
18efa0 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 WHETHER.IN.AN.ACTION.OF.CONTRACT
18efc0 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f ,.TORT.OR.OTHERWISE,.ARISING.FRO
18efe0 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 M,.OUT.OF.OR.IN.CONNECTION.WITH.
18f000 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 THE.SOFTWARE.OR.THE.USE.OR.OTHER
18f020 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 0a 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 .DEALINGS.IN.THE.SOFTWARE..<?php
18f040 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 70 ...........namespace.Composer\Sp
18f060 64 78 3b 0a 0a 63 6c 61 73 73 20 53 70 64 78 4c 69 63 65 6e 73 65 73 0a 7b 0a 0a 63 6f 6e 73 74 dx;..class.SpdxLicenses.{..const
18f080 20 4c 49 43 45 4e 53 45 53 5f 46 49 4c 45 20 3d 20 27 73 70 64 78 2d 6c 69 63 65 6e 73 65 73 2e .LICENSES_FILE.=.'spdx-licenses.
18f0a0 6a 73 6f 6e 27 3b 0a 0a 0a 63 6f 6e 73 74 20 45 58 43 45 50 54 49 4f 4e 53 5f 46 49 4c 45 20 3d json';...const.EXCEPTIONS_FILE.=
18f0c0 20 27 73 70 64 78 2d 65 78 63 65 70 74 69 6f 6e 73 2e 6a 73 6f 6e 27 3b 0a 0a 0a 0a 0a 0a 0a 0a .'spdx-exceptions.json';........
18f0e0 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 6c 69 63 65 6e 73 65 73 3b 0a 0a 0a 0a 0a 70 72 .......private.$licenses;.....pr
18f100 69 76 61 74 65 20 24 6c 69 63 65 6e 73 65 73 45 78 70 72 65 73 73 69 6f 6e 3b 0a 0a 0a 0a 0a 0a ivate.$licensesExpression;......
18f120 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 24 65 78 63 65 70 74 69 6f 6e 73 3b 0a 0a 0a .........private.$exceptions;...
18f140 0a 0a 70 72 69 76 61 74 65 20 24 65 78 63 65 70 74 69 6f 6e 73 45 78 70 72 65 73 73 69 6f 6e 3b ..private.$exceptionsExpression;
18f160 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 29 0a ..public.function.__construct().
18f180 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 4c 69 63 65 6e 73 65 73 28 29 3b 0a 24 74 68 69 73 2d 3e {.$this->loadLicenses();.$this->
18f1a0 6c 6f 61 64 45 78 63 65 70 74 69 6f 6e 73 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a loadExceptions();.}.............
18f1c0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 42 79 49 64 65 .public.function.getLicenseByIde
18f1e0 6e 74 69 66 69 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 6b 65 79 20 3d 20 73 74 ntifier($identifier).{.$key.=.st
18f200 72 74 6f 6c 6f 77 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 21 69 73 73 rtolower($identifier);..if.(!iss
18f220 65 74 28 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 5b 24 6b 65 79 5d 29 29 20 7b 0a 72 65 74 et($this->licenses[$key])).{.ret
18f240 75 72 6e 3b 0a 7d 0a 0a 6c 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 6e 61 6d 65 2c urn;.}..list($identifier,.$name,
18f260 20 24 69 73 4f 73 69 41 70 70 72 6f 76 65 64 2c 20 24 69 73 44 65 70 72 65 63 61 74 65 64 4c 69 .$isOsiApproved,.$isDeprecatedLi
18f280 63 65 6e 73 65 49 64 29 20 3d 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 5b 24 6b 65 79 5d censeId).=.$this->licenses[$key]
18f2a0 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 6e 61 6d 65 2c 0a 24 69 73 4f 73 69 41 70 ;..return.array(.$name,.$isOsiAp
18f2c0 70 72 6f 76 65 64 2c 0a 27 68 74 74 70 73 3a 2f 2f 73 70 64 78 2e 6f 72 67 2f 6c 69 63 65 6e 73 proved,.'https://spdx.org/licens
18f2e0 65 73 2f 27 20 2e 20 24 69 64 65 6e 74 69 66 69 65 72 20 2e 20 27 2e 68 74 6d 6c 23 6c 69 63 65 es/'...$identifier...'.html#lice
18f300 6e 73 65 54 65 78 74 27 2c 0a 24 69 73 44 65 70 72 65 63 61 74 65 64 4c 69 63 65 6e 73 65 49 64 nseText',.$isDeprecatedLicenseId
18f320 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 ,.);.}.......public.function.get
18f340 4c 69 63 65 6e 73 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e Licenses().{.return.$this->licen
18f360 73 65 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ses;.}..............public.funct
18f380 69 6f 6e 20 67 65 74 45 78 63 65 70 74 69 6f 6e 42 79 49 64 65 6e 74 69 66 69 65 72 28 24 69 64 ion.getExceptionByIdentifier($id
18f3a0 65 6e 74 69 66 69 65 72 29 0a 7b 0a 24 6b 65 79 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 entifier).{.$key.=.strtolower($i
18f3c0 64 65 6e 74 69 66 69 65 72 29 3b 0a 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 65 dentifier);..if.(!isset($this->e
18f3e0 78 63 65 70 74 69 6f 6e 73 5b 24 6b 65 79 5d 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 6c xceptions[$key])).{.return;.}..l
18f400 69 73 74 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 6e 61 6d 65 29 20 3d 20 24 74 68 69 73 2d ist($identifier,.$name).=.$this-
18f420 3e 65 78 63 65 70 74 69 6f 6e 73 5b 24 6b 65 79 5d 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 >exceptions[$key];..return.array
18f440 28 0a 24 6e 61 6d 65 2c 0a 27 68 74 74 70 73 3a 2f 2f 73 70 64 78 2e 6f 72 67 2f 6c 69 63 65 6e (.$name,.'https://spdx.org/licen
18f460 73 65 73 2f 27 20 2e 20 24 69 64 65 6e 74 69 66 69 65 72 20 2e 20 27 2e 68 74 6d 6c 23 6c 69 63 ses/'...$identifier...'.html#lic
18f480 65 6e 73 65 45 78 63 65 70 74 69 6f 6e 54 65 78 74 27 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a enseExceptionText',.);.}........
18f4a0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 64 65 6e 74 69 66 69 65 72 42 79 .public.function.getIdentifierBy
18f4c0 4e 61 6d 65 28 24 6e 61 6d 65 29 0a 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 6c 69 Name($name).{.foreach.($this->li
18f4e0 63 65 6e 73 65 73 20 61 73 20 24 6c 69 63 65 6e 73 65 44 61 74 61 29 20 7b 0a 69 66 20 28 24 6c censes.as.$licenseData).{.if.($l
18f500 69 63 65 6e 73 65 44 61 74 61 5b 31 5d 20 3d 3d 3d 20 24 6e 61 6d 65 29 20 7b 0a 72 65 74 75 72 icenseData[1].===.$name).{.retur
18f520 6e 20 24 6c 69 63 65 6e 73 65 44 61 74 61 5b 30 5d 3b 0a 7d 0a 7d 0a 0a 66 6f 72 65 61 63 68 20 n.$licenseData[0];.}.}..foreach.
18f540 28 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 20 61 73 20 24 6c 69 63 65 6e 73 65 44 61 ($this->exceptions.as.$licenseDa
18f560 74 61 29 20 7b 0a 69 66 20 28 24 6c 69 63 65 6e 73 65 44 61 74 61 5b 31 5d 20 3d 3d 3d 20 24 6e ta).{.if.($licenseData[1].===.$n
18f580 61 6d 65 29 20 7b 0a 72 65 74 75 72 6e 20 24 6c 69 63 65 6e 73 65 44 61 74 61 5b 30 5d 3b 0a 7d ame).{.return.$licenseData[0];.}
18f5a0 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4f .}.}.........public.function.isO
18f5c0 73 69 41 70 70 72 6f 76 65 64 42 79 49 64 65 6e 74 69 66 69 65 72 28 24 69 64 65 6e 74 69 66 69 siApprovedByIdentifier($identifi
18f5e0 65 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 5b 73 74 72 er).{.return.$this->licenses[str
18f600 74 6f 6c 6f 77 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 5d 5b 32 5d 3b 0a 7d 0a 0a 0a 0a 0a tolower($identifier)][2];.}.....
18f620 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 65 70 72 65 63 61 74 65 64 ....public.function.isDeprecated
18f640 42 79 49 64 65 6e 74 69 66 69 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 0a 7b 0a 72 65 74 75 ByIdentifier($identifier).{.retu
18f660 72 6e 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 rn.$this->licenses[strtolower($i
18f680 64 65 6e 74 69 66 69 65 72 29 5d 5b 33 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 dentifier)][3];.}.........public
18f6a0 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 28 24 6c 69 63 65 6e 73 65 29 0a 7b 0a 69 .function.validate($license).{.i
18f6c0 66 20 28 69 73 5f 61 72 72 61 79 28 24 6c 69 63 65 6e 73 65 29 29 20 7b 0a 24 63 6f 75 6e 74 20 f.(is_array($license)).{.$count.
18f6e0 3d 20 63 6f 75 6e 74 28 24 6c 69 63 65 6e 73 65 29 3b 0a 69 66 20 28 24 63 6f 75 6e 74 20 21 3d =.count($license);.if.($count.!=
18f700 3d 20 63 6f 75 6e 74 28 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 6c 69 63 65 6e 73 65 2c 20 27 =.count(array_filter($license,.'
18f720 69 73 5f 73 74 72 69 6e 67 27 29 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c is_string'))).{.throw.new.\Inval
18f740 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 27 41 72 72 61 79 20 6f 66 20 73 74 idArgumentException('Array.of.st
18f760 72 69 6e 67 73 20 65 78 70 65 63 74 65 64 2e 27 29 3b 0a 7d 0a 24 6c 69 63 65 6e 73 65 20 3d 20 rings.expected.');.}.$license.=.
18f780 24 63 6f 75 6e 74 20 3e 20 31 20 3f 20 27 28 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 20 4f 52 20 $count.>.1.?.'('...implode('.OR.
18f7a0 27 2c 20 24 6c 69 63 65 6e 73 65 29 20 2e 20 27 29 27 20 3a 20 28 73 74 72 69 6e 67 29 20 72 65 ',.$license)...')'.:.(string).re
18f7c0 73 65 74 28 24 6c 69 63 65 6e 73 65 29 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 set($license);.}..if.(!is_string
18f7e0 28 24 6c 69 63 65 6e 73 65 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 ($license)).{.throw.new.\Invalid
18f800 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 41 72 72 61 ArgumentException(sprintf(.'Arra
18f820 79 20 6f 72 20 53 74 72 69 6e 67 20 65 78 70 65 63 74 65 64 2c 20 25 73 20 67 69 76 65 6e 2e 27 y.or.String.expected,.%s.given.'
18f840 2c 0a 67 65 74 74 79 70 65 28 24 6c 69 63 65 6e 73 65 29 0a 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 ,.gettype($license).));.}..retur
18f860 6e 20 24 74 68 69 73 2d 3e 69 73 56 61 6c 69 64 4c 69 63 65 6e 73 65 53 74 72 69 6e 67 28 24 6c n.$this->isValidLicenseString($l
18f880 69 63 65 6e 73 65 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e icense);.}.....public.static.fun
18f8a0 63 74 69 6f 6e 20 67 65 74 52 65 73 6f 75 72 63 65 73 44 69 72 28 29 0a 7b 0a 72 65 74 75 72 6e ction.getResourcesDir().{.return
18f8c0 20 64 69 72 6e 61 6d 65 28 5f 5f 44 49 52 5f 5f 29 20 2e 20 27 2f 72 65 73 27 3b 0a 7d 0a 0a 70 .dirname(__DIR__)...'/res';.}..p
18f8e0 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 4c 69 63 65 6e 73 65 73 28 29 0a 7b rivate.function.loadLicenses().{
18f900 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 29 20 7b .if.(null.!==.$this->licenses).{
18f920 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e .return;.}..$json.=.file_get_con
18f940 74 65 6e 74 73 28 73 65 6c 66 3a 3a 67 65 74 52 65 73 6f 75 72 63 65 73 44 69 72 28 29 20 2e 20 tents(self::getResourcesDir()...
18f960 27 2f 27 20 2e 20 73 65 6c 66 3a 3a 4c 49 43 45 4e 53 45 53 5f 46 49 4c 45 29 3b 0a 24 74 68 69 '/'...self::LICENSES_FILE);.$thi
18f980 73 2d 3e 6c 69 63 65 6e 73 65 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 6f 72 65 61 63 68 20 s->licenses.=.array();..foreach.
18f9a0 28 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6a 73 6f 6e 2c 20 74 72 75 65 29 20 61 73 20 24 69 64 (json_decode($json,.true).as.$id
18f9c0 65 6e 74 69 66 69 65 72 20 3d 3e 20 24 6c 69 63 65 6e 73 65 29 20 7b 0a 24 74 68 69 73 2d 3e 6c entifier.=>.$license).{.$this->l
18f9e0 69 63 65 6e 73 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 5d icenses[strtolower($identifier)]
18fa00 20 3d 20 61 72 72 61 79 28 24 69 64 65 6e 74 69 66 69 65 72 2c 20 24 6c 69 63 65 6e 73 65 5b 30 .=.array($identifier,.$license[0
18fa20 5d 2c 20 24 6c 69 63 65 6e 73 65 5b 31 5d 2c 20 24 6c 69 63 65 6e 73 65 5b 32 5d 29 3b 0a 7d 0a ],.$license[1],.$license[2]);.}.
18fa40 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 45 78 63 65 70 74 69 6f }..private.function.loadExceptio
18fa60 6e 73 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 65 78 63 65 70 ns().{.if.(null.!==.$this->excep
18fa80 74 69 6f 6e 73 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 6a 73 6f 6e 20 3d 20 66 69 6c 65 tions).{.return;.}..$json.=.file
18faa0 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 73 65 6c 66 3a 3a 67 65 74 52 65 73 6f 75 72 63 65 73 _get_contents(self::getResources
18fac0 44 69 72 28 29 20 2e 20 27 2f 27 20 2e 20 73 65 6c 66 3a 3a 45 58 43 45 50 54 49 4f 4e 53 5f 46 Dir()...'/'...self::EXCEPTIONS_F
18fae0 49 4c 45 29 3b 0a 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 28 ILE);.$this->exceptions.=.array(
18fb00 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 6a 73 6f 6e 5f 64 65 63 6f 64 65 28 24 6a 73 6f 6e 2c 20 );..foreach.(json_decode($json,.
18fb20 74 72 75 65 29 20 61 73 20 24 69 64 65 6e 74 69 66 69 65 72 20 3d 3e 20 24 65 78 63 65 70 74 69 true).as.$identifier.=>.$excepti
18fb40 6f 6e 29 20 7b 0a 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 5b 73 74 72 74 6f 6c 6f 77 on).{.$this->exceptions[strtolow
18fb60 65 72 28 24 69 64 65 6e 74 69 66 69 65 72 29 5d 20 3d 20 61 72 72 61 79 28 24 69 64 65 6e 74 69 er($identifier)].=.array($identi
18fb80 66 69 65 72 2c 20 24 65 78 63 65 70 74 69 6f 6e 5b 30 5d 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 70 72 fier,.$exception[0]);.}.}.....pr
18fba0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 69 63 65 6e 73 65 73 45 78 70 72 65 73 ivate.function.getLicensesExpres
18fbc0 73 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6c 69 63 sion().{.if.(null.===.$this->lic
18fbe0 65 6e 73 65 73 45 78 70 72 65 73 73 69 6f 6e 29 20 7b 0a 24 6c 69 63 65 6e 73 65 73 20 3d 20 61 ensesExpression).{.$licenses.=.a
18fc00 72 72 61 79 5f 6d 61 70 28 27 70 72 65 67 5f 71 75 6f 74 65 27 2c 20 61 72 72 61 79 5f 6b 65 79 rray_map('preg_quote',.array_key
18fc20 73 28 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 29 29 3b 0a 72 73 6f 72 74 28 24 6c 69 63 65 s($this->licenses));.rsort($lice
18fc40 6e 73 65 73 29 3b 0a 24 6c 69 63 65 6e 73 65 73 20 3d 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 nses);.$licenses.=.implode('|',.
18fc60 24 6c 69 63 65 6e 73 65 73 29 3b 0a 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 73 45 78 70 72 65 $licenses);.$this->licensesExpre
18fc80 73 73 69 6f 6e 20 3d 20 24 6c 69 63 65 6e 73 65 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 ssion.=.$licenses;.}..return.$th
18fca0 69 73 2d 3e 6c 69 63 65 6e 73 65 73 45 78 70 72 65 73 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 70 72 is->licensesExpression;.}.....pr
18fcc0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 78 63 65 70 74 69 6f 6e 73 45 78 70 72 ivate.function.getExceptionsExpr
18fce0 65 73 73 69 6f 6e 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 65 ession().{.if.(null.===.$this->e
18fd00 78 63 65 70 74 69 6f 6e 73 45 78 70 72 65 73 73 69 6f 6e 29 20 7b 0a 24 65 78 63 65 70 74 69 6f xceptionsExpression).{.$exceptio
18fd20 6e 73 20 3d 20 61 72 72 61 79 5f 6d 61 70 28 27 70 72 65 67 5f 71 75 6f 74 65 27 2c 20 61 72 72 ns.=.array_map('preg_quote',.arr
18fd40 61 79 5f 6b 65 79 73 28 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 29 29 3b 0a 72 73 6f ay_keys($this->exceptions));.rso
18fd60 72 74 28 24 65 78 63 65 70 74 69 6f 6e 73 29 3b 0a 24 65 78 63 65 70 74 69 6f 6e 73 20 3d 20 69 rt($exceptions);.$exceptions.=.i
18fd80 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 65 78 63 65 70 74 69 6f 6e 73 29 3b 0a 24 74 68 69 73 2d mplode('|',.$exceptions);.$this-
18fda0 3e 65 78 63 65 70 74 69 6f 6e 73 45 78 70 72 65 73 73 69 6f 6e 20 3d 20 24 65 78 63 65 70 74 69 >exceptionsExpression.=.$excepti
18fdc0 6f 6e 73 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 78 63 65 70 74 69 6f 6e 73 ons;.}..return.$this->exceptions
18fde0 45 78 70 72 65 73 73 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 Expression;.}.........private.fu
18fe00 6e 63 74 69 6f 6e 20 69 73 56 61 6c 69 64 4c 69 63 65 6e 73 65 53 74 72 69 6e 67 28 24 6c 69 63 nction.isValidLicenseString($lic
18fe20 65 6e 73 65 29 0a 7b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6c 69 63 65 6e 73 65 ense).{.if.(isset($this->license
18fe40 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6c 69 63 65 6e 73 65 29 5d 29 29 20 7b 0a 72 65 74 75 s[strtolower($license)])).{.retu
18fe60 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 24 6c 69 63 65 6e 73 65 73 20 3d 20 24 74 68 69 73 2d 3e 67 rn.true;.}..$licenses.=.$this->g
18fe80 65 74 4c 69 63 65 6e 73 65 73 45 78 70 72 65 73 73 69 6f 6e 28 29 3b 0a 24 65 78 63 65 70 74 69 etLicensesExpression();.$excepti
18fea0 6f 6e 73 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 45 78 63 65 70 74 69 6f 6e 73 45 78 70 72 65 73 ons.=.$this->getExceptionsExpres
18fec0 73 69 6f 6e 28 29 3b 0a 0a 24 72 65 67 65 78 20 3d 20 3c 3c 3c 52 45 47 45 58 0a 7b 0a 28 3f 28 sion();..$regex.=.<<<REGEX.{.(?(
18fee0 44 45 46 49 4e 45 29 0a 20 20 20 20 23 20 69 64 73 74 72 69 6e 67 3a 20 31 2a 28 20 41 4c 50 48 DEFINE).....#.idstring:.1*(.ALPH
18ff00 41 20 2f 20 44 49 47 49 54 20 2f 20 2d 20 2f 20 2e 20 29 0a 20 20 20 20 28 3f 3c 69 64 73 74 72 A./.DIGIT./.-./...).....(?<idstr
18ff20 69 6e 67 3e 5b 5c 70 4c 5c 70 4e 2e 2d 5d 7b 31 2c 7d 29 0a 0a 20 20 20 20 23 20 6c 69 63 65 6e ing>[\pL\pN.-]{1,})......#.licen
18ff40 73 65 2d 69 64 3a 20 74 61 6b 65 6e 20 66 72 6f 6d 20 6c 69 73 74 0a 20 20 20 20 28 3f 3c 6c 69 se-id:.taken.from.list.....(?<li
18ff60 63 65 6e 73 65 69 64 3e 24 7b 6c 69 63 65 6e 73 65 73 7d 29 0a 0a 20 20 20 20 23 20 6c 69 63 65 censeid>${licenses})......#.lice
18ff80 6e 73 65 2d 65 78 63 65 70 74 69 6f 6e 2d 69 64 3a 20 74 61 6b 65 6e 20 66 72 6f 6d 20 6c 69 73 nse-exception-id:.taken.from.lis
18ffa0 74 0a 20 20 20 20 28 3f 3c 6c 69 63 65 6e 73 65 65 78 63 65 70 74 69 6f 6e 69 64 3e 24 7b 65 78 t.....(?<licenseexceptionid>${ex
18ffc0 63 65 70 74 69 6f 6e 73 7d 29 0a 0a 20 20 20 20 23 20 6c 69 63 65 6e 73 65 2d 72 65 66 3a 20 5b ceptions})......#.license-ref:.[
18ffe0 44 6f 63 75 6d 65 6e 74 52 65 66 2d 31 2a 28 69 64 73 74 72 69 6e 67 29 3a 5d 4c 69 63 65 6e 73 DocumentRef-1*(idstring):]Licens
190000 65 52 65 66 2d 31 2a 28 69 64 73 74 72 69 6e 67 29 0a 20 20 20 20 28 3f 3c 6c 69 63 65 6e 73 65 eRef-1*(idstring).....(?<license
190020 72 65 66 3e 28 3f 3a 44 6f 63 75 6d 65 6e 74 52 65 66 2d 28 3f 26 69 64 73 74 72 69 6e 67 29 3a ref>(?:DocumentRef-(?&idstring):
190040 29 3f 4c 69 63 65 6e 73 65 52 65 66 2d 28 3f 26 69 64 73 74 72 69 6e 67 29 29 0a 0a 20 20 20 20 )?LicenseRef-(?&idstring))......
190060 23 20 73 69 6d 70 6c 65 2d 65 78 70 72 65 73 73 73 69 6f 6e 3a 20 6c 69 63 65 6e 73 65 2d 69 64 #.simple-expresssion:.license-id
190080 20 2f 20 6c 69 63 65 6e 73 65 2d 69 64 2b 20 2f 20 6c 69 63 65 6e 73 65 2d 72 65 66 0a 20 20 20 ./.license-id+./.license-ref....
1900a0 20 28 3f 3c 73 69 6d 70 6c 65 5f 65 78 70 72 65 73 73 69 6f 6e 3e 28 3f 26 6c 69 63 65 6e 73 65 .(?<simple_expression>(?&license
1900c0 69 64 29 5c 2b 3f 20 7c 20 28 3f 26 6c 69 63 65 6e 73 65 69 64 29 20 7c 20 28 3f 26 6c 69 63 65 id)\+?.|.(?&licenseid).|.(?&lice
1900e0 6e 73 65 72 65 66 29 29 0a 0a 20 20 20 20 23 20 63 6f 6d 70 6f 75 6e 64 2d 65 78 70 72 65 73 73 nseref))......#.compound-express
190100 69 6f 6e 3a 20 31 2a 28 0a 20 20 20 20 23 20 20 20 73 69 6d 70 6c 65 2d 65 78 70 72 65 73 73 69 ion:.1*(.....#...simple-expressi
190120 6f 6e 20 2f 0a 20 20 20 20 23 20 20 20 73 69 6d 70 6c 65 2d 65 78 70 72 65 73 73 69 6f 6e 20 57 on./.....#...simple-expression.W
190140 49 54 48 20 6c 69 63 65 6e 73 65 2d 65 78 63 65 70 74 69 6f 6e 2d 69 64 20 2f 0a 20 20 20 20 23 ITH.license-exception-id./.....#
190160 20 20 20 63 6f 6d 70 6f 75 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 20 41 4e 44 20 63 6f 6d 70 6f ...compound-expression.AND.compo
190180 75 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 20 2f 0a 20 20 20 20 23 20 20 20 63 6f 6d 70 6f 75 6e und-expression./.....#...compoun
1901a0 64 2d 65 78 70 72 65 73 73 69 6f 6e 20 4f 52 20 63 6f 6d 70 6f 75 6e 64 2d 65 78 70 72 65 73 73 d-expression.OR.compound-express
1901c0 69 6f 6e 0a 20 20 20 20 23 20 29 20 2f 20 28 20 63 6f 6d 70 6f 75 6e 64 2d 65 78 70 72 65 73 73 ion.....#.)./.(.compound-express
1901e0 69 6f 6e 20 29 20 29 0a 20 20 20 20 28 3f 3c 63 6f 6d 70 6f 75 6e 64 5f 68 65 61 64 3e 0a 20 20 ion.).).....(?<compound_head>...
190200 20 20 20 20 20 20 28 3f 26 73 69 6d 70 6c 65 5f 65 78 70 72 65 73 73 69 6f 6e 29 20 28 20 5c 73 ......(?&simple_expression).(.\s
190220 2b 20 57 49 54 48 20 5c 73 2b 20 28 3f 26 6c 69 63 65 6e 73 65 65 78 63 65 70 74 69 6f 6e 69 64 +.WITH.\s+.(?&licenseexceptionid
190240 29 29 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 7c 20 5c 28 20 5c 73 2a 20 28 3f 26 63 6f 6d 70 ))?.............|.\(.\s*.(?&comp
190260 6f 75 6e 64 5f 65 78 70 72 65 73 73 69 6f 6e 29 20 5c 73 2a 20 5c 29 0a 20 20 20 20 29 0a 20 20 ound_expression).\s*.\).....)...
190280 20 20 28 3f 3c 63 6f 6d 70 6f 75 6e 64 5f 65 78 70 72 65 73 73 69 6f 6e 3e 0a 20 20 20 20 20 20 ..(?<compound_expression>.......
1902a0 20 20 28 3f 26 63 6f 6d 70 6f 75 6e 64 5f 68 65 61 64 29 20 28 3f 3a 20 5c 73 2b 20 28 3f 3a 41 ..(?&compound_head).(?:.\s+.(?:A
1902c0 4e 44 7c 4f 52 29 20 5c 73 2b 20 28 3f 26 63 6f 6d 70 6f 75 6e 64 5f 65 78 70 72 65 73 73 69 6f ND|OR).\s+.(?&compound_expressio
1902e0 6e 29 29 3f 0a 20 20 20 20 29 0a 0a 20 20 20 20 23 20 6c 69 63 65 6e 73 65 2d 65 78 70 72 65 73 n))?.....)......#.license-expres
190300 73 69 6f 6e 3a 20 31 2a 31 28 73 69 6d 70 6c 65 2d 65 78 70 72 65 73 73 69 6f 6e 20 2f 20 63 6f sion:.1*1(simple-expression./.co
190320 6d 70 6f 75 6e 64 2d 65 78 70 72 65 73 73 69 6f 6e 29 0a 20 20 20 20 28 3f 3c 6c 69 63 65 6e 73 mpound-expression).....(?<licens
190340 65 5f 65 78 70 72 65 73 73 69 6f 6e 3e 28 3f 26 63 6f 6d 70 6f 75 6e 64 5f 65 78 70 72 65 73 73 e_expression>(?&compound_express
190360 69 6f 6e 29 20 7c 20 28 3f 26 73 69 6d 70 6c 65 5f 65 78 70 72 65 73 73 69 6f 6e 29 29 0a 29 20 ion).|.(?&simple_expression)).).
190380 23 20 65 6e 64 20 6f 66 20 64 65 66 69 6e 65 0a 0a 5e 28 4e 4f 4e 45 20 7c 20 4e 4f 41 53 53 45 #.end.of.define..^(NONE.|.NOASSE
1903a0 52 54 49 4f 4e 20 7c 20 28 3f 26 6c 69 63 65 6e 73 65 5f 65 78 70 72 65 73 73 69 6f 6e 29 29 24 RTION.|.(?&license_expression))$
1903c0 0a 7d 78 69 0a 52 45 47 45 58 3b 0a 0a 24 6d 61 74 63 68 20 3d 20 70 72 65 67 5f 6d 61 74 63 68 .}xi.REGEX;..$match.=.preg_match
1903e0 28 24 72 65 67 65 78 2c 20 24 6c 69 63 65 6e 73 65 29 3b 0a 0a 69 66 20 28 30 20 3d 3d 3d 20 24 ($regex,.$license);..if.(0.===.$
190400 6d 61 74 63 68 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 66 61 match).{.return.false;.}..if.(fa
190420 6c 73 65 20 3d 3d 3d 20 24 6d 61 74 63 68 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e lse.===.$match).{.throw.new.\Run
190440 74 69 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 52 65 67 65 78 20 66 61 69 6c 65 64 20 74 6f 20 63 timeException('Regex.failed.to.c
190460 6f 6d 70 69 6c 65 2f 72 75 6e 2e 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d ompile/run.');.}..return.true;.}
190480 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 35 20 43 6f 6d 70 6f 73 65 72 0a 0a .}.Copyright.(C).2015.Composer..
1904a0 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 Permission.is.hereby.granted,.fr
1904c0 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 ee.of.charge,.to.any.person.obta
1904e0 69 6e 69 6e 67 20 61 20 63 6f 70 79 20 6f 66 0a 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e ining.a.copy.of.this.software.an
190500 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 d.associated.documentation.files
190520 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 20 69 6e 0a 74 68 .(the."Software"),.to.deal.in.th
190540 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 e.Software.without.restriction,.
190560 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 including.without.limitation.the
190580 20 72 69 67 68 74 73 20 74 6f 0a 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 .rights.to.use,.copy,.modify,.me
1905a0 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 rge,.publish,.distribute,.sublic
1905c0 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 20 63 6f 70 69 65 73 0a 6f 66 20 74 68 65 20 ense,.and/or.sell.copies.of.the.
1905e0 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 Software,.and.to.permit.persons.
190600 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 to.whom.the.Software.is.furnishe
190620 64 20 74 6f 20 64 6f 0a 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f d.to.do.so,.subject.to.the.follo
190640 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 wing.conditions:..The.above.copy
190660 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e right.notice.and.this.permission
190680 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c .notice.shall.be.included.in.all
1906a0 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 .copies.or.substantial.portions.
1906c0 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 of.the.Software...THE.SOFTWARE.I
1906e0 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 S.PROVIDED."AS.IS",.WITHOUT.WARR
190700 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 ANTY.OF.ANY.KIND,.EXPRESS.OR.IMP
190720 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 LIED,.INCLUDING.BUT.NOT.LIMITED.
190740 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 TO.THE.WARRANTIES.OF.MERCHANTABI
190760 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 LITY,.FITNESS.FOR.A.PARTICULAR.P
190780 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e URPOSE.AND.NONINFRINGEMENT..IN.N
1907a0 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 O.EVENT.SHALL.THE.AUTHORS.OR.COP
1907c0 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 YRIGHT.HOLDERS.BE.LIABLE.FOR.ANY
1907e0 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 .CLAIM,.DAMAGES.OR.OTHER.LIABILI
190800 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 TY,.WHETHER.IN.AN.ACTION.OF.CONT
190820 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 RACT,.TORT.OR.OTHERWISE,.ARISING
190840 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 .FROM,.OUT.OF.OR.IN.CONNECTION.W
190860 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f ITH.THE.SOFTWARE.OR.THE.USE.OR.O
190880 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 48 45 0a 53 4f 46 54 57 41 52 45 2e 0a 3c THER.DEALINGS.IN.THE.SOFTWARE..<
1908a0 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 ?php...........namespace.Compose
1908c0 72 5c 53 65 6d 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 r\Semver;..use.Composer\Semver\C
1908e0 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 43 6f 6d onstraint\Constraint;..class.Com
190900 70 61 72 61 74 6f 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 parator.{.........public.static.
190920 66 75 6e 63 74 69 6f 6e 20 67 72 65 61 74 65 72 54 68 61 6e 28 24 76 65 72 73 69 6f 6e 31 2c 20 function.greaterThan($version1,.
190940 24 76 65 72 73 69 6f 6e 32 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 63 6f 6d 70 61 72 $version2).{.return.self::compar
190960 65 28 24 76 65 72 73 69 6f 6e 31 2c 20 27 3e 27 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a e($version1,.'>',.$version2);.}.
190980 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 .........public.static.function.
1909a0 67 72 65 61 74 65 72 54 68 61 6e 4f 72 45 71 75 61 6c 54 6f 28 24 76 65 72 73 69 6f 6e 31 2c 20 greaterThanOrEqualTo($version1,.
1909c0 24 76 65 72 73 69 6f 6e 32 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 63 6f 6d 70 61 72 $version2).{.return.self::compar
1909e0 65 28 24 76 65 72 73 69 6f 6e 31 2c 20 27 3e 3d 27 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 7d e($version1,.'>=',.$version2);.}
190a00 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e ..........public.static.function
190a20 20 6c 65 73 73 54 68 61 6e 28 24 76 65 72 73 69 6f 6e 31 2c 20 24 76 65 72 73 69 6f 6e 32 29 0a .lessThan($version1,.$version2).
190a40 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 63 6f 6d 70 61 72 65 28 24 76 65 72 73 69 6f 6e 31 {.return.self::compare($version1
190a60 2c 20 27 3c 27 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ,.'<',.$version2);.}..........pu
190a80 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 65 73 73 54 68 61 6e 4f 72 45 blic.static.function.lessThanOrE
190aa0 71 75 61 6c 54 6f 28 24 76 65 72 73 69 6f 6e 31 2c 20 24 76 65 72 73 69 6f 6e 32 29 0a 7b 0a 72 qualTo($version1,.$version2).{.r
190ac0 65 74 75 72 6e 20 73 65 6c 66 3a 3a 63 6f 6d 70 61 72 65 28 24 76 65 72 73 69 6f 6e 31 2c 20 27 eturn.self::compare($version1,.'
190ae0 3c 3d 27 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c <=',.$version2);.}..........publ
190b00 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 71 75 61 6c 54 6f 28 24 76 65 72 73 ic.static.function.equalTo($vers
190b20 69 6f 6e 31 2c 20 24 76 65 72 73 69 6f 6e 32 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a ion1,.$version2).{.return.self::
190b40 63 6f 6d 70 61 72 65 28 24 76 65 72 73 69 6f 6e 31 2c 20 27 3d 3d 27 2c 20 24 76 65 72 73 69 6f compare($version1,.'==',.$versio
190b60 6e 32 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 n2);.}..........public.static.fu
190b80 6e 63 74 69 6f 6e 20 6e 6f 74 45 71 75 61 6c 54 6f 28 24 76 65 72 73 69 6f 6e 31 2c 20 24 76 65 nction.notEqualTo($version1,.$ve
190ba0 72 73 69 6f 6e 32 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 63 6f 6d 70 61 72 65 28 24 rsion2).{.return.self::compare($
190bc0 76 65 72 73 69 6f 6e 31 2c 20 27 21 3d 27 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 7d 0a 0a 0a version1,.'!=',.$version2);.}...
190be0 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 ........public.static.function.c
190c00 6f 6d 70 61 72 65 28 24 76 65 72 73 69 6f 6e 31 2c 20 24 6f 70 65 72 61 74 6f 72 2c 20 24 76 65 ompare($version1,.$operator,.$ve
190c20 72 73 69 6f 6e 32 29 0a 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 43 6f 6e 73 rsion2).{.$constraint.=.new.Cons
190c40 74 72 61 69 6e 74 28 24 6f 70 65 72 61 74 6f 72 2c 20 24 76 65 72 73 69 6f 6e 32 29 3b 0a 0a 72 traint($operator,.$version2);..r
190c60 65 74 75 72 6e 20 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 73 28 6e 65 77 20 43 eturn.$constraint->matches(new.C
190c80 6f 6e 73 74 72 61 69 6e 74 28 27 3d 3d 27 2c 20 24 76 65 72 73 69 6f 6e 31 29 29 3b 0a 7d 0a 7d onstraint('==',.$version1));.}.}
190ca0 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f .<?php...........namespace.Compo
190cc0 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 74 72 69 67 67 65 72 5f ser\Semver\Constraint;..trigger_
190ce0 65 72 72 6f 72 28 27 54 68 65 20 27 20 2e 20 5f 5f 4e 41 4d 45 53 50 41 43 45 5f 5f 20 2e 20 27 error('The.'...__NAMESPACE__...'
190d00 5c 41 62 73 74 72 61 63 74 43 6f 6e 73 74 72 61 69 6e 74 20 61 62 73 74 72 61 63 74 20 63 6c 61 \AbstractConstraint.abstract.cla
190d20 73 73 20 69 73 20 64 65 70 72 65 63 61 74 65 64 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 72 65 ss.is.deprecated,.there.is.no.re
190d40 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 69 74 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 72 65 6d placement.for.it,.it.will.be.rem
190d60 6f 76 65 64 20 69 6e 20 74 68 65 20 6e 65 78 74 20 6d 61 6a 6f 72 20 76 65 72 73 69 6f 6e 2e 27 oved.in.the.next.major.version.'
190d80 2c 20 45 5f 55 53 45 52 5f 44 45 50 52 45 43 41 54 45 44 29 3b 0a 0a 0a 0a 0a 61 62 73 74 72 61 ,.E_USER_DEPRECATED);.....abstra
190da0 63 74 20 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c ct.class.AbstractConstraint.impl
190dc0 65 6d 65 6e 74 73 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 70 72 ements.ConstraintInterface.{..pr
190de0 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 otected.$prettyString;.......pub
190e00 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 65 73 28 43 6f 6e 73 74 72 61 69 6e 74 49 lic.function.matches(ConstraintI
190e20 6e 74 65 72 66 61 63 65 20 24 70 72 6f 76 69 64 65 72 29 0a 7b 0a 69 66 20 28 24 70 72 6f 76 69 nterface.$provider).{.if.($provi
190e40 64 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 24 74 68 69 73 29 20 7b 0a 0a 20 72 65 74 75 72 6e der.instanceof.$this).{...return
190e60 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 53 70 65 63 69 66 69 63 28 24 70 72 6f 76 69 64 65 72 29 .$this->matchSpecific($provider)
190e80 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 24 70 72 6f 76 69 64 65 72 2d 3e 6d 61 74 63 68 65 73 ;.}....return.$provider->matches
190ea0 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ($this);.}.....public.function.s
190ec0 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 72 65 74 74 79 53 74 72 69 6e 67 29 0a 7b 0a etPrettyString($prettyString).{.
190ee0 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 20 3d 20 24 70 72 65 74 74 79 53 74 72 $this->prettyString.=.$prettyStr
190f00 69 6e 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 ing;.}.....public.function.getPr
190f20 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 74 74 79 ettyString().{.if.($this->pretty
190f40 53 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 String).{.return.$this->prettySt
190f60 72 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 5f 5f 74 6f 53 74 72 69 6e ring;.}..return.$this->__toStrin
190f80 67 28 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e g();.}.......}.<?php...........n
190fa0 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 amespace.Composer\Semver\Constra
190fc0 69 6e 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d int;.....class.Constraint.implem
190fe0 65 6e 74 73 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 63 6f 6e 73 ents.ConstraintInterface.{..cons
191000 74 20 4f 50 5f 45 51 20 3d 20 30 3b 0a 63 6f 6e 73 74 20 4f 50 5f 4c 54 20 3d 20 31 3b 0a 63 6f t.OP_EQ.=.0;.const.OP_LT.=.1;.co
191020 6e 73 74 20 4f 50 5f 4c 45 20 3d 20 32 3b 0a 63 6f 6e 73 74 20 4f 50 5f 47 54 20 3d 20 33 3b 0a nst.OP_LE.=.2;.const.OP_GT.=.3;.
191040 63 6f 6e 73 74 20 4f 50 5f 47 45 20 3d 20 34 3b 0a 63 6f 6e 73 74 20 4f 50 5f 4e 45 20 3d 20 35 const.OP_GE.=.4;.const.OP_NE.=.5
191060 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 74 72 61 6e 73 4f 70 53 ;.......private.static.$transOpS
191080 74 72 20 3d 20 61 72 72 61 79 28 0a 27 3d 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 45 51 2c 0a tr.=.array(.'='.=>.self::OP_EQ,.
1910a0 27 3d 3d 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 45 51 2c 0a 27 3c 27 20 3d 3e 20 73 65 6c 66 '=='.=>.self::OP_EQ,.'<'.=>.self
1910c0 3a 3a 4f 50 5f 4c 54 2c 0a 27 3c 3d 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 4c 45 2c 0a 27 3e ::OP_LT,.'<='.=>.self::OP_LE,.'>
1910e0 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 47 54 2c 0a 27 3e 3d 27 20 3d 3e 20 73 65 6c 66 3a 3a '.=>.self::OP_GT,.'>='.=>.self::
191100 4f 50 5f 47 45 2c 0a 27 3c 3e 27 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 4e 45 2c 0a 27 21 3d 27 OP_GE,.'<>'.=>.self::OP_NE,.'!='
191120 20 3d 3e 20 73 65 6c 66 3a 3a 4f 50 5f 4e 45 2c 0a 29 3b 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 .=>.self::OP_NE,.);.......privat
191140 65 20 73 74 61 74 69 63 20 24 74 72 61 6e 73 4f 70 49 6e 74 20 3d 20 61 72 72 61 79 28 0a 73 65 e.static.$transOpInt.=.array(.se
191160 6c 66 3a 3a 4f 50 5f 45 51 20 3d 3e 20 27 3d 3d 27 2c 0a 73 65 6c 66 3a 3a 4f 50 5f 4c 54 20 3d lf::OP_EQ.=>.'==',.self::OP_LT.=
191180 3e 20 27 3c 27 2c 0a 73 65 6c 66 3a 3a 4f 50 5f 4c 45 20 3d 3e 20 27 3c 3d 27 2c 0a 73 65 6c 66 >.'<',.self::OP_LE.=>.'<=',.self
1911a0 3a 3a 4f 50 5f 47 54 20 3d 3e 20 27 3e 27 2c 0a 73 65 6c 66 3a 3a 4f 50 5f 47 45 20 3d 3e 20 27 ::OP_GT.=>.'>',.self::OP_GE.=>.'
1911c0 3e 3d 27 2c 0a 73 65 6c 66 3a 3a 4f 50 5f 4e 45 20 3d 3e 20 27 21 3d 27 2c 0a 29 3b 0a 0a 0a 70 >=',.self::OP_NE.=>.'!=',.);...p
1911e0 72 6f 74 65 63 74 65 64 20 24 6f 70 65 72 61 74 6f 72 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 rotected.$operator;...protected.
191200 24 76 65 72 73 69 6f 6e 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 53 74 72 $version;...protected.$prettyStr
191220 69 6e 67 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 ing;.......public.function.match
191240 65 73 28 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 70 72 6f 76 69 64 65 72 es(ConstraintInterface.$provider
191260 29 0a 7b 0a 69 66 20 28 24 70 72 6f 76 69 64 65 72 20 69 6e 73 74 61 6e 63 65 6f 66 20 24 74 68 ).{.if.($provider.instanceof.$th
191280 69 73 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6d 61 74 63 68 53 70 65 63 69 66 69 is).{.return.$this->matchSpecifi
1912a0 63 28 24 70 72 6f 76 69 64 65 72 29 3b 0a 7d 0a 0a 0a 20 72 65 74 75 72 6e 20 24 70 72 6f 76 69 c($provider);.}....return.$provi
1912c0 64 65 72 2d 3e 6d 61 74 63 68 65 73 28 24 74 68 69 73 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 der->matches($this);.}.....publi
1912e0 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 72 65 74 c.function.setPrettyString($pret
191300 74 79 53 74 72 69 6e 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 20 tyString).{.$this->prettyString.
191320 3d 20 24 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 =.$prettyString;.}.....public.fu
191340 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b 0a 69 66 20 28 24 nction.getPrettyString().{.if.($
191360 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 this->prettyString).{.return.$th
191380 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 is->prettyString;.}..return.$thi
1913a0 73 2d 3e 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 s->__toString();.}.......public.
1913c0 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 75 70 70 6f 72 74 65 64 4f 70 65 72 static.function.getSupportedOper
1913e0 61 74 6f 72 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 6b 65 79 73 28 73 65 6c 66 ators().{.return.array_keys(self
191400 3a 3a 24 74 72 61 6e 73 4f 70 53 74 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 ::$transOpStr);.}..........publi
191420 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 24 6f 70 65 72 61 74 6f 72 c.function.__construct($operator
191440 2c 20 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 ,.$version).{.if.(!isset(self::$
191460 74 72 61 6e 73 4f 70 53 74 72 5b 24 6f 70 65 72 61 74 6f 72 5d 29 29 20 7b 0a 74 68 72 6f 77 20 transOpStr[$operator])).{.throw.
191480 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 new.\InvalidArgumentException(sp
1914a0 72 69 6e 74 66 28 0a 27 49 6e 76 61 6c 69 64 20 6f 70 65 72 61 74 6f 72 20 22 25 73 22 20 67 69 rintf(.'Invalid.operator."%s".gi
1914c0 76 65 6e 2c 20 65 78 70 65 63 74 65 64 20 6f 6e 65 20 6f 66 3a 20 25 73 27 2c 0a 24 6f 70 65 72 ven,.expected.one.of:.%s',.$oper
1914e0 61 74 6f 72 2c 0a 69 6d 70 6c 6f 64 65 28 27 2c 20 27 2c 20 73 65 6c 66 3a 3a 67 65 74 53 75 70 ator,.implode(',.',.self::getSup
191500 70 6f 72 74 65 64 4f 70 65 72 61 74 6f 72 73 28 29 29 0a 29 29 3b 0a 7d 0a 0a 24 74 68 69 73 2d portedOperators()).));.}..$this-
191520 3e 6f 70 65 72 61 74 6f 72 20 3d 20 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 53 74 72 5b 24 6f >operator.=.self::$transOpStr[$o
191540 70 65 72 61 74 6f 72 5d 3b 0a 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 20 3d 20 24 76 65 72 73 perator];.$this->version.=.$vers
191560 69 6f 6e 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ion;.}............public.functio
191580 6e 20 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 24 61 2c 20 24 62 2c 20 24 6f 70 65 72 61 74 n.versionCompare($a,.$b,.$operat
1915a0 6f 72 2c 20 24 63 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a or,.$compareBranches.=.false).{.
1915c0 69 66 20 28 21 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 53 74 72 5b 24 6f 70 if.(!isset(self::$transOpStr[$op
1915e0 65 72 61 74 6f 72 5d 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 erator])).{.throw.new.\InvalidAr
191600 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 28 73 70 72 69 6e 74 66 28 0a 27 49 6e 76 61 6c 69 gumentException(sprintf(.'Invali
191620 64 20 6f 70 65 72 61 74 6f 72 20 22 25 73 22 20 67 69 76 65 6e 2c 20 65 78 70 65 63 74 65 64 20 d.operator."%s".given,.expected.
191640 6f 6e 65 20 6f 66 3a 20 25 73 27 2c 0a 24 6f 70 65 72 61 74 6f 72 2c 0a 69 6d 70 6c 6f 64 65 28 one.of:.%s',.$operator,.implode(
191660 27 2c 20 27 2c 20 73 65 6c 66 3a 3a 67 65 74 53 75 70 70 6f 72 74 65 64 4f 70 65 72 61 74 6f 72 ',.',.self::getSupportedOperator
191680 73 28 29 29 0a 29 29 3b 0a 7d 0a 0a 24 61 49 73 42 72 61 6e 63 68 20 3d 20 27 64 65 76 2d 27 20 s()).));.}..$aIsBranch.=.'dev-'.
1916a0 3d 3d 3d 20 73 75 62 73 74 72 28 24 61 2c 20 30 2c 20 34 29 3b 0a 24 62 49 73 42 72 61 6e 63 68 ===.substr($a,.0,.4);.$bIsBranch
1916c0 20 3d 20 27 64 65 76 2d 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 62 2c 20 30 2c 20 34 29 3b 0a .=.'dev-'.===.substr($b,.0,.4);.
1916e0 0a 69 66 20 28 24 61 49 73 42 72 61 6e 63 68 20 26 26 20 24 62 49 73 42 72 61 6e 63 68 29 20 7b .if.($aIsBranch.&&.$bIsBranch).{
191700 0a 72 65 74 75 72 6e 20 24 6f 70 65 72 61 74 6f 72 20 3d 3d 3d 20 27 3d 3d 27 20 26 26 20 24 61 .return.$operator.===.'=='.&&.$a
191720 20 3d 3d 3d 20 24 62 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 24 63 6f 6d 70 61 72 65 42 72 61 6e 63 .===.$b;.}....if.(!$compareBranc
191740 68 65 73 20 26 26 20 28 24 61 49 73 42 72 61 6e 63 68 20 7c 7c 20 24 62 49 73 42 72 61 6e 63 68 hes.&&.($aIsBranch.||.$bIsBranch
191760 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 76 65 72 )).{.return.false;.}..return.ver
191780 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 24 61 2c 20 24 62 2c 20 24 6f 70 65 72 61 74 6f 72 29 3b sion_compare($a,.$b,.$operator);
1917a0 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 53 .}........public.function.matchS
1917c0 70 65 63 69 66 69 63 28 43 6f 6e 73 74 72 61 69 6e 74 20 24 70 72 6f 76 69 64 65 72 2c 20 24 63 pecific(Constraint.$provider,.$c
1917e0 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 73 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 6e 6f 45 71 75 ompareBranches.=.false).{.$noEqu
191800 61 6c 4f 70 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 3d 27 2c 20 27 27 2c 20 73 65 6c 66 alOp.=.str_replace('=',.'',.self
191820 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 5d 29 3b ::$transOpInt[$this->operator]);
191840 0a 24 70 72 6f 76 69 64 65 72 4e 6f 45 71 75 61 6c 4f 70 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 .$providerNoEqualOp.=.str_replac
191860 65 28 27 3d 27 2c 20 27 27 2c 20 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 70 72 e('=',.'',.self::$transOpInt[$pr
191880 6f 76 69 64 65 72 2d 3e 6f 70 65 72 61 74 6f 72 5d 29 3b 0a 0a 24 69 73 45 71 75 61 6c 4f 70 20 ovider->operator]);..$isEqualOp.
1918a0 3d 20 73 65 6c 66 3a 3a 4f 50 5f 45 51 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f =.self::OP_EQ.===.$this->operato
1918c0 72 3b 0a 24 69 73 4e 6f 6e 45 71 75 61 6c 4f 70 20 3d 20 73 65 6c 66 3a 3a 4f 50 5f 4e 45 20 3d r;.$isNonEqualOp.=.self::OP_NE.=
1918e0 3d 3d 20 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a 24 69 73 50 72 6f 76 69 64 65 72 45 ==.$this->operator;.$isProviderE
191900 71 75 61 6c 4f 70 20 3d 20 73 65 6c 66 3a 3a 4f 50 5f 45 51 20 3d 3d 3d 20 24 70 72 6f 76 69 64 qualOp.=.self::OP_EQ.===.$provid
191920 65 72 2d 3e 6f 70 65 72 61 74 6f 72 3b 0a 24 69 73 50 72 6f 76 69 64 65 72 4e 6f 6e 45 71 75 61 er->operator;.$isProviderNonEqua
191940 6c 4f 70 20 3d 20 73 65 6c 66 3a 3a 4f 50 5f 4e 45 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 2d lOp.=.self::OP_NE.===.$provider-
191960 3e 6f 70 65 72 61 74 6f 72 3b 0a 0a 0a 20 0a 20 69 66 20 28 24 69 73 4e 6f 6e 45 71 75 61 6c 4f >operator;......if.($isNonEqualO
191980 70 20 7c 7c 20 24 69 73 50 72 6f 76 69 64 65 72 4e 6f 6e 45 71 75 61 6c 4f 70 29 20 7b 0a 72 65 p.||.$isProviderNonEqualOp).{.re
1919a0 74 75 72 6e 20 21 24 69 73 45 71 75 61 6c 4f 70 20 26 26 20 21 24 69 73 50 72 6f 76 69 64 65 72 turn.!$isEqualOp.&&.!$isProvider
1919c0 45 71 75 61 6c 4f 70 0a 7c 7c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 EqualOp.||.$this->versionCompare
1919e0 28 24 70 72 6f 76 69 64 65 72 2d 3e 76 65 72 73 69 6f 6e 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 ($provider->version,.$this->vers
191a00 69 6f 6e 2c 20 27 21 3d 27 2c 20 24 63 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 73 29 3b 0a 7d 0a ion,.'!=',.$compareBranches);.}.
191a20 0a 0a 20 0a 20 69 66 20 28 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 20 21 3d 3d 20 73 65 6c .....if.($this->operator.!==.sel
191a40 66 3a 3a 4f 50 5f 45 51 20 26 26 20 24 6e 6f 45 71 75 61 6c 4f 70 20 3d 3d 3d 20 24 70 72 6f 76 f::OP_EQ.&&.$noEqualOp.===.$prov
191a60 69 64 65 72 4e 6f 45 71 75 61 6c 4f 70 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a iderNoEqualOp).{.return.true;.}.
191a80 0a 69 66 20 28 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 43 6f 6d 70 61 72 65 28 24 70 72 6f 76 .if.($this->versionCompare($prov
191aa0 69 64 65 72 2d 3e 76 65 72 73 69 6f 6e 2c 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 2c 20 73 ider->version,.$this->version,.s
191ac0 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 elf::$transOpInt[$this->operator
191ae0 5d 2c 20 24 63 6f 6d 70 61 72 65 42 72 61 6e 63 68 65 73 29 29 20 7b 0a 0a 20 0a 20 69 66 20 28 ],.$compareBranches)).{.....if.(
191b00 24 70 72 6f 76 69 64 65 72 2d 3e 76 65 72 73 69 6f 6e 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 76 65 $provider->version.===.$this->ve
191b20 72 73 69 6f 6e 0a 26 26 20 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 70 72 6f 76 rsion.&&.self::$transOpInt[$prov
191b40 69 64 65 72 2d 3e 6f 70 65 72 61 74 6f 72 5d 20 3d 3d 3d 20 24 70 72 6f 76 69 64 65 72 4e 6f 45 ider->operator].===.$providerNoE
191b60 71 75 61 6c 4f 70 0a 26 26 20 73 65 6c 66 3a 3a 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 74 68 69 qualOp.&&.self::$transOpInt[$thi
191b80 73 2d 3e 6f 70 65 72 61 74 6f 72 5d 20 21 3d 3d 20 24 6e 6f 45 71 75 61 6c 4f 70 29 20 7b 0a 72 s->operator].!==.$noEqualOp).{.r
191ba0 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a eturn.false;.}..return.true;.}..
191bc0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 return.false;.}.....public.funct
191be0 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a ion.__toString().{.return.self::
191c00 24 74 72 61 6e 73 4f 70 49 6e 74 5b 24 74 68 69 73 2d 3e 6f 70 65 72 61 74 6f 72 5d 20 2e 20 27 $transOpInt[$this->operator]...'
191c20 20 27 20 2e 20 24 74 68 69 73 2d 3e 76 65 72 73 69 6f 6e 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a .'...$this->version;.}.}.<?php..
191c40 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 .........namespace.Composer\Semv
191c60 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 69 6e 74 65 72 66 61 63 65 20 43 6f 6e 73 74 72 er\Constraint;..interface.Constr
191c80 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 aintInterface.{......public.func
191ca0 74 69 6f 6e 20 6d 61 74 63 68 65 73 28 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 tion.matches(ConstraintInterface
191cc0 20 24 70 72 6f 76 69 64 65 72 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e .$provider);.....public.function
191ce0 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 .getPrettyString();.....public.f
191d00 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a unction.__toString();.}.<?php...
191d20 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 ........namespace.Composer\Semve
191d40 72 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 45 6d 70 74 79 43 6f 6e r\Constraint;.....class.EmptyCon
191d60 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 straint.implements.ConstraintInt
191d80 65 72 66 61 63 65 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 53 74 72 69 6e erface.{..protected.$prettyStrin
191da0 67 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 65 73 g;.......public.function.matches
191dc0 28 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 70 72 6f 76 69 64 65 72 29 0a (ConstraintInterface.$provider).
191de0 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 {.return.true;.}.....public.func
191e00 74 69 6f 6e 20 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 72 65 74 74 79 53 74 72 69 tion.setPrettyString($prettyStri
191e20 6e 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 20 3d 20 24 70 72 65 ng).{.$this->prettyString.=.$pre
191e40 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e ttyString;.}.....public.function
191e60 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e .getPrettyString().{.if.($this->
191e80 70 72 65 74 74 79 53 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 72 prettyString).{.return.$this->pr
191ea0 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 5f 5f 74 ettyString;.}..return.$this->__t
191ec0 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e oString();.}.....public.function
191ee0 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 72 65 74 75 72 6e 20 27 5b 5d 27 3b 0a 7d 0a 7d .__toString().{.return.'[]';.}.}
191f00 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f .<?php...........namespace.Compo
191f20 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 ser\Semver\Constraint;.....class
191f40 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 73 20 43 6f 6e 73 .MultiConstraint.implements.Cons
191f60 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f traintInterface.{..protected.$co
191f80 6e 73 74 72 61 69 6e 74 73 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 70 72 65 74 74 79 53 74 nstraints;...protected.$prettySt
191fa0 72 69 6e 67 3b 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 63 6f 6e 6a 75 6e 63 74 69 76 65 3b 0a ring;...protected.$conjunctive;.
191fc0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 .....public.function.__construct
191fe0 28 61 72 72 61 79 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 2c 20 24 63 6f 6e 6a 75 6e 63 74 69 76 (array.$constraints,.$conjunctiv
192000 65 20 3d 20 74 72 75 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d e.=.true).{.$this->constraints.=
192020 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 24 74 68 69 73 2d 3e 63 6f 6e 6a 75 6e 63 74 69 76 .$constraints;.$this->conjunctiv
192040 65 20 3d 20 24 63 6f 6e 6a 75 6e 63 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 e.=.$conjunctive;.}.....public.f
192060 75 6e 63 74 69 6f 6e 20 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 73 28 29 0a 7b 0a 72 65 74 75 72 unction.getConstraints().{.retur
192080 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 73 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c n.$this->constraints;.}.....publ
1920a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 43 6f 6e 6a 75 6e 63 74 69 76 65 28 29 0a 7b 0a 72 65 ic.function.isConjunctive().{.re
1920c0 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6f 6e 6a 75 6e 63 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 70 turn.$this->conjunctive;.}.....p
1920e0 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 44 69 73 6a 75 6e 63 74 69 76 65 28 29 0a 7b ublic.function.isDisjunctive().{
192100 0a 72 65 74 75 72 6e 20 21 24 74 68 69 73 2d 3e 63 6f 6e 6a 75 6e 63 74 69 76 65 3b 0a 7d 0a 0a .return.!$this->conjunctive;.}..
192120 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6d 61 74 63 68 65 73 28 43 6f 6e .....public.function.matches(Con
192140 73 74 72 61 69 6e 74 49 6e 74 65 72 66 61 63 65 20 24 70 72 6f 76 69 64 65 72 29 0a 7b 0a 69 66 straintInterface.$provider).{.if
192160 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 63 6f 6e 6a 75 6e 63 74 69 76 65 29 20 .(false.===.$this->conjunctive).
192180 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 73 {.foreach.($this->constraints.as
1921a0 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 69 66 20 28 24 63 6f 6e 73 74 72 61 69 6e 74 2d .$constraint).{.if.($constraint-
1921c0 3e 6d 61 74 63 68 65 73 28 24 70 72 6f 76 69 64 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 >matches($provider)).{.return.tr
1921e0 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 66 6f 72 65 61 63 ue;.}.}..return.false;.}..foreac
192200 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 73 20 24 63 6f 6e 73 74 72 h.($this->constraints.as.$constr
192220 61 69 6e 74 29 20 7b 0a 69 66 20 28 21 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 6d 61 74 63 68 65 aint).{.if.(!$constraint->matche
192240 73 28 24 70 72 6f 76 69 64 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a s($provider)).{.return.false;.}.
192260 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e }..return.true;.}.....public.fun
192280 63 74 69 6f 6e 20 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 24 70 72 65 74 74 79 53 74 72 ction.setPrettyString($prettyStr
1922a0 69 6e 67 29 0a 7b 0a 24 74 68 69 73 2d 3e 70 72 65 74 74 79 53 74 72 69 6e 67 20 3d 20 24 70 72 ing).{.$this->prettyString.=.$pr
1922c0 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f ettyString;.}.....public.functio
1922e0 6e 20 67 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 28 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d n.getPrettyString().{.if.($this-
192300 3e 70 72 65 74 74 79 53 74 72 69 6e 67 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 >prettyString).{.return.$this->p
192320 72 65 74 74 79 53 74 72 69 6e 67 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 5f 5f rettyString;.}..return.$this->__
192340 74 6f 53 74 72 69 6e 67 28 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f toString();.}.....public.functio
192360 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 n.__toString().{.$constraints.=.
192380 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 63 6f 6e 73 74 72 61 array();.foreach.($this->constra
1923a0 69 6e 74 73 20 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 ints.as.$constraint).{.$constrai
1923c0 6e 74 73 5b 5d 20 3d 20 28 73 74 72 69 6e 67 29 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a nts[].=.(string).$constraint;.}.
1923e0 0a 72 65 74 75 72 6e 20 27 5b 27 20 2e 20 69 6d 70 6c 6f 64 65 28 24 74 68 69 73 2d 3e 63 6f 6e .return.'['...implode($this->con
192400 6a 75 6e 63 74 69 76 65 20 3f 20 27 20 27 20 3a 20 27 20 7c 7c 20 27 2c 20 24 63 6f 6e 73 74 72 junctive.?.'.'.:.'.||.',.$constr
192420 61 69 6e 74 73 29 20 2e 20 27 5d 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a aints)...']';.}.}.<?php.........
192440 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 3b 0a 0a 75 73 ..namespace.Composer\Semver;..us
192460 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e e.Composer\Semver\Constraint\Con
192480 73 74 72 61 69 6e 74 3b 0a 0a 63 6c 61 73 73 20 53 65 6d 76 65 72 0a 7b 0a 63 6f 6e 73 74 20 53 straint;..class.Semver.{.const.S
1924a0 4f 52 54 5f 41 53 43 20 3d 20 31 3b 0a 63 6f 6e 73 74 20 53 4f 52 54 5f 44 45 53 43 20 3d 20 2d ORT_ASC.=.1;.const.SORT_DESC.=.-
1924c0 31 3b 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 76 65 72 73 69 6f 6e 50 61 72 73 1;...private.static.$versionPars
1924e0 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 er;..........public.static.funct
192500 69 6f 6e 20 73 61 74 69 73 66 69 65 73 28 24 76 65 72 73 69 6f 6e 2c 20 24 63 6f 6e 73 74 72 61 ion.satisfies($version,.$constra
192520 69 6e 74 73 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 76 65 72 73 ints).{.if.(null.===.self::$vers
192540 69 6f 6e 50 61 72 73 65 72 29 20 7b 0a 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 ionParser).{.self::$versionParse
192560 72 20 3d 20 6e 65 77 20 56 65 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 7d 0a 0a 24 76 65 72 r.=.new.VersionParser();.}..$ver
192580 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 sionParser.=.self::$versionParse
1925a0 72 3b 0a 24 70 72 6f 76 69 64 65 72 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3d r;.$provider.=.new.Constraint('=
1925c0 3d 27 2c 20 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 76 =',.$versionParser->normalize($v
1925e0 65 72 73 69 6f 6e 29 29 3b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 24 76 65 72 73 69 6f ersion));.$constraints.=.$versio
192600 6e 50 61 72 73 65 72 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 nParser->parseConstraints($const
192620 72 61 69 6e 74 73 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 2d 3e 6d raints);..return.$constraints->m
192640 61 74 63 68 65 73 28 24 70 72 6f 76 69 64 65 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 atches($provider);.}..........pu
192660 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 61 74 69 73 66 69 65 64 42 79 blic.static.function.satisfiedBy
192680 28 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e 73 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 0a (array.$versions,.$constraints).
1926a0 7b 0a 24 76 65 72 73 69 6f 6e 73 20 3d 20 61 72 72 61 79 5f 66 69 6c 74 65 72 28 24 76 65 72 73 {.$versions.=.array_filter($vers
1926c0 69 6f 6e 73 2c 20 66 75 6e 63 74 69 6f 6e 20 28 24 76 65 72 73 69 6f 6e 29 20 75 73 65 20 28 24 ions,.function.($version).use.($
1926e0 63 6f 6e 73 74 72 61 69 6e 74 73 29 20 7b 0a 72 65 74 75 72 6e 20 53 65 6d 76 65 72 3a 3a 73 61 constraints).{.return.Semver::sa
192700 74 69 73 66 69 65 73 28 24 76 65 72 73 69 6f 6e 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 3b tisfies($version,.$constraints);
192720 0a 7d 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 5f 76 61 6c 75 65 73 28 24 76 65 72 73 69 .});..return.array_values($versi
192740 6f 6e 73 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 ons);.}.........public.static.fu
192760 6e 63 74 69 6f 6e 20 73 6f 72 74 28 61 72 72 61 79 20 24 76 65 72 73 69 6f 6e 73 29 0a 7b 0a 72 nction.sort(array.$versions).{.r
192780 65 74 75 72 6e 20 73 65 6c 66 3a 3a 75 73 6f 72 74 28 24 76 65 72 73 69 6f 6e 73 2c 20 73 65 6c eturn.self::usort($versions,.sel
1927a0 66 3a 3a 53 4f 52 54 5f 41 53 43 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 f::SORT_ASC);.}.........public.s
1927c0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 73 6f 72 74 28 61 72 72 61 79 20 24 76 65 72 73 tatic.function.rsort(array.$vers
1927e0 69 6f 6e 73 29 0a 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 75 73 6f 72 74 28 24 76 65 72 73 ions).{.return.self::usort($vers
192800 69 6f 6e 73 2c 20 73 65 6c 66 3a 3a 53 4f 52 54 5f 44 45 53 43 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ions,.self::SORT_DESC);.}.......
192820 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 73 6f 72 74 28 61 .private.static.function.usort(a
192840 72 72 61 79 20 24 76 65 72 73 69 6f 6e 73 2c 20 24 64 69 72 65 63 74 69 6f 6e 29 0a 7b 0a 69 66 rray.$versions,.$direction).{.if
192860 20 28 6e 75 6c 6c 20 3d 3d 3d 20 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 29 .(null.===.self::$versionParser)
192880 20 7b 0a 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 20 3d 20 6e 65 77 20 56 65 .{.self::$versionParser.=.new.Ve
1928a0 72 73 69 6f 6e 50 61 72 73 65 72 28 29 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 rsionParser();.}..$versionParser
1928c0 20 3d 20 73 65 6c 66 3a 3a 24 76 65 72 73 69 6f 6e 50 61 72 73 65 72 3b 0a 24 6e 6f 72 6d 61 6c .=.self::$versionParser;.$normal
1928e0 69 7a 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 0a 20 66 6f 72 65 61 63 68 20 28 24 76 ized.=.array();......foreach.($v
192900 65 72 73 69 6f 6e 73 20 61 73 20 24 6b 65 79 20 3d 3e 20 24 76 65 72 73 69 6f 6e 29 20 7b 0a 24 ersions.as.$key.=>.$version).{.$
192920 6e 6f 72 6d 61 6c 69 7a 65 64 5b 5d 20 3d 20 61 72 72 61 79 28 24 76 65 72 73 69 6f 6e 50 61 72 normalized[].=.array($versionPar
192940 73 65 72 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 76 65 72 73 69 6f 6e 29 2c 20 24 6b 65 79 29 3b ser->normalize($version),.$key);
192960 0a 7d 0a 0a 75 73 6f 72 74 28 24 6e 6f 72 6d 61 6c 69 7a 65 64 2c 20 66 75 6e 63 74 69 6f 6e 20 .}..usort($normalized,.function.
192980 28 61 72 72 61 79 20 24 6c 65 66 74 2c 20 61 72 72 61 79 20 24 72 69 67 68 74 29 20 75 73 65 20 (array.$left,.array.$right).use.
1929a0 28 24 64 69 72 65 63 74 69 6f 6e 29 20 7b 0a 69 66 20 28 24 6c 65 66 74 5b 30 5d 20 3d 3d 3d 20 ($direction).{.if.($left[0].===.
1929c0 24 72 69 67 68 74 5b 30 5d 29 20 7b 0a 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 69 66 20 28 43 6f $right[0]).{.return.0;.}..if.(Co
1929e0 6d 70 61 72 61 74 6f 72 3a 3a 6c 65 73 73 54 68 61 6e 28 24 6c 65 66 74 5b 30 5d 2c 20 24 72 69 mparator::lessThan($left[0],.$ri
192a00 67 68 74 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 2d 24 64 69 72 65 63 74 69 6f 6e 3b 0a 7d ght[0])).{.return.-$direction;.}
192a20 0a 0a 72 65 74 75 72 6e 20 24 64 69 72 65 63 74 69 6f 6e 3b 0a 7d 29 3b 0a 0a 0a 20 24 73 6f 72 ..return.$direction;.});....$sor
192a40 74 65 64 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6e 6f 72 6d 61 6c 69 ted.=.array();.foreach.($normali
192a60 7a 65 64 20 61 73 20 24 69 74 65 6d 29 20 7b 0a 24 73 6f 72 74 65 64 5b 5d 20 3d 20 24 76 65 72 zed.as.$item).{.$sorted[].=.$ver
192a80 73 69 6f 6e 73 5b 24 69 74 65 6d 5b 31 5d 5d 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 73 6f 72 74 sions[$item[1]];.}..return.$sort
192aa0 65 64 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 ed;.}.}.<?php...........namespac
192ac0 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 e.Composer\Semver;..use.Composer
192ae0 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 49 6e 74 \Semver\Constraint\ConstraintInt
192b00 65 72 66 61 63 65 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 erface;.use.Composer\Semver\Cons
192b20 74 72 61 69 6e 74 5c 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 traint\EmptyConstraint;.use.Comp
192b40 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 74 72 61 69 6e 74 5c 4d 75 6c 74 69 43 6f 6e 73 oser\Semver\Constraint\MultiCons
192b60 74 72 61 69 6e 74 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 53 65 6d 76 65 72 5c 43 6f 6e 73 traint;.use.Composer\Semver\Cons
192b80 74 72 61 69 6e 74 5c 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 56 traint\Constraint;.......class.V
192ba0 65 72 73 69 6f 6e 50 61 72 73 65 72 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 ersionParser.{..............priv
192bc0 61 74 65 20 73 74 61 74 69 63 20 24 6d 6f 64 69 66 69 65 72 52 65 67 65 78 20 3d 20 27 5b 2e 5f ate.static.$modifierRegex.=.'[._
192be0 2d 5d 3f 28 3f 3a 28 73 74 61 62 6c 65 7c 62 65 74 61 7c 62 7c 52 43 7c 61 6c 70 68 61 7c 61 7c -]?(?:(stable|beta|b|RC|alpha|a|
192c00 70 61 74 63 68 7c 70 6c 7c 70 29 28 28 3f 3a 5b 2e 2d 5d 3f 5c 64 2b 29 2a 2b 29 3f 29 3f 28 5b patch|pl|p)((?:[.-]?\d+)*+)?)?([
192c20 2e 2d 5d 3f 64 65 76 29 3f 27 3b 0a 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 74 .-]?dev)?';...private.static.$st
192c40 61 62 69 6c 69 74 69 65 73 20 3d 20 61 72 72 61 79 28 27 73 74 61 62 6c 65 27 2c 20 27 52 43 27 abilities.=.array('stable',.'RC'
192c60 2c 20 27 62 65 74 61 27 2c 20 27 61 6c 70 68 61 27 2c 20 27 64 65 76 27 29 3b 0a 0a 0a 0a 0a 0a ,.'beta',.'alpha',.'dev');......
192c80 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 53 ...public.static.function.parseS
192ca0 74 61 62 69 6c 69 74 79 28 24 76 65 72 73 69 6f 6e 29 0a 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 tability($version).{.$version.=.
192cc0 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 7b 23 2e 2b 24 7d 69 27 2c 20 27 27 2c 20 24 76 65 72 preg_replace('{#.+$}i',.'',.$ver
192ce0 73 69 6f 6e 29 3b 0a 0a 69 66 20 28 27 64 65 76 2d 27 20 3d 3d 3d 20 73 75 62 73 74 72 28 24 76 sion);..if.('dev-'.===.substr($v
192d00 65 72 73 69 6f 6e 2c 20 30 2c 20 34 29 20 7c 7c 20 27 2d 64 65 76 27 20 3d 3d 3d 20 73 75 62 73 ersion,.0,.4).||.'-dev'.===.subs
192d20 74 72 28 24 76 65 72 73 69 6f 6e 2c 20 2d 34 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 64 65 76 27 tr($version,.-4)).{.return.'dev'
192d40 3b 0a 7d 0a 0a 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 27 20 2e 20 73 65 6c 66 3a 3a 24 6d 6f 64 ;.}..preg_match('{'...self::$mod
192d60 69 66 69 65 72 52 65 67 65 78 20 2e 20 27 28 3f 3a 5c 2b 2e 2a 29 3f 24 7d 69 27 2c 20 73 74 72 ifierRegex...'(?:\+.*)?$}i',.str
192d80 74 6f 6c 6f 77 65 72 28 24 76 65 72 73 69 6f 6e 29 2c 20 24 6d 61 74 63 68 29 3b 0a 69 66 20 28 tolower($version),.$match);.if.(
192da0 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 33 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 64 65 76 !empty($match[3])).{.return.'dev
192dc0 27 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 5b 31 5d 29 29 20 7b 0a 69 ';.}..if.(!empty($match[1])).{.i
192de0 66 20 28 27 62 65 74 61 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 31 5d 20 7c 7c 20 27 62 27 20 3d f.('beta'.===.$match[1].||.'b'.=
192e00 3d 3d 20 24 6d 61 74 63 68 5b 31 5d 29 20 7b 0a 72 65 74 75 72 6e 20 27 62 65 74 61 27 3b 0a 7d ==.$match[1]).{.return.'beta';.}
192e20 0a 69 66 20 28 27 61 6c 70 68 61 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 31 5d 20 7c 7c 20 27 61 .if.('alpha'.===.$match[1].||.'a
192e40 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 31 5d 29 20 7b 0a 72 65 74 75 72 6e 20 27 61 6c 70 68 61 '.===.$match[1]).{.return.'alpha
192e60 27 3b 0a 7d 0a 69 66 20 28 27 72 63 27 20 3d 3d 3d 20 24 6d 61 74 63 68 5b 31 5d 29 20 7b 0a 72 ';.}.if.('rc'.===.$match[1]).{.r
192e80 65 74 75 72 6e 20 27 52 43 27 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 73 74 61 62 6c 65 27 eturn.'RC';.}.}..return.'stable'
192ea0 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e ;.}.......public.static.function
192ec0 20 6e 6f 72 6d 61 6c 69 7a 65 53 74 61 62 69 6c 69 74 79 28 24 73 74 61 62 69 6c 69 74 79 29 0a .normalizeStability($stability).
192ee0 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 73 74 61 62 69 {.$stability.=.strtolower($stabi
192f00 6c 69 74 79 29 3b 0a 0a 72 65 74 75 72 6e 20 24 73 74 61 62 69 6c 69 74 79 20 3d 3d 3d 20 27 72 lity);..return.$stability.===.'r
192f20 63 27 20 3f 20 27 52 43 27 20 3a 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a c'.?.'RC'.:.$stability;.}.......
192f40 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 28 24 .....public.function.normalize($
192f60 76 65 72 73 69 6f 6e 2c 20 24 66 75 6c 6c 56 65 72 73 69 6f 6e 20 3d 20 6e 75 6c 6c 29 0a 7b 0a version,.$fullVersion.=.null).{.
192f80 24 76 65 72 73 69 6f 6e 20 3d 20 74 72 69 6d 28 24 76 65 72 73 69 6f 6e 29 3b 0a 69 66 20 28 6e $version.=.trim($version);.if.(n
192fa0 75 6c 6c 20 3d 3d 3d 20 24 66 75 6c 6c 56 65 72 73 69 6f 6e 29 20 7b 0a 24 66 75 6c 6c 56 65 72 ull.===.$fullVersion).{.$fullVer
192fc0 73 69 6f 6e 20 3d 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d sion.=.$version;.}....if.(preg_m
192fe0 61 74 63 68 28 27 7b 5e 28 5b 5e 2c 5c 73 5d 2b 2b 29 20 2b 2b 61 73 20 2b 2b 28 5b 5e 2c 5c 73 atch('{^([^,\s]++).++as.++([^,\s
193000 5d 2b 2b 29 24 7d 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 76 ]++)$}',.$version,.$match)).{.$v
193020 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 ersion.=.$match[1];.}....if.(pre
193040 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 3a 64 65 76 2d 29 3f 28 3f 3a 6d 61 73 74 65 72 7c 74 72 g_match('{^(?:dev-)?(?:master|tr
193060 75 6e 6b 7c 64 65 66 61 75 6c 74 29 24 7d 69 27 2c 20 24 76 65 72 73 69 6f 6e 29 29 20 7b 0a 72 unk|default)$}i',.$version)).{.r
193080 65 74 75 72 6e 20 27 39 39 39 39 39 39 39 2d 64 65 76 27 3b 0a 7d 0a 0a 0a 20 69 66 20 28 27 64 eturn.'9999999-dev';.}....if.('d
1930a0 65 76 2d 27 20 3d 3d 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 73 75 62 73 74 72 28 24 76 65 72 73 ev-'.===.strtolower(substr($vers
1930c0 69 6f 6e 2c 20 30 2c 20 34 29 29 29 20 7b 0a 72 65 74 75 72 6e 20 27 64 65 76 2d 27 20 2e 20 73 ion,.0,.4))).{.return.'dev-'...s
1930e0 75 62 73 74 72 28 24 76 65 72 73 69 6f 6e 2c 20 34 29 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 ubstr($version,.4);.}....if.(pre
193100 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 5e 2c 5c 73 2b 5d 2b 2b 29 5c 2b 5b 5e 5c 73 5d 2b 2b 24 g_match('{^([^,\s+]++)\+[^\s]++$
193120 7d 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 76 65 72 73 69 6f }',.$version,.$match)).{.$versio
193140 6e 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 n.=.$match[1];.}....if.(preg_mat
193160 63 68 28 27 7b 5e 76 3f 28 5c 64 7b 31 2c 35 7d 29 28 5c 2e 5c 64 2b 2b 29 3f 28 5c 2e 5c 64 2b ch('{^v?(\d{1,5})(\.\d++)?(\.\d+
193180 2b 29 3f 28 5c 2e 5c 64 2b 2b 29 3f 27 20 2e 20 73 65 6c 66 3a 3a 24 6d 6f 64 69 66 69 65 72 52 +)?(\.\d++)?'...self::$modifierR
1931a0 65 67 65 78 20 2e 20 27 24 7d 69 27 2c 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 65 73 egex...'$}i',.$version,.$matches
1931c0 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 0a 2e 20 28 21 )).{.$version.=.$matches[1]...(!
1931e0 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 32 5d empty($matches[2]).?.$matches[2]
193200 20 3a 20 27 2e 30 27 29 0a 2e 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 .:.'.0')...(!empty($matches[3]).
193220 3f 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 3a 20 27 2e 30 27 29 0a 2e 20 28 21 65 6d 70 74 79 28 ?.$matches[3].:.'.0')...(!empty(
193240 24 6d 61 74 63 68 65 73 5b 34 5d 29 20 3f 20 24 6d 61 74 63 68 65 73 5b 34 5d 20 3a 20 27 2e 30 $matches[4]).?.$matches[4].:.'.0
193260 27 29 3b 0a 24 69 6e 64 65 78 20 3d 20 35 3b 0a 0a 20 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 ');.$index.=.5;...}.elseif.(preg
193280 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 7b 34 7d 28 3f 3a 5b 2e 3a 2d 5d 3f 5c 64 7b 32 7d _match('{^v?(\d{4}(?:[.:-]?\d{2}
1932a0 29 7b 31 2c 36 7d 28 3f 3a 5b 2e 3a 2d 5d 3f 5c 64 7b 31 2c 33 7d 29 3f 29 27 20 2e 20 73 65 6c ){1,6}(?:[.:-]?\d{1,3})?)'...sel
1932c0 66 3a 3a 24 6d 6f 64 69 66 69 65 72 52 65 67 65 78 20 2e 20 27 24 7d 69 27 2c 20 24 76 65 72 73 f::$modifierRegex...'$}i',.$vers
1932e0 69 6f 6e 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 70 72 65 ion,.$matches)).{.$version.=.pre
193300 67 5f 72 65 70 6c 61 63 65 28 27 7b 5c 44 7d 27 2c 20 27 2e 27 2c 20 24 6d 61 74 63 68 65 73 5b g_replace('{\D}',.'.',.$matches[
193320 31 5d 29 3b 0a 24 69 6e 64 65 78 20 3d 20 32 3b 0a 7d 0a 0a 0a 20 69 66 20 28 69 73 73 65 74 28 1]);.$index.=.2;.}....if.(isset(
193340 24 69 6e 64 65 78 29 29 20 7b 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 24 $index)).{.if.(!empty($matches[$
193360 69 6e 64 65 78 5d 29 29 20 7b 0a 69 66 20 28 27 73 74 61 62 6c 65 27 20 3d 3d 3d 20 24 6d 61 74 index])).{.if.('stable'.===.$mat
193380 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 20 7b 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 3b ches[$index]).{.return.$version;
1933a0 0a 7d 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 27 2d 27 20 2e 20 24 74 68 69 73 2d 3e 65 78 70 61 .}.$version..=.'-'...$this->expa
1933c0 6e 64 53 74 61 62 69 6c 69 74 79 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 5d 29 20 2e 20 ndStability($matches[$index])...
1933e0 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 20 2b 20 31 5d 29 20 3f 20 (!empty($matches[$index.+.1]).?.
193400 6c 74 72 69 6d 28 24 6d 61 74 63 68 65 73 5b 24 69 6e 64 65 78 20 2b 20 31 5d 2c 20 27 2e 2d 27 ltrim($matches[$index.+.1],.'.-'
193420 29 20 3a 20 27 27 29 3b 0a 7d 0a 0a 69 66 20 28 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b ).:.'');.}..if.(!empty($matches[
193440 24 69 6e 64 65 78 20 2b 20 32 5d 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 27 2d 64 65 $index.+.2])).{.$version..=.'-de
193460 76 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 76 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 0a 20 69 66 20 v';.}..return.$version;.}....if.
193480 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 28 2e 2a 3f 29 5b 2e 2d 5d 3f 64 65 76 24 7d 69 27 2c (preg_match('{(.*?)[.-]?dev$}i',
1934a0 20 24 76 65 72 73 69 6f 6e 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 74 72 79 20 7b 0a 72 65 74 75 .$version,.$match)).{.try.{.retu
1934c0 72 6e 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 42 72 61 6e 63 68 28 24 6d 61 74 63 68 rn.$this->normalizeBranch($match
1934e0 5b 31 5d 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a [1]);.}.catch.(\Exception.$e).{.
193500 7d 0a 7d 0a 0a 24 65 78 74 72 61 4d 65 73 73 61 67 65 20 3d 20 27 27 3b 0a 69 66 20 28 70 72 65 }.}..$extraMessage.=.'';.if.(pre
193520 67 5f 6d 61 74 63 68 28 27 7b 20 2b 61 73 20 2b 27 20 2e 20 70 72 65 67 5f 71 75 6f 74 65 28 24 g_match('{.+as.+'...preg_quote($
193540 76 65 72 73 69 6f 6e 29 20 2e 20 27 24 7d 27 2c 20 24 66 75 6c 6c 56 65 72 73 69 6f 6e 29 29 20 version)...'$}',.$fullVersion)).
193560 7b 0a 24 65 78 74 72 61 4d 65 73 73 61 67 65 20 3d 20 27 20 69 6e 20 22 27 20 2e 20 24 66 75 6c {.$extraMessage.=.'.in."'...$ful
193580 6c 56 65 72 73 69 6f 6e 20 2e 20 27 22 2c 20 74 68 65 20 61 6c 69 61 73 20 6d 75 73 74 20 62 65 lVersion...'",.the.alias.must.be
1935a0 20 61 6e 20 65 78 61 63 74 20 76 65 72 73 69 6f 6e 27 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 .an.exact.version';.}.elseif.(pr
1935c0 65 67 5f 6d 61 74 63 68 28 27 7b 5e 27 20 2e 20 70 72 65 67 5f 71 75 6f 74 65 28 24 76 65 72 73 eg_match('{^'...preg_quote($vers
1935e0 69 6f 6e 29 20 2e 20 27 20 2b 61 73 20 2b 7d 27 2c 20 24 66 75 6c 6c 56 65 72 73 69 6f 6e 29 29 ion)...'.+as.+}',.$fullVersion))
193600 20 7b 0a 24 65 78 74 72 61 4d 65 73 73 61 67 65 20 3d 20 27 20 69 6e 20 22 27 20 2e 20 24 66 75 .{.$extraMessage.=.'.in."'...$fu
193620 6c 6c 56 65 72 73 69 6f 6e 20 2e 20 27 22 2c 20 74 68 65 20 61 6c 69 61 73 20 73 6f 75 72 63 65 llVersion...'",.the.alias.source
193640 20 6d 75 73 74 20 62 65 20 61 6e 20 65 78 61 63 74 20 76 65 72 73 69 6f 6e 2c 20 69 66 20 69 74 .must.be.an.exact.version,.if.it
193660 20 69 73 20 61 20 62 72 61 6e 63 68 20 6e 61 6d 65 20 79 6f 75 20 73 68 6f 75 6c 64 20 70 72 65 .is.a.branch.name.you.should.pre
193680 66 69 78 20 69 74 20 77 69 74 68 20 64 65 76 2d 27 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 fix.it.with.dev-';.}..throw.new.
1936a0 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c \UnexpectedValueException('Inval
1936c0 69 64 20 76 65 72 73 69 6f 6e 20 73 74 72 69 6e 67 20 22 27 20 2e 20 24 76 65 72 73 69 6f 6e 20 id.version.string."'...$version.
1936e0 2e 20 27 22 27 20 2e 20 24 65 78 74 72 61 4d 65 73 73 61 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a ..'"'...$extraMessage);.}.......
193700 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 4e 75 6d 65 72 69 63 41 6c ..public.function.parseNumericAl
193720 69 61 73 50 72 65 66 69 78 28 24 62 72 61 6e 63 68 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 iasPrefix($branch).{.if.(preg_ma
193740 74 63 68 28 27 7b 5e 28 3f 50 3c 76 65 72 73 69 6f 6e 3e 28 5c 64 2b 2b 5c 5c 2e 29 2a 5c 64 2b tch('{^(?P<version>(\d++\\.)*\d+
193760 2b 29 28 3f 3a 5c 2e 78 29 3f 2d 64 65 76 24 7d 69 27 2c 20 24 62 72 61 6e 63 68 2c 20 24 6d 61 +)(?:\.x)?-dev$}i',.$branch,.$ma
193780 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 27 76 65 72 73 69 tches)).{.return.$matches['versi
1937a0 6f 6e 27 5d 20 2e 20 27 2e 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a on']...'.';.}..return.false;.}..
1937c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 72 6d 61 6c 69 7a 65 .......public.function.normalize
1937e0 42 72 61 6e 63 68 28 24 6e 61 6d 65 29 0a 7b 0a 24 6e 61 6d 65 20 3d 20 74 72 69 6d 28 24 6e 61 Branch($name).{.$name.=.trim($na
193800 6d 65 29 3b 0a 0a 69 66 20 28 69 6e 5f 61 72 72 61 79 28 24 6e 61 6d 65 2c 20 61 72 72 61 79 28 me);..if.(in_array($name,.array(
193820 27 6d 61 73 74 65 72 27 2c 20 27 74 72 75 6e 6b 27 2c 20 27 64 65 66 61 75 6c 74 27 29 29 29 20 'master',.'trunk',.'default'))).
193840 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 6e 61 6d 65 29 {.return.$this->normalize($name)
193860 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 2b 2b 29 28 ;.}..if.(preg_match('{^v?(\d++)(
193880 5c 2e 28 3f 3a 5c 64 2b 2b 7c 5b 78 58 2a 5d 29 29 3f 28 5c 2e 28 3f 3a 5c 64 2b 2b 7c 5b 78 58 \.(?:\d++|[xX*]))?(\.(?:\d++|[xX
1938a0 2a 5d 29 29 3f 28 5c 2e 28 3f 3a 5c 64 2b 2b 7c 5b 78 58 2a 5d 29 29 3f 24 7d 69 27 2c 20 24 6e *]))?(\.(?:\d++|[xX*]))?$}i',.$n
1938c0 61 6d 65 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 27 27 3b ame,.$matches)).{.$version.=.'';
1938e0 0a 66 6f 72 20 28 24 69 20 3d 20 31 3b 20 24 69 20 3c 20 35 3b 20 2b 2b 24 69 29 20 7b 0a 24 76 .for.($i.=.1;.$i.<.5;.++$i).{.$v
193900 65 72 73 69 6f 6e 20 2e 3d 20 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 24 69 5d 29 20 3f 20 ersion..=.isset($matches[$i]).?.
193920 73 74 72 5f 72 65 70 6c 61 63 65 28 61 72 72 61 79 28 27 2a 27 2c 20 27 58 27 29 2c 20 27 78 27 str_replace(array('*',.'X'),.'x'
193940 2c 20 24 6d 61 74 63 68 65 73 5b 24 69 5d 29 20 3a 20 27 2e 78 27 3b 0a 7d 0a 0a 72 65 74 75 72 ,.$matches[$i]).:.'.x';.}..retur
193960 6e 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 78 27 2c 20 27 39 39 39 39 39 39 39 27 2c 20 24 76 n.str_replace('x',.'9999999',.$v
193980 65 72 73 69 6f 6e 29 20 2e 20 27 2d 64 65 76 27 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 27 64 65 76 ersion)...'-dev';.}..return.'dev
1939a0 2d 27 20 2e 20 24 6e 61 6d 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e -'...$name;.}.........public.fun
1939c0 63 74 69 6f 6e 20 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 73 28 24 63 6f 6e 73 74 72 61 69 ction.parseConstraints($constrai
1939e0 6e 74 73 29 0a 7b 0a 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 63 6f 6e 73 nts).{.$prettyConstraint.=.$cons
193a00 74 72 61 69 6e 74 73 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 5e 2c traints;..if.(preg_match('{^([^,
193a20 5c 73 5d 2a 3f 29 40 28 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 73 65 6c 66 3a 3a 24 \s]*?)@('...implode('|',.self::$
193a40 73 74 61 62 69 6c 69 74 69 65 73 29 20 2e 20 27 29 24 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 stabilities)...')$}i',.$constrai
193a60 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 73 20 3d 20 65 nts,.$match)).{.$constraints.=.e
193a80 6d 70 74 79 28 24 6d 61 74 63 68 5b 31 5d 29 20 3f 20 27 2a 27 20 3a 20 24 6d 61 74 63 68 5b 31 mpty($match[1]).?.'*'.:.$match[1
193aa0 5d 3b 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 64 65 76 2d 5b 5e 2c ];.}..if.(preg_match('{^(dev-[^,
193ac0 5c 73 40 5d 2b 3f 7c 5b 5e 2c 5c 73 40 5d 2b 3f 5c 2e 78 2d 64 65 76 29 23 2e 2b 24 7d 69 27 2c \s@]+?|[^,\s@]+?\.x-dev)#.+$}i',
193ae0 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 2c 20 24 6d 61 74 63 68 29 29 20 7b 0a 24 63 6f 6e 73 74 .$constraints,.$match)).{.$const
193b00 72 61 69 6e 74 73 20 3d 20 24 6d 61 74 63 68 5b 31 5d 3b 0a 7d 0a 0a 24 6f 72 43 6f 6e 73 74 72 raints.=.$match[1];.}..$orConstr
193b20 61 69 6e 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 5c 73 2a 5c 7c 5c 7c 3f 5c 73 2a aints.=.preg_split('{\s*\|\|?\s*
193b40 7d 27 2c 20 74 72 69 6d 28 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 29 3b 0a 24 6f 72 47 72 6f 75 }',.trim($constraints));.$orGrou
193b60 70 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 6f 72 43 6f 6e 73 74 72 ps.=.array();.foreach.($orConstr
193b80 61 69 6e 74 73 20 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 20 7b 0a 24 61 6e 64 43 6f 6e aints.as.$constraints).{.$andCon
193ba0 73 74 72 61 69 6e 74 73 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 27 7b 28 3f 3c 21 5e 7c 61 73 straints.=.preg_split('{(?<!^|as
193bc0 7c 5b 3d 3e 3c 20 2c 5d 29 20 2a 28 3f 3c 21 2d 29 5b 2c 20 5d 28 3f 21 2d 29 20 2a 28 3f 21 2c |[=><.,]).*(?<!-)[,.](?!-).*(?!,
193be0 7c 61 73 7c 24 29 7d 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 73 29 3b 0a 69 66 20 28 63 6f 75 |as|$)}',.$constraints);.if.(cou
193c00 6e 74 28 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 73 29 20 3e 20 31 29 20 7b 0a 24 63 6f 6e 73 nt($andConstraints).>.1).{.$cons
193c20 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 66 6f 72 65 61 63 68 traintObjects.=.array();.foreach
193c40 20 28 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 73 20 61 73 20 24 63 6f 6e 73 74 72 61 69 6e 74 .($andConstraints.as.$constraint
193c60 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 61 72 73 65 43 6f 6e 73 74 72 61 ).{.foreach.($this->parseConstra
193c80 69 6e 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 29 20 61 73 20 24 70 61 72 73 65 64 43 6f 6e 73 74 int($constraint).as.$parsedConst
193ca0 72 61 69 6e 74 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 5b 5d 20 3d 20 raint).{.$constraintObjects[].=.
193cc0 24 70 61 72 73 65 64 43 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 7d 0a 7d 20 65 6c 73 65 20 7b 0a $parsedConstraint;.}.}.}.else.{.
193ce0 24 63 6f 6e 73 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 $constraintObjects.=.$this->pars
193d00 65 43 6f 6e 73 74 72 61 69 6e 74 28 24 61 6e 64 43 6f 6e 73 74 72 61 69 6e 74 73 5b 30 5d 29 3b eConstraint($andConstraints[0]);
193d20 0a 7d 0a 0a 69 66 20 28 31 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 4f .}..if.(1.===.count($constraintO
193d40 62 6a 65 63 74 73 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 63 6f 6e 73 74 72 bjects)).{.$constraint.=.$constr
193d60 61 69 6e 74 4f 62 6a 65 63 74 73 5b 30 5d 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 73 74 72 aintObjects[0];.}.else.{.$constr
193d80 61 69 6e 74 20 3d 20 6e 65 77 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 28 24 63 6f 6e 73 aint.=.new.MultiConstraint($cons
193da0 74 72 61 69 6e 74 4f 62 6a 65 63 74 73 29 3b 0a 7d 0a 0a 24 6f 72 47 72 6f 75 70 73 5b 5d 20 3d traintObjects);.}..$orGroups[].=
193dc0 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 69 66 20 28 31 20 3d 3d 3d 20 63 6f 75 6e 74 .$constraint;.}..if.(1.===.count
193de0 28 24 6f 72 47 72 6f 75 70 73 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 6f 72 ($orGroups)).{.$constraint.=.$or
193e00 47 72 6f 75 70 73 5b 30 5d 3b 0a 7d 20 65 6c 73 65 69 66 20 28 32 20 3d 3d 3d 20 63 6f 75 6e 74 Groups[0];.}.elseif.(2.===.count
193e20 28 24 6f 72 47 72 6f 75 70 73 29 0a 0a 20 0a 20 26 26 20 24 6f 72 47 72 6f 75 70 73 5b 30 5d 20 ($orGroups).....&&.$orGroups[0].
193e40 69 6e 73 74 61 6e 63 65 6f 66 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 0a 26 26 20 24 6f instanceof.MultiConstraint.&&.$o
193e60 72 47 72 6f 75 70 73 5b 31 5d 20 69 6e 73 74 61 6e 63 65 6f 66 20 4d 75 6c 74 69 43 6f 6e 73 74 rGroups[1].instanceof.MultiConst
193e80 72 61 69 6e 74 0a 26 26 20 32 20 3d 3d 3d 20 63 6f 75 6e 74 28 24 6f 72 47 72 6f 75 70 73 5b 30 raint.&&.2.===.count($orGroups[0
193ea0 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 73 28 29 29 0a 26 26 20 32 20 3d 3d 3d 20 63 6f ]->getConstraints()).&&.2.===.co
193ec0 75 6e 74 28 24 6f 72 47 72 6f 75 70 73 5b 31 5d 2d 3e 67 65 74 43 6f 6e 73 74 72 61 69 6e 74 73 unt($orGroups[1]->getConstraints
193ee0 28 29 29 0a 26 26 20 28 24 61 20 3d 20 28 73 74 72 69 6e 67 29 20 24 6f 72 47 72 6f 75 70 73 5b ()).&&.($a.=.(string).$orGroups[
193f00 30 5d 29 0a 26 26 20 73 75 62 73 74 72 28 24 61 2c 20 30 2c 20 33 29 20 3d 3d 3d 20 27 5b 3e 3d 0]).&&.substr($a,.0,.3).===.'[>=
193f20 27 20 26 26 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 70 6f 73 41 20 3d 20 73 74 72 70 6f 73 28 '.&&.(false.!==.($posA.=.strpos(
193f40 24 61 2c 20 27 3c 27 2c 20 34 29 29 29 0a 26 26 20 28 24 62 20 3d 20 28 73 74 72 69 6e 67 29 20 $a,.'<',.4))).&&.($b.=.(string).
193f60 24 6f 72 47 72 6f 75 70 73 5b 31 5d 29 0a 26 26 20 73 75 62 73 74 72 28 24 62 2c 20 30 2c 20 33 $orGroups[1]).&&.substr($b,.0,.3
193f80 29 20 3d 3d 3d 20 27 5b 3e 3d 27 20 26 26 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 70 6f 73 42 ).===.'[>='.&&.(false.!==.($posB
193fa0 20 3d 20 73 74 72 70 6f 73 28 24 62 2c 20 27 3c 27 2c 20 34 29 29 29 0a 26 26 20 73 75 62 73 74 .=.strpos($b,.'<',.4))).&&.subst
193fc0 72 28 24 61 2c 20 24 70 6f 73 41 20 2b 20 32 2c 20 2d 31 29 20 3d 3d 3d 20 73 75 62 73 74 72 28 r($a,.$posA.+.2,.-1).===.substr(
193fe0 24 62 2c 20 34 2c 20 24 70 6f 73 42 20 2d 20 35 29 0a 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e $b,.4,.$posB.-.5).).{.$constrain
194000 74 20 3d 20 6e 65 77 20 4d 75 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 28 61 72 72 61 79 28 0a 6e t.=.new.MultiConstraint(array(.n
194020 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3e 3d 27 2c 20 73 75 62 73 74 72 28 24 61 2c 20 34 ew.Constraint('>=',.substr($a,.4
194040 2c 20 24 70 6f 73 41 20 2d 20 35 29 29 2c 0a 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c ,.$posA.-.5)),.new.Constraint('<
194060 27 2c 20 73 75 62 73 74 72 28 24 62 2c 20 24 70 6f 73 42 20 2b 20 32 2c 20 2d 31 29 29 2c 0a 29 ',.substr($b,.$posB.+.2,.-1)),.)
194080 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 6e 65 77 20 4d 75 );.}.else.{.$constraint.=.new.Mu
1940a0 6c 74 69 43 6f 6e 73 74 72 61 69 6e 74 28 24 6f 72 47 72 6f 75 70 73 2c 20 66 61 6c 73 65 29 3b ltiConstraint($orGroups,.false);
1940c0 0a 7d 0a 0a 24 63 6f 6e 73 74 72 61 69 6e 74 2d 3e 73 65 74 50 72 65 74 74 79 53 74 72 69 6e 67 .}..$constraint->setPrettyString
1940e0 28 24 70 72 65 74 74 79 43 6f 6e 73 74 72 61 69 6e 74 29 3b 0a 0a 72 65 74 75 72 6e 20 24 63 6f ($prettyConstraint);..return.$co
194100 6e 73 74 72 61 69 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 nstraint;.}.........private.func
194120 74 69 6f 6e 20 70 61 72 73 65 43 6f 6e 73 74 72 61 69 6e 74 28 24 63 6f 6e 73 74 72 61 69 6e 74 tion.parseConstraint($constraint
194140 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 5b 5e 2c 5c 73 5d 2b 3f 29 ).{.if.(preg_match('{^([^,\s]+?)
194160 40 28 27 20 2e 20 69 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 73 65 6c 66 3a 3a 24 73 74 61 62 69 6c @('...implode('|',.self::$stabil
194180 69 74 69 65 73 29 20 2e 20 27 29 24 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d ities)...')$}i',.$constraint,.$m
1941a0 61 74 63 68 29 29 20 7b 0a 24 63 6f 6e 73 74 72 61 69 6e 74 20 3d 20 24 6d 61 74 63 68 5b 31 5d atch)).{.$constraint.=.$match[1]
1941c0 3b 0a 69 66 20 28 24 6d 61 74 63 68 5b 32 5d 20 21 3d 3d 20 27 73 74 61 62 6c 65 27 29 20 7b 0a ;.if.($match[2].!==.'stable').{.
1941e0 24 73 74 61 62 69 6c 69 74 79 4d 6f 64 69 66 69 65 72 20 3d 20 24 6d 61 74 63 68 5b 32 5d 3b 0a $stabilityModifier.=.$match[2];.
194200 7d 0a 7d 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 5b 78 58 2a 5d 28 5c }.}..if.(preg_match('{^v?[xX*](\
194220 2e 5b 78 58 2a 5d 29 2a 24 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 29 29 20 7b 0a 72 65 .[xX*])*$}i',.$constraint)).{.re
194240 74 75 72 6e 20 61 72 72 61 79 28 6e 65 77 20 45 6d 70 74 79 43 6f 6e 73 74 72 61 69 6e 74 28 29 turn.array(new.EmptyConstraint()
194260 29 3b 0a 7d 0a 0a 24 76 65 72 73 69 6f 6e 52 65 67 65 78 20 3d 20 27 76 3f 28 5c 64 2b 2b 29 28 );.}..$versionRegex.=.'v?(\d++)(
194280 3f 3a 5c 2e 28 5c 64 2b 2b 29 29 3f 28 3f 3a 5c 2e 28 5c 64 2b 2b 29 29 3f 28 3f 3a 5c 2e 28 5c ?:\.(\d++))?(?:\.(\d++))?(?:\.(\
1942a0 64 2b 2b 29 29 3f 27 20 2e 20 73 65 6c 66 3a 3a 24 6d 6f 64 69 66 69 65 72 52 65 67 65 78 20 2e d++))?'...self::$modifierRegex..
1942c0 20 27 28 3f 3a 5c 2b 5b 5e 5c 73 5d 2b 29 3f 27 3b 0a 0a 0a 20 0a 20 0a 20 0a 20 0a 20 69 66 20 .'(?:\+[^\s]+)?';............if.
1942e0 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 7e 3e 3f 27 20 2e 20 24 76 65 72 73 69 6f 6e 52 65 (preg_match('{^~>?'...$versionRe
194300 67 65 78 20 2e 20 27 24 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 gex...'$}i',.$constraint,.$match
194320 65 73 29 29 20 7b 0a 69 66 20 28 73 75 62 73 74 72 28 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 30 es)).{.if.(substr($constraint,.0
194340 2c 20 32 29 20 3d 3d 3d 20 27 7e 3e 27 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 55 6e 65 78 ,.2).===.'~>').{.throw.new.\Unex
194360 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 0a 27 43 6f 75 6c 64 20 6e 6f 74 pectedValueException(.'Could.not
194380 20 70 61 72 73 65 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 72 61 69 6e 74 20 27 20 2e 20 24 63 .parse.version.constraint.'...$c
1943a0 6f 6e 73 74 72 61 69 6e 74 20 2e 20 27 3a 20 27 20 2e 0a 27 49 6e 76 61 6c 69 64 20 6f 70 65 72 onstraint...':.'...'Invalid.oper
1943c0 61 74 6f 72 20 22 7e 3e 22 2c 20 79 6f 75 20 70 72 6f 62 61 62 6c 79 20 6d 65 61 6e 74 20 74 6f ator."~>",.you.probably.meant.to
1943e0 20 75 73 65 20 74 68 65 20 22 7e 22 20 6f 70 65 72 61 74 6f 72 27 0a 29 3b 0a 7d 0a 0a 0a 20 69 .use.the."~".operator'.);.}....i
194400 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 34 5d 29 20 26 26 20 27 27 20 21 3d 3d 20 f.(isset($matches[4]).&&.''.!==.
194420 24 6d 61 74 63 68 65 73 5b 34 5d 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 $matches[4].&&.null.!==.$matches
194440 5b 34 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 34 3b 0a 7d 20 65 6c 73 65 69 66 20 28 [4]).{.$position.=.4;.}.elseif.(
194460 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 26 26 20 27 27 20 21 3d 3d 20 24 6d 61 isset($matches[3]).&&.''.!==.$ma
194480 74 63 68 65 73 5b 33 5d 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d tches[3].&&.null.!==.$matches[3]
1944a0 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 33 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 ).{.$position.=.3;.}.elseif.(iss
1944c0 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 26 26 20 27 27 20 21 3d 3d 20 24 6d 61 74 63 68 et($matches[2]).&&.''.!==.$match
1944e0 65 73 5b 32 5d 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 7b es[2].&&.null.!==.$matches[2]).{
194500 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 32 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 6f 73 69 74 69 .$position.=.2;.}.else.{.$positi
194520 6f 6e 20 3d 20 31 3b 0a 7d 0a 0a 0a 20 24 73 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 20 3d 20 on.=.1;.}....$stabilitySuffix.=.
194540 27 27 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 35 5d 29 20 26 26 20 65 6d '';.if.(empty($matches[5]).&&.em
194560 70 74 79 28 24 6d 61 74 63 68 65 73 5b 37 5d 29 29 20 7b 0a 24 73 74 61 62 69 6c 69 74 79 53 75 pty($matches[7])).{.$stabilitySu
194580 66 66 69 78 20 2e 3d 20 27 2d 64 65 76 27 3b 0a 7d 0a 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d ffix..=.'-dev';.}..$lowVersion.=
1945a0 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 73 75 62 73 74 72 28 24 63 6f 6e 73 74 72 .$this->normalize(substr($constr
1945c0 61 69 6e 74 20 2e 20 24 73 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 2c 20 31 29 29 3b 0a 24 6c aint...$stabilitySuffix,.1));.$l
1945e0 6f 77 65 72 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3e 3d 27 2c owerBound.=.new.Constraint('>=',
194600 20 24 6c 6f 77 56 65 72 73 69 6f 6e 29 3b 0a 0a 0a 20 0a 20 24 68 69 67 68 50 6f 73 69 74 69 6f .$lowVersion);......$highPositio
194620 6e 20 3d 20 6d 61 78 28 31 2c 20 24 70 6f 73 69 74 69 6f 6e 20 2d 20 31 29 3b 0a 24 68 69 67 68 n.=.max(1,.$position.-.1);.$high
194640 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 56 65 72 73 69 Version.=.$this->manipulateVersi
194660 6f 6e 53 74 72 69 6e 67 28 24 6d 61 74 63 68 65 73 2c 20 24 68 69 67 68 50 6f 73 69 74 69 6f 6e onString($matches,.$highPosition
194680 2c 20 31 29 20 2e 20 27 2d 64 65 76 27 3b 0a 24 75 70 70 65 72 42 6f 75 6e 64 20 3d 20 6e 65 77 ,.1)...'-dev';.$upperBound.=.new
1946a0 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c 27 2c 20 24 68 69 67 68 56 65 72 73 69 6f 6e 29 3b 0a .Constraint('<',.$highVersion);.
1946c0 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 6c 6f 77 65 72 42 6f 75 6e 64 2c 0a 24 75 70 70 .return.array(.$lowerBound,.$upp
1946e0 65 72 42 6f 75 6e 64 2c 0a 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 0a 20 0a 20 69 66 20 28 70 72 65 erBound,.);.}............if.(pre
194700 67 5f 6d 61 74 63 68 28 27 7b 5e 5c 5e 27 20 2e 20 24 76 65 72 73 69 6f 6e 52 65 67 65 78 20 2e g_match('{^\^'...$versionRegex..
194720 20 27 28 24 29 7d 69 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 65 73 29 .'($)}i',.$constraint,.$matches)
194740 29 20 7b 0a 0a 20 69 66 20 28 27 30 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 7c 7c ).{...if.('0'.!==.$matches[1].||
194760 20 27 27 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 7c 7c 20 6e 75 6c 6c 20 3d 3d 3d 20 .''.===.$matches[2].||.null.===.
194780 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 31 3b 0a 7d 20 $matches[2]).{.$position.=.1;.}.
1947a0 65 6c 73 65 69 66 20 28 27 30 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 20 7c 7c 20 27 elseif.('0'.!==.$matches[2].||.'
1947c0 27 20 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 7c 7c 20 6e 75 6c 6c 20 3d 3d 3d 20 24 6d '.===.$matches[3].||.null.===.$m
1947e0 61 74 63 68 65 73 5b 33 5d 29 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 32 3b 0a 7d 20 65 6c atches[3]).{.$position.=.2;.}.el
194800 73 65 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d 20 33 3b 0a 7d 0a 0a 0a 20 24 73 74 61 62 69 6c se.{.$position.=.3;.}....$stabil
194820 69 74 79 53 75 66 66 69 78 20 3d 20 27 27 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 6d 61 74 63 68 itySuffix.=.'';.if.(empty($match
194840 65 73 5b 35 5d 29 20 26 26 20 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 37 5d 29 29 20 7b 0a es[5]).&&.empty($matches[7])).{.
194860 24 73 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 20 2e 3d 20 27 2d 64 65 76 27 3b 0a 7d 0a 0a 24 $stabilitySuffix..=.'-dev';.}..$
194880 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 73 75 lowVersion.=.$this->normalize(su
1948a0 62 73 74 72 28 24 63 6f 6e 73 74 72 61 69 6e 74 20 2e 20 24 73 74 61 62 69 6c 69 74 79 53 75 66 bstr($constraint...$stabilitySuf
1948c0 66 69 78 2c 20 31 29 29 3b 0a 24 6c 6f 77 65 72 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f 6e 73 fix,.1));.$lowerBound.=.new.Cons
1948e0 74 72 61 69 6e 74 28 27 3e 3d 27 2c 20 24 6c 6f 77 56 65 72 73 69 6f 6e 29 3b 0a 0a 0a 20 0a 20 traint('>=',.$lowVersion);......
194900 24 68 69 67 68 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 $highVersion.=.$this->manipulate
194920 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 28 24 6d 61 74 63 68 65 73 2c 20 24 70 6f 73 69 74 69 6f VersionString($matches,.$positio
194940 6e 2c 20 31 29 20 2e 20 27 2d 64 65 76 27 3b 0a 24 75 70 70 65 72 42 6f 75 6e 64 20 3d 20 6e 65 n,.1)...'-dev';.$upperBound.=.ne
194960 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c 27 2c 20 24 68 69 67 68 56 65 72 73 69 6f 6e 29 3b w.Constraint('<',.$highVersion);
194980 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 6c 6f 77 65 72 42 6f 75 6e 64 2c 0a 24 75 70 ..return.array(.$lowerBound,.$up
1949a0 70 65 72 42 6f 75 6e 64 2c 0a 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 0a 20 69 66 20 28 70 72 65 67 perBound,.);.}..........if.(preg
1949c0 5f 6d 61 74 63 68 28 27 7b 5e 76 3f 28 5c 64 2b 2b 29 28 3f 3a 5c 2e 28 5c 64 2b 2b 29 29 3f 28 _match('{^v?(\d++)(?:\.(\d++))?(
1949e0 3f 3a 5c 2e 28 5c 64 2b 2b 29 29 3f 28 3f 3a 5c 2e 5b 78 58 2a 5d 29 2b 2b 24 7d 27 2c 20 24 63 ?:\.(\d++))?(?:\.[xX*])++$}',.$c
194a00 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 69 66 20 28 69 73 73 65 onstraint,.$matches)).{.if.(isse
194a20 74 28 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 26 26 20 27 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 t($matches[3]).&&.''.!==.$matche
194a40 73 5b 33 5d 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d 29 20 7b 0a s[3].&&.null.!==.$matches[3]).{.
194a60 24 70 6f 73 69 74 69 6f 6e 20 3d 20 33 3b 0a 7d 20 65 6c 73 65 69 66 20 28 69 73 73 65 74 28 24 $position.=.3;.}.elseif.(isset($
194a80 6d 61 74 63 68 65 73 5b 32 5d 29 20 26 26 20 27 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 matches[2]).&&.''.!==.$matches[2
194aa0 5d 20 26 26 20 6e 75 6c 6c 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 32 5d 29 20 7b 0a 24 70 6f ].&&.null.!==.$matches[2]).{.$po
194ac0 73 69 74 69 6f 6e 20 3d 20 32 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 70 6f 73 69 74 69 6f 6e 20 3d sition.=.2;.}.else.{.$position.=
194ae0 20 31 3b 0a 7d 0a 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6d 61 6e 69 .1;.}..$lowVersion.=.$this->mani
194b00 70 75 6c 61 74 65 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 28 24 6d 61 74 63 68 65 73 2c 20 24 70 pulateVersionString($matches,.$p
194b20 6f 73 69 74 69 6f 6e 29 20 2e 20 27 2d 64 65 76 27 3b 0a 24 68 69 67 68 56 65 72 73 69 6f 6e 20 osition)...'-dev';.$highVersion.
194b40 3d 20 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 =.$this->manipulateVersionString
194b60 28 24 6d 61 74 63 68 65 73 2c 20 24 70 6f 73 69 74 69 6f 6e 2c 20 31 29 20 2e 20 27 2d 64 65 76 ($matches,.$position,.1)...'-dev
194b80 27 3b 0a 0a 69 66 20 28 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 3d 3d 20 27 30 2e 30 2e 30 2e 30 ';..if.($lowVersion.===.'0.0.0.0
194ba0 2d 64 65 76 27 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 65 77 20 43 6f 6e 73 74 72 -dev').{.return.array(new.Constr
194bc0 61 69 6e 74 28 27 3c 27 2c 20 24 68 69 67 68 56 65 72 73 69 6f 6e 29 29 3b 0a 7d 0a 0a 72 65 74 aint('<',.$highVersion));.}..ret
194be0 75 72 6e 20 61 72 72 61 79 28 0a 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3e 3d 27 2c 20 urn.array(.new.Constraint('>=',.
194c00 24 6c 6f 77 56 65 72 73 69 6f 6e 29 2c 0a 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c 27 $lowVersion),.new.Constraint('<'
194c20 2c 20 24 68 69 67 68 56 65 72 73 69 6f 6e 29 2c 0a 29 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 0a 20 0a ,.$highVersion),.);.}...........
194c40 20 0a 20 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3f 50 3c 66 72 6f 6d 3e 27 20 ...if.(preg_match('{^(?P<from>'.
194c60 2e 20 24 76 65 72 73 69 6f 6e 52 65 67 65 78 20 2e 20 27 29 20 2b 2d 20 2b 28 3f 50 3c 74 6f 3e ..$versionRegex...').+-.+(?P<to>
194c80 27 20 2e 20 24 76 65 72 73 69 6f 6e 52 65 67 65 78 20 2e 20 27 29 28 24 29 7d 69 27 2c 20 24 63 '...$versionRegex...')($)}i',.$c
194ca0 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 0a 20 24 6c 6f 77 53 74 onstraint,.$matches)).{...$lowSt
194cc0 61 62 69 6c 69 74 79 53 75 66 66 69 78 20 3d 20 27 27 3b 0a 69 66 20 28 65 6d 70 74 79 28 24 6d abilitySuffix.=.'';.if.(empty($m
194ce0 61 74 63 68 65 73 5b 36 5d 29 20 26 26 20 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 38 5d 29 atches[6]).&&.empty($matches[8])
194d00 29 20 7b 0a 24 6c 6f 77 53 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 20 3d 20 27 2d 64 65 76 27 ).{.$lowStabilitySuffix.=.'-dev'
194d20 3b 0a 7d 0a 0a 24 6c 6f 77 56 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c ;.}..$lowVersion.=.$this->normal
194d40 69 7a 65 28 24 6d 61 74 63 68 65 73 5b 27 66 72 6f 6d 27 5d 29 3b 0a 24 6c 6f 77 65 72 42 6f 75 ize($matches['from']);.$lowerBou
194d60 6e 64 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3e 3d 27 2c 20 24 6c 6f 77 56 65 nd.=.new.Constraint('>=',.$lowVe
194d80 72 73 69 6f 6e 20 2e 20 24 6c 6f 77 53 74 61 62 69 6c 69 74 79 53 75 66 66 69 78 29 3b 0a 0a 24 rsion...$lowStabilitySuffix);..$
194da0 65 6d 70 74 79 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 78 29 20 7b 0a 72 65 74 75 72 6e 20 28 empty.=.function.($x).{.return.(
194dc0 24 78 20 3d 3d 3d 20 30 20 7c 7c 20 24 78 20 3d 3d 3d 20 27 30 27 29 20 3f 20 66 61 6c 73 65 20 $x.===.0.||.$x.===.'0').?.false.
194de0 3a 20 65 6d 70 74 79 28 24 78 29 3b 0a 7d 3b 0a 0a 69 66 20 28 28 21 24 65 6d 70 74 79 28 24 6d :.empty($x);.};..if.((!$empty($m
194e00 61 74 63 68 65 73 5b 31 31 5d 29 20 26 26 20 21 24 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b atches[11]).&&.!$empty($matches[
194e20 31 32 5d 29 29 20 7c 7c 20 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 31 34 5d 29 20 7c 7c 12])).||.!empty($matches[14]).||
194e40 20 21 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 31 36 5d 29 29 20 7b 0a 24 68 69 67 68 56 65 .!empty($matches[16])).{.$highVe
194e60 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 6d 61 74 63 68 65 rsion.=.$this->normalize($matche
194e80 73 5b 27 74 6f 27 5d 29 3b 0a 24 75 70 70 65 72 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f 6e 73 s['to']);.$upperBound.=.new.Cons
194ea0 74 72 61 69 6e 74 28 27 3c 3d 27 2c 20 24 68 69 67 68 56 65 72 73 69 6f 6e 29 3b 0a 7d 20 65 6c traint('<=',.$highVersion);.}.el
194ec0 73 65 20 7b 0a 24 68 69 67 68 4d 61 74 63 68 20 3d 20 61 72 72 61 79 28 27 27 2c 20 24 6d 61 74 se.{.$highMatch.=.array('',.$mat
194ee0 63 68 65 73 5b 31 30 5d 2c 20 24 6d 61 74 63 68 65 73 5b 31 31 5d 2c 20 24 6d 61 74 63 68 65 73 ches[10],.$matches[11],.$matches
194f00 5b 31 32 5d 2c 20 24 6d 61 74 63 68 65 73 5b 31 33 5d 29 3b 0a 24 68 69 67 68 56 65 72 73 69 6f [12],.$matches[13]);.$highVersio
194f20 6e 20 3d 20 24 74 68 69 73 2d 3e 6d 61 6e 69 70 75 6c 61 74 65 56 65 72 73 69 6f 6e 53 74 72 69 n.=.$this->manipulateVersionStri
194f40 6e 67 28 24 68 69 67 68 4d 61 74 63 68 2c 20 24 65 6d 70 74 79 28 24 6d 61 74 63 68 65 73 5b 31 ng($highMatch,.$empty($matches[1
194f60 31 5d 29 20 3f 20 31 20 3a 20 32 2c 20 31 29 20 2e 20 27 2d 64 65 76 27 3b 0a 24 75 70 70 65 72 1]).?.1.:.2,.1)...'-dev';.$upper
194f80 42 6f 75 6e 64 20 3d 20 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 27 3c 27 2c 20 24 68 69 67 Bound.=.new.Constraint('<',.$hig
194fa0 68 56 65 72 73 69 6f 6e 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 24 6c 6f 77 hVersion);.}..return.array(.$low
194fc0 65 72 42 6f 75 6e 64 2c 0a 24 75 70 70 65 72 42 6f 75 6e 64 2c 0a 29 3b 0a 7d 0a 0a 0a 20 69 66 erBound,.$upperBound,.);.}....if
194fe0 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 5e 28 3c 3e 7c 21 3d 7c 3e 3d 3f 7c 3c 3d 3f 7c 3d .(preg_match('{^(<>|!=|>=?|<=?|=
195000 3d 3f 29 3f 5c 73 2a 28 2e 2a 29 7d 27 2c 20 24 63 6f 6e 73 74 72 61 69 6e 74 2c 20 24 6d 61 74 =?)?\s*(.*)}',.$constraint,.$mat
195020 63 68 65 73 29 29 20 7b 0a 74 72 79 20 7b 0a 24 76 65 72 73 69 6f 6e 20 3d 20 24 74 68 69 73 2d ches)).{.try.{.$version.=.$this-
195040 3e 6e 6f 72 6d 61 6c 69 7a 65 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 0a 69 66 20 28 21 65 >normalize($matches[2]);..if.(!e
195060 6d 70 74 79 28 24 73 74 61 62 69 6c 69 74 79 4d 6f 64 69 66 69 65 72 29 20 26 26 20 24 74 68 69 mpty($stabilityModifier).&&.$thi
195080 73 2d 3e 70 61 72 73 65 53 74 61 62 69 6c 69 74 79 28 24 76 65 72 73 69 6f 6e 29 20 3d 3d 3d 20 s->parseStability($version).===.
1950a0 27 73 74 61 62 6c 65 27 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 27 2d 27 20 2e 20 24 73 'stable').{.$version..=.'-'...$s
1950c0 74 61 62 69 6c 69 74 79 4d 6f 64 69 66 69 65 72 3b 0a 7d 20 65 6c 73 65 69 66 20 28 27 3c 27 20 tabilityModifier;.}.elseif.('<'.
1950e0 3d 3d 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 7c 7c 20 27 3e 3d 27 20 3d 3d 3d 20 24 6d 61 74 ===.$matches[1].||.'>='.===.$mat
195100 63 68 65 73 5b 31 5d 29 20 7b 0a 69 66 20 28 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 2d 27 20 ches[1]).{.if.(!preg_match('/-'.
195120 2e 20 73 65 6c 66 3a 3a 24 6d 6f 64 69 66 69 65 72 52 65 67 65 78 20 2e 20 27 24 2f 27 2c 20 73 ..self::$modifierRegex...'$/',.s
195140 74 72 74 6f 6c 6f 77 65 72 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 29 20 7b 0a 69 66 20 28 73 trtolower($matches[2]))).{.if.(s
195160 75 62 73 74 72 28 24 6d 61 74 63 68 65 73 5b 32 5d 2c 20 30 2c 20 34 29 20 21 3d 3d 20 27 64 65 ubstr($matches[2],.0,.4).!==.'de
195180 76 2d 27 29 20 7b 0a 24 76 65 72 73 69 6f 6e 20 2e 3d 20 27 2d 64 65 76 27 3b 0a 7d 0a 7d 0a 7d v-').{.$version..=.'-dev';.}.}.}
1951a0 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 6e 65 77 20 43 6f 6e 73 74 72 61 69 6e 74 28 24 6d ..return.array(new.Constraint($m
1951c0 61 74 63 68 65 73 5b 31 5d 20 3f 3a 20 27 3d 27 2c 20 24 76 65 72 73 69 6f 6e 29 29 3b 0a 7d 20 atches[1].?:.'=',.$version));.}.
1951e0 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 7d 0a 7d 0a 0a 24 6d 65 catch.(\Exception.$e).{.}.}..$me
195200 73 73 61 67 65 20 3d 20 27 43 6f 75 6c 64 20 6e 6f 74 20 70 61 72 73 65 20 76 65 72 73 69 6f 6e ssage.=.'Could.not.parse.version
195220 20 63 6f 6e 73 74 72 61 69 6e 74 20 27 20 2e 20 24 63 6f 6e 73 74 72 61 69 6e 74 3b 0a 69 66 20 .constraint.'...$constraint;.if.
195240 28 69 73 73 65 74 28 24 65 29 29 20 7b 0a 24 6d 65 73 73 61 67 65 20 2e 3d 20 27 3a 20 27 20 2e (isset($e)).{.$message..=.':.'..
195260 20 24 65 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 3b 0a 7d 0a 0a 74 68 72 6f 77 20 6e 65 77 20 .$e->getMessage();.}..throw.new.
195280 5c 55 6e 65 78 70 65 63 74 65 64 56 61 6c 75 65 45 78 63 65 70 74 69 6f 6e 28 24 6d 65 73 73 61 \UnexpectedValueException($messa
1952a0 67 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 ge);.}..............private.func
1952c0 74 69 6f 6e 20 6d 61 6e 69 70 75 6c 61 74 65 56 65 72 73 69 6f 6e 53 74 72 69 6e 67 28 24 6d 61 tion.manipulateVersionString($ma
1952e0 74 63 68 65 73 2c 20 24 70 6f 73 69 74 69 6f 6e 2c 20 24 69 6e 63 72 65 6d 65 6e 74 20 3d 20 30 tches,.$position,.$increment.=.0
195300 2c 20 24 70 61 64 20 3d 20 27 30 27 29 0a 7b 0a 66 6f 72 20 28 24 69 20 3d 20 34 3b 20 24 69 20 ,.$pad.=.'0').{.for.($i.=.4;.$i.
195320 3e 20 30 3b 20 2d 2d 24 69 29 20 7b 0a 69 66 20 28 24 69 20 3e 20 24 70 6f 73 69 74 69 6f 6e 29 >.0;.--$i).{.if.($i.>.$position)
195340 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 69 5d 20 3d 20 24 70 61 64 3b 0a 7d 20 65 6c 73 65 69 66 .{.$matches[$i].=.$pad;.}.elseif
195360 20 28 24 69 20 3d 3d 3d 20 24 70 6f 73 69 74 69 6f 6e 20 26 26 20 24 69 6e 63 72 65 6d 65 6e 74 .($i.===.$position.&&.$increment
195380 29 20 7b 0a 24 6d 61 74 63 68 65 73 5b 24 69 5d 20 2b 3d 20 24 69 6e 63 72 65 6d 65 6e 74 3b 0a ).{.$matches[$i].+=.$increment;.
1953a0 0a 20 69 66 20 28 24 6d 61 74 63 68 65 73 5b 24 69 5d 20 3c 20 30 29 20 7b 0a 24 6d 61 74 63 68 ..if.($matches[$i].<.0).{.$match
1953c0 65 73 5b 24 69 5d 20 3d 20 24 70 61 64 3b 0a 2d 2d 24 70 6f 73 69 74 69 6f 6e 3b 0a 0a 0a 20 69 es[$i].=.$pad;.--$position;....i
1953e0 66 20 28 24 69 20 3d 3d 3d 20 31 29 20 7b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a f.($i.===.1).{.return;.}.}.}.}..
195400 72 65 74 75 72 6e 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 return.$matches[1]...'.'...$matc
195420 68 65 73 5b 32 5d 20 2e 20 27 2e 27 20 2e 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 2e 20 27 2e 27 hes[2]...'.'...$matches[3]...'.'
195440 20 2e 20 24 6d 61 74 63 68 65 73 5b 34 5d 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 ...$matches[4];.}.........privat
195460 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 61 6e 64 53 74 61 62 69 6c 69 74 79 28 24 73 74 61 62 e.function.expandStability($stab
195480 69 6c 69 74 79 29 0a 7b 0a 24 73 74 61 62 69 6c 69 74 79 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 ility).{.$stability.=.strtolower
1954a0 28 24 73 74 61 62 69 6c 69 74 79 29 3b 0a 0a 73 77 69 74 63 68 20 28 24 73 74 61 62 69 6c 69 74 ($stability);..switch.($stabilit
1954c0 79 29 20 7b 0a 63 61 73 65 20 27 61 27 3a 0a 72 65 74 75 72 6e 20 27 61 6c 70 68 61 27 3b 0a 63 y).{.case.'a':.return.'alpha';.c
1954e0 61 73 65 20 27 62 27 3a 0a 72 65 74 75 72 6e 20 27 62 65 74 61 27 3b 0a 63 61 73 65 20 27 70 27 ase.'b':.return.'beta';.case.'p'
195500 3a 0a 63 61 73 65 20 27 70 6c 27 3a 0a 72 65 74 75 72 6e 20 27 70 61 74 63 68 27 3b 0a 63 61 73 :.case.'pl':.return.'patch';.cas
195520 65 20 27 72 63 27 3a 0a 72 65 74 75 72 6e 20 27 52 43 27 3b 0a 64 65 66 61 75 6c 74 3a 0a 72 65 e.'rc':.return.'RC';.default:.re
195540 74 75 72 6e 20 24 73 74 61 62 69 6c 69 74 79 3b 0a 7d 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 turn.$stability;.}.}.}.Copyright
195560 20 28 43 29 20 32 30 31 36 20 43 6f 6d 70 6f 73 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 .(C).2016.Composer..Permission.i
195580 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 s.hereby.granted,.free.of.charge
1955a0 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 ,.to.any.person.obtaining.a.copy
1955c0 20 6f 66 0a 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 .of.this.software.and.associated
1955e0 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 .documentation.files.(the."Softw
195600 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 20 69 6e 0a 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 are"),.to.deal.in.the.Software.w
195620 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 ithout.restriction,.including.wi
195640 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 20 74 6f 0a 75 thout.limitation.the.rights.to.u
195660 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 se,.copy,.modify,.merge,.publish
195680 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 ,.distribute,.sublicense,.and/or
1956a0 20 73 65 6c 6c 20 63 6f 70 69 65 73 0a 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e .sell.copies.of.the.Software,.an
1956c0 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 d.to.permit.persons.to.whom.the.
1956e0 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f 0a 73 6f 2c 20 Software.is.furnished.to.do.so,.
195700 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 subject.to.the.following.conditi
195720 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 ons:..The.above.copyright.notice
195740 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c .and.this.permission.notice.shal
195760 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 l.be.included.in.all.copies.or.s
195780 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 ubstantial.portions.of.the.Softw
1957a0 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 are...THE.SOFTWARE.IS.PROVIDED."
1957c0 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 AS.IS",.WITHOUT.WARRANTY.OF.ANY.
1957e0 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 KIND,.EXPRESS.OR.IMPLIED,.INCLUD
195800 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 ING.BUT.NOT.LIMITED.TO.THE.WARRA
195820 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 NTIES.OF.MERCHANTABILITY,.FITNES
195840 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e S.FOR.A.PARTICULAR.PURPOSE.AND.N
195860 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c ONINFRINGEMENT..IN.NO.EVENT.SHAL
195880 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 L.THE.AUTHORS.OR.COPYRIGHT.HOLDE
1958a0 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 RS.BE.LIABLE.FOR.ANY.CLAIM,.DAMA
1958c0 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 GES.OR.OTHER.LIABILITY,.WHETHER.
1958e0 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f IN.AN.ACTION.OF.CONTRACT,.TORT.O
195900 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f R.OTHERWISE,.ARISING.FROM,.OUT.O
195920 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 F.OR.IN.CONNECTION.WITH.THE.SOFT
195940 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 WARE.OR.THE.USE.OR.OTHER.DEALING
195960 53 20 49 4e 20 54 48 45 0a 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a S.IN.THE.SOFTWARE..<?php........
195980 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 43 61 42 75 6e 64 6c 65 3b 0a ...namespace.Composer\CaBundle;.
1959a0 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 .use.Psr\Log\LoggerInterface;.us
1959c0 65 20 53 79 6d 66 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 68 70 50 e.Symfony\Component\Process\PhpP
1959e0 72 6f 63 65 73 73 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 61 42 75 6e 64 6c 65 0a 7b 0a 70 72 rocess;......class.CaBundle.{.pr
195a00 69 76 61 74 65 20 73 74 61 74 69 63 20 24 63 61 50 61 74 68 3b 0a 70 72 69 76 61 74 65 20 73 74 ivate.static.$caPath;.private.st
195a20 61 74 69 63 20 24 63 61 46 69 6c 65 56 61 6c 69 64 69 74 79 20 3d 20 61 72 72 61 79 28 29 3b 0a atic.$caFileValidity.=.array();.
195a40 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 3b private.static.$useOpensslParse;
195a60 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ................................
195a80 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 .......public.static.function.ge
195aa0 74 53 79 73 74 65 6d 43 61 52 6f 6f 74 42 75 6e 64 6c 65 50 61 74 68 28 4c 6f 67 67 65 72 49 6e tSystemCaRootBundlePath(LoggerIn
195ac0 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 73 65 terface.$logger.=.null).{.if.(se
195ae0 6c 66 3a 3a 24 63 61 50 61 74 68 20 21 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 72 65 74 75 72 6e 20 73 lf::$caPath.!==.null).{.return.s
195b00 65 6c 66 3a 3a 24 63 61 50 61 74 68 3b 0a 7d 0a 24 63 61 42 75 6e 64 6c 65 50 61 74 68 73 20 3d elf::$caPath;.}.$caBundlePaths.=
195b20 20 61 72 72 61 79 28 29 3b 0a 0a 0a 0a 20 0a 20 24 63 61 42 75 6e 64 6c 65 50 61 74 68 73 5b 5d .array();.......$caBundlePaths[]
195b40 20 3d 20 67 65 74 65 6e 76 28 27 53 53 4c 5f 43 45 52 54 5f 46 49 4c 45 27 29 3b 0a 0a 0a 20 0a .=.getenv('SSL_CERT_FILE');.....
195b60 20 24 63 61 42 75 6e 64 6c 65 50 61 74 68 73 5b 5d 20 3d 20 67 65 74 65 6e 76 28 27 53 53 4c 5f .$caBundlePaths[].=.getenv('SSL_
195b80 43 45 52 54 5f 44 49 52 27 29 3b 0a 0a 24 63 61 42 75 6e 64 6c 65 50 61 74 68 73 5b 5d 20 3d 20 CERT_DIR');..$caBundlePaths[].=.
195ba0 69 6e 69 5f 67 65 74 28 27 6f 70 65 6e 73 73 6c 2e 63 61 66 69 6c 65 27 29 3b 0a 24 63 61 42 75 ini_get('openssl.cafile');.$caBu
195bc0 6e 64 6c 65 50 61 74 68 73 5b 5d 20 3d 20 69 6e 69 5f 67 65 74 28 27 6f 70 65 6e 73 73 6c 2e 63 ndlePaths[].=.ini_get('openssl.c
195be0 61 70 61 74 68 27 29 3b 0a 0a 24 6f 74 68 65 72 4c 6f 63 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 apath');..$otherLocations.=.arra
195c00 79 28 0a 27 2f 65 74 63 2f 70 6b 69 2f 74 6c 73 2f 63 65 72 74 73 2f 63 61 2d 62 75 6e 64 6c 65 y(.'/etc/pki/tls/certs/ca-bundle
195c20 2e 63 72 74 27 2c 20 0a 20 27 2f 65 74 63 2f 73 73 6c 2f 63 65 72 74 73 2f 63 61 2d 63 65 72 74 .crt',...'/etc/ssl/certs/ca-cert
195c40 69 66 69 63 61 74 65 73 2e 63 72 74 27 2c 20 0a 20 27 2f 65 74 63 2f 73 73 6c 2f 63 61 2d 62 75 ificates.crt',...'/etc/ssl/ca-bu
195c60 6e 64 6c 65 2e 70 65 6d 27 2c 20 0a 20 27 2f 75 73 72 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f 63 ndle.pem',...'/usr/local/share/c
195c80 65 72 74 73 2f 63 61 2d 72 6f 6f 74 2d 6e 73 73 2e 63 72 74 27 2c 20 0a 20 27 2f 75 73 72 2f 73 erts/ca-root-nss.crt',...'/usr/s
195ca0 73 6c 2f 63 65 72 74 73 2f 63 61 2d 62 75 6e 64 6c 65 2e 63 72 74 27 2c 20 0a 20 27 2f 6f 70 74 sl/certs/ca-bundle.crt',...'/opt
195cc0 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f 63 75 72 6c 2f 63 75 72 6c 2d 63 61 2d 62 75 6e 64 6c 65 /local/share/curl/curl-ca-bundle
195ce0 2e 63 72 74 27 2c 20 0a 20 27 2f 75 73 72 2f 6c 6f 63 61 6c 2f 73 68 61 72 65 2f 63 75 72 6c 2f .crt',...'/usr/local/share/curl/
195d00 63 75 72 6c 2d 63 61 2d 62 75 6e 64 6c 65 2e 63 72 74 27 2c 20 0a 20 27 2f 75 73 72 2f 73 68 61 curl-ca-bundle.crt',...'/usr/sha
195d20 72 65 2f 73 73 6c 2f 63 65 72 74 73 2f 63 61 2d 62 75 6e 64 6c 65 2e 63 72 74 27 2c 20 0a 20 27 re/ssl/certs/ca-bundle.crt',...'
195d40 2f 65 74 63 2f 73 73 6c 2f 63 65 72 74 2e 70 65 6d 27 2c 20 0a 20 27 2f 75 73 72 2f 6c 6f 63 61 /etc/ssl/cert.pem',...'/usr/loca
195d60 6c 2f 65 74 63 2f 73 73 6c 2f 63 65 72 74 2e 70 65 6d 27 2c 20 0a 20 27 2f 75 73 72 2f 6c 6f 63 l/etc/ssl/cert.pem',...'/usr/loc
195d80 61 6c 2f 65 74 63 2f 6f 70 65 6e 73 73 6c 2f 63 65 72 74 2e 70 65 6d 27 2c 20 0a 20 29 3b 0a 0a al/etc/openssl/cert.pem',...);..
195da0 66 6f 72 65 61 63 68 28 24 6f 74 68 65 72 4c 6f 63 61 74 69 6f 6e 73 20 61 73 20 24 6c 6f 63 61 foreach($otherLocations.as.$loca
195dc0 74 69 6f 6e 29 20 7b 0a 24 6f 74 68 65 72 4c 6f 63 61 74 69 6f 6e 73 5b 5d 20 3d 20 64 69 72 6e tion).{.$otherLocations[].=.dirn
195de0 61 6d 65 28 24 6c 6f 63 61 74 69 6f 6e 29 3b 0a 7d 0a 0a 24 63 61 42 75 6e 64 6c 65 50 61 74 68 ame($location);.}..$caBundlePath
195e00 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 63 61 42 75 6e 64 6c 65 50 61 74 68 73 2c 20 s.=.array_merge($caBundlePaths,.
195e20 24 6f 74 68 65 72 4c 6f 63 61 74 69 6f 6e 73 29 3b 0a 0a 66 6f 72 65 61 63 68 20 28 24 63 61 42 $otherLocations);..foreach.($caB
195e40 75 6e 64 6c 65 50 61 74 68 73 20 61 73 20 24 63 61 42 75 6e 64 6c 65 29 20 7b 0a 69 66 20 28 73 undlePaths.as.$caBundle).{.if.(s
195e60 65 6c 66 3a 3a 63 61 46 69 6c 65 55 73 61 62 6c 65 28 24 63 61 42 75 6e 64 6c 65 2c 20 24 6c 6f elf::caFileUsable($caBundle,.$lo
195e80 67 67 65 72 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 3d 20 gger)).{.return.self::$caPath.=.
195ea0 24 63 61 42 75 6e 64 6c 65 3b 0a 7d 0a 0a 69 66 20 28 73 65 6c 66 3a 3a 63 61 44 69 72 55 73 61 $caBundle;.}..if.(self::caDirUsa
195ec0 62 6c 65 28 24 63 61 42 75 6e 64 6c 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 ble($caBundle)).{.return.self::$
195ee0 63 61 50 61 74 68 20 3d 20 24 63 61 42 75 6e 64 6c 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 caPath.=.$caBundle;.}.}..return.
195f00 73 65 6c 66 3a 3a 24 63 61 50 61 74 68 20 3d 20 73 74 61 74 69 63 3a 3a 67 65 74 42 75 6e 64 6c self::$caPath.=.static::getBundl
195f20 65 64 43 61 42 75 6e 64 6c 65 50 61 74 68 28 29 3b 20 0a 20 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 edCaBundlePath();...}.........pu
195f40 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 42 75 6e 64 6c 65 64 43 blic.static.function.getBundledC
195f60 61 42 75 6e 64 6c 65 50 61 74 68 28 29 0a 7b 0a 24 63 61 42 75 6e 64 6c 65 46 69 6c 65 20 3d 20 aBundlePath().{.$caBundleFile.=.
195f80 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 72 65 73 2f 63 61 63 65 72 74 2e 70 65 6d 27 3b 0a 0a 0a __DIR__.'/../res/cacert.pem';...
195fa0 20 0a 20 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 24 63 61 42 75 6e 64 6c 65 46 69 6c ...if.(0.===.strpos($caBundleFil
195fc0 65 2c 20 27 70 68 61 72 3a 2f 2f 27 29 29 20 7b 0a 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e e,.'phar://')).{.file_put_conten
195fe0 74 73 28 0a 24 74 65 6d 70 43 61 42 75 6e 64 6c 65 46 69 6c 65 20 3d 20 74 65 6d 70 6e 61 6d 28 ts(.$tempCaBundleFile.=.tempnam(
196000 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 2c 20 27 6f 70 65 6e 73 73 6c 2d 63 61 2d sys_get_temp_dir(),.'openssl-ca-
196020 62 75 6e 64 6c 65 2d 27 29 2c 0a 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 63 61 bundle-'),.file_get_contents($ca
196040 42 75 6e 64 6c 65 46 69 6c 65 29 0a 29 3b 0a 0a 72 65 67 69 73 74 65 72 5f 73 68 75 74 64 6f 77 BundleFile).);..register_shutdow
196060 6e 5f 66 75 6e 63 74 69 6f 6e 28 66 75 6e 63 74 69 6f 6e 28 29 20 75 73 65 20 28 24 74 65 6d 70 n_function(function().use.($temp
196080 43 61 42 75 6e 64 6c 65 46 69 6c 65 29 20 7b 0a 40 75 6e 6c 69 6e 6b 28 24 74 65 6d 70 43 61 42 CaBundleFile).{.@unlink($tempCaB
1960a0 75 6e 64 6c 65 46 69 6c 65 29 3b 0a 7d 29 3b 0a 0a 24 63 61 42 75 6e 64 6c 65 46 69 6c 65 20 3d undleFile);.});..$caBundleFile.=
1960c0 20 24 74 65 6d 70 43 61 42 75 6e 64 6c 65 46 69 6c 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 .$tempCaBundleFile;.}..return.$c
1960e0 61 42 75 6e 64 6c 65 46 69 6c 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 aBundleFile;.}..........public.s
196100 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 69 64 61 74 65 43 61 46 69 6c 65 28 24 66 tatic.function.validateCaFile($f
196120 69 6c 65 6e 61 6d 65 2c 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 ilename,.LoggerInterface.$logger
196140 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 73 74 61 74 69 63 20 24 77 61 72 6e 65 64 20 3d 20 66 61 6c 73 .=.null).{.static.$warned.=.fals
196160 65 3b 0a 0a 69 66 20 28 69 73 73 65 74 28 73 65 6c 66 3a 3a 24 63 61 46 69 6c 65 56 61 6c 69 64 e;..if.(isset(self::$caFileValid
196180 69 74 79 5b 24 66 69 6c 65 6e 61 6d 65 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a ity[$filename])).{.return.self::
1961a0 24 63 61 46 69 6c 65 56 61 6c 69 64 69 74 79 5b 24 66 69 6c 65 6e 61 6d 65 5d 3b 0a 7d 0a 0a 24 $caFileValidity[$filename];.}..$
1961c0 63 6f 6e 74 65 6e 74 73 20 3d 20 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 28 24 66 69 contents.=.file_get_contents($fi
1961e0 6c 65 6e 61 6d 65 29 3b 0a 0a 0a 20 0a 20 69 66 20 28 21 73 74 61 74 69 63 3a 3a 69 73 4f 70 65 lename);......if.(!static::isOpe
196200 6e 73 73 6c 50 61 72 73 65 53 61 66 65 28 29 29 20 7b 0a 69 66 20 28 21 24 77 61 72 6e 65 64 20 nsslParseSafe()).{.if.(!$warned.
196220 26 26 20 24 6c 6f 67 67 65 72 29 20 7b 0a 24 6c 6f 67 67 65 72 2d 3e 77 61 72 6e 69 6e 67 28 73 &&.$logger).{.$logger->warning(s
196240 70 72 69 6e 74 66 28 0a 27 59 6f 75 72 20 76 65 72 73 69 6f 6e 20 6f 66 20 50 48 50 2c 20 25 73 printf(.'Your.version.of.PHP,.%s
196260 2c 20 69 73 20 61 66 66 65 63 74 65 64 20 62 79 20 43 56 45 2d 32 30 31 33 2d 36 34 32 30 20 61 ,.is.affected.by.CVE-2013-6420.a
196280 6e 64 20 63 61 6e 6e 6f 74 20 73 61 66 65 6c 79 20 70 65 72 66 6f 72 6d 20 63 65 72 74 69 66 69 nd.cannot.safely.perform.certifi
1962a0 63 61 74 65 20 76 61 6c 69 64 61 74 69 6f 6e 2c 20 77 65 20 73 74 72 6f 6e 67 6c 79 20 73 75 67 cate.validation,.we.strongly.sug
1962c0 67 65 73 74 20 79 6f 75 20 75 70 67 72 61 64 65 2e 27 2c 0a 50 48 50 5f 56 45 52 53 49 4f 4e 0a gest.you.upgrade.',.PHP_VERSION.
1962e0 29 29 3b 0a 24 77 61 72 6e 65 64 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 24 69 73 56 61 6c 69 64 20 ));.$warned.=.true;.}..$isValid.
196300 3d 20 21 65 6d 70 74 79 28 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 =.!empty($contents);.}.else.{.$i
196320 73 56 61 6c 69 64 20 3d 20 28 62 6f 6f 6c 29 20 6f 70 65 6e 73 73 6c 5f 78 35 30 39 5f 70 61 72 sValid.=.(bool).openssl_x509_par
196340 73 65 28 24 63 6f 6e 74 65 6e 74 73 29 3b 0a 7d 0a 0a 69 66 20 28 24 6c 6f 67 67 65 72 29 20 7b se($contents);.}..if.($logger).{
196360 0a 24 6c 6f 67 67 65 72 2d 3e 64 65 62 75 67 28 27 43 68 65 63 6b 65 64 20 43 41 20 66 69 6c 65 .$logger->debug('Checked.CA.file
196380 20 27 2e 72 65 61 6c 70 61 74 68 28 24 66 69 6c 65 6e 61 6d 65 29 2e 27 3a 20 27 2e 28 24 69 73 .'.realpath($filename).':.'.($is
1963a0 56 61 6c 69 64 20 3f 20 27 76 61 6c 69 64 27 20 3a 20 27 69 6e 76 61 6c 69 64 27 29 29 3b 0a 7d Valid.?.'valid'.:.'invalid'));.}
1963c0 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 63 61 46 69 6c 65 56 61 6c 69 64 69 74 79 5b 24 ..return.self::$caFileValidity[$
1963e0 66 69 6c 65 6e 61 6d 65 5d 20 3d 20 24 69 73 56 61 6c 69 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a filename].=.$isValid;.}.........
196400 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 4f 70 65 6e 73 73 .public.static.function.isOpenss
196420 6c 50 61 72 73 65 53 61 66 65 28 29 0a 7b 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 lParseSafe().{.if.(null.!==.self
196440 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c ::$useOpensslParse).{.return.sel
196460 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 3b 0a 7d 0a 0a 69 66 20 28 50 48 50 5f f::$useOpensslParse;.}..if.(PHP_
196480 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 36 30 30 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 VERSION_ID.>=.50600).{.return.se
1964a0 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a lf::$useOpensslParse.=.true;.}..
1964c0 0a 20 0a 20 0a 20 0a 20 69 66 20 28 0a 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 ........if.(.(PHP_VERSION_ID.<.5
1964e0 30 34 30 30 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 33 32 38 29 0400.&&.PHP_VERSION_ID.>=.50328)
196500 0a 7c 7c 20 28 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 35 30 30 20 26 26 20 50 .||.(PHP_VERSION_ID.<.50500.&&.P
196520 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 34 32 33 29 0a 7c 7c 20 28 50 48 50 5f HP_VERSION_ID.>=.50423).||.(PHP_
196540 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 35 30 36 30 30 20 26 26 20 50 48 50 5f 56 45 52 53 49 4f VERSION_ID.<.50600.&&.PHP_VERSIO
196560 4e 5f 49 44 20 3e 3d 20 35 30 35 30 37 29 0a 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 73 65 6c 66 N_ID.>=.50507).).{...return.self
196580 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 69 66 ::$useOpensslParse.=.true;.}..if
1965a0 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f 42 .(defined('PHP_WINDOWS_VERSION_B
1965c0 55 49 4c 44 27 29 29 20 7b 0a 0a 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 UILD')).{...return.self::$useOpe
1965e0 6e 73 73 6c 50 61 72 73 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 63 6f 6d 70 61 72 65 44 69 nsslParse.=.false;.}..$compareDi
196600 73 74 72 6f 56 65 72 73 69 6f 6e 50 72 65 66 69 78 20 3d 20 66 75 6e 63 74 69 6f 6e 20 28 24 70 stroVersionPrefix.=.function.($p
196620 72 65 66 69 78 2c 20 24 66 69 78 65 64 56 65 72 73 69 6f 6e 29 20 7b 0a 24 72 65 67 65 78 20 3d refix,.$fixedVersion).{.$regex.=
196640 20 27 7b 5e 27 2e 70 72 65 67 5f 71 75 6f 74 65 28 24 70 72 65 66 69 78 29 2e 27 28 5b 30 2d 39 .'{^'.preg_quote($prefix).'([0-9
196660 5d 2b 29 24 7d 27 3b 0a 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 ]+)$}';..if.(preg_match($regex,.
196680 50 48 50 5f 56 45 52 53 49 4f 4e 2c 20 24 6d 29 29 20 7b 0a 72 65 74 75 72 6e 20 28 28 69 6e 74 PHP_VERSION,.$m)).{.return.((int
1966a0 29 20 24 6d 5b 31 5d 29 20 3e 3d 20 24 66 69 78 65 64 56 65 72 73 69 6f 6e 3b 0a 7d 0a 0a 72 65 ).$m[1]).>=.$fixedVersion;.}..re
1966c0 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 3b 0a 0a 0a 20 69 66 20 28 0a 24 63 6f 6d 70 61 72 65 44 turn.false;.};....if.(.$compareD
1966e0 69 73 74 72 6f 56 65 72 73 69 6f 6e 50 72 65 66 69 78 28 27 35 2e 33 2e 33 2d 37 2b 73 71 75 65 istroVersionPrefix('5.3.3-7+sque
196700 65 7a 65 27 2c 20 31 38 29 20 0a 20 7c 7c 20 24 63 6f 6d 70 61 72 65 44 69 73 74 72 6f 56 65 72 eze',.18)...||.$compareDistroVer
196720 73 69 6f 6e 50 72 65 66 69 78 28 27 35 2e 34 2e 34 2d 31 34 2b 64 65 62 37 75 27 2c 20 37 29 20 sionPrefix('5.4.4-14+deb7u',.7).
196740 0a 20 7c 7c 20 24 63 6f 6d 70 61 72 65 44 69 73 74 72 6f 56 65 72 73 69 6f 6e 50 72 65 66 69 78 ..||.$compareDistroVersionPrefix
196760 28 27 35 2e 33 2e 31 30 2d 31 75 62 75 6e 74 75 33 2e 27 2c 20 39 29 20 0a 20 29 20 7b 0a 72 65 ('5.3.10-1ubuntu3.',.9)...).{.re
196780 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 74 72 turn.self::$useOpensslParse.=.tr
1967a0 75 65 3b 0a 7d 0a 0a 0a 20 69 66 20 28 21 63 6c 61 73 73 5f 65 78 69 73 74 73 28 27 53 79 6d 66 ue;.}....if.(!class_exists('Symf
1967c0 6f 6e 79 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 50 72 6f 63 65 73 73 5c 50 68 70 50 72 6f 63 65 73 73 ony\Component\Process\PhpProcess
1967e0 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 ')).{.return.self::$useOpensslPa
196800 72 73 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 20 0a 20 0a 20 0a 20 0a 20 0a 0a 0a 20 0a 20 rse.=.false;.}..................
196820 24 63 65 72 74 20 3d 20 27 4c 53 30 74 4c 53 31 43 52 55 64 4a 54 69 42 44 52 56 4a 55 53 55 5a $cert.=.'LS0tLS1CRUdJTiBDRVJUSUZ
196840 4a 51 30 46 55 52 53 30 74 4c 53 30 74 43 6b 31 4a 53 55 56 77 52 45 4e 44 51 54 52 35 5a 30 46 JQ0FURS0tLS0tCk1JSUVwRENDQTR5Z0F
196860 33 53 55 4a 42 5a 30 6c 4b 51 55 70 36 64 54 68 79 4e 6e 55 32 5a 55 4a 6a 54 55 45 77 52 30 4e 3SUJBZ0lKQUp6dThyNnU2ZUJjTUEwR0N
196880 54 63 55 64 54 53 57 49 7a 52 46 46 46 51 6b 4a 52 56 55 46 4e 53 55 68 45 54 56 46 7a 64 30 4e TcUdTSWIzRFFFQkJRVUFNSUhETVFzd0N
1968a0 52 57 55 51 4b 56 6c 46 52 52 30 56 33 53 6b 56 53 56 45 56 6a 54 55 4a 76 52 30 45 78 56 55 56 RWUQKVlFRR0V3SkVSVEVjTUJvR0ExVUV
1968c0 44 51 58 64 55 56 47 30 35 65 56 70 49 53 6d 39 61 56 32 78 31 54 46 5a 6b 62 47 4d 7a 55 6d 31 DQXdUVG05eVpISm9aV2x1TFZkbGMzUm1
1968e0 5a 56 33 68 73 59 6d 70 46 55 55 31 42 4e 45 64 42 4d 56 56 46 51 6e 64 33 53 41 70 54 4f 45 39 ZV3hsYmpFUU1BNEdBMVVFQnd3SApTOE9
196900 45 64 33 4a 61 63 32 4a 71 52 56 56 4e 51 6b 6c 48 51 54 46 56 52 55 4e 6e 64 30 78 56 4d 6c 5a Ed3Jac2JqRVVNQklHQTFVRUNnd0xVMlZ
196920 79 5a 45 64 73 64 6d 4a 72 56 6e 42 69 62 6b 31 34 53 48 70 42 5a 45 4a 6e 54 6c 5a 43 51 58 4e yZEdsdmJrVnBibk14SHpBZEJnTlZCQXN
196940 4e 52 6d 73 78 61 47 4a 48 62 47 70 68 56 7a 6b 78 43 6d 4e 35 51 6b 52 61 57 45 6f 77 53 55 5a NRmsxaGJHbGphVzkxCmN5QkRaWEowSUZ
196960 4f 62 46 6b 7a 55 6e 42 69 4d 6a 52 34 53 56 52 42 5a 6b 4a 6e 54 6c 5a 43 51 55 31 4e 52 30 63 ObFkzUnBiMjR4SVRBZkJnTlZCQU1NR0c
196980 78 61 47 4a 48 62 47 70 68 56 7a 6b 78 59 33 6b 31 65 6c 70 58 64 44 42 68 56 7a 6c 31 57 6c 64 xaGJHbGphVzkxY3k1elpXdDBhVzl1Wld
1969a0 73 64 57 4e 35 4e 57 73 4b 57 6c 52 46 63 55 31 44 5a 30 64 44 55 33 46 48 55 30 6c 69 4d 30 52 sdWN5NWsKWlRFcU1DZ0dDU3FHU0liM0R
1969c0 52 52 55 70 42 55 6c 6c 69 59 7a 4e 53 62 46 70 74 52 6e 56 4d 62 56 5a 36 59 7a 4a 57 65 56 46 RRUpBUlliYzNSbFptRnVMbVZ6YzJWeVF
1969e0 49 54 6d 78 68 4d 31 4a 77 59 6a 49 31 62 47 46 58 4e 58 70 4d 62 56 4a 73 54 55 68 56 57 51 70 ITmxhM1JwYjI1bGFXNXpMbVJsTUhVWQp
196a00 61 52 45 55 31 54 6e 70 42 64 30 31 55 51 58 68 4e 52 45 46 33 54 55 52 42 64 31 64 6e 51 55 46 aREU1TnpBd01UQXhNREF3TURBd1dnQUF
196a20 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF
196a40 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 43 6b 46 42 51 55 46 42 51 55 46 BQUFBQUFBQUFBQUFBQUFBCkFBQUFBQUF
196a60 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF
196a80 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 42 51 55 46 BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF
196aa0 42 51 55 46 42 51 55 46 42 51 55 45 4b 51 55 46 42 51 55 46 42 51 56 68 45 56 45 55 77 54 56 52 BQUFBQUFBQUEKQUFBQUFBQVhEVEUwTVR
196ac0 46 65 55 39 45 52 58 68 4e 65 6d 74 36 54 6c 5a 76 64 32 64 6a 54 58 68 44 65 6b 46 4b 51 6d 64 FeU9ERXhNemt6TlZvd2djTXhDekFKQmd
196ae0 4f 56 6b 4a 42 57 56 52 42 61 31 4a 47 54 56 4a 33 64 30 64 6e 57 55 52 57 55 56 46 4a 52 45 4a OVkJBWVRBa1JGTVJ3d0dnWURWUVFJREJ
196b00 4f 54 77 70 69 4d 30 70 72 59 32 31 6f 62 47 46 58 4e 48 52 57 4d 6c 5a 36 5a 45 64 61 61 47 4a OTwpiM0prY21obGFXNHRWMlZ6ZEdaaGJ
196b20 48 56 6e 56 4e 55 6b 46 33 52 47 64 5a 52 46 5a 52 55 55 68 45 51 57 52 4d 64 7a 52 51 51 33 52 HVnVNUkF3RGdZRFZRUUhEQWRMdzRQQ3R
196b40 74 65 48 56 4e 55 6c 46 33 52 57 64 5a 52 46 5a 52 55 55 74 45 51 58 52 55 43 6c 70 58 64 44 42 teHVNUlF3RWdZRFZRUUtEQXRUClpXdDB
196b60 68 56 7a 6c 31 55 6c 64 73 64 57 4e 36 52 57 5a 4e 51 6a 42 48 51 54 46 56 52 55 4e 33 64 31 64 hVzl1UldsdWN6RWZNQjBHQTFVRUN3d1d
196b80 55 56 30 5a 7a 59 56 64 4f 63 47 49 7a 56 6e 70 4a 52 55 35 73 59 32 35 52 5a 31 55 79 56 6d 70 UV0ZzYVdOcGIzVnpJRU5sY25RZ1UyVmp
196ba0 6b 52 32 78 32 59 6d 70 46 61 45 31 43 4f 45 63 4b 51 54 46 56 52 55 46 33 64 31 6c 69 56 30 5a kR2x2YmpFaE1COEcKQTFVRUF3d1liV0Z
196bc0 7a 59 56 64 4f 63 47 49 7a 56 6e 70 4d 62 6b 35 73 59 54 4e 53 63 47 49 79 4e 57 78 68 56 7a 56 zYVdOcGIzVnpMbk5sYTNScGIyNWxhVzV
196be0 36 54 47 31 53 62 45 31 54 62 33 64 4c 51 56 6c 4b 53 32 39 61 53 57 68 32 59 30 35 42 55 57 74 6TG1SbE1Tb3dLQVlKS29aSWh2Y05BUWt
196c00 43 52 6d 68 30 65 67 70 6b 52 31 5a 74 57 56 63 30 64 56 70 59 54 6e 70 61 57 45 70 42 59 7a 4a CRmh0egpkR1ZtWVc0dVpYTnpaWEpBYzJ
196c20 57 63 6d 52 48 62 48 5a 69 62 56 5a 77 59 6d 35 4e 64 56 70 48 56 58 64 6e 5a 30 56 70 54 55 45 WcmRHbHZibVZwYm5NdVpHVXdnZ0VpTUE
196c40 77 52 30 4e 54 63 55 64 54 53 57 49 7a 52 46 46 46 51 6b 46 52 56 55 46 42 4e 45 6c 43 43 6b 52 wR0NTcUdTSWIzRFFFQkFRVUFBNElCCkR
196c60 33 51 58 64 6e 5a 30 56 4c 51 57 39 4a 51 6b 46 52 52 45 52 42 5a 6a 4e 6f 62 44 64 4b 57 54 42 3QXdnZ0VLQW9JQkFRRERBZjNobDdKWTB
196c80 59 59 30 5a 75 61 58 6c 46 53 6e 42 54 55 30 52 78 62 6a 42 50 63 55 4a 79 4e 6c 46 51 4e 6a 56 YY0ZuaXlFSnBTU0RxbjBPcUJyNlFQNjV
196ca0 31 63 30 70 51 55 6e 51 76 4f 46 42 68 52 47 39 78 51 6e 55 4b 64 30 56 5a 56 43 39 4f 59 53 73 1c0pQUnQvOFBhRG9xQnUKd0VZVC9OYSs
196cc0 32 5a 6e 4e 6e 55 47 70 44 4d 48 56 4c 4f 55 52 61 5a 31 64 6e 4d 6e 52 49 56 31 64 76 59 57 35 2ZnNnUGpDMHVLOURaZ1dnMnRIV1dvYW5
196ce0 54 59 6d 78 42 54 57 39 36 4e 56 42 49 4e 6c 6f 72 55 7a 52 54 53 46 4a 61 4e 32 55 79 5a 45 52 TYmxBTW96NVBINlorUzRTSFJaN2UyZER
196d00 4a 61 6c 42 71 5a 47 68 71 61 41 6f 77 62 55 78 6e 4d 6c 56 4e 54 7a 56 35 63 44 42 57 4e 7a 6b JalBqZGhqaAowbUxnMlVNTzV5cDBWNzk
196d20 33 52 32 64 7a 4f 57 78 4f 64 44 5a 4b 55 6d 5a 49 4f 44 46 4e 54 6a 4a 76 59 6c 68 58 63 7a 52 3R2dzOWxOdDZKUmZIODFNTjJvYlhXczR
196d40 4f 64 48 70 30 54 45 31 31 52 44 5a 6c 5a 33 46 77 63 6a 68 6b 52 47 4a 79 4d 7a 52 68 54 33 4d OdHp0TE11RDZlZ3FwcjhkRGJyMzRhT3M
196d60 34 43 6e 42 72 5a 48 56 70 4e 56 56 68 64 31 52 61 61 33 4e 35 4e 58 42 4d 55 45 68 78 4e 57 4e 4CnBrZHVpNVVhd1Raa3N5NXBMUEhxNWN
196d80 4e 61 45 5a 48 62 54 41 32 64 6a 59 31 51 30 78 76 4d 46 59 79 55 47 51 35 4b 30 74 42 62 32 74 NaEZHbTA2djY1Q0xvMFYyUGQ5K0tBb2t
196da0 51 63 6c 42 6a 54 6a 56 4c 54 45 74 6c 59 6e 6f 33 62 55 78 77 61 7a 59 4b 55 30 31 6c 52 56 68 QclBjTjVLTEtlYno3bUxwazYKU01lRVh
196dc0 50 53 31 41 30 61 57 52 46 63 58 68 35 55 54 64 50 4e 32 5a 43 64 55 68 4e 5a 57 52 7a 55 57 68 PS1A0aWRFcXh5UTdPN2ZCdUhNZWRzUWh
196de0 31 4b 33 42 79 57 54 4e 7a 61 54 4e 43 56 58 6c 4c 5a 6c 46 30 55 44 56 44 57 6d 35 59 4d 6d 4a 1K3ByWTNzaTNCVXlLZlF0UDVDWm5YMmJ
196e00 77 4d 48 64 4c 53 48 68 59 4d 54 4a 45 57 41 6f 78 62 6d 5a 47 53 58 51 35 52 47 4a 48 64 6b 68 wMHdLSHhYMTJEWAoxbmZGSXQ5RGJHdkh
196e20 55 59 33 6c 50 64 55 34 72 62 6c 70 4d 55 45 4a 74 4d 33 5a 58 65 47 35 30 65 55 6c 4a 64 6c 5a UY3lPdU4rblpMUEJtM3ZXeG50eUlJdlZ
196e40 42 5a 30 31 43 51 55 46 48 61 6c 46 71 51 6b 46 4e 51 57 74 48 51 54 46 56 5a 45 56 33 55 55 4e BZ01CQUFHalFqQkFNQWtHQTFVZEV3UUN
196e60 4e 51 55 46 33 43 6b 56 52 57 55 70 5a 53 56 70 4a 51 56 6c 69 4e 46 46 6e 52 55 4a 43 51 56 46 NQUF3CkVRWUpZSVpJQVliNFFnRUJCQVF
196e80 45 51 57 64 6c 51 55 31 42 63 30 64 42 4d 56 56 6b 52 48 64 52 52 55 46 33 53 55 5a 76 52 45 46 EQWdlQU1Bc0dBMVVkRHdRRUF3SUZvREF
196ea0 55 51 6d 64 4f 56 6b 68 54 56 55 56 45 52 45 46 4c 51 6d 64 6e 63 6b 4a 6e 52 55 59 4b 51 6c 46 UQmdOVkhTVUVEREFLQmdnckJnRUYKQlF
196ec0 6a 52 45 46 71 51 55 35 43 5a 32 74 78 61 47 74 70 52 7a 6c 33 4d 45 4a 42 55 56 56 47 51 55 46 jREFqQU5CZ2txaGtpRzl3MEJBUVVGQUF
196ee0 50 51 30 46 52 52 55 46 48 4d 47 5a 61 57 56 6c 44 56 47 4a 6b 61 6a 46 59 57 57 4d 72 4d 56 4e PQ0FRRUFHMGZaWVlDVGJkajFYWWMrMVN
196f00 75 62 32 46 51 55 69 74 32 53 54 68 44 4f 45 4e 68 52 41 6f 34 4b 7a 42 56 57 57 68 6b 62 6e 6c ub2FQUit2SThDOENhRAo4KzBVWWhkbnl
196f20 56 4e 47 64 6e 59 54 42 43 51 57 4e 45 63 6c 6b 35 5a 54 6b 30 5a 55 56 42 64 54 5a 61 63 58 6c VNGdnYTBCQWNEclk5ZTk0ZUVBdTZacXl
196f40 6a 52 6a 5a 47 61 6b 78 78 57 46 68 6b 51 57 4a 76 63 48 42 58 62 32 4e 79 4e 6c 51 32 52 30 51 jRjZGakxxWFhkQWJvcHBXb2NyNlQ2R0Q
196f60 78 65 44 4d 7a 51 32 74 73 43 6c 5a 42 63 6e 70 48 4c 30 74 34 55 57 39 6f 52 30 51 79 53 6d 56 xeDMzQ2tsClZBcnpHL0t4UW9oR0QySmV
196f80 78 61 32 68 4a 54 57 78 45 62 32 31 34 53 45 38 33 61 32 45 7a 4f 53 74 50 59 54 68 70 4d 6e 5a xa2hJTWxEb214SE83a2EzOStPYThpMnZ
196fa0 58 54 46 5a 35 61 6c 55 34 51 56 70 32 56 30 31 42 63 6e 56 49 59 54 52 46 52 55 35 35 52 7a 63 XTFZ5alU4QVp2V01BcnVIYTRFRU55Rzc
196fc0 4b 62 46 63 79 51 57 46 6e 59 55 5a 4c 52 6b 4e 79 4f 56 52 75 57 46 52 6d 63 6d 52 34 52 31 5a KbFcyQWFnYUZLRkNyOVRuWFRmcmR4R1Z
196fe0 46 59 6e 59 33 53 31 5a 52 4e 6d 4a 6b 61 47 63 31 63 44 56 54 61 6e 42 58 53 44 45 72 54 58 45 FYnY3S1ZRNmJkaGc1cDVTanBXSDErTXE
197000 77 4d 33 56 53 4d 31 70 59 55 45 4a 5a 5a 48 6c 57 4f 44 4d 78 4f 51 70 76 4d 47 78 57 61 6a 46 wM3VSM1pYUEJZZHlWODMxOQpvMGxWajF
197020 4c 52 6b 6b 79 52 45 4e 4d 4c 32 78 70 56 32 6c 7a 53 6c 4a 76 62 32 59 72 4d 57 4e 53 4d 7a 56 LRkkyRENML2xpV2lzSlJvb2YrMWNSMzV
197040 44 64 47 51 77 64 31 6c 43 59 33 42 43 4e 6c 52 61 63 32 78 4e 59 30 39 51 62 44 63 32 5a 48 64 DdGQwd1lCY3BCNlRac2xNY09QbDc2ZHd
197060 4c 64 30 70 6e 5a 55 70 76 4d 6c 46 6e 43 6c 70 7a 5a 6d 31 6a 4d 6e 5a 44 4d 53 39 78 54 32 78 Ld0pnZUpvMlFnClpzZm1jMnZDMS9xT2x
197080 4f 64 55 35 78 4c 7a 42 55 65 6e 70 72 56 6b 64 32 4f 45 56 55 56 44 4e 44 5a 32 46 56 4b 31 56 OdU5xLzBUenprVkd2OEVUVDNDZ2FVK1V
1970a0 59 5a 54 52 59 54 31 5a 32 61 32 4e 6a 5a 57 4a 4b 62 6a 4a 6b 5a 7a 30 39 43 69 30 74 4c 53 30 YZTRYT1Z2a2NjZWJKbjJkZz09Ci0tLS0
1970c0 74 52 55 35 45 49 45 4e 46 55 6c 52 4a 52 6b 6c 44 51 56 52 46 4c 53 30 74 4c 53 30 4b 27 3b 0a tRU5EIENFUlRJRklDQVRFLS0tLS0K';.
1970e0 24 73 63 72 69 70 74 20 3d 20 3c 3c 3c 27 45 4f 54 27 0a 0a 65 72 72 6f 72 5f 72 65 70 6f 72 74 $script.=.<<<'EOT'..error_report
197100 69 6e 67 28 2d 31 29 3b 0a 24 69 6e 66 6f 20 3d 20 6f 70 65 6e 73 73 6c 5f 78 35 30 39 5f 70 61 ing(-1);.$info.=.openssl_x509_pa
197120 72 73 65 28 62 61 73 65 36 34 5f 64 65 63 6f 64 65 28 27 25 73 27 29 29 3b 0a 76 61 72 5f 64 75 rse(base64_decode('%s'));.var_du
197140 6d 70 28 50 48 50 5f 56 45 52 53 49 4f 4e 2c 20 24 69 6e 66 6f 5b 27 69 73 73 75 65 72 27 5d 5b mp(PHP_VERSION,.$info['issuer'][
197160 27 65 6d 61 69 6c 41 64 64 72 65 73 73 27 5d 2c 20 24 69 6e 66 6f 5b 27 76 61 6c 69 64 46 72 6f 'emailAddress'],.$info['validFro
197180 6d 5f 74 69 6d 65 5f 74 27 5d 29 3b 0a 0a 45 4f 54 3b 0a 24 73 63 72 69 70 74 20 3d 20 27 3c 27 m_time_t']);..EOT;.$script.=.'<'
1971a0 2e 22 3f 70 68 70 5c 6e 22 2e 73 70 72 69 6e 74 66 28 24 73 63 72 69 70 74 2c 20 24 63 65 72 74 ."?php\n".sprintf($script,.$cert
1971c0 29 3b 0a 0a 74 72 79 20 7b 0a 24 70 72 6f 63 65 73 73 20 3d 20 6e 65 77 20 50 68 70 50 72 6f 63 );..try.{.$process.=.new.PhpProc
1971e0 65 73 73 28 24 73 63 72 69 70 74 29 3b 0a 24 70 72 6f 63 65 73 73 2d 3e 6d 75 73 74 52 75 6e 28 ess($script);.$process->mustRun(
197200 29 3b 0a 7d 20 63 61 74 63 68 20 28 5c 45 78 63 65 70 74 69 6f 6e 20 24 65 29 20 7b 0a 0a 20 0a );.}.catch.(\Exception.$e).{....
197220 20 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d .return.self::$useOpensslParse.=
197240 20 66 61 6c 73 65 3b 0a 7d 0a 0a 24 6f 75 74 70 75 74 20 3d 20 70 72 65 67 5f 73 70 6c 69 74 28 .false;.}..$output.=.preg_split(
197260 27 7b 5c 72 3f 5c 6e 7d 27 2c 20 74 72 69 6d 28 24 70 72 6f 63 65 73 73 2d 3e 67 65 74 4f 75 74 '{\r?\n}',.trim($process->getOut
197280 70 75 74 28 29 29 29 3b 0a 24 65 72 72 6f 72 4f 75 74 70 75 74 20 3d 20 74 72 69 6d 28 24 70 72 put()));.$errorOutput.=.trim($pr
1972a0 6f 63 65 73 73 2d 3e 67 65 74 45 72 72 6f 72 4f 75 74 70 75 74 28 29 29 3b 0a 0a 69 66 20 28 0a ocess->getErrorOutput());..if.(.
1972c0 63 6f 75 6e 74 28 24 6f 75 74 70 75 74 29 20 3d 3d 3d 20 33 0a 26 26 20 24 6f 75 74 70 75 74 5b count($output).===.3.&&.$output[
1972e0 30 5d 20 3d 3d 3d 20 73 70 72 69 6e 74 66 28 27 73 74 72 69 6e 67 28 25 64 29 20 22 25 73 22 27 0].===.sprintf('string(%d)."%s"'
197300 2c 20 73 74 72 6c 65 6e 28 50 48 50 5f 56 45 52 53 49 4f 4e 29 2c 20 50 48 50 5f 56 45 52 53 49 ,.strlen(PHP_VERSION),.PHP_VERSI
197320 4f 4e 29 0a 26 26 20 24 6f 75 74 70 75 74 5b 31 5d 20 3d 3d 3d 20 27 73 74 72 69 6e 67 28 32 37 ON).&&.$output[1].===.'string(27
197340 29 20 22 73 74 65 66 61 6e 2e 65 73 73 65 72 40 73 65 6b 74 69 6f 6e 65 69 6e 73 2e 64 65 22 27 )."stefan.esser@sektioneins.de"'
197360 0a 26 26 20 24 6f 75 74 70 75 74 5b 32 5d 20 3d 3d 3d 20 27 69 6e 74 28 2d 31 29 27 0a 26 26 20 .&&.$output[2].===.'int(-1)'.&&.
197380 70 72 65 67 5f 6d 61 74 63 68 28 27 7b 6f 70 65 6e 73 73 6c 5f 78 35 30 39 5f 70 61 72 73 65 5c preg_match('{openssl_x509_parse\
1973a0 28 5c 29 3a 20 69 6c 6c 65 67 61 6c 20 28 3f 3a 41 53 4e 31 20 64 61 74 61 20 74 79 70 65 20 66 (\):.illegal.(?:ASN1.data.type.f
1973c0 6f 72 7c 6c 65 6e 67 74 68 20 69 6e 29 20 74 69 6d 65 73 74 61 6d 70 20 69 6e 20 2d 20 6f 6e 20 or|length.in).timestamp.in.-.on.
1973e0 6c 69 6e 65 20 5c 64 2b 7d 27 2c 20 24 65 72 72 6f 72 4f 75 74 70 75 74 29 0a 29 20 7b 0a 0a 20 line.\d+}',.$errorOutput).).{...
197400 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 61 72 73 65 20 3d 20 return.self::$useOpensslParse.=.
197420 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 true;.}..return.self::$useOpenss
197440 6c 50 61 72 73 65 20 3d 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 lParse.=.false;.}.....public.sta
197460 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 29 0a 7b 0a 73 65 6c 66 3a 3a 24 63 61 tic.function.reset().{.self::$ca
197480 46 69 6c 65 56 61 6c 69 64 69 74 79 20 3d 20 61 72 72 61 79 28 29 3b 0a 73 65 6c 66 3a 3a 24 63 FileValidity.=.array();.self::$c
1974a0 61 50 61 74 68 20 3d 20 6e 75 6c 6c 3b 0a 73 65 6c 66 3a 3a 24 75 73 65 4f 70 65 6e 73 73 6c 50 aPath.=.null;.self::$useOpensslP
1974c0 61 72 73 65 20 3d 20 6e 75 6c 6c 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 66 arse.=.null;.}..private.static.f
1974e0 75 6e 63 74 69 6f 6e 20 63 61 46 69 6c 65 55 73 61 62 6c 65 28 24 63 65 72 74 46 69 6c 65 2c 20 unction.caFileUsable($certFile,.
197500 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 20 3d 20 6e 75 6c 6c 29 0a LoggerInterface.$logger.=.null).
197520 7b 0a 72 65 74 75 72 6e 20 24 63 65 72 74 46 69 6c 65 20 26 26 20 40 69 73 5f 66 69 6c 65 28 24 {.return.$certFile.&&.@is_file($
197540 63 65 72 74 46 69 6c 65 29 20 26 26 20 40 69 73 5f 72 65 61 64 61 62 6c 65 28 24 63 65 72 74 46 certFile).&&.@is_readable($certF
197560 69 6c 65 29 20 26 26 20 73 74 61 74 69 63 3a 3a 76 61 6c 69 64 61 74 65 43 61 46 69 6c 65 28 24 ile).&&.static::validateCaFile($
197580 63 65 72 74 46 69 6c 65 2c 20 24 6c 6f 67 67 65 72 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 73 certFile,.$logger);.}..private.s
1975a0 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 61 44 69 72 55 73 61 62 6c 65 28 24 63 65 72 74 tatic.function.caDirUsable($cert
1975c0 44 69 72 29 0a 7b 0a 72 65 74 75 72 6e 20 24 63 65 72 74 44 69 72 20 26 26 20 40 69 73 5f 64 69 Dir).{.return.$certDir.&&.@is_di
1975e0 72 28 24 63 65 72 74 44 69 72 29 20 26 26 20 40 69 73 5f 72 65 61 64 61 62 6c 65 28 24 63 65 72 r($certDir).&&.@is_readable($cer
197600 74 44 69 72 29 20 26 26 20 67 6c 6f 62 28 24 63 65 72 74 44 69 72 20 2e 20 27 2f 2a 27 29 3b 0a tDir).&&.glob($certDir...'/*');.
197620 7d 0a 7d 0a 4d 49 54 20 4c 69 63 65 6e 73 65 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 }.}.MIT.License..Copyright.(c).2
197640 30 31 37 20 43 6f 6d 70 6f 73 65 72 0a 0a 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 017.Composer..Permission.is.here
197660 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 by.granted,.free.of.charge,.to.a
197680 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 68 ny.person.obtaining.a.copy.of.th
1976a0 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d is.software.and.associated.docum
1976c0 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c entation.files.(the."Software"),
1976e0 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 .to.deal.in.the.Software.without
197700 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 .restriction,.including.without.
197720 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 0a 74 6f 20 75 73 65 2c 20 63 6f limitation.the.rights.to.use,.co
197740 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 py,.modify,.merge,.publish,.dist
197760 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 0a ribute,.sublicense,.and/or.sell.
197780 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 copies.of.the.Software,.and.to.p
1977a0 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 ermit.persons.to.whom.the.Softwa
1977c0 72 65 20 69 73 0a 66 75 72 6e 69 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 re.is.furnished.to.do.so,.subjec
1977e0 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a t.to.the.following.conditions:..
197800 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 The.above.copyright.notice.and.t
197820 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 his.permission.notice.shall.be.i
197840 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e ncluded.in.all.copies.or.substan
197860 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a tial.portions.of.the.Software...
197880 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 THE.SOFTWARE.IS.PROVIDED."AS.IS"
1978a0 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 ,.WITHOUT.WARRANTY.OF.ANY.KIND,.
1978c0 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 EXPRESS.OR.IMPLIED,.INCLUDING.BU
1978e0 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 T.NOT.LIMITED.TO.THE.WARRANTIES.
197900 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 OF.MERCHANTABILITY,.FITNESS.FOR.
197920 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 A.PARTICULAR.PURPOSE.AND.NONINFR
197940 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a INGEMENT..IN.NO.EVENT.SHALL.THE.
197960 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 AUTHORS.OR.COPYRIGHT.HOLDERS.BE.
197980 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 LIABLE.FOR.ANY.CLAIM,.DAMAGES.OR
1979a0 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 .OTHER.LIABILITY,.WHETHER.IN.AN.
1979c0 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 ACTION.OF.CONTRACT,.TORT.OR.OTHE
1979e0 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 RWISE,.ARISING.FROM,.OUT.OF.OR.I
197a00 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f N.CONNECTION.WITH.THE.SOFTWARE.O
197a20 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 20 54 R.THE.USE.OR.OTHER.DEALINGS.IN.T
197a40 48 45 0a 53 4f 46 54 57 41 52 45 2e 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d HE.SOFTWARE..<?php...........nam
197a60 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3b 0a 0a espace.Composer\XdebugHandler;..
197a80 0a 0a 0a 63 6c 61 73 73 20 50 68 70 43 6f 6e 66 69 67 0a 7b 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ...class.PhpConfig.{......public
197aa0 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 4f 72 69 67 69 6e 61 6c 28 29 0a 7b 0a 24 74 68 69 73 2d .function.useOriginal().{.$this-
197ac0 3e 67 65 74 44 61 74 61 41 6e 64 52 65 73 65 74 28 29 3b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 >getDataAndReset();.return.array
197ae0 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 53 ();.}.......public.function.useS
197b00 74 61 6e 64 61 72 64 28 29 0a 7b 0a 69 66 20 28 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 tandard().{.if.($data.=.$this->g
197b20 65 74 44 61 74 61 41 6e 64 52 65 73 65 74 28 29 29 20 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 79 etDataAndReset()).{.return.array
197b40 28 27 2d 6e 27 2c 20 27 2d 63 27 2c 20 24 64 61 74 61 5b 27 74 6d 70 49 6e 69 27 5d 29 3b 0a 7d ('-n',.'-c',.$data['tmpIni']);.}
197b60 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ..return.array();.}.......public
197b80 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 50 65 72 73 69 73 74 65 6e 74 28 29 0a 7b 0a 69 66 20 28 .function.usePersistent().{.if.(
197ba0 24 64 61 74 61 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 44 61 74 61 41 6e 64 52 65 73 65 74 28 29 $data.=.$this->getDataAndReset()
197bc0 29 20 7b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 27 50 48 50 52 43 27 2c 20 24 64 61 ).{.Process::setEnv('PHPRC',.$da
197be0 74 61 5b 27 74 6d 70 49 6e 69 27 5d 29 3b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 27 ta['tmpIni']);.Process::setEnv('
197c00 50 48 50 5f 49 4e 49 5f 53 43 41 4e 5f 44 49 52 27 2c 20 27 27 29 3b 0a 7d 0a 0a 72 65 74 75 72 PHP_INI_SCAN_DIR',.'');.}..retur
197c20 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 n.array();.}.......private.funct
197c40 69 6f 6e 20 67 65 74 44 61 74 61 41 6e 64 52 65 73 65 74 28 29 0a 7b 0a 69 66 20 28 24 64 61 74 ion.getDataAndReset().{.if.($dat
197c60 61 20 3d 20 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3a 3a 67 65 74 52 65 73 74 61 72 74 53 65 74 a.=.XdebugHandler::getRestartSet
197c80 74 69 6e 67 73 28 29 29 20 7b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 27 50 48 50 52 tings()).{.Process::setEnv('PHPR
197ca0 43 27 2c 20 24 64 61 74 61 5b 27 70 68 70 72 63 27 5d 29 3b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 C',.$data['phprc']);.Process::se
197cc0 74 45 6e 76 28 27 50 48 50 5f 49 4e 49 5f 53 43 41 4e 5f 44 49 52 27 2c 20 24 64 61 74 61 5b 27 tEnv('PHP_INI_SCAN_DIR',.$data['
197ce0 73 63 61 6e 44 69 72 27 5d 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 64 61 74 61 3b 0a 7d 0a 7d scanDir']);.}..return.$data;.}.}
197d00 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f .<?php...........namespace.Compo
197d20 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 ser\XdebugHandler;.........class
197d40 20 50 72 6f 63 65 73 73 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 .Process.{...........public.stat
197d60 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6f 6c 6f 72 4f 70 74 69 6f 6e 28 61 72 72 61 79 ic.function.addColorOption(array
197d80 20 24 61 72 67 73 2c 20 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 29 0a 7b 0a 69 66 20 28 21 24 63 6f .$args,.$colorOption).{.if.(!$co
197da0 6c 6f 72 4f 70 74 69 6f 6e 0a 7c 7c 20 69 6e 5f 61 72 72 61 79 28 24 63 6f 6c 6f 72 4f 70 74 69 lorOption.||.in_array($colorOpti
197dc0 6f 6e 2c 20 24 61 72 67 73 29 0a 7c 7c 20 21 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 5e 2d 2d 28 on,.$args).||.!preg_match('/^--(
197de0 5b 61 2d 7a 5d 2b 24 29 7c 28 5e 2d 2d 5b 61 2d 7a 5d 2b 3d 29 2f 27 2c 20 24 63 6f 6c 6f 72 4f [a-z]+$)|(^--[a-z]+=)/',.$colorO
197e00 70 74 69 6f 6e 2c 20 24 6d 61 74 63 68 65 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 72 67 73 ption,.$matches)).{.return.$args
197e20 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 29 20 7b 0a 0a ;.}..if.(isset($matches[2])).{..
197e40 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 28 24 69 6e 64 65 78 20 3d 20 61 72 72 61 79 5f 73 .if.(false.!==.($index.=.array_s
197e60 65 61 72 63 68 28 24 6d 61 74 63 68 65 73 5b 32 5d 2e 27 61 75 74 6f 27 2c 20 24 61 72 67 73 29 earch($matches[2].'auto',.$args)
197e80 29 29 20 7b 0a 24 61 72 67 73 5b 24 69 6e 64 65 78 5d 20 3d 20 24 63 6f 6c 6f 72 4f 70 74 69 6f )).{.$args[$index].=.$colorOptio
197ea0 6e 3b 0a 72 65 74 75 72 6e 20 24 61 72 67 73 3b 0a 7d 20 65 6c 73 65 69 66 20 28 70 72 65 67 5f n;.return.$args;.}.elseif.(preg_
197ec0 67 72 65 70 28 27 2f 5e 27 2e 24 6d 61 74 63 68 65 73 5b 32 5d 2e 27 2f 27 2c 20 24 61 72 67 73 grep('/^'.$matches[2].'/',.$args
197ee0 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 72 67 73 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 69 )).{.return.$args;.}.}.elseif.(i
197f00 6e 5f 61 72 72 61 79 28 27 2d 2d 6e 6f 2d 27 2e 24 6d 61 74 63 68 65 73 5b 31 5d 2c 20 24 61 72 n_array('--no-'.$matches[1],.$ar
197f20 67 73 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 61 72 67 73 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 gs)).{.return.$args;.}..if.(fals
197f40 65 20 21 3d 3d 20 28 24 69 6e 64 65 78 20 3d 20 61 72 72 61 79 5f 73 65 61 72 63 68 28 27 2d 2d e.!==.($index.=.array_search('--
197f60 27 2c 20 24 61 72 67 73 29 29 29 20 7b 0a 0a 20 61 72 72 61 79 5f 73 70 6c 69 63 65 28 24 61 72 ',.$args))).{...array_splice($ar
197f80 67 73 2c 20 24 69 6e 64 65 78 2c 20 30 2c 20 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 29 3b 0a 7d 20 gs,.$index,.0,.$colorOption);.}.
197fa0 65 6c 73 65 20 7b 0a 24 61 72 67 73 5b 5d 20 3d 20 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 3b 0a 7d else.{.$args[].=.$colorOption;.}
197fc0 0a 0a 72 65 74 75 72 6e 20 24 61 72 67 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ..return.$args;.}..............p
197fe0 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 73 63 61 70 65 28 24 61 72 ublic.static.function.escape($ar
198000 67 2c 20 24 6d 65 74 61 20 3d 20 74 72 75 65 2c 20 24 6d 6f 64 75 6c 65 20 3d 20 66 61 6c 73 65 g,.$meta.=.true,.$module.=.false
198020 29 0a 7b 0a 69 66 20 28 21 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 ).{.if.(!defined('PHP_WINDOWS_VE
198040 52 53 49 4f 4e 5f 42 55 49 4c 44 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 22 27 22 2e 73 74 72 5f RSION_BUILD')).{.return."'".str_
198060 72 65 70 6c 61 63 65 28 22 27 22 2c 20 22 27 5c 5c 27 27 22 2c 20 24 61 72 67 29 2e 22 27 22 3b replace("'",."'\\''",.$arg)."'";
198080 0a 7d 0a 0a 24 71 75 6f 74 65 20 3d 20 73 74 72 70 62 72 6b 28 24 61 72 67 2c 20 22 20 5c 74 22 .}..$quote.=.strpbrk($arg,.".\t"
1980a0 29 20 21 3d 3d 20 66 61 6c 73 65 20 7c 7c 20 24 61 72 67 20 3d 3d 3d 20 27 27 3b 0a 0a 24 61 72 ).!==.false.||.$arg.===.'';..$ar
1980c0 67 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 28 5c 5c 5c 5c 2a 29 22 2f 27 2c 20 27 g.=.preg_replace('/(\\\\*)"/',.'
1980e0 24 31 24 31 5c 5c 22 27 2c 20 24 61 72 67 2c 20 2d 31 2c 20 24 64 71 75 6f 74 65 73 29 3b 0a 0a $1$1\\"',.$arg,.-1,.$dquotes);..
198100 69 66 20 28 24 6d 65 74 61 29 20 7b 0a 24 6d 65 74 61 20 3d 20 24 64 71 75 6f 74 65 73 20 7c 7c if.($meta).{.$meta.=.$dquotes.||
198120 20 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 25 5b 5e 25 5d 2b 25 2f 27 2c 20 24 61 72 67 29 3b 0a .preg_match('/%[^%]+%/',.$arg);.
198140 0a 69 66 20 28 21 24 6d 65 74 61 29 20 7b 0a 24 71 75 6f 74 65 20 3d 20 24 71 75 6f 74 65 20 7c .if.(!$meta).{.$quote.=.$quote.|
198160 7c 20 73 74 72 70 62 72 6b 28 24 61 72 67 2c 20 27 5e 26 7c 3c 3e 28 29 27 29 20 21 3d 3d 20 66 |.strpbrk($arg,.'^&|<>()').!==.f
198180 61 6c 73 65 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 6d 6f 64 75 6c 65 20 26 26 20 21 24 64 71 75 alse;.}.elseif.($module.&&.!$dqu
1981a0 6f 74 65 73 20 26 26 20 24 71 75 6f 74 65 29 20 7b 0a 24 6d 65 74 61 20 3d 20 66 61 6c 73 65 3b otes.&&.$quote).{.$meta.=.false;
1981c0 0a 7d 0a 7d 0a 0a 69 66 20 28 24 71 75 6f 74 65 29 20 7b 0a 24 61 72 67 20 3d 20 27 22 27 2e 70 .}.}..if.($quote).{.$arg.=.'"'.p
1981e0 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 28 5c 5c 5c 5c 2a 29 24 2f 27 2c 20 27 24 31 24 31 27 reg_replace('/(\\\\*)$/',.'$1$1'
198200 2c 20 24 61 72 67 29 2e 27 22 27 3b 0a 7d 0a 0a 69 66 20 28 24 6d 65 74 61 29 20 7b 0a 24 61 72 ,.$arg).'"';.}..if.($meta).{.$ar
198220 67 20 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 27 2f 28 5b 22 5e 26 7c 3c 3e 28 29 25 5d 29 g.=.preg_replace('/(["^&|<>()%])
198240 2f 27 2c 20 27 5e 24 31 27 2c 20 24 61 72 67 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 61 72 67 /',.'^$1',.$arg);.}..return.$arg
198260 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e ;.}............public.static.fun
198280 63 74 69 6f 6e 20 73 75 70 70 6f 72 74 73 43 6f 6c 6f 72 28 24 6f 75 74 70 75 74 29 0a 7b 0a 69 ction.supportsColor($output).{.i
1982a0 66 20 28 64 65 66 69 6e 65 64 28 27 50 48 50 5f 57 49 4e 44 4f 57 53 5f 56 45 52 53 49 4f 4e 5f f.(defined('PHP_WINDOWS_VERSION_
1982c0 42 55 49 4c 44 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 BUILD')).{.return.(function_exis
1982e0 74 73 28 27 73 61 70 69 5f 77 69 6e 64 6f 77 73 5f 76 74 31 30 30 5f 73 75 70 70 6f 72 74 27 29 ts('sapi_windows_vt100_support')
198300 0a 26 26 20 73 61 70 69 5f 77 69 6e 64 6f 77 73 5f 76 74 31 30 30 5f 73 75 70 70 6f 72 74 28 24 .&&.sapi_windows_vt100_support($
198320 6f 75 74 70 75 74 29 29 0a 7c 7c 20 66 61 6c 73 65 20 21 3d 3d 20 67 65 74 65 6e 76 28 27 41 4e output)).||.false.!==.getenv('AN
198340 53 49 43 4f 4e 27 29 0a 7c 7c 20 27 4f 4e 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 43 6f 6e 45 SICON').||.'ON'.===.getenv('ConE
198360 6d 75 41 4e 53 49 27 29 0a 7c 7c 20 27 78 74 65 72 6d 27 20 3d 3d 3d 20 67 65 74 65 6e 76 28 27 muANSI').||.'xterm'.===.getenv('
198380 54 45 52 4d 27 29 3b 0a 7d 0a 0a 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 TERM');.}..if.(function_exists('
1983a0 73 74 72 65 61 6d 5f 69 73 61 74 74 79 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 73 74 72 65 61 6d stream_isatty')).{.return.stream
1983c0 5f 69 73 61 74 74 79 28 24 6f 75 74 70 75 74 29 3b 0a 7d 20 65 6c 73 65 69 66 20 28 66 75 6e 63 _isatty($output);.}.elseif.(func
1983e0 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 70 6f 73 69 78 5f 69 73 61 74 74 79 27 29 29 20 7b 0a 72 tion_exists('posix_isatty')).{.r
198400 65 74 75 72 6e 20 70 6f 73 69 78 5f 69 73 61 74 74 79 28 24 6f 75 74 70 75 74 29 3b 0a 7d 0a 0a eturn.posix_isatty($output);.}..
198420 24 73 74 61 74 20 3d 20 66 73 74 61 74 28 24 6f 75 74 70 75 74 29 3b 0a 0a 20 72 65 74 75 72 6e $stat.=.fstat($output);...return
198440 20 24 73 74 61 74 20 3f 20 30 30 32 30 30 30 30 20 3d 3d 3d 20 28 24 73 74 61 74 5b 27 6d 6f 64 .$stat.?.0020000.===.($stat['mod
198460 65 27 5d 20 26 20 30 31 37 30 30 30 30 29 20 3a 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a e'].&.0170000).:.false;.}.......
198480 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 6e 76 ...public.static.function.setEnv
1984a0 28 24 6e 61 6d 65 2c 20 24 76 61 6c 75 65 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 24 75 6e 73 65 74 ($name,.$value.=.false).{.$unset
1984c0 20 3d 20 66 61 6c 73 65 20 3d 3d 3d 20 24 76 61 6c 75 65 3b 0a 0a 69 66 20 28 21 70 75 74 65 6e .=.false.===.$value;..if.(!puten
1984e0 76 28 24 75 6e 73 65 74 20 3f 20 24 6e 61 6d 65 20 3a 20 24 6e 61 6d 65 2e 27 3d 27 2e 24 76 61 v($unset.?.$name.:.$name.'='.$va
198500 6c 75 65 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 75 6e lue)).{.return.false;.}..if.($un
198520 73 65 74 29 20 7b 0a 75 6e 73 65 74 28 24 5f 53 45 52 56 45 52 5b 24 6e 61 6d 65 5d 29 3b 0a 7d set).{.unset($_SERVER[$name]);.}
198540 20 65 6c 73 65 20 7b 0a 24 5f 53 45 52 56 45 52 5b 24 6e 61 6d 65 5d 20 3d 20 24 76 61 6c 75 65 .else.{.$_SERVER[$name].=.$value
198560 3b 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 69 70 6f 73 28 28 73 74 ;.}....if.(false.!==.stripos((st
198580 72 69 6e 67 29 20 69 6e 69 5f 67 65 74 28 27 76 61 72 69 61 62 6c 65 73 5f 6f 72 64 65 72 27 29 ring).ini_get('variables_order')
1985a0 2c 20 27 45 27 29 29 20 7b 0a 69 66 20 28 24 75 6e 73 65 74 29 20 7b 0a 75 6e 73 65 74 28 24 5f ,.'E')).{.if.($unset).{.unset($_
1985c0 45 4e 56 5b 24 6e 61 6d 65 5d 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 5f 45 4e 56 5b 24 6e 61 6d ENV[$name]);.}.else.{.$_ENV[$nam
1985e0 65 5d 20 3d 20 24 76 61 6c 75 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d e].=.$value;.}.}..return.true;.}
198600 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d .}.<?php...........namespace.Com
198620 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f poser\XdebugHandler;..use.Psr\Lo
198640 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c g\LoggerInterface;.use.Psr\Log\L
198660 6f 67 4c 65 76 65 6c 3b 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 53 74 61 74 75 73 0a 7b 0a 63 6f 6e ogLevel;......class.Status.{.con
198680 73 74 20 45 4e 56 5f 52 45 53 54 41 52 54 20 3d 20 27 58 44 45 42 55 47 5f 48 41 4e 44 4c 45 52 st.ENV_RESTART.=.'XDEBUG_HANDLER
1986a0 5f 52 45 53 54 41 52 54 27 3b 0a 63 6f 6e 73 74 20 43 48 45 43 4b 20 3d 20 27 43 68 65 63 6b 27 _RESTART';.const.CHECK.=.'Check'
1986c0 3b 0a 63 6f 6e 73 74 20 45 52 52 4f 52 20 3d 20 27 45 72 72 6f 72 27 3b 0a 63 6f 6e 73 74 20 49 ;.const.ERROR.=.'Error';.const.I
1986e0 4e 46 4f 20 3d 20 27 49 6e 66 6f 27 3b 0a 63 6f 6e 73 74 20 4e 4f 52 45 53 54 41 52 54 20 3d 20 NFO.=.'Info';.const.NORESTART.=.
198700 27 4e 6f 52 65 73 74 61 72 74 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 20 3d 20 27 52 65 'NoRestart';.const.RESTART.=.'Re
198720 73 74 61 72 74 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 49 4e 47 20 3d 20 27 52 65 73 74 start';.const.RESTARTING.=.'Rest
198740 61 72 74 69 6e 67 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 45 44 20 3d 20 27 52 65 73 74 arting';.const.RESTARTED.=.'Rest
198760 61 72 74 65 64 27 3b 0a 0a 70 72 69 76 61 74 65 20 24 64 65 62 75 67 3b 0a 70 72 69 76 61 74 65 arted';..private.$debug;.private
198780 20 24 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 61 64 65 .$envAllowXdebug;.private.$loade
1987a0 64 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 67 67 65 72 3b 0a 70 72 69 76 61 74 65 20 24 74 69 6d d;.private.$logger;.private.$tim
1987c0 65 3b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 e;........public.function.__cons
1987e0 74 72 75 63 74 28 24 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 2c 20 24 64 65 62 75 67 29 0a 7b truct($envAllowXdebug,.$debug).{
198800 0a 24 73 74 61 72 74 20 3d 20 67 65 74 65 6e 76 28 73 65 6c 66 3a 3a 45 4e 56 5f 52 45 53 54 41 .$start.=.getenv(self::ENV_RESTA
198820 52 54 29 3b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 73 65 6c 66 3a 3a 45 4e 56 5f 52 RT);.Process::setEnv(self::ENV_R
198840 45 53 54 41 52 54 29 3b 0a 24 74 68 69 73 2d 3e 74 69 6d 65 20 3d 20 24 73 74 61 72 74 20 3f 20 ESTART);.$this->time.=.$start.?.
198860 72 6f 75 6e 64 28 28 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 20 2d 20 24 73 74 61 72 74 29 round((microtime(true).-.$start)
198880 20 2a 20 31 30 30 30 29 20 3a 20 30 3b 0a 0a 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 .*.1000).:.0;..$this->envAllowXd
1988a0 65 62 75 67 20 3d 20 24 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 3b 0a 24 74 68 69 73 2d 3e 64 ebug.=.$envAllowXdebug;.$this->d
1988c0 65 62 75 67 20 3d 20 24 64 65 62 75 67 20 26 26 20 64 65 66 69 6e 65 64 28 27 53 54 44 45 52 52 ebug.=.$debug.&&.defined('STDERR
1988e0 27 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 67 ');.}.....public.function.setLog
198900 67 65 72 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 29 0a 7b 0a 24 ger(LoggerInterface.$logger).{.$
198920 74 68 69 73 2d 3e 6c 6f 67 67 65 72 20 3d 20 24 6c 6f 67 67 65 72 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a this->logger.=.$logger;.}.......
198940 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 28 24 6f 70 2c 20 24 64 61 .public.function.report($op,.$da
198960 74 61 29 0a 7b 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 20 7c 7c 20 24 74 68 69 73 ta).{.if.($this->logger.||.$this
198980 2d 3e 64 65 62 75 67 29 20 7b 0a 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 61 72 72 61 79 28 ->debug).{.call_user_func(array(
1989a0 24 74 68 69 73 2c 20 27 72 65 70 6f 72 74 27 2e 24 6f 70 29 2c 20 24 64 61 74 61 29 3b 0a 7d 0a $this,.'report'.$op),.$data);.}.
1989c0 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6f 75 74 70 75 74 }........private.function.output
1989e0 28 24 74 65 78 74 2c 20 24 6c 65 76 65 6c 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 69 66 20 28 24 74 68 ($text,.$level.=.null).{.if.($th
198a00 69 73 2d 3e 6c 6f 67 67 65 72 29 20 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 67 65 72 2d 3e 6c 6f 67 is->logger).{.$this->logger->log
198a20 28 24 6c 65 76 65 6c 20 3f 3a 20 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 74 65 78 ($level.?:.LogLevel::DEBUG,.$tex
198a40 74 29 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 62 75 67 29 20 7b 0a 66 77 72 69 74 t);.}..if.($this->debug).{.fwrit
198a60 65 28 53 54 44 45 52 52 2c 20 73 70 72 69 6e 74 66 28 27 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 e(STDERR,.sprintf('xdebug-handle
198a80 72 5b 25 64 5d 20 25 73 27 2c 20 67 65 74 6d 79 70 69 64 28 29 2c 20 24 74 65 78 74 2e 50 48 50 r[%d].%s',.getmypid(),.$text.PHP
198aa0 5f 45 4f 4c 29 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 _EOL));.}.}..private.function.re
198ac0 70 6f 72 74 43 68 65 63 6b 28 24 6c 6f 61 64 65 64 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 portCheck($loaded).{.$this->load
198ae0 65 64 20 3d 20 24 6c 6f 61 64 65 64 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 27 43 68 65 ed.=.$loaded;.$this->output('Che
198b00 63 6b 69 6e 67 20 27 2e 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 29 3b 0a cking.'.$this->envAllowXdebug);.
198b20 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 45 72 72 6f 72 28 }..private.function.reportError(
198b40 24 65 72 72 6f 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 73 70 72 69 6e 74 66 28 $error).{.$this->output(sprintf(
198b60 27 4e 6f 20 72 65 73 74 61 72 74 20 28 25 73 29 27 2c 20 24 65 72 72 6f 72 29 2c 20 4c 6f 67 4c 'No.restart.(%s)',.$error),.LogL
198b80 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 evel::WARNING);.}..private.funct
198ba0 69 6f 6e 20 72 65 70 6f 72 74 49 6e 66 6f 28 24 69 6e 66 6f 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f ion.reportInfo($info).{.$this->o
198bc0 75 74 70 75 74 28 24 69 6e 66 6f 29 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f utput($info);.}..private.functio
198be0 6e 20 72 65 70 6f 72 74 4e 6f 52 65 73 74 61 72 74 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6f 75 74 n.reportNoRestart().{.$this->out
198c00 70 75 74 28 24 74 68 69 73 2d 3e 67 65 74 4c 6f 61 64 65 64 4d 65 73 73 61 67 65 28 29 29 3b 0a put($this->getLoadedMessage());.
198c20 0a 69 66 20 28 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 29 20 7b 0a 24 74 65 78 74 20 3d 20 73 70 .if.($this->loaded).{.$text.=.sp
198c40 72 69 6e 74 66 28 27 4e 6f 20 72 65 73 74 61 72 74 20 28 25 73 29 27 2c 20 24 74 68 69 73 2d 3e rintf('No.restart.(%s)',.$this->
198c60 67 65 74 45 6e 76 41 6c 6c 6f 77 28 29 29 3b 0a 69 66 20 28 21 67 65 74 65 6e 76 28 24 74 68 69 getEnvAllow());.if.(!getenv($thi
198c80 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 29 29 20 7b 0a 24 74 65 78 74 20 2e 3d 20 27 s->envAllowXdebug)).{.$text..=.'
198ca0 20 41 6c 6c 6f 77 65 64 20 62 79 20 61 70 70 6c 69 63 61 74 69 6f 6e 27 3b 0a 7d 0a 24 74 68 69 .Allowed.by.application';.}.$thi
198cc0 73 2d 3e 6f 75 74 70 75 74 28 24 74 65 78 74 29 3b 0a 7d 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 s->output($text);.}.}..private.f
198ce0 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 52 65 73 74 61 72 74 28 29 0a 7b 0a 24 74 68 69 73 2d unction.reportRestart().{.$this-
198d00 3e 6f 75 74 70 75 74 28 24 74 68 69 73 2d 3e 67 65 74 4c 6f 61 64 65 64 4d 65 73 73 61 67 65 28 >output($this->getLoadedMessage(
198d20 29 29 3b 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 73 65 6c 66 3a 3a 45 4e 56 5f 52 45 ));.Process::setEnv(self::ENV_RE
198d40 53 54 41 52 54 2c 20 28 73 74 72 69 6e 67 29 20 6d 69 63 72 6f 74 69 6d 65 28 74 72 75 65 29 29 START,.(string).microtime(true))
198d60 3b 0a 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 52 65 73 74 ;.}..private.function.reportRest
198d80 61 72 74 65 64 28 29 0a 7b 0a 24 6c 6f 61 64 65 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f arted().{.$loaded.=.$this->getLo
198da0 61 64 65 64 4d 65 73 73 61 67 65 28 29 3b 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 28 27 adedMessage();.$text.=.sprintf('
198dc0 52 65 73 74 61 72 74 65 64 20 28 25 64 20 6d 73 29 2e 20 25 73 27 2c 20 24 74 68 69 73 2d 3e 74 Restarted.(%d.ms)..%s',.$this->t
198de0 69 6d 65 2c 20 24 6c 6f 61 64 65 64 29 3b 0a 24 6c 65 76 65 6c 20 3d 20 24 74 68 69 73 2d 3e 6c ime,.$loaded);.$level.=.$this->l
198e00 6f 61 64 65 64 20 3f 20 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 20 3a 20 6e 75 6c 6c oaded.?.LogLevel::WARNING.:.null
198e20 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 24 74 65 78 74 2c 20 24 6c 65 76 65 6c 29 3b 0a ;.$this->output($text,.$level);.
198e40 7d 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6f 72 74 52 65 73 74 61 72 }..private.function.reportRestar
198e60 74 69 6e 67 28 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 74 65 78 74 20 3d 20 73 70 72 69 6e 74 66 ting($command).{.$text.=.sprintf
198e80 28 27 50 72 6f 63 65 73 73 20 72 65 73 74 61 72 74 69 6e 67 20 28 25 73 29 27 2c 20 24 74 68 69 ('Process.restarting.(%s)',.$thi
198ea0 73 2d 3e 67 65 74 45 6e 76 41 6c 6c 6f 77 28 29 29 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 s->getEnvAllow());.$this->output
198ec0 28 24 74 65 78 74 29 3b 0a 24 74 65 78 74 20 3d 20 27 52 75 6e 6e 69 6e 67 20 27 2e 24 63 6f 6d ($text);.$text.=.'Running.'.$com
198ee0 6d 61 6e 64 3b 0a 24 74 68 69 73 2d 3e 6f 75 74 70 75 74 28 24 74 65 78 74 29 3b 0a 7d 0a 0a 0a mand;.$this->output($text);.}...
198f00 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 45 6e 76 41 6c 6c 6f 77 ....private.function.getEnvAllow
198f20 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 ().{.return.$this->envAllowXdebu
198f40 67 2e 27 3d 27 2e 67 65 74 65 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 g.'='.getenv($this->envAllowXdeb
198f60 75 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 ug);.}.......private.function.ge
198f80 74 4c 6f 61 64 65 64 4d 65 73 73 61 67 65 28 29 0a 7b 0a 24 6c 6f 61 64 65 64 20 3d 20 24 74 68 tLoadedMessage().{.$loaded.=.$th
198fa0 69 73 2d 3e 6c 6f 61 64 65 64 20 3f 20 73 70 72 69 6e 74 66 28 27 6c 6f 61 64 65 64 20 28 25 73 is->loaded.?.sprintf('loaded.(%s
198fc0 29 27 2c 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 29 20 3a 20 27 6e 6f 74 20 6c 6f 61 64 65 64 )',.$this->loaded).:.'not.loaded
198fe0 27 3b 0a 72 65 74 75 72 6e 20 27 54 68 65 20 78 64 65 62 75 67 20 65 78 74 65 6e 73 69 6f 6e 20 ';.return.'The.xdebug.extension.
199000 69 73 20 27 2e 24 6c 6f 61 64 65 64 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a is.'.$loaded;.}.}.<?php.........
199020 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c ..namespace.Composer\XdebugHandl
199040 65 72 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 er;..use.Psr\Log\LoggerInterface
199060 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 20 58 64 65 62 75 67 48 61 6e 64 6c 65 72 0a 7b 0a 63 6f 6e 73 ;.....class.XdebugHandler.{.cons
199080 74 20 53 55 46 46 49 58 5f 41 4c 4c 4f 57 20 3d 20 27 5f 41 4c 4c 4f 57 5f 58 44 45 42 55 47 27 t.SUFFIX_ALLOW.=.'_ALLOW_XDEBUG'
1990a0 3b 0a 63 6f 6e 73 74 20 53 55 46 46 49 58 5f 49 4e 49 53 20 3d 20 27 5f 4f 52 49 47 49 4e 41 4c ;.const.SUFFIX_INIS.=.'_ORIGINAL
1990c0 5f 49 4e 49 53 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 5f 49 44 20 3d 20 27 69 6e 74 65 _INIS';.const.RESTART_ID.=.'inte
1990e0 72 6e 61 6c 27 3b 0a 63 6f 6e 73 74 20 52 45 53 54 41 52 54 5f 53 45 54 54 49 4e 47 53 20 3d 20 rnal';.const.RESTART_SETTINGS.=.
199100 27 58 44 45 42 55 47 5f 48 41 4e 44 4c 45 52 5f 53 45 54 54 49 4e 47 53 27 3b 0a 63 6f 6e 73 74 'XDEBUG_HANDLER_SETTINGS';.const
199120 20 44 45 42 55 47 20 3d 20 27 58 44 45 42 55 47 5f 48 41 4e 44 4c 45 52 5f 44 45 42 55 47 27 3b .DEBUG.=.'XDEBUG_HANDLER_DEBUG';
199140 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 74 6d 70 49 6e 69 3b 0a 0a 70 72 69 76 61 74 65 20 73 ...protected.$tmpIni;..private.s
199160 74 61 74 69 63 20 24 69 6e 52 65 73 74 61 72 74 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 tatic.$inRestart;.private.static
199180 20 24 6e 61 6d 65 3b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 24 73 6b 69 70 70 65 64 3b .$name;.private.static.$skipped;
1991a0 0a 0a 70 72 69 76 61 74 65 20 24 63 6c 69 3b 0a 70 72 69 76 61 74 65 20 24 63 6f 6c 6f 72 4f 70 ..private.$cli;.private.$colorOp
1991c0 74 69 6f 6e 3b 0a 70 72 69 76 61 74 65 20 24 64 65 62 75 67 3b 0a 70 72 69 76 61 74 65 20 24 65 tion;.private.$debug;.private.$e
1991e0 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 3b 0a 70 72 69 76 61 74 65 20 24 65 6e 76 4f 72 69 67 69 nvAllowXdebug;.private.$envOrigi
199200 6e 61 6c 49 6e 69 73 3b 0a 70 72 69 76 61 74 65 20 24 6c 6f 61 64 65 64 3b 0a 70 72 69 76 61 74 nalInis;.private.$loaded;.privat
199220 65 20 24 70 65 72 73 69 73 74 65 6e 74 3b 0a 70 72 69 76 61 74 65 20 24 73 63 72 69 70 74 3b 0a e.$persistent;.private.$script;.
199240 0a 70 72 69 76 61 74 65 20 24 73 74 61 74 75 73 57 72 69 74 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a .private.$statusWriter;.........
199260 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 6f 6e 73 74 72 75 63 74 28 ....public.function.__construct(
199280 24 65 6e 76 50 72 65 66 69 78 2c 20 24 63 6f 6c 6f 72 4f 70 74 69 6f 6e 20 3d 20 27 27 29 0a 7b $envPrefix,.$colorOption.=.'').{
1992a0 0a 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 65 6e 76 50 72 65 66 69 78 29 20 7c 7c 20 65 .if.(!is_string($envPrefix).||.e
1992c0 6d 70 74 79 28 24 65 6e 76 50 72 65 66 69 78 29 20 7c 7c 20 21 69 73 5f 73 74 72 69 6e 67 28 24 mpty($envPrefix).||.!is_string($
1992e0 63 6f 6c 6f 72 4f 70 74 69 6f 6e 29 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 52 75 6e 74 69 colorOption)).{.throw.new.\Runti
199300 6d 65 45 78 63 65 70 74 69 6f 6e 28 27 49 6e 76 61 6c 69 64 20 63 6f 6e 73 74 72 75 63 74 6f 72 meException('Invalid.constructor
199320 20 70 61 72 61 6d 65 74 65 72 27 29 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 6e 61 6d 65 20 3d 20 73 .parameter');.}..self::$name.=.s
199340 74 72 74 6f 75 70 70 65 72 28 24 65 6e 76 50 72 65 66 69 78 29 3b 0a 24 74 68 69 73 2d 3e 65 6e trtoupper($envPrefix);.$this->en
199360 76 41 6c 6c 6f 77 58 64 65 62 75 67 20 3d 20 73 65 6c 66 3a 3a 24 6e 61 6d 65 2e 73 65 6c 66 3a vAllowXdebug.=.self::$name.self:
199380 3a 53 55 46 46 49 58 5f 41 4c 4c 4f 57 3b 0a 24 74 68 69 73 2d 3e 65 6e 76 4f 72 69 67 69 6e 61 :SUFFIX_ALLOW;.$this->envOrigina
1993a0 6c 49 6e 69 73 20 3d 20 73 65 6c 66 3a 3a 24 6e 61 6d 65 2e 73 65 6c 66 3a 3a 53 55 46 46 49 58 lInis.=.self::$name.self::SUFFIX
1993c0 5f 49 4e 49 53 3b 0a 0a 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 4f 70 74 69 6f 6e 20 3d 20 24 63 6f _INIS;..$this->colorOption.=.$co
1993e0 6c 6f 72 4f 70 74 69 6f 6e 3b 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 lorOption;..if.(extension_loaded
199400 28 27 78 64 65 62 75 67 27 29 29 20 7b 0a 24 65 78 74 20 3d 20 6e 65 77 20 5c 52 65 66 6c 65 63 ('xdebug')).{.$ext.=.new.\Reflec
199420 74 69 6f 6e 45 78 74 65 6e 73 69 6f 6e 28 27 78 64 65 62 75 67 27 29 3b 0a 24 74 68 69 73 2d 3e tionExtension('xdebug');.$this->
199440 6c 6f 61 64 65 64 20 3d 20 24 65 78 74 2d 3e 67 65 74 56 65 72 73 69 6f 6e 28 29 20 3f 3a 20 27 loaded.=.$ext->getVersion().?:.'
199460 75 6e 6b 6e 6f 77 6e 27 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 69 20 3d 20 50 48 unknown';.}..if.($this->cli.=.PH
199480 50 5f 53 41 50 49 20 3d 3d 3d 20 27 63 6c 69 27 29 20 7b 0a 24 74 68 69 73 2d 3e 64 65 62 75 67 P_SAPI.===.'cli').{.$this->debug
1994a0 20 3d 20 67 65 74 65 6e 76 28 73 65 6c 66 3a 3a 44 45 42 55 47 29 3b 0a 7d 0a 0a 24 74 68 69 73 .=.getenv(self::DEBUG);.}..$this
1994c0 2d 3e 73 74 61 74 75 73 57 72 69 74 65 72 20 3d 20 6e 65 77 20 53 74 61 74 75 73 28 24 74 68 69 ->statusWriter.=.new.Status($thi
1994e0 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 2c 20 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d s->envAllowXdebug,.(bool).$this-
199500 3e 64 65 62 75 67 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 >debug);.}.........public.functi
199520 6f 6e 20 73 65 74 4c 6f 67 67 65 72 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f on.setLogger(LoggerInterface.$lo
199540 67 67 65 72 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 57 72 69 74 65 72 2d 3e 73 65 74 gger).{.$this->statusWriter->set
199560 4c 6f 67 67 65 72 28 24 6c 6f 67 67 65 72 29 3b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d Logger($logger);.return.$this;.}
199580 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4d 61 69 6e .........public.function.setMain
1995a0 53 63 72 69 70 74 28 24 73 63 72 69 70 74 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 63 72 69 70 74 20 Script($script).{.$this->script.
1995c0 3d 20 24 73 63 72 69 70 74 3b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a =.$script;.return.$this;.}......
1995e0 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 50 65 72 73 69 73 74 65 6e 74 28 29 .public.function.setPersistent()
199600 0a 7b 0a 24 74 68 69 73 2d 3e 70 65 72 73 69 73 74 65 6e 74 20 3d 20 74 72 75 65 3b 0a 72 65 74 .{.$this->persistent.=.true;.ret
199620 75 72 6e 20 24 74 68 69 73 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 urn.$this;.}.........public.func
199640 74 69 6f 6e 20 63 68 65 63 6b 28 29 0a 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 tion.check().{.$this->notify(Sta
199660 74 75 73 3a 3a 43 48 45 43 4b 2c 20 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 29 3b 0a 24 65 6e 76 tus::CHECK,.$this->loaded);.$env
199680 41 72 67 73 20 3d 20 65 78 70 6c 6f 64 65 28 27 7c 27 2c 20 28 73 74 72 69 6e 67 29 20 67 65 74 Args.=.explode('|',.(string).get
1996a0 65 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 29 29 3b 0a 0a 69 66 env($this->envAllowXdebug));..if
1996c0 20 28 65 6d 70 74 79 28 24 65 6e 76 41 72 67 73 5b 30 5d 29 20 26 26 20 24 74 68 69 73 2d 3e 72 .(empty($envArgs[0]).&&.$this->r
1996e0 65 71 75 69 72 65 73 52 65 73 74 61 72 74 28 28 62 6f 6f 6c 29 20 24 74 68 69 73 2d 3e 6c 6f 61 equiresRestart((bool).$this->loa
199700 64 65 64 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a ded)).{...$this->notify(Status::
199720 52 45 53 54 41 52 54 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 72 65 70 61 72 65 52 65 73 RESTART);..if.($this->prepareRes
199740 74 61 72 74 28 29 29 20 7b 0a 24 63 6f 6d 6d 61 6e 64 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 43 tart()).{.$command.=.$this->getC
199760 6f 6d 6d 61 6e 64 28 29 3b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a ommand();.$this->notify(Status::
199780 52 45 53 54 41 52 54 49 4e 47 2c 20 24 63 6f 6d 6d 61 6e 64 29 3b 0a 24 74 68 69 73 2d 3e 72 65 RESTARTING,.$command);.$this->re
1997a0 73 74 61 72 74 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 69 66 start($command);.}.return;.}..if
1997c0 20 28 73 65 6c 66 3a 3a 52 45 53 54 41 52 54 5f 49 44 20 3d 3d 3d 20 24 65 6e 76 41 72 67 73 5b .(self::RESTART_ID.===.$envArgs[
1997e0 30 5d 20 26 26 20 63 6f 75 6e 74 28 24 65 6e 76 41 72 67 73 29 20 3d 3d 3d 20 35 29 20 7b 0a 0a 0].&&.count($envArgs).===.5).{..
199800 20 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 52 45 53 54 41 52 54 45 44 .$this->notify(Status::RESTARTED
199820 29 3b 0a 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 41 6c );..Process::setEnv($this->envAl
199840 6c 6f 77 58 64 65 62 75 67 29 3b 0a 73 65 6c 66 3a 3a 24 69 6e 52 65 73 74 61 72 74 20 3d 20 74 lowXdebug);.self::$inRestart.=.t
199860 72 75 65 3b 0a 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 29 20 7b 0a 0a 20 73 65 rue;..if.(!$this->loaded).{...se
199880 6c 66 3a 3a 24 73 6b 69 70 70 65 64 20 3d 20 24 65 6e 76 41 72 67 73 5b 31 5d 3b 0a 7d 0a 0a 0a lf::$skipped.=.$envArgs[1];.}...
1998a0 20 24 74 68 69 73 2d 3e 73 65 74 45 6e 76 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 73 28 24 65 .$this->setEnvRestartSettings($e
1998c0 6e 76 41 72 67 73 29 3b 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 nvArgs);.return;.}..$this->notif
1998e0 79 28 53 74 61 74 75 73 3a 3a 4e 4f 52 45 53 54 41 52 54 29 3b 0a 0a 69 66 20 28 24 73 65 74 74 y(Status::NORESTART);..if.($sett
199900 69 6e 67 73 20 3d 20 73 65 6c 66 3a 3a 67 65 74 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 73 28 ings.=.self::getRestartSettings(
199920 29 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 73 79 6e 63 53 65 74 74 69 6e 67 73 28 24 73 65 74 74 )).{...$this->syncSettings($sett
199940 69 6e 67 73 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 ings);.}.}..........public.stati
199960 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 6c 6c 49 6e 69 46 69 6c 65 73 28 29 0a 7b 0a 69 66 c.function.getAllIniFiles().{.if
199980 20 28 21 65 6d 70 74 79 28 73 65 6c 66 3a 3a 24 6e 61 6d 65 29 29 20 7b 0a 24 65 6e 76 20 3d 20 .(!empty(self::$name)).{.$env.=.
1999a0 67 65 74 65 6e 76 28 73 65 6c 66 3a 3a 24 6e 61 6d 65 2e 73 65 6c 66 3a 3a 53 55 46 46 49 58 5f getenv(self::$name.self::SUFFIX_
1999c0 49 4e 49 53 29 3b 0a 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 65 6e 76 29 20 7b 0a 72 65 INIS);..if.(false.!==.$env).{.re
1999e0 74 75 72 6e 20 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 65 6e turn.explode(PATH_SEPARATOR,.$en
199a00 76 29 3b 0a 7d 0a 7d 0a 0a 24 70 61 74 68 73 20 3d 20 61 72 72 61 79 28 28 73 74 72 69 6e 67 29 v);.}.}..$paths.=.array((string)
199a20 20 70 68 70 5f 69 6e 69 5f 6c 6f 61 64 65 64 5f 66 69 6c 65 28 29 29 3b 0a 0a 69 66 20 28 24 73 .php_ini_loaded_file());..if.($s
199a40 63 61 6e 6e 65 64 20 3d 20 70 68 70 5f 69 6e 69 5f 73 63 61 6e 6e 65 64 5f 66 69 6c 65 73 28 29 canned.=.php_ini_scanned_files()
199a60 29 20 7b 0a 24 70 61 74 68 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 61 74 68 73 2c ).{.$paths.=.array_merge($paths,
199a80 20 61 72 72 61 79 5f 6d 61 70 28 27 74 72 69 6d 27 2c 20 65 78 70 6c 6f 64 65 28 27 2c 27 2c 20 .array_map('trim',.explode(',',.
199aa0 24 73 63 61 6e 6e 65 64 29 29 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 70 61 74 68 73 3b 0a 7d $scanned)));.}..return.$paths;.}
199ac0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e ..........public.static.function
199ae0 20 67 65 74 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 73 28 29 0a 7b 0a 24 65 6e 76 41 72 67 73 .getRestartSettings().{.$envArgs
199b00 20 3d 20 65 78 70 6c 6f 64 65 28 27 7c 27 2c 20 28 73 74 72 69 6e 67 29 20 67 65 74 65 6e 76 28 .=.explode('|',.(string).getenv(
199b20 73 65 6c 66 3a 3a 52 45 53 54 41 52 54 5f 53 45 54 54 49 4e 47 53 29 29 3b 0a 0a 69 66 20 28 63 self::RESTART_SETTINGS));..if.(c
199b40 6f 75 6e 74 28 24 65 6e 76 41 72 67 73 29 20 21 3d 3d 20 36 0a 7c 7c 20 28 21 73 65 6c 66 3a 3a ount($envArgs).!==.6.||.(!self::
199b60 24 69 6e 52 65 73 74 61 72 74 20 26 26 20 70 68 70 5f 69 6e 69 5f 6c 6f 61 64 65 64 5f 66 69 6c $inRestart.&&.php_ini_loaded_fil
199b80 65 28 29 20 21 3d 3d 20 24 65 6e 76 41 72 67 73 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 3b 0a e().!==.$envArgs[0])).{.return;.
199ba0 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 74 6d 70 49 6e 69 27 20 3d 3e 20 24 65 6e }..return.array(.'tmpIni'.=>.$en
199bc0 76 41 72 67 73 5b 30 5d 2c 0a 27 73 63 61 6e 6e 65 64 49 6e 69 73 27 20 3d 3e 20 28 62 6f 6f 6c vArgs[0],.'scannedInis'.=>.(bool
199be0 29 20 24 65 6e 76 41 72 67 73 5b 31 5d 2c 0a 27 73 63 61 6e 44 69 72 27 20 3d 3e 20 27 2a 27 20 ).$envArgs[1],.'scanDir'.=>.'*'.
199c00 3d 3d 3d 20 24 65 6e 76 41 72 67 73 5b 32 5d 20 3f 20 66 61 6c 73 65 20 3a 20 24 65 6e 76 41 72 ===.$envArgs[2].?.false.:.$envAr
199c20 67 73 5b 32 5d 2c 0a 27 70 68 70 72 63 27 20 3d 3e 20 27 2a 27 20 3d 3d 3d 20 24 65 6e 76 41 72 gs[2],.'phprc'.=>.'*'.===.$envAr
199c40 67 73 5b 33 5d 20 3f 20 66 61 6c 73 65 20 3a 20 24 65 6e 76 41 72 67 73 5b 33 5d 2c 0a 27 69 6e gs[3].?.false.:.$envArgs[3],.'in
199c60 69 73 27 20 3d 3e 20 65 78 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 is'.=>.explode(PATH_SEPARATOR,.$
199c80 65 6e 76 41 72 67 73 5b 34 5d 29 2c 0a 27 73 6b 69 70 70 65 64 27 20 3d 3e 20 24 65 6e 76 41 72 envArgs[4]),.'skipped'.=>.$envAr
199ca0 67 73 5b 35 5d 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 gs[5],.);.}.......public.static.
199cc0 66 75 6e 63 74 69 6f 6e 20 67 65 74 53 6b 69 70 70 65 64 56 65 72 73 69 6f 6e 28 29 0a 7b 0a 72 function.getSkippedVersion().{.r
199ce0 65 74 75 72 6e 20 28 73 74 72 69 6e 67 29 20 73 65 6c 66 3a 3a 24 73 6b 69 70 70 65 64 3b 0a 7d eturn.(string).self::$skipped;.}
199d00 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 .........protected.function.requ
199d20 69 72 65 73 52 65 73 74 61 72 74 28 24 69 73 4c 6f 61 64 65 64 29 0a 7b 0a 72 65 74 75 72 6e 20 iresRestart($isLoaded).{.return.
199d40 24 69 73 4c 6f 61 64 65 64 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 66 75 6e $isLoaded;.}.......protected.fun
199d60 63 74 69 6f 6e 20 72 65 73 74 61 72 74 28 24 63 6f 6d 6d 61 6e 64 29 0a 7b 0a 24 74 68 69 73 2d ction.restart($command).{.$this-
199d80 3e 64 6f 52 65 73 74 61 72 74 28 24 63 6f 6d 6d 61 6e 64 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 >doRestart($command);.}.......pr
199da0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 52 65 73 74 61 72 74 28 24 63 6f 6d 6d 61 6e ivate.function.doRestart($comman
199dc0 64 29 0a 7b 0a 70 61 73 73 74 68 72 75 28 24 63 6f 6d 6d 61 6e 64 2c 20 24 65 78 69 74 43 6f 64 d).{.passthru($command,.$exitCod
199de0 65 29 3b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 49 4e 46 4f 2c 20 e);.$this->notify(Status::INFO,.
199e00 27 52 65 73 74 61 72 74 65 64 20 70 72 6f 63 65 73 73 20 65 78 69 74 65 64 20 27 2e 24 65 78 69 'Restarted.process.exited.'.$exi
199e20 74 43 6f 64 65 29 3b 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 64 65 62 75 67 20 3d 3d 3d 20 27 32 tCode);..if.($this->debug.===.'2
199e40 27 29 20 7b 0a 24 74 68 69 73 2d 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 49 4e 46 4f 2c ').{.$this->notify(Status::INFO,
199e60 20 27 54 65 6d 70 20 69 6e 69 20 73 61 76 65 64 3a 20 27 2e 24 74 68 69 73 2d 3e 74 6d 70 49 6e .'Temp.ini.saved:.'.$this->tmpIn
199e80 69 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 40 75 6e 6c 69 6e 6b 28 24 74 68 69 73 2d 3e 74 6d 70 49 i);.}.else.{.@unlink($this->tmpI
199ea0 6e 69 29 3b 0a 7d 0a 0a 65 78 69 74 28 24 65 78 69 74 43 6f 64 65 29 3b 0a 7d 0a 0a 0a 0a 0a 0a ni);.}..exit($exitCode);.}......
199ec0 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 70 61 72 65 52 65 ......private.function.prepareRe
199ee0 73 74 61 72 74 28 29 0a 7b 0a 24 65 72 72 6f 72 20 3d 20 27 27 3b 0a 24 69 6e 69 46 69 6c 65 73 start().{.$error.=.'';.$iniFiles
199f00 20 3d 20 73 65 6c 66 3a 3a 67 65 74 41 6c 6c 49 6e 69 46 69 6c 65 73 28 29 3b 0a 24 73 63 61 6e .=.self::getAllIniFiles();.$scan
199f20 6e 65 64 49 6e 69 73 20 3d 20 63 6f 75 6e 74 28 24 69 6e 69 46 69 6c 65 73 29 20 3e 20 31 3b 0a nedInis.=.count($iniFiles).>.1;.
199f40 24 74 6d 70 44 69 72 20 3d 20 73 79 73 5f 67 65 74 5f 74 65 6d 70 5f 64 69 72 28 29 3b 0a 0a 69 $tmpDir.=.sys_get_temp_dir();..i
199f60 66 20 28 21 24 74 68 69 73 2d 3e 63 6c 69 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 27 55 6e 73 75 f.(!$this->cli).{.$error.=.'Unsu
199f80 70 70 6f 72 74 65 64 20 53 41 50 49 3a 20 27 2e 50 48 50 5f 53 41 50 49 3b 0a 7d 20 65 6c 73 65 pported.SAPI:.'.PHP_SAPI;.}.else
199fa0 69 66 20 28 21 64 65 66 69 6e 65 64 28 27 50 48 50 5f 42 49 4e 41 52 59 27 29 29 20 7b 0a 24 65 if.(!defined('PHP_BINARY')).{.$e
199fc0 72 72 6f 72 20 3d 20 27 50 48 50 20 76 65 72 73 69 6f 6e 20 69 73 20 74 6f 6f 20 6f 6c 64 3a 20 rror.=.'PHP.version.is.too.old:.
199fe0 27 2e 50 48 50 5f 56 45 52 53 49 4f 4e 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 2d '.PHP_VERSION;.}.elseif.(!$this-
19a000 3e 63 68 65 63 6b 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 28 24 69 6e 66 6f 29 29 20 7b 0a 24 65 >checkConfiguration($info)).{.$e
19a020 72 72 6f 72 20 3d 20 24 69 6e 66 6f 3b 0a 7d 20 65 6c 73 65 69 66 20 28 21 24 74 68 69 73 2d 3e rror.=.$info;.}.elseif.(!$this->
19a040 63 68 65 63 6b 53 63 61 6e 44 69 72 43 6f 6e 66 69 67 28 29 29 20 7b 0a 24 65 72 72 6f 72 20 3d checkScanDirConfig()).{.$error.=
19a060 20 27 50 48 50 20 76 65 72 73 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 72 65 70 6f 72 74 20 73 63 .'PHP.version.does.not.report.sc
19a080 61 6e 6e 65 64 20 69 6e 69 73 3a 20 27 2e 50 48 50 5f 56 45 52 53 49 4f 4e 3b 0a 7d 20 65 6c 73 anned.inis:.'.PHP_VERSION;.}.els
19a0a0 65 69 66 20 28 21 24 74 68 69 73 2d 3e 63 68 65 63 6b 4d 61 69 6e 53 63 72 69 70 74 28 29 29 20 eif.(!$this->checkMainScript()).
19a0c0 7b 0a 24 65 72 72 6f 72 20 3d 20 27 55 6e 61 62 6c 65 20 74 6f 20 61 63 63 65 73 73 20 6d 61 69 {.$error.=.'Unable.to.access.mai
19a0e0 6e 20 73 63 72 69 70 74 3a 20 27 2e 24 74 68 69 73 2d 3e 73 63 72 69 70 74 3b 0a 7d 20 65 6c 73 n.script:.'.$this->script;.}.els
19a100 65 69 66 20 28 21 24 74 68 69 73 2d 3e 77 72 69 74 65 54 6d 70 49 6e 69 28 24 69 6e 69 46 69 6c eif.(!$this->writeTmpIni($iniFil
19a120 65 73 2c 20 24 74 6d 70 44 69 72 2c 20 24 65 72 72 6f 72 29 29 20 7b 0a 24 65 72 72 6f 72 20 3d es,.$tmpDir,.$error)).{.$error.=
19a140 20 24 65 72 72 6f 72 20 3f 3a 20 27 55 6e 61 62 6c 65 20 74 6f 20 63 72 65 61 74 65 20 74 65 6d .$error.?:.'Unable.to.create.tem
19a160 70 20 69 6e 69 20 66 69 6c 65 20 61 74 3a 20 27 2e 24 74 6d 70 44 69 72 3b 0a 7d 20 65 6c 73 65 p.ini.file.at:.'.$tmpDir;.}.else
19a180 69 66 20 28 21 24 74 68 69 73 2d 3e 73 65 74 45 6e 76 69 72 6f 6e 6d 65 6e 74 28 24 73 63 61 6e if.(!$this->setEnvironment($scan
19a1a0 6e 65 64 49 6e 69 73 2c 20 24 69 6e 69 46 69 6c 65 73 29 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 nedInis,.$iniFiles)).{.$error.=.
19a1c0 27 55 6e 61 62 6c 65 20 74 6f 20 73 65 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 'Unable.to.set.environment.varia
19a1e0 62 6c 65 73 27 3b 0a 7d 0a 0a 69 66 20 28 24 65 72 72 6f 72 29 20 7b 0a 24 74 68 69 73 2d 3e 6e bles';.}..if.($error).{.$this->n
19a200 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 45 52 52 4f 52 2c 20 24 65 72 72 6f 72 29 3b 0a 7d 0a otify(Status::ERROR,.$error);.}.
19a220 0a 72 65 74 75 72 6e 20 65 6d 70 74 79 28 24 65 72 72 6f 72 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a .return.empty($error);.}........
19a240 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 77 72 69 74 65 54 6d 70 49 6e 69 28 ...private.function.writeTmpIni(
19a260 61 72 72 61 79 20 24 69 6e 69 46 69 6c 65 73 2c 20 24 74 6d 70 44 69 72 2c 20 26 24 65 72 72 6f array.$iniFiles,.$tmpDir,.&$erro
19a280 72 29 0a 7b 0a 69 66 20 28 21 24 74 68 69 73 2d 3e 74 6d 70 49 6e 69 20 3d 20 40 74 65 6d 70 6e r).{.if.(!$this->tmpIni.=.@tempn
19a2a0 61 6d 28 24 74 6d 70 44 69 72 2c 20 27 27 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b am($tmpDir,.'')).{.return.false;
19a2c0 0a 7d 0a 0a 0a 20 69 66 20 28 65 6d 70 74 79 28 24 69 6e 69 46 69 6c 65 73 5b 30 5d 29 29 20 7b .}....if.(empty($iniFiles[0])).{
19a2e0 0a 61 72 72 61 79 5f 73 68 69 66 74 28 24 69 6e 69 46 69 6c 65 73 29 3b 0a 7d 0a 0a 24 63 6f 6e .array_shift($iniFiles);.}..$con
19a300 74 65 6e 74 20 3d 20 27 27 3b 0a 24 72 65 67 65 78 20 3d 20 27 2f 5e 5c 73 2a 28 7a 65 6e 64 5f tent.=.'';.$regex.=.'/^\s*(zend_
19a320 65 78 74 65 6e 73 69 6f 6e 5c 73 2a 3d 2e 2a 78 64 65 62 75 67 2e 2a 29 24 2f 6d 69 27 3b 0a 0a extension\s*=.*xdebug.*)$/mi';..
19a340 66 6f 72 65 61 63 68 20 28 24 69 6e 69 46 69 6c 65 73 20 61 73 20 24 66 69 6c 65 29 20 7b 0a 0a foreach.($iniFiles.as.$file).{..
19a360 20 69 66 20 28 21 24 64 61 74 61 20 3d 20 40 66 69 6c 65 5f 67 65 74 5f 63 6f 6e 74 65 6e 74 73 .if.(!$data.=.@file_get_contents
19a380 28 24 66 69 6c 65 29 29 20 7b 0a 24 65 72 72 6f 72 20 3d 20 27 55 6e 61 62 6c 65 20 74 6f 20 72 ($file)).{.$error.=.'Unable.to.r
19a3a0 65 61 64 20 69 6e 69 3a 20 27 2e 24 66 69 6c 65 3b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a ead.ini:.'.$file;.return.false;.
19a3c0 7d 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 70 72 65 67 5f 72 65 70 6c 61 63 65 28 24 72 65 67 65 }.$content..=.preg_replace($rege
19a3e0 78 2c 20 27 3b 24 31 27 2c 20 24 64 61 74 61 29 2e 50 48 50 5f 45 4f 4c 3b 0a 7d 0a 0a 0a 20 69 x,.';$1',.$data).PHP_EOL;.}....i
19a400 66 20 28 24 63 6f 6e 66 69 67 20 3d 20 70 61 72 73 65 5f 69 6e 69 5f 73 74 72 69 6e 67 28 24 63 f.($config.=.parse_ini_string($c
19a420 6f 6e 74 65 6e 74 29 29 20 7b 0a 24 6c 6f 61 64 65 64 20 3d 20 69 6e 69 5f 67 65 74 5f 61 6c 6c ontent)).{.$loaded.=.ini_get_all
19a440 28 6e 75 6c 6c 2c 20 66 61 6c 73 65 29 3b 0a 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 24 74 68 69 73 (null,.false);.$content..=.$this
19a460 2d 3e 6d 65 72 67 65 4c 6f 61 64 65 64 43 6f 6e 66 69 67 28 24 6c 6f 61 64 65 64 2c 20 24 63 6f ->mergeLoadedConfig($loaded,.$co
19a480 6e 66 69 67 29 3b 0a 7d 0a 0a 0a 20 24 63 6f 6e 74 65 6e 74 20 2e 3d 20 27 6f 70 63 61 63 68 65 nfig);.}....$content..=.'opcache
19a4a0 2e 65 6e 61 62 6c 65 5f 63 6c 69 3d 30 27 2e 50 48 50 5f 45 4f 4c 3b 0a 0a 72 65 74 75 72 6e 20 .enable_cli=0'.PHP_EOL;..return.
19a4c0 40 66 69 6c 65 5f 70 75 74 5f 63 6f 6e 74 65 6e 74 73 28 24 74 68 69 73 2d 3e 74 6d 70 49 6e 69 @file_put_contents($this->tmpIni
19a4e0 2c 20 24 63 6f 6e 74 65 6e 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e ,.$content);.}.......private.fun
19a500 63 74 69 6f 6e 20 67 65 74 43 6f 6d 6d 61 6e 64 28 29 0a 7b 0a 24 70 68 70 20 3d 20 61 72 72 61 ction.getCommand().{.$php.=.arra
19a520 79 28 50 48 50 5f 42 49 4e 41 52 59 29 3b 0a 24 61 72 67 73 20 3d 20 61 72 72 61 79 5f 73 6c 69 y(PHP_BINARY);.$args.=.array_sli
19a540 63 65 28 24 5f 53 45 52 56 45 52 5b 27 61 72 67 76 27 5d 2c 20 31 29 3b 0a 0a 69 66 20 28 21 24 ce($_SERVER['argv'],.1);..if.(!$
19a560 74 68 69 73 2d 3e 70 65 72 73 69 73 74 65 6e 74 29 20 7b 0a 0a 20 61 72 72 61 79 5f 70 75 73 68 this->persistent).{...array_push
19a580 28 24 70 68 70 2c 20 27 2d 6e 27 2c 20 27 2d 63 27 2c 20 24 74 68 69 73 2d 3e 74 6d 70 49 6e 69 ($php,.'-n',.'-c',.$this->tmpIni
19a5a0 29 3b 0a 7d 0a 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 53 54 44 4f 55 54 27 29 20 26 26 20 50 );.}..if.(defined('STDOUT').&&.P
19a5c0 72 6f 63 65 73 73 3a 3a 73 75 70 70 6f 72 74 73 43 6f 6c 6f 72 28 53 54 44 4f 55 54 29 29 20 7b rocess::supportsColor(STDOUT)).{
19a5e0 0a 24 61 72 67 73 20 3d 20 50 72 6f 63 65 73 73 3a 3a 61 64 64 43 6f 6c 6f 72 4f 70 74 69 6f 6e .$args.=.Process::addColorOption
19a600 28 24 61 72 67 73 2c 20 24 74 68 69 73 2d 3e 63 6f 6c 6f 72 4f 70 74 69 6f 6e 29 3b 0a 7d 0a 0a ($args,.$this->colorOption);.}..
19a620 24 61 72 67 73 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 70 68 70 2c 20 61 72 72 61 79 28 $args.=.array_merge($php,.array(
19a640 24 74 68 69 73 2d 3e 73 63 72 69 70 74 29 2c 20 24 61 72 67 73 29 3b 0a 0a 24 63 6d 64 20 3d 20 $this->script),.$args);..$cmd.=.
19a660 50 72 6f 63 65 73 73 3a 3a 65 73 63 61 70 65 28 61 72 72 61 79 5f 73 68 69 66 74 28 24 61 72 67 Process::escape(array_shift($arg
19a680 73 29 2c 20 74 72 75 65 2c 20 74 72 75 65 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 61 72 67 73 20 s),.true,.true);.foreach.($args.
19a6a0 61 73 20 24 61 72 67 29 20 7b 0a 24 63 6d 64 20 2e 3d 20 27 20 27 2e 50 72 6f 63 65 73 73 3a 3a as.$arg).{.$cmd..=.'.'.Process::
19a6c0 65 73 63 61 70 65 28 24 61 72 67 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 63 6d 64 3b 0a 7d 0a escape($arg);.}..return.$cmd;.}.
19a6e0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 45 ...........private.function.setE
19a700 6e 76 69 72 6f 6e 6d 65 6e 74 28 24 73 63 61 6e 6e 65 64 49 6e 69 73 2c 20 61 72 72 61 79 20 24 nvironment($scannedInis,.array.$
19a720 69 6e 69 46 69 6c 65 73 29 0a 7b 0a 24 73 63 61 6e 44 69 72 20 3d 20 67 65 74 65 6e 76 28 27 50 iniFiles).{.$scanDir.=.getenv('P
19a740 48 50 5f 49 4e 49 5f 53 43 41 4e 5f 44 49 52 27 29 3b 0a 24 70 68 70 72 63 20 3d 20 67 65 74 65 HP_INI_SCAN_DIR');.$phprc.=.gete
19a760 6e 76 28 27 50 48 50 52 43 27 29 3b 0a 0a 0a 20 69 66 20 28 21 70 75 74 65 6e 76 28 24 74 68 69 nv('PHPRC');....if.(!putenv($thi
19a780 73 2d 3e 65 6e 76 4f 72 69 67 69 6e 61 6c 49 6e 69 73 2e 27 3d 27 2e 69 6d 70 6c 6f 64 65 28 50 s->envOriginalInis.'='.implode(P
19a7a0 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 69 6e 69 46 69 6c 65 73 29 29 29 20 7b 0a 72 65 ATH_SEPARATOR,.$iniFiles))).{.re
19a7c0 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 24 74 68 69 73 2d 3e 70 65 72 73 69 73 turn.false;.}..if.($this->persis
19a7e0 74 65 6e 74 29 20 7b 0a 0a 20 69 66 20 28 21 70 75 74 65 6e 76 28 27 50 48 50 5f 49 4e 49 5f 53 tent).{...if.(!putenv('PHP_INI_S
19a800 43 41 4e 5f 44 49 52 3d 27 29 20 7c 7c 20 21 70 75 74 65 6e 76 28 27 50 48 50 52 43 3d 27 2e 24 CAN_DIR=').||.!putenv('PHPRC='.$
19a820 74 68 69 73 2d 3e 74 6d 70 49 6e 69 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d this->tmpIni)).{.return.false;.}
19a840 0a 7d 0a 0a 0a 20 24 65 6e 76 41 72 67 73 20 3d 20 61 72 72 61 79 28 0a 73 65 6c 66 3a 3a 52 45 .}....$envArgs.=.array(.self::RE
19a860 53 54 41 52 54 5f 49 44 2c 0a 24 74 68 69 73 2d 3e 6c 6f 61 64 65 64 2c 0a 28 69 6e 74 29 20 24 START_ID,.$this->loaded,.(int).$
19a880 73 63 61 6e 6e 65 64 49 6e 69 73 2c 0a 66 61 6c 73 65 20 3d 3d 3d 20 24 73 63 61 6e 44 69 72 20 scannedInis,.false.===.$scanDir.
19a8a0 3f 20 27 2a 27 20 3a 20 24 73 63 61 6e 44 69 72 2c 0a 66 61 6c 73 65 20 3d 3d 3d 20 24 70 68 70 ?.'*'.:.$scanDir,.false.===.$php
19a8c0 72 63 20 3f 20 27 2a 27 20 3a 20 24 70 68 70 72 63 2c 0a 29 3b 0a 0a 72 65 74 75 72 6e 20 70 75 rc.?.'*'.:.$phprc,.);..return.pu
19a8e0 74 65 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 41 6c 6c 6f 77 58 64 65 62 75 67 2e 27 3d 27 2e 69 tenv($this->envAllowXdebug.'='.i
19a900 6d 70 6c 6f 64 65 28 27 7c 27 2c 20 24 65 6e 76 41 72 67 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a mplode('|',.$envArgs));.}.......
19a920 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 66 79 28 24 6f 70 2c 20 24 64 .private.function.notify($op,.$d
19a940 61 74 61 20 3d 20 6e 75 6c 6c 29 0a 7b 0a 24 74 68 69 73 2d 3e 73 74 61 74 75 73 57 72 69 74 65 ata.=.null).{.$this->statusWrite
19a960 72 2d 3e 72 65 70 6f 72 74 28 24 6f 70 2c 20 24 64 61 74 61 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a r->report($op,.$data);.}........
19a980 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 6d 65 72 67 65 4c 6f 61 64 65 64 43 6f ..private.function.mergeLoadedCo
19a9a0 6e 66 69 67 28 61 72 72 61 79 20 24 6c 6f 61 64 65 64 43 6f 6e 66 69 67 2c 20 61 72 72 61 79 20 nfig(array.$loadedConfig,.array.
19a9c0 24 69 6e 69 43 6f 6e 66 69 67 29 0a 7b 0a 24 63 6f 6e 74 65 6e 74 20 3d 20 27 27 3b 0a 0a 66 6f $iniConfig).{.$content.=.'';..fo
19a9e0 72 65 61 63 68 20 28 24 6c 6f 61 64 65 64 43 6f 6e 66 69 67 20 61 73 20 24 6e 61 6d 65 20 3d 3e reach.($loadedConfig.as.$name.=>
19aa00 20 24 76 61 6c 75 65 29 20 7b 0a 0a 20 69 66 20 28 21 69 73 5f 73 74 72 69 6e 67 28 24 76 61 6c .$value).{...if.(!is_string($val
19aa20 75 65 29 0a 7c 7c 20 73 74 72 70 6f 73 28 24 6e 61 6d 65 2c 20 27 78 64 65 62 75 67 27 29 20 3d ue).||.strpos($name,.'xdebug').=
19aa40 3d 3d 20 30 0a 7c 7c 20 24 6e 61 6d 65 20 3d 3d 3d 20 27 61 70 63 2e 6d 6d 61 70 5f 66 69 6c 65 ==.0.||.$name.===.'apc.mmap_file
19aa60 5f 6d 61 73 6b 27 29 20 7b 0a 63 6f 6e 74 69 6e 75 65 3b 0a 7d 0a 0a 69 66 20 28 21 69 73 73 65 _mask').{.continue;.}..if.(!isse
19aa80 74 28 24 69 6e 69 43 6f 6e 66 69 67 5b 24 6e 61 6d 65 5d 29 20 7c 7c 20 24 69 6e 69 43 6f 6e 66 t($iniConfig[$name]).||.$iniConf
19aaa0 69 67 5b 24 6e 61 6d 65 5d 20 21 3d 3d 20 24 76 61 6c 75 65 29 20 7b 0a 0a 20 24 63 6f 6e 74 65 ig[$name].!==.$value).{...$conte
19aac0 6e 74 20 2e 3d 20 24 6e 61 6d 65 2e 27 3d 22 27 2e 61 64 64 63 73 6c 61 73 68 65 73 28 24 76 61 nt..=.$name.'="'.addcslashes($va
19aae0 6c 75 65 2c 20 27 5c 5c 22 27 29 2e 27 22 27 2e 50 48 50 5f 45 4f 4c 3b 0a 7d 0a 7d 0a 0a 72 65 lue,.'\\"').'"'.PHP_EOL;.}.}..re
19ab00 74 75 72 6e 20 24 63 6f 6e 74 65 6e 74 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 turn.$content;.}.......private.f
19ab20 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 4d 61 69 6e 53 63 72 69 70 74 28 29 0a 7b 0a 69 66 20 28 unction.checkMainScript().{.if.(
19ab40 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 73 63 72 69 70 74 29 20 7b 0a 0a 20 72 65 74 75 null.!==.$this->script).{...retu
19ab60 72 6e 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 73 63 72 69 70 74 29 20 7c 7c rn.file_exists($this->script).||
19ab80 20 27 2d 2d 27 20 3d 3d 3d 20 24 74 68 69 73 2d 3e 73 63 72 69 70 74 3b 0a 7d 0a 0a 69 66 20 28 .'--'.===.$this->script;.}..if.(
19aba0 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 69 73 2d 3e 73 63 72 69 70 74 20 3d 20 24 5f 53 45 file_exists($this->script.=.$_SE
19abc0 52 56 45 52 5b 27 61 72 67 76 27 5d 5b 30 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 74 72 75 65 3b RVER['argv'][0])).{.return.true;
19abe0 0a 7d 0a 0a 0a 20 24 6f 70 74 69 6f 6e 73 20 3d 20 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 .}....$options.=.PHP_VERSION_ID.
19ac00 3e 3d 20 35 30 33 30 36 20 3f 20 44 45 42 55 47 5f 42 41 43 4b 54 52 41 43 45 5f 49 47 4e 4f 52 >=.50306.?.DEBUG_BACKTRACE_IGNOR
19ac20 45 5f 41 52 47 53 20 3a 20 66 61 6c 73 65 3b 0a 24 74 72 61 63 65 20 3d 20 64 65 62 75 67 5f 62 E_ARGS.:.false;.$trace.=.debug_b
19ac40 61 63 6b 74 72 61 63 65 28 24 6f 70 74 69 6f 6e 73 29 3b 0a 0a 69 66 20 28 28 24 6d 61 69 6e 20 acktrace($options);..if.(($main.
19ac60 3d 20 65 6e 64 28 24 74 72 61 63 65 29 29 20 26 26 20 69 73 73 65 74 28 24 6d 61 69 6e 5b 27 66 =.end($trace)).&&.isset($main['f
19ac80 69 6c 65 27 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 69 6c 65 5f 65 78 69 73 74 73 28 24 74 68 ile'])).{.return.file_exists($th
19aca0 69 73 2d 3e 73 63 72 69 70 74 20 3d 20 24 6d 61 69 6e 5b 27 66 69 6c 65 27 5d 29 3b 0a 7d 0a 0a is->script.=.$main['file']);.}..
19acc0 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 return.false;.}.......private.fu
19ace0 6e 63 74 69 6f 6e 20 73 65 74 45 6e 76 52 65 73 74 61 72 74 53 65 74 74 69 6e 67 73 28 24 65 6e nction.setEnvRestartSettings($en
19ad00 76 41 72 67 73 29 0a 7b 0a 24 73 65 74 74 69 6e 67 73 20 3d 20 61 72 72 61 79 28 0a 70 68 70 5f vArgs).{.$settings.=.array(.php_
19ad20 69 6e 69 5f 6c 6f 61 64 65 64 5f 66 69 6c 65 28 29 2c 0a 24 65 6e 76 41 72 67 73 5b 32 5d 2c 0a ini_loaded_file(),.$envArgs[2],.
19ad40 24 65 6e 76 41 72 67 73 5b 33 5d 2c 0a 24 65 6e 76 41 72 67 73 5b 34 5d 2c 0a 67 65 74 65 6e 76 $envArgs[3],.$envArgs[4],.getenv
19ad60 28 24 74 68 69 73 2d 3e 65 6e 76 4f 72 69 67 69 6e 61 6c 49 6e 69 73 29 2c 0a 73 65 6c 66 3a 3a ($this->envOriginalInis),.self::
19ad80 24 73 6b 69 70 70 65 64 2c 0a 29 3b 0a 0a 50 72 6f 63 65 73 73 3a 3a 73 65 74 45 6e 76 28 73 65 $skipped,.);..Process::setEnv(se
19ada0 6c 66 3a 3a 52 45 53 54 41 52 54 5f 53 45 54 54 49 4e 47 53 2c 20 69 6d 70 6c 6f 64 65 28 27 7c lf::RESTART_SETTINGS,.implode('|
19adc0 27 2c 20 24 73 65 74 74 69 6e 67 73 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 ',.$settings));.}.......private.
19ade0 66 75 6e 63 74 69 6f 6e 20 73 79 6e 63 53 65 74 74 69 6e 67 73 28 61 72 72 61 79 20 24 73 65 74 function.syncSettings(array.$set
19ae00 74 69 6e 67 73 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 67 65 74 65 6e 76 28 24 74 tings).{.if.(false.===.getenv($t
19ae20 68 69 73 2d 3e 65 6e 76 4f 72 69 67 69 6e 61 6c 49 6e 69 73 29 29 20 7b 0a 0a 20 50 72 6f 63 65 his->envOriginalInis)).{...Proce
19ae40 73 73 3a 3a 73 65 74 45 6e 76 28 24 74 68 69 73 2d 3e 65 6e 76 4f 72 69 67 69 6e 61 6c 49 6e 69 ss::setEnv($this->envOriginalIni
19ae60 73 2c 20 69 6d 70 6c 6f 64 65 28 50 41 54 48 5f 53 45 50 41 52 41 54 4f 52 2c 20 24 73 65 74 74 s,.implode(PATH_SEPARATOR,.$sett
19ae80 69 6e 67 73 5b 27 69 6e 69 73 27 5d 29 29 3b 0a 7d 0a 0a 73 65 6c 66 3a 3a 24 73 6b 69 70 70 65 ings['inis']));.}..self::$skippe
19aea0 64 20 3d 20 24 73 65 74 74 69 6e 67 73 5b 27 73 6b 69 70 70 65 64 27 5d 3b 0a 24 74 68 69 73 2d d.=.$settings['skipped'];.$this-
19aec0 3e 6e 6f 74 69 66 79 28 53 74 61 74 75 73 3a 3a 49 4e 46 4f 2c 20 27 50 72 6f 63 65 73 73 20 63 >notify(Status::INFO,.'Process.c
19aee0 61 6c 6c 65 64 20 77 69 74 68 20 65 78 69 73 74 69 6e 67 20 72 65 73 74 61 72 74 20 73 65 74 74 alled.with.existing.restart.sett
19af00 69 6e 67 73 27 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 72 69 76 61 74 65 20 66 75 6e 63 74 ings');.}..........private.funct
19af20 69 6f 6e 20 63 68 65 63 6b 53 63 61 6e 44 69 72 43 6f 6e 66 69 67 28 29 0a 7b 0a 72 65 74 75 72 ion.checkScanDirConfig().{.retur
19af40 6e 20 21 28 67 65 74 65 6e 76 28 27 50 48 50 5f 49 4e 49 5f 53 43 41 4e 5f 44 49 52 27 29 0a 26 n.!(getenv('PHP_INI_SCAN_DIR').&
19af60 26 20 21 50 48 50 5f 43 4f 4e 46 49 47 5f 46 49 4c 45 5f 53 43 41 4e 5f 44 49 52 0a 26 26 20 28 &.!PHP_CONFIG_FILE_SCAN_DIR.&&.(
19af80 50 48 50 5f 56 45 52 53 49 4f 4e 5f 49 44 20 3c 20 37 30 31 31 33 0a 7c 7c 20 50 48 50 5f 56 45 PHP_VERSION_ID.<.70113.||.PHP_VE
19afa0 52 53 49 4f 4e 5f 49 44 20 3d 3d 3d 20 37 30 32 30 30 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 72 RSION_ID.===.70200));.}.......pr
19afc0 69 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 43 6f 6e 66 69 67 75 72 61 74 69 6f ivate.function.checkConfiguratio
19afe0 6e 28 26 24 69 6e 66 6f 29 0a 7b 0a 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 73 74 72 70 6f 73 n(&$info).{.if.(false.!==.strpos
19b000 28 69 6e 69 5f 67 65 74 28 27 64 69 73 61 62 6c 65 5f 66 75 6e 63 74 69 6f 6e 73 27 29 2c 20 27 (ini_get('disable_functions'),.'
19b020 70 61 73 73 74 68 72 75 27 29 29 20 7b 0a 24 69 6e 66 6f 20 3d 20 27 70 61 73 73 74 68 72 75 20 passthru')).{.$info.=.'passthru.
19b040 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 69 73 61 62 6c 65 64 27 3b 0a 72 65 74 75 72 6e 20 66 61 function.is.disabled';.return.fa
19b060 6c 73 65 3b 0a 7d 0a 0a 69 66 20 28 65 78 74 65 6e 73 69 6f 6e 5f 6c 6f 61 64 65 64 28 27 75 6f lse;.}..if.(extension_loaded('uo
19b080 70 7a 27 29 29 20 7b 0a 0a 20 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 75 pz')).{...if.(function_exists('u
19b0a0 6f 70 7a 5f 61 6c 6c 6f 77 5f 65 78 69 74 27 29 29 20 7b 0a 40 75 6f 70 7a 5f 61 6c 6c 6f 77 5f opz_allow_exit')).{.@uopz_allow_
19b0c0 65 78 69 74 28 74 72 75 65 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 66 6f 20 3d 20 27 75 6f exit(true);.}.else.{.$info.=.'uo
19b0e0 70 7a 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6e 6f 74 20 63 6f 6d 70 61 74 69 62 6c 65 27 3b pz.extension.is.not.compatible';
19b100 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 72 65 74 75 72 6e 20 74 72 75 65 3b .return.false;.}.}..return.true;
19b120 0a 7d 0a 7d 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 31 32 20 50 48 50 20 46 72 61 6d .}.}.Copyright.(c).2012.PHP.Fram
19b140 65 77 6f 72 6b 20 49 6e 74 65 72 6f 70 65 72 61 62 69 6c 69 74 79 20 47 72 6f 75 70 0a 0a 50 65 ework.Interoperability.Group..Pe
19b160 72 6d 69 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 rmission.is.hereby.granted,.free
19b180 20 6f 66 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e .of.charge,.to.any.person.obtain
19b1a0 69 6e 67 20 61 20 63 6f 70 79 20 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 ing.a.copy..of.this.software.and
19b1c0 20 61 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 .associated.documentation.files.
19b1e0 28 74 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 (the."Software"),.to.deal.in.the
19b200 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 .Software.without.restriction,.i
19b220 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 ncluding.without.limitation.the.
19b240 72 69 67 68 74 73 20 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 rights..to.use,.copy,.modify,.me
19b260 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 rge,.publish,.distribute,.sublic
19b280 65 6e 73 65 2c 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 20 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 ense,.and/or.sell..copies.of.the
19b2a0 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 .Software,.and.to.permit.persons
19b2c0 20 74 6f 20 77 68 6f 6d 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 0a 66 75 72 6e 69 73 .to.whom.the.Software.is..furnis
19b2e0 68 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c hed.to.do.so,.subject.to.the.fol
19b300 6c 6f 77 69 6e 67 20 63 6f 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f lowing.conditions:..The.above.co
19b320 70 79 72 69 67 68 74 20 6e 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 pyright.notice.and.this.permissi
19b340 6f 6e 20 6e 6f 74 69 63 65 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 0a on.notice.shall.be.included.in..
19b360 61 6c 6c 20 63 6f 70 69 65 73 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f all.copies.or.substantial.portio
19b380 6e 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 ns.of.the.Software...THE.SOFTWAR
19b3a0 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 E.IS.PROVIDED."AS.IS",.WITHOUT.W
19b3c0 41 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a ARRANTY.OF.ANY.KIND,.EXPRESS.OR.
19b3e0 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 IMPLIED,.INCLUDING.BUT.NOT.LIMIT
19b400 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 ED.TO.THE.WARRANTIES.OF.MERCHANT
19b420 41 42 49 4c 49 54 59 2c 0a 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 ABILITY,.FITNESS.FOR.A.PARTICULA
19b440 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 R.PURPOSE.AND.NONINFRINGEMENT..I
19b460 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 N.NO.EVENT.SHALL.THE.AUTHORS.OR.
19b480 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 COPYRIGHT.HOLDERS.BE.LIABLE.FOR.
19b4a0 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 ANY.CLAIM,.DAMAGES.OR.OTHER.LIAB
19b4c0 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 ILITY,.WHETHER.IN.AN.ACTION.OF.C
19b4e0 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 ONTRACT,.TORT.OR.OTHERWISE,.ARIS
19b500 49 4e 47 20 46 52 4f 4d 2c 0a 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f ING.FROM,.OUT.OF.OR.IN.CONNECTIO
19b520 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f N.WITH.THE.SOFTWARE.OR.THE.USE.O
19b540 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 R.OTHER.DEALINGS.IN.THE.SOFTWARE
19b560 2e 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a ..<?php..namespace.Psr\Log;.....
19b580 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 41 62 73 74 72 61 63 74 4c 6f 67 67 65 ....abstract.class.AbstractLogge
19b5a0 72 20 69 6d 70 6c 65 6d 65 6e 74 73 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a r.implements.LoggerInterface.{..
19b5c0 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6d 65 72 67 65 6e 63 79 .......public.function.emergency
19b5e0 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 ($message,.array.$context.=.arra
19b600 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 y()).{.$this->log(LogLevel::EMER
19b620 47 45 4e 43 59 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a GENCY,.$message,.$context);.}...
19b640 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 6c 65 72 74 28 ..........public.function.alert(
19b660 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 $message,.array.$context.=.array
19b680 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 ()).{.$this->log(LogLevel::ALERT
19b6a0 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ,.$message,.$context);.}........
19b6c0 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 69 74 69 63 61 6c 28 24 6d 65 ....public.function.critical($me
19b6e0 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 ssage,.array.$context.=.array())
19b700 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c .{.$this->log(LogLevel::CRITICAL
19b720 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ,.$message,.$context);.}........
19b740 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 61 67 ...public.function.error($messag
19b760 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 e,.array.$context.=.array()).{.$
19b780 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 2c 20 24 6d 65 73 73 this->log(LogLevel::ERROR,.$mess
19b7a0 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 age,.$context);.}.............pu
19b7c0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 61 67 65 2c 20 blic.function.warning($message,.
19b7e0 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 array.$context.=.array()).{.$thi
19b800 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 2c 20 24 6d 65 73 73 61 s->log(LogLevel::WARNING,.$messa
19b820 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 ge,.$context);.}..........public
19b840 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 69 63 65 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 .function.notice($message,.array
19b860 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f .$context.=.array()).{.$this->lo
19b880 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 g(LogLevel::NOTICE,.$message,.$c
19b8a0 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e ontext);.}............public.fun
19b8c0 63 74 69 6f 6e 20 69 6e 66 6f 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 ction.info($message,.array.$cont
19b8e0 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c ext.=.array()).{.$this->log(LogL
19b900 65 76 65 6c 3a 3a 49 4e 46 4f 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b evel::INFO,.$message,.$context);
19b920 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 62 75 .}..........public.function.debu
19b940 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 g($message,.array.$context.=.arr
19b960 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 ay()).{.$this->log(LogLevel::DEB
19b980 55 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 7d 0a 3c 3f 70 UG,.$message,.$context);.}.}.<?p
19b9a0 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 63 6c 61 73 73 20 49 6e hp..namespace.Psr\Log;..class.In
19b9c0 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 20 65 78 74 65 6e 64 73 20 5c validArgumentException.extends.\
19b9e0 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 70 74 69 6f 6e 0a 7b 0a 7d 0a 3c 3f 70 InvalidArgumentException.{.}.<?p
19ba00 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a 63 6c 61 73 73 hp..namespace.Psr\Log;.....class
19ba20 20 4c 6f 67 4c 65 76 65 6c 0a 7b 0a 63 6f 6e 73 74 20 45 4d 45 52 47 45 4e 43 59 20 3d 20 27 65 .LogLevel.{.const.EMERGENCY.=.'e
19ba40 6d 65 72 67 65 6e 63 79 27 3b 0a 63 6f 6e 73 74 20 41 4c 45 52 54 20 3d 20 27 61 6c 65 72 74 27 mergency';.const.ALERT.=.'alert'
19ba60 3b 0a 63 6f 6e 73 74 20 43 52 49 54 49 43 41 4c 20 3d 20 27 63 72 69 74 69 63 61 6c 27 3b 0a 63 ;.const.CRITICAL.=.'critical';.c
19ba80 6f 6e 73 74 20 45 52 52 4f 52 20 3d 20 27 65 72 72 6f 72 27 3b 0a 63 6f 6e 73 74 20 57 41 52 4e onst.ERROR.=.'error';.const.WARN
19baa0 49 4e 47 20 3d 20 27 77 61 72 6e 69 6e 67 27 3b 0a 63 6f 6e 73 74 20 4e 4f 54 49 43 45 20 3d 20 ING.=.'warning';.const.NOTICE.=.
19bac0 27 6e 6f 74 69 63 65 27 3b 0a 63 6f 6e 73 74 20 49 4e 46 4f 20 3d 20 27 69 6e 66 6f 27 3b 0a 63 'notice';.const.INFO.=.'info';.c
19bae0 6f 6e 73 74 20 44 45 42 55 47 20 3d 20 27 64 65 62 75 67 27 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e onst.DEBUG.=.'debug';.}.<?php..n
19bb00 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 amespace.Psr\Log;.....interface.
19bb20 4c 6f 67 67 65 72 41 77 61 72 65 49 6e 74 65 72 66 61 63 65 0a 7b 0a 0a 0a 0a 0a 0a 0a 0a 70 75 LoggerAwareInterface.{........pu
19bb40 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 67 67 65 72 28 4c 6f 67 67 65 72 49 6e blic.function.setLogger(LoggerIn
19bb60 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 terface.$logger);.}.<?php..names
19bb80 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a 74 72 61 69 74 20 4c 6f 67 67 65 72 41 77 pace.Psr\Log;.....trait.LoggerAw
19bba0 61 72 65 54 72 61 69 74 0a 7b 0a 0a 0a 0a 0a 0a 70 72 6f 74 65 63 74 65 64 20 24 6c 6f 67 67 65 areTrait.{......protected.$logge
19bbc0 72 3b 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 4c 6f 67 67 r;.......public.function.setLogg
19bbe0 65 72 28 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 20 24 6c 6f 67 67 65 72 29 0a 7b 0a 24 74 er(LoggerInterface.$logger).{.$t
19bc00 68 69 73 2d 3e 6c 6f 67 67 65 72 20 3d 20 24 6c 6f 67 67 65 72 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 his->logger.=.$logger;.}.}.<?php
19bc20 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ..namespace.Psr\Log;............
19bc40 0a 0a 0a 0a 0a 69 6e 74 65 72 66 61 63 65 20 4c 6f 67 67 65 72 49 6e 74 65 72 66 61 63 65 0a 7b .....interface.LoggerInterface.{
19bc60 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6d 65 72 67 65 6e .........public.function.emergen
19bc80 63 79 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 cy($message,.array.$context.=.ar
19bca0 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 ray());.............public.funct
19bcc0 69 6f 6e 20 61 6c 65 72 74 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 ion.alert($message,.array.$conte
19bce0 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 xt.=.array());............public
19bd00 20 66 75 6e 63 74 69 6f 6e 20 63 72 69 74 69 63 61 6c 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 .function.critical($message,.arr
19bd20 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a ay.$context.=.array());.........
19bd40 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 61 67 65 ..public.function.error($message
19bd60 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a ,.array.$context.=.array());....
19bd80 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 77 61 72 6e 69 6e 67 .........public.function.warning
19bda0 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 ($message,.array.$context.=.arra
19bdc0 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6e y());..........public.function.n
19bde0 6f 74 69 63 65 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d otice($message,.array.$context.=
19be00 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e .array());............public.fun
19be20 63 74 69 6f 6e 20 69 6e 66 6f 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 ction.info($message,.array.$cont
19be40 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 ext.=.array());..........public.
19be60 66 75 6e 63 74 69 6f 6e 20 64 65 62 75 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 function.debug($message,.array.$
19be80 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a context.=.array());.............
19bea0 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 public.function.log($level,.$mes
19bec0 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 3b sage,.array.$context.=.array());
19bee0 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a .}.<?php..namespace.Psr\Log;....
19bf00 0a 0a 0a 0a 0a 0a 74 72 61 69 74 20 4c 6f 67 67 65 72 54 72 61 69 74 0a 7b 0a 0a 0a 0a 0a 0a 0a ......trait.LoggerTrait.{.......
19bf20 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 6d 65 72 67 65 6e 63 79 28 24 6d 65 73 ..public.function.emergency($mes
19bf40 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a sage,.array.$context.=.array()).
19bf60 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 {.$this->log(LogLevel::EMERGENCY
19bf80 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ,.$message,.$context);.}........
19bfa0 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 6c 65 72 74 28 24 6d 65 73 73 .....public.function.alert($mess
19bfc0 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b age,.array.$context.=.array()).{
19bfe0 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 2c 20 24 6d 65 .$this->log(LogLevel::ALERT,.$me
19c000 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 ssage,.$context);.}............p
19c020 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 63 72 69 74 69 63 61 6c 28 24 6d 65 73 73 61 67 65 ublic.function.critical($message
19c040 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 ,.array.$context.=.array()).{.$t
19c060 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 2c 20 24 6d 65 his->log(LogLevel::CRITICAL,.$me
19c080 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ssage,.$context);.}...........pu
19c0a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 65 72 72 6f 72 28 24 6d 65 73 73 61 67 65 2c 20 61 72 blic.function.error($message,.ar
19c0c0 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d ray.$context.=.array()).{.$this-
19c0e0 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 2c 20 24 6d 65 73 73 61 67 65 2c 20 >log(LogLevel::ERROR,.$message,.
19c100 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 $context);.}.............public.
19c120 66 75 6e 63 74 69 6f 6e 20 77 61 72 6e 69 6e 67 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 function.warning($message,.array
19c140 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f .$context.=.array()).{.$this->lo
19c160 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 g(LogLevel::WARNING,.$message,.$
19c180 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 context);.}..........public.func
19c1a0 74 69 6f 6e 20 6e 6f 74 69 63 65 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e tion.notice($message,.array.$con
19c1c0 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 text.=.array()).{.$this->log(Log
19c1e0 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 Level::NOTICE,.$message,.$contex
19c200 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e t);.}............public.function
19c220 20 69 6e 66 6f 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d .info($message,.array.$context.=
19c240 20 61 72 72 61 79 28 29 29 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a .array()).{.$this->log(LogLevel:
19c260 3a 49 4e 46 4f 2c 20 24 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a :INFO,.$message,.$context);.}...
19c280 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 64 65 62 75 67 28 24 6d 65 .......public.function.debug($me
19c2a0 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 29 29 ssage,.array.$context.=.array())
19c2c0 0a 7b 0a 24 74 68 69 73 2d 3e 6c 6f 67 28 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 24 .{.$this->log(LogLevel::DEBUG,.$
19c2e0 6d 65 73 73 61 67 65 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a message,.$context);.}...........
19c300 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 ..abstract.public.function.log($
19c320 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 level,.$message,.array.$context.
19c340 3d 20 61 72 72 61 79 28 29 29 3b 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 =.array());.}.<?php..namespace.P
19c360 73 72 5c 4c 6f 67 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 4e 75 6c 6c 4c 6f 67 67 65 sr\Log;..........class.NullLogge
19c380 72 20 65 78 74 65 6e 64 73 20 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 0a 7b 0a 0a 0a 0a 0a 0a r.extends.AbstractLogger.{......
19c3a0 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 24 6c 65 76 65 6c ......public.function.log($level
19c3c0 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 ,.$message,.array.$context.=.arr
19c3e0 61 79 28 29 29 0a 7b 0a 0a 20 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e 61 6d 65 73 70 61 63 65 20 50 ay()).{...}.}.<?php..namespace.P
19c400 73 72 5c 4c 6f 67 5c 54 65 73 74 3b 0a 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 sr\Log\Test;..use.Psr\Log\Logger
19c420 49 6e 74 65 72 66 61 63 65 3b 0a 75 73 65 20 50 73 72 5c 4c 6f 67 5c 4c 6f 67 4c 65 76 65 6c 3b Interface;.use.Psr\Log\LogLevel;
19c440 0a 75 73 65 20 50 48 50 55 6e 69 74 5c 46 72 61 6d 65 77 6f 72 6b 5c 54 65 73 74 43 61 73 65 3b .use.PHPUnit\Framework\TestCase;
19c460 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 63 6c 61 73 73 20 4c 6f 67 67 65 72 49 6e 74 ........abstract.class.LoggerInt
19c480 65 72 66 61 63 65 54 65 73 74 20 65 78 74 65 6e 64 73 20 54 65 73 74 43 61 73 65 0a 7b 0a 0a 0a erfaceTest.extends.TestCase.{...
19c4a0 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 67 .abstract.public.function.getLog
19c4c0 67 65 72 28 29 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 61 62 73 74 72 61 63 74 20 70 75 62 6c 69 63 ger();...........abstract.public
19c4e0 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 67 73 28 29 3b 0a 0a 70 75 62 6c 69 63 20 66 75 6e .function.getLogs();..public.fun
19c500 63 74 69 6f 6e 20 74 65 73 74 49 6d 70 6c 65 6d 65 6e 74 73 28 29 0a 7b 0a 24 74 68 69 73 2d 3e ction.testImplements().{.$this->
19c520 61 73 73 65 72 74 49 6e 73 74 61 6e 63 65 4f 66 28 27 50 73 72 5c 4c 6f 67 5c 4c 6f 67 67 65 72 assertInstanceOf('Psr\Log\Logger
19c540 49 6e 74 65 72 66 61 63 65 27 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 29 3b Interface',.$this->getLogger());
19c560 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 4c 6f 67 73 41 .}.....public.function.testLogsA
19c580 74 41 6c 6c 4c 65 76 65 6c 73 28 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 29 0a 7b 0a 24 tAllLevels($level,.$message).{.$
19c5a0 6c 6f 67 67 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a 24 6c 6f logger.=.$this->getLogger();.$lo
19c5c0 67 67 65 72 2d 3e 7b 24 6c 65 76 65 6c 7d 28 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 28 27 gger->{$level}($message,.array('
19c5e0 75 73 65 72 27 20 3d 3e 20 27 42 6f 62 27 29 29 3b 0a 24 6c 6f 67 67 65 72 2d 3e 6c 6f 67 28 24 user'.=>.'Bob'));.$logger->log($
19c600 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 28 27 75 73 65 72 27 20 3d 3e level,.$message,.array('user'.=>
19c620 20 27 42 6f 62 27 29 29 3b 0a 0a 24 65 78 70 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 0a 24 6c .'Bob'));..$expected.=.array(.$l
19c640 65 76 65 6c 2e 27 20 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 27 2e 24 6c 65 76 65 6c evel.'.message.of.level.'.$level
19c660 2e 27 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 42 6f 62 27 2c 0a 24 6c 65 76 65 6c 2e 27 20 .'.with.context:.Bob',.$level.'.
19c680 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 27 2e 24 6c 65 76 65 6c 2e 27 20 77 69 74 68 message.of.level.'.$level.'.with
19c6a0 20 63 6f 6e 74 65 78 74 3a 20 42 6f 62 27 2c 0a 29 3b 0a 24 74 68 69 73 2d 3e 61 73 73 65 72 74 .context:.Bob',.);.$this->assert
19c6c0 45 71 75 61 6c 73 28 24 65 78 70 65 63 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 Equals($expected,.$this->getLogs
19c6e0 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 76 69 64 65 4c ());.}..public.function.provideL
19c700 65 76 65 6c 73 41 6e 64 4d 65 73 73 61 67 65 73 28 29 0a 7b 0a 72 65 74 75 72 6e 20 61 72 72 61 evelsAndMessages().{.return.arra
19c720 79 28 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 20 3d 3e 20 61 72 72 61 79 28 y(.LogLevel::EMERGENCY.=>.array(
19c740 4c 6f 67 4c 65 76 65 6c 3a 3a 45 4d 45 52 47 45 4e 43 59 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 LogLevel::EMERGENCY,.'message.of
19c760 20 6c 65 76 65 6c 20 65 6d 65 72 67 65 6e 63 79 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b .level.emergency.with.context:.{
19c780 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 20 3d 3e 20 61 72 72 61 user}'),.LogLevel::ALERT.=>.arra
19c7a0 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 41 4c 45 52 54 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c y(LogLevel::ALERT,.'message.of.l
19c7c0 65 76 65 6c 20 61 6c 65 72 74 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 evel.alert.with.context:.{user}'
19c7e0 29 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 20 3d 3e 20 61 72 72 61 79 28 4c ),.LogLevel::CRITICAL.=>.array(L
19c800 6f 67 4c 65 76 65 6c 3a 3a 43 52 49 54 49 43 41 4c 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c ogLevel::CRITICAL,.'message.of.l
19c820 65 76 65 6c 20 63 72 69 74 69 63 61 6c 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 evel.critical.with.context:.{use
19c840 72 7d 27 29 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 20 3d 3e 20 61 72 72 61 79 28 4c r}'),.LogLevel::ERROR.=>.array(L
19c860 6f 67 4c 65 76 65 6c 3a 3a 45 52 52 4f 52 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 ogLevel::ERROR,.'message.of.leve
19c880 6c 20 65 72 72 6f 72 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a l.error.with.context:.{user}'),.
19c8a0 4c 6f 67 4c 65 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 LogLevel::WARNING.=>.array(LogLe
19c8c0 76 65 6c 3a 3a 57 41 52 4e 49 4e 47 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 vel::WARNING,.'message.of.level.
19c8e0 77 61 72 6e 69 6e 67 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a warning.with.context:.{user}'),.
19c900 4c 6f 67 4c 65 76 65 6c 3a 3a 4e 4f 54 49 43 45 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 LogLevel::NOTICE.=>.array(LogLev
19c920 65 6c 3a 3a 4e 4f 54 49 43 45 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 6e 6f el::NOTICE,.'message.of.level.no
19c940 74 69 63 65 20 77 69 74 68 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 tice.with.context:.{user}'),.Log
19c960 4c 65 76 65 6c 3a 3a 49 4e 46 4f 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 49 Level::INFO.=>.array(LogLevel::I
19c980 4e 46 4f 2c 20 27 6d 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 69 6e 66 6f 20 77 69 74 68 NFO,.'message.of.level.info.with
19c9a0 20 63 6f 6e 74 65 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 .context:.{user}'),.LogLevel::DE
19c9c0 42 55 47 20 3d 3e 20 61 72 72 61 79 28 4c 6f 67 4c 65 76 65 6c 3a 3a 44 45 42 55 47 2c 20 27 6d BUG.=>.array(LogLevel::DEBUG,.'m
19c9e0 65 73 73 61 67 65 20 6f 66 20 6c 65 76 65 6c 20 64 65 62 75 67 20 77 69 74 68 20 63 6f 6e 74 65 essage.of.level.debug.with.conte
19ca00 78 74 3a 20 7b 75 73 65 72 7d 27 29 2c 0a 29 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 xt:.{user}'),.);.}.....public.fu
19ca20 6e 63 74 69 6f 6e 20 74 65 73 74 54 68 72 6f 77 73 4f 6e 49 6e 76 61 6c 69 64 4c 65 76 65 6c 28 nction.testThrowsOnInvalidLevel(
19ca40 29 0a 7b 0a 24 6c 6f 67 67 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 ).{.$logger.=.$this->getLogger()
19ca60 3b 0a 24 6c 6f 67 67 65 72 2d 3e 6c 6f 67 28 27 69 6e 76 61 6c 69 64 20 6c 65 76 65 6c 27 2c 20 ;.$logger->log('invalid.level',.
19ca80 27 46 6f 6f 27 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 43 'Foo');.}..public.function.testC
19caa0 6f 6e 74 65 78 74 52 65 70 6c 61 63 65 6d 65 6e 74 28 29 0a 7b 0a 24 6c 6f 67 67 65 72 20 3d 20 ontextReplacement().{.$logger.=.
19cac0 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 3b 0a 24 6c 6f 67 67 65 72 2d 3e 69 6e 66 $this->getLogger();.$logger->inf
19cae0 6f 28 27 7b 4d 65 73 73 61 67 65 20 7b 6e 6f 74 68 69 6e 67 7d 20 7b 75 73 65 72 7d 20 7b 66 6f o('{Message.{nothing}.{user}.{fo
19cb00 6f 2e 62 61 72 7d 20 61 7d 27 2c 20 61 72 72 61 79 28 27 75 73 65 72 27 20 3d 3e 20 27 42 6f 62 o.bar}.a}',.array('user'.=>.'Bob
19cb20 27 2c 20 27 66 6f 6f 2e 62 61 72 27 20 3d 3e 20 27 42 61 72 27 29 29 3b 0a 0a 24 65 78 70 65 63 ',.'foo.bar'.=>.'Bar'));..$expec
19cb40 74 65 64 20 3d 20 61 72 72 61 79 28 27 69 6e 66 6f 20 7b 4d 65 73 73 61 67 65 20 7b 6e 6f 74 68 ted.=.array('info.{Message.{noth
19cb60 69 6e 67 7d 20 42 6f 62 20 42 61 72 20 61 7d 27 29 3b 0a 24 74 68 69 73 2d 3e 61 73 73 65 72 74 ing}.Bob.Bar.a}');.$this->assert
19cb80 45 71 75 61 6c 73 28 24 65 78 70 65 63 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 Equals($expected,.$this->getLogs
19cba0 28 29 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 4f 62 6a 65 ());.}..public.function.testObje
19cbc0 63 74 43 61 73 74 54 6f 53 74 72 69 6e 67 28 29 0a 7b 0a 69 66 20 28 6d 65 74 68 6f 64 5f 65 78 ctCastToString().{.if.(method_ex
19cbe0 69 73 74 73 28 24 74 68 69 73 2c 20 27 63 72 65 61 74 65 50 61 72 74 69 61 6c 4d 6f 63 6b 27 29 ists($this,.'createPartialMock')
19cc00 29 20 7b 0a 24 64 75 6d 6d 79 20 3d 20 24 74 68 69 73 2d 3e 63 72 65 61 74 65 50 61 72 74 69 61 ).{.$dummy.=.$this->createPartia
19cc20 6c 4d 6f 63 6b 28 27 50 73 72 5c 4c 6f 67 5c 54 65 73 74 5c 44 75 6d 6d 79 54 65 73 74 27 2c 20 lMock('Psr\Log\Test\DummyTest',.
19cc40 61 72 72 61 79 28 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 array('__toString'));.}.else.{.$
19cc60 64 75 6d 6d 79 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4d 6f 63 6b 28 27 50 73 72 5c 4c 6f 67 5c dummy.=.$this->getMock('Psr\Log\
19cc80 54 65 73 74 5c 44 75 6d 6d 79 54 65 73 74 27 2c 20 61 72 72 61 79 28 27 5f 5f 74 6f 53 74 72 69 Test\DummyTest',.array('__toStri
19cca0 6e 67 27 29 29 3b 0a 7d 0a 24 64 75 6d 6d 79 2d 3e 65 78 70 65 63 74 73 28 24 74 68 69 73 2d 3e ng'));.}.$dummy->expects($this->
19ccc0 6f 6e 63 65 28 29 29 0a 2d 3e 6d 65 74 68 6f 64 28 27 5f 5f 74 6f 53 74 72 69 6e 67 27 29 0a 2d once()).->method('__toString').-
19cce0 3e 77 69 6c 6c 28 24 74 68 69 73 2d 3e 72 65 74 75 72 6e 56 61 6c 75 65 28 27 44 55 4d 4d 59 27 >will($this->returnValue('DUMMY'
19cd00 29 29 3b 0a 0a 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 2d 3e 77 61 72 6e 69 6e 67 ));..$this->getLogger()->warning
19cd20 28 24 64 75 6d 6d 79 29 3b 0a 0a 24 65 78 70 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 27 77 61 ($dummy);..$expected.=.array('wa
19cd40 72 6e 69 6e 67 20 44 55 4d 4d 59 27 29 3b 0a 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 rning.DUMMY');.$this->assertEqua
19cd60 6c 73 28 24 65 78 70 65 63 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b ls($expected,.$this->getLogs());
19cd80 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 43 6f 6e 74 65 78 74 43 .}..public.function.testContextC
19cda0 61 6e 43 6f 6e 74 61 69 6e 41 6e 79 74 68 69 6e 67 28 29 0a 7b 0a 24 63 6c 6f 73 65 64 20 3d 20 anContainAnything().{.$closed.=.
19cdc0 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 2c 20 27 72 27 29 3b 0a 66 63 6c 6f fopen('php://memory',.'r');.fclo
19cde0 73 65 28 24 63 6c 6f 73 65 64 29 3b 0a 0a 24 63 6f 6e 74 65 78 74 20 3d 20 61 72 72 61 79 28 0a se($closed);..$context.=.array(.
19ce00 27 62 6f 6f 6c 27 20 3d 3e 20 74 72 75 65 2c 0a 27 6e 75 6c 6c 27 20 3d 3e 20 6e 75 6c 6c 2c 0a 'bool'.=>.true,.'null'.=>.null,.
19ce20 27 73 74 72 69 6e 67 27 20 3d 3e 20 27 46 6f 6f 27 2c 0a 27 69 6e 74 27 20 3d 3e 20 30 2c 0a 27 'string'.=>.'Foo',.'int'.=>.0,.'
19ce40 66 6c 6f 61 74 27 20 3d 3e 20 30 2e 35 2c 0a 27 6e 65 73 74 65 64 27 20 3d 3e 20 61 72 72 61 79 float'.=>.0.5,.'nested'.=>.array
19ce60 28 27 77 69 74 68 20 6f 62 6a 65 63 74 27 20 3d 3e 20 6e 65 77 20 44 75 6d 6d 79 54 65 73 74 29 ('with.object'.=>.new.DummyTest)
19ce80 2c 0a 27 6f 62 6a 65 63 74 27 20 3d 3e 20 6e 65 77 20 5c 44 61 74 65 54 69 6d 65 2c 0a 27 72 65 ,.'object'.=>.new.\DateTime,.'re
19cea0 73 6f 75 72 63 65 27 20 3d 3e 20 66 6f 70 65 6e 28 27 70 68 70 3a 2f 2f 6d 65 6d 6f 72 79 27 2c source'.=>.fopen('php://memory',
19cec0 20 27 72 27 29 2c 0a 27 63 6c 6f 73 65 64 27 20 3d 3e 20 24 63 6c 6f 73 65 64 2c 0a 29 3b 0a 0a .'r'),.'closed'.=>.$closed,.);..
19cee0 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 67 65 72 28 29 2d 3e 77 61 72 6e 69 6e 67 28 27 43 72 61 $this->getLogger()->warning('Cra
19cf00 7a 79 20 63 6f 6e 74 65 78 74 20 64 61 74 61 27 2c 20 24 63 6f 6e 74 65 78 74 29 3b 0a 0a 24 65 zy.context.data',.$context);..$e
19cf20 78 70 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 27 77 61 72 6e 69 6e 67 20 43 72 61 7a 79 20 63 xpected.=.array('warning.Crazy.c
19cf40 6f 6e 74 65 78 74 20 64 61 74 61 27 29 3b 0a 24 74 68 69 73 2d 3e 61 73 73 65 72 74 45 71 75 61 ontext.data');.$this->assertEqua
19cf60 6c 73 28 24 65 78 70 65 63 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 74 4c 6f 67 73 28 29 29 3b ls($expected,.$this->getLogs());
19cf80 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 74 65 73 74 43 6f 6e 74 65 78 74 45 .}..public.function.testContextE
19cfa0 78 63 65 70 74 69 6f 6e 4b 65 79 43 61 6e 42 65 45 78 63 65 70 74 69 6f 6e 4f 72 4f 74 68 65 72 xceptionKeyCanBeExceptionOrOther
19cfc0 56 61 6c 75 65 73 28 29 0a 7b 0a 24 6c 6f 67 67 65 72 20 3d 20 24 74 68 69 73 2d 3e 67 65 74 4c Values().{.$logger.=.$this->getL
19cfe0 6f 67 67 65 72 28 29 3b 0a 24 6c 6f 67 67 65 72 2d 3e 77 61 72 6e 69 6e 67 28 27 52 61 6e 64 6f ogger();.$logger->warning('Rando
19d000 6d 20 6d 65 73 73 61 67 65 27 2c 20 61 72 72 61 79 28 27 65 78 63 65 70 74 69 6f 6e 27 20 3d 3e m.message',.array('exception'.=>
19d020 20 27 6f 6f 70 73 27 29 29 3b 0a 24 6c 6f 67 67 65 72 2d 3e 63 72 69 74 69 63 61 6c 28 27 55 6e .'oops'));.$logger->critical('Un
19d040 63 61 75 67 68 74 20 45 78 63 65 70 74 69 6f 6e 21 27 2c 20 61 72 72 61 79 28 27 65 78 63 65 70 caught.Exception!',.array('excep
19d060 74 69 6f 6e 27 20 3d 3e 20 6e 65 77 20 5c 4c 6f 67 69 63 45 78 63 65 70 74 69 6f 6e 28 27 46 61 tion'.=>.new.\LogicException('Fa
19d080 69 6c 27 29 29 29 3b 0a 0a 24 65 78 70 65 63 74 65 64 20 3d 20 61 72 72 61 79 28 0a 27 77 61 72 il')));..$expected.=.array(.'war
19d0a0 6e 69 6e 67 20 52 61 6e 64 6f 6d 20 6d 65 73 73 61 67 65 27 2c 0a 27 63 72 69 74 69 63 61 6c 20 ning.Random.message',.'critical.
19d0c0 55 6e 63 61 75 67 68 74 20 45 78 63 65 70 74 69 6f 6e 21 27 0a 29 3b 0a 24 74 68 69 73 2d 3e 61 Uncaught.Exception!'.);.$this->a
19d0e0 73 73 65 72 74 45 71 75 61 6c 73 28 24 65 78 70 65 63 74 65 64 2c 20 24 74 68 69 73 2d 3e 67 65 ssertEquals($expected,.$this->ge
19d100 74 4c 6f 67 73 28 29 29 3b 0a 7d 0a 7d 0a 0a 63 6c 61 73 73 20 44 75 6d 6d 79 54 65 73 74 0a 7b tLogs());.}.}..class.DummyTest.{
19d120 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 0a 7b 0a .public.function.__toString().{.
19d140 72 65 74 75 72 6e 20 27 44 75 6d 6d 79 54 65 73 74 27 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 6e return.'DummyTest';.}.}.<?php..n
19d160 61 6d 65 73 70 61 63 65 20 50 73 72 5c 4c 6f 67 5c 54 65 73 74 3b 0a 0a 75 73 65 20 50 73 72 5c amespace.Psr\Log\Test;..use.Psr\
19d180 4c 6f 67 5c 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a Log\AbstractLogger;.............
19d1a0 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ................................
19d1c0 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 54 65 73 74 4c 6f 67 67 65 72 20 65 78 74 65 6e 64 73 20 .......class.TestLogger.extends.
19d1e0 41 62 73 74 72 61 63 74 4c 6f 67 67 65 72 0a 7b 0a 0a 0a 0a 70 75 62 6c 69 63 20 24 72 65 63 6f AbstractLogger.{....public.$reco
19d200 72 64 73 20 3d 20 5b 5d 3b 0a 0a 70 75 62 6c 69 63 20 24 72 65 63 6f 72 64 73 42 79 4c 65 76 65 rds.=.[];..public.$recordsByLeve
19d220 6c 20 3d 20 5b 5d 3b 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 28 l.=.[];.....public.function.log(
19d240 24 6c 65 76 65 6c 2c 20 24 6d 65 73 73 61 67 65 2c 20 61 72 72 61 79 20 24 63 6f 6e 74 65 78 74 $level,.$message,.array.$context
19d260 20 3d 20 5b 5d 29 0a 7b 0a 24 72 65 63 6f 72 64 20 3d 20 5b 0a 27 6c 65 76 65 6c 27 20 3d 3e 20 .=.[]).{.$record.=.[.'level'.=>.
19d280 24 6c 65 76 65 6c 2c 0a 27 6d 65 73 73 61 67 65 27 20 3d 3e 20 24 6d 65 73 73 61 67 65 2c 0a 27 $level,.'message'.=>.$message,.'
19d2a0 63 6f 6e 74 65 78 74 27 20 3d 3e 20 24 63 6f 6e 74 65 78 74 2c 0a 5d 3b 0a 0a 24 74 68 69 73 2d context'.=>.$context,.];..$this-
19d2c0 3e 72 65 63 6f 72 64 73 42 79 4c 65 76 65 6c 5b 24 72 65 63 6f 72 64 5b 27 6c 65 76 65 6c 27 5d >recordsByLevel[$record['level']
19d2e0 5d 5b 5d 20 3d 20 24 72 65 63 6f 72 64 3b 0a 24 74 68 69 73 2d 3e 72 65 63 6f 72 64 73 5b 5d 20 ][].=.$record;.$this->records[].
19d300 3d 20 24 72 65 63 6f 72 64 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 =.$record;.}..public.function.ha
19d320 73 52 65 63 6f 72 64 73 28 24 6c 65 76 65 6c 29 0a 7b 0a 72 65 74 75 72 6e 20 69 73 73 65 74 28 sRecords($level).{.return.isset(
19d340 24 74 68 69 73 2d 3e 72 65 63 6f 72 64 73 42 79 4c 65 76 65 6c 5b 24 6c 65 76 65 6c 5d 29 3b 0a $this->recordsByLevel[$level]);.
19d360 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 52 65 63 6f 72 64 28 24 72 65 }..public.function.hasRecord($re
19d380 63 6f 72 64 2c 20 24 6c 65 76 65 6c 29 0a 7b 0a 69 66 20 28 69 73 5f 73 74 72 69 6e 67 28 24 72 cord,.$level).{.if.(is_string($r
19d3a0 65 63 6f 72 64 29 29 20 7b 0a 24 72 65 63 6f 72 64 20 3d 20 5b 27 6d 65 73 73 61 67 65 27 20 3d ecord)).{.$record.=.['message'.=
19d3c0 3e 20 24 72 65 63 6f 72 64 5d 3b 0a 7d 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 52 >.$record];.}.return.$this->hasR
19d3e0 65 63 6f 72 64 54 68 61 74 50 61 73 73 65 73 28 66 75 6e 63 74 69 6f 6e 20 28 24 72 65 63 29 20 ecordThatPasses(function.($rec).
19d400 75 73 65 20 28 24 72 65 63 6f 72 64 29 20 7b 0a 69 66 20 28 24 72 65 63 5b 27 6d 65 73 73 61 67 use.($record).{.if.($rec['messag
19d420 65 27 5d 20 21 3d 3d 20 24 72 65 63 6f 72 64 5b 27 6d 65 73 73 61 67 65 27 5d 29 20 7b 0a 72 65 e'].!==.$record['message']).{.re
19d440 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 69 66 20 28 69 73 73 65 74 28 24 72 65 63 6f 72 64 5b turn.false;.}.if.(isset($record[
19d460 27 63 6f 6e 74 65 78 74 27 5d 29 20 26 26 20 24 72 65 63 5b 27 63 6f 6e 74 65 78 74 27 5d 20 21 'context']).&&.$rec['context'].!
19d480 3d 3d 20 24 72 65 63 6f 72 64 5b 27 63 6f 6e 74 65 78 74 27 5d 29 20 7b 0a 72 65 74 75 72 6e 20 ==.$record['context']).{.return.
19d4a0 66 61 6c 73 65 3b 0a 7d 0a 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 2c 20 24 6c 65 76 65 6c 29 false;.}.return.true;.},.$level)
19d4c0 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 52 65 63 6f 72 64 54 68 ;.}..public.function.hasRecordTh
19d4e0 61 74 43 6f 6e 74 61 69 6e 73 28 24 6d 65 73 73 61 67 65 2c 20 24 6c 65 76 65 6c 29 0a 7b 0a 72 atContains($message,.$level).{.r
19d500 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 52 65 63 6f 72 64 54 68 61 74 50 61 73 73 65 73 eturn.$this->hasRecordThatPasses
19d520 28 66 75 6e 63 74 69 6f 6e 20 28 24 72 65 63 29 20 75 73 65 20 28 24 6d 65 73 73 61 67 65 29 20 (function.($rec).use.($message).
19d540 7b 0a 72 65 74 75 72 6e 20 73 74 72 70 6f 73 28 24 72 65 63 5b 27 6d 65 73 73 61 67 65 27 5d 2c {.return.strpos($rec['message'],
19d560 20 24 6d 65 73 73 61 67 65 29 20 21 3d 3d 20 66 61 6c 73 65 3b 0a 7d 2c 20 24 6c 65 76 65 6c 29 .$message).!==.false;.},.$level)
19d580 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 52 65 63 6f 72 64 54 68 ;.}..public.function.hasRecordTh
19d5a0 61 74 4d 61 74 63 68 65 73 28 24 72 65 67 65 78 2c 20 24 6c 65 76 65 6c 29 0a 7b 0a 72 65 74 75 atMatches($regex,.$level).{.retu
19d5c0 72 6e 20 24 74 68 69 73 2d 3e 68 61 73 52 65 63 6f 72 64 54 68 61 74 50 61 73 73 65 73 28 66 75 rn.$this->hasRecordThatPasses(fu
19d5e0 6e 63 74 69 6f 6e 20 28 24 72 65 63 29 20 75 73 65 20 28 24 72 65 67 65 78 29 20 7b 0a 72 65 74 nction.($rec).use.($regex).{.ret
19d600 75 72 6e 20 70 72 65 67 5f 6d 61 74 63 68 28 24 72 65 67 65 78 2c 20 24 72 65 63 5b 27 6d 65 73 urn.preg_match($regex,.$rec['mes
19d620 73 61 67 65 27 5d 29 20 3e 20 30 3b 0a 7d 2c 20 24 6c 65 76 65 6c 29 3b 0a 7d 0a 0a 70 75 62 6c sage']).>.0;.},.$level);.}..publ
19d640 69 63 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 52 65 63 6f 72 64 54 68 61 74 50 61 73 73 65 73 28 ic.function.hasRecordThatPasses(
19d660 63 61 6c 6c 61 62 6c 65 20 24 70 72 65 64 69 63 61 74 65 2c 20 24 6c 65 76 65 6c 29 0a 7b 0a 69 callable.$predicate,.$level).{.i
19d680 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 72 65 63 6f 72 64 73 42 79 4c 65 76 65 6c 5b f.(!isset($this->recordsByLevel[
19d6a0 24 6c 65 76 65 6c 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 66 6f 72 65 $level])).{.return.false;.}.fore
19d6c0 61 63 68 20 28 24 74 68 69 73 2d 3e 72 65 63 6f 72 64 73 42 79 4c 65 76 65 6c 5b 24 6c 65 76 65 ach.($this->recordsByLevel[$leve
19d6e0 6c 5d 20 61 73 20 24 69 20 3d 3e 20 24 72 65 63 29 20 7b 0a 69 66 20 28 63 61 6c 6c 5f 75 73 65 l].as.$i.=>.$rec).{.if.(call_use
19d700 72 5f 66 75 6e 63 28 24 70 72 65 64 69 63 61 74 65 2c 20 24 72 65 63 2c 20 24 69 29 29 20 7b 0a r_func($predicate,.$rec,.$i)).{.
19d720 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d return.true;.}.}.return.false;.}
19d740 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 63 61 6c 6c 28 24 6d 65 74 68 6f 64 ..public.function.__call($method
19d760 2c 20 24 61 72 67 73 29 0a 7b 0a 69 66 20 28 70 72 65 67 5f 6d 61 74 63 68 28 27 2f 28 2e 2a 29 ,.$args).{.if.(preg_match('/(.*)
19d780 28 44 65 62 75 67 7c 49 6e 66 6f 7c 4e 6f 74 69 63 65 7c 57 61 72 6e 69 6e 67 7c 45 72 72 6f 72 (Debug|Info|Notice|Warning|Error
19d7a0 7c 43 72 69 74 69 63 61 6c 7c 41 6c 65 72 74 7c 45 6d 65 72 67 65 6e 63 79 29 28 2e 2a 29 2f 27 |Critical|Alert|Emergency)(.*)/'
19d7c0 2c 20 24 6d 65 74 68 6f 64 2c 20 24 6d 61 74 63 68 65 73 29 20 3e 20 30 29 20 7b 0a 24 67 65 6e ,.$method,.$matches).>.0).{.$gen
19d7e0 65 72 69 63 4d 65 74 68 6f 64 20 3d 20 24 6d 61 74 63 68 65 73 5b 31 5d 20 2e 20 28 27 52 65 63 ericMethod.=.$matches[1]...('Rec
19d800 6f 72 64 73 27 20 21 3d 3d 20 24 6d 61 74 63 68 65 73 5b 33 5d 20 3f 20 27 52 65 63 6f 72 64 27 ords'.!==.$matches[3].?.'Record'
19d820 20 3a 20 27 27 29 20 2e 20 24 6d 61 74 63 68 65 73 5b 33 5d 3b 0a 24 6c 65 76 65 6c 20 3d 20 73 .:.'')...$matches[3];.$level.=.s
19d840 74 72 74 6f 6c 6f 77 65 72 28 24 6d 61 74 63 68 65 73 5b 32 5d 29 3b 0a 69 66 20 28 6d 65 74 68 trtolower($matches[2]);.if.(meth
19d860 6f 64 5f 65 78 69 73 74 73 28 24 74 68 69 73 2c 20 24 67 65 6e 65 72 69 63 4d 65 74 68 6f 64 29 od_exists($this,.$genericMethod)
19d880 29 20 7b 0a 24 61 72 67 73 5b 5d 20 3d 20 24 6c 65 76 65 6c 3b 0a 72 65 74 75 72 6e 20 63 61 6c ).{.$args[].=.$level;.return.cal
19d8a0 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 5b 24 74 68 69 73 2c 20 24 67 65 6e 65 72 l_user_func_array([$this,.$gener
19d8c0 69 63 4d 65 74 68 6f 64 5d 2c 20 24 61 72 67 73 29 3b 0a 7d 0a 7d 0a 74 68 72 6f 77 20 6e 65 77 icMethod],.$args);.}.}.throw.new
19d8e0 20 5c 42 61 64 4d 65 74 68 6f 64 43 61 6c 6c 45 78 63 65 70 74 69 6f 6e 28 27 43 61 6c 6c 20 74 .\BadMethodCallException('Call.t
19d900 6f 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 74 68 6f 64 20 27 20 2e 20 67 65 74 5f 63 6c 61 73 73 o.undefined.method.'...get_class
19d920 28 24 74 68 69 73 29 20 2e 20 27 3a 3a 27 20 2e 20 24 6d 65 74 68 6f 64 20 2e 20 27 28 29 27 29 ($this)...'::'...$method...'()')
19d940 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 65 74 28 29 0a 7b 0a 24 ;.}..public.function.reset().{.$
19d960 74 68 69 73 2d 3e 72 65 63 6f 72 64 73 20 3d 20 5b 5d 3b 0a 24 74 68 69 73 2d 3e 72 65 63 6f 72 this->records.=.[];.$this->recor
19d980 64 73 42 79 4c 65 76 65 6c 20 3d 20 5b 5d 3b 0a 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 72 65 71 dsByLevel.=.[];.}.}.<?php....req
19d9a0 75 69 72 65 5f 6f 6e 63 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 61 uire_once.__DIR__...'/composer/a
19d9c0 75 74 6f 6c 6f 61 64 5f 72 65 61 6c 2e 70 68 70 27 3b 0a 0a 72 65 74 75 72 6e 20 43 6f 6d 70 6f utoload_real.php';..return.Compo
19d9e0 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 37 serAutoloaderInitComposerPhar157
19da00 32 36 32 35 32 31 37 3a 3a 67 65 74 4c 6f 61 64 65 72 28 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 24 2625217::getLoader();.<?php....$
19da20 76 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 vendorDir.=.dirname(dirname(__FI
19da40 4c 45 5f 5f 29 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 65 6e 64 LE__));.$baseDir.=.dirname($vend
19da60 6f 72 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 29 3b 0a 3c 3f 70 68 70 0a orDir);..return.array(.);.<?php.
19da80 0a 0a 0a 24 76 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 ...$vendorDir.=.dirname(dirname(
19daa0 5f 5f 46 49 4c 45 5f 5f 29 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 __FILE__));.$baseDir.=.dirname($
19dac0 76 65 6e 64 6f 72 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 53 79 6d 66 vendorDir);..return.array(.'Symf
19dae0 6f 6e 79 5c 5c 50 6f 6c 79 66 69 6c 6c 5c 5c 4d 62 73 74 72 69 6e 67 5c 5c 27 20 3d 3e 20 61 72 ony\\Polyfill\\Mbstring\\'.=>.ar
19db00 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 ray($vendorDir...'/symfony/polyf
19db20 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 50 6f 6c 79 66 69 ill-mbstring'),.'Symfony\\Polyfi
19db40 6c 6c 5c 5c 43 74 79 70 65 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 ll\\Ctype\\'.=>.array($vendorDir
19db60 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 27 29 2c 0a 27 ...'/symfony/polyfill-ctype'),.'
19db80 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 50 72 6f 63 65 73 73 5c 5c 27 20 3d Symfony\\Component\\Process\\'.=
19dba0 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 >.array($vendorDir...'/symfony/p
19dbc0 72 6f 63 65 73 73 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 46 rocess'),.'Symfony\\Component\\F
19dbe0 69 6e 64 65 72 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 inder\\'.=>.array($vendorDir...'
19dc00 2f 73 79 6d 66 6f 6e 79 2f 66 69 6e 64 65 72 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d /symfony/finder'),.'Symfony\\Com
19dc20 70 6f 6e 65 6e 74 5c 5c 46 69 6c 65 73 79 73 74 65 6d 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 ponent\\Filesystem\\'.=>.array($
19dc40 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 73 74 65 6d vendorDir...'/symfony/filesystem
19dc60 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c '),.'Symfony\\Component\\Debug\\
19dc80 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e '.=>.array($vendorDir...'/symfon
19dca0 79 2f 64 65 62 75 67 27 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c y/debug'),.'Symfony\\Component\\
19dcc0 43 6f 6e 73 6f 6c 65 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e Console\\'.=>.array($vendorDir..
19dce0 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 27 29 2c 0a 27 53 65 6c 64 5c 5c 50 68 61 .'/symfony/console'),.'Seld\\Pha
19dd00 72 55 74 69 6c 73 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 rUtils\\'.=>.array($vendorDir...
19dd20 27 2f 73 65 6c 64 2f 70 68 61 72 2d 75 74 69 6c 73 2f 73 72 63 27 29 2c 0a 27 53 65 6c 64 5c 5c '/seld/phar-utils/src'),.'Seld\\
19dd40 4a 73 6f 6e 4c 69 6e 74 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 JsonLint\\'.=>.array($vendorDir.
19dd60 2e 20 27 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c ..'/seld/jsonlint/src/Seld/JsonL
19dd80 69 6e 74 27 29 2c 0a 27 50 73 72 5c 5c 4c 6f 67 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 int'),.'Psr\\Log\\'.=>.array($ve
19dda0 6e 64 6f 72 44 69 72 20 2e 20 27 2f 70 73 72 2f 6c 6f 67 2f 50 73 72 2f 4c 6f 67 27 29 2c 0a 27 ndorDir...'/psr/log/Psr/Log'),.'
19ddc0 4a 73 6f 6e 53 63 68 65 6d 61 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 JsonSchema\\'.=>.array($vendorDi
19dde0 72 20 2e 20 27 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f r...'/justinrainbow/json-schema/
19de00 73 72 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 27 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 58 64 65 src/JsonSchema'),.'Composer\\Xde
19de20 62 75 67 48 61 6e 64 6c 65 72 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 bugHandler\\'.=>.array($vendorDi
19de40 72 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 75 67 2d 68 61 6e 64 6c 65 72 2f 73 72 r...'/composer/xdebug-handler/sr
19de60 63 27 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 53 70 64 78 5c 5c 27 20 3d 3e 20 61 72 72 61 79 c'),.'Composer\\Spdx\\'.=>.array
19de80 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 ($vendorDir...'/composer/spdx-li
19dea0 63 65 6e 73 65 73 2f 73 72 63 27 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 53 65 6d 76 65 72 5c censes/src'),.'Composer\\Semver\
19dec0 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 2f 63 6f 6d 70 6f \'.=>.array($vendorDir...'/compo
19dee0 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 27 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 43 61 42 ser/semver/src'),.'Composer\\CaB
19df00 75 6e 64 6c 65 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 76 65 6e 64 6f 72 44 69 72 20 2e 20 27 undle\\'.=>.array($vendorDir...'
19df20 2f 63 6f 6d 70 6f 73 65 72 2f 63 61 2d 62 75 6e 64 6c 65 2f 73 72 63 27 29 2c 0a 27 43 6f 6d 70 /composer/ca-bundle/src'),.'Comp
19df40 6f 73 65 72 5c 5c 27 20 3d 3e 20 61 72 72 61 79 28 24 62 61 73 65 44 69 72 20 2e 20 27 2f 73 72 oser\\'.=>.array($baseDir...'/sr
19df60 63 2f 43 6f 6d 70 6f 73 65 72 27 29 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 24 76 65 6e 64 6f c/Composer'),.);.<?php....$vendo
19df80 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c 45 5f 5f 29 rDir.=.dirname(dirname(__FILE__)
19dfa0 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 65 6e 64 6f 72 44 69 72 );.$baseDir.=.dirname($vendorDir
19dfc0 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 24 76 );..return.array(.);.<?php....$v
19dfe0 65 6e 64 6f 72 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 64 69 72 6e 61 6d 65 28 5f 5f 46 49 4c endorDir.=.dirname(dirname(__FIL
19e000 45 5f 5f 29 29 3b 0a 24 62 61 73 65 44 69 72 20 3d 20 64 69 72 6e 61 6d 65 28 24 76 65 6e 64 6f E__));.$baseDir.=.dirname($vendo
19e020 72 44 69 72 29 3b 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 0a 27 33 32 30 63 64 65 32 32 66 rDir);..return.array(.'320cde22f
19e040 36 36 64 64 34 66 35 64 33 66 64 36 32 31 64 33 65 38 38 62 39 38 66 27 20 3d 3e 20 24 76 65 6e 66dd4f5d3fd621d3e88b98f'.=>.$ven
19e060 64 6f 72 44 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 dorDir...'/symfony/polyfill-ctyp
19e080 65 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 27 2c 0a 27 30 65 36 64 37 62 66 34 61 35 38 31 31 e/bootstrap.php',.'0e6d7bf4a5811
19e0a0 62 66 61 35 63 66 34 30 63 35 63 63 64 36 66 61 65 36 61 27 20 3d 3e 20 24 76 65 6e 64 6f 72 44 bfa5cf40c5ccd6fae6a'.=>.$vendorD
19e0c0 69 72 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 ir...'/symfony/polyfill-mbstring
19e0e0 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 27 2c 0a 29 3b 0a 3c 3f 70 68 70 0a 0a 0a 0a 63 6c 61 /bootstrap.php',.);.<?php....cla
19e100 73 73 20 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 43 6f 6d 70 6f 73 65 ss.ComposerAutoloaderInitCompose
19e120 72 50 68 61 72 31 35 37 32 36 32 35 32 31 37 0a 7b 0a 70 72 69 76 61 74 65 20 73 74 61 74 69 63 rPhar1572625217.{.private.static
19e140 20 24 6c 6f 61 64 65 72 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f .$loader;..public.static.functio
19e160 6e 20 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 28 24 63 6c 61 73 73 29 0a 7b 0a 69 66 20 28 n.loadClassLoader($class).{.if.(
19e180 27 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 27 20 'Composer\Autoload\ClassLoader'.
19e1a0 3d 3d 3d 20 24 63 6c 61 73 73 29 20 7b 0a 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 ===.$class).{.require.__DIR__...
19e1c0 27 2f 43 6c 61 73 73 4c 6f 61 64 65 72 2e 70 68 70 27 3b 0a 7d 0a 7d 0a 0a 70 75 62 6c 69 63 20 '/ClassLoader.php';.}.}..public.
19e1e0 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4c 6f 61 64 65 72 28 29 0a 7b 0a 69 66 static.function.getLoader().{.if
19e200 20 28 6e 75 6c 6c 20 21 3d 3d 20 73 65 6c 66 3a 3a 24 6c 6f 61 64 65 72 29 20 7b 0a 72 65 74 75 .(null.!==.self::$loader).{.retu
19e220 72 6e 20 73 65 6c 66 3a 3a 24 6c 6f 61 64 65 72 3b 0a 7d 0a 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 rn.self::$loader;.}..spl_autoloa
19e240 64 5f 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 27 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f d_register(array('ComposerAutolo
19e260 61 64 65 72 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 37 32 36 32 35 32 31 37 27 2c aderInitComposerPhar1572625217',
19e280 20 27 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 27 29 2c 20 74 72 75 65 2c 20 74 72 75 65 29 .'loadClassLoader'),.true,.true)
19e2a0 3b 0a 73 65 6c 66 3a 3a 24 6c 6f 61 64 65 72 20 3d 20 24 6c 6f 61 64 65 72 20 3d 20 6e 65 77 20 ;.self::$loader.=.$loader.=.new.
19e2c0 5c 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6c 61 73 73 4c 6f 61 64 65 72 28 29 \Composer\Autoload\ClassLoader()
19e2e0 3b 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 ;.spl_autoload_unregister(array(
19e300 27 43 6f 6d 70 6f 73 65 72 41 75 74 6f 6c 6f 61 64 65 72 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 'ComposerAutoloaderInitComposerP
19e320 68 61 72 31 35 37 32 36 32 35 32 31 37 27 2c 20 27 6c 6f 61 64 43 6c 61 73 73 4c 6f 61 64 65 72 har1572625217',.'loadClassLoader
19e340 27 29 29 3b 0a 0a 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 20 3d 20 50 48 50 5f 56 45 52 '));..$useStaticLoader.=.PHP_VER
19e360 53 49 4f 4e 5f 49 44 20 3e 3d 20 35 30 36 30 30 20 26 26 20 21 64 65 66 69 6e 65 64 28 27 48 48 SION_ID.>=.50600.&&.!defined('HH
19e380 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 VM_VERSION').&&.(!function_exist
19e3a0 73 28 27 7a 65 6e 64 5f 6c 6f 61 64 65 72 5f 66 69 6c 65 5f 65 6e 63 6f 64 65 64 27 29 20 7c 7c s('zend_loader_file_encoded').||
19e3c0 20 21 7a 65 6e 64 5f 6c 6f 61 64 65 72 5f 66 69 6c 65 5f 65 6e 63 6f 64 65 64 28 29 29 3b 0a 69 .!zend_loader_file_encoded());.i
19e3e0 66 20 28 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 29 20 7b 0a 72 65 71 75 69 72 65 5f 6f f.($useStaticLoader).{.require_o
19e400 6e 63 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 73 74 61 74 69 63 2e nce.__DIR__...'/autoload_static.
19e420 70 68 70 27 3b 0a 0a 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 28 5c 43 6f 6d 70 6f 73 65 72 5c php';..call_user_func(\Composer\
19e440 41 75 74 6f 6c 6f 61 64 5c 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 43 6f 6d 70 6f Autoload\ComposerStaticInitCompo
19e460 73 65 72 50 68 61 72 31 35 37 32 36 32 35 32 31 37 3a 3a 67 65 74 49 6e 69 74 69 61 6c 69 7a 65 serPhar1572625217::getInitialize
19e480 72 28 24 6c 6f 61 64 65 72 29 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 6d 61 70 20 3d 20 72 65 71 r($loader));.}.else.{.$map.=.req
19e4a0 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 6e 61 6d 65 73 70 uire.__DIR__...'/autoload_namesp
19e4c0 61 63 65 73 2e 70 68 70 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d aces.php';.foreach.($map.as.$nam
19e4e0 65 73 70 61 63 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 73 65 74 28 espace.=>.$path).{.$loader->set(
19e500 24 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 24 6d 61 70 20 3d 20 72 65 $namespace,.$path);.}..$map.=.re
19e520 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 70 73 72 34 2e quire.__DIR__...'/autoload_psr4.
19e540 70 68 70 27 3b 0a 66 6f 72 65 61 63 68 20 28 24 6d 61 70 20 61 73 20 24 6e 61 6d 65 73 70 61 63 php';.foreach.($map.as.$namespac
19e560 65 20 3d 3e 20 24 70 61 74 68 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 73 65 74 50 73 72 34 28 24 e.=>.$path).{.$loader->setPsr4($
19e580 6e 61 6d 65 73 70 61 63 65 2c 20 24 70 61 74 68 29 3b 0a 7d 0a 0a 24 63 6c 61 73 73 4d 61 70 20 namespace,.$path);.}..$classMap.
19e5a0 3d 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 5f 63 =.require.__DIR__...'/autoload_c
19e5c0 6c 61 73 73 6d 61 70 2e 70 68 70 27 3b 0a 69 66 20 28 24 63 6c 61 73 73 4d 61 70 29 20 7b 0a 24 lassmap.php';.if.($classMap).{.$
19e5e0 6c 6f 61 64 65 72 2d 3e 61 64 64 43 6c 61 73 73 4d 61 70 28 24 63 6c 61 73 73 4d 61 70 29 3b 0a loader->addClassMap($classMap);.
19e600 7d 0a 7d 0a 0a 24 6c 6f 61 64 65 72 2d 3e 72 65 67 69 73 74 65 72 28 74 72 75 65 29 3b 0a 0a 69 }.}..$loader->register(true);..i
19e620 66 20 28 24 75 73 65 53 74 61 74 69 63 4c 6f 61 64 65 72 29 20 7b 0a 24 69 6e 63 6c 75 64 65 46 f.($useStaticLoader).{.$includeF
19e640 69 6c 65 73 20 3d 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 5c 43 6f 6d 70 6f 73 65 iles.=.Composer\Autoload\Compose
19e660 72 53 74 61 74 69 63 49 6e 69 74 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 37 32 36 32 35 32 31 rStaticInitComposerPhar157262521
19e680 37 3a 3a 24 66 69 6c 65 73 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 69 6e 63 6c 75 64 65 46 69 6c 65 7::$files;.}.else.{.$includeFile
19e6a0 73 20 3d 20 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 61 75 74 6f 6c 6f 61 64 s.=.require.__DIR__...'/autoload
19e6c0 5f 66 69 6c 65 73 2e 70 68 70 27 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 28 24 69 6e 63 6c 75 64 65 _files.php';.}.foreach.($include
19e6e0 46 69 6c 65 73 20 61 73 20 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 20 3d 3e 20 24 66 69 6c Files.as.$fileIdentifier.=>.$fil
19e700 65 29 20 7b 0a 63 6f 6d 70 6f 73 65 72 52 65 71 75 69 72 65 43 6f 6d 70 6f 73 65 72 50 68 61 72 e).{.composerRequireComposerPhar
19e720 31 35 37 32 36 32 35 32 31 37 28 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 24 66 69 6c 1572625217($fileIdentifier,.$fil
19e740 65 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 6c 6f 61 64 65 72 3b 0a 7d 0a 7d 0a 0a 66 75 6e 63 e);.}..return.$loader;.}.}..func
19e760 74 69 6f 6e 20 63 6f 6d 70 6f 73 65 72 52 65 71 75 69 72 65 43 6f 6d 70 6f 73 65 72 50 68 61 72 tion.composerRequireComposerPhar
19e780 31 35 37 32 36 32 35 32 31 37 28 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 2c 20 24 66 69 6c 1572625217($fileIdentifier,.$fil
19e7a0 65 29 0a 7b 0a 69 66 20 28 65 6d 70 74 79 28 24 47 4c 4f 42 41 4c 53 5b 27 5f 5f 63 6f 6d 70 6f e).{.if.(empty($GLOBALS['__compo
19e7c0 73 65 72 5f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 27 5d 5b 24 66 69 6c 65 49 64 65 6e 74 69 ser_autoload_files'][$fileIdenti
19e7e0 66 69 65 72 5d 29 29 20 7b 0a 72 65 71 75 69 72 65 20 24 66 69 6c 65 3b 0a 0a 24 47 4c 4f 42 41 fier])).{.require.$file;..$GLOBA
19e800 4c 53 5b 27 5f 5f 63 6f 6d 70 6f 73 65 72 5f 61 75 74 6f 6c 6f 61 64 5f 66 69 6c 65 73 27 5d 5b LS['__composer_autoload_files'][
19e820 24 66 69 6c 65 49 64 65 6e 74 69 66 69 65 72 5d 20 3d 20 74 72 75 65 3b 0a 7d 0a 7d 0a 3c 3f 70 $fileIdentifier].=.true;.}.}.<?p
19e840 68 70 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 hp....namespace.Composer\Autoloa
19e860 64 3b 0a 0a 63 6c 61 73 73 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 43 6f 6d 70 d;..class.ComposerStaticInitComp
19e880 6f 73 65 72 50 68 61 72 31 35 37 32 36 32 35 32 31 37 0a 7b 0a 70 75 62 6c 69 63 20 73 74 61 74 oserPhar1572625217.{.public.stat
19e8a0 69 63 20 24 66 69 6c 65 73 20 3d 20 61 72 72 61 79 20 28 0a 27 33 32 30 63 64 65 32 32 66 36 36 ic.$files.=.array.(.'320cde22f66
19e8c0 64 64 34 66 35 64 33 66 64 36 32 31 64 33 65 38 38 62 39 38 66 27 20 3d 3e 20 5f 5f 44 49 52 5f dd4f5d3fd621d3e88b98f'.=>.__DIR_
19e8e0 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 _...'/..'...'/symfony/polyfill-c
19e900 74 79 70 65 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 27 2c 0a 27 30 65 36 64 37 62 66 34 61 35 type/bootstrap.php',.'0e6d7bf4a5
19e920 38 31 31 62 66 61 35 63 66 34 30 63 35 63 63 64 36 66 61 65 36 61 27 20 3d 3e 20 5f 5f 44 49 52 811bfa5cf40c5ccd6fae6a'.=>.__DIR
19e940 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d __...'/..'...'/symfony/polyfill-
19e960 6d 62 73 74 72 69 6e 67 2f 62 6f 6f 74 73 74 72 61 70 2e 70 68 70 27 2c 0a 29 3b 0a 0a 70 75 62 mbstring/bootstrap.php',.);..pub
19e980 6c 69 63 20 73 74 61 74 69 63 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 20 3d 20 lic.static.$prefixLengthsPsr4.=.
19e9a0 61 72 72 61 79 20 28 0a 27 53 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 27 53 79 6d 66 6f 6e 79 array.(.'S'.=>..array.(.'Symfony
19e9c0 5c 5c 50 6f 6c 79 66 69 6c 6c 5c 5c 4d 62 73 74 72 69 6e 67 5c 5c 27 20 3d 3e 20 32 36 2c 0a 27 \\Polyfill\\Mbstring\\'.=>.26,.'
19e9e0 53 79 6d 66 6f 6e 79 5c 5c 50 6f 6c 79 66 69 6c 6c 5c 5c 43 74 79 70 65 5c 5c 27 20 3d 3e 20 32 Symfony\\Polyfill\\Ctype\\'.=>.2
19ea00 33 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 50 72 6f 63 65 73 73 5c 3,.'Symfony\\Component\\Process\
19ea20 5c 27 20 3d 3e 20 32 36 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 46 \'.=>.26,.'Symfony\\Component\\F
19ea40 69 6e 64 65 72 5c 5c 27 20 3d 3e 20 32 35 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e inder\\'.=>.25,.'Symfony\\Compon
19ea60 65 6e 74 5c 5c 46 69 6c 65 73 79 73 74 65 6d 5c 5c 27 20 3d 3e 20 32 39 2c 0a 27 53 79 6d 66 6f ent\\Filesystem\\'.=>.29,.'Symfo
19ea80 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 65 62 75 67 5c 5c 27 20 3d 3e 20 32 34 2c 0a 27 ny\\Component\\Debug\\'.=>.24,.'
19eaa0 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 27 20 3d Symfony\\Component\\Console\\'.=
19eac0 3e 20 32 36 2c 0a 27 53 65 6c 64 5c 5c 50 68 61 72 55 74 69 6c 73 5c 5c 27 20 3d 3e 20 31 35 2c >.26,.'Seld\\PharUtils\\'.=>.15,
19eae0 0a 27 53 65 6c 64 5c 5c 4a 73 6f 6e 4c 69 6e 74 5c 5c 27 20 3d 3e 20 31 34 2c 0a 29 2c 0a 27 50 .'Seld\\JsonLint\\'.=>.14,.),.'P
19eb00 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 27 50 73 72 5c 5c 4c 6f 67 5c 5c 27 20 3d 3e 20 38 2c '.=>..array.(.'Psr\\Log\\'.=>.8,
19eb20 0a 29 2c 0a 27 4a 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 27 4a 73 6f 6e 53 63 68 65 6d 61 5c .),.'J'.=>..array.(.'JsonSchema\
19eb40 5c 27 20 3d 3e 20 31 31 2c 0a 29 2c 0a 27 43 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 27 43 6f \'.=>.11,.),.'C'.=>..array.(.'Co
19eb60 6d 70 6f 73 65 72 5c 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 5c 5c 27 20 3d 3e 20 32 33 2c 0a mposer\\XdebugHandler\\'.=>.23,.
19eb80 27 43 6f 6d 70 6f 73 65 72 5c 5c 53 70 64 78 5c 5c 27 20 3d 3e 20 31 34 2c 0a 27 43 6f 6d 70 6f 'Composer\\Spdx\\'.=>.14,.'Compo
19eba0 73 65 72 5c 5c 53 65 6d 76 65 72 5c 5c 27 20 3d 3e 20 31 36 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c ser\\Semver\\'.=>.16,.'Composer\
19ebc0 5c 43 61 42 75 6e 64 6c 65 5c 5c 27 20 3d 3e 20 31 38 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 27 \CaBundle\\'.=>.18,.'Composer\\'
19ebe0 20 3d 3e 20 39 2c 0a 29 2c 0a 29 3b 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 24 70 72 65 .=>.9,.),.);..public.static.$pre
19ec00 66 69 78 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 20 28 0a 27 53 79 6d 66 6f 6e 79 5c 5c fixDirsPsr4.=.array.(.'Symfony\\
19ec20 50 6f 6c 79 66 69 6c 6c 5c 5c 4d 62 73 74 72 69 6e 67 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 Polyfill\\Mbstring\\'.=>..array.
19ec40 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f (.0.=>.__DIR__...'/..'...'/symfo
19ec60 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 6d 62 73 74 72 69 6e 67 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f ny/polyfill-mbstring',.),.'Symfo
19ec80 6e 79 5c 5c 50 6f 6c 79 66 69 6c 6c 5c 5c 43 74 79 70 65 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 ny\\Polyfill\\Ctype\\'.=>..array
19eca0 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 .(.0.=>.__DIR__...'/..'...'/symf
19ecc0 6f 6e 79 2f 70 6f 6c 79 66 69 6c 6c 2d 63 74 79 70 65 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 ony/polyfill-ctype',.),.'Symfony
19ece0 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 50 72 6f 63 65 73 73 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 \\Component\\Process\\'.=>..arra
19ed00 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d y.(.0.=>.__DIR__...'/..'...'/sym
19ed20 66 6f 6e 79 2f 70 72 6f 63 65 73 73 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 fony/process',.),.'Symfony\\Comp
19ed40 6f 6e 65 6e 74 5c 5c 46 69 6e 64 65 72 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d onent\\Finder\\'.=>..array.(.0.=
19ed60 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 66 69 >.__DIR__...'/..'...'/symfony/fi
19ed80 6e 64 65 72 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 46 nder',.),.'Symfony\\Component\\F
19eda0 69 6c 65 73 79 73 74 65 6d 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f ilesystem\\'.=>..array.(.0.=>.__
19edc0 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 66 69 6c 65 73 79 DIR__...'/..'...'/symfony/filesy
19ede0 73 74 65 6d 27 2c 0a 29 2c 0a 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 44 stem',.),.'Symfony\\Component\\D
19ee00 65 62 75 67 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f ebug\\'.=>..array.(.0.=>.__DIR__
19ee20 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 64 65 62 75 67 27 2c 0a 29 2c 0a ...'/..'...'/symfony/debug',.),.
19ee40 27 53 79 6d 66 6f 6e 79 5c 5c 43 6f 6d 70 6f 6e 65 6e 74 5c 5c 43 6f 6e 73 6f 6c 65 5c 5c 27 20 'Symfony\\Component\\Console\\'.
19ee60 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 =>..array.(.0.=>.__DIR__...'/..'
19ee80 20 2e 20 27 2f 73 79 6d 66 6f 6e 79 2f 63 6f 6e 73 6f 6c 65 27 2c 0a 29 2c 0a 27 53 65 6c 64 5c ...'/symfony/console',.),.'Seld\
19eea0 5c 50 68 61 72 55 74 69 6c 73 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f \PharUtils\\'.=>..array.(.0.=>._
19eec0 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 73 65 6c 64 2f 70 68 61 72 2d 75 74 69 _DIR__...'/..'...'/seld/phar-uti
19eee0 6c 73 2f 73 72 63 27 2c 0a 29 2c 0a 27 53 65 6c 64 5c 5c 4a 73 6f 6e 4c 69 6e 74 5c 5c 27 20 3d ls/src',.),.'Seld\\JsonLint\\'.=
19ef00 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 >..array.(.0.=>.__DIR__...'/..'.
19ef20 2e 20 27 2f 73 65 6c 64 2f 6a 73 6f 6e 6c 69 6e 74 2f 73 72 63 2f 53 65 6c 64 2f 4a 73 6f 6e 4c ..'/seld/jsonlint/src/Seld/JsonL
19ef40 69 6e 74 27 2c 0a 29 2c 0a 27 50 73 72 5c 5c 4c 6f 67 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 int',.),.'Psr\\Log\\'.=>..array.
19ef60 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 70 73 72 2f 6c (.0.=>.__DIR__...'/..'...'/psr/l
19ef80 6f 67 2f 50 73 72 2f 4c 6f 67 27 2c 0a 29 2c 0a 27 4a 73 6f 6e 53 63 68 65 6d 61 5c 5c 27 20 3d og/Psr/Log',.),.'JsonSchema\\'.=
19efa0 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 >..array.(.0.=>.__DIR__...'/..'.
19efc0 2e 20 27 2f 6a 75 73 74 69 6e 72 61 69 6e 62 6f 77 2f 6a 73 6f 6e 2d 73 63 68 65 6d 61 2f 73 72 ..'/justinrainbow/json-schema/sr
19efe0 63 2f 4a 73 6f 6e 53 63 68 65 6d 61 27 2c 0a 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 58 64 65 c/JsonSchema',.),.'Composer\\Xde
19f000 62 75 67 48 61 6e 64 6c 65 72 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f bugHandler\\'.=>..array.(.0.=>._
19f020 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 78 64 65 62 _DIR__...'/..'...'/composer/xdeb
19f040 75 67 2d 68 61 6e 64 6c 65 72 2f 73 72 63 27 2c 0a 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 53 ug-handler/src',.),.'Composer\\S
19f060 70 64 78 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 pdx\\'.=>..array.(.0.=>.__DIR__.
19f080 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 73 70 64 78 2d 6c 69 63 65 6e 73 ..'/..'...'/composer/spdx-licens
19f0a0 65 73 2f 73 72 63 27 2c 0a 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 5c 5c 53 65 6d 76 65 72 5c 5c 27 es/src',.),.'Composer\\Semver\\'
19f0c0 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e .=>..array.(.0.=>.__DIR__...'/..
19f0e0 27 20 2e 20 27 2f 63 6f 6d 70 6f 73 65 72 2f 73 65 6d 76 65 72 2f 73 72 63 27 2c 0a 29 2c 0a 27 '...'/composer/semver/src',.),.'
19f100 43 6f 6d 70 6f 73 65 72 5c 5c 43 61 42 75 6e 64 6c 65 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 Composer\\CaBundle\\'.=>..array.
19f120 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 2f 2e 2e 27 20 2e 20 27 2f 63 6f 6d 70 6f (.0.=>.__DIR__...'/..'...'/compo
19f140 73 65 72 2f 63 61 2d 62 75 6e 64 6c 65 2f 73 72 63 27 2c 0a 29 2c 0a 27 43 6f 6d 70 6f 73 65 72 ser/ca-bundle/src',.),.'Composer
19f160 5c 5c 27 20 3d 3e 20 0a 61 72 72 61 79 20 28 0a 30 20 3d 3e 20 5f 5f 44 49 52 5f 5f 20 2e 20 27 \\'.=>..array.(.0.=>.__DIR__...'
19f180 2f 2e 2e 2f 2e 2e 27 20 2e 20 27 2f 73 72 63 2f 43 6f 6d 70 6f 73 65 72 27 2c 0a 29 2c 0a 29 3b /../..'...'/src/Composer',.),.);
19f1a0 0a 0a 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 49 6e 69 74 ..public.static.function.getInit
19f1c0 69 61 6c 69 7a 65 72 28 43 6c 61 73 73 4c 6f 61 64 65 72 20 24 6c 6f 61 64 65 72 29 0a 7b 0a 72 ializer(ClassLoader.$loader).{.r
19f1e0 65 74 75 72 6e 20 5c 43 6c 6f 73 75 72 65 3a 3a 62 69 6e 64 28 66 75 6e 63 74 69 6f 6e 20 28 29 eturn.\Closure::bind(function.()
19f200 20 75 73 65 20 28 24 6c 6f 61 64 65 72 29 20 7b 0a 24 6c 6f 61 64 65 72 2d 3e 70 72 65 66 69 78 .use.($loader).{.$loader->prefix
19f220 4c 65 6e 67 74 68 73 50 73 72 34 20 3d 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 LengthsPsr4.=.ComposerStaticInit
19f240 43 6f 6d 70 6f 73 65 72 50 68 61 72 31 35 37 32 36 32 35 32 31 37 3a 3a 24 70 72 65 66 69 78 4c ComposerPhar1572625217::$prefixL
19f260 65 6e 67 74 68 73 50 73 72 34 3b 0a 24 6c 6f 61 64 65 72 2d 3e 70 72 65 66 69 78 44 69 72 73 50 engthsPsr4;.$loader->prefixDirsP
19f280 73 72 34 20 3d 20 43 6f 6d 70 6f 73 65 72 53 74 61 74 69 63 49 6e 69 74 43 6f 6d 70 6f 73 65 72 sr4.=.ComposerStaticInitComposer
19f2a0 50 68 61 72 31 35 37 32 36 32 35 32 31 37 3a 3a 24 70 72 65 66 69 78 44 69 72 73 50 73 72 34 3b Phar1572625217::$prefixDirsPsr4;
19f2c0 0a 0a 7d 2c 20 6e 75 6c 6c 2c 20 43 6c 61 73 73 4c 6f 61 64 65 72 3a 3a 63 6c 61 73 73 29 3b 0a ..},.null,.ClassLoader::class);.
19f2e0 7d 0a 7d 0a 3c 3f 70 68 70 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 6e 61 6d 65 73 70 61 63 65 20 43 }.}.<?php............namespace.C
19f300 6f 6d 70 6f 73 65 72 5c 41 75 74 6f 6c 6f 61 64 3b 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a omposer\Autoload;...............
19f320 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 63 6c 61 73 73 20 43 6c 61 73 73 4c 6f 61 64 65 72 ...............class.ClassLoader
19f340 0a 7b 0a 0a 20 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 20 .{...private.$prefixLengthsPsr4.
19f360 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 70 72 65 66 69 78 44 69 72 73 50 73 =.array();.private.$prefixDirsPs
19f380 72 34 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 66 61 6c 6c 62 61 63 6b 44 r4.=.array();.private.$fallbackD
19f3a0 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 0a 20 70 72 69 76 61 74 65 20 24 70 irsPsr4.=.array();....private.$p
19f3c0 72 65 66 69 78 65 73 50 73 72 30 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 refixesPsr0.=.array();.private.$
19f3e0 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 70 72 69 fallbackDirsPsr0.=.array();..pri
19f400 76 61 74 65 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 20 3d 20 66 61 6c 73 65 3b 0a 70 72 vate.$useIncludePath.=.false;.pr
19f420 69 76 61 74 65 20 24 63 6c 61 73 73 4d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 70 72 69 76 61 ivate.$classMap.=.array();.priva
19f440 74 65 20 24 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 66 61 6c 73 te.$classMapAuthoritative.=.fals
19f460 65 3b 0a 70 72 69 76 61 74 65 20 24 6d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 20 3d 20 61 72 72 e;.private.$missingClasses.=.arr
19f480 61 79 28 29 3b 0a 70 72 69 76 61 74 65 20 24 61 70 63 75 50 72 65 66 69 78 3b 0a 0a 70 75 62 6c ay();.private.$apcuPrefix;..publ
19f4a0 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 72 65 66 69 78 65 73 28 29 0a 7b 0a 69 66 20 28 ic.function.getPrefixes().{.if.(
19f4c0 21 65 6d 70 74 79 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 29 29 20 7b 0a 72 !empty($this->prefixesPsr0)).{.r
19f4e0 65 74 75 72 6e 20 63 61 6c 6c 5f 75 73 65 72 5f 66 75 6e 63 5f 61 72 72 61 79 28 27 61 72 72 61 eturn.call_user_func_array('arra
19f500 79 5f 6d 65 72 67 65 27 2c 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 29 3b 0a y_merge',.$this->prefixesPsr0);.
19f520 7d 0a 0a 72 65 74 75 72 6e 20 61 72 72 61 79 28 29 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e }..return.array();.}..public.fun
19f540 63 74 69 6f 6e 20 67 65 74 50 72 65 66 69 78 65 73 50 73 72 34 28 29 0a 7b 0a 72 65 74 75 72 6e ction.getPrefixesPsr4().{.return
19f560 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 3b 0a 7d 0a 0a 70 75 62 6c 69 .$this->prefixDirsPsr4;.}..publi
19f580 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 61 6c 6c 62 61 63 6b 44 69 72 73 28 29 0a 7b 0a 72 c.function.getFallbackDirs().{.r
19f5a0 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 3b 0a 7d eturn.$this->fallbackDirsPsr0;.}
19f5c0 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 46 61 6c 6c 62 61 63 6b 44 69 72 ..public.function.getFallbackDir
19f5e0 73 50 73 72 34 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b sPsr4().{.return.$this->fallback
19f600 44 69 72 73 50 73 72 34 3b 0a 7d 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 DirsPsr4;.}..public.function.get
19f620 43 6c 61 73 73 4d 61 70 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 ClassMap().{.return.$this->class
19f640 4d 61 70 3b 0a 7d 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 43 6c Map;.}.....public.function.addCl
19f660 61 73 73 4d 61 70 28 61 72 72 61 79 20 24 63 6c 61 73 73 4d 61 70 29 0a 7b 0a 69 66 20 28 24 74 assMap(array.$classMap).{.if.($t
19f680 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 29 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 his->classMap).{.$this->classMap
19f6a0 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 2c 20 .=.array_merge($this->classMap,.
19f6c0 24 63 6c 61 73 73 4d 61 70 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 63 6c 61 73 $classMap);.}.else.{.$this->clas
19f6e0 73 4d 61 70 20 3d 20 24 63 6c 61 73 73 4d 61 70 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 sMap.=.$classMap;.}.}..........p
19f700 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 ublic.function.add($prefix,.$pat
19f720 68 73 2c 20 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 24 70 72 hs,.$prepend.=.false).{.if.(!$pr
19f740 65 66 69 78 29 20 7b 0a 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 66 efix).{.if.($prepend).{.$this->f
19f760 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 28 allbackDirsPsr0.=.array_merge(.(
19f780 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 array).$paths,.$this->fallbackDi
19f7a0 72 73 50 73 72 30 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 rsPsr0.);.}.else.{.$this->fallba
19f7c0 63 6b 44 69 72 73 50 73 72 30 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 74 68 69 73 2d ckDirsPsr0.=.array_merge(.$this-
19f7e0 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 2c 0a 28 61 72 72 61 79 29 20 24 70 61 74 68 >fallbackDirsPsr0,.(array).$path
19f800 73 0a 29 3b 0a 7d 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 0a 24 66 69 72 73 74 20 3d 20 24 70 72 65 s.);.}..return;.}..$first.=.$pre
19f820 66 69 78 5b 30 5d 3b 0a 69 66 20 28 21 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 fix[0];.if.(!isset($this->prefix
19f840 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 29 29 20 7b 0a 24 74 68 69 esPsr0[$first][$prefix])).{.$thi
19f860 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d s->prefixesPsr0[$first][$prefix]
19f880 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 0a 72 65 74 75 72 6e 3b 0a 7d 0a 69 66 .=.(array).$paths;..return;.}.if
19f8a0 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 .($prepend).{.$this->prefixesPsr
19f8c0 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 0[$first][$prefix].=.array_merge
19f8e0 28 0a 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 (.(array).$paths,.$this->prefixe
19f900 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 0a 29 3b 0a 7d 20 65 6c 73 65 sPsr0[$first][$prefix].);.}.else
19f920 20 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 .{.$this->prefixesPsr0[$first][$
19f940 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 74 68 69 73 2d 3e 70 72 prefix].=.array_merge(.$this->pr
19f960 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 5b 24 70 72 65 66 69 78 5d 2c 0a 28 61 72 efixesPsr0[$first][$prefix],.(ar
19f980 72 61 79 29 20 24 70 61 74 68 73 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 ray).$paths.);.}.}............pu
19f9a0 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 50 73 72 34 28 24 70 72 65 66 69 78 2c 20 24 blic.function.addPsr4($prefix,.$
19f9c0 70 61 74 68 73 2c 20 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 69 66 20 28 21 paths,.$prepend.=.false).{.if.(!
19f9e0 24 70 72 65 66 69 78 29 20 7b 0a 0a 20 69 66 20 28 24 70 72 65 70 65 6e 64 29 20 7b 0a 24 74 68 $prefix).{...if.($prepend).{.$th
19fa00 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 5f 6d 65 72 is->fallbackDirsPsr4.=.array_mer
19fa20 67 65 28 0a 28 61 72 72 61 79 29 20 24 70 61 74 68 73 2c 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 ge(.(array).$paths,.$this->fallb
19fa40 61 63 6b 44 69 72 73 50 73 72 34 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 66 ackDirsPsr4.);.}.else.{.$this->f
19fa60 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 24 allbackDirsPsr4.=.array_merge(.$
19fa80 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 2c 0a 28 61 72 72 61 79 29 20 this->fallbackDirsPsr4,.(array).
19faa0 24 70 61 74 68 73 0a 29 3b 0a 7d 0a 7d 20 65 6c 73 65 69 66 20 28 21 69 73 73 65 74 28 24 74 68 $paths.);.}.}.elseif.(!isset($th
19fac0 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 29 29 20 7b 0a is->prefixDirsPsr4[$prefix])).{.
19fae0 0a 20 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 69 66 20 ..$length.=.strlen($prefix);.if.
19fb00 28 27 5c 5c 27 20 21 3d 3d 20 24 70 72 65 66 69 78 5b 24 6c 65 6e 67 74 68 20 2d 20 31 5d 29 20 ('\\'.!==.$prefix[$length.-.1]).
19fb20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 63 65 {.throw.new.\InvalidArgumentExce
19fb40 70 74 69 6f 6e 28 22 41 20 6e 6f 6e 2d 65 6d 70 74 79 20 50 53 52 2d 34 20 70 72 65 66 69 78 20 ption("A.non-empty.PSR-4.prefix.
19fb60 6d 75 73 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 72 61 must.end.with.a.namespace.separa
19fb80 74 6f 72 2e 22 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 tor.");.}.$this->prefixLengthsPs
19fba0 72 34 5b 24 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 24 6c 65 6e 67 74 r4[$prefix[0]][$prefix].=.$lengt
19fbc0 68 3b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 h;.$this->prefixDirsPsr4[$prefix
19fbe0 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 7d 20 65 6c 73 65 69 66 20 28 24 70 ].=.(array).$paths;.}.elseif.($p
19fc00 72 65 70 65 6e 64 29 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 repend).{...$this->prefixDirsPsr
19fc20 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 72 67 65 28 0a 28 61 72 72 61 79 4[$prefix].=.array_merge(.(array
19fc40 29 20 24 70 61 74 68 73 2c 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b ).$paths,.$this->prefixDirsPsr4[
19fc60 24 70 72 65 66 69 78 5d 0a 29 3b 0a 7d 20 65 6c 73 65 20 7b 0a 0a 20 24 74 68 69 73 2d 3e 70 72 $prefix].);.}.else.{...$this->pr
19fc80 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 69 78 5d 20 3d 20 61 72 72 61 79 5f 6d 65 efixDirsPsr4[$prefix].=.array_me
19fca0 72 67 65 28 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 rge(.$this->prefixDirsPsr4[$pref
19fcc0 69 78 5d 2c 0a 28 61 72 72 61 79 29 20 24 70 61 74 68 73 0a 29 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a ix],.(array).$paths.);.}.}......
19fce0 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 28 24 70 72 65 66 69 78 2c 20 ...public.function.set($prefix,.
19fd00 24 70 61 74 68 73 29 0a 7b 0a 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 24 74 68 69 73 2d $paths).{.if.(!$prefix).{.$this-
19fd20 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 >fallbackDirsPsr0.=.(array).$pat
19fd40 68 73 3b 0a 7d 20 65 6c 73 65 20 7b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 hs;.}.else.{.$this->prefixesPsr0
19fd60 5b 24 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 [$prefix[0]][$prefix].=.(array).
19fd80 24 70 61 74 68 73 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e $paths;.}.}...........public.fun
19fda0 63 74 69 6f 6e 20 73 65 74 50 73 72 34 28 24 70 72 65 66 69 78 2c 20 24 70 61 74 68 73 29 0a 7b ction.setPsr4($prefix,.$paths).{
19fdc0 0a 69 66 20 28 21 24 70 72 65 66 69 78 29 20 7b 0a 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b .if.(!$prefix).{.$this->fallback
19fde0 44 69 72 73 50 73 72 34 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 7d 20 65 6c 73 DirsPsr4.=.(array).$paths;.}.els
19fe00 65 20 7b 0a 24 6c 65 6e 67 74 68 20 3d 20 73 74 72 6c 65 6e 28 24 70 72 65 66 69 78 29 3b 0a 69 e.{.$length.=.strlen($prefix);.i
19fe20 66 20 28 27 5c 5c 27 20 21 3d 3d 20 24 70 72 65 66 69 78 5b 24 6c 65 6e 67 74 68 20 2d 20 31 5d f.('\\'.!==.$prefix[$length.-.1]
19fe40 29 20 7b 0a 74 68 72 6f 77 20 6e 65 77 20 5c 49 6e 76 61 6c 69 64 41 72 67 75 6d 65 6e 74 45 78 ).{.throw.new.\InvalidArgumentEx
19fe60 63 65 70 74 69 6f 6e 28 22 41 20 6e 6f 6e 2d 65 6d 70 74 79 20 50 53 52 2d 34 20 70 72 65 66 69 ception("A.non-empty.PSR-4.prefi
19fe80 78 20 6d 75 73 74 20 65 6e 64 20 77 69 74 68 20 61 20 6e 61 6d 65 73 70 61 63 65 20 73 65 70 61 x.must.end.with.a.namespace.sepa
19fea0 72 61 74 6f 72 2e 22 29 3b 0a 7d 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 4c 65 6e 67 74 68 73 rator.");.}.$this->prefixLengths
19fec0 50 73 72 34 5b 24 70 72 65 66 69 78 5b 30 5d 5d 5b 24 70 72 65 66 69 78 5d 20 3d 20 24 6c 65 6e Psr4[$prefix[0]][$prefix].=.$len
19fee0 67 74 68 3b 0a 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 70 72 65 66 gth;.$this->prefixDirsPsr4[$pref
19ff00 69 78 5d 20 3d 20 28 61 72 72 61 79 29 20 24 70 61 74 68 73 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a ix].=.(array).$paths;.}.}.......
19ff20 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 55 73 65 49 6e 63 6c 75 64 65 50 61 74 public.function.setUseIncludePat
19ff40 68 28 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 29 0a 7b 0a 24 74 68 69 73 2d 3e 75 73 65 49 h($useIncludePath).{.$this->useI
19ff60 6e 63 6c 75 64 65 50 61 74 68 20 3d 20 24 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 3b 0a 7d 0a ncludePath.=.$useIncludePath;.}.
19ff80 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 55 73 65 49 6e 63 .......public.function.getUseInc
19ffa0 6c 75 64 65 50 61 74 68 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 75 73 65 49 6e ludePath().{.return.$this->useIn
19ffc0 63 6c 75 64 65 50 61 74 68 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 cludePath;.}........public.funct
19ffe0 69 6f 6e 20 73 65 74 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 24 63 6c ion.setClassMapAuthoritative($cl
1a0000 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 29 0a 7b 0a 24 74 68 69 73 2d 3e 63 6c assMapAuthoritative).{.$this->cl
1a0020 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 20 3d 20 24 63 6c 61 73 73 4d 61 70 41 assMapAuthoritative.=.$classMapA
1a0040 75 74 68 6f 72 69 74 61 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e uthoritative;.}.......public.fun
1a0060 63 74 69 6f 6e 20 69 73 43 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 61 74 69 76 65 28 29 0a ction.isClassMapAuthoritative().
1a0080 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 74 {.return.$this->classMapAuthorit
1a00a0 61 74 69 76 65 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 73 ative;.}.......public.function.s
1a00c0 65 74 41 70 63 75 50 72 65 66 69 78 28 24 61 70 63 75 50 72 65 66 69 78 29 0a 7b 0a 24 74 68 69 etApcuPrefix($apcuPrefix).{.$thi
1a00e0 73 2d 3e 61 70 63 75 50 72 65 66 69 78 20 3d 20 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 s->apcuPrefix.=.function_exists(
1a0100 27 61 70 63 75 5f 66 65 74 63 68 27 29 20 26 26 20 66 69 6c 74 65 72 5f 76 61 72 28 69 6e 69 5f 'apcu_fetch').&&.filter_var(ini_
1a0120 67 65 74 28 27 61 70 63 2e 65 6e 61 62 6c 65 64 27 29 2c 20 46 49 4c 54 45 52 5f 56 41 4c 49 44 get('apc.enabled'),.FILTER_VALID
1a0140 41 54 45 5f 42 4f 4f 4c 45 41 4e 29 20 3f 20 24 61 70 63 75 50 72 65 66 69 78 20 3a 20 6e 75 6c ATE_BOOLEAN).?.$apcuPrefix.:.nul
1a0160 6c 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 41 70 l;.}.......public.function.getAp
1a0180 63 75 50 72 65 66 69 78 28 29 0a 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 61 70 63 75 50 cuPrefix().{.return.$this->apcuP
1a01a0 72 65 66 69 78 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 72 refix;.}.......public.function.r
1a01c0 65 67 69 73 74 65 72 28 24 70 72 65 70 65 6e 64 20 3d 20 66 61 6c 73 65 29 0a 7b 0a 73 70 6c 5f egister($prepend.=.false).{.spl_
1a01e0 61 75 74 6f 6c 6f 61 64 5f 72 65 67 69 73 74 65 72 28 61 72 72 61 79 28 24 74 68 69 73 2c 20 27 autoload_register(array($this,.'
1a0200 6c 6f 61 64 43 6c 61 73 73 27 29 2c 20 74 72 75 65 2c 20 24 70 72 65 70 65 6e 64 29 3b 0a 7d 0a loadClass'),.true,.$prepend);.}.
1a0220 0a 0a 0a 0a 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 75 6e 72 65 67 69 73 74 65 72 28 29 ....public.function.unregister()
1a0240 0a 7b 0a 73 70 6c 5f 61 75 74 6f 6c 6f 61 64 5f 75 6e 72 65 67 69 73 74 65 72 28 61 72 72 61 79 .{.spl_autoload_unregister(array
1a0260 28 24 74 68 69 73 2c 20 27 6c 6f 61 64 43 6c 61 73 73 27 29 29 3b 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a ($this,.'loadClass'));.}........
1a0280 70 75 62 6c 69 63 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 43 6c 61 73 73 28 24 63 6c 61 73 73 public.function.loadClass($class
1a02a0 29 0a 7b 0a 69 66 20 28 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 28 ).{.if.($file.=.$this->findFile(
1a02c0 24 63 6c 61 73 73 29 29 20 7b 0a 69 6e 63 6c 75 64 65 46 69 6c 65 28 24 66 69 6c 65 29 3b 0a 0a $class)).{.includeFile($file);..
1a02e0 72 65 74 75 72 6e 20 74 72 75 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 0a 0a 70 75 62 6c 69 63 20 return.true;.}.}.........public.
1a0300 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 28 24 63 6c 61 73 73 29 0a 7b 0a 0a 20 69 66 function.findFile($class).{...if
1a0320 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 73 5d 29 .(isset($this->classMap[$class])
1a0340 29 20 7b 0a 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 5b 24 63 6c 61 73 ).{.return.$this->classMap[$clas
1a0360 73 5d 3b 0a 7d 0a 69 66 20 28 24 74 68 69 73 2d 3e 63 6c 61 73 73 4d 61 70 41 75 74 68 6f 72 69 s];.}.if.($this->classMapAuthori
1a0380 74 61 74 69 76 65 20 7c 7c 20 69 73 73 65 74 28 24 74 68 69 73 2d 3e 6d 69 73 73 69 6e 67 43 6c tative.||.isset($this->missingCl
1a03a0 61 73 73 65 73 5b 24 63 6c 61 73 73 5d 29 29 20 7b 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a asses[$class])).{.return.false;.
1a03c0 7d 0a 69 66 20 28 6e 75 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 }.if.(null.!==.$this->apcuPrefix
1a03e0 29 20 7b 0a 24 66 69 6c 65 20 3d 20 61 70 63 75 5f 66 65 74 63 68 28 24 74 68 69 73 2d 3e 61 70 ).{.$file.=.apcu_fetch($this->ap
1a0400 63 75 50 72 65 66 69 78 2e 24 63 6c 61 73 73 2c 20 24 68 69 74 29 3b 0a 69 66 20 28 24 68 69 74 cuPrefix.$class,.$hit);.if.($hit
1a0420 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 0a 24 66 69 6c 65 20 3d 20 24 ).{.return.$file;.}.}..$file.=.$
1a0440 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 69 6f 6e 28 24 63 6c 61 this->findFileWithExtension($cla
1a0460 73 73 2c 20 27 2e 70 68 70 27 29 3b 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 66 ss,.'.php');....if.(false.===.$f
1a0480 69 6c 65 20 26 26 20 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 29 20 ile.&&.defined('HHVM_VERSION')).
1a04a0 7b 0a 24 66 69 6c 65 20 3d 20 24 74 68 69 73 2d 3e 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 {.$file.=.$this->findFileWithExt
1a04c0 65 6e 73 69 6f 6e 28 24 63 6c 61 73 73 2c 20 27 2e 68 68 27 29 3b 0a 7d 0a 0a 69 66 20 28 6e 75 ension($class,.'.hh');.}..if.(nu
1a04e0 6c 6c 20 21 3d 3d 20 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 29 20 7b 0a 61 70 63 75 ll.!==.$this->apcuPrefix).{.apcu
1a0500 5f 61 64 64 28 24 74 68 69 73 2d 3e 61 70 63 75 50 72 65 66 69 78 2e 24 63 6c 61 73 73 2c 20 24 _add($this->apcuPrefix.$class,.$
1a0520 66 69 6c 65 29 3b 0a 7d 0a 0a 69 66 20 28 66 61 6c 73 65 20 3d 3d 3d 20 24 66 69 6c 65 29 20 7b file);.}..if.(false.===.$file).{
1a0540 0a 0a 20 24 74 68 69 73 2d 3e 6d 69 73 73 69 6e 67 43 6c 61 73 73 65 73 5b 24 63 6c 61 73 73 5d ...$this->missingClasses[$class]
1a0560 20 3d 20 74 72 75 65 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 0a 70 72 69 .=.true;.}..return.$file;.}..pri
1a0580 76 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 46 69 6c 65 57 69 74 68 45 78 74 65 6e 73 vate.function.findFileWithExtens
1a05a0 69 6f 6e 28 24 63 6c 61 73 73 2c 20 24 65 78 74 29 0a 7b 0a 0a 20 24 6c 6f 67 69 63 61 6c 50 61 ion($class,.$ext).{...$logicalPa
1a05c0 74 68 50 73 72 34 20 3d 20 73 74 72 74 72 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 2c 20 44 49 52 thPsr4.=.strtr($class,.'\\',.DIR
1a05e0 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 2e 20 24 65 78 74 3b 0a 0a 24 66 69 72 73 ECTORY_SEPARATOR)...$ext;..$firs
1a0600 74 20 3d 20 24 63 6c 61 73 73 5b 30 5d 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e t.=.$class[0];.if.(isset($this->
1a0620 70 72 65 66 69 78 4c 65 6e 67 74 68 73 50 73 72 34 5b 24 66 69 72 73 74 5d 29 29 20 7b 0a 24 73 prefixLengthsPsr4[$first])).{.$s
1a0640 75 62 50 61 74 68 20 3d 20 24 63 6c 61 73 73 3b 0a 77 68 69 6c 65 20 28 66 61 6c 73 65 20 21 3d ubPath.=.$class;.while.(false.!=
1a0660 3d 20 24 6c 61 73 74 50 6f 73 20 3d 20 73 74 72 72 70 6f 73 28 24 73 75 62 50 61 74 68 2c 20 27 =.$lastPos.=.strrpos($subPath,.'
1a0680 5c 5c 27 29 29 20 7b 0a 24 73 75 62 50 61 74 68 20 3d 20 73 75 62 73 74 72 28 24 73 75 62 50 61 \\')).{.$subPath.=.substr($subPa
1a06a0 74 68 2c 20 30 2c 20 24 6c 61 73 74 50 6f 73 29 3b 0a 24 73 65 61 72 63 68 20 3d 20 24 73 75 62 th,.0,.$lastPos);.$search.=.$sub
1a06c0 50 61 74 68 20 2e 20 27 5c 5c 27 3b 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 Path...'\\';.if.(isset($this->pr
1a06e0 65 66 69 78 44 69 72 73 50 73 72 34 5b 24 73 65 61 72 63 68 5d 29 29 20 7b 0a 24 70 61 74 68 45 efixDirsPsr4[$search])).{.$pathE
1a0700 6e 64 20 3d 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 73 75 62 73 74 nd.=.DIRECTORY_SEPARATOR...subst
1a0720 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 2c 20 24 6c 61 73 74 50 6f 73 20 2b 20 31 r($logicalPathPsr4,.$lastPos.+.1
1a0740 29 3b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 44 69 72 73 50 73 72 );.foreach.($this->prefixDirsPsr
1a0760 34 5b 24 73 65 61 72 63 68 5d 20 61 73 20 24 64 69 72 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 4[$search].as.$dir).{.if.(file_e
1a0780 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 24 70 61 74 68 45 6e 64 29 29 20 xists($file.=.$dir...$pathEnd)).
1a07a0 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 66 6f 72 {.return.$file;.}.}.}.}.}....for
1a07c0 65 61 63 68 20 28 24 74 68 69 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 34 20 61 73 each.($this->fallbackDirsPsr4.as
1a07e0 20 24 64 69 72 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d .$dir).{.if.(file_exists($file.=
1a0800 20 24 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 6c .$dir...DIRECTORY_SEPARATOR...$l
1a0820 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b ogicalPathPsr4)).{.return.$file;
1a0840 0a 7d 0a 7d 0a 0a 0a 20 69 66 20 28 66 61 6c 73 65 20 21 3d 3d 20 24 70 6f 73 20 3d 20 73 74 72 .}.}....if.(false.!==.$pos.=.str
1a0860 72 70 6f 73 28 24 63 6c 61 73 73 2c 20 27 5c 5c 27 29 29 20 7b 0a 0a 20 24 6c 6f 67 69 63 61 6c rpos($class,.'\\')).{...$logical
1a0880 50 61 74 68 50 73 72 30 20 3d 20 73 75 62 73 74 72 28 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 PathPsr0.=.substr($logicalPathPs
1a08a0 72 34 2c 20 30 2c 20 24 70 6f 73 20 2b 20 31 29 0a 2e 20 73 74 72 74 72 28 73 75 62 73 74 72 28 r4,.0,.$pos.+.1)...strtr(substr(
1a08c0 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 34 2c 20 24 70 6f 73 20 2b 20 31 29 2c 20 27 5f 27 $logicalPathPsr4,.$pos.+.1),.'_'
1a08e0 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 3b 0a 7d 20 65 6c 73 65 20 7b ,.DIRECTORY_SEPARATOR);.}.else.{
1a0900 0a 0a 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 20 3d 20 73 74 72 74 72 28 24 63 6c 61 ...$logicalPathPsr0.=.strtr($cla
1a0920 73 73 2c 20 27 5f 27 2c 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 29 20 2e 20 ss,.'_',.DIRECTORY_SEPARATOR)...
1a0940 24 65 78 74 3b 0a 7d 0a 0a 69 66 20 28 69 73 73 65 74 28 24 74 68 69 73 2d 3e 70 72 65 66 69 78 $ext;.}..if.(isset($this->prefix
1a0960 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 74 68 69 esPsr0[$first])).{.foreach.($thi
1a0980 73 2d 3e 70 72 65 66 69 78 65 73 50 73 72 30 5b 24 66 69 72 73 74 5d 20 61 73 20 24 70 72 65 66 s->prefixesPsr0[$first].as.$pref
1a09a0 69 78 20 3d 3e 20 24 64 69 72 73 29 20 7b 0a 69 66 20 28 30 20 3d 3d 3d 20 73 74 72 70 6f 73 28 ix.=>.$dirs).{.if.(0.===.strpos(
1a09c0 24 63 6c 61 73 73 2c 20 24 70 72 65 66 69 78 29 29 20 7b 0a 66 6f 72 65 61 63 68 20 28 24 64 69 $class,.$prefix)).{.foreach.($di
1a09e0 72 73 20 61 73 20 24 64 69 72 29 20 7b 0a 69 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 rs.as.$dir).{.if.(file_exists($f
1a0a00 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 49 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 ile.=.$dir...DIRECTORY_SEPARATOR
1a0a20 20 2e 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 ...$logicalPathPsr0)).{.return.$
1a0a40 66 69 6c 65 3b 0a 7d 0a 7d 0a 7d 0a 7d 0a 7d 0a 0a 0a 20 66 6f 72 65 61 63 68 20 28 24 74 68 69 file;.}.}.}.}.}....foreach.($thi
1a0a60 73 2d 3e 66 61 6c 6c 62 61 63 6b 44 69 72 73 50 73 72 30 20 61 73 20 24 64 69 72 29 20 7b 0a 69 s->fallbackDirsPsr0.as.$dir).{.i
1a0a80 66 20 28 66 69 6c 65 5f 65 78 69 73 74 73 28 24 66 69 6c 65 20 3d 20 24 64 69 72 20 2e 20 44 49 f.(file_exists($file.=.$dir...DI
1a0aa0 52 45 43 54 4f 52 59 5f 53 45 50 41 52 41 54 4f 52 20 2e 20 24 6c 6f 67 69 63 61 6c 50 61 74 68 RECTORY_SEPARATOR...$logicalPath
1a0ac0 50 73 72 30 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 3b 0a 7d 0a 7d 0a 0a 0a 20 69 66 Psr0)).{.return.$file;.}.}....if
1a0ae0 20 28 24 74 68 69 73 2d 3e 75 73 65 49 6e 63 6c 75 64 65 50 61 74 68 20 26 26 20 24 66 69 6c 65 .($this->useIncludePath.&&.$file
1a0b00 20 3d 20 73 74 72 65 61 6d 5f 72 65 73 6f 6c 76 65 5f 69 6e 63 6c 75 64 65 5f 70 61 74 68 28 24 .=.stream_resolve_include_path($
1a0b20 6c 6f 67 69 63 61 6c 50 61 74 68 50 73 72 30 29 29 20 7b 0a 72 65 74 75 72 6e 20 24 66 69 6c 65 logicalPathPsr0)).{.return.$file
1a0b40 3b 0a 7d 0a 0a 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0a 7d 0a 7d 0a 0a 0a 0a 0a 0a 0a 66 75 6e ;.}..return.false;.}.}.......fun
1a0b60 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 46 69 6c 65 28 24 66 69 6c 65 29 0a 7b 0a 69 6e 63 6c 75 ction.includeFile($file).{.inclu
1a0b80 64 65 20 24 66 69 6c 65 3b 0a 7d 0a 23 23 0a 23 23 20 42 75 6e 64 6c 65 20 6f 66 20 43 41 20 52 de.$file;.}.##.##.Bundle.of.CA.R
1a0ba0 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 65 73 0a 23 23 0a 23 23 20 43 65 72 74 69 66 69 63 61 oot.Certificates.##.##.Certifica
1a0bc0 74 65 20 64 61 74 61 20 66 72 6f 6d 20 4d 6f 7a 69 6c 6c 61 20 61 73 20 6f 66 3a 20 57 65 64 20 te.data.from.Mozilla.as.of:.Wed.
1a0be0 41 75 67 20 32 38 20 30 33 3a 31 32 3a 31 30 20 32 30 31 39 20 47 4d 54 0a 23 23 0a 23 23 20 54 Aug.28.03:12:10.2019.GMT.##.##.T
1a0c00 68 69 73 20 69 73 20 61 20 62 75 6e 64 6c 65 20 6f 66 20 58 2e 35 30 39 20 63 65 72 74 69 66 69 his.is.a.bundle.of.X.509.certifi
1a0c20 63 61 74 65 73 20 6f 66 20 70 75 62 6c 69 63 20 43 65 72 74 69 66 69 63 61 74 65 20 41 75 74 68 cates.of.public.Certificate.Auth
1a0c40 6f 72 69 74 69 65 73 0a 23 23 20 28 43 41 29 2e 20 54 68 65 73 65 20 77 65 72 65 20 61 75 74 6f orities.##.(CA)..These.were.auto
1a0c60 6d 61 74 69 63 61 6c 6c 79 20 65 78 74 72 61 63 74 65 64 20 66 72 6f 6d 20 4d 6f 7a 69 6c 6c 61 matically.extracted.from.Mozilla
1a0c80 27 73 20 72 6f 6f 74 20 63 65 72 74 69 66 69 63 61 74 65 73 0a 23 23 20 66 69 6c 65 20 28 63 65 's.root.certificates.##.file.(ce
1a0ca0 72 74 64 61 74 61 2e 74 78 74 29 2e 20 20 54 68 69 73 20 66 69 6c 65 20 63 61 6e 20 62 65 20 66 rtdata.txt)...This.file.can.be.f
1a0cc0 6f 75 6e 64 20 69 6e 20 74 68 65 20 6d 6f 7a 69 6c 6c 61 20 73 6f 75 72 63 65 20 74 72 65 65 3a ound.in.the.mozilla.source.tree:
1a0ce0 0a 23 23 20 68 74 74 70 73 3a 2f 2f 68 67 2e 6d 6f 7a 69 6c 6c 61 2e 6f 72 67 2f 72 65 6c 65 61 .##.https://hg.mozilla.org/relea
1a0d00 73 65 73 2f 6d 6f 7a 69 6c 6c 61 2d 72 65 6c 65 61 73 65 2f 72 61 77 2d 66 69 6c 65 2f 64 65 66 ses/mozilla-release/raw-file/def
1a0d20 61 75 6c 74 2f 73 65 63 75 72 69 74 79 2f 6e 73 73 2f 6c 69 62 2f 63 6b 66 77 2f 62 75 69 6c 74 ault/security/nss/lib/ckfw/built
1a0d40 69 6e 73 2f 63 65 72 74 64 61 74 61 2e 74 78 74 0a 23 23 0a 23 23 20 49 74 20 63 6f 6e 74 61 69 ins/certdata.txt.##.##.It.contai
1a0d60 6e 73 20 74 68 65 20 63 65 72 74 69 66 69 63 61 74 65 73 20 69 6e 20 50 45 4d 20 66 6f 72 6d 61 ns.the.certificates.in.PEM.forma
1a0d80 74 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 0a 23 23 20 63 61 6e 20 62 65 20 64 69 72 65 63 74 t.and.therefore.##.can.be.direct
1a0da0 6c 79 20 75 73 65 64 20 77 69 74 68 20 63 75 72 6c 20 2f 20 6c 69 62 63 75 72 6c 20 2f 20 70 68 ly.used.with.curl./.libcurl./.ph
1a0dc0 70 5f 63 75 72 6c 2c 20 6f 72 20 77 69 74 68 0a 23 23 20 61 6e 20 41 70 61 63 68 65 2b 6d 6f 64 p_curl,.or.with.##.an.Apache+mod
1a0de0 5f 73 73 6c 20 77 65 62 73 65 72 76 65 72 20 66 6f 72 20 53 53 4c 20 63 6c 69 65 6e 74 20 61 75 _ssl.webserver.for.SSL.client.au
1a0e00 74 68 65 6e 74 69 63 61 74 69 6f 6e 2e 0a 23 23 20 4a 75 73 74 20 63 6f 6e 66 69 67 75 72 65 20 thentication..##.Just.configure.
1a0e20 74 68 69 73 20 66 69 6c 65 20 61 73 20 74 68 65 20 53 53 4c 43 41 43 65 72 74 69 66 69 63 61 74 this.file.as.the.SSLCACertificat
1a0e40 65 46 69 6c 65 2e 0a 23 23 0a 23 23 20 43 6f 6e 76 65 72 73 69 6f 6e 20 64 6f 6e 65 20 77 69 74 eFile..##.##.Conversion.done.wit
1a0e60 68 20 6d 6b 2d 63 61 2d 62 75 6e 64 6c 65 2e 70 6c 20 76 65 72 73 69 6f 6e 20 31 2e 32 37 2e 0a h.mk-ca-bundle.pl.version.1.27..
1a0e80 23 23 20 53 48 41 32 35 36 3a 20 66 66 66 61 33 30 39 39 33 37 63 33 62 65 39 34 30 36 34 39 32 ##.SHA256:.fffa309937c3be9406492
1a0ea0 39 33 66 37 34 39 62 38 32 30 37 66 61 62 63 36 65 62 32 32 34 65 35 30 65 34 62 62 33 66 32 63 93f749b8207fabc6eb224e50e4bb3f2c
1a0ec0 35 65 34 34 65 30 64 36 61 36 62 0a 23 23 0a 0a 0a 47 6c 6f 62 61 6c 53 69 67 6e 20 52 6f 6f 74 5e44e0d6a6b.##...GlobalSign.Root
1a0ee0 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 .CA.==================.-----BEGI
1a0f00 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 64 54 43 43 41 6c 32 67 41 N.CERTIFICATE-----.MIIDdTCCAl2gA
1a0f20 77 49 42 41 67 49 4c 42 41 41 41 41 41 41 42 46 55 74 61 77 35 51 77 44 51 59 4a 4b 6f 5a 49 68 wIBAgILBAAAAAABFUtaw5QwDQYJKoZIh
1a0f40 76 63 4e 41 51 45 46 42 51 41 77 56 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 6b 55 78 0a vcNAQEFBQAwVzELMAkGA1UEBhMCQkUx.
1a0f60 47 54 41 58 42 67 4e 56 42 41 6f 54 45 45 64 73 62 32 4a 68 62 46 4e 70 5a 32 34 67 62 6e 59 74 GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYt
1a0f80 63 32 45 78 45 44 41 4f 42 67 4e 56 42 41 73 54 42 31 4a 76 62 33 51 67 51 30 45 78 47 7a 41 5a c2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZ
1a0fa0 42 67 4e 56 42 41 4d 54 45 6b 64 73 0a 62 32 4a 68 62 46 4e 70 5a 32 34 67 55 6d 39 76 64 43 42 BgNVBAMTEkds.b2JhbFNpZ24gUm9vdCB
1a0fc0 44 51 54 41 65 46 77 30 35 4f 44 41 35 4d 44 45 78 4d 6a 41 77 4d 44 42 61 46 77 30 79 4f 44 41 DQTAeFw05ODA5MDExMjAwMDBaFw0yODA
1a0fe0 78 4d 6a 67 78 4d 6a 41 77 4d 44 42 61 4d 46 63 78 43 7a 41 4a 42 67 4e 56 0a 42 41 59 54 41 6b xMjgxMjAwMDBaMFcxCzAJBgNV.BAYTAk
1a1000 4a 46 4d 52 6b 77 46 77 59 44 56 51 51 4b 45 78 42 48 62 47 39 69 59 57 78 54 61 57 64 75 49 47 JFMRkwFwYDVQQKExBHbG9iYWxTaWduIG
1a1020 35 32 4c 58 4e 68 4d 52 41 77 44 67 59 44 56 51 51 4c 45 77 64 53 62 32 39 30 49 45 4e 42 4d 52 52LXNhMRAwDgYDVQQLEwdSb290IENBMR
1a1040 73 77 47 51 59 44 0a 56 51 51 44 45 78 4a 48 62 47 39 69 59 57 78 54 61 57 64 75 49 46 4a 76 62 swGQYD.VQQDExJHbG9iYWxTaWduIFJvb
1a1060 33 51 67 51 30 45 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA
1a1080 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 44 61 0a 44 75 61 5a 6a 63 36 6a 34 30 2b 4b 4IBDwAwggEKAoIBAQDa.DuaZjc6j40+K
1a10a0 66 76 76 78 69 34 4d 6c 61 2b 70 49 48 2f 45 71 73 4c 6d 56 45 51 53 39 38 47 50 52 34 6d 64 6d fvvxi4Mla+pIH/EqsLmVEQS98GPR4mdm
1a10c0 7a 78 7a 64 7a 78 74 49 4b 2b 36 4e 69 59 36 61 72 79 6d 41 5a 61 76 70 78 79 30 53 79 36 73 63 zxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
1a10e0 0a 54 48 41 48 6f 54 30 4b 4d 4d 30 56 6a 55 2f 34 33 64 53 4d 55 42 55 63 37 31 44 75 78 43 37 .THAHoT0KMM0VjU/43dSMUBUc71DuxC7
1a1100 33 2f 4f 6c 53 38 70 46 39 34 47 33 56 4e 54 43 4f 58 6b 4e 7a 38 6b 48 70 31 57 72 6a 73 6f 6b 3/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok
1a1120 36 56 6a 6b 34 62 77 59 38 69 47 6c 62 0a 4b 6b 33 46 70 31 53 34 62 49 6e 4d 6d 2f 6b 38 79 75 6Vjk4bwY8iGlb.Kk3Fp1S4bInMm/k8yu
1a1140 58 39 69 66 55 53 50 4a 4a 34 6c 74 62 63 64 47 36 54 52 47 48 52 6a 63 64 47 73 6e 55 4f 68 75 X9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhu
1a1160 67 5a 69 74 56 74 62 4e 56 34 46 70 57 69 36 63 67 4b 4f 4f 76 79 4a 42 4e 50 0a 63 31 53 54 45 gZitVtbNV4FpWi6cgKOOvyJBNP.c1STE
1a1180 34 55 36 47 37 77 65 4e 4c 57 4c 42 59 79 35 64 34 75 78 32 78 38 67 6b 61 73 4a 55 32 36 51 7a 4U6G7weNLWLBYy5d4ux2x8gkasJU26Qz
1a11a0 6e 73 33 64 4c 6c 77 52 35 45 69 55 57 4d 57 65 61 36 78 72 6b 45 6d 43 4d 67 5a 4b 39 46 47 71 ns3dLlwR5EiUWMWea6xrkEmCMgZK9FGq
1a11c0 6b 6a 57 5a 43 72 58 0a 67 7a 54 2f 4c 43 72 42 62 42 6c 44 53 67 65 46 35 39 4e 38 39 69 46 6f kjWZCrX.gzT/LCrBbBlDSgeF59N89iFo
1a11e0 37 2b 72 79 55 70 39 2f 6b 35 44 50 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 34 47 41 31 55 64 7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1Ud
1a1200 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 50 42 67 4e 56 0a 48 52 4d 42 41 66 38 45 42 54 41 DwEB/wQEAwIBBjAPBgNV.HRMBAf8EBTA
1a1220 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 67 65 32 59 61 52 51 32 58 79 6f 6c DAQH/MB0GA1UdDgQWBBRge2YaRQ2Xyol
1a1240 51 4c 33 30 45 7a 54 53 6f 2f 2f 7a 39 53 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 QL30EzTSo//z9SzANBgkqhkiG9w0BAQU
1a1260 46 0a 41 41 4f 43 41 51 45 41 31 6e 50 6e 66 45 39 32 30 49 32 2f 37 4c 71 69 76 6a 54 46 4b 44 F.AAOCAQEA1nPnfE920I2/7LqivjTFKD
1a1280 4b 31 66 50 78 73 6e 43 77 72 76 51 6d 65 55 37 39 72 58 71 6f 52 53 4c 62 6c 43 4b 4f 7a 79 6a K1fPxsnCwrvQmeU79rXqoRSLblCKOzyj
1a12a0 31 68 54 64 4e 47 43 62 4d 2b 77 36 44 6a 0a 59 31 55 62 38 72 72 76 72 54 6e 68 51 37 6b 34 6f 1hTdNGCbM+w6Dj.Y1Ub8rrvrTnhQ7k4o
1a12c0 2b 59 76 69 69 59 37 37 36 42 51 56 76 6e 47 43 76 30 34 7a 63 51 4c 63 46 47 55 6c 35 67 45 33 +YviiY776BQVvnGCv04zcQLcFGUl5gE3
1a12e0 38 4e 66 6c 4e 55 56 79 52 52 42 6e 4d 52 64 64 57 51 56 44 66 39 56 4d 4f 79 47 0a 6a 2f 38 4e 8NflNUVyRRBnMRddWQVDf9VMOyG.j/8N
1a1300 37 79 79 35 59 30 62 32 71 76 7a 66 76 47 6e 39 4c 68 4a 49 5a 4a 72 67 6c 66 43 6d 37 79 6d 50 7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP
1a1320 41 62 45 56 74 51 77 64 70 66 35 70 4c 47 6b 6b 65 42 36 7a 70 78 78 78 59 75 37 4b 79 4a 65 73 AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJes
1a1340 46 31 32 4b 77 76 68 48 0a 68 6d 34 71 78 46 59 78 6c 64 42 6e 69 59 55 72 2b 57 79 6d 58 55 61 F12KwvhH.hm4qxFYxldBniYUr+WymXUa
1a1360 64 44 4b 71 43 35 4a 6c 52 33 58 43 33 32 31 59 39 59 65 52 71 34 56 7a 57 39 76 34 39 33 6b 48 dDKqC5JlR3XC321Y9YeRq4VzW9v493kH
1a1380 4d 42 36 35 6a 55 72 39 54 55 2f 51 72 36 63 66 39 74 76 65 43 0a 58 34 58 53 51 52 6a 62 67 62 MB65jUr9TU/Qr6cf9tveC.X4XSQRjbgb
1a13a0 4d 45 48 4d 55 66 70 49 42 76 46 53 44 4a 33 67 79 49 43 68 33 57 5a 6c 58 69 2f 45 6a 4a 4b 53 MEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKS
1a13c0 5a 70 34 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d Zp4A==.-----END.CERTIFICATE-----
1a13e0 0a 0a 47 6c 6f 62 61 6c 53 69 67 6e 20 52 6f 6f 74 20 43 41 20 2d 20 52 32 0a 3d 3d 3d 3d 3d 3d ..GlobalSign.Root.CA.-.R2.======
1a1400 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 =================.-----BEGIN.CER
1a1420 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 75 6a 43 43 41 71 4b 67 41 77 49 42 41 67 TIFICATE-----.MIIDujCCAqKgAwIBAg
1a1440 49 4c 42 41 41 41 41 41 41 42 44 34 59 6d 35 67 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 ILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQ
1a1460 45 46 42 51 41 77 54 44 45 67 4d 42 34 47 41 31 55 45 43 78 4d 58 52 32 78 76 0a 59 6d 46 73 55 EFBQAwTDEgMB4GA1UECxMXR2xv.YmFsU
1a1480 32 6c 6e 62 69 42 53 62 32 39 30 49 45 4e 42 49 43 30 67 55 6a 49 78 45 7a 41 52 42 67 4e 56 42 2lnbiBSb290IENBIC0gUjIxEzARBgNVB
1a14a0 41 6f 54 43 6b 64 73 62 32 4a 68 62 46 4e 70 5a 32 34 78 45 7a 41 52 42 67 4e 56 42 41 4d 54 43 AoTCkdsb2JhbFNpZ24xEzARBgNVBAMTC
1a14c0 6b 64 73 62 32 4a 68 0a 62 46 4e 70 5a 32 34 77 48 68 63 4e 4d 44 59 78 4d 6a 45 31 4d 44 67 77 kdsb2Jh.bFNpZ24wHhcNMDYxMjE1MDgw
1a14e0 4d 44 41 77 57 68 63 4e 4d 6a 45 78 4d 6a 45 31 4d 44 67 77 4d 44 41 77 57 6a 42 4d 4d 53 41 77 MDAwWhcNMjExMjE1MDgwMDAwWjBMMSAw
1a1500 48 67 59 44 56 51 51 4c 45 78 64 48 62 47 39 69 59 57 78 54 0a 61 57 64 75 49 46 4a 76 62 33 51 HgYDVQQLExdHbG9iYWxT.aWduIFJvb3Q
1a1520 67 51 30 45 67 4c 53 42 53 4d 6a 45 54 4d 42 45 47 41 31 55 45 43 68 4d 4b 52 32 78 76 59 6d 46 gQ0EgLSBSMjETMBEGA1UEChMKR2xvYmF
1a1540 73 55 32 6c 6e 62 6a 45 54 4d 42 45 47 41 31 55 45 41 78 4d 4b 52 32 78 76 59 6d 46 73 55 32 6c sU2lnbjETMBEGA1UEAxMKR2xvYmFsU2l
1a1560 6e 0a 62 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 n.bjCCASIwDQYJKoZIhvcNAQEBBQADgg
1a1580 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4b 62 50 4a 41 36 2b 4c 6d 38 6f 6d 55 56 43 78 4b EPADCCAQoCggEBAKbPJA6+Lm8omUVCxK
1a15a0 73 2b 49 56 53 62 43 39 4e 2f 68 48 44 36 0a 45 72 50 4c 76 34 64 66 78 6e 2b 47 30 37 49 77 58 s+IVSbC9N/hHD6.ErPLv4dfxn+G07IwX
1a15c0 4e 62 39 72 66 46 37 33 4f 58 34 59 4a 59 4a 6b 68 44 31 30 46 50 65 2b 33 74 2b 63 34 69 73 55 Nb9rfF73OX4YJYJkhD10FPe+3t+c4isU
1a15e0 6f 68 37 53 71 62 4b 53 61 5a 65 71 4b 65 4d 57 68 47 38 65 6f 4c 72 76 6f 7a 70 0a 73 36 79 57 oh7SqbKSaZeqKeMWhG8eoLrvozp.s6yW
1a1600 4a 51 65 58 53 70 6b 71 42 79 2b 30 48 6e 65 2f 69 67 2b 31 41 6e 77 62 6c 72 6a 46 75 54 6f 73 JQeXSpkqBy+0Hne/ig+1AnwblrjFuTos
1a1620 76 4e 59 53 75 65 74 5a 66 65 4c 51 42 6f 5a 66 58 6b 6c 71 74 54 6c 65 69 44 54 73 76 48 67 4d vNYSuetZfeLQBoZfXklqtTleiDTsvHgM
1a1640 43 4a 69 45 62 4b 6a 4e 0a 53 37 53 67 66 51 78 35 54 66 43 34 4c 63 73 68 79 74 56 73 57 33 33 CJiEbKjN.S7SgfQx5TfC4LcshytVsW33
1a1660 68 6f 43 6d 45 6f 66 6e 54 6c 45 6e 4c 4a 47 4b 52 49 4c 7a 64 43 39 58 5a 7a 50 6e 71 4a 77 6f hoCmEofnTlEnLJGKRILzdC9XZzPnqJwo
1a1680 72 63 35 48 47 6e 52 75 73 79 4d 76 6f 34 4b 44 30 4c 35 43 4c 0a 54 66 75 77 4e 68 76 32 47 58 rc5HGnRusyMvo4KD0L5CL.TfuwNhv2GX
1a16a0 71 46 34 47 33 79 59 52 4f 49 58 4a 2f 67 6b 77 70 52 6c 34 70 61 7a 71 2b 72 31 66 65 71 43 61 qF4G3yYROIXJ/gkwpRl4pazq+r1feqCa
1a16c0 70 67 76 64 7a 5a 58 39 39 79 71 57 41 54 58 67 41 42 79 55 72 36 50 36 54 71 42 77 4d 68 41 6f pgvdzZX99yqWATXgAByUr6P6TqBwMhAo
1a16e0 36 43 0a 79 67 50 43 6d 34 38 43 41 77 45 41 41 61 4f 42 6e 44 43 42 6d 54 41 4f 42 67 4e 56 48 6C.ygPCm48CAwEAAaOBnDCBmTAOBgNVH
1a1700 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 Q8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwA
1a1720 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 0a 46 67 51 55 6d 2b 49 48 56 32 63 63 48 73 42 71 wEB/zAdBgNVHQ4E.FgQUm+IHV2ccHsBq
1a1740 42 74 35 5a 74 4a 6f 74 33 39 77 5a 68 69 34 77 4e 67 59 44 56 52 30 66 42 43 38 77 4c 54 41 72 Bt5ZtJot39wZhi4wNgYDVR0fBC8wLTAr
1a1760 6f 43 6d 67 4a 34 59 6c 61 48 52 30 63 44 6f 76 4c 32 4e 79 62 43 35 6e 62 47 39 69 0a 59 57 78 oCmgJ4YlaHR0cDovL2NybC5nbG9i.YWx
1a1780 7a 61 57 64 75 4c 6d 35 6c 64 43 39 79 62 32 39 30 4c 58 49 79 4c 6d 4e 79 62 44 41 66 42 67 4e zaWduLm5ldC9yb290LXIyLmNybDAfBgN
1a17a0 56 48 53 4d 45 47 44 41 57 67 42 53 62 34 67 64 58 5a 78 77 65 77 47 6f 47 33 6c 6d 30 6d 69 33 VHSMEGDAWgBSb4gdXZxwewGoG3lm0mi3
1a17c0 66 33 42 6d 47 4c 6a 41 4e 0a 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 f3BmGLjAN.BgkqhkiG9w0BAQUFAAOCAQ
1a17e0 45 41 6d 59 46 54 68 78 78 6f 6c 34 61 52 37 4f 42 4b 75 45 51 4c 71 34 47 73 4a 30 2f 57 77 62 EAmYFThxxol4aR7OBKuEQLq4GsJ0/Wwb
1a1800 67 63 51 33 69 7a 44 4a 72 38 36 69 77 38 62 6d 45 62 54 55 73 70 0a 39 5a 38 46 48 53 62 42 75 gcQ3izDJr86iw8bmEbTUsp.9Z8FHSbBu
1a1820 4f 6d 44 41 47 4a 46 74 71 6b 49 6b 37 6d 70 4d 30 73 59 6d 73 4c 34 68 34 68 4f 32 39 31 78 4e OmDAGJFtqkIk7mpM0sYmsL4h4hO291xN
1a1840 42 72 42 56 4e 70 47 50 2b 44 54 4b 71 74 74 56 43 4c 31 4f 6d 4c 4e 49 47 2b 36 4b 59 6e 58 33 BrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3
1a1860 5a 48 75 0a 30 31 79 69 50 71 46 62 51 66 58 66 35 57 52 44 4c 65 6e 56 4f 61 76 53 6f 74 2b 33 ZHu.01yiPqFbQfXf5WRDLenVOavSot+3
1a1880 69 39 44 41 67 42 6b 63 52 63 41 74 6a 4f 6a 34 4c 61 52 30 56 6b 6e 46 42 62 56 50 46 64 35 75 i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5u
1a18a0 52 48 67 35 68 36 68 2b 75 2f 4e 35 47 4a 47 37 0a 39 47 2b 64 77 66 43 4d 4e 59 78 64 41 66 76 RHg5h6h+u/N5GJG7.9G+dwfCMNYxdAfv
1a18c0 44 62 62 6e 76 52 47 31 35 52 6a 46 2b 43 76 36 70 67 73 48 2f 37 36 74 75 49 4d 52 51 79 56 2b DbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+
1a18e0 64 54 5a 73 58 6a 41 7a 6c 41 63 6d 67 51 57 70 7a 55 2f 71 6c 55 4c 52 75 4a 51 2f 37 0a 54 42 dTZsXjAzlAcmgQWpzU/qlULRuJQ/7.TB
1a1900 6a 30 2f 56 4c 5a 6a 6d 6d 78 36 42 45 50 33 6f 6a 59 2b 78 31 4a 39 36 72 65 6c 63 38 67 65 4d j0/VLZjmmx6BEP3ojY+x1J96relc8geM
1a1920 4a 67 45 74 73 6c 51 49 78 71 2f 48 35 43 4f 45 42 6b 45 76 65 65 67 65 47 54 4c 67 3d 3d 0a 2d JgEtslQIxq/H5COEBkEveegeGTLg==.-
1a1940 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 56 65 72 69 73 69 ----END.CERTIFICATE-----..Verisi
1a1960 67 6e 20 43 6c 61 73 73 20 33 20 50 75 62 6c 69 63 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 gn.Class.3.Public.Primary.Certif
1a1980 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d ication.Authority.-.G3.=========
1a19a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1a19c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 ===================.-----BEGIN.C
1a19e0 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 47 6a 43 43 41 77 49 43 45 51 43 62 ERTIFICATE-----.MIIEGjCCAwICEQCb
1a1a00 66 67 5a 4a 6f 7a 35 69 75 64 58 75 6b 45 68 78 4b 65 39 58 4d 41 30 47 43 53 71 47 53 49 62 33 fgZJoz5iudXukEhxKe9XMA0GCSqGSIb3
1a1a20 44 51 45 42 42 51 55 41 4d 49 48 4b 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 DQEBBQUAMIHKMQswCQYDVQQGEwJV.UzE
1a1a40 58 4d 42 55 47 41 31 55 45 43 68 4d 4f 56 6d 56 79 61 56 4e 70 5a 32 34 73 49 45 6c 75 59 79 34 XMBUGA1UEChMOVmVyaVNpZ24sIEluYy4
1a1a60 78 48 7a 41 64 42 67 4e 56 42 41 73 54 46 6c 5a 6c 63 6d 6c 54 61 57 64 75 49 46 52 79 64 58 4e xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN
1a1a80 30 49 45 35 6c 64 48 64 76 0a 63 6d 73 78 4f 6a 41 34 42 67 4e 56 42 41 73 54 4d 53 68 6a 4b 53 0IE5ldHdv.cmsxOjA4BgNVBAsTMShjKS
1a1aa0 41 78 4f 54 6b 35 49 46 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d AxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm
1a1ac0 39 79 49 47 46 31 64 47 68 76 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 0a 49 47 39 75 62 48 6b 78 52 9yIGF1dGhvcml6ZWQgdXNl.IG9ubHkxR
1a1ae0 54 42 44 42 67 4e 56 42 41 4d 54 50 46 5a 6c 63 6d 6c 54 61 57 64 75 49 45 4e 73 59 58 4e 7a 49 TBDBgNVBAMTPFZlcmlTaWduIENsYXNzI
1a1b00 44 4d 67 55 48 56 69 62 47 6c 6a 49 46 42 79 61 57 31 68 63 6e 6b 67 51 32 56 79 64 47 6c 6d 61 DMgUHVibGljIFByaW1hcnkgQ2VydGlma
1a1b20 57 4e 68 0a 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 7a 41 65 WNh.dGlvbiBBdXRob3JpdHkgLSBHMzAe
1a1b40 46 77 30 35 4f 54 45 77 4d 44 45 77 4d 44 41 77 4d 44 42 61 46 77 30 7a 4e 6a 41 33 4d 54 59 79 Fw05OTEwMDEwMDAwMDBaFw0zNjA3MTYy
1a1b60 4d 7a 55 35 4e 54 6c 61 4d 49 48 4b 4d 51 73 77 0a 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 MzU5NTlaMIHKMQsw.CQYDVQQGEwJVUzE
1a1b80 58 4d 42 55 47 41 31 55 45 43 68 4d 4f 56 6d 56 79 61 56 4e 70 5a 32 34 73 49 45 6c 75 59 79 34 XMBUGA1UEChMOVmVyaVNpZ24sIEluYy4
1a1ba0 78 48 7a 41 64 42 67 4e 56 42 41 73 54 46 6c 5a 6c 63 6d 6c 54 61 57 64 75 49 46 52 79 0a 64 58 xHzAdBgNVBAsTFlZlcmlTaWduIFRy.dX
1a1bc0 4e 30 49 45 35 6c 64 48 64 76 63 6d 73 78 4f 6a 41 34 42 67 4e 56 42 41 73 54 4d 53 68 6a 4b 53 N0IE5ldHdvcmsxOjA4BgNVBAsTMShjKS
1a1be0 41 78 4f 54 6b 35 49 46 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d AxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm
1a1c00 39 79 49 47 46 31 64 47 68 76 0a 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 52 9yIGF1dGhv.cml6ZWQgdXNlIG9ubHkxR
1a1c20 54 42 44 42 67 4e 56 42 41 4d 54 50 46 5a 6c 63 6d 6c 54 61 57 64 75 49 45 4e 73 59 58 4e 7a 49 TBDBgNVBAMTPFZlcmlTaWduIENsYXNzI
1a1c40 44 4d 67 55 48 56 69 62 47 6c 6a 49 46 42 79 61 57 31 68 63 6e 6b 67 0a 51 32 56 79 64 47 6c 6d DMgUHVibGljIFByaW1hcnkg.Q2VydGlm
1a1c60 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 7a 43 43 aWNhdGlvbiBBdXRob3JpdHkgLSBHMzCC
1a1c80 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 ASIwDQYJKoZIhvcNAQEBBQADggEPADCC
1a1ca0 41 51 6f 43 0a 67 67 45 42 41 4d 75 36 6e 46 4c 38 65 42 38 61 48 6d 38 62 4e 33 4f 39 2b 4d 6c AQoC.ggEBAMu6nFL8eB8aHm8bN3O9+Ml
1a1cc0 72 6c 42 49 77 54 2f 41 32 52 2f 58 51 6b 51 72 31 46 38 69 6c 59 63 45 57 51 45 33 37 69 6d 47 rlBIwT/A2R/XQkQr1F8ilYcEWQE37imG
1a1ce0 51 35 58 59 67 77 52 45 47 66 61 73 73 62 71 62 31 0a 45 55 47 4f 2b 69 32 74 4b 6d 46 5a 70 47 Q5XYgwREGfassbqb1.EUGO+i2tKmFZpG
1a1d00 63 6d 54 4e 44 6f 76 46 4a 62 63 43 41 45 57 4e 46 36 79 61 52 70 76 49 4d 58 5a 4b 30 46 69 37 cmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7
1a1d20 7a 51 57 4d 36 4e 6a 50 58 72 38 45 4a 4a 43 35 32 58 4a 32 63 79 62 75 47 75 6b 78 55 63 0a 63 zQWM6NjPXr8EJJC52XJ2cybuGukxUc.c
1a1d40 4c 77 67 54 53 38 59 33 70 4b 49 36 47 79 46 56 78 45 61 36 58 37 6a 4a 68 46 55 6f 6b 57 57 56 LwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWV
1a1d60 59 50 4b 4d 49 6e 6f 33 4e 69 6a 37 53 71 41 50 33 39 35 5a 56 63 2b 46 53 42 6d 43 43 2b 56 6b YPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk
1a1d80 37 2b 71 52 79 2b 6f 52 70 66 77 0a 45 75 4c 2b 77 67 6f 72 55 65 5a 32 35 72 64 47 74 2b 49 4e 7+qRy+oRpfw.EuL+wgorUeZ25rdGt+IN
1a1da0 70 73 79 6f 77 30 78 5a 56 59 6e 6d 36 46 4e 63 48 4f 71 64 38 47 49 57 43 36 66 4a 58 77 7a 77 psyow0xZVYnm6FNcHOqd8GIWC6fJXwzw
1a1dc0 33 73 4a 32 7a 71 2f 33 61 76 4c 36 51 61 61 69 4d 78 54 4a 35 58 70 6a 0a 30 35 35 69 4e 39 57 3sJ2zq/3avL6QaaiMxTJ5Xpj.055iN9W
1a1de0 46 5a 5a 34 4f 35 6c 4d 6b 64 42 74 65 48 52 4a 54 57 38 63 73 35 34 4e 4a 4f 78 57 75 69 6d 69 FZZ4O5lMkdBteHRJTW8cs54NJOxWuimi
1a1e00 35 56 35 63 43 41 77 45 41 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 5V5cCAwEAATANBgkqhkiG9w0BAQUFAAO
1a1e20 43 41 51 45 41 0a 45 52 53 57 77 61 75 53 43 50 63 2f 4c 38 6d 79 2f 75 52 61 6e 32 54 65 32 79 CAQEA.ERSWwauSCPc/L8my/uRan2Te2y
1a1e40 46 50 68 70 6b 30 64 6a 5a 58 33 64 41 56 4c 38 57 74 66 78 55 66 4e 32 4a 7a 50 74 54 6e 58 38 FPhpk0djZX3dAVL8WtfxUfN2JzPtTnX8
1a1e60 34 58 41 39 73 31 2b 69 76 62 72 6d 41 4a 58 78 35 66 0a 6a 32 36 37 43 7a 33 71 57 68 4d 65 44 4XA9s1+ivbrmAJXx5f.j267Cz3qWhMeD
1a1e80 47 42 76 74 63 43 31 49 79 49 75 42 77 76 4c 71 58 54 4c 52 37 73 64 77 64 65 6c 61 38 77 76 30 GBvtcC1IyIuBwvLqXTLR7sdwdela8wv0
1a1ea0 6b 4c 39 53 64 32 6e 69 63 39 54 75 74 6f 41 57 69 69 2f 67 74 2f 34 75 68 4d 64 55 49 61 43 0a kL9Sd2nic9TutoAWii/gt/4uhMdUIaC.
1a1ec0 2f 59 34 77 6a 79 6c 47 73 42 34 39 4e 64 6f 34 59 68 59 59 53 71 33 6d 74 6c 46 73 33 71 39 69 /Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i
1a1ee0 36 77 48 51 48 69 54 2b 65 6f 38 53 47 68 4a 6f 75 50 74 6d 6d 52 51 55 52 56 79 75 35 36 35 70 6wHQHiT+eo8SGhJouPtmmRQURVyu565p
1a1f00 46 34 45 72 57 6a 66 4a 58 69 72 30 0a 78 75 4b 68 58 46 53 62 70 6c 51 41 7a 2f 44 78 77 63 65 F4ErWjfJXir0.xuKhXFSbplQAz/Dxwce
1a1f20 59 4d 42 6f 37 4e 68 62 62 6f 32 37 71 2f 61 32 79 77 74 72 76 41 6b 63 54 69 73 44 78 73 7a 47 YMBo7Nhbbo27q/a2ywtrvAkcTisDxszG
1a1f40 74 54 78 7a 68 54 35 79 76 44 77 79 64 39 33 67 4e 32 50 51 31 56 6f 44 61 0a 74 32 30 58 6a 35 tTxzhT5yvDwyd93gN2PQ1VoDa.t20Xj5
1a1f60 30 65 67 57 54 68 2f 73 56 46 75 71 31 72 75 51 70 36 54 6b 39 4c 68 4f 35 4c 38 58 33 64 45 51 0egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ
1a1f80 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 6e ==.-----END.CERTIFICATE-----..En
1a1fa0 74 72 75 73 74 2e 6e 65 74 20 50 72 65 6d 69 75 6d 20 32 30 34 38 20 53 65 63 75 72 65 20 53 65 trust.net.Premium.2048.Secure.Se
1a1fc0 72 76 65 72 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d rver.CA.========================
1a1fe0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 =================.-----BEGIN.CER
1a2000 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4b 6a 43 43 41 78 4b 67 41 77 49 42 41 67 TIFICATE-----.MIIEKjCCAxKgAwIBAg
1a2020 49 45 4f 47 50 65 2b 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 74 44 IEOGPe+DANBgkqhkiG9w0BAQUFADCBtD
1a2040 45 55 4d 42 49 47 41 31 55 45 43 68 4d 4c 52 57 35 30 63 6e 56 7a 64 43 35 75 0a 5a 58 51 78 51 EUMBIGA1UEChMLRW50cnVzdC5u.ZXQxQ
1a2060 44 41 2b 42 67 4e 56 42 41 73 55 4e 33 64 33 64 79 35 6c 62 6e 52 79 64 58 4e 30 4c 6d 35 6c 64 DA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ld
1a2080 43 39 44 55 46 4e 66 4d 6a 41 30 4f 43 42 70 62 6d 4e 76 63 6e 41 75 49 47 4a 35 49 48 4a 6c 5a C9DUFNfMjA0OCBpbmNvcnAuIGJ5IHJlZ
1a20a0 69 34 67 4b 47 78 70 0a 62 57 6c 30 63 79 42 73 61 57 46 69 4c 69 6b 78 4a 54 41 6a 42 67 4e 56 i4gKGxp.bWl0cyBsaWFiLikxJTAjBgNV
1a20c0 42 41 73 54 48 43 68 6a 4b 53 41 78 4f 54 6b 35 49 45 56 75 64 48 4a 31 63 33 51 75 62 6d 56 30 BAsTHChjKSAxOTk5IEVudHJ1c3QubmV0
1a20e0 49 45 78 70 62 57 6c 30 5a 57 51 78 4d 7a 41 78 42 67 4e 56 0a 42 41 4d 54 4b 6b 56 75 64 48 4a IExpbWl0ZWQxMzAxBgNV.BAMTKkVudHJ
1a2100 31 63 33 51 75 62 6d 56 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 1c3QubmV0IENlcnRpZmljYXRpb24gQXV
1a2120 30 61 47 39 79 61 58 52 35 49 43 67 79 4d 44 51 34 4b 54 41 65 46 77 30 35 4f 54 45 79 4d 6a 51 0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQ
1a2140 78 0a 4e 7a 55 77 4e 54 46 61 46 77 30 79 4f 54 41 33 4d 6a 51 78 4e 44 45 31 4d 54 4a 61 4d 49 x.NzUwNTFaFw0yOTA3MjQxNDE1MTJaMI
1a2160 47 30 4d 52 51 77 45 67 59 44 56 51 51 4b 45 77 74 46 62 6e 52 79 64 58 4e 30 4c 6d 35 6c 64 44 G0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldD
1a2180 46 41 4d 44 34 47 41 31 55 45 43 78 51 33 0a 64 33 64 33 4c 6d 56 75 64 48 4a 31 63 33 51 75 62 FAMD4GA1UECxQ3.d3d3LmVudHJ1c3Qub
1a21a0 6d 56 30 4c 30 4e 51 55 31 38 79 4d 44 51 34 49 47 6c 75 59 32 39 79 63 43 34 67 59 6e 6b 67 63 mV0L0NQU18yMDQ4IGluY29ycC4gYnkgc
1a21c0 6d 56 6d 4c 69 41 6f 62 47 6c 74 61 58 52 7a 49 47 78 70 59 57 49 75 4b 54 45 6c 0a 4d 43 4d 47 mVmLiAobGltaXRzIGxpYWIuKTEl.MCMG
1a21e0 41 31 55 45 43 78 4d 63 4b 47 4d 70 49 44 45 35 4f 54 6b 67 52 57 35 30 63 6e 56 7a 64 43 35 75 A1UECxMcKGMpIDE5OTkgRW50cnVzdC5u
1a2200 5a 58 51 67 54 47 6c 74 61 58 52 6c 5a 44 45 7a 4d 44 45 47 41 31 55 45 41 78 4d 71 52 57 35 30 ZXQgTGltaXRlZDEzMDEGA1UEAxMqRW50
1a2220 63 6e 56 7a 64 43 35 75 0a 5a 58 51 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 cnVzdC5u.ZXQgQ2VydGlmaWNhdGlvbiB
1a2240 42 64 58 52 6f 62 33 4a 70 64 48 6b 67 4b 44 49 77 4e 44 67 70 4d 49 49 42 49 6a 41 4e 42 67 6b BdXRob3JpdHkgKDIwNDgpMIIBIjANBgk
1a2260 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 0a 4d 49 49 42 43 67 4b 43 41 51 qhkiG9w0BAQEFAAOCAQ8A.MIIBCgKCAQ
1a2280 45 41 72 55 31 4c 71 52 4b 47 73 75 71 6a 49 41 63 56 46 6d 51 71 4b 30 76 52 76 77 74 4b 54 59 EArU1LqRKGsuqjIAcVFmQqK0vRvwtKTY
1a22a0 37 74 67 48 61 6c 5a 37 64 34 51 4d 42 7a 51 73 68 6f 77 4e 74 54 4b 39 31 65 75 48 61 59 4e 5a 7tgHalZ7d4QMBzQshowNtTK91euHaYNZ
1a22c0 4f 4c 0a 47 70 31 38 45 7a 6f 4f 48 31 75 33 48 73 2f 6c 4a 42 51 65 73 59 47 70 6a 58 32 34 7a OL.Gp18EzoOH1u3Hs/lJBQesYGpjX24z
1a22e0 47 74 4c 41 2f 45 43 44 4e 79 72 70 55 41 6b 41 48 39 30 6c 4b 47 64 43 43 6d 7a 69 41 76 31 68 GtLA/ECDNyrpUAkAH90lKGdCCmziAv1h
1a2300 33 65 64 56 63 33 6b 77 33 37 58 61 6d 53 72 0a 68 52 53 47 6c 56 75 58 4d 6c 42 76 50 63 69 36 3edVc3kw37XamSr.hRSGlVuXMlBvPci6
1a2320 5a 67 7a 6a 2f 4c 32 34 53 63 46 32 69 55 6b 5a 2f 63 43 6f 76 59 6d 6a 5a 79 2f 47 6e 37 78 78 Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xx
1a2340 47 57 43 34 4c 65 6b 73 79 5a 42 32 5a 6e 75 55 34 71 39 34 31 6d 56 54 58 54 7a 57 0a 6e 4c 4c GWC4LeksyZB2ZnuU4q941mVTXTzW.nLL
1a2360 50 4b 51 50 35 4c 36 52 51 73 74 52 49 7a 67 55 79 56 59 72 39 73 6d 52 4d 44 75 53 59 42 33 58 PKQP5L6RQstRIzgUyVYr9smRMDuSYB3X
1a2380 62 66 39 2b 35 43 46 56 67 68 54 41 70 2b 58 74 49 70 47 6d 47 34 7a 55 2f 48 6f 5a 64 65 6e 6f bf9+5CFVghTAp+XtIpGmG4zU/HoZdeno
1a23a0 56 76 65 38 41 6a 68 55 69 0a 56 42 63 41 6b 43 61 54 76 41 35 4a 61 4a 47 2f 2b 45 66 54 6e 5a Vve8AjhUi.VBcAkCaTvA5JaJG/+EfTnZ
1a23c0 56 43 77 51 35 4e 33 32 38 6d 7a 38 4d 59 49 57 4a 6d 51 33 44 57 31 63 41 48 34 51 49 44 41 51 VCwQ5N328mz8MYIWJmQ3DW1cAH4QIDAQ
1a23e0 41 42 6f 30 49 77 51 44 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 0a 42 41 4d 43 41 51 59 77 44 ABo0IwQDAOBgNVHQ8BAf8E.BAMCAQYwD
1a2400 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 wYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EF
1a2420 67 51 55 56 65 53 42 30 52 47 41 76 74 69 4a 75 51 69 6a 4d 66 6d 68 4a 41 6b 57 75 58 41 77 44 gQUVeSB0RGAvtiJuQijMfmhJAkWuXAwD
1a2440 51 59 4a 0a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 44 75 62 6a 31 61 62 QYJ.KoZIhvcNAQEFBQADggEBADubj1ab
1a2460 4d 4f 64 54 6d 58 78 36 65 61 64 4e 6c 39 63 5a 6c 5a 44 37 42 68 2f 4b 4d 33 78 47 59 34 2b 57 MOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+W
1a2480 5a 69 54 36 51 42 73 68 4a 38 72 6d 63 6e 50 79 0a 54 2f 34 78 6d 66 33 49 44 45 78 6f 55 38 61 ZiT6QBshJ8rmcnPy.T/4xmf3IDExoU8a
1a24a0 41 67 68 4f 59 2b 72 61 74 32 6c 30 39 38 63 35 75 39 68 55 52 6c 49 49 4d 37 6a 2b 56 72 78 47 AghOY+rat2l098c5u9hURlIIM7j+VrxG
1a24c0 72 44 39 63 76 33 68 38 44 6a 31 63 73 48 73 6d 37 6d 68 70 45 6c 65 73 59 54 36 59 66 0a 7a 58 rD9cv3h8Dj1csHsm7mhpElesYT6Yf.zX
1a24e0 31 58 45 43 2b 62 42 41 6c 61 68 4c 56 75 32 42 30 36 34 64 61 65 30 57 78 35 58 6e 6b 63 46 4d 1XEC+bBAlahLVu2B064dae0Wx5XnkcFM
1a2500 58 6a 30 45 79 54 4f 32 55 38 37 64 38 39 76 71 62 6c 6c 52 72 44 74 52 6e 44 76 56 35 62 75 2f Xj0EyTO2U87d89vqbllRrDtRnDvV5bu/
1a2520 38 6a 37 32 67 5a 79 78 4b 54 0a 4a 31 77 44 4c 57 38 77 30 42 36 32 47 71 7a 65 57 76 66 52 71 8j72gZyxKT.J1wDLW8w0B62GqzeWvfRq
1a2540 71 67 6e 70 76 35 35 67 63 52 35 6d 54 4e 58 75 68 4b 77 71 65 42 43 62 4a 50 4b 56 74 37 2b 62 qgnpv55gcR5mTNXuhKwqeBCbJPKVt7+b
1a2560 59 51 4c 43 49 74 2b 6a 65 72 58 6d 43 48 47 38 2b 63 38 65 53 39 65 0a 6e 4e 46 4d 46 59 33 68 YQLCIt+jerXmCHG8+c8eS9e.nNFMFY3h
1a2580 37 43 49 33 7a 4a 70 44 43 35 66 63 67 4a 43 4e 73 32 65 62 62 30 67 49 46 56 62 50 76 2f 45 72 7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er
1a25a0 66 46 36 61 64 75 6c 5a 6b 4d 56 38 67 7a 55 52 5a 56 45 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 fF6adulZkMV8gzURZVE=.-----END.CE
1a25c0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 42 61 6c 74 69 6d 6f 72 65 20 43 79 62 65 72 54 RTIFICATE-----..Baltimore.CyberT
1a25e0 72 75 73 74 20 52 6f 6f 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d rust.Root.======================
1a2600 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a ===.-----BEGIN.CERTIFICATE-----.
1a2620 4d 49 49 44 64 7a 43 43 41 6c 2b 67 41 77 49 42 41 67 49 45 41 67 41 41 75 54 41 4e 42 67 6b 71 MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkq
1a2640 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 61 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4a hkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
1a2660 52 54 45 53 4d 42 41 47 41 31 55 45 0a 43 68 4d 4a 51 6d 46 73 64 47 6c 74 62 33 4a 6c 4d 52 4d RTESMBAGA1UE.ChMJQmFsdGltb3JlMRM
1a2680 77 45 51 59 44 56 51 51 4c 45 77 70 44 65 57 4a 6c 63 6c 52 79 64 58 4e 30 4d 53 49 77 49 41 59 wEQYDVQQLEwpDeWJlclRydXN0MSIwIAY
1a26a0 44 56 51 51 44 45 78 6c 43 59 57 78 30 61 57 31 76 63 6d 55 67 51 33 6c 69 0a 5a 58 4a 55 63 6e DVQQDExlCYWx0aW1vcmUgQ3li.ZXJUcn
1a26c0 56 7a 64 43 42 53 62 32 39 30 4d 42 34 58 44 54 41 77 4d 44 55 78 4d 6a 45 34 4e 44 59 77 4d 46 VzdCBSb290MB4XDTAwMDUxMjE4NDYwMF
1a26e0 6f 58 44 54 49 31 4d 44 55 78 4d 6a 49 7a 4e 54 6b 77 4d 46 6f 77 57 6a 45 4c 4d 41 6b 47 41 31 oXDTI1MDUxMjIzNTkwMFowWjELMAkGA1
1a2700 55 45 42 68 4d 43 0a 53 55 55 78 45 6a 41 51 42 67 4e 56 42 41 6f 54 43 55 4a 68 62 48 52 70 62 UEBhMC.SUUxEjAQBgNVBAoTCUJhbHRpb
1a2720 57 39 79 5a 54 45 54 4d 42 45 47 41 31 55 45 43 78 4d 4b 51 33 6c 69 5a 58 4a 55 63 6e 56 7a 64 W9yZTETMBEGA1UECxMKQ3liZXJUcnVzd
1a2740 44 45 69 4d 43 41 47 41 31 55 45 41 78 4d 5a 51 6d 46 73 0a 64 47 6c 74 62 33 4a 6c 49 45 4e 35 DEiMCAGA1UEAxMZQmFs.dGltb3JlIEN5
1a2760 59 6d 56 79 56 48 4a 31 63 33 51 67 55 6d 39 76 64 44 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 YmVyVHJ1c3QgUm9vdDCCASIwDQYJKoZI
1a2780 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4b 4d 45 hvcNAQEBBQADggEPADCCAQoCggEBAKME
1a27a0 0a 75 79 4b 72 6d 44 31 58 36 43 5a 79 6d 72 56 35 31 43 6e 69 34 65 69 56 67 4c 47 77 34 31 75 .uyKrmD1X6CZymrV51Cni4eiVgLGw41u
1a27c0 4f 4b 79 6d 61 5a 4e 2b 68 58 65 32 77 43 51 56 74 32 79 67 75 7a 6d 4b 69 59 76 36 30 69 4e 6f OKymaZN+hXe2wCQVt2yguzmKiYv60iNo
1a27e0 53 36 7a 6a 72 49 5a 33 41 51 53 73 42 0a 55 6e 75 49 64 39 4d 63 6a 38 65 36 75 59 69 31 61 67 S6zjrIZ3AQSsB.UnuId9Mcj8e6uYi1ag
1a2800 6e 6e 63 2b 67 52 51 4b 66 52 7a 4d 70 69 6a 53 33 6c 6a 77 75 6d 55 4e 4b 6f 55 4d 4d 6f 36 76 nnc+gRQKfRzMpijS3ljwumUNKoUMMo6v
1a2820 57 72 4a 59 65 4b 6d 70 59 63 71 57 65 34 50 77 7a 56 39 2f 6c 53 45 79 2f 43 0a 47 39 56 77 63 WrJYeKmpYcqWe4PwzV9/lSEy/C.G9Vwc
1a2840 50 43 50 77 42 4c 4b 42 73 75 61 34 64 6e 4b 4d 33 70 33 31 76 6a 73 75 66 46 6f 52 45 4a 49 45 PCPwBLKBsua4dnKM3p31vjsufFoREJIE
1a2860 39 4c 41 77 71 53 75 58 6d 44 2b 74 71 59 46 2f 4c 54 64 42 31 6b 43 31 46 6b 59 6d 47 50 31 70 9LAwqSuXmD+tqYF/LTdB1kC1FkYmGP1p
1a2880 57 50 67 6b 41 78 39 0a 58 62 49 47 65 76 4f 46 36 75 76 55 41 36 35 65 68 44 35 66 2f 78 58 74 WPgkAx9.XbIGevOF6uvUA65ehD5f/xXt
1a28a0 61 62 7a 35 4f 54 5a 79 64 63 39 33 55 6b 33 7a 79 5a 41 73 75 54 33 6c 79 53 4e 54 50 78 38 6b abz5OTZydc93Uk3zyZAsuT3lySNTPx8k
1a28c0 6d 43 46 63 42 35 6b 70 76 63 59 36 37 4f 64 75 68 6a 70 72 0a 6c 33 52 6a 4d 37 31 6f 47 44 48 mCFcB5kpvcY67Oduhjpr.l3RjM71oGDH
1a28e0 77 65 49 31 32 76 2f 79 65 6a 6c 30 71 68 71 64 4e 6b 4e 77 6e 47 6a 6b 43 41 77 45 41 41 61 4e weI12v/yejl0qhqdNkNwnGjkCAwEAAaN
1a2900 46 4d 45 4d 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4f 57 64 57 54 43 43 52 31 6a 4d 72 50 6f FMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPo
1a2920 49 0a 56 44 61 47 65 7a 71 31 42 45 33 77 4d 42 49 47 41 31 55 64 45 77 45 42 2f 77 51 49 4d 41 I.VDaGezq1BE3wMBIGA1UdEwEB/wQIMA
1a2940 59 42 41 66 38 43 41 51 4d 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 YBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA
1a2960 30 47 43 53 71 47 53 49 62 33 44 51 45 42 0a 42 51 55 41 41 34 49 42 41 51 43 46 44 46 32 4f 35 0GCSqGSIb3DQEB.BQUAA4IBAQCFDF2O5
1a2980 47 39 52 61 45 49 46 6f 4e 32 37 54 79 63 6c 68 41 4f 39 39 32 54 39 4c 64 63 77 34 36 51 51 46 G9RaEIFoN27TyclhAO992T9Ldcw46QQF
1a29a0 2b 76 61 4b 53 6d 32 65 54 39 32 39 68 6b 54 49 37 67 51 43 76 6c 59 70 4e 52 68 0a 63 4c 30 45 +vaKSm2eT929hkTI7gQCvlYpNRh.cL0E
1a29c0 59 57 6f 53 69 68 66 56 43 72 33 46 76 44 42 38 31 75 6b 4d 4a 59 32 47 51 45 2f 73 7a 4b 4e 2b YWoSihfVCr3FvDB81ukMJY2GQE/szKN+
1a29e0 4f 4d 59 33 45 55 2f 74 33 57 67 78 6a 6b 7a 53 73 77 46 30 37 72 35 31 58 67 64 49 47 6e 39 77 OMY3EU/t3WgxjkzSswF07r51XgdIGn9w
1a2a00 2f 78 5a 63 68 4d 42 35 0a 68 62 67 46 2f 58 2b 2b 5a 52 47 6a 44 38 41 43 74 50 68 53 4e 7a 6b /xZchMB5.hbgF/X++ZRGjD8ACtPhSNzk
1a2a20 45 31 61 6b 78 65 68 69 2f 6f 43 72 30 45 70 6e 33 6f 30 57 43 34 7a 78 65 39 5a 32 65 74 63 69 E1akxehi/oCr0Epn3o0WC4zxe9Z2etci
1a2a40 65 66 43 37 49 70 4a 35 4f 43 42 52 4c 62 66 31 77 62 57 73 61 0a 59 37 31 6b 35 68 2b 33 7a 76 efC7IpJ5OCBRLbf1wbWsa.Y71k5h+3zv
1a2a60 44 79 6e 79 36 37 47 37 66 79 55 49 68 7a 6b 73 4c 69 34 78 61 4e 6d 6a 49 43 71 34 34 59 33 65 Dyny67G7fyUIhzksLi4xaNmjICq44Y3e
1a2a80 6b 51 45 65 35 2b 4e 61 75 51 72 7a 34 77 6c 48 72 51 4d 7a 32 6e 5a 51 2f 31 2f 49 36 65 59 73 kQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs
1a2aa0 39 48 0a 52 43 77 42 58 62 73 64 74 54 4c 53 52 39 49 34 4c 74 44 2b 67 64 77 79 61 68 36 31 37 9H.RCwBXbsdtTLSR9I4LtD+gdwyah617
1a2ac0 6a 7a 56 2f 4f 65 42 48 52 6e 44 4a 45 4c 71 59 7a 6d 70 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 jzV/OeBHRnDJELqYzmp.-----END.CER
1a2ae0 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 64 64 54 72 75 73 74 20 45 78 74 65 72 6e 61 6c TIFICATE-----..AddTrust.External
1a2b00 20 52 6f 6f 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d .Root.======================.---
1a2b20 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4e 6a 43 --BEGIN.CERTIFICATE-----.MIIENjC
1a2b40 43 41 78 36 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 CAx6gAwIBAgIBATANBgkqhkiG9w0BAQU
1a2b60 46 41 44 42 76 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 54 52 54 45 55 4d 42 49 47 41 31 55 FADBvMQswCQYDVQQGEwJTRTEUMBIGA1U
1a2b80 45 43 68 4d 4c 0a 51 57 52 6b 56 48 4a 31 63 33 51 67 51 55 49 78 4a 6a 41 6b 42 67 4e 56 42 41 EChML.QWRkVHJ1c3QgQUIxJjAkBgNVBA
1a2ba0 73 54 48 55 46 6b 5a 46 52 79 64 58 4e 30 49 45 56 34 64 47 56 79 62 6d 46 73 49 46 52 55 55 43 sTHUFkZFRydXN0IEV4dGVybmFsIFRUUC
1a2bc0 42 4f 5a 58 52 33 62 33 4a 72 4d 53 49 77 49 41 59 44 0a 56 51 51 44 45 78 6c 42 5a 47 52 55 63 BOZXR3b3JrMSIwIAYD.VQQDExlBZGRUc
1a2be0 6e 56 7a 64 43 42 46 65 48 52 6c 63 6d 35 68 62 43 42 44 51 53 42 53 62 32 39 30 4d 42 34 58 44 nVzdCBFeHRlcm5hbCBDQSBSb290MB4XD
1a2c00 54 41 77 4d 44 55 7a 4d 44 45 77 4e 44 67 7a 4f 46 6f 58 44 54 49 77 4d 44 55 7a 4d 44 45 77 0a TAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw.
1a2c20 4e 44 67 7a 4f 46 6f 77 62 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 55 30 55 78 46 44 41 53 NDgzOFowbzELMAkGA1UEBhMCU0UxFDAS
1a2c40 42 67 4e 56 42 41 6f 54 43 30 46 6b 5a 46 52 79 64 58 4e 30 49 45 46 43 4d 53 59 77 4a 41 59 44 BgNVBAoTC0FkZFRydXN0IEFCMSYwJAYD
1a2c60 56 51 51 4c 45 78 31 42 5a 47 52 55 0a 63 6e 56 7a 64 43 42 46 65 48 52 6c 63 6d 35 68 62 43 42 VQQLEx1BZGRU.cnVzdCBFeHRlcm5hbCB
1a2c80 55 56 46 41 67 54 6d 56 30 64 32 39 79 61 7a 45 69 4d 43 41 47 41 31 55 45 41 78 4d 5a 51 57 52 UVFAgTmV0d29yazEiMCAGA1UEAxMZQWR
1a2ca0 6b 56 48 4a 31 63 33 51 67 52 58 68 30 5a 58 4a 75 59 57 77 67 51 30 45 67 0a 55 6d 39 76 64 44 kVHJ1c3QgRXh0ZXJuYWwgQ0Eg.Um9vdD
1a2cc0 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 CCASIwDQYJKoZIhvcNAQEBBQADggEPAD
1a2ce0 43 43 41 51 6f 43 67 67 45 42 41 4c 66 33 47 6a 50 6d 38 67 41 45 4c 54 6e 67 54 6c 76 74 48 37 CCAQoCggEBALf3GjPm8gAELTngTlvtH7
1a2d00 78 73 44 38 32 31 0a 2b 69 4f 32 7a 74 36 62 45 54 4f 58 70 43 6c 4d 66 5a 4f 66 76 55 71 38 6b xsD821.+iO2zt6bETOXpClMfZOfvUq8k
1a2d20 2b 30 44 47 75 4f 50 7a 2b 56 74 55 46 72 57 6c 79 6d 55 57 6f 43 77 53 58 72 62 4c 70 58 39 75 +0DGuOPz+VtUFrWlymUWoCwSXrbLpX9u
1a2d40 4d 71 2f 4e 7a 67 74 48 6a 36 52 51 61 31 77 56 73 66 77 0a 54 7a 2f 6f 4d 70 35 30 79 73 69 51 Mq/NzgtHj6RQa1wVsfw.Tz/oMp50ysiQ
1a2d60 56 4f 6e 47 58 77 39 34 6e 5a 70 41 50 41 36 73 59 61 70 65 46 49 2b 65 68 36 46 71 55 4e 7a 58 VOnGXw94nZpAPA6sYapeFI+eh6FqUNzX
1a2d80 6d 6b 36 76 42 62 4f 6d 63 5a 53 63 63 62 4e 51 59 41 72 48 45 35 30 34 42 34 59 43 71 4f 6d 6f mk6vBbOmcZSccbNQYArHE504B4YCqOmo
1a2da0 0a 61 53 59 59 6b 4b 74 4d 73 45 38 6a 71 7a 70 50 68 4e 6a 66 7a 70 2f 68 61 57 2b 37 31 30 4c .aSYYkKtMsE8jqzpPhNjfzp/haW+710L
1a2dc0 58 61 30 54 6b 78 36 33 75 62 55 46 66 63 6c 70 78 43 44 65 7a 65 57 57 6b 57 61 43 55 4e 2f 63 Xa0Tkx63ubUFfclpxCDezeWWkWaCUN/c
1a2de0 41 4c 77 33 43 6b 6e 4c 61 30 44 68 79 0a 32 78 53 6f 52 63 52 64 4b 6e 32 33 74 4e 62 45 37 71 ALw3CknLa0Dhy.2xSoRcRdKn23tNbE7q
1a2e00 7a 4e 45 30 53 33 79 53 76 64 51 77 41 6c 2b 6d 47 35 61 57 70 59 49 78 47 33 70 7a 4f 50 56 6e zNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVn
1a2e20 56 5a 39 63 30 70 31 30 61 33 43 69 74 6c 74 74 4e 43 62 78 57 79 75 48 76 37 0a 37 2b 6c 64 55 VZ9c0p10a3CitlttNCbxWyuHv7.7+ldU
1a2e40 39 55 30 57 69 63 43 41 77 45 41 41 61 4f 42 33 44 43 42 32 54 41 64 42 67 4e 56 48 51 34 45 46 9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EF
1a2e60 67 51 55 72 62 32 59 65 6a 53 30 4a 76 66 36 78 43 5a 55 37 77 4f 39 34 43 54 4c 56 42 6f 77 43 gQUrb2YejS0Jvf6xCZU7wO94CTLVBowC
1a2e80 77 59 44 56 52 30 50 0a 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 wYDVR0P.BAQDAgEGMA8GA1UdEwEB/wQF
1a2ea0 4d 41 4d 42 41 66 38 77 67 5a 6b 47 41 31 55 64 49 77 53 42 6b 54 43 42 6a 6f 41 55 72 62 32 59 MAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2Y
1a2ec0 65 6a 53 30 4a 76 66 36 78 43 5a 55 37 77 4f 39 34 43 54 4c 0a 56 42 71 68 63 36 52 78 4d 47 38 ejS0Jvf6xCZU7wO94CTL.VBqhc6RxMG8
1a2ee0 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 4e 46 4d 52 51 77 45 67 59 44 56 51 51 4b 45 77 74 xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwt
1a2f00 42 5a 47 52 55 63 6e 56 7a 64 43 42 42 51 6a 45 6d 4d 43 51 47 41 31 55 45 43 78 4d 64 51 57 52 BZGRUcnVzdCBBQjEmMCQGA1UECxMdQWR
1a2f20 6b 0a 56 48 4a 31 63 33 51 67 52 58 68 30 5a 58 4a 75 59 57 77 67 56 46 52 51 49 45 35 6c 64 48 k.VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldH
1a2f40 64 76 63 6d 73 78 49 6a 41 67 42 67 4e 56 42 41 4d 54 47 55 46 6b 5a 46 52 79 64 58 4e 30 49 45 dvcmsxIjAgBgNVBAMTGUFkZFRydXN0IE
1a2f60 56 34 64 47 56 79 62 6d 46 73 49 45 4e 42 0a 49 46 4a 76 62 33 53 43 41 51 45 77 44 51 59 4a 4b V4dGVybmFsIENB.IFJvb3SCAQEwDQYJK
1a2f80 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 4c 43 62 34 49 55 6c 77 74 59 6a 34 oZIhvcNAQEFBQADggEBALCb4IUlwtYj4
1a2fa0 67 2b 57 42 70 4b 64 51 5a 69 63 32 59 52 35 67 64 6b 65 57 78 51 48 49 7a 5a 6c 0a 6a 37 44 59 g+WBpKdQZic2YR5gdkeWxQHIzZl.j7DY
1a2fc0 64 37 75 73 51 57 78 48 59 49 4e 52 73 50 6b 79 50 65 66 38 39 69 59 54 78 34 41 57 70 62 39 61 d7usQWxHYINRsPkyPef89iYTx4AWpb9a
1a2fe0 2f 49 66 50 65 48 6d 4a 49 5a 72 69 54 41 63 4b 68 6a 57 38 38 74 35 52 78 4e 4b 57 74 39 78 2b /IfPeHmJIZriTAcKhjW88t5RxNKWt9x+
1a3000 54 75 35 77 2f 52 77 35 0a 36 77 77 43 55 52 51 74 6a 72 30 57 34 4d 48 66 52 6e 58 6e 4a 4b 33 Tu5w/Rw5.6wwCURQtjr0W4MHfRnXnJK3
1a3020 73 39 45 4b 30 68 5a 4e 77 45 47 65 36 6e 51 59 31 53 68 6a 54 4b 33 72 4d 55 55 4b 68 65 6d 50 s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemP
1a3040 52 35 72 75 68 78 53 76 43 4e 72 34 54 44 65 61 39 59 33 35 35 0a 65 36 63 4a 44 55 43 72 61 74 R5ruhxSvCNr4TDea9Y355.e6cJDUCrat
1a3060 32 50 69 73 50 32 39 6f 77 61 51 67 56 52 31 45 58 31 6e 36 64 69 49 57 67 56 49 45 4d 38 6d 65 2PisP29owaQgVR1EX1n6diIWgVIEM8me
1a3080 64 38 76 53 54 59 71 5a 45 58 63 34 67 2f 56 68 73 78 4f 42 69 30 63 51 2b 61 7a 63 67 4f 6e 6f d8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno
1a30a0 34 75 0a 47 2b 47 4d 6d 49 50 4c 48 7a 48 78 52 45 7a 47 42 48 4e 4a 64 6d 41 50 78 2f 69 39 46 4u.G+GMmIPLHzHxREzGBHNJdmAPx/i9F
1a30c0 34 42 72 4c 75 6e 4d 54 41 35 61 6d 6e 6b 50 49 41 6f 75 31 5a 35 6a 4a 68 35 56 6b 70 54 59 67 4BrLunMTA5amnkPIAou1Z5jJh5VkpTYg
1a30e0 68 64 61 65 39 43 38 78 34 39 4f 68 67 51 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 hdae9C8x49OhgQ=.-----END.CERTIFI
1a3100 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 6e 74 72 75 73 74 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 CATE-----..Entrust.Root.Certific
1a3120 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ation.Authority.================
1a3140 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 ====================.-----BEGIN.
1a3160 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 6b 54 43 43 41 33 6d 67 41 77 49 CERTIFICATE-----.MIIEkTCCA3mgAwI
1a3180 42 41 67 49 45 52 57 74 51 56 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 BAgIERWtQVDANBgkqhkiG9w0BAQUFADC
1a31a0 42 73 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 6a 41 55 42 67 4e 56 0a 42 41 BsDELMAkGA1UEBhMCVVMxFjAUBgNV.BA
1a31c0 6f 54 44 55 56 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 79 34 78 4f 54 41 33 42 67 4e 56 42 41 oTDUVudHJ1c3QsIEluYy4xOTA3BgNVBA
1a31e0 73 54 4d 48 64 33 64 79 35 6c 62 6e 52 79 64 58 4e 30 4c 6d 35 6c 64 43 39 44 55 46 4d 67 61 58 sTMHd3dy5lbnRydXN0Lm5ldC9DUFMgaX
1a3200 4d 67 61 57 35 6a 62 33 4a 77 0a 62 33 4a 68 64 47 56 6b 49 47 4a 35 49 48 4a 6c 5a 6d 56 79 5a MgaW5jb3Jw.b3JhdGVkIGJ5IHJlZmVyZ
1a3220 57 35 6a 5a 54 45 66 4d 42 30 47 41 31 55 45 43 78 4d 57 4b 47 4d 70 49 44 49 77 4d 44 59 67 52 W5jZTEfMB0GA1UECxMWKGMpIDIwMDYgR
1a3240 57 35 30 63 6e 56 7a 64 43 77 67 53 57 35 6a 4c 6a 45 74 4d 43 73 47 0a 41 31 55 45 41 78 4d 6b W50cnVzdCwgSW5jLjEtMCsG.A1UEAxMk
1a3260 52 57 35 30 63 6e 56 7a 64 43 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 RW50cnVzdCBSb290IENlcnRpZmljYXRp
1a3280 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 42 34 58 44 54 41 32 4d 54 45 79 4e 7a 49 77 b24gQXV0aG9yaXR5MB4XDTA2MTEyNzIw
1a32a0 4d 6a 4d 30 0a 4d 6c 6f 58 44 54 49 32 4d 54 45 79 4e 7a 49 77 4e 54 4d 30 4d 6c 6f 77 67 62 41 MjM0.MloXDTI2MTEyNzIwNTM0MlowgbA
1a32c0 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 59 77 46 41 59 44 56 51 51 4b 45 77 31 xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1
1a32e0 46 62 6e 52 79 64 58 4e 30 4c 43 42 4a 62 6d 4d 75 0a 4d 54 6b 77 4e 77 59 44 56 51 51 4c 45 7a FbnRydXN0LCBJbmMu.MTkwNwYDVQQLEz
1a3300 42 33 64 33 63 75 5a 57 35 30 63 6e 56 7a 64 43 35 75 5a 58 51 76 51 31 42 54 49 47 6c 7a 49 47 B3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIG
1a3320 6c 75 59 32 39 79 63 47 39 79 59 58 52 6c 5a 43 42 69 65 53 42 79 5a 57 5a 6c 63 6d 56 75 0a 59 luY29ycG9yYXRlZCBieSByZWZlcmVu.Y
1a3340 32 55 78 48 7a 41 64 42 67 4e 56 42 41 73 54 46 69 68 6a 4b 53 41 79 4d 44 41 32 49 45 56 75 64 2UxHzAdBgNVBAsTFihjKSAyMDA2IEVud
1a3360 48 4a 31 63 33 51 73 49 45 6c 75 59 79 34 78 4c 54 41 72 42 67 4e 56 42 41 4d 54 4a 45 56 75 64 HJ1c3QsIEluYy4xLTArBgNVBAMTJEVud
1a3380 48 4a 31 63 33 51 67 55 6d 39 76 0a 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 HJ1c3QgUm9v.dCBDZXJ0aWZpY2F0aW9u
1a33a0 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e IEF1dGhvcml0eTCCASIwDQYJKoZIhvcN
1a33c0 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 0a 41 4c 61 56 74 6b 4e AQEBBQADggEPADCCAQoCggEB.ALaVtkN
1a33e0 43 2b 73 5a 74 4b 6d 39 49 33 35 52 4d 4f 56 63 46 37 73 4e 35 45 55 46 6f 4e 75 33 73 2f 70 6f C+sZtKm9I35RMOVcF7sN5EUFoNu3s/po
1a3400 42 6a 36 45 34 4b 50 7a 33 45 45 5a 6d 4c 6b 30 65 47 72 45 61 54 73 62 52 77 4a 57 49 73 4d 6e Bj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn
1a3420 2f 4d 59 73 7a 0a 41 39 75 33 67 33 73 2b 49 49 52 65 37 62 4a 57 4b 4b 66 34 34 4c 6c 41 63 54 /MYsz.A9u3g3s+IIRe7bJWKKf44LlAcT
1a3440 66 46 79 30 63 4f 6c 79 70 6f 77 43 4b 56 59 68 58 62 52 39 6e 31 30 43 76 2f 67 6b 76 4a 72 54 fFy0cOlypowCKVYhXbR9n10Cv/gkvJrT
1a3460 37 65 54 4e 75 51 67 46 41 2f 43 59 71 45 41 4f 77 77 0a 43 6a 30 59 7a 66 76 39 4b 6c 6d 61 49 7eTNuQgFA/CYqEAOww.Cj0Yzfv9KlmaI
1a3480 35 55 58 4c 45 57 65 48 32 35 44 65 57 30 4d 58 4a 6a 2b 53 4b 66 46 49 30 64 63 58 76 31 75 35 5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5
1a34a0 78 36 30 39 6d 68 46 30 59 61 44 57 36 4b 4b 6a 62 48 6a 4b 59 44 2b 4a 58 47 49 72 62 36 38 0a x609mhF0YaDW6KKjbHjKYD+JXGIrb68.
1a34c0 6a 36 78 53 6c 6b 75 71 55 59 33 6b 45 7a 45 5a 36 45 35 4e 6e 39 75 73 73 32 72 56 76 44 6c 55 j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlU
1a34e0 63 63 70 36 65 6e 2b 51 33 58 30 64 67 4e 6d 42 75 31 6b 6d 77 68 48 2b 35 70 50 69 39 34 44 6b ccp6en+Q3X0dgNmBu1kmwhH+5pPi94Dk
1a3500 5a 66 73 30 4e 77 34 70 67 48 42 4e 0a 72 7a 69 47 4c 70 35 2f 56 36 2b 65 46 36 37 72 48 4d 73 Zfs0Nw4pgHBN.rziGLp5/V6+eF67rHMs
1a3520 6f 49 56 2b 32 48 4e 6a 6e 6f 67 51 69 2b 64 50 61 32 4d 73 43 41 77 45 41 41 61 4f 42 73 44 43 oIV+2HNjnogQi+dPa2MsCAwEAAaOBsDC
1a3540 42 72 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 0a 44 77 59 44 56 52 BrTAOBgNVHQ8BAf8EBAMCAQYw.DwYDVR
1a3560 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 72 42 67 4e 56 48 52 41 45 4a 44 41 69 67 41 0TAQH/BAUwAwEB/zArBgNVHRAEJDAigA
1a3580 38 79 4d 44 41 32 4d 54 45 79 4e 7a 49 77 4d 6a 4d 30 4d 6c 71 42 44 7a 49 77 4d 6a 59 78 4d 54 8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMT
1a35a0 49 33 4d 6a 41 31 0a 4d 7a 51 79 57 6a 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 52 6f 6b I3MjA1.MzQyWjAfBgNVHSMEGDAWgBRok
1a35c0 4f 52 6e 70 4b 5a 54 67 4d 65 47 5a 71 54 78 39 30 74 44 2b 34 53 39 62 54 41 64 42 67 4e 56 48 ORnpKZTgMeGZqTx90tD+4S9bTAdBgNVH
1a35e0 51 34 45 46 67 51 55 61 4a 44 6b 5a 36 53 6d 55 34 44 48 0a 68 6d 61 6b 38 66 64 4c 51 2f 75 45 Q4EFgQUaJDkZ6SmU4DH.hmak8fdLQ/uE
1a3600 76 57 30 77 48 51 59 4a 4b 6f 5a 49 68 76 5a 39 42 30 45 41 42 42 41 77 44 68 73 49 56 6a 63 75 vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcu
1a3620 4d 54 6f 30 4c 6a 41 44 41 67 53 51 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 MTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
1a3640 0a 41 34 49 42 41 51 43 54 31 44 43 77 31 77 4d 67 4b 74 44 35 59 2b 69 52 44 41 55 67 71 56 38 .A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8
1a3660 5a 79 6e 74 79 54 74 53 78 32 39 43 57 2b 31 52 61 47 53 77 4d 43 50 65 79 76 49 57 6f 6e 58 39 ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9
1a3680 74 4f 31 4b 7a 4b 74 76 6e 31 49 53 4d 0a 59 2f 59 50 79 79 59 42 6b 56 42 73 39 46 38 55 34 70 tO1KzKtvn1ISM.Y/YPyyYBkVBs9F8U4p
1a36a0 4e 30 77 42 4f 65 4d 44 70 51 34 37 52 67 78 52 7a 77 49 6b 53 4e 63 55 65 73 79 42 72 4a 36 5a N0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Z
1a36c0 75 61 41 47 41 54 2f 33 42 2b 58 78 46 4e 53 52 75 7a 46 56 4a 37 79 56 54 61 0a 76 35 32 56 72 uaAGAT/3B+XxFNSRuzFVJ7yVTa.v52Vr
1a36e0 32 75 61 32 4a 37 70 38 65 52 44 6a 65 49 52 52 44 71 2f 72 37 32 44 51 6e 4e 53 69 36 71 37 70 2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7p
1a3700 79 6e 50 39 57 51 63 43 6b 33 52 76 4b 71 73 6e 79 72 51 2f 33 39 2f 32 6e 33 71 73 65 30 77 4a ynP9WQcCk3RvKqsnyrQ/39/2n3qse0wJ
1a3720 63 47 45 32 6a 54 53 0a 57 33 69 44 56 75 79 63 4e 73 4d 6d 34 68 48 32 5a 30 6b 64 6b 71 75 4d cGE2jTS.W3iDVuycNsMm4hH2Z0kdkquM
1a3740 2b 2b 76 2f 65 75 36 46 53 71 64 51 67 50 43 6e 58 45 71 55 4c 6c 38 46 6d 54 78 53 51 65 44 4e ++v/eu6FSqdQgPCnXEqULl8FmTxSQeDN
1a3760 74 47 50 50 41 55 4f 36 6e 49 50 63 6a 32 41 37 38 31 71 30 0a 74 48 75 75 32 67 75 51 4f 48 58 tGPPAUO6nIPcj2A781q0.tHuu2guQOHX
1a3780 76 67 52 31 6d 30 76 64 58 63 44 61 7a 76 2f 77 6f 72 33 45 6c 68 56 73 54 2f 68 35 2f 57 72 51 vgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ
1a37a0 38 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 65 6f 8.-----END.CERTIFICATE-----..Geo
1a37c0 54 72 75 73 74 20 47 6c 6f 62 61 6c 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Trust.Global.CA.================
1a37e0 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1a3800 49 49 44 56 44 43 43 41 6a 79 67 41 77 49 42 41 67 49 44 41 6a 52 57 4d 41 30 47 43 53 71 47 53 IIDVDCCAjygAwIBAgIDAjRWMA0GCSqGS
1a3820 49 62 33 44 51 45 42 42 51 55 41 4d 45 49 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d Ib3DQEBBQUAMEIxCzAJBgNVBAYTAlVTM
1a3840 52 59 77 46 41 59 44 56 51 51 4b 0a 45 77 31 48 5a 57 39 55 63 6e 56 7a 64 43 42 4a 62 6d 4d 75 RYwFAYDVQQK.Ew1HZW9UcnVzdCBJbmMu
1a3860 4d 52 73 77 47 51 59 44 56 51 51 44 45 78 4a 48 5a 57 39 55 63 6e 56 7a 64 43 42 48 62 47 39 69 MRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
1a3880 59 57 77 67 51 30 45 77 48 68 63 4e 4d 44 49 77 4e 54 49 78 4d 44 51 77 0a 4d 44 41 77 57 68 63 YWwgQ0EwHhcNMDIwNTIxMDQw.MDAwWhc
1a38a0 4e 4d 6a 49 77 4e 54 49 78 4d 44 51 77 4d 44 41 77 57 6a 42 43 4d 51 73 77 43 51 59 44 56 51 51 NMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQ
1a38c0 47 45 77 4a 56 55 7a 45 57 4d 42 51 47 41 31 55 45 43 68 4d 4e 52 32 56 76 56 48 4a 31 63 33 51 GEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Q
1a38e0 67 53 57 35 6a 0a 4c 6a 45 62 4d 42 6b 47 41 31 55 45 41 78 4d 53 52 32 56 76 56 48 4a 31 63 33 gSW5j.LjEbMBkGA1UEAxMSR2VvVHJ1c3
1a3900 51 67 52 32 78 76 59 6d 46 73 49 45 4e 42 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w
1a3920 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 0a 43 67 4b 43 41 51 45 41 32 73 77 59 59 0BAQEFAAOCAQ8AMIIB.CgKCAQEA2swYY
1a3940 7a 44 39 39 42 63 6a 47 6c 5a 2b 57 39 38 38 62 44 6a 6b 63 62 64 34 6b 64 53 38 6f 64 68 4d 2b zD99BcjGlZ+W988bDjkcbd4kdS8odhM+
1a3960 4b 68 44 74 67 50 70 54 53 45 48 43 49 6a 61 57 43 39 6d 4f 53 6d 39 42 58 69 4c 6e 54 6a 6f 0a KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo.
1a3980 42 62 64 71 66 6e 47 6b 35 73 52 67 70 72 44 76 67 4f 53 4a 4b 41 2b 65 4a 64 62 74 67 2f 4f 74 BbdqfnGk5sRgprDvgOSJKA+eJdbtg/Ot
1a39a0 70 70 48 48 6d 4d 6c 43 47 44 55 55 6e 61 32 59 52 70 49 75 54 38 72 78 68 30 50 42 46 70 56 58 ppHHmMlCGDUUna2YRpIuT8rxh0PBFpVX
1a39c0 4c 56 44 76 69 53 32 41 65 6c 65 74 0a 38 75 35 66 61 39 49 41 6a 62 6b 55 2b 42 51 56 4e 64 6e LVDviS2Aelet.8u5fa9IAjbkU+BQVNdn
1a39e0 41 52 71 4e 37 63 73 69 52 76 38 6c 56 4b 38 33 51 6c 7a 36 63 4a 6d 54 4d 33 38 36 44 47 58 48 ARqN7csiRv8lVK83Qlz6cJmTM386DGXH
1a3a00 4b 54 75 62 55 31 58 75 70 47 63 31 56 33 73 6a 73 30 6c 34 34 55 2b 56 63 0a 54 34 77 74 2f 6c KTubU1XupGc1V3sjs0l44U+Vc.T4wt/l
1a3a20 41 6a 4e 76 78 6d 35 73 75 4f 70 44 6b 5a 41 4c 65 56 41 6a 6d 52 43 77 37 2b 4f 43 37 52 48 51 AjNvxm5suOpDkZALeVAjmRCw7+OC7RHQ
1a3a40 57 61 39 6b 30 2b 62 77 38 48 48 61 38 73 48 6f 39 67 4f 65 4c 36 4e 6c 4d 54 4f 64 52 65 4a 69 Wa9k0+bw8HHa8sHo9gOeL6NlMTOdReJi
1a3a60 76 62 50 61 67 55 0a 76 54 4c 72 47 41 4d 6f 55 67 52 78 35 61 73 7a 50 65 45 34 75 77 63 32 68 vbPagU.vTLrGAMoUgRx5aszPeE4uwc2h
1a3a80 47 4b 63 65 65 6f 57 4d 50 52 66 77 43 76 6f 63 57 76 6b 2b 51 49 44 41 51 41 42 6f 31 4d 77 55 GKceeoWMPRfwCvocWvk+QIDAQABo1MwU
1a3aa0 54 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 42 30 47 41 31 55 64 TAPBgNVHRMBAf8EBTAD.AQH/MB0GA1Ud
1a3ac0 44 67 51 57 42 42 54 41 65 70 68 6f 6a 59 6e 37 71 77 56 6b 44 42 46 39 71 6e 31 6c 75 4d 72 4d DgQWBBTAephojYn7qwVkDBF9qn1luMrM
1a3ae0 54 6a 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 54 41 65 70 68 6f 6a 59 6e 37 71 77 56 6b TjAfBgNVHSMEGDAWgBTAephojYn7qwVk
1a3b00 0a 44 42 46 39 71 6e 31 6c 75 4d 72 4d 54 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 .DBF9qn1luMrMTjANBgkqhkiG9w0BAQU
1a3b20 46 41 41 4f 43 41 51 45 41 4e 65 4d 70 61 75 55 76 58 56 53 4f 4b 56 43 55 6e 35 6b 61 46 4f 53 FAAOCAQEANeMpauUvXVSOKVCUn5kaFOS
1a3b40 50 65 43 70 69 6c 4b 49 6e 5a 35 37 51 0a 7a 78 70 65 52 2b 6e 42 73 71 54 50 33 55 45 61 42 55 PeCpilKInZ57Q.zxpeR+nBsqTP3UEaBU
1a3b60 36 62 53 2b 35 4b 62 31 56 53 73 79 53 68 4e 77 72 72 5a 48 59 71 4c 69 7a 7a 2f 54 74 31 6b 4c 6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL
1a3b80 2f 36 63 64 6a 48 50 54 66 53 74 51 57 56 59 72 6d 6d 33 6f 6b 39 4e 6e 73 34 0a 64 30 69 58 72 /6cdjHPTfStQWVYrmm3ok9Nns4.d0iXr
1a3ba0 4b 59 67 6a 79 36 6d 79 51 7a 43 73 70 6c 46 41 4d 66 4f 45 56 45 69 49 75 43 6c 36 72 59 56 53 KYgjy6myQzCsplFAMfOEVEiIuCl6rYVS
1a3bc0 41 6c 6b 36 6c 35 50 64 50 63 46 50 73 65 4b 55 67 7a 62 46 62 53 39 62 5a 76 6c 78 72 46 55 61 Alk6l5PdPcFPseKUgzbFbS9bZvlxrFUa
1a3be0 4b 6e 6a 61 5a 43 32 0a 6d 71 55 50 75 4c 6b 2f 49 48 32 75 53 72 57 34 6e 4f 51 64 74 71 76 6d KnjaZC2.mqUPuLk/IH2uSrW4nOQdtqvm
1a3c00 6c 4b 58 42 78 34 4f 74 32 2f 55 6e 68 77 34 45 62 4e 58 2f 33 61 42 64 37 59 64 53 74 79 73 56 lKXBx4Ot2/Unhw4EbNX/3aBd7YdStysV
1a3c20 41 71 34 35 70 6d 70 30 36 64 72 45 35 37 78 4e 4e 42 36 70 0a 58 45 30 7a 58 35 49 4a 4c 34 68 Aq45pmp06drE57xNNB6p.XE0zX5IJL4h
1a3c40 6d 58 58 65 58 78 78 31 32 45 36 6e 56 35 66 45 57 43 52 45 31 31 61 7a 62 4a 48 46 77 4c 4a 68 mXXeXxx12E6nV5fEWCRE11azbJHFwLJh
1a3c60 57 43 39 6b 58 74 4e 48 6a 55 53 74 65 64 65 6a 56 30 4e 78 50 4e 4f 33 43 42 57 61 41 6f 63 76 WC9kXtNHjUStedejV0NxPNO3CBWaAocv
1a3c80 6d 0a 4d 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d m.Mw==.-----END.CERTIFICATE-----
1a3ca0 0a 0a 47 65 6f 54 72 75 73 74 20 55 6e 69 76 65 72 73 61 6c 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d ..GeoTrust.Universal.CA.========
1a3cc0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1a3ce0 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 61 44 43 43 41 31 43 67 41 77 49 42 41 67 49 42 41 54 CATE-----.MIIFaDCCA1CgAwIBAgIBAT
1a3d00 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 46 4d 51 73 77 43 51 59 44 56 51 ANBgkqhkiG9w0BAQUFADBFMQswCQYDVQ
1a3d20 51 47 45 77 4a 56 55 7a 45 57 4d 42 51 47 41 31 55 45 43 68 4d 4e 0a 52 32 56 76 56 48 4a 31 63 QGEwJVUzEWMBQGA1UEChMN.R2VvVHJ1c
1a3d40 33 51 67 53 57 35 6a 4c 6a 45 65 4d 42 77 47 41 31 55 45 41 78 4d 56 52 32 56 76 56 48 4a 31 63 3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c
1a3d60 33 51 67 56 57 35 70 64 6d 56 79 63 32 46 73 49 45 4e 42 4d 42 34 58 44 54 41 30 4d 44 4d 77 4e 3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwN
1a3d80 44 41 31 0a 4d 44 41 77 4d 46 6f 58 44 54 49 35 4d 44 4d 77 4e 44 41 31 4d 44 41 77 4d 46 6f 77 DA1.MDAwMFoXDTI5MDMwNDA1MDAwMFow
1a3da0 52 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 6a 41 55 42 67 4e 56 42 41 6f 54 RTELMAkGA1UEBhMCVVMxFjAUBgNVBAoT
1a3dc0 44 55 64 6c 62 31 52 79 64 58 4e 30 49 45 6c 75 0a 59 79 34 78 48 6a 41 63 42 67 4e 56 42 41 4d DUdlb1RydXN0IElu.Yy4xHjAcBgNVBAM
1a3de0 54 46 55 64 6c 62 31 52 79 64 58 4e 30 49 46 56 75 61 58 5a 6c 63 6e 4e 68 62 43 42 44 51 54 43 TFUdlb1RydXN0IFVuaXZlcnNhbCBDQTC
1a3e00 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 0a 41 44 CAiIwDQYJKoZIhvcNAQEBBQADggIP.AD
1a3e20 43 43 41 67 6f 43 67 67 49 42 41 4b 59 56 56 61 43 6a 78 75 41 66 6a 4a 30 68 55 4e 66 42 76 69 CCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvi
1a3e40 74 62 74 61 53 65 6f 64 6c 79 57 4c 30 41 47 30 79 2f 59 63 6b 55 48 55 57 43 71 38 59 64 67 4e tbtaSeodlyWL0AG0y/YckUHUWCq8YdgN
1a3e60 59 39 36 78 43 63 4f 71 39 74 0a 4a 50 69 38 63 51 47 65 42 76 56 38 58 78 37 42 44 6c 58 4b 67 Y96xCcOq9t.JPi8cQGeBvV8Xx7BDlXKg
1a3e80 35 70 5a 4d 4b 34 5a 79 7a 42 49 6c 65 30 69 4e 34 33 30 53 70 70 79 5a 6a 36 74 6c 63 44 67 46 5pZMK4ZyzBIle0iN430SppyZj6tlcDgF
1a3ea0 67 44 67 45 42 38 72 4d 51 37 58 6c 46 54 54 51 6a 4f 67 4e 42 30 65 0a 52 58 62 64 54 38 6f 59 gDgEB8rMQ7XlFTTQjOgNB0e.RXbdT8oY
1a3ec0 4e 2b 79 46 46 58 6f 5a 43 50 7a 56 78 35 7a 77 38 71 6b 75 45 4b 6d 53 35 6a 31 59 50 61 6b 57 N+yFFXoZCPzVx5zw8qkuEKmS5j1YPakW
1a3ee0 61 44 77 76 64 53 45 59 66 79 68 33 70 65 46 68 46 37 65 6d 36 66 67 65 6d 64 74 7a 62 76 51 4b aDwvdSEYfyh3peFhF7em6fgemdtzbvQK
1a3f00 6f 69 46 73 0a 37 74 71 71 68 5a 4a 6d 72 2f 5a 36 61 34 4c 61 75 69 49 49 4e 51 2f 50 51 76 45 oiFs.7tqqhZJmr/Z6a4LauiIINQ/PQvE
1a3f20 31 2b 6d 72 75 66 69 73 6c 7a 44 6f 52 35 47 32 76 63 37 4a 32 48 61 33 51 73 6e 68 6e 47 71 51 1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ
1a3f40 35 48 46 45 4c 5a 31 61 44 2f 54 68 64 44 63 37 64 0a 38 4c 73 72 6c 68 2f 65 65 7a 4a 53 2f 52 5HFELZ1aD/ThdDc7d.8Lsrlh/eezJS/R
1a3f60 32 37 74 51 61 68 73 69 46 65 70 64 61 56 61 48 2f 77 6d 5a 37 63 52 51 67 2b 35 39 49 4a 44 54 27tQahsiFepdaVaH/wmZ7cRQg+59IJDT
1a3f80 57 55 33 59 42 4f 55 35 66 58 74 51 6c 45 49 47 51 57 46 77 4d 43 54 46 4d 4e 61 4e 37 56 0a 71 WU3YBOU5fXtQlEIGQWFwMCTFMNaN7V.q
1a3fa0 6e 4a 4e 6b 32 32 43 44 74 75 63 76 63 2b 30 38 31 78 64 56 48 70 70 43 5a 62 57 32 78 48 42 6a nJNk22CDtucvc+081xdVHppCZbW2xHBj
1a3fc0 58 57 6f 74 4d 38 35 79 4d 34 38 76 43 52 38 35 6d 4c 4b 34 62 31 39 70 37 31 58 5a 51 76 6b 2f XWotM85yM48vCR85mLK4b19p71XZQvk/
1a3fe0 69 58 74 74 6d 6b 51 33 43 67 61 0a 52 72 30 42 48 64 43 58 74 65 47 59 4f 38 41 33 5a 4e 59 39 iXttmkQ3Cga.Rr0BHdCXteGYO8A3ZNY9
1a4000 6c 4f 34 4c 34 66 55 6f 72 67 74 57 76 33 47 4c 49 79 6c 42 6a 6f 62 46 53 31 4a 37 32 48 47 72 lO4L4fUorgtWv3GLIylBjobFS1J72HGr
1a4020 48 34 6f 56 70 6a 75 44 57 74 64 59 41 56 48 47 54 45 48 5a 66 39 68 42 0a 5a 33 4b 69 4b 4e 39 H4oVpjuDWtdYAVHGTEHZf9hB.Z3KiKN9
1a4040 67 67 36 6d 65 79 48 76 38 55 33 4e 79 57 66 57 54 65 68 64 32 44 73 37 33 35 56 7a 5a 43 31 55 gg6meyHv8U3NyWfWTehd2Ds735VzZC1U
1a4060 30 6f 71 70 62 74 57 70 55 35 78 50 4b 56 2b 79 58 62 66 52 65 42 69 39 46 69 31 6a 55 49 78 61 0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxa
1a4080 53 35 42 5a 75 0a 4b 47 4e 5a 4d 4e 39 51 41 5a 78 6a 69 52 71 66 32 78 65 55 67 6e 41 33 77 79 S5BZu.KGNZMN9QAZxjiRqf2xeUgnA3wy
1a40a0 53 65 6d 6b 66 57 57 73 70 4f 71 47 6d 4a 63 68 2b 52 62 4e 74 2b 6e 68 75 74 78 78 39 7a 33 53 SemkfWWspOqGmJch+RbNt+nhutxx9z3S
1a40c0 78 50 47 57 58 39 66 35 4e 41 45 43 37 53 38 4f 30 38 0a 6e 69 34 6f 50 6d 6b 6d 4d 38 56 37 41 xPGWX9f5NAEC7S8O08.ni4oPmkmM8V7A
1a40e0 67 4d 42 41 41 47 6a 59 7a 42 68 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 gMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBA
1a4100 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4e 71 37 4c 71 71 77 44 4c 69 49 4a 6c 46 30 0a f8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0.
1a4120 58 47 30 44 30 38 44 59 6a 33 72 57 4d 42 38 47 41 31 55 64 49 77 51 59 4d 42 61 41 46 4e 71 37 XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7
1a4140 4c 71 71 77 44 4c 69 49 4a 6c 46 30 58 47 30 44 30 38 44 59 6a 33 72 57 4d 41 34 47 41 31 55 64 LqqwDLiIJlF0XG0D08DYj3rWMA4GA1Ud
1a4160 44 77 45 42 2f 77 51 45 41 77 49 42 0a 68 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 DwEB/wQEAwIB.hjANBgkqhkiG9w0BAQU
1a4180 46 41 41 4f 43 41 67 45 41 4d 58 6a 6d 78 37 58 66 75 4a 52 41 79 58 48 45 71 44 58 73 52 68 33 FAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3
1a41a0 43 68 66 4d 6f 57 49 61 77 43 2f 79 4f 73 6a 6d 50 52 46 57 72 5a 49 52 63 0a 61 61 6e 51 6d 6a ChfMoWIawC/yOsjmPRFWrZIRc.aanQmj
1a41c0 67 38 2b 75 55 66 4e 65 56 45 34 34 42 35 6c 47 69 6b 75 38 53 66 50 65 45 30 7a 54 42 47 69 31 g8+uUfNeVE44B5lGiku8SfPeE0zTBGi1
1a41e0 51 72 6c 61 58 76 39 7a 2b 5a 68 50 30 31 35 73 38 78 78 74 78 71 76 36 66 58 49 77 6a 68 6d 46 QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF
1a4200 37 44 57 67 68 32 0a 71 61 61 76 64 79 2b 33 59 4c 31 45 52 6d 72 76 6c 2f 39 7a 6c 63 47 4f 36 7DWgh2.qaavdy+3YL1ERmrvl/9zlcGO6
1a4220 4a 50 37 2f 54 47 33 37 46 63 52 45 55 57 62 4d 50 45 61 69 44 6e 42 54 7a 79 6e 41 4e 58 48 2f JP7/TG37FcREUWbMPEaiDnBTzynANXH/
1a4240 4b 74 74 67 43 4a 77 70 51 7a 67 58 51 51 70 41 76 76 4c 0a 6f 4a 48 52 66 4e 62 44 66 6c 44 56 KttgCJwpQzgXQQpAvvL.oJHRfNbDflDV
1a4260 6e 56 69 2b 51 54 6a 72 75 58 55 38 46 64 6d 62 79 55 71 44 57 63 44 61 55 2f 30 7a 75 7a 59 59 nVi+QTjruXU8FdmbyUqDWcDaU/0zuzYY
1a4280 6d 34 55 50 46 64 33 75 4c 61 78 32 6b 37 6e 5a 41 59 31 49 45 4b 6a 37 39 54 69 47 38 64 73 4b m4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
1a42a0 0a 78 72 32 45 6f 79 4e 42 33 74 5a 33 62 34 58 55 68 52 78 51 34 4b 35 52 69 72 71 4e 50 6e 62 .xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnb
1a42c0 69 75 63 6f 6e 38 6c 2b 66 37 32 35 5a 44 51 62 59 4b 78 65 6b 30 6e 78 72 75 31 38 55 47 6b 69 iucon8l+f725ZDQbYKxek0nxru18UGki
1a42e0 50 47 6b 7a 6e 73 30 63 63 6a 6b 78 46 0a 4b 79 44 75 53 4e 2f 6e 33 51 6d 4f 47 4b 6a 61 51 49 PGkzns0ccjkxF.KyDuSN/n3QmOGKjaQI
1a4300 32 53 4a 68 46 54 59 58 4e 64 36 37 33 6e 78 45 30 70 4e 32 48 72 72 44 6b 74 5a 79 34 57 31 76 2SJhFTYXNd673nxE0pN2HrrDktZy4W1v
1a4320 55 41 67 34 57 68 7a 48 39 32 78 48 33 6b 74 30 74 6d 37 77 4e 46 59 47 6d 32 0a 44 46 4b 57 6b UAg4WhzH92xH3kt0tm7wNFYGm2.DFKWk
1a4340 6f 52 65 70 71 4f 31 70 44 34 72 32 63 7a 59 47 30 65 71 38 6b 54 61 54 2f 6b 44 36 50 41 55 79 oRepqO1pD4r2czYG0eq8kTaT/kD6PAUy
1a4360 7a 2f 7a 67 39 37 51 77 56 54 6a 74 2b 67 4b 4e 30 32 4c 49 46 6b 44 4d 42 6d 68 4c 4d 69 39 45 z/zg97QwVTjt+gKN02LIFkDMBmhLMi9E
1a4380 52 2f 66 72 73 6c 4b 0a 78 66 4d 6e 5a 6d 61 47 72 47 69 52 2f 39 6e 6d 55 78 77 50 69 31 78 70 R/frslK.xfMnZmaGrGiR/9nmUxwPi1xp
1a43a0 5a 51 6f 6d 79 42 34 30 77 31 31 52 65 39 65 70 6e 41 61 68 4e 74 33 56 69 5a 53 38 32 65 51 74 ZQomyB40w11Re9epnAahNt3ViZS82eQt
1a43c0 44 46 34 4a 62 41 69 58 66 4b 4d 39 66 4a 50 2f 50 36 45 55 0a 70 38 2b 31 58 65 76 62 32 78 7a DF4JbAiXfKM9fJP/P6EU.p8+1Xevb2xz
1a43e0 45 64 74 2b 49 75 62 31 46 42 5a 55 62 72 76 78 47 61 6b 79 76 53 4f 50 4f 72 67 2f 53 66 75 76 Edt+Iub1FBZUbrvxGakyvSOPOrg/Sfuv
1a4400 6d 62 4a 78 50 67 57 70 36 5a 4b 79 37 50 74 58 6e 79 33 59 75 78 61 64 49 77 56 79 51 44 38 76 mbJxPgWp6ZKy7PtXny3YuxadIwVyQD8v
1a4420 49 0a 50 2f 72 6d 4d 75 47 4e 47 32 2b 6b 35 6f 37 59 2b 53 6c 49 69 73 35 7a 2f 69 77 3d 0a 2d I.P/rmMuGNG2+k5o7Y+SlIis5z/iw=.-
1a4440 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 65 6f 54 72 75 ----END.CERTIFICATE-----..GeoTru
1a4460 73 74 20 55 6e 69 76 65 72 73 61 6c 20 43 41 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d st.Universal.CA.2.==============
1a4480 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1a44a0 2d 2d 2d 2d 2d 0a 4d 49 49 46 62 44 43 43 41 31 53 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 -----.MIIFbDCCA1SgAwIBAgIBATANBg
1a44c0 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 kqhkiG9w0BAQUFADBHMQswCQYDVQQGEw
1a44e0 4a 56 55 7a 45 57 4d 42 51 47 41 31 55 45 43 68 4d 4e 0a 52 32 56 76 56 48 4a 31 63 33 51 67 53 JVUzEWMBQGA1UEChMN.R2VvVHJ1c3QgS
1a4500 57 35 6a 4c 6a 45 67 4d 42 34 47 41 31 55 45 41 78 4d 58 52 32 56 76 56 48 4a 31 63 33 51 67 56 W5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgV
1a4520 57 35 70 64 6d 56 79 63 32 46 73 49 45 4e 42 49 44 49 77 48 68 63 4e 4d 44 51 77 4d 7a 41 30 0a W5pdmVyc2FsIENBIDIwHhcNMDQwMzA0.
1a4540 4d 44 55 77 4d 44 41 77 57 68 63 4e 4d 6a 6b 77 4d 7a 41 30 4d 44 55 77 4d 44 41 77 57 6a 42 48 MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBH
1a4560 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 57 4d 42 51 47 41 31 55 45 43 68 4d 4e MQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
1a4580 52 32 56 76 56 48 4a 31 63 33 51 67 0a 53 57 35 6a 4c 6a 45 67 4d 42 34 47 41 31 55 45 41 78 4d R2VvVHJ1c3Qg.SW5jLjEgMB4GA1UEAxM
1a45a0 58 52 32 56 76 56 48 4a 31 63 33 51 67 56 57 35 70 64 6d 56 79 63 32 46 73 49 45 4e 42 49 44 49 XR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDI
1a45c0 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 0a 41 34 49 43 44 77 wggIiMA0GCSqGSIb3DQEBAQUA.A4ICDw
1a45e0 41 77 67 67 49 4b 41 6f 49 43 41 51 43 7a 56 46 4c 42 79 54 37 79 32 64 79 78 55 78 70 5a 4b 65 AwggIKAoICAQCzVFLByT7y2dyxUxpZKe
1a4600 65 78 77 30 55 6f 35 64 66 52 37 63 58 46 53 36 47 71 64 48 74 58 72 30 6f 6d 2f 4e 6a 31 58 71 exw0Uo5dfR7cXFS6GqdHtXr0om/Nj1Xq
1a4620 64 75 47 64 74 30 0a 44 45 38 31 57 7a 49 4c 41 65 50 62 36 33 70 33 4e 65 71 71 57 75 44 57 36 duGdt0.DE81WzILAePb63p3NeqqWuDW6
1a4640 4b 46 58 6c 50 43 51 6f 33 52 57 6c 45 51 77 41 78 35 63 54 69 75 46 4a 6e 53 43 65 67 78 32 6f KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2o
1a4660 47 39 4e 7a 6b 45 74 6f 42 55 47 46 46 2b 33 51 73 31 37 0a 6a 31 68 68 4e 4e 77 71 43 50 6b 75 G9NzkEtoBUGFF+3Qs17.j1hhNNwqCPku
1a4680 77 77 47 6d 49 6b 51 63 54 41 65 43 35 6c 76 4f 30 45 70 38 42 4e 4d 5a 63 79 66 77 71 70 68 2f wwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/
1a46a0 4c 71 39 4f 36 34 63 65 4a 48 64 71 58 62 62 6f 57 30 57 36 33 4d 4f 68 42 57 39 57 6a 6f 38 51 Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
1a46c0 0a 4a 71 56 4a 77 79 37 58 51 59 63 69 34 45 2b 47 79 6d 43 31 36 71 46 6a 77 41 47 58 45 48 6d .JqVJwy7XQYci4E+GymC16qFjwAGXEHm
1a46e0 39 41 44 77 53 62 53 73 56 73 61 78 4c 73 65 34 59 75 55 36 57 33 4e 78 32 2f 7a 75 2b 7a 31 38 9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18
1a4700 44 77 50 77 37 36 4c 35 47 47 2f 2f 61 0a 51 4d 4a 53 39 2f 37 6a 4f 76 64 71 64 7a 58 51 32 6f DwPw76L5GG//a.QMJS9/7jOvdqdzXQ2o
1a4720 33 72 58 68 68 71 4d 63 63 65 75 6a 77 62 4b 4e 5a 72 56 4d 61 71 57 39 65 69 4c 42 73 5a 7a 4b 3rXhhqMcceujwbKNZrVMaqW9eiLBsZzK
1a4740 49 43 39 70 74 5a 76 54 64 72 68 72 56 74 67 72 72 59 36 73 6c 57 76 4b 6b 32 0a 57 50 30 2b 47 IC9ptZvTdrhrVtgrrY6slWvKk2.WP0+G
1a4760 66 50 74 44 43 61 70 6b 7a 6a 34 54 38 46 64 49 67 62 51 6c 2b 72 68 72 63 5a 56 34 49 45 72 4b fPtDCapkzj4T8FdIgbQl+rhrcZV4IErK
1a4780 49 4d 36 2b 76 52 37 49 56 45 41 76 6c 49 34 7a 73 31 6d 65 61 6a 30 67 56 62 69 30 49 4d 4a 52 IM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR
1a47a0 31 46 62 55 47 72 50 0a 32 30 67 61 58 54 37 33 79 2f 5a 6c 39 32 7a 78 6c 66 67 43 4f 7a 4a 57 1FbUGrP.20gaXT73y/Zl92zxlfgCOzJW
1a47c0 67 6a 6c 36 57 37 30 76 69 52 75 2f 6f 62 54 6f 2f 33 2b 4e 6a 4e 38 44 38 57 42 4f 57 42 46 4d gjl6W70viRu/obTo/3+NjN8D8WBOWBFM
1a47e0 36 36 4d 2f 45 43 75 44 6d 67 46 7a 32 5a 52 74 68 41 41 6e 0a 5a 71 7a 77 63 45 41 4a 51 70 4b 66M/ECuDmgFz2ZRthAAn.ZqzwcEAJQpK
1a4800 74 54 35 4d 4e 59 51 6c 52 4a 4e 69 53 31 51 75 55 59 62 4b 48 73 75 33 2f 6d 6a 58 2f 68 56 54 tT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVT
1a4820 4b 37 55 52 44 72 42 73 38 46 6d 74 49 53 67 6f 63 51 49 67 66 6b 73 49 4c 41 41 58 2f 38 73 67 K7URDrBs8FmtISgocQIgfksILAAX/8sg
1a4840 43 0a 53 71 53 71 71 63 79 5a 6c 70 77 76 57 4f 42 39 34 62 36 37 42 39 78 66 42 48 4a 63 4d 54 C.SqSqqcyZlpwvWOB94b67B9xfBHJcMT
1a4860 54 44 37 46 38 74 34 44 31 6b 6b 43 4c 6d 30 65 79 34 4c 74 31 5a 72 74 6d 68 4e 37 39 55 4e 64 TD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNd
1a4880 78 7a 4d 6b 2b 4d 42 42 34 7a 73 73 6c 47 0a 38 64 68 63 79 46 56 51 79 57 69 39 71 4c 6f 32 43 xzMk+MBB4zsslG.8dhcyFVQyWi9qLo2C
1a48a0 51 49 44 41 51 41 42 6f 32 4d 77 59 54 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 QIDAQABo2MwYTAPBgNVHRMBAf8EBTADA
1a48c0 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 32 38 31 58 68 2b 71 51 32 0a 2b 2f 43 66 QH/MB0GA1UdDgQWBBR281Xh+qQ2.+/Cf
1a48e0 58 47 4a 78 37 54 7a 30 52 7a 67 51 4b 7a 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 52 32 XGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR2
1a4900 38 31 58 68 2b 71 51 32 2b 2f 43 66 58 47 4a 78 37 54 7a 30 52 7a 67 51 4b 7a 41 4f 42 67 4e 56 81Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNV
1a4920 48 51 38 42 41 66 38 45 0a 42 41 4d 43 41 59 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 HQ8BAf8E.BAMCAYYwDQYJKoZIhvcNAQE
1a4940 46 42 51 41 44 67 67 49 42 41 47 62 42 78 69 50 7a 32 65 41 75 62 6c 2f 6f 7a 36 36 77 73 43 56 FBQADggIBAGbBxiPz2eAubl/oz66wsCV
1a4960 4e 4b 2f 67 37 57 4a 74 41 4a 44 64 61 79 36 73 57 53 66 2b 7a 0a 64 58 6b 7a 6f 53 39 74 63 42 NK/g7WJtAJDday6sWSf+z.dXkzoS9tcB
1a4980 63 30 6b 66 35 6e 66 6f 2f 73 6d 2b 56 65 67 71 6c 56 48 79 2f 63 31 46 45 48 45 76 36 73 46 6a c0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj
1a49a0 34 73 4e 63 5a 6a 2f 4e 77 51 36 77 32 6a 71 74 42 38 7a 4e 48 51 4c 31 45 75 78 42 52 61 33 75 4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3u
1a49c0 67 5a 0a 34 54 37 47 7a 4b 51 70 35 79 36 45 71 67 59 77 65 48 5a 55 63 79 69 59 57 54 6a 67 41 gZ.4T7GzKQp5y6EqgYweHZUcyiYWTjgA
1a49e0 41 31 69 30 30 4a 39 49 5a 2b 75 50 54 71 4d 31 66 70 33 44 52 67 72 46 67 35 66 4e 75 48 38 4b A1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8K
1a4a00 72 55 77 4a 4d 2f 67 59 77 78 37 57 42 72 2b 0a 6d 62 70 43 45 72 47 52 39 48 78 6f 34 73 6a 6f rUwJM/gYwx7WBr+.mbpCErGR9Hxo4sjo
1a4a20 72 79 7a 71 79 58 36 75 75 79 6f 39 44 52 58 63 4e 4a 57 32 47 48 53 6f 61 67 2f 48 74 50 51 54 ryzqyX6uuyo9DRXcNJW2GHSoag/HtPQT
1a4a40 78 4f 52 62 37 51 72 53 70 4a 64 4d 4b 75 30 76 62 42 4b 4a 50 66 45 6e 63 4b 70 71 0a 41 31 49 xORb7QrSpJdMKu0vbBKJPfEncKpq.A1I
1a4a60 68 6e 30 43 6f 5a 31 44 79 38 31 6f 66 33 39 38 6a 39 74 78 34 54 75 61 59 54 31 55 36 55 2b 50 hn0CoZ1Dy81of398j9tx4TuaYT1U6U+P
1a4a80 76 38 76 53 66 78 33 7a 59 57 4b 38 70 49 70 65 34 34 4c 32 52 4c 72 42 32 37 46 63 52 7a 2b 38 v8vSfx3zYWK8pIpe44L2RLrB27FcRz+8
1a4aa0 70 52 50 50 70 68 58 70 67 0a 59 2b 52 64 4d 34 6b 58 32 54 47 71 32 74 62 7a 47 44 56 79 7a 34 pRPPphXpg.Y+RdM4kX2TGq2tbzGDVyz4
1a4ac0 63 72 4c 32 4d 6a 68 46 32 45 6a 44 39 58 6f 49 6a 38 6d 5a 45 6f 4a 6d 6d 5a 31 49 2b 58 52 4c crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL
1a4ae0 36 4f 31 55 69 78 70 43 67 70 38 52 57 30 34 65 57 65 33 66 69 50 0a 70 6d 38 6d 31 77 6b 38 4f 6O1UixpCgp8RW04eWe3fiP.pm8m1wk8O
1a4b00 68 77 52 44 71 5a 73 4e 2f 65 74 52 49 63 73 4b 4d 66 59 64 49 4b 7a 30 47 39 4b 56 37 73 31 4b hwRDqZsN/etRIcsKMfYdIKz0G9KV7s1K
1a4b20 53 65 67 69 2b 67 68 70 34 64 6b 4e 6c 33 4d 32 42 61 73 78 37 49 6e 51 4a 4a 56 4f 43 69 4e 55 Segi+ghp4dkNl3M2Basx7InQJJVOCiNU
1a4b40 57 37 64 0a 46 47 64 54 62 48 46 63 4a 6f 52 4e 64 56 71 32 66 6d 42 57 71 55 32 74 2b 35 73 65 W7d.FGdTbHFcJoRNdVq2fmBWqU2t+5se
1a4b60 6c 2f 4d 4e 32 64 4b 58 56 48 66 61 50 52 4b 33 34 42 37 76 43 41 61 73 2b 59 57 48 36 61 4c 63 l/MN2dKXVHfaPRK34B7vCAas+YWH6aLc
1a4b80 72 33 34 59 45 6f 50 39 56 68 64 42 4c 74 55 70 0a 67 6e 32 5a 39 44 48 32 63 61 6e 50 4c 41 45 r34YEoP9VhdBLtUp.gn2Z9DH2canPLAE
1a4ba0 6e 70 51 57 35 71 72 4a 49 54 69 72 76 6e 35 4e 53 55 5a 55 38 55 6e 4f 4f 56 6b 77 58 51 4d 41 npQW5qrJITirvn5NSUZU8UnOOVkwXQMA
1a4bc0 4a 4b 4f 53 4c 61 6b 68 54 32 2b 7a 4e 56 56 58 78 78 76 6a 70 6f 69 78 4d 70 74 45 6d 0a 58 33 JKOSLakhT2+zNVVXxxvjpoixMptEm.X3
1a4be0 36 76 57 6b 7a 61 48 36 62 79 48 43 78 2b 72 67 49 57 30 6c 62 51 4c 31 64 54 52 2b 69 53 0a 2d 6vWkzaH6byHCx+rgIW0lbQL1dTR+iS.-
1a4c00 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 6f 6d 6f 64 6f ----END.CERTIFICATE-----..Comodo
1a4c20 20 41 41 41 20 53 65 72 76 69 63 65 73 20 72 6f 6f 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .AAA.Services.root.=============
1a4c40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1a4c60 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4d 6a 43 43 41 78 71 67 41 77 49 42 41 67 49 42 41 54 41 4e TE-----.MIIEMjCCAxqgAwIBAgIBATAN
1a4c80 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 37 4d 51 73 77 43 51 59 44 56 51 51 47 BgkqhkiG9w0BAQUFADB7MQswCQYDVQQG
1a4ca0 45 77 4a 48 51 6a 45 62 4d 42 6b 47 41 31 55 45 43 41 77 53 0a 52 33 4a 6c 59 58 52 6c 63 69 42 EwJHQjEbMBkGA1UECAwS.R3JlYXRlciB
1a4cc0 4e 59 57 35 6a 61 47 56 7a 64 47 56 79 4d 52 41 77 44 67 59 44 56 51 51 48 44 41 64 54 59 57 78 NYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWx
1a4ce0 6d 62 33 4a 6b 4d 52 6f 77 47 41 59 44 56 51 51 4b 44 42 46 44 62 32 31 76 5a 47 38 67 51 30 45 mb3JkMRowGAYDVQQKDBFDb21vZG8gQ0E
1a4d00 67 0a 54 47 6c 74 61 58 52 6c 5a 44 45 68 4d 42 38 47 41 31 55 45 41 77 77 59 51 55 46 42 49 45 g.TGltaXRlZDEhMB8GA1UEAwwYQUFBIE
1a4d20 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 4d 42 34 58 44 54 NlcnRpZmljYXRlIFNlcnZpY2VzMB4XDT
1a4d40 41 30 4d 44 45 77 4d 54 41 77 4d 44 41 77 0a 4d 46 6f 58 44 54 49 34 4d 54 49 7a 4d 54 49 7a 4e A0MDEwMTAwMDAw.MFoXDTI4MTIzMTIzN
1a4d60 54 6b 31 4f 56 6f 77 65 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 30 49 78 47 7a 41 5a 42 Tk1OVowezELMAkGA1UEBhMCR0IxGzAZB
1a4d80 67 4e 56 42 41 67 4d 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 68 6c 0a 63 33 52 6c gNVBAgMEkdyZWF0ZXIgTWFuY2hl.c3Rl
1a4da0 63 6a 45 51 4d 41 34 47 41 31 55 45 42 77 77 48 55 32 46 73 5a 6d 39 79 5a 44 45 61 4d 42 67 47 cjEQMA4GA1UEBwwHU2FsZm9yZDEaMBgG
1a4dc0 41 31 55 45 43 67 77 52 51 32 39 74 62 32 52 76 49 45 4e 42 49 45 78 70 62 57 6c 30 5a 57 51 78 A1UECgwRQ29tb2RvIENBIExpbWl0ZWQx
1a4de0 49 54 41 66 42 67 4e 56 0a 42 41 4d 4d 47 45 46 42 51 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 ITAfBgNV.BAMMGEFBQSBDZXJ0aWZpY2F
1a4e00 30 5a 53 42 54 5a 58 4a 32 61 57 4e 6c 63 7a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvc
1a4e20 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 0a 67 67 45 42 41 4c 35 41 6e 66 NAQEBBQADggEPADCCAQoC.ggEBAL5Anf
1a4e40 52 75 34 65 70 32 68 78 78 4e 52 55 53 4f 76 6b 62 49 67 77 61 64 77 53 72 2b 47 42 2b 4f 35 41 Ru4ep2hxxNRUSOvkbIgwadwSr+GB+O5A
1a4e60 4c 36 38 36 74 64 55 49 6f 57 4d 51 75 61 42 74 44 46 63 43 4c 4e 53 53 31 55 59 38 79 32 62 6d L686tdUIoWMQuaBtDFcCLNSS1UY8y2bm
1a4e80 68 47 0a 43 31 50 71 79 30 77 6b 77 4c 78 79 54 75 72 78 46 61 37 30 56 4a 6f 53 43 73 4e 36 73 hG.C1Pqy0wkwLxyTurxFa70VJoSCsN6s
1a4ea0 6a 4e 67 34 74 71 4a 56 66 4d 69 57 50 50 65 33 4d 2f 76 67 34 61 69 6a 4a 52 50 6e 32 6a 79 6d jNg4tqJVfMiWPPe3M/vg4aijJRPn2jym
1a4ec0 4a 42 47 68 43 66 48 64 72 2f 6a 7a 44 55 73 0a 69 31 34 48 5a 47 57 43 77 45 69 77 71 4a 48 35 JBGhCfHdr/jzDUs.i14HZGWCwEiwqJH5
1a4ee0 59 5a 39 32 49 46 43 6f 6b 63 64 6d 74 65 74 34 59 67 4e 57 38 49 6f 61 45 2b 6f 78 6f 78 36 67 YZ92IFCokcdmtet4YgNW8IoaE+oxox6g
1a4f00 6d 66 30 34 39 76 59 6e 4d 6c 68 76 42 2f 56 72 75 50 73 55 4b 36 2b 33 71 73 7a 57 0a 59 31 39 mf049vYnMlhvB/VruPsUK6+3qszW.Y19
1a4f20 7a 6a 4e 6f 46 6d 61 67 34 71 4d 73 58 65 44 5a 52 72 4f 6d 65 39 48 67 36 6a 63 38 50 32 55 4c zjNoFmag4qMsXeDZRrOme9Hg6jc8P2UL
1a4f40 69 6d 41 79 72 4c 35 38 4f 41 64 37 76 6e 35 6c 4a 38 53 33 66 72 48 52 4e 47 35 69 31 52 38 58 imAyrL58OAd7vn5lJ8S3frHRNG5i1R8X
1a4f60 6c 4b 64 48 35 6b 42 6a 48 0a 59 70 79 2b 67 38 63 6d 65 7a 36 4b 4a 63 66 41 33 5a 33 6d 4e 57 lKdH5kBjH.Ypy+g8cmez6KJcfA3Z3mNW
1a4f80 67 51 49 4a 32 50 32 4e 37 53 77 34 53 63 44 56 37 6f 4c 38 6b 43 41 77 45 41 41 61 4f 42 77 44 gQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwD
1a4fa0 43 42 76 54 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 6f 42 45 4b 0a 49 7a 36 57 38 51 66 73 34 CBvTAdBgNVHQ4EFgQUoBEK.Iz6W8Qfs4
1a4fc0 71 38 70 37 34 4b 6c 66 39 41 77 70 4c 51 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDA
1a4fe0 67 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 65 77 59 44 56 gEGMA8GA1UdEwEB/wQFMAMBAf8wewYDV
1a5000 52 30 66 0a 42 48 51 77 63 6a 41 34 6f 44 61 67 4e 49 59 79 61 48 52 30 63 44 6f 76 4c 32 4e 79 R0f.BHQwcjA4oDagNIYyaHR0cDovL2Ny
1a5020 62 43 35 6a 62 32 31 76 5a 47 39 6a 59 53 35 6a 62 32 30 76 51 55 46 42 51 32 56 79 64 47 6c 6d bC5jb21vZG9jYS5jb20vQUFBQ2VydGlm
1a5040 61 57 4e 68 64 47 56 54 5a 58 4a 32 61 57 4e 6c 0a 63 79 35 6a 63 6d 77 77 4e 71 41 30 6f 44 4b aWNhdGVTZXJ2aWNl.cy5jcmwwNqA0oDK
1a5060 47 4d 47 68 30 64 48 41 36 4c 79 39 6a 63 6d 77 75 59 32 39 74 62 32 52 76 4c 6d 35 6c 64 43 39 GMGh0dHA6Ly9jcmwuY29tb2RvLm5ldC9
1a5080 42 51 55 46 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 56 4e 6c 63 6e 5a 70 59 32 56 7a 0a 4c 6d BQUFDZXJ0aWZpY2F0ZVNlcnZpY2Vz.Lm
1a50a0 4e 79 62 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 43 46 NybDANBgkqhkiG9w0BAQUFAAOCAQEACF
1a50c0 62 38 41 76 43 62 36 50 2b 6b 2b 74 5a 37 78 6b 53 41 7a 6b 2f 45 78 66 59 41 57 4d 79 6d 74 72 b8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtr
1a50e0 77 55 53 57 67 45 64 75 6a 6d 0a 37 6c 33 73 41 67 39 67 31 6f 31 51 47 45 38 6d 54 67 48 6a 35 wUSWgEdujm.7l3sAg9g1o1QGE8mTgHj5
1a5100 72 43 6c 37 72 2b 38 64 46 52 42 76 2f 33 38 45 72 6a 48 54 31 72 30 69 57 41 46 66 32 43 33 42 rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3B
1a5120 55 72 7a 39 76 48 43 76 38 53 35 64 49 61 32 4c 58 31 72 7a 4e 4c 7a 0a 52 74 30 76 78 75 42 71 Urz9vHCv8S5dIa2LX1rzNLz.Rt0vxuBq
1a5140 77 38 4d 30 41 79 78 39 6c 74 31 61 77 67 36 6e 43 70 6e 42 42 59 75 72 44 43 2f 7a 58 44 72 50 w8M0Ayx9lt1awg6nCpnBBYurDC/zXDrP
1a5160 62 44 64 56 43 59 66 65 55 30 42 73 57 4f 2f 38 74 71 74 6c 62 67 54 32 47 39 77 38 34 46 6f 56 bDdVCYfeU0BsWO/8tqtlbgT2G9w84FoV
1a5180 78 70 37 5a 0a 38 56 6c 49 4d 43 46 6c 41 32 7a 73 36 53 46 7a 37 4a 73 44 6f 65 41 33 72 61 41 xp7Z.8VlIMCFlA2zs6SFz7JsDoeA3raA
1a51a0 56 47 49 2f 36 75 67 4c 4f 70 79 79 70 45 42 4d 73 31 4f 55 49 4a 71 73 69 6c 32 44 34 6b 46 35 VGI/6ugLOpyypEBMs1OUIJqsil2D4kF5
1a51c0 30 31 4b 4b 61 55 37 33 79 71 57 6a 67 6f 6d 37 43 0a 31 32 79 78 6f 77 2b 65 76 2b 74 6f 35 31 01KKaU73yqWjgom7C.12yxow+ev+to51
1a51e0 62 79 72 76 4c 6a 4b 7a 67 36 43 59 47 31 61 34 58 58 76 69 33 74 50 78 71 33 73 6d 50 69 39 57 byrvLjKzg6CYG1a4XXvi3tPxq3smPi9W
1a5200 49 73 67 74 52 71 41 45 46 51 38 54 6d 44 6e 35 58 70 4e 70 61 59 62 67 3d 3d 0a 2d 2d 2d 2d 2d IsgtRqAEFQ8TmDn5XpNpaYbg==.-----
1a5220 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 73 20 52 END.CERTIFICATE-----..QuoVadis.R
1a5240 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 oot.CA.================.-----BEG
1a5260 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 30 44 43 43 42 4c 69 67 IN.CERTIFICATE-----.MIIF0DCCBLig
1a5280 41 77 49 42 41 67 49 45 4f 72 5a 51 69 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 AwIBAgIEOrZQizANBgkqhkiG9w0BAQUF
1a52a0 41 44 42 2f 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 43 54 54 45 5a 4d 42 63 47 41 31 55 45 ADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
1a52c0 0a 43 68 4d 51 55 58 56 76 56 6d 46 6b 61 58 4d 67 54 47 6c 74 61 58 52 6c 5a 44 45 6c 4d 43 4d .ChMQUXVvVmFkaXMgTGltaXRlZDElMCM
1a52e0 47 41 31 55 45 43 78 4d 63 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 GA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9
1a5300 75 49 45 46 31 64 47 68 76 63 6d 6c 30 0a 65 54 45 75 4d 43 77 47 41 31 55 45 41 78 4d 6c 55 58 uIEF1dGhvcml0.eTEuMCwGA1UEAxMlUX
1a5320 56 76 56 6d 46 6b 61 58 4d 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 VvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW
1a5340 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 41 65 46 77 30 77 4d 54 41 7a 0a 4d 54 6b 78 4f 9uIEF1dGhvcml0eTAeFw0wMTAz.MTkxO
1a5360 44 4d 7a 4d 7a 4e 61 46 77 30 79 4d 54 41 7a 4d 54 63 78 4f 44 4d 7a 4d 7a 4e 61 4d 48 38 78 43 DMzMzNaFw0yMTAzMTcxODMzMzNaMH8xC
1a5380 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 4d 52 6b 77 46 77 59 44 56 51 51 4b 45 78 42 52 64 zAJBgNVBAYTAkJNMRkwFwYDVQQKExBRd
1a53a0 57 39 57 59 57 52 70 0a 63 79 42 4d 61 57 31 70 64 47 56 6b 4d 53 55 77 49 77 59 44 56 51 51 4c W9WYWRp.cyBMaW1pdGVkMSUwIwYDVQQL
1a53c0 45 78 78 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 ExxSb290IENlcnRpZmljYXRpb24gQXV0
1a53e0 61 47 39 79 61 58 52 35 4d 53 34 77 4c 41 59 44 56 51 51 44 0a 45 79 56 52 64 57 39 57 59 57 52 aG9yaXR5MS4wLAYDVQQD.EyVRdW9WYWR
1a5400 70 63 79 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 pcyBSb290IENlcnRpZmljYXRpb24gQXV
1a5420 30 61 47 39 79 61 58 52 35 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQE
1a5440 46 0a 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 76 32 47 31 6c 56 4f 36 56 2f F.AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/
1a5460 7a 36 38 6d 63 4c 4f 68 72 66 45 59 42 6b 6c 62 54 52 76 4d 31 36 7a 2f 59 70 6c 69 34 6b 56 45 z68mcLOhrfEYBklbTRvM16z/Ypli4kVE
1a5480 41 6b 4f 50 63 61 68 64 78 59 54 4d 75 6b 0a 4a 30 4b 58 30 4a 2b 44 69 73 50 6b 42 67 4e 62 41 AkOPcahdxYTMuk.J0KX0J+DisPkBgNbA
1a54a0 4b 56 52 48 6e 41 45 64 4f 4c 42 31 44 71 72 31 36 30 37 42 78 67 46 6a 76 32 44 72 4f 70 6d 32 KVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2
1a54c0 52 67 62 61 49 72 31 56 78 71 59 75 76 58 74 64 6a 31 38 32 64 36 55 61 6a 74 4c 0a 46 38 48 56 RgbaIr1VxqYuvXtdj182d6UajtL.F8HV
1a54e0 6a 37 31 6c 4f 44 71 56 30 44 31 56 4e 6b 37 66 65 56 63 78 4b 68 37 59 57 57 56 4a 57 43 43 59 j71lODqV0D1VNk7feVcxKh7YWWVJWCCY
1a5500 66 71 74 66 66 70 2f 70 31 6b 33 73 67 33 53 70 78 32 7a 59 37 69 6c 4b 68 53 6f 47 46 50 6c 55 fqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU
1a5520 35 74 50 61 5a 51 65 4c 0a 59 7a 63 53 31 39 44 73 77 33 73 67 51 55 53 6a 37 63 75 67 46 2b 46 5tPaZQeL.YzcS19Dsw3sgQUSj7cugF+F
1a5540 78 5a 63 34 64 5a 6a 48 33 64 67 45 5a 79 48 30 44 57 4c 61 56 53 52 32 6d 45 69 62 6f 78 67 78 xZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx
1a5560 32 34 4f 4e 6d 79 2b 70 64 70 69 62 75 35 63 78 66 76 57 65 6e 0a 41 53 63 4f 6f 73 70 55 78 62 24ONmy+pdpibu5cxfvWen.AScOospUxb
1a5580 46 36 6c 52 31 78 48 6b 6f 70 69 67 50 63 61 6b 58 42 70 42 6c 65 62 7a 62 4e 77 36 4b 77 74 2f F6lR1xHkopigPcakXBpBlebzbNw6Kwt/
1a55a0 35 63 4f 4f 4a 53 76 50 68 45 51 2b 61 51 75 77 49 44 41 51 41 42 6f 34 49 43 55 6a 43 43 41 6b 5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk
1a55c0 34 77 0a 50 51 59 49 4b 77 59 42 42 51 55 48 41 51 45 45 4d 54 41 76 4d 43 30 47 43 43 73 47 41 4w.PQYIKwYBBQUHAQEEMTAvMC0GCCsGA
1a55e0 51 55 46 42 7a 41 42 68 69 46 6f 64 48 52 77 63 7a 6f 76 4c 32 39 6a 63 33 41 75 63 58 56 76 64 QUFBzABhiFodHRwczovL29jc3AucXVvd
1a5600 6d 46 6b 61 58 4e 76 5a 6d 5a 7a 61 47 39 79 0a 5a 53 35 6a 62 32 30 77 44 77 59 44 56 52 30 54 mFkaXNvZmZzaG9y.ZS5jb20wDwYDVR0T
1a5620 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 43 43 41 52 6f 47 41 31 55 64 49 41 53 43 41 52 45 77 AQH/BAUwAwEB/zCCARoGA1UdIASCAREw
1a5640 67 67 45 4e 4d 49 49 42 43 51 59 4a 4b 77 59 42 42 41 47 2b 57 41 41 42 4d 49 48 37 0a 4d 49 48 ggENMIIBCQYJKwYBBAG+WAABMIH7.MIH
1a5660 55 42 67 67 72 42 67 45 46 42 51 63 43 41 6a 43 42 78 78 71 42 78 46 4a 6c 62 47 6c 68 62 6d 4e UBggrBgEFBQcCAjCBxxqBxFJlbGlhbmN
1a5680 6c 49 47 39 75 49 48 52 6f 5a 53 42 52 64 57 39 57 59 57 52 70 63 79 42 53 62 32 39 30 49 45 4e lIG9uIHRoZSBRdW9WYWRpcyBSb290IEN
1a56a0 6c 63 6e 52 70 5a 6d 6c 6a 0a 59 58 52 6c 49 47 4a 35 49 47 46 75 65 53 42 77 59 58 4a 30 65 53 lcnRpZmlj.YXRlIGJ5IGFueSBwYXJ0eS
1a56c0 42 68 63 33 4e 31 62 57 56 7a 49 47 46 6a 59 32 56 77 64 47 46 75 59 32 55 67 62 32 59 67 64 47 Bhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdG
1a56e0 68 6c 49 48 52 6f 5a 57 34 67 59 58 42 77 62 47 6c 6a 59 57 4a 73 0a 5a 53 42 7a 64 47 46 75 5a hlIHRoZW4gYXBwbGljYWJs.ZSBzdGFuZ
1a5700 47 46 79 5a 43 42 30 5a 58 4a 74 63 79 42 68 62 6d 51 67 59 32 39 75 5a 47 6c 30 61 57 39 75 63 GFyZCB0ZXJtcyBhbmQgY29uZGl0aW9uc
1a5720 79 42 76 5a 69 42 31 63 32 55 73 49 47 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 63 yBvZiB1c2UsIGNlcnRpZmljYXRpb24gc
1a5740 48 4a 68 0a 59 33 52 70 59 32 56 7a 4c 43 42 68 62 6d 51 67 64 47 68 6c 49 46 46 31 62 31 5a 68 HJh.Y3RpY2VzLCBhbmQgdGhlIFF1b1Zh
1a5760 5a 47 6c 7a 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 46 42 76 62 47 6c 6a 65 53 34 77 ZGlzIENlcnRpZmljYXRlIFBvbGljeS4w
1a5780 49 67 59 49 4b 77 59 42 42 51 55 48 41 67 45 57 0a 46 6d 68 30 64 48 41 36 4c 79 39 33 64 33 63 IgYIKwYBBQUHAgEW.Fmh0dHA6Ly93d3c
1a57a0 75 63 58 56 76 64 6d 46 6b 61 58 4d 75 59 6d 30 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 49 74 ucXVvdmFkaXMuYm0wHQYDVR0OBBYEFIt
1a57c0 4c 62 65 33 54 4b 62 6b 47 47 65 77 35 4f 61 6e 77 6c 34 52 71 79 2b 2f 66 4d 49 47 75 0a 42 67 Lbe3TKbkGGew5Oanwl4Rqy+/fMIGu.Bg
1a57e0 4e 56 48 53 4d 45 67 61 59 77 67 61 4f 41 46 49 74 4c 62 65 33 54 4b 62 6b 47 47 65 77 35 4f 61 NVHSMEgaYwgaOAFItLbe3TKbkGGew5Oa
1a5800 6e 77 6c 34 52 71 79 2b 2f 66 6f 59 47 45 70 49 47 42 4d 48 38 78 43 7a 41 4a 42 67 4e 56 42 41 nwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBA
1a5820 59 54 41 6b 4a 4e 4d 52 6b 77 0a 46 77 59 44 56 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 63 YTAkJNMRkw.FwYDVQQKExBRdW9WYWRpc
1a5840 79 42 4d 61 57 31 70 64 47 56 6b 4d 53 55 77 49 77 59 44 56 51 51 4c 45 78 78 53 62 32 39 30 49 yBMaW1pdGVkMSUwIwYDVQQLExxSb290I
1a5860 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 0a 61 47 39 79 61 58 52 35 ENlcnRpZmljYXRpb24gQXV0.aG9yaXR5
1a5880 4d 53 34 77 4c 41 59 44 56 51 51 44 45 79 56 52 64 57 39 57 59 57 52 70 63 79 42 53 62 32 39 30 MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290
1a58a0 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 IENlcnRpZmljYXRpb24gQXV0aG9yaXR5
1a58c0 67 67 51 36 0a 74 6c 43 4c 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 ggQ6.tlCLMA4GA1UdDwEB/wQEAwIBBjA
1a58e0 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 69 74 51 55 74 66 37 NBgkqhkiG9w0BAQUFAAOCAQEAitQUtf7
1a5900 30 6d 70 4b 6e 47 64 53 6b 66 6e 49 59 6a 39 6c 6f 0a 66 46 49 6b 33 57 64 76 4f 58 72 45 71 6c 0mpKnGdSkfnIYj9lo.fFIk3WdvOXrEql
1a5920 34 39 34 6c 69 77 54 58 43 59 68 47 48 6f 47 2b 4e 70 47 41 37 4f 2b 30 64 51 6f 45 37 2f 38 43 494liwTXCYhGHoG+NpGA7O+0dQoE7/8C
1a5940 51 66 76 62 4c 4f 39 53 66 38 37 43 39 54 71 6e 4e 37 41 7a 31 30 62 75 59 57 6e 75 75 6c 0a 4c QfvbLO9Sf87C9TqnN7Az10buYWnuul.L
1a5960 73 53 2f 56 69 64 51 4b 32 4b 36 76 6b 73 63 50 46 56 63 51 52 30 6b 76 6f 49 67 52 31 33 56 52 sS/VidQK2K6vkscPFVcQR0kvoIgR13VR
1a5980 48 35 36 46 6d 6a 66 66 55 31 52 63 48 68 58 48 54 4d 65 2f 51 4b 5a 6e 41 7a 4e 43 67 56 50 78 H56FmjffU1RcHhXHTMe/QKZnAzNCgVPx
1a59a0 37 75 4f 70 48 58 36 53 6d 32 78 0a 67 49 34 4a 56 72 6d 63 47 6d 44 2b 58 63 48 58 65 74 77 52 7uOpHX6Sm2x.gI4JVrmcGmD+XcHXetwR
1a59c0 65 4e 44 57 58 63 47 33 31 61 30 79 6d 51 4d 36 69 73 78 55 4a 54 6b 78 67 58 73 54 49 6c 47 36 eNDWXcG31a0ymQM6isxUJTkxgXsTIlG6
1a59e0 52 6d 79 68 75 35 37 36 42 47 78 4a 4a 6e 53 50 30 6e 50 72 7a 44 43 69 0a 35 75 70 5a 49 6f 66 Rmyhu576BGxJJnSP0nPrzDCi.5upZIof
1a5a00 34 6c 2f 55 4f 2f 65 72 4d 6b 71 51 57 78 46 49 59 36 69 48 4f 73 66 48 6d 68 49 48 6c 75 71 6d 4l/UO/erMkqQWxFIY6iHOsfHmhIHluqm
1a5a20 47 4b 50 4a 44 57 6c 30 53 6e 61 77 65 32 61 6a 6c 43 6d 71 6e 66 36 43 48 4b 63 2f 79 69 55 33 GKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3
1a5a40 55 37 4d 58 69 0a 35 6e 72 51 4e 69 4f 4b 53 6e 51 32 2b 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 U7MXi.5nrQNiOKSnQ2+Q==.-----END.
1a5a60 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 73 20 52 6f 6f 74 20 CERTIFICATE-----..QuoVadis.Root.
1a5a80 43 41 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 CA.2.==================.-----BEG
1a5aa0 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 74 7a 43 43 41 35 2b 67 IN.CERTIFICATE-----.MIIFtzCCA5+g
1a5ac0 41 77 49 42 41 67 49 43 42 51 6b 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 AwIBAgICBQkwDQYJKoZIhvcNAQEFBQAw
1a5ae0 52 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 4e 56 42 41 6f 54 RTELMAkGA1UEBhMCQk0xGTAXBgNVBAoT
1a5b00 0a 45 46 46 31 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 47 7a 41 5a 42 67 4e .EFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgN
1a5b20 56 42 41 4d 54 45 6c 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 62 33 51 67 51 30 45 67 4d 6a 41 VBAMTElF1b1ZhZGlzIFJvb3QgQ0EgMjA
1a5b40 65 46 77 30 77 4e 6a 45 78 4d 6a 51 78 0a 4f 44 49 33 4d 44 42 61 46 77 30 7a 4d 54 45 78 4d 6a eFw0wNjExMjQx.ODI3MDBaFw0zMTExMj
1a5b60 51 78 4f 44 49 7a 4d 7a 4e 61 4d 45 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 4d 52 QxODIzMzNaMEUxCzAJBgNVBAYTAkJNMR
1a5b80 6b 77 46 77 59 44 56 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 63 79 42 4d 0a 61 57 31 70 64 kwFwYDVQQKExBRdW9WYWRpcyBM.aW1pd
1a5ba0 47 56 6b 4d 52 73 77 47 51 59 44 56 51 51 44 45 78 4a 52 64 57 39 57 59 57 52 70 63 79 42 53 62 GVkMRswGQYDVQQDExJRdW9WYWRpcyBSb
1a5bc0 32 39 30 49 45 4e 42 49 44 49 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 290IENBIDIwggIiMA0GCSqGSIb3DQEBA
1a5be0 51 55 41 41 34 49 43 0a 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 61 47 4d 70 4c 6c 41 30 41 QUAA4IC.DwAwggIKAoICAQCaGMpLlA0A
1a5c00 4c 61 38 44 4b 59 72 77 44 34 48 49 72 6b 77 5a 68 52 30 49 6e 36 73 70 52 49 58 7a 4c 34 47 74 La8DKYrwD4HIrkwZhR0In6spRIXzL4Gt
1a5c20 4d 68 36 51 52 72 2b 6a 68 69 59 61 48 76 35 2b 48 42 67 36 0a 58 4a 78 67 46 79 6f 36 64 49 4d Mh6QRr+jhiYaHv5+HBg6.XJxgFyo6dIM
1a5c40 7a 4d 48 31 68 56 42 48 4c 37 61 76 67 35 74 4b 69 66 76 56 72 62 78 69 33 43 67 73 74 2f 65 6b zMH1hVBHL7avg5tKifvVrbxi3Cgst/ek
1a5c60 2b 37 77 72 47 73 78 44 70 33 4d 4a 47 46 2f 68 64 2f 61 54 61 2f 35 35 4a 57 70 7a 6d 4d 2b 59 +7wrGsxDp3MJGF/hd/aTa/55JWpzmM+Y
1a5c80 6b 0a 6c 76 63 2f 75 6c 73 72 48 48 6f 31 77 74 5a 6e 2f 71 74 6d 55 49 74 74 4b 47 41 72 37 39 k.lvc/ulsrHHo1wtZn/qtmUIttKGAr79
1a5ca0 64 67 77 38 65 54 76 49 30 32 6b 66 4e 2f 2b 4e 73 52 45 38 53 63 64 33 62 42 72 72 63 43 61 6f dgw8eTvI02kfN/+NsRE8Scd3bBrrcCao
1a5cc0 46 36 71 55 57 44 34 67 58 6d 75 56 62 42 0a 6c 44 65 50 53 48 46 6a 49 75 77 58 5a 51 65 56 69 F6qUWD4gXmuVbB.lDePSHFjIuwXZQeVi
1a5ce0 6b 76 66 6a 38 5a 61 43 75 57 77 34 31 39 65 61 78 47 72 44 50 6d 46 36 30 54 70 2b 41 52 7a 38 kvfj8ZaCuWw419eaxGrDPmF60Tp+ARz8
1a5d00 75 6e 2b 58 4a 69 4d 39 58 4f 76 61 37 52 2b 7a 64 52 63 41 69 74 4d 4f 65 47 79 0a 6c 5a 55 74 un+XJiM9XOva7R+zdRcAitMOeGy.lZUt
1a5d20 51 6f 66 58 31 62 4f 51 51 37 64 73 45 2f 48 65 33 66 62 45 2b 49 6b 2f 30 58 58 31 6b 73 4f 52 QofX1bOQQ7dsE/He3fbE+Ik/0XX1ksOR
1a5d40 31 59 71 49 30 4a 44 73 33 47 33 65 69 63 4a 6c 63 5a 61 4c 44 51 50 39 6e 4c 39 62 46 71 79 53 1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS
1a5d60 32 2b 72 2b 65 58 79 74 0a 36 36 2f 33 46 73 76 62 7a 53 55 72 35 52 2f 37 6d 70 2f 69 55 63 77 2+r+eXyt.66/3FsvbzSUr5R/7mp/iUcw
1a5d80 36 55 77 78 49 35 67 36 39 79 62 52 32 42 6c 4c 6d 45 52 4f 46 63 6d 4d 44 42 4f 41 45 4e 69 73 6UwxI5g69ybR2BlLmEROFcmMDBOAENis
1a5da0 67 47 51 4c 6f 64 4b 63 66 74 73 6c 57 5a 76 42 31 4a 64 78 6e 0a 77 51 35 68 59 49 69 7a 50 74 gGQLodKcftslWZvB1Jdxn.wQ5hYIizPt
1a5dc0 47 6f 2f 4b 50 61 48 62 44 52 73 53 4e 55 33 30 52 32 62 65 31 42 32 4d 47 79 49 72 5a 54 48 4e Go/KPaHbDRsSNU30R2be1B2MGyIrZTHN
1a5de0 38 31 48 64 79 68 64 79 6f 78 35 43 33 31 35 65 58 62 79 4f 44 2f 35 59 44 58 43 32 4f 67 2f 7a 81Hdyhdyox5C315eXbyOD/5YDXC2Og/z
1a5e00 4f 68 0a 44 37 6f 73 46 52 58 71 6c 37 50 53 6f 72 57 2b 38 6f 79 57 48 68 71 50 48 57 79 6b 59 Oh.D7osFRXql7PSorW+8oyWHhqPHWykY
1a5e20 54 65 35 68 6e 4d 7a 31 35 65 57 6e 69 4e 39 67 71 52 4d 67 65 4b 68 30 62 70 6e 58 35 55 48 6f Te5hnMz15eWniN9gqRMgeKh0bpnX5UHo
1a5e40 79 63 52 37 68 59 51 65 37 78 46 53 6b 79 79 0a 42 4e 4b 72 37 39 58 39 44 46 48 4f 55 47 6f 49 ycR7hYQe7xFSkyy.BNKr79X9DFHOUGoI
1a5e60 4d 66 6d 52 32 67 79 50 5a 46 77 44 77 7a 71 4c 49 44 39 75 6a 57 63 39 4f 74 62 2b 66 56 75 49 MfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI
1a5e80 79 56 37 37 7a 47 48 63 69 7a 4e 33 30 30 51 79 4e 51 6c 69 42 4a 49 57 45 4e 69 65 0a 4a 30 66 yV77zGHcizN300QyNQliBJIWENie.J0f
1a5ea0 37 4f 79 48 6a 2b 4f 73 64 57 77 49 44 41 51 41 42 6f 34 47 77 4d 49 47 74 4d 41 38 47 41 31 55 7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1U
1a5ec0 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 43 77 59 44 56 52 30 50 42 41 51 44 41 67 45 dEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgE
1a5ee0 47 4d 42 30 47 41 31 55 64 0a 44 67 51 57 42 42 51 61 68 47 4b 38 53 45 77 7a 4a 51 54 55 37 74 GMB0GA1Ud.DgQWBBQahGK8SEwzJQTU7t
1a5f00 44 32 41 38 51 5a 52 74 47 55 61 7a 42 75 42 67 4e 56 48 53 4d 45 5a 7a 42 6c 67 42 51 61 68 47 D2A8QZRtGUazBuBgNVHSMEZzBlgBQahG
1a5f20 4b 38 53 45 77 7a 4a 51 54 55 37 74 44 32 41 38 51 5a 52 74 47 55 0a 61 36 46 4a 70 45 63 77 52 K8SEwzJQTU7tD2A8QZRtGU.a6FJpEcwR
1a5f40 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 4e 56 42 41 6f 54 45 TELMAkGA1UEBhMCQk0xGTAXBgNVBAoTE
1a5f60 46 46 31 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 47 7a 41 5a 42 67 4e 56 42 FF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVB
1a5f80 41 4d 54 0a 45 6c 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 62 33 51 67 51 30 45 67 4d 6f 49 43 AMT.ElF1b1ZhZGlzIFJvb3QgQ0EgMoIC
1a5fa0 42 51 6b 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 42 41 44 34 4b BQkwDQYJKoZIhvcNAQEFBQADggIBAD4K
1a5fc0 46 6b 32 66 42 6c 75 6f 72 6e 46 64 4c 77 55 76 0a 5a 2b 59 54 52 59 50 45 4e 76 62 7a 77 43 59 Fk2fBluornFdLwUv.Z+YTRYPENvbzwCY
1a5fe0 4d 44 62 56 48 5a 46 33 34 74 48 4c 4a 52 71 55 44 47 43 64 56 69 58 68 39 64 75 71 57 4e 49 41 MDbVHZF34tHLJRqUDGCdViXh9duqWNIA
1a6000 58 49 4e 7a 6e 67 2f 69 4e 2f 41 65 34 32 6c 39 4e 4c 6d 65 79 68 50 33 5a 52 50 78 33 0a 55 49 XINzng/iN/Ae42l9NLmeyhP3ZRPx3.UI
1a6020 48 6d 66 4c 54 4a 44 51 74 79 55 2f 68 32 42 77 64 42 52 35 59 4d 2b 2b 43 43 4a 70 4e 56 6a 50 HmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP
1a6040 34 69 48 32 42 6c 66 46 2f 6e 4a 72 50 33 4d 70 43 59 55 4e 51 33 63 56 58 32 6b 69 46 34 39 35 4iH2BlfF/nJrP3MpCYUNQ3cVX2kiF495
1a6060 56 35 2b 76 67 74 4a 6f 64 6d 0a 56 6a 42 33 70 6a 64 34 4d 31 49 51 57 4b 34 2f 59 59 37 79 61 V5+vgtJodm.VjB3pjd4M1IQWK4/YY7ya
1a6080 72 48 76 47 48 35 4b 57 57 50 4b 6a 61 4a 57 31 61 63 76 76 46 59 66 7a 7a 6e 42 34 76 73 4b 71 rHvGH5KWWPKjaJW1acvvFYfzznB4vsKq
1a60a0 42 55 73 66 55 31 36 59 38 5a 73 6c 30 51 38 30 6d 2f 44 53 68 63 4b 0a 2b 4a 44 53 56 36 49 5a BUsfU16Y8Zsl0Q80m/DShcK.+JDSV6IZ
1a60c0 55 61 55 74 6c 30 48 61 42 30 2b 70 55 4e 71 51 6a 5a 52 47 34 54 37 77 6c 50 30 51 41 44 6a 31 UaUtl0HaB0+pUNqQjZRG4T7wlP0QADj1
1a60e0 4f 2b 68 41 34 62 52 75 56 68 6f 67 7a 47 39 59 6a 65 30 75 52 59 2f 57 36 5a 4d 2f 35 37 45 73 O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es
1a6100 33 7a 72 57 0a 49 6f 7a 63 68 4c 73 69 62 39 44 34 35 4d 59 35 36 51 53 49 50 4d 4f 36 36 31 56 3zrW.IozchLsib9D45MY56QSIPMO661V
1a6120 36 62 59 43 5a 4a 50 56 73 41 66 76 34 6c 37 43 55 57 2b 76 39 30 6d 2f 78 64 32 67 4e 4e 57 51 6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQ
1a6140 6a 72 4c 68 56 6f 51 50 52 54 55 49 5a 33 50 68 31 0a 57 56 61 6a 2b 61 68 4a 65 66 69 76 44 72 jrLhVoQPRTUIZ3Ph1.WVaj+ahJefivDr
1a6160 6b 52 6f 48 79 33 61 75 30 30 30 4c 59 6d 59 6a 67 61 68 77 7a 34 36 50 30 75 30 35 42 2f 42 35 kRoHy3au000LYmYjgahwz46P0u05B/B5
1a6180 45 71 48 64 5a 2b 58 49 57 44 6d 62 41 34 43 44 2f 70 58 76 6b 31 42 2b 54 4a 59 6d 35 58 0a 66 EqHdZ+XIWDmbA4CD/pXvk1B+TJYm5X.f
1a61a0 36 64 51 6c 66 65 36 79 4a 76 6d 6a 71 49 42 78 64 5a 6d 76 33 6c 68 38 7a 77 63 34 62 6d 43 58 6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCX
1a61c0 46 32 67 77 2b 6e 59 53 4c 30 5a 6f 68 45 55 47 57 36 79 68 68 74 6f 50 6b 67 33 47 6f 69 33 58 F2gw+nYSL0ZohEUGW6yhhtoPkg3Goi3X
1a61e0 5a 5a 65 6e 4d 66 76 4a 32 49 49 0a 34 70 45 5a 58 4e 4c 78 49 64 32 36 46 30 4b 43 6c 33 47 42 ZZenMfvJ2II.4pEZXNLxId26F0KCl3GB
1a6200 55 7a 47 70 6e 2f 5a 39 59 72 39 79 34 61 4f 54 48 63 79 4b 4a 6c 6f 4a 4f 4e 44 4f 31 77 32 41 UzGpn/Z9Yr9y4aOTHcyKJloJONDO1w2A
1a6220 46 72 52 34 70 54 71 48 54 49 32 4b 70 64 56 47 6c 2f 49 73 45 4c 6d 38 0a 56 43 4c 41 41 56 42 FrR4pTqHTI2KpdVGl/IsELm8.VCLAAVB
1a6240 70 51 35 37 30 73 75 39 74 2b 4f 7a 61 38 65 4f 78 37 39 2b 52 6a 31 51 71 43 79 58 42 4a 68 6e pQ570su9t+Oza8eOx79+Rj1QqCyXBJhn
1a6260 45 55 68 41 46 5a 64 57 43 45 4f 72 43 4d 63 30 75 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 EUhAFZdWCEOrCMc0u.-----END.CERTI
1a6280 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 73 20 52 6f 6f 74 20 43 41 20 33 0a FICATE-----..QuoVadis.Root.CA.3.
1a62a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1a62c0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 47 6e 54 43 43 42 49 57 67 41 77 49 42 41 RTIFICATE-----.MIIGnTCCBIWgAwIBA
1a62e0 67 49 43 42 63 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 52 54 45 4c 4d gICBcYwDQYJKoZIhvcNAQEFBQAwRTELM
1a6300 41 6b 47 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 4e 56 42 41 6f 54 0a 45 46 46 31 AkGA1UEBhMCQk0xGTAXBgNVBAoT.EFF1
1a6320 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 47 7a 41 5a 42 67 4e 56 42 41 4d 54 b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT
1a6340 45 6c 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 62 33 51 67 51 30 45 67 4d 7a 41 65 46 77 30 77 ElF1b1ZhZGlzIFJvb3QgQ0EgMzAeFw0w
1a6360 4e 6a 45 78 4d 6a 51 78 0a 4f 54 45 78 4d 6a 4e 61 46 77 30 7a 4d 54 45 78 4d 6a 51 78 4f 54 41 NjExMjQx.OTExMjNaFw0zMTExMjQxOTA
1a6380 32 4e 44 52 61 4d 45 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 4d 52 6b 77 46 77 59 2NDRaMEUxCzAJBgNVBAYTAkJNMRkwFwY
1a63a0 44 56 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 63 79 42 4d 0a 61 57 31 70 64 47 56 6b 4d 52 DVQQKExBRdW9WYWRpcyBM.aW1pdGVkMR
1a63c0 73 77 47 51 59 44 56 51 51 44 45 78 4a 52 64 57 39 57 59 57 52 70 63 79 42 53 62 32 39 30 49 45 swGQYDVQQDExJRdW9WYWRpcyBSb290IE
1a63e0 4e 42 49 44 4d 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 NBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4
1a6400 49 43 0a 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 44 4d 56 30 49 57 56 4a 7a 6d 6d 4e 50 54 54 IC.DwAwggIKAoICAQDMV0IWVJzmmNPTT
1a6420 65 37 2b 37 63 65 66 51 7a 6c 4b 5a 62 50 6f 46 6f 67 30 32 77 31 5a 6b 58 54 50 6b 72 67 45 51 e7+7cefQzlKZbPoFog02w1ZkXTPkrgEQ
1a6440 4b 30 43 53 7a 47 72 76 49 32 52 61 4e 67 67 0a 44 68 6f 42 34 68 70 37 54 68 64 64 34 6f 71 33 K0CSzGrvI2RaNgg.DhoB4hp7Thdd4oq3
1a6460 50 35 6b 61 7a 65 74 68 71 38 4a 6c 70 68 2b 33 74 37 32 33 6a 2f 7a 39 63 49 38 4c 6f 47 65 2b P5kazethq8Jlph+3t723j/z9cI8LoGe+
1a6480 41 61 4a 5a 7a 33 48 6d 44 79 6c 32 2f 37 46 57 65 55 55 72 48 35 35 36 56 4f 69 6a 0a 4b 54 56 AaJZz3HmDyl2/7FWeUUrH556VOij.KTV
1a64a0 6f 70 41 46 50 44 36 51 75 4e 2b 38 62 76 2b 4f 50 45 4b 68 79 71 31 68 58 35 31 53 47 79 4d 6e opAFPD6QuN+8bv+OPEKhyq1hX51SGyMn
1a64c0 7a 57 39 6f 73 32 6c 32 4f 62 6a 79 6a 50 74 72 37 67 75 58 64 38 6c 79 79 42 54 4e 76 69 6a 62 zW9os2l2ObjyjPtr7guXd8lyyBTNvijb
1a64e0 4f 30 42 4e 4f 2f 37 39 4b 0a 44 44 52 4d 70 73 4d 68 76 56 41 45 56 65 75 78 75 35 33 37 52 52 O0BNO/79K.DDRMpsMhvVAEVeuxu537RR
1a6500 35 6b 46 64 35 56 41 59 77 43 64 72 58 4c 6f 54 39 43 61 62 77 76 76 57 68 44 46 6c 61 4a 4b 6a 5kFd5VAYwCdrXLoT9CabwvvWhDFlaJKj
1a6520 64 68 6b 66 32 6d 72 6b 37 41 79 78 52 6c 6c 44 64 4c 6b 67 62 76 0a 42 4e 44 49 6e 49 6a 62 43 dhkf2mrk7AyxRllDdLkgbv.BNDInIjbC
1a6540 33 75 42 72 37 45 39 4b 73 52 6c 4f 6e 69 32 37 74 79 41 73 64 4c 54 6d 5a 77 36 37 6d 74 61 61 3uBr7E9KsRlOni27tyAsdLTmZw67mtaa
1a6560 37 4f 4e 74 39 58 4f 6e 4d 4b 2b 70 55 73 76 46 72 47 65 61 44 73 47 62 36 35 39 6e 2f 6a 65 37 7ONt9XOnMK+pUsvFrGeaDsGb659n/je7
1a6580 4d 77 70 0a 70 35 69 6a 4a 55 4d 76 37 2f 46 66 4a 75 47 49 54 66 68 65 62 74 66 5a 46 47 34 5a Mwp.p5ijJUMv7/FfJuGITfhebtfZFG4Z
1a65a0 4d 32 6d 6e 4f 34 53 4a 6b 38 52 54 56 52 4f 68 55 58 68 41 2b 4c 6a 4a 6f 75 35 37 75 6c 4a 43 M2mnO4SJk8RTVROhUXhA+LjJou57ulJC
1a65c0 67 35 34 55 37 51 56 53 57 6c 6c 57 70 35 66 38 0a 6e 54 38 4b 4b 64 6a 63 54 35 45 4f 45 37 7a g54U7QVSWllWp5f8.nT8KKdjcT5EOE7z
1a65e0 65 6c 61 54 66 69 35 6d 2b 72 4a 73 7a 69 4f 2b 31 67 61 38 62 78 69 4a 54 79 50 62 48 37 70 63 elaTfi5m+rJsziO+1ga8bxiJTyPbH7pc
1a6600 55 73 4d 56 38 65 46 4c 49 38 4d 35 75 64 32 43 45 70 75 6b 71 64 69 44 74 57 41 45 58 0a 4d 4a UsMV8eFLI8M5ud2CEpukqdiDtWAEX.MJ
1a6620 50 70 47 6f 76 67 63 32 50 5a 61 70 4b 55 53 55 36 30 72 55 71 46 78 4b 4d 69 4d 50 77 4a 37 57 PpGovgc2PZapKUSU60rUqFxKMiMPwJ7W
1a6640 67 69 63 36 61 49 44 46 55 68 57 4d 58 68 4f 70 38 71 33 63 72 68 6b 4f 44 5a 63 36 74 73 67 4c gic6aIDFUhWMXhOp8q3crhkODZc6tsgL
1a6660 6a 6f 43 32 53 54 6f 4a 79 4d 0a 47 66 2b 7a 30 67 7a 73 6b 53 61 48 69 72 4f 69 34 58 43 50 4c joC2SToJyM.Gf+z0gzskSaHirOi4XCPL
1a6680 41 72 6c 7a 57 31 6f 55 65 76 61 50 77 56 2f 69 7a 4c 6d 45 31 78 72 2f 6c 39 41 34 69 4c 49 74 ArlzW1oUevaPwV/izLmE1xr/l9A4iLIt
1a66a0 4c 52 6b 54 39 61 36 66 55 67 2b 71 47 6b 4d 31 37 75 47 63 63 6c 7a 0a 75 44 38 37 6e 53 56 4c LRkT9a6fUg+qGkM17uGcclz.uD87nSVL
1a66c0 32 76 39 41 36 77 49 44 41 51 41 42 6f 34 49 42 6c 54 43 43 41 5a 45 77 44 77 59 44 56 52 30 54 2v9A6wIDAQABo4IBlTCCAZEwDwYDVR0T
1a66e0 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 43 42 34 51 59 44 56 52 30 67 42 49 48 5a 4d 49 48 57 AQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHW
1a6700 4d 49 48 54 0a 42 67 6b 72 42 67 45 45 41 62 35 59 41 41 4d 77 67 63 55 77 67 5a 4d 47 43 43 73 MIHT.BgkrBgEEAb5YAAMwgcUwgZMGCCs
1a6720 47 41 51 55 46 42 77 49 43 4d 49 47 47 47 6f 47 44 51 57 35 35 49 48 56 7a 5a 53 42 76 5a 69 42 GAQUFBwICMIGGGoGDQW55IHVzZSBvZiB
1a6740 30 61 47 6c 7a 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 0a 59 58 52 6c 49 47 4e 76 62 6e 4e 30 61 58 0aGlzIENlcnRpZmlj.YXRlIGNvbnN0aX
1a6760 52 31 64 47 56 7a 49 47 46 6a 59 32 56 77 64 47 46 75 59 32 55 67 62 32 59 67 64 47 68 6c 49 46 R1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIF
1a6780 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 62 33 51 67 51 30 45 67 4d 79 42 44 5a 58 4a 30 0a 61 F1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0.a
1a67a0 57 5a 70 59 32 46 30 5a 53 42 51 62 32 78 70 59 33 6b 67 4c 79 42 44 5a 58 4a 30 61 57 5a 70 59 WZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY
1a67c0 32 46 30 61 57 39 75 49 46 42 79 59 57 4e 30 61 57 4e 6c 49 46 4e 30 59 58 52 6c 62 57 56 75 64 2F0aW9uIFByYWN0aWNlIFN0YXRlbWVud
1a67e0 43 34 77 4c 51 59 49 4b 77 59 42 0a 42 51 55 48 41 67 45 57 49 57 68 30 64 48 41 36 4c 79 39 33 C4wLQYIKwYB.BQUHAgEWIWh0dHA6Ly93
1a6800 64 33 63 75 63 58 56 76 64 6d 46 6b 61 58 4e 6e 62 47 39 69 59 57 77 75 59 32 39 74 4c 32 4e 77 d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw
1a6820 63 7a 41 4c 42 67 4e 56 48 51 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 0a 56 52 30 4f 42 42 59 czALBgNVHQ8EBAMCAQYwHQYD.VR0OBBY
1a6840 45 46 50 4c 41 45 2b 43 43 51 7a 37 37 37 69 39 6e 4d 70 59 31 58 4e 75 34 79 77 4c 51 4d 47 34 EFPLAE+CCQz777i9nMpY1XNu4ywLQMG4
1a6860 47 41 31 55 64 49 77 52 6e 4d 47 57 41 46 50 4c 41 45 2b 43 43 51 7a 37 37 37 69 39 6e 4d 70 59 GA1UdIwRnMGWAFPLAE+CCQz777i9nMpY
1a6880 31 58 4e 75 34 0a 79 77 4c 51 6f 55 6d 6b 52 7a 42 46 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 1XNu4.ywLQoUmkRzBFMQswCQYDVQQGEw
1a68a0 4a 43 54 54 45 5a 4d 42 63 47 41 31 55 45 43 68 4d 51 55 58 56 76 56 6d 46 6b 61 58 4d 67 54 47 JCTTEZMBcGA1UEChMQUXVvVmFkaXMgTG
1a68c0 6c 74 61 58 52 6c 5a 44 45 62 4d 42 6b 47 41 31 55 45 0a 41 78 4d 53 55 58 56 76 56 6d 46 6b 61 ltaXRlZDEbMBkGA1UE.AxMSUXVvVmFka
1a68e0 58 4d 67 55 6d 39 76 64 43 42 44 51 53 41 7a 67 67 49 46 78 6a 41 4e 42 67 6b 71 68 6b 69 47 39 XMgUm9vdCBDQSAzggIFxjANBgkqhkiG9
1a6900 77 30 42 41 51 55 46 41 41 4f 43 41 67 45 41 54 36 32 67 4c 45 7a 36 77 50 4a 76 39 32 5a 56 0a w0BAQUFAAOCAgEAT62gLEz6wPJv92ZV.
1a6920 71 79 4d 30 37 75 63 70 32 73 4e 62 74 72 43 44 32 64 44 51 34 69 48 37 38 32 43 6e 4f 31 31 67 qyM07ucp2sNbtrCD2dDQ4iH782CnO11g
1a6940 55 79 65 69 6d 2f 59 49 49 69 72 6e 76 36 42 79 35 5a 77 6b 61 6a 47 78 6b 48 6f 6e 32 34 51 52 Uyeim/YIIirnv6By5ZwkajGxkHon24QR
1a6960 69 53 65 6d 64 31 6f 34 31 37 2b 73 0a 68 76 7a 75 58 59 4f 38 42 73 62 52 64 32 73 50 62 53 51 iSemd1o417+s.hvzuXYO8BsbRd2sPbSQ
1a6980 76 53 33 70 73 70 77 65 57 79 75 4f 45 6e 36 32 49 69 78 32 72 46 6f 31 62 5a 68 66 5a 46 76 53 vS3pspweWyuOEn62Iix2rFo1bZhfZFvS
1a69a0 4c 67 4e 4c 64 2b 4c 4a 32 77 2f 77 34 45 36 6f 4d 33 6b 4a 70 4b 32 37 7a 0a 50 4f 75 41 4a 39 LgNLd+LJ2w/w4E6oM3kJpK27z.POuAJ9
1a69c0 76 31 70 6b 51 4e 6e 31 70 56 57 51 76 56 44 56 4a 49 78 61 36 66 38 69 2b 41 78 65 6f 79 55 44 v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUD
1a69e0 55 53 6c 79 37 42 34 66 2f 78 49 34 68 52 4f 4a 2f 79 5a 6c 5a 32 35 77 39 52 6c 36 56 53 44 45 USly7B4f/xI4hROJ/yZlZ25w9Rl6VSDE
1a6a00 31 4a 55 5a 55 32 0a 50 62 2b 69 53 77 77 51 48 59 61 5a 54 4b 72 7a 63 68 47 54 35 4f 72 32 6d 1JUZU2.Pb+iSwwQHYaZTKrzchGT5Or2m
1a6a20 39 71 6f 58 61 64 4e 74 35 34 43 72 6e 4d 41 79 4e 6f 6a 41 2b 6a 35 36 68 6c 30 59 67 43 55 79 9qoXadNt54CrnMAyNojA+j56hl0YgCUy
1a6a40 79 49 67 76 70 53 6e 57 62 57 43 61 72 36 5a 65 58 71 70 0a 38 6b 6f 6b 55 76 64 30 2f 62 70 4f yIgvpSnWbWCar6ZeXqp.8kokUvd0/bpO
1a6a60 35 71 67 64 41 6d 36 78 44 59 42 45 77 61 37 54 49 7a 64 66 75 34 56 38 4b 35 49 75 36 48 36 6c 5qgdAm6xDYBEwa7TIzdfu4V8K5Iu6H6l
1a6a80 69 39 32 5a 34 62 38 6e 62 79 31 64 71 6e 75 48 2f 67 72 64 53 2f 79 4f 39 53 62 6b 62 6e 42 43 i92Z4b8nby1dqnuH/grdS/yO9SbkbnBC
1a6aa0 0a 62 6a 50 73 4d 5a 35 37 6b 38 48 6b 79 57 6b 61 50 63 42 72 54 69 4a 74 37 71 74 59 54 63 62 .bjPsMZ57k8HkyWkaPcBrTiJt7qtYTcb
1a6ac0 51 51 63 45 72 36 6b 38 53 68 31 37 72 52 64 68 73 39 5a 67 43 30 36 44 59 56 59 6f 47 6d 52 6d QQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRm
1a6ae0 69 6f 48 66 52 4d 4a 36 73 7a 48 58 75 0a 67 2f 57 77 59 6a 6e 50 62 46 66 69 54 4e 4b 52 43 77 ioHfRMJ6szHXu.g/WwYjnPbFfiTNKRCw
1a6b00 35 31 4b 42 75 61 76 2f 30 61 51 2f 48 4b 64 2f 73 37 6a 32 47 34 61 53 67 57 51 67 52 65 63 43 51KBuav/0aQ/HKd/s7j2G4aSgWQgRecC
1a6b20 6f 63 49 64 69 50 34 62 30 6a 57 79 31 30 51 4a 4c 5a 59 78 6b 4e 63 39 31 70 0a 76 47 4a 48 76 ocIdiP4b0jWy10QJLZYxkNc91p.vGJHv
1a6b40 4f 42 30 4b 37 4c 72 66 62 35 42 47 37 58 41 52 73 57 68 49 73 74 66 54 73 45 6f 6b 74 34 59 75 OB0K7Lrfb5BG7XARsWhIstfTsEokt4Yu
1a6b60 74 55 71 4b 4c 73 52 69 78 65 54 6d 4a 6c 67 6c 46 77 6a 7a 31 6f 6e 6c 31 34 4c 42 51 61 54 4e tUqKLsRixeTmJlglFwjz1onl14LBQaTN
1a6b80 78 34 37 61 54 62 72 0a 71 5a 35 68 48 59 38 79 32 6f 34 4d 31 6e 51 2b 65 77 6b 6b 32 67 46 33 x47aTbr.qZ5hHY8y2o4M1nQ+ewkk2gF3
1a6ba0 52 38 51 37 7a 54 53 4d 6d 66 58 4b 34 53 56 68 4d 37 4a 5a 47 2b 4a 75 31 7a 64 58 74 67 32 70 R8Q7zTSMmfXK4SVhM7JZG+Ju1zdXtg2p
1a6bc0 45 74 6f 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a Eto=.-----END.CERTIFICATE-----..
1a6be0 53 65 63 75 72 69 74 79 20 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 52 6f 6f 74 20 43 41 0a 3d Security.Communication.Root.CA.=
1a6c00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d =============================.--
1a6c20 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 57 6a ---BEGIN.CERTIFICATE-----.MIIDWj
1a6c40 43 43 41 6b 4b 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 CCAkKgAwIBAgIBADANBgkqhkiG9w0BAQ
1a6c60 55 46 41 44 42 51 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4b 55 44 45 59 4d 42 59 47 41 31 UFADBQMQswCQYDVQQGEwJKUDEYMBYGA1
1a6c80 55 45 43 68 4d 50 0a 55 30 56 44 54 30 30 67 56 48 4a 31 63 33 51 75 62 6d 56 30 4d 53 63 77 4a UEChMP.U0VDT00gVHJ1c3QubmV0MScwJ
1a6ca0 51 59 44 56 51 51 4c 45 78 35 54 5a 57 4e 31 63 6d 6c 30 65 53 42 44 62 32 31 74 64 57 35 70 59 QYDVQQLEx5TZWN1cml0eSBDb21tdW5pY
1a6cc0 32 46 30 61 57 39 75 49 46 4a 76 62 33 52 44 51 54 45 77 0a 48 68 63 4e 4d 44 4d 77 4f 54 4d 77 2F0aW9uIFJvb3RDQTEw.HhcNMDMwOTMw
1a6ce0 4d 44 51 79 4d 44 51 35 57 68 63 4e 4d 6a 4d 77 4f 54 4d 77 4d 44 51 79 4d 44 51 35 57 6a 42 51 MDQyMDQ5WhcNMjMwOTMwMDQyMDQ5WjBQ
1a6d00 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4b 55 44 45 59 4d 42 59 47 41 31 55 45 43 68 4d 50 MQswCQYDVQQGEwJKUDEYMBYGA1UEChMP
1a6d20 0a 55 30 56 44 54 30 30 67 56 48 4a 31 63 33 51 75 62 6d 56 30 4d 53 63 77 4a 51 59 44 56 51 51 .U0VDT00gVHJ1c3QubmV0MScwJQYDVQQ
1a6d40 4c 45 78 35 54 5a 57 4e 31 63 6d 6c 30 65 53 42 44 62 32 31 74 64 57 35 70 59 32 46 30 61 57 39 LEx5TZWN1cml0eSBDb21tdW5pY2F0aW9
1a6d60 75 49 46 4a 76 62 33 52 44 51 54 45 77 0a 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 uIFJvb3RDQTEw.ggEiMA0GCSqGSIb3DQ
1a6d80 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 7a 73 2f 35 2f 30 32 EBAQUAA4IBDwAwggEKAoIBAQCzs/5/02
1a6da0 32 78 37 78 5a 38 56 36 55 4d 62 58 61 4b 4c 30 75 2f 5a 50 74 4d 37 6f 72 77 0a 38 79 6c 38 39 2x7xZ8V6UMbXaKL0u/ZPtM7orw.8yl89
1a6dc0 66 2f 75 4b 75 44 70 36 62 70 62 5a 43 4b 61 6d 6d 38 73 4f 69 5a 70 55 51 57 5a 4a 74 7a 56 48 f/uKuDp6bpbZCKamm8sOiZpUQWZJtzVH
1a6de0 47 70 78 78 70 70 39 48 70 33 64 66 47 7a 47 6a 47 64 6e 53 6a 37 34 63 62 41 5a 4a 36 6b 4a 44 Gpxxpp9Hp3dfGzGjGdnSj74cbAZJ6kJD
1a6e00 4b 61 56 76 30 75 4d 0a 44 50 70 56 6d 44 76 59 36 43 4b 68 53 33 45 34 65 61 79 58 6b 6d 6d 7a KaVv0uM.DPpVmDvY6CKhS3E4eayXkmmz
1a6e20 69 58 37 71 49 57 67 47 6d 42 53 57 68 39 4a 68 4e 72 78 74 4a 31 61 65 56 2b 37 41 77 46 62 39 iX7qIWgGmBSWh9JhNrxtJ1aeV+7AwFb9
1a6e40 4d 73 2b 6b 32 59 37 43 49 39 65 4e 71 50 50 59 4a 61 79 58 0a 35 48 41 34 39 4c 59 36 74 4a 30 Ms+k2Y7CI9eNqPPYJayX.5HA49LY6tJ0
1a6e60 37 6c 79 5a 44 6f 36 47 38 53 56 6c 79 54 43 4d 77 68 77 46 59 39 6b 36 2b 48 47 68 57 5a 71 2f 7lyZDo6G8SVlyTCMwhwFY9k6+HGhWZq/
1a6e80 4e 51 56 33 49 73 30 30 71 56 55 61 72 48 39 6f 65 34 6b 41 39 32 38 31 39 75 5a 4b 41 6e 44 66 NQV3Is00qVUarH9oe4kA92819uZKAnDf
1a6ea0 64 0a 44 4a 5a 6b 6e 64 77 69 39 32 53 4c 33 32 48 65 46 5a 52 53 46 61 42 39 55 73 6c 4c 71 43 d.DJZkndwi92SL32HeFZRSFaB9UslLqC
1a6ec0 48 4a 78 72 48 74 79 38 4f 56 59 4e 45 50 38 4b 74 77 2b 4e 2f 4c 54 58 37 73 31 76 71 72 32 62 HJxrHty8OVYNEP8Ktw+N/LTX7s1vqr2b
1a6ee0 31 2f 56 50 4b 6c 36 58 6e 36 32 64 5a 32 0a 4a 43 68 7a 41 67 4d 42 41 41 47 6a 50 7a 41 39 4d 1/VPKl6Xn62dZ2.JChzAgMBAAGjPzA9M
1a6f00 42 30 47 41 31 55 64 44 67 51 57 42 42 53 67 63 30 6d 5a 61 4e 79 46 57 32 58 6a 6d 79 67 76 56 B0GA1UdDgQWBBSgc0mZaNyFW2XjmygvV
1a6f20 35 2b 39 4d 37 77 48 53 44 41 4c 42 67 4e 56 48 51 38 45 42 41 4d 43 41 51 59 77 0a 44 77 59 44 5+9M7wHSDALBgNVHQ8EBAMCAQYw.DwYD
1a6f40 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B
1a6f60 41 51 55 46 41 41 4f 43 41 51 45 41 61 45 43 70 71 4c 76 6b 54 31 31 35 73 77 57 31 46 37 4e 67 AQUFAAOCAQEAaECpqLvkT115swW1F7Ng
1a6f80 45 2b 76 47 6b 6c 33 67 0a 30 64 4e 71 2f 76 75 2b 6d 32 32 2f 78 77 56 74 57 53 44 45 48 50 43 E+vGkl3g.0dNq/vu+m22/xwVtWSDEHPC
1a6fa0 33 32 6f 52 59 41 6d 50 36 53 42 62 76 54 36 55 4c 39 30 71 59 38 6a 2b 65 47 36 31 48 61 32 50 32oRYAmP6SBbvT6UL90qY8j+eG61Ha2P
1a6fc0 4f 43 45 66 72 55 6a 39 34 6e 4b 39 4e 72 76 6a 56 54 38 2b 61 0a 6d 43 6f 51 51 54 6c 53 78 4e OCEfrUj94nK9NrvjVT8+a.mCoQQTlSxN
1a6fe0 33 5a 6d 77 37 76 6b 77 47 75 73 69 37 4b 61 45 49 6b 51 6d 79 77 73 7a 6f 2b 7a 65 6e 61 53 4d 3Zmw7vkwGusi7KaEIkQmywszo+zenaSM
1a7000 51 56 79 2b 6e 35 42 77 2b 53 55 45 6d 4b 33 54 47 58 58 38 6e 70 4e 36 6f 37 57 57 57 58 6c 44 QVy+n5Bw+SUEmK3TGXX8npN6o7WWWXlD
1a7020 4c 4a 0a 73 35 38 2b 4f 6d 4a 59 78 55 6d 74 59 67 35 78 70 54 4b 71 4c 38 61 4a 64 6b 4e 41 45 LJ.s58+OmJYxUmtYg5xpTKqL8aJdkNAE
1a7040 78 4e 6e 50 61 4a 55 4a 52 44 4c 38 54 72 79 32 66 72 62 53 56 61 37 70 76 36 6e 51 54 58 44 34 xNnPaJUJRDL8Try2frbSVa7pv6nQTXD4
1a7060 49 68 68 79 59 6a 48 33 7a 59 51 49 70 68 5a 0a 36 72 42 4b 2b 31 59 57 63 32 36 73 54 66 63 69 IhhyYjH3zYQIphZ.6rBK+1YWc26sTfci
1a7080 6f 55 2b 74 48 58 6f 74 52 53 66 6c 4d 4d 46 65 38 74 6f 54 79 79 56 43 55 5a 56 48 41 34 78 73 oU+tHXotRSflMMFe8toTyyVCUZVHA4xs
1a70a0 49 63 78 30 51 75 31 54 2f 7a 4f 4c 6a 77 39 58 41 52 59 76 7a 36 62 75 79 58 41 69 0a 46 4c 33 Icx0Qu1T/zOLjw9XARYvz6buyXAi.FL3
1a70c0 39 76 6d 77 4c 41 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 9vmwLAw==.-----END.CERTIFICATE--
1a70e0 2d 2d 2d 0a 0a 53 6f 6e 65 72 61 20 43 6c 61 73 73 20 32 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d ---..Sonera.Class.2.Root.CA.====
1a7100 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1a7120 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 49 44 43 43 41 67 69 67 41 77 49 42 41 RTIFICATE-----.MIIDIDCCAgigAwIBA
1a7140 67 49 42 48 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 41 35 4d 51 73 77 43 gIBHTANBgkqhkiG9w0BAQUFADA5MQswC
1a7160 51 59 44 56 51 51 47 45 77 4a 47 53 54 45 50 4d 41 30 47 41 31 55 45 43 68 4d 47 0a 55 32 39 75 QYDVQQGEwJGSTEPMA0GA1UEChMG.U29u
1a7180 5a 58 4a 68 4d 52 6b 77 46 77 59 44 56 51 51 44 45 78 42 54 62 32 35 6c 63 6d 45 67 51 32 78 68 ZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xh
1a71a0 63 33 4d 79 49 45 4e 42 4d 42 34 58 44 54 41 78 4d 44 51 77 4e 6a 41 33 4d 6a 6b 30 4d 46 6f 58 c3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoX
1a71c0 44 54 49 78 4d 44 51 77 0a 4e 6a 41 33 4d 6a 6b 30 4d 46 6f 77 4f 54 45 4c 4d 41 6b 47 41 31 55 DTIxMDQw.NjA3Mjk0MFowOTELMAkGA1U
1a71e0 45 42 68 4d 43 52 6b 6b 78 44 7a 41 4e 42 67 4e 56 42 41 6f 54 42 6c 4e 76 62 6d 56 79 59 54 45 EBhMCRkkxDzANBgNVBAoTBlNvbmVyYTE
1a7200 5a 4d 42 63 47 41 31 55 45 41 78 4d 51 55 32 39 75 5a 58 4a 68 0a 49 45 4e 73 59 58 4e 7a 4d 69 ZMBcGA1UEAxMQU29uZXJh.IENsYXNzMi
1a7220 42 44 51 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 BDQTCCASIwDQYJKoZIhvcNAQEBBQADgg
1a7240 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4a 41 58 53 6a 57 64 79 76 41 4e 6c 73 64 45 2b 68 EPADCCAQoCggEBAJAXSjWdyvANlsdE+h
1a7260 59 33 0a 2f 45 69 39 76 58 2b 41 4c 54 55 37 34 57 2b 6f 5a 36 6d 2f 41 78 78 4e 6a 47 38 79 52 Y3./Ei9vX+ALTU74W+oZ6m/AxxNjG8yR
1a7280 39 56 42 61 4b 51 54 42 4d 45 31 44 4a 71 45 51 2f 78 63 48 66 2b 4a 73 2b 67 58 47 4d 32 52 58 9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX
1a72a0 2f 75 4a 34 2b 71 2f 54 6c 31 38 47 79 62 54 0a 64 58 6e 74 35 6f 54 6a 56 2b 57 74 4b 63 54 30 /uJ4+q/Tl18GybT.dXnt5oTjV+WtKcT0
1a72c0 4f 69 6a 6e 70 58 75 45 4e 6d 6d 7a 2f 56 35 32 76 61 4d 74 6d 64 4f 51 54 69 4d 6f 66 52 68 6a OijnpXuENmmz/V52vaMtmdOQTiMofRhj
1a72e0 38 56 51 37 4a 70 31 32 57 35 64 43 73 76 2b 75 38 45 37 73 33 54 6d 56 54 6f 4d 47 0a 66 2b 64 8VQ7Jp12W5dCsv+u8E7s3TmVToMG.f+d
1a7300 4a 51 4d 6a 46 41 62 4a 55 57 6d 59 64 50 66 7a 35 36 54 77 4b 6e 6f 47 34 63 50 41 42 69 2b 51 JQMjFAbJUWmYdPfz56TwKnoG4cPABi+Q
1a7320 6a 56 48 7a 49 72 76 69 51 48 67 43 57 63 74 52 55 7a 32 45 6a 76 4f 72 37 6e 51 4b 56 30 62 61 jVHzIrviQHgCWctRUz2EjvOr7nQKV0ba
1a7340 35 63 54 70 70 43 44 38 50 0a 74 4f 46 43 78 34 6a 31 50 35 69 6f 70 37 6f 63 34 48 46 78 37 31 5cTppCD8P.tOFCx4j1P5iop7oc4HFx71
1a7360 68 58 67 56 42 36 58 47 74 30 52 67 36 44 41 35 6a 44 6a 71 68 75 38 6e 59 79 62 69 65 44 77 6e hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwn
1a7380 50 7a 33 42 6a 6f 74 4a 50 71 64 55 52 72 42 47 41 67 63 56 65 48 0a 6e 66 4f 2b 6f 4a 41 6a 50 Pz3BjotJPqdURrBGAgcVeH.nfO+oJAjP
1a73a0 59 6f 6b 34 64 6f 68 32 38 4d 43 41 77 45 41 41 61 4d 7a 4d 44 45 77 44 77 59 44 56 52 30 54 41 Yok4doh28MCAwEAAaMzMDEwDwYDVR0TA
1a73c0 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 52 42 67 4e 56 48 51 34 45 43 67 51 49 53 71 43 71 57 QH/BAUwAwEB/zARBgNVHQ4ECgQISqCqW
1a73e0 49 54 54 0a 58 6a 77 77 43 77 59 44 56 52 30 50 42 41 51 44 41 67 45 47 4d 41 30 47 43 53 71 47 ITT.XjwwCwYDVR0PBAQDAgEGMA0GCSqG
1a7400 53 49 62 33 44 51 45 42 42 51 55 41 41 34 49 42 41 51 42 61 7a 6f 66 35 46 6e 49 56 56 30 73 64 SIb3DQEBBQUAA4IBAQBazof5FnIVV0sd
1a7420 32 5a 76 6e 6f 69 59 77 37 4a 4e 6e 33 39 59 74 0a 30 6a 53 76 39 7a 69 6c 7a 71 73 57 75 61 73 2ZvnoiYw7JNn39Yt.0jSv9zilzqsWuas
1a7440 76 66 44 58 4c 72 4e 41 50 74 45 77 72 2f 49 44 76 61 34 79 52 58 7a 5a 32 39 39 75 7a 47 78 6e vfDXLrNAPtEwr/IDva4yRXzZ299uzGxn
1a7460 71 39 4c 49 52 2f 57 46 78 52 4c 38 6f 73 7a 6f 64 76 37 4e 44 36 4a 2b 2f 33 44 45 49 0a 63 62 q9LIR/WFxRL8oszodv7ND6J+/3DEI.cb
1a7480 43 64 6a 64 59 30 52 7a 4b 51 78 6d 55 6b 39 36 42 4b 66 41 52 7a 6a 7a 6c 76 46 34 78 79 74 62 CdjdY0RzKQxmUk96BKfARzjzlvF4xytb
1a74a0 31 4c 79 48 72 34 65 34 50 44 4b 45 36 63 43 65 70 6e 50 37 4a 6e 42 42 76 44 46 4e 72 34 35 30 1LyHr4e4PDKE6cCepnP7JnBBvDFNr450
1a74c0 6b 6b 6b 64 41 64 61 76 70 68 0a 4f 65 39 72 35 79 46 31 42 67 66 59 45 72 51 68 49 48 42 43 63 kkkdAdavph.Oe9r5yF1BgfYErQhIHBCc
1a74e0 59 48 61 50 4a 6f 32 76 71 5a 62 44 57 70 73 6d 68 2b 52 65 2f 6e 35 37 30 4b 36 54 6b 36 65 7a YHaPJo2vqZbDWpsmh+Re/n570K6Tk6ez
1a7500 41 79 4e 6c 4e 7a 5a 52 5a 78 65 37 45 4a 51 59 36 37 30 58 63 53 78 0a 45 74 7a 4b 4f 36 67 75 AyNlNzZRZxe7EJQY670XcSx.EtzKO6gu
1a7520 6e 52 52 61 42 58 57 33 37 4e 64 6a 34 72 6f 31 74 67 51 49 6b 65 6a 61 6e 5a 7a 32 5a 72 55 59 nRRaBXW37Ndj4ro1tgQIkejanZz2ZrUY
1a7540 72 41 71 6d 56 43 59 30 4d 39 49 62 77 64 52 2f 47 6a 71 4f 43 36 6f 79 62 74 76 38 54 79 57 66 rAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf
1a7560 32 54 4c 48 0a 6c 6c 70 77 72 4e 39 4d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 2TLH.llpwrN9M.-----END.CERTIFICA
1a7580 54 45 2d 2d 2d 2d 2d 0a 0a 58 52 61 6d 70 20 47 6c 6f 62 61 6c 20 43 41 20 52 6f 6f 74 0a 3d 3d TE-----..XRamp.Global.CA.Root.==
1a75a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1a75c0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4d 44 43 43 41 78 69 67 41 77 49 42 41 RTIFICATE-----.MIIEMDCCAxigAwIBA
1a75e0 67 49 51 55 4a 52 73 37 42 6a 71 31 5a 78 4e 31 5a 66 76 64 59 2b 67 72 54 41 4e 42 67 6b 71 68 gIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqh
1a7600 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 kiG9w0BAQUFADCBgjELMAkGA1UE.BhMC
1a7620 56 56 4d 78 48 6a 41 63 42 67 4e 56 42 41 73 54 46 58 64 33 64 79 35 34 63 6d 46 74 63 48 4e 6c VVMxHjAcBgNVBAsTFXd3dy54cmFtcHNl
1a7640 59 33 56 79 61 58 52 35 4c 6d 4e 76 62 54 45 6b 4d 43 49 47 41 31 55 45 43 68 4d 62 57 46 4a 68 Y3VyaXR5LmNvbTEkMCIGA1UEChMbWFJh
1a7660 62 58 41 67 55 32 56 6a 0a 64 58 4a 70 64 48 6b 67 55 32 56 79 64 6d 6c 6a 5a 58 4d 67 53 57 35 bXAgU2Vj.dXJpdHkgU2VydmljZXMgSW5
1a7680 6a 4d 53 30 77 4b 77 59 44 56 51 51 44 45 79 52 59 55 6d 46 74 63 43 42 48 62 47 39 69 59 57 77 jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWw
1a76a0 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 0a 64 58 52 6f 62 33 4a 70 64 48 gQ2VydGlmaWNhdGlvbiBB.dXRob3JpdH
1a76c0 6b 77 48 68 63 4e 4d 44 51 78 4d 54 41 78 4d 54 63 78 4e 44 41 30 57 68 63 4e 4d 7a 55 77 4d 54 kwHhcNMDQxMTAxMTcxNDA0WhcNMzUwMT
1a76e0 41 78 4d 44 55 7a 4e 7a 45 35 57 6a 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 AxMDUzNzE5WjCBgjELMAkGA1UEBhMCVV
1a7700 4d 78 0a 48 6a 41 63 42 67 4e 56 42 41 73 54 46 58 64 33 64 79 35 34 63 6d 46 74 63 48 4e 6c 59 Mx.HjAcBgNVBAsTFXd3dy54cmFtcHNlY
1a7720 33 56 79 61 58 52 35 4c 6d 4e 76 62 54 45 6b 4d 43 49 47 41 31 55 45 43 68 4d 62 57 46 4a 68 62 3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhb
1a7740 58 41 67 55 32 56 6a 64 58 4a 70 64 48 6b 67 0a 55 32 56 79 64 6d 6c 6a 5a 58 4d 67 53 57 35 6a XAgU2VjdXJpdHkg.U2VydmljZXMgSW5j
1a7760 4d 53 30 77 4b 77 59 44 56 51 51 44 45 79 52 59 55 6d 46 74 63 43 42 48 62 47 39 69 59 57 77 67 MS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwg
1a7780 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 0a 64 48 6b Q2VydGlmaWNhdGlvbiBBdXRob3Jp.dHk
1a77a0 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwA
1a77c0 77 67 67 45 4b 41 6f 49 42 41 51 43 59 4a 42 36 39 46 62 53 36 33 38 65 4d 70 53 65 32 4f 41 74 wggEKAoIBAQCYJB69FbS638eMpSe2OAt
1a77e0 70 38 37 5a 4f 71 43 77 75 0a 49 52 31 63 52 4e 38 68 58 58 34 6a 64 50 35 65 66 72 52 4b 74 36 p87ZOqCwu.IR1cRN8hXX4jdP5efrRKt6
1a7800 61 74 48 36 37 67 42 68 62 69 6d 31 76 5a 5a 33 52 72 58 59 43 50 4b 5a 32 47 47 39 6d 63 44 5a atH67gBhbim1vZZ3RrXYCPKZ2GG9mcDZ
1a7820 68 74 64 68 41 6f 57 4f 52 6c 73 48 39 4b 6d 48 6d 66 34 4d 4d 78 0a 66 6f 41 72 74 59 7a 41 51 htdhAoWORlsH9KmHmf4MMx.foArtYzAQ
1a7840 44 73 52 68 74 44 4c 6f 6f 59 32 59 4b 54 56 4d 49 4a 74 32 57 37 51 44 78 49 45 4d 35 64 66 54 DsRhtDLooY2YKTVMIJt2W7QDxIEM5dfT
1a7860 32 46 61 38 4f 54 35 6b 61 76 6e 48 54 75 38 36 4d 2f 30 61 79 30 30 66 4f 4a 49 59 52 79 4f 38 2Fa8OT5kavnHTu86M/0ay00fOJIYRyO8
1a7880 32 46 45 0a 7a 47 2b 67 53 71 6d 55 73 45 33 61 35 36 6b 30 65 6e 49 34 71 45 48 4d 50 4a 51 52 2FE.zG+gSqmUsE3a56k0enI4qEHMPJQR
1a78a0 66 65 76 49 70 6f 79 33 68 73 76 4b 4d 7a 76 5a 50 54 65 4c 2b 33 6f 2b 68 69 7a 6e 63 39 63 4b fevIpoy3hsvKMzvZPTeL+3o+hiznc9cK
1a78c0 56 36 78 6b 6d 78 6e 72 39 41 38 45 43 49 71 73 0a 41 78 63 5a 5a 50 52 61 4a 53 4b 4e 4e 43 79 V6xkmxnr9A8ECIqs.AxcZZPRaJSKNNCy
1a78e0 79 39 6d 67 64 45 6d 33 54 69 68 34 55 32 73 53 50 70 75 49 6a 68 64 56 36 44 62 31 71 34 4f 6e y9mgdEm3Tih4U2sSPpuIjhdV6Db1q4On
1a7900 73 37 42 65 37 51 68 74 6e 71 69 58 74 52 59 4d 68 2f 4d 48 4a 66 4e 56 69 50 76 72 79 0a 78 53 s7Be7QhtnqiXtRYMh/MHJfNViPvry.xS
1a7920 33 54 2f 64 52 6c 41 67 4d 42 41 41 47 6a 67 5a 38 77 67 5a 77 77 45 77 59 4a 4b 77 59 42 42 41 3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBA
1a7940 47 43 4e 78 51 43 42 41 59 65 42 41 42 44 41 45 45 77 43 77 59 44 56 52 30 50 42 41 51 44 41 67 GCNxQCBAYeBABDAEEwCwYDVR0PBAQDAg
1a7960 47 47 4d 41 38 47 41 31 55 64 0a 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 GGMA8GA1Ud.EwEB/wQFMAMBAf8wHQYDV
1a7980 52 30 4f 42 42 59 45 46 4d 5a 50 6f 6a 30 47 59 34 51 4a 6e 4d 35 69 35 41 53 73 6a 56 79 31 36 R0OBBYEFMZPoj0GY4QJnM5i5ASsjVy16
1a79a0 62 59 62 4d 44 59 47 41 31 55 64 48 77 51 76 4d 43 30 77 4b 36 41 70 0a 6f 43 65 47 4a 57 68 30 bYbMDYGA1UdHwQvMC0wK6Ap.oCeGJWh0
1a79c0 64 48 41 36 4c 79 39 6a 63 6d 77 75 65 48 4a 68 62 58 42 7a 5a 57 4e 31 63 6d 6c 30 65 53 35 6a dHA6Ly9jcmwueHJhbXBzZWN1cml0eS5j
1a79e0 62 32 30 76 57 45 64 44 51 53 35 6a 63 6d 77 77 45 41 59 4a 4b 77 59 42 42 41 47 43 4e 78 55 42 b20vWEdDQS5jcmwwEAYJKwYBBAGCNxUB
1a7a00 42 41 4d 43 0a 41 51 45 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 BAMC.AQEwDQYJKoZIhvcNAQEFBQADggE
1a7a20 42 41 4a 45 56 4f 51 4d 42 47 32 66 37 53 68 7a 35 43 6d 42 62 6f 64 70 4e 6c 32 4c 35 4a 46 4d BAJEVOQMBG2f7Shz5CmBbodpNl2L5JFM
1a7a40 6e 31 34 4a 6b 54 70 41 75 77 30 6b 62 4b 35 72 63 0a 2f 4b 68 34 5a 7a 58 78 48 66 41 52 76 62 n14JkTpAuw0kbK5rc./Kh4ZzXxHfARvb
1a7a60 64 49 34 78 44 32 44 64 38 2f 30 73 6d 32 71 6c 57 6b 53 4c 6f 43 32 39 35 5a 4c 68 56 62 4f 35 dI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO5
1a7a80 30 57 66 55 66 58 4e 2b 70 66 54 58 59 53 4e 72 73 66 31 36 47 42 42 45 59 67 6f 79 78 74 0a 71 0WfUfXN+pfTXYSNrsf16GBBEYgoyxt.q
1a7aa0 5a 34 42 66 6a 38 70 7a 67 43 54 33 2f 33 4a 6b 6e 4f 4a 69 57 53 65 35 79 76 6b 48 4a 45 73 30 Z4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0
1a7ac0 72 6e 4f 66 63 35 76 4d 5a 6e 54 35 72 37 53 48 70 44 77 43 52 52 35 58 43 4f 72 54 64 4c 61 49 rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLaI
1a7ae0 52 39 4e 6d 58 6d 64 34 63 38 6e 0a 6e 78 43 62 48 49 67 4e 73 49 70 6b 51 54 47 34 44 6d 79 51 R9NmXmd4c8n.nxCbHIgNsIpkQTG4DmyQ
1a7b00 4a 4b 53 62 58 48 47 50 75 72 74 2b 48 42 76 62 61 6f 41 50 49 62 7a 70 32 36 61 33 51 50 53 79 JKSbXHGPurt+HBvbaoAPIbzp26a3QPSy
1a7b20 69 36 6d 78 35 4f 2b 61 47 74 41 39 61 5a 6e 75 71 43 69 6a 34 54 79 7a 0a 38 4c 49 52 6e 4d 39 i6mx5O+aGtA9aZnuqCij4Tyz.8LIRnM9
1a7b40 38 51 4f 62 64 35 30 4e 39 6f 74 67 36 74 61 6d 4e 38 6a 53 5a 78 4e 51 51 34 51 62 39 43 59 51 8QObd50N9otg6tamN8jSZxNQQ4Qb9CYQ
1a7b60 51 4f 2b 37 45 54 50 54 73 4a 33 78 43 77 6e 52 38 67 6f 6f 4a 79 62 51 44 4a 62 77 3d 0a 2d 2d QO+7ETPTsJ3xCwnR8gooJybQDJbw=.--
1a7b80 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6f 20 44 61 64 64 ---END.CERTIFICATE-----..Go.Dadd
1a7ba0 79 20 43 6c 61 73 73 20 32 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d y.Class.2.CA.===================
1a7bc0 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1a7be0 45 41 44 43 43 41 75 69 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 EADCCAuigAwIBAgIBADANBgkqhkiG9w0
1a7c00 42 41 51 55 46 41 44 42 6a 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 68 4d 42 38 BAQUFADBjMQswCQYDVQQGEwJVUzEhMB8
1a7c20 47 41 31 55 45 43 68 4d 59 0a 56 47 68 6c 49 45 64 76 49 45 52 68 5a 47 52 35 49 45 64 79 62 33 GA1UEChMY.VGhlIEdvIERhZGR5IEdyb3
1a7c40 56 77 4c 43 42 4a 62 6d 4d 75 4d 54 45 77 4c 77 59 44 56 51 51 4c 45 79 68 48 62 79 42 45 59 57 VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYW
1a7c60 52 6b 65 53 42 44 62 47 46 7a 63 79 41 79 49 45 4e 6c 63 6e 52 70 0a 5a 6d 6c 6a 59 58 52 70 62 RkeSBDbGFzcyAyIENlcnRp.ZmljYXRpb
1a7c80 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 42 34 58 44 54 41 30 4d 44 59 79 4f 54 45 33 4d 24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3M
1a7ca0 44 59 79 4d 46 6f 58 44 54 4d 30 4d 44 59 79 4f 54 45 33 4d 44 59 79 4d 46 6f 77 59 7a 45 4c 4d DYyMFoXDTM0MDYyOTE3MDYyMFowYzELM
1a7cc0 41 6b 47 0a 41 31 55 45 42 68 4d 43 56 56 4d 78 49 54 41 66 42 67 4e 56 42 41 6f 54 47 46 52 6f AkG.A1UEBhMCVVMxITAfBgNVBAoTGFRo
1a7ce0 5a 53 42 48 62 79 42 45 59 57 52 6b 65 53 42 48 63 6d 39 31 63 43 77 67 53 57 35 6a 4c 6a 45 78 ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjEx
1a7d00 4d 43 38 47 41 31 55 45 43 78 4d 6f 52 32 38 67 0a 52 47 46 6b 5a 48 6b 67 51 32 78 68 63 33 4d MC8GA1UECxMoR28g.RGFkZHkgQ2xhc3M
1a7d20 67 4d 69 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c gMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml
1a7d40 30 65 54 43 43 41 53 41 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 0a 67 67 0eTCCASAwDQYJKoZIhvcNAQEBBQAD.gg
1a7d60 45 4e 41 44 43 43 41 51 67 43 67 67 45 42 41 4e 36 64 31 2b 70 58 47 45 6d 68 57 2b 76 58 58 30 ENADCCAQgCggEBAN6d1+pXGEmhW+vXX0
1a7d80 69 47 36 72 37 64 2f 2b 54 76 5a 78 7a 30 5a 57 69 7a 56 33 47 67 58 6e 65 37 37 5a 74 4a 36 58 iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6X
1a7da0 43 41 50 56 59 59 59 77 68 76 0a 32 76 4c 4d 30 44 39 2f 41 6c 51 69 56 42 44 59 73 6f 48 55 77 CAPVYYYwhv.2vLM0D9/AlQiVBDYsoHUw
1a7dc0 48 55 39 53 33 2f 48 64 38 4d 2b 65 4b 73 61 41 37 55 67 61 79 39 71 4b 37 48 46 69 48 37 45 75 HU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eu
1a7de0 78 36 77 77 64 68 46 4a 32 2b 71 4e 31 6a 33 68 79 62 58 32 43 33 32 0a 71 52 65 33 48 33 49 32 x6wwdhFJ2+qN1j3hybX2C32.qRe3H3I2
1a7e00 54 71 59 58 50 32 57 59 6b 74 73 71 62 6c 32 69 2f 6f 6a 67 43 39 35 2f 35 59 30 56 34 65 76 4c TqYXP2WYktsqbl2i/ojgC95/5Y0V4evL
1a7e20 4f 74 58 69 45 71 49 54 4c 64 69 4f 72 31 38 53 50 61 41 49 42 51 69 32 58 4b 56 6c 4f 41 52 46 OtXiEqITLdiOr18SPaAIBQi2XKVlOARF
1a7e40 6d 52 36 6a 0a 59 47 42 30 78 55 47 6c 63 6d 49 62 59 73 55 66 62 31 38 61 51 72 34 43 55 57 57 mR6j.YGB0xUGlcmIbYsUfb18aQr4CUWW
1a7e60 6f 72 69 4d 59 61 76 78 34 41 36 6c 4e 66 34 44 44 2b 71 74 61 2f 4b 46 41 70 4d 6f 5a 46 76 36 oriMYavx4A6lNf4DD+qta/KFApMoZFv6
1a7e80 79 79 4f 39 65 63 77 33 75 64 37 32 61 39 6e 6d 59 0a 76 4c 45 48 5a 36 49 56 44 64 32 67 57 4d yyO9ecw3ud72a9nmY.vLEHZ6IVDd2gWM
1a7ea0 5a 45 65 77 6f 2b 59 69 68 66 75 6b 45 48 55 31 6a 50 45 58 34 34 64 4d 58 34 2f 37 56 70 6b 49 ZEewo+YihfukEHU1jPEX44dMX4/7VpkI
1a7ec0 2b 45 64 4f 71 58 47 36 38 43 41 51 4f 6a 67 63 41 77 67 62 30 77 48 51 59 44 56 52 30 4f 0a 42 +EdOqXG68CAQOjgcAwgb0wHQYDVR0O.B
1a7ee0 42 59 45 46 4e 4c 45 73 4e 4b 52 31 45 77 52 63 62 4e 68 79 7a 32 68 2f 74 32 6f 61 74 54 6a 4d BYEFNLEsNKR1EwRcbNhyz2h/t2oatTjM
1a7f00 49 47 4e 42 67 4e 56 48 53 4d 45 67 59 55 77 67 59 4b 41 46 4e 4c 45 73 4e 4b 52 31 45 77 52 63 IGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRc
1a7f20 62 4e 68 79 7a 32 68 2f 74 32 6f 0a 61 74 54 6a 6f 57 65 6b 5a 54 42 6a 4d 51 73 77 43 51 59 44 bNhyz2h/t2o.atTjoWekZTBjMQswCQYD
1a7f40 56 51 51 47 45 77 4a 56 55 7a 45 68 4d 42 38 47 41 31 55 45 43 68 4d 59 56 47 68 6c 49 45 64 76 VQQGEwJVUzEhMB8GA1UEChMYVGhlIEdv
1a7f60 49 45 52 68 5a 47 52 35 49 45 64 79 62 33 56 77 4c 43 42 4a 62 6d 4d 75 0a 4d 54 45 77 4c 77 59 IERhZGR5IEdyb3VwLCBJbmMu.MTEwLwY
1a7f80 44 56 51 51 4c 45 79 68 48 62 79 42 45 59 57 52 6b 65 53 42 44 62 47 46 7a 63 79 41 79 49 45 4e DVQQLEyhHbyBEYWRkeSBDbGFzcyAyIEN
1a7fa0 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 67 67 45 lcnRpZmljYXRpb24gQXV0aG9yaXR5ggE
1a7fc0 41 4d 41 77 47 0a 41 31 55 64 45 77 51 46 4d 41 4d 42 41 66 38 77 44 51 59 4a 4b 6f 5a 49 68 76 AMAwG.A1UdEwQFMAMBAf8wDQYJKoZIhv
1a7fe0 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 44 4a 4c 38 37 4c 4b 50 70 48 38 45 73 61 68 42 34 cNAQEFBQADggEBADJL87LKPpH8EsahB4
1a8000 79 4f 64 36 41 7a 42 68 52 63 6b 42 34 59 39 77 69 6d 0a 50 51 6f 5a 2b 59 65 41 45 57 35 70 35 yOd6AzBhRckB4Y9wim.PQoZ+YeAEW5p5
1a8020 4a 59 58 4d 50 38 30 6b 57 4e 79 4f 4f 37 4d 48 41 47 6a 48 5a 51 6f 70 44 48 32 65 73 52 55 31 JYXMP80kWNyOO7MHAGjHZQopDH2esRU1
1a8040 2f 62 6c 4d 56 67 44 6f 73 7a 4f 59 74 75 55 52 58 4f 31 76 30 58 4a 4a 4c 58 56 67 67 4b 74 0a /blMVgDoszOYtuURXO1v0XJJLXVggKt.
1a8060 49 33 6c 70 6a 62 69 32 54 63 37 50 54 4d 6f 7a 49 2b 67 63 69 4b 71 64 69 30 46 75 46 73 6b 67 I3lpjbi2Tc7PTMozI+gciKqdi0FuFskg
1a8080 35 59 6d 65 7a 54 76 61 63 50 64 2b 6d 53 59 67 46 46 51 6c 71 32 35 7a 68 65 61 62 49 5a 30 4b 5YmezTvacPd+mSYgFFQlq25zheabIZ0K
1a80a0 62 49 49 4f 71 50 6a 43 44 50 6f 51 0a 48 6d 79 57 37 34 63 4e 78 41 39 68 69 36 33 75 67 79 75 bIIOqPjCDPoQ.HmyW74cNxA9hi63ugyu
1a80c0 56 2b 49 36 53 68 48 49 35 36 79 44 71 67 2b 32 44 7a 5a 64 75 43 4c 7a 72 54 69 61 32 63 79 76 V+I6ShHI56yDqg+2DzZduCLzrTia2cyv
1a80e0 6b 30 2f 5a 4d 2f 69 5a 78 34 6d 45 52 64 45 72 2f 56 78 71 48 44 33 56 49 0a 4c 73 39 52 61 52 k0/ZM/iZx4mERdEr/VxqHD3VI.Ls9RaR
1a8100 65 67 41 68 4a 68 6c 64 58 52 51 4c 49 51 54 4f 37 45 72 42 42 44 70 71 57 65 43 74 57 56 59 70 egAhJhldXRQLIQTO7ErBBDpqWeCtWVYp
1a8120 6f 4e 7a 34 69 43 78 54 49 4d 35 43 75 66 52 65 59 4e 6e 79 69 63 73 62 6b 71 57 6c 65 74 4e 77 oNz4iCxTIM5CufReYNnyicsbkqWletNw
1a8140 2b 76 48 58 2f 62 0a 76 5a 38 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 +vHX/b.vZ8=.-----END.CERTIFICATE
1a8160 2d 2d 2d 2d 2d 0a 0a 53 74 61 72 66 69 65 6c 64 20 43 6c 61 73 73 20 32 20 43 41 0a 3d 3d 3d 3d -----..Starfield.Class.2.CA.====
1a8180 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 ================.-----BEGIN.CERT
1a81a0 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 44 7a 43 43 41 76 65 67 41 77 49 42 41 67 49 IFICATE-----.MIIEDzCCAvegAwIBAgI
1a81c0 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 6f 4d 51 73 77 43 51 59 BADANBgkqhkiG9w0BAQUFADBoMQswCQY
1a81e0 44 56 51 51 47 45 77 4a 56 55 7a 45 6c 4d 43 4d 47 41 31 55 45 43 68 4d 63 0a 55 33 52 68 63 6d DVQQGEwJVUzElMCMGA1UEChMc.U3Rhcm
1a8200 5a 70 5a 57 78 6b 49 46 52 6c 59 32 68 75 62 32 78 76 5a 32 6c 6c 63 79 77 67 53 57 35 6a 4c 6a ZpZWxkIFRlY2hub2xvZ2llcywgSW5jLj
1a8220 45 79 4d 44 41 47 41 31 55 45 43 78 4d 70 55 33 52 68 63 6d 5a 70 5a 57 78 6b 49 45 4e 73 59 58 EyMDAGA1UECxMpU3RhcmZpZWxkIENsYX
1a8240 4e 7a 49 44 49 67 0a 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 NzIDIg.Q2VydGlmaWNhdGlvbiBBdXRob
1a8260 33 4a 70 64 48 6b 77 48 68 63 4e 4d 44 51 77 4e 6a 49 35 4d 54 63 7a 4f 54 45 32 57 68 63 4e 4d 3JpdHkwHhcNMDQwNjI5MTczOTE2WhcNM
1a8280 7a 51 77 4e 6a 49 35 4d 54 63 7a 4f 54 45 32 57 6a 42 6f 0a 4d 51 73 77 43 51 59 44 56 51 51 47 zQwNjI5MTczOTE2WjBo.MQswCQYDVQQG
1a82a0 45 77 4a 56 55 7a 45 6c 4d 43 4d 47 41 31 55 45 43 68 4d 63 55 33 52 68 63 6d 5a 70 5a 57 78 6b EwJVUzElMCMGA1UEChMcU3RhcmZpZWxk
1a82c0 49 46 52 6c 59 32 68 75 62 32 78 76 5a 32 6c 6c 63 79 77 67 53 57 35 6a 4c 6a 45 79 4d 44 41 47 IFRlY2hub2xvZ2llcywgSW5jLjEyMDAG
1a82e0 0a 41 31 55 45 43 78 4d 70 55 33 52 68 63 6d 5a 70 5a 57 78 6b 49 45 4e 73 59 58 4e 7a 49 44 49 .A1UECxMpU3RhcmZpZWxkIENsYXNzIDI
1a8300 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHk
1a8320 77 67 67 45 67 4d 41 30 47 43 53 71 47 0a 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 51 wggEgMA0GCSqG.SIb3DQEBAQUAA4IBDQ
1a8340 41 77 67 67 45 49 41 6f 49 42 41 51 43 33 4d 73 6a 2b 36 58 47 6d 42 49 57 74 44 42 46 6b 33 38 AwggEIAoIBAQC3Msj+6XGmBIWtDBFk38
1a8360 35 4e 37 38 67 44 47 49 63 2f 6f 61 76 37 50 4b 61 66 38 4d 4f 68 32 74 54 59 0a 62 69 74 54 6b 5N78gDGIc/oav7PKaf8MOh2tTY.bitTk
1a8380 50 73 6b 70 44 36 45 38 4a 37 6f 58 2b 7a 6c 4a 30 54 31 4b 4b 59 2f 65 39 37 67 4b 76 44 49 72 PskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr
1a83a0 31 4d 76 6e 73 6f 46 41 5a 4d 65 6a 32 59 63 4f 61 64 4e 2b 6c 71 32 63 77 51 6c 5a 75 74 33 66 1MvnsoFAZMej2YcOadN+lq2cwQlZut3f
1a83c0 2b 64 5a 78 6b 71 5a 0a 4a 52 52 55 36 79 62 48 38 33 38 5a 31 54 42 77 6a 36 2b 77 52 69 72 2f +dZxkqZ.JRRU6ybH838Z1TBwj6+wRir/
1a83e0 72 65 73 70 37 64 65 66 71 67 53 48 6f 39 54 35 69 61 55 30 58 39 74 44 6b 59 49 32 32 57 59 38 resp7defqgSHo9T5iaU0X9tDkYI22WY8
1a8400 73 62 69 35 67 76 32 63 4f 6a 34 51 79 44 76 76 42 6d 56 6d 0a 65 70 73 5a 47 44 33 2f 63 56 45 sbi5gv2cOj4QyDvvBmVm.epsZGD3/cVE
1a8420 38 4d 43 35 66 76 6a 31 33 63 37 4a 64 42 6d 7a 44 49 31 61 61 4b 34 55 6d 6b 68 79 6e 41 72 50 8MC5fvj13c7JdBmzDI1aaK4UmkhynArP
1a8440 6b 50 77 32 76 43 48 6d 43 75 44 59 39 36 70 7a 54 4e 62 4f 38 61 63 72 31 7a 4a 33 6f 2f 57 53 kPw2vCHmCuDY96pzTNbO8acr1zJ3o/WS
1a8460 4e 0a 46 34 41 7a 62 6c 35 4b 58 5a 6e 4a 48 6f 65 30 6e 52 72 41 31 57 34 54 4e 53 4e 65 33 35 N.F4Azbl5KXZnJHoe0nRrA1W4TNSNe35
1a8480 74 66 50 65 2f 57 39 33 62 43 36 6a 36 37 65 41 30 63 51 6d 64 72 42 4e 6a 34 31 74 70 76 69 2f tfPe/W93bC6j67eA0cQmdrBNj41tpvi/
1a84a0 4a 45 6f 41 47 72 41 67 45 44 6f 34 48 46 0a 4d 49 48 43 4d 42 30 47 41 31 55 64 44 67 51 57 42 JEoAGrAgEDo4HF.MIHCMB0GA1UdDgQWB
1a84c0 42 53 2f 58 37 66 52 7a 74 30 66 68 76 52 62 56 61 7a 63 31 78 44 43 44 71 6d 49 35 7a 43 42 6b BS/X7fRzt0fhvRbVazc1xDCDqmI5zCBk
1a84e0 67 59 44 56 52 30 6a 42 49 47 4b 4d 49 47 48 67 42 53 2f 58 37 66 52 7a 74 30 66 0a 68 76 52 62 gYDVR0jBIGKMIGHgBS/X7fRzt0f.hvRb
1a8500 56 61 7a 63 31 78 44 43 44 71 6d 49 35 36 46 73 70 47 6f 77 61 44 45 4c 4d 41 6b 47 41 31 55 45 Vazc1xDCDqmI56FspGowaDELMAkGA1UE
1a8520 42 68 4d 43 56 56 4d 78 4a 54 41 6a 42 67 4e 56 42 41 6f 54 48 46 4e 30 59 58 4a 6d 61 57 56 73 BhMCVVMxJTAjBgNVBAoTHFN0YXJmaWVs
1a8540 5a 43 42 55 5a 57 4e 6f 0a 62 6d 39 73 62 32 64 70 5a 58 4d 73 49 45 6c 75 59 79 34 78 4d 6a 41 ZCBUZWNo.bm9sb2dpZXMsIEluYy4xMjA
1a8560 77 42 67 4e 56 42 41 73 54 4b 56 4e 30 59 58 4a 6d 61 57 56 73 5a 43 42 44 62 47 46 7a 63 79 41 wBgNVBAsTKVN0YXJmaWVsZCBDbGFzcyA
1a8580 79 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 0a 51 58 56 30 61 47 39 79 61 58 yIENlcnRpZmljYXRpb24g.QXV0aG9yaX
1a85a0 52 35 67 67 45 41 4d 41 77 47 41 31 55 64 45 77 51 46 4d 41 4d 42 41 66 38 77 44 51 59 4a 4b 6f R5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKo
1a85c0 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 41 57 64 50 34 69 64 30 63 6b 61 56 61 ZIhvcNAQEFBQADggEBAAWdP4id0ckaVa
1a85e0 47 73 0a 61 66 50 7a 57 64 71 62 41 59 63 61 54 31 65 70 6f 58 6b 4a 4b 74 76 33 4c 37 49 65 7a Gs.afPzWdqbAYcaT1epoXkJKtv3L7Iez
1a8600 4d 64 65 61 74 69 44 68 36 47 58 37 30 6b 31 50 6e 63 47 51 56 68 69 76 34 35 59 75 41 70 6e 50 MdeatiDh6GX70k1PncGQVhiv45YuApnP
1a8620 2b 79 7a 33 53 46 6d 48 38 6c 55 2b 6e 4c 4d 0a 50 55 78 41 32 49 47 76 64 35 36 44 65 72 75 69 +yz3SFmH8lU+nLM.PUxA2IGvd56Derui
1a8640 78 2f 55 30 46 34 37 5a 45 55 44 30 2f 43 77 71 54 52 56 2f 70 32 4a 64 4c 69 58 54 41 41 73 67 x/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsg
1a8660 47 68 31 6f 2b 52 65 34 39 4c 32 4c 37 53 68 5a 33 55 30 57 69 78 65 44 79 4c 4a 6c 0a 78 79 31 Gh1o+Re49L2L7ShZ3U0WixeDyLJl.xy1
1a8680 36 70 61 71 38 55 34 5a 74 33 56 65 6b 79 76 67 67 51 51 74 6f 38 50 54 37 64 4c 35 57 58 58 70 6paq8U4Zt3VekyvggQQto8PT7dL5WXXp
1a86a0 35 39 66 6b 64 68 65 4d 74 6c 62 37 31 63 5a 42 44 7a 49 30 66 6d 67 41 4b 68 79 6e 70 56 53 4a 59fkdheMtlb71cZBDzI0fmgAKhynpVSJ
1a86c0 59 41 43 50 71 34 78 4a 44 0a 4b 56 74 48 43 4e 32 4d 51 57 70 6c 42 71 6a 6c 49 61 70 42 74 4a YACPq4xJD.KVtHCN2MQWplBqjlIapBtJ
1a86e0 55 68 6c 62 6c 39 30 54 53 72 45 39 61 74 76 4e 7a 69 50 54 6e 4e 76 54 35 31 63 4b 45 59 57 51 Uhlbl90TSrE9atvNziPTnNvT51cKEYWQ
1a8700 50 4a 49 72 53 50 6e 4e 56 65 4b 74 65 6c 74 74 51 4b 62 66 69 33 0a 51 42 46 47 6d 68 39 35 44 PJIrSPnNVeKtelttQKbfi3.QBFGmh95D
1a8720 6d 4b 2f 44 35 66 73 34 43 38 66 46 35 51 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 mK/D5fs4C8fF5Q=.-----END.CERTIFI
1a8740 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 61 69 77 61 6e 20 47 52 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d CATE-----..Taiwan.GRCA.=========
1a8760 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1a8780 49 49 46 63 6a 43 43 41 31 71 67 41 77 49 42 41 67 49 51 48 35 31 5a 57 74 63 76 77 67 5a 45 70 IIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEp
1a87a0 59 41 49 61 65 4e 65 39 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 41 2f 4d YAIaeNe9jANBgkqhkiG9w0BAQUFADA/M
1a87c0 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 55 56 7a 45 77 4d 43 34 47 41 31 55 45 43 67 77 6e QswCQYDVQQG.EwJUVzEwMC4GA1UECgwn
1a87e0 52 32 39 32 5a 58 4a 75 62 57 56 75 64 43 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a R292ZXJubWVudCBSb290IENlcnRpZmlj
1a8800 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 42 34 58 0a 44 54 41 79 4d 54 49 YXRpb24gQXV0aG9yaXR5MB4X.DTAyMTI
1a8820 77 4e 54 45 7a 4d 6a 4d 7a 4d 31 6f 58 44 54 4d 79 4d 54 49 77 4e 54 45 7a 4d 6a 4d 7a 4d 31 6f wNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1o
1a8840 77 50 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 46 63 78 4d 44 41 75 42 67 4e 56 42 41 6f wPzELMAkGA1UEBhMCVFcxMDAuBgNVBAo
1a8860 4d 4a 30 64 76 0a 64 6d 56 79 62 6d 31 6c 62 6e 51 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 MJ0dv.dmVybm1lbnQgUm9vdCBDZXJ0aW
1a8880 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 43 43 41 69 49 77 44 51 ZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQ
1a88a0 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 0a 67 67 49 50 41 44 43 43 41 67 6f 43 67 YJKoZIhvcNAQEBBQAD.ggIPADCCAgoCg
1a88c0 67 49 42 41 4a 6f 6c 75 4f 7a 4d 6f 6e 57 6f 65 2f 66 4f 57 31 6d 4b 79 64 47 47 45 67 68 55 37 gIBAJoluOzMonWoe/fOW1mKydGGEghU7
1a88e0 4a 7a 79 35 30 62 32 69 50 4e 38 36 61 58 66 54 45 63 32 70 42 73 42 48 48 38 65 56 34 71 4e 0a Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN.
1a8900 77 38 58 52 49 65 50 61 4a 44 39 49 4b 2f 75 66 4c 71 47 55 35 79 77 63 6b 39 47 2f 47 77 47 48 w8XRIePaJD9IK/ufLqGU5ywck9G/GwGH
1a8920 55 35 6e 4f 70 2f 55 4b 49 58 5a 33 2f 36 6d 33 78 6e 4f 55 54 30 62 33 45 45 6b 33 2b 71 68 5a U5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZ
1a8940 53 56 31 71 67 51 64 57 38 6f 72 35 0a 42 74 44 33 63 43 4a 4e 74 4c 64 42 75 54 4b 34 73 66 43 SV1qgQdW8or5.BtD3cCJNtLdBuTK4sfC
1a8960 78 77 35 77 2f 63 50 31 54 33 59 47 71 32 47 4e 34 39 74 68 54 62 71 47 73 61 6f 51 6b 63 6c 53 xw5w/cP1T3YGq2GN49thTbqGsaoQkclS
1a8980 47 78 74 4b 79 79 68 77 4f 65 59 48 57 74 58 42 69 43 41 45 75 54 6b 38 4f 0a 31 52 47 76 71 61 GxtKyyhwOeYHWtXBiCAEuTk8O.1RGvqa
1a89a0 2f 6c 6d 72 2f 63 7a 49 64 74 4a 75 54 4a 56 36 4c 37 6c 76 6e 4d 34 54 39 54 6a 47 78 4d 66 70 /lmr/czIdtJuTJV6L7lvnM4T9TjGxMfp
1a89c0 74 54 43 41 74 73 46 2f 74 6e 79 4d 4b 74 73 63 32 41 74 4a 66 63 64 67 45 57 46 65 6c 71 31 36 tTCAtsF/tnyMKtsc2AtJfcdgEWFelq16
1a89e0 54 68 65 45 66 4f 0a 68 74 58 37 4d 66 50 36 4d 62 34 30 71 69 6a 37 63 45 77 64 53 63 65 76 4c TheEfO.htX7MfP6Mb40qij7cEwdScevL
1a8a00 4a 31 74 5a 71 61 32 6a 57 52 2b 74 53 42 71 6e 54 75 42 74 6f 39 41 41 47 64 4c 69 59 61 34 7a J1tZqa2jWR+tSBqnTuBto9AAGdLiYa4z
1a8a20 47 58 2b 46 56 50 70 42 4d 48 57 58 78 31 45 31 77 6f 76 0a 4a 35 70 47 66 61 45 4e 64 61 31 55 GX+FVPpBMHWXx1E1wov.J5pGfaENda1U
1a8a40 68 68 58 63 53 54 76 78 6c 73 34 50 6d 36 44 73 6f 33 70 64 76 74 55 71 64 55 4c 6c 65 39 36 6c hhXcSTvxls4Pm6Dso3pdvtUqdULle96l
1a8a60 74 71 71 76 4b 4b 79 73 6b 4b 77 34 74 39 56 6f 4e 53 5a 36 33 50 63 37 38 2f 31 46 6d 39 47 37 tqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
1a8a80 0a 51 33 68 75 62 2f 46 43 56 47 71 59 38 41 32 74 6c 2b 6c 53 58 75 6e 56 61 6e 4c 65 61 76 63 .Q3hub/FCVGqY8A2tl+lSXunVanLeavc
1a8aa0 62 59 42 54 30 70 65 53 32 63 57 65 71 48 2b 72 69 54 63 46 43 51 50 35 6e 52 68 63 34 4c 30 63 bYBT0peS2cWeqH+riTcFCQP5nRhc4L0c
1a8ac0 2f 63 5a 79 75 35 53 48 4b 59 53 31 74 0a 42 36 69 45 66 43 33 75 55 53 58 78 59 35 43 65 2f 65 /cZyu5SHKYS1t.B6iEfC3uUSXxY5Ce/e
1a8ae0 46 58 69 47 76 76 69 69 4e 74 73 65 61 39 50 36 33 52 50 5a 59 4c 68 59 33 4e 61 79 65 37 74 77 FXiGvviiNtsea9P63RPZYLhY3Naye7tw
1a8b00 57 62 37 4c 75 52 71 51 6f 48 45 67 4b 58 54 69 43 51 38 50 38 4e 48 75 4a 42 0a 4f 39 4e 41 4f Wb7LuRqQoHEgKXTiCQ8P8NHuJB.O9NAO
1a8b20 75 65 4e 58 64 70 6d 35 41 4b 77 42 31 4b 59 58 41 36 4f 4d 35 7a 43 70 70 58 37 56 52 6c 75 54 ueNXdpm5AKwB1KYXA6OM5zCppX7VRluT
1a8b40 49 36 75 53 77 2b 39 77 54 68 4e 58 6f 2b 45 48 57 62 4e 78 57 43 57 74 46 4a 61 42 59 6d 4f 6c I6uSw+9wThNXo+EHWbNxWCWtFJaBYmOl
1a8b60 58 71 59 77 5a 45 38 0a 6c 53 4f 79 44 76 52 35 74 4d 6c 38 77 55 6f 68 41 67 4d 42 41 41 47 6a XqYwZE8.lSOyDvR5tMl8wUohAgMBAAGj
1a8b80 61 6a 42 6f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 4d 7a 4f 2f 4d 4b 57 43 6b 4f 37 47 53 ajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GS
1a8ba0 74 6a 7a 36 4d 6d 4b 50 72 43 55 56 4f 7a 41 4d 42 67 4e 56 0a 48 52 4d 45 42 54 41 44 41 51 48 tjz6MmKPrCUVOzAMBgNV.HRMEBTADAQH
1a8bc0 2f 4d 44 6b 47 42 47 63 71 42 77 41 45 4d 54 41 76 4d 43 30 43 41 51 41 77 43 51 59 46 4b 77 34 /MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4
1a8be0 44 41 68 6f 46 41 44 41 48 42 67 56 6e 4b 67 4d 41 41 41 51 55 41 35 76 77 49 68 50 2f 6c 53 67 DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg
1a8c00 32 0a 30 39 79 65 77 44 4c 37 4d 54 71 4b 55 57 55 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 2.09yewDL7MTqKUWUwDQYJKoZIhvcNAQ
1a8c20 45 46 42 51 41 44 67 67 49 42 41 45 43 41 53 76 6f 6d 79 63 35 65 4d 4e 31 50 68 6e 52 32 57 50 EFBQADggIBAECASvomyc5eMN1PhnR2WP
1a8c40 57 75 73 34 4d 7a 65 4b 52 36 64 42 63 5a 0a 54 75 6c 53 74 62 6e 67 43 6e 52 69 71 6d 6a 4b 65 Wus4MzeKR6dBcZ.TulStbngCnRiqmjKe
1a8c60 4b 42 4d 6d 6f 34 73 49 79 37 56 61 68 49 6b 76 39 52 6f 30 34 72 51 32 4a 79 66 74 42 38 4d 33 KBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3
1a8c80 6a 68 2b 56 7a 6a 38 6a 65 4a 50 58 67 79 66 71 7a 76 53 2f 33 57 58 79 36 54 6a 0a 5a 77 6a 2f jh+Vzj8jeJPXgyfqzvS/3WXy6Tj.Zwj/
1a8ca0 35 63 41 57 74 55 67 42 66 65 6e 35 43 76 38 62 35 57 70 70 76 33 67 68 71 4d 4b 6e 49 36 6d 47 5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mG
1a8cc0 71 33 5a 57 36 41 34 4d 39 68 50 64 4b 6d 61 4b 5a 45 6b 39 47 68 69 48 6b 41 53 66 51 6c 4b 33 q3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3
1a8ce0 54 38 76 2b 52 30 46 32 0a 4e 65 2f 2f 41 48 59 32 52 54 4b 62 78 6b 61 46 58 65 49 6b 73 42 37 T8v+R0F2.Ne//AHY2RTKbxkaFXeIksB7
1a8d00 6a 53 4a 61 59 56 30 65 55 56 58 6f 50 51 62 46 45 4a 50 50 42 2f 68 70 72 76 34 6a 39 77 61 62 jSJaYV0eUVXoPQbFEJPPB/hprv4j9wab
1a8d20 61 6b 32 42 65 67 55 71 5a 49 4a 78 49 5a 68 6d 31 41 48 6c 55 0a 44 37 67 73 4c 30 75 38 71 56 ak2BegUqZIJxIZhm1AHlU.D7gsL0u8qV
1a8d40 31 62 59 48 2b 4d 68 36 58 67 55 6d 4d 71 76 74 67 37 68 55 41 56 2f 68 36 32 5a 54 2f 46 53 39 1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9
1a8d60 70 2b 74 58 6f 31 4b 61 4d 75 65 70 68 67 49 71 50 30 66 53 64 4f 4c 65 71 30 64 44 7a 70 44 36 p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6
1a8d80 51 7a 0a 44 78 41 52 76 42 4d 42 31 75 55 4f 30 37 2b 31 45 71 4c 68 52 53 50 41 7a 41 68 75 59 Qz.DxARvBMB1uUO07+1EqLhRSPAzAhuY
1a8da0 62 65 4a 71 34 50 6a 4a 42 37 6d 58 51 66 6e 48 79 41 2b 7a 32 66 49 35 36 77 77 62 53 64 4c 61 beJq4PjJB7mXQfnHyA+z2fI56wwbSdLa
1a8dc0 47 35 4c 4b 6c 77 43 43 44 54 62 2b 48 62 6b 0a 5a 36 4d 6d 6e 44 2b 69 4d 73 4a 4b 78 59 45 59 G5LKlwCCDTb+Hbk.Z6MmnD+iMsJKxYEY
1a8de0 4d 52 42 57 71 6f 54 76 4c 51 72 2f 75 42 39 33 30 72 2b 6c 57 4b 42 69 35 4e 64 4c 6b 58 57 4e MRBWqoTvLQr/uB930r+lWKBi5NdLkXWN
1a8e00 69 59 43 59 66 6d 33 4c 55 30 35 65 72 2f 61 79 6c 34 57 58 75 64 70 56 42 72 6b 6b 0a 37 74 66 iYCYfm3LU05er/ayl4WXudpVBrkk.7tf
1a8e20 47 4f 42 35 6a 47 78 49 37 6c 65 46 59 72 50 4c 66 68 4e 56 66 6d 53 38 4e 56 56 76 6d 4f 4e 73 GOB5jGxI7leFYrPLfhNVfmS8NVVvmONs
1a8e40 75 50 33 4c 70 53 49 58 4c 75 79 6b 54 6a 78 34 34 56 62 6e 7a 73 73 51 77 6d 53 4e 4f 58 66 4a uP3LpSIXLuykTjx44VbnzssQwmSNOXfJ
1a8e60 49 6f 52 49 4d 33 42 4b 51 0a 43 5a 42 55 6b 51 4d 38 52 2b 58 56 79 57 58 67 74 30 74 39 37 45 IoRIM3BKQ.CZBUkQM8R+XVyWXgt0t97E
1a8e80 66 54 73 77 73 2b 72 5a 37 51 64 41 41 4f 36 37 31 52 72 63 44 65 4c 4d 44 44 61 76 37 76 33 41 fTsws+rZ7QdAAO671RrcDeLMDDav7v3A
1a8ea0 75 6e 2b 6b 62 66 59 4e 75 63 70 6c 6c 51 64 53 4e 70 63 35 4f 79 0a 2b 66 77 43 30 30 66 6d 63 un+kbfYNucpllQdSNpc5Oy.+fwC00fmc
1a8ec0 63 34 51 41 75 34 6e 6a 49 54 2f 72 45 55 4e 45 31 79 44 4d 75 41 6c 70 59 59 73 66 50 51 53 0a c4QAu4njIT/rEUNE1yDMuAlpYYsfPQS.
1a8ee0 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 -----END.CERTIFICATE-----..DigiC
1a8f00 65 72 74 20 41 73 73 75 72 65 64 20 49 44 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d ert.Assured.ID.Root.CA.=========
1a8f20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1a8f40 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 74 7a 43 43 41 70 2b 67 41 77 49 42 41 RTIFICATE-----.MIIDtzCCAp+gAwIBA
1a8f60 67 49 51 44 4f 66 67 35 52 66 59 52 76 36 50 35 57 44 38 47 2f 41 77 4f 54 41 4e 42 67 6b 71 68 gIQDOfg5RfYRv6P5WD8G/AwOTANBgkqh
1a8f80 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 6c 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 kiG9w0BAQUFADBlMQswCQYDVQQG.EwJV
1a8fa0 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5j
1a8fc0 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 MRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu
1a8fe0 59 32 39 74 4d 53 51 77 0a 49 67 59 44 56 51 51 44 45 78 74 45 61 57 64 70 51 32 56 79 64 43 42 Y29tMSQw.IgYDVQQDExtEaWdpQ2VydCB
1a9000 42 63 33 4e 31 63 6d 56 6b 49 45 6c 45 49 46 4a 76 62 33 51 67 51 30 45 77 48 68 63 4e 4d 44 59 Bc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDY
1a9020 78 4d 54 45 77 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 45 78 0a 4d 54 45 77 4d 44 41 77 4d 44 xMTEwMDAwMDAwWhcNMzEx.MTEwMDAwMD
1a9040 41 77 57 6a 42 6c 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 AwWjBlMQswCQYDVQQGEwJVUzEVMBMGA1
1a9060 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQ
1a9080 51 4c 0a 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 51 77 49 QL.ExB3d3cuZGlnaWNlcnQuY29tMSQwI
1a90a0 67 59 44 56 51 51 44 45 78 74 45 61 57 64 70 51 32 56 79 64 43 42 42 63 33 4e 31 63 6d 56 6b 49 gYDVQQDExtEaWdpQ2VydCBBc3N1cmVkI
1a90c0 45 6c 45 49 46 4a 76 62 33 51 67 51 30 45 77 0a 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 ElEIFJvb3QgQ0Ew.ggEiMA0GCSqGSIb3
1a90e0 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 74 44 68 58 4f DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO
1a9100 35 45 4f 41 58 4c 47 48 38 37 64 67 2b 58 45 53 70 61 37 63 4a 70 53 49 71 76 54 4f 0a 39 53 41 5EOAXLGH87dg+XESpa7cJpSIqvTO.9SA
1a9120 35 4b 46 68 67 44 50 69 41 32 71 6b 56 6c 54 4a 68 50 4c 57 78 4b 49 53 4b 69 74 79 66 43 67 79 5KFhgDPiA2qkVlTJhPLWxKISKityfCgy
1a9140 44 46 33 71 50 6b 4b 79 4b 35 33 6c 54 58 44 47 45 4b 76 59 50 6d 44 49 32 64 73 7a 65 33 54 79 DF3qPkKyK53lTXDGEKvYPmDI2dsze3Ty
1a9160 6f 6f 75 39 71 2b 79 48 79 0a 55 6d 48 66 6e 79 44 58 48 2b 4b 78 32 66 34 59 5a 4e 49 53 57 31 oou9q+yHy.UmHfnyDXH+Kx2f4YZNISW1
1a9180 2f 35 57 42 67 31 76 45 66 4e 6f 54 62 35 61 33 2f 55 73 44 67 2b 77 52 76 44 6a 44 50 5a 32 43 /5WBg1vEfNoTb5a3/UsDg+wRvDjDPZ2C
1a91a0 38 59 2f 69 67 50 73 36 65 44 31 73 4e 75 52 4d 42 68 4e 5a 59 57 0a 2f 6c 6d 63 69 33 5a 74 31 8Y/igPs6eD1sNuRMBhNZYW./lmci3Zt1
1a91c0 2f 47 69 53 77 30 72 2f 77 74 79 32 70 35 67 30 49 36 51 4e 63 5a 34 56 59 63 67 6f 63 2f 6c 62 /GiSw0r/wty2p5g0I6QNcZ4VYcgoc/lb
1a91e0 51 72 49 53 58 77 78 6d 44 4e 73 49 75 6d 48 30 44 4a 61 6f 72 6f 54 67 68 48 74 4f 52 65 64 6d QrISXwxmDNsIumH0DJaoroTghHtORedm
1a9200 54 70 79 0a 6f 65 62 36 70 4e 6e 56 46 7a 46 31 72 6f 56 39 49 71 34 2f 41 55 61 47 39 69 68 35 Tpy.oeb6pNnVFzF1roV9Iq4/AUaG9ih5
1a9220 79 4c 48 61 35 46 63 58 78 48 34 63 44 72 43 30 6b 71 5a 57 73 37 32 79 6c 2b 32 71 70 2f 43 33 yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3
1a9240 78 61 67 2f 6c 52 62 51 2f 36 47 57 36 77 68 66 0a 47 48 64 50 41 67 4d 42 41 41 47 6a 59 7a 42 xag/lRbQ/6GW6whf.GHdPAgMBAAGjYzB
1a9260 68 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 68 6a 41 50 42 67 4e 56 48 52 4d hMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRM
1a9280 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 46 0a 36 36 BAf8EBTADAQH/MB0GA1UdDgQWBBRF.66
1a92a0 4b 76 39 4a 4c 4c 67 6a 45 74 55 59 75 6e 70 79 47 64 38 32 33 49 44 7a 41 66 42 67 4e 56 48 53 Kv9JLLgjEtUYunpyGd823IDzAfBgNVHS
1a92c0 4d 45 47 44 41 57 67 42 52 46 36 36 4b 76 39 4a 4c 4c 67 6a 45 74 55 59 75 6e 70 79 47 64 38 32 MEGDAWgBRF66Kv9JLLgjEtUYunpyGd82
1a92e0 33 49 44 7a 41 4e 42 67 6b 71 0a 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 6f 3IDzANBgkq.hkiG9w0BAQUFAAOCAQEAo
1a9300 67 36 38 33 2b 4c 74 38 4f 4e 79 63 33 70 6b 6c 4c 2f 33 63 6d 62 59 4d 75 52 43 64 57 4b 75 68 g683+Lt8ONyc3pklL/3cmbYMuRCdWKuh
1a9320 2b 76 79 31 64 6e 65 56 72 4f 66 7a 4d 34 55 4b 4c 6b 4e 6c 32 42 63 0a 45 6b 78 59 35 4e 4d 39 +vy1dneVrOfzM4UKLkNl2Bc.EkxY5NM9
1a9340 67 30 6c 46 57 4a 63 31 61 52 71 6f 52 2b 70 57 78 6e 6d 72 45 74 68 6e 67 59 54 66 66 77 6b 38 g0lFWJc1aRqoR+pWxnmrEthngYTffwk8
1a9360 6c 4f 61 34 4a 69 77 67 76 54 32 7a 4b 49 6e 33 58 2f 38 69 34 70 65 45 48 2b 6c 6c 37 34 66 67 lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg
1a9380 33 38 46 6e 0a 53 62 4e 64 36 37 49 4a 4b 75 73 6d 37 58 69 2b 66 54 38 72 38 37 63 6d 4e 57 31 38Fn.SbNd67IJKusm7Xi+fT8r87cmNW1
1a93a0 66 69 51 47 32 53 56 75 66 41 51 57 62 71 7a 30 6c 77 63 79 32 66 38 4c 78 62 34 62 47 2b 6d 52 fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mR
1a93c0 6f 36 34 45 74 6c 4f 74 43 74 2f 71 4d 48 74 31 69 0a 38 62 35 51 5a 37 64 73 76 66 50 78 48 32 o64EtlOtCt/qMHt1i.8b5QZ7dsvfPxH2
1a93e0 73 4d 4e 67 63 57 66 7a 64 38 71 56 74 74 65 76 45 53 52 6d 43 44 31 79 63 45 76 6b 76 4f 6c 37 sMNgcWfzd8qVttevESRmCD1ycEvkvOl7
1a9400 37 44 5a 79 70 6f 45 64 2b 41 35 77 77 7a 5a 72 38 54 44 52 52 75 38 33 38 66 59 78 41 65 0a 2b 7DZypoEd+A5wwzZr8TDRRu838fYxAe.+
1a9420 6f 30 62 4a 57 31 73 6a 36 57 33 59 51 47 78 30 71 4d 6d 6f 52 42 78 6e 61 33 69 77 2f 6e 44 6d o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDm
1a9440 56 47 33 4b 77 63 49 7a 69 37 6d 55 4c 4b 6e 2b 67 70 46 4c 36 4c 77 38 67 3d 3d 0a 2d 2d 2d 2d VG3KwcIzi7mULKn+gpFL6Lw8g==.----
1a9460 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 -END.CERTIFICATE-----..DigiCert.
1a9480 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Global.Root.CA.=================
1a94a0 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d ======.-----BEGIN.CERTIFICATE---
1a94c0 2d 2d 0a 4d 49 49 44 72 7a 43 43 41 70 65 67 41 77 49 42 41 67 49 51 43 44 76 67 56 70 42 43 52 --.MIIDrzCCApegAwIBAgIQCDvgVpBCR
1a94e0 72 47 68 64 57 72 4a 57 5a 48 48 53 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 rGhdWrJWZHHSjANBgkqhkiG9w0BAQUFA
1a9500 44 42 68 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 DBhMQswCQYDVQQG.EwJVUzEVMBMGA1UE
1a9520 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c ChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
1a9540 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 41 77 0a 48 67 59 ExB3d3cuZGlnaWNlcnQuY29tMSAw.HgY
1a9560 44 56 51 51 44 45 78 64 45 61 57 64 70 51 32 56 79 64 43 42 48 62 47 39 69 59 57 77 67 55 6d 39 DVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9
1a9580 76 64 43 42 44 51 54 41 65 46 77 30 77 4e 6a 45 78 4d 54 41 77 4d 44 41 77 4d 44 42 61 46 77 30 vdCBDQTAeFw0wNjExMTAwMDAwMDBaFw0
1a95a0 7a 4d 54 45 78 4d 54 41 77 0a 4d 44 41 77 4d 44 42 61 4d 47 45 78 43 7a 41 4a 42 67 4e 56 42 41 zMTExMTAw.MDAwMDBaMGExCzAJBgNVBA
1a95c0 59 54 41 6c 56 54 4d 52 55 77 45 77 59 44 56 51 51 4b 45 77 78 45 61 57 64 70 51 32 56 79 64 43 YTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydC
1a95e0 42 4a 62 6d 4d 78 47 54 41 58 42 67 4e 56 42 41 73 54 45 48 64 33 0a 64 79 35 6b 61 57 64 70 59 BJbmMxGTAXBgNVBAsTEHd3.dy5kaWdpY
1a9600 32 56 79 64 43 35 6a 62 32 30 78 49 44 41 65 42 67 4e 56 42 41 4d 54 46 30 52 70 5a 32 6c 44 5a 2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZ
1a9620 58 4a 30 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 49 45 4e 42 4d 49 49 42 49 6a 41 4e 42 XJ0IEdsb2JhbCBSb290IENBMIIBIjANB
1a9640 67 6b 71 0a 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 gkq.hkiG9w0BAQEFAAOCAQ8AMIIBCgKC
1a9660 41 51 45 41 34 6a 76 68 45 58 4c 65 71 4b 54 54 6f 31 65 71 55 4b 4b 50 43 33 65 51 79 61 4b 6c AQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl
1a9680 37 68 4c 4f 6c 6c 73 42 43 53 44 4d 41 5a 4f 6e 0a 54 6a 43 33 55 2f 64 44 78 47 6b 41 56 35 33 7hLOllsBCSDMAZOn.TjC3U/dDxGkAV53
1a96a0 69 6a 53 4c 64 68 77 5a 41 41 49 45 4a 7a 73 34 62 67 37 2f 66 7a 54 74 78 52 75 4c 57 5a 73 63 ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZsc
1a96c0 46 73 33 59 6e 46 6f 39 37 6e 68 36 56 66 65 36 33 53 4b 4d 49 32 74 61 76 65 67 77 35 0a 42 6d Fs3YnFo97nh6Vfe63SKMI2tavegw5.Bm
1a96e0 56 2f 53 6c 30 66 76 42 66 34 71 37 37 75 4b 4e 64 30 66 33 70 34 6d 56 6d 46 61 47 35 63 49 7a V/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIz
1a9700 4a 4c 76 30 37 41 36 46 70 74 34 33 43 2f 64 78 43 2f 2f 41 48 32 68 64 6d 6f 52 42 42 59 4d 71 JLv07A6Fpt43C/dxC//AH2hdmoRBBYMq
1a9720 6c 31 47 4e 58 52 6f 72 35 48 0a 34 69 64 71 39 4a 6f 7a 2b 45 6b 49 59 49 76 55 58 37 51 36 68 l1GNXRor5H.4idq9Joz+EkIYIvUX7Q6h
1a9740 4c 2b 68 71 6b 70 4d 66 54 37 50 54 31 39 73 64 6c 36 67 53 7a 65 52 6e 74 77 69 35 6d 33 4f 46 L+hqkpMfT7PT19sdl6gSzeRntwi5m3OF
1a9760 42 71 4f 61 73 76 2b 7a 62 4d 55 5a 42 66 48 57 79 6d 65 4d 72 2f 79 0a 37 76 72 54 43 30 4c 55 BqOasv+zbMUZBfHWymeMr/y.7vrTC0LU
1a9780 71 37 64 42 4d 74 6f 4d 31 4f 2f 34 67 64 57 37 6a 56 67 2f 74 52 76 6f 53 53 69 69 63 4e 6f 78 q7dBMtoM1O/4gdW7jVg/tRvoSSiicNox
1a97a0 42 4e 33 33 73 68 62 79 54 41 70 4f 42 36 6a 74 53 6a 31 65 74 58 2b 6a 6b 4d 4f 76 4a 77 49 44 BN33shbyTApOB6jtSj1etX+jkMOvJwID
1a97c0 41 51 41 42 0a 6f 32 4d 77 59 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 59 59 AQAB.o2MwYTAOBgNVHQ8BAf8EBAMCAYY
1a97e0 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 wDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4
1a9800 45 46 67 51 55 41 39 35 51 4e 56 62 52 54 4c 74 6d 0a 38 4b 50 69 47 78 76 44 6c 37 49 39 30 56 EFgQUA95QNVbRTLtm.8KPiGxvDl7I90V
1a9820 55 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 41 39 35 51 4e 56 62 52 54 4c 74 6d 38 4b UwHwYDVR0jBBgwFoAUA95QNVbRTLtm8K
1a9840 50 69 47 78 76 44 6c 37 49 39 30 56 55 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 0a 42 PiGxvDl7I90VUwDQYJKoZIhvcNAQEF.B
1a9860 51 41 44 67 67 45 42 41 4d 75 63 4e 36 70 49 45 78 49 4b 2b 74 31 45 6e 45 39 53 73 50 54 66 72 QADggEBAMucN6pIExIK+t1EnE9SsPTfr
1a9880 67 54 31 65 58 6b 49 6f 79 51 59 2f 45 73 72 68 4d 41 74 75 64 58 48 2f 76 54 42 48 31 6a 4c 75 gT1eXkIoyQY/EsrhMAtudXH/vTBH1jLu
1a98a0 47 32 63 65 6e 54 6e 6d 43 6d 72 0a 45 62 58 6a 63 4b 43 68 7a 55 79 49 6d 5a 4f 4d 6b 58 44 69 G2cenTnmCmr.EbXjcKChzUyImZOMkXDi
1a98c0 71 77 38 63 76 70 4f 70 2f 32 50 56 35 41 64 67 30 36 4f 2f 6e 56 73 4a 38 64 57 4f 34 31 50 30 qw8cvpOp/2PV5Adg06O/nVsJ8dWO41P0
1a98e0 6a 6d 50 36 50 36 66 62 74 47 62 66 59 6d 62 57 30 57 35 42 6a 66 49 74 0a 74 65 70 33 53 70 2b jmP6P6fbtGbfYmbW0W5BjfIt.tep3Sp+
1a9900 64 57 4f 49 72 57 63 42 41 49 2b 30 74 4b 49 4a 46 50 6e 6c 55 6b 69 61 59 34 49 42 49 71 44 66 dWOIrWcBAI+0tKIJFPnlUkiaY4IBIqDf
1a9920 76 38 4e 5a 35 59 42 62 65 72 4f 67 4f 7a 57 36 73 52 42 63 34 4c 30 6e 61 34 55 55 2b 4b 72 6b v8NZ5YBberOgOzW6sRBc4L0na4UU+Krk
1a9940 32 55 38 38 36 0a 55 41 62 33 4c 75 6a 45 56 30 6c 73 59 53 45 59 31 51 53 74 65 44 77 73 4f 6f 2U886.UAb3LujEV0lsYSEY1QSteDwsOo
1a9960 42 72 70 2b 75 76 46 52 54 70 32 49 6e 42 75 54 68 73 34 70 46 73 69 76 39 6b 75 58 63 6c 56 7a Brp+uvFRTp2InBuThs4pFsiv9kuXclVz
1a9980 44 41 47 79 53 6a 34 64 7a 70 33 30 64 38 74 62 51 6b 0a 43 41 55 77 37 43 32 39 43 37 39 46 76 DAGySj4dzp30d8tbQk.CAUw7C29C79Fv
1a99a0 31 43 35 71 66 50 72 6d 41 45 53 72 63 69 49 78 70 67 30 58 34 30 4b 50 4d 62 70 31 5a 57 56 62 1C5qfPrmAESrciIxpg0X40KPMbp1ZWVb
1a99c0 64 34 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 d4=.-----END.CERTIFICATE-----..D
1a99e0 69 67 69 43 65 72 74 20 48 69 67 68 20 41 73 73 75 72 61 6e 63 65 20 45 56 20 52 6f 6f 74 20 43 igiCert.High.Assurance.EV.Root.C
1a9a00 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d A.==============================
1a9a20 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
1a9a40 0a 4d 49 49 44 78 54 43 43 41 71 32 67 41 77 49 42 41 67 49 51 41 71 78 63 4a 6d 6f 4c 51 4a 75 .MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJu
1a9a60 50 43 33 6e 79 72 6b 59 6c 64 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 PC3nyrkYldzANBgkqhkiG9w0BAQUFADB
1a9a80 73 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 sMQswCQYDVQQG.EwJVUzEVMBMGA1UECh
1a9aa0 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 MMRGlnaUNlcnQgSW5jMRkwFwYDVQQLEx
1a9ac0 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 73 77 0a 4b 51 59 44 56 B3d3cuZGlnaWNlcnQuY29tMSsw.KQYDV
1a9ae0 51 51 44 45 79 4a 45 61 57 64 70 51 32 56 79 64 43 42 49 61 57 64 6f 49 45 46 7a 63 33 56 79 59 QQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyY
1a9b00 57 35 6a 5a 53 42 46 56 69 42 53 62 32 39 30 49 45 4e 42 4d 42 34 58 44 54 41 32 4d 54 45 78 4d W5jZSBFViBSb290IENBMB4XDTA2MTExM
1a9b20 44 41 77 4d 44 41 77 0a 4d 46 6f 58 44 54 4d 78 4d 54 45 78 4d 44 41 77 4d 44 41 77 4d 46 6f 77 DAwMDAw.MFoXDTMxMTExMDAwMDAwMFow
1a9b40 62 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 54 41 54 42 67 4e 56 42 41 6f 54 bDELMAkGA1UEBhMCVVMxFTATBgNVBAoT
1a9b60 44 45 52 70 5a 32 6c 44 5a 58 4a 30 49 45 6c 75 59 7a 45 5a 0a 4d 42 63 47 41 31 55 45 43 78 4d DERpZ2lDZXJ0IEluYzEZ.MBcGA1UECxM
1a9b80 51 64 33 64 33 4c 6d 52 70 5a 32 6c 6a 5a 58 4a 30 4c 6d 4e 76 62 54 45 72 4d 43 6b 47 41 31 55 Qd3d3LmRpZ2ljZXJ0LmNvbTErMCkGA1U
1a9ba0 45 41 78 4d 69 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 47 6c 6e 61 43 42 42 63 33 4e 31 63 6d 46 EAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmF
1a9bc0 75 0a 59 32 55 67 52 56 59 67 55 6d 39 76 64 43 42 44 51 54 43 43 41 53 49 77 44 51 59 4a 4b 6f u.Y2UgRVYgUm9vdCBDQTCCASIwDQYJKo
1a9be0 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4d ZIhvcNAQEBBQADggEPADCCAQoCggEBAM
1a9c00 62 4d 35 58 50 6d 2b 39 53 37 35 53 30 74 0a 4d 71 62 66 35 59 45 2f 79 63 30 6c 53 62 5a 78 4b bM5XPm+9S75S0t.Mqbf5YE/yc0lSbZxK
1a9c20 73 50 56 6c 44 52 6e 6f 67 6f 63 73 46 39 70 70 6b 43 78 78 4c 65 79 6a 39 43 59 70 4b 6c 42 57 sPVlDRnogocsF9ppkCxxLeyj9CYpKlBW
1a9c40 54 72 54 33 4a 54 57 50 4e 74 30 4f 4b 52 4b 7a 45 30 6c 67 76 64 4b 70 56 4d 53 0a 4f 4f 37 7a TrT3JTWPNt0OKRKzE0lgvdKpVMS.OO7z
1a9c60 53 57 31 78 6b 58 35 6a 74 71 75 6d 58 38 4f 6b 68 50 68 50 59 6c 47 2b 2b 4d 58 73 32 7a 69 53 SW1xkX5jtqumX8OkhPhPYlG++MXs2ziS
1a9c80 34 77 62 6c 43 4a 45 4d 78 43 68 42 56 66 76 4c 57 6f 6b 56 66 6e 48 6f 4e 62 39 4e 63 67 6b 39 4wblCJEMxChBVfvLWokVfnHoNb9Ncgk9
1a9ca0 76 6a 6f 34 55 46 74 33 0a 4d 52 75 4e 73 38 63 6b 52 5a 71 6e 72 47 30 41 46 46 6f 45 74 37 6f vjo4UFt3.MRuNs8ckRZqnrG0AFFoEt7o
1a9cc0 54 36 31 45 4b 6d 45 46 42 49 6b 35 6c 59 59 65 42 51 56 43 6d 65 56 79 4a 33 68 6c 4b 56 39 55 T61EKmEFBIk5lYYeBQVCmeVyJ3hlKV9U
1a9ce0 75 35 6c 30 63 55 79 78 2b 6d 4d 30 61 42 68 61 6b 61 48 50 51 0a 4e 41 51 54 58 4b 46 78 30 31 u5l0cUyx+mM0aBhakaHPQ.NAQTXKFx01
1a9d00 70 38 56 64 74 65 5a 4f 45 33 68 7a 42 57 42 4f 55 52 74 43 6d 41 45 76 46 35 4f 59 69 69 41 68 p8VdteZOE3hzBWBOURtCmAEvF5OYiiAh
1a9d20 46 38 4a 32 61 33 69 4c 64 34 38 73 6f 4b 71 44 69 72 43 6d 54 43 76 32 5a 64 6c 59 54 42 6f 53 F8J2a3iLd48soKqDirCmTCv2ZdlYTBoS
1a9d40 55 65 0a 68 31 30 61 55 41 73 67 45 73 78 42 75 32 34 4c 55 54 69 34 53 38 73 43 41 77 45 41 41 Ue.h10aUAsgEsxBu24LUTi4S8sCAwEAA
1a9d60 61 4e 6a 4d 47 45 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 41 38 47 41 aNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA
1a9d80 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 0a 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 1UdEwEB/wQFMAMB.Af8wHQYDVR0OBBYE
1a9da0 46 4c 45 2b 77 32 6b 44 2b 4c 39 48 41 64 53 59 4a 68 6f 49 41 75 39 6a 5a 43 76 44 4d 42 38 47 FLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8G
1a9dc0 41 31 55 64 49 77 51 59 4d 42 61 41 46 4c 45 2b 77 32 6b 44 2b 4c 39 48 41 64 53 59 0a 4a 68 6f A1UdIwQYMBaAFLE+w2kD+L9HAdSY.Jho
1a9de0 49 41 75 39 6a 5a 43 76 44 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 41 34 49 IAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4I
1a9e00 42 41 51 41 63 47 67 61 58 33 4e 65 63 6e 7a 79 49 5a 67 59 49 56 79 48 62 49 55 66 34 4b 6d 65 BAQAcGgaX3NecnzyIZgYIVyHbIUf4Kme
1a9e20 71 76 78 67 79 64 6b 41 51 0a 56 38 47 4b 38 33 72 5a 45 57 57 4f 4e 66 71 65 2f 45 57 31 6e 74 qvxgydkAQ.V8GK83rZEWWONfqe/EW1nt
1a9e40 6c 4d 4d 55 75 34 6b 65 68 44 4c 49 36 7a 65 4d 37 62 34 31 4e 35 63 64 62 6c 49 5a 51 42 32 6c lMMUu4kehDLI6zeM7b41N5cdblIZQB2l
1a9e60 57 48 6d 69 52 6b 39 6f 70 6d 7a 4e 36 63 4e 38 32 6f 4e 4c 46 70 0a 6d 79 50 49 6e 6e 67 69 4b WHmiRk9opmzN6cN82oNLFp.myPInngiK
1a9e80 33 42 44 34 31 56 48 4d 57 45 5a 37 31 6a 46 68 53 39 4f 4d 50 61 67 4d 52 59 6a 79 4f 66 69 5a 3BD41VHMWEZ71jFhS9OMPagMRYjyOfiZ
1a9ea0 52 59 7a 79 37 38 61 47 36 41 39 2b 4d 70 65 69 7a 47 4c 59 41 69 4a 4c 51 77 47 58 46 4b 33 78 RYzy78aG6A9+MpeizGLYAiJLQwGXFK3x
1a9ec0 50 6b 4b 0a 6d 4e 45 56 58 35 38 53 76 6e 77 32 59 7a 69 39 52 4b 52 2f 35 43 59 72 43 73 53 58 PkK.mNEVX58Svnw2Yzi9RKR/5CYrCsSX
1a9ee0 61 51 33 70 6a 4f 4c 41 45 46 65 34 79 48 59 53 6b 56 58 79 53 47 6e 59 76 43 6f 43 57 77 39 45 aQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E
1a9f00 31 43 41 78 32 2f 53 36 63 43 5a 64 6b 47 43 65 0a 76 45 73 58 43 53 2b 30 79 78 35 44 61 4d 6b 1CAx2/S6cCZdkGCe.vEsXCS+0yx5DaMk
1a9f20 48 4a 38 48 53 58 50 66 71 49 62 6c 6f 45 70 77 38 6e 4c 2b 65 2f 49 42 63 6d 32 50 4e 37 45 65 HJ8HSXPfqIbloEpw8nL+e/IBcm2PN7Ee
1a9f40 71 4a 53 64 6e 6f 44 66 7a 41 49 4a 39 56 4e 65 70 2b 4f 6b 75 45 36 4e 33 36 42 39 4b 0a 2d 2d qJSdnoDfzAIJ9VNep+OkuE6N36B9K.--
1a9f60 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 70 6c 75 ---END.CERTIFICATE-----..Certplu
1a9f80 73 20 43 6c 61 73 73 20 32 20 50 72 69 6d 61 72 79 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d s.Class.2.Primary.CA.===========
1a9fa0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 ================.-----BEGIN.CERT
1a9fc0 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 6b 6a 43 43 41 6e 71 67 41 77 49 42 41 67 49 IFICATE-----.MIIDkjCCAnqgAwIBAgI
1a9fe0 52 41 49 57 39 53 2f 50 59 32 75 4e 70 39 70 54 58 58 38 4f 6c 52 43 4d 77 44 51 59 4a 4b 6f 5a RAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZ
1aa000 49 68 76 63 4e 41 51 45 46 42 51 41 77 50 54 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 52 6c IhvcNAQEFBQAwPTELMAkGA1UE.BhMCRl
1aa020 49 78 45 54 41 50 42 67 4e 56 42 41 6f 54 43 45 4e 6c 63 6e 52 77 62 48 56 7a 4d 52 73 77 47 51 IxETAPBgNVBAoTCENlcnRwbHVzMRswGQ
1aa040 59 44 56 51 51 44 45 78 4a 44 62 47 46 7a 63 79 41 79 49 46 42 79 61 57 31 68 63 6e 6b 67 51 30 YDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0
1aa060 45 77 48 68 63 4e 0a 4f 54 6b 77 4e 7a 41 33 4d 54 63 77 4e 54 41 77 57 68 63 4e 4d 54 6b 77 4e EwHhcN.OTkwNzA3MTcwNTAwWhcNMTkwN
1aa080 7a 41 32 4d 6a 4d 31 4f 54 55 35 57 6a 41 39 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 47 55 zA2MjM1OTU5WjA9MQswCQYDVQQGEwJGU
1aa0a0 6a 45 52 4d 41 38 47 41 31 55 45 43 68 4d 49 51 32 56 79 0a 64 48 42 73 64 58 4d 78 47 7a 41 5a jERMA8GA1UEChMIQ2Vy.dHBsdXMxGzAZ
1aa0c0 42 67 4e 56 42 41 4d 54 45 6b 4e 73 59 58 4e 7a 49 44 49 67 55 48 4a 70 62 57 46 79 65 53 42 44 BgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBD
1aa0e0 51 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 QTCCASIwDQYJKoZIhvcNAQEBBQADggEP
1aa100 0a 41 44 43 43 41 51 6f 43 67 67 45 42 41 4e 78 51 6c 74 41 53 2b 44 58 53 43 48 68 36 74 6c 4a .ADCCAQoCggEBANxQltAS+DXSCHh6tlJ
1aa120 77 2f 57 2f 75 7a 37 6b 52 79 31 31 33 34 65 7a 70 66 67 53 4e 31 73 78 76 63 30 4e 58 59 4b 77 w/W/uz7kRy1134ezpfgSN1sxvc0NXYKw
1aa140 7a 43 6b 54 73 41 31 38 63 67 43 53 52 0a 35 61 69 52 56 68 4b 43 39 2b 41 72 39 4e 75 75 59 53 zCkTsA18cgCSR.5aiRVhKC9+Ar9NuuYS
1aa160 36 4a 45 49 31 72 62 4c 71 7a 41 72 33 56 4e 73 56 49 4e 79 50 69 38 46 6f 33 55 6a 4d 58 45 75 6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEu
1aa180 4c 52 59 45 32 2b 4c 30 45 52 34 2f 59 58 4a 51 79 4c 6b 63 41 62 6d 58 75 5a 0a 56 67 32 76 37 LRYE2+L0ER4/YXJQyLkcAbmXuZ.Vg2v7
1aa1a0 74 4b 38 52 31 66 6a 65 55 6c 37 4e 49 6b 6e 4a 49 54 65 73 65 7a 70 57 45 37 2b 54 74 39 61 76 tK8R1fjeUl7NIknJITesezpWE7+Tt9av
1aa1c0 6b 47 74 72 41 6a 46 47 41 37 76 30 6c 50 75 62 4e 43 64 45 67 45 54 6a 64 79 41 59 76 65 56 71 kGtrAjFGA7v0lPubNCdEgETjdyAYveVq
1aa1e0 55 53 49 53 6e 46 4f 0a 59 46 57 65 32 79 4d 5a 65 56 59 48 44 44 39 6a 43 31 79 77 34 72 35 2b USISnFO.YFWe2yMZeVYHDD9jC1yw4r5+
1aa200 46 66 79 55 4d 31 68 42 4f 48 54 45 34 59 2b 4c 33 79 61 73 48 37 57 4c 4f 37 64 44 57 57 75 77 FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuw
1aa220 4a 4b 5a 74 6b 49 76 45 63 75 70 64 4d 35 69 33 79 39 35 65 0a 65 2b 2b 55 38 52 73 2b 79 73 6b JKZtkIvEcupdM5i3y95e.e++U8Rs+ysk
1aa240 68 77 63 57 59 41 71 71 69 39 6c 74 33 6d 2f 56 2b 6c 6c 55 30 48 47 64 70 77 50 46 43 34 30 65 hwcWYAqqi9lt3m/V+llU0HGdpwPFC40e
1aa260 73 2f 43 67 63 5a 6c 55 43 41 77 45 41 41 61 4f 42 6a 44 43 42 69 54 41 50 42 67 4e 56 48 52 4d s/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRM
1aa280 45 0a 43 44 41 47 41 51 48 2f 41 67 45 4b 4d 41 73 47 41 31 55 64 44 77 51 45 41 77 49 42 42 6a E.CDAGAQH/AgEKMAsGA1UdDwQEAwIBBj
1aa2a0 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 34 33 4d 74 33 38 73 4f 4b 41 7a 65 33 62 4f 6b 79 6e AdBgNVHQ4EFgQU43Mt38sOKAze3bOkyn
1aa2c0 6d 34 6a 72 76 6f 4d 49 6b 77 45 51 59 4a 0a 59 49 5a 49 41 59 62 34 51 67 45 42 42 41 51 44 41 m4jrvoMIkwEQYJ.YIZIAYb4QgEBBAQDA
1aa2e0 67 45 47 4d 44 63 47 41 31 55 64 48 77 51 77 4d 43 34 77 4c 4b 41 71 6f 43 69 47 4a 6d 68 30 64 gEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0d
1aa300 48 41 36 4c 79 39 33 64 33 63 75 59 32 56 79 64 48 42 73 64 58 4d 75 59 32 39 74 0a 4c 30 4e 53 HA6Ly93d3cuY2VydHBsdXMuY29t.L0NS
1aa320 54 43 39 6a 62 47 46 7a 63 7a 49 75 59 33 4a 73 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 TC9jbGFzczIuY3JsMA0GCSqGSIb3DQEB
1aa340 42 51 55 41 41 34 49 42 41 51 43 6e 56 4d 2b 49 52 42 6e 4c 33 39 52 2f 41 4e 39 57 4d 32 4b 31 BQUAA4IBAQCnVM+IRBnL39R/AN9WM2K1
1aa360 39 31 45 42 6b 4f 76 44 0a 50 39 47 49 52 4f 6b 6b 58 65 2f 6e 46 4c 30 67 74 35 6f 38 41 50 35 91EBkOvD.P9GIROkkXe/nFL0gt5o8AP5
1aa380 74 6e 39 75 51 33 4e 66 30 59 74 61 4c 63 46 33 6e 35 51 52 49 71 57 68 38 79 66 46 43 38 32 78 tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x
1aa3a0 2f 78 58 70 38 48 56 47 49 75 74 49 4b 50 69 64 64 33 69 31 52 0a 54 74 4d 54 5a 47 6e 6b 4c 75 /xXp8HVGIutIKPidd3i1R.TtMTZGnkLu
1aa3c0 50 54 35 35 73 4a 6d 61 62 67 6c 5a 76 4f 47 74 64 2f 76 6a 7a 4f 55 72 4d 52 46 63 45 50 46 38 PT55sJmabglZvOGtd/vjzOUrMRFcEPF8
1aa3e0 30 44 75 35 77 6c 46 62 71 69 64 6f 6e 38 42 76 45 59 30 4a 4e 4c 44 6e 79 43 74 36 58 30 39 6c 0Du5wlFbqidon8BvEY0JNLDnyCt6X09l
1aa400 2f 2b 0a 37 55 43 6d 6e 59 52 30 4f 62 6e 63 48 6f 55 57 32 69 6b 62 68 69 4d 41 79 62 75 4a 66 /+.7UCmnYR0ObncHoUW2ikbhiMAybuJf
1aa420 6d 36 41 69 42 34 76 46 4c 51 44 4a 4b 67 79 62 77 4f 61 52 79 77 77 76 6c 62 47 70 30 49 43 63 m6AiB4vFLQDJKgybwOaRywwvlbGp0ICc
1aa440 42 76 71 51 4e 69 36 42 51 4e 77 42 36 53 57 0a 2f 2f 31 49 4d 77 72 68 33 4b 57 42 6b 4a 74 4e BvqQNi6BQNwB6SW.//1IMwrh3KWBkJtN
1aa460 33 58 33 6e 35 37 4c 4e 58 4d 68 71 6c 66 69 6c 39 6f 33 45 58 58 67 49 76 6e 73 47 31 6b 6e 50 3X3n57LNXMhqlfil9o3EXXgIvnsG1knP
1aa480 47 54 5a 51 49 79 34 49 35 70 34 46 54 55 63 59 31 52 62 70 73 64 61 32 45 4e 57 37 0a 6c 37 2b GTZQIy4I5p4FTUcY1Rbpsda2ENW7.l7+
1aa4a0 69 6a 72 52 55 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a ijrRU.-----END.CERTIFICATE-----.
1aa4c0 0a 44 53 54 20 52 6f 6f 74 20 43 41 20 58 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d .DST.Root.CA.X3.==============.-
1aa4e0 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 53 ----BEGIN.CERTIFICATE-----.MIIDS
1aa500 6a 43 43 41 6a 4b 67 41 77 49 42 41 67 49 51 52 4b 2b 77 67 4e 61 6a 4a 37 71 4a 4d 44 6d 47 4c jCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGL
1aa520 76 68 41 61 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 41 2f 4d 53 51 77 49 vhAazANBgkqhkiG9w0BAQUFADA/MSQwI
1aa540 67 59 44 56 51 51 4b 0a 45 78 74 45 61 57 64 70 64 47 46 73 49 46 4e 70 5a 32 35 68 64 48 56 79 gYDVQQK.ExtEaWdpdGFsIFNpZ25hdHVy
1aa560 5a 53 42 55 63 6e 56 7a 64 43 42 44 62 79 34 78 46 7a 41 56 42 67 4e 56 42 41 4d 54 44 6b 52 54 ZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRT
1aa580 56 43 42 53 62 32 39 30 49 45 4e 42 49 46 67 7a 4d 42 34 58 0a 44 54 41 77 4d 44 6b 7a 4d 44 49 VCBSb290IENBIFgzMB4X.DTAwMDkzMDI
1aa5a0 78 4d 54 49 78 4f 56 6f 58 44 54 49 78 4d 44 6b 7a 4d 44 45 30 4d 44 45 78 4e 56 6f 77 50 7a 45 xMTIxOVoXDTIxMDkzMDE0MDExNVowPzE
1aa5c0 6b 4d 43 49 47 41 31 55 45 43 68 4d 62 52 47 6c 6e 61 58 52 68 62 43 42 54 61 57 64 75 59 58 52 kMCIGA1UEChMbRGlnaXRhbCBTaWduYXR
1aa5e0 31 0a 63 6d 55 67 56 48 4a 31 63 33 51 67 51 32 38 75 4d 52 63 77 46 51 59 44 56 51 51 44 45 77 1.cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw
1aa600 35 45 55 31 51 67 55 6d 39 76 64 43 42 44 51 53 42 59 4d 7a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKo
1aa620 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 0a 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 ZIhvcNAQEBBQAD.ggEPADCCAQoCggEBA
1aa640 4e 2b 76 36 5a 64 51 43 49 4e 58 74 4d 78 69 5a 66 61 51 67 75 7a 48 30 79 78 72 4d 4d 70 62 37 N+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7
1aa660 4e 6e 44 66 63 64 41 77 52 67 55 69 2b 44 6f 4d 33 5a 4a 4b 75 4d 2f 49 55 6d 54 0a 72 45 34 4f NnDfcdAwRgUi+DoM3ZJKuM/IUmT.rE4O
1aa680 72 7a 35 49 79 32 58 75 2f 4e 4d 68 44 32 58 53 4b 74 6b 79 6a 34 7a 6c 39 33 65 77 45 6e 75 31 rz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1
1aa6a0 6c 63 43 4a 6f 36 6d 36 37 58 4d 75 65 67 77 47 4d 6f 4f 69 66 6f 6f 55 4d 4d 30 52 6f 4f 45 71 lcCJo6m67XMuegwGMoOifooUMM0RoOEq
1aa6c0 4f 4c 6c 35 43 6a 48 39 0a 55 4c 32 41 5a 64 2b 33 55 57 4f 44 79 4f 4b 49 59 65 70 4c 59 59 48 OLl5CjH9.UL2AZd+3UWODyOKIYepLYYH
1aa6e0 73 55 6d 75 35 6f 75 4a 4c 47 69 69 66 53 4b 4f 65 44 4e 6f 4a 6a 6a 34 58 4c 68 37 64 49 4e 39 sUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9
1aa700 62 78 69 71 4b 71 79 36 39 63 4b 33 46 43 78 6f 6c 6b 48 52 79 0a 78 58 74 71 71 7a 54 57 4d 49 bxiqKqy69cK3FCxolkHRy.xXtqqzTWMI
1aa720 6e 2f 35 57 67 54 65 31 51 4c 79 4e 61 75 37 46 71 63 6b 68 34 39 5a 4c 4f 4d 78 74 2b 2f 79 55 n/5WgTe1QLyNau7Fqckh49ZLOMxt+/yU
1aa740 46 77 37 42 5a 79 31 53 62 73 4f 46 55 35 51 39 44 38 2f 52 68 63 51 50 47 58 36 39 57 61 6d 34 Fw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam4
1aa760 30 64 0a 75 74 6f 6c 75 63 62 59 33 38 45 56 41 6a 71 72 32 6d 37 78 50 69 37 31 58 41 69 63 50 0d.utolucbY38EVAjqr2m7xPi71XAicP
1aa780 4e 61 44 61 65 51 51 6d 78 6b 71 74 69 6c 58 34 2b 55 39 6d 35 2f 77 41 6c 30 43 41 77 45 41 41 NaDaeQQmxkqtilX4+U9m5/wAl0CAwEAA
1aa7a0 61 4e 43 4d 45 41 77 44 77 59 44 56 52 30 54 0a 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f aNCMEAwDwYDVR0T.AQH/BAUwAwEB/zAO
1aa7c0 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE
1aa7e0 46 4d 53 6e 73 61 52 37 4c 48 48 36 32 2b 46 4c 6b 48 58 2f 78 42 56 67 68 59 6b 51 0a 4d 41 30 FMSnsaR7LHH62+FLkHX/xBVghYkQ.MA0
1aa800 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 41 34 49 42 41 51 43 6a 47 69 79 62 46 77 42 GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwB
1aa820 63 71 52 37 75 4b 47 59 33 4f 72 2b 44 78 7a 39 4c 77 77 6d 67 6c 53 42 64 34 39 6c 5a 52 4e 49 cqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI
1aa840 2b 44 54 36 39 69 6b 75 67 0a 64 42 2f 4f 45 49 4b 63 64 42 6f 64 66 70 67 61 33 63 73 54 53 37 +DT69ikug.dB/OEIKcdBodfpga3csTS7
1aa860 4d 67 52 4f 53 52 36 63 7a 38 66 61 58 62 61 75 58 2b 35 76 33 67 54 74 32 33 41 44 71 31 63 45 MgROSR6cz8faXbauX+5v3gTt23ADq1cE
1aa880 6d 76 38 75 58 72 41 76 48 52 41 6f 73 5a 79 35 51 36 58 6b 6a 45 0a 47 42 35 59 47 56 38 65 41 mv8uXrAvHRAosZy5Q6XkjE.GB5YGV8eA
1aa8a0 6c 72 77 44 50 47 78 72 61 6e 63 57 59 61 4c 62 75 6d 52 39 59 62 4b 2b 72 6c 6d 4d 36 70 5a 57 lrwDPGxrancWYaLbumR9YbK+rlmM6pZW
1aa8c0 38 37 69 70 78 5a 7a 52 38 73 72 7a 4a 6d 77 4e 30 6a 50 34 31 5a 4c 39 63 38 50 44 48 49 79 68 87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh
1aa8e0 38 62 77 0a 52 4c 74 54 63 6d 31 44 39 53 5a 49 6d 6c 4a 6e 74 31 69 72 2f 6d 64 32 63 58 6a 62 8bw.RLtTcm1D9SZImlJnt1ir/md2cXjb
1aa900 44 61 4a 57 46 42 4d 35 4a 44 47 46 6f 71 67 43 57 6a 42 48 34 64 31 51 42 37 77 43 43 5a 41 41 DaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA
1aa920 36 32 52 6a 59 4a 73 57 76 49 6a 4a 45 75 62 53 0a 66 5a 47 4c 2b 54 30 79 6a 57 57 30 36 58 79 62RjYJsWvIjJEubS.fZGL+T0yjWW06Xy
1aa940 78 56 33 62 71 78 62 59 6f 4f 62 38 56 5a 52 7a 49 39 6e 65 57 61 67 71 4e 64 77 76 59 6b 51 73 xV3bqxbYoOb8VZRzI9neWagqNdwvYkQs
1aa960 45 6a 67 66 62 4b 62 59 4b 37 70 32 43 4e 54 55 51 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 EjgfbKbYK7p2CNTUQ.-----END.CERTI
1aa980 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 77 69 73 73 53 69 67 6e 20 47 6f 6c 64 20 43 41 20 2d FICATE-----..SwissSign.Gold.CA.-
1aa9a0 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d .G2.======================.-----
1aa9c0 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 75 6a 43 43 41 BEGIN.CERTIFICATE-----.MIIFujCCA
1aa9e0 36 4b 67 41 77 49 42 41 67 49 4a 41 4c 74 41 48 45 50 31 58 6b 2b 77 4d 41 30 47 43 53 71 47 53 6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGS
1aaa00 49 62 33 44 51 45 42 42 51 55 41 4d 45 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4e 49 4d Ib3DQEBBQUAMEUxCzAJBgNVBAYTAkNIM
1aaa20 52 55 77 0a 45 77 59 44 56 51 51 4b 45 77 78 54 64 32 6c 7a 63 31 4e 70 5a 32 34 67 51 55 63 78 RUw.EwYDVQQKEwxTd2lzc1NpZ24gQUcx
1aaa40 48 7a 41 64 42 67 4e 56 42 41 4d 54 46 6c 4e 33 61 58 4e 7a 55 32 6c 6e 62 69 42 48 62 32 78 6b HzAdBgNVBAMTFlN3aXNzU2lnbiBHb2xk
1aaa60 49 45 4e 42 49 43 30 67 52 7a 49 77 48 68 63 4e 0a 4d 44 59 78 4d 44 49 31 4d 44 67 7a 4d 44 4d IENBIC0gRzIwHhcN.MDYxMDI1MDgzMDM
1aaa80 31 57 68 63 4e 4d 7a 59 78 4d 44 49 31 4d 44 67 7a 4d 44 4d 31 57 6a 42 46 4d 51 73 77 43 51 59 1WhcNMzYxMDI1MDgzMDM1WjBFMQswCQY
1aaaa0 44 56 51 51 47 45 77 4a 44 53 44 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 55 33 64 70 0a 63 33 DVQQGEwJDSDEVMBMGA1UEChMMU3dp.c3
1aaac0 4e 54 61 57 64 75 49 45 46 48 4d 52 38 77 48 51 59 44 56 51 51 44 45 78 5a 54 64 32 6c 7a 63 31 NTaWduIEFHMR8wHQYDVQQDExZTd2lzc1
1aaae0 4e 70 5a 32 34 67 52 32 39 73 5a 43 42 44 51 53 41 74 49 45 63 79 4d 49 49 43 49 6a 41 4e 42 67 NpZ24gR29sZCBDQSAtIEcyMIICIjANBg
1aab00 6b 71 68 6b 69 47 39 77 30 42 0a 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 kqhkiG9w0B.AQEFAAOCAg8AMIICCgKCA
1aab20 67 45 41 72 2b 54 75 66 6f 73 6b 44 68 4a 75 71 56 41 74 46 6b 51 37 6b 70 4a 63 79 72 68 64 68 gEAr+TufoskDhJuqVAtFkQ7kpJcyrhdh
1aab40 4a 4a 43 45 79 71 38 5a 56 65 43 51 44 35 58 4a 4d 31 51 69 79 55 71 0a 74 32 2f 38 37 36 4c 51 JJCEyq8ZVeCQD5XJM1QiyUq.t2/876LQ
1aab60 77 42 38 43 4a 45 6f 54 6c 6f 38 6a 45 2b 59 6f 57 41 43 6a 52 38 63 47 70 34 51 6a 4b 37 75 39 wB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9
1aab80 6c 69 74 2f 56 63 79 4c 77 56 63 66 44 6d 4a 6c 44 39 30 39 56 6f 70 7a 32 71 35 2b 62 62 71 42 lit/VcyLwVcfDmJlD909Vopz2q5+bbqB
1aaba0 48 48 35 43 0a 6a 43 41 31 32 55 4e 4e 68 50 71 45 32 31 49 73 38 77 34 6e 64 77 74 72 76 78 45 HH5C.jCA12UNNhPqE21Is8w4ndwtrvxE
1aabc0 76 63 6e 69 66 4c 74 67 2b 35 68 67 33 57 69 70 79 2b 64 70 69 6b 4a 4b 56 79 68 2b 63 36 62 4d vcnifLtg+5hg3Wipy+dpikJKVyh+c6bM
1aabe0 38 4b 38 76 7a 41 52 4f 2f 57 73 2f 42 74 51 70 67 0a 76 64 32 31 6d 57 52 54 75 4b 43 57 73 32 8K8vzARO/Ws/BtQpg.vd21mWRTuKCWs2
1aac00 2f 69 4a 6e 65 52 6a 4f 42 69 45 41 4b 66 4e 41 2b 6b 31 5a 49 7a 55 64 36 2b 6a 62 71 45 65 6d /iJneRjOBiEAKfNA+k1ZIzUd6+jbqEem
1aac20 41 38 61 74 75 66 4b 2b 7a 65 33 67 45 2f 62 6b 33 6c 55 49 62 4c 74 4b 2f 74 52 45 44 46 0a 79 A8atufK+ze3gE/bk3lUIbLtK/tREDF.y
1aac40 6c 71 4d 32 74 49 72 66 4b 6a 75 76 71 62 6c 43 71 6f 4f 70 64 38 46 55 72 64 56 78 79 4a 64 4d lqM2tIrfKjuvqblCqoOpd8FUrdVxyJdM
1aac60 6d 71 58 6c 32 4d 54 32 38 6e 62 65 54 5a 37 68 54 70 4b 78 56 4b 4a 2b 53 54 6e 6e 58 65 70 67 mqXl2MT28nbeTZ7hTpKxVKJ+STnnXepg
1aac80 76 39 56 48 4b 56 78 61 53 76 52 0a 41 69 54 79 73 79 62 55 61 39 6f 45 56 65 58 42 43 73 64 74 v9VHKVxaSvR.AiTysybUa9oEVeXBCsdt
1aaca0 4d 44 65 51 4b 75 53 65 46 44 4e 65 46 68 64 56 78 56 75 31 79 7a 53 4a 6b 76 47 64 4a 6f 2b 68 MDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+h
1aacc0 42 39 54 47 73 6e 68 51 32 77 77 4d 43 33 77 4c 6a 45 48 58 75 65 6e 64 0a 6a 49 6a 33 6f 30 32 B9TGsnhQ2wwMC3wLjEHXuend.jIj3o02
1aace0 79 4d 73 7a 59 46 39 72 4e 74 38 35 6d 6e 64 54 39 58 76 2b 39 6c 7a 34 70 64 65 64 2b 70 32 4a yMszYF9rNt85mndT9Xv+9lz4pded+p2J
1aad00 59 72 79 55 30 70 55 48 48 50 62 77 4e 55 4d 6f 44 41 77 38 49 57 68 2b 56 63 33 68 69 76 36 39 YryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69
1aad20 79 46 47 6b 4f 0a 70 65 55 44 44 6e 69 4f 4a 69 68 43 38 41 63 4c 59 69 41 51 5a 7a 6c 47 2b 71 yFGkO.peUDDniOJihC8AcLYiAQZzlG+q
1aad40 6b 44 7a 41 51 34 65 6d 62 76 49 49 4f 31 6a 45 70 57 6a 70 45 41 2f 49 35 63 67 74 36 49 6f 4d kDzAQ4embvIIO1jEpWjpEA/I5cgt6IoM
1aad60 50 69 61 47 35 39 6a 65 38 38 33 57 58 30 58 61 78 52 0a 37 79 53 41 72 71 70 57 6c 32 2f 35 72 PiaG59je883WX0XaxR.7ySArqpWl2/5r
1aad80 58 33 61 59 54 2b 59 64 7a 79 6c 6b 62 59 63 6a 43 62 61 5a 61 49 4a 62 63 48 69 56 4f 4f 35 79 X3aYT+YdzylkbYcjCbaZaIJbcHiVOO5y
1aada0 6b 78 4d 67 49 39 33 65 32 43 61 48 74 2b 32 38 6b 67 65 44 72 70 4f 56 47 32 59 34 4f 47 69 0a kxMgI93e2CaHt+28kgeDrpOVG2Y4OGi.
1aadc0 47 71 4a 33 55 4d 2f 45 59 35 4c 73 52 78 6d 64 36 2b 5a 72 7a 73 45 43 41 77 45 41 41 61 4f 42 GqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOB
1aade0 72 44 43 42 71 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 rDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYD
1aae00 56 52 30 54 41 51 48 2f 42 41 55 77 0a 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 VR0TAQH/BAUw.AwEB/zAdBgNVHQ4EFgQ
1aae20 55 57 79 56 37 6c 71 52 6c 55 58 36 34 4f 66 50 41 65 47 5a 65 36 44 72 6e 38 4f 34 77 48 77 59 UWyV7lqRlUX64OfPAeGZe6Drn8O4wHwY
1aae40 44 56 52 30 6a 42 42 67 77 46 6f 41 55 57 79 56 37 6c 71 52 6c 55 58 36 34 0a 4f 66 50 41 65 47 DVR0jBBgwFoAUWyV7lqRlUX64.OfPAeG
1aae60 5a 65 36 44 72 6e 38 4f 34 77 52 67 59 44 56 52 30 67 42 44 38 77 50 54 41 37 42 67 6c 67 68 58 Ze6Drn8O4wRgYDVR0gBD8wPTA7BglghX
1aae80 51 42 57 51 45 43 41 51 45 77 4c 6a 41 73 42 67 67 72 42 67 45 46 42 51 63 43 41 52 59 67 61 48 QBWQECAQEwLjAsBggrBgEFBQcCARYgaH
1aaea0 52 30 63 44 6f 76 0a 4c 33 4a 6c 63 47 39 7a 61 58 52 76 63 6e 6b 75 63 33 64 70 63 33 4e 7a 61 R0cDov.L3JlcG9zaXRvcnkuc3dpc3Nza
1aaec0 57 64 75 4c 6d 4e 76 62 53 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 WduLmNvbS8wDQYJKoZIhvcNAQEFBQADg
1aaee0 67 49 42 41 43 65 36 34 35 52 38 38 61 37 41 33 68 66 6d 0a 35 64 6a 56 39 56 53 77 67 2f 53 37 gIBACe645R88a7A3hfm.5djV9VSwg/S7
1aaf00 7a 56 34 46 65 30 2b 66 64 57 61 76 50 4f 68 57 66 76 78 79 65 44 67 44 32 53 74 69 47 77 43 35 zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5
1aaf20 2b 4f 6c 67 7a 63 7a 4f 55 59 72 48 55 44 46 75 34 55 70 2b 47 43 39 70 57 62 59 39 5a 49 45 72 +OlgzczOUYrHUDFu4Up+GC9pWbY9ZIEr
1aaf40 0a 34 34 4f 45 35 69 4b 48 6a 6e 33 67 37 67 4b 5a 59 62 67 65 39 4c 67 72 69 42 49 57 68 4d 49 .44OE5iKHjn3g7gKZYbge9LgriBIWhMI
1aaf60 78 6b 7a 69 57 4d 61 61 35 4f 31 4d 2f 77 79 53 54 56 6c 74 70 6b 75 7a 46 77 62 73 34 41 4f 50 xkziWMaa5O1M/wySTVltpkuzFwbs4AOP
1aaf80 73 46 36 6d 34 33 4d 64 38 41 59 4f 66 0a 4d 6b 65 36 55 69 49 30 48 54 4a 36 43 56 61 6e 66 43 sF6m43Md8AYOf.Mke6UiI0HTJ6CVanfC
1aafa0 55 32 71 54 31 4c 32 73 43 43 62 77 71 37 45 73 69 48 53 79 63 52 2b 52 34 74 78 35 4d 2f 6e 74 U2qT1L2sCCbwq7EsiHSycR+R4tx5M/nt
1aafc0 74 66 4a 6d 74 53 32 53 36 4b 38 52 54 47 52 49 30 56 71 62 65 2f 76 64 36 6d 0a 47 75 36 75 4c tfJmtS2S6K8RTGRI0Vqbe/vd6m.Gu6uL
1aafe0 66 74 49 64 78 66 2b 75 2b 79 76 47 50 55 71 55 66 41 35 68 4a 65 56 62 47 34 62 77 79 76 45 64 ftIdxf+u+yvGPUqUfA5hJeVbG4bwyvEd
1ab000 47 42 35 4a 62 41 4b 4a 39 2f 66 58 74 49 35 7a 30 56 39 51 6b 76 66 73 79 77 65 78 63 5a 64 79 GB5JbAKJ9/fXtI5z0V9QkvfsywexcZdy
1ab020 6c 55 36 6f 4a 78 70 0a 6d 6f 2f 61 37 37 4b 77 50 4a 2b 48 62 42 49 72 5a 58 41 56 55 6a 45 61 lU6oJxp.mo/a77KwPJ+HbBIrZXAVUjEa
1ab040 4a 4d 39 76 4d 53 4e 51 48 34 78 50 6a 79 50 44 64 45 46 6a 48 46 57 6f 46 4e 30 2b 34 46 46 51 JM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQ
1ab060 7a 2f 45 62 4d 46 59 4f 6b 72 43 43 68 64 69 44 79 79 4a 6b 0a 76 43 32 34 4a 64 56 55 6f 72 67 z/EbMFYOkrCChdiDyyJk.vC24JdVUorg
1ab080 47 36 71 32 53 70 43 53 67 77 59 61 31 53 68 4e 71 52 38 38 75 43 31 61 56 56 4d 76 4f 6d 74 74 G6q2SpCSgwYa1ShNqR88uC1aVVMvOmtt
1ab0a0 71 74 4b 61 79 32 30 45 49 68 69 64 33 39 32 71 67 51 6d 77 4c 4f 4d 37 58 64 56 41 79 6b 73 4c qtKay20EIhid392qgQmwLOM7XdVAyksL
1ab0c0 66 0a 4b 7a 41 69 53 4e 44 56 51 54 67 6c 58 61 54 70 58 5a 2f 47 6c 48 58 51 52 66 30 77 6c 30 f.KzAiSNDVQTglXaTpXZ/GlHXQRf0wl0
1ab0e0 4f 50 6b 4b 73 4b 78 34 5a 7a 59 45 70 70 4c 64 36 6c 65 4e 63 47 32 6d 71 65 53 7a 35 33 4f 69 OPkKsKx4ZzYEppLd6leNcG2mqeSz53Oi
1ab100 41 54 49 67 48 51 76 32 69 65 59 32 42 72 0a 4e 55 30 4c 62 62 71 68 50 63 43 54 34 48 38 6a 73 ATIgHQv2ieY2Br.NU0LbbqhPcCT4H8js
1ab120 31 57 74 63 69 56 4f 52 76 6e 53 46 75 2b 77 5a 4d 45 42 6e 75 6e 4b 6f 47 71 59 44 73 2f 59 59 1WtciVORvnSFu+wZMEBnunKoGqYDs/YY
1ab140 50 49 76 53 62 6a 6b 51 75 45 34 4e 52 62 30 79 47 35 50 39 34 46 57 36 4c 71 6a 0a 76 69 4f 76 PIvSbjkQuE4NRb0yG5P94FW6Lqj.viOv
1ab160 72 76 31 76 41 2b 41 43 4f 7a 42 32 2b 68 74 74 51 63 38 42 73 65 6d 34 79 57 62 30 32 79 62 7a rv1vA+ACOzB2+httQc8Bsem4yWb02ybz
1ab180 4f 71 52 30 38 6b 6b 6b 57 38 6d 77 30 46 66 42 2b 6a 35 36 34 5a 66 4a 0a 2d 2d 2d 2d 2d 45 4e OqR08kkkW8mw0FfB+j564ZfJ.-----EN
1ab1a0 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 77 69 73 73 53 69 67 6e 20 53 69 D.CERTIFICATE-----..SwissSign.Si
1ab1c0 6c 76 65 72 20 43 41 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d lver.CA.-.G2.===================
1ab1e0 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d =====.-----BEGIN.CERTIFICATE----
1ab200 2d 0a 4d 49 49 46 76 54 43 43 41 36 57 67 41 77 49 42 41 67 49 49 54 78 76 55 4c 31 53 37 4c 30 -.MIIFvTCCA6WgAwIBAgIITxvUL1S7L0
1ab220 73 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 52 7a 45 4c 4d 41 6b 47 41 31 swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1
1ab240 55 45 42 68 4d 43 51 30 67 78 46 54 41 54 0a 42 67 4e 56 42 41 6f 54 44 46 4e 33 61 58 4e 7a 55 UEBhMCQ0gxFTAT.BgNVBAoTDFN3aXNzU
1ab260 32 6c 6e 62 69 42 42 52 7a 45 68 4d 42 38 47 41 31 55 45 41 78 4d 59 55 33 64 70 63 33 4e 54 61 2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTa
1ab280 57 64 75 49 46 4e 70 62 48 5a 6c 63 69 42 44 51 53 41 74 49 45 63 79 4d 42 34 58 0a 44 54 41 32 WduIFNpbHZlciBDQSAtIEcyMB4X.DTA2
1ab2a0 4d 54 41 79 4e 54 41 34 4d 7a 49 30 4e 6c 6f 58 44 54 4d 32 4d 54 41 79 4e 54 41 34 4d 7a 49 30 MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0
1ab2c0 4e 6c 6f 77 52 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 30 67 78 46 54 41 54 42 67 4e 56 NlowRzELMAkGA1UEBhMCQ0gxFTATBgNV
1ab2e0 42 41 6f 54 44 46 4e 33 0a 61 58 4e 7a 55 32 6c 6e 62 69 42 42 52 7a 45 68 4d 42 38 47 41 31 55 BAoTDFN3.aXNzU2lnbiBBRzEhMB8GA1U
1ab300 45 41 78 4d 59 55 33 64 70 63 33 4e 54 61 57 64 75 49 46 4e 70 62 48 5a 6c 63 69 42 44 51 53 41 EAxMYU3dpc3NTaWduIFNpbHZlciBDQSA
1ab320 74 49 45 63 79 4d 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 0a 39 77 30 42 41 51 45 46 41 41 tIEcyMIICIjANBgkqhkiG.9w0BAQEFAA
1ab340 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 78 50 47 48 66 39 4e 34 4d 66 63 34 79 66 OCAg8AMIICCgKCAgEAxPGHf9N4Mfc4yf
1ab360 6a 44 6d 55 4f 38 78 2f 65 38 4e 2b 64 4f 63 62 70 4c 6a 36 56 7a 48 56 78 75 6d 4b 34 44 56 36 jDmUO8x/e8N+dOcbpLj6VzHVxumK4DV6
1ab380 34 34 0a 4e 30 4d 76 46 7a 30 66 79 4d 35 6f 45 4d 46 34 72 68 6b 44 4b 78 44 36 4c 48 6d 44 39 44.N0MvFz0fyM5oEMF4rhkDKxD6LHmD9
1ab3a0 75 69 35 61 4c 6c 56 38 67 52 45 70 7a 6e 35 2f 41 53 4c 48 76 47 69 54 53 66 35 59 58 75 36 74 ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t
1ab3c0 2b 57 69 45 37 62 72 59 54 37 51 62 4e 48 6d 0a 2b 2f 70 65 37 52 32 30 6e 71 41 31 57 36 47 53 +WiE7brYT7QbNHm.+/pe7R20nqA1W6GS
1ab3e0 79 2f 42 4a 6b 76 36 46 43 67 55 2b 35 74 6b 4c 34 6b 2b 37 33 4a 55 33 2f 4a 48 70 4d 6a 55 69 y/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi
1ab400 30 52 38 36 54 69 65 46 6e 62 41 56 6c 44 4c 61 59 51 31 48 54 57 42 43 72 70 4a 48 0a 36 49 4e 0R86TieFnbAVlDLaYQ1HTWBCrpJH.6IN
1ab420 61 55 46 6a 70 69 6f 75 35 58 61 48 63 33 5a 6c 4b 48 7a 5a 6e 75 30 6a 6b 67 37 59 33 36 30 67 aUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g
1ab440 36 72 77 39 6e 6a 78 63 48 36 41 54 4b 37 32 6f 78 68 39 54 41 74 76 6d 55 63 58 74 6e 5a 4c 69 6rw9njxcH6ATK72oxh9TAtvmUcXtnZLi
1ab460 32 6b 55 70 43 65 32 55 75 0a 4d 47 6f 4d 39 5a 44 75 6c 65 62 79 7a 59 4c 73 32 61 46 4b 37 50 2kUpCe2Uu.MGoM9ZDulebyzYLs2aFK7P
1ab480 61 79 53 2b 56 46 68 65 5a 74 65 4a 4d 45 4c 70 79 43 62 54 61 70 78 44 46 6b 48 34 61 44 43 79 ayS+VFheZteJMELpyCbTapxDFkH4aDCy
1ab4a0 72 30 4e 51 70 34 79 56 58 50 51 62 42 48 36 54 43 66 6d 62 35 68 0a 71 41 61 45 75 53 68 36 58 r0NQp4yVXPQbBH6TCfmb5h.qAaEuSh6X
1ab4c0 7a 6a 5a 47 36 6b 34 73 49 4e 2f 63 38 48 44 4f 30 67 71 67 67 38 68 6d 37 6a 4d 71 44 58 44 68 zjZG6k4sIN/c8HDO0gqgg8hm7jMqDXDh
1ab4e0 42 75 44 73 7a 36 2b 70 4a 56 70 41 54 71 4a 41 48 67 45 32 63 6e 30 6d 52 6d 72 56 6e 35 62 69 BuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi
1ab500 34 59 35 0a 46 5a 47 6b 45 43 77 4a 4d 6f 42 67 73 35 50 41 4b 72 59 59 43 35 31 2b 6a 55 6e 79 4Y5.FZGkECwJMoBgs5PAKrYYC51+jUny
1ab520 45 45 70 2f 2b 64 56 47 4c 78 6d 53 6f 35 6d 6e 4a 71 79 37 6a 44 7a 6d 44 72 78 48 42 39 78 7a EEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xz
1ab540 55 66 46 77 5a 43 38 49 2b 62 52 48 48 54 42 73 0a 52 4f 6f 70 4e 34 57 53 61 47 61 38 67 7a 6a UfFwZC8I+bRHHTBs.ROopN4WSaGa8gzj
1ab560 2b 65 7a 6b 75 30 31 44 77 48 2f 74 65 59 4c 61 70 70 76 6f 6e 51 66 47 62 47 48 4c 79 39 59 52 +ezku01DwH/teYLappvonQfGbGHLy9YR
1ab580 30 53 73 6c 6e 78 46 53 75 53 47 54 66 6a 4e 46 75 73 42 33 68 42 34 38 49 48 70 6d 63 0a 63 65 0SslnxFSuSGTfjNFusB3hB48IHpmc.ce
1ab5a0 6c 4d 32 4b 58 33 52 78 49 66 64 4e 46 52 6e 6f 62 7a 77 71 49 6a 51 41 74 7a 32 30 75 6d 35 33 lM2KX3RxIfdNFRnobzwqIjQAtz20um53
1ab5c0 4d 47 6a 4d 47 67 36 63 46 5a 72 45 62 36 35 69 2f 34 7a 33 47 63 52 6d 32 35 78 42 57 4e 4f 48 MGjMGg6cFZrEb65i/4z3GcRm25xBWNOH
1ab5e0 6b 44 52 55 6a 76 78 46 33 58 0a 43 4f 36 48 4f 53 4b 47 73 67 30 50 57 45 50 33 63 61 6c 49 4c kDRUjvxF3X.CO6HOSKGsg0PWEP3calIL
1ab600 76 33 71 31 68 38 43 41 77 45 41 41 61 4f 42 72 44 43 42 71 54 41 4f 42 67 4e 56 48 51 38 42 41 v3q1h8CAwEAAaOBrDCBqTAOBgNVHQ8BA
1ab620 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 0a 42 41 55 77 41 77 45 42 f8EBAMCAQYwDwYDVR0TAQH/.BAUwAwEB
1ab640 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 46 36 44 4e 77 65 52 42 74 6a 70 62 4f 38 74 46 /zAdBgNVHQ4EFgQUF6DNweRBtjpbO8tF
1ab660 6e 62 30 63 77 70 6a 36 68 6c 67 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 46 36 44 4e nb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DN
1ab680 77 65 52 42 0a 74 6a 70 62 4f 38 74 46 6e 62 30 63 77 70 6a 36 68 6c 67 77 52 67 59 44 56 52 30 weRB.tjpbO8tFnb0cwpj6hlgwRgYDVR0
1ab6a0 67 42 44 38 77 50 54 41 37 42 67 6c 67 68 58 51 42 57 51 45 44 41 51 45 77 4c 6a 41 73 42 67 67 gBD8wPTA7BglghXQBWQEDAQEwLjAsBgg
1ab6c0 72 42 67 45 46 42 51 63 43 41 52 59 67 61 48 52 30 0a 63 44 6f 76 4c 33 4a 6c 63 47 39 7a 61 58 rBgEFBQcCARYgaHR0.cDovL3JlcG9zaX
1ab6e0 52 76 63 6e 6b 75 63 33 64 70 63 33 4e 7a 61 57 64 75 4c 6d 4e 76 62 53 38 77 44 51 59 4a 4b 6f Rvcnkuc3dpc3NzaWduLmNvbS8wDQYJKo
1ab700 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 42 41 48 50 47 67 65 41 6e 30 69 30 50 0a 34 ZIhvcNAQEFBQADggIBAHPGgeAn0i0P.4
1ab720 4a 55 77 34 70 70 42 66 31 41 73 58 31 39 69 59 61 6d 47 61 6d 6b 59 44 48 52 4a 31 6c 32 45 36 JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6
1ab740 6b 46 53 47 47 39 59 72 56 42 57 49 47 72 47 76 53 68 70 57 4a 48 63 6b 52 45 31 71 54 6f 64 76 kFSGG9YrVBWIGrGvShpWJHckRE1qTodv
1ab760 42 71 6c 59 4a 37 59 48 33 39 46 0a 6b 57 6e 5a 66 72 74 34 63 73 45 47 44 79 72 4f 6a 34 56 77 BqlYJ7YH39F.kWnZfrt4csEGDyrOj4Vw
1ab780 59 61 79 67 7a 51 75 34 4f 53 6c 57 68 44 4a 4f 68 72 73 39 78 43 72 5a 31 78 39 79 37 76 35 52 YaygzQu4OSlWhDJOhrs9xCrZ1x9y7v5R
1ab7a0 6f 53 4a 42 73 58 45 43 59 78 71 43 73 47 4b 72 58 6c 63 53 48 39 2f 4c 0a 33 58 57 67 77 46 31 oSJBsXECYxqCsGKrXlcSH9/L.3XWgwF1
1ab7c0 35 6b 49 77 62 34 46 44 6d 33 6a 48 2b 6d 48 74 77 58 36 57 51 32 4b 33 34 41 72 5a 76 30 32 44 5kIwb4FDm3jH+mHtwX6WQ2K34ArZv02D
1ab7e0 64 51 45 73 69 78 54 32 74 4f 6e 71 66 47 68 70 48 6b 58 6b 7a 75 6f 4c 63 4d 6d 6b 44 6c 6d 34 dQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4
1ab800 66 53 2f 42 78 0a 2f 75 4e 6e 63 71 43 78 76 31 79 4c 35 50 71 5a 49 73 65 45 75 52 75 4e 49 35 fS/Bx./uNncqCxv1yL5PqZIseEuRuNI5
1ab820 63 2f 37 53 58 67 7a 32 57 37 39 57 45 45 37 39 30 65 73 6c 70 42 49 6c 71 68 6e 31 30 73 36 46 c/7SXgz2W79WEE790eslpBIlqhn10s6F
1ab840 76 4a 62 61 6b 4d 44 48 69 71 59 4d 5a 57 6a 77 46 61 0a 44 47 69 38 61 52 6c 35 78 42 39 2b 6c vJbakMDHiqYMZWjwFa.DGi8aRl5xB9+l
1ab860 77 57 2f 78 65 6b 6b 55 56 37 55 31 55 74 54 37 64 6b 6a 57 6a 59 44 5a 61 50 42 41 36 31 42 4d wW/xekkUV7U1UtT7dkjWjYDZaPBA61BM
1ab880 50 4e 47 47 34 57 51 72 32 57 31 31 62 48 6b 46 6c 74 34 64 52 32 58 65 6d 31 5a 71 53 71 50 0a PNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP.
1ab8a0 65 39 37 44 68 34 6b 51 6d 55 6c 7a 65 4d 67 39 76 56 45 31 64 43 72 56 38 58 35 70 47 79 71 37 e97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7
1ab8c0 4f 37 30 6c 75 4a 70 61 50 58 4a 68 6b 47 61 48 37 67 7a 57 54 64 51 52 64 41 74 71 2f 67 73 44 O70luJpaPXJhkGaH7gzWTdQRdAtq/gsD
1ab8e0 2f 4b 4e 56 56 34 6e 2b 53 73 75 75 0a 57 78 63 46 79 50 4b 4e 49 7a 46 54 4f 4e 49 74 61 6a 2b /KNVV4n+Ssuu.WxcFyPKNIzFTONItaj+
1ab900 43 75 59 30 49 61 76 64 65 51 58 52 75 77 78 46 2b 42 36 77 70 59 4a 45 2f 4f 4d 70 58 45 41 32 CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA2
1ab920 39 4d 43 2f 48 70 65 5a 42 6f 4e 71 75 42 59 65 61 6f 4b 52 6c 62 45 77 4a 0a 44 49 6d 36 75 4e 9MC/HpeZBoNquBYeaoKRlbEwJ.DIm6uN
1ab940 4f 35 77 4a 4f 4b 4d 50 71 4e 35 5a 70 72 46 51 46 4f 5a 36 72 61 59 6c 59 2b 68 41 68 6d 30 73 O5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0s
1ab960 51 32 66 61 63 2b 45 50 79 49 34 4e 53 41 35 51 43 39 71 76 4e 4f 42 71 4e 36 61 76 6c 69 63 75 Q2fac+EPyI4NSA5QC9qvNOBqN6avlicu
1ab980 4d 4a 54 2b 75 62 0a 44 67 45 6a 38 5a 2b 37 66 4e 7a 63 62 42 47 58 4a 62 4c 79 74 47 4d 55 30 MJT+ub.DgEj8Z+7fNzcbBGXJbLytGMU0
1ab9a0 67 59 71 5a 34 79 44 39 63 37 71 42 39 69 61 61 68 37 73 35 41 71 37 4b 6b 7a 72 43 57 41 35 7a gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5z
1ab9c0 73 70 69 32 43 35 75 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d spi2C5u.-----END.CERTIFICATE----
1ab9e0 2d 0a 0a 47 65 6f 54 72 75 73 74 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 61 74 69 6f -..GeoTrust.Primary.Certificatio
1aba00 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d n.Authority.====================
1aba20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 ====================.-----BEGIN.
1aba40 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 66 44 43 43 41 6d 53 67 41 77 49 CERTIFICATE-----.MIIDfDCCAmSgAwI
1aba60 42 41 67 49 51 47 4b 79 31 61 76 31 70 74 68 55 36 59 32 79 76 32 76 72 45 6f 54 41 4e 42 67 6b BAgIQGKy1av1pthU6Y2yv2vrEoTANBgk
1aba80 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 59 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 qhkiG9w0BAQUFADBYMQswCQYDVQQG.Ew
1abaa0 4a 56 55 7a 45 57 4d 42 51 47 41 31 55 45 43 68 4d 4e 52 32 56 76 56 48 4a 31 63 33 51 67 53 57 JVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW
1abac0 35 6a 4c 6a 45 78 4d 43 38 47 41 31 55 45 41 78 4d 6f 52 32 56 76 56 48 4a 31 63 33 51 67 55 48 5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUH
1abae0 4a 70 62 57 46 79 65 53 42 44 0a 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 JpbWFyeSBD.ZXJ0aWZpY2F0aW9uIEF1d
1abb00 47 68 76 63 6d 6c 30 65 54 41 65 46 77 30 77 4e 6a 45 78 4d 6a 63 77 4d 44 41 77 4d 44 42 61 46 Ghvcml0eTAeFw0wNjExMjcwMDAwMDBaF
1abb20 77 30 7a 4e 6a 41 33 4d 54 59 79 4d 7a 55 35 4e 54 6c 61 4d 46 67 78 0a 43 7a 41 4a 42 67 4e 56 w0zNjA3MTYyMzU5NTlaMFgx.CzAJBgNV
1abb40 42 41 59 54 41 6c 56 54 4d 52 59 77 46 41 59 44 56 51 51 4b 45 77 31 48 5a 57 39 55 63 6e 56 7a BAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVz
1abb60 64 43 42 4a 62 6d 4d 75 4d 54 45 77 4c 77 59 44 56 51 51 44 45 79 68 48 5a 57 39 55 63 6e 56 7a dCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVz
1abb80 64 43 42 51 0a 63 6d 6c 74 59 58 4a 35 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 dCBQ.cmltYXJ5IENlcnRpZmljYXRpb24
1abba0 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0
1abbc0 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 0a 43 67 4b 43 41 51 45 41 76 72 67 56 65 2f BAQEFAAOCAQ8AMIIB.CgKCAQEAvrgVe/
1abbe0 2f 55 66 48 31 6e 72 59 4e 6b 65 38 68 43 55 79 33 66 39 6f 51 49 49 47 48 57 41 56 6c 71 6e 45 /UfH1nrYNke8hCUy3f9oQIIGHWAVlqnE
1abc00 51 52 72 2b 39 32 2f 5a 56 2b 7a 6d 45 77 75 33 71 44 58 77 4b 39 41 57 62 4b 37 68 57 4e 0a 62 QRr+92/ZV+zmEwu3qDXwK9AWbK7hWN.b
1abc20 36 45 77 6e 4c 32 68 68 5a 36 55 4f 76 4e 57 69 41 41 78 7a 39 6a 75 61 70 59 43 32 65 30 44 6a 6EwnL2hhZ6UOvNWiAAxz9juapYC2e0Dj
1abc40 50 74 31 62 65 66 71 75 46 55 57 42 52 61 61 39 4f 42 65 73 59 6a 41 5a 49 56 63 46 55 32 49 78 Pt1befquFUWBRaa9OBesYjAZIVcFU2Ix
1abc60 37 65 36 34 48 58 70 72 51 55 39 0a 6e 63 65 4a 53 4f 43 37 4b 4d 67 44 34 54 43 54 5a 46 35 53 7e64HXprQU9.nceJSOC7KMgD4TCTZF5S
1abc80 77 46 6c 77 49 6a 56 58 69 49 72 78 6c 51 71 44 31 37 77 78 63 77 45 30 37 65 39 47 63 65 42 72 wFlwIjVXiIrxlQqD17wxcwE07e9GceBr
1abca0 41 71 67 31 63 6d 75 58 6d 32 62 67 79 78 78 35 58 39 67 61 42 47 67 65 0a 52 77 4c 6d 6e 57 44 Aqg1cmuXm2bgyxx5X9gaBGge.RwLmnWD
1abcc0 69 4e 70 63 42 33 38 34 31 6b 74 2b 2b 5a 38 64 74 64 31 6b 37 6a 35 33 57 6b 42 57 55 76 45 49 iNpcB3841kt++Z8dtd1k7j53WkBWUvEI
1abce0 30 45 4d 45 35 2b 62 45 6e 50 6e 37 57 69 6e 58 46 73 71 2b 57 30 36 4c 65 6d 2b 53 59 76 6e 33 0EME5+bEnPn7WinXFsq+W06Lem+SYvn3
1abd00 68 36 59 47 74 0a 74 6d 2f 38 31 77 37 61 34 44 53 77 44 52 70 33 35 2b 4d 49 6d 4f 39 59 2b 70 h6YGt.tm/81w7a4DSwDRp35+MImO9Y+p
1abd20 79 45 74 7a 61 76 77 74 2b 73 30 76 51 51 42 6e 42 78 4e 51 49 44 41 51 41 42 6f 30 49 77 51 44 yEtzavwt+s0vQQBnBxNQIDAQABo0IwQD
1abd40 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 41 34 47 41 31 55 64 44 APBgNVHRMBAf8EBTAD.AQH/MA4GA1UdD
1abd60 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 4c 4e 56 51 51 wEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQ
1abd80 5a 63 56 69 2f 43 50 4e 6d 46 62 53 76 74 72 32 5a 6e 4a 4d 35 49 77 44 51 59 4a 4b 6f 5a 49 0a ZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI.
1abda0 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 46 70 77 66 79 7a 64 74 7a 52 50 39 59 5a 52 hvcNAQEFBQADggEBAFpwfyzdtzRP9YZR
1abdc0 71 53 61 2b 53 37 69 71 38 58 45 4e 33 47 48 48 6f 4f 6f 30 48 6e 70 33 44 77 51 31 36 43 65 50 qSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CeP
1abde0 62 4a 43 2f 6b 52 59 6b 52 6a 35 4b 0a 54 73 34 72 46 74 55 4c 55 68 33 38 48 32 65 69 41 6b 55 bJC/kRYkRj5K.Ts4rFtULUh38H2eiAkU
1abe00 78 54 38 37 7a 2b 67 4f 6e 65 5a 31 54 61 74 6e 61 59 7a 72 34 67 4e 66 54 6d 65 47 6c 34 62 37 xT87z+gOneZ1TatnaYzr4gNfTmeGl4b7
1abe20 55 56 58 47 59 4e 54 71 2b 6b 2b 71 75 72 55 4b 79 6b 47 2f 67 2f 43 46 4e 0a 4e 57 4d 7a 69 55 UVXGYNTq+k+qurUKykG/g/CFN.NWMziU
1abe40 6e 57 6d 30 37 4b 78 2b 64 4f 43 51 44 33 32 73 66 76 6d 57 4b 5a 64 37 61 56 49 6c 36 4b 6f 4b nWm07Kx+dOCQD32sfvmWKZd7aVIl6KoK
1abe60 76 30 75 48 69 59 79 6a 67 5a 6d 63 6c 79 6e 6e 6a 4e 53 36 79 76 47 61 42 7a 45 69 33 38 77 6b v0uHiYyjgZmclynnjNS6yvGaBzEi38wk
1abe80 47 36 67 5a 48 61 0a 46 6c 6f 78 74 2f 6d 30 63 59 41 53 53 4a 6c 79 63 31 70 5a 55 38 46 6a 55 G6gZHa.Floxt/m0cYASSJlyc1pZU8FjU
1abea0 6a 50 74 70 38 6e 53 4f 51 4a 77 2b 75 43 78 51 6d 59 70 71 70 74 52 37 54 42 55 49 68 52 66 32 jPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2
1abec0 61 73 64 77 65 53 55 38 50 6a 31 4b 2f 66 71 79 6e 68 47 0a 31 72 69 52 2f 61 59 4e 4b 78 6f 55 asdweSU8Pj1K/fqynhG.1riR/aYNKxoU
1abee0 41 54 36 41 38 45 4b 67 6c 51 64 65 62 63 33 4d 53 36 52 46 6a 61 73 53 36 4c 50 65 57 75 57 67 AT6A8EKglQdebc3MS6RFjasS6LPeWuWg
1abf00 66 4f 67 50 49 68 31 61 36 56 6b 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 fOgPIh1a6Vk=.-----END.CERTIFICAT
1abf20 45 2d 2d 2d 2d 2d 0a 0a 74 68 61 77 74 65 20 50 72 69 6d 61 72 79 20 52 6f 6f 74 20 43 41 0a 3d E-----..thawte.Primary.Root.CA.=
1abf40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e =====================.-----BEGIN
1abf60 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 49 44 43 43 41 77 69 67 41 77 .CERTIFICATE-----.MIIEIDCCAwigAw
1abf80 49 42 41 67 49 51 4e 45 37 56 56 79 44 56 37 65 78 4a 39 43 2f 4f 4e 39 73 72 62 54 41 4e 42 67 IBAgIQNE7VVyDV7exJ9C/ON9srbTANBg
1abfa0 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 71 54 45 4c 4d 41 6b 47 41 31 55 45 0a 42 kqhkiG9w0BAQUFADCBqTELMAkGA1UE.B
1abfc0 68 4d 43 56 56 4d 78 46 54 41 54 42 67 4e 56 42 41 6f 54 44 48 52 6f 59 58 64 30 5a 53 77 67 53 hMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgS
1abfe0 57 35 6a 4c 6a 45 6f 4d 43 59 47 41 31 55 45 43 78 4d 66 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 W5jLjEoMCYGA1UECxMfQ2VydGlmaWNhd
1ac000 47 6c 76 62 69 42 54 5a 58 4a 32 0a 61 57 4e 6c 63 79 42 45 61 58 5a 70 63 32 6c 76 62 6a 45 34 GlvbiBTZXJ2.aWNlcyBEaXZpc2lvbjE4
1ac020 4d 44 59 47 41 31 55 45 43 78 4d 76 4b 47 4d 70 49 44 49 77 4d 44 59 67 64 47 68 68 64 33 52 6c MDYGA1UECxMvKGMpIDIwMDYgdGhhd3Rl
1ac040 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 76 0a 63 6d 6c 36 5a 57 51 LCBJbmMuIC0gRm9yIGF1dGhv.cml6ZWQ
1ac060 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 48 7a 41 64 42 67 4e 56 42 41 4d 54 46 6e 52 6f 59 58 64 gdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd
1ac080 30 5a 53 42 51 63 6d 6c 74 59 58 4a 35 49 46 4a 76 62 33 51 67 51 30 45 77 48 68 63 4e 4d 44 59 0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDY
1ac0a0 78 4d 54 45 33 0a 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 59 77 4e 7a 45 32 4d 6a 4d 31 4f 54 xMTE3.MDAwMDAwWhcNMzYwNzE2MjM1OT
1ac0c0 55 35 57 6a 43 42 71 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 54 41 54 42 67 U5WjCBqTELMAkGA1UEBhMCVVMxFTATBg
1ac0e0 4e 56 42 41 6f 54 44 48 52 6f 59 58 64 30 5a 53 77 67 0a 53 57 35 6a 4c 6a 45 6f 4d 43 59 47 41 NVBAoTDHRoYXd0ZSwg.SW5jLjEoMCYGA
1ac100 31 55 45 43 78 4d 66 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 54 5a 58 4a 32 61 1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2a
1ac120 57 4e 6c 63 79 42 45 61 58 5a 70 63 32 6c 76 62 6a 45 34 4d 44 59 47 41 31 55 45 43 78 4d 76 0a WNlcyBEaXZpc2lvbjE4MDYGA1UECxMv.
1ac140 4b 47 4d 70 49 44 49 77 4d 44 59 67 64 47 68 68 64 33 52 6c 4c 43 42 4a 62 6d 4d 75 49 43 30 67 KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0g
1ac160 52 6d 39 79 49 47 46 31 64 47 68 76 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 Rm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkx
1ac180 48 7a 41 64 42 67 4e 56 42 41 4d 54 0a 46 6e 52 6f 59 58 64 30 5a 53 42 51 63 6d 6c 74 59 58 4a HzAdBgNVBAMT.FnRoYXd0ZSBQcmltYXJ
1ac1a0 35 49 46 4a 76 62 33 51 67 51 30 45 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQE
1ac1c0 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 73 0a 6f 50 44 37 67 46 BAQUAA4IBDwAwggEKAoIBAQCs.oPD7gF
1ac1e0 6e 55 6e 4d 65 6b 7a 35 32 68 57 58 4d 4a 45 45 55 4d 44 53 78 75 61 50 46 73 57 30 68 6f 53 56 nUnMekz52hWXMJEEUMDSxuaPFsW0hoSV
1ac200 6b 33 2f 41 73 7a 47 63 4a 33 66 38 77 51 4c 5a 55 30 48 4f 62 72 54 51 6d 6e 48 4e 4b 34 79 5a k3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZ
1ac220 63 32 41 72 65 4a 0a 31 43 52 66 42 73 44 4d 52 4a 53 55 6a 51 4a 69 62 2b 74 61 33 52 47 4e 4b c2AreJ.1CRfBsDMRJSUjQJib+ta3RGNK
1ac240 4a 70 63 68 4a 41 51 65 67 32 39 64 47 59 76 61 6a 69 67 34 74 56 55 52 4f 73 64 42 35 38 48 75 JpchJAQeg29dGYvajig4tVUROsdB58Hu
1ac260 6d 2f 75 36 66 31 4f 43 79 6e 31 50 6f 53 67 41 66 47 63 0a 71 2f 67 63 66 6f 6d 6b 36 4b 48 59 m/u6f1OCyn1PoSgAfGc.q/gcfomk6KHY
1ac280 63 57 55 4e 6f 31 46 37 37 72 7a 53 49 6d 41 4e 75 56 75 64 33 37 72 38 55 56 73 4c 72 35 69 79 cWUNo1F77rzSImANuVud37r8UVsLr5iy
1ac2a0 36 53 37 70 42 4f 68 69 68 39 34 72 79 4e 64 4f 77 55 78 6b 48 74 33 50 68 31 69 36 53 6b 2f 4b 6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
1ac2c0 0a 61 41 63 64 48 4a 31 4b 78 74 55 76 6b 63 78 38 63 58 49 63 78 63 42 6e 36 7a 4c 39 79 5a 4a .aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJ
1ac2e0 63 6c 4e 71 46 77 4a 75 2f 55 33 30 72 43 66 53 4d 6e 5a 45 66 6c 32 70 53 79 39 34 4a 4e 71 52 clNqFwJu/U30rCfSMnZEfl2pSy94JNqR
1ac300 33 32 48 75 48 55 45 54 56 50 6d 34 70 0a 61 66 73 35 53 53 59 65 43 61 57 41 65 30 41 74 36 2b 32HuHUETVPm4p.afs5SSYeCaWAe0At6+
1ac320 67 6e 68 63 6e 2b 59 66 31 2b 35 6e 79 58 48 64 57 64 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA
1ac340 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 0a 56 52 30 50 41 8GA1UdEwEB/wQFMAMBAf8wDgYD.VR0PA
1ac360 51 48 2f 42 41 51 44 41 67 45 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 37 57 30 58 50 72 QH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr
1ac380 38 37 4c 65 76 30 78 6b 68 70 71 74 76 4e 47 36 31 64 49 55 44 41 4e 42 67 6b 71 68 6b 69 47 39 87Lev0xkhpqtvNG61dIUDANBgkqhkiG9
1ac3a0 77 30 42 41 51 55 46 0a 41 41 4f 43 41 51 45 41 65 52 48 41 53 37 4f 52 74 76 7a 77 36 57 66 55 w0BAQUF.AAOCAQEAeRHAS7ORtvzw6WfU
1ac3c0 44 57 35 46 76 6c 58 6f 6b 39 4c 4f 41 7a 2f 74 32 69 57 77 48 56 66 4c 48 6a 70 32 6f 45 7a 73 DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzs
1ac3e0 55 48 62 6f 5a 48 49 4d 70 4b 6e 78 75 49 76 57 31 6f 65 45 0a 75 7a 4c 6c 51 52 48 41 64 39 6d UHboZHIMpKnxuIvW1oeE.uzLlQRHAd9m
1ac400 7a 59 4a 33 72 47 39 58 52 62 6b 52 45 71 61 59 42 37 46 56 69 48 58 65 34 58 49 35 49 53 58 79 zYJ3rG9XRbkREqaYB7FViHXe4XI5ISXy
1ac420 63 4f 31 63 52 72 4b 31 7a 4e 34 34 76 65 46 79 51 61 45 66 5a 59 47 44 6d 2f 41 63 39 49 69 41 cO1cRrK1zN44veFyQaEfZYGDm/Ac9IiA
1ac440 58 0a 78 50 63 57 36 63 54 59 63 76 6e 49 63 33 7a 66 46 69 38 56 71 54 37 39 61 69 65 32 6f 65 X.xPcW6cTYcvnIc3zfFi8VqT79aie2oe
1ac460 74 61 75 70 67 66 31 65 4e 4e 5a 41 71 64 45 38 68 68 75 76 55 35 48 49 65 36 75 4c 31 37 49 6e taupgf1eNNZAqdE8hhuvU5HIe6uL17In
1ac480 2f 32 2f 71 78 41 65 65 57 73 45 47 38 39 0a 6a 78 74 35 64 6f 76 45 4e 37 4d 68 47 49 54 6c 4e /2/qxAeeWsEG89.jxt5dovEN7MhGITlN
1ac4a0 67 44 72 59 79 43 5a 75 65 6e 2b 4d 77 53 37 51 63 6a 42 41 76 6c 45 59 79 43 65 67 63 35 43 30 gDrYyCZuen+MwS7QcjBAvlEYyCegc5C0
1ac4c0 39 59 2f 4c 48 62 54 59 35 78 5a 33 59 2b 6d 34 51 36 67 4c 6b 48 33 4c 70 56 48 0a 7a 37 7a 39 9Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH.z7z9
1ac4e0 4d 2f 50 32 43 32 46 2b 66 70 45 72 67 55 66 43 4a 7a 44 75 70 78 42 64 4e 34 39 63 4f 53 76 6b M/P2C2F+fpErgUfCJzDupxBdN49cOSvk
1ac500 42 50 42 37 6a 56 61 4d 61 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 BPB7jVaMaA==.-----END.CERTIFICAT
1ac520 45 2d 2d 2d 2d 2d 0a 0a 56 65 72 69 53 69 67 6e 20 43 6c 61 73 73 20 33 20 50 75 62 6c 69 63 20 E-----..VeriSign.Class.3.Public.
1ac540 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 Primary.Certification.Authority.
1ac560 2d 20 47 35 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d -.G5.===========================
1ac580 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1ac5a0 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
1ac5c0 49 45 30 7a 43 43 41 37 75 67 41 77 49 42 41 67 49 51 47 4e 72 52 6e 69 5a 39 36 4c 74 4b 49 56 IE0zCCA7ugAwIBAgIQGNrRniZ96LtKIV
1ac5e0 6a 4e 7a 47 73 37 53 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 79 6a jNzGs7SjANBgkqhkiG9w0BAQUFADCByj
1ac600 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 78 46 7a 41 56 42 67 4e 56 42 41 6f 54 44 ELMAkGA1UE.BhMCVVMxFzAVBgNVBAoTD
1ac620 6c 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 4d 52 38 77 48 51 59 44 56 51 51 4c 45 lZlcmlTaWduLCBJbmMuMR8wHQYDVQQLE
1ac640 78 5a 57 5a 58 4a 70 55 32 6c 6e 62 69 42 55 63 6e 56 7a 64 43 42 4f 0a 5a 58 52 33 62 33 4a 72 xZWZXJpU2lnbiBUcnVzdCBO.ZXR3b3Jr
1ac660 4d 54 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 6f 59 79 6b 67 4d 6a 41 77 4e 69 42 57 5a 58 4a 70 MTowOAYDVQQLEzEoYykgMjAwNiBWZXJp
1ac680 55 32 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 74 49 45 5a 76 63 69 42 68 64 58 52 6f 62 33 4a 70 U2lnbiwgSW5jLiAtIEZvciBhdXRob3Jp
1ac6a0 65 6d 56 6b 0a 49 48 56 7a 5a 53 42 76 62 6d 78 35 4d 55 55 77 51 77 59 44 56 51 51 44 45 7a 78 emVk.IHVzZSBvbmx5MUUwQwYDVQQDEzx
1ac6c0 57 5a 58 4a 70 55 32 6c 6e 62 69 42 44 62 47 46 7a 63 79 41 7a 49 46 42 31 59 6d 78 70 59 79 42 WZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyB
1ac6e0 51 63 6d 6c 74 59 58 4a 35 49 45 4e 6c 63 6e 52 70 0a 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 QcmltYXJ5IENlcnRp.ZmljYXRpb24gQX
1ac700 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 55 77 48 68 63 4e 4d 44 59 78 4d 54 41 34 4d 44 V0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MD
1ac720 41 77 4d 44 41 77 57 68 63 4e 4d 7a 59 77 4e 7a 45 32 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 0a 79 AwMDAwWhcNMzYwNzE2MjM1OTU5WjCB.y
1ac740 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 7a 41 56 42 67 4e 56 42 41 6f 54 44 jELMAkGA1UEBhMCVVMxFzAVBgNVBAoTD
1ac760 6c 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 4d 52 38 77 48 51 59 44 56 51 51 4c 45 lZlcmlTaWduLCBJbmMuMR8wHQYDVQQLE
1ac780 78 5a 57 5a 58 4a 70 55 32 6c 6e 0a 62 69 42 55 63 6e 56 7a 64 43 42 4f 5a 58 52 33 62 33 4a 72 xZWZXJpU2ln.biBUcnVzdCBOZXR3b3Jr
1ac7a0 4d 54 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 6f 59 79 6b 67 4d 6a 41 77 4e 69 42 57 5a 58 4a 70 MTowOAYDVQQLEzEoYykgMjAwNiBWZXJp
1ac7c0 55 32 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 74 49 45 5a 76 63 69 42 68 0a 64 58 52 6f 62 33 4a U2lnbiwgSW5jLiAtIEZvciBh.dXRob3J
1ac7e0 70 65 6d 56 6b 49 48 56 7a 5a 53 42 76 62 6d 78 35 4d 55 55 77 51 77 59 44 56 51 51 44 45 7a 78 pemVkIHVzZSBvbmx5MUUwQwYDVQQDEzx
1ac800 57 5a 58 4a 70 55 32 6c 6e 62 69 42 44 62 47 46 7a 63 79 41 7a 49 46 42 31 59 6d 78 70 59 79 42 WZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyB
1ac820 51 63 6d 6c 74 0a 59 58 4a 35 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 Qcmlt.YXJ5IENlcnRpZmljYXRpb24gQX
1ac840 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 55 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 V0aG9yaXR5IC0gRzUwggEiMA0GCSqGSI
1ac860 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 0a 67 67 45 4b 41 6f 49 42 41 51 43 76 4a b3DQEBAQUAA4IBDwAw.ggEKAoIBAQCvJ
1ac880 41 67 49 4b 58 6f 31 6e 6d 41 4d 71 75 64 4c 4f 30 37 63 66 4c 77 38 52 52 79 37 4b 2b 44 2b 4b AgIKXo1nmAMqudLO07cfLw8RRy7K+D+K
1ac8a0 51 4c 35 56 77 69 6a 5a 49 55 56 4a 2f 58 78 72 63 67 78 69 56 30 69 36 43 71 71 70 6b 4b 7a 0a QL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz.
1ac8c0 6a 2f 69 35 56 62 65 78 74 30 75 7a 2f 6f 39 2b 42 31 66 73 37 30 50 62 5a 6d 49 56 59 63 39 67 j/i5Vbext0uz/o9+B1fs70PbZmIVYc9g
1ac8e0 44 61 54 59 33 76 6a 67 77 32 49 49 50 56 51 54 36 30 6e 4b 57 56 53 46 4a 75 55 72 6a 78 75 66 DaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf
1ac900 36 2f 57 68 6b 63 49 7a 53 64 68 44 0a 59 32 70 53 53 39 4b 50 36 48 42 52 54 64 47 4a 61 58 76 6/WhkcIzSdhD.Y2pSS9KP6HBRTdGJaXv
1ac920 48 63 50 61 7a 33 42 4a 30 32 33 74 64 53 31 62 54 6c 72 38 56 64 36 47 77 39 4b 49 6c 38 71 38 HcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8
1ac940 63 6b 6d 63 59 35 66 51 47 42 4f 2b 51 75 65 51 41 35 4e 30 36 74 52 6e 2f 0a 41 72 72 30 50 4f ckmcY5fQGBO+QueQA5N06tRn/.Arr0PO
1ac960 37 67 69 2b 73 33 69 2b 7a 30 31 36 7a 79 39 76 41 39 72 39 31 31 6b 54 4d 5a 48 52 78 41 79 33 7gi+s3i+z016zy9vA9r911kTMZHRxAy3
1ac980 51 6b 47 53 47 54 32 52 54 2b 72 43 70 53 78 34 2f 56 42 45 6e 6b 6a 57 4e 48 69 44 78 70 67 38 QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8
1ac9a0 76 2b 52 37 30 72 0a 66 6b 2f 46 6c 61 34 4f 6e 64 54 52 51 38 42 6e 63 2b 4d 55 43 48 37 6c 50 v+R70r.fk/Fla4OndTRQ8Bnc+MUCH7lP
1ac9c0 35 39 7a 75 44 4d 4b 7a 31 30 2f 4e 49 65 57 69 75 35 54 36 43 55 56 41 67 4d 42 41 41 47 6a 67 59zuDMKz10/NIeWiu5T6CUVAgMBAAGjg
1ac9e0 62 49 77 67 61 38 77 44 77 59 44 56 52 30 54 41 51 48 2f 0a 42 41 55 77 41 77 45 42 2f 7a 41 4f bIwga8wDwYDVR0TAQH/.BAUwAwEB/zAO
1aca00 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 62 51 59 49 4b 77 59 42 42 51 55 48 BgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUH
1aca20 41 51 77 45 59 54 42 66 6f 56 32 67 57 7a 42 5a 4d 46 63 77 56 52 59 4a 61 57 31 68 5a 32 55 76 AQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
1aca40 0a 5a 32 6c 6d 4d 43 45 77 48 7a 41 48 42 67 55 72 44 67 4d 43 47 67 51 55 6a 2b 58 54 47 6f 61 .Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoa
1aca60 73 6a 59 35 72 77 38 2b 41 61 74 52 49 47 43 78 37 47 53 34 77 4a 52 59 6a 61 48 52 30 63 44 6f sjY5rw8+AatRIGCx7GS4wJRYjaHR0cDo
1aca80 76 4c 32 78 76 5a 32 38 75 64 6d 56 79 0a 61 58 4e 70 5a 32 34 75 59 32 39 74 4c 33 5a 7a 62 47 vL2xvZ28udmVy.aXNpZ24uY29tL3ZzbG
1acaa0 39 6e 62 79 35 6e 61 57 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 48 2f 54 5a 61 66 43 33 65 9nby5naWYwHQYDVR0OBBYEFH/TZafC3e
1acac0 79 37 38 44 41 4a 38 30 4d 35 2b 67 4b 76 4d 7a 45 7a 4d 41 30 47 43 53 71 47 0a 53 49 62 33 44 y78DAJ80M5+gKvMzEzMA0GCSqG.SIb3D
1acae0 51 45 42 42 51 55 41 41 34 49 42 41 51 43 54 4a 45 6f 77 58 32 4c 50 32 42 71 59 4c 7a 33 71 33 QEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3
1acb00 4a 6b 74 76 58 66 32 70 58 6b 69 4f 4f 7a 45 70 36 42 34 45 71 31 69 44 6b 56 77 5a 4d 58 6e 6c JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl
1acb20 32 59 74 6d 41 6c 2b 0a 58 36 2f 57 7a 43 68 6c 38 67 47 71 43 42 70 48 33 76 6e 35 66 4a 4a 61 2YtmAl+.X6/WzChl8gGqCBpH3vn5fJJa
1acb40 43 47 6b 67 44 64 6b 2b 62 57 34 38 44 57 37 59 35 67 61 52 51 42 69 35 2b 4d 48 74 33 39 74 42 CGkgDdk+bW48DW7Y5gaRQBi5+MHt39tB
1acb60 71 75 43 57 49 4d 6e 4e 5a 42 55 34 67 63 6d 55 37 71 4b 45 0a 4b 51 73 54 62 34 37 62 44 4e 30 quCWIMnNZBU4gcmU7qKE.KQsTb47bDN0
1acb80 6c 41 74 75 6b 69 78 6c 45 30 6b 46 36 42 57 6c 4b 57 45 39 67 79 6e 36 43 61 67 73 43 71 69 55 lAtukixlE0kF6BWlKWE9gyn6CagsCqiU
1acba0 58 4f 62 58 62 66 2b 65 45 5a 53 71 56 69 72 32 47 33 6c 36 42 46 6f 4d 74 45 4d 7a 65 2f 61 69 XObXbf+eEZSqVir2G3l6BFoMtEMze/ai
1acbc0 43 0a 4b 6d 30 6f 48 77 30 4c 78 4f 58 6e 47 69 59 5a 34 66 51 52 62 78 43 31 6c 66 7a 6e 51 67 C.Km0oHw0LxOXnGiYZ4fQRbxC1lfznQg
1acbe0 55 79 32 38 36 64 55 56 34 6f 74 70 36 46 30 31 76 76 70 58 31 46 51 48 4b 4f 74 77 35 72 44 67 Uy286dUV4otp6F01vvpX1FQHKOtw5rDg
1acc00 62 37 4d 7a 56 49 63 62 69 64 4a 34 76 45 0a 5a 56 38 4e 68 6e 61 63 52 48 72 32 6c 56 7a 32 58 b7MzVIcbidJ4vE.ZV8NhnacRHr2lVz2X
1acc20 54 49 49 4d 36 52 55 74 68 67 2f 61 46 7a 79 51 6b 71 46 4f 46 53 44 58 39 48 6f 4c 50 4b 73 45 TIIM6RUthg/aFzyQkqFOFSDX9HoLPKsE
1acc40 64 61 6f 37 57 4e 71 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d dao7WNq.-----END.CERTIFICATE----
1acc60 2d 0a 0a 53 65 63 75 72 65 54 72 75 73 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d -..SecureTrust.CA.==============
1acc80 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1acca0 44 75 44 43 43 41 71 43 67 41 77 49 42 41 67 49 51 44 50 43 4f 58 41 67 57 70 61 31 43 66 2f 44 DuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/D
1accc0 72 4a 78 68 5a 30 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 49 4d 51 73 rJxhZ0DANBgkqhkiG9w0BAQUFADBIMQs
1acce0 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 67 4d 42 34 47 41 31 55 45 43 68 4d 58 55 32 wCQYDVQQG.EwJVUzEgMB4GA1UEChMXU2
1acd00 56 6a 64 58 4a 6c 56 48 4a 31 63 33 51 67 51 32 39 79 63 47 39 79 59 58 52 70 62 32 34 78 46 7a VjdXJlVHJ1c3QgQ29ycG9yYXRpb24xFz
1acd20 41 56 42 67 4e 56 42 41 4d 54 44 6c 4e 6c 59 33 56 79 5a 56 52 79 0a 64 58 4e 30 49 45 4e 42 4d AVBgNVBAMTDlNlY3VyZVRy.dXN0IENBM
1acd40 42 34 58 44 54 41 32 4d 54 45 77 4e 7a 45 35 4d 7a 45 78 4f 46 6f 58 44 54 49 35 4d 54 49 7a 4d B4XDTA2MTEwNzE5MzExOFoXDTI5MTIzM
1acd60 54 45 35 4e 44 41 31 4e 56 6f 77 53 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 49 TE5NDA1NVowSDELMAkGA1UEBhMCVVMxI
1acd80 44 41 65 0a 42 67 4e 56 42 41 6f 54 46 31 4e 6c 59 33 56 79 5a 56 52 79 64 58 4e 30 49 45 4e 76 DAe.BgNVBAoTF1NlY3VyZVRydXN0IENv
1acda0 63 6e 42 76 63 6d 46 30 61 57 39 75 4d 52 63 77 46 51 59 44 56 51 51 44 45 77 35 54 5a 57 4e 31 cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1
1acdc0 63 6d 56 55 63 6e 56 7a 64 43 42 44 51 54 43 43 0a 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 cmVUcnVzdCBDQTCC.ASIwDQYJKoZIhvc
1acde0 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4b 75 6b 67 65 57 NAQEBBQADggEPADCCAQoCggEBAKukgeW
1ace00 56 7a 66 58 32 46 49 37 43 54 38 72 55 34 6e 69 56 57 4a 78 42 34 51 32 5a 51 43 51 58 0a 4f 5a VzfX2FI7CT8rU4niVWJxB4Q2ZQCQX.OZ
1ace20 45 7a 5a 75 6d 2b 34 59 4f 76 59 6c 79 4a 30 66 77 6b 57 32 47 7a 34 42 45 52 51 52 77 64 62 76 EzZum+4YOvYlyJ0fwkW2Gz4BERQRwdbv
1ace40 43 34 75 2f 6a 65 70 34 47 36 70 6b 6a 47 6e 78 32 39 76 6f 36 70 51 54 36 34 6c 4f 30 70 47 74 C4u/jep4G6pkjGnx29vo6pQT64lO0pGt
1ace60 53 4f 30 67 4d 64 41 2b 39 74 0a 44 57 63 63 56 39 63 47 72 63 72 49 39 66 34 4f 72 32 59 6c 53 SO0gMdA+9t.DWccV9cGrcrI9f4Or2YlS
1ace80 41 53 57 43 31 32 6a 75 68 62 44 43 45 2f 52 52 76 67 55 58 50 4c 49 58 67 47 5a 62 66 32 49 7a ASWC12juhbDCE/RRvgUXPLIXgGZbf2Iz
1acea0 49 61 6f 77 57 38 78 51 6d 78 53 50 6d 6a 4c 38 78 6b 30 33 37 75 48 0a 47 46 61 41 4a 73 54 51 IaowW8xQmxSPmjL8xk037uH.GFaAJsTQ
1acec0 33 4d 42 76 33 39 36 67 77 70 45 57 6f 47 51 52 53 30 53 38 48 76 62 6e 2b 6d 50 65 5a 71 78 32 3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2
1acee0 70 48 47 6a 37 44 61 55 61 48 70 33 70 4c 48 6e 44 69 2b 42 65 75 4b 31 63 6f 62 76 6f 6d 75 4c pHGj7DaUaHp3pLHnDi+BeuK1cobvomuL
1acf00 38 41 2f 62 0a 30 31 6b 2f 75 6e 4b 38 52 43 53 63 34 33 4f 7a 39 36 39 58 4c 30 49 6d 6e 61 6c 8A/b.01k/unK8RCSc43Oz969XL0Imnal
1acf20 30 75 67 42 53 38 6b 76 4e 55 33 78 48 43 7a 61 46 44 6d 61 70 43 4a 63 57 4e 46 66 42 5a 76 65 0ugBS8kvNU3xHCzaFDmapCJcWNFfBZve
1acf40 41 34 2b 31 77 56 4d 65 54 34 43 34 6f 46 56 6d 48 0a 75 72 73 43 41 77 45 41 41 61 4f 42 6e 54 A4+1wVMeT4C4oFVmH.ursCAwEAAaOBnT
1acf60 43 42 6d 6a 41 54 42 67 6b 72 42 67 45 45 41 59 49 33 46 41 49 45 42 68 34 45 41 45 4d 41 51 54 CBmjATBgkrBgEEAYI3FAIEBh4EAEMAQT
1acf80 41 4c 42 67 4e 56 48 51 38 45 42 41 4d 43 41 59 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 0a 42 ALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/.B
1acfa0 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 51 6a 4b 32 46 76 6f 45 2f AUwAwEB/zAdBgNVHQ4EFgQUQjK2FvoE/
1acfc0 66 35 64 53 33 72 44 2f 66 64 4d 51 42 31 61 51 36 38 77 4e 41 59 44 56 52 30 66 42 43 30 77 4b f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wK
1acfe0 7a 41 70 6f 43 65 67 4a 59 59 6a 0a 61 48 52 30 63 44 6f 76 4c 32 4e 79 62 43 35 7a 5a 57 4e 31 zApoCegJYYj.aHR0cDovL2NybC5zZWN1
1ad000 63 6d 56 30 63 6e 56 7a 64 43 35 6a 62 32 30 76 55 31 52 44 51 53 35 6a 63 6d 77 77 45 41 59 4a cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJ
1ad020 4b 77 59 42 42 41 47 43 4e 78 55 42 42 41 4d 43 41 51 41 77 44 51 59 4a 0a 4b 6f 5a 49 68 76 63 KwYBBAGCNxUBBAMCAQAwDQYJ.KoZIhvc
1ad040 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 44 44 74 54 30 72 68 57 44 70 53 63 6c 75 31 70 71 4e NAQEFBQADggEBADDtT0rhWDpSclu1pqN
1ad060 6c 47 4b 61 37 55 54 74 33 36 5a 33 71 30 35 39 63 34 45 56 6c 65 77 33 4b 57 2b 4a 77 55 4c 4b lGKa7UTt36Z3q059c4EVlew3KW+JwULK
1ad080 55 42 52 53 75 0a 53 63 65 4e 51 51 63 53 63 35 52 2b 44 43 4d 68 2f 62 77 51 66 32 41 51 57 6e UBRSu.SceNQQcSc5R+DCMh/bwQf2AQWn
1ad0a0 4c 31 6d 41 36 73 37 4c 6c 2f 33 58 70 76 58 64 4d 63 39 50 2b 49 42 57 6c 43 71 51 56 78 79 4c L1mA6s7Ll/3XpvXdMc9P+IBWlCqQVxyL
1ad0c0 65 73 4a 75 67 75 74 49 78 71 2f 33 48 63 75 4c 48 66 0a 6d 62 78 38 49 56 51 72 35 46 69 69 75 esJugutIxq/3HcuLHf.mbx8IVQr5Fiiu
1ad0e0 31 63 70 72 70 36 70 6f 78 6b 6d 44 35 6b 75 43 4c 44 76 2f 57 6e 50 6d 52 6f 4a 6a 65 4f 6e 6e 1cprp6poxkmD5kuCLDv/WnPmRoJjeOnn
1ad100 79 76 4a 4e 6a 52 37 4a 4c 4e 34 54 4a 55 58 70 41 59 6d 48 72 5a 6b 55 6a 5a 66 59 47 66 5a 0a yvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZ.
1ad120 6e 4d 55 46 64 41 76 6e 5a 79 50 53 43 50 79 49 36 61 36 4c 66 2b 45 77 39 44 64 2b 2f 63 59 79 nMUFdAvnZyPSCPyI6a6Lf+Ew9Dd+/cYy
1ad140 32 69 32 65 52 44 41 77 62 4f 34 48 33 74 49 30 2f 4e 4c 2f 51 50 5a 4c 39 47 5a 47 42 6c 53 6d 2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm
1ad160 38 6a 49 4b 59 79 59 77 61 35 76 52 0a 33 49 74 48 75 75 47 35 31 57 4c 51 6f 71 44 30 5a 77 56 8jIKYyYwa5vR.3ItHuuG51WLQoqD0ZwV
1ad180 34 4b 57 4d 61 62 77 54 57 2b 4d 5a 4d 6f 35 71 78 4e 37 53 4e 35 53 68 4c 48 5a 34 73 77 72 68 4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrh
1ad1a0 6f 76 4f 30 43 37 6a 45 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d ovO0C7jE=.-----END.CERTIFICATE--
1ad1c0 2d 2d 2d 0a 0a 53 65 63 75 72 65 20 47 6c 6f 62 61 6c 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ---..Secure.Global.CA.==========
1ad1e0 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d ======.-----BEGIN.CERTIFICATE---
1ad200 2d 2d 0a 4d 49 49 44 76 44 43 43 41 71 53 67 41 77 49 42 41 67 49 51 42 31 59 69 70 4f 6a 55 69 --.MIIDvDCCAqSgAwIBAgIQB1YipOjUi
1ad220 6f 6c 4e 39 42 50 49 38 50 6a 71 70 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 olN9BPI8PjqpTANBgkqhkiG9w0BAQUFA
1ad240 44 42 4b 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 67 4d 42 34 47 41 31 55 45 DBKMQswCQYDVQQG.EwJVUzEgMB4GA1UE
1ad260 43 68 4d 58 55 32 56 6a 64 58 4a 6c 56 48 4a 31 63 33 51 67 51 32 39 79 63 47 39 79 59 58 52 70 ChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRp
1ad280 62 32 34 78 47 54 41 58 42 67 4e 56 42 41 4d 54 45 46 4e 6c 59 33 56 79 5a 53 42 48 0a 62 47 39 b24xGTAXBgNVBAMTEFNlY3VyZSBH.bG9
1ad2a0 69 59 57 77 67 51 30 45 77 48 68 63 4e 4d 44 59 78 4d 54 41 33 4d 54 6b 30 4d 6a 49 34 57 68 63 iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4Whc
1ad2c0 4e 4d 6a 6b 78 4d 6a 4d 78 4d 54 6b 31 4d 6a 41 32 57 6a 42 4b 4d 51 73 77 43 51 59 44 56 51 51 NMjkxMjMxMTk1MjA2WjBKMQswCQYDVQQ
1ad2e0 47 45 77 4a 56 55 7a 45 67 0a 4d 42 34 47 41 31 55 45 43 68 4d 58 55 32 56 6a 64 58 4a 6c 56 48 GEwJVUzEg.MB4GA1UEChMXU2VjdXJlVH
1ad300 4a 31 63 33 51 67 51 32 39 79 63 47 39 79 59 58 52 70 62 32 34 78 47 54 41 58 42 67 4e 56 42 41 J1c3QgQ29ycG9yYXRpb24xGTAXBgNVBA
1ad320 4d 54 45 46 4e 6c 59 33 56 79 5a 53 42 48 62 47 39 69 59 57 77 67 0a 51 30 45 77 67 67 45 69 4d MTEFNlY3VyZSBHbG9iYWwg.Q0EwggEiM
1ad340 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 A0GCSqGSIb3DQEBAQUAA4IBDwAwggEKA
1ad360 6f 49 42 41 51 43 76 4e 53 37 59 72 47 78 56 61 51 5a 78 35 52 4e 6f 4a 4c 4e 50 32 4d 77 68 52 oIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR
1ad380 2f 6a 78 0a 59 44 69 4a 69 51 50 70 76 65 70 65 52 6c 4d 4a 33 46 7a 31 57 75 6a 33 52 53 6f 43 /jx.YDiJiQPpvepeRlMJ3Fz1Wuj3RSoC
1ad3a0 36 7a 46 68 31 79 6b 7a 54 4d 37 48 66 41 6f 33 66 67 2b 36 4d 70 6a 68 48 5a 65 76 6a 38 66 63 6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fc
1ad3c0 79 54 69 57 38 39 73 61 2f 46 48 74 61 4d 62 51 0a 62 71 52 38 4a 4e 47 75 51 73 69 57 55 47 4d yTiW89sa/FHtaMbQ.bqR8JNGuQsiWUGM
1ad3e0 75 34 50 35 31 2f 70 69 6e 58 30 6b 75 6c 65 4d 35 4d 32 53 4f 48 71 52 66 6b 4e 4a 6e 50 4c 4c u4P51/pinX0kuleM5M2SOHqRfkNJnPLL
1ad400 5a 2f 6b 47 35 56 61 63 4a 6a 6e 49 46 48 6f 76 64 52 49 57 43 51 74 42 4a 77 42 31 67 0a 38 4e Z/kG5VacJjnIFHovdRIWCQtBJwB1g.8N
1ad420 45 58 4c 4a 58 72 39 71 58 42 6b 71 50 46 77 71 63 49 59 41 31 67 42 42 43 57 65 5a 34 57 4e 4f EXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNO
1ad440 61 70 74 76 6f 6c 52 54 6e 49 48 6d 58 35 6b 2f 57 71 38 56 4c 63 6d 5a 67 39 70 59 59 61 44 44 aptvolRTnIHmX5k/Wq8VLcmZg9pYYaDD
1ad460 55 7a 2b 6b 75 6c 42 41 59 56 0a 48 44 47 41 37 36 6f 59 61 38 4a 37 31 39 72 4f 2b 54 4d 67 31 Uz+kulBAYV.HDGA76oYa8J719rO+TMg1
1ad480 66 57 39 61 6a 4d 74 67 51 54 37 73 46 7a 55 6e 4b 50 69 58 42 33 6a 71 55 4a 31 58 6e 76 55 64 fW9ajMtgQT7sFzUnKPiXB3jqUJ1XnvUd
1ad4a0 2b 38 35 56 4c 72 4a 43 68 67 62 45 70 6c 4a 4c 34 68 4c 2f 56 42 69 0a 30 58 50 6e 6a 33 70 44 +85VLrJChgbEplJL4hL/VBi.0XPnj3pD
1ad4c0 41 67 4d 42 41 41 47 6a 67 5a 30 77 67 5a 6f 77 45 77 59 4a 4b 77 59 42 42 41 47 43 4e 78 51 43 AgMBAAGjgZ0wgZowEwYJKwYBBAGCNxQC
1ad4e0 42 41 59 65 42 41 42 44 41 45 45 77 43 77 59 44 56 52 30 50 42 41 51 44 41 67 47 47 4d 41 38 47 BAYeBABDAEEwCwYDVR0PBAQDAgGGMA8G
1ad500 41 31 55 64 0a 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 A1Ud.EwEB/wQFMAMBAf8wHQYDVR0OBBY
1ad520 45 46 4b 39 45 42 4d 4a 42 66 6b 69 44 32 30 34 35 41 75 7a 73 68 48 72 6d 7a 73 6d 6b 4d 44 51 EFK9EBMJBfkiD2045AuzshHrmzsmkMDQ
1ad540 47 41 31 55 64 48 77 51 74 4d 43 73 77 4b 61 41 6e 0a 6f 43 57 47 49 32 68 30 64 48 41 36 4c 79 GA1UdHwQtMCswKaAn.oCWGI2h0dHA6Ly
1ad560 39 6a 63 6d 77 75 63 32 56 6a 64 58 4a 6c 64 48 4a 31 63 33 51 75 59 32 39 74 4c 31 4e 48 51 30 9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0
1ad580 45 75 59 33 4a 73 4d 42 41 47 43 53 73 47 41 51 51 42 67 6a 63 56 41 51 51 44 41 67 45 41 0a 4d EuY3JsMBAGCSsGAQQBgjcVAQQDAgEA.M
1ad5a0 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 41 34 49 42 41 51 42 6a 47 67 68 41 66 A0GCSqGSIb3DQEBBQUAA4IBAQBjGghAf
1ad5c0 61 52 65 55 77 31 33 32 48 71 75 48 77 30 4c 55 52 59 44 37 78 68 38 79 4f 4f 76 61 6c 69 54 46 aReUw132HquHw0LURYD7xh8yOOvaliTF
1ad5e0 47 43 52 73 6f 54 63 69 45 36 2b 0a 4f 59 6f 36 38 2b 61 43 69 56 30 42 4e 37 4f 72 4a 4b 51 56 GCRsoTciE6+.OYo68+aCiV0BN7OrJKQV
1ad600 44 70 49 31 57 6b 70 45 58 6b 35 58 2b 6e 58 4f 48 30 6a 4f 5a 76 51 38 51 43 61 53 6d 47 77 62 DpI1WkpEXk5X+nXOH0jOZvQ8QCaSmGwb
1ad620 37 69 52 47 44 42 65 7a 55 71 58 62 70 5a 47 52 7a 7a 66 54 62 2b 63 6e 0a 43 44 70 4f 47 52 38 7iRGDBezUqXbpZGRzzfTb+cn.CDpOGR8
1ad640 36 70 31 68 63 46 38 39 35 50 34 76 6b 70 39 4d 6d 49 35 30 6d 44 31 68 70 2f 45 64 2b 73 74 43 6p1hcF895P4vkp9MmI50mD1hp/Ed+stC
1ad660 4e 69 35 4f 2f 4b 55 39 44 61 58 52 32 5a 30 76 50 42 34 7a 6d 41 76 65 31 34 62 52 44 74 55 73 Ni5O/KU9DaXR2Z0vPB4zmAve14bRDtUs
1ad680 74 46 4a 2f 35 0a 33 43 59 4e 76 36 5a 48 64 41 62 59 69 4e 45 36 4b 54 43 45 7a 74 49 35 67 47 tFJ/5.3CYNv6ZHdAbYiNE6KTCEztI5gG
1ad6a0 49 62 71 4d 64 58 53 62 78 71 56 56 46 6e 46 55 71 2b 4e 51 66 6b 31 58 57 59 4e 33 6b 77 46 4e IbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFN
1ad6c0 73 70 6e 57 7a 46 61 63 78 48 56 61 49 77 39 38 78 63 0a 66 38 4c 44 6d 42 78 72 54 68 61 41 36 spnWzFacxHVaIw98xc.f8LDmBxrThaA6
1ad6e0 33 70 34 5a 55 57 69 41 42 71 76 44 41 31 56 5a 44 52 49 75 4a 4b 35 38 62 52 51 4b 66 4a 50 49 3p4ZUWiABqvDA1VZDRIuJK58bRQKfJPI
1ad700 78 2f 61 62 4b 77 66 52 4f 48 64 49 33 68 52 57 38 63 57 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 x/abKwfROHdI3hRW8cW.-----END.CER
1ad720 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 4f 4d 4f 44 4f 20 43 65 72 74 69 66 69 63 61 74 TIFICATE-----..COMODO.Certificat
1ad740 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ion.Authority.==================
1ad760 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 ============.-----BEGIN.CERTIFIC
1ad780 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 48 54 43 43 41 77 57 67 41 77 49 42 41 67 49 51 54 6f 45 ATE-----.MIIEHTCCAwWgAwIBAgIQToE
1ad7a0 74 69 6f 4a 6c 34 41 73 43 37 6a 34 31 41 6b 62 6c 50 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 tioJl4AsC7j41AkblPTANBgkqhkiG9w0
1ad7c0 42 41 51 55 46 41 44 43 42 67 54 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 52 30 49 78 47 7a BAQUFADCBgTELMAkGA1UE.BhMCR0IxGz
1ad7e0 41 5a 42 67 4e 56 42 41 67 54 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 68 6c 63 33 AZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3
1ad800 52 6c 63 6a 45 51 4d 41 34 47 41 31 55 45 42 78 4d 48 55 32 46 73 5a 6d 39 79 5a 44 45 61 4d 42 RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMB
1ad820 67 47 0a 41 31 55 45 43 68 4d 52 51 30 39 4e 54 30 52 50 49 45 4e 42 49 45 78 70 62 57 6c 30 5a gG.A1UEChMRQ09NT0RPIENBIExpbWl0Z
1ad840 57 51 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 54 48 6b 4e 50 54 55 39 45 54 79 42 44 5a 58 4a 30 61 WQxJzAlBgNVBAMTHkNPTU9ETyBDZXJ0a
1ad860 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 0a 64 47 68 76 63 6d 6c 30 65 54 41 65 46 77 30 77 WZpY2F0aW9uIEF1.dGhvcml0eTAeFw0w
1ad880 4e 6a 45 79 4d 44 45 77 4d 44 41 77 4d 44 42 61 46 77 30 79 4f 54 45 79 4d 7a 45 79 4d 7a 55 35 NjEyMDEwMDAwMDBaFw0yOTEyMzEyMzU5
1ad8a0 4e 54 6c 61 4d 49 47 42 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 48 51 6a 45 62 0a 4d 42 6b NTlaMIGBMQswCQYDVQQGEwJHQjEb.MBk
1ad8c0 47 41 31 55 45 43 42 4d 53 52 33 4a 6c 59 58 52 6c 63 69 42 4e 59 57 35 6a 61 47 56 7a 64 47 56 GA1UECBMSR3JlYXRlciBNYW5jaGVzdGV
1ad8e0 79 4d 52 41 77 44 67 59 44 56 51 51 48 45 77 64 54 59 57 78 6d 62 33 4a 6b 4d 52 6f 77 47 41 59 yMRAwDgYDVQQHEwdTYWxmb3JkMRowGAY
1ad900 44 56 51 51 4b 45 78 46 44 0a 54 30 31 50 52 45 38 67 51 30 45 67 54 47 6c 74 61 58 52 6c 5a 44 DVQQKExFD.T01PRE8gQ0EgTGltaXRlZD
1ad920 45 6e 4d 43 55 47 41 31 55 45 41 78 4d 65 51 30 39 4e 54 30 52 50 49 45 4e 6c 63 6e 52 70 5a 6d EnMCUGA1UEAxMeQ09NT0RPIENlcnRpZm
1ad940 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 0a 4d 49 49 42 49 6a 41 4e 42 ljYXRpb24gQXV0aG9yaXR5.MIIBIjANB
1ad960 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 gkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCA
1ad980 51 45 41 30 45 43 4c 69 33 4c 6a 6b 52 76 33 55 63 45 62 56 41 53 59 30 36 6d 2f 77 65 61 4b 58 QEA0ECLi3LjkRv3UcEbVASY06m/weaKX
1ad9a0 54 75 48 0a 2b 37 75 49 7a 67 33 6a 4c 7a 38 47 6c 76 43 69 4b 56 43 5a 72 74 73 37 6f 56 65 77 TuH.+7uIzg3jLz8GlvCiKVCZrts7oVew
1ad9c0 64 46 46 78 7a 65 31 43 6b 55 31 42 2f 71 6e 49 32 47 71 47 64 30 53 37 57 57 61 58 55 46 36 30 dFFxze1CkU1B/qnI2GqGd0S7WWaXUF60
1ad9e0 31 43 78 77 52 4d 2f 61 4e 35 56 43 61 54 77 77 0a 78 48 47 7a 55 76 41 68 54 61 48 59 75 6a 6c 1CxwRM/aN5VCaTww.xHGzUvAhTaHYujl
1ada00 38 48 4a 36 6a 4a 4a 33 79 67 78 61 59 71 68 5a 38 51 35 73 56 57 37 65 75 4e 4a 48 2b 31 47 49 8HJ6jJJ3ygxaYqhZ8Q5sVW7euNJH+1GI
1ada20 6d 47 45 61 61 50 2b 76 42 2b 66 47 51 56 2b 75 73 65 67 32 4c 32 33 49 77 61 6d 62 56 0a 34 45 mGEaaP+vB+fGQV+useg2L23IwambV.4E
1ada40 61 6a 63 4e 78 6f 32 66 38 45 53 49 6c 33 33 72 58 70 2b 32 64 74 51 65 6d 38 4f 62 30 79 32 57 ajcNxo2f8ESIl33rXp+2dtQem8Ob0y2W
1ada60 49 43 38 62 47 6f 50 57 34 33 6e 4f 49 76 34 74 4f 69 4a 6f 76 47 75 46 56 44 69 4f 45 6a 50 71 IC8bGoPW43nOIv4tOiJovGuFVDiOEjPq
1ada80 58 53 4a 44 6c 71 52 36 73 41 0a 31 4b 47 7a 71 53 58 2b 44 54 2b 6e 48 62 72 54 55 63 45 4c 70 XSJDlqR6sA.1KGzqSX+DT+nHbrTUcELp
1adaa0 4e 71 73 4f 4f 39 56 55 43 51 46 5a 55 61 54 4e 45 38 74 6a 61 33 47 31 43 45 5a 30 6f 37 4b 42 NqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KB
1adac0 57 46 78 42 33 4e 48 35 59 6f 5a 45 72 30 45 54 63 35 4f 6e 4b 56 49 0a 72 4c 73 6d 39 77 49 44 WFxB3NH5YoZEr0ETc5OnKVI.rLsm9wID
1adae0 41 51 41 42 6f 34 47 4f 4d 49 47 4c 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 51 4c 57 4f 57 4c AQABo4GOMIGLMB0GA1UdDgQWBBQLWOWL
1adb00 78 6b 77 56 4e 36 52 41 71 54 43 70 49 62 35 48 4e 6c 70 57 2f 7a 41 4f 42 67 4e 56 48 51 38 42 xkwVN6RAqTCpIb5HNlpW/zAOBgNVHQ8B
1adb20 41 66 38 45 0a 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 Af8E.BAMCAQYwDwYDVR0TAQH/BAUwAwE
1adb40 42 2f 7a 42 4a 42 67 4e 56 48 52 38 45 51 6a 42 41 4d 44 36 67 50 4b 41 36 68 6a 68 6f 64 48 52 B/zBJBgNVHR8EQjBAMD6gPKA6hjhodHR
1adb60 77 4f 69 38 76 59 33 4a 73 4c 6d 4e 76 62 57 39 6b 0a 62 32 4e 68 4c 6d 4e 76 62 53 39 44 54 30 wOi8vY3JsLmNvbW9k.b2NhLmNvbS9DT0
1adb80 31 50 52 45 39 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 51 58 56 30 61 47 39 79 61 58 1PRE9DZXJ0aWZpY2F0aW9uQXV0aG9yaX
1adba0 52 35 4c 6d 4e 79 62 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 0a 41 R5LmNybDANBgkqhkiG9w0BAQUFAAOC.A
1adbc0 51 45 41 50 70 69 65 6d 2f 59 62 36 64 63 35 74 33 69 75 48 58 49 59 53 64 4f 48 35 45 4f 43 36 QEAPpiem/Yb6dc5t3iuHXIYSdOH5EOC6
1adbe0 7a 2f 4a 71 76 57 6f 74 65 39 56 66 43 46 53 5a 66 6e 56 44 65 46 73 39 44 36 4d 6b 33 4f 52 4c z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORL
1adc00 67 4c 45 54 67 64 78 62 38 43 50 0a 4f 47 45 49 71 42 36 42 43 73 41 76 49 43 39 42 69 35 48 63 gLETgdxb8CP.OGEIqB6BCsAvIC9Bi5Hc
1adc20 53 45 57 38 38 63 62 65 75 6e 5a 72 4d 38 67 41 4c 54 46 47 54 4f 33 6e 6e 63 2b 49 6c 50 38 7a SEW88cbeunZrM8gALTFGTO3nnc+IlP8z
1adc40 77 46 62 6f 4a 49 59 6d 75 4e 67 34 4f 4e 38 71 61 39 30 53 7a 4d 63 2f 0a 52 78 64 4d 6f 73 49 wFboJIYmuNg4ON8qa90SzMc/.RxdMosI
1adc60 47 6c 67 6e 57 32 2f 34 2f 50 45 5a 42 33 31 6a 69 56 67 38 38 4f 38 45 63 6b 7a 58 5a 4f 46 4b GlgnW2/4/PEZB31jiVg88O8EckzXZOFK
1adc80 73 37 73 6a 73 4c 6a 42 4f 6c 44 57 30 4a 42 39 4c 65 47 6e 61 38 67 49 34 7a 4a 56 53 6b 2f 42 s7sjsLjBOlDW0JB9LeGna8gI4zJVSk/B
1adca0 77 4a 56 6d 63 0a 49 47 66 45 37 76 6d 4c 56 32 48 30 6b 6e 5a 39 50 34 53 4e 56 62 66 6f 35 61 wJVmc.IGfE7vmLV2H0knZ9P4SNVbfo5a
1adcc0 7a 56 38 66 55 5a 56 71 5a 61 2b 35 41 63 72 35 50 72 35 52 7a 55 5a 35 64 64 42 41 36 2b 43 34 zV8fUZVqZa+5Acr5Pr5RzUZ5ddBA6+C4
1adce0 4f 6d 46 34 4f 35 4d 42 4b 67 78 54 4d 56 42 62 6b 4e 0a 2b 38 63 46 64 75 50 59 53 6f 33 38 4e OmF4O5MBKgxTMVBbkN.+8cFduPYSo38N
1add00 42 65 6a 78 69 45 6f 76 6a 42 46 4d 52 37 48 65 4c 35 59 59 54 69 73 4f 2b 49 42 5a 51 3d 3d 0a BejxiEovjBFMR7HeL5YYTisO+IBZQ==.
1add20 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4e 65 74 77 6f -----END.CERTIFICATE-----..Netwo
1add40 72 6b 20 53 6f 6c 75 74 69 6f 6e 73 20 43 65 72 74 69 66 69 63 61 74 65 20 41 75 74 68 6f 72 69 rk.Solutions.Certificate.Authori
1add60 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ty.=============================
1add80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 ==========.-----BEGIN.CERTIFICAT
1adda0 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 35 6a 43 43 41 73 36 67 41 77 49 42 41 67 49 51 56 38 73 7a 62 E-----.MIID5jCCAs6gAwIBAgIQV8szb
1addc0 38 4a 63 46 75 5a 48 46 68 66 6a 6b 44 46 6f 34 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 8JcFuZHFhfjkDFo4DANBgkqhkiG9w0BA
1adde0 51 55 46 41 44 42 69 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 68 4d 42 38 47 QUFADBiMQswCQYDVQQG.EwJVUzEhMB8G
1ade00 41 31 55 45 43 68 4d 59 54 6d 56 30 64 32 39 79 61 79 42 54 62 32 78 31 64 47 6c 76 62 6e 4d 67 A1UEChMYTmV0d29yayBTb2x1dGlvbnMg
1ade20 54 43 35 4d 4c 6b 4d 75 4d 54 41 77 4c 67 59 44 56 51 51 44 45 79 64 4f 5a 58 52 33 62 33 4a 72 TC5MLkMuMTAwLgYDVQQDEydOZXR3b3Jr
1ade40 0a 49 46 4e 76 62 48 56 30 61 57 39 75 63 79 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 .IFNvbHV0aW9ucyBDZXJ0aWZpY2F0ZSB
1ade60 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d 44 59 78 4d 6a 41 78 4d 44 41 77 4d 44 41 BdXRob3JpdHkwHhcNMDYxMjAxMDAwMDA
1ade80 77 57 68 63 4e 4d 6a 6b 78 4d 6a 4d 78 0a 4d 6a 4d 31 4f 54 55 35 57 6a 42 69 4d 51 73 77 43 51 wWhcNMjkxMjMx.MjM1OTU5WjBiMQswCQ
1adea0 59 44 56 51 51 47 45 77 4a 56 55 7a 45 68 4d 42 38 47 41 31 55 45 43 68 4d 59 54 6d 56 30 64 32 YDVQQGEwJVUzEhMB8GA1UEChMYTmV0d2
1adec0 39 79 61 79 42 54 62 32 78 31 64 47 6c 76 62 6e 4d 67 54 43 35 4d 4c 6b 4d 75 0a 4d 54 41 77 4c 9yayBTb2x1dGlvbnMgTC5MLkMu.MTAwL
1adee0 67 59 44 56 51 51 44 45 79 64 4f 5a 58 52 33 62 33 4a 72 49 46 4e 76 62 48 56 30 61 57 39 75 63 gYDVQQDEydOZXR3b3JrIFNvbHV0aW9uc
1adf00 79 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 67 yBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkwg
1adf20 67 45 69 4d 41 30 47 0a 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 gEiMA0G.CSqGSIb3DQEBAQUAA4IBDwAw
1adf40 67 67 45 4b 41 6f 49 42 41 51 44 6b 76 48 36 53 4d 47 33 47 32 49 34 72 43 37 78 47 7a 75 41 6e ggEKAoIBAQDkvH6SMG3G2I4rC7xGzuAn
1adf60 6c 74 37 65 2b 66 6f 53 30 7a 77 7a 63 37 4d 45 4c 37 78 78 0a 6a 4f 57 66 74 69 4a 67 50 6c 39 lt7e+foS0zwzc7MEL7xx.jOWftiJgPl9
1adf80 64 7a 67 6e 2f 67 67 77 62 6d 6c 46 51 47 69 61 4a 33 64 56 68 58 52 6e 63 45 67 38 74 43 71 4a dzgn/ggwbmlFQGiaJ3dVhXRncEg8tCqJ
1adfa0 44 58 52 66 51 4e 4a 49 67 36 6e 50 50 4f 43 77 47 4a 67 6c 36 63 76 66 36 55 44 4c 34 77 70 50 DXRfQNJIg6nPPOCwGJgl6cvf6UDL4wpP
1adfc0 54 0a 61 61 49 6a 7a 6b 47 78 7a 4f 54 56 48 7a 62 52 69 6a 72 34 6a 47 50 69 46 46 6c 70 37 51 T.aaIjzkGxzOTVHzbRijr4jGPiFFlp7Q
1adfe0 33 54 66 32 76 6f 75 41 50 6c 54 32 72 6c 6d 47 4e 70 53 41 57 2b 4c 76 38 7a 74 75 6d 58 57 57 3Tf2vouAPlT2rlmGNpSAW+Lv8ztumXWW
1ae000 6e 34 5a 78 6d 75 6b 32 47 57 52 42 58 54 0a 63 72 41 2f 76 47 70 39 37 45 68 2f 6a 63 4f 72 71 n4Zxmuk2GWRBXT.crA/vGp97Eh/jcOrq
1ae020 6e 45 72 55 32 6c 42 55 7a 53 31 73 4c 6e 46 42 67 72 45 73 45 58 31 51 56 31 75 69 55 56 37 50 nErU2lBUzS1sLnFBgrEsEX1QV1uiUV7P
1ae040 54 73 6d 6a 48 54 43 35 64 4c 52 66 62 49 52 31 50 74 59 4d 69 4b 61 67 4d 6e 63 0a 2f 51 7a 70 TsmjHTC5dLRfbIR1PtYMiKagMnc./Qzp
1ae060 66 31 34 44 6c 38 34 37 41 42 53 48 4a 33 41 34 71 59 35 75 73 79 64 32 6d 46 48 67 42 65 4d 68 f14Dl847ABSHJ3A4qY5usyd2mFHgBeMh
1ae080 71 78 72 56 68 53 49 38 4b 62 57 61 46 73 57 41 71 50 53 37 61 7a 43 50 4c 30 59 43 6f 72 45 4d qxrVhSI8KbWaFsWAqPS7azCPL0YCorEM
1ae0a0 49 75 44 54 41 67 4d 42 0a 41 41 47 6a 67 5a 63 77 67 5a 51 77 48 51 59 44 56 52 30 4f 42 42 59 IuDTAgMB.AAGjgZcwgZQwHQYDVR0OBBY
1ae0c0 45 46 43 45 77 79 66 73 41 31 30 36 59 32 6f 65 71 4b 74 43 6e 4c 72 46 41 4d 61 64 4d 4d 41 34 EFCEwyfsA106Y2oeqKtCnLrFAMadMMA4
1ae0e0 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 50 0a 42 67 4e 56 48 52 4d 42 41 66 GA1UdDwEB/wQEAwIBBjAP.BgNVHRMBAf
1ae100 38 45 42 54 41 44 41 51 48 2f 4d 46 49 47 41 31 55 64 48 77 52 4c 4d 45 6b 77 52 36 42 46 6f 45 8EBTADAQH/MFIGA1UdHwRLMEkwR6BFoE
1ae120 4f 47 51 57 68 30 64 48 41 36 4c 79 39 6a 63 6d 77 75 62 6d 56 30 63 32 39 73 63 33 4e 73 4c 6d OGQWh0dHA6Ly9jcmwubmV0c29sc3NsLm
1ae140 4e 76 0a 62 53 39 4f 5a 58 52 33 62 33 4a 72 55 32 39 73 64 58 52 70 62 32 35 7a 51 32 56 79 64 Nv.bS9OZXR3b3JrU29sdXRpb25zQ2Vyd
1ae160 47 6c 6d 61 57 4e 68 64 47 56 42 64 58 52 6f 62 33 4a 70 64 48 6b 75 59 33 4a 73 4d 41 30 47 43 GlmaWNhdGVBdXRob3JpdHkuY3JsMA0GC
1ae180 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 0a 41 34 49 42 41 51 43 37 72 6b 76 6e 74 31 66 72 SqGSIb3DQEBBQUA.A4IBAQC7rkvnt1fr
1ae1a0 66 36 6f 74 74 33 4e 48 68 57 72 42 35 4b 55 64 35 4f 63 38 36 66 52 5a 5a 58 65 31 65 6c 74 61 f6ott3NHhWrB5KUd5Oc86fRZZXe1elta
1ae1c0 6a 53 55 32 34 48 71 58 4c 6a 6a 41 56 32 43 44 6d 41 61 44 6e 37 6c 32 65 6d 35 51 0a 34 4c 71 jSU24HqXLjjAV2CDmAaDn7l2em5Q.4Lq
1ae1e0 49 4c 50 78 46 7a 42 69 77 6d 5a 56 52 44 75 77 64 75 49 6a 2f 68 31 41 63 67 73 4c 6a 34 44 4b ILPxFzBiwmZVRDuwduIj/h1AcgsLj4DK
1ae200 41 76 36 41 4c 52 38 6a 44 4d 65 2b 5a 5a 7a 4b 41 54 78 63 68 65 51 78 70 58 4e 35 65 4e 4b 34 Av6ALR8jDMe+ZZzKATxcheQxpXN5eNK4
1ae220 43 74 53 62 71 55 4e 39 2f 0a 47 47 55 73 79 66 4a 6a 34 61 6b 48 2f 6e 78 78 48 32 73 7a 4a 47 CtSbqUN9/.GGUsyfJj4akH/nxxH2szJG
1ae240 6f 65 42 66 63 46 61 4d 42 71 45 73 73 75 58 6d 48 4c 72 69 6a 54 66 73 4b 30 5a 70 45 6d 58 7a oeBfcFaMBqEssuXmHLrijTfsK0ZpEmXz
1ae260 77 75 4a 46 2f 4c 57 41 2f 72 4b 4f 79 76 45 5a 62 7a 33 48 74 76 0a 77 4b 65 49 38 6c 4e 33 73 wuJF/LWA/rKOyvEZbz3Htv.wKeI8lN3s
1ae280 32 42 65 72 71 34 6f 32 6a 55 73 62 7a 52 46 30 79 62 68 33 75 78 62 54 79 64 72 46 6e 79 39 52 2Berq4o2jUsbzRF0ybh3uxbTydrFny9R
1ae2a0 41 51 59 67 72 4f 4a 65 52 63 51 63 54 31 36 6f 68 5a 4f 39 51 48 4e 70 47 78 6c 61 4b 46 4a 64 AQYgrOJeRcQcT16ohZO9QHNpGxlaKFJd
1ae2c0 6c 78 44 0a 79 64 69 38 4e 6d 64 73 70 5a 53 31 31 4d 79 35 76 57 6f 31 56 69 48 65 32 4d 50 72 lxD.ydi8NmdspZS11My5vWo1ViHe2MPr
1ae2e0 2b 38 75 6b 59 45 79 77 56 61 43 67 65 31 65 79 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 +8ukYEywVaCge1ey.-----END.CERTIF
1ae300 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 4f 4d 4f 44 4f 20 45 43 43 20 43 65 72 74 69 66 69 63 61 ICATE-----..COMODO.ECC.Certifica
1ae320 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d tion.Authority.=================
1ae340 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 =================.-----BEGIN.CER
1ae360 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 69 54 43 43 41 67 2b 67 41 77 49 42 41 67 TIFICATE-----.MIICiTCCAg+gAwIBAg
1ae380 49 51 48 30 65 76 71 6d 49 41 63 46 42 55 54 41 47 65 6d 32 4f 5a 4b 6a 41 4b 42 67 67 71 68 6b IQH0evqmIAcFBUTAGem2OZKjAKBggqhk
1ae3a0 6a 4f 50 51 51 44 41 7a 43 42 68 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 52 30 49 78 47 jOPQQDAzCBhTELMAkGA1UEBhMC.R0IxG
1ae3c0 7a 41 5a 42 67 4e 56 42 41 67 54 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 68 6c 63 zAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc
1ae3e0 33 52 6c 63 6a 45 51 4d 41 34 47 41 31 55 45 42 78 4d 48 55 32 46 73 5a 6d 39 79 5a 44 45 61 4d 3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaM
1ae400 42 67 47 41 31 55 45 0a 43 68 4d 52 51 30 39 4e 54 30 52 50 49 45 4e 42 49 45 78 70 62 57 6c 30 BgGA1UE.ChMRQ09NT0RPIENBIExpbWl0
1ae420 5a 57 51 78 4b 7a 41 70 42 67 4e 56 42 41 4d 54 49 6b 4e 50 54 55 39 45 54 79 42 46 51 30 4d 67 ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0Mg
1ae440 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 0a 64 58 52 6f 62 33 4a 70 64 48 6b Q2VydGlmaWNhdGlvbiBB.dXRob3JpdHk
1ae460 77 48 68 63 4e 4d 44 67 77 4d 7a 41 32 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 wHhcNMDgwMzA2MDAwMDAwWhcNMzgwMTE
1ae480 34 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 68 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 30 49 4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0I
1ae4a0 78 0a 47 7a 41 5a 42 67 4e 56 42 41 67 54 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 x.GzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2
1ae4c0 68 6c 63 33 52 6c 63 6a 45 51 4d 41 34 47 41 31 55 45 42 78 4d 48 55 32 46 73 5a 6d 39 79 5a 44 hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZD
1ae4e0 45 61 4d 42 67 47 41 31 55 45 43 68 4d 52 0a 51 30 39 4e 54 30 52 50 49 45 4e 42 49 45 78 70 62 EaMBgGA1UEChMR.Q09NT0RPIENBIExpb
1ae500 57 6c 30 5a 57 51 78 4b 7a 41 70 42 67 4e 56 42 41 4d 54 49 6b 4e 50 54 55 39 45 54 79 42 46 51 Wl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ
1ae520 30 4d 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 0a 62 33 4a 70 0MgQ2VydGlmaWNhdGlvbiBBdXRo.b3Jp
1ae540 64 48 6b 77 64 6a 41 51 42 67 63 71 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 67 4e 69 dHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNi
1ae560 41 41 51 44 52 33 73 76 64 63 6d 43 46 59 58 37 64 65 53 52 46 74 53 72 59 70 6e 31 50 6c 49 4c AAQDR3svdcmCFYX7deSRFtSrYpn1PlIL
1ae580 42 73 35 42 41 48 2b 58 0a 34 51 6f 6b 50 42 30 42 42 4f 34 39 30 6f 30 4a 6c 77 7a 67 64 65 54 Bs5BAH+X.4QokPB0BBO490o0JlwzgdeT
1ae5a0 36 2b 33 65 4b 4b 76 55 44 59 45 73 32 69 78 59 6a 46 71 30 4a 63 66 52 4b 39 43 68 51 74 50 36 6+3eKKvUDYEs2ixYjFq0JcfRK9ChQtP6
1ae5c0 49 48 47 34 2f 62 43 38 76 43 56 6c 62 70 56 73 4c 4d 35 6e 69 0a 77 7a 32 4a 2b 57 6f 73 37 37 IHG4/bC8vCVlbpVsLM5ni.wz2J+Wos77
1ae5e0 4c 54 42 75 6d 6a 51 6a 42 41 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 31 63 61 63 5a 53 42 LTBumjQjBAMB0GA1UdDgQWBBR1cacZSB
1ae600 6d 38 6e 5a 33 71 51 55 66 66 6c 4d 52 49 64 35 6e 54 65 54 41 4f 42 67 4e 56 48 51 38 42 41 66 m8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf
1ae620 38 45 0a 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 8E.BAMCAQYwDwYDVR0TAQH/BAUwAwEB/
1ae640 7a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 77 4e 6f 41 44 42 6c 41 6a 45 41 37 77 4e 62 65 zAKBggqhkjOPQQDAwNoADBlAjEA7wNbe
1ae660 71 79 33 65 41 70 79 74 34 6a 66 2f 37 56 47 0a 46 41 6b 4b 2b 71 44 6d 66 51 6a 47 47 6f 65 39 qy3eApyt4jf/7VG.FAkK+qDmfQjGGoe9
1ae680 47 4b 68 7a 76 53 62 4b 59 41 79 64 7a 70 6d 66 7a 31 77 50 4d 4f 47 2b 46 44 48 71 41 6a 41 55 GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU
1ae6a0 39 4a 4d 38 53 61 63 7a 65 70 42 47 52 37 4e 6a 66 52 4f 62 54 72 64 76 47 44 65 41 0a 55 2f 37 9JM8SaczepBGR7NjfRObTrdvGDeA.U/7
1ae6c0 64 49 4f 41 31 6d 6a 62 52 78 77 47 35 35 74 7a 64 38 2f 38 64 4c 44 6f 57 56 39 6d 53 4f 64 59 dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY
1ae6e0 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4f 49 53 =.-----END.CERTIFICATE-----..OIS
1ae700 54 45 20 57 49 53 65 4b 65 79 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 47 41 20 43 41 0a 3d 3d 3d TE.WISeKey.Global.Root.GA.CA.===
1ae720 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d ============================.---
1ae740 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 38 54 43 --BEGIN.CERTIFICATE-----.MIID8TC
1ae760 43 41 74 6d 67 41 77 49 42 41 67 49 51 51 54 31 79 78 2f 52 72 48 34 46 44 66 66 48 53 4b 46 54 CAtmgAwIBAgIQQT1yx/RrH4FDffHSKFT
1ae780 66 6d 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 69 6a 45 4c 4d 41 6b fmjANBgkqhkiG9w0BAQUFADCBijELMAk
1ae7a0 47 41 31 55 45 0a 42 68 4d 43 51 30 67 78 45 44 41 4f 42 67 4e 56 42 41 6f 54 42 31 64 4a 55 32 GA1UE.BhMCQ0gxEDAOBgNVBAoTB1dJU2
1ae7c0 56 4c 5a 58 6b 78 47 7a 41 5a 42 67 4e 56 42 41 73 54 45 6b 4e 76 63 48 6c 79 61 57 64 6f 64 43 VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodC
1ae7e0 41 6f 59 79 6b 67 4d 6a 41 77 4e 54 45 69 4d 43 41 47 0a 41 31 55 45 43 78 4d 5a 54 30 6c 54 56 AoYykgMjAwNTEiMCAG.A1UECxMZT0lTV
1ae800 45 55 67 52 6d 39 31 62 6d 52 68 64 47 6c 76 62 69 42 46 62 6d 52 76 63 6e 4e 6c 5a 44 45 6f 4d EUgRm91bmRhdGlvbiBFbmRvcnNlZDEoM
1ae820 43 59 47 41 31 55 45 41 78 4d 66 54 30 6c 54 56 45 55 67 56 30 6c 54 5a 55 74 6c 65 53 42 48 0a CYGA1UEAxMfT0lTVEUgV0lTZUtleSBH.
1ae840 62 47 39 69 59 57 77 67 55 6d 39 76 64 43 42 48 51 53 42 44 51 54 41 65 46 77 30 77 4e 54 45 79 bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEy
1ae860 4d 54 45 78 4e 6a 41 7a 4e 44 52 61 46 77 30 7a 4e 7a 45 79 4d 54 45 78 4e 6a 41 35 4e 54 46 61 MTExNjAzNDRaFw0zNzEyMTExNjA5NTFa
1ae880 4d 49 47 4b 4d 51 73 77 43 51 59 44 0a 56 51 51 47 45 77 4a 44 53 44 45 51 4d 41 34 47 41 31 55 MIGKMQswCQYD.VQQGEwJDSDEQMA4GA1U
1ae8a0 45 43 68 4d 48 56 30 6c 54 5a 55 74 6c 65 54 45 62 4d 42 6b 47 41 31 55 45 43 78 4d 53 51 32 39 EChMHV0lTZUtleTEbMBkGA1UECxMSQ29
1ae8c0 77 65 58 4a 70 5a 32 68 30 49 43 68 6a 4b 53 41 79 4d 44 41 31 4d 53 49 77 0a 49 41 59 44 56 51 weXJpZ2h0IChjKSAyMDA1MSIw.IAYDVQ
1ae8e0 51 4c 45 78 6c 50 53 56 4e 55 52 53 42 47 62 33 56 75 5a 47 46 30 61 57 39 75 49 45 56 75 5a 47 QLExlPSVNURSBGb3VuZGF0aW9uIEVuZG
1ae900 39 79 63 32 56 6b 4d 53 67 77 4a 67 59 44 56 51 51 44 45 78 39 50 53 56 4e 55 52 53 42 58 53 56 9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSV
1ae920 4e 6c 53 32 56 35 0a 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 49 45 64 42 49 45 4e 42 4d NlS2V5.IEdsb2JhbCBSb290IEdBIENBM
1ae940 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d IIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AM
1ae960 49 49 42 43 67 4b 43 41 51 45 41 79 30 2b 7a 41 4a 73 39 0a 4e 74 33 35 30 55 6c 71 61 78 42 4a IIBCgKCAQEAy0+zAJs9.Nt350UlqaxBJ
1ae980 48 2b 7a 59 4b 37 4c 47 2b 44 4b 42 4b 55 4f 56 54 4a 6f 5a 49 79 45 56 52 64 37 6a 79 42 78 52 H+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR
1ae9a0 56 56 75 75 6b 2b 67 33 2f 79 74 72 36 64 54 71 76 69 72 64 71 46 45 72 31 32 62 44 59 56 78 67 VVuuk+g3/ytr6dTqvirdqFEr12bDYVxg
1ae9c0 0a 41 73 6a 31 7a 6e 4a 37 4f 37 6a 79 54 6d 55 49 6d 73 32 6b 61 68 6e 42 41 62 74 7a 70 74 66 .Asj1znJ7O7jyTmUIms2kahnBAbtzptf
1ae9e0 32 77 39 33 4e 76 4b 53 4c 74 5a 6c 68 75 41 47 69 6f 39 52 4e 31 41 55 39 6b 61 33 34 74 41 68 2w93NvKSLtZlhuAGio9RN1AU9ka34tAh
1aea00 78 5a 4b 39 77 38 52 78 72 66 76 62 44 0a 64 35 30 6b 63 33 76 6b 44 49 7a 68 32 54 62 68 6d 59 xZK9w8RxrfvbD.d50kc3vkDIzh2TbhmY
1aea20 73 46 6d 51 76 74 52 54 45 4a 79 73 49 41 32 2f 64 79 6f 4a 61 71 6c 59 66 51 6a 73 65 32 59 58 sFmQvtRTEJysIA2/dyoJaqlYfQjse2YX
1aea40 4d 4e 64 6d 61 4d 33 42 75 30 59 36 4b 66 66 35 4d 54 4d 50 47 68 4a 39 76 5a 0a 2f 79 78 56 69 MNdmaM3Bu0Y6Kff5MTMPGhJ9vZ./yxVi
1aea60 4a 47 67 34 45 38 48 73 43 68 57 6a 42 67 62 6c 30 53 4f 69 64 33 67 46 32 37 6e 4b 75 2b 50 4f JGg4E8HsChWjBgbl0SOid3gF27nKu+PO
1aea80 51 6f 78 68 49 4c 59 51 42 52 4a 4c 6e 70 42 35 4b 66 2b 34 32 54 4d 77 56 6c 78 53 79 77 68 70 QoxhILYQBRJLnpB5Kf+42TMwVlxSywhp
1aeaa0 31 74 39 34 42 33 52 0a 4c 6f 47 62 77 39 68 6f 39 37 32 57 47 36 78 77 73 52 59 55 43 39 74 67 1t94B3R.LoGbw9ho972WG6xwsRYUC9tg
1aeac0 75 53 59 42 42 51 49 44 41 51 41 42 6f 31 45 77 54 7a 41 4c 42 67 4e 56 48 51 38 45 42 41 4d 43 uSYBBQIDAQABo1EwTzALBgNVHQ8EBAMC
1aeae0 41 59 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 0a 41 77 45 42 2f 7a 41 64 42 67 4e AYYwDwYDVR0TAQH/BAUw.AwEB/zAdBgN
1aeb00 56 48 51 34 45 46 67 51 55 73 77 4e 2b 72 6a 61 38 73 48 6e 52 33 4a 51 6d 74 68 47 2b 49 62 4a VHQ4EFgQUswN+rja8sHnR3JQmthG+IbJ
1aeb20 70 68 70 51 77 45 41 59 4a 4b 77 59 42 42 41 47 43 4e 78 55 42 42 41 4d 43 41 51 41 77 44 51 59 phpQwEAYJKwYBBAGCNxUBBAMCAQAwDQY
1aeb40 4a 0a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 45 75 68 2f 77 75 48 62 72 J.KoZIhvcNAQEFBQADggEBAEuh/wuHbr
1aeb60 50 35 77 55 4f 78 53 50 4d 6f 77 42 30 75 79 51 6c 42 2b 70 51 41 48 4b 53 6b 71 30 6c 50 6a 7a P5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz
1aeb80 30 65 37 30 31 76 76 62 79 6b 39 76 49 6d 0a 4d 4d 6b 51 79 68 32 49 2b 33 51 5a 48 34 56 46 76 0e701vvbyk9vIm.MMkQyh2I+3QZH4VFv
1aeba0 62 42 73 55 66 6b 32 66 74 76 31 54 44 49 36 51 55 39 62 52 38 2f 6f 43 79 32 32 78 42 6d 64 64 bBsUfk2ftv1TDI6QU9bR8/oCy22xBmdd
1aebc0 4d 56 48 78 6a 74 71 44 36 77 55 32 7a 7a 30 63 35 79 70 42 64 38 41 33 48 52 34 0a 2b 76 67 31 MVHxjtqD6wU2zz0c5ypBd8A3HR4.+vg1
1aebe0 59 46 6b 43 45 78 68 38 76 50 74 4e 73 43 42 74 51 37 74 67 4d 48 70 6e 4d 31 7a 46 6d 64 48 34 YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4
1aec00 4c 54 6c 53 63 2f 75 4d 71 70 63 6c 58 48 4c 5a 43 42 36 72 54 6a 7a 6a 67 54 47 66 41 36 62 37 LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7
1aec20 77 50 34 70 69 46 58 61 0a 68 4e 56 51 41 37 62 69 68 4b 4f 6d 4e 71 6f 52 4f 67 48 68 47 45 76 wP4piFXa.hNVQA7bihKOmNqoROgHhGEv
1aec40 57 52 47 69 7a 50 66 6c 54 64 49 53 7a 52 70 46 47 6c 67 43 33 67 43 79 32 34 65 4d 51 34 74 75 WRGizPflTdISzRpFGlgC3gCy24eMQ4tu
1aec60 69 35 79 69 50 41 5a 5a 69 46 6a 34 41 34 78 79 6c 4e 6f 45 59 0a 6f 6b 78 53 64 73 41 52 6f 32 i5yiPAZZiFj4A4xylNoEY.okxSdsARo2
1aec80 37 6d 48 62 72 6a 57 72 34 32 55 38 55 2b 64 59 2b 47 61 53 6c 59 55 37 57 63 75 32 2b 66 58 4d 7mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXM
1aeca0 55 59 37 4e 30 76 34 5a 6a 4a 2f 4c 37 66 43 67 30 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 UY7N0v4ZjJ/L7fCg0=.-----END.CERT
1aecc0 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 69 67 6e 61 0a 3d 3d 3d 3d 3d 3d 3d 3d 0a IFICATE-----..Certigna.========.
1aece0 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 -----BEGIN.CERTIFICATE-----.MIID
1aed00 71 44 43 43 41 70 43 67 41 77 49 42 41 67 49 4a 41 50 37 63 34 77 45 50 79 55 6a 2f 4d 41 30 47 qDCCApCgAwIBAgIJAP7c4wEPyUj/MA0G
1aed20 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 4d 44 51 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 CSqGSIb3DQEBBQUAMDQxCzAJBgNVBAYT
1aed40 41 6b 5a 53 4d 52 49 77 0a 45 41 59 44 56 51 51 4b 44 41 6c 45 61 47 6c 74 65 57 39 30 61 58 4d AkZSMRIw.EAYDVQQKDAlEaGlteW90aXM
1aed60 78 45 54 41 50 42 67 4e 56 42 41 4d 4d 43 45 4e 6c 63 6e 52 70 5a 32 35 68 4d 42 34 58 44 54 41 xETAPBgNVBAMMCENlcnRpZ25hMB4XDTA
1aed80 33 4d 44 59 79 4f 54 45 31 4d 54 4d 77 4e 56 6f 58 44 54 49 33 0a 4d 44 59 79 4f 54 45 31 4d 54 3MDYyOTE1MTMwNVoXDTI3.MDYyOTE1MT
1aeda0 4d 77 4e 56 6f 77 4e 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 6c 49 78 45 6a 41 51 42 67 MwNVowNDELMAkGA1UEBhMCRlIxEjAQBg
1aedc0 4e 56 42 41 6f 4d 43 55 52 6f 61 57 31 35 62 33 52 70 63 7a 45 52 4d 41 38 47 41 31 55 45 41 77 NVBAoMCURoaW15b3RpczERMA8GA1UEAw
1aede0 77 49 0a 51 32 56 79 64 47 6c 6e 62 6d 45 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 wI.Q2VydGlnbmEwggEiMA0GCSqGSIb3D
1aee00 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 44 49 61 50 48 4a 31 QEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1
1aee20 74 61 7a 4e 48 55 6d 67 68 37 73 74 4c 37 71 0a 58 4f 45 6d 37 52 46 48 59 65 47 69 66 42 5a 34 tazNHUmgh7stL7q.XOEm7RFHYeGifBZ4
1aee40 51 43 48 6b 59 4a 35 61 79 47 50 68 78 4c 47 57 6b 76 38 59 62 57 6b 6a 34 53 74 69 39 39 33 69 QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993i
1aee60 4e 69 2b 52 42 37 6c 49 7a 77 37 73 65 62 59 73 35 7a 52 4c 63 41 67 6c 6f 7a 79 48 0a 47 78 6e Ni+RB7lIzw7sebYs5zRLcAglozyH.Gxn
1aee80 79 67 51 63 50 4f 4a 41 5a 30 78 48 2b 68 72 54 79 30 56 34 65 48 70 62 4e 67 47 7a 4f 4f 7a 47 ygQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzG
1aeea0 54 74 76 4b 67 30 4b 6d 56 45 6e 32 6c 6d 73 78 72 79 49 52 57 69 6a 4f 70 35 79 49 56 55 78 62 TtvKg0KmVEn2lmsxryIRWijOp5yIVUxb
1aeec0 77 7a 42 66 73 56 31 2f 70 0a 6f 67 71 59 43 64 37 6a 58 35 78 76 33 45 6a 6a 68 51 73 56 57 71 wzBfsV1/p.ogqYCd7jX5xv3EjjhQsVWq
1aeee0 61 36 6e 36 78 49 34 77 6d 79 39 2f 51 79 33 6c 34 30 76 68 78 34 58 55 4a 62 7a 67 34 69 6a 30 a6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij0
1aef00 32 51 31 33 30 79 47 4c 4d 4c 4c 47 71 2f 6a 6a 38 55 45 59 6b 67 0a 44 6e 63 55 74 54 32 55 43 2Q130yGLMLLGq/jj8UEYkg.DncUtT2UC
1aef20 49 66 33 4a 52 37 56 73 6d 41 41 37 47 38 71 4b 43 56 75 4b 6a 34 59 59 78 63 6c 50 7a 35 45 49 If3JR7VsmAA7G8qKCVuKj4YYxclPz5EI
1aef40 42 62 32 4a 73 67 6c 72 67 56 4b 74 4f 64 6a 4c 50 4f 4d 46 6c 4e 2b 58 50 73 52 47 67 6a 42 52 Bb2JsglrgVKtOdjLPOMFlN+XPsRGgjBR
1aef60 6d 4b 66 0a 49 72 6a 78 77 6f 31 70 33 50 6f 36 57 41 62 66 41 67 4d 42 41 41 47 6a 67 62 77 77 mKf.Irjxwo1p3Po6WAbfAgMBAAGjgbww
1aef80 67 62 6b 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 gbkwDwYDVR0TAQH/BAUwAwEB/zAdBgNV
1aefa0 48 51 34 45 46 67 51 55 47 75 33 2b 51 54 6d 51 0a 74 43 52 5a 76 67 48 79 55 74 56 46 39 6c 6f HQ4EFgQUGu3+QTmQ.tCRZvgHyUtVF9lo
1aefc0 35 33 42 45 77 5a 41 59 44 56 52 30 6a 42 46 30 77 57 34 41 55 47 75 33 2b 51 54 6d 51 74 43 52 53BEwZAYDVR0jBF0wW4AUGu3+QTmQtCR
1aefe0 5a 76 67 48 79 55 74 56 46 39 6c 6f 35 33 42 47 68 4f 4b 51 32 4d 44 51 78 43 7a 41 4a 0a 42 67 ZvgHyUtVF9lo53BGhOKQ2MDQxCzAJ.Bg
1af000 4e 56 42 41 59 54 41 6b 5a 53 4d 52 49 77 45 41 59 44 56 51 51 4b 44 41 6c 45 61 47 6c 74 65 57 NVBAYTAkZSMRIwEAYDVQQKDAlEaGlteW
1af020 39 30 61 58 4d 78 45 54 41 50 42 67 4e 56 42 41 4d 4d 43 45 4e 6c 63 6e 52 70 5a 32 35 68 67 67 90aXMxETAPBgNVBAMMCENlcnRpZ25hgg
1af040 6b 41 2f 74 7a 6a 41 51 2f 4a 0a 53 50 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 kA/tzjAQ/J.SP8wDgYDVR0PAQH/BAQDA
1af060 67 45 47 4d 42 45 47 43 57 43 47 53 41 47 47 2b 45 49 42 41 51 51 45 41 77 49 41 42 7a 41 4e 42 gEGMBEGCWCGSAGG+EIBAQQEAwIABzANB
1af080 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 0a 68 51 4d 65 6b 6e 48 32 gkqhkiG9w0BAQUFAAOCAQEA.hQMeknH2
1af0a0 51 71 2f 68 6f 32 47 65 36 2f 50 41 44 2f 4b 6c 31 4e 71 56 35 74 61 2b 61 44 59 39 66 6d 34 66 Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4f
1af0c0 54 49 72 76 30 51 38 68 62 56 36 6c 55 6d 50 4f 45 76 6a 76 4b 74 70 76 36 7a 66 2b 45 77 4c 48 TIrv0Q8hbV6lUmPOEvjvKtpv6zf+EwLH
1af0e0 79 7a 73 2b 0a 49 6d 76 61 59 53 35 2f 31 48 49 39 33 54 44 68 48 6b 78 41 47 59 77 50 31 35 7a yzs+.ImvaYS5/1HI93TDhHkxAGYwP15z
1af100 52 67 7a 42 37 6d 46 6e 63 66 63 61 35 44 43 6c 4d 6f 54 4f 69 36 32 63 36 5a 59 54 54 6c 75 4c RgzB7mFncfca5DClMoTOi62c6ZYTTluL
1af120 74 64 6b 56 77 6a 37 55 72 33 76 6b 6a 31 6b 6c 75 0a 50 42 53 31 78 70 38 31 48 6c 44 51 77 59 tdkVwj7Ur3vkj1klu.PBS1xp81HlDQwY
1af140 39 71 63 45 51 43 59 73 75 75 48 57 68 42 70 36 70 58 36 46 4f 71 42 39 49 47 39 74 55 55 42 67 9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBg
1af160 75 52 41 33 55 73 62 48 4b 31 59 5a 57 61 44 59 75 35 44 65 66 31 33 31 54 4e 33 75 62 59 0a 31 uRA3UsbHK1YZWaDYu5Def131TN3ubY.1
1af180 67 6b 49 6c 32 50 6c 77 53 36 77 74 30 51 6d 77 43 62 41 72 31 55 77 6e 6a 76 56 4e 69 6f 5a 42 gkIl2PlwS6wt0QmwCbAr1UwnjvVNioZB
1af1a0 50 52 63 48 76 2f 50 4c 4c 66 2f 30 50 32 48 51 42 48 56 45 53 4f 37 53 4d 41 68 71 61 51 6f 4c PRcHv/PLLf/0P2HQBHVESO7SMAhqaQoL
1af1c0 66 30 56 2b 4c 42 4f 4b 2f 51 77 0a 57 79 48 38 45 5a 45 30 76 6b 48 76 65 35 32 58 64 66 2b 58 f0V+LBOK/Qw.WyH8EZE0vkHve52Xdf+X
1af1e0 6c 63 43 57 57 43 2f 71 75 30 62 58 75 2b 54 5a 4c 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 lcCWWC/qu0bXu+TZLg==.-----END.CE
1af200 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 65 75 74 73 63 68 65 20 54 65 6c 65 6b 6f 6d RTIFICATE-----..Deutsche.Telekom
1af220 20 52 6f 6f 74 20 43 41 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Root.CA.2.=====================
1af240 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d =====.-----BEGIN.CERTIFICATE----
1af260 2d 0a 4d 49 49 44 6e 7a 43 43 41 6f 65 67 41 77 49 42 41 67 49 42 4a 6a 41 4e 42 67 6b 71 68 6b -.MIIDnzCCAoegAwIBAgIBJjANBgkqhk
1af280 69 47 39 77 30 42 41 51 55 46 41 44 42 78 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 45 52 54 iG9w0BAQUFADBxMQswCQYDVQQGEwJERT
1af2a0 45 63 4d 42 6f 47 41 31 55 45 43 68 4d 54 0a 52 47 56 31 64 48 4e 6a 61 47 55 67 56 47 56 73 5a EcMBoGA1UEChMT.RGV1dHNjaGUgVGVsZ
1af2c0 57 74 76 62 53 42 42 52 7a 45 66 4d 42 30 47 41 31 55 45 43 78 4d 57 56 43 31 55 5a 57 78 6c 55 WtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU
1af2e0 32 56 6a 49 46 52 79 64 58 4e 30 49 45 4e 6c 62 6e 52 6c 63 6a 45 6a 4d 43 45 47 0a 41 31 55 45 2VjIFRydXN0IENlbnRlcjEjMCEG.A1UE
1af300 41 78 4d 61 52 47 56 31 64 48 4e 6a 61 47 55 67 56 47 56 73 5a 57 74 76 62 53 42 53 62 32 39 30 AxMaRGV1dHNjaGUgVGVsZWtvbSBSb290
1af320 49 45 4e 42 49 44 49 77 48 68 63 4e 4f 54 6b 77 4e 7a 41 35 4d 54 49 78 4d 54 41 77 57 68 63 4e IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcN
1af340 4d 54 6b 77 4e 7a 41 35 0a 4d 6a 4d 31 4f 54 41 77 57 6a 42 78 4d 51 73 77 43 51 59 44 56 51 51 MTkwNzA5.MjM1OTAwWjBxMQswCQYDVQQ
1af360 47 45 77 4a 45 52 54 45 63 4d 42 6f 47 41 31 55 45 43 68 4d 54 52 47 56 31 64 48 4e 6a 61 47 55 GEwJERTEcMBoGA1UEChMTRGV1dHNjaGU
1af380 67 56 47 56 73 5a 57 74 76 62 53 42 42 52 7a 45 66 4d 42 30 47 0a 41 31 55 45 43 78 4d 57 56 43 gVGVsZWtvbSBBRzEfMB0G.A1UECxMWVC
1af3a0 31 55 5a 57 78 6c 55 32 56 6a 49 46 52 79 64 58 4e 30 49 45 4e 6c 62 6e 52 6c 63 6a 45 6a 4d 43 1UZWxlU2VjIFRydXN0IENlbnRlcjEjMC
1af3c0 45 47 41 31 55 45 41 78 4d 61 52 47 56 31 64 48 4e 6a 61 47 55 67 56 47 56 73 5a 57 74 76 62 53 EGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbS
1af3e0 42 53 0a 62 32 39 30 49 45 4e 42 49 44 49 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 BS.b290IENBIDIwggEiMA0GCSqGSIb3D
1af400 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 72 43 36 4d 31 34 QEBAQUAA4IBDwAwggEKAoIBAQCrC6M14
1af420 49 73 70 46 4c 45 55 68 61 38 38 45 4f 51 35 0a 62 7a 56 64 53 71 37 64 36 6d 47 4e 6c 55 6e 30 IspFLEUha88EOQ5.bzVdSq7d6mGNlUn0
1af440 62 32 53 6a 47 6d 42 6d 70 4b 6c 41 49 6f 54 5a 31 4b 58 6c 65 4a 4d 4f 61 41 47 74 75 55 31 63 b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1c
1af460 4f 73 37 54 75 4b 68 43 51 4e 2f 50 6f 37 71 43 57 57 71 53 47 36 77 63 6d 74 6f 49 0a 4b 79 55 Os7TuKhCQN/Po7qCWWqSG6wcmtoI.KyU
1af480 6e 2b 57 6b 6a 52 2f 48 67 36 79 78 36 6d 2f 55 54 41 74 42 2b 4e 48 7a 43 6e 6a 77 41 57 61 76 n+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav
1af4a0 31 32 67 7a 31 4d 6a 77 72 72 46 44 61 31 73 50 65 67 35 54 4b 71 41 79 5a 4d 67 34 49 53 46 5a 12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZ
1af4c0 62 61 76 76 61 34 56 68 59 0a 41 55 6c 66 63 6b 45 38 46 51 59 42 6a 6c 32 74 71 72 69 54 74 4d bavva4VhY.AUlfckE8FQYBjl2tqriTtM
1af4e0 32 65 36 36 66 6f 61 69 31 53 4e 4e 73 36 37 31 78 31 55 64 72 62 38 7a 48 35 37 6e 47 59 4d 73 2e66foai1SNNs671x1Udrb8zH57nGYMs
1af500 52 55 46 55 51 4d 2b 5a 74 56 37 61 33 66 47 41 69 67 6f 34 61 4b 0a 53 65 35 54 42 59 38 5a 54 RUFUQM+ZtV7a3fGAigo4aK.Se5TBY8ZT
1af520 4e 58 65 57 48 6d 62 30 6d 6f 63 51 71 76 46 31 61 66 50 61 41 2b 57 35 4f 46 68 6d 48 5a 68 79 NXeWHmb0mocQqvF1afPaA+W5OFhmHZhy
1af540 4a 46 38 31 6a 34 41 34 70 46 51 68 2b 47 64 43 75 61 74 6c 39 49 64 78 6a 70 39 79 37 7a 61 41 JF81j4A4pFQh+GdCuatl9Idxjp9y7zaA
1af560 7a 54 56 0a 6a 6c 73 42 39 57 6f 48 74 78 61 32 62 6b 70 2f 41 67 4d 42 41 41 47 6a 51 6a 42 41 zTV.jlsB9WoHtxa2bkp/AgMBAAGjQjBA
1af580 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 51 78 77 33 6b 62 75 76 56 54 31 78 66 67 69 58 6f 74 MB0GA1UdDgQWBBQxw3kbuvVT1xfgiXot
1af5a0 46 32 77 4b 73 79 75 64 4d 7a 41 50 42 67 4e 56 0a 48 52 4d 45 43 44 41 47 41 51 48 2f 41 67 45 F2wKsyudMzAPBgNV.HRMECDAGAQH/AgE
1af5c0 46 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 4e 42 67 6b 71 68 6b 69 FMA4GA1UdDwEB/wQEAwIBBjANBgkqhki
1af5e0 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 45 41 6c 47 52 5a 72 54 6c 6b 35 79 6e 72 0a 45 2f G9w0BAQUFAAOCAQEAlGRZrTlk5ynr.E/
1af600 35 61 77 34 73 54 56 38 67 45 4a 50 42 30 64 38 42 67 34 32 66 37 36 59 6d 6d 67 37 2b 57 67 6e 5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgn
1af620 78 75 31 4d 4d 39 37 35 36 41 62 72 73 70 74 4a 68 36 73 54 74 55 36 7a 6b 58 52 33 34 61 6a 67 xu1MM9756AbrsptJh6sTtU6zkXR34ajg
1af640 76 38 48 7a 46 5a 4d 51 53 79 0a 7a 68 66 7a 4c 4d 64 69 4e 6c 58 69 49 74 69 4a 56 62 53 59 53 v8HzFZMQSy.zhfzLMdiNlXiItiJVbSYS
1af660 4b 70 6b 2b 74 59 63 4e 74 68 45 65 46 70 61 49 7a 70 58 6c 2f 56 36 4d 45 2b 75 6e 32 70 4d 53 Kpk+tYcNthEeFpaIzpXl/V6ME+un2pMS
1af680 79 75 4f 6f 41 50 6a 50 75 43 70 31 4e 4a 37 30 72 4f 6f 34 6e 49 38 0a 72 5a 37 2f 67 46 6e 6b yuOoAPjPuCp1NJ70rOo4nI8.rZ7/gFnk
1af6a0 6d 30 57 30 39 6a 75 77 7a 54 6b 5a 6d 44 4c 6c 36 69 46 68 6b 4f 51 78 49 59 34 30 73 66 63 76 m0W09juwzTkZmDLl6iFhkOQxIY40sfcv
1af6c0 4e 55 71 46 45 4e 72 6e 69 6a 63 68 76 6c 6c 6a 34 50 4b 46 69 44 46 54 31 46 51 55 68 58 42 35 NUqFENrnijchvllj4PKFiDFT1FQUhXB5
1af6e0 39 43 34 47 0a 64 79 64 31 4c 78 2b 34 69 76 6e 2b 78 62 72 59 4e 75 53 44 37 4f 64 6c 74 37 39 9C4G.dyd1Lx+4ivn+xbrYNuSD7Odlt79
1af700 6a 57 76 4e 47 72 34 47 55 4e 39 52 42 6a 4e 59 6a 31 68 37 50 39 57 67 62 52 47 4f 69 57 72 71 jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrq
1af720 6e 4e 56 6d 68 35 58 41 46 6d 77 34 6a 56 35 6d 55 0a 43 6d 32 36 4f 57 4d 6f 68 70 4c 7a 47 49 nNVmh5XAFmw4jV5mU.Cm26OWMohpLzGI
1af740 54 59 2b 39 48 50 42 56 5a 6b 56 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 TY+9HPBVZkVw==.-----END.CERTIFIC
1af760 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 79 62 65 72 74 72 75 73 74 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 ATE-----..Cybertrust.Global.Root
1af780 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 .======================.-----BEG
1af7a0 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 6f 54 43 43 41 6f 6d 67 IN.CERTIFICATE-----.MIIDoTCCAomg
1af7c0 41 77 49 42 41 67 49 4c 42 41 41 41 41 41 41 42 44 34 57 71 4c 55 67 77 44 51 59 4a 4b 6f 5a 49 AwIBAgILBAAAAAABD4WqLUgwDQYJKoZI
1af7e0 68 76 63 4e 41 51 45 46 42 51 41 77 4f 7a 45 59 4d 42 59 47 41 31 55 45 43 68 4d 50 51 33 6c 69 hvcNAQEFBQAwOzEYMBYGA1UEChMPQ3li
1af800 0a 5a 58 4a 30 63 6e 56 7a 64 43 77 67 53 57 35 6a 4d 52 38 77 48 51 59 44 56 51 51 44 45 78 5a .ZXJ0cnVzdCwgSW5jMR8wHQYDVQQDExZ
1af820 44 65 57 4a 6c 63 6e 52 79 64 58 4e 30 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 4d 42 34 DeWJlcnRydXN0IEdsb2JhbCBSb290MB4
1af840 58 44 54 41 32 4d 54 49 78 4e 54 41 34 0a 4d 44 41 77 4d 46 6f 58 44 54 49 78 4d 54 49 78 4e 54 XDTA2MTIxNTA4.MDAwMFoXDTIxMTIxNT
1af860 41 34 4d 44 41 77 4d 46 6f 77 4f 7a 45 59 4d 42 59 47 41 31 55 45 43 68 4d 50 51 33 6c 69 5a 58 A4MDAwMFowOzEYMBYGA1UEChMPQ3liZX
1af880 4a 30 63 6e 56 7a 64 43 77 67 53 57 35 6a 4d 52 38 77 48 51 59 44 56 51 51 44 0a 45 78 5a 44 65 J0cnVzdCwgSW5jMR8wHQYDVQQD.ExZDe
1af8a0 57 4a 6c 63 6e 52 79 64 58 4e 30 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 4d 49 49 42 49 WJlcnRydXN0IEdsb2JhbCBSb290MIIBI
1af8c0 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 jANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBC
1af8e0 67 4b 43 41 51 45 41 0a 2b 4d 69 38 76 52 52 51 5a 68 50 2f 38 4e 4e 35 37 43 50 79 74 78 72 48 gKCAQEA.+Mi8vRRQZhP/8NN57CPytxrH
1af900 6a 6f 58 78 45 6e 4f 6d 47 61 6f 51 32 35 79 69 5a 58 52 61 64 7a 35 52 66 56 62 32 33 43 4f 32 joXxEnOmGaoQ25yiZXRadz5RfVb23CO2
1af920 31 4f 31 66 57 4c 45 33 54 64 56 4a 44 6d 37 31 61 6f 66 57 0a 30 6f 7a 53 4a 38 62 69 2f 7a 61 1O1fWLE3TdVJDm71aofW.0ozSJ8bi/za
1af940 66 6d 47 57 67 45 30 37 47 4b 6d 53 62 31 5a 41 53 7a 78 51 47 39 44 76 6a 31 43 69 2b 36 41 37 fmGWgE07GKmSb1ZASzxQG9Dvj1Ci+6A7
1af960 34 71 30 35 49 6c 47 32 4f 6c 54 45 51 58 4f 32 69 4c 62 33 56 4f 6d 32 79 48 4c 74 67 77 45 5a 4q05IlG2OlTEQXO2iLb3VOm2yHLtgwEZ
1af980 4c 0a 41 66 56 4a 72 6e 35 47 69 74 42 30 6a 61 45 4d 41 73 37 75 2f 4f 65 50 75 47 74 6d 38 33 L.AfVJrn5GitB0jaEMAs7u/OePuGtm83
1af9a0 39 45 41 4c 39 6d 4a 52 51 72 33 52 41 77 48 51 65 57 50 30 33 32 61 37 69 50 74 33 73 4d 70 54 9EAL9mJRQr3RAwHQeWP032a7iPt3sMpT
1af9c0 6a 72 33 6b 66 62 31 56 30 35 2f 49 69 6e 0a 38 39 63 71 64 50 48 6f 57 71 49 37 6e 31 43 36 70 jr3kfb1V05/Iin.89cqdPHoWqI7n1C6p
1af9e0 6f 78 46 4e 63 4a 51 5a 5a 58 63 59 34 4c 76 33 62 39 33 54 5a 78 69 79 57 4e 7a 46 74 41 70 44 oxFNcJQZZXcY4Lv3b93TZxiyWNzFtApD
1afa00 30 6d 70 53 50 43 7a 71 72 64 73 78 61 63 77 4f 55 42 64 72 73 54 69 58 53 5a 54 0a 38 4d 34 63 0mpSPCzqrdsxacwOUBdrsTiXSZT.8M4c
1afa20 49 77 68 68 71 4a 51 5a 75 67 52 69 51 4f 77 66 4f 48 42 33 45 67 5a 78 70 7a 41 59 58 53 55 6e IwhhqJQZugRiQOwfOHB3EgZxpzAYXSUn
1afa40 70 51 49 44 41 51 41 42 6f 34 47 6c 4d 49 47 69 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 pQIDAQABo4GlMIGiMA4GA1UdDwEB/wQE
1afa60 41 77 49 42 42 6a 41 50 0a 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 AwIBBjAP.BgNVHRMBAf8EBTADAQH/MB0
1afa80 47 41 31 55 64 44 67 51 57 42 42 53 32 43 48 73 4e 65 73 79 73 49 45 79 47 56 6a 4a 65 7a 36 74 GA1UdDgQWBBS2CHsNesysIEyGVjJez6t
1afaa0 75 68 53 31 77 56 7a 41 2f 42 67 4e 56 48 52 38 45 4f 44 41 32 0a 4d 44 53 67 4d 71 41 77 68 69 uhS1wVzA/BgNVHR8EODA2.MDSgMqAwhi
1afac0 35 6f 64 48 52 77 4f 69 38 76 64 33 64 33 4d 69 35 77 64 57 4a 73 61 57 4d 74 64 48 4a 31 63 33 5odHRwOi8vd3d3Mi5wdWJsaWMtdHJ1c3
1afae0 51 75 59 32 39 74 4c 32 4e 79 62 43 39 6a 64 43 39 6a 64 48 4a 76 62 33 51 75 59 33 4a 73 4d 42 QuY29tL2NybC9jdC9jdHJvb3QuY3JsMB
1afb00 38 47 0a 41 31 55 64 49 77 51 59 4d 42 61 41 46 4c 59 49 65 77 31 36 7a 4b 77 67 54 49 5a 57 4d 8G.A1UdIwQYMBaAFLYIew16zKwgTIZWM
1afb20 6c 37 50 71 32 36 46 4c 58 42 58 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 41 l7Pq26FLXBXMA0GCSqGSIb3DQEBBQUAA
1afb40 34 49 42 41 51 42 57 37 77 6f 6a 6f 46 52 4f 0a 6c 5a 66 4a 2b 49 6e 61 52 63 48 55 6f 77 41 6c 4IBAQBW7wojoFRO.lZfJ+InaRcHUowAl
1afb60 39 42 38 54 71 37 65 6a 68 56 68 70 77 6a 43 74 32 42 57 4b 4c 65 50 4a 7a 59 46 61 2b 48 4d 6a 9B8Tq7ejhVhpwjCt2BWKLePJzYFa+HMj
1afb80 57 71 64 38 42 66 50 39 49 6a 73 4f 30 51 62 45 32 7a 5a 4d 63 77 53 4f 35 62 41 69 0a 35 4d 58 Wqd8BfP9IjsO0QbE2zZMcwSO5bAi.5MX
1afba0 7a 4c 71 58 5a 49 2b 4f 34 54 6b 6f 67 70 32 34 43 4a 4a 38 69 59 47 64 37 69 78 31 79 43 63 55 zLqXZI+O4Tkogp24CJJ8iYGd7ix1yCcU
1afbc0 78 58 4f 6c 35 6e 34 42 48 50 61 32 68 43 77 63 55 50 55 66 2f 41 32 6b 61 44 41 74 45 35 32 4d xXOl5n4BHPa2hCwcUPUf/A2kaDAtE52M
1afbe0 6c 70 33 2b 79 79 62 68 32 0a 68 4f 30 6a 39 6e 30 48 71 30 56 2b 30 39 2b 7a 76 2b 6d 4b 74 73 lp3+yybh2.hO0j9n0Hq0V+09+zv+mKts
1afc00 32 6f 6f 6d 63 72 55 74 57 33 5a 66 41 35 54 47 4f 67 6b 58 6d 54 55 67 39 55 33 59 4f 37 6e 39 2oomcrUtW3ZfA5TGOgkXmTUg9U3YO7n9
1afc20 47 50 70 31 4e 7a 77 38 76 2f 4d 4f 78 38 42 4c 6a 59 52 42 2b 54 0a 58 33 45 4a 49 72 64 75 50 GPp1Nzw8v/MOx8BLjYRB+T.X3EJIrduP
1afc40 75 6f 63 41 30 36 64 47 69 42 68 2b 34 45 33 37 46 37 38 43 6b 57 72 31 2b 63 58 56 64 43 67 36 uocA06dGiBh+4E37F78CkWr1+cXVdCg6
1afc60 6d 43 62 70 76 62 6a 6a 46 73 70 77 67 5a 67 46 4a 30 74 6c 30 79 70 6b 78 57 64 59 63 51 42 58 mCbpvbjjFspwgZgFJ0tl0ypkxWdYcQBX
1afc80 30 6a 57 0a 57 4c 31 57 4d 52 4a 4f 45 63 67 68 34 4c 4d 52 6b 57 58 62 74 4b 61 49 4f 4d 35 56 0jW.WL1WMRJOEcgh4LMRkWXbtKaIOM5V
1afca0 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 65 50 4b 49 .-----END.CERTIFICATE-----..ePKI
1afcc0 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d .Root.Certification.Authority.==
1afce0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a ===============================.
1afd00 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 -----BEGIN.CERTIFICATE-----.MIIF
1afd20 73 44 43 43 41 35 69 67 41 77 49 42 41 67 49 51 46 63 69 39 5a 55 64 63 72 37 69 58 41 46 37 6b sDCCA5igAwIBAgIQFci9ZUdcr7iXAF7k
1afd40 42 74 4b 38 6e 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 65 4d 51 73 77 BtK8nTANBgkqhkiG9w0BAQUFADBeMQsw
1afd60 43 51 59 44 56 51 51 47 0a 45 77 4a 55 56 7a 45 6a 4d 43 45 47 41 31 55 45 43 67 77 61 51 32 68 CQYDVQQG.EwJUVzEjMCEGA1UECgwaQ2h
1afd80 31 62 6d 64 6f 64 32 45 67 56 47 56 73 5a 57 4e 76 62 53 42 44 62 79 34 73 49 45 78 30 5a 43 34 1bmdod2EgVGVsZWNvbSBDby4sIEx0ZC4
1afda0 78 4b 6a 41 6f 42 67 4e 56 42 41 73 4d 49 57 56 51 53 30 6b 67 0a 55 6d 39 76 64 43 42 44 5a 58 xKjAoBgNVBAsMIWVQS0kg.Um9vdCBDZX
1afdc0 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 41 65 46 77 J0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw
1afde0 30 77 4e 44 45 79 4d 6a 41 77 4d 6a 4d 78 4d 6a 64 61 46 77 30 7a 4e 44 45 79 4d 6a 41 77 4d 6a 0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMj
1afe00 4d 78 0a 4d 6a 64 61 4d 46 34 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 52 58 4d 53 4d 77 49 Mx.MjdaMF4xCzAJBgNVBAYTAlRXMSMwI
1afe20 51 59 44 56 51 51 4b 44 42 70 44 61 48 56 75 5a 32 68 33 59 53 42 55 5a 57 78 6c 59 32 39 74 49 QYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tI
1afe40 45 4e 76 4c 69 77 67 54 48 52 6b 4c 6a 45 71 0a 4d 43 67 47 41 31 55 45 43 77 77 68 5a 56 42 4c ENvLiwgTHRkLjEq.MCgGA1UECwwhZVBL
1afe60 53 53 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 SSBSb290IENlcnRpZmljYXRpb24gQXV0
1afe80 61 47 39 79 61 58 52 35 4d 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 0a 41 51 45 aG9yaXR5MIICIjANBgkqhkiG9w0B.AQE
1afea0 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 34 53 55 50 37 6f 33 62 69 44 4e FAAOCAg8AMIICCgKCAgEA4SUP7o3biDN
1afec0 31 5a 38 32 74 48 33 30 36 54 6d 32 64 30 79 38 55 38 32 4e 30 79 77 45 68 61 6a 66 71 68 46 41 1Z82tH306Tm2d0y8U82N0ywEhajfqhFA
1afee0 48 53 79 5a 62 43 55 4e 73 0a 49 5a 35 71 79 4e 55 44 39 57 42 70 6a 38 7a 77 49 75 51 66 35 2f HSyZbCUNs.IZ5qyNUD9WBpj8zwIuQf5/
1aff00 64 71 49 6a 47 33 4c 42 58 79 34 50 34 41 61 6b 50 2f 68 32 58 47 74 52 72 42 70 30 78 74 49 6e dqIjG3LBXy4P4AakP/h2XGtRrBp0xtIn
1aff20 41 68 69 6a 48 79 6c 33 53 4a 43 52 49 6d 48 4a 37 4b 32 52 4b 69 0a 6c 54 7a 61 36 57 65 2f 43 AhijHyl3SJCRImHJ7K2RKi.lTza6We/C
1aff40 4b 42 6b 34 39 5a 43 74 30 58 76 6c 2f 54 32 39 64 65 31 53 68 55 43 57 48 32 59 57 45 74 67 76 KBk49ZCt0Xvl/T29de1ShUCWH2YWEtgv
1aff60 4d 33 58 44 5a 6f 54 4d 31 50 52 59 66 6c 36 31 64 64 34 73 35 6f 7a 39 77 43 47 7a 68 31 4e 6c M3XDZoTM1PRYfl61dd4s5oz9wCGzh1Nl
1aff80 44 69 76 0a 71 4f 78 34 55 58 43 4b 58 42 43 44 55 53 48 33 45 54 30 30 68 6c 37 6c 53 4d 32 58 Div.qOx4UXCKXBCDUSH3ET00hl7lSM2X
1affa0 67 59 49 31 54 42 6e 73 5a 66 5a 72 78 51 57 68 37 6b 63 54 31 72 4d 68 4a 35 51 51 43 74 6b 6b gYI1TBnsZfZrxQWh7kcT1rMhJ5QQCtkk
1affc0 4f 37 71 2b 52 42 4e 47 4d 44 2b 58 50 4e 6a 58 0a 31 32 72 75 4f 7a 6a 6a 4b 39 53 58 44 72 6b O7q+RBNGMD+XPNjX.12ruOzjjK9SXDrk
1affe0 62 35 77 64 4a 66 7a 63 71 2b 58 64 34 7a 31 54 74 57 30 61 64 6f 34 41 4f 6b 55 50 42 31 6c 74 b5wdJfzcq+Xd4z1TtW0ado4AOkUPB1lt
1b0000 66 46 4c 71 66 70 6f 30 6b 52 30 42 5a 76 33 49 34 73 6a 5a 73 4e 2f 2b 5a 30 56 30 4f 0a 57 51 fFLqfpo0kR0BZv3I4sjZsN/+Z0V0O.WQ
1b0020 71 72 61 66 66 41 73 67 52 46 65 6c 51 41 72 72 35 54 39 72 58 6e 34 66 67 38 6f 7a 48 53 71 66 qraffAsgRFelQArr5T9rXn4fg8ozHSqf
1b0040 34 68 55 6d 54 46 70 6d 66 77 64 51 63 47 6c 42 53 42 56 63 59 6e 35 41 47 50 46 38 46 71 63 64 4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcd
1b0060 65 2b 53 2f 75 55 57 48 31 2b 0a 45 54 4f 78 51 76 64 69 62 42 6a 57 7a 77 6c 6f 50 6e 39 73 39 e+S/uUWH1+.ETOxQvdibBjWzwloPn9s9
1b0080 68 36 50 59 71 32 6c 59 39 73 4a 70 78 38 69 51 6b 45 65 62 35 6d 4b 50 74 66 35 50 30 42 36 65 h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6e
1b00a0 62 43 6c 41 5a 4c 53 6e 54 30 49 46 61 55 51 41 53 32 7a 4d 6e 61 6f 0a 6c 51 32 7a 65 70 72 37 bClAZLSnT0IFaUQAS2zMnao.lQ2zepr7
1b00c0 42 78 42 34 45 57 2f 68 6a 38 65 36 44 79 55 61 64 43 72 6c 48 4a 68 42 6d 64 38 68 68 2b 69 56 BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iV
1b00e0 42 6d 6f 4b 73 32 70 48 64 6d 58 32 4f 73 2b 50 59 68 63 5a 65 77 6f 6f 7a 52 72 53 67 78 34 68 BmoKs2pHdmX2Os+PYhcZewoozRrSgx4h
1b0100 78 79 79 2f 0a 76 76 39 68 61 4c 64 6e 47 37 74 34 54 59 33 4f 5a 2b 58 6b 77 59 36 33 49 32 62 xyy/.vv9haLdnG7t4TY3OZ+XkwY63I2b
1b0120 69 6e 5a 42 31 4e 4a 69 70 4e 69 75 4b 6d 70 53 35 6e 65 7a 4d 69 72 48 34 4a 59 6c 63 57 72 59 inZB1NJipNiuKmpS5nezMirH4JYlcWrY
1b0140 76 6a 42 39 74 65 53 53 6e 55 6d 6a 44 68 44 58 69 0a 5a 6f 31 6a 44 69 56 4e 31 52 6d 79 35 6e vjB9teSSnUmjDhDXi.Zo1jDiVN1Rmy5n
1b0160 6b 33 70 79 4b 64 56 44 45 43 41 77 45 41 41 61 4e 71 4d 47 67 77 48 51 59 44 56 52 30 4f 42 42 k3pyKdVDECAwEAAaNqMGgwHQYDVR0OBB
1b0180 59 45 46 42 34 4d 39 37 5a 6e 38 75 47 53 4a 67 6c 46 77 46 55 35 4c 6e 63 2f 51 6b 71 69 0a 4d YEFB4M97Zn8uGSJglFwFU5Lnc/Qkqi.M
1b01a0 41 77 47 41 31 55 64 45 77 51 46 4d 41 4d 42 41 66 38 77 4f 51 59 45 5a 79 6f 48 41 41 51 78 4d AwGA1UdEwQFMAMBAf8wOQYEZyoHAAQxM
1b01c0 43 38 77 4c 51 49 42 41 44 41 4a 42 67 55 72 44 67 4d 43 47 67 55 41 4d 41 63 47 42 57 63 71 41 C8wLQIBADAJBgUrDgMCGgUAMAcGBWcqA
1b01e0 77 41 41 42 42 52 46 73 4d 4c 48 0a 43 6c 5a 38 37 6c 74 34 44 4a 58 35 47 46 50 42 70 68 7a 59 wAABBRFsMLH.ClZ87lt4DJX5GFPBphzY
1b0200 45 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 67 45 41 43 62 4f 44 EDANBgkqhkiG9w0BAQUFAAOCAgEACbOD
1b0220 55 31 6b 42 50 70 56 4a 75 66 47 42 75 76 6c 32 49 43 4f 31 4a 32 42 30 0a 31 47 71 5a 4e 46 35 U1kBPpVJufGBuvl2ICO1J2B0.1GqZNF5
1b0240 73 41 46 50 5a 6e 2f 4b 6d 73 53 51 48 52 47 6f 71 78 71 57 4f 65 42 4c 6f 52 39 6c 59 47 78 4d sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxM
1b0260 71 58 6e 6d 62 6e 77 6f 71 5a 36 59 6c 50 77 5a 70 56 6e 50 44 69 6d 5a 49 2b 79 6d 42 56 33 51 qXnmbnwoqZ6YlPwZpVnPDimZI+ymBV3Q
1b0280 47 79 70 7a 71 0a 4b 4f 67 34 5a 79 59 72 38 64 57 31 50 32 57 54 2b 44 5a 64 6a 6f 32 4e 51 43 Gypzq.KOg4ZyYr8dW1P2WT+DZdjo2NQC
1b02a0 43 48 47 65 72 76 4a 38 41 39 74 44 6b 50 4a 58 74 6f 55 48 52 56 6e 41 78 5a 66 56 6f 39 51 5a CHGervJ8A9tDkPJXtoUHRVnAxZfVo9QZ
1b02c0 51 6c 55 67 6a 67 52 79 77 56 4d 52 6e 56 76 77 64 56 0a 78 72 73 53 74 5a 66 30 58 34 4f 46 75 QlUgjgRywVMRnVvwdV.xrsStZf0X4OFu
1b02e0 6e 48 42 32 57 79 42 45 58 59 4b 43 72 43 2f 67 70 66 33 36 6a 33 36 2b 75 77 74 71 53 69 55 4f nHB2WyBEXYKCrC/gpf36j36+uwtqSiUO
1b0300 31 62 64 30 6c 45 75 72 73 43 39 43 42 57 4d 64 31 49 30 6c 74 61 62 72 4e 4d 64 6a 6d 45 50 0a 1bd0lEursC9CBWMd1I0ltabrNMdjmEP.
1b0320 4e 58 75 62 72 6a 6c 70 43 32 4a 67 51 43 41 32 6a 36 2f 37 4e 75 34 74 43 45 6f 64 75 4c 2b 62 NXubrjlpC2JgQCA2j6/7Nu4tCEoduL+b
1b0340 58 50 6a 71 70 52 75 67 63 36 62 59 2b 47 37 67 4d 77 52 66 61 4b 6f 6e 68 2b 33 5a 77 5a 43 63 XPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc
1b0360 37 62 33 6a 61 6a 57 76 59 39 2b 72 0a 47 4e 6d 36 35 75 6c 4b 36 6c 43 4b 44 32 47 54 48 75 49 7b3jajWvY9+r.GNm65ulK6lCKD2GTHuI
1b0380 74 47 65 49 77 6c 44 57 53 58 51 36 32 42 36 38 5a 67 49 39 48 6b 46 46 4c 4c 6b 33 64 68 65 4c tGeIwlDWSXQ62B68ZgI9HkFFLLk3dheL
1b03a0 53 43 6c 49 4b 46 35 72 38 47 72 42 51 41 75 55 42 6f 32 4d 33 49 55 78 45 0a 78 4a 74 52 6d 52 SClIKF5r8GrBQAuUBo2M3IUxE.xJtRmR
1b03c0 45 4f 63 35 77 47 6a 31 51 75 70 79 68 65 52 44 6d 48 56 69 30 33 76 59 56 45 6c 4f 45 4d 53 79 EOc5wGj1QupyheRDmHVi03vYVElOEMSy
1b03e0 79 63 77 35 4b 46 4e 47 48 4c 44 37 69 62 53 6b 4e 53 2f 6a 51 36 66 62 6a 70 4b 64 78 32 71 63 ycw5KFNGHLD7ibSkNS/jQ6fbjpKdx2qc
1b0400 67 77 2b 42 52 78 0a 67 4d 59 65 4e 6b 68 30 49 6b 46 63 68 34 4c 6f 47 48 47 4c 51 59 6c 45 35 gw+BRx.gMYeNkh0IkFch4LoGHGLQYlE5
1b0420 33 35 59 57 36 69 34 6a 52 50 70 70 32 7a 44 52 2b 32 7a 47 70 31 69 72 6f 32 43 36 70 53 65 33 35YW6i4jRPpp2zDR+2zGp1iro2C6pSe3
1b0440 56 6b 51 77 36 33 64 34 6b 33 6a 4d 64 58 48 37 4f 6a 79 0a 73 50 36 53 48 68 59 4b 47 76 7a 5a VkQw63d4k3jMdXH7Ojy.sP6SHhYKGvzZ
1b0460 38 2f 67 6e 74 73 6d 2b 48 62 52 73 5a 4a 42 2f 39 4f 54 45 57 39 63 33 72 6b 49 4f 33 61 51 61 8/gntsm+HbRsZJB/9OTEW9c3rkIO3aQa
1b0480 62 33 79 49 56 4d 55 57 62 75 46 36 61 43 37 34 4f 72 38 4e 70 44 79 4a 4f 33 69 6e 54 6d 4f 44 b3yIVMUWbuF6aC74Or8NpDyJO3inTmOD
1b04a0 0a 42 43 45 49 5a 34 33 79 67 6b 6e 51 57 2f 32 78 7a 51 2b 44 68 4e 51 2b 49 49 58 33 53 6a 30 .BCEIZ43ygknQW/2xzQ+DhNQ+IIX3Sj0
1b04c0 72 6e 50 30 71 43 67 6c 4e 36 6f 48 34 45 5a 77 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 rnP0qCglN6oH4EZw=.-----END.CERTI
1b04e0 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 63 65 72 74 53 49 47 4e 20 52 4f 4f 54 20 43 41 0a 3d 3d FICATE-----..certSIGN.ROOT.CA.==
1b0500 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 ==============.-----BEGIN.CERTIF
1b0520 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 4f 44 43 43 41 69 43 67 41 77 49 42 41 67 49 47 49 ICATE-----.MIIDODCCAiCgAwIBAgIGI
1b0540 41 59 46 46 6e 41 43 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 4d 44 73 78 43 AYFFnACMA0GCSqGSIb3DQEBBQUAMDsxC
1b0560 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 4a 50 4d 52 45 77 44 77 59 44 0a 56 51 51 4b 45 77 68 6a zAJBgNVBAYTAlJPMREwDwYD.VQQKEwhj
1b0580 5a 58 4a 30 55 30 6c 48 54 6a 45 5a 4d 42 63 47 41 31 55 45 43 78 4d 51 59 32 56 79 64 46 4e 4a ZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJ
1b05a0 52 30 34 67 55 6b 39 50 56 43 42 44 51 54 41 65 46 77 30 77 4e 6a 41 33 4d 44 51 78 4e 7a 49 77 R04gUk9PVCBDQTAeFw0wNjA3MDQxNzIw
1b05c0 4d 44 52 61 0a 46 77 30 7a 4d 54 41 33 4d 44 51 78 4e 7a 49 77 4d 44 52 61 4d 44 73 78 43 7a 41 MDRa.Fw0zMTA3MDQxNzIwMDRaMDsxCzA
1b05e0 4a 42 67 4e 56 42 41 59 54 41 6c 4a 50 4d 52 45 77 44 77 59 44 56 51 51 4b 45 77 68 6a 5a 58 4a JBgNVBAYTAlJPMREwDwYDVQQKEwhjZXJ
1b0600 30 55 30 6c 48 54 6a 45 5a 4d 42 63 47 41 31 55 45 0a 43 78 4d 51 59 32 56 79 64 46 4e 4a 52 30 0U0lHTjEZMBcGA1UE.CxMQY2VydFNJR0
1b0620 34 67 55 6b 39 50 56 43 42 44 51 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 4gUk9PVCBDQTCCASIwDQYJKoZIhvcNAQ
1b0640 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4c 63 7a 75 58 37 49 0a 4a EBBQADggEPADCCAQoCggEBALczuX7I.J
1b0660 55 71 4f 74 64 75 30 4b 42 75 71 56 35 44 6f 30 53 4c 54 5a 4c 72 54 6b 2b 6a 55 72 49 5a 68 51 UqOtdu0KBuqV5Do0SLTZLrTk+jUrIZhQ
1b0680 47 70 67 56 32 68 55 68 45 32 38 61 6c 51 43 42 66 2f 66 6d 35 6f 71 72 6c 30 48 6a 30 72 44 4b GpgV2hUhE28alQCBf/fm5oqrl0Hj0rDK
1b06a0 48 2f 76 2b 79 76 36 65 66 48 48 0a 72 66 41 51 55 79 53 51 69 32 62 4a 71 49 69 72 72 31 71 6a H/v+yv6efHH.rfAQUySQi2bJqIirr1qj
1b06c0 41 4f 6d 2b 75 6b 62 75 57 33 4e 37 4c 42 65 43 67 56 35 69 4c 4b 45 43 5a 62 4f 39 78 53 73 41 AOm+ukbuW3N7LBeCgV5iLKECZbO9xSsA
1b06e0 66 73 54 38 41 7a 4e 58 44 65 33 69 2b 73 35 64 52 64 59 34 7a 54 57 32 0a 73 73 48 51 6e 49 46 fsT8AzNXDe3i+s5dRdY4zTW2.ssHQnIF
1b0700 4b 71 75 53 79 41 56 77 64 6a 31 2b 5a 78 4c 47 74 32 34 67 68 36 35 41 49 67 6f 44 7a 4d 4b 4e KquSyAVwdj1+ZxLGt24gh65AIgoDzMKN
1b0720 44 35 70 43 43 72 6c 55 6f 53 65 31 62 31 36 6b 51 4f 41 37 2b 6a 30 78 62 6d 30 62 71 51 66 57 D5pCCrlUoSe1b16kQOA7+j0xbm0bqQfW
1b0740 77 43 48 54 44 0a 30 49 67 7a 74 6e 7a 58 64 4e 2f 63 68 4e 46 44 44 6e 55 35 6f 53 56 41 4b 4f wCHTD.0IgztnzXdN/chNFDDnU5oSVAKO
1b0760 70 34 79 77 34 73 4c 6a 6d 64 6a 49 74 75 46 68 77 76 4a 6f 49 51 34 75 4e 6c 6c 41 6f 45 77 46 p4yw4sLjmdjItuFhwvJoIQ4uNllAoEwF
1b0780 37 33 58 56 76 34 45 4f 4c 51 75 6e 70 4c 2b 39 34 33 0a 41 41 41 61 57 79 6a 6a 30 70 78 7a 50 73XVv4EOLQunpL+943.AAAaWyjj0pxzP
1b07a0 6a 4b 48 6d 4b 48 4a 55 53 2f 58 33 71 77 7a 73 30 38 43 41 77 45 41 41 61 4e 43 4d 45 41 77 44 jKHmKHJUS/X3qwzs08CAwEAAaNCMEAwD
1b07c0 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 0a wYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B.
1b07e0 41 66 38 45 42 41 4d 43 41 63 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4f 43 4d 6d 39 73 6c Af8EBAMCAcYwHQYDVR0OBBYEFOCMm9sl
1b0800 53 62 50 78 66 49 62 57 73 6b 4b 48 43 39 42 72 6f 4e 6e 6b 4d 41 30 47 43 53 71 47 53 49 62 33 SbPxfIbWskKHC9BroNnkMA0GCSqGSIb3
1b0820 44 51 45 42 42 51 55 41 41 34 49 42 0a 41 51 41 2b 30 68 79 4a 4c 6a 58 38 2b 48 58 64 35 6e 39 DQEBBQUAA4IB.AQA+0hyJLjX8+HXd5n9
1b0840 6c 69 50 52 79 54 4d 6b 73 31 7a 4a 4f 38 39 30 5a 65 55 65 39 6a 6a 74 62 6b 77 39 51 53 53 51 liPRyTMks1zJO890ZeUe9jjtbkw9QSSQ
1b0860 54 61 78 51 47 63 75 38 4a 30 36 47 68 34 30 43 45 79 65 63 59 4d 6e 51 38 0a 53 47 34 50 6e 30 TaxQGcu8J06Gh40CEyecYMnQ8.SG4Pn0
1b0880 76 55 39 78 37 54 6b 34 5a 6b 56 4a 64 6a 63 6c 44 56 56 63 2f 36 49 4a 4d 43 6f 70 76 44 49 35 vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5
1b08a0 4e 4f 46 6c 56 32 6f 48 42 35 62 63 30 68 48 38 38 76 4c 62 77 5a 34 34 67 78 2b 46 6b 61 67 51 NOFlV2oHB5bc0hH88vLbwZ44gx+FkagQ
1b08c0 6e 49 6c 36 5a 30 0a 78 32 44 45 57 38 78 58 6a 72 4a 31 2f 52 73 43 43 64 74 5a 62 33 4b 54 61 nIl6Z0.x2DEW8xXjrJ1/RsCCdtZb3KTa
1b08e0 66 63 78 51 64 61 49 4f 4c 2b 48 73 72 30 57 65 66 6d 71 35 4c 36 49 4a 64 31 68 4a 79 4d 63 74 fcxQdaIOL+Hsr0Wefmq5L6IJd1hJyMct
1b0900 54 45 48 42 44 61 30 47 70 43 39 6f 48 52 78 55 49 6c 74 0a 76 42 54 6a 44 34 61 75 38 61 73 2b TEHBDa0GpC9oHRxUIlt.vBTjD4au8as+
1b0920 78 36 41 4a 7a 4b 4e 49 30 65 44 62 5a 4f 65 53 74 63 2b 76 63 6b 4e 77 69 2f 6e 44 68 44 77 54 x6AJzKNI0eDbZOeStc+vckNwi/nDhDwT
1b0940 71 6e 36 53 6d 31 64 54 6b 2f 70 77 77 70 45 4f 4d 66 6d 62 5a 31 33 70 6c 6a 68 65 58 37 4e 7a qn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
1b0960 0a 54 6f 67 56 5a 39 36 65 64 68 42 69 49 4c 35 56 61 5a 56 44 41 44 6c 4e 39 75 36 77 57 6b 35 .TogVZ96edhBiIL5VaZVDADlN9u6wWk5
1b0980 4a 52 46 52 59 58 30 4b 44 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d JRFRYX0KD.-----END.CERTIFICATE--
1b09a0 2d 2d 2d 0a 0a 47 65 6f 54 72 75 73 74 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 61 74 ---..GeoTrust.Primary.Certificat
1b09c0 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ion.Authority.-.G3.=============
1b09e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1b0a00 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1b0a20 44 2f 6a 43 43 41 75 61 67 41 77 49 42 41 67 49 51 46 61 78 75 6c 42 6d 79 65 55 74 42 39 69 65 D/jCCAuagAwIBAgIQFaxulBmyeUtB9ie
1b0a40 70 77 78 67 50 48 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 6d 44 45 pwxgPHzANBgkqhkiG9w0BAQsFADCBmDE
1b0a60 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 78 46 6a 41 55 42 67 4e 56 42 41 6f 54 44 55 LMAkGA1UE.BhMCVVMxFjAUBgNVBAoTDU
1b0a80 64 6c 62 31 52 79 64 58 4e 30 49 45 6c 75 59 79 34 78 4f 54 41 33 42 67 4e 56 42 41 73 54 4d 43 dlb1RydXN0IEluYy4xOTA3BgNVBAsTMC
1b0aa0 68 6a 4b 53 41 79 4d 44 41 34 49 45 64 6c 62 31 52 79 64 58 4e 30 0a 49 45 6c 75 59 79 34 67 4c hjKSAyMDA4IEdlb1RydXN0.IEluYy4gL
1b0ac0 53 42 47 62 33 49 67 59 58 56 30 61 47 39 79 61 58 70 6c 5a 43 42 31 63 32 55 67 62 32 35 73 65 SBGb3IgYXV0aG9yaXplZCB1c2Ugb25se
1b0ae0 54 45 32 4d 44 51 47 41 31 55 45 41 78 4d 74 52 32 56 76 56 48 4a 31 63 33 51 67 55 48 4a 70 62 TE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpb
1b0b00 57 46 79 0a 65 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 WFy.eSBDZXJ0aWZpY2F0aW9uIEF1dGhv
1b0b20 63 6d 6c 30 65 53 41 74 49 45 63 7a 4d 42 34 58 44 54 41 34 4d 44 51 77 4d 6a 41 77 4d 44 41 77 cml0eSAtIEczMB4XDTA4MDQwMjAwMDAw
1b0b40 4d 46 6f 58 44 54 4d 33 4d 54 49 77 4d 54 49 7a 0a 4e 54 6b 31 4f 56 6f 77 67 5a 67 78 43 7a 41 MFoXDTM3MTIwMTIz.NTk1OVowgZgxCzA
1b0b60 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 59 77 46 41 59 44 56 51 51 4b 45 77 31 48 5a 57 39 JBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9
1b0b80 55 63 6e 56 7a 64 43 42 4a 62 6d 4d 75 4d 54 6b 77 4e 77 59 44 56 51 51 4c 45 7a 41 6f 0a 59 79 UcnVzdCBJbmMuMTkwNwYDVQQLEzAo.Yy
1b0ba0 6b 67 4d 6a 41 77 4f 43 42 48 5a 57 39 55 63 6e 56 7a 64 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d kgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm
1b0bc0 39 79 49 47 46 31 64 47 68 76 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 4e 6a 9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNj
1b0be0 41 30 42 67 4e 56 42 41 4d 54 0a 4c 55 64 6c 62 31 52 79 64 58 4e 30 49 46 42 79 61 57 31 68 63 A0BgNVBAMT.LUdlb1RydXN0IFByaW1hc
1b0c00 6e 6b 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 nkgQ2VydGlmaWNhdGlvbiBBdXRob3Jpd
1b0c20 48 6b 67 4c 53 42 48 4d 7a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 45 42 HkgLSBHMzCCASIwDQYJKoZI.hvcNAQEB
1b0c40 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4e 7a 69 58 6d 4a 59 48 54 4e 58 BQADggEPADCCAQoCggEBANziXmJYHTNX
1b0c60 4f 54 49 7a 2b 75 76 4c 68 34 79 6e 31 45 72 64 42 6f 6a 71 5a 49 34 78 6d 4b 55 34 6b 42 36 59 OTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Y
1b0c80 7a 79 35 6a 0a 4b 2f 42 47 76 45 53 79 69 61 48 41 4b 41 78 4a 63 43 47 56 6e 32 54 41 70 70 4d zy5j.K/BGvESyiaHAKAxJcCGVn2TAppM
1b0ca0 53 41 6d 55 6d 68 73 61 6c 69 66 44 36 31 34 53 67 63 4b 39 50 47 70 63 2f 42 6b 54 56 79 65 74 SAmUmhsalifD614SgcK9PGpc/BkTVyet
1b0cc0 79 45 48 33 6b 4d 53 6a 37 48 47 48 6d 4b 41 64 45 0a 63 35 49 69 61 61 63 44 69 47 79 64 59 38 yEH3kMSj7HGHmKAdE.c5IiaacDiGydY8
1b0ce0 68 53 32 70 67 6e 35 77 68 4d 63 44 36 30 79 52 4c 42 78 57 65 44 58 54 50 7a 41 78 48 73 61 74 hS2pgn5whMcD60yRLBxWeDXTPzAxHsat
1b0d00 42 54 34 74 47 36 4e 6d 43 55 67 4c 74 68 59 32 78 62 46 33 37 66 51 4a 51 65 71 77 33 43 0a 49 BT4tG6NmCUgLthY2xbF37fQJQeqw3C.I
1b0d20 53 68 77 69 50 2f 57 4a 6d 78 73 59 41 51 6c 54 6c 56 2b 66 65 2b 2f 6c 45 6a 65 74 78 33 64 63 ShwiP/WJmxsYAQlTlV+fe+/lEjetx3dc
1b0d40 49 30 46 58 34 69 6c 6d 2f 4c 43 37 75 72 52 51 45 46 74 59 6a 67 64 56 67 62 46 41 30 64 52 49 I0FX4ilm/LC7urRQEFtYjgdVgbFA0dRI
1b0d60 42 6e 38 65 78 41 4c 44 6d 4b 75 0a 64 6c 57 2f 58 33 65 2b 50 6b 6b 42 55 7a 32 59 4a 51 4e 32 Bn8exALDmKu.dlW/X3e+PkkBUz2YJQN2
1b0d80 4a 46 6f 64 74 4e 75 4a 36 6e 6e 6c 74 72 4d 37 50 37 70 4d 4b 45 46 2f 42 71 78 71 6a 73 48 51 JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ
1b0da0 39 67 55 64 66 65 5a 43 68 75 4f 6c 31 55 63 43 41 77 45 41 41 61 4e 43 0a 4d 45 41 77 44 77 59 9gUdfeZChuOl1UcCAwEAAaNC.MEAwDwY
1b0dc0 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 DVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8
1b0de0 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4d 52 35 79 6f 36 68 54 67 4d EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgM
1b0e00 64 48 4e 78 72 0a 32 7a 46 62 6c 44 34 2f 4d 48 38 74 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 dHNxr.2zFblD4/MH8tMA0GCSqGSIb3DQ
1b0e20 45 42 43 77 55 41 41 34 49 42 41 51 41 74 78 52 50 50 56 6f 42 37 65 6e 69 39 6e 36 34 73 6d 65 EBCwUAA4IBAQAtxRPPVoB7eni9n64sme
1b0e40 66 76 32 74 2b 55 58 67 6c 70 70 2b 64 75 61 49 79 39 0a 63 72 35 48 71 51 36 58 45 72 68 4b 38 fv2t+UXglpp+duaIy9.cr5HqQ6XErhK8
1b0e60 57 54 54 4f 64 38 6c 4e 4e 54 42 7a 55 36 42 38 41 38 45 78 43 53 7a 4e 4a 62 47 70 71 6f 77 33 WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow3
1b0e80 32 68 68 63 39 66 35 6a 6f 57 4a 37 77 35 65 6c 53 68 4b 4b 69 65 50 45 49 34 75 66 49 62 45 0a 2hhc9f5joWJ7w5elShKKiePEI4ufIbE.
1b0ea0 41 70 37 61 44 48 64 6c 44 6b 51 4e 6b 76 33 39 73 78 59 32 2b 68 45 4e 48 59 77 4f 42 34 6c 71 Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lq
1b0ec0 4b 56 62 33 63 76 54 64 46 5a 78 33 4e 57 5a 58 71 78 4e 54 32 49 37 42 51 4d 58 58 45 78 5a 61 KVb3cvTdFZx3NWZXqxNT2I7BQMXXExZa
1b0ee0 63 73 65 33 61 51 48 45 65 72 47 44 0a 41 57 68 39 6a 55 47 68 6c 42 6a 42 4a 56 7a 38 38 50 36 cse3aQHEerGD.AWh9jUGhlBjBJVz88P6
1b0f00 44 41 6f 64 38 44 51 33 50 4c 67 68 63 53 6b 41 4e 50 75 79 42 59 65 59 6b 32 38 72 67 44 69 30 DAod8DQ3PLghcSkANPuyBYeYk28rgDi0
1b0f20 48 73 6a 35 57 33 49 33 31 51 59 55 48 53 4a 73 4d 43 38 74 4a 50 33 33 73 0a 74 2f 33 4c 6a 57 Hsj5W3I31QYUHSJsMC8tJP33s.t/3LjW
1b0f40 65 4a 47 71 76 74 75 78 36 6a 41 41 67 49 46 79 71 43 58 44 46 64 52 6f 6f 74 44 34 61 62 64 4e eJGqvtux6jAAgIFyqCXDFdRootD4abdN
1b0f60 6c 46 2b 39 52 41 73 58 71 71 61 43 32 47 73 70 6b 69 34 63 45 72 78 35 7a 34 38 31 2b 6f 67 68 lF+9RAsXqqaC2Gspki4cErx5z481+ogh
1b0f80 4c 72 47 52 45 74 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d LrGREt.-----END.CERTIFICATE-----
1b0fa0 0a 0a 74 68 61 77 74 65 20 50 72 69 6d 61 72 79 20 52 6f 6f 74 20 43 41 20 2d 20 47 32 0a 3d 3d ..thawte.Primary.Root.CA.-.G2.==
1b0fc0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 =========================.-----B
1b0fe0 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 69 44 43 43 41 67 EGIN.CERTIFICATE-----.MIICiDCCAg
1b1000 32 67 41 77 49 42 41 67 49 51 4e 66 77 6d 58 4e 6d 45 54 38 6b 39 4a 6a 31 58 6d 36 37 58 56 6a 2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVj
1b1020 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 43 42 68 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 AKBggqhkjOPQQDAzCBhDELMAkGA1UEBh
1b1040 4d 43 0a 56 56 4d 78 46 54 41 54 42 67 4e 56 42 41 6f 54 44 48 52 6f 59 58 64 30 5a 53 77 67 53 MC.VVMxFTATBgNVBAoTDHRoYXd0ZSwgS
1b1060 57 35 6a 4c 6a 45 34 4d 44 59 47 41 31 55 45 43 78 4d 76 4b 47 4d 70 49 44 49 77 4d 44 63 67 64 W5jLjE4MDYGA1UECxMvKGMpIDIwMDcgd
1b1080 47 68 68 64 33 52 6c 4c 43 42 4a 62 6d 4d 75 0a 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 76 Ghhd3RlLCBJbmMu.IC0gRm9yIGF1dGhv
1b10a0 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 4a 44 41 69 42 67 4e 56 42 41 4d 54 cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMT
1b10c0 47 33 52 6f 59 58 64 30 5a 53 42 51 63 6d 6c 74 59 58 4a 35 49 46 4a 76 62 33 51 67 0a 51 30 45 G3RoYXd0ZSBQcmltYXJ5IFJvb3Qg.Q0E
1b10e0 67 4c 53 42 48 4d 6a 41 65 46 77 30 77 4e 7a 45 78 4d 44 55 77 4d 44 41 77 4d 44 42 61 46 77 30 gLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0
1b1100 7a 4f 44 41 78 4d 54 67 79 4d 7a 55 35 4e 54 6c 61 4d 49 47 45 4d 51 73 77 43 51 59 44 56 51 51 zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQ
1b1120 47 45 77 4a 56 55 7a 45 56 0a 4d 42 4d 47 41 31 55 45 43 68 4d 4d 64 47 68 68 64 33 52 6c 4c 43 GEwJVUzEV.MBMGA1UEChMMdGhhd3RlLC
1b1140 42 4a 62 6d 4d 75 4d 54 67 77 4e 67 59 44 56 51 51 4c 45 79 38 6f 59 79 6b 67 4d 6a 41 77 4e 79 BJbmMuMTgwNgYDVQQLEy8oYykgMjAwNy
1b1160 42 30 61 47 46 33 64 47 55 73 49 45 6c 75 59 79 34 67 4c 53 42 47 0a 62 33 49 67 59 58 56 30 61 B0aGF3dGUsIEluYy4gLSBG.b3IgYXV0a
1b1180 47 39 79 61 58 70 6c 5a 43 42 31 63 32 55 67 62 32 35 73 65 54 45 6b 4d 43 49 47 41 31 55 45 41 G9yaXplZCB1c2Ugb25seTEkMCIGA1UEA
1b11a0 78 4d 62 64 47 68 68 64 33 52 6c 49 46 42 79 61 57 31 68 63 6e 6b 67 55 6d 39 76 64 43 42 44 51 xMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQ
1b11c0 53 41 74 0a 49 45 63 79 4d 48 59 77 45 41 59 48 4b 6f 5a 49 7a 6a 30 43 41 51 59 46 4b 34 45 45 SAt.IEcyMHYwEAYHKoZIzj0CAQYFK4EE
1b11e0 41 43 49 44 59 67 41 45 6f 74 57 63 67 6e 75 56 6e 66 46 53 65 49 66 2b 69 68 61 2f 42 65 62 66 ACIDYgAEotWcgnuVnfFSeIf+iha/Bebf
1b1200 6f 77 4a 50 44 51 66 47 41 46 47 36 44 41 4a 53 0a 4c 53 4b 6b 51 6a 6e 45 2f 6f 2f 71 79 63 47 owJPDQfGAFG6DAJS.LSKkQjnE/o/qycG
1b1220 2b 31 45 33 2f 6e 33 71 65 34 72 46 38 6d 71 32 6e 68 67 6c 7a 68 39 48 6e 6d 75 4e 36 70 61 70 +1E3/n3qe4rF8mq2nhglzh9HnmuN6pap
1b1240 75 2b 37 71 7a 63 4d 42 6e 69 4b 49 31 31 4b 4f 61 73 66 32 74 77 75 38 78 2b 71 69 35 0a 38 2f u+7qzcMBniKI11KOasf2twu8x+qi5.8/
1b1260 73 49 78 70 48 52 2b 79 6d 56 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBT
1b1280 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 ADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBg
1b12a0 4e 56 48 51 34 45 46 67 51 55 0a 6d 74 67 41 4d 41 44 6e 61 33 2b 46 47 4f 36 4c 74 73 36 4b 44 NVHQ4EFgQU.mtgAMADna3+FGO6Lts6KD
1b12c0 50 67 52 34 62 73 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 4d 44 61 51 41 77 5a 67 49 78 41 PgR4bswCgYIKoZIzj0EAwMDaQAwZgIxA
1b12e0 4e 33 34 34 46 64 48 57 36 66 6d 43 73 4f 39 39 59 43 4b 6c 7a 55 4e 0a 47 34 6b 38 56 49 5a 33 N344FdHW6fmCsO99YCKlzUN.G4k8VIZ3
1b1300 4b 4d 71 68 39 48 6e 65 74 65 59 34 73 50 42 6c 63 49 78 2f 41 6c 54 43 76 2f 2f 59 6f 54 37 5a KMqh9HneteY4sPBlcIx/AlTCv//YoT7Z
1b1320 7a 77 49 78 41 4d 53 4e 6c 50 7a 63 55 39 4c 63 6e 58 67 57 48 78 55 7a 49 31 4e 53 34 31 6f 78 zwIxAMSNlPzcU9LcnXgWHxUzI1NS41ox
1b1340 58 5a 33 4b 0a 72 72 30 54 4b 55 51 4e 4a 31 75 6f 35 32 69 63 45 76 64 59 50 79 35 79 41 6c 65 XZ3K.rr0TKUQNJ1uo52icEvdYPy5yAle
1b1360 6a 6a 36 45 55 4c 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d jj6EULg==.-----END.CERTIFICATE--
1b1380 2d 2d 2d 0a 0a 74 68 61 77 74 65 20 50 72 69 6d 61 72 79 20 52 6f 6f 74 20 43 41 20 2d 20 47 33 ---..thawte.Primary.Root.CA.-.G3
1b13a0 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d .===========================.---
1b13c0 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4b 6a 43 --BEGIN.CERTIFICATE-----.MIIEKjC
1b13e0 43 41 78 4b 67 41 77 49 42 41 67 49 51 59 41 47 58 74 30 61 6e 36 72 53 30 6d 74 5a 4c 4c 2f 65 CAxKgAwIBAgIQYAGXt0an6rS0mtZLL/e
1b1400 51 2b 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 72 6a 45 4c 4d 41 6b Q+zANBgkqhkiG9w0BAQsFADCBrjELMAk
1b1420 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 78 46 54 41 54 42 67 4e 56 42 41 6f 54 44 48 52 6f 59 58 GA1UE.BhMCVVMxFTATBgNVBAoTDHRoYX
1b1440 64 30 5a 53 77 67 53 57 35 6a 4c 6a 45 6f 4d 43 59 47 41 31 55 45 43 78 4d 66 51 32 56 79 64 47 d0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydG
1b1460 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 54 5a 58 4a 32 0a 61 57 4e 6c 63 79 42 45 61 58 5a 70 63 lmaWNhdGlvbiBTZXJ2.aWNlcyBEaXZpc
1b1480 32 6c 76 62 6a 45 34 4d 44 59 47 41 31 55 45 43 78 4d 76 4b 47 4d 70 49 44 49 77 4d 44 67 67 64 2lvbjE4MDYGA1UECxMvKGMpIDIwMDggd
1b14a0 47 68 68 64 33 52 6c 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 76 0a Ghhd3RlLCBJbmMuIC0gRm9yIGF1dGhv.
1b14c0 63 6d 6c 36 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 4a 44 41 69 42 67 4e 56 42 41 4d 54 cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMT
1b14e0 47 33 52 6f 59 58 64 30 5a 53 42 51 63 6d 6c 74 59 58 4a 35 49 46 4a 76 62 33 51 67 51 30 45 67 G3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0Eg
1b1500 4c 53 42 48 4d 7a 41 65 46 77 30 77 0a 4f 44 41 30 4d 44 49 77 4d 44 41 77 4d 44 42 61 46 77 30 LSBHMzAeFw0w.ODA0MDIwMDAwMDBaFw0
1b1520 7a 4e 7a 45 79 4d 44 45 79 4d 7a 55 35 4e 54 6c 61 4d 49 47 75 4d 51 73 77 43 51 59 44 56 51 51 zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQ
1b1540 47 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 64 47 68 68 0a 64 33 52 6c 4c 43 GEwJVUzEVMBMGA1UEChMMdGhh.d3RlLC
1b1560 42 4a 62 6d 4d 75 4d 53 67 77 4a 67 59 44 56 51 51 4c 45 78 39 44 5a 58 4a 30 61 57 5a 70 59 32 BJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2
1b1580 46 30 61 57 39 75 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 52 70 64 6d 6c 7a 61 57 39 75 4d 54 F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMT
1b15a0 67 77 4e 67 59 44 0a 56 51 51 4c 45 79 38 6f 59 79 6b 67 4d 6a 41 77 4f 43 42 30 61 47 46 33 64 gwNgYD.VQQLEy8oYykgMjAwOCB0aGF3d
1b15c0 47 55 73 49 45 6c 75 59 79 34 67 4c 53 42 47 62 33 49 67 59 58 56 30 61 47 39 79 61 58 70 6c 5a GUsIEluYy4gLSBGb3IgYXV0aG9yaXplZ
1b15e0 43 42 31 63 32 55 67 62 32 35 73 65 54 45 6b 4d 43 49 47 0a 41 31 55 45 41 78 4d 62 64 47 68 68 CB1c2Ugb25seTEkMCIG.A1UEAxMbdGhh
1b1600 64 33 52 6c 49 46 42 79 61 57 31 68 63 6e 6b 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 45 63 7a d3RlIFByaW1hcnkgUm9vdCBDQSAtIEcz
1b1620 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
1b1640 0a 4d 49 49 42 43 67 4b 43 41 51 45 41 73 72 38 6e 4c 50 76 62 32 46 76 64 65 48 73 62 6e 6e 64 .MIIBCgKCAQEAsr8nLPvb2FvdeHsbnnd
1b1660 6d 67 63 73 2b 76 48 79 75 38 36 59 6e 6d 6a 53 6a 61 44 46 78 4f 44 4e 69 35 50 4e 78 5a 6e 6d mgcs+vHyu86YnmjSjaDFxODNi5PNxZnm
1b1680 78 71 57 57 6a 70 59 76 56 6a 32 41 74 0a 50 30 4c 4d 71 6d 73 79 77 43 50 4c 4c 45 48 64 35 4e xqWWjpYvVj2At.P0LMqmsywCPLLEHd5N
1b16a0 2f 38 59 5a 7a 69 63 37 49 69 6c 52 46 44 47 46 2f 45 74 68 39 58 62 41 6f 46 57 43 4c 49 4e 6b /8YZzic7IilRFDGF/Eth9XbAoFWCLINk
1b16c0 77 36 66 4b 58 52 7a 34 61 76 69 4b 64 45 41 68 4e 30 63 58 4d 4b 51 6c 6b 43 0a 2b 42 73 55 61 w6fKXRz4aviKdEAhN0cXMKQlkC.+BsUa
1b16e0 30 4c 66 62 31 2b 36 61 34 4b 69 6e 56 76 6e 53 72 30 65 41 58 4c 62 53 33 54 6f 4f 33 39 2f 66 0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/f
1b1700 52 38 45 74 43 61 62 34 4c 52 61 72 45 63 39 56 62 6a 58 73 43 5a 53 4b 41 45 78 51 47 62 59 32 R8EtCab4LRarEc9VbjXsCZSKAExQGbY2
1b1720 53 53 39 39 69 72 59 0a 37 43 46 4a 58 4a 76 32 65 75 6c 2f 56 54 56 2b 6c 6d 75 4e 6b 35 4d 6e SS99irY.7CFJXJv2eul/VTV+lmuNk5Mn
1b1740 79 35 4b 37 36 71 78 41 77 4a 2f 43 2b 49 44 50 58 66 52 61 33 4d 35 30 68 71 59 2b 62 41 74 54 y5K76qxAwJ/C+IDPXfRa3M50hqY+bAtT
1b1760 79 72 32 53 7a 68 6b 47 63 75 59 4d 58 44 68 70 78 77 54 57 0a 76 47 7a 4f 57 2f 62 33 61 4a 7a yr2SzhkGcuYMXDhpxwTW.vGzOW/b3aJz
1b1780 63 4a 52 56 49 69 4b 48 70 71 66 69 59 6e 4f 44 7a 31 54 45 6f 59 52 46 73 5a 35 61 4e 4f 5a 6e cJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZn
1b17a0 4c 77 6b 55 6b 4f 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 LwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8
1b17c0 45 0a 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a E.BTADAQH/MA4GA1UdDwEB/wQEAwIBBj
1b17e0 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 72 57 79 71 6c 47 43 63 37 65 54 2f 2b 6a 34 4b 64 43 AdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdC
1b1800 74 6a 41 2f 65 32 57 62 38 77 44 51 59 4a 0a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 tjA/e2Wb8wDQYJ.KoZIhvcNAQELBQADg
1b1820 67 45 42 41 42 70 41 32 4a 56 6c 72 41 6d 53 69 63 59 35 39 42 44 6c 71 51 35 6d 55 31 31 34 33 gEBABpA2JVlrAmSicY59BDlqQ5mU1143
1b1840 76 6f 6b 6b 62 76 6e 52 46 48 66 78 68 59 30 43 75 39 71 52 46 48 71 4b 77 65 4b 0a 41 33 72 44 vokkbvnRFHfxhY0Cu9qRFHqKweK.A3rD
1b1860 36 7a 38 4b 4c 46 49 57 6f 43 74 44 75 53 57 51 50 33 43 70 4d 79 56 74 52 52 6f 6f 4f 79 66 50 6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfP
1b1880 71 73 4d 70 51 68 76 66 4f 30 7a 41 4d 7a 52 62 51 59 69 2f 61 79 74 6c 72 79 6a 76 73 76 58 44 qsMpQhvfO0zAMzRbQYi/aytlryjvsvXD
1b18a0 71 6d 62 4f 65 31 62 75 0a 74 38 6a 4c 5a 38 48 4a 6e 42 6f 59 75 4d 54 44 53 51 50 78 59 41 35 qmbOe1bu.t8jLZ8HJnBoYuMTDSQPxYA5
1b18c0 51 7a 55 62 46 38 33 64 35 39 37 59 56 34 44 6a 62 78 79 38 6f 6f 41 77 2f 64 79 5a 30 32 53 55 QzUbF83d597YV4Djbxy8ooAw/dyZ02SU
1b18e0 53 32 6a 48 61 47 68 37 63 4b 55 47 52 49 6a 78 70 70 37 73 43 0a 38 72 5a 63 4a 77 4f 4a 39 41 S2jHaGh7cKUGRIjxpp7sC.8rZcJwOJ9A
1b1900 62 71 6d 2b 52 79 67 75 4f 68 43 63 48 70 41 42 6e 54 50 74 52 77 61 37 70 78 70 71 70 59 72 76 bqm+RyguOhCcHpABnTPtRwa7pxpqpYrv
1b1920 53 37 36 57 79 32 37 34 66 4d 6d 37 76 2f 4f 65 5a 57 59 64 4d 4b 70 38 52 63 54 47 42 37 42 58 S76Wy274fMm7v/OeZWYdMKp8RcTGB7BX
1b1940 63 6d 0a 65 72 2f 59 42 31 49 73 59 76 64 77 59 39 6b 35 76 47 38 63 77 6e 6e 63 64 69 6d 76 7a cm.er/YB1IsYvdwY9k5vG8cwnncdimvz
1b1960 73 55 73 5a 41 52 65 69 44 5a 75 4d 64 52 41 47 6d 49 30 4e 6a 38 31 41 61 36 73 59 36 41 3d 0a sUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=.
1b1980 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 65 6f 54 72 -----END.CERTIFICATE-----..GeoTr
1b19a0 75 73 74 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 ust.Primary.Certification.Author
1b19c0 69 74 79 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ity.-.G2.=======================
1b19e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 ======================.-----BEGI
1b1a00 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 72 6a 43 43 41 6a 57 67 41 N.CERTIFICATE-----.MIICrjCCAjWgA
1b1a20 77 49 42 41 67 49 51 50 4c 4c 30 53 41 6f 41 34 76 37 72 4a 44 74 65 59 44 37 44 61 7a 41 4b 42 wIBAgIQPLL0SAoA4v7rJDteYD7DazAKB
1b1a40 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 43 42 6d 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a ggqhkjOPQQDAzCBmDELMAkGA1UEBhMC.
1b1a60 56 56 4d 78 46 6a 41 55 42 67 4e 56 42 41 6f 54 44 55 64 6c 62 31 52 79 64 58 4e 30 49 45 6c 75 VVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
1b1a80 59 79 34 78 4f 54 41 33 42 67 4e 56 42 41 73 54 4d 43 68 6a 4b 53 41 79 4d 44 41 33 49 45 64 6c Yy4xOTA3BgNVBAsTMChjKSAyMDA3IEdl
1b1aa0 62 31 52 79 64 58 4e 30 49 45 6c 75 0a 59 79 34 67 4c 53 42 47 62 33 49 67 59 58 56 30 61 47 39 b1RydXN0IElu.Yy4gLSBGb3IgYXV0aG9
1b1ac0 79 61 58 70 6c 5a 43 42 31 63 32 55 67 62 32 35 73 65 54 45 32 4d 44 51 47 41 31 55 45 41 78 4d yaXplZCB1c2Ugb25seTE2MDQGA1UEAxM
1b1ae0 74 52 32 56 76 56 48 4a 31 63 33 51 67 55 48 4a 70 62 57 46 79 65 53 42 44 0a 5a 58 4a 30 61 57 tR2VvVHJ1c3QgUHJpbWFyeSBD.ZXJ0aW
1b1b00 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 53 41 74 49 45 63 79 4d 42 ZpY2F0aW9uIEF1dGhvcml0eSAtIEcyMB
1b1b20 34 58 44 54 41 33 4d 54 45 77 4e 54 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 34 4d 44 45 78 4f 44 4XDTA3MTEwNTAwMDAwMFoXDTM4MDExOD
1b1b40 49 7a 4e 54 6b 31 0a 4f 56 6f 77 67 5a 67 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d IzNTk1.OVowgZgxCzAJBgNVBAYTAlVTM
1b1b60 52 59 77 46 41 59 44 56 51 51 4b 45 77 31 48 5a 57 39 55 63 6e 56 7a 64 43 42 4a 62 6d 4d 75 4d RYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuM
1b1b80 54 6b 77 4e 77 59 44 56 51 51 4c 45 7a 41 6f 59 79 6b 67 0a 4d 6a 41 77 4e 79 42 48 5a 57 39 55 TkwNwYDVQQLEzAoYykg.MjAwNyBHZW9U
1b1ba0 63 6e 56 7a 64 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 76 63 6d 6c 36 cnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6
1b1bc0 5a 57 51 67 64 58 4e 6c 49 47 39 75 62 48 6b 78 4e 6a 41 30 42 67 4e 56 42 41 4d 54 4c 55 64 6c ZWQgdXNlIG9ubHkxNjA0BgNVBAMTLUdl
1b1be0 0a 62 31 52 79 64 58 4e 30 49 46 42 79 61 57 31 68 63 6e 6b 67 51 32 56 79 64 47 6c 6d 61 57 4e .b1RydXN0IFByaW1hcnkgQ2VydGlmaWN
1b1c00 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 6a 42 32 4d 42 41 hdGlvbiBBdXRob3JpdHkgLSBHMjB2MBA
1b1c20 47 42 79 71 47 53 4d 34 39 41 67 45 47 0a 42 53 75 42 42 41 41 69 41 32 49 41 42 42 57 78 36 50 GByqGSM49AgEG.BSuBBAAiA2IABBWx6P
1b1c40 30 44 46 55 50 6c 72 4f 75 48 4e 78 46 69 37 39 4b 44 4e 6c 4a 39 52 56 63 4c 53 6f 31 37 56 44 0DFUPlrOuHNxFi79KDNlJ9RVcLSo17VD
1b1c60 73 36 62 6c 38 56 41 73 42 51 70 73 38 6c 4c 33 33 4b 53 4c 6a 48 55 47 4d 63 0a 4b 69 45 49 66 s6bl8VAsBQps8lL33KSLjHUGMc.KiEIf
1b1c80 4a 6f 32 32 41 76 2b 30 53 62 46 57 44 45 77 4b 43 58 7a 58 56 32 6a 75 4c 61 6c 74 4a 4c 74 62 Jo22Av+0SbFWDEwKCXzXV2juLaltJLtb
1b1ca0 43 79 66 36 39 31 44 69 61 49 38 53 30 69 52 48 56 44 73 4a 74 2f 57 59 43 36 39 49 61 4e 43 4d Cyf691DiaI8S0iRHVDsJt/WYC69IaNCM
1b1cc0 45 41 77 44 77 59 44 0a 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 EAwDwYD.VR0TAQH/BAUwAwEB/zAOBgNV
1b1ce0 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 42 56 66 HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBVf
1b1d00 4e 56 64 52 56 66 73 6c 73 71 30 44 61 66 77 42 6f 2f 71 2b 0a 45 56 58 56 4d 41 6f 47 43 43 71 NVdRVfslsq0DafwBo/q+.EVXVMAoGCCq
1b1d20 47 53 4d 34 39 42 41 4d 44 41 32 63 41 4d 47 51 43 4d 47 53 57 57 61 62 6f 43 64 36 4c 75 76 70 GSM49BAMDA2cAMGQCMGSWWaboCd6Luvp
1b1d40 61 69 49 6a 77 48 35 48 54 52 71 6a 79 53 6b 77 43 59 2f 74 73 58 7a 6a 62 4c 6b 47 54 71 51 37 aiIjwH5HTRqjySkwCY/tsXzjbLkGTqQ7
1b1d60 6d 0a 6e 64 77 78 48 4c 4b 67 70 78 67 63 65 65 48 48 4e 67 49 77 4f 6c 61 76 6d 6e 52 73 39 76 m.ndwxHLKgpxgceeHHNgIwOlavmnRs9v
1b1d80 75 44 34 44 50 54 43 46 2b 68 6e 4d 4a 62 6e 30 62 57 74 73 75 52 42 6d 4f 69 42 75 63 7a 72 44 uD4DPTCF+hnMJbn0bWtsuRBmOiBuczrD
1b1da0 36 6f 67 52 4c 51 79 37 72 51 6b 67 75 32 0a 6e 70 61 71 42 41 2b 4b 0a 2d 2d 2d 2d 2d 45 4e 44 6ogRLQy7rQkgu2.npaqBA+K.-----END
1b1dc0 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 56 65 72 69 53 69 67 6e 20 55 6e 69 76 .CERTIFICATE-----..VeriSign.Univ
1b1de0 65 72 73 61 6c 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 ersal.Root.Certification.Authori
1b1e00 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ty.=============================
1b1e20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1b1e40 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 75 54 43 43 41 36 47 67 41 77 49 42 41 RTIFICATE-----.MIIEuTCCA6GgAwIBA
1b1e60 67 49 51 51 42 72 45 5a 43 47 7a 45 79 45 44 44 72 76 6b 45 68 72 46 48 54 41 4e 42 67 6b 71 68 gIQQBrEZCGzEyEDDrvkEhrFHTANBgkqh
1b1e80 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 76 54 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 kiG9w0BAQsFADCBvTELMAkGA1UE.BhMC
1b1ea0 56 56 4d 78 46 7a 41 56 42 67 4e 56 42 41 6f 54 44 6c 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJ
1b1ec0 62 6d 4d 75 4d 52 38 77 48 51 59 44 56 51 51 4c 45 78 5a 57 5a 58 4a 70 55 32 6c 6e 62 69 42 55 bmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
1b1ee0 63 6e 56 7a 64 43 42 4f 0a 5a 58 52 33 62 33 4a 72 4d 54 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 cnVzdCBO.ZXR3b3JrMTowOAYDVQQLEzE
1b1f00 6f 59 79 6b 67 4d 6a 41 77 4f 43 42 57 5a 58 4a 70 55 32 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 oYykgMjAwOCBWZXJpU2lnbiwgSW5jLiA
1b1f20 74 49 45 5a 76 63 69 42 68 64 58 52 6f 62 33 4a 70 65 6d 56 6b 0a 49 48 56 7a 5a 53 42 76 62 6d tIEZvciBhdXRob3JpemVk.IHVzZSBvbm
1b1f40 78 35 4d 54 67 77 4e 67 59 44 56 51 51 44 45 79 39 57 5a 58 4a 70 55 32 6c 6e 62 69 42 56 62 6d x5MTgwNgYDVQQDEy9WZXJpU2lnbiBVbm
1b1f60 6c 32 5a 58 4a 7a 59 57 77 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 l2ZXJzYWwgUm9vdCBDZXJ0aWZpY2F0aW
1b1f80 39 75 0a 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 41 65 46 77 30 77 4f 44 41 30 4d 44 49 77 4d 9u.IEF1dGhvcml0eTAeFw0wODA0MDIwM
1b1fa0 44 41 77 4d 44 42 61 46 77 30 7a 4e 7a 45 79 4d 44 45 79 4d 7a 55 35 4e 54 6c 61 4d 49 47 39 4d DAwMDBaFw0zNzEyMDEyMzU5NTlaMIG9M
1b1fc0 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 58 4d 42 55 47 41 31 55 45 43 68 4d 4f QswCQYDVQQGEwJV.UzEXMBUGA1UEChMO
1b1fe0 56 6d 56 79 61 56 4e 70 5a 32 34 73 49 45 6c 75 59 79 34 78 48 7a 41 64 42 67 4e 56 42 41 73 54 VmVyaVNpZ24sIEluYy4xHzAdBgNVBAsT
1b2000 46 6c 5a 6c 63 6d 6c 54 61 57 64 75 49 46 52 79 64 58 4e 30 49 45 35 6c 64 48 64 76 0a 63 6d 73 FlZlcmlTaWduIFRydXN0IE5ldHdv.cms
1b2020 78 4f 6a 41 34 42 67 4e 56 42 41 73 54 4d 53 68 6a 4b 53 41 79 4d 44 41 34 49 46 5a 6c 63 6d 6c xOjA4BgNVBAsTMShjKSAyMDA4IFZlcml
1b2040 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 49 43 30 67 52 6d 39 79 49 47 46 31 64 47 68 76 63 6d 6c TaWduLCBJbmMuIC0gRm9yIGF1dGhvcml
1b2060 36 5a 57 51 67 64 58 4e 6c 0a 49 47 39 75 62 48 6b 78 4f 44 41 32 42 67 4e 56 42 41 4d 54 4c 31 6ZWQgdXNl.IG9ubHkxODA2BgNVBAMTL1
1b2080 5a 6c 63 6d 6c 54 61 57 64 75 49 46 56 75 61 58 5a 6c 63 6e 4e 68 62 43 42 53 62 32 39 30 49 45 ZlcmlTaWduIFVuaXZlcnNhbCBSb290IE
1b20a0 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 0a 61 47 39 79 61 58 52 35 4d NlcnRpZmljYXRpb24gQXV0.aG9yaXR5M
1b20c0 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d IIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AM
1b20e0 49 49 42 43 67 4b 43 41 51 45 41 78 32 45 33 58 72 45 42 4e 4e 74 69 31 78 57 62 2f 31 68 61 6a IIBCgKCAQEAx2E3XrEBNNti1xWb/1haj
1b2100 43 4d 6a 0a 31 6d 43 4f 6b 64 65 51 6d 49 4e 36 35 6c 67 5a 4f 49 7a 46 39 75 56 6b 68 62 53 69 CMj.1mCOkdeQmIN65lgZOIzF9uVkhbSi
1b2120 63 66 76 74 76 62 6e 61 7a 55 30 41 74 4d 67 74 63 36 58 48 61 58 47 56 48 7a 6b 38 73 6b 51 48 cfvtvbnazU0AtMgtc6XHaXGVHzk8skQH
1b2140 6e 4f 67 4f 2b 6b 31 4b 78 43 48 66 4b 57 47 50 0a 4d 69 4a 68 67 73 57 48 48 32 36 4d 66 46 38 nOgO+k1KxCHfKWGP.MiJhgsWHH26MfF8
1b2160 57 49 46 46 45 30 58 42 50 56 2b 72 6a 48 4f 50 4d 65 65 35 59 32 41 37 43 73 30 57 54 77 43 7a WIFFE0XBPV+rjHOPMee5Y2A7Cs0WTwCz
1b2180 6e 6d 68 63 72 65 77 41 33 65 6b 45 7a 65 4f 45 7a 34 76 4d 51 47 6e 2b 48 4c 4c 37 32 0a 39 66 nmhcrewA3ekEzeOEz4vMQGn+HLL72.9f
1b21a0 64 43 34 75 57 2f 68 32 4b 4a 58 77 42 4c 33 38 58 64 35 48 56 45 4d 6b 45 36 48 6e 46 75 61 63 dC4uW/h2KJXwBL38Xd5HVEMkE6HnFuac
1b21c0 73 4c 64 55 59 49 30 63 72 53 4b 35 58 51 7a 2f 75 35 51 47 74 6b 6a 46 64 4e 2f 42 4d 52 65 59 sLdUYI0crSK5XQz/u5QGtkjFdN/BMReY
1b21e0 54 74 58 6c 54 32 4e 4a 38 49 0a 41 66 4d 51 4a 51 59 58 53 74 72 78 48 58 70 6d 61 35 68 67 5a TtXlT2NJ8I.AfMQJQYXStrxHXpma5hgZ
1b2200 71 54 5a 37 39 49 75 67 76 48 77 37 77 6e 71 52 4d 6b 56 61 75 49 44 62 6a 50 54 72 4a 39 56 41 qTZ79IugvHw7wnqRMkVauIDbjPTrJ9VA
1b2220 4d 66 32 43 47 71 55 75 56 2f 63 34 44 50 78 68 47 44 35 57 79 63 52 0a 74 50 77 57 38 72 74 57 Mf2CGqUuV/c4DPxhGD5WycR.tPwW8rtW
1b2240 61 6f 41 6c 6a 51 49 44 41 51 41 42 6f 34 47 79 4d 49 47 76 4d 41 38 47 41 31 55 64 45 77 45 42 aoAljQIDAQABo4GyMIGvMA8GA1UdEwEB
1b2260 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 /wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG
1b2280 4d 47 30 47 0a 43 43 73 47 41 51 55 46 42 77 45 4d 42 47 45 77 58 36 46 64 6f 46 73 77 57 54 42 MG0G.CCsGAQUFBwEMBGEwX6FdoFswWTB
1b22a0 58 4d 46 55 57 43 57 6c 74 59 57 64 6c 4c 32 64 70 5a 6a 41 68 4d 42 38 77 42 77 59 46 4b 77 34 XMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4
1b22c0 44 41 68 6f 45 46 49 2f 6c 30 78 71 47 72 49 32 4f 0a 61 38 50 50 67 47 72 55 53 42 67 73 65 78 DAhoEFI/l0xqGrI2O.a8PPgGrUSBgsex
1b22e0 6b 75 4d 43 55 57 49 32 68 30 64 48 41 36 4c 79 39 73 62 32 64 76 4c 6e 5a 6c 63 6d 6c 7a 61 57 kuMCUWI2h0dHA6Ly9sb2dvLnZlcmlzaW
1b2300 64 75 4c 6d 4e 76 62 53 39 32 63 32 78 76 5a 32 38 75 5a 32 6c 6d 4d 42 30 47 41 31 55 64 0a 44 duLmNvbS92c2xvZ28uZ2lmMB0GA1Ud.D
1b2320 67 51 57 42 42 53 32 64 2f 70 70 53 45 65 66 55 78 4c 56 77 75 6f 48 4d 6e 59 48 30 5a 63 48 47 gQWBBS2d/ppSEefUxLVwuoHMnYH0ZcHG
1b2340 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 51 45 41 53 76 6a 34 73 TANBgkqhkiG9w0BAQsFAAOCAQEASvj4s
1b2360 41 50 6d 4c 47 64 37 35 4a 52 33 0a 59 38 78 75 54 50 6c 39 44 67 33 63 79 4c 6b 31 75 58 42 50 APmLGd75JR3.Y8xuTPl9Dg3cyLk1uXBP
1b2380 59 2f 6f 6b 2b 6d 79 44 6a 45 65 64 4f 32 50 7a 6d 76 6c 32 4d 70 57 52 73 58 65 38 72 4a 71 2b Y/ok+myDjEedO2Pzmvl2MpWRsXe8rJq+
1b23a0 73 65 51 78 49 63 61 42 6c 56 5a 61 44 72 48 43 31 4c 47 6d 57 61 7a 78 0a 59 38 75 34 54 42 31 seQxIcaBlVZaDrHC1LGmWazx.Y8u4TB1
1b23c0 5a 6b 45 72 76 6b 42 59 6f 48 31 71 75 45 50 75 42 55 44 67 4d 62 4d 7a 78 50 63 50 31 59 2b 4f ZkErvkBYoH1quEPuBUDgMbMzxPcP1Y+O
1b23e0 7a 34 79 48 4a 4a 44 6e 70 2f 52 56 6d 52 76 51 62 45 64 42 4e 63 36 4e 39 52 76 6b 39 37 61 68 z4yHJJDnp/RVmRvQbEdBNc6N9Rvk97ah
1b2400 66 59 74 54 78 0a 50 2f 6a 67 64 46 63 72 47 4a 32 42 74 4d 51 6f 32 70 53 58 70 58 44 72 72 42 fYtTx.P/jgdFcrGJ2BtMQo2pSXpXDrrB
1b2420 32 2b 42 78 48 77 31 64 76 64 35 59 7a 77 31 54 4b 77 67 2b 5a 58 34 6f 2b 2f 76 71 47 71 76 7a 2+BxHw1dvd5Yzw1TKwg+ZX4o+/vqGqvz
1b2440 30 64 74 64 51 34 36 74 65 77 58 44 70 50 61 6a 2b 50 0a 77 47 5a 73 59 36 72 70 32 61 51 57 39 0dtdQ46tewXDpPaj+P.wGZsY6rp2aQW9
1b2460 49 48 52 6c 52 51 4f 66 63 32 56 4e 4e 6e 53 6a 33 42 7a 67 58 75 63 66 72 32 59 59 64 68 46 68 IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh
1b2480 35 69 51 78 65 75 47 4d 4d 59 31 76 2f 44 2f 77 31 57 49 67 30 76 76 42 5a 49 47 63 66 4b 34 0a 5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4.
1b24a0 6d 4a 4f 33 37 4d 32 43 59 66 45 34 35 6b 2b 58 6d 43 70 61 6a 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e mJO37M2CYfE45k+XmCpajQ==.-----EN
1b24c0 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 56 65 72 69 53 69 67 6e 20 43 6c 61 D.CERTIFICATE-----..VeriSign.Cla
1b24e0 73 73 20 33 20 50 75 62 6c 69 63 20 50 72 69 6d 61 72 79 20 43 65 72 74 69 66 69 63 61 74 69 6f ss.3.Public.Primary.Certificatio
1b2500 6e 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 34 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d n.Authority.-.G4.===============
1b2520 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1b2540 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1b2560 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 68 44 43 43 41 77 71 67 41 77 49 42 41 67 49 51 4c 34 CATE-----.MIIDhDCCAwqgAwIBAgIQL4
1b2580 44 2b 49 34 77 4f 49 67 39 49 5a 78 49 6f 6b 59 65 73 73 7a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 D+I4wOIg9IZxIokYesszAKBggqhkjOPQ
1b25a0 51 44 41 7a 43 42 79 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 56 56 4d 78 46 7a 41 56 42 QDAzCByjELMAkGA1UEBhMC.VVMxFzAVB
1b25c0 67 4e 56 42 41 6f 54 44 6c 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 4d 52 38 77 48 gNVBAoTDlZlcmlTaWduLCBJbmMuMR8wH
1b25e0 51 59 44 56 51 51 4c 45 78 5a 57 5a 58 4a 70 55 32 6c 6e 62 69 42 55 63 6e 56 7a 64 43 42 4f 5a QYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZ
1b2600 58 52 33 0a 62 33 4a 72 4d 54 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 6f 59 79 6b 67 4d 6a 41 77 XR3.b3JrMTowOAYDVQQLEzEoYykgMjAw
1b2620 4e 79 42 57 5a 58 4a 70 55 32 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 74 49 45 5a 76 63 69 42 68 NyBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
1b2640 64 58 52 6f 62 33 4a 70 65 6d 56 6b 49 48 56 7a 0a 5a 53 42 76 62 6d 78 35 4d 55 55 77 51 77 59 dXRob3JpemVkIHVz.ZSBvbmx5MUUwQwY
1b2660 44 56 51 51 44 45 7a 78 57 5a 58 4a 70 55 32 6c 6e 62 69 42 44 62 47 46 7a 63 79 41 7a 49 46 42 DVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB
1b2680 31 59 6d 78 70 59 79 42 51 63 6d 6c 74 59 58 4a 35 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 0a 59 58 1YmxpYyBQcmltYXJ5IENlcnRpZmlj.YX
1b26a0 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 51 77 48 68 63 4e 4d 44 Rpb24gQXV0aG9yaXR5IC0gRzQwHhcNMD
1b26c0 63 78 4d 54 41 31 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 34 4d 6a 4d 31 4f 54 cxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OT
1b26e0 55 35 57 6a 43 42 79 6a 45 4c 0a 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 7a 41 56 42 U5WjCByjEL.MAkGA1UEBhMCVVMxFzAVB
1b2700 67 4e 56 42 41 6f 54 44 6c 5a 6c 63 6d 6c 54 61 57 64 75 4c 43 42 4a 62 6d 4d 75 4d 52 38 77 48 gNVBAoTDlZlcmlTaWduLCBJbmMuMR8wH
1b2720 51 59 44 56 51 51 4c 45 78 5a 57 5a 58 4a 70 55 32 6c 6e 62 69 42 55 0a 63 6e 56 7a 64 43 42 4f QYDVQQLExZWZXJpU2lnbiBU.cnVzdCBO
1b2740 5a 58 52 33 62 33 4a 72 4d 54 6f 77 4f 41 59 44 56 51 51 4c 45 7a 45 6f 59 79 6b 67 4d 6a 41 77 ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAw
1b2760 4e 79 42 57 5a 58 4a 70 55 32 6c 6e 62 69 77 67 53 57 35 6a 4c 69 41 74 49 45 5a 76 63 69 42 68 NyBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
1b2780 64 58 52 6f 0a 62 33 4a 70 65 6d 56 6b 49 48 56 7a 5a 53 42 76 62 6d 78 35 4d 55 55 77 51 77 59 dXRo.b3JpemVkIHVzZSBvbmx5MUUwQwY
1b27a0 44 56 51 51 44 45 7a 78 57 5a 58 4a 70 55 32 6c 6e 62 69 42 44 62 47 46 7a 63 79 41 7a 49 46 42 DVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB
1b27c0 31 59 6d 78 70 59 79 42 51 63 6d 6c 74 59 58 4a 35 0a 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 1YmxpYyBQcmltYXJ5.IENlcnRpZmljYX
1b27e0 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 51 77 64 6a 41 51 42 67 Rpb24gQXV0aG9yaXR5IC0gRzQwdjAQBg
1b2800 63 71 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 67 4e 69 41 41 53 6e 56 6e 70 38 0a 55 cqhkjOPQIBBgUrgQQAIgNiAASnVnp8.U
1b2820 74 70 6b 6d 77 34 74 58 4e 68 65 72 4a 49 39 2f 67 48 6d 47 55 6f 39 46 41 4e 4c 2b 6d 41 6e 49 tpkmw4tXNherJI9/gHmGUo9FANL+mAnI
1b2840 4e 6d 44 69 57 6e 36 56 4d 61 61 47 46 35 56 4b 6d 54 65 42 76 61 4e 53 6a 75 74 45 44 78 6c 50 NmDiWn6VMaaGF5VKmTeBvaNSjutEDxlP
1b2860 5a 43 49 42 49 6e 67 4d 47 47 7a 0a 72 6c 30 42 70 33 76 65 66 4c 4b 2b 79 6d 56 68 41 49 61 75 ZCIBIngMGGz.rl0Bp3vefLK+ymVhAIau
1b2880 32 6f 39 37 30 49 6d 74 54 52 31 5a 6d 6b 47 78 76 45 65 41 33 4a 35 69 77 2f 6d 6a 67 62 49 77 2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIw
1b28a0 67 61 38 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 0a 2f 7a 41 4f 42 67 4e ga8wDwYDVR0TAQH/BAUwAwEB./zAOBgN
1b28c0 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 62 51 59 49 4b 77 59 42 42 51 55 48 41 51 77 VHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQw
1b28e0 45 59 54 42 66 6f 56 32 67 57 7a 42 5a 4d 46 63 77 56 52 59 4a 61 57 31 68 5a 32 55 76 5a 32 6c EYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2l
1b2900 6d 4d 43 45 77 0a 48 7a 41 48 42 67 55 72 44 67 4d 43 47 67 51 55 6a 2b 58 54 47 6f 61 73 6a 59 mMCEw.HzAHBgUrDgMCGgQUj+XTGoasjY
1b2920 35 72 77 38 2b 41 61 74 52 49 47 43 78 37 47 53 34 77 4a 52 59 6a 61 48 52 30 63 44 6f 76 4c 32 5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2
1b2940 78 76 5a 32 38 75 64 6d 56 79 61 58 4e 70 5a 32 34 75 0a 59 32 39 74 4c 33 5a 7a 62 47 39 6e 62 xvZ28udmVyaXNpZ24u.Y29tL3ZzbG9nb
1b2960 79 35 6e 61 57 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4c 4d 57 6b 66 33 75 70 6d 37 6b 74 y5naWYwHQYDVR0OBBYEFLMWkf3upm7kt
1b2980 53 35 4a 6a 34 64 34 67 59 44 73 35 62 47 31 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 44 0a S5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD.
1b29a0 41 32 67 41 4d 47 55 43 4d 47 59 68 44 42 67 6d 59 46 6f 34 65 31 5a 43 34 4b 66 38 4e 6f 52 52 A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRR
1b29c0 6b 53 41 73 64 6b 31 44 50 63 51 64 68 43 50 51 72 4e 5a 38 4e 51 62 4f 7a 57 6d 39 6b 41 33 62 kSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3b
1b29e0 62 45 68 43 48 51 36 71 51 67 49 78 0a 41 4a 77 39 53 44 6b 6a 4f 56 67 61 46 52 4a 5a 61 70 37 bEhCHQ6qQgIx.AJw9SDkjOVgaFRJZap7
1b2a00 76 31 56 6d 79 48 56 49 73 6d 58 48 4e 78 79 6e 66 47 79 70 68 65 33 48 52 33 76 50 41 35 51 30 v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q0
1b2a20 36 53 71 6f 74 70 39 69 47 4b 74 30 75 45 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 6Sqotp9iGKt0uEA==.-----END.CERTI
1b2a40 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4e 65 74 4c 6f 63 6b 20 41 72 61 6e 79 20 28 43 6c 61 73 FICATE-----..NetLock.Arany.(Clas
1b2a60 73 20 47 6f 6c 64 29 20 46 c5 91 74 61 6e c3 ba 73 c3 ad 74 76 c3 a1 6e 79 0a 3d 3d 3d 3d 3d 3d s.Gold).F..tan..s..tv..ny.======
1b2a80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1b2aa0 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1b2ac0 49 49 45 46 54 43 43 41 76 32 67 41 77 49 42 41 67 49 47 53 55 45 73 35 41 41 51 4d 41 30 47 43 IIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GC
1b2ae0 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 49 47 6e 4d 51 73 77 43 51 59 44 56 51 51 47 45 SqGSIb3DQEBCwUAMIGnMQswCQYDVQQGE
1b2b00 77 4a 49 56 54 45 52 4d 41 38 47 0a 41 31 55 45 42 77 77 49 51 6e 56 6b 59 58 42 6c 63 33 51 78 wJIVTERMA8G.A1UEBwwIQnVkYXBlc3Qx
1b2b20 46 54 41 54 42 67 4e 56 42 41 6f 4d 44 45 35 6c 64 45 78 76 59 32 73 67 53 32 5a 30 4c 6a 45 33 FTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3
1b2b40 4d 44 55 47 41 31 55 45 43 77 77 75 56 47 46 75 77 37 70 7a 77 36 31 30 0a 64 73 4f 68 62 6e 6c MDUGA1UECwwuVGFuw7pzw610.dsOhbnl
1b2b60 72 61 57 46 6b 77 37 4e 72 49 43 68 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 46 4e raWFkw7NrIChDZXJ0aWZpY2F0aW9uIFN
1b2b80 6c 63 6e 5a 70 59 32 56 7a 4b 54 45 31 4d 44 4d 47 41 31 55 45 41 77 77 73 54 6d 56 30 54 47 39 lcnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9
1b2ba0 6a 61 79 42 42 0a 63 6d 46 75 65 53 41 6f 51 32 78 68 63 33 4d 67 52 32 39 73 5a 43 6b 67 52 73 jayBB.cmFueSAoQ2xhc3MgR29sZCkgRs
1b2bc0 57 52 64 47 46 75 77 37 70 7a 77 36 31 30 64 73 4f 68 62 6e 6b 77 48 68 63 4e 4d 44 67 78 4d 6a WRdGFuw7pzw610dsOhbnkwHhcNMDgxMj
1b2be0 45 78 4d 54 55 77 4f 44 49 78 57 68 63 4e 4d 6a 67 78 0a 4d 6a 41 32 4d 54 55 77 4f 44 49 78 57 ExMTUwODIxWhcNMjgx.MjA2MTUwODIxW
1b2c00 6a 43 42 70 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 53 46 55 78 45 54 41 50 42 67 4e 56 42 jCBpzELMAkGA1UEBhMCSFUxETAPBgNVB
1b2c20 41 63 4d 43 45 4a 31 5a 47 46 77 5a 58 4e 30 4d 52 55 77 45 77 59 44 56 51 51 4b 44 41 78 4f 0a AcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxO.
1b2c40 5a 58 52 4d 62 32 4e 72 49 45 74 6d 64 43 34 78 4e 7a 41 31 42 67 4e 56 42 41 73 4d 4c 6c 52 68 ZXRMb2NrIEtmdC4xNzA1BgNVBAsMLlRh
1b2c60 62 73 4f 36 63 38 4f 74 64 48 62 44 6f 57 35 35 61 32 6c 68 5a 4d 4f 7a 61 79 41 6f 51 32 56 79 bsO6c8OtdHbDoW55a2lhZMOzayAoQ2Vy
1b2c80 64 47 6c 6d 61 57 4e 68 64 47 6c 76 0a 62 69 42 54 5a 58 4a 32 61 57 4e 6c 63 79 6b 78 4e 54 41 dGlmaWNhdGlv.biBTZXJ2aWNlcykxNTA
1b2ca0 7a 42 67 4e 56 42 41 4d 4d 4c 45 35 6c 64 45 78 76 59 32 73 67 51 58 4a 68 62 6e 6b 67 4b 45 4e zBgNVBAMMLE5ldExvY2sgQXJhbnkgKEN
1b2cc0 73 59 58 4e 7a 49 45 64 76 62 47 51 70 49 45 62 46 6b 58 52 68 62 73 4f 36 0a 63 38 4f 74 64 48 sYXNzIEdvbGQpIEbFkXRhbsO6.c8OtdH
1b2ce0 62 44 6f 57 35 35 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 bDoW55MIIBIjANBgkqhkiG9w0BAQEFAA
1b2d00 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 78 43 52 65 63 37 35 4c 62 52 54 44 6f 66 OCAQ8AMIIBCgKCAQEAxCRec75LbRTDof
1b2d20 54 6a 6c 35 42 75 0a 30 6a 42 46 48 6a 7a 75 5a 39 6c 6b 34 42 71 4b 66 38 6f 77 79 6f 50 6a 49 Tjl5Bu.0jBFHjzuZ9lk4BqKf8owyoPjI
1b2d40 4d 48 6a 39 44 72 54 6c 46 38 61 66 46 74 74 76 7a 42 50 68 43 66 32 6e 78 39 4a 76 4d 61 5a 43 MHj9DrTlF8afFttvzBPhCf2nx9JvMaZC
1b2d60 70 44 79 44 2f 56 2f 51 34 51 33 59 31 47 4c 65 71 56 77 0a 2f 48 70 59 7a 59 36 62 37 63 4e 47 pDyD/V/Q4Q3Y1GLeqVw./HpYzY6b7cNG
1b2d80 62 49 52 77 58 64 72 7a 41 5a 41 6a 2f 45 34 77 71 58 37 68 4a 32 50 6e 37 57 51 38 6f 4c 6a 4a bIRwXdrzAZAj/E4wqX7hJ2Pn7WQ8oLjJ
1b2da0 4d 32 50 2b 46 70 44 2f 73 4c 6a 39 31 36 6a 41 77 4a 52 44 43 37 62 56 57 61 61 65 56 74 41 6b M2P+FpD/sLj916jAwJRDC7bVWaaeVtAk
1b2dc0 0a 48 33 42 35 72 39 73 35 56 41 31 6c 64 64 6b 56 51 5a 51 42 72 31 37 73 39 6f 33 78 2f 36 31 .H3B5r9s5VA1lddkVQZQBr17s9o3x/61
1b2de0 6b 2f 69 43 61 31 31 7a 72 2f 71 59 66 43 47 53 6a 69 33 5a 56 72 52 34 37 4b 47 41 75 68 79 58 k/iCa11zr/qYfCGSji3ZVrR47KGAuhyX
1b2e00 6f 71 71 38 66 78 6d 52 47 49 4c 64 77 0a 66 7a 7a 65 53 4e 75 57 55 37 63 35 64 2b 51 61 34 73 oqq8fxmRGILdw.fzzeSNuWU7c5d+Qa4s
1b2e20 63 57 68 48 61 58 57 79 2b 37 47 52 57 46 2b 47 6d 46 39 5a 6d 6e 71 66 49 30 70 36 6d 32 70 67 cWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pg
1b2e40 50 38 62 34 59 39 56 48 78 32 42 4a 74 72 2b 55 42 64 41 44 54 48 4c 70 6c 31 0a 6e 65 57 49 41 P8b4Y9VHx2BJtr+UBdADTHLpl1.neWIA
1b2e60 36 70 4e 2b 41 50 53 51 6e 62 41 47 77 49 44 41 4b 69 4c 6f 30 55 77 51 7a 41 53 42 67 4e 56 48 6pN+APSQnbAGwIDAKiLo0UwQzASBgNVH
1b2e80 52 4d 42 41 66 38 45 43 44 41 47 41 51 48 2f 41 67 45 45 4d 41 34 47 41 31 55 64 44 77 45 42 2f RMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/
1b2ea0 77 51 45 41 77 49 42 0a 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 7a 50 70 6e 6b 2f 43 32 wQEAwIB.BjAdBgNVHQ4EFgQUzPpnk/C2
1b2ec0 75 4e 43 6c 77 42 37 7a 55 2f 32 4d 55 39 2b 44 31 35 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e uNClwB7zU/2MU9+D15YwDQYJKoZIhvcN
1b2ee0 41 51 45 4c 42 51 41 44 67 67 45 42 41 4b 74 2f 37 68 77 57 0a 71 5a 77 38 55 51 43 67 77 42 45 AQELBQADggEBAKt/7hwW.qZw8UQCgwBE
1b2f00 49 42 61 65 5a 35 6d 38 42 69 46 52 68 62 76 47 35 47 4b 31 4b 72 66 36 42 51 43 4f 55 4c 2f 74 IBaeZ5m8BiFRhbvG5GK1Krf6BQCOUL/t
1b2f20 31 66 43 38 6f 53 32 49 6b 67 59 49 4c 39 57 48 78 48 47 36 34 59 54 6a 72 67 66 70 69 6f 54 74 1fC8oS2IkgYIL9WHxHG64YTjrgfpioTt
1b2f40 61 0a 59 74 4f 55 5a 63 54 68 35 6d 32 43 2b 43 38 6c 63 4c 49 68 4a 73 46 79 55 52 2b 4d 4c 4d a.YtOUZcTh5m2C+C8lcLIhJsFyUR+MLM
1b2f60 4f 45 6b 4d 4e 61 6a 37 72 50 39 4b 64 6c 70 65 75 59 30 66 73 46 73 6b 5a 31 46 53 4e 71 62 34 OEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4
1b2f80 56 6a 4d 49 44 77 31 5a 34 66 4b 52 7a 43 0a 62 4c 42 51 57 56 32 51 57 7a 75 6f 44 54 44 50 76 VjMIDw1Z4fKRzC.bLBQWV2QWzuoDTDPv
1b2fa0 33 31 2f 7a 76 47 64 67 37 33 4a 52 6d 34 67 70 76 6c 68 55 62 6f 68 4c 33 75 2b 70 52 56 6a 6f 31/zvGdg73JRm4gpvlhUbohL3u+pRVjo
1b2fc0 64 53 56 68 2f 47 65 75 66 4f 4a 38 7a 32 46 75 4c 6a 62 76 72 57 35 4b 66 6e 61 0a 4e 77 55 41 dSVh/GeufOJ8z2FuLjbvrW5Kfna.NwUA
1b2fe0 53 5a 51 44 68 45 54 6e 76 30 4d 78 7a 33 57 4c 4a 64 48 30 70 6d 54 31 6b 76 61 72 42 65 73 39 SZQDhETnv0Mxz3WLJdH0pmT1kvarBes9
1b3000 36 61 55 4c 4e 6d 4c 61 7a 41 5a 66 4e 6f 75 32 58 6a 47 34 4b 76 74 65 39 6e 48 66 52 43 61 65 6aULNmLazAZfNou2XjG4Kvte9nHfRCae
1b3020 78 4f 59 4e 6b 62 51 75 0a 64 5a 57 41 55 57 70 4c 4d 4b 61 77 59 71 47 54 38 5a 76 59 7a 73 52 xOYNkbQu.dZWAUWpLMKawYqGT8ZvYzsR
1b3040 6a 64 54 39 5a 52 37 45 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d jdT9ZR7E=.-----END.CERTIFICATE--
1b3060 2d 2d 2d 0a 0a 53 74 61 61 74 20 64 65 72 20 4e 65 64 65 72 6c 61 6e 64 65 6e 20 52 6f 6f 74 20 ---..Staat.der.Nederlanden.Root.
1b3080 43 41 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d CA.-.G2.========================
1b30a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 ==========.-----BEGIN.CERTIFICAT
1b30c0 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 79 6a 43 43 41 37 4b 67 41 77 49 42 41 67 49 45 41 4a 69 57 6a E-----.MIIFyjCCA7KgAwIBAgIEAJiWj
1b30e0 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 61 4d 51 73 77 43 51 59 44 56 DANBgkqhkiG9w0BAQsFADBaMQswCQYDV
1b3100 51 51 47 45 77 4a 4f 54 44 45 65 4d 42 77 47 41 31 55 45 0a 43 67 77 56 55 33 52 68 59 58 51 67 QQGEwJOTDEeMBwGA1UE.CgwVU3RhYXQg
1b3120 5a 47 56 79 49 45 35 6c 5a 47 56 79 62 47 46 75 5a 47 56 75 4d 53 73 77 4b 51 59 44 56 51 51 44 ZGVyIE5lZGVybGFuZGVuMSswKQYDVQQD
1b3140 44 43 4a 54 64 47 46 68 64 43 42 6b 5a 58 49 67 54 6d 56 6b 5a 58 4a 73 59 57 35 6b 5a 57 34 67 DCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
1b3160 0a 55 6d 39 76 64 43 42 44 51 53 41 74 49 45 63 79 4d 42 34 58 44 54 41 34 4d 44 4d 79 4e 6a 45 .Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjE
1b3180 78 4d 54 67 78 4e 31 6f 58 44 54 49 77 4d 44 4d 79 4e 54 45 78 4d 44 4d 78 4d 46 6f 77 57 6a 45 xMTgxN1oXDTIwMDMyNTExMDMxMFowWjE
1b31a0 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 54 6b 77 78 48 6a 41 63 42 67 4e 56 42 41 6f 4d 46 56 LMAkGA1UEBhMC.TkwxHjAcBgNVBAoMFV
1b31c0 4e 30 59 57 46 30 49 47 52 6c 63 69 42 4f 5a 57 52 6c 63 6d 78 68 62 6d 52 6c 62 6a 45 72 4d 43 N0YWF0IGRlciBOZWRlcmxhbmRlbjErMC
1b31e0 6b 47 41 31 55 45 41 77 77 69 55 33 52 68 59 58 51 67 5a 47 56 79 49 45 35 6c 0a 5a 47 56 79 62 kGA1UEAwwiU3RhYXQgZGVyIE5l.ZGVyb
1b3200 47 46 75 5a 47 56 75 49 46 4a 76 62 33 51 67 51 30 45 67 4c 53 42 48 4d 6a 43 43 41 69 49 77 44 GFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwD
1b3220 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 QYJKoZIhvcNAQEBBQADggIPADCCAgoCg
1b3240 67 49 42 41 4d 56 5a 0a 35 32 39 31 71 6a 35 4c 6e 4c 57 34 72 4a 34 4c 35 50 6e 5a 79 71 74 64 gIBAMVZ.5291qj5LnLW4rJ4L5PnZyqtd
1b3260 6a 37 55 35 45 49 4c 58 72 31 48 67 4f 2b 45 41 53 47 72 50 32 75 45 47 51 78 47 5a 71 68 51 6c j7U5EILXr1HgO+EASGrP2uEGQxGZqhQl
1b3280 45 71 30 69 36 41 42 74 51 38 53 70 75 4f 55 66 69 55 74 6e 0a 76 57 46 49 37 2f 33 53 34 47 43 Eq0i6ABtQ8SpuOUfiUtn.vWFI7/3S4GC
1b32a0 49 35 62 6b 59 59 43 6a 44 64 79 75 74 73 44 65 71 4e 39 35 6b 57 53 70 47 56 2b 52 4c 75 66 67 I5bkYYCjDdyutsDeqN95kWSpGV+RLufg
1b32c0 33 66 4e 55 32 35 34 44 42 74 76 50 55 5a 35 75 57 36 4d 37 58 78 67 70 54 30 47 74 4a 6c 76 4f 3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvO
1b32e0 6a 0a 43 77 56 33 53 50 63 6c 35 58 43 73 4d 42 51 67 4a 65 4e 2f 64 56 72 6c 53 50 68 4f 65 77 j.CwV3SPcl5XCsMBQgJeN/dVrlSPhOew
1b3300 4d 48 42 50 71 43 59 59 64 75 38 44 76 45 70 4d 66 51 39 58 51 2b 70 56 30 61 43 50 4b 62 4a 64 MHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJd
1b3320 4c 32 72 41 51 6d 50 6c 55 36 59 69 69 6c 0a 65 37 49 77 72 2f 67 33 77 74 47 36 31 6a 6a 39 39 L2rAQmPlU6Yiil.e7Iwr/g3wtG61jj99
1b3340 4f 39 4a 4d 44 65 5a 4a 69 46 49 68 51 47 70 35 52 62 6e 33 4a 42 56 33 77 2f 6f 4f 4d 32 5a 4e O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZN
1b3360 79 46 50 58 66 55 69 62 32 72 46 45 68 5a 67 46 31 58 79 5a 57 61 6d 70 7a 43 52 0a 4f 4d 45 34 yFPXfUib2rFEhZgF1XyZWampzCR.OME4
1b3380 48 59 59 45 68 4c 6f 61 4a 58 68 65 6e 61 2f 4d 55 47 44 57 45 34 64 53 37 57 4d 66 62 57 56 39 HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9
1b33a0 77 68 55 59 64 4d 72 68 66 6d 51 70 6a 48 4c 59 46 68 4e 39 43 30 6c 4b 38 53 67 62 49 48 52 72 whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRr
1b33c0 78 54 33 64 73 4b 70 49 0a 43 54 30 75 67 70 54 4e 47 6d 58 5a 4b 34 69 61 6d 62 77 59 66 70 2f xT3dsKpI.CT0ugpTNGmXZK4iambwYfp/
1b33e0 75 66 57 5a 38 50 72 32 55 75 49 48 4f 7a 5a 67 77 65 4d 46 76 5a 39 43 2b 58 2b 42 6f 37 64 37 ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7
1b3400 69 73 63 6b 73 57 58 69 53 71 74 38 72 59 47 50 79 35 56 36 35 0a 34 38 72 36 66 31 43 47 50 71 iscksWXiSqt8rYGPy5V65.48r6f1CGPq
1b3420 49 30 47 41 77 4a 61 43 67 52 48 4f 54 68 75 56 77 2b 52 37 6f 79 50 78 6a 4d 57 34 54 31 38 32 I0GAwJaCgRHOThuVw+R7oyPxjMW4T182
1b3440 74 30 78 48 4a 30 34 65 4f 4c 6f 45 71 39 6a 57 59 76 36 71 30 31 32 69 44 54 69 49 4a 68 38 42 t0xHJ04eOLoEq9jWYv6q012iDTiIJh8B
1b3460 49 69 0a 74 72 7a 51 31 61 54 73 72 31 53 49 4a 53 51 38 70 32 32 78 63 69 6b 2f 50 6c 65 6d 66 Ii.trzQ1aTsr1SIJSQ8p22xcik/Plemf
1b3480 31 57 76 62 69 62 47 2f 75 66 4d 51 46 78 52 52 49 45 4b 65 4e 35 4b 7a 6c 57 2f 48 64 58 5a 74 1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt
1b34a0 31 62 76 38 48 62 2f 43 33 6d 31 72 37 33 37 0a 71 57 6d 52 52 70 64 6f 67 42 51 32 48 62 4e 2f 1bv8Hb/C3m1r737.qWmRRpdogBQ2HbN/
1b34c0 75 79 6d 59 4e 71 55 67 2b 6f 4a 67 59 6a 4f 6b 37 4e 61 36 42 36 64 75 78 63 38 55 70 75 66 57 uymYNqUg+oJgYjOk7Na6B6duxc8UpufW
1b34e0 6b 6a 54 59 67 66 58 38 48 56 32 71 58 42 37 32 6f 30 30 37 75 50 63 35 41 67 4d 42 0a 41 41 47 kjTYgfX8HV2qXB72o007uPc5AgMB.AAG
1b3500 6a 67 5a 63 77 67 5a 51 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 42 jgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zB
1b3520 53 42 67 4e 56 48 53 41 45 53 7a 42 4a 4d 45 63 47 42 46 55 64 49 41 41 77 50 7a 41 39 42 67 67 SBgNVHSAESzBJMEcGBFUdIAAwPzA9Bgg
1b3540 72 42 67 45 46 42 51 63 43 0a 41 52 59 78 61 48 52 30 63 44 6f 76 4c 33 64 33 64 79 35 77 61 32 rBgEFBQcC.ARYxaHR0cDovL3d3dy5wa2
1b3560 6c 76 64 6d 56 79 61 47 56 70 5a 43 35 75 62 43 39 77 62 32 78 70 59 32 6c 6c 63 79 39 79 62 32 lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb2
1b3580 39 30 4c 58 42 76 62 47 6c 6a 65 53 31 48 4d 6a 41 4f 42 67 4e 56 0a 48 51 38 42 41 66 38 45 42 90LXBvbGljeS1HMjAOBgNV.HQ8BAf8EB
1b35a0 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4a 46 6f 4d 6f 63 56 48 59 6e 69 74 AMCAQYwHQYDVR0OBBYEFJFoMocVHYnit
1b35c0 66 47 73 4e 69 67 30 6a 51 74 38 59 6f 6a 72 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 fGsNig0jQt8YojrMA0GCSqGSIb3DQEBC
1b35e0 77 55 41 0a 41 34 49 43 41 51 43 6f 51 55 70 6e 4b 70 4b 42 67 6c 42 75 34 64 66 59 73 7a 6b 37 wUA.A4ICAQCoQUpnKpKBglBu4dfYszk7
1b3600 38 77 49 56 43 56 42 52 37 79 32 39 4a 48 75 49 68 6a 76 35 74 4c 79 53 43 5a 61 35 39 73 43 72 8wIVCVBR7y29JHuIhjv5tLySCZa59sCr
1b3620 49 32 41 47 65 59 77 52 54 6c 48 53 65 59 41 7a 0a 2b 35 31 49 76 75 78 42 51 34 45 66 66 6b 64 I2AGeYwRTlHSeYAz.+51IvuxBQ4Effkd
1b3640 41 48 4f 56 36 43 4d 71 71 69 33 57 74 46 4d 54 43 36 47 59 38 67 67 65 6e 35 69 65 43 57 78 6a AHOV6CMqqi3WtFMTC6GY8ggen5ieCWxj
1b3660 6d 44 32 37 5a 55 44 36 4b 51 68 67 70 78 72 52 57 2f 46 59 51 6f 41 55 58 76 51 77 6a 0a 66 2f mD27ZUD6KQhgpxrRW/FYQoAUXvQwj.f/
1b3680 53 54 37 5a 77 61 55 62 37 64 52 55 47 2f 6b 53 53 30 48 34 7a 70 58 38 39 37 49 5a 6d 66 6c 5a ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ
1b36a0 38 35 4f 6b 59 63 62 50 6e 4e 65 35 79 51 7a 53 69 70 78 36 6c 56 75 36 78 69 4e 47 49 31 45 30 85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0
1b36c0 73 55 4f 6c 57 44 75 59 61 4e 0a 6b 71 62 47 39 41 63 6c 56 4d 77 57 56 78 4a 4b 67 6e 6a 49 46 sUOlWDuYaN.kqbG9AclVMwWVxJKgnjIF
1b36e0 4e 6b 58 67 69 59 74 58 53 41 66 65 61 37 2b 31 48 41 57 46 70 57 44 32 44 55 35 2f 31 4a 64 64 NkXgiYtXSAfea7+1HAWFpWD2DU5/1Jdd
1b3700 52 77 57 78 52 4e 56 7a 30 66 4d 64 57 56 53 53 74 37 77 73 4b 66 6b 0a 43 70 59 4c 2b 36 33 43 RwWxRNVz0fMdWVSSt7wsKfk.CpYL+63C
1b3720 34 69 57 45 73 74 33 6b 76 58 35 5a 62 4a 76 77 38 4e 6a 6e 79 76 4c 70 6c 7a 68 2b 69 62 37 4d 4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M
1b3740 2b 7a 6b 58 59 54 39 79 32 7a 71 52 32 47 55 42 47 52 32 74 55 4b 52 58 43 6e 78 4c 76 4a 78 78 +zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxx
1b3760 63 79 70 46 0a 55 52 6d 46 7a 49 37 39 52 36 64 30 6c 52 32 6f 30 61 39 4f 46 37 46 70 4a 73 4b cypF.URmFzI79R6d0lR2o0a9OF7FpJsK
1b3780 71 65 46 64 62 78 55 32 6e 35 5a 34 46 46 35 54 4b 73 6c 2b 67 53 52 69 4e 4e 4f 6b 6d 62 45 67 qeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEg
1b37a0 65 71 6d 69 53 42 65 47 43 63 31 71 62 33 41 64 62 0a 43 47 31 39 6e 64 65 4e 49 64 6e 38 46 43 eqmiSBeGCc1qb3Adb.CG19ndeNIdn8FC
1b37c0 43 71 77 6b 58 66 50 2b 63 41 73 6c 48 6b 77 76 67 46 75 58 6b 61 6a 44 54 7a 6e 6c 76 6b 4e 31 CqwkXfP+cAslHkwvgFuXkajDTznlvkN1
1b37e0 74 72 53 74 38 73 56 34 70 41 57 6a 61 36 33 58 56 45 43 44 64 43 63 41 7a 2b 33 46 34 68 0a 6f trSt8sV4pAWja63XVECDdCcAz+3F4h.o
1b3800 4b 4f 4b 77 4a 43 63 61 4e 70 51 35 6b 55 51 52 33 69 32 54 74 4a 6c 79 63 4d 33 33 2b 46 43 59 KOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY
1b3820 37 42 58 4e 30 55 74 65 34 71 63 76 77 58 71 5a 56 55 7a 39 7a 6b 51 78 53 67 71 49 58 6f 62 69 7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobi
1b3840 73 51 6b 2b 54 38 56 79 4a 6f 56 0a 49 50 56 56 59 70 62 74 62 5a 4e 51 76 4f 53 71 65 4b 33 5a sQk+T8VyJoV.IPVVYpbtbZNQvOSqeK3Z
1b3860 79 77 70 6c 68 36 5a 6d 77 63 53 42 6f 33 63 36 57 42 34 4c 37 6f 4f 4c 6e 52 37 53 55 71 54 4d ywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTM
1b3880 48 57 2b 77 6d 47 32 55 4d 62 58 34 63 51 72 63 75 66 78 39 4d 6d 44 6d 0a 36 36 2b 4b 41 51 3d HW+wmG2UMbX4cQrcufx9MmDm.66+KAQ=
1b38a0 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 48 6f 6e =.-----END.CERTIFICATE-----..Hon
1b38c0 67 6b 6f 6e 67 20 50 6f 73 74 20 52 6f 6f 74 20 43 41 20 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d gkong.Post.Root.CA.1.===========
1b38e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 ============.-----BEGIN.CERTIFIC
1b3900 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 4d 44 43 43 41 68 69 67 41 77 49 42 41 67 49 43 41 2b 67 ATE-----.MIIDMDCCAhigAwIBAgICA+g
1b3920 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 52 7a 45 4c 4d 41 6b 47 41 31 55 wDQYJKoZIhvcNAQEFBQAwRzELMAkGA1U
1b3940 45 42 68 4d 43 53 45 73 78 46 6a 41 55 42 67 4e 56 42 41 6f 54 0a 44 55 68 76 62 6d 64 72 62 32 EBhMCSEsxFjAUBgNVBAoT.DUhvbmdrb2
1b3960 35 6e 49 46 42 76 63 33 51 78 49 44 41 65 42 67 4e 56 42 41 4d 54 46 30 68 76 62 6d 64 72 62 32 5nIFBvc3QxIDAeBgNVBAMTF0hvbmdrb2
1b3980 35 6e 49 46 42 76 63 33 51 67 55 6d 39 76 64 43 42 44 51 53 41 78 4d 42 34 58 44 54 41 7a 4d 44 5nIFBvc3QgUm9vdCBDQSAxMB4XDTAzMD
1b39a0 55 78 0a 4e 54 41 31 4d 54 4d 78 4e 46 6f 58 44 54 49 7a 4d 44 55 78 4e 54 41 30 4e 54 49 79 4f Ux.NTA1MTMxNFoXDTIzMDUxNTA0NTIyO
1b39c0 56 6f 77 52 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 53 45 73 78 46 6a 41 55 42 67 4e 56 42 VowRzELMAkGA1UEBhMCSEsxFjAUBgNVB
1b39e0 41 6f 54 44 55 68 76 62 6d 64 72 62 32 35 6e 0a 49 46 42 76 63 33 51 78 49 44 41 65 42 67 4e 56 AoTDUhvbmdrb25n.IFBvc3QxIDAeBgNV
1b3a00 42 41 4d 54 46 30 68 76 62 6d 64 72 62 32 35 6e 49 46 42 76 63 33 51 67 55 6d 39 76 64 43 42 44 BAMTF0hvbmdrb25nIFBvc3QgUm9vdCBD
1b3a20 51 53 41 78 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 0a 41 41 4f QSAxMIIBIjANBgkqhkiG9w0BAQEF.AAO
1b3a40 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 72 50 38 34 74 75 6c 6d 41 6b 6e 6a 6f 72 54 CAQ8AMIIBCgKCAQEArP84tulmAknjorT
1b3a60 68 6b 50 6c 41 6a 33 6e 35 34 72 31 35 2f 67 4b 39 37 69 53 53 48 53 4c 32 32 6f 56 79 61 66 37 hkPlAj3n54r15/gK97iSSHSL22oVyaf7
1b3a80 58 50 77 6e 55 33 5a 47 31 0a 41 70 7a 51 6a 56 72 68 56 63 4e 51 68 72 6b 70 4a 73 4c 6a 32 61 XPwnU3ZG1.ApzQjVrhVcNQhrkpJsLj2a
1b3aa0 44 78 61 51 4d 6f 49 49 42 46 49 69 31 57 70 7a 74 55 6c 56 59 69 57 52 38 6f 33 78 38 67 50 57 DxaQMoIIBFIi1WpztUlVYiWR8o3x8gPW
1b3ac0 32 69 4e 72 34 6a 6f 4c 46 75 74 62 45 6e 50 7a 6c 54 43 65 71 72 0a 61 75 68 30 73 73 4a 6c 58 2iNr4joLFutbEnPzlTCeqr.auh0ssJlX
1b3ae0 49 36 2f 66 4d 4e 34 68 4d 32 65 46 76 7a 31 4c 6b 38 67 4b 67 69 66 64 2f 50 46 48 73 53 61 55 I6/fMN4hM2eFvz1Lk8gKgifd/PFHsSaU
1b3b00 6d 59 65 53 46 37 6a 45 41 61 50 49 70 6a 68 5a 59 34 62 58 53 4e 6d 4f 37 69 6c 4d 6c 48 49 68 mYeSF7jEAaPIpjhZY4bXSNmO7ilMlHIh
1b3b20 71 71 68 0a 71 5a 35 2f 64 70 54 43 70 6d 79 33 51 66 44 56 79 41 59 34 35 74 51 4d 34 76 4d 37 qqh.qZ5/dpTCpmy3QfDVyAY45tQM4vM7
1b3b40 54 47 31 51 6a 4d 53 44 4a 38 45 54 68 46 6b 39 6e 6e 56 30 74 74 67 43 58 6a 71 51 65 73 42 43 TG1QjMSDJ8EThFk9nnV0ttgCXjqQesBC
1b3b60 4e 6e 4c 73 61 6b 33 63 37 38 51 41 33 78 4d 59 0a 56 31 38 6d 65 4d 6a 57 43 6e 6c 33 76 2f 65 NnLsak3c78QA3xMY.V18meMjWCnl3v/e
1b3b80 76 74 33 61 35 70 51 75 45 46 31 30 51 36 6d 2f 68 71 35 55 52 58 32 30 38 6f 31 78 4e 67 31 76 vt3a5pQuEF10Q6m/hq5URX208o1xNg1v
1b3ba0 79 73 78 6d 4b 67 49 73 4c 68 77 49 44 41 51 41 42 6f 79 59 77 4a 44 41 53 42 67 4e 56 0a 48 52 ysxmKgIsLhwIDAQABoyYwJDASBgNV.HR
1b3bc0 4d 42 41 66 38 45 43 44 41 47 41 51 48 2f 41 67 45 44 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 MBAf8ECDAGAQH/AgEDMA4GA1UdDwEB/w
1b3be0 51 45 41 77 49 42 78 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 51 QEAwIBxjANBgkqhkiG9w0BAQUFAAOCAQ
1b3c00 45 41 44 6b 62 56 50 4b 37 69 0a 68 39 6c 65 67 59 73 43 6d 45 45 49 6a 45 79 38 32 74 76 75 4a EADkbVPK7i.h9legYsCmEEIjEy82tvuJ
1b3c20 78 75 43 35 32 70 46 37 42 61 4c 54 34 57 67 38 37 4a 77 76 56 71 57 75 73 70 75 62 65 35 47 69 xuC52pF7BaLT4Wg87JwvVqWuspube5Gi
1b3c40 32 37 6e 4b 69 36 57 73 78 6b 7a 36 37 53 66 71 4c 49 33 37 70 69 6f 0a 6c 37 59 75 74 6d 63 6e 27nKi6Wsxkz67SfqLI37pio.l7Yutmcn
1b3c60 31 4b 5a 4a 2f 52 79 54 5a 58 61 65 51 69 2f 63 49 6d 79 61 54 2f 4a 61 46 54 6d 78 63 64 63 72 1KZJ/RyTZXaeQi/cImyaT/JaFTmxcdcr
1b3c80 55 65 68 74 48 4a 6a 41 32 53 72 30 6f 59 4a 37 31 63 6c 42 6f 69 4d 42 64 44 68 56 69 77 2b 35 UehtHJjA2Sr0oYJ71clBoiMBdDhViw+5
1b3ca0 4c 6d 65 69 0a 49 41 51 33 32 70 77 4c 30 78 63 68 34 49 2b 58 65 54 52 76 68 45 67 43 49 44 4d Lmei.IAQ32pwL0xch4I+XeTRvhEgCIDM
1b3cc0 62 35 6a 52 45 6e 35 46 77 39 49 42 65 68 45 50 43 4b 64 4a 73 45 68 54 6b 59 59 32 73 45 4a 43 b5jREn5Fw9IBehEPCKdJsEhTkYY2sEJC
1b3ce0 65 68 46 43 37 38 4a 5a 76 52 5a 2b 4b 38 38 70 73 0a 54 2f 6f 52 4f 68 55 56 52 73 50 4e 48 34 ehFC78JZvRZ+K88ps.T/oROhUVRsPNH4
1b3d00 4e 62 4c 55 45 53 37 56 42 6e 51 52 4d 39 49 61 75 55 69 71 70 4f 66 4d 47 78 2b 36 66 57 74 53 NbLUES7VBnQRM9IauUiqpOfMGx+6fWtS
1b3d20 63 76 6c 36 74 75 34 42 33 69 30 52 77 73 48 30 54 69 2f 4c 36 52 6f 5a 7a 37 31 69 6c 54 0a 63 cvl6tu4B3i0RwsH0Ti/L6RoZz71ilT.c
1b3d40 34 61 66 55 39 68 44 44 6c 33 57 59 34 4a 78 48 59 42 30 79 76 62 69 41 6d 76 5a 57 67 3d 3d 0a 4afU9hDDl3WY4JxHYB0yvbiAmvZWg==.
1b3d60 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 65 63 75 72 -----END.CERTIFICATE-----..Secur
1b3d80 65 53 69 67 6e 20 52 6f 6f 74 43 41 31 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d eSign.RootCA11.=================
1b3da0 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1b3dc0 49 49 44 62 54 43 43 41 6c 57 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 IIDbTCCAlWgAwIBAgIBATANBgkqhkiG9
1b3de0 77 30 42 41 51 55 46 41 44 42 59 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4b 55 44 45 72 4d w0BAQUFADBYMQswCQYDVQQGEwJKUDErM
1b3e00 43 6b 47 41 31 55 45 43 68 4d 69 0a 53 6d 46 77 59 57 34 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 CkGA1UEChMi.SmFwYW4gQ2VydGlmaWNh
1b3e20 64 47 6c 76 62 69 42 54 5a 58 4a 32 61 57 4e 6c 63 79 77 67 53 57 35 6a 4c 6a 45 63 4d 42 6f 47 dGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG
1b3e40 41 31 55 45 41 78 4d 54 55 32 56 6a 64 58 4a 6c 55 32 6c 6e 62 69 42 53 0a 62 32 39 30 51 30 45 A1UEAxMTU2VjdXJlU2lnbiBS.b290Q0E
1b3e60 78 4d 54 41 65 46 77 30 77 4f 54 41 30 4d 44 67 77 4e 44 55 32 4e 44 64 61 46 77 30 79 4f 54 41 xMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA
1b3e80 30 4d 44 67 77 4e 44 55 32 4e 44 64 61 4d 46 67 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 70 0MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkp
1b3ea0 51 4d 53 73 77 0a 4b 51 59 44 56 51 51 4b 45 79 4a 4b 59 58 42 68 62 69 42 44 5a 58 4a 30 61 57 QMSsw.KQYDVQQKEyJKYXBhbiBDZXJ0aW
1b3ec0 5a 70 59 32 46 30 61 57 39 75 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 4c 43 42 4a 62 6d 4d 75 4d 52 ZpY2F0aW9uIFNlcnZpY2VzLCBJbmMuMR
1b3ee0 77 77 47 67 59 44 56 51 51 44 45 78 4e 54 5a 57 4e 31 0a 63 6d 56 54 61 57 64 75 49 46 4a 76 62 wwGgYDVQQDExNTZWN1.cmVTaWduIFJvb
1b3f00 33 52 44 51 54 45 78 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 3RDQTExMIIBIjANBgkqhkiG9w0BAQEFA
1b3f20 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 2f 58 65 71 70 52 79 51 42 54 76 4c 0a AOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvL.
1b3f40 54 4a 73 7a 69 31 6f 55 52 61 54 6e 6b 42 62 52 33 31 66 53 49 52 43 6b 46 2f 33 66 72 4e 59 66 TJszi1oURaTnkBbR31fSIRCkF/3frNYf
1b3f60 70 2b 54 62 66 50 66 73 33 37 67 44 32 70 52 59 2f 56 31 79 66 49 77 2f 58 77 46 6e 64 42 57 57 p+TbfPfs37gD2pRY/V1yfIw/XwFndBWW
1b3f80 34 77 49 38 68 39 75 75 79 77 47 4f 0a 77 76 4e 6d 78 6f 56 46 39 41 4c 47 4f 72 56 69 73 71 2f 4wI8h9uuywGO.wvNmxoVF9ALGOrVisq/
1b3fa0 36 6e 4c 2b 6b 35 74 53 41 4d 4a 6a 7a 44 62 61 54 6a 36 6e 55 32 44 62 79 73 50 79 4b 79 69 79 6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiy
1b3fc0 68 46 54 4f 56 4d 64 72 41 47 2f 4c 75 59 70 6d 47 59 7a 2b 2f 33 5a 4d 71 0a 67 36 68 32 75 52 hFTOVMdrAG/LuYpmGYz+/3ZMq.g6h2uR
1b3fe0 4d 66 74 38 35 4f 51 6f 57 50 49 75 63 75 47 76 4b 56 43 62 49 46 74 55 52 4f 64 36 45 67 76 61 Mft85OQoWPIucuGvKVCbIFtUROd6Egva
1b4000 6e 79 54 67 70 39 55 4b 33 31 42 51 31 46 54 30 5a 78 2f 53 67 2b 55 2f 73 45 32 43 33 58 5a 52 nyTgp9UK31BQ1FT0Zx/Sg+U/sE2C3XZR
1b4020 31 4b 47 2f 72 50 0a 4f 37 41 78 6d 6a 56 75 79 49 73 47 30 77 43 52 38 70 51 49 5a 55 79 78 4e 1KG/rP.O7AxmjVuyIsG0wCR8pQIZUyxN
1b4040 41 59 41 65 6f 6e 69 38 4d 63 44 57 63 2f 56 31 75 69 6e 4d 72 50 6d 6d 45 43 47 78 63 30 6e 45 AYAeoni8McDWc/V1uinMrPmmECGxc0nE
1b4060 6f 76 4d 65 38 36 33 45 54 78 69 59 41 63 6a 50 69 74 41 0a 62 70 53 41 43 57 32 32 73 32 39 33 ovMe863ETxiYAcjPitA.bpSACW22s293
1b4080 62 7a 55 49 55 50 73 43 68 38 55 2b 69 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 64 42 67 4e 56 bzUIUPsCh8U+iQIDAQABo0IwQDAdBgNV
1b40a0 48 51 34 45 46 67 51 55 57 2f 68 4e 54 37 4b 6c 68 74 51 36 30 76 46 6a 6d 71 43 2b 43 66 5a 58 HQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZX
1b40c0 0a 74 39 34 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 .t94wDgYDVR0PAQH/BAQDAgEGMA8GA1U
1b40e0 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 dEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQE
1b4100 46 42 51 41 44 67 67 45 42 41 4b 43 68 0a 4f 42 5a 6d 4c 71 64 57 48 79 47 63 42 76 6f 64 37 62 FBQADggEBAKCh.OBZmLqdWHyGcBvod7b
1b4120 6b 69 78 54 67 6d 32 45 35 50 37 4b 4e 2f 65 64 35 47 49 61 47 48 64 34 38 48 43 4a 71 79 70 4d kixTgm2E5P7KN/ed5GIaGHd48HCJqypM
1b4140 57 76 44 7a 4b 59 43 33 78 6d 4b 62 61 62 66 53 56 53 53 55 4f 72 54 43 34 72 0a 62 6e 70 77 72 WvDzKYC3xmKbabfSVSSUOrTC4r.bnpwr
1b4160 78 59 4f 34 77 4a 73 2b 30 4c 6d 47 4a 31 46 32 46 58 49 36 44 76 64 35 2b 48 30 4c 67 73 63 4e xYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscN
1b4180 46 78 73 57 45 72 37 6a 49 68 51 58 35 55 63 76 2b 32 72 49 72 56 6c 73 34 57 36 6e 67 2b 34 72 FxsWEr7jIhQX5Ucv+2rIrVls4W6ng+4r
1b41a0 65 56 36 47 34 70 51 0a 4f 68 32 39 44 62 78 37 56 46 41 4c 75 55 4b 76 56 61 41 59 67 61 31 6c eV6G4pQ.Oh29Dbx7VFALuUKvVaAYga1l
1b41c0 6d 65 2b 2b 35 4a 79 2f 78 49 57 72 51 62 4a 55 62 39 77 6c 7a 65 31 34 34 6f 34 4d 6a 51 6c 4a me++5Jy/xIWrQbJUb9wlze144o4MjQlJ
1b41e0 33 57 4e 37 57 6d 6d 57 41 69 47 6f 76 56 4a 5a 36 58 30 31 0a 79 38 68 53 79 6e 2b 42 2f 74 6c 3WN7WmmWAiGovVJZ6X01.y8hSyn+B/tl
1b4200 72 30 2f 63 52 37 53 58 66 2b 4f 66 35 70 50 70 79 6c 34 52 54 44 61 58 51 4d 68 68 52 64 6c 6b r0/cR7SXf+Of5pPpyl4RTDaXQMhhRdlk
1b4220 55 62 41 2f 72 37 46 2b 41 6a 48 56 44 67 38 4f 46 6d 50 39 4d 6e 69 30 4e 35 48 65 44 6b 30 36 UbA/r7F+AjHVDg8OFmP9Mni0N5HeDk06
1b4240 31 0a 6c 67 65 4c 4b 42 4f 62 6a 42 6d 4e 51 53 64 4a 51 4f 37 65 35 69 4e 45 4f 64 79 68 49 74 1.lgeLKBObjBmNQSdJQO7e5iNEOdyhIt
1b4260 61 36 41 2f 49 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d a6A/I=.-----END.CERTIFICATE-----
1b4280 0a 0a 4d 69 63 72 6f 73 65 63 20 65 2d 53 7a 69 67 6e 6f 20 52 6f 6f 74 20 43 41 20 32 30 30 39 ..Microsec.e-Szigno.Root.CA.2009
1b42a0 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a .==============================.
1b42c0 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 -----BEGIN.CERTIFICATE-----.MIIE
1b42e0 43 6a 43 43 41 76 4b 67 41 77 49 42 41 67 49 4a 41 4d 4a 2b 51 77 52 4f 52 7a 38 5a 4d 41 30 47 CjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0G
1b4300 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 49 47 43 4d 51 73 77 43 51 59 44 56 51 51 47 CSqGSIb3DQEBCwUAMIGCMQswCQYDVQQG
1b4320 45 77 4a 49 56 54 45 52 0a 4d 41 38 47 41 31 55 45 42 77 77 49 51 6e 56 6b 59 58 42 6c 63 33 51 EwJIVTER.MA8GA1UEBwwIQnVkYXBlc3Q
1b4340 78 46 6a 41 55 42 67 4e 56 42 41 6f 4d 44 55 31 70 59 33 4a 76 63 32 56 6a 49 45 78 30 5a 43 34 xFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4
1b4360 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 4d 48 6b 31 70 59 33 4a 76 0a 63 32 56 6a 49 47 55 74 55 33 xJzAlBgNVBAMMHk1pY3Jv.c2VjIGUtU3
1b4380 70 70 5a 32 35 76 49 46 4a 76 62 33 51 67 51 30 45 67 4d 6a 41 77 4f 54 45 66 4d 42 30 47 43 53 ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCS
1b43a0 71 47 53 49 62 33 44 51 45 4a 41 52 59 51 61 57 35 6d 62 30 42 6c 4c 58 4e 36 61 57 64 75 62 79 qGSIb3DQEJARYQaW5mb0BlLXN6aWduby
1b43c0 35 6f 0a 64 54 41 65 46 77 30 77 4f 54 41 32 4d 54 59 78 4d 54 4d 77 4d 54 68 61 46 77 30 79 4f 5o.dTAeFw0wOTA2MTYxMTMwMThaFw0yO
1b43e0 54 45 79 4d 7a 41 78 4d 54 4d 77 4d 54 68 61 4d 49 47 43 4d 51 73 77 43 51 59 44 56 51 51 47 45 TEyMzAxMTMwMThaMIGCMQswCQYDVQQGE
1b4400 77 4a 49 56 54 45 52 4d 41 38 47 41 31 55 45 0a 42 77 77 49 51 6e 56 6b 59 58 42 6c 63 33 51 78 wJIVTERMA8GA1UE.BwwIQnVkYXBlc3Qx
1b4420 46 6a 41 55 42 67 4e 56 42 41 6f 4d 44 55 31 70 59 33 4a 76 63 32 56 6a 49 45 78 30 5a 43 34 78 FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4x
1b4440 4a 7a 41 6c 42 67 4e 56 42 41 4d 4d 48 6b 31 70 59 33 4a 76 63 32 56 6a 49 47 55 74 0a 55 33 70 JzAlBgNVBAMMHk1pY3Jvc2VjIGUt.U3p
1b4460 70 5a 32 35 76 49 46 4a 76 62 33 51 67 51 30 45 67 4d 6a 41 77 4f 54 45 66 4d 42 30 47 43 53 71 pZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSq
1b4480 47 53 49 62 33 44 51 45 4a 41 52 59 51 61 57 35 6d 62 30 42 6c 4c 58 4e 36 61 57 64 75 62 79 35 GSIb3DQEJARYQaW5mb0BlLXN6aWduby5
1b44a0 6f 64 54 43 43 41 53 49 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 odTCCASIw.DQYJKoZIhvcNAQEBBQADgg
1b44c0 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4f 6e 34 6a 2f 4e 6a 72 64 71 47 32 4b 66 67 51 76 EPADCCAQoCggEBAOn4j/NjrdqG2KfgQv
1b44e0 76 50 6b 64 36 6d 4a 76 69 5a 70 57 4e 77 72 5a 75 75 79 6a 4e 41 0a 66 57 32 57 62 71 45 4f 52 vPkd6mJviZpWNwrZuuyjNA.fW2WbqEOR
1b4500 4f 37 68 45 35 32 55 51 6c 4b 61 76 58 57 46 64 43 79 6f 44 68 32 54 74 68 69 33 6a 43 79 6f 7a O7hE52UQlKavXWFdCyoDh2Tthi3jCyoz
1b4520 2f 74 63 63 62 6e 61 37 50 37 6f 66 6f 2f 6b 4c 78 32 79 71 48 57 48 32 4c 65 68 35 54 76 50 6d /tccbna7P7ofo/kLx2yqHWH2Leh5TvPm
1b4540 55 70 47 0a 30 49 4d 5a 66 63 43 68 45 68 79 56 62 55 72 30 32 4d 65 6c 54 54 4d 75 68 54 6c 41 UpG.0IMZfcChEhyVbUr02MelTTMuhTlA
1b4560 64 58 34 55 66 49 41 53 6d 46 44 48 51 57 65 34 6f 49 42 68 56 4b 5a 73 54 68 2f 67 6e 51 34 48 dX4UfIASmFDHQWe4oIBhVKZsTh/gnQ4H
1b4580 36 63 6d 36 4d 2b 66 2b 77 46 55 6f 4c 41 4b 41 0a 70 78 6e 31 6e 74 78 56 55 77 4f 58 65 77 64 6cm6M+f+wFUoLAKA.pxn1ntxVUwOXewd
1b45a0 49 2f 35 6e 37 4e 34 6f 6b 78 46 6e 4d 55 42 42 6a 6a 71 71 70 47 72 43 45 47 6f 62 35 58 37 75 I/5n7N4okxFnMUBBjjqqpGrCEGob5X7u
1b45c0 78 55 47 36 6b 30 51 72 4d 31 58 46 2b 48 36 63 62 66 50 56 54 62 69 4a 66 79 79 76 6d 0a 31 48 xUG6k0QrM1XF+H6cbfPVTbiJfyyvm.1H
1b45e0 78 64 72 74 62 43 78 6b 7a 6c 42 51 48 5a 37 56 66 38 77 53 4e 35 2f 50 72 49 4a 49 4f 56 38 37 xdrtbCxkzlBQHZ7Vf8wSN5/PrIJIOV87
1b4600 56 71 55 51 48 51 64 39 62 70 45 71 48 35 47 6f 50 37 67 68 75 35 73 4a 66 30 64 67 59 7a 51 30 VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0
1b4620 6d 67 2f 77 75 31 2b 72 55 43 0a 41 77 45 41 41 61 4f 42 67 44 42 2b 4d 41 38 47 41 31 55 64 45 mg/wu1+rUC.AwEAAaOBgDB+MA8GA1UdE
1b4640 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 wEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDA
1b4660 67 45 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 4c 44 38 62 66 0a 51 6b 50 4d 50 63 75 31 gEGMB0GA1UdDgQWBBTLD8bf.QkPMPcu1
1b4680 53 43 4f 68 47 6e 71 6d 4b 72 73 30 61 44 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 54 4c SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTL
1b46a0 44 38 62 66 51 6b 50 4d 50 63 75 31 53 43 4f 68 47 6e 71 6d 4b 72 73 30 61 44 41 62 42 67 4e 56 D8bfQkPMPcu1SCOhGnqmKrs0aDAbBgNV
1b46c0 48 52 45 45 0a 46 44 41 53 67 52 42 70 62 6d 5a 76 51 47 55 74 63 33 70 70 5a 32 35 76 4c 6d 68 HREE.FDASgRBpbmZvQGUtc3ppZ25vLmh
1b46e0 31 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 44 4a 30 51 35 1MA0GCSqGSIb3DQEBCwUAA4IBAQDJ0Q5
1b4700 65 4c 74 58 4d 73 33 77 2b 79 2f 77 39 2f 77 30 6f 0a 6c 5a 4d 45 79 4c 2f 61 7a 58 6d 34 51 35 eLtXMs3w+y/w9/w0o.lZMEyL/azXm4Q5
1b4720 44 77 70 4c 37 76 38 75 38 68 6d 4c 7a 55 31 46 30 47 39 75 35 43 37 44 42 73 6f 4b 71 70 79 76 DwpL7v8u8hmLzU1F0G9u5C7DBsoKqpyv
1b4740 47 76 69 76 6f 2f 43 33 4e 71 50 75 6f 75 51 48 34 66 72 6c 52 68 65 65 73 75 43 44 66 58 0a 49 Gvivo/C3NqPuouQH4frlRheesuCDfX.I
1b4760 2f 4f 4d 6e 37 34 64 73 65 47 6b 64 64 75 67 34 6c 51 55 73 62 6f 63 4b 61 51 59 39 68 4b 36 6f /OMn74dseGkddug4lQUsbocKaQY9hK6o
1b4780 68 51 55 34 7a 45 31 79 45 44 2f 74 2b 41 46 64 6c 66 42 48 46 6e 79 2b 4c 2f 6b 37 53 56 69 58 hQU4zE1yED/t+AFdlfBHFny+L/k7SViX
1b47a0 49 54 77 66 6e 34 66 73 37 37 35 0a 74 79 45 52 7a 41 4d 42 56 6e 43 6e 45 4a 49 65 47 7a 53 42 ITwfn4fs775.tyERzAMBVnCnEJIeGzSB
1b47c0 48 71 32 63 47 73 4d 45 50 4f 30 43 59 64 59 65 42 76 4e 66 4f 6f 66 79 4b 2f 46 46 68 2b 55 39 Hq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9
1b47e0 72 4e 48 48 56 34 53 39 61 36 37 63 32 50 6d 32 47 32 4a 77 43 7a 30 32 0a 79 55 4c 79 4d 74 64 rNHHV4S9a67c2Pm2G2JwCz02.yULyMtd
1b4800 36 59 65 62 53 32 7a 33 50 79 4b 6e 4a 6d 39 7a 62 57 45 54 58 62 7a 69 76 66 33 6a 54 6f 36 30 6YebS2z3PyKnJm9zbWETXbzivf3jTo60
1b4820 61 64 62 6f 63 77 54 5a 38 6a 78 35 74 48 4d 4e 31 52 71 34 31 42 61 62 32 58 44 30 68 37 6c 62 adbocwTZ8jx5tHMN1Rq41Bab2XD0h7lb
1b4840 77 79 59 49 69 0a 4c 58 70 55 71 33 44 44 66 53 4a 6c 67 6e 43 57 0a 2d 2d 2d 2d 2d 45 4e 44 20 wyYIi.LXpUq3DDfSJlgnCW.-----END.
1b4860 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6c 6f 62 61 6c 53 69 67 6e 20 52 6f 6f CERTIFICATE-----..GlobalSign.Roo
1b4880 74 20 43 41 20 2d 20 52 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d t.CA.-.R3.======================
1b48a0 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
1b48c0 49 44 58 7a 43 43 41 6b 65 67 41 77 49 42 41 67 49 4c 42 41 41 41 41 41 41 42 49 56 68 54 43 4b IDXzCCAkegAwIBAgILBAAAAAABIVhTCK
1b48e0 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 54 44 45 67 4d 42 34 47 41 31 IwDQYJKoZIhvcNAQELBQAwTDEgMB4GA1
1b4900 55 45 43 78 4d 58 52 32 78 76 0a 59 6d 46 73 55 32 6c 6e 62 69 42 53 62 32 39 30 49 45 4e 42 49 UECxMXR2xv.YmFsU2lnbiBSb290IENBI
1b4920 43 30 67 55 6a 4d 78 45 7a 41 52 42 67 4e 56 42 41 6f 54 43 6b 64 73 62 32 4a 68 62 46 4e 70 5a C0gUjMxEzARBgNVBAoTCkdsb2JhbFNpZ
1b4940 32 34 78 45 7a 41 52 42 67 4e 56 42 41 4d 54 43 6b 64 73 62 32 4a 68 0a 62 46 4e 70 5a 32 34 77 24xEzARBgNVBAMTCkdsb2Jh.bFNpZ24w
1b4960 48 68 63 4e 4d 44 6b 77 4d 7a 45 34 4d 54 41 77 4d 44 41 77 57 68 63 4e 4d 6a 6b 77 4d 7a 45 34 HhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
1b4980 4d 54 41 77 4d 44 41 77 57 6a 42 4d 4d 53 41 77 48 67 59 44 56 51 51 4c 45 78 64 48 62 47 39 69 MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9i
1b49a0 59 57 78 54 0a 61 57 64 75 49 46 4a 76 62 33 51 67 51 30 45 67 4c 53 42 53 4d 7a 45 54 4d 42 45 YWxT.aWduIFJvb3QgQ0EgLSBSMzETMBE
1b49c0 47 41 31 55 45 43 68 4d 4b 52 32 78 76 59 6d 46 73 55 32 6c 6e 62 6a 45 54 4d 42 45 47 41 31 55 GA1UEChMKR2xvYmFsU2lnbjETMBEGA1U
1b49e0 45 41 78 4d 4b 52 32 78 76 59 6d 46 73 55 32 6c 6e 0a 62 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f EAxMKR2xvYmFsU2ln.bjCCASIwDQYJKo
1b4a00 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4d ZIhvcNAQEBBQADggEPADCCAQoCggEBAM
1b4a20 77 6c 64 70 42 35 42 6e 67 69 46 76 58 41 67 37 61 45 79 69 69 65 2f 51 56 32 45 63 57 74 0a 69 wldpB5BngiFvXAg7aEyiie/QV2EcWt.i
1b4a40 48 4c 38 52 67 4a 44 78 37 4b 4b 6e 51 52 66 4a 4d 73 75 53 2b 46 67 67 6b 62 68 55 71 73 4d 67 HL8RgJDx7KKnQRfJMsuS+FggkbhUqsMg
1b4a60 55 64 77 62 4e 31 6b 30 65 76 31 4c 4b 4d 50 67 6a 30 4d 4b 36 36 58 31 37 59 55 68 68 42 35 75 UdwbN1k0ev1LKMPgj0MK66X17YUhhB5u
1b4a80 7a 73 54 67 48 65 4d 43 4f 46 4a 0a 30 6d 70 69 4c 78 39 65 2b 70 5a 6f 33 34 6b 6e 6c 54 69 66 zsTgHeMCOFJ.0mpiLx9e+pZo34knlTif
1b4aa0 42 74 63 2b 79 63 73 6d 57 51 31 7a 33 72 44 49 36 53 59 4f 67 78 58 47 37 31 75 4c 30 67 52 67 Btc+ycsmWQ1z3rDI6SYOgxXG71uL0gRg
1b4ac0 79 6b 6d 6d 4b 50 5a 70 4f 2f 62 4c 79 43 69 52 35 5a 32 4b 59 56 63 33 0a 72 48 51 55 33 48 54 ykmmKPZpO/bLyCiR5Z2KYVc3.rHQU3HT
1b4ae0 67 4f 75 35 79 4c 79 36 63 2b 39 43 37 76 2f 55 39 41 4f 45 47 4d 2b 69 43 4b 36 35 54 70 6a 6f gOu5yLy6c+9C7v/U9AOEGM+iCK65Tpjo
1b4b00 57 63 34 7a 64 51 51 34 67 4f 73 43 30 70 36 48 70 73 6b 2b 51 4c 6a 4a 67 36 56 66 4c 75 51 53 Wc4zdQQ4gOsC0p6Hpsk+QLjJg6VfLuQS
1b4b20 53 61 47 6a 6c 0a 4f 43 5a 67 64 62 4b 66 64 2f 2b 52 46 4f 2b 75 49 45 6e 38 72 55 41 56 53 4e SaGjl.OCZgdbKfd/+RFO+uIEn8rUAVSN
1b4b40 45 43 4d 57 45 5a 58 72 69 58 37 36 31 33 74 32 53 61 65 72 39 66 77 52 50 76 6d 32 4c 37 44 57 ECMWEZXriX7613t2Saer9fwRPvm2L7DW
1b4b60 7a 67 56 47 6b 57 71 51 50 61 62 75 6d 44 6b 33 46 32 0a 78 6d 6d 46 67 68 63 43 41 77 45 41 41 zgVGkWqQPabumDk3F2.xmmFghcCAwEAA
1b4b80 61 4e 43 4d 45 41 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 aNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA
1b4ba0 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 0a 1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE.
1b4bc0 46 49 2f 77 53 33 2b 6f 4c 6b 55 6b 72 6b 31 51 2b 6d 4f 61 69 39 37 69 33 52 75 38 4d 41 30 47 FI/wS3+oLkUkrk1Q+mOai97i3Ru8MA0G
1b4be0 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 42 4c 51 4e 76 41 55 4b 72 2b CSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+
1b4c00 79 41 7a 76 39 35 5a 55 52 55 6d 37 0a 6c 67 41 4a 51 61 79 7a 45 34 61 47 4b 41 63 7a 79 6d 76 yAzv95ZURUm7.lgAJQayzE4aGKAczymv
1b4c20 6d 64 4c 6d 36 41 43 32 75 70 41 72 54 39 66 48 78 44 34 71 2f 63 32 64 4b 67 38 64 45 65 33 6a mdLm6AC2upArT9fHxD4q/c2dKg8dEe3j
1b4c40 67 72 32 35 73 62 77 4d 70 6a 6a 4d 35 52 63 4f 4f 35 4c 6c 58 62 4b 72 38 0a 45 70 62 73 55 38 gr25sbwMpjjM5RcOO5LlXbKr8.EpbsU8
1b4c60 59 74 35 43 52 73 75 5a 52 6a 2b 39 78 54 61 47 64 57 50 6f 4f 34 7a 7a 55 68 77 38 6c 6f 2f 73 Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s
1b4c80 37 61 77 6c 4f 71 7a 4a 43 4b 36 66 42 64 52 6f 79 56 33 58 70 59 4b 42 6f 76 48 64 37 4e 41 44 7awlOqzJCK6fBdRoyV3XpYKBovHd7NAD
1b4ca0 64 42 6a 2b 31 45 0a 62 64 64 54 4b 4a 64 2b 38 32 63 45 48 68 58 58 69 70 61 30 30 39 35 4d 4a dBj+1E.bddTKJd+82cEHhXXipa0095MJ
1b4cc0 36 52 4d 47 33 4e 7a 64 76 51 58 6d 63 49 66 65 67 37 6a 4c 51 69 74 43 68 77 73 2f 7a 79 72 56 6RMG3NzdvQXmcIfeg7jLQitChws/zyrV
1b4ce0 51 34 50 6b 58 34 32 36 38 4e 58 53 62 37 68 4c 69 31 38 0a 59 49 76 44 51 56 45 54 49 35 33 4f Q4PkX4268NXSb7hLi18.YIvDQVETI53O
1b4d00 39 7a 4a 72 6c 41 47 6f 6d 65 63 73 4d 78 38 36 4f 79 58 53 68 6b 44 4f 4f 79 79 47 65 4d 6c 68 9zJrlAGomecsMx86OyXShkDOOyyGeMlh
1b4d20 4c 78 53 36 37 74 74 56 62 39 2b 45 37 67 55 4a 54 62 30 6f 32 48 4c 4f 30 32 4a 51 5a 52 37 72 LxS67ttVb9+E7gUJTb0o2HLO02JQZR7r
1b4d40 0a 6b 70 65 44 4d 64 6d 7a 74 63 70 48 57 44 39 66 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 .kpeDMdmztcpHWD9f.-----END.CERTI
1b4d60 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 75 74 6f 72 69 64 61 64 20 64 65 20 43 65 72 74 69 66 FICATE-----..Autoridad.de.Certif
1b4d80 69 63 61 63 69 6f 6e 20 46 69 72 6d 61 70 72 6f 66 65 73 69 6f 6e 61 6c 20 43 49 46 20 41 36 32 icacion.Firmaprofesional.CIF.A62
1b4da0 36 33 34 30 36 38 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 634068.=========================
1b4dc0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1b4de0 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1b4e00 47 46 44 43 43 41 2f 79 67 41 77 49 42 41 67 49 49 55 2b 77 37 37 76 75 79 53 46 38 77 44 51 59 GFDCCA/ygAwIBAgIIU+w77vuySF8wDQY
1b4e20 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 55 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d JKoZIhvcNAQEFBQAwUTELMAkGA1UEBhM
1b4e40 43 52 56 4d 78 51 6a 42 41 0a 42 67 4e 56 42 41 4d 4d 4f 55 46 31 64 47 39 79 61 57 52 68 5a 43 CRVMxQjBA.BgNVBAMMOUF1dG9yaWRhZC
1b4e60 42 6b 5a 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 6a 61 57 39 75 49 45 5a 70 63 6d 31 68 63 48 BkZSBDZXJ0aWZpY2FjaW9uIEZpcm1hcH
1b4e80 4a 76 5a 6d 56 7a 61 57 39 75 59 57 77 67 51 30 6c 47 49 45 45 32 0a 4d 6a 59 7a 4e 44 41 32 4f JvZmVzaW9uYWwgQ0lGIEE2.MjYzNDA2O
1b4ea0 44 41 65 46 77 30 77 4f 54 41 31 4d 6a 41 77 4f 44 4d 34 4d 54 56 61 46 77 30 7a 4d 44 45 79 4d DAeFw0wOTA1MjAwODM4MTVaFw0zMDEyM
1b4ec0 7a 45 77 4f 44 4d 34 4d 54 56 61 4d 46 45 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 56 54 4d zEwODM4MTVaMFExCzAJBgNVBAYTAkVTM
1b4ee0 55 49 77 0a 51 41 59 44 56 51 51 44 44 44 6c 42 64 58 52 76 63 6d 6c 6b 59 57 51 67 5a 47 55 67 UIw.QAYDVQQDDDlBdXRvcmlkYWQgZGUg
1b4f00 51 32 56 79 64 47 6c 6d 61 57 4e 68 59 32 6c 76 62 69 42 47 61 58 4a 74 59 58 42 79 62 32 5a 6c Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zl
1b4f20 63 32 6c 76 62 6d 46 73 49 45 4e 4a 52 69 42 42 0a 4e 6a 49 32 4d 7a 51 77 4e 6a 67 77 67 67 49 c2lvbmFsIENJRiBB.NjI2MzQwNjgwggI
1b4f40 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 iMA0GCSqGSIb3DQEBAQUAA4ICDwAwggI
1b4f60 4b 41 6f 49 43 41 51 44 4b 6c 6d 75 4f 36 76 6a 37 38 61 49 31 34 48 39 4d 32 75 44 44 0a 55 74 KAoICAQDKlmuO6vj78aI14H9M2uDD.Ut
1b4f80 64 39 74 68 44 49 41 6c 36 7a 51 79 72 45 54 32 71 79 79 68 78 64 4b 4a 70 34 45 52 70 70 57 56 d9thDIAl6zQyrET2qyyhxdKJp4ERppWV
1b4fa0 65 76 74 53 42 43 35 49 73 50 35 74 39 62 70 67 4f 53 4c 2f 55 52 35 47 4c 58 4d 6e 45 34 32 51 evtSBC5IsP5t9bpgOSL/UR5GLXMnE42Q
1b4fc0 51 4d 63 61 73 39 55 58 34 50 0a 42 39 39 6a 42 56 7a 70 76 35 52 76 77 53 6d 43 77 4c 54 61 55 QMcas9UX4P.B99jBVzpv5RvwSmCwLTaU
1b4fe0 62 44 42 50 4c 75 74 4e 30 70 63 79 76 46 4c 4e 67 34 6b 71 37 2f 44 68 48 66 39 71 46 44 30 73 bDBPLutN0pcyvFLNg4kq7/DhHf9qFD0s
1b5000 65 66 47 4c 39 49 74 57 59 31 36 43 6b 36 57 61 56 49 43 71 6a 61 59 0a 37 50 7a 36 46 49 4d 4d efGL9ItWY16Ck6WaVICqjaY.7Pz6FIMM
1b5020 4e 78 2f 4a 6b 6a 64 2f 31 34 45 74 35 63 53 35 34 44 34 30 2f 6d 66 30 50 6d 62 52 30 2f 52 41 Nx/Jkjd/14Et5cS54D40/mf0PmbR0/RA
1b5040 7a 31 35 69 4e 41 39 77 42 6a 34 67 47 46 72 4f 39 33 49 62 4a 57 79 54 64 42 53 54 6f 33 4f 78 z15iNA9wBj4gGFrO93IbJWyTdBSTo3Ox
1b5060 44 71 71 48 0a 45 43 4e 5a 58 79 41 46 47 55 66 74 61 49 36 53 45 73 70 64 2f 4e 59 72 73 70 49 DqqH.ECNZXyAFGUftaI6SEspd/NYrspI
1b5080 38 49 4d 2f 68 58 36 38 67 76 71 42 32 66 33 62 6c 37 42 71 47 59 54 4d 2b 35 33 75 30 50 36 41 8IM/hX68gvqB2f3bl7BqGYTM+53u0P6A
1b50a0 50 6a 71 4b 35 61 6d 2b 35 68 79 5a 76 51 57 79 49 0a 70 6c 44 39 61 6d 4d 4c 39 5a 4d 57 47 78 PjqK5am+5hyZvQWyI.plD9amML9ZMWGx
1b50c0 6d 50 73 75 32 62 6d 38 6d 51 39 51 45 4d 33 78 6b 39 44 7a 34 34 49 38 6b 76 6a 77 7a 52 41 76 mPsu2bm8mQ9QEM3xk9Dz44I8kvjwzRAv
1b50e0 34 62 56 64 5a 4f 30 49 30 38 72 30 2b 6b 38 2f 36 76 4b 74 4d 46 6e 58 6b 49 6f 63 74 58 0a 4d 4bVdZO0I08r0+k8/6vKtMFnXkIoctX.M
1b5100 62 53 63 79 4a 43 79 5a 2f 51 59 46 70 4d 36 2f 45 66 59 30 58 69 57 4d 52 2b 36 4b 77 78 66 58 bScyJCyZ/QYFpM6/EfY0XiWMR+6KwxfX
1b5120 5a 6d 74 59 34 6c 61 4a 43 42 32 32 4e 2f 39 71 30 36 6d 49 71 71 64 58 75 59 6e 69 6e 31 6f 4b ZmtY4laJCB22N/9q06mIqqdXuYnin1oK
1b5140 61 50 6e 69 72 6a 61 45 62 73 58 0a 4c 5a 6d 64 45 79 52 47 39 38 58 69 32 4a 2b 4f 66 38 65 50 aPnirjaEbsX.LZmdEyRG98Xi2J+Of8eP
1b5160 64 47 31 61 73 75 68 79 39 61 7a 75 4a 42 43 74 4c 78 54 61 2f 79 32 61 52 6e 46 48 76 6b 4c 66 dG1asuhy9azuJBCtLxTa/y2aRnFHvkLf
1b5180 75 77 48 62 39 48 2f 54 4b 49 38 78 57 56 76 54 79 51 4b 6d 74 46 4c 4b 0a 62 70 66 37 51 38 55 uwHb9H/TKI8xWVvTyQKmtFLK.bpf7Q8U
1b51a0 49 4a 6d 2b 4b 39 4c 76 39 6e 79 69 71 44 64 56 46 38 78 4d 36 48 64 6a 41 65 49 39 42 5a 7a 77 IJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzw
1b51c0 65 6c 47 53 75 65 77 76 46 36 4e 6b 42 69 44 6b 61 6c 34 5a 6b 51 64 55 37 68 77 78 75 2b 67 2f elGSuewvF6NkBiDkal4ZkQdU7hwxu+g/
1b51e0 47 76 55 67 55 0a 76 7a 6c 4e 31 4a 35 42 74 6f 2b 57 48 57 4f 57 6b 39 6d 56 42 6e 67 78 61 4a GvUgU.vzlN1J5Bto+WHWOWk9mVBngxaJ
1b5200 34 33 42 6a 75 41 69 55 56 68 4f 53 50 48 47 30 53 6a 46 65 55 63 2b 4a 49 77 75 77 49 44 41 51 43BjuAiUVhOSPHG0SjFeUc+JIwuwIDAQ
1b5220 41 42 6f 34 48 76 4d 49 48 73 4d 42 49 47 41 31 55 64 0a 45 77 45 42 2f 77 51 49 4d 41 59 42 41 ABo4HvMIHsMBIGA1Ud.EwEB/wQIMAYBA
1b5240 66 38 43 41 51 45 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 42 30 47 41 f8CAQEwDgYDVR0PAQH/BAQDAgEGMB0GA
1b5260 31 55 64 44 67 51 57 42 42 52 6c 7a 65 75 72 4e 52 34 41 50 6e 37 56 64 4d 41 63 74 48 4e 48 0a 1UdDgQWBBRlzeurNR4APn7VdMActHNH.
1b5280 44 68 70 6b 4c 7a 43 42 70 67 59 44 56 52 30 67 42 49 47 65 4d 49 47 62 4d 49 47 59 42 67 52 56 DhpkLzCBpgYDVR0gBIGeMIGbMIGYBgRV
1b52a0 48 53 41 41 4d 49 47 50 4d 43 38 47 43 43 73 47 41 51 55 46 42 77 49 42 46 69 4e 6f 64 48 52 77 HSAAMIGPMC8GCCsGAQUFBwIBFiNodHRw
1b52c0 4f 69 38 76 64 33 64 33 4c 6d 5a 70 0a 63 6d 31 68 63 48 4a 76 5a 6d 56 7a 61 57 39 75 59 57 77 Oi8vd3d3LmZp.cm1hcHJvZmVzaW9uYWw
1b52e0 75 59 32 39 74 4c 32 4e 77 63 7a 42 63 42 67 67 72 42 67 45 46 42 51 63 43 41 6a 42 51 48 6b 34 uY29tL2NwczBcBggrBgEFBQcCAjBQHk4
1b5300 41 55 41 42 68 41 48 4d 41 5a 51 42 76 41 43 41 41 5a 41 42 6c 41 43 41 41 0a 62 41 42 68 41 43 AUABhAHMAZQBvACAAZABlACAA.bABhAC
1b5320 41 41 51 67 42 76 41 47 34 41 59 51 42 75 41 47 38 41 64 67 42 68 41 43 41 41 4e 41 41 33 41 43 AAQgBvAG4AYQBuAG8AdgBhACAANAA3AC
1b5340 41 41 51 67 42 68 41 48 49 41 59 77 42 6c 41 47 77 41 62 77 42 75 41 47 45 41 49 41 41 77 41 44 AAQgBhAHIAYwBlAGwAbwBuAGEAIAAwAD
1b5360 67 41 4d 41 41 78 0a 41 44 63 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 gAMAAx.ADcwDQYJKoZIhvcNAQEFBQADg
1b5380 67 49 42 41 42 64 39 6f 50 6d 30 33 63 58 46 36 36 31 4c 4a 4c 57 68 41 71 76 64 70 59 68 4b 73 gIBABd9oPm03cXF661LJLWhAqvdpYhKs
1b53a0 67 39 56 53 79 74 58 6a 44 76 6c 4d 64 33 2b 78 44 4c 78 0a 35 31 74 6b 6c 6a 59 79 47 4f 79 6c g9VSytXjDvlMd3+xDLx.51tkljYyGOyl
1b53c0 4d 6e 66 58 34 30 53 32 77 42 45 71 67 4c 6b 39 61 6d 35 38 6d 39 4f 74 2f 4d 50 57 6f 2b 5a 6b MnfX40S2wBEqgLk9am58m9Ot/MPWo+Zk
1b53e0 4b 58 7a 52 34 54 67 65 67 69 76 2f 4a 32 57 76 2b 78 59 56 78 43 35 78 68 4f 57 31 2f 2f 71 6b KXzR4Tgegiv/J2Wv+xYVxC5xhOW1//qk
1b5400 0a 52 37 31 6b 4d 72 76 32 4a 59 53 69 4a 30 4c 31 49 4c 44 43 45 78 41 52 7a 52 41 56 75 6b 4b .R71kMrv2JYSiJ0L1ILDCExARzRAVukK
1b5420 51 4b 74 4a 45 34 5a 59 6d 36 7a 46 49 45 76 30 71 32 73 6b 47 7a 33 51 65 71 55 76 56 68 79 6a QKtJE4ZYm6zFIEv0q2skGz3QeqUvVhyj
1b5440 35 65 54 53 53 50 69 35 45 36 50 61 50 0a 54 34 38 31 50 79 57 7a 4f 64 78 6a 4b 70 42 72 49 46 5eTSSPi5E6PaP.T481PyWzOdxjKpBrIF
1b5460 2f 45 55 68 4a 4f 6c 79 77 71 72 4a 32 58 33 6b 6a 79 6f 32 62 62 77 74 4b 44 6c 61 5a 6d 70 35 /EUhJOlywqrJ2X3kjyo2bbwtKDlaZmp5
1b5480 34 6c 44 2b 6b 4c 4d 35 46 6c 43 6c 72 44 32 56 51 53 33 61 2f 44 54 67 34 66 0a 4a 6c 34 4e 33 4lD+kLM5FlClrD2VQS3a/DTg4f.Jl4N3
1b54a0 4c 4f 4e 37 4e 57 42 63 4e 37 53 54 79 51 46 38 32 78 4f 39 55 78 4a 5a 6f 33 52 2f 39 49 4c 4a LON7NWBcN7STyQF82xO9UxJZo3R/9ILJ
1b54c0 55 46 49 2f 6c 47 45 78 6b 4b 76 67 41 54 50 30 48 35 6b 53 65 54 79 33 36 4c 73 73 55 7a 41 4b UFI/lGExkKvgATP0H5kSeTy36LssUzAK
1b54e0 68 33 6e 74 4c 46 6c 0a 6f 73 53 38 38 5a 6a 30 71 6e 41 48 59 37 53 34 32 6a 74 4d 2b 6b 41 69 h3ntLFl.osS88Zj0qnAHY7S42jtM+kAi
1b5500 4d 46 73 52 70 76 41 46 44 73 59 43 41 30 69 72 68 70 75 46 33 64 76 64 36 71 4a 32 67 48 4e 39 MFsRpvAFDsYCA0irhpuF3dvd6qJ2gHN9
1b5520 39 5a 77 45 78 45 57 4e 35 37 6b 63 69 35 37 71 31 33 58 52 0a 63 72 48 65 64 55 54 6e 51 6e 33 9ZwExEWN57kci57q13XR.crHedUTnQn3
1b5540 69 56 32 74 39 33 4a 6d 38 50 59 4d 6f 36 6f 43 54 6a 63 56 4d 5a 63 46 77 67 62 67 34 2f 45 4d iV2t93Jm8PYMo6oCTjcVMZcFwgbg4/EM
1b5560 78 73 76 59 44 4e 45 65 79 72 50 73 69 42 73 73 65 33 52 64 48 48 46 39 6d 75 64 4d 61 6f 74 6f xsvYDNEeyrPsiBsse3RdHHF9mudMaoto
1b5580 52 0a 73 61 53 38 49 38 6e 6b 76 6f 66 2f 75 5a 53 32 2b 46 30 67 53 74 52 66 35 37 31 6f 65 32 R.saS8I8nkvof/uZS2+F0gStRf571oe2
1b55a0 58 79 46 52 37 53 4f 71 6b 74 36 64 68 72 4a 4b 79 58 57 45 52 48 72 56 6b 59 38 53 46 6c 63 4e XyFR7SOqkt6dhrJKyXWERHrVkY8SFlcN
1b55c0 37 4f 4e 47 43 6f 51 50 48 7a 50 4b 54 44 0a 4b 43 4f 4d 2f 69 63 7a 51 30 43 67 46 7a 7a 72 36 7ONGCoQPHzPKTD.KCOM/iczQ0CgFzzr6
1b55e0 6a 75 77 63 71 61 6a 75 55 70 4c 58 68 5a 49 39 4c 4b 38 79 49 79 53 78 5a 32 66 72 48 49 32 76 juwcqajuUpLXhZI9LK8yIySxZ2frHI2v
1b5600 44 53 41 4e 47 75 70 69 35 4c 41 75 42 66 74 37 48 5a 54 39 53 51 42 6a 4c 4d 69 0a 36 45 74 38 DSANGupi5LAuBft7HZT9SQBjLMi.6Et8
1b5620 56 63 61 64 2b 71 4d 55 75 32 57 46 62 6d 35 50 45 6e 34 4b 50 4a 32 56 0a 2d 2d 2d 2d 2d 45 4e Vcad+qMUu2WFbm5PEn4KPJ2V.-----EN
1b5640 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 49 7a 65 6e 70 65 2e 63 6f 6d 0a 3d D.CERTIFICATE-----..Izenpe.com.=
1b5660 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1b5680 2d 2d 2d 2d 2d 0a 4d 49 49 46 38 54 43 43 41 39 6d 67 41 77 49 42 41 67 49 51 41 4c 43 33 57 68 -----.MIIF8TCCA9mgAwIBAgIQALC3Wh
1b56a0 5a 49 58 37 2f 68 79 2f 57 4c 31 78 6e 6d 66 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 ZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQ
1b56c0 73 46 41 44 41 34 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 46 55 7a 45 55 4d 42 49 47 41 sFADA4MQswCQYDVQQG.EwJFUzEUMBIGA
1b56e0 31 55 45 43 67 77 4c 53 56 70 46 54 6c 42 46 49 46 4d 75 51 53 34 78 45 7a 41 52 42 67 4e 56 42 1UECgwLSVpFTlBFIFMuQS4xEzARBgNVB
1b5700 41 4d 4d 43 6b 6c 36 5a 57 35 77 5a 53 35 6a 62 32 30 77 48 68 63 4e 4d 44 63 78 4d 6a 45 7a 0a AMMCkl6ZW5wZS5jb20wHhcNMDcxMjEz.
1b5720 4d 54 4d 77 4f 44 49 34 57 68 63 4e 4d 7a 63 78 4d 6a 45 7a 4d 44 67 79 4e 7a 49 31 57 6a 41 34 MTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4
1b5740 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 55 7a 45 55 4d 42 49 47 41 31 55 45 43 67 77 4c MQswCQYDVQQGEwJFUzEUMBIGA1UECgwL
1b5760 53 56 70 46 54 6c 42 46 49 46 4d 75 0a 51 53 34 78 45 7a 41 52 42 67 4e 56 42 41 4d 4d 43 6b 6c SVpFTlBFIFMu.QS4xEzARBgNVBAMMCkl
1b5780 36 5a 57 35 77 5a 53 35 6a 62 32 30 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 6ZW5wZS5jb20wggIiMA0GCSqGSIb3DQE
1b57a0 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 44 4a 0a 30 33 72 4b 44 78 BAQUAA4ICDwAwggIKAoICAQDJ.03rKDx
1b57c0 36 73 70 34 62 6f 46 6d 56 71 73 63 49 62 52 54 4a 78 6c 64 6e 2b 45 46 76 4d 72 2b 65 6c 65 51 6sp4boFmVqscIbRTJxldn+EFvMr+eleQ
1b57e0 47 50 69 63 50 4b 38 6c 56 78 39 33 65 2b 64 35 54 7a 63 71 51 73 52 4e 69 65 6b 70 73 55 4f 71 GPicPK8lVx93e+d5TzcqQsRNiekpsUOq
1b5800 48 6e 4a 4a 41 4b 0a 43 6c 61 4f 78 64 67 6d 6c 4f 48 5a 53 4f 45 74 50 74 6f 4b 63 74 32 6a 6d HnJJAK.ClaOxdgmlOHZSOEtPtoKct2jm
1b5820 52 58 61 67 61 4b 48 39 48 74 75 4a 6e 65 4a 57 4b 33 57 36 77 79 79 51 58 70 7a 62 6d 33 62 65 RXagaKH9HtuJneJWK3W6wyyQXpzbm3be
1b5840 6e 68 42 36 51 69 49 45 6e 36 48 4c 6d 59 52 59 32 78 55 0a 2b 7a 79 64 63 73 43 38 4c 76 2f 43 nhB6QiIEn6HLmYRY2xU.+zydcsC8Lv/C
1b5860 74 39 30 4e 64 75 4d 36 31 2f 65 30 61 4c 36 69 39 65 4f 42 62 73 46 47 62 31 32 4e 34 45 33 47 t90NduM61/e0aL6i9eOBbsFGb12N4E3G
1b5880 56 46 57 4a 47 6a 4d 78 43 72 46 58 75 61 4f 4b 6d 4d 50 73 4f 7a 54 46 6c 55 46 70 66 6e 58 43 VFWJGjMxCrFXuaOKmMPsOzTFlUFpfnXC
1b58a0 0a 50 43 44 46 59 62 70 52 52 36 41 67 6b 4a 4f 68 6b 45 76 7a 54 6e 79 46 52 56 53 61 30 51 55 .PCDFYbpRR6AgkJOhkEvzTnyFRVSa0QU
1b58c0 6d 51 62 43 31 54 52 30 7a 76 73 51 44 79 43 56 38 77 58 44 62 4f 2f 51 4a 4c 56 51 6e 53 4b 77 mQbC1TR0zvsQDyCV8wXDbO/QJLVQnSKw
1b58e0 76 34 63 53 73 50 73 6a 4c 6b 6b 78 54 0a 4f 54 63 6a 37 4e 4d 42 2b 65 41 4a 52 45 31 4e 5a 4d v4cSsPsjLkkxT.OTcj7NMB+eAJRE1NZM
1b5900 44 68 44 56 71 48 49 72 79 74 47 36 50 2b 4a 72 55 56 38 36 66 38 68 42 6e 70 37 4b 47 49 74 45 DhDVqHIrytG6P+JrUV86f8hBnp7KGItE
1b5920 52 70 68 49 50 7a 69 64 46 30 42 71 6e 4d 43 39 62 43 33 69 65 46 55 43 62 4b 0a 46 37 6a 4a 65 RphIPzidF0BqnMC9bC3ieFUCbK.F7jJe
1b5940 6f 64 57 4c 42 6f 42 48 6d 79 2b 45 36 30 51 72 4c 55 6b 39 54 69 52 6f 64 5a 4c 32 76 47 37 30 odWLBoBHmy+E60QrLUk9TiRodZL2vG70
1b5960 74 35 48 74 66 47 38 67 66 5a 5a 61 38 38 5a 55 2b 6d 4e 46 63 74 4b 79 36 6c 76 52 4f 55 62 51 t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQ
1b5980 63 2f 68 68 71 66 4b 0a 30 47 71 66 76 45 79 4e 42 6a 4e 61 6f 6f 58 6c 6b 44 57 67 59 6c 77 57 c/hhqfK.0GqfvEyNBjNaooXlkDWgYlwW
1b59a0 54 76 44 6a 6f 76 6f 44 47 72 51 73 63 62 4e 59 4c 4e 35 37 43 39 73 61 44 2b 76 65 49 52 38 47 TvDjovoDGrQscbNYLN57C9saD+veIR8G
1b59c0 64 77 59 44 73 4d 6e 76 6d 66 7a 41 75 55 38 4c 68 69 6a 2b 0a 30 72 6e 71 34 39 71 6c 77 30 64 dwYDsMnvmfzAuU8Lhij+.0rnq49qlw0d
1b59e0 70 45 75 44 62 38 50 59 5a 69 2b 31 37 63 4e 63 43 31 75 32 48 47 43 67 73 42 43 52 4d 64 2b 52 pEuDb8PYZi+17cNcC1u2HGCgsBCRMd+R
1b5a00 49 69 68 72 47 4f 35 72 55 44 38 72 36 64 64 49 42 51 46 71 4e 65 62 2b 4c 7a 30 76 50 71 68 62 IihrGO5rUD8r6ddIBQFqNeb+Lz0vPqhb
1b5a20 42 0a 6c 65 53 74 54 49 6f 2b 46 35 48 55 73 57 4c 6c 67 75 57 41 42 4b 51 44 66 6f 32 2f 32 6e B.leStTIo+F5HUsWLlguWABKQDfo2/2n
1b5a40 2b 69 44 35 64 50 44 4e 4d 4e 2b 39 66 52 35 58 4a 2b 48 4d 68 33 2f 31 75 61 44 37 65 75 42 55 +iD5dPDNMN+9fR5XJ+HMh3/1uaD7euBU
1b5a60 62 6c 38 61 67 57 37 45 65 6b 46 77 49 44 0a 41 51 41 42 6f 34 48 32 4d 49 48 7a 4d 49 47 77 42 bl8agW7EekFwID.AQABo4H2MIHzMIGwB
1b5a80 67 4e 56 48 52 45 45 67 61 67 77 67 61 57 42 44 32 6c 75 5a 6d 39 41 61 58 70 6c 62 6e 42 6c 4c gNVHREEgagwgaWBD2luZm9AaXplbnBlL
1b5aa0 6d 4e 76 62 61 53 42 6b 54 43 42 6a 6a 46 48 4d 45 55 47 41 31 55 45 43 67 77 2b 0a 53 56 70 46 mNvbaSBkTCBjjFHMEUGA1UECgw+.SVpF
1b5ac0 54 6c 42 46 49 46 4d 75 51 53 34 67 4c 53 42 44 53 55 59 67 51 54 41 78 4d 7a 4d 33 4d 6a 59 77 TlBFIFMuQS4gLSBDSUYgQTAxMzM3MjYw
1b5ae0 4c 56 4a 4e 5a 58 4a 6a 4c 6c 5a 70 64 47 39 79 61 57 45 74 52 32 46 7a 64 47 56 70 65 69 42 55 LVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBU
1b5b00 4d 54 41 31 4e 53 42 47 0a 4e 6a 49 67 55 7a 67 78 51 7a 42 42 42 67 4e 56 42 41 6b 4d 4f 6b 46 MTA1NSBG.NjIgUzgxQzBBBgNVBAkMOkF
1b5b20 32 5a 47 45 67 5a 47 56 73 49 45 31 6c 5a 47 6c 30 5a 58 4a 79 59 57 35 6c 62 79 42 46 64 47 39 2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9
1b5b40 79 59 6d 6c 6b 5a 57 45 67 4d 54 51 67 4c 53 41 77 4d 54 41 78 0a 4d 43 42 57 61 58 52 76 63 6d yYmlkZWEgMTQgLSAwMTAx.MCBWaXRvcm
1b5b60 6c 68 4c 55 64 68 63 33 52 6c 61 58 6f 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 lhLUdhc3RlaXowDwYDVR0TAQH/BAUwAw
1b5b80 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 EB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR
1b5ba0 30 4f 0a 42 42 59 45 46 42 30 63 5a 51 36 6f 38 69 56 37 74 4a 48 50 35 4c 47 78 35 72 31 56 64 0O.BBYEFB0cZQ6o8iV7tJHP5LGx5r1Vd
1b5bc0 47 77 46 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 43 41 51 42 34 70 GwFMA0GCSqGSIb3DQEBCwUAA4ICAQB4p
1b5be0 67 77 57 53 70 39 4d 69 44 72 41 79 77 36 6c 0a 46 6e 32 66 75 55 68 66 47 49 38 4e 59 6a 62 32 gwWSp9MiDrAyw6l.Fn2fuUhfGI8NYjb2
1b5c00 7a 52 6c 72 72 4b 76 56 39 70 46 39 72 6e 48 7a 50 37 4d 4f 65 49 57 62 6c 61 51 6e 49 55 64 43 zRlrrKvV9pF9rnHzP7MOeIWblaQnIUdC
1b5c20 53 6e 78 49 4f 76 56 46 66 4c 4d 4d 6a 6c 46 34 72 4a 55 54 33 73 62 39 66 62 67 61 0a 6b 45 79 SnxIOvVFfLMMjlF4rJUT3sb9fbga.kEy
1b5c40 72 6b 67 50 48 37 55 49 42 7a 67 2f 59 73 66 71 69 6b 75 46 67 62 61 35 36 61 77 6d 71 78 69 6e rkgPH7UIBzg/YsfqikuFgba56awmqxin
1b5c60 75 61 45 6c 6e 4d 49 41 6b 65 6a 45 57 4f 56 74 2b 38 52 77 75 33 57 77 4a 72 66 49 78 77 59 4a uaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJ
1b5c80 4f 75 62 76 35 76 72 38 71 0a 68 54 2f 41 51 4b 4d 36 57 66 78 5a 53 7a 77 6f 4a 4e 75 30 46 58 Oubv5vr8q.hT/AQKM6WfxZSzwoJNu0FX
1b5ca0 57 75 44 59 69 36 4c 6e 50 41 76 56 69 48 35 55 4c 79 36 31 37 75 48 6a 41 69 6d 63 73 33 30 63 WuDYi6LnPAvViH5ULy617uHjAimcs30c
1b5cc0 51 68 62 49 48 73 76 6d 30 6d 35 68 7a 6b 51 69 43 65 52 37 43 73 0a 67 31 6c 77 4c 44 58 57 72 QhbIHsvm0m5hzkQiCeR7Cs.g1lwLDXWr
1b5ce0 7a 59 30 74 4d 30 37 2b 44 4b 6f 37 2b 4e 34 69 66 75 4e 52 53 7a 61 6e 4c 68 2b 51 42 78 68 35 zY0tM07+DKo7+N4ifuNRSzanLh+QBxh5
1b5d00 7a 36 69 6b 69 78 4c 38 73 33 36 6d 4c 59 70 2f 2f 50 79 65 36 6b 66 4c 71 43 54 56 79 76 65 68 z6ikixL8s36mLYp//Pye6kfLqCTVyveh
1b5d20 51 50 35 0a 61 54 66 4c 6e 6e 68 71 42 62 54 46 4d 58 69 4a 37 48 71 6e 68 65 47 35 65 7a 7a 65 QP5.aTfLnnhqBbTFMXiJ7HqnheG5ezze
1b5d40 76 68 35 35 68 4d 36 66 63 41 35 5a 77 6a 55 75 6b 43 6f 78 32 65 52 46 65 6b 47 6b 4c 68 4f 62 vh55hM6fcA5ZwjUukCox2eRFekGkLhOb
1b5d60 4e 41 35 6d 65 30 6d 72 5a 4a 66 51 52 73 4e 35 0a 6e 58 4a 51 59 36 61 59 57 77 61 39 53 47 33 NA5me0mrZJfQRsN5.nXJQY6aYWwa9SG3
1b5d80 59 4f 59 4e 77 36 44 58 77 42 64 47 71 76 4f 50 62 79 41 4c 71 66 50 32 43 32 73 4a 62 55 6a 57 YOYNw6DXwBdGqvOPbyALqfP2C2sJbUjW
1b5da0 75 6d 44 71 74 75 6a 57 54 49 36 63 66 53 4e 30 31 52 70 69 79 45 47 6a 6b 70 54 48 43 0a 43 6c umDqtujWTI6cfSN01RpiyEGjkpTHC.Cl
1b5dc0 67 75 47 59 45 51 79 56 42 31 2f 4f 70 61 46 73 34 52 31 2b 37 76 55 49 67 74 59 66 38 2f 51 6e guGYEQyVB1/OpaFs4R1+7vUIgtYf8/Qn
1b5de0 4d 46 6c 45 50 56 6a 6a 78 4f 41 54 6f 5a 70 52 39 47 54 6e 66 51 58 65 57 42 49 69 47 48 2f 70 MFlEPVjjxOAToZpR9GTnfQXeWBIiGH/p
1b5e00 52 39 68 4e 69 54 72 64 5a 6f 0a 51 30 69 79 32 2b 74 7a 4a 4f 65 52 66 31 53 6b 74 6f 41 2b 6e R9hNiTrdZo.Q0iy2+tzJOeRf1SktoA+n
1b5e20 61 4d 38 54 48 4c 43 56 38 53 67 31 4d 77 34 4a 38 37 56 42 70 36 69 53 4e 6e 70 6e 38 36 43 63 aM8THLCV8Sg1Mw4J87VBp6iSNnpn86Cc
1b5e40 44 61 54 6d 6a 76 66 6c 69 48 6a 57 62 63 4d 32 70 45 33 38 50 31 5a 0a 57 72 4f 5a 79 47 6c 73 DaTmjvfliHjWbcM2pE38P1Z.WrOZyGls
1b5e60 51 79 59 42 4e 57 4e 67 56 59 6b 44 4f 6e 58 59 75 6b 72 5a 56 50 2f 75 33 6f 44 59 4c 64 45 34 QyYBNWNgVYkDOnXYukrZVP/u3oDYLdE4
1b5e80 31 56 34 74 43 35 68 39 50 6d 7a 62 2f 43 61 49 78 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 1V4tC5h9Pmzb/CaIxw==.-----END.CE
1b5ea0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 68 61 6d 62 65 72 73 20 6f 66 20 43 6f 6d 6d RTIFICATE-----..Chambers.of.Comm
1b5ec0 65 72 63 65 20 52 6f 6f 74 20 2d 20 32 30 30 38 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d erce.Root.-.2008.===============
1b5ee0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 =================.-----BEGIN.CER
1b5f00 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 48 54 7a 43 43 42 54 65 67 41 77 49 42 41 67 TIFICATE-----.MIIHTzCCBTegAwIBAg
1b5f20 49 4a 41 4b 50 61 51 6e 36 6b 73 61 37 61 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 IJAKPaQn6ksa7aMA0GCSqGSIb3DQEBBQ
1b5f40 55 41 4d 49 47 75 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 56 54 46 44 0a 4d 45 45 47 41 UAMIGuMQswCQYDVQQGEwJFVTFD.MEEGA
1b5f60 31 55 45 42 78 4d 36 54 57 46 6b 63 6d 6c 6b 49 43 68 7a 5a 57 55 67 59 33 56 79 63 6d 56 75 64 1UEBxM6TWFkcmlkIChzZWUgY3VycmVud
1b5f80 43 42 68 5a 47 52 79 5a 58 4e 7a 49 47 46 30 49 48 64 33 64 79 35 6a 59 57 31 6c 63 6d 5a 70 63 CBhZGRyZXNzIGF0IHd3dy5jYW1lcmZpc
1b5fa0 6d 31 68 4c 6d 4e 76 0a 62 53 39 68 5a 47 52 79 5a 58 4e 7a 4b 54 45 53 4d 42 41 47 41 31 55 45 m1hLmNv.bS9hZGRyZXNzKTESMBAGA1UE
1b5fc0 42 52 4d 4a 51 54 67 79 4e 7a 51 7a 4d 6a 67 33 4d 52 73 77 47 51 59 44 56 51 51 4b 45 78 4a 42 BRMJQTgyNzQzMjg3MRswGQYDVQQKExJB
1b5fe0 51 79 42 44 59 57 31 6c 63 6d 5a 70 63 6d 31 68 49 46 4d 75 0a 51 53 34 78 4b 54 41 6e 42 67 4e QyBDYW1lcmZpcm1hIFMu.QS4xKTAnBgN
1b6000 56 42 41 4d 54 49 45 4e 6f 59 57 31 69 5a 58 4a 7a 49 47 39 6d 49 45 4e 76 62 57 31 6c 63 6d 4e VBAMTIENoYW1iZXJzIG9mIENvbW1lcmN
1b6020 6c 49 46 4a 76 62 33 51 67 4c 53 41 79 4d 44 41 34 4d 42 34 58 44 54 41 34 4d 44 67 77 4d 54 45 lIFJvb3QgLSAyMDA4MB4XDTA4MDgwMTE
1b6040 79 0a 4d 6a 6b 31 4d 46 6f 58 44 54 4d 34 4d 44 63 7a 4d 54 45 79 4d 6a 6b 31 4d 46 6f 77 67 61 y.Mjk1MFoXDTM4MDczMTEyMjk1MFowga
1b6060 34 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 56 56 4d 55 4d 77 51 51 59 44 56 51 51 48 45 7a 4xCzAJBgNVBAYTAkVVMUMwQQYDVQQHEz
1b6080 70 4e 59 57 52 79 61 57 51 67 4b 48 4e 6c 0a 5a 53 42 6a 64 58 4a 79 5a 57 35 30 49 47 46 6b 5a pNYWRyaWQgKHNl.ZSBjdXJyZW50IGFkZ
1b60a0 48 4a 6c 63 33 4d 67 59 58 51 67 64 33 64 33 4c 6d 4e 68 62 57 56 79 5a 6d 6c 79 62 57 45 75 59 HJlc3MgYXQgd3d3LmNhbWVyZmlybWEuY
1b60c0 32 39 74 4c 32 46 6b 5a 48 4a 6c 63 33 4d 70 4d 52 49 77 45 41 59 44 56 51 51 46 0a 45 77 6c 42 29tL2FkZHJlc3MpMRIwEAYDVQQF.EwlB
1b60e0 4f 44 49 33 4e 44 4d 79 4f 44 63 78 47 7a 41 5a 42 67 4e 56 42 41 6f 54 45 6b 46 44 49 45 4e 68 ODI3NDMyODcxGzAZBgNVBAoTEkFDIENh
1b6100 62 57 56 79 5a 6d 6c 79 62 57 45 67 55 79 35 42 4c 6a 45 70 4d 43 63 47 41 31 55 45 41 78 4d 67 bWVyZmlybWEgUy5BLjEpMCcGA1UEAxMg
1b6120 51 32 68 68 62 57 4a 6c 0a 63 6e 4d 67 62 32 59 67 51 32 39 74 62 57 56 79 59 32 55 67 55 6d 39 Q2hhbWJl.cnMgb2YgQ29tbWVyY2UgUm9
1b6140 76 64 43 41 74 49 44 49 77 4d 44 67 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 vdCAtIDIwMDgwggIiMA0GCSqGSIb3DQE
1b6160 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 0a 41 51 43 76 41 4d 74 77 4e 79 BAQUAA4ICDwAwggIKAoIC.AQCvAMtwNy
1b6180 75 41 57 6b 6f 36 62 48 69 55 66 61 4e 2f 47 68 2f 32 4e 64 57 39 32 38 73 4e 52 48 49 2b 4a 72 uAWko6bHiUfaN/Gh/2NdW928sNRHI+Jr
1b61a0 4b 51 55 72 70 6a 4f 79 68 59 62 36 57 7a 62 5a 53 6d 38 39 31 6b 44 46 58 32 39 75 66 79 49 69 KQUrpjOyhYb6WzbZSm891kDFX29ufyIi
1b61c0 4b 41 0a 58 75 46 69 78 72 59 70 34 59 46 73 38 72 2f 6c 66 54 4a 71 56 4b 41 79 47 56 6e 2b 48 KA.XuFixrYp4YFs8r/lfTJqVKAyGVn+H
1b61e0 34 76 58 50 57 43 47 68 53 52 76 34 78 47 7a 64 7a 34 67 6c 6a 55 68 61 37 4d 49 32 58 41 75 5a 4vXPWCGhSRv4xGzdz4gljUha7MI2XAuZ
1b6200 50 65 45 6b 6c 50 57 44 72 43 51 69 6f 72 6a 0a 68 34 30 47 30 37 32 51 44 75 4b 5a 6f 52 75 47 PeEklPWDrCQiorj.h40G072QDuKZoRuG
1b6220 44 74 71 61 43 72 73 4c 59 56 41 47 55 76 47 65 66 33 62 73 79 77 2f 51 48 67 33 50 6d 54 41 39 DtqaCrsLYVAGUvGef3bsyw/QHg3PmTA9
1b6240 48 4d 52 46 45 46 69 73 31 74 50 6f 31 2b 58 71 78 51 45 48 64 39 5a 52 35 67 4e 2f 0a 69 6b 69 HMRFEFis1tPo1+XqxQEHd9ZR5gN/.iki
1b6260 6c 54 57 68 31 75 65 6d 38 6e 6b 34 5a 63 66 55 79 53 35 78 74 59 42 6b 4c 2b 38 79 64 64 64 79 lTWh1uem8nk4ZcfUyS5xtYBkL+8ydddy
1b6280 2f 4a 73 32 50 6b 33 67 35 65 58 4e 65 4a 51 37 4b 58 4f 74 33 45 67 66 4c 5a 45 46 48 63 70 4f /Js2Pk3g5eXNeJQ7KXOt3EgfLZEFHcpO
1b62a0 72 55 4d 50 72 43 58 5a 6b 0a 4e 4e 49 35 74 33 59 52 43 51 31 32 52 63 53 70 72 6a 31 71 72 37 rUMPrCXZk.NNI5t3YRCQ12RcSprj1qr7
1b62c0 56 39 5a 53 2b 55 57 42 44 73 58 48 79 76 66 75 4b 32 47 4e 6e 51 6d 30 35 61 53 64 2b 70 5a 67 V9ZS+UWBDsXHyvfuK2GNnQm05aSd+pZg
1b62e0 76 4d 50 4d 5a 34 66 4b 65 63 48 65 50 4f 6a 6c 4f 2b 42 64 35 67 0a 44 32 76 6c 47 74 73 2f 34 vMPMZ4fKecHePOjlO+Bd5g.D2vlGts/4
1b6300 2b 45 68 79 53 6e 42 38 65 73 48 6e 46 49 62 41 55 52 52 50 48 73 6c 31 38 54 6c 55 6c 52 64 4a +EhySnB8esHnFIbAURRPHsl18TlUlRdJ
1b6320 51 66 4b 46 69 43 34 72 65 52 42 37 6e 6f 49 2f 70 6c 76 67 36 61 52 41 72 42 73 4e 6c 56 71 35 QfKFiC4reRB7noI/plvg6aRArBsNlVq5
1b6340 33 33 31 0a 6c 75 62 4b 67 64 61 58 38 5a 53 44 36 65 32 77 73 57 73 53 61 52 36 73 2b 31 32 70 331.lubKgdaX8ZSD6e2wsWsSaR6s+12p
1b6360 78 5a 6a 70 74 46 74 59 65 72 34 39 6f 6b 51 36 59 31 6e 55 43 79 58 65 47 30 2b 39 35 51 47 65 xZjptFtYer49okQ6Y1nUCyXeG0+95QGe
1b6380 7a 64 49 70 31 5a 38 58 47 51 70 76 76 77 79 51 0a 30 77 6c 66 32 65 4f 4b 4e 63 78 35 57 6b 30 zdIp1Z8XGQpvvwyQ.0wlf2eOKNcx5Wk0
1b63a0 5a 4e 35 4b 33 78 4d 47 74 72 2f 52 35 4a 4a 71 79 41 51 75 78 72 31 79 57 38 34 41 79 2b 31 77 ZN5K3xMGtr/R5JJqyAQuxr1yW84Ay+1w
1b63c0 39 6d 50 47 67 50 30 72 65 76 71 2b 55 4c 74 6c 56 6d 68 64 75 59 4a 31 6a 62 4c 68 6a 0a 79 61 9mPGgP0revq+ULtlVmhduYJ1jbLhj.ya
1b63e0 36 42 58 42 67 31 34 4a 43 37 76 6a 78 50 4e 79 4b 35 66 75 76 50 6e 6e 63 68 70 6a 30 34 67 66 6BXBg14JC7vjxPNyK5fuvPnnchpj04gf
1b6400 74 49 32 6a 45 39 4b 2b 4f 4a 39 64 43 31 76 58 37 67 55 4d 51 53 69 62 4d 6a 6d 68 41 78 68 64 tI2jE9K+OJ9dC1vX7gUMQSibMjmhAxhd
1b6420 75 75 62 2b 38 34 4d 78 68 32 0a 45 51 49 44 41 51 41 42 6f 34 49 42 62 44 43 43 41 57 67 77 45 uub+84Mxh2.EQIDAQABo4IBbDCCAWgwE
1b6440 67 59 44 56 52 30 54 41 51 48 2f 42 41 67 77 42 67 45 42 2f 77 49 42 44 44 41 64 42 67 4e 56 48 gYDVR0TAQH/BAgwBgEB/wIBDDAdBgNVH
1b6460 51 34 45 46 67 51 55 2b 53 53 73 44 37 4b 31 2b 48 6e 41 2b 6d 43 49 0a 47 38 54 5a 54 51 4b 65 Q4EFgQU+SSsD7K1+HnA+mCI.G8TZTQKe
1b6480 46 78 6b 77 67 65 4d 47 41 31 55 64 49 77 53 42 32 7a 43 42 32 49 41 55 2b 53 53 73 44 37 4b 31 FxkwgeMGA1UdIwSB2zCB2IAU+SSsD7K1
1b64a0 2b 48 6e 41 2b 6d 43 49 47 38 54 5a 54 51 4b 65 46 78 6d 68 67 62 53 6b 67 62 45 77 67 61 34 78 +HnA+mCIG8TZTQKeFxmhgbSkgbEwga4x
1b64c0 43 7a 41 4a 0a 42 67 4e 56 42 41 59 54 41 6b 56 56 4d 55 4d 77 51 51 59 44 56 51 51 48 45 7a 70 CzAJ.BgNVBAYTAkVVMUMwQQYDVQQHEzp
1b64e0 4e 59 57 52 79 61 57 51 67 4b 48 4e 6c 5a 53 42 6a 64 58 4a 79 5a 57 35 30 49 47 46 6b 5a 48 4a NYWRyaWQgKHNlZSBjdXJyZW50IGFkZHJ
1b6500 6c 63 33 4d 67 59 58 51 67 64 33 64 33 4c 6d 4e 68 0a 62 57 56 79 5a 6d 6c 79 62 57 45 75 59 32 lc3MgYXQgd3d3LmNh.bWVyZmlybWEuY2
1b6520 39 74 4c 32 46 6b 5a 48 4a 6c 63 33 4d 70 4d 52 49 77 45 41 59 44 56 51 51 46 45 77 6c 42 4f 44 9tL2FkZHJlc3MpMRIwEAYDVQQFEwlBOD
1b6540 49 33 4e 44 4d 79 4f 44 63 78 47 7a 41 5a 42 67 4e 56 42 41 6f 54 45 6b 46 44 49 45 4e 68 0a 62 I3NDMyODcxGzAZBgNVBAoTEkFDIENh.b
1b6560 57 56 79 5a 6d 6c 79 62 57 45 67 55 79 35 42 4c 6a 45 70 4d 43 63 47 41 31 55 45 41 78 4d 67 51 WVyZmlybWEgUy5BLjEpMCcGA1UEAxMgQ
1b6580 32 68 68 62 57 4a 6c 63 6e 4d 67 62 32 59 67 51 32 39 74 62 57 56 79 59 32 55 67 55 6d 39 76 64 2hhbWJlcnMgb2YgQ29tbWVyY2UgUm9vd
1b65a0 43 41 74 49 44 49 77 4d 44 69 43 0a 43 51 43 6a 32 6b 4a 2b 70 4c 47 75 32 6a 41 4f 42 67 4e 56 CAtIDIwMDiC.CQCj2kJ+pLGu2jAOBgNV
1b65c0 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 50 51 59 44 56 52 30 67 42 44 59 77 4e 44 41 79 HQ8BAf8EBAMCAQYwPQYDVR0gBDYwNDAy
1b65e0 42 67 52 56 48 53 41 41 4d 43 6f 77 4b 41 59 49 4b 77 59 42 42 51 55 48 0a 41 67 45 57 48 47 68 BgRVHSAAMCowKAYIKwYBBQUH.AgEWHGh
1b6600 30 64 48 41 36 4c 79 39 77 62 32 78 70 59 33 6b 75 59 32 46 74 5a 58 4a 6d 61 58 4a 74 59 53 35 0dHA6Ly9wb2xpY3kuY2FtZXJmaXJtYS5
1b6620 6a 62 32 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 42 41 4a 41 jb20wDQYJKoZIhvcNAQEFBQADggIBAJA
1b6640 53 72 79 49 31 0a 77 71 4d 35 38 43 37 65 36 62 58 70 65 48 78 49 76 6a 39 39 52 5a 4a 65 36 64 SryI1.wqM58C7e6bXpeHxIvj99RZJe6d
1b6660 71 78 47 66 77 57 50 4a 2b 30 57 32 61 65 61 75 66 44 75 56 32 49 36 41 2b 74 7a 79 4d 50 33 69 qxGfwWPJ+0W2aeaufDuV2I6A+tzyMP3i
1b6680 55 36 58 73 78 50 70 63 47 31 4c 61 77 6b 30 6c 67 48 0a 33 71 4c 50 61 59 52 67 4d 2b 67 51 44 U6XsxPpcG1Lawk0lgH.3qLPaYRgM+gQD
1b66a0 52 4f 70 49 39 43 46 35 59 35 37 70 70 34 39 63 68 4e 79 4d 2f 57 71 66 63 5a 6a 48 77 6a 30 2f ROpI9CF5Y57pp49chNyM/WqfcZjHwj0/
1b66c0 67 46 2f 4a 4d 38 72 4c 46 51 4a 33 75 49 72 62 5a 4c 47 4f 55 38 57 36 6a 78 2b 65 6b 62 55 0a gF/JM8rLFQJ3uIrbZLGOU8W6jx+ekbU.
1b66e0 52 57 70 47 71 4f 74 31 67 6c 61 6e 71 36 42 38 61 42 4d 7a 39 70 30 77 38 47 38 6e 4f 53 51 6a RWpGqOt1glanq6B8aBMz9p0w8G8nOSQj
1b6700 4b 70 44 39 6b 43 6b 31 38 70 50 66 4e 4b 58 47 39 2f 6a 76 6a 41 39 69 53 6e 79 75 30 2f 56 55 KpD9kCk18pPfNKXG9/jvjA9iSnyu0/VU
1b6720 2b 49 32 32 6d 6c 61 48 46 6f 49 36 0a 4d 36 74 61 49 67 6a 33 67 72 72 71 4c 75 42 48 6d 72 53 +I22mlaHFoI6.M6taIgj3grrqLuBHmrS
1b6740 31 52 61 4d 46 4f 39 6e 63 4c 6b 56 41 4f 2b 72 63 66 2b 67 37 36 39 48 73 4a 74 67 31 70 44 44 1RaMFO9ncLkVAO+rcf+g769HsJtg1pDD
1b6760 46 4f 71 78 58 6e 72 4e 32 70 53 42 37 2b 52 35 4b 42 57 49 42 70 69 68 31 0a 59 4a 65 53 44 57 FOqxXnrN2pSB7+R5KBWIBpih1.YJeSDW
1b6780 34 2b 54 54 64 44 44 5a 49 56 6e 42 67 69 7a 56 47 5a 6f 43 6b 61 50 46 2b 4b 4d 6a 4e 62 4d 4d 4+TTdDDZIVnBgizVGZoCkaPF+KMjNbMM
1b67a0 65 4a 4c 30 65 59 44 36 4d 44 78 76 62 78 72 4e 38 79 38 4e 6d 42 47 75 53 63 76 66 61 41 46 50 eJL0eYD6MDxvbxrN8y8NmBGuScvfaAFP
1b67c0 44 52 4c 4c 6d 46 0a 39 64 69 6a 73 63 69 6c 49 65 55 63 45 35 66 75 44 72 33 66 4b 61 6e 76 4e DRLLmF.9dijscilIeUcE5fuDr3fKanvN
1b67e0 46 4e 62 30 2b 52 71 45 34 51 47 74 6a 49 43 78 46 4b 75 49 74 4c 63 73 69 46 43 47 74 70 41 38 FNb0+RqE4QGtjICxFKuItLcsiFCGtpA8
1b6800 43 6e 4a 37 41 6f 4d 58 4f 4c 51 75 73 78 49 30 7a 63 4b 0a 7a 42 49 4b 69 6e 6d 77 50 51 4e 2f CnJ7AoMXOLQusxI0zcK.zBIKinmwPQN/
1b6820 61 55 76 30 4e 43 42 39 73 7a 54 71 6a 6b 74 6b 39 54 37 39 73 79 4e 6e 46 51 30 45 75 50 41 74 aUv0NCB9szTqjktk9T79syNnFQ0EuPAt
1b6840 77 51 6c 52 50 4c 4a 73 46 66 43 6c 49 39 65 44 64 4f 54 6c 4c 73 6e 2b 6d 43 64 43 78 71 76 47 wQlRPLJsFfClI9eDdOTlLsn+mCdCxqvG
1b6860 0a 6e 72 44 51 57 7a 69 6c 6d 31 44 65 66 68 69 59 74 55 55 37 39 6e 6d 30 36 50 63 61 65 77 61 .nrDQWzilm1DefhiYtUU79nm06Pcaewa
1b6880 44 2b 39 43 4c 32 72 76 48 76 52 69 72 43 47 38 38 67 47 74 41 50 78 6b 5a 75 6d 57 4b 35 72 37 D+9CL2rvHvRirCG88gGtAPxkZumWK5r7
1b68a0 56 58 4e 4d 32 31 2b 39 41 55 69 52 67 0a 4f 47 63 45 4d 65 79 50 38 34 4c 47 33 72 6c 56 38 7a VXNM21+9AUiRg.OGcEMeyP84LG3rlV8z
1b68c0 73 78 6b 56 72 63 74 51 67 56 72 58 59 6c 43 67 31 37 4c 6f 66 69 44 4b 59 47 76 43 59 51 62 54 sxkVrctQgVrXYlCg17LofiDKYGvCYQbT
1b68e0 65 64 37 4e 31 34 6a 48 79 41 78 66 44 5a 64 30 6a 51 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 ed7N14jHyAxfDZd0jQ.-----END.CERT
1b6900 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6c 6f 62 61 6c 20 43 68 61 6d 62 65 72 73 69 67 6e IFICATE-----..Global.Chambersign
1b6920 20 52 6f 6f 74 20 2d 20 32 30 30 38 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Root.-.2008.===================
1b6940 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1b6960 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 48 53 54 43 43 42 54 47 67 41 77 49 42 41 67 49 4a 41 4d 6e 4e TE-----.MIIHSTCCBTGgAwIBAgIJAMnN
1b6980 30 2b 6e 56 66 53 50 4f 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 55 41 4d 49 47 73 0+nVfSPOMA0GCSqGSIb3DQEBBQUAMIGs
1b69a0 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 56 54 46 44 0a 4d 45 45 47 41 31 55 45 42 78 4d MQswCQYDVQQGEwJFVTFD.MEEGA1UEBxM
1b69c0 36 54 57 46 6b 63 6d 6c 6b 49 43 68 7a 5a 57 55 67 59 33 56 79 63 6d 56 75 64 43 42 68 5a 47 52 6TWFkcmlkIChzZWUgY3VycmVudCBhZGR
1b69e0 79 5a 58 4e 7a 49 47 46 30 49 48 64 33 64 79 35 6a 59 57 31 6c 63 6d 5a 70 63 6d 31 68 4c 6d 4e yZXNzIGF0IHd3dy5jYW1lcmZpcm1hLmN
1b6a00 76 0a 62 53 39 68 5a 47 52 79 5a 58 4e 7a 4b 54 45 53 4d 42 41 47 41 31 55 45 42 52 4d 4a 51 54 v.bS9hZGRyZXNzKTESMBAGA1UEBRMJQT
1b6a20 67 79 4e 7a 51 7a 4d 6a 67 33 4d 52 73 77 47 51 59 44 56 51 51 4b 45 78 4a 42 51 79 42 44 59 57 gyNzQzMjg3MRswGQYDVQQKExJBQyBDYW
1b6a40 31 6c 63 6d 5a 70 63 6d 31 68 49 46 4d 75 0a 51 53 34 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 54 48 1lcmZpcm1hIFMu.QS4xJzAlBgNVBAMTH
1b6a60 6b 64 73 62 32 4a 68 62 43 42 44 61 47 46 74 59 6d 56 79 63 32 6c 6e 62 69 42 53 62 32 39 30 49 kdsb2JhbCBDaGFtYmVyc2lnbiBSb290I
1b6a80 43 30 67 4d 6a 41 77 4f 44 41 65 46 77 30 77 4f 44 41 34 4d 44 45 78 4d 6a 4d 78 0a 4e 44 42 61 C0gMjAwODAeFw0wODA4MDExMjMx.NDBa
1b6aa0 46 77 30 7a 4f 44 41 33 4d 7a 45 78 4d 6a 4d 78 4e 44 42 61 4d 49 47 73 4d 51 73 77 43 51 59 44 Fw0zODA3MzExMjMxNDBaMIGsMQswCQYD
1b6ac0 56 51 51 47 45 77 4a 46 56 54 46 44 4d 45 45 47 41 31 55 45 42 78 4d 36 54 57 46 6b 63 6d 6c 6b VQQGEwJFVTFDMEEGA1UEBxM6TWFkcmlk
1b6ae0 49 43 68 7a 5a 57 55 67 0a 59 33 56 79 63 6d 56 75 64 43 42 68 5a 47 52 79 5a 58 4e 7a 49 47 46 IChzZWUg.Y3VycmVudCBhZGRyZXNzIGF
1b6b00 30 49 48 64 33 64 79 35 6a 59 57 31 6c 63 6d 5a 70 63 6d 31 68 4c 6d 4e 76 62 53 39 68 5a 47 52 0IHd3dy5jYW1lcmZpcm1hLmNvbS9hZGR
1b6b20 79 5a 58 4e 7a 4b 54 45 53 4d 42 41 47 41 31 55 45 42 52 4d 4a 0a 51 54 67 79 4e 7a 51 7a 4d 6a yZXNzKTESMBAGA1UEBRMJ.QTgyNzQzMj
1b6b40 67 33 4d 52 73 77 47 51 59 44 56 51 51 4b 45 78 4a 42 51 79 42 44 59 57 31 6c 63 6d 5a 70 63 6d g3MRswGQYDVQQKExJBQyBDYW1lcmZpcm
1b6b60 31 68 49 46 4d 75 51 53 34 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 54 48 6b 64 73 62 32 4a 68 62 43 1hIFMuQS4xJzAlBgNVBAMTHkdsb2JhbC
1b6b80 42 44 0a 61 47 46 74 59 6d 56 79 63 32 6c 6e 62 69 42 53 62 32 39 30 49 43 30 67 4d 6a 41 77 4f BD.aGFtYmVyc2lnbiBSb290IC0gMjAwO
1b6ba0 44 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 DCCAiIwDQYJKoZIhvcNAQEBBQADggIPA
1b6bc0 44 43 43 41 67 6f 43 67 67 49 42 41 4d 44 66 0a 56 74 50 6b 4f 70 74 32 52 62 51 54 32 2f 2f 42 DCCAgoCggIBAMDf.VtPkOpt2RbQT2//B
1b6be0 74 68 6d 4c 4e 30 45 59 6c 56 4a 48 36 78 65 64 4b 59 69 4f 4e 57 77 47 4d 69 35 48 59 76 4e 4a thmLN0EYlVJH6xedKYiONWwGMi5HYvNJ
1b6c00 42 4c 39 39 52 44 61 78 63 63 79 39 57 67 6c 7a 31 64 6d 46 52 50 2b 52 56 79 58 66 0a 58 6a 61 BL99RDaxccy9Wglz1dmFRP+RVyXf.Xja
1b6c20 4f 63 4e 46 63 63 55 4d 64 32 64 72 76 58 4e 4c 37 47 37 30 36 74 63 75 74 6f 38 78 45 70 77 32 OcNFccUMd2drvXNL7G706tcuto8xEpw2
1b6c40 75 49 52 55 2f 75 58 70 62 6b 6e 58 59 70 42 49 34 69 52 6d 4b 74 34 44 53 34 6a 4a 76 56 70 79 uIRU/uXpbknXYpBI4iRmKt4DS4jJvVpy
1b6c60 52 31 6f 67 51 43 37 4e 30 0a 5a 4a 4a 30 59 50 50 32 7a 78 68 50 59 4c 49 6a 30 4d 63 37 7a 6d R1ogQC7N0.ZJJ0YPP2zxhPYLIj0Mc7zm
1b6c80 46 4c 6d 59 2f 43 44 4e 42 41 73 70 6a 63 44 61 68 4f 6f 37 6b 4b 72 6d 43 67 72 55 56 53 59 37 FLmY/CDNBAspjcDahOo7kKrmCgrUVSY7
1b6ca0 70 6d 76 57 6a 67 2b 62 34 61 71 49 47 37 48 6b 46 34 64 64 50 42 0a 2f 67 42 56 73 49 64 55 36 pmvWjg+b4aqIG7HkF4ddPB./gBVsIdU6
1b6cc0 43 65 51 4e 52 31 4d 4d 36 32 58 2f 4a 63 75 6d 49 53 2f 4c 4d 6d 6a 76 39 47 59 45 52 54 74 59 CeQNR1MM62X/JcumIS/LMmjv9GYERTtY
1b6ce0 2f 6a 4b 6d 49 68 59 46 35 6e 74 52 51 4f 58 66 6a 79 47 48 6f 69 4d 76 76 4b 52 68 49 39 6c 4e /jKmIhYF5ntRQOXfjyGHoiMvvKRhI9lN
1b6d00 4e 67 41 0a 54 48 32 33 4d 52 64 61 4b 58 6f 4b 47 43 51 77 6f 7a 65 31 65 71 6b 42 66 53 62 57 NgA.TH23MRdaKXoKGCQwoze1eqkBfSbW
1b6d20 2b 51 36 4f 57 66 48 39 47 7a 4f 31 4b 54 73 58 4f 30 47 32 49 64 33 55 77 44 32 6c 6e 35 38 66 +Q6OWfH9GzO1KTsXO0G2Id3UwD2ln58f
1b6d40 51 31 44 4a 75 37 78 73 65 70 65 59 37 73 32 4d 0a 48 2f 75 63 55 61 36 4c 63 4c 30 6e 6e 33 48 Q1DJu7xsepeY7s2M.H/ucUa6LcL0nn3H
1b6d60 41 61 36 78 39 6b 47 62 6f 31 31 30 36 44 62 44 56 77 6f 33 56 79 4a 32 64 77 57 33 51 30 4c 39 Aa6x9kGbo1106DbDVwo3VyJ2dwW3Q0L9
1b6d80 52 35 4f 50 34 77 7a 67 32 72 74 61 6e 64 65 61 76 68 45 4e 64 6b 35 49 4d 61 67 66 65 0a 4f 78 R5OP4wzg2rtandeavhENdk5IMagfe.Ox
1b6da0 32 59 49 74 61 73 77 54 58 62 6f 36 41 6c 2f 33 4b 31 64 68 33 65 62 65 6b 73 5a 69 78 53 68 4e 2YItaswTXbo6Al/3K1dh3ebeksZixShN
1b6dc0 42 46 6b 73 34 63 35 65 55 7a 48 64 77 48 55 31 53 6a 71 6f 49 37 6d 6a 63 76 33 4e 32 67 5a 4f BFks4c5eUzHdwHU1SjqoI7mjcv3N2gZO
1b6de0 6e 6d 33 62 32 75 2f 47 53 46 0a 48 54 79 6e 79 51 62 65 68 50 39 72 36 47 73 61 50 4d 57 69 73 nm3b2u/GSF.HTynyQbehP9r6GsaPMWis
1b6e00 30 4c 37 69 77 6b 2b 58 77 68 53 78 32 4c 45 31 41 56 78 76 38 52 6b 35 50 69 68 67 2b 67 2b 45 0L7iwk+XwhSx2LE1AVxv8Rk5Pihg+g+E
1b6e20 70 75 6f 48 74 51 32 54 53 39 78 39 6f 30 6f 39 6f 4f 70 45 39 4a 68 0a 77 5a 47 37 53 4d 41 30 puoHtQ2TS9x9o0o9oOpE9Jh.wZG7SMA0
1b6e40 6a 30 47 4d 53 30 7a 62 61 52 4c 2f 55 4a 53 63 49 49 4e 5a 63 2b 31 38 6f 66 4c 78 2f 64 33 33 j0GMS0zbaRL/UJScIINZc+18ofLx/d33
1b6e60 53 64 4e 44 57 4b 42 57 59 38 6f 39 50 65 55 31 56 6c 6e 70 44 73 6f 67 7a 43 74 4c 6b 79 6b 50 SdNDWKBWY8o9PeU1VlnpDsogzCtLkykP
1b6e80 41 67 4d 42 0a 41 41 47 6a 67 67 46 71 4d 49 49 42 5a 6a 41 53 42 67 4e 56 48 52 4d 42 41 66 38 AgMB.AAGjggFqMIIBZjASBgNVHRMBAf8
1b6ea0 45 43 44 41 47 41 51 48 2f 41 67 45 4d 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 35 43 63 71 ECDAGAQH/AgEMMB0GA1UdDgQWBBS5Ccq
1b6ec0 63 48 74 76 54 62 44 70 72 72 75 31 55 38 56 75 54 0a 42 6a 55 75 58 6a 43 42 34 51 59 44 56 52 cHtvTbDprru1U8VuT.BjUuXjCB4QYDVR
1b6ee0 30 6a 42 49 48 5a 4d 49 48 57 67 42 53 35 43 63 71 63 48 74 76 54 62 44 70 72 72 75 31 55 38 56 0jBIHZMIHWgBS5CcqcHtvTbDprru1U8V
1b6f00 75 54 42 6a 55 75 58 71 47 42 73 71 53 42 72 7a 43 42 72 44 45 4c 4d 41 6b 47 41 31 55 45 0a 42 uTBjUuXqGBsqSBrzCBrDELMAkGA1UE.B
1b6f20 68 4d 43 52 56 55 78 51 7a 42 42 42 67 4e 56 42 41 63 54 4f 6b 31 68 5a 48 4a 70 5a 43 41 6f 63 hMCRVUxQzBBBgNVBAcTOk1hZHJpZCAoc
1b6f40 32 56 6c 49 47 4e 31 63 6e 4a 6c 62 6e 51 67 59 57 52 6b 63 6d 56 7a 63 79 42 68 64 43 42 33 64 2VlIGN1cnJlbnQgYWRkcmVzcyBhdCB3d
1b6f60 33 63 75 59 32 46 74 5a 58 4a 6d 0a 61 58 4a 74 59 53 35 6a 62 32 30 76 59 57 52 6b 63 6d 56 7a 3cuY2FtZXJm.aXJtYS5jb20vYWRkcmVz
1b6f80 63 79 6b 78 45 6a 41 51 42 67 4e 56 42 41 55 54 43 55 45 34 4d 6a 63 30 4d 7a 49 34 4e 7a 45 62 cykxEjAQBgNVBAUTCUE4Mjc0MzI4NzEb
1b6fa0 4d 42 6b 47 41 31 55 45 43 68 4d 53 51 55 4d 67 51 32 46 74 5a 58 4a 6d 0a 61 58 4a 74 59 53 42 MBkGA1UEChMSQUMgQ2FtZXJm.aXJtYSB
1b6fc0 54 4c 6b 45 75 4d 53 63 77 4a 51 59 44 56 51 51 44 45 78 35 48 62 47 39 69 59 57 77 67 51 32 68 TLkEuMScwJQYDVQQDEx5HbG9iYWwgQ2h
1b6fe0 68 62 57 4a 6c 63 6e 4e 70 5a 32 34 67 55 6d 39 76 64 43 41 74 49 44 49 77 4d 44 69 43 43 51 44 hbWJlcnNpZ24gUm9vdCAtIDIwMDiCCQD
1b7000 4a 7a 64 50 70 0a 31 58 30 6a 7a 6a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 JzdPp.1X0jzjAOBgNVHQ8BAf8EBAMCAQ
1b7020 59 77 50 51 59 44 56 52 30 67 42 44 59 77 4e 44 41 79 42 67 52 56 48 53 41 41 4d 43 6f 77 4b 41 YwPQYDVR0gBDYwNDAyBgRVHSAAMCowKA
1b7040 59 49 4b 77 59 42 42 51 55 48 41 67 45 57 48 47 68 30 0a 64 48 41 36 4c 79 39 77 62 32 78 70 59 YIKwYBBQUHAgEWHGh0.dHA6Ly9wb2xpY
1b7060 33 6b 75 59 32 46 74 5a 58 4a 6d 61 58 4a 74 59 53 35 6a 62 32 30 77 44 51 59 4a 4b 6f 5a 49 68 3kuY2FtZXJmaXJtYS5jb20wDQYJKoZIh
1b7080 76 63 4e 41 51 45 46 42 51 41 44 67 67 49 42 41 49 43 49 66 33 44 65 6b 69 6a 5a 42 5a 52 47 0a vcNAQEFBQADggIBAICIf3DekijZBZRG.
1b70a0 2f 35 42 58 71 66 45 76 33 78 6f 4e 61 2f 70 38 44 68 78 4a 4a 48 6b 6e 32 45 61 71 62 79 6c 5a /5BXqfEv3xoNa/p8DhxJJHkn2EaqbylZ
1b70c0 55 6f 68 77 45 75 72 64 50 66 57 62 55 31 52 76 34 57 43 69 71 41 6d 35 37 4f 74 5a 66 4d 59 31 UohwEurdPfWbU1Rv4WCiqAm57OtZfMY1
1b70e0 38 64 77 59 36 66 46 6e 35 61 2b 36 0a 52 65 41 4a 33 73 70 45 44 38 49 58 44 6e 65 52 52 58 6f 8dwY6fFn5a+6.ReAJ3spED8IXDneRRXo
1b7100 7a 58 31 2b 57 4c 47 69 4c 77 55 65 50 6d 4a 73 39 77 4f 7a 4c 39 64 57 43 6b 6f 51 31 30 62 34 zX1+WLGiLwUePmJs9wOzL9dWCkoQ10b4
1b7120 32 4f 46 5a 79 4d 56 74 48 4c 61 6f 58 70 47 4e 52 36 77 6f 42 72 58 2f 73 0a 64 5a 37 4c 6f 52 2OFZyMVtHLaoXpGNR6woBrX/s.dZ7LoR
1b7140 2f 78 66 78 4b 78 75 65 52 6b 66 32 66 57 49 79 72 30 75 44 6c 64 6d 4f 67 68 70 2b 47 39 50 55 /xfxKxueRkf2fWIyr0uDldmOghp+G9PU
1b7160 49 61 64 4a 70 77 72 32 68 73 55 46 31 4a 7a 2f 2f 37 44 6c 33 6d 4c 45 66 58 67 54 70 5a 41 4c IadJpwr2hsUF1Jz//7Dl3mLEfXgTpZAL
1b7180 56 7a 61 32 4d 67 0a 39 6a 46 46 43 44 6b 4f 39 48 42 2b 51 48 42 61 50 39 42 72 51 71 6c 30 50 Vza2Mg.9jFFCDkO9HB+QHBaP9BrQql0P
1b71a0 53 67 76 41 6d 31 31 63 70 55 4a 6a 55 68 6a 78 73 59 6a 56 35 4b 54 58 6a 58 42 6a 66 6b 4b 39 SgvAm11cpUJjUhjxsYjV5KTXjXBjfkK9
1b71c0 79 79 64 59 68 7a 32 72 58 7a 64 70 6a 45 65 74 72 48 48 0a 66 6f 55 6d 2b 71 52 71 74 64 70 6a yydYhz2rXzdpjEetrHH.foUm+qRqtdpj
1b71e0 4d 4e 48 76 6b 7a 65 79 5a 69 39 39 42 66 66 6e 74 30 75 59 6c 44 58 41 32 54 6f 70 77 5a 32 79 MNHvkzeyZi99Bffnt0uYlDXA2TopwZ2y
1b7200 55 44 4d 64 53 71 6c 61 70 73 6b 44 37 2b 33 30 35 36 68 75 69 72 52 58 68 4f 75 6b 50 39 44 75 UDMdSqlapskD7+3056huirRXhOukP9Du
1b7220 0a 71 71 71 48 57 32 50 6f 6b 2b 4a 72 71 4e 53 34 63 6e 68 72 47 2b 30 35 35 46 33 4c 6d 36 71 .qqqHW2Pok+JrqNS4cnhrG+055F3Lm6q
1b7240 48 31 55 39 4f 41 50 37 5a 61 70 38 38 4d 51 38 6f 41 67 46 39 6d 4f 69 6e 73 4b 4a 6b 6e 6e 6e H1U9OAP7Zap88MQ8oAgF9mOinsKJknnn
1b7260 34 53 50 49 56 71 63 7a 6d 79 45 54 72 0a 50 33 69 5a 38 6e 74 78 50 6a 7a 78 6d 4b 66 46 47 42 4SPIVqczmyETr.P3iZ8ntxPjzxmKfFGB
1b7280 49 2f 35 72 73 6f 4d 30 4c 70 52 51 70 38 62 66 4b 47 65 53 2f 46 67 68 6c 39 43 59 6c 38 73 6c I/5rsoM0LpRQp8bfKGeS/Fghl9CYl8sl
1b72a0 52 32 69 4b 37 65 77 66 50 4d 34 57 37 62 4d 64 61 54 72 70 6d 67 37 79 56 71 0a 63 35 69 4a 57 R2iK7ewfPM4W7bMdaTrpmg7yVq.c5iJW
1b72c0 7a 6f 75 45 34 67 65 76 38 43 53 6c 44 51 62 34 79 65 33 69 78 35 76 51 76 2f 6e 36 54 65 62 55 zouE4gev8CSlDQb4ye3ix5vQv/n6TebU
1b72e0 42 30 74 6f 76 6b 43 37 73 74 59 57 44 70 78 76 47 6a 6a 71 73 47 76 48 43 67 66 6f 74 77 6a 5a B0tovkC7stYWDpxvGjjqsGvHCgfotwjZ
1b7300 54 2b 42 36 71 36 5a 0a 30 39 67 77 7a 78 4d 4e 54 78 58 4a 68 4c 79 6e 53 43 33 34 4d 43 4e 33 T+B6q6Z.09gwzxMNTxXJhLynSC34MCN3
1b7320 32 45 5a 4c 65 57 33 32 6a 4f 30 36 66 32 41 52 65 50 54 70 6d 36 37 56 56 4d 42 30 67 4e 45 4c 2EZLeW32jO06f2ARePTpm67VVMB0gNEL
1b7340 51 70 2f 42 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a Qp/B.-----END.CERTIFICATE-----..
1b7360 47 6f 20 44 61 64 64 79 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 65 20 41 75 74 68 6f 72 Go.Daddy.Root.Certificate.Author
1b7380 69 74 79 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ity.-.G2.=======================
1b73a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 =================.-----BEGIN.CER
1b73c0 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 78 54 43 43 41 71 32 67 41 77 49 42 41 67 TIFICATE-----.MIIDxTCCAq2gAwIBAg
1b73e0 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 67 7a 45 4c 4d 41 IBADANBgkqhkiG9w0BAQsFADCBgzELMA
1b7400 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 45 44 41 4f 42 67 4e 56 42 41 67 54 0a 42 30 46 79 61 kGA1UEBhMCVVMxEDAOBgNVBAgT.B0Fya
1b7420 58 70 76 62 6d 45 78 45 7a 41 52 42 67 4e 56 42 41 63 54 43 6c 4e 6a 62 33 52 30 63 32 52 68 62 XpvbmExEzARBgNVBAcTClNjb3R0c2Rhb
1b7440 47 55 78 47 6a 41 59 42 67 4e 56 42 41 6f 54 45 55 64 76 52 47 46 6b 5a 48 6b 75 59 32 39 74 4c GUxGjAYBgNVBAoTEUdvRGFkZHkuY29tL
1b7460 43 42 4a 62 6d 4d 75 0a 4d 54 45 77 4c 77 59 44 56 51 51 44 45 79 68 48 62 79 42 45 59 57 52 6b CBJbmMu.MTEwLwYDVQQDEyhHbyBEYWRk
1b7480 65 53 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 45 46 31 64 47 68 76 eSBSb290IENlcnRpZmljYXRlIEF1dGhv
1b74a0 63 6d 6c 30 65 53 41 74 49 45 63 79 4d 42 34 58 44 54 41 35 0a 4d 44 6b 77 4d 54 41 77 4d 44 41 cml0eSAtIEcyMB4XDTA5.MDkwMTAwMDA
1b74c0 77 4d 46 6f 58 44 54 4d 33 4d 54 49 7a 4d 54 49 7a 4e 54 6b 31 4f 56 6f 77 67 59 4d 78 43 7a 41 wMFoXDTM3MTIzMTIzNTk1OVowgYMxCzA
1b74e0 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 41 77 44 67 59 44 56 51 51 49 45 77 64 42 63 6d 6c JBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml
1b7500 36 0a 62 32 35 68 4d 52 4d 77 45 51 59 44 56 51 51 48 45 77 70 54 59 32 39 30 64 48 4e 6b 59 57 6.b25hMRMwEQYDVQQHEwpTY290dHNkYW
1b7520 78 6c 4d 52 6f 77 47 41 59 44 56 51 51 4b 45 78 46 48 62 30 52 68 5a 47 52 35 4c 6d 4e 76 62 53 xlMRowGAYDVQQKExFHb0RhZGR5LmNvbS
1b7540 77 67 53 57 35 6a 4c 6a 45 78 4d 43 38 47 0a 41 31 55 45 41 78 4d 6f 52 32 38 67 52 47 46 6b 5a wgSW5jLjExMC8G.A1UEAxMoR28gRGFkZ
1b7560 48 6b 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 HkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob
1b7580 33 4a 70 64 48 6b 67 4c 53 42 48 4d 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 3JpdHkgLSBHMjCCASIwDQYJKoZI.hvcN
1b75a0 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4c 39 78 59 67 6a 78 AQEBBQADggEPADCCAQoCggEBAL9xYgjx
1b75c0 2b 6c 6b 30 39 78 76 4a 47 4b 50 33 67 45 6c 59 36 53 4b 44 45 36 62 46 49 45 4d 42 4f 34 54 78 +lk09xvJGKP3gElY6SKDE6bFIEMBO4Tx
1b75e0 35 6f 56 4a 6e 79 66 71 0a 39 6f 51 62 54 71 43 30 32 33 43 59 78 7a 49 42 73 51 55 2b 42 30 37 5oVJnyfq.9oQbTqC023CYxzIBsQU+B07
1b7600 75 39 50 70 50 4c 31 6b 77 49 75 65 72 47 56 5a 72 34 6f 41 48 2f 50 4d 57 64 59 41 35 55 58 76 u9PpPL1kwIuerGVZr4oAH/PMWdYA5UXv
1b7620 6c 2b 54 57 32 64 45 36 70 6a 59 49 54 35 4c 59 2f 71 51 4f 44 0a 2b 71 4b 2b 69 68 56 71 66 39 l+TW2dE6pjYIT5LY/qQOD.+qK+ihVqf9
1b7640 34 4c 77 37 59 5a 46 41 58 4b 36 73 4f 6f 42 4a 51 37 52 6e 77 79 44 66 4d 41 5a 69 4c 49 6a 57 4Lw7YZFAXK6sOoBJQ7RnwyDfMAZiLIjW
1b7660 6c 74 4e 6f 77 52 47 4c 66 54 73 68 78 67 74 44 6a 36 41 6f 7a 4f 30 39 31 47 42 39 34 4b 50 75 ltNowRGLfTshxgtDj6AozO091GB94KPu
1b7680 74 64 0a 66 4d 68 38 2b 37 41 72 55 36 53 53 59 6d 6c 52 4a 51 56 68 47 6b 53 42 6a 43 79 70 51 td.fMh8+7ArU6SSYmlRJQVhGkSBjCypQ
1b76a0 35 59 6a 33 36 77 36 67 5a 6f 4f 4b 63 55 63 71 65 6c 64 48 72 61 65 6e 6a 41 4b 4f 63 37 78 69 5Yj36w6gZoOKcUcqeldHraenjAKOc7xi
1b76c0 49 44 37 53 31 33 4d 4d 75 79 46 59 6b 4d 6c 0a 4e 41 4a 57 4a 77 47 52 74 44 74 77 4b 6a 39 75 ID7S13MMuyFYkMl.NAJWJwGRtDtwKj9u
1b76e0 73 65 69 63 69 41 46 39 6e 39 54 35 32 31 4e 74 59 4a 32 2f 4c 4f 64 59 71 37 68 66 52 76 7a 4f seiciAF9n9T521NtYJ2/LOdYq7hfRvzO
1b7700 78 42 73 44 50 41 6e 72 53 54 46 63 61 55 61 7a 34 45 63 43 41 77 45 41 41 61 4e 43 0a 4d 45 41 xBsDPAnrSTFcaUaz4EcCAwEAAaNC.MEA
1b7720 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8
1b7740 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 44 71 61 68 51 63 BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQc
1b7760 51 5a 79 69 32 37 2f 61 39 0a 42 55 46 75 49 4d 47 55 32 67 2f 65 4d 41 30 47 43 53 71 47 53 49 QZyi27/a9.BUFuIMGU2g/eMA0GCSqGSI
1b7780 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 43 5a 32 31 31 35 31 66 6d 58 57 57 63 44 59 66 b3DQEBCwUAA4IBAQCZ21151fmXWWcDYf
1b77a0 46 2b 4f 77 59 78 64 53 32 68 49 49 35 50 5a 59 65 30 39 36 61 63 0a 76 4e 6a 70 4c 39 44 62 57 F+OwYxdS2hII5PZYe096ac.vNjpL9DbW
1b77c0 75 37 50 64 49 78 7a 74 44 68 43 32 67 56 37 2b 41 4a 31 75 50 32 6c 73 64 65 75 39 74 66 65 45 u7PdIxztDhC2gV7+AJ1uP2lsdeu9tfeE
1b77e0 38 74 54 45 48 36 4b 52 74 47 58 2b 72 63 75 4b 78 47 72 6b 4c 41 6e 67 50 6e 6f 6e 31 72 70 4e 8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN
1b7800 35 2b 72 0a 35 4e 39 73 73 34 55 58 6e 54 33 5a 4a 45 39 35 6b 54 58 57 58 77 54 72 67 49 4f 72 5+r.5N9ss4UXnT3ZJE95kTXWXwTrgIOr
1b7820 6d 67 49 74 74 52 44 30 32 4a 44 48 42 48 4e 41 37 58 49 6c 6f 4b 6d 66 37 4a 36 72 61 42 4b 5a mgIttRD02JDHBHNA7XIloKmf7J6raBKZ
1b7840 56 38 61 50 45 6a 6f 4a 70 4c 31 45 2f 51 59 56 0a 4e 38 47 62 35 44 4b 6a 37 54 6a 6f 32 47 54 V8aPEjoJpL1E/QYV.N8Gb5DKj7Tjo2GT
1b7860 7a 4c 48 34 55 2f 41 4c 71 6e 38 33 2f 42 32 67 58 32 79 4b 51 4f 43 31 36 6a 64 46 55 38 57 6e zLH4U/ALqn83/B2gX2yKQOC16jdFU8Wn
1b7880 6a 58 7a 50 4b 65 6a 31 37 43 75 50 4b 66 31 38 35 35 65 4a 31 75 73 56 32 47 44 50 4f 0a 4c 50 jXzPKej17CuPKf1855eJ1usV2GDPO.LP
1b78a0 41 76 54 4b 33 33 73 65 66 4f 54 36 6a 45 6d 30 70 55 42 73 56 2f 66 64 55 49 44 2b 49 63 2f 6e AvTK33sefOT6jEm0pUBsV/fdUID+Ic/n
1b78c0 34 58 75 4b 78 65 39 74 51 57 73 6b 4d 4a 44 45 33 32 70 32 75 30 6d 59 52 6c 79 6e 71 49 34 75 4XuKxe9tQWskMJDE32p2u0mYRlynqI4u
1b78e0 4a 45 76 6c 7a 33 36 68 7a 31 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d JEvlz36hz1.-----END.CERTIFICATE-
1b7900 2d 2d 2d 2d 0a 0a 53 74 61 72 66 69 65 6c 64 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 65 ----..Starfield.Root.Certificate
1b7920 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Authority.-.G2.================
1b7940 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 =========================.-----B
1b7960 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 33 54 43 43 41 73 EGIN.CERTIFICATE-----.MIID3TCCAs
1b7980 57 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 WgAwIBAgIBADANBgkqhkiG9w0BAQsFAD
1b79a0 43 42 6a 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 45 44 41 4f 42 67 4e 56 42 41 CBjzELMAkGA1UEBhMCVVMxEDAOBgNVBA
1b79c0 67 54 0a 42 30 46 79 61 58 70 76 62 6d 45 78 45 7a 41 52 42 67 4e 56 42 41 63 54 43 6c 4e 6a 62 gT.B0FyaXpvbmExEzARBgNVBAcTClNjb
1b79e0 33 52 30 63 32 52 68 62 47 55 78 4a 54 41 6a 42 67 4e 56 42 41 6f 54 48 46 4e 30 59 58 4a 6d 61 3R0c2RhbGUxJTAjBgNVBAoTHFN0YXJma
1b7a00 57 56 73 5a 43 42 55 5a 57 4e 6f 62 6d 39 73 0a 62 32 64 70 5a 58 4d 73 49 45 6c 75 59 79 34 78 WVsZCBUZWNobm9s.b2dpZXMsIEluYy4x
1b7a20 4d 6a 41 77 42 67 4e 56 42 41 4d 54 4b 56 4e 30 59 58 4a 6d 61 57 56 73 5a 43 42 53 62 32 39 30 MjAwBgNVBAMTKVN0YXJmaWVsZCBSb290
1b7a40 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 45 46 31 64 47 68 76 63 6d 6c 30 0a 65 53 41 IENlcnRpZmljYXRlIEF1dGhvcml0.eSA
1b7a60 74 49 45 63 79 4d 42 34 58 44 54 41 35 4d 44 6b 77 4d 54 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d tIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM
1b7a80 33 4d 54 49 7a 4d 54 49 7a 4e 54 6b 31 4f 56 6f 77 67 59 38 78 43 7a 41 4a 42 67 4e 56 42 41 59 3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAY
1b7aa0 54 41 6c 56 54 4d 52 41 77 0a 44 67 59 44 56 51 51 49 45 77 64 42 63 6d 6c 36 62 32 35 68 4d 52 TAlVTMRAw.DgYDVQQIEwdBcml6b25hMR
1b7ac0 4d 77 45 51 59 44 56 51 51 48 45 77 70 54 59 32 39 30 64 48 4e 6b 59 57 78 6c 4d 53 55 77 49 77 MwEQYDVQQHEwpTY290dHNkYWxlMSUwIw
1b7ae0 59 44 56 51 51 4b 45 78 78 54 64 47 46 79 5a 6d 6c 6c 62 47 51 67 0a 56 47 56 6a 61 47 35 76 62 YDVQQKExxTdGFyZmllbGQg.VGVjaG5vb
1b7b00 47 39 6e 61 57 56 7a 4c 43 42 4a 62 6d 4d 75 4d 54 49 77 4d 41 59 44 56 51 51 44 45 79 6c 54 64 G9naWVzLCBJbmMuMTIwMAYDVQQDEylTd
1b7b20 47 46 79 5a 6d 6c 6c 62 47 51 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a GFyZmllbGQgUm9vdCBDZXJ0aWZpY2F0Z
1b7b40 53 42 42 0a 64 58 52 6f 62 33 4a 70 64 48 6b 67 4c 53 42 48 4d 6a 43 43 41 53 49 77 44 51 59 4a SBB.dXRob3JpdHkgLSBHMjCCASIwDQYJ
1b7b60 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 KoZIhvcNAQEBBQADggEPADCCAQoCggEB
1b7b80 41 4c 33 74 77 51 50 38 39 6f 2f 38 41 72 46 76 0a 57 35 39 49 32 5a 31 35 34 71 4b 33 41 32 46 AL3twQP89o/8ArFv.W59I2Z154qK3A2F
1b7ba0 57 47 4d 4e 48 74 74 66 4b 50 54 55 75 69 55 50 33 6f 57 6d 62 33 6f 6f 61 2f 52 4d 67 6e 4c 52 WGMNHttfKPTUuiUP3oWmb3ooa/RMgnLR
1b7bc0 4a 64 7a 49 70 56 76 32 35 37 49 7a 64 49 76 70 79 33 43 64 68 6c 2b 37 32 57 6f 54 73 0a 62 68 JdzIpVv257IzdIvpy3Cdhl+72WoTs.bh
1b7be0 6d 35 69 53 7a 63 68 46 76 56 64 50 74 72 58 38 57 4a 70 52 42 53 69 55 5a 56 39 4c 68 31 48 4f m5iSzchFvVdPtrX8WJpRBSiUZV9Lh1HO
1b7c00 5a 2f 35 46 53 75 53 2f 68 56 63 6c 63 43 47 66 67 58 63 56 6e 72 48 69 67 48 64 4d 57 64 53 4c Z/5FSuS/hVclcCGfgXcVnrHigHdMWdSL
1b7c20 35 73 74 50 53 6b 73 50 4e 6b 0a 4e 33 6d 53 77 4f 78 47 58 6e 2f 68 62 56 4e 4d 59 71 2f 4e 48 5stPSksPNk.N3mSwOxGXn/hbVNMYq/NH
1b7c40 77 74 6a 75 7a 71 64 2b 2f 78 35 41 4a 68 68 64 4d 38 6d 67 6b 42 6a 38 37 4a 79 61 68 6b 4e 6d wtjuzqd+/x5AJhhdM8mgkBj87JyahkNm
1b7c60 63 72 55 44 6e 58 4d 4e 2f 75 4c 69 63 46 5a 38 57 4a 2f 58 37 4e 66 0a 5a 54 44 34 70 37 64 4e crUDnXMN/uLicFZ8WJ/X7Nf.ZTD4p7dN
1b7c80 64 6c 6f 65 64 6c 34 30 77 4f 69 57 56 70 6d 4b 73 2f 42 2f 70 4d 32 39 33 44 49 78 66 4a 48 50 dloedl40wOiWVpmKs/B/pM293DIxfJHP
1b7ca0 34 46 38 52 2b 47 75 71 53 56 7a 52 6d 5a 54 52 6f 75 4e 6a 57 77 6c 32 74 56 5a 69 34 55 74 30 4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0
1b7cc0 48 5a 62 55 0a 4a 74 51 49 42 46 6e 51 6d 41 34 4f 35 74 37 38 77 2b 77 66 6b 50 45 43 41 77 45 HZbU.JtQIBFnQmA4O5t78w+wfkPECAwE
1b7ce0 41 41 61 4e 43 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 AAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zA
1b7d00 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 OBgNVHQ8BAf8EBAMC.AQYwHQYDVR0OBB
1b7d20 59 45 46 48 77 4d 4d 68 2b 6e 32 54 42 2f 78 48 31 6f 6f 32 4b 6f 6f 63 36 72 42 31 73 6e 4d 41 YEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA
1b7d40 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 41 52 57 66 6f 6c 0a 54 0GCSqGSIb3DQEBCwUAA4IBAQARWfol.T
1b7d60 77 4e 76 6c 4a 6b 37 6d 68 2b 43 68 54 6e 55 64 67 57 55 58 75 45 6f 6b 32 31 69 58 51 6e 43 6f wNvlJk7mh+ChTnUdgWUXuEok21iXQnCo
1b7d80 4b 6a 55 73 48 55 34 38 54 52 71 6e 65 53 66 69 6f 59 6d 55 65 59 73 30 63 59 74 62 70 55 67 53 KjUsHU48TRqneSfioYmUeYs0cYtbpUgS
1b7da0 70 49 42 37 4c 69 4b 5a 33 73 78 0a 34 6d 63 75 6a 4a 55 44 4a 69 35 44 6e 55 6f 78 39 67 36 31 pIB7LiKZ3sx.4mcujJUDJi5DnUox9g61
1b7dc0 44 4c 75 33 34 6a 64 2f 49 72 6f 41 6f 77 35 37 55 76 74 72 75 7a 76 45 30 33 6c 52 54 73 32 51 DLu34jd/IroAow57UvtruzvE03lRTs2Q
1b7de0 39 47 63 48 47 63 67 38 52 6e 6f 4e 41 58 33 46 57 4f 64 74 35 6f 55 77 0a 46 35 6f 6b 78 42 44 9GcHGcg8RnoNAX3FWOdt5oUw.F5okxBD
1b7e00 67 42 50 66 67 38 6e 2f 55 71 67 72 2f 51 68 30 33 37 5a 54 6c 5a 46 6b 53 49 48 63 34 30 7a 49 gBPfg8n/Uqgr/Qh037ZTlZFkSIHc40zI
1b7e20 2b 4f 49 46 31 6c 6e 50 36 61 49 2b 78 79 38 34 66 78 65 7a 36 6e 48 37 50 66 72 48 78 42 79 32 +OIF1lnP6aI+xy84fxez6nH7PfrHxBy2
1b7e40 32 2f 4c 2f 4b 0a 70 4c 2f 51 6c 77 56 4b 76 4f 6f 59 4b 41 4b 51 76 56 52 34 43 53 46 78 30 39 2/L/K.pL/QlwVKvOoYKAKQvVR4CSFx09
1b7e60 46 39 48 64 6b 57 73 4b 6c 68 50 64 41 4b 41 43 4c 38 78 33 76 4c 43 57 52 46 43 7a 74 41 67 66 F9HdkWsKlhPdAKACL8x3vLCWRFCztAgf
1b7e80 64 39 66 44 4c 31 6d 4d 70 59 6a 6e 30 71 37 70 42 5a 0a 63 32 54 35 4e 6e 52 65 4a 61 48 31 5a d9fDL1mMpYjn0q7pBZ.c2T5NnReJaH1Z
1b7ea0 67 55 75 66 7a 6b 56 71 53 72 37 55 49 75 4f 68 57 6e 30 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 gUufzkVqSr7UIuOhWn0.-----END.CER
1b7ec0 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 74 61 72 66 69 65 6c 64 20 53 65 72 76 69 63 65 TIFICATE-----..Starfield.Service
1b7ee0 73 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 65 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 s.Root.Certificate.Authority.-.G
1b7f00 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2.==============================
1b7f20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 ====================.-----BEGIN.
1b7f40 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 37 7a 43 43 41 74 65 67 41 77 49 CERTIFICATE-----.MIID7zCCAtegAwI
1b7f60 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 6d 44 45 BAgIBADANBgkqhkiG9w0BAQsFADCBmDE
1b7f80 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 45 44 41 4f 42 67 4e 56 42 41 67 54 0a 42 30 LMAkGA1UEBhMCVVMxEDAOBgNVBAgT.B0
1b7fa0 46 79 61 58 70 76 62 6d 45 78 45 7a 41 52 42 67 4e 56 42 41 63 54 43 6c 4e 6a 62 33 52 30 63 32 FyaXpvbmExEzARBgNVBAcTClNjb3R0c2
1b7fc0 52 68 62 47 55 78 4a 54 41 6a 42 67 4e 56 42 41 6f 54 48 46 4e 30 59 58 4a 6d 61 57 56 73 5a 43 RhbGUxJTAjBgNVBAoTHFN0YXJmaWVsZC
1b7fe0 42 55 5a 57 4e 6f 62 6d 39 73 0a 62 32 64 70 5a 58 4d 73 49 45 6c 75 59 79 34 78 4f 7a 41 35 42 BUZWNobm9s.b2dpZXMsIEluYy4xOzA5B
1b8000 67 4e 56 42 41 4d 54 4d 6c 4e 30 59 58 4a 6d 61 57 56 73 5a 43 42 54 5a 58 4a 32 61 57 4e 6c 63 gNVBAMTMlN0YXJmaWVsZCBTZXJ2aWNlc
1b8020 79 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 0a 49 45 46 31 64 47 68 76 yBSb290IENlcnRpZmljYXRl.IEF1dGhv
1b8040 63 6d 6c 30 65 53 41 74 49 45 63 79 4d 42 34 58 44 54 41 35 4d 44 6b 77 4d 54 41 77 4d 44 41 77 cml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw
1b8060 4d 46 6f 58 44 54 4d 33 4d 54 49 7a 4d 54 49 7a 4e 54 6b 31 4f 56 6f 77 67 5a 67 78 43 7a 41 4a MFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJ
1b8080 42 67 4e 56 0a 42 41 59 54 41 6c 56 54 4d 52 41 77 44 67 59 44 56 51 51 49 45 77 64 42 63 6d 6c BgNV.BAYTAlVTMRAwDgYDVQQIEwdBcml
1b80a0 36 62 32 35 68 4d 52 4d 77 45 51 59 44 56 51 51 48 45 77 70 54 59 32 39 30 64 48 4e 6b 59 57 78 6b25hMRMwEQYDVQQHEwpTY290dHNkYWx
1b80c0 6c 4d 53 55 77 49 77 59 44 56 51 51 4b 45 78 78 54 0a 64 47 46 79 5a 6d 6c 6c 62 47 51 67 56 47 lMSUwIwYDVQQKExxT.dGFyZmllbGQgVG
1b80e0 56 6a 61 47 35 76 62 47 39 6e 61 57 56 7a 4c 43 42 4a 62 6d 4d 75 4d 54 73 77 4f 51 59 44 56 51 VjaG5vbG9naWVzLCBJbmMuMTswOQYDVQ
1b8100 51 44 45 7a 4a 54 64 47 46 79 5a 6d 6c 6c 62 47 51 67 55 32 56 79 64 6d 6c 6a 5a 58 4d 67 0a 55 QDEzJTdGFyZmllbGQgU2VydmljZXMg.U
1b8120 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 33 4a 70 64 m9vdCBDZXJ0aWZpY2F0ZSBBdXRob3Jpd
1b8140 48 6b 67 4c 53 42 48 4d 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 HkgLSBHMjCCASIwDQYJKoZIhvcNAQEBB
1b8160 51 41 44 67 67 45 50 41 44 43 43 0a 41 51 6f 43 67 67 45 42 41 4e 55 4d 4f 73 51 71 2b 55 37 69 QADggEPADCC.AQoCggEBANUMOsQq+U7i
1b8180 39 62 34 5a 6c 31 2b 4f 69 46 4f 78 48 7a 2f 4c 7a 35 38 67 45 32 30 70 4f 73 67 50 66 54 7a 33 9b4Zl1+OiFOxHz/Lz58gE20pOsgPfTz3
1b81a0 61 33 59 34 59 39 6b 32 59 4b 69 62 58 6c 77 41 67 4c 49 76 57 58 2f 32 0a 68 2f 6b 6c 51 34 62 a3Y4Y9k2YKibXlwAgLIvWX/2.h/klQ4b
1b81c0 6e 61 52 74 53 6d 70 44 68 63 65 50 59 4c 51 31 4f 62 2f 62 49 53 64 6d 32 38 78 70 57 72 69 75 naRtSmpDhcePYLQ1Ob/bISdm28xpWriu
1b81e0 32 64 42 54 72 7a 2f 73 6d 34 78 71 36 48 5a 59 75 61 6a 74 59 6c 49 6c 48 56 76 38 6c 6f 4a 4e 2dBTrz/sm4xq6HZYuajtYlIlHVv8loJN
1b8200 77 55 34 50 61 0a 68 48 51 55 77 32 65 65 42 47 67 36 33 34 35 41 57 68 31 4b 54 73 39 44 6b 54 wU4Pa.hHQUw2eeBGg6345AWh1KTs9DkT
1b8220 76 6e 56 74 59 41 63 4d 74 53 37 6e 74 39 72 6a 72 6e 76 44 48 35 52 66 62 43 59 4d 38 54 57 51 vnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQ
1b8240 49 72 67 4d 77 30 52 39 2b 35 33 70 42 6c 62 51 4c 50 0a 4c 4a 47 6d 70 75 66 65 68 52 68 4a 66 IrgMw0R9+53pBlbQLP.LJGmpufehRhJf
1b8260 47 5a 4f 6f 7a 70 74 71 62 58 75 4e 43 36 36 44 51 4f 34 4d 39 39 48 36 37 46 72 6a 53 58 5a 6d GZOozptqbXuNC66DQO4M99H67FrjSXZm
1b8280 38 36 42 30 55 56 47 4d 70 5a 77 68 39 34 43 44 6b 6c 44 68 62 5a 73 63 37 74 6b 36 6d 46 42 0a 86B0UVGMpZwh94CDklDhbZsc7tk6mFB.
1b82a0 72 4d 6e 55 56 4e 2b 48 4c 38 63 69 73 69 62 4d 6e 31 6c 55 61 4a 2f 38 76 69 6f 76 78 46 55 63 rMnUVN+HL8cisibMn1lUaJ/8viovxFUc
1b82c0 64 55 42 67 46 34 55 43 56 54 6d 4c 66 77 55 43 41 77 45 41 41 61 4e 43 4d 45 41 77 44 77 59 44 dUBgF4UCVTmLfwUCAwEAAaNCMEAwDwYD
1b82e0 56 52 30 54 41 51 48 2f 42 41 55 77 0a 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 VR0TAQH/BAUw.AwEB/zAOBgNVHQ8BAf8
1b8300 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4a 78 66 41 4e 2b 71 41 64 63 EBAMCAQYwHQYDVR0OBBYEFJxfAN+qAdc
1b8320 77 4b 7a 69 49 6f 72 68 74 53 70 7a 79 45 5a 47 44 4d 41 30 47 43 53 71 47 0a 53 49 62 33 44 51 wKziIorhtSpzyEZGDMA0GCSqG.SIb3DQ
1b8340 45 42 43 77 55 41 41 34 49 42 41 51 42 4c 4e 71 61 45 64 32 6e 64 4f 78 6d 66 5a 79 4d 49 62 77 EBCwUAA4IBAQBLNqaEd2ndOxmfZyMIbw
1b8360 35 68 79 66 32 45 33 46 2f 59 4e 6f 48 4e 32 42 74 42 4c 5a 39 67 33 63 63 61 61 4e 6e 52 62 6f 5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbo
1b8380 62 68 69 43 50 50 0a 45 39 35 44 7a 2b 49 30 73 77 53 64 48 79 6e 56 76 2f 68 65 79 4e 58 42 76 bhiCPP.E95Dz+I0swSdHynVv/heyNXBv
1b83a0 65 36 53 62 7a 4a 30 38 70 47 43 4c 37 32 43 51 6e 71 74 4b 72 63 67 66 55 32 38 65 6c 55 53 77 e6SbzJ08pGCL72CQnqtKrcgfU28elUSw
1b83c0 68 58 71 76 66 64 71 6c 53 35 73 64 4a 2f 50 48 4c 54 79 0a 78 51 47 6a 68 64 42 79 50 71 31 7a hXqvfdqlS5sdJ/PHLTy.xQGjhdByPq1z
1b83e0 71 77 75 62 64 51 78 74 52 62 65 4f 6c 4b 79 57 4e 37 57 67 30 49 38 56 52 77 37 6a 36 49 50 64 qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPd
1b8400 6a 2f 33 76 51 51 46 33 7a 43 65 70 59 6f 55 7a 38 6a 63 49 37 33 48 50 64 77 62 65 79 42 6b 64 j/3vQQF3zCepYoUz8jcI73HPdwbeyBkd
1b8420 0a 69 45 44 50 66 55 59 64 2f 78 37 48 34 63 37 2f 49 39 76 47 2b 6f 31 56 54 71 6b 43 35 30 63 .iEDPfUYd/x7H4c7/I9vG+o1VTqkC50c
1b8440 52 52 6a 37 30 2f 62 31 37 4b 53 61 37 71 57 46 69 4e 79 69 32 4c 53 72 32 45 49 5a 6b 79 58 43 RRj70/b17KSa7qWFiNyi2LSr2EIZkyXC
1b8460 6e 30 71 32 33 4b 58 42 35 36 6a 7a 61 0a 59 79 57 66 2f 57 69 33 4d 4f 78 77 2b 33 57 4b 74 32 n0q23KXB56jza.YyWf/Wi3MOxw+3WKt2
1b8480 31 67 5a 37 49 65 79 4c 6e 70 32 4b 68 76 41 6f 74 6e 44 55 30 6d 56 33 48 61 49 50 7a 42 53 6c 1gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSl
1b84a0 43 4e 73 53 69 36 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d CNsSi6.-----END.CERTIFICATE-----
1b84c0 0a 0a 41 66 66 69 72 6d 54 72 75 73 74 20 43 6f 6d 6d 65 72 63 69 61 6c 0a 3d 3d 3d 3d 3d 3d 3d ..AffirmTrust.Commercial.=======
1b84e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 ===============.-----BEGIN.CERTI
1b8500 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 54 44 43 43 41 6a 53 67 41 77 49 42 41 67 49 49 FICATE-----.MIIDTDCCAjSgAwIBAgII
1b8520 64 33 63 47 4a 79 61 70 73 58 77 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 d3cGJyapsXwwDQYJKoZIhvcNAQELBQAw
1b8540 52 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 0a 42 67 4e 56 42 41 6f RDELMAkGA1UEBhMCVVMxFDAS.BgNVBAo
1b8560 4d 43 30 46 6d 5a 6d 6c 79 62 56 52 79 64 58 4e 30 4d 52 38 77 48 51 59 44 56 51 51 44 44 42 5a MC0FmZmlybVRydXN0MR8wHQYDVQQDDBZ
1b8580 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 44 62 32 31 74 5a 58 4a 6a 61 57 46 73 4d 42 34 BZmZpcm1UcnVzdCBDb21tZXJjaWFsMB4
1b85a0 58 44 54 45 77 0a 4d 44 45 79 4f 54 45 30 4d 44 59 77 4e 6c 6f 58 44 54 4d 77 4d 54 49 7a 4d 54 XDTEw.MDEyOTE0MDYwNloXDTMwMTIzMT
1b85c0 45 30 4d 44 59 77 4e 6c 6f 77 52 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 E0MDYwNlowRDELMAkGA1UEBhMCVVMxFD
1b85e0 41 53 42 67 4e 56 42 41 6f 4d 43 30 46 6d 5a 6d 6c 79 0a 62 56 52 79 64 58 4e 30 4d 52 38 77 48 ASBgNVBAoMC0FmZmly.bVRydXN0MR8wH
1b8600 51 59 44 56 51 51 44 44 42 5a 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 44 62 32 31 74 5a QYDVQQDDBZBZmZpcm1UcnVzdCBDb21tZ
1b8620 58 4a 6a 61 57 46 73 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 0a XJjaWFsMIIBIjANBgkqhkiG9w0BAQEF.
1b8640 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 39 68 74 50 5a 77 63 72 6f 52 58 31 AAOCAQ8AMIIBCgKCAQEA9htPZwcroRX1
1b8660 42 69 4c 4c 48 77 47 79 34 33 4e 46 42 6b 52 4a 4c 4c 74 4a 4a 52 54 57 7a 73 4f 33 71 79 78 50 BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxP
1b8680 78 6b 45 79 6c 46 66 36 45 71 64 62 0a 44 75 4b 50 48 78 36 47 47 61 65 71 74 53 32 35 58 77 32 xkEylFf6Eqdb.DuKPHx6GGaeqtS25Xw2
1b86a0 4b 77 71 2b 46 4e 58 6b 79 4c 62 73 63 59 6a 66 79 73 56 74 4b 50 63 72 4e 63 56 2f 70 51 72 36 Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6
1b86c0 55 36 4d 6a 65 2b 53 4a 49 5a 4d 62 6c 71 38 59 72 62 61 30 46 38 50 72 56 0a 43 38 2b 61 35 66 U6Mje+SJIZMblq8Yrba0F8PrV.C8+a5f
1b86e0 42 51 70 49 73 37 52 36 55 6a 57 33 70 36 2b 44 4d 2f 75 4f 2b 5a 6c 2b 4d 67 77 64 59 6f 69 63 BQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic
1b8700 2b 55 2b 37 6c 46 37 65 4e 41 46 78 48 55 64 50 41 4c 4d 65 49 72 4a 6d 71 62 54 46 65 75 72 43 +U+7lF7eNAFxHUdPALMeIrJmqbTFeurC
1b8720 41 2b 75 6b 56 36 0a 42 66 4f 39 6d 32 6b 56 72 6e 31 4f 49 47 50 45 4e 58 59 36 42 77 4c 4a 4e A+ukV6.BfO9m2kVrn1OIGPENXY6BwLJN
1b8740 2f 33 48 52 2b 37 6f 38 58 59 64 63 78 58 79 6c 36 53 31 79 48 70 35 32 55 4b 71 4b 33 39 63 2f /3HR+7o8XYdcxXyl6S1yHp52UKqK39c/
1b8760 73 34 6d 54 36 4e 6d 67 54 57 76 52 4c 70 55 48 68 77 77 0a 4d 6d 57 64 35 6a 79 54 58 6c 42 4f s4mT6NmgTWvRLpUHhww.MmWd5jyTXlBO
1b8780 65 75 4d 36 31 47 37 4d 47 76 76 35 30 6a 65 75 4a 43 71 72 56 77 4d 69 4b 41 31 4a 64 58 2b 33 euM61G7MGvv50jeuJCqrVwMiKA1JdX+3
1b87a0 4b 4e 70 31 76 34 37 6a 33 41 35 35 4d 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 64 42 67 4e 56 KNp1v47j3A55MQIDAQABo0IwQDAdBgNV
1b87c0 0a 48 51 34 45 46 67 51 55 6e 5a 50 47 55 34 74 65 79 71 38 2f 6e 78 34 50 35 5a 6d 56 76 43 54 .HQ4EFgQUnZPGU4teyq8/nx4P5ZmVvCT
1b87e0 32 6c 49 38 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgN
1b8800 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 VHQ8BAf8EBAMC.AQYwDQYJKoZIhvcNAQ
1b8820 45 4c 42 51 41 44 67 67 45 42 41 46 69 73 39 41 51 4f 7a 63 41 4e 2f 77 72 39 31 4c 6f 57 58 79 ELBQADggEBAFis9AQOzcAN/wr91LoWXy
1b8840 6d 39 65 32 69 5a 57 45 6e 53 74 42 30 33 54 58 38 6e 66 55 59 47 58 55 50 47 0a 68 69 34 2b 63 m9e2iZWEnStB03TX8nfUYGXUPG.hi4+c
1b8860 37 49 6d 66 55 2b 54 71 62 62 45 4b 70 71 72 49 5a 63 55 73 64 36 4d 30 36 75 4a 46 64 68 72 4a 7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJ
1b8880 4e 54 78 46 71 37 59 70 46 7a 55 66 31 47 4f 37 52 67 42 73 5a 4e 6a 76 62 7a 34 59 59 43 61 6e NTxFq7YpFzUf1GO7RgBsZNjvbz4YYCan
1b88a0 72 48 4f 51 6e 44 69 0a 71 58 30 47 4a 58 30 6e 6f 66 35 76 37 4c 4d 65 4a 4e 72 6a 53 31 55 61 rHOQnDi.qX0GJX0nof5v7LMeJNrjS1Ua
1b88c0 41 44 73 31 74 44 76 5a 31 31 30 77 2f 59 45 54 69 66 4c 43 42 69 76 74 5a 38 53 4f 79 55 4f 79 ADs1tDvZ110w/YETifLCBivtZ8SOyUOy
1b88e0 58 47 73 56 69 51 4b 38 59 76 78 4f 38 72 55 7a 71 72 4a 76 0a 30 77 71 69 55 4f 50 32 4f 2b 67 XGsViQK8YvxO8rUzqrJv.0wqiUOP2O+g
1b8900 75 52 4d 4c 62 5a 6a 69 70 4d 31 5a 49 38 57 30 62 4d 34 30 4e 6a 44 39 67 4e 35 33 54 79 6d 31 uRMLbZjipM1ZI8W0bM40NjD9gN53Tym1
1b8920 2b 4e 48 34 4e 6e 33 4a 32 69 78 75 66 63 76 31 53 4e 55 46 46 41 70 59 76 48 4c 4b 61 63 30 6b +NH4Nn3J2ixufcv1SNUFFApYvHLKac0k
1b8940 68 0a 73 55 6c 48 52 55 65 30 37 32 6f 30 45 63 6c 4e 6d 73 78 5a 74 39 59 43 6e 6c 70 4f 5a 62 h.sUlHRUe072o0EclNmsxZt9YCnlpOZb
1b8960 57 55 72 68 76 66 4b 62 41 57 38 62 38 41 6e 67 63 36 46 32 53 31 42 4c 55 6a 49 5a 6b 4b 6c 54 WUrhvfKbAW8b8Angc6F2S1BLUjIZkKlT
1b8980 75 58 66 4f 38 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d uXfO8=.-----END.CERTIFICATE-----
1b89a0 0a 0a 41 66 66 69 72 6d 54 72 75 73 74 20 4e 65 74 77 6f 72 6b 69 6e 67 0a 3d 3d 3d 3d 3d 3d 3d ..AffirmTrust.Networking.=======
1b89c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 ===============.-----BEGIN.CERTI
1b89e0 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 54 44 43 43 41 6a 53 67 41 77 49 42 41 67 49 49 FICATE-----.MIIDTDCCAjSgAwIBAgII
1b8a00 66 45 38 45 4f 52 7a 55 6d 53 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 fE8EORzUmS0wDQYJKoZIhvcNAQEFBQAw
1b8a20 52 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 0a 42 67 4e 56 42 41 6f RDELMAkGA1UEBhMCVVMxFDAS.BgNVBAo
1b8a40 4d 43 30 46 6d 5a 6d 6c 79 62 56 52 79 64 58 4e 30 4d 52 38 77 48 51 59 44 56 51 51 44 44 42 5a MC0FmZmlybVRydXN0MR8wHQYDVQQDDBZ
1b8a60 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 4f 5a 58 52 33 62 33 4a 72 61 57 35 6e 4d 42 34 BZmZpcm1UcnVzdCBOZXR3b3JraW5nMB4
1b8a80 58 44 54 45 77 0a 4d 44 45 79 4f 54 45 30 4d 44 67 79 4e 46 6f 58 44 54 4d 77 4d 54 49 7a 4d 54 XDTEw.MDEyOTE0MDgyNFoXDTMwMTIzMT
1b8aa0 45 30 4d 44 67 79 4e 46 6f 77 52 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 E0MDgyNFowRDELMAkGA1UEBhMCVVMxFD
1b8ac0 41 53 42 67 4e 56 42 41 6f 4d 43 30 46 6d 5a 6d 6c 79 0a 62 56 52 79 64 58 4e 30 4d 52 38 77 48 ASBgNVBAoMC0FmZmly.bVRydXN0MR8wH
1b8ae0 51 59 44 56 51 51 44 44 42 5a 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 4f 5a 58 52 33 62 QYDVQQDDBZBZmZpcm1UcnVzdCBOZXR3b
1b8b00 33 4a 72 61 57 35 6e 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 0a 3JraW5nMIIBIjANBgkqhkiG9w0BAQEF.
1b8b20 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 74 49 54 4d 4d 78 63 75 61 35 52 73 AAOCAQ8AMIIBCgKCAQEAtITMMxcua5Rs
1b8b40 61 32 46 53 6f 4f 75 6a 7a 33 6d 55 54 4f 57 55 67 4a 6e 4c 56 57 52 45 5a 59 39 6e 5a 4f 49 47 a2FSoOujz3mUTOWUgJnLVWREZY9nZOIG
1b8b60 34 31 77 33 53 66 59 76 6d 34 53 45 0a 48 69 33 79 59 4a 30 77 54 73 79 45 68 65 49 73 7a 78 36 41w3SfYvm4SE.Hi3yYJ0wTsyEheIszx6
1b8b80 65 2f 6a 61 72 4d 33 63 31 52 4e 67 31 6c 68 6f 39 4e 75 68 36 44 74 6a 56 52 36 46 71 61 59 76 e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYv
1b8ba0 5a 2f 4c 73 36 72 6e 6c 61 31 66 54 57 63 62 75 61 6b 43 4e 72 6d 72 65 49 0a 64 49 63 4d 48 6c Z/Ls6rnla1fTWcbuakCNrmreI.dIcMHl
1b8bc0 2b 35 6e 69 33 36 71 31 4d 72 33 4c 74 32 50 70 4e 4d 43 41 69 4d 48 71 49 6a 48 4e 52 71 72 53 +5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrS
1b8be0 4b 36 6d 51 45 75 62 57 58 4c 76 69 52 6d 56 53 52 4c 51 45 53 78 47 39 66 68 77 6f 58 41 33 68 K6mQEubWXLviRmVSRLQESxG9fhwoXA3h
1b8c00 41 2f 50 65 32 34 0a 2f 50 48 78 49 31 50 63 76 32 57 58 62 39 6e 35 51 48 47 4e 66 62 32 56 31 A/Pe24./PHxI1Pcv2WXb9n5QHGNfb2V1
1b8c20 4d 36 2b 6f 46 34 6e 49 39 37 39 70 74 41 6d 44 67 41 70 36 7a 78 47 38 44 31 67 76 7a 39 51 30 M6+oF4nI979ptAmDgAp6zxG8D1gvz9Q0
1b8c40 74 77 6d 51 56 47 65 46 44 64 43 42 4b 4e 77 56 36 67 62 0a 68 2b 30 74 2b 6e 76 75 6a 41 72 6a twmQVGeFDdCBKNwV6gb.h+0t+nvujArj
1b8c60 71 57 61 4a 47 63 74 42 2b 64 31 45 4e 6d 48 50 34 6e 64 47 79 48 33 32 39 4a 4b 42 4e 76 33 62 qWaJGctB+d1ENmHP4ndGyH329JKBNv3b
1b8c80 4e 50 46 79 66 76 4d 4d 46 72 32 30 46 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 64 42 67 4e 56 NPFyfvMMFr20FQIDAQABo0IwQDAdBgNV
1b8ca0 0a 48 51 34 45 46 67 51 55 42 78 2f 53 35 35 7a 61 77 6d 36 69 51 4c 53 77 65 6c 41 51 55 48 54 .HQ4EFgQUBx/S55zawm6iQLSwelAQUHT
1b8cc0 45 79 4c 30 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e EyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgN
1b8ce0 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 VHQ8BAf8EBAMC.AQYwDQYJKoZIhvcNAQ
1b8d00 45 46 42 51 41 44 67 67 45 42 41 49 6c 58 73 68 5a 36 71 4d 4c 39 31 74 6d 62 6d 7a 54 43 6e 4c EFBQADggEBAIlXshZ6qML91tmbmzTCnL
1b8d20 51 79 46 45 32 6e 70 4e 2f 73 76 71 65 2b 2b 45 50 62 6b 54 66 4f 74 44 49 75 0a 55 46 55 61 4e QyFE2npN/svqe++EPbkTfOtDIu.UFUaN
1b8d40 55 35 32 51 33 45 67 37 35 4e 33 54 68 56 77 4c 6f 66 44 77 52 31 74 33 4d 75 31 4a 39 51 73 56 U52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsV
1b8d60 74 46 53 55 7a 70 45 30 6e 50 49 78 42 73 46 5a 56 70 69 6b 70 7a 75 51 59 30 78 32 2b 63 30 36 tFSUzpE0nPIxBsFZVpikpzuQY0x2+c06
1b8d80 6c 6b 68 31 51 46 36 0a 31 32 53 34 5a 44 6e 4e 79 65 32 76 37 55 73 44 53 4b 65 67 6d 51 47 41 lkh1QF6.12S4ZDnNye2v7UsDSKegmQGA
1b8da0 33 47 57 6a 4e 71 35 6c 57 55 68 50 67 6b 76 49 5a 66 46 58 48 65 56 5a 4c 67 6f 2f 62 4e 6a 52 3GWjNq5lWUhPgkvIZfFXHeVZLgo/bNjR
1b8dc0 39 65 55 4a 74 47 78 55 41 41 72 67 46 55 32 48 64 57 32 33 0a 57 4a 5a 61 33 57 33 53 41 4b 44 9eUJtGxUAArgFU2HdW23.WJZa3W3SAKD
1b8de0 30 6d 30 69 2b 77 7a 65 6b 75 6a 62 67 66 49 65 46 6c 78 6f 56 6f 74 34 75 6f 6c 75 39 72 78 6a 0m0i+wzekujbgfIeFlxoVot4uolu9rxj
1b8e00 35 6b 46 44 4e 63 46 6e 34 4a 32 64 48 79 38 65 67 42 7a 70 39 30 53 78 64 62 42 6b 36 5a 72 56 5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV
1b8e20 39 0a 2f 5a 46 76 67 72 47 2b 43 4a 50 62 46 45 66 78 6f 6a 66 48 52 5a 34 38 78 33 65 76 5a 4b 9./ZFvgrG+CJPbFEfxojfHRZ48x3evZK
1b8e40 69 54 33 2f 5a 70 67 34 4a 67 38 6b 6c 43 4e 4f 31 61 41 46 53 46 48 42 59 32 6b 67 78 63 2b 71 iT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+q
1b8e60 61 74 76 39 73 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d atv9s=.-----END.CERTIFICATE-----
1b8e80 0a 0a 41 66 66 69 72 6d 54 72 75 73 74 20 50 72 65 6d 69 75 6d 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ..AffirmTrust.Premium.==========
1b8ea0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1b8ec0 2d 2d 2d 2d 2d 0a 4d 49 49 46 52 6a 43 43 41 79 36 67 41 77 49 42 41 67 49 49 62 59 77 55 52 72 -----.MIIFRjCCAy6gAwIBAgIIbYwURr
1b8ee0 47 6d 43 75 34 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4d 42 51 41 77 51 54 45 4c 4d 41 GmCu4wDQYJKoZIhvcNAQEMBQAwQTELMA
1b8f00 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 0a 42 67 4e 56 42 41 6f 4d 43 30 46 6d 5a kGA1UEBhMCVVMxFDAS.BgNVBAoMC0FmZ
1b8f20 6d 6c 79 62 56 52 79 64 58 4e 30 4d 52 77 77 47 67 59 44 56 51 51 44 44 42 4e 42 5a 6d 5a 70 63 mlybVRydXN0MRwwGgYDVQQDDBNBZmZpc
1b8f40 6d 31 55 63 6e 56 7a 64 43 42 51 63 6d 56 74 61 58 56 74 4d 42 34 58 44 54 45 77 4d 44 45 79 0a m1UcnVzdCBQcmVtaXVtMB4XDTEwMDEy.
1b8f60 4f 54 45 30 4d 54 41 7a 4e 6c 6f 58 44 54 51 77 4d 54 49 7a 4d 54 45 30 4d 54 41 7a 4e 6c 6f 77 OTE0MTAzNloXDTQwMTIzMTE0MTAzNlow
1b8f80 51 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 42 67 4e 56 42 41 6f 4d QTELMAkGA1UEBhMCVVMxFDASBgNVBAoM
1b8fa0 43 30 46 6d 5a 6d 6c 79 62 56 52 79 0a 64 58 4e 30 4d 52 77 77 47 67 59 44 56 51 51 44 44 42 4e C0FmZmlybVRy.dXN0MRwwGgYDVQQDDBN
1b8fc0 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 51 63 6d 56 74 61 58 56 74 4d 49 49 43 49 6a 41 BZmZpcm1UcnVzdCBQcmVtaXVtMIICIjA
1b8fe0 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 0a 4d 49 49 43 43 67 NBgkqhkiG9w0BAQEFAAOCAg8A.MIICCg
1b9000 4b 43 41 67 45 41 78 42 4c 66 71 56 2f 2b 51 64 33 64 39 5a 2b 4b 34 2f 61 73 34 54 78 34 6d 72 KCAgEAxBLfqV/+Qd3d9Z+K4/as4Tx4mr
1b9020 7a 59 38 48 39 36 6f 44 4d 71 33 49 30 67 57 36 34 74 62 2b 65 54 32 54 5a 77 61 6d 6a 50 6a 6c zY8H96oDMq3I0gW64tb+eT2TZwamjPjl
1b9040 47 6a 68 56 74 6e 0a 42 4b 41 51 4a 47 39 64 4b 49 4c 42 6c 31 66 59 53 43 6b 54 74 75 47 2b 6b GjhVtn.BKAQJG9dKILBl1fYSCkTtuG+k
1b9060 55 33 66 68 51 78 54 47 4a 6f 65 4a 4b 4a 50 6a 2f 43 69 68 51 76 4c 39 43 6c 2f 30 71 52 59 37 U3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7
1b9080 69 5a 4e 79 61 71 6f 65 35 72 5a 2b 6a 6a 65 52 46 63 56 0a 35 66 69 4d 79 4e 6c 49 34 67 30 57 iZNyaqoe5rZ+jjeRFcV.5fiMyNlI4g0W
1b90a0 4a 78 30 65 79 49 4f 46 4a 62 65 36 71 6c 56 42 7a 41 4d 69 53 79 32 52 6a 59 76 6d 69 61 39 6d Jx0eyIOFJbe6qlVBzAMiSy2RjYvmia9m
1b90c0 78 2b 6e 2f 4b 2b 6b 38 72 4e 72 53 73 38 50 68 61 4a 79 4a 2b 48 6f 41 56 74 37 30 56 5a 56 73 x+n/K+k8rNrSs8PhaJyJ+HoAVt70VZVs
1b90e0 0a 2b 37 70 6b 33 57 4b 4c 33 77 74 33 4d 75 74 69 7a 43 61 61 6d 37 75 71 59 6f 4e 4d 74 41 5a .+7pk3WKL3wt3MutizCaam7uqYoNMtAZ
1b9100 36 4d 4d 67 70 76 2b 30 47 54 5a 65 35 48 4d 51 78 4b 39 56 66 76 46 4d 53 46 35 79 5a 56 79 6c 6MMgpv+0GTZe5HMQxK9VfvFMSF5yZVyl
1b9120 6d 64 32 45 68 4d 51 63 75 4a 55 6d 64 0a 47 50 4c 75 38 79 74 78 6a 4c 57 36 4f 51 64 4a 64 2f md2EhMQcuJUmd.GPLu8ytxjLW6OQdJd/
1b9140 7a 76 4c 70 4b 51 42 59 30 74 4c 33 64 37 37 30 4f 2f 4e 62 75 61 32 50 6c 7a 70 79 7a 79 30 46 zvLpKQBY0tL3d770O/Nbua2Plzpyzy0F
1b9160 66 75 4b 45 34 6d 58 34 2b 51 61 41 6b 76 75 50 6a 63 42 75 6b 75 6d 6a 35 52 0a 70 39 45 69 78 fuKE4mX4+QaAkvuPjcBukumj5R.p9Eix
1b9180 41 71 6e 4f 45 68 73 73 2f 6e 2f 66 61 75 47 56 2b 4f 36 31 6f 56 34 64 37 70 44 36 6b 68 2f 39 AqnOEhss/n/fauGV+O61oV4d7pD6kh/9
1b91a0 74 69 2b 49 32 30 65 76 39 45 32 62 46 68 63 38 65 36 6b 47 56 51 61 39 51 50 53 64 75 62 68 6a ti+I20ev9E2bFhc8e6kGVQa9QPSdubhj
1b91c0 4c 30 38 73 39 4e 49 0a 53 2b 4c 49 2b 48 2b 53 71 48 5a 47 6e 45 4a 6c 50 71 51 65 77 51 63 44 L08s9NI.S+LI+H+SqHZGnEJlPqQewQcD
1b91e0 57 6b 59 74 75 4a 66 7a 74 39 57 79 56 53 48 76 75 74 78 4d 41 4a 66 37 46 4a 55 6e 4d 37 2f 6f WkYtuJfzt9WyVSHvutxMAJf7FJUnM7/o
1b9200 51 30 64 47 30 67 69 5a 46 6d 41 37 6d 6e 37 53 35 75 30 34 0a 36 75 77 42 48 6a 78 49 56 6b 6b Q0dG0giZFmA7mn7S5u04.6uwBHjxIVkk
1b9220 4a 78 30 77 33 41 4a 36 49 44 73 42 7a 34 57 39 6d 36 58 4a 48 4d 44 34 51 35 51 73 44 79 5a 70 Jx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZp
1b9240 43 41 47 7a 46 6c 48 35 68 78 49 72 66 66 34 49 61 43 31 6e 45 57 54 4a 33 73 37 78 67 61 56 59 CAGzFlH5hxIrff4IaC1nEWTJ3s7xgaVY
1b9260 35 0a 2f 62 51 47 65 79 7a 57 5a 44 62 5a 76 55 6a 74 68 42 39 2b 70 53 4b 50 4b 72 68 43 39 49 5./bQGeyzWZDbZvUjthB9+pSKPKrhC9I
1b9280 4b 33 31 46 4f 51 65 45 34 74 47 76 32 42 62 30 54 58 4f 77 46 30 6c 6b 4c 67 41 4f 49 75 61 2b K31FOQeE4tGv2Bb0TXOwF0lkLgAOIua+
1b92a0 72 46 37 6e 4b 73 75 37 2f 2b 36 71 71 6f 0a 2b 4e 7a 32 73 6e 6d 4b 74 6d 63 43 41 77 45 41 41 rF7nKsu7/+6qqo.+Nz2snmKtmcCAwEAA
1b92c0 61 4e 43 4d 45 41 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4a 33 41 5a 36 59 4d 49 74 6b 6d 39 aNCMEAwHQYDVR0OBBYEFJ3AZ6YMItkm9
1b92e0 55 57 72 70 6d 56 53 45 53 66 59 52 61 78 6a 4d 41 38 47 41 31 55 64 45 77 45 42 0a 2f 77 51 46 UWrpmVSESfYRaxjMA8GA1UdEwEB./wQF
1b9300 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 30 47 MAMBAf8wDgYDVR0PAQH/BAQDAgEGMA0G
1b9320 43 53 71 47 53 49 62 33 44 51 45 42 44 41 55 41 41 34 49 43 41 51 43 7a 56 30 30 51 59 6b 34 36 CSqGSIb3DQEBDAUAA4ICAQCzV00QYk46
1b9340 35 4b 7a 71 75 42 79 76 0a 4d 69 50 49 73 30 6c 61 55 5a 78 32 4b 49 31 35 71 6c 64 47 46 39 58 5KzquByv.MiPIs0laUZx2KI15qldGF9X
1b9360 31 55 76 61 33 52 4f 67 49 52 4c 38 59 68 4e 49 4c 67 4d 33 46 45 76 30 41 56 51 56 68 68 30 48 1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0H
1b9380 63 74 53 53 65 50 4d 54 59 79 50 74 77 6e 69 39 34 6c 6f 4d 67 0a 4e 74 35 38 44 32 6b 54 69 4b ctSSePMTYyPtwni94loMg.Nt58D2kTiK
1b93a0 56 31 4e 70 67 49 70 73 62 66 72 4d 37 6a 57 4e 61 33 50 74 36 36 38 2b 73 30 51 4e 69 69 67 66 V1NpgIpsbfrM7jWNa3Pt668+s0QNiigf
1b93c0 56 34 50 79 2f 56 70 66 7a 5a 6f 74 52 65 42 41 34 58 72 66 35 42 38 4f 57 79 63 76 70 45 67 6a V4Py/VpfzZotReBA4Xrf5B8OWycvpEgj
1b93e0 4e 43 0a 36 43 31 59 39 31 61 4d 59 6a 2b 36 51 72 43 63 44 46 78 2b 4c 6d 55 6d 58 46 4e 50 41 NC.6C1Y91aMYj+6QrCcDFx+LmUmXFNPA
1b9400 4c 4a 34 66 71 45 4e 6d 53 32 4e 75 42 32 4f 6f 73 53 77 2f 57 44 51 4d 4b 53 4f 79 41 52 69 71 LJ4fqENmS2NuB2OosSw/WDQMKSOyARiq
1b9420 63 54 74 4e 64 35 36 6c 2b 30 4f 4f 46 36 53 0a 4c 35 4e 77 70 61 6d 63 62 36 64 39 45 78 31 2b cTtNd56l+0OOF6S.L5Nwpamcb6d9Ex1+
1b9440 78 67 68 49 73 56 35 6e 36 31 45 49 4a 65 6e 6d 4a 57 74 53 4b 5a 47 63 30 6a 6c 7a 43 46 66 65 xghIsV5n61EIJenmJWtSKZGc0jlzCFfe
1b9460 6d 51 61 30 57 35 30 51 42 75 48 43 41 4b 69 34 48 45 6f 43 43 68 54 51 77 55 48 4b 0a 2b 34 77 mQa0W50QBuHCAKi4HEoCChTQwUHK.+4w
1b9480 31 49 58 32 43 4f 50 4b 70 56 4a 45 5a 4e 5a 4f 55 62 57 6f 36 78 62 4c 51 75 34 6d 47 6b 2b 69 1IX2COPKpVJEZNZOUbWo6xbLQu4mGk+i
1b94a0 62 79 51 38 36 70 33 71 34 6f 66 42 34 52 76 72 38 4e 79 2f 6c 69 6f 54 7a 33 2f 34 45 32 61 46 byQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aF
1b94c0 6f 6f 43 38 6b 34 67 6d 56 0a 42 74 57 56 79 75 45 6b 6c 75 74 38 39 70 4d 46 75 2b 31 7a 36 53 ooC8k4gmV.BtWVyuEklut89pMFu+1z6S
1b94e0 33 52 64 54 6e 58 35 79 54 62 32 45 35 66 51 34 2b 65 30 42 51 35 76 31 56 77 53 4a 6c 58 4d 62 3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMb
1b9500 53 63 37 6b 71 59 41 35 59 77 48 32 41 47 37 68 73 6a 2f 6f 46 67 0a 49 78 70 48 59 6f 57 6c 7a Sc7kqYA5YwH2AG7hsj/oFg.IxpHYoWlz
1b9520 42 6b 30 67 47 2b 7a 72 42 72 6a 6e 2f 42 37 53 4b 33 56 41 64 6c 6e 74 71 6c 79 6b 2b 6f 74 5a Bk0gG+zrBrjn/B7SK3VAdlntqlyk+otZ
1b9540 72 57 79 75 4f 51 39 50 4c 4c 76 54 49 7a 71 36 77 65 2f 71 7a 57 61 56 59 61 38 47 4b 61 31 71 rWyuOQ9PLLvTIzq6we/qzWaVYa8GKa1q
1b9560 46 36 30 0a 67 32 78 72 61 55 44 54 6e 39 7a 78 77 32 6c 72 75 65 46 74 43 66 54 78 71 6c 42 32 F60.g2xraUDTn9zxw2lrueFtCfTxqlB2
1b9580 43 6e 70 39 65 68 65 68 56 5a 5a 43 6d 54 45 4a 33 57 41 52 6a 51 55 77 66 75 61 4f 52 74 47 64 Cnp9ehehVZZCmTEJ3WARjQUwfuaORtGd
1b95a0 46 4e 72 48 46 2b 51 46 6c 6f 7a 45 4a 4c 55 62 0a 7a 78 51 48 73 6b 44 34 6f 35 35 42 68 72 77 FNrHF+QFlozEJLUb.zxQHskD4o55Bhrw
1b95c0 45 30 47 75 57 79 43 71 41 4e 50 32 2f 37 77 61 6a 33 56 6a 46 68 54 30 2b 6a 2f 36 65 4b 65 43 E0GuWyCqANP2/7waj3VjFhT0+j/6eKeC
1b95e0 32 75 41 6c 6f 47 52 77 59 51 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 2uAloGRwYQw==.-----END.CERTIFICA
1b9600 54 45 2d 2d 2d 2d 2d 0a 0a 41 66 66 69 72 6d 54 72 75 73 74 20 50 72 65 6d 69 75 6d 20 45 43 43 TE-----..AffirmTrust.Premium.ECC
1b9620 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 .=======================.-----BE
1b9640 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 42 2f 6a 43 43 41 59 57 GIN.CERTIFICATE-----.MIIB/jCCAYW
1b9660 67 41 77 49 42 41 67 49 49 64 4a 63 6c 69 73 63 2f 65 6c 51 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 gAwIBAgIIdJclisc/elQwCgYIKoZIzj0
1b9680 45 41 77 4d 77 52 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 44 41 53 42 67 4e EAwMwRTELMAkGA1UEBhMCVVMxFDASBgN
1b96a0 56 0a 42 41 6f 4d 43 30 46 6d 5a 6d 6c 79 62 56 52 79 64 58 4e 30 4d 53 41 77 48 67 59 44 56 51 V.BAoMC0FmZmlybVRydXN0MSAwHgYDVQ
1b96c0 51 44 44 42 64 42 5a 6d 5a 70 63 6d 31 55 63 6e 56 7a 64 43 42 51 63 6d 56 74 61 58 56 74 49 45 QDDBdBZmZpcm1UcnVzdCBQcmVtaXVtIE
1b96e0 56 44 51 7a 41 65 46 77 30 78 4d 44 41 78 0a 4d 6a 6b 78 4e 44 49 77 4d 6a 52 61 46 77 30 30 4d VDQzAeFw0xMDAx.MjkxNDIwMjRaFw00M
1b9700 44 45 79 4d 7a 45 78 4e 44 49 77 4d 6a 52 61 4d 45 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 DEyMzExNDIwMjRaMEUxCzAJBgNVBAYTA
1b9720 6c 56 54 4d 52 51 77 45 67 59 44 56 51 51 4b 44 41 74 42 5a 6d 5a 70 63 6d 31 55 0a 63 6e 56 7a lVTMRQwEgYDVQQKDAtBZmZpcm1U.cnVz
1b9740 64 44 45 67 4d 42 34 47 41 31 55 45 41 77 77 58 51 57 5a 6d 61 58 4a 74 56 48 4a 31 63 33 51 67 dDEgMB4GA1UEAwwXQWZmaXJtVHJ1c3Qg
1b9760 55 48 4a 6c 62 57 6c 31 62 53 42 46 51 30 4d 77 64 6a 41 51 42 67 63 71 68 6b 6a 4f 50 51 49 42 UHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIB
1b9780 42 67 55 72 67 51 51 41 0a 49 67 4e 69 41 41 51 4e 4d 46 34 62 46 5a 30 44 30 4b 46 35 4e 62 63 BgUrgQQA.IgNiAAQNMF4bFZ0D0KF5Nbc
1b97a0 36 50 4a 4a 36 79 68 55 63 7a 57 4c 7a 6e 43 5a 63 42 7a 33 6c 56 50 71 6a 31 73 77 53 36 76 51 6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQ
1b97c0 55 58 2b 69 4f 47 61 73 76 4c 6b 6a 6d 72 42 68 44 65 4b 7a 51 0a 4e 38 4f 39 73 73 30 73 35 6b UX+iOGasvLkjmrBhDeKzQ.N8O9ss0s5k
1b97e0 66 69 47 75 5a 6a 75 44 30 75 4c 33 6a 45 54 39 76 30 44 36 52 6f 54 46 56 79 61 35 55 64 54 68 fiGuZjuD0uL3jET9v0D6RoTFVya5UdTh
1b9800 68 43 6c 58 6a 4d 4e 7a 79 52 34 70 74 6c 4b 79 6d 6a 51 6a 42 41 4d 42 30 47 41 31 55 64 44 67 hClXjMNzyR4ptlKymjQjBAMB0GA1UdDg
1b9820 51 57 0a 42 42 53 61 72 79 6c 36 77 42 45 31 4e 53 5a 52 4d 41 44 44 61 76 35 41 31 61 37 57 50 QW.BBSaryl6wBE1NSZRMADDav5A1a7WP
1b9840 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 DAPBgNVHRMBAf8EBTADAQH/MA4GA1UdD
1b9860 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 4b 0a 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 77 4e 6e wEB/wQEAwIBBjAK.BggqhkjOPQQDAwNn
1b9880 41 44 42 6b 41 6a 41 58 43 66 4f 48 69 46 42 61 72 38 6a 41 51 72 39 48 58 2f 56 73 61 6f 62 67 ADBkAjAXCfOHiFBar8jAQr9HX/Vsaobg
1b98a0 78 43 64 30 35 44 68 54 31 77 56 2f 47 7a 54 6a 78 69 2b 7a 79 67 6b 38 4e 35 33 58 0a 35 37 68 xCd05DhT1wV/GzTjxi+zygk8N53X.57h
1b98c0 47 38 66 32 68 34 6e 45 43 4d 45 4a 5a 68 30 50 55 55 64 2b 36 30 77 6b 79 57 73 36 49 66 6c 63 G8f2h4nECMEJZh0PUUd+60wkyWs6Iflc
1b98e0 39 6e 46 39 43 61 2f 55 48 4c 62 58 77 67 70 50 35 57 57 2b 75 5a 50 70 59 35 59 73 65 34 32 4f 9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O
1b9900 2b 74 59 48 4e 62 77 4b 4d 0a 65 51 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 +tYHNbwKM.eQ==.-----END.CERTIFIC
1b9920 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 75 6d 20 54 72 75 73 74 65 64 20 4e 65 74 77 6f 72 6b ATE-----..Certum.Trusted.Network
1b9940 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d .CA.=========================.--
1b9960 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 75 7a ---BEGIN.CERTIFICATE-----.MIIDuz
1b9980 43 43 41 71 4f 67 41 77 49 42 41 67 49 44 42 45 54 41 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 CCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQ
1b99a0 45 42 42 51 55 41 4d 48 34 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 42 4d 4d 53 49 77 49 41 EBBQUAMH4xCzAJBgNVBAYTAlBMMSIwIA
1b99c0 59 44 56 51 51 4b 0a 45 78 6c 56 62 6d 6c 36 5a 58 52 76 49 46 52 6c 59 32 68 75 62 32 78 76 5a YDVQQK.ExlVbml6ZXRvIFRlY2hub2xvZ
1b99e0 32 6c 6c 63 79 42 54 4c 6b 45 75 4d 53 63 77 4a 51 59 44 56 51 51 4c 45 78 35 44 5a 58 4a 30 64 2llcyBTLkEuMScwJQYDVQQLEx5DZXJ0d
1b9a00 57 30 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 0a 62 69 42 42 64 58 52 6f 62 33 4a 70 W0gQ2VydGlmaWNhdGlv.biBBdXRob3Jp
1b9a20 64 48 6b 78 49 6a 41 67 42 67 4e 56 42 41 4d 54 47 55 4e 6c 63 6e 52 31 62 53 42 55 63 6e 56 7a dHkxIjAgBgNVBAMTGUNlcnR1bSBUcnVz
1b9a40 64 47 56 6b 49 45 35 6c 64 48 64 76 63 6d 73 67 51 30 45 77 48 68 63 4e 4d 44 67 78 4d 44 49 79 dGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIy
1b9a60 0a 4d 54 49 77 4e 7a 4d 33 57 68 63 4e 4d 6a 6b 78 4d 6a 4d 78 4d 54 49 77 4e 7a 4d 33 57 6a 42 .MTIwNzM3WhcNMjkxMjMxMTIwNzM3WjB
1b9a80 2b 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 51 54 44 45 69 4d 43 41 47 41 31 55 45 43 68 4d +MQswCQYDVQQGEwJQTDEiMCAGA1UEChM
1b9aa0 5a 56 57 35 70 65 6d 56 30 62 79 42 55 0a 5a 57 4e 6f 62 6d 39 73 62 32 64 70 5a 58 4d 67 55 79 ZVW5pemV0byBU.ZWNobm9sb2dpZXMgUy
1b9ac0 35 42 4c 6a 45 6e 4d 43 55 47 41 31 55 45 43 78 4d 65 51 32 56 79 64 48 56 74 49 45 4e 6c 63 6e 5BLjEnMCUGA1UECxMeQ2VydHVtIENlcn
1b9ae0 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 0a 4d 53 49 77 49 RpZmljYXRpb24gQXV0aG9yaXR5.MSIwI
1b9b00 41 59 44 56 51 51 44 45 78 6c 44 5a 58 4a 30 64 57 30 67 56 48 4a 31 63 33 52 6c 5a 43 42 4f 5a AYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZ
1b9b20 58 52 33 62 33 4a 72 49 45 4e 42 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 XR3b3JrIENBMIIBIjANBgkqhkiG9w0BA
1b9b40 51 45 46 41 41 4f 43 0a 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 34 2f 74 39 6f 33 4b 36 QEFAAOC.AQ8AMIIBCgKCAQEA4/t9o3K6
1b9b60 77 76 44 4a 46 49 66 31 61 77 46 4f 34 57 35 41 42 37 70 74 4a 31 31 2f 39 31 73 74 73 31 72 48 wvDJFIf1awFO4W5AB7ptJ11/91sts1rH
1b9b80 55 56 2b 72 70 44 4b 6d 59 59 65 32 62 67 2b 47 30 6a 41 43 0a 6c 2f 6a 58 61 56 65 68 47 44 6c UV+rpDKmYYe2bg+G0jAC.l/jXaVehGDl
1b9ba0 64 61 6d 52 35 78 67 46 5a 72 44 77 78 53 6a 68 38 30 67 54 53 53 79 6a 6f 49 46 38 37 42 36 4c damR5xgFZrDwxSjh80gTSSyjoIF87B6L
1b9bc0 4d 54 58 50 62 38 36 35 50 78 31 62 56 57 71 65 57 69 66 72 7a 71 32 6a 55 49 34 5a 5a 4a 38 38 MTXPb865Px1bVWqeWifrzq2jUI4ZZJ88
1b9be0 4a 0a 4a 37 79 73 62 6e 4b 44 48 44 42 79 33 2b 43 69 36 64 4c 68 64 48 55 5a 76 53 71 65 65 78 J.J7ysbnKDHDBy3+Ci6dLhdHUZvSqeex
1b9c00 56 55 42 42 76 58 51 7a 6d 74 56 53 6a 46 34 68 71 37 39 4d 44 6b 72 6a 68 4a 4d 38 78 32 68 5a VUBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ
1b9c20 38 35 52 64 4b 6b 6e 76 49 53 6a 46 48 34 0a 66 4f 51 74 66 2f 57 73 58 2b 73 57 6e 37 45 74 30 85RdKknvISjFH4.fOQtf/WsX+sWn7Et0
1b9c40 62 72 4d 6b 55 4a 33 54 43 58 4a 6b 44 68 76 32 2f 44 4d 2b 34 34 65 6c 31 6b 2b 31 57 42 4f 35 brMkUJ3TCXJkDhv2/DM+44el1k+1WBO5
1b9c60 67 55 6f 37 55 6c 35 45 30 75 36 53 4e 73 76 2b 58 4c 54 4f 63 72 2b 48 39 67 30 0a 63 76 57 30 gUo7Ul5E0u6SNsv+XLTOcr+H9g0.cvW0
1b9c80 51 4d 38 78 41 63 50 73 33 68 45 74 46 31 30 66 75 46 44 52 58 68 6d 6e 61 64 34 48 4d 79 6a 4b QM8xAcPs3hEtF10fuFDRXhmnad4HMyjK
1b9ca0 55 4a 58 35 70 31 54 4c 56 49 5a 51 52 61 6e 35 53 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 UJX5p1TLVIZQRan5SQIDAQABo0IwQDAP
1b9cc0 42 67 4e 56 48 52 4d 42 0a 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 BgNVHRMB.Af8EBTADAQH/MB0GA1UdDgQ
1b9ce0 57 42 42 51 49 64 73 33 4c 42 2f 38 6b 39 73 58 4e 37 62 75 51 76 4f 4b 45 4e 30 5a 31 39 7a 41 WBBQIds3LB/8k9sXN7buQvOKEN0Z19zA
1b9d00 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 OBgNVHQ8BAf8EBAMCAQYw.DQYJKoZIhv
1b9d20 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 4b 61 6f 72 53 4c 4f 41 54 32 6d 6f 2f 39 69 30 45 cNAQEFBQADggEBAKaorSLOAT2mo/9i0E
1b9d40 69 64 69 31 35 79 73 48 68 45 34 39 77 63 72 77 6e 39 49 30 6a 36 76 53 72 45 75 56 55 45 74 52 idi15ysHhE49wcrwn9I0j6vSrEuVUEtR
1b9d60 43 6a 0a 6a 53 66 65 43 34 4a 6a 30 4f 37 65 44 44 64 35 51 56 73 69 73 72 43 61 51 56 79 6d 63 Cj.jSfeC4Jj0O7eDDd5QVsisrCaQVymc
1b9d80 4f 44 55 30 48 66 4c 49 39 4d 41 34 47 78 57 4c 2b 46 70 44 51 33 5a 71 72 38 68 67 56 44 5a 42 ODU0HfLI9MA4GxWL+FpDQ3Zqr8hgVDZB
1b9da0 71 57 6f 2f 35 55 33 30 4b 72 2b 34 72 50 31 0a 6d 53 31 46 68 49 72 6c 51 67 6e 58 64 41 49 76 qWo/5U30Kr+4rP1.mS1FhIrlQgnXdAIv
1b9dc0 39 34 6e 59 6d 65 6d 38 4a 39 52 48 6a 62 6f 4e 52 68 78 33 7a 78 53 6b 48 4c 6d 6b 4d 63 53 63 94nYmem8J9RHjboNRhx3zxSkHLmkMcSc
1b9de0 4b 48 51 44 4e 50 38 7a 47 53 61 6c 36 51 31 30 74 7a 36 58 78 6e 62 6f 4a 35 61 6a 0a 5a 74 33 KHQDNP8zGSal6Q10tz6XxnboJ5aj.Zt3
1b9e00 68 72 76 4a 42 57 38 71 59 56 6f 4e 7a 63 4f 53 47 47 74 49 78 51 62 6f 76 76 69 30 54 57 6e 5a hrvJBW8qYVoNzcOSGGtIxQbovvi0TWnZ
1b9e20 76 54 75 68 4f 67 51 34 2f 57 77 4d 69 6f 42 4b 2b 5a 6c 67 52 53 73 73 44 78 4c 51 71 4b 69 32 vTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2
1b9e40 57 46 2b 41 35 56 4c 78 49 0a 30 33 59 6e 6e 5a 6f 74 42 71 62 4a 37 44 6e 53 71 39 75 66 6d 67 WF+A5VLxI.03YnnZotBqbJ7DnSq9ufmg
1b9e60 73 6e 41 6a 55 70 73 55 43 56 35 2f 6e 6f 6e 46 57 49 47 55 62 57 74 7a 54 31 66 73 34 35 6d 74 snAjUpsUCV5/nonFWIGUbWtzT1fs45mt
1b9e80 6b 34 38 56 48 33 54 79 77 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d k48VH3Tyw=.-----END.CERTIFICATE-
1b9ea0 2d 2d 2d 2d 0a 0a 54 57 43 41 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 ----..TWCA.Root.Certification.Au
1b9ec0 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d thority.========================
1b9ee0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1b9f00 2d 2d 2d 2d 2d 0a 4d 49 49 44 65 7a 43 43 41 6d 4f 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 -----.MIIDezCCAmOgAwIBAgIBATANBg
1b9f20 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 66 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 kqhkiG9w0BAQUFADBfMQswCQYDVQQGEw
1b9f40 4a 55 56 7a 45 53 4d 42 41 47 41 31 55 45 43 67 77 4a 0a 56 45 46 4a 56 30 46 4f 4c 55 4e 42 4d JUVzESMBAGA1UECgwJ.VEFJV0FOLUNBM
1b9f60 52 41 77 44 67 59 44 56 51 51 4c 44 41 64 53 62 32 39 30 49 45 4e 42 4d 53 6f 77 4b 41 59 44 56 RAwDgYDVQQLDAdSb290IENBMSowKAYDV
1b9f80 51 51 44 44 43 46 55 56 30 4e 42 49 46 4a 76 62 33 51 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 0a QQDDCFUV0NBIFJvb3QgQ2VydGlmaWNh.
1b9fa0 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d 44 67 77 4f 44 49 34 dGlvbiBBdXRob3JpdHkwHhcNMDgwODI4
1b9fc0 4d 44 63 79 4e 44 4d 7a 57 68 63 4e 4d 7a 41 78 4d 6a 4d 78 4d 54 55 31 4f 54 55 35 57 6a 42 66 MDcyNDMzWhcNMzAxMjMxMTU1OTU5WjBf
1b9fe0 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 55 56 7a 45 53 4d 42 41 47 41 31 55 45 43 67 77 MQswCQYDVQQG.EwJUVzESMBAGA1UECgw
1ba000 4a 56 45 46 4a 56 30 46 4f 4c 55 4e 42 4d 52 41 77 44 67 59 44 56 51 51 4c 44 41 64 53 62 32 39 JVEFJV0FOLUNBMRAwDgYDVQQLDAdSb29
1ba020 30 49 45 4e 42 4d 53 6f 77 4b 41 59 44 56 51 51 44 44 43 46 55 56 30 4e 42 0a 49 46 4a 76 62 33 0IENBMSowKAYDVQQDDCFUV0NB.IFJvb3
1ba040 51 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdH
1ba060 6b 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 kwggEiMA0GCSqGSIb3DQEBAQUAA4IBDw
1ba080 41 77 67 67 45 4b 0a 41 6f 49 42 41 51 43 77 66 6e 4b 34 70 41 4f 55 35 71 66 65 43 54 69 52 53 AwggEK.AoIBAQCwfnK4pAOU5qfeCTiRS
1ba0a0 68 46 41 68 36 64 38 57 57 51 55 65 37 55 52 45 4e 33 2b 76 39 58 41 75 31 62 69 68 53 58 30 4e hFAh6d8WWQUe7UREN3+v9XAu1bihSX0N
1ba0c0 58 49 50 2b 46 50 51 51 65 46 45 41 63 4b 30 48 4d 4d 78 0a 51 68 5a 48 68 54 4d 69 64 72 49 4b XIP+FPQQeFEAcK0HMMx.QhZHhTMidrIK
1ba0e0 62 77 2f 6c 4a 56 42 50 68 59 61 2b 76 35 67 75 45 47 63 65 76 68 45 46 68 67 57 51 78 46 6e 51 bw/lJVBPhYa+v5guEGcevhEFhgWQxFnQ
1ba100 66 48 67 51 73 49 42 63 74 2b 48 48 4b 33 58 4c 66 4a 2b 75 74 64 47 64 49 7a 64 6a 70 39 78 43 fHgQsIBct+HHK3XLfJ+utdGdIzdjp9xC
1ba120 0a 6f 69 32 53 42 42 74 51 77 58 75 34 50 68 76 4a 56 67 53 4c 4c 31 4b 62 72 61 6c 57 36 63 48 .oi2SBBtQwXu4PhvJVgSLL1KbralW6cH
1ba140 2f 72 61 6c 59 68 7a 43 32 67 66 65 58 52 66 77 5a 56 7a 73 72 62 2b 52 48 39 4a 6c 46 2f 68 33 /ralYhzC2gfeXRfwZVzsrb+RH9JlF/h3
1ba160 78 2b 4a 65 6a 69 42 30 33 48 46 79 50 0a 34 48 59 6c 6d 6c 44 34 6f 46 54 2f 52 4a 42 32 49 39 x+JejiB03HFyP.4HYlmlD4oFT/RJB2I9
1ba180 49 79 78 73 4f 72 42 72 2f 38 2b 37 2f 7a 72 58 32 53 59 67 4a 62 4b 64 4d 31 6f 35 4f 61 51 32 IyxsOrBr/8+7/zrX2SYgJbKdM1o5OaQ2
1ba1a0 52 67 58 62 4c 36 4d 76 38 37 42 4b 39 4e 51 47 72 35 78 2b 50 76 49 2f 31 72 0a 79 2b 55 50 69 RgXbL6Mv87BK9NQGr5x+PvI/1r.y+UPi
1ba1c0 7a 67 4e 37 67 72 38 2f 67 2b 59 6e 7a 41 78 33 57 78 53 5a 66 6d 4c 67 62 34 69 34 52 78 59 41 zgN7gr8/g+YnzAx3WxSZfmLgb4i4RxYA
1ba1e0 37 71 52 47 34 6b 48 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 34 47 41 31 55 64 44 77 45 42 2f 7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/
1ba200 77 51 45 41 77 49 42 0a 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f wQEAwIB.BjAPBgNVHRMBAf8EBTADAQH/
1ba220 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 71 4f 46 73 6d 6a 64 36 4c 57 76 4a 50 65 6c 53 44 MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSD
1ba240 47 52 6a 6a 43 44 57 6d 75 6a 41 4e 42 67 6b 71 68 6b 69 47 0a 39 77 30 42 41 51 55 46 41 41 4f GRjjCDWmujANBgkqhkiG.9w0BAQUFAAO
1ba260 43 41 51 45 41 50 4e 56 33 50 64 72 66 69 62 71 48 44 41 68 55 61 69 42 51 6b 72 36 77 51 54 32 CAQEAPNV3PdrfibqHDAhUaiBQkr6wQT2
1ba280 35 4a 6d 53 44 43 69 2f 6f 51 4d 43 58 4b 43 65 43 4d 45 72 4a 6b 2f 39 71 35 36 59 41 66 34 6c 5JmSDCi/oQMCXKCeCMErJk/9q56YAf4l
1ba2a0 43 0a 6d 74 59 52 35 56 50 4f 4c 38 7a 79 32 67 58 45 2f 75 4a 51 78 44 71 47 66 63 7a 61 66 68 C.mtYR5VPOL8zy2gXE/uJQxDqGfczafh
1ba2c0 41 4a 4f 35 49 31 4b 6c 4f 79 2f 75 73 72 42 64 6c 73 58 65 62 51 37 39 4e 71 5a 70 34 56 4b 49 AJO5I1KlOy/usrBdlsXebQ79NqZp4VKI
1ba2e0 56 36 36 49 49 41 72 42 36 6e 43 57 6c 57 0a 51 74 4e 6f 55 52 69 2b 56 4a 71 2f 52 45 47 36 53 V66IIArB6nCWlW.QtNoURi+VJq/REG6S
1ba300 62 34 67 75 6d 6c 63 37 72 68 33 7a 63 35 73 48 36 32 44 6c 68 68 39 44 72 55 55 4f 59 54 78 4b b4gumlc7rh3zc5sH62Dlhh9DrUUOYTxK
1ba320 4f 6b 74 6f 35 35 37 48 6e 70 79 57 6f 4f 7a 65 57 2f 76 74 50 7a 51 43 71 56 59 0a 54 30 62 66 Okto557HnpyWoOzeW/vtPzQCqVY.T0bf
1ba340 2b 32 31 35 57 66 4b 45 49 6c 4b 75 44 38 7a 37 66 44 76 6e 61 73 70 48 59 63 4e 36 2b 4e 4f 53 +215WfKEIlKuD8z7fDvnaspHYcN6+NOS
1ba360 42 42 2b 34 49 49 54 68 4e 6c 51 57 78 30 44 65 4f 34 70 7a 33 4e 2f 47 43 55 7a 66 37 4e 72 2f BB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/
1ba380 31 46 4e 43 6f 63 6e 79 0a 59 68 30 69 67 7a 79 58 78 66 6b 5a 59 69 65 73 5a 53 4c 58 30 7a 7a 1FNCocny.Yh0igzyXxfkZYiesZSLX0zz
1ba3a0 47 35 59 36 79 55 38 78 4a 7a 72 77 77 2f 6e 73 4f 4d 35 44 37 37 64 49 55 6b 52 38 48 72 77 3d G5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw=
1ba3c0 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 65 63 =.-----END.CERTIFICATE-----..Sec
1ba3e0 75 72 69 74 79 20 43 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 20 52 6f 6f 74 43 41 32 0a 3d 3d 3d 3d urity.Communication.RootCA2.====
1ba400 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d ==========================.-----
1ba420 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 64 7a 43 43 41 BEGIN.CERTIFICATE-----.MIIDdzCCA
1ba440 6c 2b 67 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 l+gAwIBAgIBADANBgkqhkiG9w0BAQsFA
1ba460 44 42 64 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4b 55 44 45 6c 4d 43 4d 47 41 31 55 45 43 DBdMQswCQYDVQQGEwJKUDElMCMGA1UEC
1ba480 68 4d 63 0a 55 30 56 44 54 30 30 67 56 48 4a 31 63 33 51 67 55 33 6c 7a 64 47 56 74 63 79 42 44 hMc.U0VDT00gVHJ1c3QgU3lzdGVtcyBD
1ba4a0 54 79 34 73 54 46 52 45 4c 6a 45 6e 4d 43 55 47 41 31 55 45 43 78 4d 65 55 32 56 6a 64 58 4a 70 Ty4sTFRELjEnMCUGA1UECxMeU2VjdXJp
1ba4c0 64 48 6b 67 51 32 39 74 62 58 56 75 61 57 4e 68 0a 64 47 6c 76 62 69 42 53 62 32 39 30 51 30 45 dHkgQ29tbXVuaWNh.dGlvbiBSb290Q0E
1ba4e0 79 4d 42 34 58 44 54 41 35 4d 44 55 79 4f 54 41 31 4d 44 41 7a 4f 56 6f 58 44 54 49 35 4d 44 55 yMB4XDTA5MDUyOTA1MDAzOVoXDTI5MDU
1ba500 79 4f 54 41 31 4d 44 41 7a 4f 56 6f 77 58 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 53 6c yOTA1MDAzOVowXTELMAkGA1UEBhMC.Sl
1ba520 41 78 4a 54 41 6a 42 67 4e 56 42 41 6f 54 48 46 4e 46 51 30 39 4e 49 46 52 79 64 58 4e 30 49 46 AxJTAjBgNVBAoTHFNFQ09NIFRydXN0IF
1ba540 4e 35 63 33 52 6c 62 58 4d 67 51 30 38 75 4c 45 78 55 52 43 34 78 4a 7a 41 6c 42 67 4e 56 42 41 N5c3RlbXMgQ08uLExURC4xJzAlBgNVBA
1ba560 73 54 48 6c 4e 6c 59 33 56 79 0a 61 58 52 35 49 45 4e 76 62 57 31 31 62 6d 6c 6a 59 58 52 70 62 sTHlNlY3Vy.aXR5IENvbW11bmljYXRpb
1ba580 32 34 67 55 6d 39 76 64 45 4e 42 4d 6a 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 24gUm9vdENBMjCCASIwDQYJKoZIhvcNA
1ba5a0 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 0a 41 4e 41 56 4f 56 4b 78 QEBBQADggEPADCCAQoCggEB.ANAVOVKx
1ba5c0 55 72 4f 36 78 56 6d 43 78 46 31 53 72 6a 70 44 5a 59 42 4c 78 2f 4b 57 76 4e 73 32 6c 39 61 6d UrO6xVmCxF1SrjpDZYBLx/KWvNs2l9am
1ba5e0 5a 49 79 6f 58 76 44 6a 43 68 7a 33 33 35 63 39 53 36 37 32 58 65 77 68 74 55 47 72 7a 62 6c 2b ZIyoXvDjChz335c9S672XewhtUGrzbl+
1ba600 64 70 2b 2b 0a 2b 54 34 32 4e 4b 41 37 77 66 59 78 45 55 56 30 6b 7a 31 58 67 4d 58 35 69 5a 6e dp++.+T42NKA7wfYxEUV0kz1XgMX5iZn
1ba620 4b 35 61 74 71 31 4c 58 61 51 5a 41 51 77 64 62 57 51 6f 6e 43 76 2f 51 34 45 70 56 4d 56 41 58 K5atq1LXaQZAQwdbWQonCv/Q4EpVMVAX
1ba640 33 4e 75 52 46 67 33 73 55 5a 64 62 63 44 45 33 52 0a 33 6e 34 4d 71 7a 76 45 46 62 34 36 56 71 3NuRFg3sUZdbcDE3R.3n4MqzvEFb46Vq
1ba660 5a 61 62 33 5a 70 55 71 6c 36 75 63 6a 72 61 70 70 64 55 74 41 74 43 6d 73 31 46 67 6b 51 68 4e Zab3ZpUql6ucjrappdUtAtCms1FgkQhN
1ba680 42 71 79 6a 6f 47 41 44 64 48 35 48 35 58 54 7a 2b 4c 36 32 65 34 69 4b 72 46 76 6c 4e 56 0a 73 BqyjoGADdH5H5XTz+L62e4iKrFvlNV.s
1ba6a0 70 48 45 66 62 6d 77 68 52 6b 47 65 43 37 62 59 52 72 36 68 66 56 4b 6b 61 48 6e 46 74 57 4f 6f pHEfbmwhRkGeC7bYRr6hfVKkaHnFtWOo
1ba6c0 6a 6e 66 6c 4c 68 77 48 79 67 2f 69 2f 78 41 58 6d 4f 44 50 49 4d 71 47 70 6c 72 7a 39 35 5a 61 jnflLhwHyg/i/xAXmODPIMqGplrz95Za
1ba6e0 6a 76 38 62 78 62 58 48 2f 31 4b 0a 45 4f 74 4f 67 68 59 36 72 43 63 4d 55 2f 47 74 31 53 53 77 jv8bxbXH/1K.EOtOghY6rCcMU/Gt1SSw
1ba700 61 77 4e 51 77 53 30 38 46 74 31 45 4e 43 63 61 64 66 73 43 41 77 45 41 41 61 4e 43 4d 45 41 77 awNQwS08Ft1ENCcadfsCAwEAAaNCMEAw
1ba720 48 51 59 44 56 52 30 4f 42 42 59 45 46 41 71 46 71 58 64 6c 42 5a 68 38 0a 51 49 48 34 44 35 63 HQYDVR0OBBYEFAqFqXdlBZh8.QIH4D5c
1ba740 73 4f 50 45 4b 37 44 7a 50 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 sOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjA
1ba760 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 30 47 43 53 71 47 53 49 62 PBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb
1ba780 33 44 51 45 42 0a 43 77 55 41 41 34 49 42 41 51 42 4d 4f 71 4e 45 72 4c 6c 46 73 63 65 54 66 73 3DQEB.CwUAA4IBAQBMOqNErLlFsceTfs
1ba7a0 67 4c 43 6b 4c 66 5a 4f 6f 63 37 6c 6c 73 43 4c 71 4a 58 32 72 4b 53 70 57 65 65 6f 38 48 78 64 gLCkLfZOoc7llsCLqJX2rKSpWeeo8Hxd
1ba7c0 70 46 63 6f 4a 78 44 6a 72 53 7a 47 2b 6e 74 4b 45 6a 0a 75 2f 59 6b 6e 38 73 58 2f 6f 79 6d 7a pFcoJxDjrSzG+ntKEj.u/Ykn8sX/oymz
1ba7e0 73 4c 53 32 38 79 4e 2f 48 48 38 41 79 6e 42 62 46 30 7a 58 32 53 32 5a 54 75 4a 62 78 68 32 65 sLS28yN/HH8AynBbF0zX2S2ZTuJbxh2e
1ba800 50 58 63 6f 6b 67 66 47 54 2b 4f 6b 2b 76 78 2b 68 66 75 7a 55 37 6a 42 42 4a 56 31 75 58 6b 0a PXcokgfGT+Ok+vx+hfuzU7jBBJV1uXk.
1ba820 33 66 73 2b 42 58 7a 69 48 56 37 47 70 37 79 58 54 32 67 36 39 65 6b 75 43 6b 4f 32 72 31 64 63 3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dc
1ba840 59 6d 68 38 74 2f 32 6a 69 6f 53 67 72 47 4b 2b 4b 77 6d 48 4e 50 42 71 41 62 75 62 4b 56 59 38 Ymh8t/2jioSgrGK+KwmHNPBqAbubKVY8
1ba860 2f 67 41 33 7a 79 4e 73 38 55 36 71 0a 74 6e 52 47 45 6d 79 52 37 6a 54 56 37 4a 71 52 35 30 53 /gA3zyNs8U6q.tnRGEmyR7jTV7JqR50S
1ba880 2b 6b 44 46 79 31 55 6b 43 39 67 4c 6c 39 42 2f 72 66 4e 6d 57 56 61 6e 2f 37 49 72 35 6d 55 66 +kDFy1UkC9gLl9B/rfNmWVan/7Ir5mUf
1ba8a0 2f 4e 56 6f 43 71 67 54 4c 69 6c 75 48 63 53 6d 52 76 61 53 30 65 67 32 39 0a 6d 76 56 58 49 77 /NVoCqgTLiluHcSmRvaS0eg29.mvVXIw
1ba8c0 41 48 49 52 63 2f 53 6a 6e 52 42 55 6b 4c 70 37 59 33 67 61 56 64 6a 4b 6f 7a 58 6f 45 6f 66 4b AHIRc/SjnRBUkLp7Y3gaVdjKozXoEofK
1ba8e0 64 39 4a 2b 73 41 72 6f 30 33 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d d9J+sAro03.-----END.CERTIFICATE-
1ba900 2d 2d 2d 2d 0a 0a 45 43 2d 41 43 43 0a 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 ----..EC-ACC.======.-----BEGIN.C
1ba920 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 56 6a 43 43 42 44 36 67 41 77 49 42 ERTIFICATE-----.MIIFVjCCBD6gAwIB
1ba940 41 67 49 51 37 69 73 39 36 39 51 68 33 68 53 6f 59 71 77 45 38 39 33 45 41 54 41 4e 42 67 6b 71 AgIQ7is969Qh3hSoYqwE893EATANBgkq
1ba960 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 38 7a 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d hkiG9w0BAQUFADCB8zELMAkGA1UE.BhM
1ba980 43 52 56 4d 78 4f 7a 41 35 42 67 4e 56 42 41 6f 54 4d 6b 46 6e 5a 57 35 6a 61 57 45 67 51 32 46 CRVMxOzA5BgNVBAoTMkFnZW5jaWEgQ2F
1ba9a0 30 59 57 78 68 62 6d 45 67 5a 47 55 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 59 32 6c 76 49 43 68 0YWxhbmEgZGUgQ2VydGlmaWNhY2lvICh
1ba9c0 4f 53 55 59 67 55 53 30 77 0a 4f 44 41 78 4d 54 63 32 4c 55 6b 70 4d 53 67 77 4a 67 59 44 56 51 OSUYgUS0w.ODAxMTc2LUkpMSgwJgYDVQ
1ba9e0 51 4c 45 78 39 54 5a 58 4a 32 5a 57 6c 7a 49 46 42 31 59 6d 78 70 59 33 4d 67 5a 47 55 67 51 32 QLEx9TZXJ2ZWlzIFB1YmxpY3MgZGUgQ2
1baa00 56 79 64 47 6c 6d 61 57 4e 68 59 32 6c 76 4d 54 55 77 4d 77 59 44 0a 56 51 51 4c 45 79 78 57 5a VydGlmaWNhY2lvMTUwMwYD.VQQLEyxWZ
1baa20 57 64 6c 64 53 42 6f 64 48 52 77 63 7a 6f 76 4c 33 64 33 64 79 35 6a 59 58 52 6a 5a 58 4a 30 4c WdldSBodHRwczovL3d3dy5jYXRjZXJ0L
1baa40 6d 35 6c 64 43 39 32 5a 58 4a 68 63 6e 4a 6c 62 43 41 6f 59 79 6b 77 4d 7a 45 31 4d 44 4d 47 41 m5ldC92ZXJhcnJlbCAoYykwMzE1MDMGA
1baa60 31 55 45 0a 43 78 4d 73 53 6d 56 79 59 58 4a 78 64 57 6c 68 49 45 56 75 64 47 6c 30 59 58 52 7a 1UE.CxMsSmVyYXJxdWlhIEVudGl0YXRz
1baa80 49 47 52 6c 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 57 4e 70 62 79 42 44 59 58 52 68 62 47 46 75 IGRlIENlcnRpZmljYWNpbyBDYXRhbGFu
1baaa0 5a 58 4d 78 44 7a 41 4e 42 67 4e 56 42 41 4d 54 0a 42 6b 56 44 4c 55 46 44 51 7a 41 65 46 77 30 ZXMxDzANBgNVBAMT.BkVDLUFDQzAeFw0
1baac0 77 4d 7a 41 78 4d 44 63 79 4d 7a 41 77 4d 44 42 61 46 77 30 7a 4d 54 41 78 4d 44 63 79 4d 6a 55 wMzAxMDcyMzAwMDBaFw0zMTAxMDcyMjU
1baae0 35 4e 54 6c 61 4d 49 48 7a 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 55 7a 45 37 0a 4d 44 5NTlaMIHzMQswCQYDVQQGEwJFUzE7.MD
1bab00 6b 47 41 31 55 45 43 68 4d 79 51 57 64 6c 62 6d 4e 70 59 53 42 44 59 58 52 68 62 47 46 75 59 53 kGA1UEChMyQWdlbmNpYSBDYXRhbGFuYS
1bab20 42 6b 5a 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 6a 61 57 38 67 4b 45 35 4a 52 69 42 52 4c 54 BkZSBDZXJ0aWZpY2FjaW8gKE5JRiBRLT
1bab40 41 34 4d 44 45 78 4e 7a 59 74 0a 53 53 6b 78 4b 44 41 6d 42 67 4e 56 42 41 73 54 48 31 4e 6c 63 A4MDExNzYt.SSkxKDAmBgNVBAsTH1Nlc
1bab60 6e 5a 6c 61 58 4d 67 55 48 56 69 62 47 6c 6a 63 79 42 6b 5a 53 42 44 5a 58 4a 30 61 57 5a 70 59 nZlaXMgUHVibGljcyBkZSBDZXJ0aWZpY
1bab80 32 46 6a 61 57 38 78 4e 54 41 7a 42 67 4e 56 42 41 73 54 4c 46 5a 6c 0a 5a 32 56 31 49 47 68 30 2FjaW8xNTAzBgNVBAsTLFZl.Z2V1IGh0
1baba0 64 48 42 7a 4f 69 38 76 64 33 64 33 4c 6d 4e 68 64 47 4e 6c 63 6e 51 75 62 6d 56 30 4c 33 5a 6c dHBzOi8vd3d3LmNhdGNlcnQubmV0L3Zl
1babc0 63 6d 46 79 63 6d 56 73 49 43 68 6a 4b 54 41 7a 4d 54 55 77 4d 77 59 44 56 51 51 4c 45 79 78 4b cmFycmVsIChjKTAzMTUwMwYDVQQLEyxK
1babe0 5a 58 4a 68 0a 63 6e 46 31 61 57 45 67 52 57 35 30 61 58 52 68 64 48 4d 67 5a 47 55 67 51 32 56 ZXJh.cnF1aWEgRW50aXRhdHMgZGUgQ2V
1bac00 79 64 47 6c 6d 61 57 4e 68 59 32 6c 76 49 45 4e 68 64 47 46 73 59 57 35 6c 63 7a 45 50 4d 41 30 ydGlmaWNhY2lvIENhdGFsYW5lczEPMA0
1bac20 47 41 31 55 45 41 78 4d 47 52 55 4d 74 51 55 4e 44 0a 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b GA1UEAxMGRUMtQUND.MIIBIjANBgkqhk
1bac40 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 73 79 iG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsy
1bac60 4c 48 54 2b 4b 58 51 70 57 49 52 34 4e 41 39 68 30 58 38 34 4e 7a 4a 42 35 52 38 35 69 4b 0a 77 LHT+KXQpWIR4NA9h0X84NzJB5R85iK.w
1bac80 35 4b 34 2f 30 43 51 42 58 43 48 59 4d 6b 41 71 62 57 55 5a 52 6b 69 46 52 66 43 51 32 78 6d 52 5K4/0CQBXCHYMkAqbWUZRkiFRfCQ2xmR
1baca0 4a 6f 4e 42 44 34 35 62 36 56 4c 65 71 70 6a 74 34 70 45 6e 64 6c 6a 6b 59 52 6d 34 43 67 50 75 JoNBD45b6VLeqpjt4pEndljkYRm4CgPu
1bacc0 6b 4c 6a 62 6f 37 33 46 43 65 54 0a 61 65 36 52 44 71 4e 66 44 72 48 72 5a 71 4a 79 54 78 49 54 kLjbo73FCeT.ae6RDqNfDrHrZqJyTxIT
1bace0 68 6d 56 36 50 74 74 50 42 2f 53 6e 43 57 44 61 4f 6b 4b 5a 78 37 4a 2f 73 78 61 56 48 4d 66 35 hmV6PttPB/SnCWDaOkKZx7J/sxaVHMf5
1bad00 4e 4c 57 55 68 64 57 5a 58 71 42 49 6f 48 37 6e 46 32 57 34 6f 6e 57 34 0a 48 76 50 6c 51 6e 32 NLWUhdWZXqBIoH7nF2W4onW4.HvPlQn2
1bad20 76 37 66 4f 4b 53 47 52 64 67 68 53 54 32 4d 44 6b 2f 37 4e 51 63 76 4a 32 39 72 4e 64 51 6c 42 v7fOKSGRdghST2MDk/7NQcvJ29rNdQlB
1bad40 35 30 4a 51 2b 61 77 77 41 76 74 68 72 44 6b 34 71 37 44 37 53 7a 49 4b 69 47 47 55 7a 45 33 65 50JQ+awwAvthrDk4q7D7SzIKiGGUzE3e
1bad60 65 6d 6c 30 61 0a 45 39 6a 44 32 7a 33 49 6c 33 72 75 63 4f 32 6e 35 6e 7a 62 63 63 38 74 6c 47 eml0a.E9jD2z3Il3rucO2n5nzbcc8tlG
1bad80 4c 66 62 64 62 31 4f 4c 34 2f 70 59 55 4b 47 62 69 6f 32 41 6c 31 51 6e 44 45 36 75 2f 4c 44 73 Lfbdb1OL4/pYUKGbio2Al1QnDE6u/LDs
1bada0 67 30 71 42 49 69 6d 41 79 34 45 35 53 32 53 2b 7a 77 0a 30 4a 44 6e 4a 77 49 44 41 51 41 42 6f g0qBIimAy4E5S2S+zw.0JDnJwIDAQABo
1badc0 34 48 6a 4d 49 48 67 4d 42 30 47 41 31 55 64 45 51 51 57 4d 42 53 42 45 6d 56 6a 58 32 46 6a 59 4HjMIHgMB0GA1UdEQQWMBSBEmVjX2FjY
1bade0 30 42 6a 59 58 52 6a 5a 58 4a 30 4c 6d 35 6c 64 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 0a 0BjYXRjZXJ0Lm5ldDAPBgNVHRMBAf8E.
1bae00 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd
1bae20 42 67 4e 56 48 51 34 45 46 67 51 55 6f 4d 4f 4c 52 4b 6f 33 70 55 57 2f 6c 34 42 61 30 66 46 34 BgNVHQ4EFgQUoMOLRKo3pUW/l4Ba0fF4
1bae40 6f 70 76 70 58 59 30 77 66 77 59 44 0a 56 52 30 67 42 48 67 77 64 6a 42 30 42 67 73 72 42 67 45 opvpXY0wfwYD.VR0gBHgwdjB0BgsrBgE
1bae60 45 41 66 56 34 41 51 4d 42 43 6a 42 6c 4d 43 77 47 43 43 73 47 41 51 55 46 42 77 49 42 46 69 42 EAfV4AQMBCjBlMCwGCCsGAQUFBwIBFiB
1bae80 6f 64 48 52 77 63 7a 6f 76 4c 33 64 33 64 79 35 6a 59 58 52 6a 5a 58 4a 30 0a 4c 6d 35 6c 64 43 odHRwczovL3d3dy5jYXRjZXJ0.Lm5ldC
1baea0 39 32 5a 58 4a 68 63 6e 4a 6c 62 44 41 31 42 67 67 72 42 67 45 46 42 51 63 43 41 6a 41 70 47 69 92ZXJhcnJlbDA1BggrBgEFBQcCAjApGi
1baec0 64 57 5a 57 64 6c 64 53 42 6f 64 48 52 77 63 7a 6f 76 4c 33 64 33 64 79 35 6a 59 58 52 6a 5a 58 dWZWdldSBodHRwczovL3d3dy5jYXRjZX
1baee0 4a 30 4c 6d 35 6c 0a 64 43 39 32 5a 58 4a 68 63 6e 4a 6c 62 43 41 77 44 51 59 4a 4b 6f 5a 49 68 J0Lm5l.dC92ZXJhcnJlbCAwDQYJKoZIh
1baf00 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 4b 42 49 57 34 49 42 39 6b 31 49 75 44 6c 56 4e vcNAQEFBQADggEBAKBIW4IB9k1IuDlVN
1baf20 5a 79 41 65 6c 4f 5a 31 56 72 2f 73 58 45 37 7a 44 6b 4a 0a 6c 46 37 57 32 75 2b 2b 41 56 74 64 ZyAelOZ1Vr/sXE7zDkJ.lF7W2u++AVtd
1baf40 30 78 37 59 2f 58 31 50 7a 61 42 42 34 44 53 54 76 38 76 69 68 70 77 33 6b 70 42 57 48 4e 7a 72 0x7Y/X1PzaBB4DSTv8vihpw3kpBWHNzr
1baf60 4b 51 58 6c 78 4a 37 48 4e 64 2b 4b 44 4d 33 46 49 55 50 70 71 6f 6a 6c 4e 63 41 5a 51 6d 4e 61 KQXlxJ7HNd+KDM3FIUPpqojlNcAZQmNa
1baf80 0a 41 6c 36 6b 53 42 67 36 68 57 2f 63 6e 62 77 2f 6e 5a 7a 42 68 37 68 36 59 51 6a 70 64 77 74 .Al6kSBg6hW/cnbw/nZzBh7h6YQjpdwt
1bafa0 2f 63 4b 74 36 33 64 6d 58 4c 47 51 65 68 62 2b 38 64 4a 61 68 77 33 6f 53 37 41 77 61 62 6f 4d /cKt63dmXLGQehb+8dJahw3oS7AwaboM
1bafc0 4d 50 4f 68 79 52 70 2f 37 53 4e 56 65 0a 6c 2b 61 78 6f 66 6a 6b 37 30 59 6c 6c 4a 79 4a 32 32 MPOhyRp/7SNVe.l+axofjk70YllJyJ22
1bafe0 6b 34 76 75 78 63 44 6c 62 48 5a 56 48 6c 55 49 69 49 76 30 4c 56 4b 7a 33 6c 2b 62 71 65 4c 72 k4vuxcDlbHZVHlUIiIv0LVKz3l+bqeLr
1bb000 50 4b 39 48 4f 53 41 67 75 2b 54 47 62 72 49 50 36 35 79 37 57 5a 66 2b 61 32 0a 45 2f 72 4b 53 PK9HOSAgu+TGbrIP65y7WZf+a2.E/rKS
1bb020 30 33 5a 37 6c 4e 47 42 6a 76 47 54 71 32 54 57 6f 46 2b 62 43 70 4c 61 67 56 46 6a 50 49 68 70 03Z7lNGBjvGTq2TWoF+bCpLagVFjPIhp
1bb040 44 47 51 68 32 78 6c 6e 4a 32 6c 59 4a 55 36 55 6e 2f 31 30 61 73 49 62 76 50 75 57 2f 6d 49 50 DGQh2xlnJ2lYJU6Un/10asIbvPuW/mIP
1bb060 58 36 34 62 32 34 44 0a 35 45 49 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 X64b24D.5EI=.-----END.CERTIFICAT
1bb080 45 2d 2d 2d 2d 2d 0a 0a 48 65 6c 6c 65 6e 69 63 20 41 63 61 64 65 6d 69 63 20 61 6e 64 20 52 65 E-----..Hellenic.Academic.and.Re
1bb0a0 73 65 61 72 63 68 20 49 6e 73 74 69 74 75 74 69 6f 6e 73 20 52 6f 6f 74 43 41 20 32 30 31 31 0a search.Institutions.RootCA.2011.
1bb0c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1bb0e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 =======================.-----BEG
1bb100 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4d 54 43 43 41 78 6d 67 IN.CERTIFICATE-----.MIIEMTCCAxmg
1bb120 41 77 49 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 43 42 AwIBAgIBADANBgkqhkiG9w0BAQUFADCB
1bb140 6c 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 31 49 78 52 44 42 43 42 67 4e 56 42 41 6f 54 lTELMAkGA1UEBhMCR1IxRDBCBgNVBAoT
1bb160 0a 4f 30 68 6c 62 47 78 6c 62 6d 6c 6a 49 45 46 6a 59 57 52 6c 62 57 6c 6a 49 47 46 75 5a 43 42 .O0hlbGxlbmljIEFjYWRlbWljIGFuZCB
1bb180 53 5a 58 4e 6c 59 58 4a 6a 61 43 42 4a 62 6e 4e 30 61 58 52 31 64 47 6c 76 62 6e 4d 67 51 32 56 SZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2V
1bb1a0 79 64 43 34 67 51 58 56 30 61 47 39 79 0a 61 58 52 35 4d 55 41 77 50 67 59 44 56 51 51 44 45 7a ydC4gQXV0aG9y.aXR5MUAwPgYDVQQDEz
1bb1c0 64 49 5a 57 78 73 5a 57 35 70 59 79 42 42 59 32 46 6b 5a 57 31 70 59 79 42 68 62 6d 51 67 55 6d dIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUm
1bb1e0 56 7a 5a 57 46 79 59 32 67 67 53 57 35 7a 64 47 6c 30 64 58 52 70 62 32 35 7a 0a 49 46 4a 76 62 VzZWFyY2ggSW5zdGl0dXRpb25z.IFJvb
1bb200 33 52 44 51 53 41 79 4d 44 45 78 4d 42 34 58 44 54 45 78 4d 54 49 77 4e 6a 45 7a 4e 44 6b 31 4d 3RDQSAyMDExMB4XDTExMTIwNjEzNDk1M
1bb220 6c 6f 58 44 54 4d 78 4d 54 49 77 4d 54 45 7a 4e 44 6b 31 4d 6c 6f 77 67 5a 55 78 43 7a 41 4a 42 loXDTMxMTIwMTEzNDk1MlowgZUxCzAJB
1bb240 67 4e 56 42 41 59 54 0a 41 6b 64 53 4d 55 51 77 51 67 59 44 56 51 51 4b 45 7a 74 49 5a 57 78 73 gNVBAYT.AkdSMUQwQgYDVQQKEztIZWxs
1bb260 5a 57 35 70 59 79 42 42 59 32 46 6b 5a 57 31 70 59 79 42 68 62 6d 51 67 55 6d 56 7a 5a 57 46 79 ZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFy
1bb280 59 32 67 67 53 57 35 7a 64 47 6c 30 64 58 52 70 62 32 35 7a 0a 49 45 4e 6c 63 6e 51 75 49 45 46 Y2ggSW5zdGl0dXRpb25z.IENlcnQuIEF
1bb2a0 31 64 47 68 76 63 6d 6c 30 65 54 46 41 4d 44 34 47 41 31 55 45 41 78 4d 33 53 47 56 73 62 47 56 1dGhvcml0eTFAMD4GA1UEAxM3SGVsbGV
1bb2c0 75 61 57 4d 67 51 57 4e 68 5a 47 56 74 61 57 4d 67 59 57 35 6b 49 46 4a 6c 63 32 56 68 63 6d 4e uaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmN
1bb2e0 6f 0a 49 45 6c 75 63 33 52 70 64 48 56 30 61 57 39 75 63 79 42 53 62 32 39 30 51 30 45 67 4d 6a o.IEluc3RpdHV0aW9ucyBSb290Q0EgMj
1bb300 41 78 4d 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 AxMTCCASIwDQYJKoZIhvcNAQEBBQADgg
1bb320 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 0a 41 4b 6c 54 41 4f 4d 75 70 76 61 4f 2b 6d 44 59 4c EPADCCAQoCggEB.AKlTAOMupvaO+mDYL
1bb340 5a 55 2b 2b 43 77 71 56 45 37 4e 75 59 52 68 6c 46 68 50 6a 7a 32 4c 35 45 50 7a 64 59 6d 4e 55 ZU++CwqVE7NuYRhlFhPjz2L5EPzdYmNU
1bb360 65 54 44 4e 39 4b 4b 69 45 31 35 48 72 63 53 33 55 4e 34 53 6f 71 53 35 74 64 49 0a 31 51 2b 6b eTDN9KKiE15HrcS3UN4SoqS5tdI.1Q+k
1bb380 4f 69 6c 45 4e 62 67 48 39 6d 67 64 56 63 30 34 55 66 43 4d 4a 44 47 46 72 34 50 4a 66 65 6c 33 OilENbgH9mgdVc04UfCMJDGFr4PJfel3
1bb3a0 72 2b 30 61 65 35 30 58 2b 62 4f 64 4f 46 41 50 70 6c 70 35 6b 59 43 76 4e 36 36 6d 30 7a 48 37 r+0ae50X+bOdOFAPplp5kYCvN66m0zH7
1bb3c0 74 53 59 4a 6e 54 78 61 0a 37 31 48 46 4b 39 2b 57 58 65 73 79 48 67 4c 61 63 45 6e 73 62 67 7a tSYJnTxa.71HFK9+WXesyHgLacEnsbgz
1bb3e0 49 6d 6a 65 4e 39 2f 45 32 59 45 73 6d 4c 49 4b 65 30 48 6a 7a 44 51 39 6a 70 46 45 77 34 66 6b ImjeN9/E2YEsmLIKe0HjzDQ9jpFEw4fk
1bb400 72 4a 78 49 48 32 4f 71 39 47 47 4b 59 73 46 6b 33 66 62 37 75 0a 38 79 42 52 51 6c 71 44 37 35 rJxIH2Oq9GGKYsFk3fb7u.8yBRQlqD75
1bb420 4f 36 61 52 58 78 59 70 32 66 6d 54 6d 43 6f 62 64 30 4c 6f 76 55 78 51 74 37 4c 2f 44 49 43 74 O6aRXxYp2fmTmCobd0LovUxQt7L/DICt
1bb440 6f 39 65 51 71 61 6b 78 79 6c 4b 48 4a 7a 6b 55 4f 61 70 39 46 4e 68 59 53 35 71 58 53 50 46 45 o9eQqakxylKHJzkUOap9FNhYS5qXSPFE
1bb460 44 48 0a 33 4e 36 73 51 57 52 73 74 42 6d 62 41 6d 4e 74 4a 47 53 50 52 4c 49 6c 36 73 35 64 64 DH.3N6sQWRstBmbAmNtJGSPRLIl6s5dd
1bb480 41 78 6a 4d 6c 79 4e 68 2b 55 43 41 77 45 41 41 61 4f 42 69 54 43 42 68 6a 41 50 42 67 4e 56 48 AxjMlyNh+UCAwEAAaOBiTCBhjAPBgNVH
1bb4a0 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 0a 4d 41 73 47 41 31 55 64 44 77 51 45 41 77 49 42 RMBAf8EBTADAQH/.MAsGA1UdDwQEAwIB
1bb4c0 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 70 70 46 43 2f 52 4e 68 53 69 4f 65 43 4b 51 70 BjAdBgNVHQ4EFgQUppFC/RNhSiOeCKQp
1bb4e0 35 64 67 54 42 43 50 75 51 53 55 77 52 77 59 44 56 52 30 65 42 45 41 77 50 71 41 38 0a 4d 41 57 5dgTBCPuQSUwRwYDVR0eBEAwPqA8.MAW
1bb500 43 41 79 35 6e 63 6a 41 46 67 67 4d 75 5a 58 55 77 42 6f 49 45 4c 6d 56 6b 64 54 41 47 67 67 51 CAy5ncjAFggMuZXUwBoIELmVkdTAGggQ
1bb520 75 62 33 4a 6e 4d 41 57 42 41 79 35 6e 63 6a 41 46 67 51 4d 75 5a 58 55 77 42 6f 45 45 4c 6d 56 ub3JnMAWBAy5ncjAFgQMuZXUwBoEELmV
1bb540 6b 64 54 41 47 67 51 51 75 0a 62 33 4a 6e 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 42 51 kdTAGgQQu.b3JnMA0GCSqGSIb3DQEBBQ
1bb560 55 41 41 34 49 42 41 51 41 66 37 33 6c 42 34 58 74 75 50 37 4b 4d 68 6a 64 43 53 6b 34 63 4e 78 UAA4IBAQAf73lB4XtuP7KMhjdCSk4cNx
1bb580 36 4e 5a 72 6f 6b 67 63 6c 50 45 67 38 68 77 41 4f 58 68 69 56 74 0a 58 64 4d 69 4b 61 68 73 6f 6NZrokgclPEg8hwAOXhiVt.XdMiKahso
1bb5a0 67 32 70 36 7a 30 47 57 35 6b 36 78 38 7a 44 6d 6a 52 2f 71 77 37 49 54 68 7a 68 2b 75 54 63 7a g2p6z0GW5k6x8zDmjR/qw7IThzh+uTcz
1bb5c0 51 32 2b 76 79 54 2b 62 4f 64 72 77 67 33 49 42 70 35 4f 6a 57 45 6f 70 6d 72 39 35 66 5a 69 36 Q2+vyT+bOdrwg3IBp5OjWEopmr95fZi6
1bb5e0 68 67 38 0a 54 71 42 54 6e 62 49 36 6e 4f 75 6c 6e 4a 45 57 74 6b 32 43 34 41 77 46 53 4b 6c 73 hg8.TqBTnbI6nOulnJEWtk2C4AwFSKls
1bb600 39 63 7a 34 79 35 31 4a 74 50 41 43 70 66 31 77 41 2b 32 4b 49 61 57 75 45 34 5a 4a 77 7a 4e 7a 9cz4y51JtPACpf1wA+2KIaWuE4ZJwzNz
1bb620 76 6f 63 37 64 49 73 58 52 53 5a 4d 46 70 47 44 0a 2f 6d 64 39 7a 55 31 6a 5a 2f 72 7a 41 78 4b voc7dIsXRSZMFpGD./md9zU1jZ/rzAxK
1bb640 57 65 41 61 4e 73 57 66 74 6a 6a 2b 2b 6e 30 38 43 39 62 4d 4a 4c 2f 4e 4d 68 39 38 71 79 35 56 WeAaNsWftjj++n08C9bMJL/NMh98qy5V
1bb660 38 41 63 79 73 4e 6e 71 2f 6f 6e 4e 36 39 34 2f 42 74 5a 71 68 46 4c 4b 50 4d 35 38 4e 0a 37 79 8AcysNnq/onN694/BtZqhFLKPM58N.7y
1bb680 4c 63 5a 6e 75 45 76 55 55 58 42 6a 30 38 79 72 6c 33 4e 49 2f 4b 36 73 38 2f 4d 54 37 6a 69 4f LcZnuEvUUXBj08yrl3NI/K6s8/MT7jiO
1bb6a0 4f 41 53 53 58 49 6c 37 57 64 6d 70 6c 4e 73 44 7a 34 53 67 43 62 5a 4e 32 66 4f 55 76 52 4a 39 OASSXIl7WdmplNsDz4SgCbZN2fOUvRJ9
1bb6c0 65 34 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 63 e4.-----END.CERTIFICATE-----..Ac
1bb6e0 74 61 6c 69 73 20 41 75 74 68 65 6e 74 69 63 61 74 69 6f 6e 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d talis.Authentication.Root.CA.===
1bb700 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d ===========================.----
1bb720 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 75 7a 43 43 -BEGIN.CERTIFICATE-----.MIIFuzCC
1bb740 41 36 4f 67 41 77 49 42 41 67 49 49 56 77 6f 52 6c 30 4c 45 34 38 77 77 44 51 59 4a 4b 6f 5a 49 A6OgAwIBAgIIVwoRl0LE48wwDQYJKoZI
1bb760 68 76 63 4e 41 51 45 4c 42 51 41 77 61 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 53 56 51 78 hvcNAQELBQAwazELMAkGA1UEBhMCSVQx
1bb780 44 6a 41 4d 0a 42 67 4e 56 42 41 63 4d 42 55 31 70 62 47 46 75 4d 53 4d 77 49 51 59 44 56 51 51 DjAM.BgNVBAcMBU1pbGFuMSMwIQYDVQQ
1bb7a0 4b 44 42 70 42 59 33 52 68 62 47 6c 7a 49 46 4d 75 63 43 35 42 4c 69 38 77 4d 7a 4d 31 4f 44 55 KDBpBY3RhbGlzIFMucC5BLi8wMzM1ODU
1bb7c0 79 4d 44 6b 32 4e 7a 45 6e 4d 43 55 47 41 31 55 45 0a 41 77 77 65 51 57 4e 30 59 57 78 70 63 79 yMDk2NzEnMCUGA1UE.AwweQWN0YWxpcy
1bb7e0 42 42 64 58 52 6f 5a 57 35 30 61 57 4e 68 64 47 6c 76 62 69 42 53 62 32 39 30 49 45 4e 42 4d 42 BBdXRoZW50aWNhdGlvbiBSb290IENBMB
1bb800 34 58 44 54 45 78 4d 44 6b 79 4d 6a 45 78 4d 6a 49 77 4d 6c 6f 58 44 54 4d 77 4d 44 6b 79 0a 4d 4XDTExMDkyMjExMjIwMloXDTMwMDky.M
1bb820 6a 45 78 4d 6a 49 77 4d 6c 6f 77 61 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 53 56 51 78 44 jExMjIwMlowazELMAkGA1UEBhMCSVQxD
1bb840 6a 41 4d 42 67 4e 56 42 41 63 4d 42 55 31 70 62 47 46 75 4d 53 4d 77 49 51 59 44 56 51 51 4b 44 jAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKD
1bb860 42 70 42 59 33 52 68 62 47 6c 7a 0a 49 46 4d 75 63 43 35 42 4c 69 38 77 4d 7a 4d 31 4f 44 55 79 BpBY3RhbGlz.IFMucC5BLi8wMzM1ODUy
1bb880 4d 44 6b 32 4e 7a 45 6e 4d 43 55 47 41 31 55 45 41 77 77 65 51 57 4e 30 59 57 78 70 63 79 42 42 MDk2NzEnMCUGA1UEAwweQWN0YWxpcyBB
1bb8a0 64 58 52 6f 5a 57 35 30 61 57 4e 68 64 47 6c 76 62 69 42 53 62 32 39 30 0a 49 45 4e 42 4d 49 49 dXRoZW50aWNhdGlvbiBSb290.IENBMII
1bb8c0 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 CIjANBgkqhkiG9w0BAQEFAAOCAg8AMII
1bb8e0 43 43 67 4b 43 41 67 45 41 70 38 62 45 70 53 6d 6b 4c 4f 2f 6c 47 4d 57 77 55 4b 4e 76 55 54 75 CCgKCAgEAp8bEpSmkLO/lGMWwUKNvUTu
1bb900 66 43 6c 72 4a 0a 77 6b 67 34 43 73 49 63 6f 42 68 2f 6b 62 57 48 75 55 41 2f 33 52 31 6f 48 77 fClrJ.wkg4CsIcoBh/kbWHuUA/3R1oHw
1bb920 69 44 31 53 30 65 69 4b 44 34 6a 31 61 50 62 5a 6b 43 6b 70 41 57 31 56 38 49 62 49 6e 58 34 61 iD1S0eiKD4j1aPbZkCkpAW1V8IbInX4a
1bb940 79 38 49 4d 4b 78 34 49 4e 52 69 6d 6c 4e 41 4a 5a 61 0a 62 79 2f 41 52 48 36 6a 44 75 53 52 7a y8IMKx4INRimlNAJZa.by/ARH6jDuSRz
1bb960 56 6a 75 33 50 76 48 48 6b 56 48 33 53 65 35 43 41 47 66 70 69 45 64 39 55 45 74 4c 30 7a 39 4b Vju3PvHHkVH3Se5CAGfpiEd9UEtL0z9K
1bb980 4b 33 67 69 71 30 69 74 46 5a 6c 6a 6f 5a 55 6a 35 4e 44 4b 64 34 35 52 6e 69 6a 4d 43 4f 36 0a K3giq0itFZljoZUj5NDKd45RnijMCO6.
1bb9a0 7a 66 42 39 45 31 66 41 58 64 4b 44 61 30 68 4d 78 4b 75 66 67 46 70 62 4f 72 33 4a 70 79 49 2f zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/
1bb9c0 67 43 63 7a 57 77 36 33 69 67 78 64 42 7a 63 49 79 32 7a 53 65 6b 63 69 52 44 58 46 7a 4d 77 75 gCczWw63igxdBzcIy2zSekciRDXFzMwu
1bb9e0 6a 74 30 71 37 62 64 39 5a 67 31 66 0a 59 56 45 69 56 52 76 6a 52 75 50 6a 50 64 41 31 59 70 72 jt0q7bd9Zg1f.YVEiVRvjRuPjPdA1Ypr
1bba00 62 72 78 54 49 57 36 48 4d 69 52 76 68 4d 43 62 38 6f 4a 73 66 67 61 64 48 48 77 54 72 6f 7a 6d brxTIW6HMiRvhMCb8oJsfgadHHwTrozm
1bba20 53 42 70 2b 5a 30 37 2f 54 36 6b 39 51 6e 42 6e 2b 6c 6f 63 65 50 47 58 32 0a 6f 78 67 6b 67 34 SBp+Z07/T6k9QnBn+locePGX2.oxgkg4
1bba40 59 51 35 31 51 2b 71 44 70 32 4a 45 2b 42 49 63 58 6a 44 77 4c 34 6b 35 52 48 49 4c 76 2b 31 41 YQ51Q+qDp2JE+BIcXjDwL4k5RHILv+1A
1bba60 37 54 61 4c 6e 64 78 48 71 45 67 75 4e 54 56 48 6e 64 32 35 7a 53 38 67 65 62 4c 72 61 38 50 75 7TaLndxHqEguNTVHnd25zS8gebLra8Pu
1bba80 32 46 62 65 38 6c 0a 45 66 4b 58 47 6b 4a 68 39 30 71 58 36 49 75 78 45 41 66 36 5a 59 47 79 6f 2Fbe8l.EfKXGkJh90qX6IuxEAf6ZYGyo
1bbaa0 6a 6e 50 39 7a 7a 2f 47 50 76 47 38 56 71 4c 57 65 49 43 72 48 75 53 30 45 34 55 54 31 6c 46 39 jnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9
1bbac0 67 78 65 4b 46 2b 77 36 44 39 46 7a 38 2b 76 6d 32 2f 37 0a 68 4e 4e 33 57 70 56 76 72 4a 53 45 gxeKF+w6D9Fz8+vm2/7.hNN3WpVvrJSE
1bbae0 6e 75 36 38 77 45 71 50 53 70 50 34 52 43 48 69 4d 55 56 68 55 45 34 51 32 4f 4d 31 66 45 77 5a nu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZ
1bbb00 74 4e 34 46 76 36 4d 47 6e 38 69 31 7a 65 51 66 31 78 63 47 44 58 71 56 64 46 55 4e 61 42 72 38 tN4Fv6MGn8i1zeQf1xcGDXqVdFUNaBr8
1bbb20 0a 45 42 74 69 5a 4a 31 74 34 4a 57 67 77 35 51 48 56 77 30 55 35 72 30 46 2b 37 69 66 35 74 2b .EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+
1bbb40 4c 34 73 62 6e 66 70 62 32 55 38 57 41 4e 46 41 6f 57 50 41 53 55 48 45 58 4d 4c 72 6d 65 47 4f L4sbnfpb2U8WANFAoWPASUHEXMLrmeGO
1bbb60 38 39 4c 4b 74 6d 79 75 79 2f 75 45 35 0a 6a 46 36 36 43 79 43 55 33 6e 75 44 75 50 2f 6a 56 6f 89LKtmyuy/uE5.jF66CyCU3nuDuP/jVo
1bbb80 32 33 45 65 6b 37 6a 50 4b 78 77 56 32 64 70 41 74 4d 4b 39 6d 79 47 50 57 31 6e 30 73 43 41 77 23Eek7jPKxwV2dpAtMK9myGPW1n0sCAw
1bbba0 45 41 41 61 4e 6a 4d 47 45 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 46 4c 59 0a 69 44 72 49 6e EAAaNjMGEwHQYDVR0OBBYEFFLY.iDrIn
1bbbc0 33 68 6d 37 59 6e 7a 65 7a 68 77 6c 4d 6b 43 41 6a 62 51 4d 41 38 47 41 31 55 64 45 77 45 42 2f 3hm7YnzezhwlMkCAjbQMA8GA1UdEwEB/
1bbbe0 77 51 46 4d 41 4d 42 41 66 38 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 55 74 69 49 4f wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIO
1bbc00 73 69 66 65 47 62 74 0a 69 66 4e 37 4f 48 43 55 79 51 49 43 4e 74 41 77 44 67 59 44 56 52 30 50 sifeGbt.ifN7OHCUyQICNtAwDgYDVR0P
1bbc20 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 AQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUA
1bbc40 41 34 49 43 41 51 41 4c 65 33 4b 48 77 47 43 6d 53 55 79 49 0a 57 4f 59 64 69 50 63 55 5a 45 69 A4ICAQALe3KHwGCmSUyI.WOYdiPcUZEi
1bbc60 6d 32 46 67 4b 44 6b 38 54 4e 64 38 31 48 64 54 74 42 6a 48 49 67 54 35 71 31 64 30 37 47 6a 4c m2FgKDk8TNd81HdTtBjHIgT5q1d07GjL
1bbc80 75 6b 44 30 52 30 69 37 30 6a 73 4e 6a 4c 69 4e 6d 73 47 65 2b 62 37 62 41 45 7a 6c 67 71 71 49 ukD0R0i70jsNjLiNmsGe+b7bAEzlgqqI
1bbca0 30 0a 4a 5a 4e 31 55 74 36 6e 6e 61 30 4f 68 34 6c 53 63 57 6f 57 50 42 6b 64 67 2f 69 61 4b 57 0.JZN1Ut6nna0Oh4lScWoWPBkdg/iaKW
1bbcc0 57 2b 39 44 2b 61 32 66 44 7a 57 6f 63 68 63 59 42 4e 79 2b 41 34 6d 7a 2b 37 2b 75 41 77 54 63 W+9D+a2fDzWochcYBNy+A4mz+7+uAwTc
1bbce0 2b 47 30 32 55 51 47 52 6a 52 6c 77 4b 78 0a 4b 33 4a 43 61 4b 79 67 76 55 35 61 32 68 69 2f 61 +G02UQGRjRlwKx.K3JCaKygvU5a2hi/a
1bbd00 35 69 42 30 50 32 61 76 6c 34 56 53 4d 30 52 46 62 6e 41 4b 56 79 30 36 49 6a 33 50 6a 61 75 74 5iB0P2avl4VSM0RFbnAKVy06Ij3Pjaut
1bbd20 32 4c 39 48 6d 4c 65 63 48 67 51 48 45 68 62 32 72 79 6b 4f 4c 70 6e 37 56 55 2b 0a 58 6c 66 66 2L9HmLecHgQHEhb2rykOLpn7VU+.Xlff
1bbd40 31 41 4e 41 54 49 47 6b 30 6b 39 6a 70 77 6c 43 43 52 54 38 41 4b 6e 43 67 48 4e 50 4c 73 42 41 1ANATIGk0k9jpwlCCRT8AKnCgHNPLsBA
1bbd60 32 52 46 37 53 4f 70 36 41 73 44 54 36 79 67 42 4a 6c 68 30 77 63 42 7a 49 6d 32 54 6c 66 30 35 2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05
1bbd80 66 62 73 71 34 2f 61 43 0a 34 79 79 58 58 30 34 66 6b 5a 54 36 2f 69 79 6a 32 48 59 61 75 45 32 fbsq4/aC.4yyXX04fkZT6/iyj2HYauE2
1bbda0 79 4f 45 2b 62 2b 68 31 49 59 48 6b 6d 34 76 50 39 71 64 43 61 36 48 43 50 53 58 72 57 35 62 30 yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0
1bbdc0 4b 44 74 73 74 38 34 32 2f 36 2b 4f 6b 66 63 76 48 6c 58 48 6f 0a 32 71 4e 38 78 63 4c 34 64 4a KDtst842/6+OkfcvHlXHo.2qN8xcL4dJ
1bbde0 49 45 47 34 61 73 70 43 4a 54 51 4c 61 73 2f 6b 78 32 7a 2f 75 55 4d 73 41 31 6e 33 59 2f 62 75 IEG4aspCJTQLas/kx2z/uUMsA1n3Y/bu
1bbe00 57 51 62 71 43 6d 4a 71 4b 34 4c 4c 37 52 4b 34 58 39 70 32 6a 49 75 67 45 72 73 57 78 30 48 62 WQbqCmJqK4LL7RK4X9p2jIugErsWx0Hb
1bbe20 68 7a 0a 6c 65 66 75 74 38 63 6c 38 41 42 4d 41 4c 4a 2b 74 67 75 4c 48 50 50 41 55 4a 34 6c 75 hz.lefut8cl8ABMALJ+tguLHPPAUJ4lu
1bbe40 65 41 49 33 6a 5a 6d 2f 7a 65 6c 30 62 74 55 5a 43 7a 4a 4a 37 56 4c 6b 6e 35 6c 2f 39 4d 74 34 eAI3jZm/zel0btUZCzJJ7VLkn5l/9Mt4
1bbe60 62 6c 4f 76 48 2b 6b 51 53 47 51 51 58 65 6d 0a 4f 52 2f 71 6e 75 4f 66 30 47 5a 76 42 65 79 71 blOvH+kQSGQQXem.OR/qnuOf0GZvBeyq
1bbe80 64 6e 36 2f 61 78 61 67 36 37 58 48 2f 4a 4a 55 4c 79 73 52 4a 79 55 33 65 45 78 52 61 72 44 7a dn6/axag67XH/JJULysRJyU3eExRarDz
1bbea0 7a 46 68 64 46 50 46 71 53 42 58 2f 77 67 65 32 73 59 30 50 6a 6c 78 51 52 72 4d 39 0a 76 77 47 zFhdFPFqSBX/wge2sY0PjlxQRrM9.vwG
1bbec0 59 54 37 4a 5a 56 45 63 2b 4e 48 74 34 62 56 61 54 4c 6e 50 71 5a 69 68 34 7a 52 30 55 76 36 43 YT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6C
1bbee0 50 4c 79 36 34 4c 6f 37 79 46 49 72 4d 36 62 56 38 2b 32 79 64 44 4b 58 68 6c 67 3d 3d 0a 2d 2d PLy64Lo7yFIrM6bV8+2ydDKXhlg==.--
1bbf00 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 72 75 73 74 69 73 ---END.CERTIFICATE-----..Trustis
1bbf20 20 46 50 53 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .FPS.Root.CA.===================
1bbf40 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 .-----BEGIN.CERTIFICATE-----.MII
1bbf60 44 5a 7a 43 43 41 6b 2b 67 41 77 49 42 41 67 49 51 47 78 2b 74 74 69 44 35 4a 4e 4d 32 61 2f 66 DZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/f
1bbf80 48 38 59 79 67 57 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 46 4d 51 73 H8YygWTANBgkqhkiG9w0BAQUFADBFMQs
1bbfa0 77 43 51 59 44 56 51 51 47 0a 45 77 4a 48 51 6a 45 59 4d 42 59 47 41 31 55 45 43 68 4d 50 56 48 wCQYDVQQG.EwJHQjEYMBYGA1UEChMPVH
1bbfc0 4a 31 63 33 52 70 63 79 42 4d 61 57 31 70 64 47 56 6b 4d 52 77 77 47 67 59 44 56 51 51 4c 45 78 J1c3RpcyBMaW1pdGVkMRwwGgYDVQQLEx
1bbfe0 4e 55 63 6e 56 7a 64 47 6c 7a 49 45 5a 51 55 79 42 53 62 32 39 30 0a 49 45 4e 42 4d 42 34 58 44 NUcnVzdGlzIEZQUyBSb290.IENBMB4XD
1bc000 54 41 7a 4d 54 49 79 4d 7a 45 79 4d 54 51 77 4e 6c 6f 58 44 54 49 30 4d 44 45 79 4d 54 45 78 4d TAzMTIyMzEyMTQwNloXDTI0MDEyMTExM
1bc020 7a 59 31 4e 46 6f 77 52 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 30 49 78 47 44 41 57 42 zY1NFowRTELMAkGA1UEBhMCR0IxGDAWB
1bc040 67 4e 56 0a 42 41 6f 54 44 31 52 79 64 58 4e 30 61 58 4d 67 54 47 6c 74 61 58 52 6c 5a 44 45 63 gNV.BAoTD1RydXN0aXMgTGltaXRlZDEc
1bc060 4d 42 6f 47 41 31 55 45 43 78 4d 54 56 48 4a 31 63 33 52 70 63 79 42 47 55 46 4d 67 55 6d 39 76 MBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9v
1bc080 64 43 42 44 51 54 43 43 41 53 49 77 44 51 59 4a 0a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 dCBDQTCCASIwDQYJ.KoZIhvcNAQEBBQA
1bc0a0 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4d 56 51 65 35 34 37 4e 64 44 66 78 49 7a DggEPADCCAQoCggEBAMVQe547NdDfxIz
1bc0c0 4e 6a 70 76 74 6f 38 41 32 6d 66 52 43 36 71 63 2b 67 49 4d 50 70 71 64 5a 68 38 6d 51 0a 52 55 Njpvto8A2mfRC6qc+gIMPpqdZh8mQ.RU
1bc0e0 4e 2b 41 4f 71 47 65 53 6f 44 76 54 30 33 6d 59 6c 6d 74 2b 57 4b 56 6f 61 54 6e 47 68 4c 61 41 N+AOqGeSoDvT03mYlmt+WKVoaTnGhLaA
1bc100 53 4d 6b 35 4d 43 50 6a 44 53 4e 7a 6f 69 59 59 6b 63 68 55 35 39 6a 39 57 76 65 7a 58 32 66 69 SMk5MCPjDSNzoiYYkchU59j9WvezX2fi
1bc120 68 48 69 54 48 63 44 6e 6c 6b 0a 48 35 6e 53 57 37 72 2b 66 32 43 2f 72 65 76 6e 50 44 67 70 61 hHiTHcDnlk.H5nSW7r+f2C/revnPDgpa
1bc140 69 2f 6c 6b 51 74 56 2f 2b 78 76 57 4e 55 74 79 64 35 4d 5a 6e 47 50 44 4e 63 45 32 67 66 6d 48 i/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmH
1bc160 68 6a 6a 76 53 6b 43 71 50 6f 63 34 56 75 35 67 36 68 42 53 4c 77 61 0a 63 59 33 6e 59 75 55 74 hjjvSkCqPoc4Vu5g6hBSLwa.cY3nYuUt
1bc180 73 75 76 66 66 4d 2f 62 71 31 72 4b 4d 66 46 4d 49 76 4d 46 45 2f 65 43 2b 58 4e 35 44 4c 37 58 suvffM/bq1rKMfFMIvMFE/eC+XN5DL7X
1bc1a0 53 78 7a 41 30 52 55 38 6b 30 46 6b 30 65 61 2b 49 78 63 69 41 49 6c 65 48 32 75 6c 72 47 36 6e SxzA0RU8k0Fk0ea+IxciAIleH2ulrG6n
1bc1c0 53 34 7a 74 0a 6f 33 4c 6d 72 32 4e 4e 4c 34 58 53 46 44 57 61 4c 6b 36 4d 36 6a 4b 59 4b 49 61 S4zt.o3Lmr2NNL4XSFDWaLk6M6jKYKIa
1bc1e0 68 6b 51 6c 42 4f 72 54 68 34 2f 4c 36 38 4d 6b 4b 6f 6b 48 64 71 65 4d 44 78 34 67 56 4f 78 7a hkQlBOrTh4/L68MkKokHdqeMDx4gVOxz
1bc200 55 47 70 54 58 6e 32 52 5a 45 6d 30 43 41 77 45 41 0a 41 61 4e 54 4d 46 45 77 44 77 59 44 56 52 UGpTXn2RZEm0CAwEA.AaNTMFEwDwYDVR
1bc220 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgB
1bc240 53 36 2b 6e 45 6c 65 59 74 58 51 53 55 68 68 67 74 78 36 37 4a 6b 44 6f 73 68 5a 7a 41 64 0a 42 S6+nEleYtXQSUhhgtx67JkDoshZzAd.B
1bc260 67 4e 56 48 51 34 45 46 67 51 55 75 76 70 78 4a 58 6d 4c 56 30 45 6c 49 59 59 4c 63 65 75 79 5a gNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZ
1bc280 41 36 4c 49 57 63 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 44 67 67 45 42 41 A6LIWcwDQYJKoZIhvcNAQEFBQADggEBA
1bc2a0 48 35 59 2f 2f 30 31 47 58 32 63 0a 47 45 2b 65 73 43 75 38 6a 6f 77 55 2f 79 79 67 32 6b 64 62 H5Y//01GX2c.GE+esCu8jowU/yyg2kdb
1bc2c0 77 2b 2b 42 4c 61 38 46 36 6e 52 49 57 2f 4d 2b 54 67 66 48 62 63 57 7a 6b 38 38 69 4e 56 79 32 w++BLa8F6nRIW/M+TgfHbcWzk88iNVy2
1bc2e0 50 33 55 6e 58 77 6d 57 7a 61 44 2b 76 6b 41 4d 58 42 4a 56 2b 4a 4f 43 0a 79 69 6e 70 58 6a 39 P3UnXwmWzaD+vkAMXBJV+JOC.yinpXj9
1bc300 57 56 34 73 34 4e 76 64 46 47 6b 77 6f 7a 5a 35 42 75 4f 31 57 54 49 53 6b 51 4d 69 34 73 4b 55 WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKU
1bc320 72 61 58 41 45 61 73 50 34 31 42 49 79 2b 51 37 44 73 64 77 79 68 45 51 73 62 38 74 47 44 2b 70 raXAEasP41BIy+Q7DsdwyhEQsb8tGD+p
1bc340 6d 51 51 39 50 0a 38 56 69 6c 70 67 30 4e 44 32 48 65 70 5a 35 64 66 57 57 68 50 42 66 6e 71 46 mQQ9P.8Vilpg0ND2HepZ5dfWWhPBfnqF
1bc360 56 4f 37 36 44 48 37 63 5a 45 66 31 54 31 6f 2b 43 50 38 48 78 56 49 6f 38 70 74 6f 47 6a 34 57 VO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W
1bc380 31 4f 4c 42 75 41 5a 2b 79 74 49 4a 38 4d 59 6d 48 56 0a 6c 2f 39 44 37 53 33 42 32 6c 30 70 4b 1OLBuAZ+ytIJ8MYmHV.l/9D7S3B2l0pK
1bc3a0 6f 55 2f 72 47 58 75 68 67 38 46 6a 5a 42 66 33 2b 36 66 39 4c 2f 75 48 66 75 59 35 48 2b 51 4b oU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK
1bc3c0 34 52 34 45 41 35 73 53 56 50 76 46 56 74 6c 52 6b 70 64 72 37 72 37 4f 6e 49 64 7a 66 59 6c 0a 4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl.
1bc3e0 69 42 36 58 7a 43 47 63 4b 51 45 4e 5a 65 74 58 32 66 4e 58 6c 72 74 49 7a 59 45 3d 0a 2d 2d 2d iB6XzCGcKQENZetX2fNXlrtIzYE=.---
1bc400 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 42 75 79 70 61 73 73 20 --END.CERTIFICATE-----..Buypass.
1bc420 43 6c 61 73 73 20 32 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Class.2.Root.CA.================
1bc440 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d =======.-----BEGIN.CERTIFICATE--
1bc460 2d 2d 2d 0a 4d 49 49 46 57 54 43 43 41 30 47 67 41 77 49 42 41 67 49 42 41 6a 41 4e 42 67 6b 71 ---.MIIFWTCCA0GgAwIBAgIBAjANBgkq
1bc480 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 4f 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4f hkiG9w0BAQsFADBOMQswCQYDVQQGEwJO
1bc4a0 54 7a 45 64 4d 42 73 47 41 31 55 45 43 67 77 55 0a 51 6e 56 35 63 47 46 7a 63 79 42 42 55 79 30 TzEdMBsGA1UECgwU.QnV5cGFzcyBBUy0
1bc4c0 35 4f 44 4d 78 4e 6a 4d 7a 4d 6a 63 78 49 44 41 65 42 67 4e 56 42 41 4d 4d 46 30 4a 31 65 58 42 5ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXB
1bc4e0 68 63 33 4d 67 51 32 78 68 63 33 4d 67 4d 69 42 53 62 32 39 30 49 45 4e 42 4d 42 34 58 0a 44 54 hc3MgQ2xhc3MgMiBSb290IENBMB4X.DT
1bc500 45 77 4d 54 41 79 4e 6a 41 34 4d 7a 67 77 4d 31 6f 58 44 54 51 77 4d 54 41 79 4e 6a 41 34 4d 7a EwMTAyNjA4MzgwM1oXDTQwMTAyNjA4Mz
1bc520 67 77 4d 31 6f 77 54 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 54 6b 38 78 48 54 41 62 42 67 gwM1owTjELMAkGA1UEBhMCTk8xHTAbBg
1bc540 4e 56 42 41 6f 4d 46 45 4a 31 0a 65 58 42 68 63 33 4d 67 51 56 4d 74 4f 54 67 7a 4d 54 59 7a 4d NVBAoMFEJ1.eXBhc3MgQVMtOTgzMTYzM
1bc560 7a 49 33 4d 53 41 77 48 67 59 44 56 51 51 44 44 42 64 43 64 58 6c 77 59 58 4e 7a 49 45 4e 73 59 zI3MSAwHgYDVQQDDBdCdXlwYXNzIENsY
1bc580 58 4e 7a 49 44 49 67 55 6d 39 76 64 43 42 44 51 54 43 43 41 69 49 77 0a 44 51 59 4a 4b 6f 5a 49 XNzIDIgUm9vdCBDQTCCAiIw.DQYJKoZI
1bc5a0 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 4e 66 48 hvcNAQEBBQADggIPADCCAgoCggIBANfH
1bc5c0 58 76 66 42 42 39 52 33 2b 30 4d 68 39 50 54 31 61 65 54 75 4d 67 48 62 6f 34 59 66 35 46 6b 4e XvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkN
1bc5e0 75 75 64 31 0a 67 31 4c 72 36 68 78 68 46 55 69 37 48 51 66 4b 6a 4b 36 77 33 4a 61 64 36 73 4e uud1.g1Lr6hxhFUi7HQfKjK6w3Jad6sN
1bc600 67 6b 6f 61 43 4b 48 4f 63 56 67 62 2f 53 32 54 77 44 43 6f 33 53 62 58 6c 7a 77 78 38 37 76 46 gkoaCKHOcVgb/S2TwDCo3SbXlzwx87vF
1bc620 4b 75 33 4d 77 5a 66 50 56 4c 34 4f 32 66 75 50 6e 0a 39 5a 36 72 59 50 6e 54 38 5a 32 53 64 49 Ku3MwZfPVL4O2fuPn.9Z6rYPnT8Z2SdI
1bc640 72 6b 48 4a 61 73 57 34 44 70 74 66 51 78 68 36 4e 52 2f 4d 64 2b 6f 57 2b 4f 55 33 66 55 6c 38 rkHJasW4DptfQxh6NR/Md+oW+OU3fUl8
1bc660 46 56 4d 35 49 2b 47 43 39 31 31 4b 32 47 53 63 75 56 72 31 51 47 62 4e 67 47 45 34 31 62 0a 2f FVM5I+GC911K2GScuVr1QGbNgGE41b./
1bc680 2b 45 6d 47 56 6e 41 4a 4c 71 42 63 58 6d 51 52 46 42 6f 4a 4a 52 66 75 4c 4d 52 38 53 6c 42 59 +EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBY
1bc6a0 61 4e 42 79 79 4d 32 31 63 48 78 4d 6c 41 51 54 6e 2f 30 68 70 50 73 68 4e 4f 4f 76 45 75 2f 58 aNByyM21cHxMlAQTn/0hpPshNOOvEu/X
1bc6c0 41 46 4f 42 7a 33 63 46 49 71 55 0a 43 71 54 71 63 2f 73 4c 55 65 67 54 42 78 6a 36 44 76 45 72 AFOBz3cFIqU.CqTqc/sLUegTBxj6DvEr
1bc6e0 30 56 51 56 66 54 7a 68 39 37 51 5a 51 6d 64 69 58 6e 66 67 6f 6c 58 73 74 74 6c 70 46 39 55 36 0VQVfTzh97QZQmdiXnfgolXsttlpF9U6
1bc700 72 30 54 74 53 73 57 65 35 48 6f 6e 66 4f 56 31 31 36 72 4c 4a 65 66 66 0a 61 77 72 62 44 30 32 r0TtSsWe5HonfOV116rLJeff.awrbD02
1bc720 54 54 71 69 67 7a 58 73 75 38 6c 6b 42 61 72 63 4e 75 41 65 42 66 6f 73 34 47 7a 6a 6d 43 6c 65 TTqigzXsu8lkBarcNuAeBfos4GzjmCle
1bc740 5a 50 65 34 68 36 4b 50 31 44 42 62 64 69 2b 77 30 6a 70 77 71 48 41 41 56 46 34 31 6f 67 39 4a ZPe4h6KP1DBbdi+w0jpwqHAAVF41og9J
1bc760 77 6e 78 67 49 0a 7a 52 46 6f 31 63 6c 72 55 73 33 45 52 6f 2f 63 74 66 50 59 56 33 4d 65 36 5a wnxgI.zRFo1clrUs3ERo/ctfPYV3Me6Z
1bc780 51 35 42 4c 2f 54 33 6a 6a 65 74 46 50 73 61 52 79 69 66 73 53 50 35 42 74 77 72 66 4b 69 2b 66 Q5BL/T3jjetFPsaRyifsSP5BtwrfKi+f
1bc7a0 76 33 46 6d 52 6d 61 5a 39 4a 55 61 4c 69 46 52 68 6e 0a 42 6b 70 2f 31 57 79 31 54 62 4d 7a 34 v3FmRmaZ9JUaLiFRhn.Bkp/1Wy1TbMz4
1bc7c0 47 48 72 58 62 37 70 6d 41 38 79 31 78 31 4c 50 43 35 61 41 56 4b 52 43 66 4c 66 36 6f 33 59 42 GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YB
1bc7e0 6b 42 6a 71 68 48 6b 2f 73 4d 33 6e 68 52 53 50 2f 54 69 7a 50 4a 68 6b 39 48 39 5a 32 76 58 0a kBjqhHk/sM3nhRSP/TizPJhk9H9Z2vX.
1bc800 55 71 36 2f 61 4b 74 41 51 36 42 58 4e 56 4e 34 38 46 50 34 59 55 49 48 5a 4d 62 58 62 35 74 4d Uq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tM
1bc820 4f 41 31 6a 72 47 4b 76 4e 6f 75 69 63 77 6f 4e 39 53 47 39 64 4b 70 4e 36 6e 49 44 53 64 76 48 OA1jrGKvNouicwoN9SG9dKpN6nIDSdvH
1bc840 58 78 31 69 59 38 66 39 33 5a 48 73 0a 4d 2b 37 31 62 62 52 75 4d 47 6a 65 79 4e 59 6d 73 48 56 Xx1iY8f93ZHs.M+71bbRuMGjeyNYmsHV
1bc860 65 65 37 51 48 49 4a 69 68 64 6a 4b 34 54 57 78 50 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 38 ee7QHIJihdjK4TWxPAgMBAAGjQjBAMA8
1bc880 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 0a 56 52 30 4f 42 42 GA1UdEwEB/wQFMAMBAf8wHQYD.VR0OBB
1bc8a0 59 45 46 4d 6d 41 64 2b 42 69 6b 6f 4c 31 52 70 7a 7a 75 76 64 4d 77 39 36 34 6f 36 30 35 4d 41 YEFMmAd+BikoL1RpzzuvdMw964o605MA
1bc8c0 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w
1bc8e0 30 42 41 51 73 46 0a 41 41 4f 43 41 67 45 41 55 31 38 68 39 62 71 77 4f 6c 49 35 4c 4a 4b 77 62 0BAQsF.AAOCAgEAU18h9bqwOlI5LJKwb
1bc900 41 44 4a 37 38 34 67 37 77 62 79 6c 70 37 70 70 48 52 2f 65 68 62 38 74 2f 57 32 2b 78 55 62 50 ADJ784g7wbylp7ppHR/ehb8t/W2+xUbP
1bc920 36 75 6d 77 48 4a 64 45 4c 46 78 37 72 78 50 34 36 32 73 0a 41 32 30 75 63 53 36 76 78 4f 4f 74 6umwHJdELFx7rxP462s.A20ucS6vxOOt
1bc940 6f 37 30 4d 45 61 65 30 2f 30 71 79 65 78 41 51 48 36 64 58 51 62 4c 41 72 76 51 73 57 64 5a 48 o70MEae0/0qyexAQH6dXQbLArvQsWdZH
1bc960 45 49 6a 7a 49 56 45 70 4d 4d 70 67 68 71 39 47 71 78 33 74 4f 6c 75 77 6c 4e 35 45 34 30 45 49 EIjzIVEpMMpghq9Gqx3tOluwlN5E40EI
1bc980 0a 6f 73 48 73 48 64 62 39 54 37 62 57 52 39 41 55 43 38 72 6d 79 72 56 37 64 33 35 42 48 31 36 .osHsHdb9T7bWR9AUC8rmyrV7d35BH16
1bc9a0 44 78 37 61 4d 4f 5a 61 77 50 35 61 42 51 57 39 67 6b 4f 4c 6f 2b 66 73 69 63 64 6c 39 73 7a 31 Dx7aMOZawP5aBQW9gkOLo+fsicdl9sz1
1bc9c0 47 76 37 53 45 72 35 41 63 44 34 38 53 0a 61 71 2f 76 37 68 35 36 72 67 4a 4b 69 68 63 72 64 76 Gv7SEr5AcD48S.aq/v7h56rgJKihcrdv
1bc9e0 36 73 56 49 6b 6b 4c 45 38 2f 74 72 4b 6e 54 6f 79 6f 6b 5a 66 37 4b 63 5a 37 58 43 32 35 79 32 6sVIkkLE8/trKnToyokZf7KcZ7XC25y2
1bca00 61 32 74 36 68 62 45 6c 47 46 74 51 6c 2b 59 6e 68 77 2f 71 6c 71 59 4c 59 64 0a 44 6e 6b 4d 2f a2t6hbElGFtQl+Ynhw/qlqYLYd.DnkM/
1bca20 63 72 71 4a 49 42 79 77 35 63 2f 38 6e 65 72 51 79 49 4b 78 2b 75 32 44 49 53 43 4c 49 42 72 51 crqJIByw5c/8nerQyIKx+u2DISCLIBrQ
1bca40 59 6f 49 77 4f 75 6c 61 39 2b 5a 45 73 75 4b 31 56 36 41 44 4a 48 67 4a 67 67 32 53 4d 58 36 4f YoIwOula9+ZEsuK1V6ADJHgJgg2SMX6O
1bca60 42 45 31 2f 79 57 44 0a 4c 66 4a 36 76 39 72 39 6a 76 36 6c 79 30 55 73 48 38 53 49 55 36 35 33 BE1/yWD.LfJ6v9r9jv6ly0UsH8SIU653
1bca80 44 74 6d 61 64 73 57 4f 4c 42 32 6a 75 74 58 73 4d 71 37 41 71 71 7a 33 30 58 70 4e 36 39 51 48 DtmadsWOLB2jutXsMq7Aqqz30XpN69QH
1bcaa0 34 6b 6a 33 49 6f 36 77 70 4a 39 71 7a 6f 36 79 73 6d 44 30 0a 6f 79 4c 51 49 2b 75 55 57 6e 70 4kj3Io6wpJ9qzo6ysmD0.oyLQI+uUWnp
1bcac0 70 33 51 2b 2f 51 46 65 73 61 31 6c 51 32 61 4f 5a 34 57 37 2b 6a 51 46 35 4a 79 4d 56 33 70 4b p3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pK
1bcae0 64 65 77 6c 4e 57 75 64 4c 53 44 42 61 47 4f 59 4b 62 65 61 50 34 4e 4b 37 35 74 39 38 62 69 47 dewlNWudLSDBaGOYKbeaP4NK75t98biG
1bcb00 43 0a 77 57 67 35 54 62 53 59 57 47 5a 69 7a 45 71 51 58 73 50 36 4a 77 53 78 65 52 56 30 6d 63 C.wWg5TbSYWGZizEqQXsP6JwSxeRV0mc
1bcb20 79 2b 72 53 44 65 4a 6d 41 63 36 31 5a 52 70 71 50 71 35 4b 4d 2f 70 2f 39 68 33 50 46 61 54 57 y+rSDeJmAc61ZRpqPq5KM/p/9h3PFaTW
1bcb40 77 79 49 30 50 75 72 4b 6a 75 37 6b 6f 53 0a 43 54 78 64 63 63 4b 2b 65 66 72 43 68 32 67 64 43 wyI0PurKju7koS.CTxdccK+efrCh2gdC
1bcb60 2f 31 63 61 63 77 47 30 4a 70 39 56 4a 6b 71 79 54 6b 61 47 61 39 4c 4b 6b 50 7a 59 31 31 61 57 /1cacwG0Jp9VJkqyTkaGa9LKkPzY11aW
1bcb80 4f 49 76 34 78 33 6b 71 64 62 51 43 74 43 65 76 39 65 42 43 66 48 4a 78 79 59 4e 0a 72 4a 67 57 OIv4x3kqdbQCtCev9eBCfHJxyYN.rJgW
1bcba0 56 71 41 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a VqA=.-----END.CERTIFICATE-----..
1bcbc0 42 75 79 70 61 73 73 20 43 6c 61 73 73 20 33 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d Buypass.Class.3.Root.CA.========
1bcbe0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 ===============.-----BEGIN.CERTI
1bcc00 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 57 54 43 43 41 30 47 67 41 77 49 42 41 67 49 42 FICATE-----.MIIFWTCCA0GgAwIBAgIB
1bcc20 41 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 4f 4d 51 73 77 43 51 59 44 AjANBgkqhkiG9w0BAQsFADBOMQswCQYD
1bcc40 56 51 51 47 45 77 4a 4f 54 7a 45 64 4d 42 73 47 41 31 55 45 43 67 77 55 0a 51 6e 56 35 63 47 46 VQQGEwJOTzEdMBsGA1UECgwU.QnV5cGF
1bcc60 7a 63 79 42 42 55 79 30 35 4f 44 4d 78 4e 6a 4d 7a 4d 6a 63 78 49 44 41 65 42 67 4e 56 42 41 4d zcyBBUy05ODMxNjMzMjcxIDAeBgNVBAM
1bcc80 4d 46 30 4a 31 65 58 42 68 63 33 4d 67 51 32 78 68 63 33 4d 67 4d 79 42 53 62 32 39 30 49 45 4e MF0J1eXBhc3MgQ2xhc3MgMyBSb290IEN
1bcca0 42 4d 42 34 58 0a 44 54 45 77 4d 54 41 79 4e 6a 41 34 4d 6a 67 31 4f 46 6f 58 44 54 51 77 4d 54 BMB4X.DTEwMTAyNjA4Mjg1OFoXDTQwMT
1bccc0 41 79 4e 6a 41 34 4d 6a 67 31 4f 46 6f 77 54 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 54 6b AyNjA4Mjg1OFowTjELMAkGA1UEBhMCTk
1bcce0 38 78 48 54 41 62 42 67 4e 56 42 41 6f 4d 46 45 4a 31 0a 65 58 42 68 63 33 4d 67 51 56 4d 74 4f 8xHTAbBgNVBAoMFEJ1.eXBhc3MgQVMtO
1bcd00 54 67 7a 4d 54 59 7a 4d 7a 49 33 4d 53 41 77 48 67 59 44 56 51 51 44 44 42 64 43 64 58 6c 77 59 TgzMTYzMzI3MSAwHgYDVQQDDBdCdXlwY
1bcd20 58 4e 7a 49 45 4e 73 59 58 4e 7a 49 44 4d 67 55 6d 39 76 64 43 42 44 51 54 43 43 41 69 49 77 0a XNzIENsYXNzIDMgUm9vdCBDQTCCAiIw.
1bcd40 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 DQYJKoZIhvcNAQEBBQADggIPADCCAgoC
1bcd60 67 67 49 42 41 4b 58 61 43 70 55 57 55 4f 4f 56 38 6c 36 64 64 6a 45 47 4d 6e 71 62 38 52 42 32 ggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2
1bcd80 75 41 43 61 74 56 49 32 7a 53 52 48 0a 73 4a 38 59 5a 4c 79 61 39 76 72 56 65 64 69 51 59 6b 77 uACatVI2zSRH.sJ8YZLya9vrVediQYkw
1bcda0 69 4c 39 34 34 50 64 62 67 71 4f 6b 63 4c 4e 74 34 45 65 6d 4f 61 46 45 56 63 73 66 7a 4d 34 66 iL944PdbgqOkcLNt4EemOaFEVcsfzM4f
1bcdc0 6b 6f 46 30 4c 58 4f 42 58 42 79 6f 77 39 63 33 45 4e 33 63 6f 54 52 69 52 0a 35 72 2f 56 55 76 koF0LXOBXByow9c3EN3coTRiR.5r/VUv
1bcde0 31 78 4c 58 41 2b 35 38 62 45 69 75 50 77 4b 41 76 30 64 70 69 68 69 34 64 56 73 6a 6f 54 2f 4c 1xLXA+58bEiuPwKAv0dpihi4dVsjoT/L
1bce00 63 2b 4a 7a 65 4f 49 75 4f 6f 54 79 72 76 59 4c 73 39 74 7a 6e 44 44 67 46 48 6d 56 30 53 54 39 c+JzeOIuOoTyrvYLs9tznDDgFHmV0ST9
1bce20 74 44 2b 6c 65 68 0a 37 66 6d 64 76 68 46 48 4a 6c 73 54 6d 4b 74 64 46 6f 71 77 4e 78 78 58 6e tD+leh.7fmdvhFHJlsTmKtdFoqwNxxXn
1bce40 55 58 2f 69 4a 59 32 76 37 76 4b 42 33 74 76 68 32 50 58 30 44 4a 71 31 6c 31 73 44 50 47 7a 62 UX/iJY2v7vKB3tvh2PX0DJq1l1sDPGzb
1bce60 6a 6e 69 61 7a 45 75 4f 51 41 6e 46 4e 34 34 77 4f 77 5a 0a 5a 6f 59 53 36 4a 31 79 46 68 4e 6b jniazEuOQAnFN44wOwZ.ZoYS6J1yFhNk
1bce80 55 73 65 70 4e 78 7a 39 67 6a 44 74 68 42 67 64 39 4b 35 63 2f 33 41 54 41 4f 75 78 39 54 4e 36 UsepNxz9gjDthBgd9K5c/3ATAOux9TN6
1bcea0 53 39 5a 56 2b 41 57 4e 53 32 6d 77 39 62 4d 6f 4e 6c 77 55 78 46 46 7a 54 57 73 4c 38 54 51 48 S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH
1bcec0 0a 32 78 63 35 31 39 77 6f 65 32 76 31 6e 2f 4d 75 77 55 38 58 4b 68 44 7a 7a 4d 72 6f 36 2f 31 .2xc519woe2v1n/MuwU8XKhDzzMro6/1
1bcee0 72 71 79 36 61 6e 79 32 43 62 67 54 55 55 67 47 54 4c 54 32 47 2f 48 37 38 33 2b 39 43 48 61 5a rqy6any2CbgTUUgGTLT2G/H783+9CHaZ
1bcf00 72 37 37 6b 67 78 76 65 39 6f 4b 65 56 0a 2f 61 66 6d 69 53 54 59 7a 49 77 30 62 4f 49 6a 4c 39 r77kgxve9oKeV./afmiSTYzIw0bOIjL9
1bcf20 6b 53 47 69 47 35 56 5a 46 76 43 35 46 35 47 51 79 74 51 49 67 4c 63 4f 4a 36 30 67 37 59 61 45 kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaE
1bcf40 69 37 67 68 4d 35 45 46 6a 70 32 43 6f 48 78 68 4c 62 57 4e 76 53 4f 31 55 51 0a 52 77 55 56 5a i7ghM5EFjp2CoHxhLbWNvSO1UQ.RwUVZ
1bcf60 32 4a 2b 47 47 4f 6d 52 6a 38 4a 44 6c 51 79 58 72 38 4e 59 6e 6f 6e 37 34 44 6f 32 39 6c 4c 42 2J+GGOmRj8JDlQyXr8NYnon74Do29lLB
1bcf80 6c 6f 33 57 69 58 51 43 42 4a 33 31 47 38 4a 55 4a 63 39 79 42 33 44 33 34 78 46 4d 46 62 47 30 lo3WiXQCBJ31G8JUJc9yB3D34xFMFbG0
1bcfa0 32 53 72 5a 76 50 41 0a 58 70 61 63 77 38 54 76 77 33 78 72 69 7a 70 35 66 37 4e 4a 7a 7a 33 69 2SrZvPA.Xpacw8Tvw3xrizp5f7NJzz3i
1bcfc0 69 5a 2b 67 4d 45 75 46 75 5a 79 55 4a 48 6d 50 66 57 75 70 52 57 67 50 4b 39 44 78 32 68 7a 4c iZ+gMEuFuZyUJHmPfWupRWgPK9Dx2hzL
1bcfe0 61 62 6a 4b 53 57 4a 74 79 4e 42 6a 59 74 31 67 44 31 69 71 0a 6a 36 47 38 42 61 56 6d 6f 73 38 abjKSWJtyNBjYt1gD1iq.j6G8BaVmos8
1bd000 62 64 72 4b 45 5a 4c 46 4d 4f 56 4c 41 4d 4c 72 77 6a 45 73 43 73 4c 61 33 41 67 4d 42 41 41 47 bdrKEZLFMOVLAMLrwjEsCsLa3AgMBAAG
1bd020 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 jQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQY
1bd040 44 0a 56 52 30 4f 42 42 59 45 46 45 65 34 7a 66 2f 6c 62 2b 37 34 73 75 77 76 54 67 37 35 4a 62 D.VR0OBBYEFEe4zf/lb+74suwvTg75Jb
1bd060 43 4f 50 47 76 44 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 4e 42 67 COPGvDMA4GA1UdDwEB/wQEAwIBBjANBg
1bd080 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 0a 41 41 4f 43 41 67 45 41 41 43 41 6a 51 54 55 45 6b kqhkiG9w0BAQsF.AAOCAgEAACAjQTUEk
1bd0a0 4d 4a 41 59 6d 44 76 34 6a 56 4d 31 7a 2b 73 34 6a 53 51 75 4b 46 76 64 76 6f 57 46 71 52 49 4e MJAYmDv4jVM1z+s4jSQuKFvdvoWFqRIN
1bd0c0 79 7a 70 6b 4d 4c 79 50 50 67 4b 6e 39 69 42 35 62 74 62 32 69 55 73 70 4b 64 56 0a 63 53 51 79 yzpkMLyPPgKn9iB5btb2iUspKdV.cSQy
1bd0e0 39 73 67 4c 38 72 78 71 2b 4a 4f 73 73 67 66 43 58 35 2f 62 7a 4d 69 4b 71 72 35 71 62 2b 46 4a 9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJ
1bd100 45 4d 77 78 31 34 43 37 75 38 6a 59 6f 67 35 6b 56 2b 71 69 39 63 4b 70 4d 52 58 53 49 47 72 73 EMwx14C7u8jYog5kV+qi9cKpMRXSIGrs
1bd120 2f 43 49 42 4b 4d 2b 47 0a 75 49 41 65 71 63 77 52 70 54 7a 79 46 72 4e 48 6e 66 7a 53 67 43 48 /CIBKM+G.uIAeqcwRpTzyFrNHnfzSgCH
1bd140 45 79 39 42 48 63 45 47 68 79 6f 4d 5a 43 43 78 74 38 6c 31 33 6e 49 6f 55 45 39 51 32 48 4a 4c Ey9BHcEGhyoMZCCxt8l13nIoUE9Q2HJL
1bd160 77 35 51 59 33 33 4b 62 6d 6b 4a 73 34 6a 31 78 72 47 30 61 47 0a 51 30 4a 66 50 67 45 48 55 31 w5QY33KbmkJs4j1xrG0aG.Q0JfPgEHU1
1bd180 52 64 5a 58 33 33 69 6e 4f 68 6d 6c 52 61 48 79 6c 44 46 43 66 43 68 51 2b 31 69 48 73 61 4f 35 RdZX33inOhmlRaHylDFCfChQ+1iHsaO5
1bd1a0 53 33 48 57 43 6e 74 5a 7a 6e 4b 57 6c 58 57 70 75 54 65 6b 4d 77 47 77 50 58 59 73 68 41 70 71 S3HWCntZznKWlXWpuTekMwGwPXYshApq
1bd1c0 72 38 0a 5a 4f 52 4b 31 35 46 54 41 61 67 67 69 47 36 63 58 30 53 35 79 32 43 42 4e 4f 78 76 30 r8.ZORK15FTAaggiG6cX0S5y2CBNOxv0
1bd1e0 33 33 61 53 46 2f 72 74 4a 43 38 4c 61 6b 63 43 36 77 63 31 61 4a 6f 49 49 41 45 31 76 79 78 6a 33aSF/rtJC8LakcC6wc1aJoIIAE1vyxj
1bd200 79 2b 37 53 6a 45 4e 53 6f 59 63 36 2b 49 32 0a 4b 53 62 31 32 74 6a 45 38 6e 56 68 7a 33 36 75 y+7SjENSoYc6+I2.KSb12tjE8nVhz36u
1bd220 64 6d 4e 4b 65 6b 42 6c 6b 34 66 34 48 6f 43 4d 68 75 57 47 31 6f 38 4f 2f 46 4d 73 59 4f 67 57 dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgW
1bd240 59 52 71 69 50 6b 4e 37 7a 54 6c 67 56 47 72 31 38 6f 6b 6d 41 57 69 44 53 4b 49 7a 0a 36 4d 6b YRqiPkN7zTlgVGr18okmAWiDSKIz.6Mk
1bd260 45 6b 62 49 52 4e 42 45 2b 36 74 42 44 47 52 38 44 6b 35 41 4d 2f 31 45 39 56 2f 52 42 62 75 48 EkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuH
1bd280 4c 6f 4c 37 72 79 57 50 4e 62 63 7a 6b 2b 44 61 71 61 4a 33 74 76 56 32 58 63 45 51 4e 74 67 34 LoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg4
1bd2a0 31 33 4f 45 4d 58 62 75 67 0a 55 5a 54 4c 66 68 62 72 45 53 2b 6a 6b 6b 58 49 54 48 48 5a 76 4d 13OEMXbug.UZTLfhbrES+jkkXITHHZvM
1bd2c0 6d 5a 55 6c 64 47 4c 31 44 50 76 54 56 70 39 44 30 56 7a 67 61 6c 4c 41 38 2b 39 6f 47 36 6c 4c mZUldGL1DPvTVp9D0VzgalLA8+9oG6lL
1bd2e0 76 44 75 37 39 6c 65 4e 4b 47 65 66 39 4a 4f 78 71 44 44 50 44 65 0a 65 4f 7a 49 38 6b 31 4d 47 vDu79leNKGef9JOxqDDPDe.eOzI8k1MG
1bd300 74 36 43 4b 66 6a 42 57 74 72 74 37 75 59 6e 58 75 68 46 30 4a 30 63 55 61 68 6f 71 30 54 6a 30 t6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0
1bd320 49 74 71 34 2f 67 37 75 39 78 4e 31 32 54 79 55 62 37 6d 71 71 74 61 36 54 48 75 42 72 78 7a 76 Itq4/g7u9xN12TyUb7mqqta6THuBrxzv
1bd340 78 4e 69 0a 43 70 2f 48 75 5a 63 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 xNi.Cp/HuZc=.-----END.CERTIFICAT
1bd360 45 2d 2d 2d 2d 2d 0a 0a 54 2d 54 65 6c 65 53 65 63 20 47 6c 6f 62 61 6c 52 6f 6f 74 20 43 6c 61 E-----..T-TeleSec.GlobalRoot.Cla
1bd380 73 73 20 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ss.3.===========================
1bd3a0 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
1bd3c0 49 44 77 7a 43 43 41 71 75 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 IDwzCCAqugAwIBAgIBATANBgkqhkiG9w
1bd3e0 30 42 41 51 73 46 41 44 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 45 55 78 4b 7a 0BAQsFADCBgjELMAkGA1UEBhMCREUxKz
1bd400 41 70 42 67 4e 56 42 41 6f 4d 0a 49 6c 51 74 55 33 6c 7a 64 47 56 74 63 79 42 46 62 6e 52 6c 63 ApBgNVBAoM.IlQtU3lzdGVtcyBFbnRlc
1bd420 6e 42 79 61 58 4e 6c 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 64 74 59 6b 67 78 48 7a 41 64 42 nByaXNlIFNlcnZpY2VzIEdtYkgxHzAdB
1bd440 67 4e 56 42 41 73 4d 46 6c 51 74 55 33 6c 7a 64 47 56 74 63 79 42 55 0a 63 6e 56 7a 64 43 42 44 gNVBAsMFlQtU3lzdGVtcyBU.cnVzdCBD
1bd460 5a 57 35 30 5a 58 49 78 4a 54 41 6a 42 67 4e 56 42 41 4d 4d 48 46 51 74 56 47 56 73 5a 56 4e 6c ZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl
1bd480 59 79 42 48 62 47 39 69 59 57 78 53 62 32 39 30 49 45 4e 73 59 58 4e 7a 49 44 4d 77 48 68 63 4e YyBHbG9iYWxSb290IENsYXNzIDMwHhcN
1bd4a0 4d 44 67 78 0a 4d 44 41 78 4d 54 41 79 4f 54 55 32 57 68 63 4e 4d 7a 4d 78 4d 44 41 78 4d 6a 4d MDgx.MDAxMTAyOTU2WhcNMzMxMDAxMjM
1bd4c0 31 4f 54 55 35 57 6a 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 45 55 78 4b 7a 41 1OTU5WjCBgjELMAkGA1UEBhMCREUxKzA
1bd4e0 70 42 67 4e 56 42 41 6f 4d 49 6c 51 74 55 33 6c 7a 0a 64 47 56 74 63 79 42 46 62 6e 52 6c 63 6e pBgNVBAoMIlQtU3lz.dGVtcyBFbnRlcn
1bd500 42 79 61 58 4e 6c 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 64 74 59 6b 67 78 48 7a 41 64 42 67 ByaXNlIFNlcnZpY2VzIEdtYkgxHzAdBg
1bd520 4e 56 42 41 73 4d 46 6c 51 74 55 33 6c 7a 64 47 56 74 63 79 42 55 63 6e 56 7a 64 43 42 44 0a 5a NVBAsMFlQtU3lzdGVtcyBUcnVzdCBD.Z
1bd540 57 35 30 5a 58 49 78 4a 54 41 6a 42 67 4e 56 42 41 4d 4d 48 46 51 74 56 47 56 73 5a 56 4e 6c 59 W50ZXIxJTAjBgNVBAMMHFQtVGVsZVNlY
1bd560 79 42 48 62 47 39 69 59 57 78 53 62 32 39 30 49 45 4e 73 59 58 4e 7a 49 44 4d 77 67 67 45 69 4d yBHbG9iYWxSb290IENsYXNzIDMwggEiM
1bd580 41 30 47 43 53 71 47 53 49 62 33 0a 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b A0GCSqGSIb3.DQEBAQUAA4IBDwAwggEK
1bd5a0 41 6f 49 42 41 51 43 39 64 5a 50 77 59 69 4a 76 4a 4b 37 67 65 6e 61 73 66 62 33 5a 4a 4e 57 34 AoIBAQC9dZPwYiJvJK7genasfb3ZJNW4
1bd5c0 74 2f 7a 4e 38 45 4c 67 36 33 69 49 56 6c 36 62 6d 6c 51 64 54 51 79 4b 0a 39 74 50 50 63 50 52 t/zN8ELg63iIVl6bmlQdTQyK.9tPPcPR
1bd5e0 53 74 64 69 54 42 4f 4e 47 68 6e 46 42 53 69 76 77 4b 69 78 56 41 39 5a 49 77 2b 41 35 4f 4f 33 StdiTBONGhnFBSivwKixVA9ZIw+A5OO3
1bd600 79 58 44 77 2f 52 4c 79 54 50 57 47 72 54 73 30 4e 76 76 41 67 4a 31 67 4f 52 48 38 45 47 6f 65 yXDw/RLyTPWGrTs0NvvAgJ1gORH8EGoe
1bd620 6c 31 35 59 55 0a 4e 70 44 51 53 58 75 68 64 66 73 61 61 33 4f 78 2b 4d 36 70 43 53 7a 79 55 39 l15YU.NpDQSXuhdfsaa3Ox+M6pCSzyU9
1bd640 58 44 46 45 53 34 68 71 58 32 69 79 73 35 32 71 4d 7a 56 4e 6e 36 63 68 72 33 49 68 55 63 69 4a XDFES4hqX2iys52qMzVNn6chr3IhUciJ
1bd660 46 72 66 32 62 6c 77 32 71 41 73 43 54 7a 33 34 5a 46 0a 69 50 30 5a 66 33 57 48 48 78 2b 78 47 Frf2blw2qAsCTz34ZF.iP0Zf3WHHx+xG
1bd680 77 70 7a 4a 46 75 35 5a 65 41 73 56 4d 68 67 30 32 59 58 50 2b 48 4d 56 44 4e 7a 6b 51 49 36 70 wpzJFu5ZeAsVMhg02YXP+HMVDNzkQI6p
1bd6a0 6e 39 37 64 6a 6d 69 48 35 61 32 4f 4b 36 31 79 4a 4e 30 48 5a 36 35 74 4f 56 67 6e 53 39 57 0a n97djmiH5a2OK61yJN0HZ65tOVgnS9W.
1bd6c0 30 65 44 72 58 6c 74 4d 45 6e 41 4d 62 45 51 67 71 78 48 59 39 42 6e 32 30 70 78 53 4e 2b 66 36 0eDrXltMEnAMbEQgqxHY9Bn20pxSN+f6
1bd6e0 74 73 49 78 4f 30 72 55 46 4a 6d 74 78 78 72 31 58 56 2f 36 42 37 68 38 44 52 2f 57 67 78 36 7a tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6z
1bd700 41 67 4d 42 41 41 47 6a 51 6a 42 41 0a 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d AgMBAAGjQjBA.MA8GA1UdEwEB/wQFMAM
1bd720 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 42 30 47 41 31 55 BAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1U
1bd740 64 44 67 51 57 42 42 53 31 41 2f 64 32 4f 32 47 43 61 68 4b 71 47 46 50 72 0a 41 79 47 55 76 2f dDgQWBBS1A/d2O2GCahKqGFPr.AyGUv/
1bd760 37 4f 79 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 51 45 41 56 6a 7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj
1bd780 33 76 6c 4e 57 39 32 6e 4f 79 57 4c 36 75 6b 4b 32 59 4a 35 66 2b 41 62 47 77 55 67 43 34 54 65 3vlNW92nOyWL6ukK2YJ5f+AbGwUgC4Te
1bd7a0 51 62 49 58 51 62 0a 66 73 44 75 58 6d 6b 71 4a 61 39 63 31 68 33 61 30 6e 6e 4a 38 35 63 70 34 QbIXQb.fsDuXmkqJa9c1h3a0nnJ85cp4
1bd7c0 49 61 48 33 67 52 5a 44 2f 46 5a 31 47 53 46 53 35 6d 76 4a 51 51 65 79 55 61 70 6c 39 36 43 73 IaH3gRZD/FZ1GSFS5mvJQQeyUapl96Cs
1bd7e0 68 74 77 6e 35 7a 32 72 33 45 78 33 58 73 46 70 53 7a 54 0a 75 63 70 48 39 73 72 79 39 75 65 74 htwn5z2r3Ex3XsFpSzT.ucpH9sry9uet
1bd800 75 55 67 2f 76 42 61 33 77 57 33 30 36 67 6d 76 37 50 4f 31 35 77 57 65 70 68 36 4b 55 31 48 57 uUg/vBa3wW306gmv7PO15wWeph6KU1HW
1bd820 6b 34 48 4d 64 4a 50 32 75 64 71 6d 4a 51 56 30 65 56 70 2b 51 44 36 43 53 79 59 52 4d 47 37 68 k4HMdJP2udqmJQV0eVp+QD6CSyYRMG7h
1bd840 0a 50 30 48 48 52 77 41 31 31 66 58 54 39 31 51 2b 67 54 33 61 53 57 71 61 73 2b 38 51 50 65 62 .P0HHRwA11fXT91Q+gT3aSWqas+8QPeb
1bd860 72 62 39 48 49 49 6b 66 4c 7a 4d 38 42 4d 5a 4c 5a 47 4f 4d 69 76 67 6b 65 47 6a 35 61 73 75 52 rb9HIIkfLzM8BMZLZGOMivgkeGj5asuR
1bd880 72 44 46 52 36 66 55 4e 4f 75 49 6d 6c 0a 65 39 65 69 50 5a 61 47 7a 50 49 6d 4e 43 31 71 6b 70 rDFR6fUNOuIml.e9eiPZaGzPImNC1qkp
1bd8a0 32 61 47 74 41 77 34 6c 31 4f 42 4c 42 66 69 79 42 2b 64 38 45 39 6c 59 4c 52 52 70 6f 37 50 48 2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PH
1bd8c0 69 34 62 36 48 51 44 57 53 69 65 42 34 70 54 70 50 44 70 46 51 55 57 77 3d 3d 0a 2d 2d 2d 2d 2d i4b6HQDWSieB4pTpPDpFQUWw==.-----
1bd8e0 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 45 20 43 65 72 74 69 66 69 END.CERTIFICATE-----..EE.Certifi
1bd900 63 61 74 69 6f 6e 20 43 65 6e 74 72 65 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d cation.Centre.Root.CA.==========
1bd920 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e =====================.-----BEGIN
1bd940 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 41 7a 43 43 41 75 75 67 41 77 .CERTIFICATE-----.MIIEAzCCAuugAw
1bd960 49 42 41 67 49 51 56 49 44 35 6f 48 50 74 50 77 42 4d 79 6f 6e 59 34 33 48 6d 53 6a 41 4e 42 67 IBAgIQVID5oHPtPwBMyonY43HmSjANBg
1bd980 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 44 42 31 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 kqhkiG9w0BAQUFADB1MQswCQYDVQQG.E
1bd9a0 77 4a 46 52 54 45 69 4d 43 41 47 41 31 55 45 43 67 77 5a 51 56 4d 67 55 32 56 79 64 47 6c 6d 61 wJFRTEiMCAGA1UECgwZQVMgU2VydGlma
1bd9c0 58 52 7a 5a 57 56 79 61 57 31 70 63 32 74 6c 63 32 74 31 63 7a 45 6f 4d 43 59 47 41 31 55 45 41 XRzZWVyaW1pc2tlc2t1czEoMCYGA1UEA
1bd9e0 77 77 66 52 55 55 67 51 32 56 79 0a 64 47 6c 6d 61 57 4e 68 64 47 6c 76 62 69 42 44 5a 57 35 30 wwfRUUgQ2Vy.dGlmaWNhdGlvbiBDZW50
1bda00 63 6d 55 67 55 6d 39 76 64 43 42 44 51 54 45 59 4d 42 59 47 43 53 71 47 53 49 62 33 44 51 45 4a cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJ
1bda20 41 52 59 4a 63 47 74 70 51 48 4e 72 4c 6d 56 6c 4d 43 49 59 44 7a 49 77 0a 4d 54 41 78 4d 44 4d ARYJcGtpQHNrLmVlMCIYDzIw.MTAxMDM
1bda40 77 4d 54 41 78 4d 44 4d 77 57 68 67 50 4d 6a 41 7a 4d 44 45 79 4d 54 63 79 4d 7a 55 35 4e 54 6c wMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTl
1bda60 61 4d 48 55 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 56 46 4d 53 49 77 49 41 59 44 56 51 51 aMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQ
1bda80 4b 44 42 6c 42 0a 55 79 42 54 5a 58 4a 30 61 57 5a 70 64 48 4e 6c 5a 58 4a 70 62 57 6c 7a 61 32 KDBlB.UyBTZXJ0aWZpdHNlZXJpbWlza2
1bdaa0 56 7a 61 33 56 7a 4d 53 67 77 4a 67 59 44 56 51 51 44 44 42 39 46 52 53 42 44 5a 58 4a 30 61 57 Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aW
1bdac0 5a 70 59 32 46 30 61 57 39 75 49 45 4e 6c 62 6e 52 79 0a 5a 53 42 53 62 32 39 30 49 45 4e 42 4d ZpY2F0aW9uIENlbnRy.ZSBSb290IENBM
1bdae0 52 67 77 46 67 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 6b 42 46 67 6c 77 61 32 6c 41 63 32 73 75 5a RgwFgYJKoZIhvcNAQkBFglwa2lAc2suZ
1bdb00 57 55 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 0a WUwggEiMA0GCSqGSIb3DQEBAQUAA4IB.
1bdb20 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 44 49 49 4d 44 73 34 4d 56 4c 71 77 64 34 6c 66 4e 45 DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE
1bdb40 37 76 73 4c 44 50 39 30 6a 6d 47 37 73 57 4c 71 49 39 69 72 6f 57 55 79 65 75 75 4f 46 30 2b 57 7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W
1bdb60 32 41 70 37 6b 61 4a 6a 62 4d 65 4d 0a 54 43 35 35 76 36 6b 46 2f 47 6c 63 6c 59 31 69 2b 62 6c 2Ap7kaJjbMeM.TC55v6kF/GlclY1i+bl
1bdb80 77 37 63 4e 52 66 64 43 54 35 6d 7a 72 4d 45 76 68 76 48 32 2f 55 70 76 4f 62 6e 74 6c 38 6a 69 w7cNRfdCT5mzrMEvhvH2/UpvObntl8ji
1bdba0 78 77 4b 49 79 37 32 4b 79 61 4f 42 68 55 38 45 32 6c 66 2f 73 6c 4c 6f 32 0a 72 70 77 63 70 7a xwKIy72KyaOBhU8E2lf/slLo2.rpwcpz
1bdbc0 49 50 35 58 79 30 78 6d 39 30 2f 58 73 59 36 4b 78 58 37 51 59 67 53 7a 49 77 57 46 76 39 7a 61 IP5Xy0xm90/XsY6KxX7QYgSzIwWFv9za
1bdbe0 6a 6d 6f 66 78 77 76 49 36 53 63 39 75 58 70 33 77 68 72 6a 33 42 39 55 69 48 62 43 65 39 6e 79 jmofxwvI6Sc9uXp3whrj3B9UiHbCe9ny
1bdc00 56 30 67 56 57 77 0a 39 33 58 32 50 61 52 6b 61 39 5a 50 35 38 35 41 72 51 2f 64 4d 74 4f 38 69 V0gVWw.93X2PaRka9ZP585ArQ/dMtO8i
1bdc20 68 4a 54 6d 4d 6d 4a 2b 78 41 64 54 58 37 4e 66 68 39 57 44 53 46 77 68 66 59 67 67 78 2f 32 75 hJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2u
1bdc40 68 38 45 6a 2b 70 33 69 44 58 45 2f 2b 70 4f 6f 59 74 4e 0a 50 32 4d 62 52 4d 4e 45 31 43 56 32 h8Ej+p3iDXE/+pOoYtN.P2MbRMNE1CV2
1bdc60 79 72 65 4e 31 78 35 4b 5a 6d 54 4e 58 4d 57 63 67 2b 48 43 43 49 69 61 37 45 36 6a 38 54 34 63 yreN1x5KZmTNXMWcg+HCCIia7E6j8T4c
1bdc80 4c 4e 6c 73 48 61 46 4c 41 67 4d 42 41 41 47 6a 67 59 6f 77 67 59 63 77 44 77 59 44 56 52 30 54 LNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
1bdca0 0a 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d .AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAM
1bdcc0 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 42 4c 79 57 6a 37 71 56 68 79 2f 7a 51 61 CAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQa
1bdce0 73 38 66 45 6c 79 61 6c 4c 31 42 53 5a 0a 4d 45 55 47 41 31 55 64 4a 51 51 2b 4d 44 77 47 43 43 s8fElyalL1BSZ.MEUGA1UdJQQ+MDwGCC
1bdd00 73 47 41 51 55 46 42 77 4d 43 42 67 67 72 42 67 45 46 42 51 63 44 41 51 59 49 4b 77 59 42 42 51 sGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQ
1bdd20 55 48 41 77 4d 47 43 43 73 47 41 51 55 46 42 77 4d 45 42 67 67 72 42 67 45 46 0a 42 51 63 44 43 UHAwMGCCsGAQUFBwMEBggrBgEF.BQcDC
1bdd40 41 59 49 4b 77 59 42 42 51 55 48 41 77 6b 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 AYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFB
1bdd60 51 41 44 67 67 45 42 41 48 76 32 35 4d 41 4e 71 68 6c 48 74 30 31 58 6f 2f 36 74 75 37 46 71 31 QADggEBAHv25MANqhlHt01Xo/6tu7Fq1
1bdd80 51 2b 65 32 2b 52 6a 0a 78 59 36 68 55 46 61 54 6c 72 67 34 77 43 51 69 5a 72 78 54 46 47 47 56 Q+e2+Rj.xY6hUFaTlrg4wCQiZrxTFGGV
1bdda0 76 39 44 48 4b 70 59 35 50 33 30 6f 73 78 42 41 49 57 72 45 72 37 42 53 64 78 6a 68 6c 74 68 57 v9DHKpY5P30osxBAIWrEr7BSdxjhlthW
1bddc0 58 65 50 64 4e 6c 34 64 70 31 42 55 6f 4d 55 71 35 4b 71 4d 0a 6c 49 70 50 6e 54 58 2f 64 71 51 XePdNl4dp1BUoMUq5KqM.lIpPnTX/dqQ
1bdde0 47 45 35 47 69 6f 6e 30 41 52 44 39 56 30 34 49 38 47 74 56 62 76 46 5a 4d 49 69 35 47 51 34 6f GE5Gion0ARD9V04I8GtVbvFZMIi5GQ4o
1bde00 6b 51 43 33 7a 45 72 67 37 63 42 71 6b 6c 72 6b 61 72 34 64 42 47 6d 6f 59 44 51 5a 50 78 7a 35 kQC3zErg7cBqklrkar4dBGmoYDQZPxz5
1bde20 75 0a 75 53 6c 4e 44 55 6d 4a 45 59 63 79 57 2b 5a 4c 42 4d 6a 6b 58 4f 5a 30 63 35 52 64 46 70 u.uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFp
1bde40 67 54 6c 66 37 37 32 37 46 45 35 54 70 77 72 44 64 72 35 72 4d 7a 63 69 6a 4a 73 31 65 67 39 67 gTlf7727FE5TpwrDdr5rMzcijJs1eg9g
1bde60 49 57 69 41 59 4c 74 71 5a 4c 49 43 6a 55 0a 33 6a 32 4c 72 54 63 46 55 33 54 2b 62 73 79 38 51 IWiAYLtqZLICjU.3j2LrTcFU3T+bsy8Q
1bde80 78 64 78 58 76 6e 46 7a 42 71 70 59 65 37 33 64 67 7a 7a 63 76 52 79 72 63 39 79 41 6a 59 48 52 xdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR
1bdea0 38 2f 76 47 56 43 4a 59 4d 7a 70 4a 4a 55 50 77 73 73 64 38 6d 39 32 6b 4d 66 4d 0a 64 63 47 57 8/vGVCJYMzpJJUPwssd8m92kMfM.dcGW
1bdec0 78 5a 30 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a xZ0=.-----END.CERTIFICATE-----..
1bdee0 44 2d 54 52 55 53 54 20 52 6f 6f 74 20 43 6c 61 73 73 20 33 20 43 41 20 32 20 32 30 30 39 0a 3d D-TRUST.Root.Class.3.CA.2.2009.=
1bdf00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d =============================.--
1bdf20 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 4d 7a ---BEGIN.CERTIFICATE-----.MIIEMz
1bdf40 43 43 41 78 75 67 41 77 49 42 41 67 49 44 43 59 50 7a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 CCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQ
1bdf60 45 42 43 77 55 41 4d 45 30 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 52 46 4d 52 55 77 45 77 EBCwUAME0xCzAJBgNVBAYTAkRFMRUwEw
1bdf80 59 44 56 51 51 4b 0a 44 41 78 45 4c 56 52 79 64 58 4e 30 49 45 64 74 59 6b 67 78 4a 7a 41 6c 42 YDVQQK.DAxELVRydXN0IEdtYkgxJzAlB
1bdfa0 67 4e 56 42 41 4d 4d 48 6b 51 74 56 46 4a 56 55 31 51 67 55 6d 39 76 64 43 42 44 62 47 46 7a 63 gNVBAMMHkQtVFJVU1QgUm9vdCBDbGFzc
1bdfc0 79 41 7a 49 45 4e 42 49 44 49 67 4d 6a 41 77 4f 54 41 65 0a 46 77 30 77 4f 54 45 78 4d 44 55 77 yAzIENBIDIgMjAwOTAe.Fw0wOTExMDUw
1bdfe0 4f 44 4d 31 4e 54 68 61 46 77 30 79 4f 54 45 78 4d 44 55 77 4f 44 4d 31 4e 54 68 61 4d 45 30 78 ODM1NThaFw0yOTExMDUwODM1NThaME0x
1be000 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 52 46 4d 52 55 77 45 77 59 44 56 51 51 4b 44 41 78 45 CzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxE
1be020 0a 4c 56 52 79 64 58 4e 30 49 45 64 74 59 6b 67 78 4a 7a 41 6c 42 67 4e 56 42 41 4d 4d 48 6b 51 .LVRydXN0IEdtYkgxJzAlBgNVBAMMHkQ
1be040 74 56 46 4a 56 55 31 51 67 55 6d 39 76 64 43 42 44 62 47 46 7a 63 79 41 7a 49 45 4e 42 49 44 49 tVFJVU1QgUm9vdCBDbGFzcyAzIENBIDI
1be060 67 4d 6a 41 77 4f 54 43 43 41 53 49 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 gMjAwOTCCASIw.DQYJKoZIhvcNAQEBBQ
1be080 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 67 67 45 42 41 4e 4f 79 53 73 39 36 52 2b 39 31 6d 79 ADggEPADCCAQoCggEBANOySs96R+91my
1be0a0 50 36 4f 69 2f 57 55 45 57 4a 4e 54 72 47 61 39 76 2b 32 77 42 6f 71 4f 41 44 0a 45 52 30 33 55 P6Oi/WUEWJNTrGa9v+2wBoqOAD.ER03U
1be0c0 41 69 66 54 55 70 6f 6c 44 57 7a 55 39 47 55 59 36 63 67 56 71 2f 65 55 58 6a 73 4b 6a 33 7a 53 AifTUpolDWzU9GUY6cgVq/eUXjsKj3zS
1be0e0 45 68 51 50 67 72 66 52 6c 57 4c 4a 32 33 44 45 45 30 4e 6b 56 4a 44 32 49 66 67 58 55 34 32 74 EhQPgrfRlWLJ23DEE0NkVJD2IfgXU42t
1be100 53 48 4b 58 7a 6c 41 0a 42 46 39 62 66 73 79 6a 78 69 75 70 51 42 37 5a 4e 6f 54 57 53 50 4f 53 SHKXzlA.BF9bfsyjxiupQB7ZNoTWSPOS
1be120 48 6a 52 47 49 43 54 42 70 46 47 4f 53 68 72 76 55 44 39 70 58 52 6c 2f 52 63 50 48 41 59 39 52 HjRGICTBpFGOShrvUD9pXRl/RcPHAY9R
1be140 79 53 50 6f 63 71 36 30 76 46 59 4a 66 78 4c 4c 48 4c 47 76 0a 4b 5a 41 4b 79 56 58 4d 44 39 4f ySPocq60vFYJfxLLHLGv.KZAKyVXMD9O
1be160 30 47 75 31 48 4e 56 70 4b 37 5a 78 7a 42 43 48 51 71 72 30 4d 45 37 55 41 79 69 5a 73 78 47 73 0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGs
1be180 4d 6c 46 71 56 6c 4e 70 51 6d 76 48 2f 70 53 74 6d 4d 61 54 4a 4f 4b 44 66 48 52 2b 34 43 53 37 MlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7
1be1a0 7a 0a 70 2b 68 6e 55 71 75 56 48 2b 42 47 50 74 69 6b 77 38 70 61 78 54 47 41 36 45 69 61 6e 35 z.p+hnUquVH+BGPtikw8paxTGA6Eian5
1be1c0 52 70 2f 68 6e 64 32 48 4e 38 67 63 71 57 33 6f 37 74 73 7a 49 46 5a 59 51 30 35 75 62 39 56 78 Rp/hnd2HN8gcqW3o7tszIFZYQ05ub9Vx
1be1e0 43 31 58 33 61 2f 4c 37 41 51 44 63 55 43 0a 41 77 45 41 41 61 4f 43 41 52 6f 77 67 67 45 57 4d C1X3a/L7AQDcUC.AwEAAaOCARowggEWM
1be200 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 42 A8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OB
1be220 42 59 45 46 50 33 61 46 4d 53 66 4d 4e 34 68 76 52 35 43 4f 66 79 72 59 79 4e 4a 0a 34 50 47 45 BYEFP3aFMSfMN4hvR5COfyrYyNJ.4PGE
1be240 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 43 42 30 77 59 44 56 52 30 66 MA4GA1UdDwEB/wQEAwIBBjCB0wYDVR0f
1be260 42 49 48 4c 4d 49 48 49 4d 49 47 41 6f 48 36 67 66 49 5a 36 62 47 52 68 63 44 6f 76 4c 32 52 70 BIHLMIHIMIGAoH6gfIZ6bGRhcDovL2Rp
1be280 63 6d 56 6a 64 47 39 79 0a 65 53 35 6b 4c 58 52 79 64 58 4e 30 4c 6d 35 6c 64 43 39 44 54 6a 31 cmVjdG9y.eS5kLXRydXN0Lm5ldC9DTj1
1be2a0 45 4c 56 52 53 56 56 4e 55 4a 54 49 77 55 6d 39 76 64 43 55 79 4d 45 4e 73 59 58 4e 7a 4a 54 49 ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTI
1be2c0 77 4d 79 55 79 4d 45 4e 42 4a 54 49 77 4d 69 55 79 4d 44 49 77 0a 4d 44 6b 73 54 7a 31 45 4c 56 wMyUyMENBJTIwMiUyMDIw.MDksTz1ELV
1be2e0 52 79 64 58 4e 30 4a 54 49 77 52 32 31 69 53 43 78 44 50 55 52 46 50 32 4e 6c 63 6e 52 70 5a 6d RydXN0JTIwR21iSCxDPURFP2NlcnRpZm
1be300 6c 6a 59 58 52 6c 63 6d 56 32 62 32 4e 68 64 47 6c 76 62 6d 78 70 63 33 51 77 51 36 42 42 6f 44 ljYXRlcmV2b2NhdGlvbmxpc3QwQ6BBoD
1be320 2b 47 0a 50 57 68 30 64 48 41 36 4c 79 39 33 64 33 63 75 5a 43 31 30 63 6e 56 7a 64 43 35 75 5a +G.PWh0dHA6Ly93d3cuZC10cnVzdC5uZ
1be340 58 51 76 59 33 4a 73 4c 32 51 74 64 48 4a 31 63 33 52 66 63 6d 39 76 64 46 39 6a 62 47 46 7a 63 XQvY3JsL2QtdHJ1c3Rfcm9vdF9jbGFzc
1be360 31 38 7a 58 32 4e 68 58 7a 4a 66 4d 6a 41 77 0a 4f 53 35 6a 63 6d 77 77 44 51 59 4a 4b 6f 5a 49 18zX2NhXzJfMjAw.OS5jcmwwDQYJKoZI
1be380 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 42 41 48 2b 58 32 7a 44 49 33 36 53 63 66 53 46 36 hvcNAQELBQADggEBAH+X2zDI36ScfSF6
1be3a0 67 48 44 4f 46 42 4a 70 69 42 53 56 59 45 51 42 72 4c 4c 70 4d 45 2b 62 55 4d 4a 6d 0a 32 48 36 gHDOFBJpiBSVYEQBrLLpME+bUMJm.2H6
1be3c0 4e 4d 4c 56 77 4d 65 6e 69 61 63 66 7a 63 4e 73 67 46 59 62 51 44 66 43 2b 72 41 46 31 68 4d 35 NMLVwMeniacfzcNsgFYbQDfC+rAF1hM5
1be3e0 2b 6e 30 32 2f 74 32 41 37 6e 50 50 4b 48 65 4a 65 61 4e 69 6a 6e 5a 66 6c 51 47 44 53 4e 69 48 +n02/t2A7nPPKHeJeaNijnZflQGDSNiH
1be400 2b 30 4c 53 34 46 39 70 30 0a 6f 33 2f 55 33 37 43 59 41 71 78 76 61 32 73 73 4a 53 52 79 6f 57 +0LS4F9p0.o3/U37CYAqxva2ssJSRyoW
1be420 58 75 4a 56 72 6c 35 6a 4c 6e 38 74 2b 72 53 66 72 7a 6b 47 6b 6a 32 77 54 5a 35 31 78 59 2f 47 XuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/G
1be440 58 55 6c 37 37 4d 2f 43 34 4b 7a 43 55 71 4e 51 54 34 59 4a 45 56 0a 64 54 31 42 2f 79 4d 66 47 XUl77M/C4KzCUqNQT4YJEV.dT1B/yMfG
1be460 63 68 73 36 34 4a 54 42 4b 62 6b 54 43 4a 4e 6a 59 79 36 7a 6c 74 7a 37 47 52 55 55 47 33 52 6e chs64JTBKbkTCJNjYy6zltz7GRUUG3Rn
1be480 46 58 37 61 63 4d 32 77 34 79 38 50 49 57 6d 61 77 6f 6d 44 65 43 54 6d 47 43 75 66 73 59 6b 6c FX7acM2w4y8PIWmawomDeCTmGCufsYkl
1be4a0 34 70 68 0a 58 35 47 4f 5a 70 49 4a 68 7a 62 4e 69 35 73 74 50 76 5a 52 31 46 44 55 57 53 69 39 4ph.X5GOZpIJhzbNi5stPvZR1FDUWSi9
1be4c0 67 2f 4c 4d 4b 48 74 54 68 6d 33 59 4a 6f 68 77 31 2b 71 52 7a 54 36 35 79 73 43 51 62 6c 72 47 g/LMKHtThm3YJohw1+qRzT65ysCQblrG
1be4e0 58 6e 52 6c 31 31 7a 2b 6f 2b 49 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 XnRl11z+o+I=.-----END.CERTIFICAT
1be500 45 2d 2d 2d 2d 2d 0a 0a 44 2d 54 52 55 53 54 20 52 6f 6f 74 20 43 6c 61 73 73 20 33 20 43 41 20 E-----..D-TRUST.Root.Class.3.CA.
1be520 32 20 45 56 20 32 30 30 39 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 2.EV.2009.======================
1be540 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1be560 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 51 7a 43 43 41 79 75 67 41 77 49 42 41 67 49 44 43 59 50 30 TE-----.MIIEQzCCAyugAwIBAgIDCYP0
1be580 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 46 41 78 43 7a 41 4a 42 67 4e 56 MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNV
1be5a0 42 41 59 54 41 6b 52 46 4d 52 55 77 45 77 59 44 56 51 51 4b 0a 44 41 78 45 4c 56 52 79 64 58 4e BAYTAkRFMRUwEwYDVQQK.DAxELVRydXN
1be5c0 30 49 45 64 74 59 6b 67 78 4b 6a 41 6f 42 67 4e 56 42 41 4d 4d 49 55 51 74 56 46 4a 56 55 31 51 0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1Q
1be5e0 67 55 6d 39 76 64 43 42 44 62 47 46 7a 63 79 41 7a 49 45 4e 42 49 44 49 67 52 56 59 67 4d 6a 41 gUm9vdCBDbGFzcyAzIENBIDIgRVYgMjA
1be600 77 0a 4f 54 41 65 46 77 30 77 4f 54 45 78 4d 44 55 77 4f 44 55 77 4e 44 5a 61 46 77 30 79 4f 54 w.OTAeFw0wOTExMDUwODUwNDZaFw0yOT
1be620 45 78 4d 44 55 77 4f 44 55 77 4e 44 5a 61 4d 46 41 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b ExMDUwODUwNDZaMFAxCzAJBgNVBAYTAk
1be640 52 46 4d 52 55 77 45 77 59 44 56 51 51 4b 0a 44 41 78 45 4c 56 52 79 64 58 4e 30 49 45 64 74 59 RFMRUwEwYDVQQK.DAxELVRydXN0IEdtY
1be660 6b 67 78 4b 6a 41 6f 42 67 4e 56 42 41 4d 4d 49 55 51 74 56 46 4a 56 55 31 51 67 55 6d 39 76 64 kgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vd
1be680 43 42 44 62 47 46 7a 63 79 41 7a 49 45 4e 42 49 44 49 67 52 56 59 67 4d 6a 41 77 0a 4f 54 43 43 CBDbGFzcyAzIENBIDIgRVYgMjAw.OTCC
1be6a0 41 53 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 ASIwDQYJKoZIhvcNAQEBBQADggEPADCC
1be6c0 41 51 6f 43 67 67 45 42 41 4a 6e 78 68 44 52 77 75 69 2b 33 4d 4b 43 4f 76 58 77 45 7a 37 35 69 AQoCggEBAJnxhDRwui+3MKCOvXwEz75i
1be6e0 76 4a 6e 39 67 70 66 53 0a 65 67 70 6e 6c 6a 67 4a 39 68 42 4f 6c 53 4a 7a 6d 59 33 61 46 53 33 vJn9gpfS.egpnljgJ9hBOlSJzmY3aFS3
1be700 6e 42 66 77 5a 63 79 4b 33 6a 70 67 41 76 44 77 39 72 4b 46 73 2b 39 5a 35 4a 55 75 74 38 4d 78 nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mx
1be720 6b 32 6f 67 2b 4b 62 67 50 43 64 4d 30 33 54 50 31 59 74 48 68 0a 7a 52 6e 70 37 68 68 50 54 46 k2og+KbgPCdM03TP1YtHh.zRnp7hhPTF
1be740 69 75 34 68 37 57 44 46 73 56 57 74 67 36 75 4d 51 59 5a 42 37 6a 4d 37 4b 31 69 58 64 4f 44 4c iu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL
1be760 2f 5a 6c 47 73 54 6c 32 38 53 6f 2f 36 5a 71 51 54 4d 46 65 78 67 61 44 62 74 43 48 75 33 39 62 /ZlGsTl28So/6ZqQTMFexgaDbtCHu39b
1be780 2b 54 0a 37 57 59 78 67 34 7a 47 63 54 53 48 54 68 66 71 72 34 75 52 6a 52 78 57 51 61 34 69 4e +T.7WYxg4zGcTSHThfqr4uRjRxWQa4iN
1be7a0 31 34 33 38 68 33 5a 30 53 30 4e 4c 32 6c 52 70 37 35 6d 70 6f 6f 36 4b 72 33 48 47 72 48 68 46 1438h3Z0S0NL2lRp75mpoo6Kr3HGrHhF
1be7c0 50 43 2b 4f 68 32 35 7a 31 75 78 61 76 36 30 0a 73 55 59 67 6f 76 73 65 4f 33 44 76 6b 35 68 39 PC+Oh25z1uxav60.sUYgovseO3Dvk5h9
1be7e0 6a 48 4f 57 38 73 58 76 68 58 43 74 4b 53 62 38 48 67 51 2b 48 4b 44 59 44 38 74 53 67 32 4a 38 jHOW8sXvhXCtKSb8HgQ+HKDYD8tSg2J8
1be800 37 6f 74 54 6c 5a 43 70 56 36 4c 71 59 51 58 59 2b 55 33 45 4a 2f 70 75 72 65 33 35 0a 31 31 48 7otTlZCpV6LqYQXY+U3EJ/pure35.11H
1be820 33 61 36 55 43 41 77 45 41 41 61 4f 43 41 53 51 77 67 67 45 67 4d 41 38 47 41 31 55 64 45 77 45 3a6UCAwEAAaOCASQwggEgMA8GA1UdEwE
1be840 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4e 4f 55 69 6b 78 B/wQFMAMBAf8wHQYDVR0OBBYEFNOUikx
1be860 69 45 79 6f 5a 4c 73 79 76 0a 63 6f 70 39 4e 74 65 61 48 4e 78 6e 4d 41 34 47 41 31 55 64 44 77 iEyoZLsyv.cop9NteaHNxnMA4GA1UdDw
1be880 45 42 2f 77 51 45 41 77 49 42 42 6a 43 42 33 51 59 44 56 52 30 66 42 49 48 56 4d 49 48 53 4d 49 EB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMI
1be8a0 47 48 6f 49 47 45 6f 49 47 42 68 6e 39 73 5a 47 46 77 4f 69 38 76 0a 5a 47 6c 79 5a 57 4e 30 62 GHoIGEoIGBhn9sZGFwOi8v.ZGlyZWN0b
1be8c0 33 4a 35 4c 6d 51 74 64 48 4a 31 63 33 51 75 62 6d 56 30 4c 30 4e 4f 50 55 51 74 56 46 4a 56 55 3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU
1be8e0 31 51 6c 4d 6a 42 53 62 32 39 30 4a 54 49 77 51 32 78 68 63 33 4d 6c 4d 6a 41 7a 4a 54 49 77 51 1QlMjBSb290JTIwQ2xhc3MlMjAzJTIwQ
1be900 30 45 6c 0a 4d 6a 41 79 4a 54 49 77 52 56 59 6c 4d 6a 41 79 4d 44 41 35 4c 45 38 39 52 43 31 55 0El.MjAyJTIwRVYlMjAyMDA5LE89RC1U
1be920 63 6e 56 7a 64 43 55 79 4d 45 64 74 59 6b 67 73 51 7a 31 45 52 54 39 6a 5a 58 4a 30 61 57 5a 70 cnVzdCUyMEdtYkgsQz1ERT9jZXJ0aWZp
1be940 59 32 46 30 5a 58 4a 6c 64 6d 39 6a 59 58 52 70 0a 62 32 35 73 61 58 4e 30 4d 45 61 67 52 4b 42 Y2F0ZXJldm9jYXRp.b25saXN0MEagRKB
1be960 43 68 6b 42 6f 64 48 52 77 4f 69 38 76 64 33 64 33 4c 6d 51 74 64 48 4a 31 63 33 51 75 62 6d 56 ChkBodHRwOi8vd3d3LmQtdHJ1c3QubmV
1be980 30 4c 32 4e 79 62 43 39 6b 4c 58 52 79 64 58 4e 30 58 33 4a 76 62 33 52 66 59 32 78 68 0a 63 33 0L2NybC9kLXRydXN0X3Jvb3RfY2xh.c3
1be9a0 4e 66 4d 31 39 6a 59 56 38 79 58 32 56 32 58 7a 49 77 4d 44 6b 75 59 33 4a 73 4d 41 30 47 43 53 NfM19jYV8yX2V2XzIwMDkuY3JsMA0GCS
1be9c0 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 42 41 51 41 30 37 58 74 61 50 4b 53 55 69 4f qGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO
1be9e0 38 61 45 58 55 48 4c 37 50 2b 0a 50 50 6f 65 55 53 62 72 68 2f 59 70 33 75 44 78 31 4d 59 6b 43 8aEXUHL7P+.PPoeUSbrh/Yp3uDx1MYkC
1bea00 65 6e 42 7a 31 55 62 74 44 44 5a 7a 68 72 2b 42 6c 47 6d 46 61 51 74 37 37 4a 4c 76 79 41 6f 4a enBz1UbtDDZzhr+BlGmFaQt77JLvyAoJ
1bea20 55 6e 52 70 6a 5a 33 4e 4f 68 6b 33 31 4b 78 45 63 64 7a 65 73 30 35 0a 6e 73 4b 74 6a 48 45 68 UnRpjZ3NOhk31KxEcdzes05.nsKtjHEh
1bea40 38 6c 70 72 72 39 38 38 54 6c 57 76 73 6f 52 6c 46 49 6d 35 64 38 73 71 4d 62 37 50 6f 32 33 50 8lprr988TlWvsoRlFIm5d8sqMb7Po23P
1bea60 62 30 69 55 4d 6b 5a 76 35 33 47 4d 6f 4b 61 45 47 54 63 48 38 67 4e 46 43 53 75 47 64 58 7a 66 b0iUMkZv53GMoKaEGTcH8gNFCSuGdXzf
1bea80 58 32 6c 58 0a 41 4e 74 75 32 4b 5a 79 49 6b 74 51 31 48 57 59 56 74 2b 33 47 50 39 44 51 31 43 X2lX.ANtu2KZyIktQ1HWYVt+3GP9DQ1C
1beaa0 75 65 6b 52 37 38 48 6c 52 31 30 4d 39 70 39 4f 42 30 2f 44 4a 54 37 6e 61 78 70 65 47 30 49 4c uekR78HlR10M9p9OB0/DJT7naxpeG0IL
1beac0 44 35 45 4a 74 2f 72 44 69 5a 45 34 4f 4a 75 64 41 0a 4e 43 61 31 43 49 6e 58 43 47 4e 6a 4f 43 D5EJt/rDiZE4OJudA.NCa1CInXCGNjOC
1beae0 64 31 48 6a 50 71 62 71 6a 64 6e 35 6c 50 64 45 32 42 69 59 42 4c 33 5a 71 58 4b 56 77 76 76 6f d1HjPqbqjdn5lPdE2BiYBL3ZqXKVwvvo
1beb00 46 42 75 59 7a 2f 36 6e 31 67 42 70 37 4e 31 7a 33 54 4c 71 4d 56 76 4b 6a 6d 4a 75 56 76 0a 77 FBuYz/6n1gBp7N1z3TLqMVvKjmJuVv.w
1beb20 39 79 34 41 79 48 71 6e 78 62 78 4c 46 53 31 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 9y4AyHqnxbxLFS1.-----END.CERTIFI
1beb40 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 41 20 44 69 73 69 67 20 52 6f 6f 74 20 52 32 0a 3d 3d 3d 3d CATE-----..CA.Disig.Root.R2.====
1beb60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 ============.-----BEGIN.CERTIFIC
1beb80 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 61 54 43 43 41 31 47 67 41 77 49 42 41 67 49 4a 41 4a 4b ATE-----.MIIFaTCCA1GgAwIBAgIJAJK
1beba0 34 69 4e 75 77 69 73 46 6a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 46 49 4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFI
1bebc0 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 4e 4c 4d 52 4d 77 0a 45 51 59 44 56 51 51 48 45 77 xCzAJBgNVBAYTAlNLMRMw.EQYDVQQHEw
1bebe0 70 43 63 6d 46 30 61 58 4e 73 59 58 5a 68 4d 52 4d 77 45 51 59 44 56 51 51 4b 45 77 70 45 61 58 pCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaX
1bec00 4e 70 5a 79 42 68 4c 6e 4d 75 4d 52 6b 77 46 77 59 44 56 51 51 44 45 78 42 44 51 53 42 45 61 58 NpZyBhLnMuMRkwFwYDVQQDExBDQSBEaX
1bec20 4e 70 0a 5a 79 42 53 62 32 39 30 49 46 49 79 4d 42 34 58 44 54 45 79 4d 44 63 78 4f 54 41 35 4d Np.ZyBSb290IFIyMB4XDTEyMDcxOTA5M
1bec40 54 55 7a 4d 46 6f 58 44 54 51 79 4d 44 63 78 4f 54 41 35 4d 54 55 7a 4d 46 6f 77 55 6a 45 4c 4d TUzMFoXDTQyMDcxOTA5MTUzMFowUjELM
1bec60 41 6b 47 41 31 55 45 42 68 4d 43 55 30 73 78 0a 45 7a 41 52 42 67 4e 56 42 41 63 54 43 6b 4a 79 AkGA1UEBhMCU0sx.EzARBgNVBAcTCkJy
1bec80 59 58 52 70 63 32 78 68 64 6d 45 78 45 7a 41 52 42 67 4e 56 42 41 6f 54 43 6b 52 70 63 32 6c 6e YXRpc2xhdmExEzARBgNVBAoTCkRpc2ln
1beca0 49 47 45 75 63 79 34 78 47 54 41 58 42 67 4e 56 42 41 4d 54 45 45 4e 42 49 45 52 70 0a 63 32 6c IGEucy4xGTAXBgNVBAMTEENBIERp.c2l
1becc0 6e 49 46 4a 76 62 33 51 67 55 6a 49 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 nIFJvb3QgUjIwggIiMA0GCSqGSIb3DQE
1bece0 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 69 6f 38 51 41 43 64 61 BAQUAA4ICDwAwggIKAoICAQCio8QACda
1bed00 46 58 53 31 74 46 50 62 43 0a 77 33 4f 65 4e 63 4a 78 56 58 36 42 2b 36 74 47 55 4f 44 42 66 45 FXS1tFPbC.w3OeNcJxVX6B+6tGUODBfE
1bed20 6c 34 35 71 74 35 57 44 7a 61 2f 33 77 63 6e 39 69 58 41 6e 67 2b 61 30 45 45 36 55 47 39 76 67 l45qt5WDza/3wcn9iXAng+a0EE6UG9vg
1bed40 4d 73 52 66 59 76 5a 4e 53 72 58 61 4e 48 50 57 53 62 36 57 69 61 0a 78 73 77 62 50 37 71 2b 73 MsRfYvZNSrXaNHPWSb6Wia.xswbP7q+s
1bed60 6f 73 30 41 69 36 59 56 52 6e 38 6a 47 2b 71 58 39 70 4d 7a 6b 30 44 49 61 50 59 30 6a 53 54 56 os0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTV
1bed80 70 62 4c 54 41 77 41 46 6a 78 66 47 73 33 49 78 32 79 6d 72 64 4d 78 70 37 7a 6f 35 65 46 6d 31 pbLTAwAFjxfGs3Ix2ymrdMxp7zo5eFm1
1beda0 74 4c 37 0a 41 37 52 42 5a 63 6b 51 72 67 34 46 59 38 61 41 61 6d 6b 77 2f 64 4c 75 6b 4f 38 4e tL7.A7RBZckQrg4FY8aAamkw/dLukO8N
1bedc0 4a 39 2b 66 6c 58 50 30 34 53 58 61 62 42 62 65 51 54 67 30 36 6f 76 38 30 65 67 45 46 47 45 74 J9+flXP04SXabBbeQTg06ov80egEFGEt
1bede0 51 58 36 73 78 33 64 4f 79 31 46 55 2b 31 36 53 0a 47 42 73 45 57 6d 6a 47 79 63 54 36 74 78 4f QX6sx3dOy1FU+16S.GBsEWmjGycT6txO
1bee00 67 6d 4c 63 52 4b 37 66 57 56 38 78 38 6e 68 66 52 79 79 58 2b 68 6b 34 6b 4c 6c 59 4d 65 45 32 gmLcRK7fWV8x8nhfRyyX+hk4kLlYMeE2
1bee20 65 41 52 4b 6d 4b 36 63 42 5a 57 35 38 59 68 32 45 68 4e 2f 71 77 47 75 31 70 53 71 56 0a 67 38 eARKmK6cBZW58Yh2EhN/qwGu1pSqV.g8
1bee40 4e 54 45 51 78 7a 48 51 75 79 52 70 44 52 51 6a 72 4f 51 47 36 56 72 66 2f 47 6c 4b 31 75 6c 34 NTEQxzHQuyRpDRQjrOQG6Vrf/GlK1ul4
1bee60 53 4f 66 57 2b 65 69 6f 41 4e 53 57 31 7a 34 6e 75 53 48 73 50 7a 77 66 50 72 4c 67 56 76 32 52 SOfW+eioANSW1z4nuSHsPzwfPrLgVv2R
1bee80 76 50 4e 33 59 45 79 4c 52 61 0a 35 42 65 6e 79 39 31 32 48 39 41 5a 64 75 67 73 42 62 50 57 6e vPN3YEyLRa.5Beny912H9AZdugsBbPWn
1beea0 44 54 59 6c 74 78 68 68 35 45 46 35 45 51 49 4d 38 48 61 75 51 68 6c 31 4b 36 79 4e 67 33 72 75 DTYltxhh5EF5EQIM8HauQhl1K6yNg3ru
1beec0 6a 69 36 44 4f 57 62 6e 75 75 4e 5a 74 32 5a 7a 39 61 4a 51 66 59 45 0a 6b 6f 6f 70 4b 57 31 72 ji6DOWbnuuNZt2Zz9aJQfYE.koopKW1r
1beee0 4f 68 7a 6e 64 58 30 43 63 51 37 7a 77 4f 65 39 79 78 6e 64 6e 57 43 79 77 6d 5a 67 74 72 45 45 OhzndX0CcQ7zwOe9yxndnWCywmZgtrEE
1bef00 37 73 6e 6d 68 72 6d 61 5a 6b 43 6f 35 78 48 74 67 55 55 44 69 2f 5a 6e 57 65 6a 42 42 68 47 39 7snmhrmaZkCo5xHtgUUDi/ZnWejBBhG9
1bef20 33 63 2b 41 0a 41 6b 39 6c 51 48 68 63 52 31 44 49 6d 2b 59 66 67 58 76 6b 52 4b 68 62 68 5a 72 3c+A.Ak9lQHhcR1DIm+YfgXvkRKhbhZr
1bef40 69 33 6c 72 56 78 2f 6b 36 52 47 5a 4c 35 44 4a 55 66 4f 52 73 6e 4c 4d 4f 50 52 65 69 73 6a 51 i3lrVx/k6RGZL5DJUfORsnLMOPReisjQ
1bef60 53 31 6e 36 79 71 45 6d 37 30 58 6f 6f 51 4c 36 69 0a 46 68 2f 66 35 44 63 66 45 58 50 37 6b 41 S1n6yqEm70XooQL6i.Fh/f5DcfEXP7kA
1bef80 70 6c 51 36 49 4e 66 50 67 47 41 56 55 7a 66 62 41 4e 75 50 54 31 72 71 56 43 56 33 77 32 45 59 plQ6INfPgGAVUzfbANuPT1rqVCV3w2EY
1befa0 78 37 58 73 51 44 6e 59 78 35 6e 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 0a 48 x7XsQDnYx5nQIDAQABo0IwQDAPBgNV.H
1befc0 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 RMBAf8EBTADAQH/MA4GA1UdDwEB/wQEA
1befe0 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 74 5a 6e 34 72 37 43 55 39 65 4d 67 31 wIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1
1bf000 67 71 74 7a 6b 35 57 70 43 35 75 0a 51 75 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c gqtzk5WpC5u.Qu0wDQYJKoZIhvcNAQEL
1bf020 42 51 41 44 67 67 49 42 41 43 59 47 58 6e 44 6e 5a 54 50 49 67 6d 37 5a 6e 42 63 36 47 33 70 6d BQADggIBACYGXnDnZTPIgm7ZnBc6G3pm
1bf040 73 67 48 32 65 44 74 70 58 69 2f 71 2f 30 37 35 4b 4d 4f 59 4b 6d 46 4d 0a 74 43 51 53 69 6e 31 sgH2eDtpXi/q/075KMOYKmFM.tCQSin1
1bf060 74 45 52 54 33 6e 4c 58 4b 35 72 79 65 4a 34 35 4d 47 63 69 70 76 58 72 41 31 7a 59 4f 62 59 56 tERT3nLXK5ryeJ45MGcipvXrA1zYObYV
1bf080 79 62 71 6a 47 6f 6d 33 32 2b 6e 4e 6a 66 37 78 75 65 51 67 63 6e 59 71 66 47 6f 70 54 70 74 69 ybqjGom32+nNjf7xueQgcnYqfGopTpti
1bf0a0 37 32 54 56 56 0a 73 52 48 46 71 51 4f 7a 56 6a 75 35 68 4a 4d 69 58 6e 37 42 39 68 4a 53 69 2b 72TVV.sRHFqQOzVju5hJMiXn7B9hJSi+
1bf0c0 6f 73 5a 37 7a 2b 4e 6b 7a 31 75 4d 2f 52 73 30 6d 53 4f 39 4d 70 44 70 6b 62 6c 76 64 68 75 44 osZ7z+Nkz1uM/Rs0mSO9MpDpkblvdhuD
1bf0e0 76 45 4b 37 5a 34 62 4c 51 6a 62 2f 44 39 30 37 4a 65 0a 64 52 2b 5a 6c 61 69 73 39 74 72 68 78 vEK7Z4bLQjb/D907Je.dR+Zlais9trhx
1bf100 54 46 37 2b 39 46 47 73 39 4b 38 5a 37 52 69 56 4c 6f 4a 39 32 4f 77 6b 36 4b 61 2b 65 6c 53 4c TF7+9FGs9K8Z7RiVLoJ92Owk6Ka+elSL
1bf120 6f 74 67 45 71 76 38 39 57 42 57 37 78 42 63 69 38 51 61 51 74 79 44 57 32 51 4f 79 37 57 38 0a otgEqv89WBW7xBci8QaQtyDW2QOy7W8.
1bf140 31 6b 2f 42 66 44 78 75 6a 52 4e 74 2b 33 76 72 4d 4e 44 63 54 61 2f 46 31 62 61 6c 54 46 74 78 1k/BfDxujRNt+3vrMNDcTa/F1balTFtx
1bf160 79 65 67 78 76 75 67 34 42 6b 69 68 47 75 4c 71 30 74 34 53 4f 56 67 61 2f 34 41 4f 67 6e 58 6d yegxvug4BkihGuLq0t4SOVga/4AOgnXm
1bf180 74 38 6b 48 62 41 37 76 2f 7a 6a 78 0a 6d 48 48 45 74 33 38 4f 46 64 41 6c 61 62 30 69 6e 53 76 t8kHbA7v/zjx.mHHEt38OFdAlab0inSv
1bf1a0 74 42 66 5a 47 52 36 7a 74 77 50 44 55 4f 2b 4c 73 37 70 5a 62 6b 42 4e 4f 48 6c 59 36 36 37 44 tBfZGR6ztwPDUO+Ls7pZbkBNOHlY667D
1bf1c0 76 6c 72 75 57 49 78 47 36 38 6b 4f 47 64 47 53 56 79 43 68 31 33 78 30 31 0a 75 74 49 33 67 7a vlruWIxG68kOGdGSVyCh13x01.utI3gz
1bf1e0 68 54 4f 44 59 37 7a 32 7a 70 2b 57 73 4f 30 50 73 45 36 45 39 33 31 32 55 42 65 49 59 4d 65 6a hTODY7z2zp+WsO0PsE6E9312UBeIYMej
1bf200 34 68 59 76 46 2f 59 33 45 4d 79 5a 39 45 32 36 67 6e 6f 6e 57 2b 62 6f 45 2b 31 38 44 72 47 35 4hYvF/Y3EMyZ9E26gnonW+boE+18DrG5
1bf220 67 50 63 46 77 30 0a 73 6f 72 4d 77 49 55 59 36 32 35 36 73 2f 64 61 6f 51 65 2f 71 55 4b 53 38 gPcFw0.sorMwIUY6256s/daoQe/qUKS8
1bf240 32 41 69 6c 2b 51 55 6f 51 65 62 54 6e 62 41 6a 6e 33 39 70 43 58 48 52 2b 33 2f 48 33 4f 73 7a 2Ail+QUoQebTnbAjn39pCXHR+3/H3Osz
1bf260 4d 4f 6c 36 57 38 4b 6a 70 74 6c 77 6c 43 46 74 61 4f 67 0a 55 78 4c 4d 56 59 64 68 38 34 47 75 MOl6W8KjptlwlCFtaOg.UxLMVYdh84Gu
1bf280 45 45 5a 68 76 55 51 68 75 4d 49 39 64 4d 39 2b 4a 44 58 36 48 41 63 4f 6d 7a 30 69 79 75 38 78 EEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x
1bf2a0 4c 34 79 73 45 72 33 76 51 43 6a 38 4b 57 65 66 73 68 4e 50 5a 69 54 45 55 78 6e 70 48 69 6b 56 L4ysEr3vQCj8KWefshNPZiTEUxnpHikV
1bf2c0 0a 37 2b 5a 74 73 48 38 74 5a 2f 33 7a 62 42 74 31 52 71 50 6c 53 68 66 70 70 4e 63 4c 0a 2d 2d .7+ZtsH8tZ/3zbBt1RqPlShfppNcL.--
1bf2e0 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 43 43 56 52 41 49 ---END.CERTIFICATE-----..ACCVRAI
1bf300 5a 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 Z1.=========.-----BEGIN.CERTIFIC
1bf320 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 48 30 7a 43 43 42 62 75 67 41 77 49 42 41 67 49 49 58 73 4f ATE-----.MIIH0zCCBbugAwIBAgIIXsO
1bf340 33 70 6b 4e 2f 70 4f 41 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 46 42 51 41 77 51 6a 45 3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjE
1bf360 53 4d 42 41 47 41 31 55 45 41 77 77 4a 51 55 4e 44 56 6c 4a 42 0a 53 56 6f 78 4d 52 41 77 44 67 SMBAGA1UEAwwJQUNDVlJB.SVoxMRAwDg
1bf380 59 44 56 51 51 4c 44 41 64 51 53 30 6c 42 51 30 4e 57 4d 51 30 77 43 77 59 44 56 51 51 4b 44 41 YDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDA
1bf3a0 52 42 51 30 4e 57 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 46 55 7a 41 65 46 77 30 78 4d 54 RBQ0NWMQswCQYDVQQGEwJFUzAeFw0xMT
1bf3c0 41 31 0a 4d 44 55 77 4f 54 4d 33 4d 7a 64 61 46 77 30 7a 4d 44 45 79 4d 7a 45 77 4f 54 4d 33 4d A1.MDUwOTM3MzdaFw0zMDEyMzEwOTM3M
1bf3e0 7a 64 61 4d 45 49 78 45 6a 41 51 42 67 4e 56 42 41 4d 4d 43 55 46 44 51 31 5a 53 51 55 6c 61 4d zdaMEIxEjAQBgNVBAMMCUFDQ1ZSQUlaM
1bf400 54 45 51 4d 41 34 47 41 31 55 45 43 77 77 48 0a 55 45 74 4a 51 55 4e 44 56 6a 45 4e 4d 41 73 47 TEQMA4GA1UECwwH.UEtJQUNDVjENMAsG
1bf420 41 31 55 45 43 67 77 45 51 55 4e 44 56 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 56 4d 77 A1UECgwEQUNDVjELMAkGA1UEBhMCRVMw
1bf440 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 0a 44 77 41 ggIiMA0GCSqGSIb3DQEBAQUAA4IC.DwA
1bf460 77 67 67 49 4b 41 6f 49 43 41 51 43 62 71 61 75 2f 59 55 71 58 72 79 2b 58 5a 70 70 30 58 39 44 wggIKAoICAQCbqau/YUqXry+XZpp0X9D
1bf480 5a 6c 76 33 50 34 75 52 6d 37 78 38 66 52 7a 50 43 52 4b 50 66 6d 74 34 66 74 56 54 64 46 58 78 Zlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXx
1bf4a0 70 4e 52 46 76 75 38 67 4d 0a 6a 6d 6f 59 48 74 69 50 32 52 61 38 45 45 67 32 58 50 42 6a 73 35 pNRFvu8gM.jmoYHtiP2Ra8EEg2XPBjs5
1bf4c0 42 61 58 43 51 33 31 36 50 57 79 77 6c 78 75 66 45 42 63 6f 53 77 66 64 74 4e 67 4d 33 38 30 32 BaXCQ316PWywlxufEBcoSwfdtNgM3802
1bf4e0 2f 4a 2b 4e 71 32 44 6f 4c 53 52 59 57 6f 47 32 69 6f 50 65 6a 30 0a 52 47 79 39 6f 63 4c 4c 41 /J+Nq2DoLSRYWoG2ioPej0.RGy9ocLLA
1bf500 37 36 4d 50 68 4d 41 68 4e 39 4b 53 4d 44 6a 49 67 72 6f 36 54 65 6e 47 45 79 78 43 51 30 6a 56 76MPhMAhN9KSMDjIgro6TenGEyxCQ0jV
1bf520 6e 38 45 54 64 6b 58 68 42 69 6c 79 4e 70 41 6c 48 50 72 7a 67 35 58 50 41 4f 42 4f 70 30 4b 6f n8ETdkXhBilyNpAlHPrzg5XPAOBOp0Ko
1bf540 56 64 44 0a 61 61 78 58 62 58 6d 51 65 4f 57 31 74 44 76 59 76 45 79 4e 4b 4b 47 6e 6f 36 65 36 VdD.aaxXbXmQeOW1tDvYvEyNKKGno6e6
1bf560 41 6b 34 6c 30 53 71 75 37 61 34 44 49 72 68 72 49 41 38 77 4b 46 53 56 66 2b 44 75 7a 67 70 6d Ak4l0Squ7a4DIrhrIA8wKFSVf+Duzgpm
1bf580 6e 64 46 41 4c 57 34 69 72 35 30 61 77 51 55 5a 0a 30 6d 2f 41 38 70 2f 34 65 37 4d 43 51 76 74 ndFALW4ir50awQUZ.0m/A8p/4e7MCQvt
1bf5a0 51 71 52 30 74 6b 77 38 6a 71 38 62 42 44 35 4c 2f 30 4b 49 56 39 56 4d 4a 63 52 7a 2f 52 52 4f QqR0tkw8jq8bBD5L/0KIV9VMJcRz/RRO
1bf5c0 45 35 69 5a 65 2b 4f 43 49 48 41 72 38 46 72 61 6f 63 77 61 34 38 47 4f 45 41 71 44 47 0a 57 75 E5iZe+OCIHAr8Fraocwa48GOEAqDG.Wu
1bf5e0 7a 6e 64 4e 39 77 72 71 4f 44 4a 65 72 57 78 35 65 48 6b 36 66 47 69 6f 6f 7a 6c 32 41 33 45 44 zndN9wrqODJerWx5eHk6fGioozl2A3ED
1bf600 36 58 50 6d 34 70 46 64 61 68 44 39 47 49 4c 42 4b 66 62 36 71 6b 78 6b 4c 72 51 61 4c 6a 6c 55 6XPm4pFdahD9GILBKfb6qkxkLrQaLjlU
1bf620 50 54 41 59 56 74 6a 72 73 37 0a 38 79 4d 32 78 2f 34 37 34 4b 45 6c 42 30 69 72 79 59 6c 30 2f PTAYVtjrs7.8yM2x/474KElB0iryYl0/
1bf640 77 69 50 67 4c 2f 41 6c 6d 58 7a 37 75 78 4c 61 4c 32 64 69 4d 4d 78 73 30 44 78 36 4d 2f 32 4f wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2O
1bf660 4c 75 63 35 4e 46 2f 31 4f 56 59 6d 33 7a 36 31 50 4d 4f 6d 33 57 52 0a 35 4c 70 53 4c 68 6c 2b Luc5NF/1OVYm3z61PMOm3WR.5LpSLhl+
1bf680 30 66 58 4e 57 68 6e 38 75 67 62 32 2b 31 4b 6f 53 35 6b 45 33 66 6a 35 74 49 74 51 6f 30 35 69 0fXNWhn8ugb2+1KoS5kE3fj5tItQo05i
1bf6a0 69 66 43 48 4a 50 71 44 51 73 47 48 2b 74 55 74 4b 53 70 61 63 58 70 6b 61 74 63 6e 59 47 4d 4e ifCHJPqDQsGH+tUtKSpacXpkatcnYGMN
1bf6c0 32 38 35 4a 0a 39 59 30 66 6b 49 6b 79 46 2f 68 7a 51 37 6a 53 57 70 4f 47 59 64 62 68 64 51 72 285J.9Y0fkIkyF/hzQ7jSWpOGYdbhdQr
1bf6e0 71 65 57 5a 32 69 45 39 78 36 77 51 6c 31 67 70 61 65 70 50 6c 75 55 73 58 51 41 2b 78 74 72 6e qeWZ2iE9x6wQl1gpaepPluUsXQA+xtrn
1bf700 31 33 6b 2f 63 34 4c 4f 73 4f 78 46 77 59 49 52 4b 0a 51 32 36 5a 49 4d 41 70 63 51 72 41 5a 51 13k/c4LOsOxFwYIRK.Q26ZIMApcQrAZQ
1bf720 49 44 41 51 41 42 6f 34 49 43 79 7a 43 43 41 73 63 77 66 51 59 49 4b 77 59 42 42 51 55 48 41 51 IDAQABo4ICyzCCAscwfQYIKwYBBQUHAQ
1bf740 45 45 63 54 42 76 4d 45 77 47 43 43 73 47 41 51 55 46 42 7a 41 43 68 6b 42 6f 64 48 52 77 0a 4f EEcTBvMEwGCCsGAQUFBzAChkBodHRw.O
1bf760 69 38 76 64 33 64 33 4c 6d 46 6a 59 33 59 75 5a 58 4d 76 5a 6d 6c 73 5a 57 46 6b 62 57 6c 75 4c i8vd3d3LmFjY3YuZXMvZmlsZWFkbWluL
1bf780 30 46 79 59 32 68 70 64 6d 39 7a 4c 32 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 57 52 76 63 79 39 79 59 0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yY
1bf7a0 57 6c 36 59 57 4e 6a 64 6a 45 75 0a 59 33 4a 30 4d 42 38 47 43 43 73 47 41 51 55 46 42 7a 41 42 Wl6YWNjdjEu.Y3J0MB8GCCsGAQUFBzAB
1bf7c0 68 68 4e 6f 64 48 52 77 4f 69 38 76 62 32 4e 7a 63 43 35 68 59 32 4e 32 4c 6d 56 7a 4d 42 30 47 hhNodHRwOi8vb2NzcC5hY2N2LmVzMB0G
1bf7e0 41 31 55 64 44 67 51 57 42 42 54 53 68 37 54 6a 33 7a 63 6e 6b 31 58 32 0a 56 75 71 42 35 54 62 A1UdDgQWBBTSh7Tj3zcnk1X2.VuqB5Tb
1bf800 4d 6a 42 34 2f 76 54 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 38 MjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8
1bf820 47 41 31 55 64 49 77 51 59 4d 42 61 41 46 4e 4b 48 74 4f 50 66 4e 79 65 54 56 66 5a 57 36 6f 48 GA1UdIwQYMBaAFNKHtOPfNyeTVfZW6oH
1bf840 6c 4e 73 79 4d 0a 48 6a 2b 39 4d 49 49 42 63 77 59 44 56 52 30 67 42 49 49 42 61 6a 43 43 41 57 lNsyM.Hj+9MIIBcwYDVR0gBIIBajCCAW
1bf860 59 77 67 67 46 69 42 67 52 56 48 53 41 41 4d 49 49 42 57 44 43 43 41 53 49 47 43 43 73 47 41 51 YwggFiBgRVHSAAMIIBWDCCASIGCCsGAQ
1bf880 55 46 42 77 49 43 4d 49 49 42 46 42 36 43 41 52 41 41 0a 51 51 42 31 41 48 51 41 62 77 42 79 41 UFBwICMIIBFB6CARAA.QQB1AHQAbwByA
1bf8a0 47 6b 41 5a 41 42 68 41 47 51 41 49 41 42 6b 41 47 55 41 49 41 42 44 41 47 55 41 63 67 42 30 41 GkAZABhAGQAIABkAGUAIABDAGUAcgB0A
1bf8c0 47 6b 41 5a 67 42 70 41 47 4d 41 59 51 42 6a 41 47 6b 41 38 77 42 75 41 43 41 41 55 67 42 68 0a GkAZgBpAGMAYQBjAGkA8wBuACAAUgBh.
1bf8e0 41 4f 30 41 65 67 41 67 41 47 51 41 5a 51 41 67 41 47 77 41 59 51 41 67 41 45 45 41 51 77 42 44 AO0AegAgAGQAZQAgAGwAYQAgAEEAQwBD
1bf900 41 46 59 41 49 41 41 6f 41 45 45 41 5a 77 42 6c 41 47 34 41 59 77 42 70 41 47 45 41 49 41 42 6b AFYAIAAoAEEAZwBlAG4AYwBpAGEAIABk
1bf920 41 47 55 41 49 41 42 55 41 47 55 41 0a 59 77 42 75 41 47 38 41 62 41 42 76 41 47 63 41 37 51 42 AGUAIABUAGUA.YwBuAG8AbABvAGcA7QB
1bf940 68 41 43 41 41 65 51 41 67 41 45 4d 41 5a 51 42 79 41 48 51 41 61 51 42 6d 41 47 6b 41 59 77 42 hACAAeQAgAEMAZQByAHQAaQBmAGkAYwB
1bf960 68 41 47 4d 41 61 51 44 7a 41 47 34 41 49 41 42 46 41 47 77 41 5a 51 42 6a 0a 41 48 51 41 63 67 hAGMAaQDzAG4AIABFAGwAZQBj.AHQAcg
1bf980 44 7a 41 47 34 41 61 51 42 6a 41 47 45 41 4c 41 41 67 41 45 4d 41 53 51 42 47 41 43 41 41 55 51 DzAG4AaQBjAGEALAAgAEMASQBGACAAUQ
1bf9a0 41 30 41 44 59 41 4d 41 41 78 41 44 45 41 4e 51 41 32 41 45 55 41 4b 51 41 75 41 43 41 41 51 77 A0ADYAMAAxADEANQA2AEUAKQAuACAAQw
1bf9c0 42 51 41 46 4d 41 0a 49 41 42 6c 41 47 34 41 49 41 42 6f 41 48 51 41 64 41 42 77 41 44 6f 41 4c BQAFMA.IABlAG4AIABoAHQAdABwADoAL
1bf9e0 77 41 76 41 48 63 41 64 77 42 33 41 43 34 41 59 51 42 6a 41 47 4d 41 64 67 41 75 41 47 55 41 63 wAvAHcAdwB3AC4AYQBjAGMAdgAuAGUAc
1bfa00 7a 41 77 42 67 67 72 42 67 45 46 42 51 63 43 41 52 59 6b 0a 61 48 52 30 63 44 6f 76 4c 33 64 33 zAwBggrBgEFBQcCARYk.aHR0cDovL3d3
1bfa20 64 79 35 68 59 32 4e 32 4c 6d 56 7a 4c 32 78 6c 5a 32 6c 7a 62 47 46 6a 61 57 39 75 58 32 4d 75 dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu
1bfa40 61 48 52 74 4d 46 55 47 41 31 55 64 48 77 52 4f 4d 45 77 77 53 71 42 49 6f 45 61 47 52 47 68 30 aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0
1bfa60 0a 64 48 41 36 4c 79 39 33 64 33 63 75 59 57 4e 6a 64 69 35 6c 63 79 39 6d 61 57 78 6c 59 57 52 .dHA6Ly93d3cuYWNjdi5lcy9maWxlYWR
1bfa80 74 61 57 34 76 51 58 4a 6a 61 47 6c 32 62 33 4d 76 59 32 56 79 64 47 6c 6d 61 57 4e 68 5a 47 39 taW4vQXJjaGl2b3MvY2VydGlmaWNhZG9
1bfaa0 7a 4c 33 4a 68 61 58 70 68 59 32 4e 32 0a 4d 56 39 6b 5a 58 49 75 59 33 4a 73 4d 41 34 47 41 31 zL3JhaXphY2N2.MV9kZXIuY3JsMA4GA1
1bfac0 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 58 42 67 4e 56 48 52 45 45 45 44 41 4f 67 51 UdDwEB/wQEAwIBBjAXBgNVHREEEDAOgQ
1bfae0 78 68 59 32 4e 32 51 47 46 6a 59 33 59 75 5a 58 4d 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 xhY2N2QGFjY3YuZXMwDQYJKoZI.hvcNA
1bfb00 51 45 46 42 51 41 44 67 67 49 42 41 4a 63 78 41 70 2f 6e 2f 55 4e 6e 53 45 51 55 35 43 6d 48 37 QEFBQADggIBAJcxAp/n/UNnSEQU5CmH7
1bfb20 55 77 6f 5a 74 43 50 4e 64 70 4e 59 62 64 4b 6c 30 32 31 32 35 44 67 42 53 34 4f 78 6e 6e 51 38 UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8
1bfb40 70 64 70 44 37 30 45 0a 52 39 6d 2b 32 37 55 70 32 70 76 5a 72 71 6d 5a 31 64 4d 38 4d 4a 50 31 pdpD70E.R9m+27Up2pvZrqmZ1dM8MJP1
1bfb60 6a 61 47 6f 2f 41 61 4e 52 50 54 4b 46 70 56 38 4d 39 78 69 69 36 67 33 2b 43 66 59 43 53 30 62 jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b
1bfb80 37 38 67 55 4a 79 43 70 5a 45 54 2f 4c 74 5a 31 71 6d 78 4e 0a 59 45 41 5a 53 55 4e 55 59 39 72 78gUJyCpZET/LtZ1qmxN.YEAZSUNUY9r
1bfba0 69 7a 4c 70 6d 35 55 39 45 65 6c 76 5a 61 6f 45 72 51 4e 56 2f 2b 51 45 6e 57 43 7a 49 37 55 69 izLpm5U9EelvZaoErQNV/+QEnWCzI7Ui
1bfbc0 52 66 44 2b 6d 41 4d 2f 45 4b 58 4d 52 4e 74 36 47 47 54 36 64 37 68 6d 4b 47 39 57 77 37 59 34 RfD+mAM/EKXMRNt6GGT6d7hmKG9Ww7Y4
1bfbe0 39 0a 6e 43 72 41 44 64 67 39 5a 75 4d 38 44 62 33 56 6c 46 7a 69 34 71 63 31 47 77 51 41 39 6a 9.nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j
1bfc00 39 61 6a 65 70 44 76 56 2b 4a 48 61 6e 42 73 4d 79 5a 34 6b 30 41 43 74 72 4a 4a 31 76 6e 45 35 9ajepDvV+JHanBsMyZ4k0ACtrJJ1vnE5
1bfc20 42 63 35 50 55 7a 6f 6c 56 74 33 4f 41 4a 0a 54 53 2b 78 4a 6c 73 6e 64 51 41 4a 78 47 4a 33 4b Bc5PUzolVt3OAJ.TS+xJlsndQAJxGJ3K
1bfc40 51 68 66 6e 6c 6d 73 74 6e 36 74 6e 31 51 77 49 67 50 42 48 6e 46 6b 2f 76 6b 34 43 70 59 59 33 Qhfnlmstn6tn1QwIgPBHnFk/vk4CpYY3
1bfc60 51 49 55 72 43 50 4c 42 68 77 65 70 48 32 4e 44 64 34 6e 51 65 69 74 32 68 57 33 0a 73 43 50 64 QIUrCPLBhwepH2NDd4nQeit2hW3.sCPd
1bfc80 4b 36 6a 54 32 69 57 48 37 65 68 56 52 45 32 49 39 44 5a 2b 68 4a 70 34 72 50 63 4f 56 6b 6b 4f K6jT2iWH7ehVRE2I9DZ+hJp4rPcOVkkO
1bfca0 31 6a 4d 6c 31 6f 52 51 51 6d 77 67 45 68 30 71 31 62 36 38 38 6e 43 42 70 48 42 67 76 67 57 31 1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1
1bfcc0 6d 35 34 45 52 4c 35 68 0a 49 36 7a 70 70 53 53 4d 45 59 43 55 57 71 4b 69 75 55 6e 53 77 64 7a m54ERL5h.I6zppSSMEYCUWqKiuUnSwdz
1bfce0 52 70 2b 30 78 45 53 79 65 47 61 62 75 34 56 58 68 77 4f 72 50 44 59 54 6b 46 37 65 69 66 4b 58 Rp+0xESyeGabu4VXhwOrPDYTkF7eifKX
1bfd00 65 56 53 55 47 37 73 7a 41 68 31 78 41 32 73 79 56 50 31 58 67 0a 4e 63 65 34 68 4c 36 30 58 63 eVSUG7szAh1xA2syVP1Xg.Nce4hL60Xc
1bfd20 31 36 67 77 46 79 37 6f 66 6d 58 78 32 75 74 59 58 47 4a 74 2f 6d 77 5a 72 70 48 67 4a 48 6e 79 16gwFy7ofmXx2utYXGJt/mwZrpHgJHny
1bfd40 71 6f 62 61 6c 62 7a 2b 78 46 64 33 2b 59 4a 35 6f 79 58 53 72 6a 68 4f 37 46 6d 47 59 76 6c 69 qobalbz+xFd3+YJ5oyXSrjhO7FmGYvli
1bfd60 41 64 0a 33 64 6a 44 4a 39 65 77 2b 66 37 5a 66 63 33 51 6e 34 38 4c 46 46 68 52 6e 79 2b 4c 77 Ad.3djDJ9ew+f7Zfc3Qn48LFFhRny+Lw
1bfd80 7a 67 74 33 75 69 50 31 6f 32 48 70 50 56 57 51 78 61 5a 4c 50 53 6b 56 72 51 30 75 47 45 33 79 zgt3uiP1o2HpPVWQxaZLPSkVrQ0uGE3y
1bfda0 63 4a 59 67 42 75 67 6c 36 48 38 57 59 33 70 0a 45 66 62 52 44 30 74 56 4e 45 59 71 69 34 59 37 cJYgBugl6H8WY3p.EfbRD0tVNEYqi4Y7
1bfdc0 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 57 43 41 .-----END.CERTIFICATE-----..TWCA
1bfde0 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Global.Root.CA.================
1bfe00 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a ===.-----BEGIN.CERTIFICATE-----.
1bfe20 4d 49 49 46 51 54 43 43 41 79 6d 67 41 77 49 42 41 67 49 43 44 4c 34 77 44 51 59 4a 4b 6f 5a 49 MIIFQTCCAymgAwIBAgICDL4wDQYJKoZI
1bfe40 68 76 63 4e 41 51 45 4c 42 51 41 77 55 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 46 63 78 hvcNAQELBQAwUTELMAkGA1UEBhMCVFcx
1bfe60 45 6a 41 51 42 67 4e 56 42 41 6f 54 0a 43 56 52 42 53 56 64 42 54 69 31 44 51 54 45 51 4d 41 34 EjAQBgNVBAoT.CVRBSVdBTi1DQTEQMA4
1bfe80 47 41 31 55 45 43 78 4d 48 55 6d 39 76 64 43 42 44 51 54 45 63 4d 42 6f 47 41 31 55 45 41 78 4d GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxM
1bfea0 54 56 46 64 44 51 53 42 48 62 47 39 69 59 57 77 67 55 6d 39 76 64 43 42 44 0a 51 54 41 65 46 77 TVFdDQSBHbG9iYWwgUm9vdCBD.QTAeFw
1bfec0 30 78 4d 6a 41 32 4d 6a 63 77 4e 6a 49 34 4d 7a 4e 61 46 77 30 7a 4d 44 45 79 4d 7a 45 78 4e 54 0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNT
1bfee0 55 35 4e 54 6c 61 4d 46 45 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 52 58 4d 52 49 77 45 41 U5NTlaMFExCzAJBgNVBAYTAlRXMRIwEA
1bff00 59 44 56 51 51 4b 0a 45 77 6c 55 51 55 6c 58 51 55 34 74 51 30 45 78 45 44 41 4f 42 67 4e 56 42 YDVQQK.EwlUQUlXQU4tQ0ExEDAOBgNVB
1bff20 41 73 54 42 31 4a 76 62 33 51 67 51 30 45 78 48 44 41 61 42 67 4e 56 42 41 4d 54 45 31 52 58 51 AsTB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ
1bff40 30 45 67 52 32 78 76 59 6d 46 73 49 46 4a 76 62 33 51 67 0a 51 30 45 77 67 67 49 69 4d 41 30 47 0EgR2xvYmFsIFJvb3Qg.Q0EwggIiMA0G
1bff60 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 CSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
1bff80 41 51 43 77 42 64 76 49 36 34 7a 45 62 6f 6f 68 37 34 35 4e 6e 48 45 4b 48 31 4a 77 37 57 32 43 AQCwBdvI64zEbooh745NnHEKH1Jw7W2C
1bffa0 0a 6e 4a 66 46 31 30 78 4f 52 55 6e 4c 51 45 4b 31 45 6a 52 73 47 63 4a 30 70 44 46 66 68 51 4b .nJfF10xORUnLQEK1EjRsGcJ0pDFfhQK
1bffc0 58 37 45 4d 7a 43 6c 50 53 6e 49 79 4f 74 37 68 35 32 79 76 56 61 76 4b 4f 5a 73 54 75 4b 77 45 X7EMzClPSnIyOt7h52yvVavKOZsTuKwE
1bffe0 48 6b 74 53 7a 30 41 4c 66 55 50 5a 56 0a 72 32 59 4f 79 2b 42 48 59 43 38 72 4d 6a 6b 31 55 6a HktSz0ALfUPZV.r2YOy+BHYC8rMjk1Uj
1c0000 6f 6f 67 2f 68 37 46 73 59 59 75 47 4c 57 52 79 57 52 7a 76 41 5a 45 6b 32 74 59 2f 58 54 50 33 oog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3
1c0020 56 66 4b 66 43 68 4d 42 77 71 6f 4a 69 6d 46 62 33 75 2f 52 6b 32 38 4f 4b 52 0a 51 34 2f 36 79 VfKfChMBwqoJimFb3u/Rk28OKR.Q4/6y
1c0040 74 59 51 4a 30 6c 4d 37 39 33 42 38 59 56 77 6d 38 72 71 71 46 70 44 2f 47 32 47 62 33 50 70 4e tYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN
1c0060 30 57 70 38 44 62 48 7a 49 68 31 48 72 74 73 42 76 2b 62 61 7a 34 58 37 47 47 71 63 58 7a 47 48 0Wp8DbHzIh1HrtsBv+baz4X7GGqcXzGH
1c0080 61 4c 33 53 65 6b 56 0a 74 54 7a 57 6f 57 48 31 45 66 63 46 62 78 33 39 45 62 37 51 4d 41 66 43 aL3SekV.tTzWoWH1EfcFbx39Eb7QMAfC
1c00a0 4b 62 41 4a 54 69 62 63 34 36 4b 6f 6b 57 6f 66 77 70 46 46 69 46 7a 6c 6d 4c 68 78 70 52 55 5a KbAJTibc46KokWofwpFFiFzlmLhxpRUZ
1c00c0 79 58 78 31 45 63 78 77 64 45 38 74 6d 78 32 52 52 50 31 57 0a 4b 4b 44 2b 75 34 5a 71 79 50 70 yXx1EcxwdE8tmx2RRP1W.KKD+u4ZqyPp
1c00e0 63 43 31 6a 63 78 6b 74 32 79 4b 73 69 32 58 4d 50 70 66 52 61 41 6f 6b 2f 54 35 34 69 67 75 36 cC1jcxkt2yKsi2XMPpfRaAok/T54igu6
1c0100 69 64 46 4d 71 50 56 4d 6e 61 52 31 73 6a 6a 49 73 5a 41 41 6d 59 32 45 32 54 71 4e 47 74 7a 39 idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz9
1c0120 39 0a 73 79 32 73 62 5a 43 69 6c 61 4c 4f 7a 39 71 43 35 77 63 30 47 5a 62 70 75 43 47 71 4b 58 9.sy2sbZCilaLOz9qC5wc0GZbpuCGqKX
1c0140 36 6d 4f 4c 36 4f 4b 55 6f 68 5a 6e 6b 66 73 38 4f 31 43 57 66 65 31 74 51 48 52 76 4d 71 32 75 6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2u
1c0160 59 69 4e 32 44 4c 67 62 59 50 6f 41 2f 70 0a 79 4a 56 2f 76 31 57 52 42 58 72 50 50 52 58 41 62 YiN2DLgbYPoA/p.yJV/v1WRBXrPPRXAb
1c0180 39 34 4a 6c 41 47 44 31 7a 51 62 7a 45 43 6c 38 4c 69 62 5a 39 57 59 6b 54 75 6e 68 48 69 56 4a 94JlAGD1zQbzECl8LibZ9WYkTunhHiVJ
1c01a0 71 52 61 43 50 67 72 64 4c 51 41 42 44 7a 66 75 42 53 4f 36 4e 2b 70 6a 57 78 6e 0a 6b 6a 4d 64 qRaCPgrdLQABDzfuBSO6N+pjWxn.kjMd
1c01c0 77 4c 66 53 37 4a 4c 49 76 67 6d 2f 4c 43 6b 46 62 77 4a 72 6e 75 2b 38 76 79 71 38 57 38 42 51 wLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQ
1c01e0 6a 30 46 77 63 59 65 79 54 62 63 45 71 59 53 6a 4d 71 2b 75 37 6d 73 58 69 37 4b 78 2f 6d 7a 68 j0FwcYeyTbcEqYSjMq+u7msXi7Kx/mzh
1c0200 6b 49 79 49 71 4a 64 49 0a 7a 73 68 4e 79 2f 4d 47 7a 31 39 71 43 6b 4b 78 48 68 35 33 4c 34 36 kIyIqJdI.zshNy/MGz19qCkKxHh53L46
1c0220 67 35 70 49 4f 42 76 77 46 49 74 49 6d 34 54 46 52 66 54 4c 63 44 77 49 44 41 51 41 42 6f 79 4d g5pIOBvwFItIm4TFRfTLcDwIDAQABoyM
1c0240 77 49 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 44 77 59 44 56 52 wITAOBgNVHQ8BAf8EBAMC.AQYwDwYDVR
1c0260 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQ
1c0280 73 46 41 41 4f 43 41 67 45 41 58 7a 53 42 64 75 2b 57 48 64 58 6c 74 64 6b 43 59 34 51 57 77 61 sFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa
1c02a0 36 67 0a 63 46 47 6e 39 30 78 48 4e 63 67 4c 31 79 67 39 69 58 48 5a 71 6a 4e 42 36 68 51 62 62 6g.cFGn90xHNcgL1yg9iXHZqjNB6hQbb
1c02c0 43 45 41 77 47 78 43 47 58 36 66 61 56 73 67 51 74 2b 69 30 74 72 45 66 4a 64 4c 6a 62 44 6f 72 CEAwGxCGX6faVsgQt+i0trEfJdLjbDor
1c02e0 4d 6a 75 70 57 6b 45 6d 51 71 53 70 71 73 6e 0a 4c 68 70 4e 67 62 2b 45 31 48 41 65 72 55 66 2b MjupWkEmQqSpqsn.LhpNgb+E1HAerUf+
1c0300 2f 55 71 64 4d 2b 44 79 75 63 52 46 43 43 45 4b 32 6d 6c 70 63 33 49 4e 76 6a 54 2b 6c 49 75 74 /UqdM+DyucRFCCEK2mlpc3INvjT+lIut
1c0320 77 78 34 31 31 36 4b 44 37 2b 55 34 78 36 57 46 48 36 76 50 4e 4f 77 2f 4b 50 34 4d 0a 38 56 65 wx4116KD7+U4x6WFH6vPNOw/KP4M.8Ve
1c0340 47 54 73 6c 56 39 78 7a 55 32 4b 56 39 42 6e 70 76 31 64 38 51 33 34 46 4f 49 57 57 78 74 75 45 GTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuE
1c0360 58 65 5a 56 46 42 73 35 66 7a 4e 78 47 69 57 4e 6f 52 49 32 54 39 47 52 77 6f 44 32 64 4b 41 58 XeZVFBs5fzNxGiWNoRI2T9GRwoD2dKAX
1c0380 44 4f 58 43 34 59 6e 73 67 0a 2f 65 54 62 36 51 69 68 75 4a 34 39 43 63 64 50 2b 79 7a 34 6b 33 DOXC4Ynsg./eTb6QihuJ49CcdP+yz4k3
1c03a0 5a 42 33 6c 4c 67 34 56 66 53 6e 51 4f 38 64 35 37 2b 6e 69 6c 65 39 38 46 52 59 42 2f 65 32 67 ZB3lLg4VfSnQO8d57+nile98FRYB/e2g
1c03c0 75 79 4c 58 57 33 51 30 69 54 35 2f 5a 35 78 6f 52 64 67 46 6c 67 0a 6c 50 78 34 6d 49 38 38 6b uyLXW3Q0iT5/Z5xoRdgFlg.lPx4mI88k
1c03e0 31 48 74 51 4a 41 48 33 32 52 6a 4a 4d 74 4f 63 51 57 68 31 35 51 61 69 44 4c 78 49 6e 51 69 72 1HtQJAH32RjJMtOcQWh15QaiDLxInQir
1c0400 71 57 6d 32 42 4a 70 54 47 43 6a 41 75 34 72 37 4e 52 6a 6b 67 74 65 76 69 39 32 61 36 4f 32 4a qWm2BJpTGCjAu4r7NRjkgtevi92a6O2J
1c0420 72 79 50 0a 41 39 67 4b 38 6b 78 6b 52 72 30 35 59 75 57 57 36 7a 52 6a 45 53 6a 4d 6c 66 47 74 ryP.A9gK8kxkRr05YuWW6zRjESjMlfGt
1c0440 37 2b 2f 63 67 46 68 49 36 55 75 34 36 6d 57 73 36 66 79 41 74 62 58 49 52 66 6d 73 77 5a 2f 5a 7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/Z
1c0460 75 65 70 69 69 49 37 45 38 55 75 44 45 71 33 6d 0a 69 34 54 57 6e 73 4c 72 67 78 69 66 61 72 73 uepiiI7E8UuDEq3m.i4TWnsLrgxifars
1c0480 62 4a 47 41 7a 63 4d 7a 73 39 7a 4c 7a 58 4e 6c 35 66 65 2b 65 70 50 37 4a 49 38 4d 6b 37 68 57 bJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hW
1c04a0 53 73 54 32 52 54 79 61 47 76 57 5a 7a 4a 42 50 71 70 4b 35 6a 77 61 31 39 68 41 4d 38 0a 45 48 SsT2RTyaGvWZzJBPqpK5jwa19hAM8.EH
1c04c0 69 47 47 33 6e 6a 78 50 50 79 42 4a 55 67 72 69 4f 43 78 4c 4d 36 41 47 4b 2f 35 6a 59 6b 34 56 iGG3njxPPyBJUgriOCxLM6AGK/5jYk4V
1c04e0 65 36 78 78 36 51 64 64 56 66 50 35 56 68 4b 38 45 37 7a 65 57 7a 61 47 48 51 52 69 61 70 49 56 e6xx6QddVfP5VhK8E7zeWzaGHQRiapIV
1c0500 4a 70 4c 65 73 75 78 2b 74 33 0a 7a 71 59 36 74 51 4d 7a 54 33 62 52 35 31 78 55 41 56 33 4c 65 JpLesux+t3.zqY6tQMzT3bR51xUAV3Le
1c0520 50 54 4a 44 4c 2f 50 45 6f 34 58 4c 53 4e 6f 6c 4f 65 72 2f 71 6d 79 4b 77 62 51 42 4d 30 3d 0a PTJDL/PEo4XLSNolOer/qmyKwbQBM0=.
1c0540 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 65 6c 69 61 -----END.CERTIFICATE-----..Telia
1c0560 53 6f 6e 65 72 61 20 52 6f 6f 74 20 43 41 20 76 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Sonera.Root.CA.v1.==============
1c0580 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d ========.-----BEGIN.CERTIFICATE-
1c05a0 2d 2d 2d 2d 0a 4d 49 49 46 4f 44 43 43 41 79 43 67 41 77 49 42 41 67 49 52 41 4a 57 2b 46 71 44 ----.MIIFODCCAyCgAwIBAgIRAJW+FqD
1c05c0 33 4c 6b 62 78 65 7a 6d 43 63 76 71 4c 7a 5a 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQE
1c05e0 46 42 51 41 77 4e 7a 45 55 4d 42 49 47 41 31 55 45 0a 43 67 77 4c 56 47 56 73 61 57 46 54 62 32 FBQAwNzEUMBIGA1UE.CgwLVGVsaWFTb2
1c0600 35 6c 63 6d 45 78 48 7a 41 64 42 67 4e 56 42 41 4d 4d 46 6c 52 6c 62 47 6c 68 55 32 39 75 5a 58 5lcmExHzAdBgNVBAMMFlRlbGlhU29uZX
1c0620 4a 68 49 46 4a 76 62 33 51 67 51 30 45 67 64 6a 45 77 48 68 63 4e 4d 44 63 78 4d 44 45 34 0a 4d JhIFJvb3QgQ0EgdjEwHhcNMDcxMDE4.M
1c0640 54 49 77 4d 44 55 77 57 68 63 4e 4d 7a 49 78 4d 44 45 34 4d 54 49 77 4d 44 55 77 57 6a 41 33 4d TIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3M
1c0660 52 51 77 45 67 59 44 56 51 51 4b 44 41 74 55 5a 57 78 70 59 56 4e 76 62 6d 56 79 59 54 45 66 4d RQwEgYDVQQKDAtUZWxpYVNvbmVyYTEfM
1c0680 42 30 47 41 31 55 45 41 77 77 57 0a 56 47 56 73 61 57 46 54 62 32 35 6c 63 6d 45 67 55 6d 39 76 B0GA1UEAwwW.VGVsaWFTb25lcmEgUm9v
1c06a0 64 43 42 44 51 53 42 32 4d 54 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 dCBDQSB2MTCCAiIwDQYJKoZIhvcNAQEB
1c06c0 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 4d 4b 2b 0a 36 79 66 77 49 61 50 BQADggIPADCCAgoCggIBAMK+.6yfwIaP
1c06e0 7a 61 53 5a 56 66 70 33 46 56 52 61 52 58 50 33 76 49 62 39 54 67 48 6f 74 30 70 47 4d 59 7a 48 zaSZVfp3FVRaRXP3vIb9TgHot0pGMYzH
1c0700 77 37 43 54 77 77 36 58 53 63 6e 77 51 62 66 51 33 74 2b 58 6d 66 48 6e 71 6a 4c 57 43 69 36 35 w7CTww6XScnwQbfQ3t+XmfHnqjLWCi65
1c0720 49 74 71 77 41 0a 33 47 56 31 37 43 70 4e 58 38 47 48 39 53 42 6c 4b 34 47 6f 52 7a 36 4a 49 35 ItqwA.3GV17CpNX8GH9SBlK4GoRz6JI5
1c0740 55 77 46 70 42 2f 36 46 63 48 53 4f 63 5a 72 72 39 46 5a 37 45 33 47 77 59 71 2f 74 37 35 72 48 UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH
1c0760 32 44 2b 31 36 36 35 49 2b 58 5a 37 35 4c 6a 6f 31 6b 0a 42 31 63 34 56 57 6b 30 4e 6a 30 54 53 2D+1665I+XZ75Ljo1k.B1c4VWk0Nj0TS
1c0780 4f 39 50 34 74 4e 6d 48 71 54 50 47 72 64 65 4e 6a 50 55 74 41 61 39 47 41 48 39 64 34 52 51 41 O9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQA
1c07a0 45 58 31 6a 46 33 6f 49 37 78 2b 2f 6a 58 68 37 56 42 37 71 54 43 4e 47 64 4d 4a 6a 6d 68 6e 0a EX1jF3oI7x+/jXh7VB7qTCNGdMJjmhn.
1c07c0 58 62 38 38 6c 78 68 54 75 79 6c 69 78 63 70 65 63 73 48 48 6c 74 54 62 4c 61 43 30 48 32 6b 44 Xb88lxhTuylixcpecsHHltTbLaC0H2kD
1c07e0 37 4f 72 69 55 50 45 4d 50 50 43 73 38 31 4d 74 38 42 7a 31 37 57 77 35 4f 58 4f 41 46 73 68 53 7OriUPEMPPCs81Mt8Bz17Ww5OXOAFshS
1c0800 73 43 50 4e 34 44 37 63 33 54 78 48 0a 6f 4c 73 31 69 75 4b 59 61 49 75 2b 35 62 39 79 37 74 4c sCPN4D7c3TxH.oLs1iuKYaIu+5b9y7tL
1c0820 36 70 65 30 53 37 66 79 59 47 4b 6b 6d 64 74 77 6f 53 78 41 67 48 4e 4e 2f 46 6e 63 74 37 57 2b 6pe0S7fyYGKkmdtwoSxAgHNN/Fnct7W+
1c0840 41 39 30 6d 37 55 77 57 37 58 57 6a 48 31 4d 68 31 46 6a 2b 4a 57 6f 76 33 0a 46 30 66 55 54 50 A90m7UwW7XWjH1Mh1Fj+JWov3.F0fUTP
1c0860 48 53 69 58 6b 2b 54 54 32 59 71 47 48 65 4f 68 37 53 2b 46 34 44 34 4d 48 4a 48 49 7a 54 6a 55 HSiXk+TT2YqGHeOh7S+F4D4MHJHIzTjU
1c0880 33 54 6c 54 61 7a 4e 31 39 6a 59 35 73 7a 46 50 41 74 4a 6d 74 54 66 49 6d 4d 4d 73 4a 75 37 44 3TlTazN19jY5szFPAtJmtTfImMMsJu7D
1c08a0 30 68 41 44 6e 4a 0a 6f 57 6a 69 55 49 4d 75 73 44 6f 72 38 7a 61 67 72 43 2f 6b 62 32 48 43 55 0hADnJ.oWjiUIMusDor8zagrC/kb2HCU
1c08c0 51 6b 35 50 6f 74 54 75 62 74 6e 32 74 78 54 75 58 5a 5a 4e 70 31 44 35 53 44 67 50 54 4a 67 68 Qk5PotTubtn2txTuXZZNp1D5SDgPTJgh
1c08e0 53 4a 52 74 38 63 7a 75 39 30 56 4c 36 52 34 70 67 64 37 0a 67 55 59 32 42 49 62 64 65 54 58 48 SJRt8czu90VL6R4pgd7.gUY2BIbdeTXH
1c0900 6c 53 77 37 73 4b 4d 58 4e 65 56 7a 48 37 52 63 57 65 2f 61 36 68 42 6c 65 33 72 51 66 35 2b 7a lSw7sKMXNeVzH7RcWe/a6hBle3rQf5+z
1c0920 74 43 6f 33 4f 33 43 4c 6d 31 75 35 4b 37 66 73 73 6c 45 53 6c 31 4d 70 57 74 54 77 45 68 44 63 tCo3O3CLm1u5K7fsslESl1MpWtTwEhDc
1c0940 0a 54 77 4b 37 45 70 49 76 59 74 51 2f 61 55 4e 38 44 64 62 38 57 48 55 42 69 4a 31 59 46 6b 76 .TwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkv
1c0960 65 75 70 44 2f 52 77 47 4a 42 6d 72 32 58 37 4b 51 61 72 4d 43 70 67 4b 49 76 37 4e 48 66 69 72 eupD/RwGJBmr2X7KQarMCpgKIv7NHfir
1c0980 5a 31 66 70 6f 65 44 56 4e 41 67 4d 42 0a 41 41 47 6a 50 7a 41 39 4d 41 38 47 41 31 55 64 45 77 Z1fpoeDVNAgMB.AAGjPzA9MA8GA1UdEw
1c09a0 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 43 77 59 44 56 52 30 50 42 41 51 44 41 67 45 47 4d 42 EB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB
1c09c0 30 47 41 31 55 64 44 67 51 57 42 42 54 77 6a 31 6b 34 41 4c 50 31 6a 35 71 57 0a 44 4e 58 72 2b 0GA1UdDgQWBBTwj1k4ALP1j5qW.DNXr+
1c09e0 6e 75 71 46 2b 67 54 45 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 55 46 41 41 4f 43 41 nuqF+gTEjANBgkqhkiG9w0BAQUFAAOCA
1c0a00 67 45 41 76 75 52 63 59 6b 34 6b 39 41 77 49 2f 2f 44 54 44 47 6a 6b 6b 30 6b 69 50 30 51 6e 62 gEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb
1c0a20 37 74 74 33 6f 4e 6d 0a 7a 71 6a 4d 44 66 7a 31 6d 67 62 6c 64 78 53 52 36 35 31 42 65 35 6b 71 7tt3oNm.zqjMDfz1mgbldxSR651Be5kq
1c0a40 68 4f 58 2f 2f 43 48 42 58 66 44 6b 48 31 65 33 64 61 6d 68 58 77 49 6d 2f 39 66 48 39 30 37 65 hOX//CHBXfDkH1e3damhXwIm/9fH907e
1c0a60 54 2f 6a 33 48 45 62 41 65 6b 39 41 4c 43 49 31 38 42 6d 78 0a 30 47 74 6e 4c 4c 43 6f 34 4d 42 T/j3HEbAek9ALCI18Bmx.0GtnLLCo4MB
1c0a80 41 4e 7a 58 32 68 46 78 63 34 36 39 43 65 50 36 6e 79 51 31 51 36 67 32 45 64 76 5a 52 37 34 4e ANzX2hFxc469CeP6nyQ1Q6g2EdvZR74N
1c0aa0 54 78 6e 72 2f 44 6c 5a 4a 4c 6f 39 36 31 67 7a 6d 4a 31 54 6a 54 51 70 67 63 6d 4c 4e 6b 51 66 Txnr/DlZJLo961gzmJ1TjTQpgcmLNkQf
1c0ac0 57 0a 70 62 2f 49 6d 57 76 74 78 42 6e 6d 71 30 77 52 4f 4d 56 76 4d 65 4a 75 53 63 67 2f 64 6f W.pb/ImWvtxBnmq0wROMVvMeJuScg/do
1c0ae0 41 6d 41 79 59 70 34 44 62 32 39 69 42 54 34 78 64 77 4e 42 65 64 59 32 67 65 61 2b 7a 44 54 59 AmAyYp4Db29iBT4xdwNBedY2gea+zDTY
1c0b00 61 34 45 7a 41 76 58 55 59 4e 52 30 50 56 0a 47 36 70 5a 44 72 6c 63 6a 51 5a 49 72 58 53 48 58 a4EzAvXUYNR0PV.G6pZDrlcjQZIrXSHX
1c0b20 38 66 38 4d 56 52 42 45 2b 4c 48 49 51 36 65 34 42 34 4e 34 63 42 37 51 34 57 51 78 59 70 59 78 8f8MVRBE+LHIQ6e4B4N4cB7Q4WQxYpYx
1c0b40 6d 55 4b 65 46 66 79 78 69 4d 50 41 64 6b 67 53 39 34 50 2b 35 4b 46 64 53 70 63 0a 63 34 31 74 mUKeFfyxiMPAdkgS94P+5KFdSpc.c41t
1c0b60 65 79 57 52 79 75 35 46 72 67 5a 4c 41 4d 7a 54 73 56 6c 51 32 6a 71 49 4f 79 6c 44 52 6c 36 58 eyWRyu5FrgZLAMzTsVlQ2jqIOylDRl6X
1c0b80 4b 31 54 4f 55 32 2b 4e 53 75 65 57 2b 72 39 78 44 6b 4b 4c 66 50 30 6f 6f 4e 42 49 79 74 72 45 K1TOU2+NSueW+r9xDkKLfP0ooNBIytrE
1c0ba0 67 55 79 37 6f 6e 4f 54 0a 4a 73 6a 72 44 4e 59 6d 69 4c 62 41 4a 4d 2b 37 76 56 76 72 64 58 33 gUy7onOT.JsjrDNYmiLbAJM+7vVvrdX3
1c0bc0 70 43 49 36 47 4d 79 78 35 64 77 6c 70 70 59 6e 38 73 33 43 51 68 33 61 50 30 79 4b 37 51 73 36 pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs6
1c0be0 39 63 77 73 67 4a 69 72 51 6d 7a 31 77 48 69 52 73 7a 59 64 32 0a 71 52 65 57 74 38 38 4e 6b 76 9cwsgJirQmz1wHiRszYd2.qReWt88Nkv
1c0c00 75 4f 47 4b 6d 59 53 64 47 65 2f 6d 42 45 63 69 47 35 47 65 33 43 39 54 48 78 4f 55 69 49 6b 43 uOGKmYSdGe/mBEciG5Ge3C9THxOUiIkC
1c0c20 52 31 56 42 61 74 7a 76 54 34 61 52 52 6b 4f 66 75 6a 75 4c 70 77 51 4d 63 6e 48 4c 2f 45 56 6c R1VBatzvT4aRRkOfujuLpwQMcnHL/EVl
1c0c40 50 36 0a 59 32 58 51 38 78 77 4f 46 76 56 72 68 6c 68 4e 47 4e 54 6b 44 59 36 6c 6e 56 75 52 33 P6.Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3
1c0c60 48 59 6b 55 44 2f 47 4b 76 76 5a 74 35 79 31 31 75 62 51 32 65 67 5a 69 78 56 78 53 4b 32 33 36 HYkUD/GKvvZt5y11ubQ2egZixVxSK236
1c0c80 74 68 5a 69 4e 53 51 76 78 61 7a 32 65 6d 73 0a 57 57 46 55 79 42 79 36 79 73 48 4b 34 62 6b 67 thZiNSQvxaz2ems.WWFUyBy6ysHK4bkg
1c0ca0 54 49 38 36 6b 34 6d 6c 6f 4d 79 2f 30 2f 5a 31 70 48 57 57 62 56 59 3d 0a 2d 2d 2d 2d 2d 45 4e TI86k4mloMy/0/Z1pHWWbVY=.-----EN
1c0cc0 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 2d 54 75 67 72 61 20 43 65 72 74 D.CERTIFICATE-----..E-Tugra.Cert
1c0ce0 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ification.Authority.============
1c0d00 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 ===================.-----BEGIN.C
1c0d20 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 47 53 7a 43 43 42 44 4f 67 41 77 49 42 ERTIFICATE-----.MIIGSzCCBDOgAwIB
1c0d40 41 67 49 49 61 6d 67 2b 6e 46 47 62 79 31 4d 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c AgIIamg+nFGby1MwDQYJKoZIhvcNAQEL
1c0d60 42 51 41 77 67 62 49 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 52 53 4d 51 38 77 0a 44 51 59 BQAwgbIxCzAJBgNVBAYTAlRSMQ8w.DQY
1c0d80 44 56 51 51 48 44 41 5a 42 62 6d 74 68 63 6d 45 78 51 44 41 2b 42 67 4e 56 42 41 6f 4d 4e 30 55 DVQQHDAZBbmthcmExQDA+BgNVBAoMN0U
1c0da0 74 56 48 58 45 6e 33 4a 68 49 45 56 43 52 79 42 43 61 57 78 70 78 5a 39 70 62 53 42 55 5a 57 74 tVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWt
1c0dc0 75 62 32 78 76 61 6d 6c 73 0a 5a 58 4a 70 49 48 5a 6c 49 45 68 70 65 6d 31 6c 64 47 78 6c 63 6d ub2xvamls.ZXJpIHZlIEhpem1ldGxlcm
1c0de0 6b 67 51 53 37 46 6e 69 34 78 4a 6a 41 6b 42 67 4e 56 42 41 73 4d 48 55 55 74 56 48 56 6e 63 6d kgQS7Fni4xJjAkBgNVBAsMHUUtVHVncm
1c0e00 45 67 55 32 56 79 64 47 6c 6d 61 57 74 68 63 33 6c 76 62 69 42 4e 0a 5a 58 4a 72 5a 58 70 70 4d EgU2VydGlmaWthc3lvbiBN.ZXJrZXppM
1c0e20 53 67 77 4a 67 59 44 56 51 51 44 44 42 39 46 4c 56 52 31 5a 33 4a 68 49 45 4e 6c 63 6e 52 70 5a SgwJgYDVQQDDB9FLVR1Z3JhIENlcnRpZ
1c0e40 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 42 34 58 44 54 45 7a 4d mljYXRpb24gQXV0aG9yaXR5MB4XDTEzM
1c0e60 44 4d 77 0a 4e 54 45 79 4d 44 6b 30 4f 46 6f 58 44 54 49 7a 4d 44 4d 77 4d 7a 45 79 4d 44 6b 30 DMw.NTEyMDk0OFoXDTIzMDMwMzEyMDk0
1c0e80 4f 46 6f 77 67 62 49 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 52 53 4d 51 38 77 44 51 59 44 OFowgbIxCzAJBgNVBAYTAlRSMQ8wDQYD
1c0ea0 56 51 51 48 44 41 5a 42 62 6d 74 68 63 6d 45 78 0a 51 44 41 2b 42 67 4e 56 42 41 6f 4d 4e 30 55 VQQHDAZBbmthcmEx.QDA+BgNVBAoMN0U
1c0ec0 74 56 48 58 45 6e 33 4a 68 49 45 56 43 52 79 42 43 61 57 78 70 78 5a 39 70 62 53 42 55 5a 57 74 tVHXEn3JhIEVCRyBCaWxpxZ9pbSBUZWt
1c0ee0 75 62 32 78 76 61 6d 6c 73 5a 58 4a 70 49 48 5a 6c 49 45 68 70 65 6d 31 6c 64 47 78 6c 0a 63 6d ub2xvamlsZXJpIHZlIEhpem1ldGxl.cm
1c0f00 6b 67 51 53 37 46 6e 69 34 78 4a 6a 41 6b 42 67 4e 56 42 41 73 4d 48 55 55 74 56 48 56 6e 63 6d kgQS7Fni4xJjAkBgNVBAsMHUUtVHVncm
1c0f20 45 67 55 32 56 79 64 47 6c 6d 61 57 74 68 63 33 6c 76 62 69 42 4e 5a 58 4a 72 5a 58 70 70 4d 53 EgU2VydGlmaWthc3lvbiBNZXJrZXppMS
1c0f40 67 77 4a 67 59 44 56 51 51 44 0a 44 42 39 46 4c 56 52 31 5a 33 4a 68 49 45 4e 6c 63 6e 52 70 5a gwJgYDVQQD.DB9FLVR1Z3JhIENlcnRpZ
1c0f60 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 49 49 43 49 6a 41 4e 42 mljYXRpb24gQXV0aG9yaXR5MIICIjANB
1c0f80 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 0a 4d 49 49 43 43 67 4b 43 gkqhkiG9w0BAQEFAAOCAg8A.MIICCgKC
1c0fa0 41 67 45 41 34 76 55 2f 6b 77 56 52 48 6f 56 69 56 46 35 36 43 2f 55 59 42 34 4f 75 66 71 39 38 AgEA4vU/kwVRHoViVF56C/UYB4Oufq98
1c0fc0 39 39 53 4b 61 36 56 6a 51 7a 6d 35 53 2f 66 44 78 6d 53 4a 50 5a 51 75 56 49 42 53 4f 54 6b 48 99SKa6VjQzm5S/fDxmSJPZQuVIBSOTkH
1c0fe0 53 30 76 64 0a 68 51 64 32 68 38 79 2f 4c 35 56 4d 7a 48 32 6e 50 62 78 48 44 35 68 77 2b 49 79 S0vd.hQd2h8y/L5VMzH2nPbxHD5hw+Iy
1c1000 46 48 6e 53 4f 6b 6d 30 62 51 4e 47 5a 44 62 74 31 62 73 69 70 61 35 72 41 68 44 47 76 79 6b 50 FHnSOkm0bQNGZDbt1bsipa5rAhDGvykP
1c1020 4c 36 79 73 30 36 49 2b 58 61 77 47 62 31 51 35 4b 0a 43 4b 70 62 6b 6e 53 46 51 39 4f 41 72 71 L6ys06I+XawGb1Q5K.CKpbknSFQ9OArq
1c1040 47 49 57 36 36 7a 36 6c 37 4c 46 70 70 33 52 4d 69 68 39 6c 52 6f 7a 74 36 50 6c 79 75 36 57 30 GIW66z6l7LFpp3RMih9lRozt6Plyu6W0
1c1060 41 43 44 47 51 58 77 4c 57 54 7a 65 48 78 45 32 62 4f 44 48 6e 76 30 5a 45 6f 71 31 2b 67 0a 45 ACDGQXwLWTzeHxE2bODHnv0ZEoq1+g.E
1c1080 6c 49 77 63 78 6d 4f 6a 2b 47 4d 42 36 4c 44 75 30 72 77 36 68 38 56 71 4f 34 6c 7a 4b 52 47 2b lIwcxmOj+GMB6LDu0rw6h8VqO4lzKRG+
1c10a0 42 73 69 37 37 4d 4f 51 37 6f 73 4a 4c 6a 46 4c 46 7a 55 48 50 68 64 5a 4c 33 44 6b 31 34 6f 70 Bsi77MOQ7osJLjFLFzUHPhdZL3Dk14op
1c10c0 7a 38 6e 38 59 34 65 30 79 70 51 0a 42 61 4e 56 32 63 76 6e 4f 56 50 41 6d 4a 36 4d 56 47 4b 4c z8n8Y4e0ypQ.BaNV2cvnOVPAmJ6MVGKL
1c10e0 4a 72 44 33 66 59 31 38 35 4d 61 65 5a 6b 4a 56 67 6b 66 6e 73 6c 69 4e 5a 76 63 48 66 43 34 32 JrD3fY185MaeZkJVgkfnsliNZvcHfC42
1c1100 35 6c 41 63 50 39 74 44 4a 4d 57 2f 68 6b 64 35 73 33 6b 63 39 31 72 30 0a 45 2b 78 73 2b 44 2f 5lAcP9tDJMW/hkd5s3kc91r0.E+xs+D/
1c1120 69 57 52 2b 56 37 6b 49 2b 75 61 32 6f 4d 6f 56 4a 6c 30 62 2b 53 7a 47 50 57 73 75 74 64 45 63 iWR+V7kI+ua2oMoVJl0b+SzGPWsutdEc
1c1140 66 36 5a 47 33 33 79 67 45 49 71 44 55 44 31 33 69 65 55 2f 71 62 49 57 47 76 61 69 6d 7a 75 54 f6ZG33ygEIqDUD13ieU/qbIWGvaimzuT
1c1160 36 77 2b 47 7a 0a 72 74 34 38 55 65 37 4c 45 33 77 42 66 34 51 4f 58 56 47 55 6e 68 4d 4d 74 69 6w+Gz.rt48Ue7LE3wBf4QOXVGUnhMMti
1c1180 36 6c 54 50 6b 35 63 44 5a 76 6c 73 6f 75 44 45 52 56 78 63 72 36 58 51 4b 6a 33 39 5a 6b 6a 46 6lTPk5cDZvlsouDERVxcr6XQKj39ZkjF
1c11a0 71 7a 41 51 71 70 74 51 70 48 46 2f 2f 76 6b 55 41 71 0a 6a 71 46 47 4f 6a 47 59 35 52 48 38 7a qzAQqptQpHF//vkUAq.jqFGOjGY5RH8z
1c11c0 4c 74 4a 56 6f 72 38 75 64 42 68 6d 6d 39 6c 62 4f 62 44 79 7a 35 31 53 66 36 50 70 2b 4b 4a 78 LtJVor8udBhmm9lbObDyz51Sf6Pp+KJx
1c11e0 57 66 58 6e 55 59 54 54 6a 46 32 4f 79 53 7a 6e 68 46 6c 68 71 74 2f 37 78 33 55 2b 4c 7a 6e 0a WfXnUYTTjF2OySznhFlhqt/7x3U+Lzn.
1c1200 72 46 70 63 74 31 70 48 58 46 58 4f 56 62 51 69 63 56 74 62 43 2f 44 50 33 4b 42 68 5a 4f 71 70 rFpct1pHXFXOVbQicVtbC/DP3KBhZOqp
1c1220 31 32 67 4b 59 36 66 67 44 54 2b 67 72 39 4f 71 30 6e 37 76 55 61 44 6d 55 53 74 56 6b 68 55 58 12gKY6fgDT+gr9Oq0n7vUaDmUStVkhUX
1c1240 55 38 75 33 5a 67 35 6d 54 50 6a 35 0a 64 55 79 51 35 78 4a 77 78 30 55 43 41 77 45 41 41 61 4e U8u3Zg5mTPj5.dUyQ5xJwx0UCAwEAAaN
1c1260 6a 4d 47 45 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 43 37 6a 32 37 4a 4a 30 4a 78 55 65 56 7a jMGEwHQYDVR0OBBYEFC7j27JJ0JxUeVz
1c1280 36 4a 79 72 2b 7a 45 37 53 36 45 35 55 4d 41 38 47 41 31 55 64 45 77 45 42 0a 2f 77 51 46 4d 41 6Jyr+zE7S6E5UMA8GA1UdEwEB./wQFMA
1c12a0 4d 42 41 66 38 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 4c 75 50 62 73 6b 6e 51 6e 46 MBAf8wHwYDVR0jBBgwFoAULuPbsknQnF
1c12c0 52 35 58 50 6f 6e 4b 76 37 4d 54 74 4c 6f 54 6c 51 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 R5XPonKv7MTtLoTlQwDgYDVR0PAQH/BA
1c12e0 51 44 41 67 45 47 0a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 43 41 QDAgEG.MA0GCSqGSIb3DQEBCwUAA4ICA
1c1300 51 41 46 4e 7a 72 30 54 62 64 46 34 6b 56 31 4a 49 2b 32 64 31 4c 6f 48 4e 67 51 6b 32 58 7a 38 QAFNzr0TbdF4kV1JI+2d1LoHNgQk2Xz8
1c1320 6c 6b 47 70 44 34 65 4b 65 78 64 30 64 43 72 66 4f 41 4b 0a 6b 45 68 34 37 55 36 59 41 35 6e 2b lkGpD4eKexd0dCrfOAK.kEh47U6YA5n+
1c1340 4b 47 43 52 48 54 41 64 75 47 4e 38 71 4f 59 31 74 66 72 54 59 58 62 6d 31 67 64 4c 79 6d 6d 61 KGCRHTAduGN8qOY1tfrTYXbm1gdLymma
1c1360 73 6f 52 36 64 35 4e 46 46 78 57 66 4a 4e 43 59 45 78 4c 2f 75 36 41 75 2f 55 35 4d 68 2f 6a 4f soR6d5NFFxWfJNCYExL/u6Au/U5Mh/jO
1c1380 0a 58 4b 71 59 47 77 58 67 41 45 5a 4b 67 6f 43 6c 4d 34 73 6f 33 4f 30 34 30 39 2f 6c 50 75 6e .XKqYGwXgAEZKgoClM4so3O0409/lPun
1c13a0 2b 2b 31 6e 64 59 59 52 50 30 6c 53 57 45 32 45 54 50 6f 2b 41 61 62 36 54 52 37 55 31 51 39 4a ++1ndYYRP0lSWE2ETPo+Aab6TR7U1Q9J
1c13c0 61 75 7a 31 63 37 37 4e 43 52 38 30 37 0a 56 52 4d 47 73 41 6e 62 2f 57 50 32 4f 6f 67 4b 6d 57 auz1c77NCR807.VRMGsAnb/WP2OogKmW
1c13e0 39 2b 34 63 34 62 55 32 70 45 5a 69 4e 52 43 48 75 38 57 31 4b 69 2f 51 59 33 4f 45 42 68 6a 30 9+4c4bU2pEZiNRCHu8W1Ki/QY3OEBhj0
1c1400 71 57 75 4a 41 33 2b 47 62 48 65 4a 41 41 46 53 36 4c 72 56 45 31 55 77 65 6f 0a 61 32 69 75 2b qWuJA3+GbHeJAAFS6LrVE1Uweo.a2iu+
1c1420 55 34 38 42 79 62 4e 43 41 56 77 7a 44 6b 2f 64 72 32 6c 30 32 63 6d 41 59 61 6d 55 39 4a 67 4f U48BybNCAVwzDk/dr2l02cmAYamU9JgO
1c1440 33 78 44 66 31 57 4b 76 4a 55 61 77 53 67 35 54 42 39 44 30 70 48 30 63 6c 6d 4b 75 56 62 38 50 3xDf1WKvJUawSg5TB9D0pH0clmKuVb8P
1c1460 37 53 64 32 6e 43 63 0a 64 6c 71 4d 51 31 44 75 6a 6a 42 79 54 64 2f 2f 53 66 66 47 71 57 66 5a 7Sd2nCc.dlqMQ1DujjByTd//SffGqWfZ
1c1480 62 61 77 43 45 65 49 36 46 69 57 6e 57 41 6a 4c 62 31 4e 42 6e 45 67 34 52 32 67 7a 30 64 66 48 bawCEeI6FiWnWAjLb1NBnEg4R2gz0dfH
1c14a0 6a 39 52 30 49 64 54 44 42 5a 42 36 2f 38 36 57 69 4c 45 56 0a 4b 56 30 6a 71 39 42 67 6f 52 4a j9R0IdTDBZB6/86WiLEV.KV0jq9BgoRJ
1c14c0 50 33 76 51 58 7a 54 4c 6c 79 62 2f 49 51 36 33 39 4c 6f 37 78 72 2b 4c 30 6d 50 6f 53 48 79 44 P3vQXzTLlyb/IQ639Lo7xr+L0mPoSHyD
1c14e0 59 77 4b 63 4d 68 63 57 51 39 44 73 74 6c 69 61 78 4c 4c 35 4d 71 2b 75 78 30 6f 72 4a 32 33 67 YwKcMhcWQ9DstliaxLL5Mq+ux0orJ23g
1c1500 54 0a 44 78 34 4a 6e 57 32 50 41 4a 38 43 32 73 48 36 48 33 70 36 43 63 52 4b 35 6f 67 71 6c 35 T.Dx4JnW2PAJ8C2sH6H3p6CcRK5ogql5
1c1520 2b 4a 69 2f 30 33 58 31 38 36 7a 6a 68 5a 68 6b 75 76 63 51 75 30 32 50 4a 77 54 35 38 79 45 2b +Ji/03X186zjhZhkuvcQu02PJwT58yE+
1c1540 4f 77 70 31 66 6c 32 74 70 44 79 34 51 30 0a 38 69 6a 45 36 6d 33 30 4b 75 2f 42 61 33 62 61 2b Owp1fl2tpDy4Q0.8ijE6m30Ku/Ba3ba+
1c1560 33 36 37 68 54 7a 53 55 38 4a 4e 76 6e 48 68 52 64 48 39 49 32 63 4e 45 33 58 37 7a 32 56 6e 49 367hTzSU8JNvnHhRdH9I2cNE3X7z2VnI
1c1580 70 32 75 73 41 6e 52 43 66 38 64 4e 4c 2f 2b 49 35 63 33 30 6a 6e 36 50 51 30 47 0a 43 37 54 62 p2usAnRCf8dNL/+I5c30jn6PQ0G.C7Tb
1c15a0 4f 36 4f 72 62 31 77 64 74 6e 37 6f 73 34 49 30 37 51 5a 63 4a 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e O6Orb1wdtn7os4I07QZcJA==.-----EN
1c15c0 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 2d 54 65 6c 65 53 65 63 20 47 6c D.CERTIFICATE-----..T-TeleSec.Gl
1c15e0 6f 62 61 6c 52 6f 6f 74 20 43 6c 61 73 73 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d obalRoot.Class.2.===============
1c1600 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1c1620 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 77 7a 43 43 41 71 75 67 41 77 49 42 41 67 49 42 41 54 CATE-----.MIIDwzCCAqugAwIBAgIBAT
1c1640 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 67 6a 45 4c 4d 41 6b 47 41 31 ANBgkqhkiG9w0BAQsFADCBgjELMAkGA1
1c1660 55 45 42 68 4d 43 52 45 55 78 4b 7a 41 70 42 67 4e 56 42 41 6f 4d 0a 49 6c 51 74 55 33 6c 7a 64 UEBhMCREUxKzApBgNVBAoM.IlQtU3lzd
1c1680 47 56 74 63 79 42 46 62 6e 52 6c 63 6e 42 79 61 58 4e 6c 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 GVtcyBFbnRlcnByaXNlIFNlcnZpY2VzI
1c16a0 45 64 74 59 6b 67 78 48 7a 41 64 42 67 4e 56 42 41 73 4d 46 6c 51 74 55 33 6c 7a 64 47 56 74 63 EdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtc
1c16c0 79 42 55 0a 63 6e 56 7a 64 43 42 44 5a 57 35 30 5a 58 49 78 4a 54 41 6a 42 67 4e 56 42 41 4d 4d yBU.cnVzdCBDZW50ZXIxJTAjBgNVBAMM
1c16e0 48 46 51 74 56 47 56 73 5a 56 4e 6c 59 79 42 48 62 47 39 69 59 57 78 53 62 32 39 30 49 45 4e 73 HFQtVGVsZVNlYyBHbG9iYWxSb290IENs
1c1700 59 58 4e 7a 49 44 49 77 48 68 63 4e 4d 44 67 78 0a 4d 44 41 78 4d 54 41 30 4d 44 45 30 57 68 63 YXNzIDIwHhcNMDgx.MDAxMTA0MDE0Whc
1c1720 4e 4d 7a 4d 78 4d 44 41 78 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 67 6a 45 4c 4d 41 6b 47 41 31 55 NMzMxMDAxMjM1OTU5WjCBgjELMAkGA1U
1c1740 45 42 68 4d 43 52 45 55 78 4b 7a 41 70 42 67 4e 56 42 41 6f 4d 49 6c 51 74 55 33 6c 7a 0a 64 47 EBhMCREUxKzApBgNVBAoMIlQtU3lz.dG
1c1760 56 74 63 79 42 46 62 6e 52 6c 63 6e 42 79 61 58 4e 6c 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 VtcyBFbnRlcnByaXNlIFNlcnZpY2VzIE
1c1780 64 74 59 6b 67 78 48 7a 41 64 42 67 4e 56 42 41 73 4d 46 6c 51 74 55 33 6c 7a 64 47 56 74 63 79 dtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcy
1c17a0 42 55 63 6e 56 7a 64 43 42 44 0a 5a 57 35 30 5a 58 49 78 4a 54 41 6a 42 67 4e 56 42 41 4d 4d 48 BUcnVzdCBD.ZW50ZXIxJTAjBgNVBAMMH
1c17c0 46 51 74 56 47 56 73 5a 56 4e 6c 59 79 42 48 62 47 39 69 59 57 78 53 62 32 39 30 49 45 4e 73 59 FQtVGVsZVNlYyBHbG9iYWxSb290IENsY
1c17e0 58 4e 7a 49 44 49 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 33 0a 44 51 45 42 41 51 55 41 XNzIDIwggEiMA0GCSqGSIb3.DQEBAQUA
1c1800 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 71 58 39 6f 62 58 2b 68 7a 6b 65 58 61 A4IBDwAwggEKAoIBAQCqX9obX+hzkeXa
1c1820 58 50 53 69 35 6b 66 6c 38 32 68 56 59 41 55 64 41 71 53 7a 6d 31 6e 7a 48 6f 71 76 4e 4b 33 38 XPSi5kfl82hVYAUdAqSzm1nzHoqvNK38
1c1840 44 63 4c 5a 0a 53 42 6e 75 61 59 2f 4a 49 50 77 68 71 67 63 5a 37 62 42 63 72 47 58 48 58 2b 30 DcLZ.SBnuaY/JIPwhqgcZ7bBcrGXHX+0
1c1860 43 66 48 74 38 4c 52 76 57 75 72 6d 41 77 68 69 43 46 6f 54 36 5a 72 41 49 78 6c 51 6a 67 65 54 CfHt8LRvWurmAwhiCFoT6ZrAIxlQjgeT
1c1880 4e 75 55 6b 2f 39 6b 39 75 4e 30 67 6f 4f 41 2f 46 0a 76 75 64 6f 63 50 30 35 6c 30 33 53 78 35 NuUk/9k9uN0goOA/F.vudocP05l03Sx5
1c18a0 69 52 55 4b 72 45 52 4c 4d 6a 66 54 6c 48 36 56 4a 69 31 68 4b 54 58 72 63 78 6c 6b 49 46 2b 33 iRUKrERLMjfTlH6VJi1hKTXrcxlkIF+3
1c18c0 61 6e 48 71 50 31 77 76 7a 70 65 73 56 73 71 58 46 50 36 73 74 34 76 47 43 76 78 39 37 30 0a 32 anHqP1wvzpesVsqXFP6st4vGCvx970.2
1c18e0 63 75 2b 66 6a 4f 6c 62 70 53 44 38 44 54 36 49 61 76 71 6a 6e 4b 67 50 36 54 65 4d 46 76 76 68 cu+fjOlbpSD8DT6IavqjnKgP6TeMFvvh
1c1900 6b 31 71 6c 56 74 44 52 4b 67 51 46 52 7a 6c 41 56 66 46 6d 50 48 6d 42 69 69 52 71 69 44 46 74 k1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt
1c1920 31 4d 6d 55 55 4f 79 43 78 47 56 0a 57 4f 48 41 44 33 62 5a 77 49 31 38 67 66 4e 79 63 4a 35 76 1MmUUOyCxGV.WOHAD3bZwI18gfNycJ5v
1c1940 2f 68 71 4f 32 56 38 31 78 72 4a 76 4e 48 79 2b 53 45 2f 69 57 6a 6e 58 32 4a 31 34 6e 70 2b 47 /hqO2V81xrJvNHy+SE/iWjnX2J14np+G
1c1960 50 67 4e 65 47 59 74 45 6f 74 58 48 41 67 4d 42 41 41 47 6a 51 6a 42 41 0a 4d 41 38 47 41 31 55 PgNeGYtEotXHAgMBAAGjQjBA.MA8GA1U
1c1980 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 dEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQ
1c19a0 44 41 67 45 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 2f 57 53 41 32 41 48 6d 67 6f 43 4a DAgEGMB0GA1UdDgQWBBS/WSA2AHmgoCJ
1c19c0 72 6a 4e 58 79 0a 59 64 4b 34 4c 4d 75 43 53 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 rjNXy.YdK4LMuCSjANBgkqhkiG9w0BAQ
1c19e0 73 46 41 41 4f 43 41 51 45 41 4d 51 4f 69 59 51 73 66 64 4f 68 79 4e 73 5a 74 2b 55 32 65 2b 69 sFAAOCAQEAMQOiYQsfdOhyNsZt+U2e+i
1c1a00 4b 6f 34 59 46 57 7a 38 32 37 6e 2b 71 72 6b 52 6b 34 0a 72 36 70 38 46 55 33 7a 74 71 4f 4e 70 Ko4YFWz827n+qrkRk4.r6p8FU3ztqONp
1c1a20 66 53 4f 39 6b 53 70 70 2b 67 68 6c 61 30 2b 41 47 49 57 69 50 41 43 75 76 78 68 49 2b 59 7a 6d fSO9kSpp+ghla0+AGIWiPACuvxhI+Yzm
1c1a40 7a 42 36 61 7a 5a 69 65 36 30 45 49 34 52 59 5a 65 4c 62 4b 34 72 6e 4a 56 4d 33 59 6c 4e 66 0a zB6azZie60EI4RYZeLbK4rnJVM3YlNf.
1c1a60 76 4e 6f 42 59 69 6d 69 70 69 64 78 35 6a 6f 69 66 73 46 76 48 5a 56 77 49 45 6f 48 4e 4e 2f 71 vNoBYimipidx5joifsFvHZVwIEoHNN/q
1c1a80 2f 78 57 41 35 62 72 58 65 74 68 62 64 58 77 46 65 69 6c 48 66 6b 43 6f 4d 52 4e 33 7a 55 41 37 /xWA5brXethbdXwFeilHfkCoMRN3zUA7
1c1aa0 74 46 46 48 65 69 34 52 34 30 63 52 0a 33 70 31 6d 30 49 76 56 56 47 62 36 67 31 58 71 66 4d 49 tFFHei4R40cR.3p1m0IvVVGb6g1XqfMI
1c1ac0 70 69 52 76 70 62 37 50 4f 34 67 57 45 79 53 38 2b 65 49 56 69 62 73 6c 66 77 58 68 6a 64 46 6a piRvpb7PO4gWEyS8+eIVibslfwXhjdFj
1c1ae0 41 53 42 67 4d 6d 54 6e 72 70 4d 77 61 74 58 6c 61 6a 52 57 63 32 42 51 4e 0a 39 6e 6f 48 56 38 ASBgMmTnrpMwatXlajRWc2BQN.9noHV8
1c1b00 63 69 67 77 55 74 50 4a 73 6c 4a 6a 30 59 73 36 6c 44 66 4d 6a 49 71 32 53 50 44 71 4f 2f 6e 42 cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nB
1c1b20 75 64 4d 4e 76 61 30 42 6b 75 71 6a 7a 78 2b 7a 4f 41 64 75 54 4e 72 52 6c 50 42 53 65 4f 45 36 udMNva0Bkuqjzx+zOAduTNrRlPBSeOE6
1c1b40 46 75 77 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d Fuwg==.-----END.CERTIFICATE-----
1c1b60 0a 0a 41 74 6f 73 20 54 72 75 73 74 65 64 52 6f 6f 74 20 32 30 31 31 0a 3d 3d 3d 3d 3d 3d 3d 3d ..Atos.TrustedRoot.2011.========
1c1b80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1c1ba0 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 64 7a 43 43 41 6c 2b 67 41 77 49 42 41 67 49 49 58 44 CATE-----.MIIDdzCCAl+gAwIBAgIIXD
1c1bc0 50 4c 59 69 78 66 73 7a 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 50 44 PLYixfszIwDQYJKoZIhvcNAQELBQAwPD
1c1be0 45 65 4d 42 77 47 41 31 55 45 41 77 77 56 51 58 52 76 63 79 42 55 0a 63 6e 56 7a 64 47 56 6b 55 EeMBwGA1UEAwwVQXRvcyBU.cnVzdGVkU
1c1c00 6d 39 76 64 43 41 79 4d 44 45 78 4d 51 30 77 43 77 59 44 56 51 51 4b 44 41 52 42 64 47 39 7a 4d m9vdCAyMDExMQ0wCwYDVQQKDARBdG9zM
1c1c20 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 45 52 54 41 65 46 77 30 78 4d 54 41 33 4d 44 63 78 4e QswCQYDVQQGEwJERTAeFw0xMTA3MDcxN
1c1c40 44 55 34 0a 4d 7a 42 61 46 77 30 7a 4d 44 45 79 4d 7a 45 79 4d 7a 55 35 4e 54 6c 61 4d 44 77 78 DU4.MzBaFw0zMDEyMzEyMzU5NTlaMDwx
1c1c60 48 6a 41 63 42 67 4e 56 42 41 4d 4d 46 55 46 30 62 33 4d 67 56 48 4a 31 63 33 52 6c 5a 46 4a 76 HjAcBgNVBAMMFUF0b3MgVHJ1c3RlZFJv
1c1c80 62 33 51 67 4d 6a 41 78 4d 54 45 4e 4d 41 73 47 0a 41 31 55 45 43 67 77 45 51 58 52 76 63 7a 45 b3QgMjAxMTENMAsG.A1UECgwEQXRvczE
1c1ca0 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 45 55 77 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 62 LMAkGA1UEBhMCREUwggEiMA0GCSqGSIb
1c1cc0 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 56 0a 68 54 3DQEBAQUAA4IBDwAwggEKAoIBAQCV.hT
1c1ce0 75 58 62 79 6f 37 4c 6a 76 50 70 76 4d 70 4e 62 37 50 47 4b 77 2b 71 74 6e 34 54 61 41 2b 47 6b uXbyo7LjvPpvMpNb7PGKw+qtn4TaA+Gk
1c1d00 65 35 76 4a 72 66 38 76 37 4d 50 6b 66 6f 65 70 62 43 4a 49 34 31 39 4b 6b 4d 2f 49 4c 39 62 63 e5vJrf8v7MPkfoepbCJI419KkM/IL9bc
1c1d20 46 79 59 69 65 39 36 6d 76 72 0a 35 34 72 4d 56 44 36 51 55 4d 2b 41 31 4a 58 37 36 4c 57 43 31 FyYie96mvr.54rMVD6QUM+A1JX76LWC1
1c1d40 42 54 46 74 71 6c 56 4a 56 66 62 73 56 44 32 73 47 42 6b 57 58 70 70 7a 77 4f 33 62 77 32 2b 79 BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+y
1c1d60 6a 35 76 64 48 4c 71 71 6a 41 71 63 32 4b 2b 53 5a 46 68 79 42 48 2b 0a 44 67 4d 71 39 32 6f 67 j5vdHLqqjAqc2K+SZFhyBH+.DgMq92og
1c1d80 33 41 49 56 44 56 34 56 61 76 7a 6a 67 73 47 31 78 5a 31 6b 43 57 79 6a 57 5a 67 48 4a 38 63 62 3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cb
1c1da0 6c 69 74 68 64 48 46 73 51 2f 48 33 4e 59 6b 51 34 4a 37 73 56 61 45 33 49 71 4b 48 42 41 55 73 lithdHFsQ/H3NYkQ4J7sVaE3IqKHBAUs
1c1dc0 52 33 32 30 0a 48 4c 6c 69 4b 57 59 6f 79 72 66 68 6b 2f 57 6b 6c 41 4f 5a 75 58 43 46 74 65 5a R320.HLliKWYoyrfhk/WklAOZuXCFteZ
1c1de0 49 36 6f 31 51 2f 4e 6e 65 7a 47 38 48 44 74 30 4c 63 70 32 41 4d 42 59 48 6c 54 38 6f 44 76 33 I6o1Q/NnezG8HDt0Lcp2AMBYHlT8oDv3
1c1e00 46 64 55 39 54 31 6e 53 61 74 43 51 75 6a 67 4b 52 0a 7a 33 62 46 6d 78 35 56 64 4a 78 34 49 62 FdU9T1nSatCQujgKR.z3bFmx5VdJx4Ib
1c1e20 48 77 4c 66 45 4c 6e 38 4c 56 6c 68 67 66 38 46 51 69 65 6f 77 48 41 67 4d 42 41 41 47 6a 66 54 HwLfELn8LVlhgf8FQieowHAgMBAAGjfT
1c1e40 42 37 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 6e 70 51 61 78 4c 4b 59 4a 59 4f 37 52 0a 6c B7MB0GA1UdDgQWBBSnpQaxLKYJYO7R.l
1c1e60 2b 6c 77 72 72 77 37 47 57 7a 62 49 54 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 +lwrrw7GWzbITAPBgNVHRMBAf8EBTADA
1c1e80 51 48 2f 4d 42 38 47 41 31 55 64 49 77 51 59 4d 42 61 41 46 4b 65 6c 42 72 45 73 70 67 6c 67 37 QH/MB8GA1UdIwQYMBaAFKelBrEspglg7
1c1ea0 74 47 58 36 58 43 75 76 44 73 5a 0a 62 4e 73 68 4d 42 67 47 41 31 55 64 49 41 51 52 4d 41 38 77 tGX6XCuvDsZ.bNshMBgGA1UdIAQRMA8w
1c1ec0 44 51 59 4c 4b 77 59 42 42 41 47 77 4c 51 4d 45 41 51 45 77 44 67 59 44 56 52 30 50 41 51 48 2f DQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/
1c1ee0 42 41 51 44 41 67 47 47 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 0a 43 77 55 41 41 34 49 BAQDAgGGMA0GCSqGSIb3DQEB.CwUAA4I
1c1f00 42 41 51 41 6d 64 7a 54 62 6c 45 69 47 4b 6b 47 64 4c 44 34 47 6b 47 44 45 6a 4b 77 4c 56 4c 67 BAQAmdzTblEiGKkGdLD4GkGDEjKwLVLg
1c1f20 66 75 58 76 54 42 7a 6e 6b 2b 6a 35 37 73 6a 31 4f 37 5a 38 6a 76 5a 66 7a 61 31 7a 76 37 76 31 fuXvTBznk+j57sj1O7Z8jvZfza1zv7v1
1c1f40 41 70 74 2b 68 0a 6b 36 45 4b 68 71 7a 76 49 4e 42 35 41 62 31 34 39 78 6e 59 4a 44 45 30 42 41 Apt+h.k6EKhqzvINB5Ab149xnYJDE0BA
1c1f60 47 6d 75 68 57 61 77 79 66 63 32 45 38 50 7a 42 68 6a 2f 35 6b 50 44 70 46 72 64 52 62 68 49 66 GmuhWawyfc2E8PzBhj/5kPDpFrdRbhIf
1c1f80 7a 59 4a 73 64 48 74 36 62 50 57 48 4a 78 66 72 72 68 0a 54 5a 56 48 4f 38 6d 76 62 61 47 30 77 zYJsdHt6bPWHJxfrrh.TZVHO8mvbaG0w
1c1fa0 65 79 4a 39 72 51 50 4f 4c 58 69 5a 4e 77 6c 7a 36 62 62 36 35 70 63 6d 61 48 46 43 4e 37 39 35 eyJ9rQPOLXiZNwlz6bb65pcmaHFCN795
1c1fc0 74 72 56 31 6c 70 46 44 4d 53 33 77 72 55 55 37 37 51 52 2f 77 34 56 74 66 58 31 32 38 61 39 0a trV1lpFDMS3wrUU77QR/w4VtfX128a9.
1c1fe0 36 31 71 6e 38 46 59 69 71 54 78 6c 56 4d 59 56 71 4c 32 47 6e 73 32 44 6c 6d 68 36 63 59 47 4a 61qn8FYiqTxlVMYVqL2Gns2Dlmh6cYGJ
1c2000 34 51 76 68 36 68 45 62 61 41 6a 4d 61 5a 37 73 6e 6b 47 65 52 44 49 6d 65 75 4b 48 43 6e 45 39 4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE9
1c2020 36 2b 52 61 70 4e 4c 62 78 63 33 47 0a 33 6d 42 2f 75 66 4e 50 52 4a 4c 76 4b 72 63 59 50 71 63 6+RapNLbxc3G.3mB/ufNPRJLvKrcYPqc
1c2040 5a 32 51 74 39 73 54 64 42 51 72 43 36 59 42 33 79 2f 67 6b 52 73 50 43 48 65 36 65 64 0a 2d 2d Z2Qt9sTdBQrC6YB3y/gkRsPCHe6ed.--
1c2060 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 ---END.CERTIFICATE-----..QuoVadi
1c2080 73 20 52 6f 6f 74 20 43 41 20 31 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d s.Root.CA.1.G3.=================
1c20a0 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
1c20c0 0a 4d 49 49 46 59 44 43 43 41 30 69 67 41 77 49 42 41 67 49 55 65 46 68 66 4c 71 30 73 47 55 76 .MIIFYDCCA0igAwIBAgIUeFhfLq0sGUv
1c20e0 6a 4e 77 63 31 4e 42 4d 6f 74 5a 62 55 5a 5a 4d 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 jNwc1NBMotZbUZZMwDQYJKoZIhvcNAQE
1c2100 4c 42 51 41 77 53 44 45 4c 4d 41 6b 47 0a 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 LBQAwSDELMAkG.A1UEBhMCQk0xGTAXBg
1c2120 4e 56 42 41 6f 54 45 46 46 31 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 48 6a NVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHj
1c2140 41 63 42 67 4e 56 42 41 4d 54 46 56 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 0a 62 33 51 67 51 AcBgNVBAMTFVF1b1ZhZGlzIFJv.b3QgQ
1c2160 30 45 67 4d 53 42 48 4d 7a 41 65 46 77 30 78 4d 6a 41 78 4d 54 49 78 4e 7a 49 33 4e 44 52 61 46 0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaF
1c2180 77 30 30 4d 6a 41 78 4d 54 49 78 4e 7a 49 33 4e 44 52 61 4d 45 67 78 43 7a 41 4a 42 67 4e 56 42 w00MjAxMTIxNzI3NDRaMEgxCzAJBgNVB
1c21a0 41 59 54 41 6b 4a 4e 0a 4d 52 6b 77 46 77 59 44 56 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 AYTAkJN.MRkwFwYDVQQKExBRdW9WYWRp
1c21c0 63 79 42 4d 61 57 31 70 64 47 56 6b 4d 52 34 77 48 41 59 44 56 51 51 44 45 78 56 52 64 57 39 57 cyBMaW1pdGVkMR4wHAYDVQQDExVRdW9W
1c21e0 59 57 52 70 63 79 42 53 62 32 39 30 49 45 4e 42 49 44 45 67 0a 52 7a 4d 77 67 67 49 69 4d 41 30 YWRpcyBSb290IENBIDEg.RzMwggIiMA0
1c2200 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoI
1c2220 43 41 51 43 67 76 6c 41 51 6a 75 6e 79 62 45 43 30 42 4a 79 46 75 54 48 4b 33 43 33 6b 45 61 6b CAQCgvlAQjunybEC0BJyFuTHK3C3kEak
1c2240 45 0a 50 42 74 56 77 65 64 59 4d 42 30 6b 74 4d 50 76 68 64 36 4d 4c 4f 48 42 50 64 2b 43 35 6b E.PBtVwedYMB0ktMPvhd6MLOHBPd+C5k
1c2260 2b 74 52 34 64 73 37 46 74 4a 77 55 72 56 75 34 2f 73 68 36 78 2f 67 70 71 47 37 44 30 44 6d 56 +tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmV
1c2280 49 42 30 6a 57 65 72 4e 72 77 55 38 6c 6d 0a 50 4e 53 73 41 67 48 61 4a 4e 4d 37 71 41 4a 47 72 IB0jWerNrwU8lm.PNSsAgHaJNM7qAJGr
1c22a0 36 51 63 34 2f 68 7a 57 48 61 33 39 67 36 51 44 62 58 77 7a 38 7a 36 2b 63 5a 4d 35 63 4f 47 4d 6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGM
1c22c0 41 71 4e 46 33 34 31 36 38 58 66 75 77 36 63 77 49 32 48 34 34 67 34 68 57 66 36 0a 50 73 65 72 AqNF34168Xfuw6cwI2H44g4hWf6.Pser
1c22e0 34 42 4f 63 42 52 69 59 7a 35 50 31 73 5a 4b 30 2f 43 50 54 7a 39 58 45 4a 30 6e 67 6e 6a 79 62 4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjyb
1c2300 43 4b 4f 4c 58 53 6f 68 34 50 77 35 71 6c 50 61 66 58 37 50 47 67 6c 54 76 46 30 46 42 4d 2b 68 CKOLXSoh4Pw5qlPafX7PGglTvF0FBM+h
1c2320 53 6f 2b 4c 64 6f 49 4e 0a 6f 66 6a 53 78 78 52 33 57 35 41 32 42 34 47 62 50 67 62 36 55 6c 35 So+LdoIN.ofjSxxR3W5A2B4GbPgb6Ul5
1c2340 6a 78 61 59 41 2f 71 58 70 55 68 74 53 74 5a 49 35 63 67 4d 4a 59 72 32 77 59 42 5a 75 70 74 30 jxaYA/qXpUhtStZI5cgMJYr2wYBZupt0
1c2360 6c 77 67 4e 6d 33 66 4d 45 30 55 44 69 54 6f 75 47 39 47 2f 6c 0a 67 36 41 6e 68 46 34 45 77 66 lwgNm3fME0UDiTouG9G/l.g6AnhF4Ewf
1c2380 57 51 76 54 41 39 78 4f 2b 6f 61 62 77 34 6d 36 53 6b 6c 74 46 69 32 6d 6e 41 41 5a 61 75 79 38 WQvTA9xO+oabw4m6SkltFi2mnAAZauy8
1c23a0 52 52 4e 4f 6f 4d 71 76 38 68 6a 6c 6d 50 53 6c 7a 6b 59 5a 71 6e 30 75 6b 71 65 49 31 52 50 54 RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPT
1c23c0 6f 56 0a 37 71 4a 5a 6a 71 6c 63 33 73 58 35 6b 43 4c 6c 69 45 56 78 33 5a 47 5a 62 48 71 66 50 oV.7qJZjqlc3sX5kCLliEVx3ZGZbHqfP
1c23e0 54 32 59 66 46 37 32 76 68 5a 6f 6f 46 36 75 43 79 50 38 57 67 2b 71 49 6e 59 74 79 61 45 51 48 T2YfF72vhZooF6uCyP8Wg+qInYtyaEQH
1c2400 65 54 54 52 43 4f 51 69 4a 2f 47 4b 75 62 58 0a 39 5a 71 7a 57 42 34 76 4d 49 6b 49 47 31 53 69 eTTRCOQiJ/GKubX.9ZqzWB4vMIkIG1Si
1c2420 74 5a 67 6a 37 41 68 33 48 4a 56 64 59 64 48 4c 69 5a 78 66 6f 6b 71 52 6d 75 38 68 71 6b 6b 57 tZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkW
1c2440 43 4b 69 39 59 53 67 78 79 58 53 74 68 66 62 5a 78 62 47 4c 30 65 55 51 4d 6b 31 66 0a 69 79 41 CKi9YSgxyXSthfbZxbGL0eUQMk1f.iyA
1c2460 36 50 45 6b 66 4d 34 56 5a 44 64 76 4c 43 58 56 44 61 58 50 37 61 33 46 39 38 4e 2f 45 54 48 33 6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3
1c2480 47 6f 79 37 49 6c 58 6e 4c 63 36 4b 4f 54 6b 30 6b 2b 31 37 6b 42 4c 35 79 47 36 59 6e 4c 55 6c Goy7IlXnLc6KOTk0k+17kBL5yG6YnLUl
1c24a0 61 6d 58 72 58 58 41 6b 67 0a 74 33 2b 55 75 55 2f 78 44 52 78 65 69 45 49 62 45 62 66 6e 6b 64 amXrXXAkg.t3+UuU/xDRxeiEIbEbfnkd
1c24c0 75 65 62 50 52 71 33 34 77 47 6d 41 4f 74 7a 43 6a 76 70 55 66 7a 55 77 49 44 41 51 41 42 6f 30 uebPRq34wGmAOtzCjvpUfzUwIDAQABo0
1c24e0 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 41 34 47 41 IwQDAPBgNVHRMBAf8EBTAD.AQH/MA4GA
1c2500 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 6f 1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUo
1c2520 35 66 57 38 31 36 69 45 4f 47 72 52 5a 38 38 46 32 51 38 37 67 46 77 6e 4d 77 77 44 51 59 4a 4b 5fW816iEOGrRZ88F2Q87gFwnMwwDQYJK
1c2540 6f 5a 49 0a 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 42 6a 36 57 33 58 38 50 6e 72 48 oZI.hvcNAQELBQADggIBABj6W3X8PnrH
1c2560 58 33 66 48 79 74 2f 50 58 38 4d 53 78 45 42 64 31 44 4b 71 75 47 72 58 31 52 55 56 52 70 67 6a X3fHyt/PX8MSxEBd1DKquGrX1RUVRpgj
1c2580 70 65 61 51 57 78 69 5a 54 4f 4f 74 51 71 4f 43 0a 4d 54 61 49 7a 65 6e 37 78 41 53 57 53 49 73 peaQWxiZTOOtQqOC.MTaIzen7xASWSIs
1c25a0 42 78 34 30 42 7a 31 73 7a 42 70 5a 47 5a 6e 51 64 54 2b 33 42 74 72 6d 30 44 57 48 4d 59 33 37 Bx40Bz1szBpZGZnQdT+3Btrm0DWHMY37
1c25c0 58 4c 6e 65 4d 6c 68 77 71 49 32 68 72 68 56 64 32 63 44 4d 54 2f 75 46 50 70 69 4e 33 0a 47 50 XLneMlhwqI2hrhVd2cDMT/uFPpiN3.GP
1c25e0 6f 61 6a 4f 69 39 5a 63 6e 50 50 2f 54 4a 46 39 7a 72 78 37 7a 41 42 43 34 74 52 69 39 70 5a 73 oajOi9ZcnPP/TJF9zrx7zABC4tRi9pZs
1c2600 4d 62 6a 2f 37 73 50 74 50 4b 6c 4c 39 32 43 69 55 4e 71 58 73 43 48 4b 6e 51 4f 31 38 4c 77 49 Mbj/7sPtPKlL92CiUNqXsCHKnQO18LwI
1c2620 45 36 50 57 54 68 76 36 63 74 0a 54 72 31 4e 78 4e 67 70 78 69 49 59 30 4d 57 73 63 67 4b 43 50 E6PWThv6ct.Tr1NxNgpxiIY0MWscgKCP
1c2640 36 6f 36 6f 6a 6f 69 6c 7a 48 64 43 47 50 44 64 52 53 35 59 43 67 74 57 32 6a 67 46 71 6c 6d 67 6o6ojoilzHdCGPDdRS5YCgtW2jgFqlmg
1c2660 69 4e 52 39 65 74 54 32 44 47 62 65 2b 6d 33 6e 55 76 72 69 42 62 50 0a 2b 56 30 34 69 6b 6b 77 iNR9etT2DGbe+m3nUvriBbP.+V04ikkw
1c2680 6a 2b 33 78 36 78 6e 30 64 78 6f 78 47 45 31 6e 56 47 77 76 62 32 58 35 32 7a 33 73 49 65 78 65 j+3x6xn0dxoxGE1nVGwvb2X52z3sIexe
1c26a0 39 50 53 4c 79 6d 42 6c 56 4e 46 78 5a 50 54 35 70 71 4f 42 4d 7a 59 7a 63 66 43 6b 65 46 39 4f 9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9O
1c26c0 72 59 4d 68 0a 33 6a 52 4a 6a 65 68 5a 72 4a 33 79 64 6c 6f 32 38 68 50 30 72 2b 41 4a 78 32 45 rYMh.3jRJjehZrJ3ydlo28hP0r+AJx2E
1c26e0 71 62 50 66 67 6e 61 36 37 68 6b 6f 6f 62 79 37 75 74 48 6e 4e 6b 44 50 44 73 33 62 36 39 66 42 qbPfgna67hkooby7utHnNkDPDs3b69fB
1c2700 73 6e 51 47 51 2b 70 36 51 39 70 78 79 7a 30 66 61 0a 77 78 2f 6b 4e 53 42 54 38 6c 54 52 33 32 snQGQ+p6Q9pxyz0fa.wx/kNSBT8lTR32
1c2720 47 44 70 67 4c 69 4a 54 6a 65 68 54 49 74 58 6e 4f 51 55 6c 31 43 78 4d 34 39 53 2b 48 35 47 59 GDpgLiJTjehTItXnOQUl1CxM49S+H5GY
1c2740 51 64 31 61 4a 51 7a 45 48 37 51 52 54 44 76 64 62 4a 57 71 4e 6a 5a 67 4b 41 76 51 55 36 0a 4f Qd1aJQzEH7QRTDvdbJWqNjZgKAvQU6.O
1c2760 30 65 63 37 41 41 6d 54 50 57 49 55 62 2b 6f 49 33 38 59 42 37 41 4c 37 59 73 6d 6f 57 54 54 59 0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTY
1c2780 55 72 72 58 4a 2f 65 73 36 39 6e 41 37 4d 66 33 57 31 64 61 57 68 70 71 31 34 36 37 48 78 70 76 UrrXJ/es69nA7Mf3W1daWhpq1467Hxpv
1c27a0 4d 63 37 68 55 36 65 46 62 6d 30 0a 46 55 2f 44 6c 58 70 59 31 38 6c 73 36 57 79 35 38 79 6c 6a Mc7hU6eFbm0.FU/DlXpY18ls6Wy58ylj
1c27c0 58 72 51 73 38 43 30 39 37 56 70 6c 34 4b 6c 62 51 4d 4a 49 6d 59 46 74 6e 68 38 47 4b 6a 77 53 XrQs8C097Vpl4KlbQMJImYFtnh8GKjwS
1c27e0 74 49 73 50 6d 36 49 6b 38 4b 61 4e 31 6e 72 67 53 37 5a 6b 6c 6d 4f 56 0a 68 4d 4a 4b 7a 52 77 tIsPm6Ik8KaN1nrgS7ZklmOV.hMJKzRw
1c2800 75 4a 49 63 7a 59 4f 58 44 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d uJIczYOXD.-----END.CERTIFICATE--
1c2820 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 73 20 52 6f 6f 74 20 43 41 20 32 20 47 33 0a 3d 3d 3d 3d 3d ---..QuoVadis.Root.CA.2.G3.=====
1c2840 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 ================.-----BEGIN.CERT
1c2860 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 59 44 43 43 41 30 69 67 41 77 49 42 41 67 49 IFICATE-----.MIIFYDCCA0igAwIBAgI
1c2880 55 52 46 63 30 4a 46 75 42 69 5a 73 31 38 73 36 34 4b 7a 74 62 70 79 62 77 64 53 67 77 44 51 59 URFc0JFuBiZs18s64KztbpybwdSgwDQY
1c28a0 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 53 44 45 4c 4d 41 6b 47 0a 41 31 55 45 42 68 JKoZIhvcNAQELBQAwSDELMAkG.A1UEBh
1c28c0 4d 43 51 6b 30 78 47 54 41 58 42 67 4e 56 42 41 6f 54 45 46 46 31 62 31 5a 68 5a 47 6c 7a 49 45 MCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIE
1c28e0 78 70 62 57 6c 30 5a 57 51 78 48 6a 41 63 42 67 4e 56 42 41 4d 54 46 56 46 31 62 31 5a 68 5a 47 xpbWl0ZWQxHjAcBgNVBAMTFVF1b1ZhZG
1c2900 6c 7a 49 46 4a 76 0a 62 33 51 67 51 30 45 67 4d 69 42 48 4d 7a 41 65 46 77 30 78 4d 6a 41 78 4d lzIFJv.b3QgQ0EgMiBHMzAeFw0xMjAxM
1c2920 54 49 78 4f 44 55 35 4d 7a 4a 61 46 77 30 30 4d 6a 41 78 4d 54 49 78 4f 44 55 35 4d 7a 4a 61 4d TIxODU5MzJaFw00MjAxMTIxODU5MzJaM
1c2940 45 67 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 0a 4d 52 6b 77 46 77 59 44 56 51 51 4b EgxCzAJBgNVBAYTAkJN.MRkwFwYDVQQK
1c2960 45 78 42 52 64 57 39 57 59 57 52 70 63 79 42 4d 61 57 31 70 64 47 56 6b 4d 52 34 77 48 41 59 44 ExBRdW9WYWRpcyBMaW1pdGVkMR4wHAYD
1c2980 56 51 51 44 45 78 56 52 64 57 39 57 59 57 52 70 63 79 42 53 62 32 39 30 49 45 4e 42 49 44 49 67 VQQDExVRdW9WYWRpcyBSb290IENBIDIg
1c29a0 0a 52 7a 4d 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 .RzMwggIiMA0GCSqGSIb3DQEBAQUAA4I
1c29c0 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 68 72 69 57 79 41 52 6a 63 56 34 67 2f 52 75 76 CDwAwggIKAoICAQChriWyARjcV4g/Ruv
1c29e0 35 72 2b 4c 72 49 33 48 69 6d 74 46 68 0a 5a 69 46 66 71 71 38 6e 55 65 56 75 47 78 62 55 4c 58 5r+LrI3HimtFh.ZiFfqq8nUeVuGxbULX
1c2a00 31 51 73 46 4e 33 76 58 67 36 59 4f 4a 6b 41 70 74 38 68 70 76 57 47 6f 36 74 2f 78 38 56 66 39 1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9
1c2a20 57 56 48 68 4c 4c 35 68 53 45 42 4d 48 66 4e 72 4d 57 6e 34 72 6a 79 64 75 59 0a 4e 4d 37 59 4d WVHhLL5hSEBMHfNrMWn4rjyduY.NM7YM
1c2a40 78 63 6f 52 76 79 6e 79 66 44 53 74 4e 56 4e 43 58 4a 4a 2b 66 4b 48 34 36 6e 61 66 61 46 39 61 xcoRvynyfDStNVNCXJJ+fKH46nafaF9a
1c2a60 37 49 36 4a 61 6c 74 55 6b 53 73 2b 4c 35 75 2b 39 79 6d 63 35 47 51 59 61 59 44 46 43 44 79 35 7I6JaltUkSs+L5u+9ymc5GQYaYDFCDy5
1c2a80 34 65 6a 69 4b 32 74 0a 6f 49 7a 2f 70 67 73 6c 55 69 58 6e 46 67 48 56 79 37 67 31 67 51 79 6a 4ejiK2t.oIz/pgslUiXnFgHVy7g1gQyj
1c2aa0 4f 2f 44 68 34 66 78 61 58 63 36 41 63 57 33 34 53 61 73 2b 4f 37 71 34 31 34 41 42 2b 36 58 72 O/Dh4fxaXc6AcW34Sas+O7q414AB+6Xr
1c2ac0 57 37 50 46 58 6d 41 71 4d 61 43 76 4e 2b 67 67 4f 70 2b 6f 0a 4d 69 77 4d 7a 41 6b 64 30 35 36 W7PFXmAqMaCvN+ggOp+o.MiwMzAkd056
1c2ae0 4f 58 62 78 4d 6d 4f 37 46 47 6d 68 37 37 46 4f 6d 36 52 51 31 6f 39 2f 4e 67 4a 38 4d 53 50 73 OXbxMmO7FGmh77FOm6RQ1o9/NgJ8MSPs
1c2b00 63 39 50 47 2f 53 72 6a 36 31 59 78 78 53 73 63 66 72 66 35 42 6d 72 4f 44 58 66 4b 45 56 75 2b c9PG/Srj61YxxSscfrf5BmrODXfKEVu+
1c2b20 6c 0a 56 30 50 4f 4b 61 32 4d 71 31 57 2f 78 50 74 62 41 64 30 6a 49 61 46 59 41 49 37 44 30 47 l.V0POKa2Mq1W/xPtbAd0jIaFYAI7D0G
1c2b40 6f 54 37 52 50 6a 45 69 75 41 33 47 66 6d 6c 62 4c 4e 48 69 4a 75 4b 76 68 42 31 50 4c 4b 46 41 oT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFA
1c2b60 65 4e 69 6c 55 53 78 6d 6e 31 75 49 5a 6f 0a 4c 31 4e 65 73 4e 4b 71 49 63 47 59 35 6a 44 6a 5a eNilUSxmn1uIZo.L1NesNKqIcGY5jDjZ
1c2b80 31 58 48 6d 32 36 73 47 61 68 56 70 6b 55 47 30 43 4d 36 32 2b 74 6c 58 53 6f 52 45 66 41 37 54 1XHm26sGahVpkUG0CM62+tlXSoREfA7T
1c2ba0 38 70 74 39 44 54 45 63 65 54 2f 41 46 72 32 58 4b 34 6a 59 49 56 7a 38 65 51 51 0a 73 53 57 75 8pt9DTEceT/AFr2XK4jYIVz8eQQ.sSWu
1c2bc0 31 5a 4b 37 45 38 45 4d 34 44 6e 61 74 44 6c 58 74 61 73 31 71 6e 49 68 4f 34 4d 31 35 7a 48 66 1ZK7E8EM4DnatDlXtas1qnIhO4M15zHf
1c2be0 65 69 46 75 75 44 49 49 66 52 30 79 6b 52 56 4b 59 6e 4c 50 34 33 65 68 76 4e 55 52 47 33 59 42 eiFuuDIIfR0ykRVKYnLP43ehvNURG3YB
1c2c00 5a 77 6a 67 51 51 76 44 0a 36 78 56 75 2b 4b 51 5a 32 61 4b 72 72 2b 49 6e 55 6c 59 72 41 6f 6f ZwjgQQvD.6xVu+KQZ2aKrr+InUlYrAoo
1c2c20 73 46 43 54 35 76 30 49 43 76 79 62 49 78 6f 2f 67 62 6a 68 39 55 79 33 6c 37 5a 69 7a 6c 57 4e sFCT5v0ICvybIxo/gbjh9Uy3l7ZizlWN
1c2c40 6f 66 2f 6b 31 39 4e 2b 49 78 57 41 31 6b 73 42 38 61 52 78 68 0a 6c 52 62 51 36 39 34 4c 72 7a of/k19N+IxWA1ksB8aRxh.lRbQ694Lrz
1c2c60 34 45 45 45 56 6c 57 46 41 34 72 30 6a 79 57 62 59 57 38 6a 77 4e 6b 41 4c 47 63 43 34 42 72 54 4EEEVlWFA4r0jyWbYW8jwNkALGcC4BrT
1c2c80 77 56 31 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 wV1wIDAQABo0IwQDAPBgNVHRMBAf8EBT
1c2ca0 41 44 0a 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a 41 64 42 AD.AQH/MA4GA1UdDwEB/wQEAwIBBjAdB
1c2cc0 67 4e 56 48 51 34 45 46 67 51 55 37 65 64 76 64 6c 71 2f 59 4f 78 4a 57 38 61 6c 64 37 74 79 46 gNVHQ4EFgQU7edvdlq/YOxJW8ald7tyF
1c2ce0 6e 47 62 78 44 30 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 nGbxD0wDQYJKoZI.hvcNAQELBQADggIB
1c2d00 41 4a 48 66 67 44 39 44 43 58 35 78 77 76 66 72 73 34 69 50 34 56 47 79 76 44 31 31 2b 53 68 64 AJHfgD9DCX5xwvfrs4iP4VGyvD11+Shd
1c2d20 79 4c 79 5a 6d 33 74 64 71 75 58 4b 34 51 72 33 36 4c 4c 54 6e 39 31 6e 4d 58 36 36 0a 41 61 72 yLyZm3tdquXK4Qr36LLTn91nMX66.Aar
1c2d40 48 61 6b 45 37 6b 4e 51 49 58 4c 4a 67 61 70 44 77 79 4d 34 44 59 76 6d 4c 37 66 74 75 4b 74 77 HakE7kNQIXLJgapDwyM4DYvmL7ftuKtw
1c2d60 47 54 54 77 70 44 34 6b 57 69 6c 68 4d 53 41 2f 6f 68 47 48 71 50 48 4b 6d 64 2b 52 43 72 6f 69 GTTwpD4kWilhMSA/ohGHqPHKmd+RCroi
1c2d80 6a 51 31 68 35 66 71 37 4b 0a 70 56 4d 4e 71 54 31 77 76 53 41 5a 59 61 52 73 4f 50 78 44 4d 75 jQ1h5fq7K.pVMNqT1wvSAZYaRsOPxDMu
1c2da0 48 42 52 2f 2f 34 37 50 45 52 49 6a 4b 57 6e 4d 4c 32 57 32 6d 57 65 79 41 4d 51 30 47 61 57 2f HBR//47PERIjKWnML2W2mWeyAMQ0GaW/
1c2dc0 5a 5a 47 59 6a 65 56 59 67 33 55 51 74 34 58 41 6f 65 6f 30 4c 39 0a 78 35 32 49 44 38 44 79 65 ZZGYjeVYg3UQt4XAoeo0L9.x52ID8Dye
1c2de0 41 49 6b 56 4a 4f 76 69 59 65 49 79 55 71 41 48 65 72 51 62 6a 35 68 4c 6a 61 37 4e 51 34 6e 6c AIkVJOviYeIyUqAHerQbj5hLja7NQ4nl
1c2e00 76 31 6d 4e 44 74 68 63 6e 50 78 46 6c 78 48 42 6c 52 4a 41 48 70 59 45 72 41 4b 37 34 58 39 73 v1mNDthcnPxFlxHBlRJAHpYErAK74X9s
1c2e20 62 67 7a 0a 64 57 71 54 48 42 4c 6d 59 46 35 76 48 58 2f 4a 48 79 50 4c 68 47 47 66 48 6f 4a 45 bgz.dWqTHBLmYF5vHX/JHyPLhGGfHoJE
1c2e40 2b 56 2b 74 59 6c 55 6b 6d 6c 4b 59 37 56 48 6e 6f 58 36 58 4f 75 59 76 48 78 48 61 55 34 41 73 +V+tYlUkmlKY7VHnoX6XOuYvHxHaU4As
1c2e60 68 5a 36 72 4e 52 44 62 49 6c 39 71 78 56 36 58 0a 55 2f 49 79 41 67 6b 77 6f 31 6a 77 44 51 48 hZ6rNRDbIl9qxV6X.U/IyAgkwo1jwDQH
1c2e80 56 63 73 61 78 66 47 6c 37 77 2f 55 32 52 63 78 68 62 6c 35 4d 6c 4d 56 65 72 75 67 4f 58 6f 75 VcsaxfGl7w/U2Rcxhbl5MlMVerugOXou
1c2ea0 2f 39 38 33 67 37 61 45 4f 47 7a 50 75 56 42 6a 2b 44 37 37 76 66 6f 52 72 51 2b 4e 77 0a 6d 4e /983g7aEOGzPuVBj+D77vfoRrQ+Nw.mN
1c2ec0 74 64 64 62 49 4e 57 51 65 46 46 53 4d 35 31 76 48 66 71 53 59 50 31 6b 6a 48 73 36 59 69 39 54 tddbINWQeFFSM51vHfqSYP1kjHs6Yi9T
1c2ee0 4d 33 57 70 56 48 6e 33 75 36 47 42 56 76 2f 39 59 55 5a 49 4e 4a 30 67 70 6e 49 64 73 50 4e 57 M3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNW
1c2f00 4e 67 4b 43 4c 6a 73 5a 57 44 0a 7a 59 57 6d 33 53 38 50 35 32 64 53 62 72 73 76 68 58 7a 31 53 NgKCLjsZWD.zYWm3S8P52dSbrsvhXz1S
1c2f20 6e 50 6e 78 54 37 41 76 53 45 53 42 54 2f 38 74 77 4e 4a 41 6c 76 49 4a 65 62 69 56 44 6a 31 65 nPnxT7AvSESBT/8twNJAlvIJebiVDj1e
1c2f40 59 65 4d 48 56 4f 79 54 6f 56 37 42 6a 6a 48 4c 50 6a 34 73 48 4b 4e 0a 4a 65 56 33 55 76 51 44 YeMHVOyToV7BjjHLPj4sHKN.JeV3UvQD
1c2f60 48 45 69 6d 55 46 2b 49 49 44 42 75 38 6f 4a 44 71 7a 32 58 68 4f 64 54 2b 79 48 42 54 77 38 69 HEimUF+IIDBu8oJDqz2XhOdT+yHBTw8i
1c2f80 6d 6f 61 34 57 53 72 32 52 7a 30 5a 69 43 33 6f 68 65 47 65 37 49 55 49 61 72 46 73 4e 4d 6b 64 moa4WSr2Rz0ZiC3oheGe7IUIarFsNMkd
1c2fa0 37 45 67 72 0a 4f 33 6a 74 5a 73 53 4f 65 57 6d 44 33 6e 2b 4d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 7Egr.O3jtZsSOeWmD3n+M.-----END.C
1c2fc0 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 51 75 6f 56 61 64 69 73 20 52 6f 6f 74 20 43 ERTIFICATE-----..QuoVadis.Root.C
1c2fe0 41 20 33 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d A.3.G3.=====================.---
1c3000 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 59 44 43 --BEGIN.CERTIFICATE-----.MIIFYDC
1c3020 43 41 30 69 67 41 77 49 42 41 67 49 55 4c 76 57 62 41 69 69 6e 32 33 72 2f 31 61 4f 70 37 72 30 CA0igAwIBAgIULvWbAiin23r/1aOp7r0
1c3040 44 6f 4d 38 53 61 68 30 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 53 44 45 DoM8Sah0wDQYJKoZIhvcNAQELBQAwSDE
1c3060 4c 4d 41 6b 47 0a 41 31 55 45 42 68 4d 43 51 6b 30 78 47 54 41 58 42 67 4e 56 42 41 6f 54 45 46 LMAkG.A1UEBhMCQk0xGTAXBgNVBAoTEF
1c3080 46 31 62 31 5a 68 5a 47 6c 7a 49 45 78 70 62 57 6c 30 5a 57 51 78 48 6a 41 63 42 67 4e 56 42 41 F1b1ZhZGlzIExpbWl0ZWQxHjAcBgNVBA
1c30a0 4d 54 46 56 46 31 62 31 5a 68 5a 47 6c 7a 49 46 4a 76 0a 62 33 51 67 51 30 45 67 4d 79 42 48 4d MTFVF1b1ZhZGlzIFJv.b3QgQ0EgMyBHM
1c30c0 7a 41 65 46 77 30 78 4d 6a 41 78 4d 54 49 79 4d 44 49 32 4d 7a 4a 61 46 77 30 30 4d 6a 41 78 4d zAeFw0xMjAxMTIyMDI2MzJaFw00MjAxM
1c30e0 54 49 79 4d 44 49 32 4d 7a 4a 61 4d 45 67 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4a 4e 0a TIyMDI2MzJaMEgxCzAJBgNVBAYTAkJN.
1c3100 4d 52 6b 77 46 77 59 44 56 51 51 4b 45 78 42 52 64 57 39 57 59 57 52 70 63 79 42 4d 61 57 31 70 MRkwFwYDVQQKExBRdW9WYWRpcyBMaW1p
1c3120 64 47 56 6b 4d 52 34 77 48 41 59 44 56 51 51 44 45 78 56 52 64 57 39 57 59 57 52 70 63 79 42 53 dGVkMR4wHAYDVQQDExVRdW9WYWRpcyBS
1c3140 62 32 39 30 49 45 4e 42 49 44 4d 67 0a 52 7a 4d 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 b290IENBIDMg.RzMwggIiMA0GCSqGSIb
1c3160 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 7a 79 77 34 3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4
1c3180 51 5a 34 37 71 46 4a 65 6e 4d 69 6f 4b 56 6a 5a 2f 61 45 7a 48 73 32 38 36 0a 49 78 53 52 2f 78 QZ47qFJenMioKVjZ/aEzHs286.IxSR/x
1c31a0 6c 2f 70 63 71 73 37 72 4e 32 6e 58 72 70 69 78 75 72 61 7a 48 62 2b 67 74 54 54 4b 2f 46 70 52 l/pcqs7rN2nXrpixurazHb+gtTTK/FpR
1c31c0 70 35 50 49 70 4d 2f 36 7a 66 4a 64 35 4f 32 59 49 79 43 30 54 65 79 74 75 4d 72 4b 4e 75 46 6f p5PIpM/6zfJd5O2YIyC0TeytuMrKNuFo
1c31e0 4d 37 70 6d 52 4c 0a 4d 6f 6e 37 46 68 59 34 66 75 74 44 34 74 4e 30 53 73 4a 69 43 6e 4d 4b 33 M7pmRL.Mon7FhY4futD4tN0SsJiCnMK3
1c3200 55 6d 7a 56 39 4b 77 43 6f 57 64 63 54 7a 65 6f 38 76 41 4d 76 4d 42 4f 53 42 44 47 7a 58 52 55 UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXRU
1c3220 37 4f 78 37 73 57 54 61 59 49 2b 46 72 55 6f 52 71 48 65 0a 36 6f 6b 4a 37 55 4f 34 42 55 61 4b 7Ox7sWTaYI+FrUoRqHe.6okJ7UO4BUaK
1c3240 68 76 56 5a 52 37 34 62 62 77 45 68 45 4c 6e 39 71 64 49 6f 79 68 41 35 43 63 6f 54 4e 73 2b 63 hvVZR74bbwEhELn9qdIoyhA5CcoTNs+c
1c3260 72 61 31 41 64 48 6b 72 41 6a 38 30 2f 2f 6f 67 61 58 33 54 37 6d 48 31 75 72 50 6e 4d 4e 41 33 ra1AdHkrAj80//ogaX3T7mH1urPnMNA3
1c3280 0a 49 34 5a 79 59 55 55 70 53 46 6c 6f 62 33 65 6d 4c 6f 47 2b 42 30 31 76 72 38 37 45 52 52 4f .I4ZyYUUpSFlob3emLoG+B01vr87ERRO
1c32a0 52 46 48 41 47 6a 78 2b 66 2b 49 64 70 73 51 37 76 77 34 6b 5a 36 2b 6f 63 59 66 78 36 62 49 72 RFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIr
1c32c0 63 31 67 4d 4c 6e 69 61 36 45 74 33 55 0a 56 44 6d 72 4a 71 4d 7a 36 6e 57 42 32 69 33 4e 44 30 c1gMLnia6Et3U.VDmrJqMz6nWB2i3ND0
1c32e0 2f 6b 41 39 48 76 46 5a 63 62 61 35 44 46 41 70 43 54 5a 67 49 68 73 55 66 65 69 35 70 4b 67 4c /kA9HvFZcba5DFApCTZgIhsUfei5pKgL
1c3300 6c 56 6a 37 57 69 4c 38 44 57 4d 32 66 61 66 73 53 6e 74 41 52 45 36 30 66 37 0a 35 6c 69 35 39 lVj7WiL8DWM2fafsSntARE60f7.5li59
1c3320 77 7a 77 65 79 75 78 77 48 41 70 77 30 42 69 4c 54 74 49 61 64 77 6a 50 45 6a 72 65 77 6c 35 71 wzweyuxwHApw0BiLTtIadwjPEjrewl5q
1c3340 57 33 61 71 44 43 59 7a 34 42 79 41 34 69 6d 57 30 61 75 63 6e 6c 38 43 41 4d 68 5a 61 36 33 34 W3aqDCYz4ByA4imW0aucnl8CAMhZa634
1c3360 52 79 6c 73 53 71 69 0a 4d 64 35 6d 42 50 66 41 64 4f 68 78 33 76 38 39 57 63 79 57 4a 68 4b 4c RylsSqi.Md5mBPfAdOhx3v89WcyWJhKL
1c3380 68 5a 56 58 47 71 74 72 64 51 74 45 50 52 45 6f 50 48 74 68 74 2b 4b 50 5a 30 2f 6c 37 44 78 4d hZVXGqtrdQtEPREoPHtht+KPZ0/l7DxM
1c33a0 59 49 42 70 56 7a 67 65 41 56 75 4e 56 65 6a 48 33 38 44 4d 0a 64 79 4d 30 53 58 56 38 39 70 67 YIBpVzgeAVuNVejH38DM.dyM0SXV89pg
1c33c0 52 36 79 33 65 37 55 45 75 46 41 55 43 66 2b 44 2b 49 4f 73 31 35 78 47 73 49 73 35 58 50 64 37 R6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7
1c33e0 4a 4d 47 30 51 41 34 58 4e 38 66 2b 4d 46 72 58 42 73 6a 36 49 62 47 42 2f 6b 45 2b 56 39 2f 59 JMG0QA4XN8f+MFrXBsj6IbGB/kE+V9/Y
1c3400 74 0a 72 51 45 35 42 77 54 36 64 59 42 39 76 30 6c 51 37 65 2f 4a 78 48 77 63 36 34 42 2b 32 37 t.rQE5BwT6dYB9v0lQ7e/JxHwc64B+27
1c3420 62 51 33 52 50 2b 79 64 4f 63 31 37 4b 58 71 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 bQ3RP+ydOc17KXqQIDAQABo0IwQDAPBg
1c3440 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f NVHRMBAf8EBTAD.AQH/MA4GA1UdDwEB/
1c3460 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 78 68 66 51 76 4b 6a 71 41 wQEAwIBBjAdBgNVHQ4EFgQUxhfQvKjqA
1c3480 6b 50 79 47 77 61 5a 58 53 75 51 49 4c 6e 58 6e 4f 51 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e kPyGwaZXSuQILnXnOQwDQYJKoZI.hvcN
1c34a0 41 51 45 4c 42 51 41 44 67 67 49 42 41 44 52 68 32 56 61 31 45 6f 64 56 54 64 32 6a 4e 54 46 47 AQELBQADggIBADRh2Va1EodVTd2jNTFG
1c34c0 75 36 51 48 63 72 78 66 59 57 4c 6f 70 66 73 4c 4e 37 45 38 74 72 50 36 4b 5a 31 2f 41 76 57 6b u6QHcrxfYWLopfsLN7E8trP6KZ1/AvWk
1c34e0 79 61 69 54 74 33 70 78 0a 4b 47 6d 50 63 2b 46 53 6b 4e 72 56 76 6a 72 6c 74 33 5a 71 56 6f 41 yaiTt3px.KGmPc+FSkNrVvjrlt3ZqVoA
1c3500 68 33 31 33 6d 36 54 71 65 35 54 37 32 6f 6d 6e 48 4b 67 71 77 47 45 66 63 49 48 42 39 55 71 4d h313m6Tqe5T72omnHKgqwGEfcIHB9UqM
1c3520 2b 57 58 7a 42 75 73 6e 49 46 55 42 68 79 6e 4c 57 63 4b 7a 53 0a 74 2f 41 63 35 49 59 70 38 4d +WXzBusnIFUBhynLWcKzS.t/Ac5IYp8M
1c3540 37 76 61 47 50 51 74 53 43 4b 46 57 47 61 66 6f 61 59 74 4d 6e 43 64 76 76 4d 75 6a 41 57 7a 4b 7vaGPQtSCKFWGafoaYtMnCdvvMujAWzK
1c3560 4e 68 78 6e 51 54 35 57 76 76 6f 78 58 71 41 2f 34 54 69 32 54 6b 30 38 48 53 36 49 54 37 53 64 NhxnQT5WvvoxXqA/4Ti2Tk08HS6IT7Sd
1c3580 45 51 0a 54 58 6c 6d 36 36 72 39 39 49 30 78 48 6e 41 55 72 64 7a 65 5a 78 4e 4d 67 52 56 68 76 EQ.TXlm66r99I0xHnAUrdzeZxNMgRVhv
1c35a0 4c 66 5a 6b 58 64 78 47 59 46 67 75 2f 42 59 70 62 57 63 43 2f 65 50 49 6c 55 6e 77 45 73 42 62 LfZkXdxGYFgu/BYpbWcC/ePIlUnwEsBb
1c35c0 54 75 5a 44 64 51 64 6d 32 4e 6e 4c 39 44 75 0a 44 63 70 6d 76 4a 52 50 70 71 33 74 2f 4f 35 6a TuZDdQdm2NnL9Du.DcpmvJRPpq3t/O5j
1c35e0 72 46 63 2f 5a 53 58 50 73 6f 61 50 30 41 6a 2f 75 48 59 55 62 74 37 6c 4a 2b 79 72 65 4c 56 54 rFc/ZSXPsoaP0Aj/uHYUbt7lJ+yreLVT
1c3600 75 62 59 2f 36 43 44 35 30 71 69 2b 59 55 62 4b 68 34 79 45 38 2f 6e 78 6f 47 69 62 0a 49 68 36 ubY/6CD50qi+YUbKh4yE8/nxoGib.Ih6
1c3620 42 4a 70 73 51 42 4a 46 78 77 41 59 66 33 4b 44 54 75 56 61 6e 34 35 67 74 66 34 4f 64 33 34 77 BJpsQBJFxwAYf3KDTuVan45gtf4Od34w
1c3640 72 6e 44 4b 4f 4d 70 54 77 41 54 77 69 4b 70 39 44 77 69 37 44 6d 44 6b 48 4f 48 76 38 58 67 42 rnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgB
1c3660 43 48 2f 4d 79 4a 6e 6d 44 0a 68 50 62 6c 38 4d 46 52 45 73 41 4c 48 67 51 6a 44 46 53 6c 54 43 CH/MyJnmD.hPbl8MFREsALHgQjDFSlTC
1c3680 39 4a 78 55 72 52 74 6d 35 67 44 57 76 38 61 34 75 46 4a 47 53 33 69 51 36 72 4a 55 64 62 50 4d 9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM
1c36a0 39 2b 53 62 33 48 36 51 72 47 32 76 64 2b 44 68 63 49 30 30 69 58 0a 30 48 47 53 38 41 38 35 50 9+Sb3H6QrG2vd+DhcI00iX.0HGS8A85P
1c36c0 6a 52 71 48 48 33 59 38 69 4b 75 75 32 6e 30 4d 37 53 6d 53 46 58 52 44 77 34 6d 36 4f 79 32 43 jRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2C
1c36e0 79 32 6e 68 54 58 4e 2f 56 6e 49 6e 39 48 4e 50 6c 6f 70 4e 4c 6b 39 68 4d 36 78 5a 64 52 5a 6b y2nhTXN/VnIn9HNPlopNLk9hM6xZdRZk
1c3700 5a 46 57 0a 64 53 48 42 64 35 37 35 65 75 46 67 6e 64 4f 74 42 42 6a 30 66 4f 74 65 6b 34 39 54 ZFW.dSHBd575euFgndOtBBj0fOtek49T
1c3720 53 69 49 70 2b 45 67 72 50 6b 32 47 72 46 74 2f 79 77 61 5a 57 57 44 59 57 47 57 56 6a 55 54 52 SiIp+EgrPk2GrFt/ywaZWWDYWGWVjUTR
1c3740 39 33 39 2b 4a 33 39 39 72 6f 44 31 42 30 79 32 0a 50 70 78 78 56 4a 6b 45 53 2f 31 59 2b 5a 6a 939+J399roD1B0y2.PpxxVJkES/1Y+Zj
1c3760 30 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 0.-----END.CERTIFICATE-----..Dig
1c3780 69 43 65 72 74 20 41 73 73 75 72 65 64 20 49 44 20 52 6f 6f 74 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d iCert.Assured.ID.Root.G2.=======
1c37a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 ====================.-----BEGIN.
1c37c0 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 6c 6a 43 43 41 6e 36 67 41 77 49 CERTIFICATE-----.MIIDljCCAn6gAwI
1c37e0 42 41 67 49 51 43 35 4d 63 4f 74 59 35 5a 2b 70 6e 49 37 2f 44 72 35 72 30 53 7a 41 4e 42 67 6b BAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgk
1c3800 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 6c 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 qhkiG9w0BAQsFADBlMQswCQYDVQQG.Ew
1c3820 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 JVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW
1c3840 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcn
1c3860 51 75 59 32 39 74 4d 53 51 77 0a 49 67 59 44 56 51 51 44 45 78 74 45 61 57 64 70 51 32 56 79 64 QuY29tMSQw.IgYDVQQDExtEaWdpQ2Vyd
1c3880 43 42 42 63 33 4e 31 63 6d 56 6b 49 45 6c 45 49 46 4a 76 62 33 51 67 52 7a 49 77 48 68 63 4e 4d CBBc3N1cmVkIElEIFJvb3QgRzIwHhcNM
1c38a0 54 4d 77 4f 44 41 78 4d 54 49 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 0a 4d 54 45 31 4d 54 49 77 TMwODAxMTIwMDAwWhcNMzgw.MTE1MTIw
1c38c0 4d 44 41 77 57 6a 42 6c 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 56 4d 42 4d 47 MDAwWjBlMQswCQYDVQQGEwJVUzEVMBMG
1c38e0 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 A1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD
1c3900 56 51 51 4c 0a 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 51 VQQL.ExB3d3cuZGlnaWNlcnQuY29tMSQ
1c3920 77 49 67 59 44 56 51 51 44 45 78 74 45 61 57 64 70 51 32 56 79 64 43 42 42 63 33 4e 31 63 6d 56 wIgYDVQQDExtEaWdpQ2VydCBBc3N1cmV
1c3940 6b 49 45 6c 45 49 46 4a 76 62 33 51 67 52 7a 49 77 0a 67 67 45 69 4d 41 30 47 43 53 71 47 53 49 kIElEIFJvb3QgRzIw.ggEiMA0GCSqGSI
1c3960 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 44 5a 35 79 b3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5y
1c3980 67 76 55 6a 38 32 63 6b 6d 49 6b 7a 54 7a 2b 47 6f 65 4d 56 53 41 6e 36 31 55 51 62 56 48 0a 33 gvUj82ckmIkzTz+GoeMVSAn61UQbVH.3
1c39a0 35 61 6f 31 4b 2b 41 4c 62 6b 4b 7a 33 58 39 69 61 56 39 4a 50 72 6a 49 67 77 72 76 4a 55 58 43 5ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXC
1c39c0 7a 4f 2f 47 55 31 42 42 70 41 41 76 51 78 4e 45 50 34 48 74 65 63 63 62 69 4a 56 4d 57 57 58 76 zO/GU1BBpAAvQxNEP4HteccbiJVMWWXv
1c39e0 64 4d 58 30 68 35 69 38 39 76 71 0a 62 46 43 4d 50 34 51 4d 6c 73 2b 33 79 77 50 67 79 6d 32 68 dMX0h5i89vq.bFCMP4QMls+3ywPgym2h
1c3a00 46 45 77 62 69 64 33 74 41 4c 42 53 66 4b 2b 52 62 4c 45 34 45 39 48 70 45 67 6a 41 41 4c 41 63 FEwbid3tALBSfK+RbLE4E9HpEgjAALAc
1c3a20 4b 78 48 61 64 33 41 32 6d 36 37 4f 65 59 66 63 67 6e 44 6d 43 58 52 77 0a 56 57 6d 76 6f 32 69 KxHad3A2m67OeYfcgnDmCXRw.VWmvo2i
1c3a40 66 76 39 32 32 65 62 50 79 6e 58 41 70 56 66 53 72 2f 35 56 68 38 38 6c 41 62 78 33 52 76 70 4f fv922ebPynXApVfSr/5Vh88lAbx3RvpO
1c3a60 37 30 34 67 71 75 35 32 2f 63 6c 70 57 63 54 73 2f 31 50 50 52 43 76 34 6f 37 36 50 75 32 5a 6d 704gqu52/clpWcTs/1PPRCv4o76Pu2Zm
1c3a80 76 41 39 4f 50 0a 59 4c 66 79 6b 71 47 78 76 59 6d 4a 48 7a 44 4e 77 36 59 75 59 6a 4f 75 46 67 vA9OP.YLfykqGxvYmJHzDNw6YuYjOuFg
1c3aa0 4a 33 52 46 72 6e 67 51 6f 38 70 30 51 75 65 62 67 2f 42 4c 78 63 6f 49 66 68 47 36 39 52 6a 73 J3RFrngQo8p0Quebg/BLxcoIfhG69Rjs
1c3ac0 33 73 4c 50 72 34 2f 6d 33 77 4f 6e 79 71 69 2b 52 6e 0a 6c 54 47 4e 41 67 4d 42 41 41 47 6a 51 3sLPr4/m3wOnyqi+Rn.lTGNAgMBAAGjQ
1c3ae0 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 jBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDV
1c3b00 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 4f 0a R0PAQH/BAQDAgGGMB0GA1UdDgQWBBTO.
1c3b20 77 30 71 35 6d 56 58 79 75 4e 74 67 76 36 6c 2b 76 56 61 31 6c 7a 61 6e 31 6a 41 4e 42 67 6b 71 w0q5mVXyuNtgv6l+vVa1lzan1jANBgkq
1c3b40 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 51 45 41 79 71 56 56 6a 4f 50 49 51 57 35 70 hkiG9w0BAQsFAAOCAQEAyqVVjOPIQW5p
1c3b60 4a 36 64 31 45 65 38 38 68 6a 5a 76 0a 30 70 33 47 65 44 67 64 61 5a 61 69 6b 6d 6b 75 4f 47 79 J6d1Ee88hjZv.0p3GeDgdaZaikmkuOGy
1c3b80 62 66 51 54 55 69 61 57 78 4d 54 65 4b 79 53 48 4d 71 32 7a 4e 69 78 79 61 31 72 39 49 30 6a 4a bfQTUiaWxMTeKySHMq2zNixya1r9I0jJ
1c3ba0 6d 77 59 72 41 38 79 38 36 37 38 44 6a 31 4a 47 47 30 56 44 6a 41 39 74 7a 0a 64 32 39 4b 4f 56 mwYrA8y8678Dj1JGG0VDjA9tz.d29KOV
1c3bc0 50 74 33 69 62 48 74 58 32 76 4b 30 4c 52 64 57 4c 6a 53 69 73 43 78 31 42 4c 34 47 6e 69 6c 6d Pt3ibHtX2vK0LRdWLjSisCx1BL4Gnilm
1c3be0 77 4f 52 47 59 51 52 49 2b 74 42 65 76 34 65 61 79 6d 47 2b 67 33 4e 4a 31 54 79 57 47 71 6f 6c wORGYQRI+tBev4eaymG+g3NJ1TyWGqol
1c3c00 4b 76 53 6e 41 57 0a 68 73 49 36 79 4c 45 54 63 44 62 59 7a 2b 37 30 43 6a 54 56 57 30 7a 39 42 KvSnAW.hsI6yLETcDbYz+70CjTVW0z9B
1c3c20 35 79 69 75 74 6b 42 63 6c 7a 7a 54 63 48 64 44 72 45 63 44 63 52 6a 76 71 33 30 46 50 75 4a 37 5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7
1c3c40 4b 4a 42 44 6b 7a 4d 79 46 64 41 30 47 34 44 71 73 30 4d 0a 6a 6f 6d 5a 6d 57 7a 77 50 44 43 76 KJBDkzMyFdA0G4Dqs0M.jomZmWzwPDCv
1c3c60 4f 4e 39 76 76 4b 4f 2b 4b 53 41 6e 71 33 54 2f 45 79 4a 34 33 70 64 53 56 52 36 44 74 56 51 67 ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQg
1c3c80 41 2b 36 75 77 45 39 57 33 6a 66 4d 77 33 2b 71 42 43 65 37 30 33 65 34 59 74 73 58 66 4a 77 6f A+6uwE9W3jfMw3+qBCe703e4YtsXfJwo
1c3ca0 0a 49 68 4e 7a 62 4d 38 6d 39 59 6f 70 35 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 .IhNzbM8m9Yop5w==.-----END.CERTI
1c3cc0 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 41 73 73 75 72 65 64 20 49 44 FICATE-----..DigiCert.Assured.ID
1c3ce0 20 52 6f 6f 74 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Root.G3.=======================
1c3d00 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d ====.-----BEGIN.CERTIFICATE-----
1c3d20 0a 4d 49 49 43 52 6a 43 43 41 63 32 67 41 77 49 42 41 67 49 51 43 36 46 61 2b 68 33 66 6f 4c 56 .MIICRjCCAc2gAwIBAgIQC6Fa+h3foLV
1c3d40 4a 52 4b 2f 4e 4a 4b 42 73 37 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 42 6c 4d 51 73 JRK/NJKBs7DAKBggqhkjOPQQDAzBlMQs
1c3d60 77 43 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 wCQYDVQQGEwJV.UzEVMBMGA1UEChMMRG
1c3d80 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 64 33 lnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3
1c3da0 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 51 77 49 67 59 44 0a 56 51 51 44 45 cuZGlnaWNlcnQuY29tMSQwIgYD.VQQDE
1c3dc0 78 74 45 61 57 64 70 51 32 56 79 64 43 42 42 63 33 4e 31 63 6d 56 6b 49 45 6c 45 49 46 4a 76 62 xtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb
1c3de0 33 51 67 52 7a 4d 77 48 68 63 4e 4d 54 4d 77 4f 44 41 78 4d 54 49 77 4d 44 41 77 57 68 63 4e 4d 3QgRzMwHhcNMTMwODAxMTIwMDAwWhcNM
1c3e00 7a 67 77 4d 54 45 31 0a 4d 54 49 77 4d 44 41 77 57 6a 42 6c 4d 51 73 77 43 51 59 44 56 51 51 47 zgwMTE1.MTIwMDAwWjBlMQswCQYDVQQG
1c3e20 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQg
1c3e40 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 0a 64 33 63 75 5a 47 6c 6e 61 57 4e SW5jMRkwFwYDVQQLExB3.d3cuZGlnaWN
1c3e60 6c 63 6e 51 75 59 32 39 74 4d 53 51 77 49 67 59 44 56 51 51 44 45 78 74 45 61 57 64 70 51 32 56 lcnQuY29tMSQwIgYDVQQDExtEaWdpQ2V
1c3e80 79 64 43 42 42 63 33 4e 31 63 6d 56 6b 49 45 6c 45 49 46 4a 76 62 33 51 67 52 7a 4d 77 64 6a 41 ydCBBc3N1cmVkIElEIFJvb3QgRzMwdjA
1c3ea0 51 0a 42 67 63 71 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 67 4e 69 41 41 51 5a 35 37 Q.BgcqhkjOPQIBBgUrgQQAIgNiAAQZ57
1c3ec0 79 73 52 47 58 74 7a 62 67 2f 57 50 75 4e 73 56 65 70 52 43 30 46 46 66 4c 76 43 2f 38 51 64 4a ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ
1c3ee0 2b 31 59 6c 4a 66 5a 6e 34 66 35 64 77 62 0a 52 58 6b 4c 7a 4d 5a 54 43 70 32 4e 58 51 4c 5a 71 +1YlJfZn4f5dwb.RXkLzMZTCp2NXQLZq
1c3f00 56 6e 65 41 6c 72 32 6c 53 6f 4f 6a 54 68 4b 69 6b 6e 47 76 4d 59 44 4f 41 64 66 56 64 70 2b 43 VneAlr2lSoOjThKiknGvMYDOAdfVdp+C
1c3f20 57 37 69 66 31 37 51 52 53 41 50 57 58 59 51 31 71 41 6b 38 43 33 65 4e 76 4a 73 0a 4b 54 6d 6a W7if17QRSAPWXYQ1qAk8C3eNvJs.KTmj
1c3f40 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
1c3f60 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 4c VR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTL
1c3f80 30 4c 32 70 34 5a 67 46 0a 55 61 46 4e 4e 36 4b 44 65 63 36 4e 48 53 72 6b 68 44 41 4b 42 67 67 0L2p4ZgF.UaFNN6KDec6NHSrkhDAKBgg
1c3fa0 71 68 6b 6a 4f 50 51 51 44 41 77 4e 6e 41 44 42 6b 41 6a 41 6c 70 49 46 46 41 6d 73 53 53 33 56 qhkjOPQQDAwNnADBkAjAlpIFFAmsSS3V
1c3fc0 30 54 38 67 6a 34 33 44 79 64 58 4c 65 66 49 6e 77 7a 35 46 79 0a 59 5a 35 65 45 4a 4a 5a 56 72 0T8gj43DydXLefInwz5Fy.YZ5eEJJZVr
1c3fe0 6d 44 78 78 44 6e 4f 4f 6c 59 4a 6a 5a 39 31 65 51 30 68 6a 6b 43 4d 48 77 32 55 2f 41 77 35 57 mDxxDnOOlYJjZ91eQ0hjkCMHw2U/Aw5W
1c4000 4a 6a 4f 70 6e 69 74 71 4d 37 6d 7a 54 36 48 74 6f 51 6b 6e 46 65 6b 52 4f 6e 33 61 52 75 6b 73 JjOpnitqM7mzT6HtoQknFekROn3aRuks
1c4020 77 79 0a 31 76 55 68 5a 73 63 76 36 70 5a 6a 61 6d 56 46 6b 70 55 42 74 41 3d 3d 0a 2d 2d 2d 2d wy.1vUhZscv6pZjamVFkpUBtA==.----
1c4040 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 -END.CERTIFICATE-----..DigiCert.
1c4060 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 47 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Global.Root.G2.=================
1c4080 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d ======.-----BEGIN.CERTIFICATE---
1c40a0 2d 2d 0a 4d 49 49 44 6a 6a 43 43 41 6e 61 67 41 77 49 42 41 67 49 51 41 7a 72 78 35 71 63 52 71 --.MIIDjjCCAnagAwIBAgIQAzrx5qcRq
1c40c0 61 43 37 4b 47 53 78 48 51 6e 36 35 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 aC7KGSxHQn65TANBgkqhkiG9w0BAQsFA
1c40e0 44 42 68 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 DBhMQswCQYDVQQG.EwJVUzEVMBMGA1UE
1c4100 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c ChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQL
1c4120 45 78 42 33 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 41 77 0a 48 67 59 ExB3d3cuZGlnaWNlcnQuY29tMSAw.HgY
1c4140 44 56 51 51 44 45 78 64 45 61 57 64 70 51 32 56 79 64 43 42 48 62 47 39 69 59 57 77 67 55 6d 39 DVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9
1c4160 76 64 43 42 48 4d 6a 41 65 46 77 30 78 4d 7a 41 34 4d 44 45 78 4d 6a 41 77 4d 44 42 61 46 77 30 vdCBHMjAeFw0xMzA4MDExMjAwMDBaFw0
1c4180 7a 4f 44 41 78 4d 54 55 78 0a 4d 6a 41 77 4d 44 42 61 4d 47 45 78 43 7a 41 4a 42 67 4e 56 42 41 zODAxMTUx.MjAwMDBaMGExCzAJBgNVBA
1c41a0 59 54 41 6c 56 54 4d 52 55 77 45 77 59 44 56 51 51 4b 45 77 78 45 61 57 64 70 51 32 56 79 64 43 YTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydC
1c41c0 42 4a 62 6d 4d 78 47 54 41 58 42 67 4e 56 42 41 73 54 45 48 64 33 0a 64 79 35 6b 61 57 64 70 59 BJbmMxGTAXBgNVBAsTEHd3.dy5kaWdpY
1c41e0 32 56 79 64 43 35 6a 62 32 30 78 49 44 41 65 42 67 4e 56 42 41 4d 54 46 30 52 70 5a 32 6c 44 5a 2VydC5jb20xIDAeBgNVBAMTF0RpZ2lDZ
1c4200 58 4a 30 49 45 64 73 62 32 4a 68 62 43 42 53 62 32 39 30 49 45 63 79 4d 49 49 42 49 6a 41 4e 42 XJ0IEdsb2JhbCBSb290IEcyMIIBIjANB
1c4220 67 6b 71 0a 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 gkq.hkiG9w0BAQEFAAOCAQ8AMIIBCgKC
1c4240 41 51 45 41 75 7a 66 4e 4e 4e 78 37 61 38 6d 79 61 4a 43 74 53 6e 58 2f 52 72 6f 68 43 67 69 4e AQEAuzfNNNx7a8myaJCtSnX/RrohCgiN
1c4260 39 52 6c 55 79 66 75 49 32 2f 4f 75 38 6a 71 4a 0a 6b 54 78 36 35 71 73 47 47 6d 76 50 72 43 33 9RlUyfuI2/Ou8jqJ.kTx65qsGGmvPrC3
1c4280 6f 58 67 6b 6b 52 4c 70 69 6d 6e 37 57 6f 36 68 2b 34 46 52 31 49 41 57 73 55 4c 65 63 59 78 70 oXgkkRLpimn7Wo6h+4FR1IAWsULecYxp
1c42a0 73 4d 4e 7a 61 48 78 6d 78 31 78 37 65 2f 64 66 67 79 35 53 44 4e 36 37 73 48 30 4e 4f 0a 33 58 sMNzaHxmx1x7e/dfgy5SDN67sH0NO.3X
1c42c0 73 73 30 72 30 75 70 53 2f 6b 71 62 69 74 4f 74 53 5a 70 4c 59 6c 36 5a 74 72 41 47 43 53 59 50 ss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP
1c42e0 39 50 49 55 6b 59 39 32 65 51 71 32 45 47 6e 49 2f 79 75 75 6d 30 36 5a 49 79 61 37 58 7a 56 2b 9PIUkY92eQq2EGnI/yuum06ZIya7XzV+
1c4300 68 64 47 38 32 4d 48 61 75 56 0a 42 4a 56 4a 38 7a 55 74 6c 75 4e 4a 62 64 31 33 34 2f 74 4a 53 hdG82MHauV.BJVJ8zUtluNJbd134/tJS
1c4320 37 53 73 56 51 65 70 6a 35 57 7a 74 43 4f 37 54 47 31 46 38 50 61 70 73 70 55 77 74 50 31 4d 56 7SsVQepj5WztCO7TG1F8PapspUwtP1MV
1c4340 59 77 6e 53 6c 63 55 66 49 4b 64 7a 58 4f 53 30 78 5a 4b 42 67 79 4d 0a 55 4e 47 50 48 67 6d 2b YwnSlcUfIKdzXOS0xZKBgyM.UNGPHgm+
1c4360 46 36 48 6d 49 63 72 39 67 2b 55 51 76 49 4f 6c 43 73 52 6e 4b 50 5a 7a 46 42 51 39 52 6e 62 44 F6HmIcr9g+UQvIOlCsRnKPZzFBQ9RnbD
1c4380 68 78 53 4a 49 54 52 4e 72 77 39 46 44 4b 5a 4a 6f 62 71 37 6e 4d 57 78 4d 34 4d 70 68 51 49 44 hxSJITRNrw9FDKZJobq7nMWxM4MphQID
1c43a0 41 51 41 42 0a 6f 30 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 AQAB.o0IwQDAPBgNVHRMBAf8EBTADAQH
1c43c0 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 68 6a 41 64 42 67 4e 56 48 51 34 /MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4
1c43e0 45 46 67 51 55 54 69 4a 55 49 42 69 56 35 75 4e 75 0a 35 67 2f 36 2b 72 6b 53 37 51 59 58 6a 7a EFgQUTiJUIBiV5uNu.5g/6+rkS7QYXjz
1c4400 6b 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 42 41 47 42 6e 4b 4a kwDQYJKoZIhvcNAQELBQADggEBAGBnKJ
1c4420 52 76 44 6b 68 6a 36 7a 48 64 36 6d 63 59 31 59 6c 39 50 4d 57 4c 53 6e 2f 70 76 74 73 72 0a 46 RvDkhj6zHd6mcY1Yl9PMWLSn/pvtsr.F
1c4440 39 2b 77 58 33 4e 33 4b 6a 49 54 4f 59 46 6e 51 6f 51 6a 38 6b 56 6e 4e 65 79 49 76 2f 69 50 73 9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPs
1c4460 47 45 4d 4e 4b 53 75 49 45 79 45 78 74 76 34 4e 65 46 32 32 64 2b 6d 51 72 76 48 52 41 69 47 66 GEMNKSuIEyExtv4NeF22d+mQrvHRAiGf
1c4480 7a 5a 30 4a 46 72 61 62 41 30 55 0a 57 54 57 39 38 6b 6e 64 74 68 2f 4a 73 77 31 48 4b 6a 32 5a zZ0JFrabA0U.WTW98kndth/Jsw1HKj2Z
1c44a0 4c 37 74 63 75 37 58 55 49 4f 47 5a 58 31 4e 47 46 64 74 6f 6d 2f 44 7a 4d 4e 55 2b 4d 65 4b 4e L7tcu7XUIOGZX1NGFdtom/DzMNU+MeKN
1c44c0 68 4a 37 6a 69 74 72 61 6c 6a 34 31 45 36 56 66 38 50 6c 77 55 48 42 48 0a 51 52 46 58 47 55 37 hJ7jitralj41E6Vf8PlwUHBH.QRFXGU7
1c44e0 41 6a 36 34 47 78 4a 55 54 46 79 38 62 4a 5a 39 31 38 72 47 4f 6d 61 46 76 45 37 46 42 63 66 36 Aj64GxJUTFy8bJZ918rGOmaFvE7FBcf6
1c4500 49 4b 73 68 50 45 43 42 56 31 2f 4d 55 52 65 58 67 52 50 54 71 68 35 55 79 6b 77 37 2b 55 30 62 IKshPECBV1/MUReXgRPTqh5Uykw7+U0b
1c4520 36 4c 4a 33 2f 0a 69 79 4b 35 53 39 6b 4a 52 61 54 65 70 4c 69 61 57 4e 30 62 66 56 4b 66 6a 6c 6LJ3/.iyK5S9kJRaTepLiaWN0bfVKfjl
1c4540 6c 44 69 49 47 6b 6e 69 62 56 62 36 33 64 44 63 59 33 66 65 30 44 6b 68 76 6c 64 31 39 32 37 6a lDiIGknibVb63dDcY3fe0Dkhvld1927j
1c4560 79 4e 78 46 31 57 57 36 4c 5a 5a 6d 36 7a 4e 54 66 6c 0a 4d 72 59 3d 0a 2d 2d 2d 2d 2d 45 4e 44 yNxF1WW6LZZm6zNTfl.MrY=.-----END
1c4580 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 47 6c 6f 62 .CERTIFICATE-----..DigiCert.Glob
1c45a0 61 6c 20 52 6f 6f 74 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d al.Root.G3.=====================
1c45c0 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1c45e0 49 49 43 50 7a 43 43 41 63 57 67 41 77 49 42 41 67 49 51 42 56 56 57 76 50 4a 65 70 44 55 31 77 IICPzCCAcWgAwIBAgIQBVVWvPJepDU1w
1c4600 36 51 50 31 61 74 46 63 6a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 42 68 4d 51 73 77 43 6QP1atFcjAKBggqhkjOPQQDAzBhMQswC
1c4620 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e QYDVQQGEwJV.UzEVMBMGA1UEChMMRGln
1c4640 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 64 33 63 75 aUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
1c4660 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 41 77 48 67 59 44 0a 56 51 51 44 45 78 64 ZGlnaWNlcnQuY29tMSAwHgYD.VQQDExd
1c4680 45 61 57 64 70 51 32 56 79 64 43 42 48 62 47 39 69 59 57 77 67 55 6d 39 76 64 43 42 48 4d 7a 41 EaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzA
1c46a0 65 46 77 30 78 4d 7a 41 34 4d 44 45 78 4d 6a 41 77 4d 44 42 61 46 77 30 7a 4f 44 41 78 4d 54 55 eFw0xMzA4MDExMjAwMDBaFw0zODAxMTU
1c46c0 78 4d 6a 41 77 0a 4d 44 42 61 4d 47 45 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 xMjAw.MDBaMGExCzAJBgNVBAYTAlVTMR
1c46e0 55 77 45 77 59 44 56 51 51 4b 45 77 78 45 61 57 64 70 51 32 56 79 64 43 42 4a 62 6d 4d 78 47 54 UwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGT
1c4700 41 58 42 67 4e 56 42 41 73 54 45 48 64 33 64 79 35 6b 0a 61 57 64 70 59 32 56 79 64 43 35 6a 62 AXBgNVBAsTEHd3dy5k.aWdpY2VydC5jb
1c4720 32 30 78 49 44 41 65 42 67 4e 56 42 41 4d 54 46 30 52 70 5a 32 6c 44 5a 58 4a 30 49 45 64 73 62 20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb
1c4740 32 4a 68 62 43 42 53 62 32 39 30 49 45 63 7a 4d 48 59 77 45 41 59 48 4b 6f 5a 49 7a 6a 30 43 0a 2JhbCBSb290IEczMHYwEAYHKoZIzj0C.
1c4760 41 51 59 46 4b 34 45 45 41 43 49 44 59 67 41 45 33 61 66 5a 75 34 71 34 43 2f 73 4c 66 79 48 53 AQYFK4EEACIDYgAE3afZu4q4C/sLfyHS
1c4780 38 4c 36 2b 63 2f 4d 7a 58 52 71 38 4e 4f 72 65 78 70 75 38 30 4a 58 32 38 4d 7a 51 43 37 70 68 8L6+c/MzXRq8NOrexpu80JX28MzQC7ph
1c47a0 57 31 46 47 66 70 34 74 6e 2b 36 4f 0a 59 77 77 58 37 41 64 77 39 63 2b 45 4c 6b 43 44 6e 4f 67 W1FGfp4tn+6O.YwwX7Adw9c+ELkCDnOg
1c47c0 2f 51 57 30 37 72 64 4f 6b 46 46 6b 32 65 4a 30 44 51 2b 34 51 45 32 78 79 33 71 36 49 70 36 46 /QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6F
1c47e0 72 74 55 50 4f 5a 39 77 6a 2f 77 4d 63 6f 2b 49 2b 6f 30 49 77 51 44 41 50 0a 42 67 4e 56 48 52 rtUPOZ9wj/wMco+I+o0IwQDAP.BgNVHR
1c4800 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 MBAf8EBTADAQH/MA4GA1UdDwEB/wQEAw
1c4820 49 42 68 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 73 39 74 49 70 50 6d 68 78 64 69 75 4e 6b IBhjAdBgNVHQ4EFgQUs9tIpPmhxdiuNk
1c4840 48 4d 45 57 4e 70 0a 59 69 6d 38 53 38 59 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 4d 44 61 HMEWNp.Yim8S8YwCgYIKoZIzj0EAwMDa
1c4860 41 41 77 5a 51 49 78 41 4b 32 38 38 6d 77 2f 45 6b 72 52 4c 54 6e 44 43 67 6d 58 63 2f 53 49 4e AAwZQIxAK288mw/EkrRLTnDCgmXc/SIN
1c4880 6f 79 49 4a 37 76 6d 69 49 31 51 68 61 64 6a 2b 5a 34 79 0a 33 6d 61 54 44 2f 48 4d 73 51 6d 50 oyIJ7vmiI1Qhadj+Z4y.3maTD/HMsQmP
1c48a0 33 57 79 72 2b 6d 74 2f 6f 41 49 77 4f 57 5a 62 77 6d 53 4e 75 4a 35 51 33 4b 6a 56 53 61 4c 74 3Wyr+mt/oAIwOWZbwmSNuJ5Q3KjVSaLt
1c48c0 78 39 7a 52 53 58 38 58 41 62 6a 49 68 6f 39 4f 6a 49 67 72 71 4a 71 70 69 73 58 52 41 4c 33 34 x9zRSX8XAbjIho9OjIgrqJqpisXRAL34
1c48e0 0a 56 4f 4b 61 35 56 74 38 73 79 63 58 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 .VOKa5Vt8sycX.-----END.CERTIFICA
1c4900 54 45 2d 2d 2d 2d 2d 0a 0a 44 69 67 69 43 65 72 74 20 54 72 75 73 74 65 64 20 52 6f 6f 74 20 47 TE-----..DigiCert.Trusted.Root.G
1c4920 34 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 4.========================.-----
1c4940 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 6b 44 43 43 41 BEGIN.CERTIFICATE-----.MIIFkDCCA
1c4960 33 69 67 41 77 49 42 41 67 49 51 42 5a 73 62 56 35 36 4f 49 54 4c 69 4f 51 65 39 70 33 64 31 58 3igAwIBAgIQBZsbV56OITLiOQe9p3d1X
1c4980 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 46 41 44 42 69 4d 51 73 77 43 51 59 44 56 DANBgkqhkiG9w0BAQwFADBiMQswCQYDV
1c49a0 51 51 47 0a 45 77 4a 56 55 7a 45 56 4d 42 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c QQG.EwJVUzEVMBMGA1UEChMMRGlnaUNl
1c49c0 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 59 44 56 51 51 4c 45 78 42 33 64 33 63 75 5a 47 6c 6e cnQgSW5jMRkwFwYDVQQLExB3d3cuZGln
1c49e0 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d 53 45 77 0a 48 77 59 44 56 51 51 44 45 78 68 45 61 57 64 aWNlcnQuY29tMSEw.HwYDVQQDExhEaWd
1c4a00 70 51 32 56 79 64 43 42 55 63 6e 56 7a 64 47 56 6b 49 46 4a 76 62 33 51 67 52 7a 51 77 48 68 63 pQ2VydCBUcnVzdGVkIFJvb3QgRzQwHhc
1c4a20 4e 4d 54 4d 77 4f 44 41 78 4d 54 49 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 31 0a 4d 54 NMTMwODAxMTIwMDAwWhcNMzgwMTE1.MT
1c4a40 49 77 4d 44 41 77 57 6a 42 69 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 56 4d 42 IwMDAwWjBiMQswCQYDVQQGEwJVUzEVMB
1c4a60 4d 47 41 31 55 45 43 68 4d 4d 52 47 6c 6e 61 55 4e 6c 63 6e 51 67 53 57 35 6a 4d 52 6b 77 46 77 MGA1UEChMMRGlnaUNlcnQgSW5jMRkwFw
1c4a80 59 44 56 51 51 4c 45 78 42 33 0a 64 33 63 75 5a 47 6c 6e 61 57 4e 6c 63 6e 51 75 59 32 39 74 4d YDVQQLExB3.d3cuZGlnaWNlcnQuY29tM
1c4aa0 53 45 77 48 77 59 44 56 51 51 44 45 78 68 45 61 57 64 70 51 32 56 79 64 43 42 55 63 6e 56 7a 64 SEwHwYDVQQDExhEaWdpQ2VydCBUcnVzd
1c4ac0 47 56 6b 49 46 4a 76 62 33 51 67 52 7a 51 77 67 67 49 69 4d 41 30 47 0a 43 53 71 47 53 49 62 33 GVkIFJvb3QgRzQwggIiMA0G.CSqGSIb3
1c4ae0 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 2f 35 70 42 7a DQEBAQUAA4ICDwAwggIKAoICAQC/5pBz
1c4b00 61 4e 36 37 35 46 31 4b 50 44 41 69 4d 47 6b 7a 37 4d 4b 6e 4a 53 37 4a 49 54 33 79 69 74 68 5a aN675F1KPDAiMGkz7MKnJS7JIT3yithZ
1c4b20 77 75 45 70 0a 70 7a 31 59 71 33 61 61 7a 61 35 37 47 34 51 4e 78 44 41 66 38 78 75 6b 4f 42 62 wuEp.pz1Yq3aaza57G4QNxDAf8xukOBb
1c4b40 72 56 73 61 58 62 52 32 72 73 6e 6e 79 79 68 48 53 35 46 2f 57 42 54 78 53 44 31 49 66 78 70 34 rVsaXbR2rsnnyyhHS5F/WBTxSD1Ifxp4
1c4b60 56 70 58 36 2b 6e 36 6c 58 46 6c 6c 56 63 71 39 6f 0a 6b 33 44 43 73 72 70 31 6d 57 70 7a 4d 70 VpX6+n6lXFllVcq9o.k3DCsrp1mWpzMp
1c4b80 54 52 45 45 51 51 4c 74 2b 43 38 77 65 45 35 6e 51 37 62 58 48 69 4c 51 77 62 37 69 44 56 79 53 TREEQQLt+C8weE5nQ7bXHiLQwb7iDVyS
1c4ba0 41 64 59 79 6b 74 7a 75 78 65 54 73 69 54 2b 43 46 68 6d 7a 54 72 42 63 5a 65 37 46 73 61 0a 76 AdYyktzuxeTsiT+CFhmzTrBcZe7Fsa.v
1c4bc0 4f 76 4a 7a 38 32 73 4e 45 42 66 73 58 70 6d 37 6e 66 49 53 4b 68 6d 56 31 65 66 56 46 69 4f 44 OvJz82sNEBfsXpm7nfISKhmV1efVFiOD
1c4be0 43 75 33 54 36 63 77 32 56 62 75 79 6e 74 64 34 36 33 4a 54 31 37 6c 4e 65 63 78 79 39 71 54 58 Cu3T6cw2Vbuyntd463JT17lNecxy9qTX
1c4c00 74 79 4f 6a 34 44 61 74 70 47 59 0a 51 4a 42 35 77 33 6a 48 74 72 48 45 74 57 6f 59 4f 41 4d 51 tyOj4DatpGY.QJB5w3jHtrHEtWoYOAMQ
1c4c20 6a 64 6a 55 4e 36 51 75 42 58 32 49 39 59 49 2b 45 4a 46 77 71 31 57 43 51 54 4c 58 32 77 52 7a jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRz
1c4c40 4b 6d 36 52 41 58 77 68 54 4e 53 38 72 68 73 44 64 56 31 34 5a 74 6b 36 0a 4d 55 53 61 4d 30 43 Km6RAXwhTNS8rhsDdV14Ztk6.MUSaM0C
1c4c60 2f 43 4e 64 61 53 61 54 43 35 71 6d 67 5a 39 32 6b 4a 37 79 68 54 7a 6d 31 45 56 67 58 39 79 52 /CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yR
1c4c80 63 52 6f 39 6b 39 38 46 70 69 48 61 59 64 6a 31 5a 58 55 4a 32 68 34 6d 58 61 58 70 49 38 4f 43 cRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OC
1c4ca0 69 45 68 74 6d 0a 6d 6e 54 4b 33 6b 73 65 35 77 35 6a 72 75 62 55 37 35 4b 53 4f 70 34 39 33 41 iEhtm.mnTK3kse5w5jrubU75KSOp493A
1c4cc0 44 6b 52 53 57 4a 74 70 70 45 47 53 74 2b 77 4a 53 30 30 6d 46 74 36 7a 50 5a 78 64 39 4c 42 41 DkRSWJtppEGSt+wJS00mFt6zPZxd9LBA
1c4ce0 44 4d 66 52 79 56 77 34 2f 33 49 62 4b 79 45 62 65 37 0a 66 2f 4c 56 6a 48 41 73 51 57 43 71 73 DMfRyVw4/3IbKyEbe7.f/LVjHAsQWCqs
1c4d00 57 4d 59 52 4a 55 61 64 6d 4a 2b 39 6f 43 77 2b 2b 68 6b 70 6a 50 52 69 51 66 68 76 62 66 6d 51 WMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ
1c4d20 36 51 59 75 4b 5a 33 41 65 45 50 6c 41 77 68 48 62 4a 55 4b 53 57 4a 62 4f 55 4f 55 6c 46 48 0a 6QYuKZ3AeEPlAwhHbJUKSWJbOUOUlFH.
1c4d40 64 4c 34 6d 72 4c 5a 42 64 64 35 36 72 46 2b 4e 50 38 6d 38 30 30 45 52 45 6c 76 6c 45 46 44 72 dL4mrLZBdd56rF+NP8m800ERElvlEFDr
1c4d60 4d 63 58 4b 63 68 59 69 43 64 39 38 54 48 55 2f 59 2b 77 68 58 38 51 67 55 57 74 76 73 61 75 47 McXKchYiCd98THU/Y+whX8QgUWtvsauG
1c4d80 69 30 2f 43 31 6b 56 66 6e 53 44 38 0a 6f 52 37 46 77 49 2b 69 73 58 34 4b 4a 70 6e 31 35 47 6b i0/C1kVfnSD8.oR7FwI+isX4KJpn15Gk
1c4da0 76 6d 42 30 74 39 64 6d 70 73 68 33 6c 47 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e vmB0t9dmpsh3lGwIDAQABo0IwQDAPBgN
1c4dc0 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 0a 44 77 45 42 2f 77 VHRMBAf8EBTADAQH/MA4GA1Ud.DwEB/w
1c4de0 51 45 41 77 49 42 68 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 37 4e 66 6a 67 74 4a 78 58 57 QEAwIBhjAdBgNVHQ4EFgQU7NfjgtJxXW
1c4e00 52 4d 33 79 35 6e 50 2b 65 36 6d 4b 34 63 44 30 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 RM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQ
1c4e20 45 4d 42 51 41 44 0a 67 67 49 42 41 4c 74 68 32 58 32 70 62 4c 34 58 78 4a 45 62 77 36 47 69 41 EMBQAD.ggIBALth2X2pbL4XxJEbw6GiA
1c4e40 49 33 6a 5a 47 67 50 56 73 39 33 72 6e 44 35 2f 5a 70 4b 6d 62 6e 4a 65 46 77 4d 44 46 2f 6b 35 I3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5
1c4e60 68 51 70 56 67 73 32 53 56 31 45 59 2b 43 74 6e 4a 59 59 0a 5a 68 73 6a 44 54 31 35 36 57 31 72 hQpVgs2SV1EY+CtnJYY.ZhsjDT156W1r
1c4e80 31 6c 54 34 30 6a 7a 42 51 30 43 75 48 56 44 31 55 76 79 51 4f 37 75 59 6d 57 6c 72 78 38 47 6e 1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8Gn
1c4ea0 71 47 69 6b 4a 39 79 64 2b 53 65 75 4d 49 57 35 39 6d 64 4e 4f 6a 36 50 57 54 6b 69 55 30 54 72 qGikJ9yd+SeuMIW59mdNOj6PWTkiU0Tr
1c4ec0 0a 79 46 30 44 79 75 31 51 65 6e 31 69 49 51 71 41 79 48 4e 6d 30 61 41 46 59 46 2f 6f 70 62 53 .yF0Dyu1Qen1iIQqAyHNm0aAFYF/opbS
1c4ee0 6e 72 36 6a 33 62 54 57 63 66 46 71 4b 31 71 49 34 6d 66 4e 34 69 2f 52 4e 30 69 41 4c 33 67 54 nr6j3bTWcfFqK1qI4mfN4i/RN0iAL3gT
1c4f00 75 6a 4a 74 48 67 58 49 4e 77 42 51 79 0a 37 7a 42 5a 4c 71 37 67 63 66 4a 57 35 47 71 58 62 35 ujJtHgXINwBQy.7zBZLq7gcfJW5GqXb5
1c4f20 4a 51 62 5a 61 4e 61 48 71 61 73 6a 59 55 65 67 62 79 4a 4c 6b 4a 45 56 44 58 43 4c 47 34 69 58 JQbZaNaHqasjYUegbyJLkJEVDXCLG4iX
1c4f40 71 45 49 32 46 43 4b 65 57 6a 7a 61 49 67 51 64 66 52 6e 47 54 5a 36 69 61 68 0a 69 78 54 58 54 qEI2FCKeWjzaIgQdfRnGTZ6iah.ixTXT
1c4f60 42 6d 79 55 45 46 78 50 54 39 4e 63 43 4f 47 44 45 72 63 67 64 4c 4d 4d 70 53 45 44 51 67 4a 6c BmyUEFxPT9NcCOGDErcgdLMMpSEDQgJl
1c4f80 78 78 50 77 4f 35 72 49 48 51 77 30 75 41 35 4e 42 43 46 49 52 55 42 43 4f 68 56 4d 74 35 78 53 xxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xS
1c4fa0 64 6b 6f 46 31 42 4e 0a 35 72 35 4e 30 58 57 73 30 4d 72 37 51 62 68 44 70 61 72 54 77 77 56 45 dkoF1BN.5r5N0XWs0Mr7QbhDparTwwVE
1c4fc0 54 79 77 32 6d 2b 4c 36 34 6b 57 34 49 31 4e 73 42 6d 39 6e 56 58 39 47 74 55 77 2f 62 69 68 61 Tyw2m+L64kW4I1NsBm9nVX9GtUw/biha
1c4fe0 65 53 62 53 70 4b 68 69 6c 39 49 65 34 75 31 4b 69 37 77 62 0a 2f 55 64 4b 44 64 39 6e 5a 6e 36 eSbSpKhil9Ie4u1Ki7wb./UdKDd9nZn6
1c5000 79 57 30 48 51 4f 2b 54 30 4f 2f 51 45 59 2b 6e 76 77 6c 51 41 55 61 43 4b 4b 73 6e 4f 65 4d 7a yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMz
1c5020 56 36 6f 63 45 47 4c 50 4f 72 30 6d 49 72 2f 4f 53 6d 62 61 7a 35 6d 45 50 30 6f 55 41 35 31 41 V6ocEGLPOr0mIr/OSmbaz5mEP0oUA51A
1c5040 61 0a 35 42 75 56 6e 52 6d 68 75 5a 79 78 6d 37 45 41 48 75 2f 51 44 30 39 43 62 4d 6b 4b 76 4f a.5BuVnRmhuZyxm7EAHu/QD09CbMkKvO
1c5060 35 44 2b 6a 70 78 70 63 68 4e 4a 71 55 31 2f 59 6c 64 76 49 56 69 48 54 4c 53 6f 43 74 55 37 5a 5D+jpxpchNJqU1/YldvIViHTLSoCtU7Z
1c5080 70 58 77 64 76 36 45 4d 38 5a 74 34 74 4b 0a 47 34 38 42 74 69 65 56 55 2b 69 32 69 57 31 62 76 pXwdv6EM8Zt4tK.G48BtieVU+i2iW1bv
1c50a0 47 6a 55 49 2b 69 4c 55 61 4a 57 2b 66 43 6d 67 4b 44 57 48 72 4f 38 44 77 39 54 64 53 6d 71 36 GjUI+iLUaJW+fCmgKDWHrO8Dw9TdSmq6
1c50c0 68 4e 33 35 4e 36 4d 67 53 47 74 42 78 42 48 45 61 32 48 50 51 66 52 64 62 7a 50 0a 38 32 5a 2b hN35N6MgSGtBxBHEa2HPQfRdbzP.82Z+
1c50e0 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 4f 4d 4f .-----END.CERTIFICATE-----..COMO
1c5100 44 4f 20 52 53 41 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a 3d DO.RSA.Certification.Authority.=
1c5120 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1c5140 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 =.-----BEGIN.CERTIFICATE-----.MI
1c5160 49 46 32 44 43 43 41 38 43 67 41 77 49 42 41 67 49 51 54 4b 72 35 79 74 74 6a 62 2b 41 66 39 30 IF2DCCA8CgAwIBAgIQTKr5yttjb+Af90
1c5180 37 59 57 77 4f 47 6e 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 46 41 44 43 42 68 54 7YWwOGnTANBgkqhkiG9w0BAQwFADCBhT
1c51a0 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 52 30 49 78 47 7a 41 5a 42 67 4e 56 42 41 67 54 45 ELMAkGA1UE.BhMCR0IxGzAZBgNVBAgTE
1c51c0 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 68 6c 63 33 52 6c 63 6a 45 51 4d 41 34 47 41 kdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA
1c51e0 31 55 45 42 78 4d 48 55 32 46 73 5a 6d 39 79 5a 44 45 61 4d 42 67 47 0a 41 31 55 45 43 68 4d 52 1UEBxMHU2FsZm9yZDEaMBgG.A1UEChMR
1c5200 51 30 39 4e 54 30 52 50 49 45 4e 42 49 45 78 70 62 57 6c 30 5a 57 51 78 4b 7a 41 70 42 67 4e 56 Q09NT0RPIENBIExpbWl0ZWQxKzApBgNV
1c5220 42 41 4d 54 49 6b 4e 50 54 55 39 45 54 79 42 53 55 30 45 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh
1c5240 64 47 6c 76 0a 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d 54 41 77 4d 54 45 dGlv.biBBdXRob3JpdHkwHhcNMTAwMTE
1c5260 35 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 34 4d 6a 4d 31 4f 54 55 35 57 6a 43 5MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjC
1c5280 42 68 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 52 30 49 78 47 7a 41 5a 42 67 4e 56 42 41 BhTELMAkGA1UEBhMC.R0IxGzAZBgNVBA
1c52a0 67 54 45 6b 64 79 5a 57 46 30 5a 58 49 67 54 57 46 75 59 32 68 6c 63 33 52 6c 63 6a 45 51 4d 41 gTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA
1c52c0 34 47 41 31 55 45 42 78 4d 48 55 32 46 73 5a 6d 39 79 5a 44 45 61 4d 42 67 47 41 31 55 45 0a 43 4GA1UEBxMHU2FsZm9yZDEaMBgGA1UE.C
1c52e0 68 4d 52 51 30 39 4e 54 30 52 50 49 45 4e 42 49 45 78 70 62 57 6c 30 5a 57 51 78 4b 7a 41 70 42 hMRQ09NT0RPIENBIExpbWl0ZWQxKzApB
1c5300 67 4e 56 42 41 4d 54 49 6b 4e 50 54 55 39 45 54 79 42 53 55 30 45 67 51 32 56 79 64 47 6c 6d 61 gNVBAMTIkNPTU9ETyBSU0EgQ2VydGlma
1c5320 57 4e 68 64 47 6c 76 62 69 42 42 0a 64 58 52 6f 62 33 4a 70 64 48 6b 77 67 67 49 69 4d 41 30 47 WNhdGlvbiBB.dXRob3JpdHkwggIiMA0G
1c5340 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 CSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
1c5360 41 51 43 52 36 46 53 53 30 67 70 57 73 61 77 4e 4a 4e 33 46 7a 30 52 6e 0a 64 4a 6b 72 4e 36 4e AQCR6FSS0gpWsawNJN3Fz0Rn.dJkrN6N
1c5380 39 49 33 41 41 63 62 78 54 33 38 54 36 4b 68 4b 50 53 33 38 51 56 72 32 66 63 48 4b 33 59 58 2f 9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/
1c53a0 4a 53 77 38 58 70 7a 33 6a 73 41 52 68 37 76 38 52 6c 38 66 30 68 6a 34 4b 2b 6a 35 63 2b 5a 50 JSw8Xpz3jsARh7v8Rl8f0hj4K+j5c+ZP
1c53c0 6d 4e 48 72 5a 0a 46 47 76 6e 6e 4c 4f 46 6f 49 4a 36 64 71 39 78 6b 4e 66 73 2f 51 33 36 6e 47 mNHrZ.FGvnnLOFoIJ6dq9xkNfs/Q36nG
1c53e0 7a 36 33 37 43 43 39 42 52 2b 2b 62 37 45 70 69 39 50 66 35 6c 2f 74 66 78 6e 51 33 4b 39 44 41 z637CC9BR++b7Epi9Pf5l/tfxnQ3K9DA
1c5400 44 57 69 65 74 72 4c 4e 50 74 6a 35 67 63 46 4b 74 2b 0a 35 65 4e 75 2f 4e 69 6f 35 4a 49 6b 32 DWietrLNPtj5gcFKt+.5eNu/Nio5JIk2
1c5420 6b 4e 72 59 72 68 56 2f 65 72 42 76 47 79 32 69 2f 4d 4f 6a 5a 72 6b 6d 32 78 70 6d 66 68 34 53 kNrYrhV/erBvGy2i/MOjZrkm2xpmfh4S
1c5440 44 42 46 31 61 33 68 44 54 78 46 59 50 77 79 6c 6c 45 6e 76 47 66 44 79 69 36 32 61 2b 70 47 0a DBF1a3hDTxFYPwyllEnvGfDyi62a+pG.
1c5460 78 38 63 67 6f 4c 45 66 5a 64 35 49 43 4c 71 6b 54 71 6e 79 67 30 59 33 68 4f 76 6f 7a 49 46 49 x8cgoLEfZd5ICLqkTqnyg0Y3hOvozIFI
1c5480 51 32 64 4f 63 69 71 62 58 4c 31 4d 47 79 69 4b 58 43 4a 37 74 4b 75 59 32 65 37 67 55 59 50 44 Q2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPD
1c54a0 43 55 5a 4f 62 54 36 5a 2b 70 55 58 0a 32 6e 77 7a 56 30 45 38 6a 56 48 74 43 37 5a 63 72 79 78 CUZObT6Z+pUX.2nwzV0E8jVHtC7Zcryx
1c54c0 6a 47 74 39 58 79 44 2b 38 36 56 33 45 6d 36 39 46 6d 65 4b 6a 57 69 53 30 75 71 6c 57 50 63 39 jGt9XyD+86V3Em69FmeKjWiS0uqlWPc9
1c54e0 76 71 76 39 4a 57 4c 37 77 71 50 2f 30 75 4b 33 70 4e 2f 75 36 75 50 51 4c 0a 4f 76 6e 6f 51 30 vqv9JWL7wqP/0uK3pN/u6uPQL.OvnoQ0
1c5500 49 65 69 64 69 45 79 78 50 78 32 62 76 68 69 57 43 34 6a 43 68 57 72 42 51 64 6e 41 72 6e 63 65 IeidiEyxPx2bvhiWC4jChWrBQdnArnce
1c5520 76 50 44 74 30 39 71 5a 61 68 53 4c 30 38 39 36 2b 31 44 53 4a 4d 77 42 47 42 37 46 59 37 39 74 vPDt09qZahSL0896+1DSJMwBGB7FY79t
1c5540 4f 69 34 6c 75 33 0a 73 67 51 69 55 70 57 41 6b 32 6e 6f 6a 6b 78 6c 38 5a 45 44 4c 58 42 30 41 Oi4lu3.sgQiUpWAk2nojkxl8ZEDLXB0A
1c5560 75 71 4c 5a 78 55 70 61 56 49 43 75 39 66 66 55 47 70 56 52 72 2b 67 6f 79 68 68 66 33 44 51 77 uqLZxUpaVICu9ffUGpVRr+goyhhf3DQw
1c5580 36 4b 71 4c 43 47 71 52 38 34 6f 6e 41 5a 46 64 72 2b 43 0a 47 43 65 30 31 61 36 30 79 31 44 6d 6KqLCGqR84onAZFdr+C.GCe01a60y1Dm
1c55a0 61 2f 52 4d 68 6e 45 77 36 61 62 66 46 6f 62 67 32 50 39 41 33 66 76 51 51 6f 68 2f 6f 7a 4d 36 a/RMhnEw6abfFobg2P9A3fvQQoh/ozM6
1c55c0 4c 6c 77 65 51 52 47 42 59 38 34 59 63 57 73 72 37 4b 61 4b 74 7a 46 63 4f 6d 70 48 34 4d 4e 35 LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5
1c55e0 0a 57 64 59 67 47 71 2f 79 61 70 69 71 63 72 78 58 53 74 4a 4c 6e 62 73 51 2f 4c 42 4d 51 65 58 .WdYgGq/yapiqcrxXStJLnbsQ/LBMQeX
1c5600 74 48 54 31 65 4b 4a 32 63 7a 4c 2b 7a 55 64 71 6e 52 2b 57 45 55 77 49 44 41 51 41 42 6f 30 49 tHT1eKJ2czL+zUdqnR+WEUwIDAQABo0I
1c5620 77 51 44 41 64 42 67 4e 56 48 51 34 45 0a 46 67 51 55 75 36 39 2b 41 6a 33 36 70 76 45 38 68 49 wQDAdBgNVHQ4E.FgQUu69+Aj36pvE8hI
1c5640 36 74 37 6a 69 59 37 4e 6b 79 4d 74 51 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAg
1c5660 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 0a 44 51 59 4a 4b EGMA8GA1UdEwEB/wQFMAMBAf8w.DQYJK
1c5680 6f 5a 49 68 76 63 4e 41 51 45 4d 42 51 41 44 67 67 49 42 41 41 72 78 31 55 61 45 74 36 35 52 75 oZIhvcNAQEMBQADggIBAArx1UaEt65Ru
1c56a0 32 79 79 54 55 45 55 41 4a 4e 4d 6e 4d 76 6c 77 46 54 50 6f 43 57 4f 41 76 6e 39 73 4b 49 4e 39 2yyTUEUAJNMnMvlwFTPoCWOAvn9sKIN9
1c56c0 53 43 59 50 42 4d 74 0a 72 46 61 69 73 4e 5a 2b 45 5a 4c 70 4c 72 71 65 4c 70 70 79 73 62 30 5a SCYPBMt.rFaisNZ+EZLpLrqeLppysb0Z
1c56e0 52 47 78 68 4e 61 4b 61 74 42 59 53 61 56 71 4d 34 64 63 2b 70 42 72 6f 4c 77 50 30 72 6d 45 64 RGxhNaKatBYSaVqM4dc+pBroLwP0rmEd
1c5700 45 42 73 71 70 49 74 36 78 66 34 46 70 75 48 41 31 73 6a 2b 0a 6e 71 36 50 4b 37 6f 39 6d 66 6a EBsqpIt6xf4FpuHA1sj+.nq6PK7o9mfj
1c5720 59 63 77 6c 59 52 6d 36 6d 6e 50 54 58 4a 39 4f 56 32 6a 65 44 63 68 7a 54 63 2b 43 69 52 35 6b YcwlYRm6mnPTXJ9OV2jeDchzTc+CiR5k
1c5740 44 4f 46 33 56 53 58 6b 41 4b 52 7a 48 37 4a 73 67 48 41 63 6b 61 56 64 34 73 6a 6e 38 4f 6f 53 DOF3VSXkAKRzH7JsgHAckaVd4sjn8OoS
1c5760 67 0a 74 5a 78 38 6a 62 38 75 6b 32 49 6e 74 7a 6e 61 46 78 69 75 76 54 77 4a 61 50 2b 45 6d 7a g.tZx8jb8uk2IntznaFxiuvTwJaP+Emz
1c5780 7a 56 31 67 73 44 34 31 65 65 46 50 66 52 36 30 2f 49 76 59 63 6a 74 37 5a 4a 51 33 6d 46 58 4c zV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXL
1c57a0 72 72 6b 67 75 68 78 75 68 6f 71 45 77 57 0a 73 52 71 5a 43 75 68 54 4c 4a 4b 37 6f 51 6b 59 64 rrkguhxuhoqEwW.sRqZCuhTLJK7oQkYd
1c57c0 51 78 6c 71 48 76 4c 49 37 63 61 77 69 69 46 77 78 76 2f 30 43 74 69 37 36 52 37 43 5a 47 59 5a QxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ
1c57e0 34 77 55 41 63 31 6f 42 6d 70 6a 49 58 55 44 67 49 69 4b 62 6f 48 47 68 66 4b 70 0a 70 43 33 6e 4wUAc1oBmpjIXUDgIiKboHGhfKp.pC3n
1c5800 39 4b 55 6b 45 45 65 44 79 73 33 30 6a 58 6c 59 73 51 61 62 35 78 6f 71 32 5a 30 42 31 35 52 39 9KUkEEeDys30jXlYsQab5xoq2Z0B15R9
1c5820 37 51 4e 4b 79 76 44 62 36 4b 6b 42 50 76 56 57 6d 63 6b 65 6a 6b 6b 39 75 2b 55 4a 75 65 42 50 7QNKyvDb6KkBPvVWmckejkk9u+UJueBP
1c5840 53 5a 49 39 46 6f 4a 41 0a 7a 4d 78 5a 78 75 59 36 37 52 49 75 61 54 78 73 6c 62 48 39 71 68 31 SZI9FoJA.zMxZxuY67RIuaTxslbH9qh1
1c5860 37 66 34 61 2b 48 67 34 79 52 76 76 37 45 34 39 31 66 30 79 4c 53 30 5a 6a 2f 67 41 30 51 48 44 7f4a+Hg4yRvv7E491f0yLS0Zj/gA0QHD
1c5880 42 77 37 6d 68 33 61 5a 77 34 67 53 7a 51 62 7a 70 67 4a 48 71 0a 5a 4a 78 36 34 53 49 44 71 5a Bw7mh3aZw4gSzQbzpgJHq.ZJx64SIDqZ
1c58a0 78 75 62 77 35 6c 54 32 79 48 68 31 37 7a 62 71 44 35 64 61 57 62 51 4f 68 54 73 69 65 64 53 72 xubw5lT2yHh17zbqD5daWbQOhTsiedSr
1c58c0 6e 41 64 79 47 4e 2f 34 66 79 33 72 79 4d 37 78 66 66 74 30 6b 4c 30 66 4a 75 4d 41 73 61 44 6b nAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk
1c58e0 35 32 0a 37 52 48 38 39 65 6c 57 73 6e 32 2f 78 32 30 4b 6b 34 79 6c 30 4d 43 32 48 62 34 36 54 52.7RH89elWsn2/x20Kk4yl0MC2Hb46T
1c5900 70 53 69 31 32 35 73 43 38 4b 4b 66 50 6f 67 38 38 54 6b 35 63 30 4e 71 4d 75 52 6b 72 46 38 68 pSi125sC8KKfPog88Tk5c0NqMuRkrF8h
1c5920 65 79 31 46 47 6c 6d 44 6f 4c 6e 7a 63 37 49 0a 4c 61 5a 52 66 79 48 42 4e 56 4f 46 42 6b 70 64 ey1FGlmDoLnzc7I.LaZRfyHBNVOFBkpd
1c5940 6e 36 32 37 47 31 39 30 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d n627G190.-----END.CERTIFICATE---
1c5960 2d 2d 0a 0a 55 53 45 52 54 72 75 73 74 20 52 53 41 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 --..USERTrust.RSA.Certification.
1c5980 41 75 74 68 6f 72 69 74 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Authority.======================
1c59a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 ===============.-----BEGIN.CERTI
1c59c0 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 33 6a 43 43 41 38 61 67 41 77 49 42 41 67 49 51 FICATE-----.MIIF3jCCA8agAwIBAgIQ
1c59e0 41 66 31 74 4d 50 79 6a 79 6c 47 6f 47 37 78 6b 44 6a 55 44 4c 54 41 4e 42 67 6b 71 68 6b 69 47 Af1tMPyjylGoG7xkDjUDLTANBgkqhkiG
1c5a00 39 77 30 42 41 51 77 46 41 44 43 42 69 44 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 9w0BAQwFADCBiDELMAkGA1UE.BhMCVVM
1c5a20 78 45 7a 41 52 42 67 4e 56 42 41 67 54 43 6b 35 6c 64 79 42 4b 5a 58 4a 7a 5a 58 6b 78 46 44 41 xEzARBgNVBAgTCk5ldyBKZXJzZXkxFDA
1c5a40 53 42 67 4e 56 42 41 63 54 43 30 70 6c 63 6e 4e 6c 65 53 42 44 61 58 52 35 4d 52 34 77 48 41 59 SBgNVBAcTC0plcnNleSBDaXR5MR4wHAY
1c5a60 44 56 51 51 4b 0a 45 78 56 55 61 47 55 67 56 56 4e 46 55 6c 52 53 56 56 4e 55 49 45 35 6c 64 48 DVQQK.ExVUaGUgVVNFUlRSVVNUIE5ldH
1c5a80 64 76 63 6d 73 78 4c 6a 41 73 42 67 4e 56 42 41 4d 54 4a 56 56 54 52 56 4a 55 63 6e 56 7a 64 43 dvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdC
1c5aa0 42 53 55 30 45 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 0a 64 47 6c 76 62 69 42 42 64 58 52 6f 62 BSU0EgQ2VydGlmaWNh.dGlvbiBBdXRob
1c5ac0 33 4a 70 64 48 6b 77 48 68 63 4e 4d 54 41 77 4d 6a 41 78 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 3JpdHkwHhcNMTAwMjAxMDAwMDAwWhcNM
1c5ae0 7a 67 77 4d 54 45 34 4d 6a 4d 31 4f 54 55 35 57 6a 43 42 69 44 45 4c 4d 41 6b 47 41 31 55 45 0a zgwMTE4MjM1OTU5WjCBiDELMAkGA1UE.
1c5b00 42 68 4d 43 56 56 4d 78 45 7a 41 52 42 67 4e 56 42 41 67 54 43 6b 35 6c 64 79 42 4b 5a 58 4a 7a BhMCVVMxEzARBgNVBAgTCk5ldyBKZXJz
1c5b20 5a 58 6b 78 46 44 41 53 42 67 4e 56 42 41 63 54 43 30 70 6c 63 6e 4e 6c 65 53 42 44 61 58 52 35 ZXkxFDASBgNVBAcTC0plcnNleSBDaXR5
1c5b40 4d 52 34 77 48 41 59 44 56 51 51 4b 0a 45 78 56 55 61 47 55 67 56 56 4e 46 55 6c 52 53 56 56 4e MR4wHAYDVQQK.ExVUaGUgVVNFUlRSVVN
1c5b60 55 49 45 35 6c 64 48 64 76 63 6d 73 78 4c 6a 41 73 42 67 4e 56 42 41 4d 54 4a 56 56 54 52 56 4a UIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJ
1c5b80 55 63 6e 56 7a 64 43 42 53 55 30 45 67 51 32 56 79 64 47 6c 6d 61 57 4e 68 0a 64 47 6c 76 62 69 UcnVzdCBSU0EgQ2VydGlmaWNh.dGlvbi
1c5ba0 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 BBdXRob3JpdHkwggIiMA0GCSqGSIb3DQ
1c5bc0 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 41 45 6d 55 58 4e 67 EBAQUAA4ICDwAwggIKAoICAQCAEmUXNg
1c5be0 37 44 32 77 69 7a 0a 30 4b 78 58 44 58 62 74 7a 53 66 54 54 4b 31 51 67 32 48 69 71 69 42 4e 43 7D2wiz.0KxXDXbtzSfTTK1Qg2HiqiBNC
1c5c00 53 31 6b 43 64 7a 4f 69 5a 2f 4d 50 61 6e 73 39 73 2f 42 33 50 48 54 73 64 5a 37 4e 79 67 52 4b S1kCdzOiZ/MPans9s/B3PHTsdZ7NygRK
1c5c20 30 66 61 4f 63 61 38 4f 68 6d 30 58 36 61 39 66 5a 32 6a 0a 59 30 4b 32 64 76 4b 70 4f 79 75 52 0faOca8Ohm0X6a9fZ2j.Y0K2dvKpOyuR
1c5c40 2b 4f 4a 76 30 4f 77 57 49 4a 41 4a 50 75 4c 6f 64 4d 6b 59 74 4a 48 55 59 6d 54 62 66 36 4d 47 +OJv0OwWIJAJPuLodMkYtJHUYmTbf6MG
1c5c60 38 59 67 59 61 70 41 69 50 4c 7a 2b 45 2f 43 48 46 48 76 32 35 42 2b 4f 31 4f 52 52 78 68 46 6e 8YgYapAiPLz+E/CHFHv25B+O1ORRxhFn
1c5c80 0a 52 67 68 52 79 34 59 55 56 44 2b 38 4d 2f 35 2b 62 4a 7a 2f 46 70 30 59 76 56 47 4f 4e 61 61 .RghRy4YUVD+8M/5+bJz/Fp0YvVGONaa
1c5ca0 6e 5a 73 68 79 5a 39 73 68 5a 72 48 55 6d 33 67 44 77 46 41 36 36 4d 7a 77 33 4c 79 65 54 50 36 nZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6
1c5cc0 76 42 5a 59 31 48 31 64 61 74 2f 2f 4f 0a 2b 54 32 33 4c 4c 62 32 56 4e 33 49 35 78 49 36 54 61 vBZY1H1dat//O.+T23LLb2VN3I5xI6Ta
1c5ce0 35 4d 69 72 64 63 6d 72 53 33 49 44 33 4b 66 79 49 30 72 6e 34 37 61 47 59 42 52 4f 63 42 54 6b 5MirdcmrS3ID3KfyI0rn47aGYBROcBTk
1c5d00 5a 54 6d 7a 4e 67 39 35 53 2b 55 7a 65 51 63 30 50 7a 4d 73 4e 54 37 39 75 71 0a 2f 6e 52 4f 61 ZTmzNg95S+UzeQc0PzMsNT79uq./nROa
1c5d20 63 64 72 6a 47 43 54 33 73 54 48 44 4e 2f 68 4d 71 37 4d 6b 7a 74 52 65 4a 56 6e 69 2b 34 39 56 cdrjGCT3sTHDN/hMq7MkztReJVni+49V
1c5d40 76 34 4d 30 47 6b 50 47 77 2f 7a 4a 53 5a 72 4d 32 33 33 62 6b 66 36 63 30 50 6c 66 67 36 6c 5a v4M0GkPGw/zJSZrM233bkf6c0Plfg6lZ
1c5d60 72 45 70 66 44 4b 45 0a 59 31 57 4a 78 41 33 42 6b 31 51 77 47 52 4f 73 30 33 30 33 70 2b 74 64 rEpfDKE.Y1WJxA3Bk1QwGROs0303p+td
1c5d80 4f 6d 77 31 58 4e 74 42 31 78 4c 61 71 55 6b 4c 33 39 69 41 69 67 6d 54 59 6f 36 31 5a 73 38 6c Omw1XNtB1xLaqUkL39iAigmTYo61Zs8l
1c5da0 69 4d 32 45 75 4c 45 2f 70 44 6b 50 32 51 4b 65 36 78 4a 4d 0a 6c 58 7a 7a 61 77 57 70 58 68 61 iM2EuLE/pDkP2QKe6xJM.lXzzawWpXha
1c5dc0 44 7a 4c 68 6e 34 75 67 54 6e 63 78 62 67 74 4e 4d 73 2b 31 62 2f 39 37 6c 63 36 77 6a 4f 79 30 DzLhn4ugTncxbgtNMs+1b/97lc6wjOy0
1c5de0 41 76 7a 56 56 64 41 6c 4a 32 45 6c 59 47 6e 2b 53 4e 75 5a 52 6b 67 37 7a 4a 6e 30 63 54 52 65 AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe
1c5e00 38 0a 79 65 78 44 4a 74 43 2f 51 56 39 41 71 55 52 45 39 4a 6e 6e 56 34 65 65 55 42 39 58 56 4b 8.yexDJtC/QV9AqURE9JnnV4eeUB9XVK
1c5e20 67 2b 2f 58 52 6a 4c 37 46 51 5a 51 6e 6d 57 45 49 75 51 78 70 4d 74 50 41 6c 52 31 6e 36 42 42 g+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB
1c5e40 36 54 31 43 5a 47 53 6c 43 42 73 74 36 2b 0a 65 4c 66 38 5a 78 58 68 79 56 65 45 48 67 39 6a 31 6T1CZGSlCBst6+.eLf8ZxXhyVeEHg9j1
1c5e60 75 6c 69 75 74 5a 66 56 53 37 71 58 4d 59 6f 43 41 51 6c 4f 62 67 4f 4b 36 6e 79 54 4a 63 63 42 uliutZfVS7qXMYoCAQlObgOK6nyTJccB
1c5e80 7a 38 4e 55 76 58 74 37 79 2b 43 44 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 64 0a 42 67 4e 56 z8NUvXt7y+CDwIDAQABo0IwQDAd.BgNV
1c5ea0 48 51 34 45 46 67 51 55 55 33 6d 2f 57 71 6f 72 53 73 39 55 67 4f 48 59 6d 38 43 64 38 72 49 44 HQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rID
1c5ec0 5a 73 73 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 ZsswDgYDVR0PAQH/BAQDAgEGMA8GA1Ud
1c5ee0 45 77 45 42 2f 77 51 46 0a 4d 41 4d 42 41 66 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 EwEB/wQF.MAMBAf8wDQYJKoZIhvcNAQE
1c5f00 4d 42 51 41 44 67 67 49 42 41 46 7a 55 66 41 33 50 39 77 46 39 51 5a 6c 6c 44 48 50 46 55 70 2f MBQADggIBAFzUfA3P9wF9QZllDHPFUp/
1c5f20 4c 2b 4d 2b 5a 42 6e 38 62 32 6b 4d 56 6e 35 34 43 56 56 65 57 0a 46 50 46 53 50 43 65 48 6c 43 L+M+ZBn8b2kMVn54CVVeW.FPFSPCeHlC
1c5f40 6a 74 48 7a 6f 42 4e 36 4a 32 2f 46 4e 51 77 49 53 62 78 6d 74 4f 75 6f 77 68 54 36 4b 4f 56 57 jtHzoBN6J2/FNQwISbxmtOuowhT6KOVW
1c5f60 4b 52 38 32 6b 56 32 4c 79 49 34 38 53 71 43 2f 33 76 71 4f 6c 4c 56 53 6f 47 49 47 31 56 65 43 KR82kV2LyI48SqC/3vqOlLVSoGIG1VeC
1c5f80 6b 5a 0a 37 6c 38 77 58 45 73 6b 45 56 58 2f 4a 4a 70 75 58 69 6f 72 37 67 74 4e 6e 33 2f 33 41 kZ.7l8wXEskEVX/JJpuXior7gtNn3/3A
1c5fa0 54 69 55 46 4a 56 44 42 77 6e 37 59 4b 6e 75 48 4b 73 53 6a 4b 43 61 58 71 65 59 61 6c 6c 74 69 TiUFJVDBwn7YKnuHKsSjKCaXqeYallti
1c5fc0 7a 38 49 2b 38 6a 52 52 61 38 59 46 57 53 51 0a 45 67 39 7a 4b 43 37 46 34 69 52 4f 2f 46 6a 73 z8I+8jRRa8YFWSQ.Eg9zKC7F4iRO/Fjs
1c5fe0 38 50 52 46 2f 69 4b 7a 36 79 2b 4f 30 74 6c 46 59 51 58 42 6c 32 2b 6f 64 6e 4b 50 69 34 77 32 8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2
1c6000 72 37 38 4e 42 63 35 78 6a 65 61 6d 62 78 39 73 70 6e 46 69 78 64 6a 51 67 33 49 4d 0a 38 57 63 r78NBc5xjeambx9spnFixdjQg3IM.8Wc
1c6020 52 69 51 79 63 45 30 78 79 4e 4e 2b 38 31 58 48 66 71 6e 48 64 34 62 6c 73 6a 44 77 53 58 57 58 RiQycE0xyNN+81XHfqnHd4blsjDwSXWX
1c6040 61 76 56 63 53 74 6b 4e 72 2f 2b 58 65 54 57 59 52 55 63 2b 5a 72 75 77 58 74 75 68 78 6b 59 7a avVcStkNr/+XeTWYRUc+ZruwXtuhxkYz
1c6060 65 53 66 37 64 4e 58 47 69 0a 46 53 65 55 48 4d 39 68 34 79 61 37 62 36 4e 6e 4a 53 46 64 35 74 eSf7dNXGi.FSeUHM9h4ya7b6NnJSFd5t
1c6080 30 64 43 79 35 6f 47 7a 75 43 72 2b 79 44 5a 34 58 55 6d 46 46 30 73 62 6d 5a 67 49 6e 2f 66 33 0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3
1c60a0 67 5a 58 48 6c 4b 59 43 36 53 51 4b 35 4d 4e 79 6f 73 79 63 64 69 0a 79 41 35 64 39 7a 5a 62 79 gZXHlKYC6SQK5MNyosycdi.yA5d9zZby
1c60c0 75 41 6c 4a 51 47 30 33 52 6f 48 6e 48 63 41 50 39 44 63 31 65 77 39 31 50 71 37 50 38 79 46 31 uAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1
1c60e0 6d 39 2f 71 53 33 66 75 51 4c 33 39 5a 65 61 74 54 58 61 77 32 65 77 68 30 71 70 4b 4a 34 6a 6a m9/qS3fuQL39ZeatTXaw2ewh0qpKJ4jj
1c6100 76 39 63 0a 4a 32 76 68 73 45 2f 7a 42 2b 34 41 4c 74 52 5a 68 38 74 53 51 5a 58 71 39 45 66 58 v9c.J2vhsE/zB+4ALtRZh8tSQZXq9EfX
1c6120 37 6d 52 42 56 58 79 4e 57 51 4b 56 33 57 4b 64 77 72 6e 75 57 69 68 30 68 4b 57 62 74 35 44 48 7mRBVXyNWQKV3WKdwrnuWih0hKWbt5DH
1c6140 44 41 66 66 39 59 6b 32 64 44 4c 57 4b 4d 47 77 0a 73 41 76 67 6e 45 7a 44 48 4e 62 38 34 32 6d DAff9Yk2dDLWKMGw.sAvgnEzDHNb842m
1c6160 31 52 30 61 42 4c 36 4b 43 71 39 4e 6a 52 48 44 45 6a 66 38 74 4d 37 71 74 6a 33 75 31 63 49 69 1R0aBL6KCq9NjRHDEjf8tM7qtj3u1cIi
1c6180 75 50 68 6e 50 51 43 6a 59 2f 4d 69 51 75 31 32 5a 49 76 56 53 35 6c 6a 46 48 34 67 78 0a 51 2b uPhnPQCjY/MiQu12ZIvVS5ljFH4gx.Q+
1c61a0 36 49 48 64 66 47 6a 6a 78 44 61 68 32 6e 47 4e 35 39 50 52 62 78 59 76 6e 4b 6b 4b 6a 39 0a 2d 6IHdfGjjxDah2nGN59PRbxYvnKkKj9.-
1c61c0 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 55 53 45 52 54 72 ----END.CERTIFICATE-----..USERTr
1c61e0 75 73 74 20 45 43 43 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 0a ust.ECC.Certification.Authority.
1c6200 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1c6220 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d =====.-----BEGIN.CERTIFICATE----
1c6240 2d 0a 4d 49 49 43 6a 7a 43 43 41 68 57 67 41 77 49 42 41 67 49 51 58 49 75 5a 78 56 71 55 78 64 -.MIICjzCCAhWgAwIBAgIQXIuZxVqUxd
1c6260 4a 78 56 74 37 4e 69 59 44 4d 4a 6a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 43 42 69 44 JxVt7NiYDMJjAKBggqhkjOPQQDAzCBiD
1c6280 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 56 56 4d 78 45 7a 41 52 42 67 4e 56 42 41 67 54 43 ELMAkGA1UEBhMC.VVMxEzARBgNVBAgTC
1c62a0 6b 35 6c 64 79 42 4b 5a 58 4a 7a 5a 58 6b 78 46 44 41 53 42 67 4e 56 42 41 63 54 43 30 70 6c 63 k5ldyBKZXJzZXkxFDASBgNVBAcTC0plc
1c62c0 6e 4e 6c 65 53 42 44 61 58 52 35 4d 52 34 77 48 41 59 44 56 51 51 4b 45 78 56 55 0a 61 47 55 67 nNleSBDaXR5MR4wHAYDVQQKExVU.aGUg
1c62e0 56 56 4e 46 55 6c 52 53 56 56 4e 55 49 45 35 6c 64 48 64 76 63 6d 73 78 4c 6a 41 73 42 67 4e 56 VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
1c6300 42 41 4d 54 4a 56 56 54 52 56 4a 55 63 6e 56 7a 64 43 42 46 51 30 4d 67 51 32 56 79 64 47 6c 6d BAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm
1c6320 61 57 4e 68 64 47 6c 76 0a 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 48 68 63 4e 4d 54 41 aWNhdGlv.biBBdXRob3JpdHkwHhcNMTA
1c6340 77 4d 6a 41 78 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 67 77 4d 54 45 34 4d 6a 4d 31 4f 54 55 wMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU
1c6360 35 57 6a 43 42 69 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 56 56 4d 78 45 7a 41 52 42 67 5WjCBiDELMAkGA1UEBhMC.VVMxEzARBg
1c6380 4e 56 42 41 67 54 43 6b 35 6c 64 79 42 4b 5a 58 4a 7a 5a 58 6b 78 46 44 41 53 42 67 4e 56 42 41 NVBAgTCk5ldyBKZXJzZXkxFDASBgNVBA
1c63a0 63 54 43 30 70 6c 63 6e 4e 6c 65 53 42 44 61 58 52 35 4d 52 34 77 48 41 59 44 56 51 51 4b 45 78 cTC0plcnNleSBDaXR5MR4wHAYDVQQKEx
1c63c0 56 55 0a 61 47 55 67 56 56 4e 46 55 6c 52 53 56 56 4e 55 49 45 35 6c 64 48 64 76 63 6d 73 78 4c VU.aGUgVVNFUlRSVVNUIE5ldHdvcmsxL
1c63e0 6a 41 73 42 67 4e 56 42 41 4d 54 4a 56 56 54 52 56 4a 55 63 6e 56 7a 64 43 42 46 51 30 4d 67 51 jAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ
1c6400 32 56 79 64 47 6c 6d 61 57 4e 68 64 47 6c 76 0a 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 77 2VydGlmaWNhdGlv.biBBdXRob3JpdHkw
1c6420 64 6a 41 51 42 67 63 71 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 67 4e 69 41 41 51 61 djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQa
1c6440 72 46 52 61 71 66 6c 6f 49 2b 64 36 31 53 52 76 55 38 5a 61 32 45 75 72 78 74 57 32 0a 30 65 5a rFRaqfloI+d61SRvU8Za2EurxtW2.0eZ
1c6460 7a 63 61 37 64 6e 4e 59 4d 59 66 33 62 6f 49 6b 44 75 41 55 55 37 46 66 4f 37 6c 30 2f 34 69 47 zca7dnNYMYf3boIkDuAUU7FfO7l0/4iG
1c6480 7a 7a 76 66 55 69 6e 6e 67 6f 34 4e 2b 4c 5a 66 51 59 63 54 78 6d 64 77 6c 6b 57 4f 72 66 7a 43 zzvfUinngo4N+LZfQYcTxmdwlkWOrfzC
1c64a0 6a 74 48 44 69 78 36 45 7a 0a 6e 50 4f 2f 4c 6c 78 54 73 56 2b 7a 66 54 4a 2f 69 6a 54 6a 65 58 jtHDix6Ez.nPO/LlxTsV+zfTJ/ijTjeX
1c64c0 6d 6a 51 6a 42 41 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 51 36 34 51 6d 47 31 4d 38 5a 77 70 mjQjBAMB0GA1UdDgQWBBQ64QmG1M8Zwp
1c64e0 5a 32 64 45 6c 32 33 4f 41 31 78 6d 4e 6a 6d 6a 41 4f 42 67 4e 56 0a 48 51 38 42 41 66 38 45 42 Z2dEl23OA1xmNjmjAOBgNV.HQ8BAf8EB
1c6500 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4b 42 AMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKB
1c6520 67 67 71 68 6b 6a 4f 50 51 51 44 41 77 4e 6f 41 44 42 6c 41 6a 41 32 5a 36 45 57 43 4e 7a 6b 6c ggqhkjOPQQDAwNoADBlAjA2Z6EWCNzkl
1c6540 77 42 42 0a 48 55 36 2b 34 57 4d 42 7a 7a 75 71 51 68 46 6b 6f 4a 32 55 4f 51 49 52 65 56 78 37 wBB.HU6+4WMBzzuqQhFkoJ2UOQIReVx7
1c6560 48 66 70 6b 75 65 34 57 51 72 4f 2f 69 73 49 4a 78 4f 7a 6b 73 55 30 43 4d 51 44 70 4b 6d 46 48 Hfpkue4WQrO/isIJxOzksU0CMQDpKmFH
1c6580 6a 46 4a 4b 53 30 34 59 63 50 62 57 52 4e 5a 75 0a 39 59 4f 36 62 56 69 39 4a 4e 6c 57 53 4f 72 jFJKS04YcPbWRNZu.9YO6bVi9JNlWSOr
1c65a0 76 78 4b 4a 47 67 59 68 71 4f 6b 62 52 71 5a 74 4e 79 57 48 61 30 56 31 58 61 68 67 3d 0a 2d 2d vxKJGgYhqOkbRqZtNyWHa0V1Xahg=.--
1c65c0 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6c 6f 62 61 6c 53 ---END.CERTIFICATE-----..GlobalS
1c65e0 69 67 6e 20 45 43 43 20 52 6f 6f 74 20 43 41 20 2d 20 52 34 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ign.ECC.Root.CA.-.R4.===========
1c6600 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 ================.-----BEGIN.CERT
1c6620 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 42 34 54 43 43 41 59 65 67 41 77 49 42 41 67 49 IFICATE-----.MIIB4TCCAYegAwIBAgI
1c6640 52 4b 6a 69 6b 48 4a 59 4b 42 4e 35 43 73 69 69 6c 43 2b 67 30 6d 41 49 77 43 67 59 49 4b 6f 5a RKjikHJYKBN5CsiilC+g0mAIwCgYIKoZ
1c6660 49 7a 6a 30 45 41 77 49 77 55 44 45 6b 4d 43 49 47 41 31 55 45 43 78 4d 62 0a 52 32 78 76 59 6d Izj0EAwIwUDEkMCIGA1UECxMb.R2xvYm
1c6680 46 73 55 32 6c 6e 62 69 42 46 51 30 4d 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 46 49 30 4d 52 FsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MR
1c66a0 4d 77 45 51 59 44 56 51 51 4b 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 52 4d 77 45 51 MwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQ
1c66c0 59 44 56 51 51 44 0a 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 42 34 58 44 54 45 79 4d YDVQQD.EwpHbG9iYWxTaWduMB4XDTEyM
1c66e0 54 45 78 4d 7a 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 34 4d 44 45 78 4f 54 41 7a 4d 54 51 77 4e TExMzAwMDAwMFoXDTM4MDExOTAzMTQwN
1c6700 31 6f 77 55 44 45 6b 4d 43 49 47 41 31 55 45 43 78 4d 62 0a 52 32 78 76 59 6d 46 73 55 32 6c 6e 1owUDEkMCIGA1UECxMb.R2xvYmFsU2ln
1c6720 62 69 42 46 51 30 4d 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 46 49 30 4d 52 4d 77 45 51 59 44 biBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYD
1c6740 56 51 51 4b 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 52 4d 77 45 51 59 44 56 51 51 44 VQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
1c6760 0a 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 46 6b 77 45 77 59 48 4b 6f 5a 49 7a 6a 30 .EwpHbG9iYWxTaWduMFkwEwYHKoZIzj0
1c6780 43 41 51 59 49 4b 6f 5a 49 7a 6a 30 44 41 51 63 44 51 67 41 45 75 4d 5a 35 30 34 39 73 4a 51 36 CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6
1c67a0 66 4c 6a 6b 5a 48 41 4f 6b 72 70 72 6c 0a 4f 51 63 4a 46 73 70 6a 73 62 6d 47 2b 49 70 58 77 56 fLjkZHAOkrprl.OQcJFspjsbmG+IpXwV
1c67c0 66 4f 51 76 70 7a 6f 66 64 6c 51 76 38 65 77 51 43 79 62 6e 4d 4f 2f 38 63 68 35 52 69 6b 71 74 fOQvpzofdlQv8ewQCybnMO/8ch5Rikqt
1c67e0 6c 78 50 36 6a 55 75 63 36 4d 48 61 4e 43 4d 45 41 77 44 67 59 44 56 52 30 50 0a 41 51 48 2f 42 lxP6jUuc6MHaNCMEAwDgYDVR0P.AQH/B
1c6800 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 AQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wH
1c6820 51 59 44 56 52 30 4f 42 42 59 45 46 46 53 77 65 36 31 46 75 4f 4a 41 66 2f 73 4b 62 76 75 2b 4d QYDVR0OBBYEFFSwe61FuOJAf/sKbvu+M
1c6840 38 6b 38 6f 34 54 56 0a 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 43 41 30 67 41 4d 45 55 43 8k8o4TV.MAoGCCqGSM49BAMCA0gAMEUC
1c6860 49 51 44 63 6b 71 47 67 45 36 62 50 41 37 44 6d 78 43 47 58 6b 50 6f 55 56 79 30 44 37 4f 34 38 IQDckqGgE6bPA7DmxCGXkPoUVy0D7O48
1c6880 30 32 37 4b 71 47 78 32 76 4b 4c 65 75 77 49 67 4a 36 69 46 0a 4a 7a 57 62 56 73 61 6a 38 6b 66 027KqGx2vKLeuwIgJ6iF.JzWbVsaj8kf
1c68a0 53 74 32 34 62 41 67 41 58 71 6d 65 6d 46 5a 48 65 2b 70 54 73 65 77 76 34 6e 34 51 3d 0a 2d 2d St24bAgAXqmemFZHe+pTsewv4n4Q=.--
1c68c0 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6c 6f 62 61 6c 53 ---END.CERTIFICATE-----..GlobalS
1c68e0 69 67 6e 20 45 43 43 20 52 6f 6f 74 20 43 41 20 2d 20 52 35 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ign.ECC.Root.CA.-.R5.===========
1c6900 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 ================.-----BEGIN.CERT
1c6920 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 48 6a 43 43 41 61 53 67 41 77 49 42 41 67 49 IFICATE-----.MIICHjCCAaSgAwIBAgI
1c6940 52 59 46 6c 4a 34 43 59 75 75 31 58 35 43 6e 65 4b 63 66 6c 4b 32 47 77 77 43 67 59 49 4b 6f 5a RYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZ
1c6960 49 7a 6a 30 45 41 77 4d 77 55 44 45 6b 4d 43 49 47 41 31 55 45 43 78 4d 62 0a 52 32 78 76 59 6d Izj0EAwMwUDEkMCIGA1UECxMb.R2xvYm
1c6980 46 73 55 32 6c 6e 62 69 42 46 51 30 4d 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 46 49 31 4d 52 FsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MR
1c69a0 4d 77 45 51 59 44 56 51 51 4b 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 52 4d 77 45 51 MwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQ
1c69c0 59 44 56 51 51 44 0a 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 42 34 58 44 54 45 79 4d YDVQQD.EwpHbG9iYWxTaWduMB4XDTEyM
1c69e0 54 45 78 4d 7a 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 34 4d 44 45 78 4f 54 41 7a 4d 54 51 77 4e TExMzAwMDAwMFoXDTM4MDExOTAzMTQwN
1c6a00 31 6f 77 55 44 45 6b 4d 43 49 47 41 31 55 45 43 78 4d 62 0a 52 32 78 76 59 6d 46 73 55 32 6c 6e 1owUDEkMCIGA1UECxMb.R2xvYmFsU2ln
1c6a20 62 69 42 46 51 30 4d 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 46 49 31 4d 52 4d 77 45 51 59 44 biBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYD
1c6a40 56 51 51 4b 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 52 4d 77 45 51 59 44 56 51 51 44 VQQKEwpHbG9iYWxTaWduMRMwEQYDVQQD
1c6a60 0a 45 77 70 48 62 47 39 69 59 57 78 54 61 57 64 75 4d 48 59 77 45 41 59 48 4b 6f 5a 49 7a 6a 30 .EwpHbG9iYWxTaWduMHYwEAYHKoZIzj0
1c6a80 43 41 51 59 46 4b 34 45 45 41 43 49 44 59 67 41 45 52 30 55 4f 6c 76 74 39 58 62 2f 70 4f 64 45 CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdE
1c6aa0 68 2b 4a 38 4c 74 74 56 37 48 70 49 36 0a 53 46 6b 63 38 47 49 78 4c 63 42 36 4b 50 34 61 70 31 h+J8LttV7HpI6.SFkc8GIxLcB6KP4ap1
1c6ac0 79 7a 74 73 79 58 35 30 58 55 57 50 72 52 64 32 31 44 6f 73 43 48 5a 54 51 4b 48 33 72 64 36 7a yztsyX50XUWPrRd21DosCHZTQKH3rd6z
1c6ae0 77 7a 6f 63 57 64 54 61 52 76 51 5a 55 34 66 38 6b 65 68 4f 76 52 6e 6b 6d 53 0a 68 35 53 48 44 wzocWdTaRvQZU4f8kehOvRnkmS.h5SHD
1c6b00 44 71 46 53 6d 61 66 6e 56 6d 54 54 5a 64 68 42 6f 5a 4b 6f 30 49 77 51 44 41 4f 42 67 4e 56 48 DqFSmafnVmTTZdhBoZKo0IwQDAOBgNVH
1c6b20 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 Q8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwA
1c6b40 77 45 42 2f 7a 41 64 0a 42 67 4e 56 48 51 34 45 46 67 51 55 50 65 59 70 53 4a 76 71 42 38 6f 68 wEB/zAd.BgNVHQ4EFgQUPeYpSJvqB8oh
1c6b60 52 45 6f 6d 33 6d 37 65 30 6f 50 51 6e 31 6b 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 4d 44 REom3m7e0oPQn1kwCgYIKoZIzj0EAwMD
1c6b80 61 41 41 77 5a 51 49 78 41 4f 56 70 45 73 6c 75 32 38 59 78 0a 75 67 6c 42 34 5a 66 34 2b 2f 32 aAAwZQIxAOVpEslu28Yx.uglB4Zf4+/2
1c6ba0 61 34 6e 30 53 79 65 31 38 5a 4e 50 4c 42 53 57 4c 56 74 6d 67 35 31 35 64 54 67 75 44 6e 46 74 a4n0Sye18ZNPLBSWLVtmg515dTguDnFt
1c6bc0 32 4b 61 41 4a 4a 69 46 71 59 67 49 77 63 64 4b 31 6a 31 7a 71 4f 2b 46 34 43 59 57 6f 64 5a 49 2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI
1c6be0 37 0a 79 46 7a 39 53 4f 38 4e 64 43 4b 6f 43 4f 4a 75 78 55 6e 4f 78 77 79 38 70 32 46 70 38 66 7.yFz9SO8NdCKoCOJuxUnOxwy8p2Fp8f
1c6c00 63 37 34 53 72 4c 2b 53 76 7a 5a 70 41 33 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 c74SrL+SvzZpA3.-----END.CERTIFIC
1c6c20 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 74 61 61 74 20 64 65 72 20 4e 65 64 65 72 6c 61 6e 64 65 6e 20 ATE-----..Staat.der.Nederlanden.
1c6c40 52 6f 6f 74 20 43 41 20 2d 20 47 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d Root.CA.-.G3.===================
1c6c60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 ===============.-----BEGIN.CERTI
1c6c80 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 64 44 43 43 41 31 79 67 41 77 49 42 41 67 49 45 FICATE-----.MIIFdDCCA1ygAwIBAgIE
1c6ca0 41 4a 69 69 4f 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 61 4d 51 73 77 AJiiOTANBgkqhkiG9w0BAQsFADBaMQsw
1c6cc0 43 51 59 44 56 51 51 47 45 77 4a 4f 54 44 45 65 4d 42 77 47 41 31 55 45 0a 43 67 77 56 55 33 52 CQYDVQQGEwJOTDEeMBwGA1UE.CgwVU3R
1c6ce0 68 59 58 51 67 5a 47 56 79 49 45 35 6c 5a 47 56 79 62 47 46 75 5a 47 56 75 4d 53 73 77 4b 51 59 hYXQgZGVyIE5lZGVybGFuZGVuMSswKQY
1c6d00 44 56 51 51 44 44 43 4a 54 64 47 46 68 64 43 42 6b 5a 58 49 67 54 6d 56 6b 5a 58 4a 73 59 57 35 DVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5
1c6d20 6b 5a 57 34 67 0a 55 6d 39 76 64 43 42 44 51 53 41 74 49 45 63 7a 4d 42 34 58 44 54 45 7a 4d 54 kZW4g.Um9vdCBDQSAtIEczMB4XDTEzMT
1c6d40 45 78 4e 44 45 78 4d 6a 67 30 4d 6c 6f 58 44 54 49 34 4d 54 45 78 4d 7a 49 7a 4d 44 41 77 4d 46 ExNDExMjg0MloXDTI4MTExMzIzMDAwMF
1c6d60 6f 77 57 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 0a 54 6b 77 78 48 6a 41 63 42 67 4e 56 42 owWjELMAkGA1UEBhMC.TkwxHjAcBgNVB
1c6d80 41 6f 4d 46 56 4e 30 59 57 46 30 49 47 52 6c 63 69 42 4f 5a 57 52 6c 63 6d 78 68 62 6d 52 6c 62 AoMFVN0YWF0IGRlciBOZWRlcmxhbmRlb
1c6da0 6a 45 72 4d 43 6b 47 41 31 55 45 41 77 77 69 55 33 52 68 59 58 51 67 5a 47 56 79 49 45 35 6c 0a jErMCkGA1UEAwwiU3RhYXQgZGVyIE5l.
1c6dc0 5a 47 56 79 62 47 46 75 5a 47 56 75 49 46 4a 76 62 33 51 67 51 30 45 67 4c 53 42 48 4d 7a 43 43 ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMzCC
1c6de0 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 AiIwDQYJKoZIhvcNAQEBBQADggIPADCC
1c6e00 41 67 6f 43 67 67 49 42 41 4c 34 79 0a 6f 6c 51 50 63 50 73 73 58 46 6e 72 62 4d 53 6b 55 65 69 AgoCggIBAL4y.olQPcPssXFnrbMSkUei
1c6e20 46 4b 72 50 4d 53 6a 54 79 73 46 2f 7a 44 73 63 63 50 56 4d 65 69 41 68 6f 32 47 38 39 72 63 4b FKrPMSjTysF/zDsccPVMeiAho2G89rcK
1c6e40 65 7a 49 4a 6e 42 79 65 48 61 48 45 36 6e 33 57 57 49 6b 59 46 73 4f 32 74 0a 78 31 75 65 4b 74 ezIJnByeHaHE6n3WWIkYFsO2t.x1ueKt
1c6e60 36 63 2f 44 72 47 6c 61 66 31 46 32 63 59 35 79 39 4a 43 41 78 63 7a 2b 62 4d 4e 4f 31 34 2b 31 6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1
1c6e80 43 78 33 47 73 79 38 4b 4c 2b 74 6a 7a 6b 37 46 71 58 78 7a 38 65 63 41 67 77 6f 4e 7a 46 73 32 Cx3Gsy8KL+tjzk7FqXxz8ecAgwoNzFs2
1c6ea0 31 76 30 49 4a 79 0a 45 61 76 53 67 57 68 5a 67 68 65 33 65 4a 4a 67 2b 73 7a 65 50 34 54 72 6a 1v0IJy.EavSgWhZghe3eJJg+szeP4Trj
1c6ec0 54 67 7a 6b 41 70 79 49 2f 6f 31 7a 43 5a 78 4d 64 46 79 4b 4a 4c 5a 57 79 4e 74 5a 72 56 74 42 TgzkApyI/o1zCZxMdFyKJLZWyNtZrVtB
1c6ee0 30 4c 72 70 6a 50 4f 6b 74 76 41 39 6d 78 6a 65 4d 33 4b 0a 54 6a 32 31 35 56 4b 62 38 62 34 37 0LrpjPOktvA9mxjeM3K.Tj215VKb8b47
1c6f00 35 6c 52 67 73 47 59 65 43 61 73 48 2f 6c 53 4a 45 55 4c 52 39 79 53 36 59 48 67 61 6d 50 66 4a 5lRgsGYeCasH/lSJEULR9yS6YHgamPfJ
1c6f20 45 66 30 57 77 54 55 61 56 48 58 76 51 39 50 6c 72 6b 37 4f 35 33 76 44 78 6b 35 68 55 55 75 72 Ef0WwTUaVHXvQ9Plrk7O53vDxk5hUUur
1c6f40 0a 6d 6b 56 4c 6f 52 39 42 76 55 68 54 46 58 46 6b 43 34 61 7a 35 53 36 2b 7a 71 51 62 77 53 6d .mkVLoR9BvUhTFXFkC4az5S6+zqQbwSm
1c6f60 45 6f 72 58 4c 43 43 4e 32 51 79 49 6b 48 78 63 45 31 47 36 63 78 76 78 2f 4b 32 59 61 37 49 72 EorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Ir
1c6f80 6c 31 73 39 4e 39 57 4d 4a 74 78 55 35 0a 31 6e 75 73 36 2b 4e 38 36 55 37 38 64 55 4c 49 37 56 l1s9N9WMJtxU5.1nus6+N86U78dULI7V
1c6fa0 69 56 44 41 5a 43 6f 70 7a 33 35 48 43 7a 33 33 4a 76 57 6a 64 41 69 64 69 46 70 4e 66 78 43 39 iVDAZCopz35HCz33JvWjdAidiFpNfxC9
1c6fc0 35 44 47 64 52 4b 57 43 79 4d 69 6a 6d 65 76 34 53 48 38 52 59 37 4e 67 7a 70 0a 30 37 54 4b 62 5DGdRKWCyMijmev4SH8RY7Ngzp.07TKb
1c6fe0 42 6c 42 55 67 6d 68 48 62 42 71 76 34 4c 76 63 46 45 68 4d 74 77 46 64 6f 7a 4c 39 32 54 6b 41 BlBUgmhHbBqv4LvcFEhMtwFdozL92TkA
1c7000 31 43 76 6a 4a 46 6e 71 38 58 79 37 6c 6a 59 33 72 37 33 35 7a 48 50 62 4d 6b 37 63 63 48 56 69 1CvjJFnq8Xy7ljY3r735zHPbMk7ccHVi
1c7020 4c 56 6c 76 4d 44 6f 0a 46 78 63 48 45 72 56 63 30 71 73 67 6b 37 54 6d 67 6f 4e 77 4e 73 58 4e LVlvMDo.FxcHErVc0qsgk7TmgoNwNsXN
1c7040 6f 34 32 74 69 2b 79 6a 77 55 4f 48 35 6b 50 69 4e 4c 36 56 69 7a 58 74 42 7a 6e 61 71 42 31 36 o42ti+yjwUOH5kPiNL6VizXtBznaqB16
1c7060 6e 7a 61 65 45 72 41 4d 5a 52 4b 51 46 57 44 5a 4a 6b 42 45 0a 34 31 5a 67 70 52 44 55 61 6a 7a nzaeErAMZRKQFWDZJkBE.41ZgpRDUajz
1c7080 39 51 64 77 4f 57 6b 65 32 37 35 64 68 64 55 2f 5a 2f 73 65 79 48 64 54 74 58 55 6d 7a 71 57 72 9QdwOWke275dhdU/Z/seyHdTtXUmzqWr
1c70a0 4c 5a 6f 51 54 31 56 79 67 33 4e 39 75 64 77 62 52 63 58 58 49 56 32 2b 76 44 33 64 62 41 67 4d LZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgM
1c70c0 42 0a 41 41 47 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 B.AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf
1c70e0 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 42 30 47 41 31 55 64 44 67 8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDg
1c7100 51 57 42 42 52 55 72 66 72 48 6b 6c 65 75 0a 79 6a 57 63 4c 68 4c 37 35 4c 70 64 49 4e 79 55 56 QWBBRUrfrHkleu.yjWcLhL75LpdINyUV
1c7120 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 67 45 41 4d 4a 6d 64 42 zANBgkqhkiG9w0BAQsFAAOCAgEAMJmdB
1c7140 54 4c 49 58 67 34 37 6d 41 45 36 69 71 54 6e 42 2f 64 36 2b 4f 65 61 33 31 42 44 0a 55 35 63 71 TLIXg47mAE6iqTnB/d6+Oea31BD.U5cq
1c7160 50 63 6f 38 52 35 67 75 34 52 56 37 38 5a 4c 7a 59 64 71 51 4a 52 5a 6c 77 4a 39 55 58 51 34 44 Pco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4D
1c7180 4f 31 74 33 41 70 79 45 74 67 32 59 58 7a 54 64 4f 32 50 43 77 79 69 42 77 70 77 70 4c 69 6e 69 O1t3ApyEtg2YXzTdO2PCwyiBwpwpLini
1c71a0 79 4d 4d 42 38 6a 50 71 0a 4b 71 72 4d 43 51 6a 33 5a 57 66 47 7a 64 2f 54 74 69 75 6e 76 63 7a yMMB8jPq.KqrMCQj3ZWfGzd/Ttiunvcz
1c71c0 52 44 6e 42 66 75 43 50 52 79 35 46 4f 43 76 54 49 65 75 58 5a 59 7a 62 42 31 4e 2f 38 49 70 66 RDnBfuCPRy5FOCvTIeuXZYzbB1N/8Ipf
1c71e0 33 59 46 33 71 4b 53 39 59 73 72 31 59 76 59 32 57 54 78 42 31 0a 76 30 68 37 50 56 47 48 6f 54 3YF3qKS9Ysr1YvY2WTxB1.v0h7PVGHoT
1c7200 78 30 49 73 4c 38 42 33 2b 41 33 4d 53 73 2f 6d 72 42 63 44 43 77 36 59 35 70 34 69 78 70 67 5a x0IsL8B3+A3MSs/mrBcDCw6Y5p4ixpgZ
1c7220 51 4a 75 74 33 2b 54 63 43 44 6a 4a 52 59 77 45 59 67 72 35 77 66 41 76 67 31 56 55 6b 76 52 74 QJut3+TcCDjJRYwEYgr5wfAvg1VUkvRt
1c7240 54 41 0a 38 4b 43 57 41 67 38 7a 78 58 48 7a 6e 69 4e 39 6c 4c 66 39 4f 74 4d 4a 67 77 59 68 2f TA.8KCWAg8zxXHzniN9lLf9OtMJgwYh/
1c7260 57 41 39 72 6a 4c 41 30 75 36 4e 70 76 44 6e 74 49 4a 38 43 73 78 77 79 58 6d 41 2b 50 35 4d 39 WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9
1c7280 7a 57 45 47 59 6f 78 2b 77 72 5a 31 33 2b 62 0a 38 4b 4b 61 61 38 4d 46 53 75 31 42 59 42 51 77 zWEGYox+wrZ13+b.8KKaa8MFSu1BYBQw
1c72a0 30 61 6f 52 51 6d 37 54 49 77 49 45 43 38 5a 6c 33 64 31 53 64 39 71 42 61 37 4b 6f 2b 67 45 34 0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4
1c72c0 75 5a 62 71 4b 6d 78 6e 6c 34 6d 55 6e 72 7a 68 56 4e 58 6b 61 6e 6a 76 53 72 30 72 0a 6d 6a 31 uZbqKmxnl4mUnrzhVNXkanjvSr0r.mj1
1c72e0 41 66 73 62 41 64 64 4a 75 2b 32 67 77 37 4f 79 4c 6e 66 6c 4a 4e 5a 6f 61 4c 4e 6d 7a 6c 54 6e AfsbAddJu+2gw7OyLnflJNZoaLNmzlTn
1c7300 56 48 70 4c 33 70 72 6c 6c 4c 2b 55 39 62 54 70 49 54 41 6a 63 35 43 67 53 4b 4c 35 39 4e 56 7a VHpL3prllL+U9bTpITAjc5CgSKL59NVz
1c7320 71 34 42 5a 2b 45 78 74 71 0a 31 7a 37 58 6e 76 77 74 64 62 4c 42 46 4e 55 6a 41 39 74 62 62 77 q4BZ+Extq.1z7XnvwtdbLBFNUjA9tbbw
1c7340 73 2b 65 43 38 4e 33 6a 4f 4e 46 72 64 49 35 34 4f 61 67 51 39 37 77 55 4e 4e 56 51 51 58 4f 45 s+eC8N3jONFrdI54OagQ97wUNNVQQXOE
1c7360 70 52 31 56 6d 69 69 58 54 54 6e 37 34 65 53 39 66 47 62 62 65 49 0a 4a 47 39 67 6b 61 53 43 68 pR1VmiiXTTn74eS9fGbbeI.JG9gkaSCh
1c7380 56 74 57 51 62 7a 51 52 4b 74 71 45 37 37 52 4c 46 69 33 45 6a 4e 59 73 6a 64 6a 33 42 50 31 6c VtWQbzQRKtqE77RLFi3EjNYsjdj3BP1l
1c73a0 42 30 2f 51 46 48 31 54 2f 55 36 37 63 6a 46 36 38 49 65 48 52 61 56 65 73 64 2b 51 6e 47 54 62 B0/QFH1T/U67cjF68IeHRaVesd+QnGTb
1c73c0 6b 73 56 0a 74 7a 44 66 71 75 31 58 68 55 69 73 48 57 72 64 4f 57 6e 6b 34 58 6c 34 76 73 34 46 ksV.tzDfqu1XhUisHWrdOWnk4Xl4vs4F
1c73e0 76 36 45 4d 39 34 42 37 49 57 63 6e 4d 46 6b 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 v6EM94B7IWcnMFk=.-----END.CERTIF
1c7400 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 74 61 61 74 20 64 65 72 20 4e 65 64 65 72 6c 61 6e 64 65 ICATE-----..Staat.der.Nederlande
1c7420 6e 20 45 56 20 52 6f 6f 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d n.EV.Root.CA.===================
1c7440 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1c7460 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 63 44 43 43 41 31 69 67 41 77 49 42 41 67 49 45 41 4a CATE-----.MIIFcDCCA1igAwIBAgIEAJ
1c7480 69 57 6a 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 59 4d 51 73 77 43 51 iWjTANBgkqhkiG9w0BAQsFADBYMQswCQ
1c74a0 59 44 56 51 51 47 45 77 4a 4f 54 44 45 65 4d 42 77 47 41 31 55 45 0a 43 67 77 56 55 33 52 68 59 YDVQQGEwJOTDEeMBwGA1UE.CgwVU3RhY
1c74c0 58 51 67 5a 47 56 79 49 45 35 6c 5a 47 56 79 62 47 46 75 5a 47 56 75 4d 53 6b 77 4a 77 59 44 56 XQgZGVyIE5lZGVybGFuZGVuMSkwJwYDV
1c74e0 51 51 44 44 43 42 54 64 47 46 68 64 43 42 6b 5a 58 49 67 54 6d 56 6b 5a 58 4a 73 59 57 35 6b 5a QQDDCBTdGFhdCBkZXIgTmVkZXJsYW5kZ
1c7500 57 34 67 0a 52 56 59 67 55 6d 39 76 64 43 42 44 51 54 41 65 46 77 30 78 4d 44 45 79 4d 44 67 78 W4g.RVYgUm9vdCBDQTAeFw0xMDEyMDgx
1c7520 4d 54 45 35 4d 6a 6c 61 46 77 30 79 4d 6a 45 79 4d 44 67 78 4d 54 45 77 4d 6a 68 61 4d 46 67 78 MTE5MjlaFw0yMjEyMDgxMTEwMjhaMFgx
1c7540 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 35 4d 0a 4d 52 34 77 48 41 59 44 56 51 51 4b 44 42 56 CzAJBgNVBAYTAk5M.MR4wHAYDVQQKDBV
1c7560 54 64 47 46 68 64 43 42 6b 5a 58 49 67 54 6d 56 6b 5a 58 4a 73 59 57 35 6b 5a 57 34 78 4b 54 41 TdGFhdCBkZXIgTmVkZXJsYW5kZW4xKTA
1c7580 6e 42 67 4e 56 42 41 4d 4d 49 46 4e 30 59 57 46 30 49 47 52 6c 63 69 42 4f 5a 57 52 6c 0a 63 6d nBgNVBAMMIFN0YWF0IGRlciBOZWRl.cm
1c75a0 78 68 62 6d 52 6c 62 69 42 46 56 69 42 53 62 32 39 30 49 45 4e 42 4d 49 49 43 49 6a 41 4e 42 67 xhbmRlbiBFViBSb290IENBMIICIjANBg
1c75c0 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 kqhkiG9w0BAQEFAAOCAg8AMIICCgKCAg
1c75e0 45 41 34 38 64 2b 69 66 6b 6b 0a 53 7a 72 53 4d 34 4d 31 4c 47 6e 73 33 41 6d 6b 34 31 47 6f 4a EA48d+ifkk.SzrSM4M1LGns3Amk41GoJ
1c7600 53 74 35 75 41 67 39 34 4a 47 36 68 49 58 47 68 61 54 4b 35 73 6b 75 55 36 54 4a 4a 42 37 39 56 St5uAg94JG6hIXGhaTK5skuU6TJJB79V
1c7620 57 5a 78 58 53 7a 46 59 47 67 45 74 39 6e 43 55 69 59 34 69 4b 54 57 0a 4f 30 43 6d 77 73 30 2f WZxXSzFYGgEt9nCUiY4iKTW.O0Cmws0/
1c7640 7a 5a 69 54 73 31 51 55 57 4a 5a 56 31 56 44 2b 68 71 32 6b 59 33 39 63 68 2f 61 4f 35 69 65 53 zZiTs1QUWJZV1VD+hq2kY39ch/aO5ieS
1c7660 5a 78 65 53 41 67 4d 73 33 4e 5a 6d 64 4f 33 64 5a 2f 2f 42 59 59 31 6a 54 77 2b 62 62 52 63 77 ZxeSAgMs3NZmdO3dZ//BYY1jTw+bbRcw
1c7680 4a 75 2b 72 0a 30 68 38 51 6f 50 6e 46 66 78 5a 70 67 51 4e 48 37 52 35 6f 6a 58 4b 68 54 62 49 Ju+r.0h8QoPnFfxZpgQNH7R5ojXKhTbI
1c76a0 6d 78 72 70 73 58 32 33 57 72 39 47 78 45 34 36 70 72 66 4e 65 61 58 55 6d 47 44 35 42 4b 79 46 mxrpsX23Wr9GxE46prfNeaXUmGD5BKyF
1c76c0 2f 37 6f 74 64 42 77 61 64 51 38 51 70 43 69 76 38 0a 4b 6a 36 47 79 7a 79 44 4f 76 6e 4a 44 64 /7otdBwadQ8QpCiv8.Kj6GyzyDOvnJDd
1c76e0 72 46 6d 65 4b 38 65 45 45 7a 64 75 47 2f 4c 31 33 6c 70 4a 68 51 44 42 58 64 34 50 71 63 66 7a rFmeK8eEEzduG/L13lpJhQDBXd4Pqcfz
1c7700 68 6f 30 4c 4b 6d 65 71 66 52 4d 62 31 2b 69 6c 67 6e 51 37 4f 36 4d 35 48 54 70 35 67 56 0a 58 ho0LKmeqfRMb1+ilgnQ7O6M5HTp5gV.X
1c7720 4a 72 6d 30 77 39 31 32 66 78 42 6d 4a 63 2b 71 69 58 62 6a 35 49 75 73 48 73 4d 58 2f 46 6a 71 Jrm0w912fxBmJc+qiXbj5IusHsMX/Fjq
1c7740 54 66 35 6d 33 56 70 54 43 67 6d 4a 64 72 56 38 68 4a 77 52 56 58 6a 33 33 4e 65 4e 2f 55 68 62 Tf5m3VpTCgmJdrV8hJwRVXj33NeN/Uhb
1c7760 4a 43 4f 4e 56 72 4a 30 79 50 72 0a 30 38 43 2b 65 4b 78 43 4b 46 68 6d 70 55 5a 74 63 41 4c 58 JCONVrJ0yPr.08C+eKxCKFhmpUZtcALX
1c7780 45 50 6c 4c 56 50 78 64 68 6b 71 48 7a 33 2f 4b 52 61 77 52 57 72 55 67 55 59 30 76 69 45 65 58 EPlLVPxdhkqHz3/KRawRWrUgUY0viEeX
1c77a0 4f 63 44 50 75 73 42 43 41 55 43 5a 53 43 45 4c 61 36 66 53 2f 5a 62 56 0a 30 62 35 47 6e 55 6e OcDPusBCAUCZSCELa6fS/ZbV.0b5GnUn
1c77c0 67 43 36 61 67 49 6b 34 34 30 4d 45 38 4d 4c 78 77 6a 79 78 31 7a 4e 44 46 6a 46 45 37 50 5a 51 gC6agIk440ME8MLxwjyx1zNDFjFE7PZQ
1c77e0 49 5a 43 5a 68 66 62 6e 44 5a 59 38 55 6e 43 48 51 71 76 30 58 63 67 4f 50 76 5a 75 4d 35 6c 35 IZCZhfbnDZY8UnCHQqv0XcgOPvZuM5l5
1c7800 54 6e 72 6d 64 0a 37 34 4b 37 34 62 7a 69 63 6b 46 62 49 5a 54 54 52 54 65 55 30 64 38 4a 4f 56 Tnrmd.74K74bzickFbIZTTRTeU0d8JOV
1c7820 33 6e 49 36 71 61 48 63 70 74 71 41 71 47 68 59 71 43 76 6b 49 48 31 76 49 34 67 6e 50 61 68 31 3nI6qaHcptqAqGhYqCvkIH1vI4gnPah1
1c7840 76 6c 50 4e 4f 65 50 71 63 37 6e 76 51 44 73 2f 6e 78 0a 66 52 4e 30 41 76 2b 37 6f 65 58 36 41 vlPNOePqc7nvQDs/nx.fRN0Av+7oeX6A
1c7860 48 6b 63 70 6d 5a 42 69 46 78 67 56 36 59 75 43 63 53 36 2f 5a 72 50 70 78 39 41 77 37 76 4d 57 HkcpmZBiFxgV6YuCcS6/ZrPpx9Aw7vMW
1c7880 67 70 56 53 7a 73 34 64 6c 47 34 59 34 75 45 6c 42 62 6d 56 76 4d 43 41 77 45 41 41 61 4e 43 0a gpVSzs4dlG4Y4uElBbmVvMCAwEAAaNC.
1c78a0 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
1c78c0 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 50 36 72 HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFP6r
1c78e0 41 4a 43 59 6e 69 54 38 71 63 77 61 0a 69 76 73 6e 75 4c 38 77 62 71 67 37 4d 41 30 47 43 53 71 AJCYniT8qcwa.ivsnuL8wbqg7MA0GCSq
1c7900 47 53 49 62 33 44 51 45 42 43 77 55 41 41 34 49 43 41 51 44 50 64 79 78 75 56 72 35 4f 73 37 61 GSIb3DQEBCwUAA4ICAQDPdyxuVr5Os7a
1c7920 45 41 4a 53 72 52 38 6b 4e 30 6e 62 48 68 70 38 64 42 39 4f 32 74 4c 73 49 0a 65 4b 39 70 30 67 EAJSrR8kN0nbHhp8dB9O2tLsI.eK9p0g
1c7940 74 4a 33 6a 50 46 72 4b 33 43 69 41 4a 39 42 72 63 31 41 73 46 67 79 62 2f 45 36 4a 54 65 31 4e tJ3jPFrK3CiAJ9Brc1AsFgyb/E6JTe1N
1c7960 4f 70 45 79 56 61 2f 6d 36 69 72 6e 30 46 33 48 33 7a 62 50 42 2b 70 6f 33 75 32 64 66 4f 57 42 OpEyVa/m6irn0F3H3zbPB+po3u2dfOWB
1c7980 66 6f 71 53 6d 75 0a 63 30 69 48 35 35 76 4b 62 69 6d 68 5a 46 38 5a 45 2f 65 75 42 68 44 2f 55 foqSmu.c0iH55vKbimhZF8ZE/euBhD/U
1c79a0 63 61 62 54 56 55 6c 54 35 4f 5a 45 41 46 54 64 66 45 54 7a 73 65 6d 51 55 48 53 76 34 69 6c 66 cabTVUlT5OZEAFTdfETzsemQUHSv4ilf
1c79c0 30 58 38 72 4c 69 6c 74 54 4d 4d 67 73 54 37 42 2f 5a 71 0a 35 53 57 45 58 77 62 4b 77 59 59 35 0X8rLiltTMMgsT7B/Zq.5SWEXwbKwYY5
1c79e0 45 64 74 59 7a 58 63 37 4c 4d 4a 4d 44 31 36 61 34 2f 43 72 50 6d 45 62 55 43 54 43 77 50 54 78 EdtYzXc7LMJMD16a4/CrPmEbUCTCwPTx
1c7a00 47 66 41 52 4b 62 61 6c 47 41 4b 62 31 32 4e 4d 63 49 78 48 6f 77 4e 44 58 4c 6c 64 52 71 41 4e GfARKbalGAKb12NMcIxHowNDXLldRqAN
1c7a20 0a 62 2f 39 5a 6a 72 37 64 6e 33 4c 44 57 79 76 66 6a 46 76 4f 35 51 78 47 62 4a 4b 79 43 71 4e .b/9Zjr7dn3LDWyvfjFvO5QxGbJKyCqN
1c7a40 4d 56 45 49 59 46 52 49 59 76 64 72 38 75 6e 52 75 2f 38 47 32 6f 47 54 59 71 56 39 56 72 70 39 MVEIYFRIYvdr8unRu/8G2oGTYqV9Vrp9
1c7a60 63 61 6e 61 57 32 48 4e 6e 68 2f 74 4e 0a 66 31 7a 75 61 63 70 7a 45 50 75 4b 71 66 32 65 76 54 canaW2HNnh/tN.f1zuacpzEPuKqf2evT
1c7a80 59 34 53 55 6d 48 39 41 34 55 38 4f 6d 48 75 44 2b 6e 54 33 70 61 6a 6e 6e 55 6b 2b 53 37 61 46 Y4SUmH9A4U8OmHuD+nT3pajnnUk+S7aF
1c7aa0 4b 45 72 47 7a 70 38 35 68 77 56 58 49 79 2b 54 53 72 4b 30 6d 31 7a 53 42 69 0a 35 44 70 36 5a KErGzp85hwVXIy+TSrK0m1zSBi.5Dp6Z
1c7ac0 32 4f 72 6c 74 78 74 72 70 66 73 2f 4a 39 32 56 6f 67 75 5a 73 39 62 74 73 6d 6b 73 4e 63 46 75 2Orltxtrpfs/J92VoguZs9btsmksNcFu
1c7ae0 75 45 6e 4c 35 4f 37 4a 69 71 69 6b 37 41 62 38 34 36 2b 48 55 43 6a 75 54 61 50 50 6f 49 61 47 uEnL5O7Jiqik7Ab846+HUCjuTaPPoIaG
1c7b00 6c 36 49 36 6c 44 34 0a 57 65 4b 44 52 69 6b 4c 34 30 52 63 34 5a 57 32 61 5a 43 61 46 47 2b 58 l6I6lD4.WeKDRikL40Rc4ZW2aZCaFG+X
1c7b20 72 6f 48 50 61 4f 2b 5a 6d 72 36 31 35 2b 46 2f 2b 50 6f 54 52 78 5a 4d 7a 47 30 49 51 4f 65 4c roHPaO+Zmr615+F/+PoTRxZMzG0IQOeL
1c7b40 65 47 39 51 67 6b 52 51 50 32 59 47 69 71 74 44 68 46 5a 4b 0a 44 79 41 74 68 67 37 31 30 74 76 eG9QgkRQP2YGiqtDhFZK.DyAthg710tv
1c7b60 53 65 6f 70 4c 7a 61 58 6f 54 76 46 65 4a 69 55 42 57 53 4f 67 66 74 4c 32 66 69 46 58 31 79 65 SeopLzaXoTvFeJiUBWSOgftL2fiFX1ye
1c7b80 38 46 56 64 4d 70 45 62 42 34 49 4d 65 44 45 78 4e 48 30 38 47 47 65 4c 35 71 50 51 36 67 71 47 8FVdMpEbB4IMeDExNH08GGeL5qPQ6gqG
1c7ba0 79 0a 65 55 4e 35 31 71 31 76 65 69 65 51 41 36 54 71 4a 49 63 2f 32 62 33 5a 36 66 4a 66 55 45 y.eUN51q1veieQA6TqJIc/2b3Z6fJfUE
1c7bc0 6b 63 37 75 7a 58 4c 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d kc7uzXLg==.-----END.CERTIFICATE-
1c7be0 2d 2d 2d 2d 0a 0a 49 64 65 6e 54 72 75 73 74 20 43 6f 6d 6d 65 72 63 69 61 6c 20 52 6f 6f 74 20 ----..IdenTrust.Commercial.Root.
1c7c00 43 41 20 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d CA.1.===========================
1c7c20 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a ===.-----BEGIN.CERTIFICATE-----.
1c7c40 4d 49 49 46 59 44 43 43 41 30 69 67 41 77 49 42 41 67 49 51 43 67 46 43 67 41 41 41 41 55 55 6a MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUj
1c7c60 79 45 53 31 41 41 41 41 41 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 4b yES1AAAAAjANBgkqhkiG9w0BAQsFADBK
1c7c80 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 53 4d 42 41 47 41 31 55 45 43 68 4d MQswCQYDVQQG.EwJVUzESMBAGA1UEChM
1c7ca0 4a 53 57 52 6c 62 6c 52 79 64 58 4e 30 4d 53 63 77 4a 51 59 44 56 51 51 44 45 78 35 4a 5a 47 56 JSWRlblRydXN0MScwJQYDVQQDEx5JZGV
1c7cc0 75 56 48 4a 31 63 33 51 67 51 32 39 74 62 57 56 79 59 32 6c 68 62 43 42 53 0a 62 32 39 30 49 45 uVHJ1c3QgQ29tbWVyY2lhbCBS.b290IE
1c7ce0 4e 42 49 44 45 77 48 68 63 4e 4d 54 51 77 4d 54 45 32 4d 54 67 78 4d 6a 49 7a 57 68 63 4e 4d 7a NBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMz
1c7d00 51 77 4d 54 45 32 4d 54 67 78 4d 6a 49 7a 57 6a 42 4b 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 QwMTE2MTgxMjIzWjBKMQswCQYDVQQGEw
1c7d20 4a 56 55 7a 45 53 0a 4d 42 41 47 41 31 55 45 43 68 4d 4a 53 57 52 6c 62 6c 52 79 64 58 4e 30 4d JVUzES.MBAGA1UEChMJSWRlblRydXN0M
1c7d40 53 63 77 4a 51 59 44 56 51 51 44 45 78 35 4a 5a 47 56 75 56 48 4a 31 63 33 51 67 51 32 39 74 62 ScwJQYDVQQDEx5JZGVuVHJ1c3QgQ29tb
1c7d60 57 56 79 59 32 6c 68 62 43 42 53 62 32 39 30 49 45 4e 42 0a 49 44 45 77 67 67 49 69 4d 41 30 47 WVyY2lhbCBSb290IENB.IDEwggIiMA0G
1c7d80 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 CSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC
1c7da0 41 51 43 6e 55 42 6e 65 50 35 6b 39 31 44 4e 47 38 57 39 52 59 59 4b 79 71 55 2b 50 5a 34 6c 64 AQCnUBneP5k91DNG8W9RYYKyqU+PZ4ld
1c7dc0 0a 68 4e 6c 54 33 51 77 6f 32 64 66 77 2f 36 36 56 51 33 4b 5a 2b 62 56 64 66 49 72 42 51 75 45 .hNlT3Qwo2dfw/66VQ3KZ+bVdfIrBQuE
1c7de0 78 55 48 54 52 67 51 31 38 7a 5a 73 68 71 30 50 69 72 4b 31 65 68 6d 37 7a 43 59 6f 66 57 6a 4b xUHTRgQ18zZshq0PirK1ehm7zCYofWjK
1c7e00 39 6f 75 75 55 2b 65 68 63 43 75 7a 2f 0a 6d 4e 4b 76 63 62 4f 30 55 35 39 4f 68 2b 2b 53 76 4c 9ouuU+ehcCuz/.mNKvcbO0U59Oh++SvL
1c7e20 33 73 54 7a 49 77 69 45 73 58 58 6c 66 45 55 38 4c 32 41 70 65 4e 32 57 49 72 76 79 51 66 59 6f 3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo
1c7e40 33 66 77 37 67 70 53 30 6c 34 50 4a 4e 67 69 43 4c 38 6d 64 6f 32 79 4d 4b 69 0a 31 43 78 55 41 3fw7gpS0l4PJNgiCL8mdo2yMKi.1CxUA
1c7e60 47 63 31 62 6e 4f 2f 41 6c 6a 77 70 4e 33 6c 73 4b 49 6d 65 73 72 67 4e 71 55 5a 46 76 58 39 74 Gc1bnO/AljwpN3lsKImesrgNqUZFvX9t
1c7e80 2b 2b 75 50 30 44 31 62 56 6f 45 2f 63 34 30 79 69 54 63 64 43 4d 62 58 54 4d 54 45 6c 33 45 41 ++uP0D1bVoE/c40yiTcdCMbXTMTEl3EA
1c7ea0 53 58 32 4d 4e 30 43 0a 58 5a 2f 67 31 55 65 39 74 4f 73 62 6f 62 74 4a 53 64 69 66 57 77 4c 7a SX2MN0C.XZ/g1Ue9tOsbobtJSdifWwLz
1c7ec0 69 75 51 6b 6b 4f 52 69 54 30 2f 42 72 34 73 4f 64 42 65 6f 30 58 4b 49 61 6e 6f 42 53 63 79 30 iuQkkORiT0/Br4sOdBeo0XKIanoBScy0
1c7ee0 52 6e 6e 47 46 37 48 61 6d 42 34 48 57 66 70 31 49 59 56 6c 0a 33 5a 42 57 7a 76 75 72 70 57 43 RnnGF7HamB4HWfp1IYVl.3ZBWzvurpWC
1c7f00 64 78 4a 33 35 55 72 43 4c 76 59 66 35 6a 79 73 6a 43 69 4e 32 4f 2f 63 7a 34 63 6b 41 38 32 6e dxJ35UrCLvYf5jysjCiN2O/cz4ckA82n
1c7f20 35 53 36 4c 67 54 72 78 2b 6b 7a 6d 45 42 2f 64 45 63 48 37 2b 42 31 72 6c 73 61 7a 52 47 4d 7a 5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMz
1c7f40 79 0a 4e 65 56 4a 53 51 6a 4b 56 73 6b 39 2b 77 38 59 66 59 73 37 77 52 50 43 54 59 2f 4a 54 77 y.NeVJSQjKVsk9+w8YfYs7wRPCTY/JTw
1c7f60 34 33 36 52 2b 68 44 6d 72 66 59 69 37 4c 4e 51 5a 52 65 53 7a 49 4a 54 6a 30 2b 6b 75 6e 69 56 436R+hDmrfYi7LNQZReSzIJTj0+kuniV
1c7f80 79 63 30 75 4d 4e 4f 59 5a 4b 64 48 7a 56 0a 57 59 66 43 50 30 34 4d 58 46 4c 30 50 66 64 53 67 yc0uMNOYZKdHzV.WYfCP04MXFL0PfdSg
1c7fa0 76 48 71 6f 36 7a 39 53 54 51 61 4b 50 4e 42 69 44 6f 54 37 75 6a 65 2f 35 6b 64 58 37 72 4c 36 vHqo6z9STQaKPNBiDoT7uje/5kdX7rL6
1c7fc0 42 37 79 75 56 42 67 77 44 48 54 63 2b 58 76 76 71 44 74 4d 77 74 30 76 69 41 67 0a 78 47 64 73 B7yuVBgwDHTc+XvvqDtMwt0viAg.xGds
1c7fe0 38 41 67 44 65 6c 57 41 66 30 5a 4f 6c 71 66 30 48 6a 37 68 39 74 67 4a 34 54 4e 6b 4b 32 50 58 8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PX
1c8000 4d 6c 36 66 2b 63 42 37 44 33 68 76 6c 37 79 54 6d 76 6d 63 45 70 42 34 65 6f 43 48 46 64 64 79 Ml6f+cB7D3hvl7yTmvmcEpB4eoCHFddy
1c8020 64 4a 78 56 64 48 69 78 0a 75 75 46 75 63 41 53 36 54 36 43 36 61 4d 4e 37 2f 7a 48 77 63 7a 30 dJxVdHix.uuFucAS6T6C6aMN7/zHwcz0
1c8040 39 6c 43 71 78 43 30 45 4f 6f 50 35 4e 69 47 56 72 65 54 4f 30 31 77 49 44 41 51 41 42 6f 30 49 9lCqxC0EOoP5NiGVreTO01wIDAQABo0I
1c8060 77 51 44 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 44 77 59 44 56 52 wQDAOBgNVHQ8BAf8EBAMC.AQYwDwYDVR
1c8080 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 37 55 0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU7U
1c80a0 51 5a 77 4e 50 77 42 6f 76 75 70 48 75 2b 51 75 63 6d 56 4d 69 4f 4e 6e 59 77 44 51 59 4a 4b 6f QZwNPwBovupHu+QucmVMiONnYwDQYJKo
1c80c0 5a 49 0a 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 41 32 75 6b 44 4c 32 70 6b 74 38 52 ZI.hvcNAQELBQADggIBAA2ukDL2pkt8R
1c80e0 48 59 5a 59 52 34 6e 4b 4d 31 65 56 4f 38 6c 76 4f 4d 49 6b 50 6b 70 31 36 35 6f 43 4f 47 55 41 HYZYR4nKM1eVO8lvOMIkPkp165oCOGUA
1c8100 46 6a 76 4c 69 35 2b 55 31 4b 4d 74 6c 77 48 0a 36 6f 69 36 6d 59 74 51 6c 4e 65 43 67 4e 39 68 FjvLi5+U1KMtlwH.6oi6mYtQlNeCgN9h
1c8120 43 51 43 54 72 51 30 55 35 73 37 42 38 6a 65 55 65 4c 42 66 6e 4c 4f 69 63 37 69 50 42 5a 4d 34 CQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4
1c8140 7a 59 30 2b 73 4c 6a 37 77 4d 2b 78 38 75 77 74 4c 52 76 4d 37 4b 71 61 73 36 70 67 0a 67 68 73 zY0+sLj7wM+x8uwtLRvM7Kqas6pg.ghs
1c8160 74 4f 38 4f 45 50 56 65 4b 6c 68 36 63 64 62 6a 54 4d 4d 31 67 43 49 4f 51 30 34 35 55 38 55 31 tO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1
1c8180 6d 77 46 31 30 41 30 43 6a 37 6f 56 2b 77 68 39 33 6e 41 62 6f 77 61 63 59 58 56 4b 56 37 63 6e mwF10A0Cj7oV+wh93nAbowacYXVKV7cn
1c81a0 64 4a 5a 35 74 2b 71 6e 74 0a 6f 7a 6f 30 30 46 6c 37 32 75 31 51 38 7a 57 2f 37 65 73 55 54 54 dJZ5t+qnt.ozo00Fl72u1Q8zW/7esUTT
1c81c0 48 48 59 50 54 61 38 59 65 63 34 6b 6a 69 78 73 55 33 2b 77 59 51 2b 6e 56 5a 5a 6a 46 48 4b 64 HHYPTa8Yec4kjixsU3+wYQ+nVZZjFHKd
1c81e0 70 32 6d 68 7a 70 67 71 37 76 6d 72 6c 52 39 34 67 6a 6d 6d 6d 56 0a 59 6a 7a 6c 56 59 41 32 31 p2mhzpgq7vmrlR94gjmmmV.YjzlVYA21
1c8200 31 51 43 2f 2f 47 35 58 63 37 55 49 32 2f 59 52 59 52 4b 57 32 58 76 69 51 7a 64 46 4b 63 67 79 1QC//G5Xc7UI2/YRYRKW2XviQzdFKcgy
1c8220 78 69 6c 4a 62 51 4e 2b 51 48 77 6f 74 4c 30 41 4d 68 30 6a 71 45 71 53 49 35 6c 32 78 50 45 34 xilJbQN+QHwotL0AMh0jqEqSI5l2xPE4
1c8240 69 55 58 0a 66 65 75 2b 68 31 73 58 49 46 52 52 6b 30 70 54 41 77 76 73 58 63 6f 7a 37 57 4c 39 iUX.feu+h1sXIFRRk0pTAwvsXcoz7WL9
1c8260 52 63 63 76 57 39 78 59 6f 49 41 35 35 76 72 58 2f 68 4d 55 70 75 30 39 6c 45 70 43 64 4e 54 44 RccvW9xYoIA55vrX/hMUpu09lEpCdNTD
1c8280 64 31 6c 7a 7a 59 39 47 76 6c 55 34 37 2f 72 6f 0a 6b 54 4c 71 6c 31 67 45 49 74 34 34 77 38 79 d1lzzY9GvlU47/ro.kTLql1gEIt44w8y
1c82a0 38 62 63 6b 7a 4f 6d 6f 4b 61 54 2b 67 79 4f 70 79 6a 34 78 6a 68 69 4f 39 62 54 79 57 6e 70 58 8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpX
1c82c0 67 53 55 79 71 6f 72 6b 71 47 35 77 32 67 58 6a 74 77 2b 68 47 34 69 5a 5a 52 48 55 65 0a 32 58 gSUyqorkqG5w2gXjtw+hG4iZZRHUe.2X
1c82e0 57 4a 55 63 30 51 68 4a 31 68 59 4d 74 64 2b 5a 63 69 54 59 36 59 35 75 4e 2f 39 6c 75 37 72 73 WJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs
1c8300 33 4b 53 6f 46 72 58 67 76 7a 55 65 46 30 4b 2b 6c 2b 4a 36 66 5a 6d 55 6c 4f 2b 4b 57 41 32 79 3KSoFrXgvzUeF0K+l+J6fZmUlO+KWA2y
1c8320 55 50 48 47 4e 69 69 73 6b 7a 0a 5a 32 73 38 45 49 50 47 72 64 36 6f 7a 52 61 4f 6a 66 41 48 4e UPHGNiiskz.Z2s8EIPGrd6ozRaOjfAHN
1c8340 33 47 66 38 71 76 38 51 66 58 42 69 2b 77 41 4e 31 30 4a 35 55 36 41 37 2f 71 78 58 44 67 47 70 3Gf8qv8QfXBi+wAN10J5U6A7/qxXDgGp
1c8360 52 74 4b 34 64 77 34 4c 54 7a 63 71 78 2b 51 47 74 56 4b 6e 4f 37 52 0a 63 47 7a 4d 37 76 52 58 RtK4dw4LTzcqx+QGtVKnO7R.cGzM7vRX
1c8380 2b 42 69 36 68 47 36 48 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d +Bi6hG6H.-----END.CERTIFICATE---
1c83a0 2d 2d 0a 0a 49 64 65 6e 54 72 75 73 74 20 50 75 62 6c 69 63 20 53 65 63 74 6f 72 20 52 6f 6f 74 --..IdenTrust.Public.Sector.Root
1c83c0 20 43 41 20 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .CA.1.==========================
1c83e0 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d =======.-----BEGIN.CERTIFICATE--
1c8400 2d 2d 2d 0a 4d 49 49 46 5a 6a 43 43 41 30 36 67 41 77 49 42 41 67 49 51 43 67 46 43 67 41 41 41 ---.MIIFZjCCA06gAwIBAgIQCgFCgAAA
1c8420 41 55 55 6a 7a 30 5a 38 41 41 41 41 41 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 AUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsF
1c8440 41 44 42 4e 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 53 4d 42 41 47 41 31 55 ADBNMQswCQYDVQQG.EwJVUzESMBAGA1U
1c8460 45 43 68 4d 4a 53 57 52 6c 62 6c 52 79 64 58 4e 30 4d 53 6f 77 4b 41 59 44 56 51 51 44 45 79 46 EChMJSWRlblRydXN0MSowKAYDVQQDEyF
1c8480 4a 5a 47 56 75 56 48 4a 31 63 33 51 67 55 48 56 69 62 47 6c 6a 49 46 4e 6c 59 33 52 76 0a 63 69 JZGVuVHJ1c3QgUHVibGljIFNlY3Rv.ci
1c84a0 42 53 62 32 39 30 49 45 4e 42 49 44 45 77 48 68 63 4e 4d 54 51 77 4d 54 45 32 4d 54 63 31 4d 7a BSb290IENBIDEwHhcNMTQwMTE2MTc1Mz
1c84c0 4d 79 57 68 63 4e 4d 7a 51 77 4d 54 45 32 4d 54 63 31 4d 7a 4d 79 57 6a 42 4e 4d 51 73 77 43 51 MyWhcNMzQwMTE2MTc1MzMyWjBNMQswCQ
1c84e0 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 53 4d 42 41 47 41 31 55 45 43 68 4d 4a 53 57 52 6c 62 YDVQQGEwJV.UzESMBAGA1UEChMJSWRlb
1c8500 6c 52 79 64 58 4e 30 4d 53 6f 77 4b 41 59 44 56 51 51 44 45 79 46 4a 5a 47 56 75 56 48 4a 31 63 lRydXN0MSowKAYDVQQDEyFJZGVuVHJ1c
1c8520 33 51 67 55 48 56 69 62 47 6c 6a 49 46 4e 6c 59 33 52 76 63 69 42 53 0a 62 32 39 30 49 45 4e 42 3QgUHVibGljIFNlY3RvciBS.b290IENB
1c8540 49 44 45 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 IDEwggIiMA0GCSqGSIb3DQEBAQUAA4IC
1c8560 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 32 49 70 54 38 70 45 69 76 36 45 64 72 43 76 73 6e DwAwggIKAoICAQC2IpT8pEiv6EdrCvsn
1c8580 64 75 54 79 0a 50 34 6f 37 65 6b 6f 73 4d 53 71 4d 6a 62 43 70 77 7a 46 72 71 48 64 32 68 43 61 duTy.P4o7ekosMSqMjbCpwzFrqHd2hCa
1c85a0 32 72 49 46 43 44 51 6a 72 56 56 69 37 65 76 69 38 5a 58 33 79 6f 47 32 4c 71 45 66 70 59 6e 59 2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnY
1c85c0 65 45 65 34 49 46 4e 47 79 52 42 62 30 36 74 44 36 0a 48 69 39 65 32 38 74 7a 51 61 36 38 41 4c eEe4IFNGyRBb06tD6.Hi9e28tzQa68AL
1c85e0 42 4b 4b 30 43 79 72 4f 45 37 53 38 49 74 6e 65 53 68 6d 2b 77 61 4f 68 37 77 43 4c 50 51 35 43 BKK0CyrOE7S8ItneShm+waOh7wCLPQ5C
1c8600 51 31 42 35 2b 63 74 4d 6c 53 62 64 73 48 79 6f 2b 31 57 2f 43 44 38 30 2f 48 4c 61 58 49 0a 72 Q1B5+ctMlSbdsHyo+1W/CD80/HLaXI.r
1c8620 63 75 56 49 4b 51 78 4b 46 64 59 57 75 53 4e 47 35 71 72 6e 67 30 4d 38 67 6f 7a 4f 53 49 35 43 cuVIKQxKFdYWuSNG5qrng0M8gozOSI5C
1c8640 70 63 75 38 31 4e 33 75 55 52 46 2f 59 54 4c 4e 69 43 42 57 53 32 61 62 32 31 49 53 47 48 4b 54 pcu81N3uURF/YTLNiCBWS2ab21ISGHKT
1c8660 4e 39 54 30 61 39 53 76 45 53 66 0a 71 79 39 72 67 33 4c 76 64 59 44 61 42 6a 4d 62 58 63 6a 61 N9T0a9SvESf.qy9rg3LvdYDaBjMbXcja
1c8680 59 38 5a 4e 7a 61 78 6d 4d 63 33 52 33 6a 36 48 45 44 62 68 75 61 52 36 37 32 42 51 73 73 76 4b Y8ZNzaxmMc3R3j6HEDbhuaR672BQssvK
1c86a0 70 6c 62 67 4e 36 2b 72 4e 42 4d 35 4a 65 67 35 5a 75 53 59 65 71 6f 53 0a 6d 4a 78 5a 5a 6f 59 plbgN6+rNBM5Jeg5ZuSYeqoS.mJxZZoY
1c86c0 2b 72 66 47 77 79 6a 34 47 44 33 76 77 45 55 73 33 6f 45 52 74 65 38 75 6f 6a 48 48 30 31 62 57 +rfGwyj4GD3vwEUs3oERte8uojHH01bW
1c86e0 52 4e 73 7a 77 46 63 59 72 33 6c 45 58 73 5a 64 4d 55 44 32 78 6c 56 6c 38 42 58 30 74 49 64 55 RNszwFcYr3lEXsZdMUD2xlVl8BX0tIdU
1c8700 41 76 77 46 6e 0a 6f 6c 35 37 70 6c 7a 79 39 79 4c 78 6b 41 32 54 32 36 70 45 55 57 62 4d 66 58 AvwFn.ol57plzy9yLxkA2T26pEUWbMfX
1c8720 59 44 36 32 71 6f 4b 6a 67 5a 6c 33 59 4e 61 34 70 68 2b 62 7a 32 37 6e 62 39 63 43 76 64 4b 54 YD62qoKjgZl3YNa4ph+bz27nb9cCvdKT
1c8740 7a 34 43 68 35 62 51 68 79 4c 56 69 39 56 47 78 79 68 0a 4c 72 58 48 46 75 62 34 71 6a 79 53 6a z4Ch5bQhyLVi9VGxyh.LrXHFub4qjySj
1c8760 6d 6d 32 41 63 47 31 68 70 32 4a 44 77 73 34 6c 46 54 6f 36 74 79 65 50 53 57 38 55 79 62 74 31 mm2AcG1hp2JDws4lFTo6tyePSW8Uybt1
1c8780 61 73 35 71 73 56 41 54 46 53 72 73 72 54 5a 32 66 6a 58 63 74 73 63 76 47 32 39 5a 56 2f 76 0a as5qsVATFSrsrTZ2fjXctscvG29ZV/v.
1c87a0 69 44 55 71 5a 69 2f 75 39 72 4e 6c 38 44 4f 4e 66 4a 68 42 61 55 59 50 51 78 78 70 2b 70 75 31 iDUqZi/u9rNl8DONfJhBaUYPQxxp+pu1
1c87c0 30 47 46 71 7a 63 70 4c 32 55 79 51 52 71 73 56 57 61 46 48 56 43 6b 75 67 79 68 66 48 4d 4b 69 0GFqzcpL2UyQRqsVWaFHVCkugyhfHMKi
1c87e0 71 33 49 58 41 41 61 4f 52 65 79 4c 0a 34 6a 4d 39 66 39 6f 5a 52 4f 52 69 63 73 50 66 49 73 62 q3IXAAaOReyL.4jM9f9oZRORicsPfIsb
1c8800 79 56 74 54 64 58 35 56 79 37 57 31 66 39 30 67 44 57 2f 33 46 4b 71 44 32 63 79 4f 45 45 42 73 yVtTdX5Vy7W1f90gDW/3FKqD2cyOEEBs
1c8820 42 35 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 4f 42 67 4e 56 48 51 38 42 0a 41 66 38 45 42 41 B5wIDAQABo0IwQDAOBgNVHQ8B.Af8EBA
1c8840 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 MCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBg
1c8860 4e 56 48 51 34 45 46 67 51 55 34 33 48 67 6e 74 69 6e 51 74 6e 62 63 5a 46 72 6c 4a 50 72 77 36 NVHQ4EFgQU43HgntinQtnbcZFrlJPrw6
1c8880 50 52 46 4b 4d 77 0a 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 PRFKMw.DQYJKoZIhvcNAQELBQADggIBA
1c88a0 45 66 36 33 51 71 77 45 5a 45 34 72 55 31 64 39 2b 55 4f 6c 31 51 5a 67 6b 69 48 56 49 79 71 5a Ef63QqwEZE4rU1d9+UOl1QZgkiHVIyqZ
1c88c0 4a 6e 59 57 76 36 49 41 63 56 59 70 5a 6d 78 49 31 51 6a 0a 74 32 6f 64 49 46 66 6c 41 57 4a 42 JnYWv6IAcVYpZmxI1Qj.t2odIFflAWJB
1c88e0 46 39 4d 4a 32 33 58 4c 62 6c 53 51 64 66 34 61 6e 34 45 4b 77 74 33 58 39 77 6e 51 57 33 49 56 F9MJ23XLblSQdf4an4EKwt3X9wnQW3IV
1c8900 35 42 34 4a 61 6a 30 7a 38 79 47 61 35 68 56 2b 72 56 48 56 44 52 44 74 66 55 4c 41 6a 2b 37 41 5B4Jaj0z8yGa5hV+rVHVDRDtfULAj+7A
1c8920 0a 6d 67 6a 56 51 64 5a 63 44 69 46 70 62 6f 42 68 44 68 58 41 75 4d 2f 46 53 52 4a 53 7a 4c 34 .mgjVQdZcDiFpboBhDhXAuM/FSRJSzL4
1c8940 36 7a 4e 51 75 4f 41 58 65 4e 66 30 66 62 37 69 41 61 4a 67 39 54 61 44 4b 51 47 58 53 63 33 7a 6zNQuOAXeNf0fb7iAaJg9TaDKQGXSc3z
1c8960 31 69 39 6b 4b 6c 54 2f 59 50 79 4e 74 0a 47 74 45 71 4a 42 6e 5a 68 62 4d 58 37 33 68 75 71 56 1i9kKlT/YPyNt.GtEqJBnZhbMX73huqV
1c8980 6a 52 49 39 50 48 45 2b 31 79 4a 58 39 64 73 58 4e 77 30 48 38 47 6c 77 6d 45 4b 59 42 68 48 66 jRI9PHE+1yJX9dsXNw0H8GlwmEKYBhHf
1c89a0 70 65 2f 33 4f 73 6f 4f 4f 4a 75 42 78 78 46 63 62 65 4d 58 38 53 33 4f 46 74 0a 6d 36 2f 6e 36 pe/3OsoOOJuBxxFcbeMX8S3OFt.m6/n6
1c89c0 4a 39 31 65 45 79 72 52 6a 75 61 7a 72 38 46 47 46 31 4e 46 54 77 57 6d 68 6c 51 42 4a 71 79 6d J91eEyrRjuazr8FGF1NFTwWmhlQBJqym
1c89e0 6d 39 6c 69 31 4a 66 50 46 67 45 4b 43 58 41 5a 6d 45 78 66 72 6e 67 64 62 6b 61 71 49 48 57 63 m9li1JfPFgEKCXAZmExfrngdbkaqIHWc
1c8a00 68 65 7a 78 51 4d 78 0a 4e 52 46 34 65 4b 4c 67 36 54 43 4d 66 34 44 66 57 4e 38 38 75 69 65 57 hezxQMx.NRF4eKLg6TCMf4DfWN88uieW
1c8a20 34 6f 41 30 62 65 4f 59 30 32 51 6e 72 45 68 2b 4b 48 64 63 78 69 56 68 4a 66 69 46 44 47 58 36 4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6
1c8a40 78 44 49 76 70 5a 67 46 35 50 67 4c 5a 78 59 57 78 6f 4b 34 0a 4d 68 6e 35 2b 62 6c 35 33 42 2f xDIvpZgF5PgLZxYWxoK4.Mhn5+bl53B/
1c8a60 4e 36 36 2b 72 44 74 30 62 32 30 58 6b 65 75 63 43 34 70 56 64 2f 47 6e 77 55 32 6c 68 6c 58 56 N66+rDt0b20XkeucC4pVd/GnwU2lhlXV
1c8a80 35 43 31 35 56 35 6a 67 63 6c 4b 6c 5a 4d 35 37 49 63 58 52 35 66 31 47 4a 74 73 68 71 75 44 44 5C15V5jgclKlZM57IcXR5f1GJtshquDD
1c8aa0 49 0a 61 6a 6a 44 62 70 37 68 4e 78 62 71 42 57 4a 4d 57 78 4a 48 37 61 65 30 73 31 68 57 78 30 I.ajjDbp7hNxbqBWJMWxJH7ae0s1hWx0
1c8ac0 6e 7a 66 78 4a 6f 43 54 46 78 38 47 33 34 54 6b 66 37 31 6f 58 75 78 56 68 41 47 61 51 64 70 2f nzfxJoCTFx8G34Tkf71oXuxVhAGaQdp/
1c8ae0 6c 4c 51 7a 66 63 61 46 70 50 7a 2b 76 43 0a 5a 48 54 65 74 42 58 5a 39 46 52 55 47 69 38 63 31 lLQzfcaFpPz+vC.ZHTetBXZ9FRUGi8c1
1c8b00 35 64 78 56 4a 43 4f 32 53 43 64 55 79 74 2f 71 34 2f 69 36 6a 43 38 55 44 66 76 38 55 65 31 66 5dxVJCO2SCdUyt/q4/i6jC8UDfv8Ue1f
1c8b20 58 77 73 42 4f 78 6f 6e 62 52 4a 52 42 44 30 63 6b 73 63 5a 4f 66 38 35 6d 75 51 0a 33 57 6c 39 XwsBOxonbRJRBD0ckscZOf85muQ.3Wl9
1c8b40 61 66 30 41 56 71 57 33 72 4c 61 74 74 38 6f 2b 41 65 2b 63 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 af0AVqW3rLatt8o+Ae+c.-----END.CE
1c8b60 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 6e 74 72 75 73 74 20 52 6f 6f 74 20 43 65 72 RTIFICATE-----..Entrust.Root.Cer
1c8b80 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 79 20 2d 20 47 32 0a 3d 3d 3d 3d 3d 3d tification.Authority.-.G2.======
1c8ba0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1c8bc0 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a ===.-----BEGIN.CERTIFICATE-----.
1c8be0 4d 49 49 45 50 6a 43 43 41 79 61 67 41 77 49 42 41 67 49 45 53 6c 4f 4d 4b 44 41 4e 42 67 6b 71 MIIEPjCCAyagAwIBAgIESlOMKDANBgkq
1c8c00 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 76 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 hkiG9w0BAQsFADCBvjELMAkGA1UEBhMC
1c8c20 56 56 4d 78 46 6a 41 55 42 67 4e 56 0a 42 41 6f 54 44 55 56 75 64 48 4a 31 63 33 51 73 49 45 6c VVMxFjAUBgNV.BAoTDUVudHJ1c3QsIEl
1c8c40 75 59 79 34 78 4b 44 41 6d 42 67 4e 56 42 41 73 54 48 31 4e 6c 5a 53 42 33 64 33 63 75 5a 57 35 uYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW5
1c8c60 30 63 6e 56 7a 64 43 35 75 5a 58 51 76 62 47 56 6e 59 57 77 74 64 47 56 79 0a 62 58 4d 78 4f 54 0cnVzdC5uZXQvbGVnYWwtdGVy.bXMxOT
1c8c80 41 33 42 67 4e 56 42 41 73 54 4d 43 68 6a 4b 53 41 79 4d 44 41 35 49 45 56 75 64 48 4a 31 63 33 A3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3
1c8ca0 51 73 49 45 6c 75 59 79 34 67 4c 53 42 6d 62 33 49 67 59 58 56 30 61 47 39 79 61 58 70 6c 5a 43 QsIEluYy4gLSBmb3IgYXV0aG9yaXplZC
1c8cc0 42 31 63 32 55 67 0a 62 32 35 73 65 54 45 79 4d 44 41 47 41 31 55 45 41 78 4d 70 52 57 35 30 63 B1c2Ug.b25seTEyMDAGA1UEAxMpRW50c
1c8ce0 6e 56 7a 64 43 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 nVzdCBSb290IENlcnRpZmljYXRpb24gQ
1c8d00 58 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 7a 49 77 0a 48 68 63 4e 4d 44 6b 77 4e 7a 41 33 XV0aG9yaXR5IC0gRzIw.HhcNMDkwNzA3
1c8d20 4d 54 63 79 4e 54 55 30 57 68 63 4e 4d 7a 41 78 4d 6a 41 33 4d 54 63 31 4e 54 55 30 57 6a 43 42 MTcyNTU0WhcNMzAxMjA3MTc1NTU0WjCB
1c8d40 76 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 46 6a 41 55 42 67 4e 56 42 41 6f 54 vjELMAkGA1UEBhMCVVMxFjAUBgNVBAoT
1c8d60 0a 44 55 56 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 79 34 78 4b 44 41 6d 42 67 4e 56 42 41 73 .DUVudHJ1c3QsIEluYy4xKDAmBgNVBAs
1c8d80 54 48 31 4e 6c 5a 53 42 33 64 33 63 75 5a 57 35 30 63 6e 56 7a 64 43 35 75 5a 58 51 76 62 47 56 TH1NlZSB3d3cuZW50cnVzdC5uZXQvbGV
1c8da0 6e 59 57 77 74 64 47 56 79 62 58 4d 78 0a 4f 54 41 33 42 67 4e 56 42 41 73 54 4d 43 68 6a 4b 53 nYWwtdGVybXMx.OTA3BgNVBAsTMChjKS
1c8dc0 41 79 4d 44 41 35 49 45 56 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 79 34 67 4c 53 42 6d 62 33 AyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3
1c8de0 49 67 59 58 56 30 61 47 39 79 61 58 70 6c 5a 43 42 31 63 32 55 67 62 32 35 73 0a 65 54 45 79 4d IgYXV0aG9yaXplZCB1c2Ugb25s.eTEyM
1c8e00 44 41 47 41 31 55 45 41 78 4d 70 52 57 35 30 63 6e 56 7a 64 43 42 53 62 32 39 30 49 45 4e 6c 63 DAGA1UEAxMpRW50cnVzdCBSb290IENlc
1c8e20 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 43 30 67 52 nRpZmljYXRpb24gQXV0aG9yaXR5IC0gR
1c8e40 7a 49 77 67 67 45 69 0a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 zIwggEi.MA0GCSqGSIb3DQEBAQUAA4IB
1c8e60 44 77 41 77 67 67 45 4b 41 6f 49 42 41 51 43 36 68 4c 5a 79 32 35 34 4d 61 2b 4b 5a 36 54 41 42 DwAwggEKAoIBAQC6hLZy254Ma+KZ6TAB
1c8e80 70 33 62 71 4d 72 69 56 51 52 72 4a 32 6d 46 4f 57 48 4c 50 0a 2f 76 61 43 65 62 39 7a 59 51 59 p3bqMriVQRrJ2mFOWHLP./vaCeb9zYQY
1c8ea0 4b 70 53 66 59 73 31 2f 54 52 55 34 63 63 74 5a 4f 4d 76 4a 79 69 67 2f 33 67 78 6e 51 61 6f 43 KpSfYs1/TRU4cctZOMvJyig/3gxnQaoC
1c8ec0 41 41 45 55 65 73 4d 66 6e 6d 72 38 53 56 79 63 63 6f 32 67 76 43 6f 65 39 61 6d 73 4f 58 6d 58 AAEUesMfnmr8SVycco2gvCoe9amsOXmX
1c8ee0 7a 0a 48 48 66 56 31 49 57 4e 63 43 47 30 73 7a 4c 6e 69 36 4c 56 68 6a 6b 43 73 62 6a 53 52 38 z.HHfV1IWNcCG0szLni6LVhjkCsbjSR8
1c8f00 37 6b 79 55 6e 45 4f 36 66 65 2b 31 52 39 56 37 37 77 36 47 37 43 65 62 49 36 43 31 58 69 55 4a 7kyUnEO6fe+1R9V77w6G7CebI6C1XiUJ
1c8f20 67 57 4d 68 4e 63 4c 33 68 57 77 63 4b 55 0a 73 2f 4a 61 35 43 65 61 6e 79 54 58 78 75 7a 51 6d gWMhNcL3hWwcKU.s/Ja5CeanyTXxuzQm
1c8f40 79 57 43 34 38 7a 43 78 45 58 46 6a 4a 64 36 42 6d 73 71 45 5a 2b 70 43 6d 35 49 4f 32 2f 62 31 yWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1
1c8f60 42 45 5a 51 76 65 50 42 37 2f 31 55 31 2b 63 50 76 51 58 4c 4f 5a 70 72 45 34 79 0a 54 47 4a 33 BEZQvePB7/1U1+cPvQXLOZprE4y.TGJ3
1c8f80 36 72 66 6f 35 62 73 30 76 42 6d 4c 72 70 78 52 35 37 64 2b 74 56 4f 78 4d 79 4c 6c 62 63 39 77 6rfo5bs0vBmLrpxR57d+tVOxMyLlbc9w
1c8fa0 50 42 72 36 34 70 74 6e 74 6f 50 30 6a 61 57 76 59 6b 78 4e 34 46 69 73 5a 44 51 53 41 2f 69 32 PBr64ptntoP0jaWvYkxN4FisZDQSA/i2
1c8fc0 6a 5a 52 6a 4a 4b 52 78 0a 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 34 47 41 31 55 64 44 77 45 jZRjJKRx.AgMBAAGjQjBAMA4GA1UdDwE
1c8fe0 42 2f 77 51 45 41 77 49 42 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 B/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH
1c9000 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 71 63 69 5a 36 0a 30 42 37 76 66 65 63 37 61 56 /MB0GA1UdDgQWBBRqciZ6.0B7vfec7aV
1c9020 48 55 62 49 32 66 6b 42 4a 6d 71 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 HUbI2fkBJmqzANBgkqhkiG9w0BAQsFAA
1c9040 4f 43 41 51 45 41 65 5a 38 64 6c 73 61 32 65 54 38 69 6a 59 66 54 68 77 4d 45 59 47 70 72 6d 69 OCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi
1c9060 35 5a 0a 69 58 4d 52 72 45 50 52 39 52 50 2f 6a 54 6b 72 77 50 4b 39 54 33 43 4d 71 53 2f 71 46 5Z.iXMRrEPR9RP/jTkrwPK9T3CMqS/qF
1c9080 38 51 4c 56 4a 37 55 47 35 61 59 4d 7a 79 6f 72 57 4b 69 41 48 61 72 57 57 6c 75 42 68 31 2b 78 8QLVJ7UG5aYMzyorWKiAHarWWluBh1+x
1c90a0 4c 6c 45 6a 5a 69 76 45 74 52 68 32 77 6f 5a 0a 52 6b 66 7a 36 2f 64 6a 77 55 41 46 51 4b 58 53 LlEjZivEtRh2woZ.Rkfz6/djwUAFQKXS
1c90c0 74 2f 53 31 6d 6a 61 2f 71 59 68 32 69 41 52 56 42 43 75 63 68 33 38 61 4e 7a 78 2b 4c 61 55 61 t/S1mja/qYh2iARVBCuch38aNzx+LaUa
1c90e0 32 4e 53 4a 58 73 71 39 72 44 31 73 32 47 32 76 31 66 4e 32 44 38 30 37 69 44 67 69 0a 6e 57 79 2NSJXsq9rD1s2G2v1fN2D807iDgi.nWy
1c9100 54 6d 73 51 39 76 34 49 62 5a 54 2b 6d 44 31 32 71 2f 4f 57 79 46 63 71 31 72 63 61 38 50 64 43 TmsQ9v4IbZT+mD12q/OWyFcq1rca8PdC
1c9120 45 36 4f 6f 47 63 72 42 4e 4f 54 4a 34 76 7a 34 52 6e 41 75 6b 6e 5a 6f 68 38 2f 43 62 43 7a 42 E6OoGcrBNOTJ4vz4RnAuknZoh8/CbCzB
1c9140 34 32 38 48 63 68 30 50 2b 0a 76 47 4f 61 79 73 58 43 48 4d 6e 48 6a 66 38 37 45 6c 67 49 35 72 428Hch0P+.vGOaysXCHMnHjf87ElgI5r
1c9160 59 39 37 48 6f 73 54 76 75 44 6c 73 34 4d 50 47 6d 48 56 48 4f 6b 63 38 4b 54 2f 31 45 51 72 42 Y97HosTvuDls4MPGmHVHOkc8KT/1EQrB
1c9180 56 55 41 64 6a 38 42 62 47 4a 6f 58 39 30 67 35 70 4a 31 39 78 4f 0a 65 34 70 49 62 34 74 46 39 VUAdj8BbGJoX90g5pJ19xO.e4pIb4tF9
1c91a0 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 45 g==.-----END.CERTIFICATE-----..E
1c91c0 6e 74 72 75 73 74 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 ntrust.Root.Certification.Author
1c91e0 69 74 79 20 2d 20 45 43 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ity.-.EC1.======================
1c9200 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 ====================.-----BEGIN.
1c9220 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 2b 54 43 43 41 6f 43 67 41 77 49 CERTIFICATE-----.MIIC+TCCAoCgAwI
1c9240 42 41 67 49 4e 41 4b 61 4c 65 53 6b 41 41 41 41 41 55 4e 43 52 2b 54 41 4b 42 67 67 71 68 6b 6a BAgINAKaLeSkAAAAAUNCR+TAKBggqhkj
1c9260 4f 50 51 51 44 41 7a 43 42 76 7a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 0a 46 6a OPQQDAzCBvzELMAkGA1UEBhMCVVMx.Fj
1c9280 41 55 42 67 4e 56 42 41 6f 54 44 55 56 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 79 34 78 4b 44 AUBgNVBAoTDUVudHJ1c3QsIEluYy4xKD
1c92a0 41 6d 42 67 4e 56 42 41 73 54 48 31 4e 6c 5a 53 42 33 64 33 63 75 5a 57 35 30 63 6e 56 7a 64 43 AmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC
1c92c0 35 75 5a 58 51 76 62 47 56 6e 0a 59 57 77 74 64 47 56 79 62 58 4d 78 4f 54 41 33 42 67 4e 56 42 5uZXQvbGVn.YWwtdGVybXMxOTA3BgNVB
1c92e0 41 73 54 4d 43 68 6a 4b 53 41 79 4d 44 45 79 49 45 56 75 64 48 4a 31 63 33 51 73 49 45 6c 75 59 AsTMChjKSAyMDEyIEVudHJ1c3QsIEluY
1c9300 79 34 67 4c 53 42 6d 62 33 49 67 59 58 56 30 61 47 39 79 61 58 70 6c 0a 5a 43 42 31 63 32 55 67 y4gLSBmb3IgYXV0aG9yaXpl.ZCB1c2Ug
1c9320 62 32 35 73 65 54 45 7a 4d 44 45 47 41 31 55 45 41 78 4d 71 52 57 35 30 63 6e 56 7a 64 43 42 53 b25seTEzMDEGA1UEAxMqRW50cnVzdCBS
1c9340 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 b290IENlcnRpZmljYXRpb24gQXV0aG9y
1c9360 61 58 52 35 0a 49 43 30 67 52 55 4d 78 4d 42 34 58 44 54 45 79 4d 54 49 78 4f 44 45 31 4d 6a 55 aXR5.IC0gRUMxMB4XDTEyMTIxODE1MjU
1c9380 7a 4e 6c 6f 58 44 54 4d 33 4d 54 49 78 4f 44 45 31 4e 54 55 7a 4e 6c 6f 77 67 62 38 78 43 7a 41 zNloXDTM3MTIxODE1NTUzNlowgb8xCzA
1c93a0 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d 52 59 77 0a 46 41 59 44 56 51 51 4b 45 77 31 46 62 6e JBgNVBAYTAlVTMRYw.FAYDVQQKEw1Fbn
1c93c0 52 79 64 58 4e 30 4c 43 42 4a 62 6d 4d 75 4d 53 67 77 4a 67 59 44 56 51 51 4c 45 78 39 54 5a 57 RydXN0LCBJbmMuMSgwJgYDVQQLEx9TZW
1c93e0 55 67 64 33 64 33 4c 6d 56 75 64 48 4a 31 63 33 51 75 62 6d 56 30 4c 32 78 6c 5a 32 46 73 0a 4c Ugd3d3LmVudHJ1c3QubmV0L2xlZ2Fs.L
1c9400 58 52 6c 63 6d 31 7a 4d 54 6b 77 4e 77 59 44 56 51 51 4c 45 7a 41 6f 59 79 6b 67 4d 6a 41 78 4d XRlcm1zMTkwNwYDVQQLEzAoYykgMjAxM
1c9420 69 42 46 62 6e 52 79 64 58 4e 30 4c 43 42 4a 62 6d 4d 75 49 43 30 67 5a 6d 39 79 49 47 46 31 64 iBFbnRydXN0LCBJbmMuIC0gZm9yIGF1d
1c9440 47 68 76 63 6d 6c 36 5a 57 51 67 0a 64 58 4e 6c 49 47 39 75 62 48 6b 78 4d 7a 41 78 42 67 4e 56 Ghvcml6ZWQg.dXNlIG9ubHkxMzAxBgNV
1c9460 42 41 4d 54 4b 6b 56 75 64 48 4a 31 63 33 51 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 BAMTKkVudHJ1c3QgUm9vdCBDZXJ0aWZp
1c9480 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 53 41 74 0a 49 45 56 44 4d 54 42 Y2F0aW9uIEF1dGhvcml0eSAt.IEVDMTB
1c94a0 32 4d 42 41 47 42 79 71 47 53 4d 34 39 41 67 45 47 42 53 75 42 42 41 41 69 41 32 49 41 42 49 51 2MBAGByqGSM49AgEGBSuBBAAiA2IABIQ
1c94c0 54 79 64 43 36 62 55 46 37 34 6d 7a 51 36 31 56 66 5a 67 49 61 4a 50 52 62 69 57 6c 48 34 37 6a TydC6bUF74mzQ61VfZgIaJPRbiWlH47j
1c94e0 43 66 66 48 79 0a 41 73 57 66 6f 50 5a 62 31 59 73 47 47 59 5a 50 55 78 42 74 42 79 51 6e 6f 61 CffHy.AsWfoPZb1YsGGYZPUxBtByQnoa
1c9500 44 34 31 55 63 5a 59 55 78 39 79 70 4d 6e 36 6e 51 4d 37 32 2b 57 43 66 35 6a 37 48 42 64 4e 71 D41UcZYUx9ypMn6nQM72+WCf5j7HBdNq
1c9520 31 6e 64 36 37 4a 6e 58 78 56 52 44 71 69 59 31 45 66 0a 39 65 4e 69 31 4b 6c 48 42 7a 37 4d 49 1nd67JnXxVRDqiY1Ef.9eNi1KlHBz7MI
1c9540 4b 4e 43 4d 45 41 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 KNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA
1c9560 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 42 42 59 45 0a 1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE.
1c9580 46 4c 64 6a 35 78 72 64 6a 65 6b 49 70 6c 57 44 70 4f 42 71 55 45 46 6c 45 55 4a 4a 4d 41 6f 47 FLdj5xrdjekIplWDpOBqUEFlEUJJMAoG
1c95a0 43 43 71 47 53 4d 34 39 42 41 4d 44 41 32 63 41 4d 47 51 43 4d 47 46 35 32 4f 56 43 52 39 38 63 CCqGSM49BAMDA2cAMGQCMGF52OVCR98c
1c95c0 72 6c 4f 5a 46 37 5a 76 48 48 33 68 0a 76 78 47 55 30 51 4f 49 64 65 53 4e 69 61 53 4b 64 30 62 rlOZF7ZvHH3h.vxGU0QOIdeSNiaSKd0b
1c95e0 65 62 57 48 76 41 76 58 37 74 64 2f 4d 2f 6b 37 2f 2f 71 6e 6d 70 77 49 77 57 35 6e 58 68 54 63 ebWHvAvX7td/M/k7//qnmpwIwW5nXhTc
1c9600 47 74 58 73 49 2f 65 73 6e 69 30 71 55 2b 65 48 36 70 34 34 6d 43 4f 68 38 0a 6b 6d 68 74 63 39 GtXsI/esni0qU+eH6p44mCOh8.kmhtc9
1c9620 68 76 4a 71 77 68 41 72 69 5a 74 79 5a 42 57 79 56 67 72 74 42 49 47 75 34 47 0a 2d 2d 2d 2d 2d hvJqwhAriZtyZBWyVgrtBIGu4G.-----
1c9640 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 46 43 41 20 45 56 20 52 4f END.CERTIFICATE-----..CFCA.EV.RO
1c9660 4f 54 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 OT.============.-----BEGIN.CERTI
1c9680 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 6a 54 43 43 41 33 57 67 41 77 49 42 41 67 49 45 FICATE-----.MIIFjTCCA3WgAwIBAgIE
1c96a0 47 45 72 4d 31 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 57 4d 51 73 77 GErM1jANBgkqhkiG9w0BAQsFADBWMQsw
1c96c0 43 51 59 44 56 51 51 47 45 77 4a 44 54 6a 45 77 4d 43 34 47 41 31 55 45 0a 43 67 77 6e 51 32 68 CQYDVQQGEwJDTjEwMC4GA1UE.CgwnQ2h
1c96e0 70 62 6d 45 67 52 6d 6c 75 59 57 35 6a 61 57 46 73 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 pbmEgRmluYW5jaWFsIENlcnRpZmljYXR
1c9700 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 52 55 77 45 77 59 44 56 51 51 44 44 41 78 pb24gQXV0aG9yaXR5MRUwEwYDVQQDDAx
1c9720 44 52 6b 4e 42 0a 49 45 56 57 49 46 4a 50 54 31 51 77 48 68 63 4e 4d 54 49 77 4f 44 41 34 4d 44 DRkNB.IEVWIFJPT1QwHhcNMTIwODA4MD
1c9740 4d 77 4e 7a 41 78 57 68 63 4e 4d 6a 6b 78 4d 6a 4d 78 4d 44 4d 77 4e 7a 41 78 57 6a 42 57 4d 51 MwNzAxWhcNMjkxMjMxMDMwNzAxWjBWMQ
1c9760 73 77 43 51 59 44 56 51 51 47 45 77 4a 44 54 6a 45 77 0a 4d 43 34 47 41 31 55 45 43 67 77 6e 51 swCQYDVQQGEwJDTjEw.MC4GA1UECgwnQ
1c9780 32 68 70 62 6d 45 67 52 6d 6c 75 59 57 35 6a 61 57 46 73 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 2hpbmEgRmluYW5jaWFsIENlcnRpZmljY
1c97a0 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 52 55 77 45 77 59 44 56 51 51 44 0a XRpb24gQXV0aG9yaXR5MRUwEwYDVQQD.
1c97c0 44 41 78 44 52 6b 4e 42 49 45 56 57 49 46 4a 50 54 31 51 77 67 67 49 69 4d 41 30 47 43 53 71 47 DAxDRkNBIEVWIFJPT1QwggIiMA0GCSqG
1c97e0 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 44 58 SIb3DQEBAQUAA4ICDwAwggIKAoICAQDX
1c9800 58 57 76 4e 45 44 38 66 42 56 6e 56 0a 42 55 30 33 73 51 37 73 6d 43 75 4f 46 52 33 36 6b 30 73 XWvNED8fBVnV.BU03sQ7smCuOFR36k0s
1c9820 58 67 69 46 78 45 46 4c 58 55 57 52 77 46 73 4a 56 61 55 32 4f 46 57 32 66 76 77 77 62 77 75 43 XgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuC
1c9840 6a 5a 39 59 4d 72 4d 38 69 72 71 39 33 56 43 70 4c 54 49 70 54 55 6e 72 44 0a 37 69 37 65 73 33 jZ9YMrM8irq93VCpLTIpTUnrD.7i7es3
1c9860 45 6c 77 65 6c 64 50 65 36 68 4c 36 50 33 4b 6a 7a 4a 49 78 31 71 71 78 32 68 70 2f 48 7a 37 4b ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7K
1c9880 44 56 52 4d 38 56 7a 33 49 76 48 57 4f 58 36 4a 6e 35 2f 5a 4f 6b 56 49 42 4d 55 74 52 53 71 79 DVRM8Vz3IvHWOX6Jn5/ZOkVIBMUtRSqy
1c98a0 35 4a 33 35 44 4e 0a 75 46 2b 2b 50 39 36 68 79 6b 30 67 31 43 58 6f 68 43 6c 54 74 37 47 49 48 5J35DN.uF++P96hyk0g1CXohClTt7GIH
1c98c0 2f 2f 36 32 70 43 66 43 71 6b 74 51 54 2b 78 38 52 67 70 37 68 5a 5a 4c 44 52 4a 47 71 67 47 31 //62pCfCqktQT+x8Rgp7hZZLDRJGqgG1
1c98e0 36 69 49 30 67 4e 79 65 6a 4c 69 36 6d 68 4e 62 69 79 57 0a 5a 58 76 4b 57 66 72 79 34 74 33 75 6iI0gNyejLi6mhNbiyW.ZXvKWfry4t3u
1c9900 4d 43 7a 37 7a 45 61 73 78 47 50 72 62 33 38 32 4b 7a 52 7a 45 70 52 2f 33 38 77 6d 6e 76 46 79 MCz7zEasxGPrb382KzRzEpR/38wmnvFy
1c9920 58 56 42 6c 57 59 39 70 73 34 64 65 4d 6d 2f 44 47 49 71 31 6c 59 2b 77 65 6a 66 65 57 6b 55 37 XVBlWY9ps4deMm/DGIq1lY+wejfeWkU7
1c9940 0a 78 7a 62 68 37 32 66 52 4f 64 4f 58 57 33 4e 69 47 55 67 74 68 78 77 47 2b 33 53 59 49 45 6c .xzbh72fROdOXW3NiGUgthxwG+3SYIEl
1c9960 7a 38 41 58 53 47 37 47 67 6f 37 63 62 63 4e 4f 49 61 62 6c 61 31 6a 6a 30 59 74 77 6c 69 33 69 z8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i
1c9980 2f 2b 4f 68 2b 75 46 7a 4a 6c 55 39 66 0a 70 79 32 35 49 47 76 50 61 39 33 31 44 66 53 43 74 2f /+Oh+uFzJlU9f.py25IGvPa931DfSCt/
1c99a0 53 79 5a 69 34 51 4b 50 61 58 57 6e 75 57 46 6f 38 42 47 53 31 73 62 6e 38 35 57 41 5a 6b 67 77 SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgw
1c99c0 47 44 67 38 4e 4e 6b 74 30 79 78 6f 65 6b 4e 2b 6b 57 7a 71 6f 74 61 4b 38 4b 0a 67 57 55 36 63 GDg8NNkt0yxoekN+kWzqotaK8K.gWU6c
1c99e0 4d 47 62 72 55 31 74 56 4d 6f 71 4c 55 75 46 47 37 4f 41 35 6e 42 46 44 57 74 65 4e 66 42 2f 4f MGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O
1c9a00 37 69 63 35 41 52 77 69 52 49 6c 6b 39 6f 4b 6d 53 4a 67 61 6d 4e 67 54 6e 59 47 6d 45 36 39 67 7ic5ARwiRIlk9oKmSJgamNgTnYGmE69g
1c9a20 36 30 64 57 49 6f 6c 0a 68 64 4c 48 5a 52 34 74 6a 73 62 66 74 73 62 68 66 34 6f 45 49 52 55 70 60dWIol.hdLHZR4tjsbftsbhf4oEIRUp
1c9a40 64 50 41 2b 6e 4a 43 64 44 43 37 78 69 6a 35 61 71 67 77 4a 48 73 66 56 50 4b 50 74 6c 38 4d 65 dPA+nJCdDC7xij5aqgwJHsfVPKPtl8Me
1c9a60 4e 50 6f 34 2b 51 67 4f 34 38 42 64 4b 34 50 52 56 6d 72 4a 0a 74 71 68 55 55 79 35 34 4d 6d 63 NPo4+QgO48BdK4PRVmrJ.tqhUUy54Mmc
1c9a80 39 67 6e 39 30 30 50 76 68 74 67 56 67 75 58 44 62 6a 67 76 35 45 31 68 76 63 57 41 51 55 68 43 9gn900PvhtgVguXDbjgv5E1hvcWAQUhC
1c9aa0 35 77 55 45 4a 37 33 49 66 5a 7a 46 34 2f 35 59 46 6a 51 49 44 41 51 41 42 6f 32 4d 77 59 54 41 5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTA
1c9ac0 66 0a 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 54 6a 2f 69 33 39 4b 4e 41 4c 74 62 71 32 6f 73 f.BgNVHSMEGDAWgBTj/i39KNALtbq2os
1c9ae0 53 2f 42 71 6f 46 6a 4a 50 37 4c 7a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 S/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQ
1c9b00 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 0a 2f 77 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 H/MA4GA1UdDwEB./wQEAwIBBjAdBgNVH
1c9b20 51 34 45 46 67 51 55 34 2f 34 74 2f 53 6a 51 43 37 57 36 74 71 4c 45 76 77 61 71 42 59 79 54 2b Q4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+
1c9b40 79 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 0a 41 43 58 47 y8wDQYJKoZIhvcNAQELBQADggIB.ACXG
1c9b60 75 6d 76 72 68 38 76 65 67 6a 6d 57 50 66 42 45 70 32 75 45 63 77 50 65 6e 53 74 50 75 69 42 2f umvrh8vegjmWPfBEp2uEcwPenStPuiB/
1c9b80 76 48 69 79 7a 35 65 77 47 35 7a 7a 31 33 6b 75 39 55 69 32 30 76 73 58 69 4f 62 54 65 6a 2f 74 vHiyz5ewG5zz13ku9Ui20vsXiObTej/t
1c9ba0 55 78 50 51 34 69 39 71 0a 65 63 73 41 49 79 6a 6d 48 6a 64 58 4e 59 6d 45 77 6e 5a 50 4e 44 61 UxPQ4i9q.ecsAIyjmHjdXNYmEwnZPNDa
1c9bc0 74 5a 38 50 4f 51 51 61 49 78 66 66 75 32 42 71 34 31 67 74 2f 55 50 2b 54 71 68 64 4c 6a 4f 7a tZ8POQQaIxffu2Bq41gt/UP+TqhdLjOz
1c9be0 74 55 6d 43 79 70 41 62 71 54 75 76 30 61 78 6e 39 36 2f 55 61 0a 34 43 55 71 6d 74 7a 48 51 54 tUmCypAbqTuv0axn96/Ua.4CUqmtzHQT
1c9c00 62 33 79 48 51 46 68 44 6d 56 4f 64 59 4c 4f 36 51 6e 2b 67 6a 59 58 42 37 34 42 47 42 53 45 53 b3yHQFhDmVOdYLO6Qn+gjYXB74BGBSES
1c9c20 67 6f 41 2f 2f 76 55 32 59 41 70 55 6f 30 46 6d 5a 38 2f 51 6d 6b 72 70 35 6e 47 6d 39 42 43 32 goA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2
1c9c40 73 47 0a 45 35 75 50 68 6e 45 46 74 43 2b 4e 69 57 59 7a 4b 58 5a 55 6d 68 48 34 4a 2f 71 79 50 sG.E5uPhnEFtC+NiWYzKXZUmhH4J/qyP
1c9c60 35 48 67 7a 67 30 62 38 7a 41 61 72 62 38 69 58 52 76 54 76 79 55 46 54 65 47 53 47 6e 2b 5a 6e 5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+Zn
1c9c80 7a 78 45 6b 38 72 55 51 45 6c 73 67 49 66 58 0a 42 44 72 44 4d 6c 49 31 44 6c 62 34 70 64 31 39 zxEk8rUQElsgIfX.BDrDMlI1Dlb4pd19
1c9ca0 78 49 73 4e 45 52 39 54 79 78 36 79 46 37 5a 6f 64 31 72 67 31 4d 76 49 42 36 37 31 4f 69 36 4f xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6O
1c9cc0 4e 37 66 51 41 55 74 44 4b 58 65 4d 4f 5a 65 50 67 6c 72 34 55 65 57 4a 6f 42 6a 6e 0a 61 48 39 N7fQAUtDKXeMOZePglr4UeWJoBjn.aH9
1c9ce0 64 43 69 37 37 6f 30 63 4f 50 61 59 6a 65 73 59 42 78 34 2f 49 58 72 39 74 67 46 61 2b 69 69 53 dCi77o0cOPaYjesYBx4/IXr9tgFa+iiS
1c9d00 36 4d 2b 71 66 34 54 49 52 6e 76 48 53 54 34 44 32 47 30 43 76 4f 4a 34 52 55 48 6c 7a 45 68 4c 6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhL
1c9d20 4e 35 6d 79 64 4c 49 68 79 0a 50 44 43 42 42 70 45 69 36 6c 6d 74 32 68 6b 75 49 73 4b 4e 75 59 N5mydLIhy.PDCBBpEi6lmt2hkuIsKNuY
1c9d40 79 48 34 47 61 38 63 79 4e 66 49 57 52 6a 67 45 6a 31 6f 44 77 59 50 5a 54 49 53 45 45 64 51 4c yH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQL
1c9d60 70 65 2f 76 35 57 4f 61 48 49 7a 31 36 65 47 57 52 47 45 4e 6f 58 0a 6b 62 63 46 67 4b 79 4c 6d pe/v5WOaHIz16eGWRGENoX.kbcFgKyLm
1c9d80 5a 4a 39 35 36 4c 59 42 77 73 32 4a 2b 64 49 65 57 43 4b 77 39 63 54 58 50 68 79 51 4e 39 4b 79 ZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky
1c9da0 38 2b 5a 41 41 6f 41 43 78 47 56 32 6c 5a 46 41 34 67 4b 6e 32 66 51 31 58 6d 78 71 49 31 41 62 8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1Ab
1c9dc0 51 33 43 0a 65 6b 44 36 38 31 39 6b 52 35 4c 4c 55 37 6d 37 57 63 35 50 2f 64 41 56 55 77 48 59 Q3C.ekD6819kR5LLU7m7Wc5P/dAVUwHY
1c9de0 33 2b 76 5a 35 6e 62 76 30 43 4f 37 4f 36 6c 35 73 39 55 43 4b 63 32 4a 6f 35 59 50 53 6a 58 6e 3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXn
1c9e00 54 6b 4c 41 64 63 30 48 7a 2b 59 73 36 33 73 75 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 TkLAdc0Hz+Ys63su.-----END.CERTIF
1c9e20 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4f 49 53 54 45 20 57 49 53 65 4b 65 79 20 47 6c 6f 62 61 6c ICATE-----..OISTE.WISeKey.Global
1c9e40 20 52 6f 6f 74 20 47 42 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Root.GB.CA.====================
1c9e60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1c9e80 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 74 54 43 43 41 70 32 67 41 77 49 42 41 67 49 51 64 72 45 67 TE-----.MIIDtTCCAp2gAwIBAgIQdrEg
1c9ea0 55 6e 54 77 68 59 64 47 73 2f 67 6a 47 76 62 43 77 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 UnTwhYdGs/gjGvbCwDANBgkqhkiG9w0B
1c9ec0 41 51 73 46 41 44 42 74 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 44 53 44 45 51 4d 41 34 AQsFADBtMQswCQYDVQQG.EwJDSDEQMA4
1c9ee0 47 41 31 55 45 43 68 4d 48 56 30 6c 54 5a 55 74 6c 65 54 45 69 4d 43 41 47 41 31 55 45 43 78 4d GA1UEChMHV0lTZUtleTEiMCAGA1UECxM
1c9f00 5a 54 30 6c 54 56 45 55 67 52 6d 39 31 62 6d 52 68 64 47 6c 76 62 69 42 46 62 6d 52 76 63 6e 4e ZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnN
1c9f20 6c 0a 5a 44 45 6f 4d 43 59 47 41 31 55 45 41 78 4d 66 54 30 6c 54 56 45 55 67 56 30 6c 54 5a 55 l.ZDEoMCYGA1UEAxMfT0lTVEUgV0lTZU
1c9f40 74 6c 65 53 42 48 62 47 39 69 59 57 77 67 55 6d 39 76 64 43 42 48 51 69 42 44 51 54 41 65 46 77 tleSBHbG9iYWwgUm9vdCBHQiBDQTAeFw
1c9f60 30 78 4e 44 45 79 4d 44 45 78 4e 54 41 77 0a 4d 7a 4a 61 46 77 30 7a 4f 54 45 79 4d 44 45 78 4e 0xNDEyMDExNTAw.MzJaFw0zOTEyMDExN
1c9f80 54 45 77 4d 7a 46 61 4d 47 30 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4e 49 4d 52 41 77 44 TEwMzFaMG0xCzAJBgNVBAYTAkNIMRAwD
1c9fa0 67 59 44 56 51 51 4b 45 77 64 58 53 56 4e 6c 53 32 56 35 4d 53 49 77 49 41 59 44 0a 56 51 51 4c gYDVQQKEwdXSVNlS2V5MSIwIAYD.VQQL
1c9fc0 45 78 6c 50 53 56 4e 55 52 53 42 47 62 33 56 75 5a 47 46 30 61 57 39 75 49 45 56 75 5a 47 39 79 ExlPSVNURSBGb3VuZGF0aW9uIEVuZG9y
1c9fe0 63 32 56 6b 4d 53 67 77 4a 67 59 44 56 51 51 44 45 78 39 50 53 56 4e 55 52 53 42 58 53 56 4e 6c c2VkMSgwJgYDVQQDEx9PSVNURSBXSVNl
1ca000 53 32 56 35 49 45 64 73 0a 62 32 4a 68 62 43 42 53 62 32 39 30 49 45 64 43 49 45 4e 42 4d 49 49 S2V5IEds.b2JhbCBSb290IEdCIENBMII
1ca020 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 BIjANBgkqhkiG9w0BAQEFAAOCAQ8AMII
1ca040 42 43 67 4b 43 41 51 45 41 32 42 65 33 48 45 6f 6b 4b 74 61 58 0a 73 63 72 69 48 76 74 39 4f 4f BCgKCAQEA2Be3HEokKtaX.scriHvt9OO
1ca060 2b 59 39 62 49 35 6d 45 34 6e 75 42 46 64 65 39 49 6c 6c 49 69 43 46 53 5a 71 47 7a 47 37 71 46 +Y9bI5mE4nuBFde9IllIiCFSZqGzG7qF
1ca080 73 68 49 53 76 59 44 30 36 66 57 76 47 78 57 75 52 35 31 6a 49 6a 4b 2b 46 54 7a 4a 6c 46 58 48 shISvYD06fWvGxWuR51jIjK+FTzJlFXH
1ca0a0 74 50 0a 72 62 79 2f 68 30 6f 4c 53 35 64 61 71 50 5a 49 37 48 31 37 44 63 30 68 42 74 2b 65 46 tP.rby/h0oLS5daqPZI7H17Dc0hBt+eF
1ca0c0 66 31 42 69 6b 69 33 49 50 53 68 65 68 74 58 31 46 31 51 2f 37 70 6e 32 43 4f 5a 48 38 67 2f 34 f1Biki3IPShehtX1F1Q/7pn2COZH8g/4
1ca0e0 39 37 2f 62 31 74 33 73 57 74 75 75 4d 6c 6b 0a 39 2b 48 4b 51 55 59 4f 4b 58 48 51 75 53 50 38 97/b1t3sWtuuMlk.9+HKQUYOKXHQuSP8
1ca100 79 59 46 66 54 76 64 76 33 37 2b 45 72 58 4e 6b 75 37 64 43 6a 6d 6e 32 31 48 59 64 66 70 32 6e yYFfTvdv37+ErXNku7dCjmn21HYdfp2n
1ca120 75 46 65 4b 55 57 64 79 31 39 53 6f 75 4a 56 55 51 48 4d 44 39 75 72 30 36 2f 34 6f 0a 51 6e 63 uFeKUWdy19SouJVUQHMD9ur06/4o.Qnc
1ca140 2f 6e 53 4d 62 73 72 59 39 67 42 51 48 54 43 35 50 39 39 55 4b 46 67 32 39 5a 6b 4d 33 66 69 4e /nSMbsrY9gBQHTC5P99UKFg29ZkM3fiN
1ca160 44 65 63 4e 41 68 76 56 4d 4b 64 71 4f 6d 71 30 4e 70 51 53 48 69 42 36 46 34 2b 6c 54 31 5a 76 DecNAhvVMKdqOmq0NpQSHiB6F4+lT1Zv
1ca180 49 69 77 4e 6a 65 4f 76 67 0a 47 55 70 75 75 79 39 72 4d 32 52 59 6b 36 31 70 76 34 38 62 37 34 IiwNjeOvg.GUpuuy9rM2RYk61pv48b74
1ca1a0 4a 49 78 77 49 44 41 51 41 42 6f 31 45 77 54 7a 41 4c 42 67 4e 56 48 51 38 45 42 41 4d 43 41 59 JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAY
1ca1c0 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 0a 2f 7a 41 64 42 67 4e 56 48 YwDwYDVR0TAQH/BAUwAwEB./zAdBgNVH
1ca1e0 51 34 45 46 67 51 55 4e 51 2f 49 4e 6d 4e 65 34 71 50 73 2b 54 74 6d 46 63 35 52 55 75 4f 52 6d Q4EFgQUNQ/INmNe4qPs+TtmFc5RUuORm
1ca200 6a 30 77 45 41 59 4a 4b 77 59 42 42 41 47 43 4e 78 55 42 42 41 4d 43 41 51 41 77 44 51 59 4a 4b j0wEAYJKwYBBAGCNxUBBAMCAQAwDQYJK
1ca220 6f 5a 49 0a 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 42 41 45 42 4d 2b 34 65 79 6d 59 47 51 oZI.hvcNAQELBQADggEBAEBM+4eymYGQ
1ca240 66 70 33 46 73 4c 41 6d 7a 59 68 37 4b 7a 4b 4e 62 72 67 68 63 56 69 58 66 61 34 33 46 4b 38 2b fp3FsLAmzYh7KzKNbrghcViXfa43FK8+
1ca260 35 2f 65 61 34 6e 33 32 63 5a 69 5a 42 4b 70 44 0a 64 48 69 6a 34 30 6c 68 50 6e 4f 4d 54 5a 54 5/ea4n32cZiZBKpD.dHij40lhPnOMTZT
1ca280 67 2b 58 48 45 74 68 59 4f 55 33 67 66 31 71 4b 48 4c 77 49 35 67 53 6b 38 72 78 57 59 49 54 44 g+XHEthYOU3gf1qKHLwI5gSk8rxWYITD
1ca2a0 2b 4b 4a 41 41 6a 4e 48 68 79 2f 70 65 79 50 33 34 45 45 59 37 6f 6e 68 43 6b 52 64 30 0a 56 51 +KJAAjNHhy/peyP34EEY7onhCkRd0.VQ
1ca2c0 72 65 55 47 64 4e 5a 74 47 6e 2f 2f 33 5a 77 4c 57 6f 6f 34 72 4f 5a 76 55 50 51 38 32 6e 4b 31 reUGdNZtGn//3ZwLWoo4rOZvUPQ82nK1
1ca2e0 64 37 59 30 5a 71 71 69 35 53 32 50 54 74 34 57 32 74 4b 5a 42 34 53 4c 72 68 49 36 71 6a 69 65 d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjie
1ca300 79 31 71 35 62 41 74 45 75 69 0a 48 5a 65 65 65 76 4a 75 51 48 48 66 61 50 46 6c 54 63 35 38 42 y1q5bAtEui.HZeeevJuQHHfaPFlTc58B
1ca320 64 39 54 5a 61 6d 6c 38 4c 47 58 42 48 41 56 52 67 4f 59 31 4e 4b 2f 56 4c 53 67 57 48 31 53 62 d9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb
1ca340 39 70 57 4a 6d 4c 55 32 4e 75 4a 4d 57 38 63 38 43 4c 43 30 32 49 63 0a 4e 63 31 4d 61 52 56 55 9pWJmLU2NuJMW8c8CLC02Ic.Nc1MaRVU
1ca360 47 70 43 59 33 75 73 65 58 38 70 33 78 38 75 4f 50 55 4e 70 6e 4a 70 59 30 43 51 37 33 78 74 41 GpCY3useX8p3x8uOPUNpnJpY0CQ73xtA
1ca380 6c 6e 34 31 72 59 48 48 54 6e 47 36 69 42 4d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 ln41rYHHTnG6iBM=.-----END.CERTIF
1ca3a0 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 5a 41 46 49 52 20 52 4f 4f 54 20 43 41 32 0a 3d 3d 3d 3d ICATE-----..SZAFIR.ROOT.CA2.====
1ca3c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1ca3e0 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 63 6a 43 43 41 6c 71 67 41 77 49 42 41 67 49 55 50 6f 70 64 TE-----.MIIDcjCCAlqgAwIBAgIUPopd
1ca400 42 2b 78 56 30 6a 4c 56 74 2b 4f 32 58 77 48 72 4c 64 7a 6b 31 75 51 77 44 51 59 4a 4b 6f 5a 49 B+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZI
1ca420 68 76 63 4e 41 51 45 4c 42 51 41 77 55 54 45 4c 4d 41 6b 47 0a 41 31 55 45 42 68 4d 43 55 45 77 hvcNAQELBQAwUTELMAkG.A1UEBhMCUEw
1ca440 78 4b 44 41 6d 42 67 4e 56 42 41 6f 4d 48 30 74 79 59 57 70 76 64 32 45 67 53 58 70 69 59 53 42 xKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSB
1ca460 53 62 33 70 73 61 57 4e 36 5a 57 35 70 62 33 64 68 49 46 4d 75 51 53 34 78 47 44 41 57 42 67 4e Sb3psaWN6ZW5pb3dhIFMuQS4xGDAWBgN
1ca480 56 0a 42 41 4d 4d 44 31 4e 61 51 55 5a 4a 55 69 42 53 54 30 39 55 49 45 4e 42 4d 6a 41 65 46 77 V.BAMMD1NaQUZJUiBST09UIENBMjAeFw
1ca4a0 30 78 4e 54 45 77 4d 54 6b 77 4e 7a 51 7a 4d 7a 42 61 46 77 30 7a 4e 54 45 77 4d 54 6b 77 4e 7a 0xNTEwMTkwNzQzMzBaFw0zNTEwMTkwNz
1ca4c0 51 7a 4d 7a 42 61 4d 46 45 78 43 7a 41 4a 0a 42 67 4e 56 42 41 59 54 41 6c 42 4d 4d 53 67 77 4a QzMzBaMFExCzAJ.BgNVBAYTAlBMMSgwJ
1ca4e0 67 59 44 56 51 51 4b 44 42 39 4c 63 6d 46 71 62 33 64 68 49 45 6c 36 59 6d 45 67 55 6d 39 36 62 gYDVQQKDB9LcmFqb3dhIEl6YmEgUm96b
1ca500 47 6c 6a 65 6d 56 75 61 57 39 33 59 53 42 54 4c 6b 45 75 4d 52 67 77 46 67 59 44 0a 56 51 51 44 GljemVuaW93YSBTLkEuMRgwFgYD.VQQD
1ca520 44 41 39 54 57 6b 46 47 53 56 49 67 55 6b 39 50 56 43 42 44 51 54 49 77 67 67 45 69 4d 41 30 47 DA9TWkFGSVIgUk9PVCBDQTIwggEiMA0G
1ca540 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f 49 42 CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
1ca560 41 51 43 33 76 44 35 51 0a 71 45 76 4e 51 4c 58 4f 59 65 65 57 79 72 53 68 32 67 77 69 73 50 71 AQC3vD5Q.qEvNQLXOYeeWyrSh2gwisPq
1ca580 31 65 33 59 41 64 34 77 4c 7a 33 32 6f 68 73 77 6d 55 65 51 67 50 59 55 4d 31 6c 6a 6a 35 2f 51 1e3YAd4wLz32ohswmUeQgPYUM1ljj5/Q
1ca5a0 71 47 4a 33 61 30 61 34 6d 37 75 74 54 33 50 53 51 31 68 4e 4b 0a 44 4a 41 38 77 2f 54 61 30 6f qGJ3a0a4m7utT3PSQ1hNK.DJA8w/Ta0o
1ca5c0 34 4e 6b 6a 72 63 73 62 48 2f 4f 4e 37 44 75 69 31 66 67 4c 6b 43 76 55 71 64 47 77 2b 30 77 38 4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8
1ca5e0 4c 42 5a 77 50 64 33 42 75 63 50 62 4f 77 33 67 41 65 71 44 52 48 75 35 72 72 2f 67 73 55 76 54 LBZwPd3BucPbOw3gAeqDRHu5rr/gsUvT
1ca600 61 45 0a 32 67 30 67 76 2f 70 62 79 36 6b 57 49 4b 30 35 59 4f 34 76 64 62 62 6e 6c 35 7a 35 50 aE.2g0gv/pby6kWIK05YO4vdbbnl5z5P
1ca620 76 31 2b 54 57 39 4e 4c 2b 2b 49 44 57 72 36 33 66 45 39 62 69 43 6c 6f 42 4b 30 54 58 43 35 7a v1+TW9NL++IDWr63fE9biCloBK0TXC5z
1ca640 74 64 79 4f 34 6d 54 70 34 43 45 48 43 64 4a 0a 63 6b 6d 31 2f 7a 75 56 6e 73 48 4d 79 41 48 73 tdyO4mTp4CEHCdJ.ckm1/zuVnsHMyAHs
1ca660 36 41 36 4b 43 70 62 6e 73 36 61 48 35 64 62 35 42 53 73 4e 6c 30 42 77 50 4c 71 73 64 56 71 63 6A6KCpbns6aH5db5BSsNl0BwPLqsdVqc
1ca680 31 55 32 64 41 67 72 53 53 35 74 6d 53 30 59 48 46 32 57 74 6e 32 79 49 41 4e 77 69 0a 69 65 44 1U2dAgrSS5tmS0YHF2Wtn2yIANwi.ieD
1ca6a0 68 5a 4e 52 6e 76 44 46 35 59 54 79 37 79 6b 48 4e 58 47 6f 41 79 44 77 34 6a 6c 69 76 41 67 4d hZNRnvDF5YTy7ykHNXGoAyDw4jlivAgM
1ca6c0 42 41 41 47 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 BAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8
1ca6e0 77 44 67 59 44 56 52 30 50 0a 41 51 48 2f 42 41 51 44 41 67 45 47 4d 42 30 47 41 31 55 64 44 67 wDgYDVR0P.AQH/BAQDAgEGMB0GA1UdDg
1ca700 51 57 42 42 51 75 46 71 6c 4b 47 4c 58 4c 7a 50 56 76 55 50 4d 6a 58 2f 68 64 35 36 7a 77 79 44 QWBBQuFqlKGLXLzPVvUPMjX/hd56zwyD
1ca720 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 0a 41 51 45 41 74 58 50 34 41 ANBgkqhkiG9w0BAQsFAAOC.AQEAtXP4A
1ca740 39 78 5a 57 78 31 32 36 61 4d 71 65 35 41 6f 73 6b 33 41 4d 30 2b 71 6d 72 48 55 75 4f 51 6e 2f 9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/
1ca760 36 6d 57 6d 63 35 47 34 47 31 38 54 4b 49 34 70 41 5a 77 38 50 52 42 45 65 77 2f 52 34 30 2f 63 6mWmc5G4G18TKI4pAZw8PRBEew/R40/c
1ca780 6f 66 35 0a 4f 2f 32 6b 62 79 74 54 41 4f 44 2f 4f 62 6c 71 42 77 37 72 48 52 7a 32 6f 6e 4b 51 of5.O/2kbytTAOD/OblqBw7rHRz2onKQ
1ca7a0 79 34 49 39 45 59 4b 4c 30 72 75 66 4b 71 38 68 35 6d 4f 47 6e 58 6b 5a 37 2f 65 37 44 44 57 51 y4I9EYKL0rufKq8h5mOGnXkZ7/e7DDWQ
1ca7c0 77 34 72 74 54 77 2f 31 7a 42 4c 5a 70 44 36 37 0a 6f 50 77 67 6c 56 39 50 4a 69 38 52 49 34 4e w4rtTw/1zBLZpD67.oPwglV9PJi8RI4N
1ca7e0 4f 64 51 63 50 76 35 76 52 74 42 33 70 45 41 54 2b 79 6d 43 50 6f 6b 79 34 72 63 2f 68 6b 41 2f OdQcPv5vRtB3pEAT+ymCPoky4rc/hkA/
1ca800 4e 72 67 72 48 58 58 75 33 55 4e 4c 55 59 66 72 56 46 64 76 58 6e 34 64 52 56 4f 75 6c 0a 34 2b NrgrHXXu3UNLUYfrVFdvXn4dRVOul.4+
1ca820 76 4a 68 61 41 6c 49 44 66 37 6a 73 34 4d 4e 49 54 68 50 49 47 79 64 30 35 44 70 59 68 66 68 6d vJhaAlIDf7js4MNIThPIGyd05DpYhfhm
1ca840 65 68 50 65 61 30 58 47 47 32 50 74 76 2b 74 79 6a 46 6f 67 65 75 74 63 72 4b 6a 53 6f 53 37 35 ehPea0XGG2Ptv+tyjFogeutcrKjSoS75
1ca860 66 74 77 6a 43 6b 79 53 70 36 0a 2b 2f 4e 4e 49 78 75 5a 4d 7a 53 67 4c 76 57 70 43 7a 2f 55 58 ftwjCkySp6.+/NNIxuZMzSgLvWpCz/UX
1ca880 65 48 50 68 4a 2f 69 47 63 4a 66 69 74 59 67 48 75 4e 7a 74 77 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 eHPhJ/iGcJfitYgHuNztw==.-----END
1ca8a0 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 75 6d 20 54 72 75 73 74 65 .CERTIFICATE-----..Certum.Truste
1ca8c0 64 20 4e 65 74 77 6f 72 6b 20 43 41 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d d.Network.CA.2.=================
1ca8e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 ==========.-----BEGIN.CERTIFICAT
1ca900 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 30 6a 43 43 41 37 71 67 41 77 49 42 41 67 49 51 49 64 62 51 53 E-----.MIIF0jCCA7qgAwIBAgIQIdbQS
1ca920 6b 38 6c 44 38 6b 79 4e 2f 79 71 58 68 4b 4e 36 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 k8lD8kyN/yqXhKN6TANBgkqhkiG9w0BA
1ca940 51 30 46 41 44 43 42 67 44 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 55 45 77 78 49 6a 41 67 Q0FADCBgDELMAkGA1UE.BhMCUEwxIjAg
1ca960 42 67 4e 56 42 41 6f 54 47 56 56 75 61 58 70 6c 64 47 38 67 56 47 56 6a 61 47 35 76 62 47 39 6e BgNVBAoTGVVuaXpldG8gVGVjaG5vbG9n
1ca980 61 57 56 7a 49 46 4d 75 51 53 34 78 4a 7a 41 6c 42 67 4e 56 42 41 73 54 48 6b 4e 6c 63 6e 52 31 aWVzIFMuQS4xJzAlBgNVBAsTHkNlcnR1
1ca9a0 0a 62 53 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c .bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml
1ca9c0 30 65 54 45 6b 4d 43 49 47 41 31 55 45 41 78 4d 62 51 32 56 79 64 48 56 74 49 46 52 79 64 58 4e 0eTEkMCIGA1UEAxMbQ2VydHVtIFRydXN
1ca9e0 30 5a 57 51 67 54 6d 56 30 64 32 39 79 0a 61 79 42 44 51 53 41 79 4d 43 49 59 44 7a 49 77 4d 54 0ZWQgTmV0d29y.ayBDQSAyMCIYDzIwMT
1caa00 45 78 4d 44 41 32 4d 44 67 7a 4f 54 55 32 57 68 67 50 4d 6a 41 30 4e 6a 45 77 4d 44 59 77 4f 44 ExMDA2MDgzOTU2WhgPMjA0NjEwMDYwOD
1caa20 4d 35 4e 54 5a 61 4d 49 47 41 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 51 0a 54 44 45 69 4d M5NTZaMIGAMQswCQYDVQQGEwJQ.TDEiM
1caa40 43 41 47 41 31 55 45 43 68 4d 5a 56 57 35 70 65 6d 56 30 62 79 42 55 5a 57 4e 6f 62 6d 39 73 62 CAGA1UEChMZVW5pemV0byBUZWNobm9sb
1caa60 32 64 70 5a 58 4d 67 55 79 35 42 4c 6a 45 6e 4d 43 55 47 41 31 55 45 43 78 4d 65 51 32 56 79 64 2dpZXMgUy5BLjEnMCUGA1UECxMeQ2Vyd
1caa80 48 56 74 49 45 4e 6c 0a 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 HVtIENl.cnRpZmljYXRpb24gQXV0aG9y
1caaa0 61 58 52 35 4d 53 51 77 49 67 59 44 56 51 51 44 45 78 74 44 5a 58 4a 30 64 57 30 67 56 48 4a 31 aXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1
1caac0 63 33 52 6c 5a 43 42 4f 5a 58 52 33 62 33 4a 72 49 45 4e 42 0a 49 44 49 77 67 67 49 69 4d 41 30 c3RlZCBOZXR3b3JrIENB.IDIwggIiMA0
1caae0 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoI
1cab00 43 41 51 43 39 2b 58 6a 34 35 74 57 41 44 47 53 64 68 68 75 57 5a 47 63 2f 49 6a 6f 65 64 51 46 CAQC9+Xj45tWADGSdhhuWZGc/IjoedQF
1cab20 39 0a 37 2f 74 63 5a 34 7a 4a 7a 46 78 72 71 5a 48 6d 75 55 4c 6c 49 45 75 62 32 70 74 37 75 5a 9.7/tcZ4zJzFxrqZHmuULlIEub2pt7uZ
1cab40 6c 64 32 5a 75 41 53 39 65 45 51 43 73 6e 30 2b 69 36 4d 4c 73 2b 43 52 71 6e 53 5a 58 76 4b 30 ld2ZuAS9eEQCsn0+i6MLs+CRqnSZXvK0
1cab60 41 6b 77 70 66 48 70 2b 36 62 4a 65 2b 6f 0a 43 67 43 58 68 56 71 71 6e 64 77 70 79 65 49 31 42 AkwpfHp+6bJe+o.CgCXhVqqndwpyeI1B
1cab80 2b 74 77 54 55 72 57 77 62 4e 57 75 4b 46 42 4f 4a 76 52 2b 7a 46 2f 6a 2b 42 66 34 62 45 2f 44 +twTUrWwbNWuKFBOJvR+zF/j+Bf4bE/D
1caba0 34 34 57 53 57 44 58 42 6f 30 59 2b 61 6f 6d 45 4b 73 71 30 39 44 52 5a 34 30 62 0a 52 72 35 48 44WSWDXBo0Y+aomEKsq09DRZ40b.Rr5H
1cabc0 4d 4e 55 75 63 74 48 46 59 39 72 6e 59 33 6c 45 66 6b 74 6a 4a 49 6d 47 4c 6a 51 2f 4b 55 78 53 MNUuctHFY9rnY3lEfktjJImGLjQ/KUxS
1cabe0 69 79 71 6e 77 4f 4b 52 4b 49 6d 35 77 46 76 35 48 64 6e 6e 4a 36 33 2f 6d 67 4b 58 77 63 5a 51 iyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQ
1cac00 6b 70 73 43 4c 4c 32 70 0a 75 54 52 5a 43 72 2b 45 53 76 2f 66 2f 72 4f 66 36 39 6d 65 34 4a 67 kpsCLL2p.uTRZCr+ESv/f/rOf69me4Jg
1cac20 6a 37 4b 5a 72 64 78 59 71 32 38 79 74 4f 78 79 6b 68 39 78 47 63 31 34 5a 59 6d 68 46 56 2b 53 j7KZrdxYq28ytOxykh9xGc14ZYmhFV+S
1cac40 51 67 6b 4b 37 51 74 62 77 59 65 44 42 6f 7a 31 6d 6f 31 33 30 0a 47 4f 36 49 79 59 30 58 52 53 QgkK7QtbwYeDBoz1mo130.GO6IyY0XRS
1cac60 6d 5a 4d 6e 55 43 4d 65 34 70 4a 73 68 72 41 75 61 31 59 6b 56 2f 4e 78 56 61 49 32 69 4a 31 44 mZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D
1cac80 37 65 54 69 65 77 38 45 41 4d 76 45 30 58 79 30 32 69 73 78 37 51 42 6c 72 64 39 70 50 50 56 33 7eTiew8EAMvE0Xy02isx7QBlrd9pPPV3
1caca0 57 5a 0a 39 66 71 47 47 6d 64 34 73 37 2b 57 2f 6a 54 63 76 65 64 53 56 75 57 7a 35 58 56 37 31 WZ.9fqGGmd4s7+W/jTcvedSVuWz5XV71
1cacc0 30 47 52 42 64 78 64 61 65 4f 56 44 55 4f 35 2f 49 4f 57 4f 5a 56 37 62 49 42 61 54 78 4e 79 78 0GRBdxdaeOVDUO5/IOWOZV7bIBaTxNyx
1cace0 74 64 39 4b 58 70 45 75 6c 4b 6b 4b 74 56 42 0a 52 67 6b 67 2f 69 4b 67 74 6c 73 77 6a 62 79 4a td9KXpEulKkKtVB.Rgkg/iKgtlswjbyJ
1cad00 44 4e 58 58 63 50 69 48 55 76 33 61 37 36 78 52 4c 67 65 7a 54 76 37 51 43 64 70 77 37 35 6a 36 DNXXcPiHUv3a76xRLgezTv7QCdpw75j6
1cad20 56 75 5a 74 32 37 56 58 53 39 7a 6c 4c 43 55 56 79 4a 34 75 65 45 37 34 32 70 79 65 0a 68 69 7a VuZt27VXS9zlLCUVyJ4ueE742pye.hiz
1cad40 4b 56 2f 4d 61 35 63 69 53 69 78 71 43 6c 6e 72 44 76 46 41 53 61 64 67 4f 57 6b 61 4c 4f 75 73 KV/Ma5ciSixqClnrDvFASadgOWkaLOus
1cad60 6d 2b 69 50 4a 74 72 43 42 76 6b 49 41 70 50 6a 57 2f 6a 41 75 78 39 4a 47 39 75 57 4f 64 66 33 m+iPJtrCBvkIApPjW/jAux9JG9uWOdf3
1cad80 79 7a 4c 6e 51 68 31 76 4d 0a 42 68 42 67 75 34 4d 31 74 31 35 6e 33 6b 66 73 6d 55 6a 78 70 4b yzLnQh1vM.BhBgu4M1t15n3kfsmUjxpK
1cada0 45 56 2f 71 32 4d 59 6f 34 35 56 55 38 35 46 72 6d 78 59 35 33 2f 74 77 49 44 41 51 41 42 6f 30 EV/q2MYo45VU85FrmxY53/twIDAQABo0
1cadc0 49 77 51 44 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 42 30 47 41 IwQDAPBgNVHRMBAf8EBTAD.AQH/MB0GA
1cade0 31 55 64 44 67 51 57 42 42 53 32 6f 56 51 35 41 73 4f 67 50 34 36 4b 76 50 72 55 2b 42 79 6d 30 1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0
1cae00 54 6f 4f 2f 54 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 51 59 4a 4b ToO/TAOBgNVHQ8BAf8EBAMCAQYwDQYJK
1cae20 6f 5a 49 0a 68 76 63 4e 41 51 45 4e 42 51 41 44 67 67 49 42 41 48 47 6c 44 73 37 6b 36 62 38 2f oZI.hvcNAQENBQADggIBAHGlDs7k6b8/
1cae40 4f 4e 57 4a 57 73 51 43 59 66 74 4d 78 52 51 58 4c 59 74 50 55 32 73 51 46 2f 78 6c 68 4d 63 51 ONWJWsQCYftMxRQXLYtPU2sQF/xlhMcQ
1cae60 53 5a 44 65 32 38 63 6d 6b 34 67 6d 62 33 44 57 0a 41 6c 34 35 6f 50 65 50 71 35 61 31 70 52 4e SZDe28cmk4gmb3DW.Al45oPePq5a1pRN
1cae80 63 67 52 52 74 44 6f 47 43 45 52 75 4b 54 73 5a 50 70 64 31 69 48 6b 54 66 43 56 6e 30 57 33 63 cgRRtDoGCERuKTsZPpd1iHkTfCVn0W3c
1caea0 4c 4e 2b 6d 4c 49 4d 62 34 43 6b 34 75 57 42 7a 72 4d 39 44 50 68 6d 44 4a 32 76 75 41 0a 4c 35 LN+mLIMb4Ck4uWBzrM9DPhmDJ2vuA.L5
1caec0 35 4d 59 49 52 34 50 53 46 6b 31 76 74 42 48 78 67 50 35 38 6c 31 63 62 32 39 58 4e 34 30 68 7a 5MYIR4PSFk1vtBHxgP58l1cb29XN40hz
1caee0 35 42 73 41 37 32 75 64 59 2f 43 52 4f 57 46 43 2f 65 6d 68 31 61 75 56 62 4f 4e 54 71 77 58 33 5BsA72udY/CROWFC/emh1auVbONTqwX3
1caf00 42 4e 58 75 4d 70 38 53 4d 6f 0a 63 6c 6d 32 71 38 4b 4d 5a 69 59 63 64 79 77 6d 64 6a 57 4c 4b BNXuMp8SMo.clm2q8KMZiYcdywmdjWLK
1caf20 4b 64 70 6f 50 6b 37 39 53 50 64 68 52 42 30 79 5a 41 44 56 70 48 6e 72 37 70 48 31 42 4b 58 45 KdpoPk79SPdhRB0yZADVpHnr7pH1BKXE
1caf40 53 4c 6a 6f 6b 6d 55 62 4f 65 33 6c 45 75 36 4c 61 54 61 4d 34 74 4d 0a 70 6b 54 2f 57 6a 7a 47 SLjokmUbOe3lEu6LaTaM4tM.pkT/WjzG
1caf60 48 57 54 59 74 54 48 6b 70 6a 78 36 71 46 63 4c 32 2b 31 68 47 73 76 78 7a 6e 4e 33 59 36 53 48 HWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SH
1caf80 62 30 78 52 4f 4e 62 6b 58 38 65 66 74 6f 45 71 35 49 56 49 65 56 68 65 4f 2f 6a 62 41 6f 4a 6e b0xRONbkX8eftoEq5IVIeVheO/jbAoJn
1cafa0 77 54 6e 62 0a 77 33 52 4c 50 54 59 65 2b 53 6d 54 69 47 68 62 71 45 51 5a 49 66 43 6e 36 49 45 wTnb.w3RLPTYe+SmTiGhbqEQZIfCn6IE
1cafc0 4e 4c 4f 69 54 4e 72 51 33 73 73 71 77 47 79 5a 36 6d 69 55 66 6d 70 71 41 6e 6b 73 71 50 2f 75 NLOiTNrQ3ssqwGyZ6miUfmpqAnksqP/u
1cafe0 6a 6d 76 35 7a 4d 6e 48 43 6e 73 5a 79 34 59 70 6f 0a 4a 2f 48 6b 44 37 54 45 54 4b 56 68 6b 2f jmv5zMnHCnsZy4Ypo.J/HkD7TETKVhk/
1cb000 69 58 45 41 63 71 4d 43 57 70 75 63 68 78 75 4f 39 6f 7a 43 31 2b 39 65 42 2b 44 34 4b 6f 62 37 iXEAcqMCWpuchxuO9ozC1+9eB+D4Kob7
1cb020 61 36 62 49 4e 44 64 38 32 4b 6b 68 65 68 6e 6c 74 34 46 6a 31 46 34 6a 4e 79 33 65 46 6d 0a 79 a6bINDd82Kkhehnlt4Fj1F4jNy3eFm.y
1cb040 70 6e 54 79 63 55 6d 2f 51 31 6f 42 45 61 75 74 74 6d 62 6a 4c 34 5a 76 72 48 47 38 68 6e 6a 58 pnTycUm/Q1oBEauttmbjL4ZvrHG8hnjX
1cb060 41 4c 4b 4c 4e 68 76 53 67 66 5a 79 54 58 61 51 48 58 79 78 4b 63 5a 62 35 35 43 45 4a 68 31 35 ALKLNhvSgfZyTXaQHXyxKcZb55CEJh15
1cb080 70 57 4c 59 4c 7a 74 78 52 4c 58 0a 69 73 37 56 6d 46 78 57 6c 67 50 46 37 6e 63 47 4e 66 2f 50 pWLYLztxRLX.is7VmFxWlgPF7ncGNf/P
1cb0a0 35 4f 34 2f 45 32 48 75 32 39 6f 74 68 66 44 4e 72 70 32 79 47 41 6c 46 77 35 4b 68 63 68 66 38 5O4/E2Hu29othfDNrp2yGAlFw5Khchf8
1cb0c0 52 37 61 67 43 79 7a 78 78 4e 35 44 61 41 68 71 58 7a 76 77 64 6d 50 37 0a 7a 41 59 73 70 73 62 R7agCyzxxN5DaAhqXzvwdmP7.zAYspsb
1cb0e0 69 44 72 57 35 76 69 53 50 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d iDrW5viSP.-----END.CERTIFICATE--
1cb100 2d 2d 2d 0a 0a 48 65 6c 6c 65 6e 69 63 20 41 63 61 64 65 6d 69 63 20 61 6e 64 20 52 65 73 65 61 ---..Hellenic.Academic.and.Resea
1cb120 72 63 68 20 49 6e 73 74 69 74 75 74 69 6f 6e 73 20 52 6f 6f 74 43 41 20 32 30 31 35 0a 3d 3d 3d rch.Institutions.RootCA.2015.===
1cb140 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1cb160 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 ====================.-----BEGIN.
1cb180 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 47 43 7a 43 43 41 2f 4f 67 41 77 49 CERTIFICATE-----.MIIGCzCCA/OgAwI
1cb1a0 42 41 67 49 42 41 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 70 6a 45 BAgIBADANBgkqhkiG9w0BAQsFADCBpjE
1cb1c0 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 31 49 78 44 7a 41 4e 42 67 4e 56 42 41 63 54 0a 42 6b LMAkGA1UEBhMCR1IxDzANBgNVBAcT.Bk
1cb1e0 46 30 61 47 56 75 63 7a 46 45 4d 45 49 47 41 31 55 45 43 68 4d 37 53 47 56 73 62 47 56 75 61 57 F0aGVuczFEMEIGA1UEChM7SGVsbGVuaW
1cb200 4d 67 51 57 4e 68 5a 47 56 74 61 57 4d 67 59 57 35 6b 49 46 4a 6c 63 32 56 68 63 6d 4e 6f 49 45 MgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIE
1cb220 6c 75 63 33 52 70 64 48 56 30 0a 61 57 39 75 63 79 42 44 5a 58 4a 30 4c 69 42 42 64 58 52 6f 62 luc3RpdHV0.aW9ucyBDZXJ0LiBBdXRob
1cb240 33 4a 70 64 48 6b 78 51 44 41 2b 42 67 4e 56 42 41 4d 54 4e 30 68 6c 62 47 78 6c 62 6d 6c 6a 49 3JpdHkxQDA+BgNVBAMTN0hlbGxlbmljI
1cb260 45 46 6a 59 57 52 6c 62 57 6c 6a 49 47 46 75 5a 43 42 53 5a 58 4e 6c 0a 59 58 4a 6a 61 43 42 4a EFjYWRlbWljIGFuZCBSZXNl.YXJjaCBJ
1cb280 62 6e 4e 30 61 58 52 31 64 47 6c 76 62 6e 4d 67 55 6d 39 76 64 45 4e 42 49 44 49 77 4d 54 55 77 bnN0aXR1dGlvbnMgUm9vdENBIDIwMTUw
1cb2a0 48 68 63 4e 4d 54 55 77 4e 7a 41 33 4d 54 41 78 4d 54 49 78 57 68 63 4e 4e 44 41 77 4e 6a 4d 77 HhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMw
1cb2c0 4d 54 41 78 0a 4d 54 49 78 57 6a 43 42 70 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 52 31 49 MTAx.MTIxWjCBpjELMAkGA1UEBhMCR1I
1cb2e0 78 44 7a 41 4e 42 67 4e 56 42 41 63 54 42 6b 46 30 61 47 56 75 63 7a 46 45 4d 45 49 47 41 31 55 xDzANBgNVBAcTBkF0aGVuczFEMEIGA1U
1cb300 45 43 68 4d 37 53 47 56 73 62 47 56 75 61 57 4d 67 0a 51 57 4e 68 5a 47 56 74 61 57 4d 67 59 57 EChM7SGVsbGVuaWMg.QWNhZGVtaWMgYW
1cb320 35 6b 49 46 4a 6c 63 32 56 68 63 6d 4e 6f 49 45 6c 75 63 33 52 70 64 48 56 30 61 57 39 75 63 79 5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucy
1cb340 42 44 5a 58 4a 30 4c 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 78 51 44 41 2b 42 67 4e 56 0a 42 BDZXJ0LiBBdXRob3JpdHkxQDA+BgNV.B
1cb360 41 4d 54 4e 30 68 6c 62 47 78 6c 62 6d 6c 6a 49 45 46 6a 59 57 52 6c 62 57 6c 6a 49 47 46 75 5a AMTN0hlbGxlbmljIEFjYWRlbWljIGFuZ
1cb380 43 42 53 5a 58 4e 6c 59 58 4a 6a 61 43 42 4a 62 6e 4e 30 61 58 52 31 64 47 6c 76 62 6e 4d 67 55 CBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgU
1cb3a0 6d 39 76 64 45 4e 42 49 44 49 77 0a 4d 54 55 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 m9vdENBIDIw.MTUwggIiMA0GCSqGSIb3
1cb3c0 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 44 43 2b 4b 6b 2f DQEBAQUAA4ICDwAwggIKAoICAQDC+Kk/
1cb3e0 47 34 6e 38 50 44 77 45 58 54 32 51 4e 72 43 52 4f 6e 6b 38 5a 6c 72 76 0a 62 54 6b 42 53 52 71 G4n8PDwEXT2QNrCROnk8Zlrv.bTkBSRq
1cb400 30 74 38 39 2f 54 53 4e 54 74 35 41 41 34 78 4d 71 4b 4b 59 78 38 5a 45 41 34 79 6a 73 72 69 46 0t89/TSNTt5AA4xMqKKYx8ZEA4yjsriF
1cb420 42 7a 68 2f 61 2f 58 30 53 57 77 47 44 44 37 6d 77 58 35 6e 68 38 68 4b 44 67 45 30 47 50 74 2b Bzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+
1cb440 73 72 2b 65 68 0a 69 47 73 78 72 2f 43 4c 30 42 67 7a 75 4e 74 46 61 6a 54 30 41 6f 41 6b 4b 41 sr+eh.iGsxr/CL0BgzuNtFajT0AoAkKA
1cb460 6f 43 46 5a 56 65 64 69 6f 4e 6d 54 6f 55 57 2f 62 4c 79 31 4f 38 45 30 30 42 69 44 65 55 4a 52 oCFZVedioNmToUW/bLy1O8E00BiDeUJR
1cb480 74 43 76 43 4c 59 6a 71 4f 57 58 6a 72 5a 4d 74 73 2b 0a 36 50 41 51 5a 65 31 30 34 53 2b 6e 66 tCvCLYjqOWXjrZMts+.6PAQZe104S+nf
1cb4a0 4b 38 6e 4e 4c 73 70 66 5a 75 32 7a 77 6e 49 35 64 4d 4b 2f 49 68 6c 5a 58 51 4b 33 48 4d 63 58 K8nNLspfZu2zwnI5dMK/IhlZXQK3HMcX
1cb4c0 4d 31 41 73 52 7a 55 74 6f 53 4d 54 46 44 50 61 49 36 6f 57 61 37 43 4a 30 36 43 6f 6a 58 64 0a M1AsRzUtoSMTFDPaI6oWa7CJ06CojXd.
1cb4e0 46 50 51 66 2f 37 4a 33 31 59 63 76 71 6d 35 39 4a 43 66 6e 78 73 73 6d 35 75 58 2b 5a 77 64 6a FPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj
1cb500 32 45 55 4e 33 54 70 5a 5a 54 6c 59 65 70 4b 5a 63 6a 32 63 68 46 36 49 49 62 6a 56 39 43 7a 38 2EUN3TpZZTlYepKZcj2chF6IIbjV9Cz8
1cb520 32 58 42 53 54 33 69 34 76 54 77 72 0a 69 35 57 59 39 62 50 52 61 4d 38 67 46 48 35 4d 58 46 2f 2XBST3i4vTwr.i5WY9bPRaM8gFH5MXF/
1cb540 6e 69 2b 58 31 4e 59 45 5a 4e 39 63 52 43 4c 64 6d 76 74 4e 4b 7a 6f 4e 58 41 44 72 44 67 66 67 ni+X1NYEZN9cRCLdmvtNKzoNXADrDgfg
1cb560 58 79 35 49 32 58 64 47 6a 32 48 55 62 34 59 73 6e 36 6e 70 49 51 66 31 46 0a 47 51 61 74 4a 35 Xy5I2XdGj2HUb4Ysn6npIQf1F.GQatJ5
1cb580 6c 4f 77 58 42 48 33 62 57 66 67 56 4d 53 35 62 47 4d 53 46 30 78 51 78 66 6a 6a 4d 5a 36 59 35 lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6Y5
1cb5a0 5a 4c 4b 54 42 4f 68 45 35 69 47 56 34 38 7a 70 65 51 70 58 38 42 36 35 33 67 2b 49 75 4a 33 53 ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3S
1cb5c0 57 59 50 5a 4b 32 0a 66 75 2f 5a 38 56 46 52 66 53 30 6d 79 47 6c 5a 59 65 43 73 61 72 67 71 4e WYPZK2.fu/Z8VFRfS0myGlZYeCsargqN
1cb5e0 68 45 45 65 6c 43 39 4d 6f 53 2b 4c 39 78 79 31 64 63 64 46 6b 66 6b 52 32 59 67 50 2f 53 57 78 hEEelC9MoS+L9xy1dcdFkfkR2YgP/SWx
1cb600 61 2b 4f 41 58 71 6c 44 33 70 6b 39 51 30 59 68 39 6d 75 0a 69 4e 58 36 68 4d 45 36 77 47 6b 6f a+OAXqlD3pk9Q0Yh9mu.iNX6hME6wGko
1cb620 4c 66 49 4e 61 46 47 71 34 36 56 33 78 71 53 51 44 71 45 33 69 7a 45 6a 52 38 45 4a 43 4f 74 75 LfINaFGq46V3xqSQDqE3izEjR8EJCOtu
1cb640 39 33 69 62 31 34 4c 38 68 43 43 5a 53 52 6d 32 45 6b 61 78 2b 30 56 56 46 71 6d 6a 5a 61 79 63 93ib14L8hCCZSRm2Ekax+0VVFqmjZayc
1cb660 0a 42 77 2f 71 61 39 77 66 4c 67 5a 79 37 49 61 49 45 75 51 74 32 31 38 46 4c 2b 54 77 41 39 4d .Bw/qa9wfLgZy7IaIEuQt218FL+TwA9M
1cb680 6d 4d 2b 65 41 77 73 31 43 6f 52 63 30 43 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 50 42 67 4e mM+eAws1CoRc0CwIDAQABo0IwQDAPBgN
1cb6a0 56 48 52 4d 42 41 66 38 45 42 54 41 44 0a 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 VHRMBAf8EBTAD.AQH/MA4GA1UdDwEB/w
1cb6c0 51 45 41 77 49 42 42 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 63 52 56 6e 79 4d 6a 4a 76 58 QEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvX
1cb6e0 56 64 63 74 41 34 47 47 71 64 38 33 45 6b 56 41 73 77 44 51 59 4a 4b 6f 5a 49 0a 68 76 63 4e 41 VdctA4GGqd83EkVAswDQYJKoZI.hvcNA
1cb700 51 45 4c 42 51 41 44 67 67 49 42 41 48 57 37 62 56 52 4c 71 68 42 59 52 6a 54 79 59 74 63 57 4e QELBQADggIBAHW7bVRLqhBYRjTyYtcWN
1cb720 6c 30 49 58 74 56 73 79 49 65 39 74 43 35 47 38 6a 48 34 66 4f 70 43 74 5a 4d 57 56 64 79 68 44 l0IXtVsyIe9tC5G8jH4fOpCtZMWVdyhD
1cb740 42 4b 67 32 6d 46 2b 0a 44 31 68 59 63 32 52 79 78 2b 68 46 6a 74 79 70 38 69 59 2f 78 6e 6d 4d BKg2mF+.D1hYc2Ryx+hFjtyp8iY/xnmM
1cb760 73 56 4d 49 4d 34 47 77 56 68 4f 2b 35 6c 46 63 32 4a 73 4b 54 30 75 63 56 6c 4d 43 36 55 2f 32 sVMIM4GwVhO+5lFc2JsKT0ucVlMC6U/2
1cb780 44 57 44 71 54 55 4a 56 36 48 77 62 49 53 48 54 47 7a 72 4d 0a 64 2f 4b 34 6b 50 46 6f 78 2f 6c DWDqTUJV6HwbISHTGzrM.d/K4kPFox/l
1cb7a0 61 2f 76 6f 74 39 4c 2f 4a 39 55 55 62 7a 6a 67 51 4b 6a 65 4b 65 61 4f 30 34 77 6c 73 68 59 61 a/vot9L/J9UUbzjgQKjeKeaO04wlshYa
1cb7c0 54 2f 34 6d 57 4a 33 69 42 6a 32 66 6a 52 6e 52 55 6a 74 6b 4e 61 65 4a 4b 39 45 31 30 41 2f 2b T/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+
1cb7e0 79 0a 64 2b 32 56 5a 35 66 6b 73 63 57 72 76 32 6f 6a 36 4e 53 55 34 6b 51 6f 59 73 52 4c 34 76 y.d+2VZ5fkscWrv2oj6NSU4kQoYsRL4v
1cb800 44 59 34 69 6c 72 47 6e 42 2b 4a 47 47 54 65 30 38 44 4d 69 55 4e 52 53 51 72 6c 72 52 47 61 72 DY4ilrGnB+JGGTe08DMiUNRSQrlrRGar
1cb820 39 4b 43 2f 65 61 6a 38 47 73 47 73 56 6e 0a 38 32 38 30 30 76 70 7a 59 34 7a 76 46 72 43 6f 70 9KC/eaj8GsGsVn.82800vpzY4zvFrCop
1cb840 45 59 71 2b 4f 73 53 37 48 4b 30 37 2f 67 72 66 6f 78 53 77 49 75 45 56 50 6b 76 50 75 4e 56 71 EYq+OsS7HK07/grfoxSwIuEVPkvPuNVq
1cb860 4e 78 6d 73 64 6e 68 58 39 69 7a 6a 46 6b 30 57 61 53 72 54 32 79 37 48 78 6a 62 0a 64 61 76 59 NxmsdnhX9izjFk0WaSrT2y7Hxjb.davY
1cb880 79 35 4c 4e 6c 44 68 68 44 67 63 47 48 30 74 47 45 50 45 56 76 6f 32 46 58 44 74 4b 4b 34 46 35 y5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5
1cb8a0 44 37 52 70 6e 30 6c 51 6c 30 33 33 44 6c 5a 64 77 4a 56 71 77 6a 62 44 47 32 6a 4a 39 53 72 63 D7Rpn0lQl033DlZdwJVqwjbDG2jJ9Src
1cb8c0 52 35 71 2b 73 73 37 46 0a 4a 65 6a 36 41 37 6e 61 2b 52 5a 75 6b 59 54 31 48 43 6a 49 2f 43 62 R5q+ss7F.Jej6A7na+RZukYT1HCjI/Cb
1cb8e0 4d 31 78 79 51 56 71 64 66 62 7a 6f 45 76 4d 31 34 69 51 75 4f 44 79 2b 6a 71 6b 2b 69 47 78 49 M1xyQVqdfbzoEvM14iQuODy+jqk+iGxI
1cb900 39 46 67 68 41 44 2f 46 47 54 4e 65 71 65 77 6a 42 43 76 56 74 0a 4a 39 34 43 6a 38 72 44 74 53 9FghAD/FGTNeqewjBCvVt.J94Cj8rDtS
1cb920 76 4b 36 65 76 49 49 56 4d 34 70 63 77 37 32 48 63 33 4d 4b 4a 50 32 57 2f 52 38 6b 43 74 51 58 vK6evIIVM4pcw72Hc3MKJP2W/R8kCtQX
1cb940 6f 58 78 64 5a 4b 4e 59 6d 33 51 64 56 38 68 6e 39 56 54 59 4e 4b 70 58 4d 67 77 44 71 76 6b 50 oXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkP
1cb960 47 61 0a 4a 49 37 5a 6a 6e 48 4b 65 37 69 47 32 72 4b 50 6d 54 34 64 45 77 30 53 45 65 37 55 71 Ga.JI7ZjnHKe7iG2rKPmT4dEw0SEe7Uq
1cb980 2f 44 70 46 58 59 43 35 4f 44 66 71 69 41 65 57 32 47 46 5a 45 43 70 6b 4a 63 4e 72 56 50 53 57 /DpFXYC5ODfqiAeW2GFZECpkJcNrVPSW
1cb9a0 68 32 48 61 67 43 58 5a 57 4b 30 76 6d 39 71 0a 70 2f 55 73 51 75 30 79 72 62 59 68 6e 72 36 38 h2HagCXZWK0vm9q.p/UsQu0yrbYhnr68
1cb9c0 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 48 65 6c 6c .-----END.CERTIFICATE-----..Hell
1cb9e0 65 6e 69 63 20 41 63 61 64 65 6d 69 63 20 61 6e 64 20 52 65 73 65 61 72 63 68 20 49 6e 73 74 69 enic.Academic.and.Research.Insti
1cba00 74 75 74 69 6f 6e 73 20 45 43 43 20 52 6f 6f 74 43 41 20 32 30 31 35 0a 3d 3d 3d 3d 3d 3d 3d 3d tutions.ECC.RootCA.2015.========
1cba20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1cba40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 ===================.-----BEGIN.C
1cba60 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 77 7a 43 43 41 6b 71 67 41 77 49 42 ERTIFICATE-----.MIICwzCCAkqgAwIB
1cba80 41 67 49 42 41 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 6a 43 42 71 6a 45 4c 4d 41 6b 47 AgIBADAKBggqhkjOPQQDAjCBqjELMAkG
1cbaa0 41 31 55 45 42 68 4d 43 52 31 49 78 44 7a 41 4e 42 67 4e 56 42 41 63 54 42 6b 46 30 0a 61 47 56 A1UEBhMCR1IxDzANBgNVBAcTBkF0.aGV
1cbac0 75 63 7a 46 45 4d 45 49 47 41 31 55 45 43 68 4d 37 53 47 56 73 62 47 56 75 61 57 4d 67 51 57 4e uczFEMEIGA1UEChM7SGVsbGVuaWMgQWN
1cbae0 68 5a 47 56 74 61 57 4d 67 59 57 35 6b 49 46 4a 6c 63 32 56 68 63 6d 4e 6f 49 45 6c 75 63 33 52 hZGVtaWMgYW5kIFJlc2VhcmNoIEluc3R
1cbb00 70 64 48 56 30 61 57 39 75 0a 63 79 42 44 5a 58 4a 30 4c 69 42 42 64 58 52 6f 62 33 4a 70 64 48 pdHV0aW9u.cyBDZXJ0LiBBdXRob3JpdH
1cbb20 6b 78 52 44 42 43 42 67 4e 56 42 41 4d 54 4f 30 68 6c 62 47 78 6c 62 6d 6c 6a 49 45 46 6a 59 57 kxRDBCBgNVBAMTO0hlbGxlbmljIEFjYW
1cbb40 52 6c 62 57 6c 6a 49 47 46 75 5a 43 42 53 5a 58 4e 6c 59 58 4a 6a 0a 61 43 42 4a 62 6e 4e 30 61 RlbWljIGFuZCBSZXNlYXJj.aCBJbnN0a
1cbb60 58 52 31 64 47 6c 76 62 6e 4d 67 52 55 4e 44 49 46 4a 76 62 33 52 44 51 53 41 79 4d 44 45 31 4d XR1dGlvbnMgRUNDIFJvb3RDQSAyMDE1M
1cbb80 42 34 58 44 54 45 31 4d 44 63 77 4e 7a 45 77 4d 7a 63 78 4d 6c 6f 58 44 54 51 77 4d 44 59 7a 4d B4XDTE1MDcwNzEwMzcxMloXDTQwMDYzM
1cbba0 44 45 77 0a 4d 7a 63 78 4d 6c 6f 77 67 61 6f 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 64 53 DEw.MzcxMlowgaoxCzAJBgNVBAYTAkdS
1cbbc0 4d 51 38 77 44 51 59 44 56 51 51 48 45 77 5a 42 64 47 68 6c 62 6e 4d 78 52 44 42 43 42 67 4e 56 MQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNV
1cbbe0 42 41 6f 54 4f 30 68 6c 62 47 78 6c 62 6d 6c 6a 0a 49 45 46 6a 59 57 52 6c 62 57 6c 6a 49 47 46 BAoTO0hlbGxlbmlj.IEFjYWRlbWljIGF
1cbc00 75 5a 43 42 53 5a 58 4e 6c 59 58 4a 6a 61 43 42 4a 62 6e 4e 30 61 58 52 31 64 47 6c 76 62 6e 4d uZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnM
1cbc20 67 51 32 56 79 64 43 34 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 55 51 77 51 67 59 44 0a 56 51 gQ2VydC4gQXV0aG9yaXR5MUQwQgYD.VQ
1cbc40 51 44 45 7a 74 49 5a 57 78 73 5a 57 35 70 59 79 42 42 59 32 46 6b 5a 57 31 70 59 79 42 68 62 6d QDEztIZWxsZW5pYyBBY2FkZW1pYyBhbm
1cbc60 51 67 55 6d 56 7a 5a 57 46 79 59 32 67 67 53 57 35 7a 64 47 6c 30 64 58 52 70 62 32 35 7a 49 45 QgUmVzZWFyY2ggSW5zdGl0dXRpb25zIE
1cbc80 56 44 51 79 42 53 62 32 39 30 0a 51 30 45 67 4d 6a 41 78 4e 54 42 32 4d 42 41 47 42 79 71 47 53 VDQyBSb290.Q0EgMjAxNTB2MBAGByqGS
1cbca0 4d 34 39 41 67 45 47 42 53 75 42 42 41 41 69 41 32 49 41 42 4a 4b 67 51 65 68 4c 67 6f 52 63 34 M49AgEGBSuBBAAiA2IABJKgQehLgoRc4
1cbcc0 76 67 78 45 5a 6d 47 5a 45 34 4a 4a 53 2b 64 51 53 38 4b 72 6a 56 50 0a 64 4a 57 79 55 57 52 72 vgxEZmGZE4JJS+dQS8KrjVP.dJWyUWRr
1cbce0 6a 57 76 6d 50 33 43 56 38 41 56 45 52 36 5a 79 4f 46 42 32 6c 51 4a 61 6a 71 34 6f 6e 76 6b 74 jWvmP3CV8AVER6ZyOFB2lQJajq4onvkt
1cbd00 54 70 6e 76 4c 45 68 76 54 43 55 70 36 4e 46 78 57 39 38 64 77 58 55 33 74 4e 66 36 65 33 70 43 TpnvLEhvTCUp6NFxW98dwXU3tNf6e3pC
1cbd20 6e 47 6f 4b 0a 56 6c 70 38 61 51 75 71 67 41 6b 6b 62 48 37 42 52 71 4e 43 4d 45 41 77 44 77 59 nGoK.Vlp8aQuqgAkkbH7BRqNCMEAwDwY
1cbd40 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 DVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8
1cbd60 45 42 41 4d 43 41 51 59 77 48 51 59 44 56 52 30 4f 0a 42 42 59 45 46 4c 51 69 43 34 4b 5a 4a 41 EBAMCAQYwHQYDVR0O.BBYEFLQiC4KZJA
1cbd80 45 4f 6e 4c 76 6b 44 76 32 2f 2b 35 63 67 6b 35 6b 71 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 EOnLvkDv2/+5cgk5kqMAoGCCqGSM49BA
1cbda0 4d 43 41 32 63 41 4d 47 51 43 4d 47 66 4f 46 6d 49 34 6f 71 78 69 52 61 65 70 6c 53 54 41 0a 47 MCA2cAMGQCMGfOFmI4oqxiRaeplSTA.G
1cbdc0 69 65 63 4d 6a 76 41 77 4e 57 36 71 65 66 34 42 45 4e 54 68 65 35 53 49 64 36 64 39 53 57 44 50 iecMjvAwNW6qef4BENThe5SId6d9SWDP
1cbde0 70 35 59 53 79 2f 58 5a 78 4d 4f 49 51 49 77 42 65 46 31 41 64 35 6f 37 53 6f 66 54 55 77 4a 43 p5YSy/XZxMOIQIwBeF1Ad5o7SofTUwJC
1cbe00 41 33 73 53 36 31 6b 46 79 6a 6e 0a 64 63 35 46 5a 58 49 68 46 38 73 69 51 51 36 4d 45 35 67 34 A3sS61kFyjn.dc5FZXIhF8siQQ6ME5g4
1cbe20 6d 6c 52 74 6d 38 72 69 66 4f 6f 43 57 43 4b 52 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 mlRtm8rifOoCWCKR.-----END.CERTIF
1cbe40 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 49 53 52 47 20 52 6f 6f 74 20 58 31 0a 3d 3d 3d 3d 3d 3d 3d ICATE-----..ISRG.Root.X1.=======
1cbe60 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d =====.-----BEGIN.CERTIFICATE----
1cbe80 2d 0a 4d 49 49 46 61 7a 43 43 41 31 4f 67 41 77 49 42 41 67 49 52 41 49 49 51 7a 37 44 53 51 4f -.MIIFazCCA1OgAwIBAgIRAIIQz7DSQO
1cbea0 4e 5a 52 47 50 67 75 32 4f 43 69 77 41 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 NZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQ
1cbec0 41 77 54 7a 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 78 4b 54 41 6e 42 67 4e 56 42 AwTzELMAkGA1UE.BhMCVVMxKTAnBgNVB
1cbee0 41 6f 54 49 45 6c 75 64 47 56 79 62 6d 56 30 49 46 4e 6c 59 33 56 79 61 58 52 35 49 46 4a 6c 63 AoTIEludGVybmV0IFNlY3VyaXR5IFJlc
1cbf00 32 56 68 63 6d 4e 6f 49 45 64 79 62 33 56 77 4d 52 55 77 45 77 59 44 56 51 51 44 0a 45 77 78 4a 2VhcmNoIEdyb3VwMRUwEwYDVQQD.EwxJ
1cbf20 55 31 4a 48 49 46 4a 76 62 33 51 67 57 44 45 77 48 68 63 4e 4d 54 55 77 4e 6a 41 30 4d 54 45 77 U1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEw
1cbf40 4e 44 4d 34 57 68 63 4e 4d 7a 55 77 4e 6a 41 30 4d 54 45 77 4e 44 4d 34 57 6a 42 50 4d 51 73 77 NDM4WhcNMzUwNjA0MTEwNDM4WjBPMQsw
1cbf60 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 70 4d 43 63 47 41 31 55 45 43 68 4d 67 53 57 35 CQYDVQQG.EwJVUzEpMCcGA1UEChMgSW5
1cbf80 30 5a 58 4a 75 5a 58 51 67 55 32 56 6a 64 58 4a 70 64 48 6b 67 55 6d 56 7a 5a 57 46 79 59 32 67 0ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2g
1cbfa0 67 52 33 4a 76 64 58 41 78 46 54 41 54 42 67 4e 56 42 41 4d 54 0a 44 45 6c 54 55 6b 63 67 55 6d gR3JvdXAxFTATBgNVBAMT.DElTUkcgUm
1cbfc0 39 76 64 43 42 59 4d 54 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQ
1cbfe0 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 4b 33 6f 4a 48 50 30 46 44 66 7a 6d 35 ADggIPADCCAgoCggIBAK3oJHP0FDfzm5
1cc000 34 72 0a 56 79 67 63 68 37 37 63 74 39 38 34 6b 49 78 75 50 4f 5a 58 6f 48 6a 33 64 63 4b 69 2f 4r.Vygch77ct984kIxuPOZXoHj3dcKi/
1cc020 76 56 71 62 76 59 41 54 79 6a 62 33 6d 69 47 62 45 53 54 74 72 46 6a 2f 52 51 53 61 37 38 66 30 vVqbvYATyjb3miGbESTtrFj/RQSa78f0
1cc040 75 6f 78 6d 79 46 2b 30 54 4d 38 75 6b 6a 31 0a 33 58 6e 66 73 37 6a 2f 45 76 45 68 6d 6b 76 42 uoxmyF+0TM8ukj1.3Xnfs7j/EvEhmkvB
1cc060 69 6f 5a 78 61 55 70 6d 5a 6d 79 50 66 6a 78 77 76 36 30 70 49 67 62 7a 35 4d 44 6d 67 4b 37 69 ioZxaUpmZmyPfjxwv60pIgbz5MDmgK7i
1cc080 53 34 2b 33 6d 58 36 55 41 35 2f 54 52 35 64 38 6d 55 67 6a 55 2b 67 34 72 6b 38 4b 0a 62 34 4d S4+3mX6UA5/TR5d8mUgjU+g4rk8K.b4M
1cc0a0 75 30 55 6c 58 6a 49 42 30 74 74 6f 76 30 44 69 4e 65 77 4e 77 49 52 74 31 38 6a 41 38 2b 6f 2b u0UlXjIB0ttov0DiNewNwIRt18jA8+o+
1cc0c0 75 33 64 70 6a 71 2b 73 57 54 38 4b 4f 45 55 74 2b 7a 77 76 6f 2f 37 56 33 4c 76 53 79 65 30 72 u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0r
1cc0e0 67 54 42 49 6c 44 48 43 4e 0a 41 79 6d 67 34 56 4d 6b 37 42 50 5a 37 68 6d 2f 45 4c 4e 4b 6a 44 gTBIlDHCN.Aymg4VMk7BPZ7hm/ELNKjD
1cc100 2b 4a 6f 32 46 52 33 71 79 48 42 35 54 30 59 33 48 73 4c 75 4a 76 57 35 69 42 34 59 6c 63 4e 48 +Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNH
1cc120 6c 73 64 75 38 37 6b 47 4a 35 35 74 75 6b 6d 69 38 6d 78 64 41 51 0a 34 51 37 65 32 52 43 4f 46 lsdu87kGJ55tukmi8mxdAQ.4Q7e2RCOF
1cc140 76 75 33 39 36 6a 33 78 2b 55 43 42 35 69 50 4e 67 69 56 35 2b 49 33 6c 67 30 32 64 5a 37 37 44 vu396j3x+UCB5iPNgiV5+I3lg02dZ77D
1cc160 6e 4b 78 48 5a 75 38 41 2f 6c 4a 42 64 69 42 33 51 57 30 4b 74 5a 42 36 61 77 42 64 70 55 4b 44 nKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD
1cc180 39 6a 66 0a 31 62 30 53 48 7a 55 76 4b 42 64 73 30 70 6a 42 71 41 6c 6b 64 32 35 48 4e 37 72 4f 9jf.1b0SHzUvKBds0pjBqAlkd25HN7rO
1cc1a0 72 46 6c 65 61 4a 31 2f 63 74 61 4a 78 51 5a 42 4b 54 35 5a 50 74 30 6d 39 53 54 4a 45 61 64 61 rFleaJ1/ctaJxQZBKT5ZPt0m9STJEada
1cc1c0 6f 30 78 41 48 30 61 68 6d 62 57 6e 4f 6c 46 75 0a 68 6a 75 65 66 58 4b 6e 45 67 56 34 57 65 30 o0xAH0ahmbWnOlFu.hjuefXKnEgV4We0
1cc1e0 2b 55 58 67 56 43 77 4f 50 6a 64 41 76 42 62 49 2b 65 30 6f 63 53 33 4d 46 45 76 7a 47 36 75 42 +UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uB
1cc200 51 45 33 78 44 6b 33 53 7a 79 6e 54 6e 6a 68 38 42 43 4e 41 77 31 46 74 78 4e 72 51 48 0a 75 73 QE3xDk3SzynTnjh8BCNAw1FtxNrQH.us
1cc220 45 77 4d 46 78 49 74 34 49 37 6d 4b 5a 39 59 49 71 69 6f 79 6d 43 7a 4c 71 39 67 77 51 62 6f 6f EwMFxIt4I7mKZ9YIqioymCzLq9gwQboo
1cc240 4d 44 51 61 48 57 42 66 45 62 77 72 62 77 71 48 79 47 4f 30 61 6f 53 43 71 49 33 48 61 61 64 72 MDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr
1cc260 38 66 61 71 55 39 47 59 2f 72 0a 4f 50 4e 6b 33 73 67 72 44 51 6f 6f 2f 2f 66 62 34 68 56 43 31 8faqU9GY/r.OPNk3sgrDQoo//fb4hVC1
1cc280 43 4c 51 4a 31 33 68 65 66 34 59 35 33 43 49 72 55 37 6d 32 59 73 36 78 74 30 6e 55 57 37 2f 76 CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/v
1cc2a0 47 54 31 4d 30 4e 50 41 67 4d 42 41 41 47 6a 51 6a 42 41 4d 41 34 47 0a 41 31 55 64 44 77 45 42 GT1M0NPAgMBAAGjQjBAMA4G.A1UdDwEB
1cc2c0 2f 77 51 45 41 77 49 42 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f /wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/
1cc2e0 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 35 74 46 6e 6d 65 37 62 6c 35 41 46 7a 67 41 69 49 MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiI
1cc300 79 42 70 59 0a 39 75 6d 62 62 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f yBpY.9umbbjANBgkqhkiG9w0BAQsFAAO
1cc320 43 41 67 45 41 56 52 39 59 71 62 79 79 71 46 44 51 44 4c 48 59 47 6d 6b 67 4a 79 6b 49 72 47 46 CAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF
1cc340 31 58 49 70 75 2b 49 4c 6c 61 53 2f 56 39 6c 5a 4c 0a 75 62 68 7a 45 46 6e 54 49 5a 64 2b 35 30 1XIpu+ILlaS/V9lZL.ubhzEFnTIZd+50
1cc360 78 78 2b 37 4c 53 59 4b 30 35 71 41 76 71 46 79 46 57 68 66 46 51 44 6c 6e 72 7a 75 42 5a 36 62 xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6b
1cc380 72 4a 46 65 2b 47 6e 59 2b 45 67 50 62 6b 36 5a 47 51 33 42 65 62 59 68 74 46 38 47 61 56 0a 30 rJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV.0
1cc3a0 6e 78 76 77 75 6f 37 37 78 2f 50 79 39 61 75 4a 2f 47 70 73 4d 69 75 2f 58 31 2b 6d 76 6f 69 42 nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiB
1cc3c0 4f 76 2f 32 58 2f 71 6b 53 73 69 73 52 63 4f 6a 2f 4b 4b 4e 46 74 59 32 50 77 42 79 56 53 35 75 Ov/2X/qkSsisRcOj/KKNFtY2PwByVS5u
1cc3e0 43 62 4d 69 6f 67 7a 69 55 77 74 0a 68 44 79 43 33 2b 36 57 56 77 57 36 4c 4c 76 33 78 4c 66 48 CbMiogziUwt.hDyC3+6WVwW6LLv3xLfH
1cc400 54 6a 75 43 76 6a 48 49 49 6e 4e 7a 6b 74 48 43 67 4b 51 35 4f 52 41 7a 49 34 4a 4d 50 4a 2b 47 TjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+G
1cc420 73 6c 57 59 48 62 34 70 68 6f 77 69 6d 35 37 69 61 7a 74 58 4f 6f 4a 77 0a 54 64 77 4a 78 34 6e slWYHb4phowim57iaztXOoJw.TdwJx4n
1cc440 4c 43 67 64 4e 62 4f 68 64 6a 73 6e 76 7a 71 76 48 75 37 55 72 54 6b 58 57 53 74 41 6d 7a 4f 56 LCgdNbOhdjsnvzqvHu7UrTkXWStAmzOV
1cc460 79 79 67 68 71 70 5a 58 6a 46 61 48 33 70 4f 33 4a 4c 46 2b 6c 2b 2f 2b 73 4b 41 49 75 76 74 64 yyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd
1cc480 37 75 2b 4e 78 0a 65 35 41 57 30 77 64 65 52 6c 4e 38 4e 77 64 43 6a 4e 50 45 6c 70 7a 56 6d 62 7u+Nx.e5AW0wdeRlN8NwdCjNPElpzVmb
1cc4a0 55 71 34 4a 55 61 67 45 69 75 54 44 6b 48 7a 73 78 48 70 46 4b 56 4b 37 71 34 2b 36 33 53 4d 31 Uq4JUagEiuTDkHzsxHpFKVK7q4+63SM1
1cc4c0 4e 39 35 52 31 4e 62 64 57 68 73 63 64 43 62 2b 5a 41 0a 4a 7a 56 63 6f 79 69 33 42 34 33 6e 6a N95R1NbdWhscdCb+ZA.JzVcoyi3B43nj
1cc4e0 54 4f 51 35 79 4f 66 2b 31 43 63 65 57 78 47 31 62 51 56 73 35 5a 75 66 70 73 4d 6c 6a 71 34 55 TOQ5yOf+1CceWxG1bQVs5ZufpsMljq4U
1cc500 69 30 2f 31 6c 76 68 2b 77 6a 43 68 50 34 6b 71 4b 4f 4a 32 71 78 71 34 52 67 71 73 61 68 44 0a i0/1lvh+wjChP4kqKOJ2qxq4RgqsahD.
1cc520 59 56 76 54 48 39 77 37 6a 58 62 79 4c 65 69 4e 64 64 38 58 4d 32 77 39 55 2f 74 37 79 30 46 66 YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff
1cc540 2f 39 79 69 30 47 45 34 34 5a 61 34 72 46 32 4c 4e 39 64 31 31 54 50 41 6d 52 47 75 6e 55 48 42 /9yi0GE44Za4rF2LN9d11TPAmRGunUHB
1cc560 63 6e 57 45 76 67 4a 42 51 6c 39 6e 0a 4a 45 69 55 30 5a 73 6e 76 67 63 2f 75 62 68 50 67 58 52 cnWEvgJBQl9n.JEiU0Zsnvgc/ubhPgXR
1cc580 52 34 58 71 33 37 5a 30 6a 34 72 37 67 31 53 67 45 45 7a 77 78 41 35 37 64 65 6d 79 50 78 67 63 R4Xq37Z0j4r7g1SgEEzwxA57demyPxgc
1cc5a0 59 78 6e 2f 65 52 34 34 2f 4b 4a 34 45 42 73 2b 6c 56 44 52 33 76 65 79 4a 0a 6d 2b 6b 58 51 39 Yxn/eR44/KJ4EBs+lVDR3veyJ.m+kXQ9
1cc5c0 39 62 32 31 2f 2b 6a 68 35 58 6f 73 31 41 6e 58 35 69 49 74 72 65 47 43 63 3d 0a 2d 2d 2d 2d 2d 9b21/+jh5Xos1AnX5iItreGCc=.-----
1cc5e0 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 43 20 52 41 49 5a 20 46 4e END.CERTIFICATE-----..AC.RAIZ.FN
1cc600 4d 54 2d 52 43 4d 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 MT-RCM.================.-----BEG
1cc620 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 67 7a 43 43 41 32 75 67 IN.CERTIFICATE-----.MIIFgzCCA2ug
1cc640 41 77 49 42 41 67 49 50 58 5a 4f 4e 4d 47 63 32 79 41 59 64 47 73 64 55 68 47 6b 48 4d 41 30 47 AwIBAgIPXZONMGc2yAYdGsdUhGkHMA0G
1cc660 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 44 73 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 CSqGSIb3DQEBCwUAMDsxCzAJBgNVBAYT
1cc680 0a 41 6b 56 54 4d 52 45 77 44 77 59 44 56 51 51 4b 44 41 68 47 54 6b 31 55 4c 56 4a 44 54 54 45 .AkVTMREwDwYDVQQKDAhGTk1ULVJDTTE
1cc6a0 5a 4d 42 63 47 41 31 55 45 43 77 77 51 51 55 4d 67 55 6b 46 4a 57 69 42 47 54 6b 31 55 4c 56 4a ZMBcGA1UECwwQQUMgUkFJWiBGTk1ULVJ
1cc6c0 44 54 54 41 65 46 77 30 77 4f 44 45 77 0a 4d 6a 6b 78 4e 54 55 35 4e 54 5a 61 46 77 30 7a 4d 44 DTTAeFw0wODEw.MjkxNTU5NTZaFw0zMD
1cc6e0 41 78 4d 44 45 77 4d 44 41 77 4d 44 42 61 4d 44 73 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b AxMDEwMDAwMDBaMDsxCzAJBgNVBAYTAk
1cc700 56 54 4d 52 45 77 44 77 59 44 56 51 51 4b 44 41 68 47 54 6b 31 55 4c 56 4a 44 0a 54 54 45 5a 4d VTMREwDwYDVQQKDAhGTk1ULVJD.TTEZM
1cc720 42 63 47 41 31 55 45 43 77 77 51 51 55 4d 67 55 6b 46 4a 57 69 42 47 54 6b 31 55 4c 56 4a 44 54 BcGA1UECwwQQUMgUkFJWiBGTk1ULVJDT
1cc740 54 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 TCCAiIwDQYJKoZIhvcNAQEBBQADggIPA
1cc760 44 43 43 41 67 6f 43 0a 67 67 49 42 41 4c 70 78 67 48 70 4d 68 6d 35 2f 79 42 4e 74 77 4d 5a 39 DCCAgoC.ggIBALpxgHpMhm5/yBNtwMZ9
1cc780 48 41 43 58 6a 79 77 4d 49 37 73 51 6d 6b 43 70 47 72 65 48 69 50 69 62 56 6d 72 37 35 6e 75 4f HACXjywMI7sQmkCpGreHiPibVmr75nuO
1cc7a0 69 35 4b 4f 70 79 56 64 57 52 48 62 4e 69 36 33 55 52 63 66 0a 71 51 67 66 42 42 63 6b 57 4b 6f i5KOpyVdWRHbNi63URcf.qQgfBBckWKo
1cc7c0 33 53 68 6a 66 35 54 6e 55 56 2f 33 58 77 53 79 52 41 5a 48 69 49 74 51 44 77 46 6a 38 64 30 66 3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0f
1cc7e0 73 6a 7a 35 30 51 37 71 73 4e 49 31 4e 4f 48 5a 6e 6a 72 44 49 62 7a 41 7a 57 48 46 63 74 50 56 sjz50Q7qsNI1NOHZnjrDIbzAzWHFctPV
1cc800 72 0a 62 74 51 42 55 4c 67 54 66 6d 78 4b 6f 30 6e 52 49 42 6e 75 76 4d 41 70 47 47 57 6e 33 76 r.btQBULgTfmxKo0nRIBnuvMApGGWn3v
1cc820 37 76 33 51 71 51 49 65 63 61 5a 35 4a 43 45 4a 68 66 54 7a 43 38 50 68 78 46 74 42 44 58 61 45 7v3QqQIecaZ5JCEJhfTzC8PhxFtBDXaE
1cc840 41 55 77 45 44 36 35 33 63 58 65 75 59 4c 0a 6a 32 56 62 50 4e 6d 61 55 74 75 31 76 5a 35 47 7a AUwED653cXeuYL.j2VbPNmaUtu1vZ5Gz
1cc860 7a 33 72 6b 51 55 43 77 4a 61 79 64 6b 78 4e 45 4a 59 37 6b 76 71 63 66 77 2b 5a 33 37 34 6a 4e z3rkQUCwJaydkxNEJY7kvqcfw+Z374jN
1cc880 55 55 65 41 6c 7a 2b 74 61 69 62 6d 53 58 61 58 76 4d 69 77 7a 6e 31 35 43 6f 75 0a 30 38 59 66 UUeAlz+taibmSXaXvMiwzn15Cou.08Yf
1cc8a0 78 47 79 71 78 52 78 71 41 51 56 4b 4c 39 4c 46 77 61 67 30 4a 6c 31 6d 70 64 49 43 49 66 6b 59 xGyqxRxqAQVKL9LFwag0Jl1mpdICIfkY
1cc8c0 74 77 62 31 54 70 6c 76 71 4b 74 4d 55 65 6a 50 55 42 6a 46 64 38 67 35 43 53 78 4a 6b 6a 4b 5a twb1TplvqKtMUejPUBjFd8g5CSxJkjKZ
1cc8e0 71 4c 73 58 46 33 6d 77 0a 57 73 58 6d 6f 38 52 5a 5a 55 63 31 67 31 36 70 36 44 55 4c 6d 62 76 qLsXF3mw.WsXmo8RZZUc1g16p6DULmbv
1cc900 6b 7a 53 44 47 6d 30 6f 47 4f 62 56 6f 2f 43 4b 36 37 6c 57 4d 4b 30 37 71 38 37 48 6a 2f 4c 61 kzSDGm0oGObVo/CK67lWMK07q87Hj/La
1cc920 5a 6d 74 56 43 2b 6e 46 4e 43 4d 2b 48 48 6d 70 78 66 66 6e 54 0a 74 4f 6d 6c 63 59 46 37 77 6b ZmtVC+nFNCM+HHmpxffnT.tOmlcYF7wk
1cc940 35 48 6c 71 58 32 64 6f 57 6a 4b 49 2f 70 67 47 36 42 55 36 56 74 58 37 68 49 2b 63 4c 35 4e 71 5HlqX2doWjKI/pgG6BU6VtX7hI+cL5Nq
1cc960 59 75 53 66 2b 34 6c 73 4b 4d 42 37 4f 62 69 46 6a 38 36 78 73 63 33 69 31 77 34 70 65 53 4d 4b YuSf+4lsKMB7ObiFj86xsc3i1w4peSMK
1cc980 47 4a 0a 34 37 78 56 71 43 66 57 53 2b 32 51 72 59 76 36 59 79 56 5a 4c 61 67 31 33 63 71 58 4d GJ.47xVqCfWS+2QrYv6YyVZLag13cqXM
1cc9a0 37 7a 6c 7a 63 65 64 30 65 7a 76 58 67 35 4b 6b 41 59 6d 59 36 32 35 32 54 55 74 42 37 70 32 5a 7zlzced0ezvXg5KkAYmY6252TUtB7p2Z
1cc9c0 53 79 73 56 34 39 39 39 41 65 55 31 34 45 43 0a 6c 6c 32 6a 42 30 6e 56 65 74 42 58 2b 52 76 6e SysV4999AeU14EC.ll2jB0nVetBX+Rvn
1cc9e0 55 30 5a 31 71 72 42 35 51 73 74 6f 63 51 6a 70 59 4c 30 35 61 63 37 30 72 38 4e 57 51 4d 65 74 U0Z1qrB5QstocQjpYL05ac70r8NWQMet
1cca00 55 71 49 4a 35 47 2b 47 52 34 6f 66 36 79 67 6e 58 59 4d 67 72 77 54 4a 62 46 61 61 0a 69 30 62 UqIJ5G+GR4of6ygnXYMgrwTJbFaa.i0b
1cca20 31 41 67 4d 42 41 41 47 6a 67 59 4d 77 67 59 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAU
1cca40 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 48 51 59 wAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQY
1cca60 44 56 52 30 4f 42 42 59 45 0a 46 50 64 39 78 66 33 45 36 4a 6f 62 64 32 53 6e 39 52 32 67 7a 4c DVR0OBBYE.FPd9xf3E6Jobd2Sn9R2gzL
1cca80 2b 48 59 4a 70 74 4d 44 34 47 41 31 55 64 49 41 51 33 4d 44 55 77 4d 77 59 45 56 52 30 67 41 44 +HYJptMD4GA1UdIAQ3MDUwMwYEVR0gAD
1ccaa0 41 72 4d 43 6b 47 43 43 73 47 41 51 55 46 42 77 49 42 46 68 31 6f 0a 64 48 52 77 4f 69 38 76 64 ArMCkGCCsGAQUFBwIBFh1o.dHRwOi8vd
1ccac0 33 64 33 4c 6d 4e 6c 63 6e 51 75 5a 6d 35 74 64 43 35 6c 63 79 39 6b 63 47 4e 7a 4c 7a 41 4e 42 3d3LmNlcnQuZm5tdC5lcy9kcGNzLzANB
1ccae0 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 67 45 41 42 35 42 4b 33 2f 4d 6a 54 gkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjT
1ccb00 76 44 44 0a 6e 46 46 6c 6d 35 77 69 6f 6f 6f 4d 68 66 4e 7a 4b 57 74 4e 2f 67 48 69 71 51 78 6a vDD.nFFlm5wioooMhfNzKWtN/gHiqQxj
1ccb20 41 62 38 45 5a 36 57 64 6d 46 2f 39 41 52 50 36 37 4a 70 69 36 59 62 2b 74 6d 4c 53 62 6b 79 55 Ab8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU
1ccb40 2b 38 42 31 52 58 78 6c 44 50 69 79 4e 38 2b 73 0a 44 38 2b 4e 62 2f 6b 5a 39 34 2f 73 48 76 4a +8B1RXxlDPiyN8+s.D8+Nb/kZ94/sHvJ
1ccb60 77 6e 76 44 4b 75 4f 2b 33 2f 33 59 33 64 6c 76 32 62 6f 6a 7a 72 32 49 79 49 70 4d 4e 4f 6d 71 wnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmq
1ccb80 4f 46 47 59 4d 4c 56 4e 30 56 32 55 65 31 62 4c 64 49 34 45 37 70 57 59 6a 4a 32 63 4a 0a 6a 2b OFGYMLVN0V2Ue1bLdI4E7pWYjJ2cJ.j+
1ccba0 46 33 71 6b 50 4e 5a 56 45 49 37 56 46 59 2f 75 59 35 2b 63 74 48 68 4b 51 56 38 58 61 37 70 4f F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO
1ccbc0 36 6b 4f 38 52 66 37 37 49 7a 6c 68 45 59 74 38 6c 6c 76 68 6a 68 6f 36 54 63 2b 68 6a 35 30 37 6kO8Rf77IzlhEYt8llvhjho6Tc+hj507
1ccbe0 77 54 6d 7a 6c 36 4e 4c 72 54 0a 51 66 76 36 4d 6f 6f 71 74 79 75 47 43 32 6d 44 4f 4c 37 4e 69 wTmzl6NLrT.Qfv6MooqtyuGC2mDOL7Ni
1ccc00 69 34 4c 63 4b 32 4e 4a 70 4c 75 48 76 55 42 4b 77 72 5a 31 70 65 62 62 75 43 6f 47 52 77 36 49 i4LcK2NJpLuHvUBKwrZ1pebbuCoGRw6I
1ccc20 59 73 4d 48 6b 43 74 41 2b 66 64 5a 6e 37 31 75 53 41 4e 41 2b 69 57 0a 2b 59 4a 46 31 44 6e 67 YsMHkCtA+fdZn71uSANA+iW.+YJF1Dng
1ccc40 6f 41 42 64 31 35 6a 6d 66 5a 35 6e 63 38 4f 61 4b 76 65 72 69 36 45 36 46 4f 38 30 76 46 49 4f oABd15jmfZ5nc8OaKveri6E6FO80vFIO
1ccc60 69 5a 69 61 42 45 43 45 48 58 35 46 61 5a 4e 58 7a 75 76 4f 2b 46 42 38 54 78 78 75 42 45 4f 62 iZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb
1ccc80 2b 64 59 37 0a 49 78 6a 70 36 6f 37 52 54 55 61 4e 38 54 76 6b 61 73 71 36 2b 79 4f 33 6d 2f 71 +dY7.Ixjp6o7RTUaN8Tvkasq6+yO3m/q
1ccca0 5a 41 53 6c 61 57 46 6f 74 34 2f 6e 55 62 51 34 6d 72 63 46 75 4e 4c 77 79 2b 41 77 46 2b 6d 57 ZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mW
1cccc0 6a 32 7a 73 33 67 79 4c 70 31 74 78 79 4d 2f 31 64 0a 38 69 43 39 64 6a 77 6a 32 69 6a 33 2b 52 j2zs3gyLp1txyM/1d.8iC9djwj2ij3+R
1ccce0 76 72 57 57 54 56 33 46 39 79 66 69 44 38 7a 59 6d 31 6b 47 64 4e 59 6e 6f 2f 54 71 30 64 77 7a vrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwz
1ccd00 6e 2b 65 76 51 6f 46 74 39 42 39 6b 69 41 42 64 63 50 55 58 6d 73 45 4b 76 55 37 41 4e 6d 0a 35 n+evQoFt9B9kiABdcPUXmsEKvU7ANm.5
1ccd20 6d 71 77 75 6a 47 53 51 6b 42 71 76 6a 72 54 63 75 46 71 4e 31 57 38 72 42 32 56 74 32 6c 68 38 mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8
1ccd40 6b 4f 52 64 4f 61 67 30 77 6f 6b 52 71 45 49 72 39 62 61 52 52 6d 57 31 46 4d 64 57 34 52 35 38 kORdOag0wokRqEIr9baRRmW1FMdW4R58
1ccd60 4d 44 33 52 2b 2b 4c 6a 38 55 47 0a 72 70 31 4d 59 70 33 2f 52 67 54 34 30 38 6d 32 45 43 56 41 MD3R++Lj8UG.rp1MYp3/RgT408m2ECVA
1ccd80 64 66 34 57 71 73 6c 4b 59 49 59 76 75 75 38 77 64 2b 52 55 34 72 69 45 6d 56 69 41 71 68 4f 4c df4WqslKYIYvuu8wd+RU4riEmViAqhOL
1ccda0 55 54 70 50 53 50 61 4c 74 72 4d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 UTpPSPaLtrM=.-----END.CERTIFICAT
1ccdc0 45 2d 2d 2d 2d 2d 0a 0a 41 6d 61 7a 6f 6e 20 52 6f 6f 74 20 43 41 20 31 0a 3d 3d 3d 3d 3d 3d 3d E-----..Amazon.Root.CA.1.=======
1ccde0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 =========.-----BEGIN.CERTIFICATE
1cce00 2d 2d 2d 2d 2d 0a 4d 49 49 44 51 54 43 43 41 69 6d 67 41 77 49 42 41 67 49 54 42 6d 79 66 7a 35 -----.MIIDQTCCAimgAwIBAgITBmyfz5
1cce20 6d 2f 6a 41 6f 35 34 76 42 34 69 6b 50 6d 6c 6a 5a 62 79 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 m/jAo54vB4ikPmljZbyjANBgkqhkiG9w
1cce40 30 42 41 51 73 46 41 44 41 35 4d 51 73 77 43 51 59 44 0a 56 51 51 47 45 77 4a 56 55 7a 45 50 4d 0BAQsFADA5MQswCQYD.VQQGEwJVUzEPM
1cce60 41 30 47 41 31 55 45 43 68 4d 47 51 57 31 68 65 6d 39 75 4d 52 6b 77 46 77 59 44 56 51 51 44 45 A0GA1UEChMGQW1hem9uMRkwFwYDVQQDE
1cce80 78 42 42 62 57 46 36 62 32 34 67 55 6d 39 76 64 43 42 44 51 53 41 78 4d 42 34 58 44 54 45 31 0a xBBbWF6b24gUm9vdCBDQSAxMB4XDTE1.
1ccea0 4d 44 55 79 4e 6a 41 77 4d 44 41 77 4d 46 6f 58 44 54 4d 34 4d 44 45 78 4e 7a 41 77 4d 44 41 77 MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAw
1ccec0 4d 46 6f 77 4f 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 44 7a 41 4e 42 67 4e 56 MFowOTELMAkGA1UEBhMCVVMxDzANBgNV
1ccee0 42 41 6f 54 42 6b 46 74 59 58 70 76 0a 62 6a 45 5a 4d 42 63 47 41 31 55 45 41 78 4d 51 51 57 31 BAoTBkFtYXpv.bjEZMBcGA1UEAxMQQW1
1ccf00 68 65 6d 39 75 49 46 4a 76 62 33 51 67 51 30 45 67 4d 54 43 43 41 53 49 77 44 51 59 4a 4b 6f 5a hem9uIFJvb3QgQ0EgMTCCASIwDQYJKoZ
1ccf20 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 45 50 41 44 43 43 41 51 6f 43 0a 67 67 45 42 41 4c IhvcNAQEBBQADggEPADCCAQoC.ggEBAL
1ccf40 4a 34 67 48 48 4b 65 4e 58 6a 63 61 39 48 67 46 42 30 66 57 37 59 31 34 68 32 39 4a 6c 6f 39 31 J4gHHKeNXjca9HgFB0fW7Y14h29Jlo91
1ccf60 67 68 59 50 6c 30 68 41 45 76 72 41 49 74 68 74 4f 67 51 33 70 4f 73 71 54 51 4e 72 6f 42 76 6f ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo
1ccf80 33 62 53 4d 67 48 0a 46 7a 5a 4d 39 4f 36 49 49 38 63 2b 36 7a 66 31 74 52 6e 34 53 57 69 77 33 3bSMgH.FzZM9O6II8c+6zf1tRn4SWiw3
1ccfa0 74 65 35 64 6a 67 64 59 5a 36 6b 2f 6f 49 32 70 65 56 4b 56 75 52 46 34 66 6e 39 74 42 62 36 64 te5djgdYZ6k/oI2peVKVuRF4fn9tBb6d
1ccfc0 4e 71 63 6d 7a 55 35 4c 2f 71 77 49 46 41 47 62 48 72 51 0a 67 4c 4b 6d 2b 61 2f 73 52 78 6d 50 NqcmzU5L/qwIFAGbHrQ.gLKm+a/sRxmP
1ccfe0 55 44 67 48 33 4b 4b 48 4f 56 6a 34 75 74 57 70 2b 55 68 6e 4d 4a 62 75 6c 48 68 65 62 34 6d 6a UDgH3KKHOVj4utWp+UhnMJbulHheb4mj
1cd000 55 63 41 77 68 6d 61 68 52 57 61 36 56 4f 75 6a 77 35 48 35 53 4e 7a 2f 30 65 67 77 4c 58 30 74 UcAwhmahRWa6VOujw5H5SNz/0egwLX0t
1cd020 0a 64 48 41 31 31 34 67 6b 39 35 37 45 57 57 36 37 63 34 63 58 38 6a 4a 47 4b 4c 68 44 2b 72 63 .dHA114gk957EWW67c4cX8jJGKLhD+rc
1cd040 64 71 73 71 30 38 70 38 6b 44 69 31 4c 39 33 46 63 58 6d 6e 2f 36 70 55 43 79 7a 69 4b 72 6c 41 dqsq08p8kDi1L93FcXmn/6pUCyziKrlA
1cd060 34 62 39 76 37 4c 57 49 62 78 63 63 65 0a 56 4f 46 33 34 47 66 49 44 35 79 48 49 39 59 2f 51 43 4b9v7LWIbxcce.VOF34GfID5yHI9Y/QC
1cd080 42 2f 49 49 44 45 67 45 77 2b 4f 79 51 6d 6a 67 53 75 62 4a 72 49 71 67 30 43 41 77 45 41 41 61 B/IIDEgEw+OyQmjgSubJrIqg0CAwEAAa
1cd0a0 4e 43 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 0a 2f 7a 41 4f 42 NCMEAwDwYDVR0TAQH/BAUwAwEB./zAOB
1cd0c0 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 59 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 gNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEF
1cd0e0 49 51 59 7a 49 55 30 37 4c 77 4d 6c 4a 51 75 43 46 6d 63 78 37 49 51 54 67 6f 49 4d 41 30 47 43 IQYzIU07LwMlJQuCFmcx7IQTgoIMA0GC
1cd100 53 71 47 53 49 62 33 0a 44 51 45 42 43 77 55 41 41 34 49 42 41 51 43 59 38 6a 64 61 51 5a 43 68 SqGSIb3.DQEBCwUAA4IBAQCY8jdaQZCh
1cd120 47 73 56 32 55 53 67 67 4e 69 4d 4f 72 75 59 6f 75 36 72 34 6c 4b 35 49 70 44 42 2f 47 2f 77 6b GsV2USggNiMOruYou6r4lK5IpDB/G/wk
1cd140 6a 55 75 30 79 4b 47 58 39 72 62 78 65 6e 44 49 55 35 50 4d 0a 43 43 6a 6a 6d 43 58 50 49 36 54 jUu0yKGX9rbxenDIU5PM.CCjjmCXPI6T
1cd160 35 33 69 48 54 66 49 55 4a 72 55 36 61 64 54 72 43 43 32 71 4a 65 48 5a 45 52 78 68 6c 62 49 31 53iHTfIUJrU6adTrCC2qJeHZERxhlbI1
1cd180 42 6a 6a 74 2f 6d 73 76 30 74 61 64 51 31 77 55 73 4e 2b 67 44 53 36 33 70 59 61 41 43 62 76 58 Bjjt/msv0tadQ1wUsN+gDS63pYaACbvX
1cd1a0 79 0a 38 4d 57 79 37 56 75 33 33 50 71 55 58 48 65 65 45 36 56 2f 55 71 32 56 38 76 69 54 4f 39 y.8MWy7Vu33PqUXHeeE6V/Uq2V8viTO9
1cd1c0 36 4c 58 46 76 4b 57 6c 4a 62 59 4b 38 55 39 30 76 76 6f 2f 75 66 51 4a 56 74 4d 56 54 38 51 74 6LXFvKWlJbYK8U90vvo/ufQJVtMVT8Qt
1cd1e0 50 48 52 68 38 6a 72 64 6b 50 53 48 43 61 0a 32 58 56 34 63 64 46 79 51 7a 52 31 62 6c 64 5a 77 PHRh8jrdkPSHCa.2XV4cdFyQzR1bldZw
1cd200 67 4a 63 4a 6d 41 70 7a 79 4d 5a 46 6f 36 49 51 36 58 55 35 4d 73 49 2b 79 4d 52 51 2b 68 44 4b gJcJmApzyMZFo6IQ6XU5MsI+yMRQ+hDK
1cd220 58 4a 69 6f 61 6c 64 58 67 6a 55 6b 4b 36 34 32 4d 34 55 77 74 42 56 38 6f 62 32 0a 78 4a 4e 44 XJioaldXgjUkK642M4UwtBV8ob2.xJND
1cd240 64 32 5a 68 77 4c 6e 6f 51 64 65 58 65 47 41 44 62 6b 70 79 72 71 58 52 66 62 6f 51 6e 6f 5a 73 d2ZhwLnoQdeXeGADbkpyrqXRfboQnoZs
1cd260 47 34 71 35 57 54 50 34 36 38 53 51 76 76 47 35 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 G4q5WTP468SQvvG5.-----END.CERTIF
1cd280 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 6d 61 7a 6f 6e 20 52 6f 6f 74 20 43 41 20 32 0a 3d 3d 3d ICATE-----..Amazon.Root.CA.2.===
1cd2a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 =============.-----BEGIN.CERTIFI
1cd2c0 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 51 54 43 43 41 79 6d 67 41 77 49 42 41 67 49 54 42 6d CATE-----.MIIFQTCCAymgAwIBAgITBm
1cd2e0 79 66 30 70 59 31 68 70 38 4b 44 2b 57 47 65 50 68 62 4a 72 75 4b 4e 7a 41 4e 42 67 6b 71 68 6b yf0pY1hp8KD+WGePhbJruKNzANBgkqhk
1cd300 69 47 39 77 30 42 41 51 77 46 41 44 41 35 4d 51 73 77 43 51 59 44 0a 56 51 51 47 45 77 4a 56 55 iG9w0BAQwFADA5MQswCQYD.VQQGEwJVU
1cd320 7a 45 50 4d 41 30 47 41 31 55 45 43 68 4d 47 51 57 31 68 65 6d 39 75 4d 52 6b 77 46 77 59 44 56 zEPMA0GA1UEChMGQW1hem9uMRkwFwYDV
1cd340 51 51 44 45 78 42 42 62 57 46 36 62 32 34 67 55 6d 39 76 64 43 42 44 51 53 41 79 4d 42 34 58 44 QQDExBBbWF6b24gUm9vdCBDQSAyMB4XD
1cd360 54 45 31 0a 4d 44 55 79 4e 6a 41 77 4d 44 41 77 4d 46 6f 58 44 54 51 77 4d 44 55 79 4e 6a 41 77 TE1.MDUyNjAwMDAwMFoXDTQwMDUyNjAw
1cd380 4d 44 41 77 4d 46 6f 77 4f 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 44 7a 41 4e MDAwMFowOTELMAkGA1UEBhMCVVMxDzAN
1cd3a0 42 67 4e 56 42 41 6f 54 42 6b 46 74 59 58 70 76 0a 62 6a 45 5a 4d 42 63 47 41 31 55 45 41 78 4d BgNVBAoTBkFtYXpv.bjEZMBcGA1UEAxM
1cd3c0 51 51 57 31 68 65 6d 39 75 49 46 4a 76 62 33 51 67 51 30 45 67 4d 6a 43 43 41 69 49 77 44 51 59 QQW1hem9uIFJvb3QgQ0EgMjCCAiIwDQY
1cd3e0 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 0a 67 67 JKoZIhvcNAQEBBQADggIPADCCAgoC.gg
1cd400 49 42 41 4b 32 57 6e 79 32 63 53 6b 78 4b 67 58 6c 52 6d 65 79 4b 79 32 74 67 55 52 4f 38 54 57 IBAK2Wny2cSkxKgXlRmeyKy2tgURO8TW
1cd420 30 47 2f 4c 41 49 6a 64 30 5a 45 47 72 48 4a 67 77 31 32 4d 42 76 49 49 54 70 6c 4c 47 62 68 51 0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQ
1cd440 50 44 57 39 74 4b 36 4d 6a 34 0a 6b 48 62 5a 57 30 2f 6a 54 4f 67 47 4e 6b 33 4d 6d 71 77 39 44 PDW9tK6Mj4.kHbZW0/jTOgGNk3Mmqw9D
1cd460 4a 41 72 6b 74 51 47 47 57 43 73 4e 30 52 35 68 59 47 43 72 56 6f 33 34 41 33 4d 6e 61 5a 4d 55 JArktQGGWCsN0R5hYGCrVo34A3MnaZMU
1cd480 6e 62 71 51 35 32 33 42 4e 46 51 39 6c 58 67 31 64 4b 6d 53 59 58 70 0a 4e 2b 6e 4b 66 71 35 63 nbqQ523BNFQ9lXg1dKmSYXp.N+nKfq5c
1cd4a0 6c 55 31 49 6d 6a 2b 75 49 46 70 74 69 4a 58 5a 4e 4c 68 53 47 6b 4f 51 73 4c 39 73 42 62 6d 32 lU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2
1cd4c0 65 4c 66 71 30 4f 51 36 50 42 4a 54 59 76 39 4b 38 6e 75 2b 4e 51 57 70 45 6a 54 6a 38 32 52 30 eLfq0OQ6PBJTYv9K8nu+NQWpEjTj82R0
1cd4e0 59 69 77 39 0a 41 45 6c 61 4b 50 34 79 52 4c 75 48 33 57 55 6e 41 6e 45 37 32 6b 72 33 48 39 72 Yiw9.AElaKP4yRLuH3WUnAnE72kr3H9r
1cd500 4e 39 79 46 56 6b 45 38 50 37 4b 36 43 34 5a 39 72 32 55 58 54 75 2f 42 66 68 2b 30 38 4c 44 6d N9yFVkE8P7K6C4Z9r2UXTu/Bfh+08LDm
1cd520 47 32 6a 2f 65 37 48 4a 56 36 33 6d 6a 72 64 76 64 0a 66 4c 43 36 48 4d 37 38 33 6b 38 31 64 73 G2j/e7HJV63mjrdvd.fLC6HM783k81ds
1cd540 38 50 2b 48 67 66 61 6a 5a 52 52 69 64 68 57 2b 6d 65 7a 2f 43 69 56 58 31 38 4a 59 70 76 4c 37 8P+HgfajZRRidhW+mez/CiVX18JYpvL7
1cd560 54 46 7a 34 51 75 4b 2f 30 4e 55 52 42 73 2b 31 38 62 76 42 74 2b 78 61 34 37 6d 41 45 78 0a 6b TFz4QuK/0NURBs+18bvBt+xa47mAEx.k
1cd580 76 38 4c 56 2f 53 61 73 72 6c 58 36 61 76 76 44 58 62 52 38 4f 37 30 7a 6f 61 6e 34 47 37 70 74 v8LV/SasrlX6avvDXbR8O70zoan4G7pt
1cd5a0 47 6d 68 33 32 6e 32 4d 38 5a 70 4c 70 63 54 6e 71 57 48 73 46 63 51 67 54 66 4a 55 37 4f 37 66 Gmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f
1cd5c0 2f 61 53 30 5a 7a 51 47 50 53 53 0a 62 74 71 44 54 36 5a 6a 6d 55 79 6c 2b 31 37 76 49 57 52 36 /aS0ZzQGPSS.btqDT6ZjmUyl+17vIWR6
1cd5e0 49 46 39 73 5a 49 55 56 79 7a 66 70 59 67 77 4c 4b 68 62 63 41 53 34 79 32 6a 35 4c 39 5a 34 36 IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z46
1cd600 39 68 64 41 6c 4f 2b 65 6b 51 69 47 2b 72 35 6a 71 46 6f 7a 37 4d 74 30 0a 51 35 58 35 62 47 6c 9hdAlO+ekQiG+r5jqFoz7Mt0.Q5X5bGl
1cd620 53 4e 73 63 70 62 2f 78 56 41 31 77 66 2b 35 2b 39 52 2b 76 6e 53 55 65 56 43 30 36 4a 49 67 6c SNscpb/xVA1wf+5+9R+vnSUeVC06JIgl
1cd640 4a 34 50 56 68 48 76 47 2f 4c 6f 70 79 62 6f 42 5a 2f 31 63 36 2b 58 55 79 6f 30 35 66 37 4f 30 J4PVhHvG/LopyboBZ/1c6+XUyo05f7O0
1cd660 6f 59 74 6c 4e 0a 63 2f 4c 4d 67 52 64 67 37 63 33 72 33 4e 75 6e 79 73 56 2b 41 72 33 79 56 41 oYtlN.c/LMgRdg7c3r3NunysV+Ar3yVA
1cd680 68 55 2f 62 51 74 43 53 77 58 56 45 71 59 30 56 54 68 55 57 63 49 30 75 31 75 66 6d 38 2f 30 69 hU/bQtCSwXVEqY0VThUWcI0u1ufm8/0i
1cd6a0 32 42 57 53 6c 6d 79 35 41 35 6c 52 45 65 64 43 66 2b 0a 33 65 75 76 41 67 4d 42 41 41 47 6a 51 2BWSlmy5A5lREedCf+.3euvAgMBAAGjQ
1cd6c0 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 jBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDV
1cd6e0 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 77 0a R0PAQH/BAQDAgGGMB0GA1UdDgQWBBSw.
1cd700 44 50 42 4d 4d 50 51 46 57 41 4a 49 2f 54 50 6c 55 71 39 4c 68 4f 4e 6d 55 6a 41 4e 42 67 6b 71 DPBMMPQFWAJI/TPlUq9LhONmUjANBgkq
1cd720 68 6b 69 47 39 77 30 42 41 51 77 46 41 41 4f 43 41 67 45 41 71 71 69 41 6a 77 35 34 6f 2b 43 69 hkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci
1cd740 31 4d 33 6d 39 5a 68 36 4f 2b 6f 41 0a 41 37 43 58 44 70 4f 38 57 71 6a 32 4c 49 78 79 68 36 6d 1M3m9Zh6O+oA.A7CXDpO8Wqj2LIxyh6m
1cd760 78 2f 48 39 7a 2f 57 4e 78 65 4b 57 48 57 63 38 77 34 51 30 51 73 68 4e 61 62 59 4c 31 61 75 61 x/H9z/WNxeKWHWc8w4Q0QshNabYL1aua
1cd780 41 6e 36 41 46 43 32 6a 6b 52 32 76 48 61 74 2b 32 2f 58 63 79 63 75 55 59 0a 2b 67 6e 30 6f 4a An6AFC2jkR2vHat+2/XcycuUY.+gn0oJ
1cd7a0 4d 73 58 64 4b 4d 64 59 56 32 5a 5a 41 4d 41 33 6d 33 4d 53 4e 6a 72 58 69 44 43 59 5a 6f 68 4d MsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohM
1cd7c0 72 2f 2b 63 38 6d 6d 70 4a 35 35 38 31 4c 78 65 64 68 70 78 66 4c 38 36 6b 53 6b 35 4e 72 70 2b r/+c8mmpJ5581LxedhpxfL86kSk5Nrp+
1cd7e0 67 76 55 35 4c 45 0a 59 46 69 77 7a 41 4a 52 47 46 75 46 6a 57 4a 5a 59 37 61 74 74 4e 36 61 2b gvU5LE.YFiwzAJRGFuFjWJZY7attN6a+
1cd800 79 62 33 41 43 66 41 58 56 55 33 64 4a 6e 4a 55 48 2f 6a 57 53 35 45 34 79 77 6c 37 75 78 4d 4d yb3ACfAXVU3dJnJUH/jWS5E4ywl7uxMM
1cd820 6e 65 30 6e 78 72 70 53 31 30 67 78 64 72 39 48 49 63 57 0a 78 6b 50 6f 31 4c 73 6d 6d 6b 56 77 ne0nxrpS10gxdr9HIcW.xkPo1LsmmkVw
1cd840 58 71 6b 4c 4e 31 50 69 52 6e 73 6e 2f 65 42 47 38 6f 6d 33 7a 45 4b 32 79 79 67 6d 62 74 6d 6c XqkLN1PiRnsn/eBG8om3zEK2yygmbtml
1cd860 79 54 72 49 51 52 4e 67 39 31 43 4d 46 61 36 79 62 52 6f 56 47 6c 64 34 35 70 49 71 32 57 57 51 yTrIQRNg91CMFa6ybRoVGld45pIq2WWQ
1cd880 0a 67 6a 39 73 41 71 2b 75 45 6a 6f 6e 6c 6a 59 45 31 78 32 69 67 47 4f 70 6d 2f 48 6c 75 72 52 .gj9sAq+uEjonljYE1x2igGOpm/HlurR
1cd8a0 38 46 4c 42 4f 79 62 45 66 64 46 38 34 39 6c 48 71 6d 2f 6f 73 6f 68 48 55 71 53 30 6e 47 6b 57 8FLBOybEfdF849lHqm/osohHUqS0nGkW
1cd8c0 78 72 37 4a 4f 63 51 33 41 57 45 62 57 0a 61 51 62 4c 55 38 75 7a 2f 6d 74 42 7a 55 46 2b 66 55 xr7JOcQ3AWEbW.aQbLU8uz/mtBzUF+fU
1cd8e0 77 50 66 48 4a 35 65 6c 6e 4e 58 6b 6f 4f 72 4a 75 70 6d 48 4e 35 66 4c 54 30 7a 4c 6d 34 42 77 wPfHJ5elnNXkoOrJupmHN5fLT0zLm4Bw
1cd900 79 79 64 46 79 34 78 32 2b 49 6f 5a 43 6e 39 4b 72 35 76 32 63 36 39 42 6f 56 0a 59 68 36 33 6e yydFy4x2+IoZCn9Kr5v2c69BoV.Yh63n
1cd920 37 34 39 73 53 6d 76 5a 36 45 53 38 6c 67 51 47 56 4d 44 4d 42 75 34 47 6f 6e 32 6e 4c 32 58 41 749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA
1cd940 34 36 6a 43 66 4d 64 69 79 48 78 74 4e 2f 6b 48 4e 47 66 5a 51 49 47 36 6c 7a 57 45 37 4f 45 37 46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE7
1cd960 36 4b 6c 58 49 78 33 0a 4b 61 64 6f 77 47 75 75 51 4e 4b 6f 74 4f 72 4e 38 49 31 4c 4f 4a 77 5a 6KlXIx3.KadowGuuQNKotOrN8I1LOJwZ
1cd980 6d 68 73 6f 56 4c 69 4a 6b 4f 2f 4b 64 59 45 2b 48 76 4a 6b 4a 4d 63 59 72 30 37 2f 52 35 34 48 mhsoVLiJkO/KdYE+HvJkJMcYr07/R54H
1cd9a0 39 6a 56 6c 70 4e 4d 4b 56 76 2f 31 46 32 52 73 37 36 67 69 0a 4a 55 6d 54 74 74 38 41 46 39 70 9jVlpNMKVv/1F2Rs76gi.JUmTtt8AF9p
1cd9c0 59 66 6c 33 75 78 52 75 77 30 64 46 66 49 52 44 48 2b 66 4f 36 41 67 6f 6e 42 38 58 78 31 73 66 Yfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sf
1cd9e0 54 34 50 73 4a 59 47 77 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d T4PsJYGw=.-----END.CERTIFICATE--
1cda00 2d 2d 2d 0a 0a 41 6d 61 7a 6f 6e 20 52 6f 6f 74 20 43 41 20 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ---..Amazon.Root.CA.3.==========
1cda20 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d ======.-----BEGIN.CERTIFICATE---
1cda40 2d 2d 0a 4d 49 49 42 74 6a 43 43 41 56 75 67 41 77 49 42 41 67 49 54 42 6d 79 66 31 58 53 58 4e --.MIIBtjCCAVugAwIBAgITBmyf1XSXN
1cda60 6d 59 2f 4f 77 75 61 32 65 69 65 64 67 50 79 53 6a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 mY/Owua2eiedgPySjAKBggqhkjOPQQDA
1cda80 6a 41 35 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 50 4d 41 30 47 41 31 55 45 jA5MQswCQYDVQQG.EwJVUzEPMA0GA1UE
1cdaa0 43 68 4d 47 51 57 31 68 65 6d 39 75 4d 52 6b 77 46 77 59 44 56 51 51 44 45 78 42 42 62 57 46 36 ChMGQW1hem9uMRkwFwYDVQQDExBBbWF6
1cdac0 62 32 34 67 55 6d 39 76 64 43 42 44 51 53 41 7a 4d 42 34 58 44 54 45 31 4d 44 55 79 0a 4e 6a 41 b24gUm9vdCBDQSAzMB4XDTE1MDUy.NjA
1cdae0 77 4d 44 41 77 4d 46 6f 58 44 54 51 77 4d 44 55 79 4e 6a 41 77 4d 44 41 77 4d 46 6f 77 4f 54 45 wMDAwMFoXDTQwMDUyNjAwMDAwMFowOTE
1cdb00 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 44 7a 41 4e 42 67 4e 56 42 41 6f 54 42 6b 46 LMAkGA1UEBhMCVVMxDzANBgNVBAoTBkF
1cdb20 74 59 58 70 76 62 6a 45 5a 0a 4d 42 63 47 41 31 55 45 41 78 4d 51 51 57 31 68 65 6d 39 75 49 46 tYXpvbjEZ.MBcGA1UEAxMQQW1hem9uIF
1cdb40 4a 76 62 33 51 67 51 30 45 67 4d 7a 42 5a 4d 42 4d 47 42 79 71 47 53 4d 34 39 41 67 45 47 43 43 Jvb3QgQ0EgMzBZMBMGByqGSM49AgEGCC
1cdb60 71 47 53 4d 34 39 41 77 45 48 41 30 49 41 42 43 6d 58 70 38 5a 42 0a 66 38 41 4e 6d 2b 67 42 47 qGSM49AwEHA0IABCmXp8ZB.f8ANm+gBG
1cdb80 31 62 47 38 6c 4b 6c 75 69 32 79 45 75 6a 53 4c 74 66 36 79 63 58 59 71 6d 30 66 63 34 45 37 4f 1bG8lKlui2yEujSLtf6ycXYqm0fc4E7O
1cdba0 35 68 72 4f 58 77 7a 70 63 56 4f 68 6f 36 41 46 32 68 69 52 56 64 39 52 46 67 64 73 7a 66 6c 5a 5hrOXwzpcVOho6AF2hiRVd9RFgdszflZ
1cdbc0 77 6a 72 0a 5a 74 36 6a 51 6a 42 41 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 wjr.Zt6jQjBAMA8GA1UdEwEB/wQFMAMB
1cdbe0 41 66 38 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 42 30 47 41 31 55 64 Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1Ud
1cdc00 44 67 51 57 42 42 53 72 74 74 76 58 42 70 34 33 0a 72 44 43 47 42 35 46 77 78 35 7a 45 47 62 46 DgQWBBSrttvXBp43.rDCGB5Fwx5zEGbF
1cdc20 34 77 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 67 4e 4a 41 44 42 47 41 69 45 41 34 49 57 4wDAKBggqhkjOPQQDAgNJADBGAiEA4IW
1cdc40 53 6f 78 65 33 6a 66 6b 72 42 71 57 54 72 42 71 59 61 47 46 79 2b 75 47 68 30 50 73 63 0a 65 47 Soxe3jfkrBqWTrBqYaGFy+uGh0Psc.eG
1cdc60 43 6d 51 35 6e 46 75 4d 51 43 49 51 43 63 41 75 2f 78 6c 4a 79 7a 6c 76 6e 72 78 69 72 34 74 69 CmQ5nFuMQCIQCcAu/xlJyzlvnrxir4ti
1cdc80 7a 2b 4f 70 41 55 46 74 65 4d 59 79 52 49 48 4e 38 77 66 64 56 6f 4f 77 3d 3d 0a 2d 2d 2d 2d 2d z+OpAUFteMYyRIHN8wfdVoOw==.-----
1cdca0 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 41 6d 61 7a 6f 6e 20 52 6f 6f END.CERTIFICATE-----..Amazon.Roo
1cdcc0 74 20 43 41 20 34 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 t.CA.4.================.-----BEG
1cdce0 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 42 38 6a 43 43 41 58 69 67 IN.CERTIFICATE-----.MIIB8jCCAXig
1cdd00 41 77 49 42 41 67 49 54 42 6d 79 66 31 38 47 37 45 45 77 70 51 2b 56 78 65 33 73 73 79 42 72 42 AwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrB
1cdd20 44 6a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 41 35 4d 51 73 77 43 51 59 44 56 51 51 47 DjAKBggqhkjOPQQDAzA5MQswCQYDVQQG
1cdd40 0a 45 77 4a 56 55 7a 45 50 4d 41 30 47 41 31 55 45 43 68 4d 47 51 57 31 68 65 6d 39 75 4d 52 6b .EwJVUzEPMA0GA1UEChMGQW1hem9uMRk
1cdd60 77 46 77 59 44 56 51 51 44 45 78 42 42 62 57 46 36 62 32 34 67 55 6d 39 76 64 43 42 44 51 53 41 wFwYDVQQDExBBbWF6b24gUm9vdCBDQSA
1cdd80 30 4d 42 34 58 44 54 45 31 4d 44 55 79 0a 4e 6a 41 77 4d 44 41 77 4d 46 6f 58 44 54 51 77 4d 44 0MB4XDTE1MDUy.NjAwMDAwMFoXDTQwMD
1cdda0 55 79 4e 6a 41 77 4d 44 41 77 4d 46 6f 77 4f 54 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 UyNjAwMDAwMFowOTELMAkGA1UEBhMCVV
1cddc0 4d 78 44 7a 41 4e 42 67 4e 56 42 41 6f 54 42 6b 46 74 59 58 70 76 62 6a 45 5a 0a 4d 42 63 47 41 MxDzANBgNVBAoTBkFtYXpvbjEZ.MBcGA
1cdde0 31 55 45 41 78 4d 51 51 57 31 68 65 6d 39 75 49 46 4a 76 62 33 51 67 51 30 45 67 4e 44 42 32 4d 1UEAxMQQW1hem9uIFJvb3QgQ0EgNDB2M
1cde00 42 41 47 42 79 71 47 53 4d 34 39 41 67 45 47 42 53 75 42 42 41 41 69 41 32 49 41 42 4e 4b 72 69 BAGByqGSM49AgEGBSuBBAAiA2IABNKri
1cde20 6a 64 50 6f 31 4d 4e 0a 2f 73 47 4b 65 30 75 6f 65 30 5a 4c 59 37 42 69 39 69 30 62 32 77 68 78 jdPo1MN./sGKe0uoe0ZLY7Bi9i0b2whx
1cde40 49 64 49 41 36 47 4f 39 6d 69 66 37 38 44 6c 75 58 65 6f 39 70 63 6d 42 71 71 4e 62 49 4a 68 46 IdIA6GO9mif78DluXeo9pcmBqqNbIJhF
1cde60 58 52 62 62 2f 65 67 51 62 65 4f 63 34 4f 4f 39 58 34 52 69 0a 38 33 42 6b 4d 36 44 4c 4a 43 39 XRbb/egQbeOc4OO9X4Ri.83BkM6DLJC9
1cde80 77 75 6f 69 68 4b 71 42 31 2b 49 47 75 59 67 62 45 67 64 73 35 62 69 6d 77 48 76 6f 75 58 4b 4e wuoihKqB1+IGuYgbEgds5bimwHvouXKN
1cdea0 43 4d 45 41 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e CMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgN
1cdec0 56 0a 48 51 38 42 41 66 38 45 42 41 4d 43 41 59 59 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 4e V.HQ8BAf8EBAMCAYYwHQYDVR0OBBYEFN
1cdee0 50 73 78 7a 70 6c 62 73 7a 68 32 6e 61 61 56 76 75 63 38 34 5a 74 56 2b 57 42 4d 41 6f 47 43 43 Psxzplbszh2naaVvuc84ZtV+WBMAoGCC
1cdf00 71 47 53 4d 34 39 42 41 4d 44 41 32 67 41 0a 4d 47 55 43 4d 44 71 4c 49 66 47 39 66 68 47 74 30 qGSM49BAMDA2gA.MGUCMDqLIfG9fhGt0
1cdf20 4f 39 59 6c 69 2f 57 36 35 31 2b 6b 49 30 72 7a 32 5a 56 77 79 7a 6a 4b 4b 6c 77 43 6b 63 4f 38 O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8
1cdf40 44 64 5a 45 76 38 74 6d 5a 51 6f 54 69 70 50 4e 55 30 7a 57 67 49 78 41 4f 70 31 0a 41 45 34 37 DdZEv8tmZQoTipPNU0zWgIxAOp1.AE47
1cdf60 78 44 71 55 45 70 48 4a 57 45 61 64 49 52 4e 79 70 34 69 63 69 75 52 4d 53 74 75 57 31 4b 79 4c xDqUEpHJWEadIRNyp4iciuRMStuW1KyL
1cdf80 61 32 74 4a 45 6c 4d 7a 72 64 66 6b 76 69 54 38 74 51 70 32 31 4b 57 38 45 41 3d 3d 0a 2d 2d 2d a2tJElMzrdfkviT8tQp21KW8EA==.---
1cdfa0 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4c 75 78 54 72 75 73 74 --END.CERTIFICATE-----..LuxTrust
1cdfc0 20 47 6c 6f 62 61 6c 20 52 6f 6f 74 20 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Global.Root.2.=================
1cdfe0 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d =====.-----BEGIN.CERTIFICATE----
1ce000 2d 0a 4d 49 49 46 77 7a 43 43 41 36 75 67 41 77 49 42 41 67 49 55 43 6e 36 6d 33 30 74 45 6e 74 -.MIIFwzCCA6ugAwIBAgIUCn6m30tEnt
1ce020 70 71 4a 49 57 65 35 72 67 56 30 78 5a 2f 75 37 45 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 pqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQ
1ce040 45 4c 42 51 41 77 52 6a 45 4c 4d 41 6b 47 0a 41 31 55 45 42 68 4d 43 54 46 55 78 46 6a 41 55 42 ELBQAwRjELMAkG.A1UEBhMCTFUxFjAUB
1ce060 67 4e 56 42 41 6f 4d 44 55 78 31 65 46 52 79 64 58 4e 30 49 46 4d 75 51 53 34 78 48 7a 41 64 42 gNVBAoMDUx1eFRydXN0IFMuQS4xHzAdB
1ce080 67 4e 56 42 41 4d 4d 46 6b 78 31 65 46 52 79 64 58 4e 30 49 45 64 73 62 32 4a 68 0a 62 43 42 53 gNVBAMMFkx1eFRydXN0IEdsb2Jh.bCBS
1ce0a0 62 32 39 30 49 44 49 77 48 68 63 4e 4d 54 55 77 4d 7a 41 31 4d 54 4d 79 4d 54 55 33 57 68 63 4e b290IDIwHhcNMTUwMzA1MTMyMTU3WhcN
1ce0c0 4d 7a 55 77 4d 7a 41 31 4d 54 4d 79 4d 54 55 33 57 6a 42 47 4d 51 73 77 43 51 59 44 56 51 51 47 MzUwMzA1MTMyMTU3WjBGMQswCQYDVQQG
1ce0e0 45 77 4a 4d 56 54 45 57 0a 4d 42 51 47 41 31 55 45 43 67 77 4e 54 48 56 34 56 48 4a 31 63 33 51 EwJMVTEW.MBQGA1UECgwNTHV4VHJ1c3Q
1ce100 67 55 79 35 42 4c 6a 45 66 4d 42 30 47 41 31 55 45 41 77 77 57 54 48 56 34 56 48 4a 31 63 33 51 gUy5BLjEfMB0GA1UEAwwWTHV4VHJ1c3Q
1ce120 67 52 32 78 76 59 6d 46 73 49 46 4a 76 62 33 51 67 4d 6a 43 43 0a 41 69 49 77 44 51 59 4a 4b 6f gR2xvYmFsIFJvb3QgMjCC.AiIwDQYJKo
1ce140 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 4e ZIhvcNAQEBBQADggIPADCCAgoCggIBAN
1ce160 65 46 6c 37 38 52 6d 4f 6e 77 59 6f 4e 4d 50 49 66 35 55 32 6f 33 43 2f 49 50 50 49 66 4f 62 39 eFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9
1ce180 77 6d 0a 4b 62 33 46 69 62 72 4a 67 7a 33 33 37 73 70 62 78 6d 31 4a 63 37 54 4a 52 71 4d 62 4e wm.Kb3FibrJgz337spbxm1Jc7TJRqMbN
1ce1a0 42 4d 2f 77 59 6c 46 56 2f 54 5a 73 66 73 32 5a 55 76 37 43 4f 4a 49 63 52 48 49 62 6a 75 65 6e BM/wYlFV/TZsfs2ZUv7COJIcRHIbjuen
1ce1c0 64 2b 4a 5a 54 65 6d 68 66 59 37 52 42 69 32 0a 78 6a 63 77 59 6b 53 53 6c 32 6c 39 51 6a 41 6b d+JZTemhfY7RBi2.xjcwYkSSl2l9QjAk
1ce1e0 35 41 30 4d 69 57 74 6a 33 73 58 68 33 30 36 70 46 47 78 54 34 47 48 4f 39 68 63 76 48 54 79 39 5A0MiWtj3sXh306pFGxT4GHO9hcvHTy9
1ce200 35 69 4a 4d 48 5a 50 31 45 4d 53 68 64 75 78 71 33 73 56 73 33 35 61 30 56 6b 42 43 0a 77 47 4b 5iJMHZP1EMShduxq3sVs35a0VkBC.wGK
1ce220 53 4d 4b 45 74 46 5a 53 67 30 69 41 47 43 57 35 71 62 65 58 72 74 37 37 55 38 50 45 56 66 49 76 SMKEtFZSg0iAGCW5qbeXrt77U8PEVfIv
1ce240 6d 54 72 6f 54 7a 45 73 6e 58 70 6b 38 46 31 32 50 67 58 38 7a 50 55 2f 54 50 78 76 73 58 44 2f mTroTzEsnXpk8F12PgX8zPU/TPxvsXD/
1ce260 77 50 45 78 31 62 76 4b 6d 0a 31 5a 33 61 4c 51 64 6a 41 73 5a 79 36 5a 53 38 54 45 6d 56 54 34 wPEx1bvKm.1Z3aLQdjAsZy6ZS8TEmVT4
1ce280 68 53 79 4e 76 6f 61 59 4c 34 7a 44 52 62 49 76 43 47 70 34 6d 39 53 41 70 74 5a 6f 46 74 79 4d hSyNvoaYL4zDRbIvCGp4m9SAptZoFtyM
1ce2a0 68 6b 2b 77 48 68 39 4f 48 65 32 5a 37 64 32 31 76 55 4b 70 6b 6d 0a 46 52 73 65 54 4a 49 70 67 hk+wHh9OHe2Z7d21vUKpkm.FRseTJIpg
1ce2c0 70 37 56 6b 6f 47 53 51 58 41 5a 39 36 54 6c 6b 30 75 38 64 32 63 78 33 52 7a 39 4d 58 41 4e 46 p7VkoGSQXAZ96Tlk0u8d2cx3Rz9MXANF
1ce2e0 35 6b 4d 2b 51 77 35 47 53 6f 58 74 54 42 78 56 64 55 50 72 6c 6a 68 50 53 38 30 6d 38 2b 66 39 5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9
1ce300 6e 69 46 0a 77 70 4e 36 63 6a 35 6d 6a 35 77 57 45 57 43 50 6e 6f 6c 76 5a 37 37 67 52 31 6f 37 niF.wpN6cj5mj5wWEWCPnolvZ77gR1o7
1ce320 44 4a 70 6e 69 38 39 47 78 71 34 34 6f 2f 4b 6e 76 4f 62 57 68 57 73 7a 4a 48 41 69 53 38 73 49 DJpni89Gxq44o/KnvObWhWszJHAiS8sI
1ce340 6d 37 76 49 2b 41 49 70 48 62 34 67 44 45 61 2f 0a 61 34 65 62 73 79 70 6d 51 6a 56 47 62 4b 71 m7vI+AIpHb4gDEa/.a4ebsypmQjVGbKq
1ce360 36 72 66 6d 59 65 2b 6c 51 56 52 51 78 76 37 48 61 4c 65 32 41 72 57 67 6b 2b 32 6d 72 32 48 45 6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HE
1ce380 54 4d 4f 5a 6e 73 34 64 41 2f 59 6c 2b 38 6b 50 52 45 64 38 76 5a 53 39 6b 7a 6c 38 55 0a 75 62 TMOZns4dA/Yl+8kPREd8vZS9kzl8U.ub
1ce3a0 47 2f 4d 62 32 48 65 46 70 5a 5a 59 69 71 2f 46 6b 79 53 49 62 57 54 4c 6b 70 53 35 58 54 64 76 G/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdv
1ce3c0 4e 33 4a 57 31 43 48 44 69 44 54 66 32 6a 58 35 74 2f 4c 61 78 35 47 77 35 43 4d 5a 64 6a 70 50 N3JW1CHDiDTf2jX5t/Lax5Gw5CMZdjpP
1ce3e0 75 4b 61 64 55 69 44 54 53 51 0a 4d 43 36 6f 74 4f 42 74 74 70 53 73 76 49 74 4f 31 33 44 38 78 uKadUiDTSQ.MC6otOBttpSsvItO13D8x
1ce400 54 69 4f 5a 43 58 68 54 54 6d 51 7a 73 6d 48 68 46 68 78 41 67 4d 42 41 41 47 6a 67 61 67 77 67 TiOZCXhTTmQzsmHhFhxAgMBAAGjgagwg
1ce420 61 55 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 0a 2f 7a 42 43 42 67 4e 56 aUwDwYDVR0TAQH/BAUwAwEB./zBCBgNV
1ce440 48 53 41 45 4f 7a 41 35 4d 44 63 47 42 79 75 42 4b 77 45 42 41 51 6f 77 4c 44 41 71 42 67 67 72 HSAEOzA5MDcGByuBKwEBAQowLDAqBggr
1ce460 42 67 45 46 42 51 63 43 41 52 59 65 61 48 52 30 63 48 4d 36 4c 79 39 79 5a 58 42 76 63 32 6c 30 BgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0
1ce480 62 33 4a 35 0a 4c 6d 78 31 65 48 52 79 64 58 4e 30 4c 6d 78 31 4d 41 34 47 41 31 55 64 44 77 45 b3J5.Lmx1eHRydXN0Lmx1MA4GA1UdDwE
1ce4a0 42 2f 77 51 45 41 77 49 42 42 6a 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 54 2f 47 43 68 B/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh
1ce4c0 32 2b 55 67 46 4c 4b 47 75 38 53 73 62 4b 37 4a 54 0a 2b 45 74 38 73 7a 41 64 42 67 4e 56 48 51 2+UgFLKGu8SsbK7JT.+Et8szAdBgNVHQ
1ce4e0 34 45 46 67 51 55 2f 78 67 6f 64 76 6c 49 42 53 79 68 72 76 45 72 47 79 75 79 55 2f 68 4c 66 4c 4EFgQU/xgodvlIBSyhrvErGyuyU/hLfL
1ce500 4d 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 41 47 6f 5a 0a 46 MwDQYJKoZIhvcNAQELBQADggIBAGoZ.F
1ce520 4f 31 75 65 63 45 73 68 39 51 4e 63 48 37 58 39 6e 6a 4a 43 77 52 4f 78 4c 48 4f 6b 33 44 2b 73 O1uecEsh9QNcH7X9njJCwROxLHOk3D+s
1ce540 46 54 41 4d 73 32 5a 4d 47 51 58 76 77 2f 6c 34 6a 50 39 42 7a 5a 41 63 67 34 61 74 6d 70 5a 31 FTAMs2ZMGQXvw/l4jP9BzZAcg4atmpZ1
1ce560 67 44 6c 61 43 44 64 4c 6e 49 4e 0a 48 32 70 6b 4d 53 43 45 66 55 6d 6d 57 6a 66 72 52 63 6d 46 gDlaCDdLnIN.H2pkMSCEfUmmWjfrRcmF
1ce580 39 64 54 48 46 35 6b 48 35 70 74 56 35 41 7a 6f 71 62 54 4f 6a 46 75 31 45 56 7a 50 69 67 34 4e 9dTHF5kH5ptV5AzoqbTOjFu1EVzPig4N
1ce5a0 31 71 78 33 67 66 34 79 6e 43 53 65 63 73 35 55 38 39 42 76 6f 6c 62 57 0a 37 4d 4d 33 4c 47 56 1qx3gf4ynCSecs5U89BvolbW.7MM3LGV
1ce5c0 59 76 6c 63 41 47 76 49 31 2b 75 74 37 4d 56 33 43 77 52 49 39 6c 6f 47 49 6c 6f 6e 42 57 56 78 YvlcAGvI1+ut7MV3CwRI9loGIlonBWVx
1ce5e0 36 35 6e 39 77 4e 4f 65 44 34 72 48 68 34 62 68 59 37 39 53 56 35 47 43 63 38 4a 61 58 63 6f 7a 65n9wNOeD4rHh4bhY79SV5GCc8JaXcoz
1ce600 72 68 41 49 75 0a 5a 59 2b 6b 74 39 4a 2f 5a 39 33 49 30 35 35 63 71 71 6d 6b 6f 43 55 55 42 70 rhAIu.ZY+kt9J/Z93I055cqqmkoCUUBp
1ce620 76 73 54 33 34 74 43 33 38 64 64 66 45 7a 32 4f 33 4f 75 48 56 74 50 6c 75 35 6d 42 30 78 44 56 vsT34tC38ddfEz2O3OuHVtPlu5mB0xDV
1ce640 62 59 51 77 38 77 6b 62 49 45 61 39 31 57 76 70 57 41 0a 56 57 65 2b 32 4d 32 44 32 52 6a 75 4c bYQw8wkbIEa91WvpWA.VWe+2M2D2RjuL
1ce660 67 2b 47 4c 5a 4b 65 63 42 50 73 33 6c 48 4a 51 33 67 43 70 55 33 49 2b 56 2f 45 6b 56 68 47 46 g+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGF
1ce680 6e 64 61 64 4b 70 41 76 41 65 66 4d 4c 6d 78 39 78 49 58 33 65 50 2f 4a 45 41 64 65 6d 72 52 0a ndadKpAvAefMLmx9xIX3eP/JEAdemrR.
1ce6a0 54 78 67 4b 71 70 41 64 36 30 41 65 33 36 45 65 52 4a 49 51 6d 76 4b 4e 34 64 46 4c 52 70 37 6f TxgKqpAd60Ae36EeRJIQmvKN4dFLRp7o
1ce6c0 52 55 4b 58 36 6b 57 5a 38 2b 78 6d 31 51 4c 36 38 71 5a 4b 4a 4b 72 65 7a 72 6e 4b 2b 54 2b 54 RUKX6kWZ8+xm1QL68qZKJKrezrnK+T+T
1ce6e0 62 2f 6d 6a 75 75 71 6c 50 70 6d 74 0a 2f 66 39 37 6d 66 56 6c 37 76 42 5a 4b 47 66 58 6b 4a 57 b/mjuuqlPpmt./f97mfVl7vBZKGfXkJW
1ce700 6b 45 34 53 70 68 4d 48 6f 7a 73 35 31 6b 32 4d 61 76 44 7a 71 31 57 51 66 4c 53 6f 53 4f 63 62 kE4SphMHozs51k2MavDzq1WQfLSoSOcb
1ce720 44 57 6a 4c 74 52 35 45 57 44 72 77 34 77 56 44 65 6a 38 6f 71 6b 44 51 63 0a 37 6b 47 55 6e 46 DWjLtR5EWDrw4wVDej8oqkDQc.7kGUnF
1ce740 34 5a 4c 76 68 46 53 5a 6c 30 6b 62 41 45 62 2b 4d 45 57 72 47 72 4b 71 76 2b 78 39 43 57 74 74 4ZLvhFSZl0kbAEb+MEWrGrKqv+x9CWtt
1ce760 72 68 53 6d 51 47 62 6d 42 4e 76 55 4a 4f 2f 33 6a 61 4a 4d 6f 62 74 4e 65 57 4f 57 79 75 38 51 rhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q
1ce780 36 71 70 33 31 49 0a 69 79 42 4d 7a 32 54 57 75 4a 64 47 73 45 37 52 4b 6c 59 36 6f 4a 4f 39 72 6qp31I.iyBMz2TWuJdGsE7RKlY6oJO9r
1ce7a0 34 41 6b 34 41 70 2b 35 38 72 56 79 75 69 46 56 64 77 32 4b 75 47 55 61 4a 50 48 5a 6e 4a 45 44 4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED
1ce7c0 34 41 68 4d 6d 77 6c 78 79 4f 41 67 77 72 72 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 4AhMmwlxyOAgwrr.-----END.CERTIFI
1ce7e0 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 55 42 49 54 41 4b 20 4b 61 6d 75 20 53 4d 20 53 53 4c 20 4b CATE-----..TUBITAK.Kamu.SM.SSL.K
1ce800 6f 6b 20 53 65 72 74 69 66 69 6b 61 73 69 20 2d 20 53 75 72 75 6d 20 31 0a 3d 3d 3d 3d 3d 3d 3d ok.Sertifikasi.-.Surum.1.=======
1ce820 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================================
1ce840 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d ======.-----BEGIN.CERTIFICATE---
1ce860 2d 2d 0a 4d 49 49 45 59 7a 43 43 41 30 75 67 41 77 49 42 41 67 49 42 41 54 41 4e 42 67 6b 71 68 --.MIIEYzCCA0ugAwIBAgIBATANBgkqh
1ce880 6b 69 47 39 77 30 42 41 51 73 46 41 44 43 42 30 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 kiG9w0BAQsFADCB0jELMAkGA1UEBhMCV
1ce8a0 46 49 78 47 44 41 57 42 67 4e 56 42 41 63 54 0a 44 30 64 6c 59 6e 70 6c 49 43 30 67 53 32 39 6a FIxGDAWBgNVBAcT.D0dlYnplIC0gS29j
1ce8c0 59 57 56 73 61 54 46 43 4d 45 41 47 41 31 55 45 43 68 4d 35 56 48 56 79 61 32 6c 35 5a 53 42 43 YWVsaTFCMEAGA1UEChM5VHVya2l5ZSBC
1ce8e0 61 57 78 70 62 58 4e 6c 62 43 42 32 5a 53 42 55 5a 57 74 75 62 32 78 76 61 6d 6c 72 0a 49 45 46 aWxpbXNlbCB2ZSBUZWtub2xvamlr.IEF
1ce900 79 59 58 4e 30 61 58 4a 74 59 53 42 4c 64 58 4a 31 62 58 55 67 4c 53 42 55 56 55 4a 4a 56 45 46 yYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEF
1ce920 4c 4d 53 30 77 4b 77 59 44 56 51 51 4c 45 79 52 4c 59 57 31 31 49 46 4e 6c 63 6e 52 70 5a 6d 6c LMS0wKwYDVQQLEyRLYW11IFNlcnRpZml
1ce940 72 59 58 4e 35 62 32 34 67 0a 54 57 56 79 61 32 56 36 61 53 41 74 49 45 74 68 62 58 55 67 55 30 rYXN5b24g.TWVya2V6aSAtIEthbXUgU0
1ce960 30 78 4e 6a 41 30 42 67 4e 56 42 41 4d 54 4c 56 52 56 51 6b 6c 55 51 55 73 67 53 32 46 74 64 53 0xNjA0BgNVBAMTLVRVQklUQUsgS2FtdS
1ce980 42 54 54 53 42 54 55 30 77 67 53 32 39 72 49 46 4e 6c 63 6e 52 70 0a 5a 6d 6c 72 59 58 4e 70 49 BTTSBTU0wgS29rIFNlcnRp.ZmlrYXNpI
1ce9a0 43 30 67 55 33 56 79 64 57 30 67 4d 54 41 65 46 77 30 78 4d 7a 45 78 4d 6a 55 77 4f 44 49 31 4e C0gU3VydW0gMTAeFw0xMzExMjUwODI1N
1ce9c0 54 56 61 46 77 30 30 4d 7a 45 77 4d 6a 55 77 4f 44 49 31 4e 54 56 61 4d 49 48 53 4d 51 73 77 43 TVaFw00MzEwMjUwODI1NTVaMIHSMQswC
1ce9e0 51 59 44 0a 56 51 51 47 45 77 4a 55 55 6a 45 59 4d 42 59 47 41 31 55 45 42 78 4d 50 52 32 56 69 QYD.VQQGEwJUUjEYMBYGA1UEBxMPR2Vi
1cea00 65 6d 55 67 4c 53 42 4c 62 32 4e 68 5a 57 78 70 4d 55 49 77 51 41 59 44 56 51 51 4b 45 7a 6c 55 emUgLSBLb2NhZWxpMUIwQAYDVQQKEzlU
1cea20 64 58 4a 72 61 58 6c 6c 49 45 4a 70 62 47 6c 74 0a 63 32 56 73 49 48 5a 6c 49 46 52 6c 61 32 35 dXJraXllIEJpbGlt.c2VsIHZlIFRla25
1cea40 76 62 47 39 71 61 57 73 67 51 58 4a 68 63 33 52 70 63 6d 31 68 49 45 74 31 63 6e 56 74 64 53 41 vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSA
1cea60 74 49 46 52 56 51 6b 6c 55 51 55 73 78 4c 54 41 72 42 67 4e 56 42 41 73 54 4a 45 74 68 0a 62 58 tIFRVQklUQUsxLTArBgNVBAsTJEth.bX
1cea80 55 67 55 32 56 79 64 47 6c 6d 61 57 74 68 63 33 6c 76 62 69 42 4e 5a 58 4a 72 5a 58 70 70 49 43 UgU2VydGlmaWthc3lvbiBNZXJrZXppIC
1ceaa0 30 67 53 32 46 74 64 53 42 54 54 54 45 32 4d 44 51 47 41 31 55 45 41 78 4d 74 56 46 56 43 53 56 0gS2FtdSBTTTE2MDQGA1UEAxMtVFVCSV
1ceac0 52 42 53 79 42 4c 59 57 31 31 0a 49 46 4e 4e 49 46 4e 54 54 43 42 4c 62 32 73 67 55 32 56 79 64 RBSyBLYW11.IFNNIFNTTCBLb2sgU2Vyd
1ceae0 47 6c 6d 61 57 74 68 63 32 6b 67 4c 53 42 54 64 58 4a 31 62 53 41 78 4d 49 49 42 49 6a 41 4e 42 GlmaWthc2kgLSBTdXJ1bSAxMIIBIjANB
1ceb00 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 0a 4d 49 49 42 43 67 4b 43 gkqhkiG9w0BAQEFAAOCAQ8A.MIIBCgKC
1ceb20 41 51 45 41 72 33 55 77 4d 36 71 37 61 39 4f 5a 4c 42 49 33 68 4e 6d 4e 65 35 65 41 30 32 37 6e AQEAr3UwM6q7a9OZLBI3hNmNe5eA027n
1ceb40 2f 35 74 51 6c 54 36 51 6c 56 5a 43 31 78 6c 38 4a 6f 53 4e 6b 76 6f 42 48 54 6f 50 34 6d 51 34 /5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4
1ceb60 74 34 79 38 0a 36 49 6a 35 69 79 53 72 4c 71 50 31 4e 2b 52 41 6a 68 67 6c 65 59 4e 31 48 7a 76 t4y8.6Ij5iySrLqP1N+RAjhgleYN1Hzv
1ceb80 2f 62 4b 6a 46 78 6c 62 34 74 4f 32 4b 52 4b 4f 72 62 45 7a 38 48 64 44 63 37 32 69 39 7a 2b 53 /bKjFxlb4tO2KRKOrbEz8HdDc72i9z+S
1ceba0 71 7a 76 42 56 39 36 49 30 31 49 4e 72 4e 33 77 63 0a 77 76 36 31 41 2b 78 58 7a 72 79 30 74 63 qzvBV96I01INrN3wc.wv61A+xXzry0tc
1cebc0 58 74 41 41 39 54 4e 79 70 4e 39 45 38 4d 67 2f 75 47 7a 38 76 2b 6a 45 36 39 68 2f 6d 6e 69 79 XtAA9TNypN9E8Mg/uGz8v+jE69h/mniy
1cebe0 46 58 6e 48 72 66 41 32 65 4a 4c 4a 32 58 59 61 63 51 75 46 57 51 66 77 34 74 4a 7a 68 30 0a 33 FXnHrfA2eJLJ2XYacQuFWQfw4tJzh0.3
1cec00 2b 66 39 32 6b 34 53 34 30 30 56 49 67 4c 49 34 4f 44 38 44 36 32 4b 31 38 6c 55 55 4d 77 37 44 +f92k4S400VIgLI4OD8D62K18lUUMw7D
1cec20 38 6f 57 67 49 54 51 55 56 62 44 6a 6c 5a 2f 69 53 49 7a 4c 2b 61 46 43 72 32 6c 71 42 73 32 33 8oWgITQUVbDjlZ/iSIzL+aFCr2lqBs23
1cec40 74 50 63 4c 47 30 37 78 78 4f 39 0a 57 53 4d 73 35 75 57 6b 39 39 67 4c 37 65 71 51 51 45 53 6f tPcLG07xxO9.WSMs5uWk99gL7eqQQESo
1cec60 6c 62 75 54 31 64 43 41 4e 4c 5a 47 65 41 34 66 41 4a 4e 47 34 65 37 70 2b 65 78 50 46 77 49 44 lbuT1dCANLZGeA4fAJNG4e7p+exPFwID
1cec80 41 51 41 42 6f 30 49 77 51 44 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 0a 5a 54 2f 48 69 6f 62 AQABo0IwQDAdBgNVHQ4EFgQU.ZT/Hiob
1ceca0 47 50 4e 30 38 56 46 77 31 2b 44 72 74 55 67 78 48 56 38 67 77 44 67 59 44 56 52 30 50 41 51 48 GPN08VFw1+DrtUgxHV8gwDgYDVR0PAQH
1cecc0 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 /BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8
1cece0 77 44 51 59 4a 0a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 42 41 43 6f 2f 34 66 wDQYJ.KoZIhvcNAQELBQADggEBACo/4f
1ced00 45 79 6a 71 37 68 6d 46 78 4c 58 73 39 72 48 6d 6f 4a 30 69 4b 70 45 73 64 65 56 33 31 7a 56 6d Eyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVm
1ced20 53 41 68 48 71 54 35 41 6d 35 45 4d 32 66 4b 69 66 68 0a 41 48 65 2b 53 4d 67 31 71 49 47 66 35 SAhHqT5Am5EM2fKifh.AHe+SMg1qIGf5
1ced40 4c 67 73 79 58 38 4f 73 4e 4a 4c 4e 31 33 71 75 64 55 4c 58 6a 53 39 39 48 4d 70 77 2b 30 6d 46 LgsyX8OsNJLN13qudULXjS99HMpw+0mF
1ced60 5a 78 2b 43 46 4f 4b 57 49 33 51 53 79 6a 66 77 62 50 66 49 50 50 35 34 2b 4d 36 33 38 79 63 0a Zx+CFOKWI3QSyjfwbPfIPP54+M638yc.
1ced80 6c 4e 68 4f 54 38 4e 72 46 37 66 33 63 75 69 74 5a 6a 4f 31 4a 56 4f 72 34 50 68 4d 71 5a 33 39 lNhOT8NrF7f3cuitZjO1JVOr4PhMqZ39
1ceda0 38 67 32 36 72 72 6e 5a 71 73 5a 72 2b 5a 4f 37 72 71 75 34 6c 7a 77 44 47 72 70 44 78 70 61 35 8g26rrnZqsZr+ZO7rqu4lzwDGrpDxpa5
1cedc0 52 58 49 34 73 36 65 68 6c 6a 32 52 0a 65 33 37 41 49 56 4e 4d 68 2b 33 79 43 31 53 56 55 5a 50 RXI4s6ehlj2R.e37AIVNMh+3yC1SVUZP
1cede0 56 49 71 55 4e 69 76 47 54 44 6a 35 55 44 72 44 59 79 55 37 63 38 6a 45 79 56 75 70 6b 2b 65 71 VIqUNivGTDj5UDrDYyU7c8jEyVupk+eq
1cee00 31 6e 52 5a 6d 51 6e 4c 7a 66 39 4f 78 4d 55 50 38 70 49 34 58 38 57 30 6a 0a 71 35 52 6d 2b 4b 1nRZmQnLzf9OxMUP8pI4X8W0j.q5Rm+K
1cee20 33 37 44 77 68 75 4a 69 31 2f 46 77 63 4a 73 6f 7a 37 55 4d 43 66 6c 6f 33 50 74 76 30 41 6e 56 37DwhuJi1/FwcJsoz7UMCflo3Ptv0AnV
1cee40 6f 55 6d 72 38 43 52 50 58 42 77 70 38 69 58 71 49 50 6f 65 4d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 oUmr8CRPXBwp8iXqIPoeM=.-----END.
1cee60 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 44 43 41 20 54 72 75 73 74 41 55 54 48 CERTIFICATE-----..GDCA.TrustAUTH
1cee80 20 52 35 20 52 4f 4f 54 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a .R5.ROOT.======================.
1ceea0 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 -----BEGIN.CERTIFICATE-----.MIIF
1ceec0 69 44 43 43 41 33 43 67 41 77 49 42 41 67 49 49 66 51 6d 58 2f 76 42 48 36 6e 6f 77 44 51 59 4a iDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJ
1ceee0 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 59 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 KoZIhvcNAQELBQAwYjELMAkGA1UEBhMC
1cef00 51 30 34 78 4d 6a 41 77 0a 42 67 4e 56 42 41 6f 4d 4b 55 64 56 51 55 35 48 49 45 52 50 54 6b 63 Q04xMjAw.BgNVBAoMKUdVQU5HIERPTkc
1cef20 67 51 30 56 53 56 45 6c 47 53 55 4e 42 56 45 55 67 51 56 56 55 53 45 39 53 53 56 52 5a 49 45 4e gQ0VSVElGSUNBVEUgQVVUSE9SSVRZIEN
1cef40 50 4c 69 78 4d 56 45 51 75 4d 52 38 77 48 51 59 44 56 51 51 44 0a 44 42 5a 48 52 45 4e 42 49 46 PLixMVEQuMR8wHQYDVQQD.DBZHRENBIF
1cef60 52 79 64 58 4e 30 51 56 56 55 53 43 42 53 4e 53 42 53 54 30 39 55 4d 42 34 58 44 54 45 30 4d 54 RydXN0QVVUSCBSNSBST09UMB4XDTE0MT
1cef80 45 79 4e 6a 41 31 4d 54 4d 78 4e 56 6f 58 44 54 51 77 4d 54 49 7a 4d 54 45 31 4e 54 6b 31 4f 56 EyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OV
1cefa0 6f 77 0a 59 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 51 30 34 78 4d 6a 41 77 42 67 4e 56 42 ow.YjELMAkGA1UEBhMCQ04xMjAwBgNVB
1cefc0 41 6f 4d 4b 55 64 56 51 55 35 48 49 45 52 50 54 6b 63 67 51 30 56 53 56 45 6c 47 53 55 4e 42 56 AoMKUdVQU5HIERPTkcgQ0VSVElGSUNBV
1cefe0 45 55 67 51 56 56 55 53 45 39 53 53 56 52 5a 0a 49 45 4e 50 4c 69 78 4d 56 45 51 75 4d 52 38 77 EUgQVVUSE9SSVRZ.IENPLixMVEQuMR8w
1cf000 48 51 59 44 56 51 51 44 44 42 5a 48 52 45 4e 42 49 46 52 79 64 58 4e 30 51 56 56 55 53 43 42 53 HQYDVQQDDBZHRENBIFRydXN0QVVUSCBS
1cf020 4e 53 42 53 54 30 39 55 4d 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 0a 41 51 45 NSBST09UMIICIjANBgkqhkiG9w0B.AQE
1cf040 46 41 41 4f 43 41 67 38 41 4d 49 49 43 43 67 4b 43 41 67 45 41 32 61 4d 57 38 4d 68 30 64 48 65 FAAOCAg8AMIICCgKCAgEA2aMW8Mh0dHe
1cf060 62 37 7a 4d 4e 4f 77 5a 2b 56 66 79 31 59 49 39 32 68 68 4a 43 66 56 5a 6d 50 6f 69 43 37 58 4a b7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJ
1cf080 6a 44 70 36 4c 33 54 51 73 0a 41 6c 46 52 77 78 6e 39 57 56 53 45 79 66 46 72 73 30 79 77 36 65 jDp6L3TQs.AlFRwxn9WVSEyfFrs0yw6e
1cf0a0 68 47 58 54 6a 47 6f 71 63 75 45 56 65 36 67 68 57 69 6e 49 39 74 73 4a 6c 4b 43 76 4c 72 69 58 hGXTjGoqcuEVe6ghWinI9tsJlKCvLriX
1cf0c0 42 6a 54 6e 6e 45 74 31 75 39 6f 6c 32 78 38 6b 45 43 4b 36 32 70 0a 4f 71 50 73 65 51 72 73 58 BjTnnEt1u9ol2x8kECK62p.OqPseQrsX
1cf0e0 7a 72 6a 2f 65 2b 41 50 4b 30 30 6d 78 71 72 69 43 5a 37 56 71 4b 43 68 68 2f 72 4e 59 6d 44 66 zrj/e+APK00mxqriCZ7VqKChh/rNYmDf
1cf100 31 2b 75 4b 55 34 39 74 6d 37 73 72 73 48 77 4a 35 75 75 34 2f 54 73 37 36 35 2f 39 34 59 39 63 1+uKU49tm7srsHwJ5uu4/Ts765/94Y9c
1cf120 6e 72 72 0a 70 66 74 5a 54 71 66 72 6c 59 77 69 4f 58 6e 68 4c 51 69 50 7a 4c 79 52 75 45 48 33 nrr.pftZTqfrlYwiOXnhLQiPzLyRuEH3
1cf140 46 4d 45 6a 71 63 4f 74 6d 6b 56 45 73 37 4c 58 4c 4d 33 47 4b 65 4a 51 45 4b 35 63 79 34 4b 4f FMEjqcOtmkVEs7LXLM3GKeJQEK5cy4KO
1cf160 46 78 67 32 66 5a 66 6d 69 4a 71 77 54 54 51 4a 0a 39 43 79 35 57 6d 59 71 73 42 65 62 6e 68 35 Fxg2fZfmiJqwTTQJ.9Cy5WmYqsBebnh5
1cf180 32 6e 55 70 6d 4d 55 48 66 50 2f 76 46 42 75 38 62 74 6e 34 61 52 6a 62 33 5a 47 4d 37 34 7a 6b 2nUpmMUHfP/vFBu8btn4aRjb3ZGM74zk
1cf1a0 59 49 2b 64 6e 64 52 54 56 64 56 65 53 4e 37 32 2b 61 68 73 6d 55 50 49 32 4a 67 61 51 0a 78 58 YI+dndRTVdVeSN72+ahsmUPI2JgaQ.xX
1cf1c0 41 42 5a 47 31 32 5a 75 47 52 32 32 34 48 77 47 47 41 4c 72 49 75 4c 34 78 77 70 39 45 37 50 4c ABZG12ZuGR224HwGGALrIuL4xwp9E7PL
1cf1e0 4f 52 35 47 36 32 78 44 74 77 38 6d 79 53 6c 77 6e 4e 52 33 30 59 77 50 4f 37 6e 67 2f 57 69 36 OR5G62xDtw8mySlwnNR30YwPO7ng/Wi6
1cf200 34 48 74 6c 6f 50 7a 67 73 4d 0a 52 36 66 6c 50 72 69 39 66 63 65 62 4e 61 42 68 6c 7a 70 42 64 4HtloPzgsM.R6flPri9fcebNaBhlzpBd
1cf220 52 66 4d 4b 35 5a 33 4b 70 49 68 48 74 6d 56 64 69 42 6e 61 4d 38 4e 76 64 2f 57 48 77 6c 71 6d RfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqm
1cf240 75 4c 4d 63 33 47 6b 4c 33 30 53 67 4c 64 54 4d 45 5a 65 53 31 53 5a 0a 44 32 66 4a 70 63 6a 79 uLMc3GkL30SgLdTMEZeS1SZ.D2fJpcjy
1cf260 49 4d 47 43 37 4a 30 52 33 38 49 43 2b 78 6f 37 30 65 30 67 6d 75 39 6c 5a 4a 49 51 44 53 72 69 IMGC7J0R38IC+xo70e0gmu9lZJIQDSri
1cf280 33 6e 44 78 47 47 65 43 6a 47 48 65 75 4c 7a 52 4c 35 7a 37 44 39 41 72 37 52 74 32 75 65 51 35 3nDxGGeCjGHeuLzRL5z7D9Ar7Rt2ueQ5
1cf2a0 56 66 6a 34 0a 6f 52 32 34 71 6f 41 41 54 49 4c 6e 73 6e 38 4a 75 4c 77 77 6f 43 38 4e 39 56 4b Vfj4.oR24qoAATILnsn8JuLwwoC8N9VK
1cf2c0 65 6a 76 65 53 73 77 6f 41 48 51 42 55 6c 77 62 67 73 51 66 5a 78 77 39 63 5a 58 30 38 62 56 6c ejveSswoAHQBUlwbgsQfZxw9cZX08bVl
1cf2e0 58 35 4f 32 6c 6a 65 6c 41 55 35 38 56 53 36 42 78 0a 39 68 6f 68 34 39 70 77 42 69 46 59 46 49 X5O2ljelAU58VS6Bx.9hoh49pwBiFYFI
1cf300 65 46 64 33 6d 71 67 6e 6b 43 41 77 45 41 41 61 4e 43 4d 45 41 77 48 51 59 44 56 52 30 4f 42 42 eFd3mqgnkCAwEAAaNCMEAwHQYDVR0OBB
1cf320 59 45 46 4f 4c 4a 51 4a 39 4e 7a 75 69 61 6f 58 7a 50 44 6a 39 6c 78 53 6d 49 61 68 6c 52 0a 4d YEFOLJQJ9NzuiaoXzPDj9lxSmIahlR.M
1cf340 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 67 59 44 56 52 30 50 41 A8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PA
1cf360 51 48 2f 42 41 51 44 41 67 47 47 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 41 QH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA
1cf380 34 49 43 41 51 44 52 53 56 66 67 0a 70 38 78 6f 57 4c 6f 42 44 79 73 5a 7a 59 32 77 59 55 57 73 4ICAQDRSVfg.p8xoWLoBDysZzY2wYUWs
1cf3a0 45 65 31 6a 55 47 6e 34 48 33 2b 2b 46 6f 2f 39 6e 65 73 4c 71 6a 4a 48 64 74 4a 6e 4a 4f 32 39 Ee1jUGn4H3++Fo/9nesLqjJHdtJnJO29
1cf3c0 66 44 4d 79 6c 79 72 48 42 59 5a 6d 44 52 64 39 46 42 55 62 31 4f 76 39 0a 48 35 72 32 58 70 64 fDMylyrHBYZmDRd9FBUb1Ov9.H5r2Xpd
1cf3e0 70 74 78 6f 6c 70 41 71 7a 6b 54 39 66 4e 71 79 4c 37 46 65 6f 50 75 65 42 69 68 68 58 4f 59 56 ptxolpAqzkT9fNqyL7FeoPueBihhXOYV
1cf400 30 47 6b 4c 48 36 56 73 54 58 34 2f 35 43 4f 6d 53 64 49 33 31 52 39 4b 72 4f 39 62 37 65 47 5a 0GkLH6VsTX4/5COmSdI31R9KrO9b7eGZ
1cf420 4f 4e 6e 33 35 0a 36 5a 4c 70 42 4e 37 39 53 57 50 38 62 66 73 55 63 5a 4e 6e 4c 30 64 4b 74 37 ONn35.6ZLpBN79SWP8bfsUcZNnL0dKt7
1cf440 6e 2f 48 69 70 7a 63 45 59 77 76 31 72 79 4c 33 6d 6c 34 59 30 4d 32 66 6d 79 59 7a 65 4d 4e 32 n/HipzcEYwv1ryL3ml4Y0M2fmyYzeMN2
1cf460 57 46 63 47 70 63 57 77 6c 79 75 61 31 6a 50 4c 48 64 0a 2b 50 77 79 76 7a 65 47 35 4c 75 4f 6d WFcGpcWwlyua1jPLHd.+PwyvzeG5LuOm
1cf480 43 64 2b 75 68 38 57 34 58 41 52 38 67 50 66 4a 57 49 79 4a 79 59 59 4d 6f 53 66 2f 77 41 36 45 Cd+uh8W4XAR8gPfJWIyJyYYMoSf/wA6E
1cf4a0 37 71 61 54 66 52 50 75 42 52 77 49 72 48 4b 4b 35 44 4f 4b 63 46 77 39 43 2b 64 66 2f 4b 51 0a 7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQ.
1cf4c0 48 74 5a 61 33 37 64 47 2f 4f 61 47 2b 73 76 67 49 48 5a 36 75 71 62 4c 39 58 7a 65 59 71 57 78 HtZa37dG/OaG+svgIHZ6uqbL9XzeYqWx
1cf4e0 69 2b 37 65 67 6d 61 4b 54 6a 6f 77 48 7a 2b 41 79 36 30 6e 75 67 78 65 31 39 43 78 56 73 70 33 i+7egmaKTjowHz+Ay60nugxe19CxVsp3
1cf500 63 62 4b 31 64 61 46 51 71 55 42 44 0a 46 38 49 6f 32 63 39 53 69 31 76 49 59 39 52 43 50 71 41 cbK1daFQqUBD.F8Io2c9Si1vIY9RCPqA
1cf520 7a 65 6b 59 75 39 77 6f 67 52 6c 52 2b 61 6b 38 78 38 59 46 2b 51 6e 51 34 5a 58 4d 6e 37 73 5a zekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ
1cf540 38 75 49 37 58 70 54 72 58 6d 4b 47 63 6a 42 42 56 30 39 74 4c 37 45 43 51 0a 38 73 31 75 56 39 8uI7XpTrXmKGcjBBV09tL7ECQ.8s1uV9
1cf560 4a 69 44 6e 78 58 6b 37 47 6e 62 63 32 64 67 37 73 71 35 2b 57 32 4f 33 46 59 72 66 33 52 52 62 JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRb
1cf580 78 61 6b 65 35 54 46 57 2f 54 52 51 6c 31 62 72 71 51 58 52 34 45 7a 7a 66 66 48 71 68 6d 73 59 xake5TFW/TRQl1brqQXR4EzzffHqhmsY
1cf5a0 7a 6d 49 47 72 76 0a 2f 45 68 4f 64 4a 68 43 72 79 6c 76 4c 6d 72 48 2b 33 33 52 5a 6a 45 69 7a zmIGrv./EhOdJhCrylvLmrH+33RZjEiz
1cf5c0 49 59 41 66 6d 61 44 44 45 4c 30 76 54 53 53 77 78 72 71 54 38 70 2b 63 6b 30 4c 63 49 79 6d 53 IYAfmaDDEL0vTSSwxrqT8p+ck0LcIymS
1cf5e0 4c 75 6d 6f 52 54 32 2b 31 68 45 6d 52 53 75 71 67 75 54 0a 61 61 41 70 4a 55 71 6c 79 79 76 64 LumoRT2+1hEmRSuqguT.aaApJUqlyyvd
1cf600 69 6d 59 48 46 6e 67 56 56 33 45 62 37 50 56 48 68 50 4f 65 4d 54 64 36 31 58 38 6b 72 65 53 38 imYHFngVV3Eb7PVHhPOeMTd61X8kreS8
1cf620 2f 66 33 4d 62 6f 50 6f 44 4b 69 33 51 57 77 48 33 62 30 38 68 70 63 76 30 67 3d 3d 0a 2d 2d 2d /f3MboPoDKi3QWwH3b08hpcv0g==.---
1cf640 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 72 75 73 74 43 6f 72 --END.CERTIFICATE-----..TrustCor
1cf660 20 52 6f 6f 74 43 65 72 74 20 43 41 2d 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .RootCert.CA-1.=================
1cf680 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d =====.-----BEGIN.CERTIFICATE----
1cf6a0 2d 0a 4d 49 49 45 4d 44 43 43 41 78 69 67 41 77 49 42 41 67 49 4a 41 4e 71 62 37 48 48 7a 41 37 -.MIIEMDCCAxigAwIBAgIJANqb7HHzA7
1cf6c0 41 5a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d 49 47 6b 4d 51 73 77 43 51 AZMA0GCSqGSIb3DQEBCwUAMIGkMQswCQ
1cf6e0 59 44 56 51 51 47 45 77 4a 51 51 54 45 50 0a 4d 41 30 47 41 31 55 45 43 41 77 47 55 47 46 75 59 YDVQQGEwJQQTEP.MA0GA1UECAwGUGFuY
1cf700 57 31 68 4d 52 51 77 45 67 59 44 56 51 51 48 44 41 74 51 59 57 35 68 62 57 45 67 51 32 6c 30 65 W1hMRQwEgYDVQQHDAtQYW5hbWEgQ2l0e
1cf720 54 45 6b 4d 43 49 47 41 31 55 45 43 67 77 62 56 48 4a 31 63 33 52 44 62 33 49 67 0a 55 33 6c 7a TEkMCIGA1UECgwbVHJ1c3RDb3Ig.U3lz
1cf740 64 47 56 74 63 79 42 54 4c 69 42 6b 5a 53 42 53 4c 6b 77 75 4d 53 63 77 4a 51 59 44 56 51 51 4c dGVtcyBTLiBkZSBSLkwuMScwJQYDVQQL
1cf760 44 42 35 55 63 6e 56 7a 64 45 4e 76 63 69 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 DB5UcnVzdENvciBDZXJ0aWZpY2F0ZSBB
1cf780 64 58 52 6f 62 33 4a 70 0a 64 48 6b 78 48 7a 41 64 42 67 4e 56 42 41 4d 4d 46 6c 52 79 64 58 4e dXRob3Jp.dHkxHzAdBgNVBAMMFlRydXN
1cf7a0 30 51 32 39 79 49 46 4a 76 62 33 52 44 5a 58 4a 30 49 45 4e 42 4c 54 45 77 48 68 63 4e 4d 54 59 0Q29yIFJvb3RDZXJ0IENBLTEwHhcNMTY
1cf7c0 77 4d 6a 41 30 4d 54 49 7a 4d 6a 45 32 57 68 63 4e 4d 6a 6b 78 0a 4d 6a 4d 78 4d 54 63 79 4d 7a wMjA0MTIzMjE2WhcNMjkx.MjMxMTcyMz
1cf7e0 45 32 57 6a 43 42 70 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 55 45 45 78 44 7a 41 4e 42 67 E2WjCBpDELMAkGA1UEBhMCUEExDzANBg
1cf800 4e 56 42 41 67 4d 42 6c 42 68 62 6d 46 74 59 54 45 55 4d 42 49 47 41 31 55 45 42 77 77 4c 55 47 NVBAgMBlBhbmFtYTEUMBIGA1UEBwwLUG
1cf820 46 75 0a 59 57 31 68 49 45 4e 70 64 48 6b 78 4a 44 41 69 42 67 4e 56 42 41 6f 4d 47 31 52 79 64 Fu.YW1hIENpdHkxJDAiBgNVBAoMG1Ryd
1cf840 58 4e 30 51 32 39 79 49 46 4e 35 63 33 52 6c 62 58 4d 67 55 79 34 67 5a 47 55 67 55 69 35 4d 4c XN0Q29yIFN5c3RlbXMgUy4gZGUgUi5ML
1cf860 6a 45 6e 4d 43 55 47 41 31 55 45 43 77 77 65 0a 56 48 4a 31 63 33 52 44 62 33 49 67 51 32 56 79 jEnMCUGA1UECwwe.VHJ1c3RDb3IgQ2Vy
1cf880 64 47 6c 6d 61 57 4e 68 64 47 55 67 51 58 56 30 61 47 39 79 61 58 52 35 4d 52 38 77 48 51 59 44 dGlmaWNhdGUgQXV0aG9yaXR5MR8wHQYD
1cf8a0 56 51 51 44 44 42 5a 55 63 6e 56 7a 64 45 4e 76 63 69 42 53 62 32 39 30 51 32 56 79 0a 64 43 42 VQQDDBZUcnVzdENvciBSb290Q2Vy.dCB
1cf8c0 44 51 53 30 78 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f DQS0xMIIBIjANBgkqhkiG9w0BAQEFAAO
1cf8e0 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 76 34 36 33 6c 65 4c 43 4a 68 4a 72 4d 78 6e CAQ8AMIIBCgKCAQEAv463leLCJhJrMxn
1cf900 48 51 46 67 4b 71 31 6d 71 0a 6a 51 43 6a 2f 49 44 48 55 48 75 4f 31 43 41 6d 75 6a 49 53 32 43 HQFgKq1mq.jQCj/IDHUHuO1CAmujIS2C
1cf920 4e 55 53 53 55 51 49 70 69 64 52 74 4c 42 79 5a 35 4f 47 79 34 73 44 6a 6a 7a 47 69 56 6f 48 4b NUSSUQIpidRtLByZ5OGy4sDjjzGiVoHK
1cf940 5a 61 42 65 59 65 69 30 69 2f 6d 4a 5a 30 50 6d 6e 4b 36 62 56 34 0a 70 51 61 38 31 51 42 65 43 ZaBeYei0i/mJZ0PmnK6bV4.pQa81QBeC
1cf960 51 72 79 4a 33 70 53 2f 43 33 56 73 65 71 30 69 57 45 6b 38 78 6f 54 32 36 6e 50 55 75 30 4d 4a QryJ3pS/C3Vseq0iWEk8xoT26nPUu0MJ
1cf980 4c 71 35 6e 75 78 2b 41 48 54 36 6b 36 31 73 4b 5a 4b 75 55 62 53 37 30 31 65 2f 73 2f 4f 6f 6a Lq5nux+AHT6k61sKZKuUbS701e/s/Ooj
1cf9a0 5a 7a 30 0a 4a 45 73 71 31 70 6d 65 39 4a 37 2b 77 48 35 43 4f 75 63 4c 6c 56 50 61 74 32 67 4f Zz0.JEsq1pme9J7+wH5COucLlVPat2gO
1cf9c0 6b 45 7a 37 63 44 2b 50 53 69 79 55 38 79 62 64 59 32 6d 70 6c 4e 67 51 54 73 56 48 43 4a 43 5a kEz7cD+PSiyU8ybdY2mplNgQTsVHCJCZ
1cf9e0 47 78 64 4e 75 57 78 75 37 32 43 56 45 59 34 68 0a 67 4c 57 39 6f 48 50 59 30 4c 4a 33 78 45 58 GxdNuWxu72CVEY4h.gLW9oHPY0LJ3xEX
1cfa00 71 57 69 62 37 5a 6e 5a 32 2b 41 59 66 59 57 30 50 56 63 57 44 74 78 42 57 63 67 59 48 70 66 4f qWib7ZnZ2+AYfYW0PVcWDtxBWcgYHpfO
1cfa20 78 47 67 4d 46 5a 41 36 64 57 6f 72 57 68 6e 41 62 4a 4e 37 2b 4b 49 6f 72 30 47 71 77 0a 2f 48 xGgMFZA6dWorWhnAbJN7+KIor0Gqw./H
1cfa40 71 69 33 4c 4a 35 44 6f 74 6c 44 77 49 44 41 51 41 42 6f 32 4d 77 59 54 41 64 42 67 4e 56 48 51 qi3LJ5DotlDwIDAQABo2MwYTAdBgNVHQ
1cfa60 34 45 46 67 51 55 37 6d 74 4a 50 48 6f 2f 44 65 4f 78 43 62 65 4b 79 4b 73 5a 6e 33 4d 7a 55 4f 4EFgQU7mtJPHo/DeOxCbeKyKsZn3MzUO
1cfa80 63 77 48 77 59 44 56 52 30 6a 0a 42 42 67 77 46 6f 41 55 37 6d 74 4a 50 48 6f 2f 44 65 4f 78 43 cwHwYDVR0j.BBgwFoAU7mtJPHo/DeOxC
1cfaa0 62 65 4b 79 4b 73 5a 6e 33 4d 7a 55 4f 63 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 beKyKsZn3MzUOcwDwYDVR0TAQH/BAUwA
1cfac0 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 59 59 77 44 51 59 4a wEB/zAOBgNVHQ8BAf8EBAMC.AYYwDQYJ
1cfae0 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 45 42 41 43 55 59 31 4a 47 50 45 2b 36 50 KoZIhvcNAQELBQADggEBACUY1JGPE+6P
1cfb00 48 68 30 52 55 39 6f 74 52 43 6b 5a 6f 42 35 72 4d 5a 35 4e 44 70 36 74 50 56 78 42 62 35 55 72 Hh0RU9otRCkZoB5rMZ5NDp6tPVxBb5Ur
1cfb20 4a 4b 46 35 0a 6d 44 6f 34 4e 76 75 37 5a 70 35 49 2f 35 43 51 37 7a 33 55 75 4a 75 30 68 33 55 JKF5.mDo4Nvu7Zp5I/5CQ7z3UuJu0h3U
1cfb40 2f 49 4a 76 4f 63 73 2b 68 56 63 46 4e 5a 4b 49 5a 42 71 45 48 4d 77 77 4c 4b 65 58 78 36 71 75 /IJvOcs+hVcFNZKIZBqEHMwwLKeXx6qu
1cfb60 6a 37 4c 55 4b 64 4a 44 48 66 58 4c 79 31 31 79 66 0a 6b 65 2b 52 69 37 66 63 37 57 61 69 7a 34 j7LUKdJDHfXLy11yf.ke+Ri7fc7Waiz4
1cfb80 35 6d 4f 37 79 66 4f 67 4c 67 4a 39 30 57 6d 4d 43 56 31 41 71 6b 35 49 47 61 64 5a 51 31 6e 4a 5mO7yfOgLgJ90WmMCV1Aqk5IGadZQ1nJ
1cfba0 42 66 69 44 63 47 72 56 6d 56 43 72 44 52 5a 39 4d 5a 79 6f 6e 6e 4d 6c 6f 32 48 44 36 43 0a 71 BfiDcGrVmVCrDRZ9MZyonnMlo2HD6C.q
1cfbc0 46 71 54 76 73 62 51 5a 4a 47 32 7a 39 6d 32 47 4d 2f 62 66 74 4a 6c 6f 36 62 45 6a 68 63 78 77 FqTvsbQZJG2z9m2GM/bftJlo6bEjhcxw
1cfbe0 66 74 2b 64 74 76 54 68 65 4e 59 73 6e 64 36 64 6a 74 73 4c 31 41 63 35 39 76 32 5a 33 6b 66 39 ft+dtvTheNYsnd6djtsL1Ac59v2Z3kf9
1cfc00 59 4b 56 6d 67 65 6e 46 4b 2b 50 0a 33 43 67 68 5a 77 6e 53 31 6b 31 61 48 42 6b 63 6a 6e 64 63 YKVmgenFK+P.3CghZwnS1k1aHBkcjndc
1cfc20 77 35 51 6b 50 54 4a 72 53 33 37 55 65 4a 53 44 76 6a 64 4e 7a 6c 2f 48 48 6b 34 38 34 49 6b 7a w5QkPTJrS37UeJSDvjdNzl/HHk484Ikz
1cfc40 6c 51 73 50 70 54 4c 57 50 46 70 35 4c 42 6b 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 lQsPpTLWPFp5LBk=.-----END.CERTIF
1cfc60 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 72 75 73 74 43 6f 72 20 52 6f 6f 74 43 65 72 74 20 43 41 ICATE-----..TrustCor.RootCert.CA
1cfc80 2d 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 -2.======================.-----B
1cfca0 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 47 4c 7a 43 43 42 42 EGIN.CERTIFICATE-----.MIIGLzCCBB
1cfcc0 65 67 41 77 49 42 41 67 49 49 4a 61 48 66 79 6a 50 4c 57 51 49 77 44 51 59 4a 4b 6f 5a 49 68 76 egAwIBAgIIJaHfyjPLWQIwDQYJKoZIhv
1cfce0 63 4e 41 51 45 4c 42 51 41 77 67 61 51 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 42 42 4d 51 cNAQELBQAwgaQxCzAJBgNVBAYTAlBBMQ
1cfd00 38 77 0a 44 51 59 44 56 51 51 49 44 41 5a 51 59 57 35 68 62 57 45 78 46 44 41 53 42 67 4e 56 42 8w.DQYDVQQIDAZQYW5hbWExFDASBgNVB
1cfd20 41 63 4d 43 31 42 68 62 6d 46 74 59 53 42 44 61 58 52 35 4d 53 51 77 49 67 59 44 56 51 51 4b 44 AcMC1BhbmFtYSBDaXR5MSQwIgYDVQQKD
1cfd40 42 74 55 63 6e 56 7a 64 45 4e 76 63 69 42 54 0a 65 58 4e 30 5a 57 31 7a 49 46 4d 75 49 47 52 6c BtUcnVzdENvciBT.eXN0ZW1zIFMuIGRl
1cfd60 49 46 49 75 54 43 34 78 4a 7a 41 6c 42 67 4e 56 42 41 73 4d 48 6c 52 79 64 58 4e 30 51 32 39 79 IFIuTC4xJzAlBgNVBAsMHlRydXN0Q29y
1cfd80 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 6c 49 45 46 31 64 47 68 76 63 6d 6c 30 0a 65 54 45 IENlcnRpZmljYXRlIEF1dGhvcml0.eTE
1cfda0 66 4d 42 30 47 41 31 55 45 41 77 77 57 56 48 4a 31 63 33 52 44 62 33 49 67 55 6d 39 76 64 45 4e fMB0GA1UEAwwWVHJ1c3RDb3IgUm9vdEN
1cfdc0 6c 63 6e 51 67 51 30 45 74 4d 6a 41 65 46 77 30 78 4e 6a 41 79 4d 44 51 78 4d 6a 4d 79 4d 6a 4e lcnQgQ0EtMjAeFw0xNjAyMDQxMjMyMjN
1cfde0 61 46 77 30 7a 4e 44 45 79 0a 4d 7a 45 78 4e 7a 49 32 4d 7a 6c 61 4d 49 47 6b 4d 51 73 77 43 51 aFw0zNDEy.MzExNzI2MzlaMIGkMQswCQ
1cfe00 59 44 56 51 51 47 45 77 4a 51 51 54 45 50 4d 41 30 47 41 31 55 45 43 41 77 47 55 47 46 75 59 57 YDVQQGEwJQQTEPMA0GA1UECAwGUGFuYW
1cfe20 31 68 4d 52 51 77 45 67 59 44 56 51 51 48 44 41 74 51 59 57 35 68 0a 62 57 45 67 51 32 6c 30 65 1hMRQwEgYDVQQHDAtQYW5h.bWEgQ2l0e
1cfe40 54 45 6b 4d 43 49 47 41 31 55 45 43 67 77 62 56 48 4a 31 63 33 52 44 62 33 49 67 55 33 6c 7a 64 TEkMCIGA1UECgwbVHJ1c3RDb3IgU3lzd
1cfe60 47 56 74 63 79 42 54 4c 69 42 6b 5a 53 42 53 4c 6b 77 75 4d 53 63 77 4a 51 59 44 56 51 51 4c 44 GVtcyBTLiBkZSBSLkwuMScwJQYDVQQLD
1cfe80 42 35 55 0a 63 6e 56 7a 64 45 4e 76 63 69 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 5a 53 42 42 B5U.cnVzdENvciBDZXJ0aWZpY2F0ZSBB
1cfea0 64 58 52 6f 62 33 4a 70 64 48 6b 78 48 7a 41 64 42 67 4e 56 42 41 4d 4d 46 6c 52 79 64 58 4e 30 dXRob3JpdHkxHzAdBgNVBAMMFlRydXN0
1cfec0 51 32 39 79 49 46 4a 76 62 33 52 44 5a 58 4a 30 0a 49 45 4e 42 4c 54 49 77 67 67 49 69 4d 41 30 Q29yIFJvb3RDZXJ0.IENBLTIwggIiMA0
1cfee0 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoI
1cff00 43 41 51 43 6e 49 47 37 43 4b 71 4a 69 4a 4a 57 51 64 73 67 34 66 6f 44 53 71 38 47 62 0a 5a 51 CAQCnIG7CKqJiJJWQdsg4foDSq8Gb.ZQ
1cff20 57 55 39 4d 45 4b 45 4e 55 43 72 4f 32 66 6b 38 65 48 79 4c 41 6e 4b 30 49 4d 50 51 6f 2b 51 56 WU9MEKENUCrO2fk8eHyLAnK0IMPQo+QV
1cff40 71 65 64 64 32 4e 79 75 43 62 37 47 67 79 70 47 6d 53 61 49 77 4c 67 51 35 57 6f 44 34 61 33 53 qedd2NyuCb7GgypGmSaIwLgQ5WoD4a3S
1cff60 77 6c 46 49 49 76 6c 39 4e 6b 0a 52 76 52 55 71 64 77 36 56 43 30 78 4b 35 6d 43 38 74 6b 71 31 wlFIIvl9Nk.RvRUqdw6VC0xK5mC8tkq1
1cff80 2b 39 78 41 4c 67 78 70 4c 35 36 4a 41 66 44 51 69 44 79 69 74 53 53 42 42 74 6c 56 6b 78 73 31 +9xALgxpL56JAfDQiDyitSSBBtlVkxs1
1cffa0 50 75 32 59 56 70 48 49 37 54 59 61 62 53 33 4f 74 42 30 50 41 78 31 0a 6f 59 78 4f 64 71 48 70 Pu2YVpHI7TYabS3OtB0PAx1.oYxOdqHp
1cffc0 32 79 71 6c 4f 2f 72 4f 73 50 39 2b 61 69 6a 39 4a 78 7a 49 73 65 6b 70 38 56 64 75 5a 4c 54 51 2yqlO/rOsP9+aij9JxzIsekp8VduZLTQ
1cffe0 77 52 56 74 44 72 34 75 44 6b 62 49 58 76 52 52 2f 75 38 4f 59 7a 6f 37 63 62 72 50 62 31 6e 4b wRVtDr4uDkbIXvRR/u8OYzo7cbrPb1nK
1d0000 44 4f 4f 62 0a 58 55 6d 34 54 4f 4a 58 73 5a 69 4b 51 6c 65 63 64 75 2f 76 76 64 46 6f 71 4e 4c DOOb.XUm4TOJXsZiKQlecdu/vvdFoqNL
1d0020 30 43 62 74 33 4e 62 34 6c 67 67 6a 45 46 69 78 45 49 46 61 70 52 42 46 33 37 31 32 30 48 61 70 0Cbt3Nb4lggjEFixEIFapRBF37120Hap
1d0040 65 61 7a 36 4c 4d 76 59 48 4c 31 63 45 6b 73 72 31 0a 2f 70 33 43 36 65 69 7a 6a 6b 78 4c 41 6a eaz6LMvYHL1cEksr1./p3C6eizjkxLAj
1d0060 48 5a 35 44 78 49 67 69 66 33 47 49 4a 32 53 44 70 78 73 52 4f 68 4f 64 55 75 78 54 54 43 48 57 HZ5DxIgif3GIJ2SDpxsROhOdUuxTTCHW
1d0080 4b 46 33 77 50 2b 54 66 53 76 50 64 39 63 57 34 33 36 63 4f 47 6c 66 69 66 48 68 69 35 71 0a 6a KF3wP+TfSvPd9cW436cOGlfifHhi5q.j
1d00a0 78 4c 47 68 46 35 44 55 56 43 63 47 5a 74 34 35 76 7a 32 37 55 64 2b 65 7a 31 6d 37 78 4d 54 69 xLGhF5DUVCcGZt45vz27Ud+ez1m7xMTi
1d00c0 46 38 38 6f 57 50 37 2b 61 79 48 4e 5a 2f 7a 67 70 36 6b 50 77 71 63 4d 57 6d 4c 6d 61 53 49 53 F88oWP7+ayHNZ/zgp6kPwqcMWmLmaSIS
1d00e0 6f 35 75 5a 6b 33 76 46 73 51 50 0a 65 53 67 68 59 41 32 46 46 6e 33 58 56 44 6a 78 6b 6c 62 39 o5uZk3vFsQP.eSghYA2FFn3XVDjxklb9
1d0100 74 54 4e 4d 67 39 7a 58 45 4a 39 4c 2f 63 62 34 51 72 32 36 66 48 4d 43 34 50 39 39 7a 56 76 68 tTNMg9zXEJ9L/cb4Qr26fHMC4P99zVvh
1d0120 31 4b 78 68 65 31 66 56 53 6e 74 62 31 49 56 59 4a 31 32 2f 2b 43 74 67 0a 72 4b 41 6d 72 68 51 1Kxhe1fVSntb1IVYJ12/+Ctg.rKAmrhQ
1d0140 68 4a 38 5a 33 6d 6a 4f 41 50 46 35 47 50 2f 66 44 73 61 4f 47 4d 38 62 6f 58 67 32 35 4e 53 79 hJ8Z3mjOAPF5GP/fDsaOGM8boXg25NSy
1d0160 71 52 73 47 46 41 6e 57 41 6f 4f 73 6b 2b 78 57 71 35 47 64 2f 62 6e 63 2f 39 41 53 4b 4c 33 78 qRsGFAnWAoOsk+xWq5Gd/bnc/9ASKL3x
1d0180 37 34 78 64 68 0a 38 4e 30 4a 71 53 44 49 76 67 6d 6b 30 48 35 45 77 37 49 77 53 6a 69 71 71 65 74xdh.8N0JqSDIvgmk0H5Ew7IwSjiqqe
1d01a0 77 59 6d 67 65 43 4b 39 75 34 6e 42 69 74 32 75 42 47 46 36 7a 50 58 51 49 44 41 51 41 42 6f 32 wYmgeCK9u4nBit2uBGF6zPXQIDAQABo2
1d01c0 4d 77 59 54 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 0a 32 66 34 68 51 47 36 55 6e 72 79 62 50 MwYTAdBgNVHQ4EFgQU.2f4hQG6UnrybP
1d01e0 5a 78 39 6d 43 41 5a 35 59 77 77 59 72 49 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 32 Zx9mCAZ5YwwYrIwHwYDVR0jBBgwFoAU2
1d0200 66 34 68 51 47 36 55 6e 72 79 62 50 5a 78 39 6d 43 41 5a 35 59 77 77 59 72 49 77 44 77 59 44 0a f4hQG6UnrybPZx9mCAZ5YwwYrIwDwYD.
1d0220 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8E
1d0240 42 41 4d 43 41 59 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 44 67 67 49 42 BAMCAYYwDQYJKoZIhvcNAQELBQADggIB
1d0260 41 4a 35 46 6e 67 77 37 74 75 2f 68 0a 4f 73 68 38 30 51 41 39 7a 2b 4c 71 42 72 57 79 4f 72 73 AJ5Fngw7tu/h.Osh80QA9z+LqBrWyOrs
1d0280 47 53 32 68 36 30 43 4f 58 64 4b 63 73 38 41 6a 59 65 56 72 58 57 6f 53 4b 32 42 4b 61 47 39 6c GS2h60COXdKcs8AjYeVrXWoSK2BKaG9l
1d02a0 39 58 45 31 77 78 61 58 35 71 2b 57 6a 69 59 6e 64 41 66 72 73 33 66 6e 70 0a 6b 70 66 62 73 45 9XE1wxaX5q+WjiYndAfrs3fnp.kpfbsE
1d02c0 5a 43 38 39 4e 69 71 70 58 2b 4d 57 63 55 61 56 69 51 43 71 6f 4c 37 6a 63 6a 78 31 42 52 74 50 ZC89NiqpX+MWcUaViQCqoL7jcjx1BRtP
1d02e0 56 2b 6e 75 4e 37 39 2b 54 4d 51 6a 49 74 53 51 7a 4c 2f 30 6b 4d 6d 78 34 30 2f 57 35 75 6c 6f V+nuN79+TMQjItSQzL/0kMmx40/W5ulo
1d0300 70 35 41 37 5a 76 0a 32 77 6e 4c 2f 56 39 6c 46 44 66 68 4f 50 58 7a 59 52 5a 59 35 4c 56 74 44 p5A7Zv.2wnL/V9lFDfhOPXzYRZY5LVtD
1d0320 51 73 45 47 7a 39 51 4c 58 2b 7a 78 33 6f 61 46 6f 42 67 2b 49 6f 66 36 52 73 71 78 76 6d 36 41 QsEGz9QLX+zx3oaFoBg+Iof6Rsqxvm6A
1d0340 52 70 70 76 39 4a 59 78 31 52 58 43 49 2f 68 4f 57 42 33 0a 53 36 78 5a 68 42 71 49 38 64 33 4c Rppv9JYx1RXCI/hOWB3.S6xZhBqI8d3L
1d0360 54 33 6a 58 35 2b 45 7a 4c 66 7a 75 51 66 6f 67 73 4c 37 4c 39 7a 69 55 77 4f 48 51 68 51 2b 37 T3jX5+EzLfzuQfogsL7L9ziUwOHQhQ+7
1d0380 37 53 78 7a 71 2b 33 2b 6b 6e 59 61 5a 48 39 62 44 54 4d 4a 42 7a 4e 37 42 6a 38 52 70 46 78 77 7Sxzq+3+knYaZH9bDTMJBzN7Bj8RpFxw
1d03a0 0a 50 49 58 41 7a 2b 4f 51 71 49 4e 33 2b 74 76 6d 78 59 78 6f 5a 78 42 6e 70 56 49 74 38 4d 53 .PIXAz+OQqIN3+tvmxYxoZxBnpVIt8MS
1d03c0 5a 6a 33 2b 2f 30 57 76 69 74 55 66 57 32 64 43 46 6d 55 32 55 6d 77 39 4c 6a 65 34 41 57 6b 63 Zj3+/0WvitUfW2dCFmU2Umw9Lje4AWkc
1d03e0 64 45 51 4f 73 51 52 69 76 68 37 64 76 0a 44 44 71 50 79 73 2f 63 41 38 47 69 43 63 6a 6c 2f 59 dEQOsQRivh7dv.DDqPys/cA8GiCcjl/Y
1d0400 42 65 79 47 42 43 41 52 73 61 55 31 71 37 4e 36 61 33 76 4c 71 45 36 52 35 73 47 74 52 6b 32 74 BeyGBCARsaU1q7N6a3vLqE6R5sGtRk2t
1d0420 52 44 2f 70 4f 4c 53 2f 49 73 65 52 59 51 31 4a 4d 4c 69 49 2b 68 32 49 59 55 0a 52 70 46 48 6d RD/pOLS/IseRYQ1JMLiI+h2IYU.RpFHm
1d0440 79 67 6b 37 31 64 53 54 6c 78 43 6e 4b 72 33 53 65 77 6e 36 45 41 65 73 36 61 4a 49 6e 4b 63 39 ygk71dSTlxCnKr3Sewn6EAes6aJInKc9
1d0460 51 30 7a 74 46 69 6a 4d 44 76 64 31 47 70 55 6b 37 34 61 54 66 4f 54 6c 50 66 38 68 41 73 2f 68 Q0ztFijMDvd1GpUk74aTfOTlPf8hAs/h
1d0480 43 42 63 4e 41 4e 45 0a 78 64 71 74 76 41 72 42 41 73 38 65 35 5a 54 5a 38 34 35 62 32 45 7a 77 CBcNANE.xdqtvArBAs8e5ZTZ845b2Ezw
1d04a0 6e 65 78 68 46 37 73 55 4d 6c 51 4d 41 69 6d 54 48 70 4b 47 39 6e 2f 76 35 35 49 46 44 6c 6e 64 nexhF7sUMlQMAimTHpKG9n/v55IFDlnd
1d04c0 6d 51 67 75 4c 76 71 63 41 46 4c 54 78 57 59 70 35 4b 65 58 0a 52 4b 51 4f 4b 49 45 54 4e 63 58 mQguLvqcAFLTxWYp5KeX.RKQOKIETNcX
1d04e0 32 62 32 54 6d 51 63 54 56 4c 38 77 30 52 53 58 50 51 51 43 57 50 55 6f 75 77 70 61 59 54 30 35 2b2TmQcTVL8w0RSXPQQCWPUouwpaYT05
1d0500 4b 6e 4a 65 33 32 78 2b 53 4d 73 6a 2f 44 31 46 75 31 75 77 4a 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 KnJe32x+SMsj/D1Fu1uwJ.-----END.C
1d0520 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 54 72 75 73 74 43 6f 72 20 45 43 41 2d 31 0a ERTIFICATE-----..TrustCor.ECA-1.
1d0540 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 ==============.-----BEGIN.CERTIF
1d0560 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 45 49 44 43 43 41 77 69 67 41 77 49 42 41 67 49 4a 41 ICATE-----.MIIEIDCCAwigAwIBAgIJA
1d0580 49 53 43 4c 46 38 63 59 74 42 41 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 41 4d ISCLF8cYtBAMA0GCSqGSIb3DQEBCwUAM
1d05a0 49 47 63 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 51 51 54 45 50 0a 4d 41 30 47 41 31 55 45 IGcMQswCQYDVQQGEwJQQTEP.MA0GA1UE
1d05c0 43 41 77 47 55 47 46 75 59 57 31 68 4d 52 51 77 45 67 59 44 56 51 51 48 44 41 74 51 59 57 35 68 CAwGUGFuYW1hMRQwEgYDVQQHDAtQYW5h
1d05e0 62 57 45 67 51 32 6c 30 65 54 45 6b 4d 43 49 47 41 31 55 45 43 67 77 62 56 48 4a 31 63 33 52 44 bWEgQ2l0eTEkMCIGA1UECgwbVHJ1c3RD
1d0600 62 33 49 67 0a 55 33 6c 7a 64 47 56 74 63 79 42 54 4c 69 42 6b 5a 53 42 53 4c 6b 77 75 4d 53 63 b3Ig.U3lzdGVtcyBTLiBkZSBSLkwuMSc
1d0620 77 4a 51 59 44 56 51 51 4c 44 42 35 55 63 6e 56 7a 64 45 4e 76 63 69 42 44 5a 58 4a 30 61 57 5a wJQYDVQQLDB5UcnVzdENvciBDZXJ0aWZ
1d0640 70 59 32 46 30 5a 53 42 42 64 58 52 6f 62 33 4a 70 0a 64 48 6b 78 46 7a 41 56 42 67 4e 56 42 41 pY2F0ZSBBdXRob3Jp.dHkxFzAVBgNVBA
1d0660 4d 4d 44 6c 52 79 64 58 4e 30 51 32 39 79 49 45 56 44 51 53 30 78 4d 42 34 58 44 54 45 32 4d 44 MMDlRydXN0Q29yIEVDQS0xMB4XDTE2MD
1d0680 49 77 4e 44 45 79 4d 7a 49 7a 4d 31 6f 58 44 54 49 35 4d 54 49 7a 4d 54 45 33 4d 6a 67 77 0a 4e IwNDEyMzIzM1oXDTI5MTIzMTE3Mjgw.N
1d06a0 31 6f 77 67 5a 77 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 42 42 4d 51 38 77 44 51 59 44 56 1owgZwxCzAJBgNVBAYTAlBBMQ8wDQYDV
1d06c0 51 51 49 44 41 5a 51 59 57 35 68 62 57 45 78 46 44 41 53 42 67 4e 56 42 41 63 4d 43 31 42 68 62 QQIDAZQYW5hbWExFDASBgNVBAcMC1Bhb
1d06e0 6d 46 74 59 53 42 44 61 58 52 35 0a 4d 53 51 77 49 67 59 44 56 51 51 4b 44 42 74 55 63 6e 56 7a mFtYSBDaXR5.MSQwIgYDVQQKDBtUcnVz
1d0700 64 45 4e 76 63 69 42 54 65 58 4e 30 5a 57 31 7a 49 46 4d 75 49 47 52 6c 49 46 49 75 54 43 34 78 dENvciBTeXN0ZW1zIFMuIGRlIFIuTC4x
1d0720 4a 7a 41 6c 42 67 4e 56 42 41 73 4d 48 6c 52 79 64 58 4e 30 51 32 39 79 0a 49 45 4e 6c 63 6e 52 JzAlBgNVBAsMHlRydXN0Q29y.IENlcnR
1d0740 70 5a 6d 6c 6a 59 58 52 6c 49 45 46 31 64 47 68 76 63 6d 6c 30 65 54 45 58 4d 42 55 47 41 31 55 pZmljYXRlIEF1dGhvcml0eTEXMBUGA1U
1d0760 45 41 77 77 4f 56 48 4a 31 63 33 52 44 62 33 49 67 52 55 4e 42 4c 54 45 77 67 67 45 69 4d 41 30 EAwwOVHJ1c3RDb3IgRUNBLTEwggEiMA0
1d0780 47 43 53 71 47 0a 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 42 44 77 41 77 67 67 45 4b 41 6f GCSqG.SIb3DQEBAQUAA4IBDwAwggEKAo
1d07a0 49 42 41 51 44 50 6a 2b 41 52 74 5a 2b 6f 64 6e 62 62 33 77 39 55 37 33 4e 6a 4b 59 4b 74 52 38 IBAQDPj+ARtZ+odnbb3w9U73NjKYKtR8
1d07c0 61 6a 61 2b 33 2b 58 7a 50 34 51 31 48 70 47 6a 4f 52 0a 4d 52 65 67 64 4d 54 55 70 77 48 6d 73 aja+3+XzP4Q1HpGjOR.MRegdMTUpwHms
1d07e0 70 49 2b 61 70 33 74 44 76 6c 30 6d 45 44 54 50 77 4f 41 42 6f 4a 41 36 4c 48 69 70 31 47 6e 48 pI+ap3tDvl0mEDTPwOABoJA6LHip1GnH
1d0800 59 4d 6d 61 36 76 65 2b 68 65 52 4b 39 6a 47 72 42 36 78 6e 68 6b 42 31 5a 65 6d 36 67 32 33 0a YMma6ve+heRK9jGrB6xnhkB1Zem6g23.
1d0820 78 46 55 66 4a 33 7a 53 43 4e 56 32 48 79 6b 56 68 30 41 35 33 54 68 46 45 58 58 51 6d 71 63 30 xFUfJ3zSCNV2HykVh0A53ThFEXXQmqc0
1d0840 34 4c 2f 4e 79 46 49 64 75 55 64 2b 44 62 69 37 78 67 7a 32 63 31 63 57 57 6e 35 44 6b 52 39 56 4L/NyFIduUd+Dbi7xgz2c1cWWn5DkR9V
1d0860 4f 73 5a 74 52 41 53 71 6e 4b 6d 63 0a 70 30 79 4a 46 34 4f 75 6f 77 52 65 55 6f 43 4c 48 68 49 OsZtRASqnKmc.p0yJF4OuowReUoCLHhI
1d0880 6c 45 52 6e 58 44 48 31 39 4d 55 52 42 36 74 75 76 73 42 7a 76 67 64 41 73 78 5a 6f 68 6d 7a 33 lERnXDH19MURB6tuvsBzvgdAsxZohmz3
1d08a0 74 51 6a 74 51 4a 76 4c 73 7a 6e 46 68 42 6d 49 68 56 45 35 2f 77 5a 30 2b 0a 66 79 43 4d 67 4d tQjtQJvLsznFhBmIhVE5/wZ0+.fyCMgM
1d08c0 73 71 32 4a 64 69 79 49 4d 7a 6b 58 32 77 6f 6c 6f 50 56 2b 67 37 7a 50 49 6c 73 74 52 38 4c 2b sq2JdiyIMzkX2woloPV+g7zPIlstR8L+
1d08e0 78 4e 78 71 45 36 46 58 72 6e 74 6c 30 31 39 66 5a 49 53 6a 5a 46 5a 74 53 36 6d 46 6a 42 41 67 xNxqE6FXrntl019fZISjZFZtS6mFjBAg
1d0900 4d 42 41 41 47 6a 0a 59 7a 42 68 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 52 45 6e 6b 6a 31 7a MBAAGj.YzBhMB0GA1UdDgQWBBREnkj1z
1d0920 47 31 49 31 4b 42 4c 66 2f 35 5a 4a 43 2b 44 6c 35 6d 61 68 6a 41 66 42 67 4e 56 48 53 4d 45 47 G1I1KBLf/5ZJC+Dl5mahjAfBgNVHSMEG
1d0940 44 41 57 67 42 52 45 6e 6b 6a 31 7a 47 31 49 31 4b 42 4c 0a 66 2f 35 5a 4a 43 2b 44 6c 35 6d 61 DAWgBREnkj1zG1I1KBL.f/5ZJC+Dl5ma
1d0960 68 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 hjAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud
1d0980 44 77 45 42 2f 77 51 45 41 77 49 42 68 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 DwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF
1d09a0 0a 41 41 4f 43 41 51 45 41 42 54 34 31 58 42 56 77 6d 38 6e 48 63 32 46 76 63 69 76 55 77 6f 2f .AAOCAQEABT41XBVwm8nHc2FvcivUwo/
1d09c0 79 51 31 30 43 7a 73 53 55 75 5a 51 52 67 32 64 64 34 6d 64 73 64 58 61 2f 75 77 79 71 4e 73 61 yQ10CzsSUuZQRg2dd4mdsdXa/uwyqNsa
1d09e0 74 52 35 4e 6a 33 42 35 2b 31 74 34 75 0a 2f 75 6b 5a 4d 6a 67 44 66 78 54 32 41 48 4d 73 57 62 tR5Nj3B5+1t4u./ukZMjgDfxT2AHMsWb
1d0a00 45 68 42 75 48 37 72 42 69 56 44 4b 50 2f 6d 5a 62 33 4b 79 65 62 31 53 54 4d 48 64 33 42 4f 75 EhBuH7rBiVDKP/mZb3Kyeb1STMHd3BOu
1d0a20 43 59 52 4c 44 45 35 44 35 33 73 58 4f 70 5a 43 7a 32 48 41 46 38 50 31 31 46 0a 68 63 43 46 35 CYRLDE5D53sXOpZCz2HAF8P11F.hcCF5
1d0a40 79 57 50 6c 64 77 58 38 7a 79 66 47 6d 36 77 79 75 4d 64 4b 75 6c 4d 59 2f 6f 6b 59 57 4c 57 32 yWPldwX8zyfGm6wyuMdKulMY/okYWLW2
1d0a60 6e 36 32 48 47 7a 31 41 68 33 55 4b 74 31 56 6b 4f 73 71 45 55 63 38 4c 6c 35 30 73 6f 49 69 70 n62HGz1Ah3UKt1VkOsqEUc8Ll50soIip
1d0a80 58 31 54 48 30 58 73 0a 4a 35 46 39 35 79 49 57 36 4d 42 6f 4e 74 6a 47 38 55 2b 41 52 44 4c 35 X1TH0Xs.J5F95yIW6MBoNtjG8U+ARDL5
1d0aa0 34 64 48 52 48 61 72 65 71 4b 75 63 42 4b 2b 74 49 41 35 6b 6d 45 32 6c 61 38 42 49 57 4a 5a 70 4dHRHareqKucBK+tIA5kmE2la8BIWJZp
1d0ac0 54 64 77 48 6a 46 47 54 6f 74 2b 66 44 7a 32 4c 59 4c 53 43 0a 6a 61 6f 49 54 6d 4a 46 34 50 6b TdwHjFGTot+fDz2LYLSC.jaoITmJF4Pk
1d0ae0 4c 30 75 44 67 50 46 76 65 58 48 45 6e 4a 63 4c 6d 41 34 47 4c 45 46 50 6a 78 31 57 69 74 4a 2f L0uDgPFveXHEnJcLmA4GLEFPjx1WitJ/
1d0b00 58 35 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a X5g==.-----END.CERTIFICATE-----.
1d0b20 0a 53 53 4c 2e 63 6f 6d 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 .SSL.com.Root.Certification.Auth
1d0b40 6f 72 69 74 79 20 52 53 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ority.RSA.======================
1d0b60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 ==================.-----BEGIN.CE
1d0b80 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 33 54 43 43 41 38 57 67 41 77 49 42 41 RTIFICATE-----.MIIF3TCCA8WgAwIBA
1d0ba0 67 49 49 65 79 79 62 30 78 61 41 4d 70 6b 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 gIIeyyb0xaAMpkwDQYJKoZIhvcNAQELB
1d0bc0 51 41 77 66 44 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 44 6a 41 4d 0a 42 67 4e 56 QAwfDELMAkGA1UEBhMCVVMxDjAM.BgNV
1d0be0 42 41 67 4d 42 56 52 6c 65 47 46 7a 4d 52 41 77 44 67 59 44 56 51 51 48 44 41 64 49 62 33 56 7a BAgMBVRleGFzMRAwDgYDVQQHDAdIb3Vz
1d0c00 64 47 39 75 4d 52 67 77 46 67 59 44 56 51 51 4b 44 41 39 54 55 30 77 67 51 32 39 79 63 47 39 79 dG9uMRgwFgYDVQQKDA9TU0wgQ29ycG9y
1d0c20 59 58 52 70 62 32 34 78 0a 4d 54 41 76 42 67 4e 56 42 41 4d 4d 4b 46 4e 54 54 43 35 6a 62 32 30 YXRpb24x.MTAvBgNVBAMMKFNTTC5jb20
1d0c40 67 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 gUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGh
1d0c60 76 63 6d 6c 30 65 53 42 53 55 30 45 77 48 68 63 4e 4d 54 59 77 0a 4d 6a 45 79 4d 54 63 7a 4f 54 vcml0eSBSU0EwHhcNMTYw.MjEyMTczOT
1d0c80 4d 35 57 68 63 4e 4e 44 45 77 4d 6a 45 79 4d 54 63 7a 4f 54 4d 35 57 6a 42 38 4d 51 73 77 43 51 M5WhcNNDEwMjEyMTczOTM5WjB8MQswCQ
1d0ca0 59 44 56 51 51 47 45 77 4a 56 55 7a 45 4f 4d 41 77 47 41 31 55 45 43 41 77 46 56 47 56 34 59 58 YDVQQGEwJVUzEOMAwGA1UECAwFVGV4YX
1d0cc0 4d 78 0a 45 44 41 4f 42 67 4e 56 42 41 63 4d 42 30 68 76 64 58 4e 30 62 32 34 78 47 44 41 57 42 Mx.EDAOBgNVBAcMB0hvdXN0b24xGDAWB
1d0ce0 67 4e 56 42 41 6f 4d 44 31 4e 54 54 43 42 44 62 33 4a 77 62 33 4a 68 64 47 6c 76 62 6a 45 78 4d gNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExM
1d0d00 43 38 47 41 31 55 45 41 77 77 6f 55 31 4e 4d 0a 4c 6d 4e 76 62 53 42 53 62 32 39 30 49 45 4e 6c C8GA1UEAwwoU1NM.LmNvbSBSb290IENl
1d0d20 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 46 4a 54 cnRpZmljYXRpb24gQXV0aG9yaXR5IFJT
1d0d40 51 54 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 42 42 51 41 44 0a 67 67 49 QTCCAiIwDQYJKoZIhvcNAQEBBQAD.ggI
1d0d60 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 50 6b 50 33 61 4d 72 66 63 76 51 4b 76 37 73 5a 34 57 PADCCAgoCggIBAPkP3aMrfcvQKv7sZ4W
1d0d80 6d 35 79 34 62 75 6e 66 68 34 2f 57 76 70 4f 7a 36 53 6c 32 52 78 46 64 48 61 78 68 33 61 33 62 m5y4bunfh4/WvpOz6Sl2RxFdHaxh3a3b
1d0da0 79 2f 5a 50 6b 50 51 2f 43 0a 46 70 34 4c 5a 73 4e 57 6c 4a 34 58 67 34 58 4f 56 75 2f 79 46 76 y/ZPkPQ/C.Fp4LZsNWlJ4Xg4XOVu/yFv
1d0dc0 30 41 59 76 55 69 43 56 54 6f 5a 52 64 4f 51 62 6e 67 54 30 61 58 71 68 76 49 75 47 35 69 58 6d 0AYvUiCVToZRdOQbngT0aXqhvIuG5iXm
1d0de0 6d 78 58 39 73 71 41 6e 37 38 62 4d 72 7a 51 64 6a 74 30 4f 6a 38 0a 50 32 46 49 37 62 41 44 46 mxX9sqAn78bMrzQdjt0Oj8.P2FI7bADF
1d0e00 42 30 51 44 6b 73 5a 34 4c 74 4f 37 49 5a 6c 2f 7a 62 7a 58 6d 63 43 43 35 32 47 56 57 48 39 65 B0QDksZ4LtO7IZl/zbzXmcCC52GVWH9e
1d0e20 6a 6a 74 2f 75 49 5a 41 4c 64 76 6f 56 42 69 64 58 51 38 6f 50 72 49 4a 5a 4b 30 62 6e 6f 69 78 jjt/uIZALdvoVBidXQ8oPrIJZK0bnoix
1d0e40 2f 67 65 0a 6f 65 4f 79 33 5a 45 78 71 79 73 64 42 50 2b 6c 53 67 51 33 36 59 57 6b 4d 79 76 39 /ge.oeOy3ZExqysdBP+lSgQ36YWkMyv9
1d0e60 34 74 5a 56 4e 48 77 5a 70 45 70 6f 78 37 4b 6f 30 37 66 4b 6f 5a 4f 49 36 38 47 58 76 49 7a 35 4tZVNHwZpEpox7Ko07fKoZOI68GXvIz5
1d0e80 48 64 6b 69 68 43 52 30 78 77 51 39 61 71 6b 70 0a 6b 38 7a 72 75 46 76 68 2f 6c 38 6c 71 6a 52 HdkihCR0xwQ9aqkp.k8zruFvh/l8lqjR
1d0ea0 59 79 4d 45 6a 56 4a 30 62 6d 42 48 44 4f 4a 78 2b 50 59 5a 73 70 51 39 41 68 6e 77 43 39 46 77 YyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9Fw
1d0ec0 43 54 79 6a 4c 72 6e 47 66 44 7a 72 49 4d 2f 34 52 4a 54 58 71 2f 4c 72 46 59 44 33 5a 0a 66 42 CTyjLrnGfDzrIM/4RJTXq/LrFYD3Z.fB
1d0ee0 6a 56 73 71 6e 54 64 58 67 44 63 69 4c 4b 4f 73 4d 66 37 79 7a 6c 4c 71 6e 36 6e 69 79 32 55 55 jVsqnTdXgDciLKOsMf7yzlLqn6niy2UU
1d0f00 62 39 72 77 50 57 36 6d 42 6f 36 6f 55 57 4e 6d 75 46 36 52 37 41 73 39 33 45 4a 4e 79 41 4b 6f b9rwPW6mBo6oUWNmuF6R7As93EJNyAKo
1d0f20 46 42 62 5a 51 2b 79 4f 44 4a 0a 67 55 45 41 6e 6c 36 2f 66 38 55 49 6d 4b 49 59 4c 45 4a 41 73 FBbZQ+yODJ.gUEAnl6/f8UImKIYLEJAs
1d0f40 2f 6c 76 4f 43 64 4c 54 6f 44 30 50 59 46 48 34 49 68 38 36 68 7a 4f 74 58 56 63 55 53 34 63 4b /lvOCdLToD0PYFH4Ih86hzOtXVcUS4cK
1d0f60 33 38 61 63 69 6a 6e 41 4c 58 52 64 4d 62 58 35 4a 2b 74 42 35 4f 32 0a 55 7a 55 31 2f 44 66 6b 38acijnALXRdMbX5J+tB5O2.UzU1/Dfk
1d0f80 77 2f 5a 64 46 72 34 68 63 39 36 53 43 76 69 67 59 32 71 38 6c 70 4a 71 50 76 69 38 5a 56 57 62 w/ZdFr4hc96SCvigY2q8lpJqPvi8ZVWb
1d0fa0 33 76 55 4e 69 53 59 45 2f 43 55 61 70 69 56 70 79 38 4a 74 79 6e 7a 69 57 56 2b 58 72 4f 76 76 3vUNiSYE/CUapiVpy8JtynziWV+XrOvv
1d0fc0 4c 73 69 38 0a 31 78 74 5a 50 43 76 4d 38 68 6e 49 6b 32 73 6e 59 78 6e 50 2f 4f 6b 6d 2b 4d 70 Lsi8.1xtZPCvM8hnIk2snYxnP/Okm+Mp
1d0fe0 78 6d 33 2b 54 2f 6a 52 6e 68 45 36 5a 36 2f 79 7a 65 41 6b 7a 63 4c 70 6d 70 6e 62 74 47 33 50 xm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3P
1d1000 72 47 71 55 4e 78 43 49 54 49 4a 52 57 43 6b 34 73 0a 62 45 36 78 2f 63 2b 63 43 62 71 69 4d 2b rGqUNxCITIJRWCk4s.bE6x/c+cCbqiM+
1d1020 32 48 41 67 4d 42 41 41 47 6a 59 7a 42 68 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 54 64 42 41 2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBA
1d1040 6b 48 6f 76 56 36 66 56 4a 54 45 70 4b 56 37 6a 69 41 4a 51 32 6d 57 54 41 50 42 67 4e 56 0a 48 kHovV6fVJTEpKV7jiAJQ2mWTAPBgNV.H
1d1060 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 38 47 41 31 55 64 49 77 51 59 4d 42 61 41 46 RMBAf8EBTADAQH/MB8GA1UdIwQYMBaAF
1d1080 4e 30 45 43 51 65 69 39 58 70 39 55 6c 4d 53 6b 70 58 75 4f 49 41 6c 44 61 5a 5a 4d 41 34 47 41 N0ECQei9Xp9UlMSkpXuOIAlDaZZMA4GA
1d10a0 31 55 64 44 77 45 42 2f 77 51 45 0a 41 77 49 42 68 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 1UdDwEB/wQE.AwIBhjANBgkqhkiG9w0B
1d10c0 41 51 73 46 41 41 4f 43 41 67 45 41 49 42 67 52 6c 43 6e 37 4a 70 30 63 48 68 35 77 59 66 47 56 AQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV
1d10e0 63 70 4e 78 4a 4b 31 6f 6b 31 69 4f 4d 71 38 62 73 33 41 44 2f 43 55 72 0a 64 49 57 51 50 58 68 cpNxJK1ok1iOMq8bs3AD/CUr.dIWQPXh
1d1100 71 39 4c 6d 4c 70 5a 63 37 74 52 69 52 75 78 36 6e 2b 55 42 62 6b 66 6c 56 6d 61 38 65 45 64 42 q9LmLpZc7tRiRux6n+UBbkflVma8eEdB
1d1120 63 48 61 64 6d 34 37 47 55 42 77 77 79 4f 61 62 71 47 37 42 35 32 42 32 63 63 45 54 6a 69 74 33 cHadm47GUBwwyOabqG7B52B2ccETjit3
1d1140 45 2b 5a 55 66 0a 69 6a 68 44 50 77 47 46 70 55 65 6e 50 55 61 79 76 4f 55 69 61 50 64 37 6e 4e E+ZUf.ijhDPwGFpUenPUayvOUiaPd7nN
1d1160 67 73 50 67 6f 68 79 43 30 7a 72 4c 2f 46 67 5a 6b 78 64 4d 46 31 63 63 57 2b 73 66 41 6a 52 66 gsPgohyC0zrL/FgZkxdMF1ccW+sfAjRf
1d1180 53 64 61 2f 77 5a 59 35 32 6a 76 41 54 47 47 41 73 6c 0a 75 31 4f 4a 44 37 4f 41 55 4e 35 46 37 Sda/wZY52jvATGGAsl.u1OJD7OAUN5F7
1d11a0 6b 52 2f 71 35 52 34 5a 4a 6a 54 39 69 6a 64 68 39 68 77 5a 58 54 37 44 72 6b 54 36 36 63 50 59 kR/q5R4ZJjT9ijdh9hwZXT7DrkT66cPY
1d11c0 61 6b 79 6c 73 7a 65 75 2b 31 6a 54 42 69 37 71 55 44 33 6f 46 52 75 49 49 68 78 64 52 6a 71 0a akylszeu+1jTBi7qUD3oFRuIIhxdRjq.
1d11e0 65 72 51 30 63 75 41 6a 4a 33 64 63 74 70 44 71 68 69 56 41 71 2b 38 7a 44 38 75 66 67 72 36 69 erQ0cuAjJ3dctpDqhiVAq+8zD8ufgr6i
1d1200 49 50 76 32 74 53 30 61 35 73 4b 46 73 58 51 50 2b 38 68 6c 41 71 52 53 41 55 66 64 53 53 4c 42 IPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLB
1d1220 76 39 6a 72 61 36 78 2b 33 75 78 6a 0a 4d 78 57 33 49 77 69 50 78 67 2b 4e 51 56 72 64 6a 73 57 v9jra6x+3uxj.MxW3IwiPxg+NQVrdjsW
1d1240 35 6a 2b 56 46 50 33 6a 62 75 74 49 62 51 4c 48 2b 63 55 30 2f 34 49 47 69 75 6c 36 30 37 42 58 5j+VFP3jbutIbQLH+cU0/4IGiul607BX
1d1260 67 6b 39 30 49 48 33 37 68 56 5a 6b 4c 49 64 36 54 6e 67 72 37 35 71 4e 4a 0a 76 54 59 77 2f 75 gk90IH37hVZkLId6Tngr75qNJ.vTYw/u
1d1280 64 33 73 71 42 31 6c 37 55 74 67 59 67 58 5a 53 44 33 32 70 41 41 6e 38 6c 53 7a 44 4c 4b 4e 58 d3sqB1l7UtgYgXZSD32pAAn8lSzDLKNX
1d12a0 7a 31 50 51 2f 59 4b 39 66 31 4a 6d 7a 4a 42 6a 53 57 46 75 70 77 57 52 6f 79 65 58 6b 4c 74 6f z1PQ/YK9f1JmzJBjSWFupwWRoyeXkLto
1d12c0 68 2f 44 31 4a 49 0a 50 62 39 73 32 4b 4a 45 4c 74 46 4f 74 33 4a 59 30 34 6b 54 6c 66 35 45 71 h/D1JI.Pb9s2KJELtFOt3JY04kTlf5Eq
1d12e0 2f 6a 58 69 78 74 75 6e 4c 77 73 6f 46 76 56 61 67 43 76 58 7a 66 68 31 66 6f 51 43 35 69 63 68 /jXixtunLwsoFvVagCvXzfh1foQC5ich
1d1300 75 63 6d 6a 38 37 77 37 47 36 4b 56 77 75 41 34 30 36 79 0a 77 4b 42 6a 59 5a 43 36 56 57 67 33 ucmj87w7G6KVwuA406y.wKBjYZC6VWg3
1d1320 64 47 71 32 6b 74 75 66 6f 59 59 69 74 6d 55 6e 44 75 79 32 6e 30 4a 67 35 47 66 43 74 64 70 42 dGq2ktufoYYitmUnDuy2n0Jg5GfCtdpB
1d1340 43 38 54 54 69 32 45 62 76 50 6f 66 6b 53 76 58 52 41 64 65 75 69 6d 73 32 63 58 70 37 31 4e 49 C8TTi2EbvPofkSvXRAdeuims2cXp71NI
1d1360 0a 57 75 75 41 38 53 68 59 49 63 32 77 42 6c 58 37 4a 7a 39 54 6b 48 43 70 42 42 35 58 4a 37 6b .WuuA8ShYIc2wBlX7Jz9TkHCpBB5XJ7k
1d1380 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 53 4c =.-----END.CERTIFICATE-----..SSL
1d13a0 2e 63 6f 6d 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 .com.Root.Certification.Authorit
1d13c0 79 20 45 43 43 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d y.ECC.==========================
1d13e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 ==============.-----BEGIN.CERTIF
1d1400 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 6a 54 43 43 41 68 53 67 41 77 49 42 41 67 49 49 64 ICATE-----.MIICjTCCAhSgAwIBAgIId
1d1420 65 62 66 79 38 46 6f 57 36 67 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 49 77 66 44 45 4c 4d ebfy8FoW6gwCgYIKoZIzj0EAwIwfDELM
1d1440 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 44 6a 41 4d 42 67 4e 56 0a 42 41 67 4d 42 56 52 6c AkGA1UEBhMCVVMxDjAMBgNV.BAgMBVRl
1d1460 65 47 46 7a 4d 52 41 77 44 67 59 44 56 51 51 48 44 41 64 49 62 33 56 7a 64 47 39 75 4d 52 67 77 eGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgw
1d1480 46 67 59 44 56 51 51 4b 44 41 39 54 55 30 77 67 51 32 39 79 63 47 39 79 59 58 52 70 62 32 34 78 FgYDVQQKDA9TU0wgQ29ycG9yYXRpb24x
1d14a0 4d 54 41 76 0a 42 67 4e 56 42 41 4d 4d 4b 46 4e 54 54 43 35 6a 62 32 30 67 55 6d 39 76 64 43 42 MTAv.BgNVBAMMKFNTTC5jb20gUm9vdCB
1d14c0 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 63 6d 6c 30 65 53 42 DZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSB
1d14e0 46 51 30 4d 77 48 68 63 4e 4d 54 59 77 4d 6a 45 79 0a 4d 54 67 78 4e 44 41 7a 57 68 63 4e 4e 44 FQ0MwHhcNMTYwMjEy.MTgxNDAzWhcNND
1d1500 45 77 4d 6a 45 79 4d 54 67 78 4e 44 41 7a 57 6a 42 38 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 EwMjEyMTgxNDAzWjB8MQswCQYDVQQGEw
1d1520 4a 56 55 7a 45 4f 4d 41 77 47 41 31 55 45 43 41 77 46 56 47 56 34 59 58 4d 78 45 44 41 4f 0a 42 JVUzEOMAwGA1UECAwFVGV4YXMxEDAO.B
1d1540 67 4e 56 42 41 63 4d 42 30 68 76 64 58 4e 30 62 32 34 78 47 44 41 57 42 67 4e 56 42 41 6f 4d 44 gNVBAcMB0hvdXN0b24xGDAWBgNVBAoMD
1d1560 31 4e 54 54 43 42 44 62 33 4a 77 62 33 4a 68 64 47 6c 76 62 6a 45 78 4d 43 38 47 41 31 55 45 41 1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEA
1d1580 77 77 6f 55 31 4e 4d 4c 6d 4e 76 0a 62 53 42 53 62 32 39 30 49 45 4e 6c 63 6e 52 70 5a 6d 6c 6a wwoU1NMLmNv.bSBSb290IENlcnRpZmlj
1d15a0 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 45 56 44 51 7a 42 32 4d 42 41 47 YXRpb24gQXV0aG9yaXR5IEVDQzB2MBAG
1d15c0 42 79 71 47 53 4d 34 39 41 67 45 47 42 53 75 42 42 41 41 69 41 32 49 41 0a 42 45 56 75 71 56 44 ByqGSM49AgEGBSuBBAAiA2IA.BEVuqVD
1d15e0 45 70 69 4d 32 6e 6c 38 6f 6a 52 66 4c 6c 69 4a 6b 50 39 78 36 6a 68 33 4d 43 4c 4f 69 63 53 53 EpiM2nl8ojRfLliJkP9x6jh3MCLOicSS
1d1600 36 6a 6b 6d 35 42 42 74 48 6c 6c 69 72 4c 5a 58 49 37 5a 34 49 4e 63 67 6e 36 34 6d 4d 55 31 6a 6jkm5BBtHllirLZXI7Z4INcgn64mMU1j
1d1620 72 59 6f 72 2b 0a 38 46 73 50 61 7a 46 53 59 30 45 37 69 63 33 73 37 4c 61 4e 47 64 4d 30 42 39 rYor+.8FsPazFSY0E7ic3s7LaNGdM0B9
1d1640 79 37 78 67 5a 2f 77 6b 57 56 37 4d 74 2f 71 43 50 67 43 65 6d 42 2b 76 4e 48 30 36 4e 6a 4d 47 y7xgZ/wkWV7Mt/qCPgCemB+vNH06NjMG
1d1660 45 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 49 4c 52 0a 68 58 4d 77 35 7a 55 45 30 34 34 43 6b EwHQYDVR0OBBYEFILR.hXMw5zUE044Ck
1d1680 76 76 6c 70 4e 48 45 49 65 6a 4e 4d 41 38 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 vvlpNHEIejNMA8GA1UdEwEB/wQFMAMBA
1d16a0 66 38 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 67 74 47 46 63 7a 44 6e 4e 51 54 54 0a f8wHwYDVR0jBBgwFoAUgtGFczDnNQTT.
1d16c0 6a 67 4b 53 2b 2b 57 6b 30 63 51 68 36 4d 30 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 jgKS++Wk0cQh6M0wDgYDVR0PAQH/BAQD
1d16e0 41 67 47 47 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 43 41 32 63 41 4d 47 51 43 4d 47 2f 6e AgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n
1d1700 36 31 6b 52 70 47 44 50 59 62 43 57 0a 65 2b 30 46 2b 53 38 54 6b 64 7a 74 35 66 78 51 61 78 46 61kRpGDPYbCW.e+0F+S8Tkdzt5fxQaxF
1d1720 47 52 72 4d 63 49 51 42 69 75 37 37 44 35 2b 6a 4e 42 35 6e 35 44 51 74 64 63 6a 37 45 71 67 49 GRrMcIQBiu77D5+jNB5n5DQtdcj7EqgI
1d1740 77 48 37 79 36 43 2b 49 77 4a 50 74 38 62 59 42 56 43 70 6b 2b 67 41 30 7a 0a 35 57 61 6a 73 36 wH7y6C+IwJPt8bYBVCpk+gA0z.5Wajs6
1d1760 4f 37 70 64 57 4c 6a 77 6b 73 70 6c 31 2b 34 76 41 48 43 47 68 74 30 6e 78 70 62 6c 2f 66 35 57 O7pdWLjwkspl1+4vAHCGht0nxpbl/f5W
1d1780 70 6c 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 53 pl.-----END.CERTIFICATE-----..SS
1d17a0 4c 2e 63 6f 6d 20 45 56 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 L.com.EV.Root.Certification.Auth
1d17c0 6f 72 69 74 79 20 52 53 41 20 52 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ority.RSA.R2.===================
1d17e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d ===========================.----
1d1800 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 36 7a 43 43 -BEGIN.CERTIFICATE-----.MIIF6zCC
1d1820 41 39 4f 67 41 77 49 42 41 67 49 49 56 72 59 70 7a 54 53 38 65 50 59 77 44 51 59 4a 4b 6f 5a 49 A9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZI
1d1840 68 76 63 4e 41 51 45 4c 42 51 41 77 67 59 49 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 hvcNAQELBQAwgYIxCzAJBgNVBAYTAlVT
1d1860 4d 51 34 77 0a 44 41 59 44 56 51 51 49 44 41 56 55 5a 58 68 68 63 7a 45 51 4d 41 34 47 41 31 55 MQ4w.DAYDVQQIDAVUZXhhczEQMA4GA1U
1d1880 45 42 77 77 48 53 47 39 31 63 33 52 76 62 6a 45 59 4d 42 59 47 41 31 55 45 43 67 77 50 55 31 4e EBwwHSG91c3RvbjEYMBYGA1UECgwPU1N
1d18a0 4d 49 45 4e 76 63 6e 42 76 63 6d 46 30 61 57 39 75 0a 4d 54 63 77 4e 51 59 44 56 51 51 44 44 43 MIENvcnBvcmF0aW9u.MTcwNQYDVQQDDC
1d18c0 35 54 55 30 77 75 59 32 39 74 49 45 56 57 49 46 4a 76 62 33 51 67 51 32 56 79 64 47 6c 6d 61 57 5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaW
1d18e0 4e 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 67 55 6c 4e 42 49 46 49 79 0a 4d NhdGlvbiBBdXRob3JpdHkgUlNBIFIy.M
1d1900 42 34 58 44 54 45 33 4d 44 55 7a 4d 54 45 34 4d 54 51 7a 4e 31 6f 58 44 54 51 79 4d 44 55 7a 4d B4XDTE3MDUzMTE4MTQzN1oXDTQyMDUzM
1d1920 44 45 34 4d 54 51 7a 4e 31 6f 77 67 59 49 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6c 56 54 4d DE4MTQzN1owgYIxCzAJBgNVBAYTAlVTM
1d1940 51 34 77 44 41 59 44 56 51 51 49 0a 44 41 56 55 5a 58 68 68 63 7a 45 51 4d 41 34 47 41 31 55 45 Q4wDAYDVQQI.DAVUZXhhczEQMA4GA1UE
1d1960 42 77 77 48 53 47 39 31 63 33 52 76 62 6a 45 59 4d 42 59 47 41 31 55 45 43 67 77 50 55 31 4e 4d BwwHSG91c3RvbjEYMBYGA1UECgwPU1NM
1d1980 49 45 4e 76 63 6e 42 76 63 6d 46 30 61 57 39 75 4d 54 63 77 4e 51 59 44 0a 56 51 51 44 44 43 35 IENvcnBvcmF0aW9uMTcwNQYD.VQQDDC5
1d19a0 54 55 30 77 75 59 32 39 74 49 45 56 57 49 46 4a 76 62 33 51 67 51 32 56 79 64 47 6c 6d 61 57 4e TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWN
1d19c0 68 64 47 6c 76 62 69 42 42 64 58 52 6f 62 33 4a 70 64 48 6b 67 55 6c 4e 42 49 46 49 79 4d 49 49 hdGlvbiBBdXRob3JpdHkgUlNBIFIyMII
1d19e0 43 49 6a 41 4e 0a 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 4d 49 CIjAN.BgkqhkiG9w0BAQEFAAOCAg8AMI
1d1a00 49 43 43 67 4b 43 41 67 45 41 6a 7a 5a 6c 51 4f 48 57 54 63 44 58 74 4f 6c 47 32 6d 76 71 4d 30 ICCgKCAgEAjzZlQOHWTcDXtOlG2mvqM0
1d1a20 66 4e 54 50 6c 39 66 62 36 39 4c 54 33 77 32 33 6a 68 0a 68 71 58 5a 75 67 6c 58 61 4f 31 58 50 fNTPl9fb69LT3w23jh.hqXZuglXaO1XP
1d1a40 71 44 51 43 45 47 44 35 79 68 42 4a 42 2f 6a 63 68 58 51 41 52 72 37 58 6e 41 6a 73 73 75 66 4f qDQCEGD5yhBJB/jchXQARr7XnAjssufO
1d1a60 65 50 50 78 55 37 47 6b 6d 30 6d 78 6e 75 37 73 39 6f 6e 6e 51 71 47 36 59 45 33 42 66 37 77 0a ePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7w.
1d1a80 63 58 48 73 77 78 7a 70 59 36 49 58 46 4a 33 76 47 32 66 54 68 56 55 43 41 74 5a 4a 79 63 78 61 cXHswxzpY6IXFJ3vG2fThVUCAtZJycxa
1d1aa0 34 62 48 33 62 7a 4b 66 79 64 51 37 69 45 47 6f 6e 4c 33 4c 71 39 74 74 65 77 6b 66 6f 6b 78 79 4bH3bzKfydQ7iEGonL3Lq9ttewkfokxy
1d1ac0 6b 4e 6f 72 43 50 7a 50 50 46 54 4f 0a 5a 77 2b 6f 7a 31 32 57 47 51 76 45 34 33 4c 72 72 64 46 kNorCPzPPFTO.Zw+oz12WGQvE43LrrdF
1d1ae0 39 48 53 66 76 6b 75 73 51 76 31 76 72 4f 36 2f 50 67 4e 33 42 30 70 59 45 57 33 70 2b 70 4b 6b 9HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk
1d1b00 38 4f 48 61 6b 59 6f 36 67 4f 56 37 71 64 38 39 64 41 46 6d 50 5a 69 77 2b 0a 42 36 4b 6a 42 53 8OHakYo6gOV7qd89dAFmPZiw+.B6KjBS
1d1b20 59 52 61 5a 66 71 68 62 63 50 6c 67 74 4c 79 45 44 68 55 4c 6f 75 69 73 76 33 44 35 6f 69 35 33 YRaZfqhbcPlgtLyEDhULouisv3D5oi53
1d1b40 2b 61 4e 78 50 4e 38 6b 30 54 61 79 48 52 77 4d 77 69 38 71 46 47 39 6b 52 70 6e 4d 70 68 4e 51 +aNxPN8k0TayHRwMwi8qFG9kRpnMphNQ
1d1b60 63 41 62 39 5a 68 0a 43 42 48 71 75 72 6a 32 36 62 4e 67 35 55 32 35 37 4a 38 55 5a 73 6c 58 57 cAb9Zh.CBHqurj26bNg5U257J8UZslXW
1d1b80 4e 76 4e 68 32 6e 34 69 6f 59 53 41 30 65 2f 5a 68 4e 32 72 48 64 39 4e 43 53 46 67 38 33 58 71 NvNh2n4ioYSA0e/ZhN2rHd9NCSFg83Xq
1d1ba0 70 79 51 47 70 38 68 4c 48 39 34 74 32 53 34 32 4f 69 6d 0a 39 48 69 7a 56 63 75 45 30 6a 4c 45 pyQGp8hLH94t2S42Oim.9HizVcuE0jLE
1d1bc0 65 4b 36 6a 6a 32 48 64 7a 67 68 54 72 65 79 49 2f 42 58 6b 6d 67 33 6d 6e 78 70 33 7a 6b 79 50 eK6jj2HdzghTreyI/BXkmg3mnxp3zkyP
1d1be0 75 42 51 56 50 57 4b 63 68 6a 67 47 41 47 59 53 35 46 6c 32 57 6c 50 41 41 70 69 69 45 43 74 6f uBQVPWKchjgGAGYS5Fl2WlPAApiiECto
1d1c00 0a 52 48 75 4f 65 63 34 7a 53 6e 61 71 57 34 45 57 47 37 57 4b 32 4e 41 41 65 31 35 69 74 41 6e .RHuOec4zSnaqW4EWG7WK2NAAe15itAn
1d1c20 57 68 6d 4d 4f 70 67 57 56 53 62 6f 6f 69 34 69 54 73 6a 51 63 32 4b 52 56 62 72 63 63 30 4e 36 WhmMOpgWVSbooi4iTsjQc2KRVbrcc0N6
1d1c40 5a 56 54 73 6a 39 43 4c 67 2b 53 6c 6d 0a 4a 75 77 67 55 48 66 62 53 67 75 50 76 75 55 43 59 48 ZVTsj9CLg+Slm.JuwgUHfbSguPvuUCYH
1d1c60 42 42 58 74 53 75 55 44 6b 69 46 43 62 4c 73 6a 74 7a 64 46 56 48 42 33 6d 42 4f 61 67 77 45 30 BBXtSuUDkiFCbLsjtzdFVHB3mBOagwE0
1d1c80 54 6c 42 49 71 75 6c 68 4d 6c 51 67 2b 35 55 38 53 62 2f 4d 33 6b 48 4e 34 38 0a 2b 71 76 57 42 TlBIqulhMlQg+5U8Sb/M3kHN48.+qvWB
1d1ca0 6b 6f 66 5a 36 61 59 4d 42 7a 64 4c 4e 76 63 47 4a 56 58 5a 73 62 2f 58 49 74 57 39 58 63 43 41 kofZ6aYMBzdLNvcGJVXZsb/XItW9XcCA
1d1cc0 77 45 41 41 61 4e 6a 4d 47 45 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f wEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/
1d1ce0 7a 41 66 42 67 4e 56 0a 48 53 4d 45 47 44 41 57 67 42 54 35 59 4c 76 55 34 39 55 30 39 72 6a 31 zAfBgNV.HSMEGDAWgBT5YLvU49U09rj1
1d1d00 42 6f 41 6c 70 33 50 62 52 6d 6d 6f 6e 6a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 2b 57 43 37 BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC7
1d1d20 31 4f 50 56 4e 50 61 34 39 51 61 41 4a 61 64 7a 32 30 5a 70 0a 71 4a 34 77 44 67 59 44 56 52 30 1OPVNPa49QaAJadz20Zp.qJ4wDgYDVR0
1d1d40 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 43 77 55 PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwU
1d1d60 41 41 34 49 43 41 51 42 57 73 34 37 4c 43 70 31 4a 6a 72 2b 6b 78 4a 47 37 5a 68 63 46 55 5a 68 AA4ICAQBWs47LCp1Jjr+kxJG7ZhcFUZh
1d1d80 31 0a 2b 2b 56 51 4c 48 71 65 38 52 54 36 71 39 4f 4b 50 76 2b 52 4b 59 39 6a 69 39 69 30 71 56 1.++VQLHqe8RT6q9OKPv+RKY9ji9i0qV
1d1da0 51 42 44 62 36 54 68 69 2f 35 53 6d 33 48 58 76 56 58 2b 63 70 56 48 42 4b 2b 52 77 38 32 78 64 QBDb6Thi/5Sm3HXvVX+cpVHBK+Rw82xd
1d1dc0 39 71 74 39 74 31 77 6b 63 6c 66 37 6e 78 0a 59 2f 68 6f 4c 56 55 45 30 66 4b 4e 73 4b 54 50 76 9qt9t1wkclf7nx.Y/hoLVUE0fKNsKTPv
1d1de0 44 78 65 48 33 6a 6e 70 61 41 67 63 4c 41 45 78 62 66 33 63 71 66 65 49 67 32 39 4d 79 56 47 6a DxeH3jnpaAgcLAExbf3cqfeIg29MyVGj
1d1e00 47 53 53 4a 75 4d 2b 4c 6d 4f 57 32 70 75 4d 50 66 67 59 43 64 63 44 7a 48 32 47 0a 67 75 44 4b GSSJuM+LmOW2puMPfgYCdcDzH2G.guDK
1d1e20 42 41 64 52 55 4e 66 2f 6b 74 55 4d 37 39 71 47 6e 35 6e 58 36 37 65 76 61 4f 49 35 4a 70 53 36 BAdRUNf/ktUM79qGn5nX67evaOI5JpS6
1d1e40 61 4c 65 2f 67 39 50 71 65 6d 63 39 59 6d 65 75 4a 65 56 79 36 4f 4c 6b 37 4b 34 53 39 6b 73 72 aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksr
1d1e60 50 4a 2f 70 73 45 44 7a 0a 4f 46 53 7a 2f 62 64 6f 79 4e 72 47 6a 31 45 38 73 76 75 52 33 42 7a PJ/psEDz.OFSz/bdoyNrGj1E8svuR3Bz
1d1e80 6e 6d 35 33 68 74 77 31 79 6a 2b 4b 6b 78 4b 6c 34 2b 65 73 55 72 4d 5a 44 42 63 4a 6c 4f 53 67 nm53htw1yj+KkxKl4+esUrMZDBcJlOSg
1d1ea0 59 41 73 4f 43 73 70 30 46 76 6d 58 74 6c 6c 39 6c 64 44 7a 37 0a 43 54 55 75 65 35 77 54 2f 52 YAsOCsp0FvmXtll9ldDz7.CTUue5wT/R
1d1ec0 73 50 58 63 64 74 67 54 70 57 44 38 77 37 34 61 38 43 4c 79 4b 73 52 73 70 47 50 4b 41 63 54 4e sPXcdtgTpWD8w74a8CLyKsRspGPKAcTN
1d1ee0 5a 45 74 46 34 75 58 42 56 6d 43 65 45 6d 4b 66 37 47 55 6d 47 36 73 58 50 2f 77 77 79 63 35 57 ZEtF4uXBVmCeEmKf7GUmG6sXP/wwyc5W
1d1f00 78 71 0a 6c 44 38 55 79 6b 41 57 6c 59 54 7a 57 61 6d 73 58 30 78 68 6b 32 33 52 4f 38 79 69 6c xq.lD8UykAWlYTzWamsX0xhk23RO8yil
1d1f20 51 77 69 70 6d 64 6e 52 43 36 35 32 64 4b 4b 51 62 4e 6d 43 31 72 37 66 53 4f 6c 38 68 71 77 2f QwipmdnRC652dKKQbNmC1r7fSOl8hqw/
1d1f40 39 36 62 67 35 51 75 30 54 2f 66 6b 72 65 52 0a 72 77 55 37 5a 63 65 67 62 4c 48 4e 59 68 4c 44 96bg5Qu0T/fkreR.rwU7ZcegbLHNYhLD
1d1f60 6b 42 76 6a 4a 63 34 30 76 47 39 33 64 72 45 51 77 2f 63 46 47 73 44 57 72 33 52 69 53 42 64 33 kBvjJc40vG93drEQw/cFGsDWr3RiSBd3
1d1f80 6b 6d 6d 51 59 52 7a 65 6c 59 42 30 56 49 38 59 48 4d 50 7a 41 39 43 2f 70 45 4e 31 0a 68 6c 4d kmmQYRzelYB0VI8YHMPzA9C/pEN1.hlM
1d1fa0 59 65 67 6f 75 43 52 77 32 6e 35 48 39 67 6f 6f 69 53 39 45 4f 55 43 58 64 79 77 4d 4d 46 38 6d YegouCRw2n5H9gooiS9EOUCXdywMMF8m
1d1fc0 44 41 41 68 4f 4e 55 32 4b 69 2b 33 77 41 70 52 6d 4c 45 52 2f 79 35 55 6e 6c 68 65 74 43 54 43 DAAhONU2Ki+3wApRmLER/y5UnlhetCTC
1d1fe0 73 74 6e 45 58 62 6f 73 58 0a 39 68 77 4a 31 43 30 37 6d 4b 56 78 30 31 51 54 32 57 44 7a 39 55 stnEXbosX.9hwJ1C07mKVx01QT2WDz9U
1d2000 74 6d 54 2f 72 78 37 69 41 53 6a 62 53 73 56 37 46 46 59 36 47 73 64 71 6e 43 2b 77 3d 3d 0a 2d tmT/rx7iASjbSsV7FFY6GsdqnC+w==.-
1d2020 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 53 53 4c 2e 63 6f ----END.CERTIFICATE-----..SSL.co
1d2040 6d 20 45 56 20 52 6f 6f 74 20 43 65 72 74 69 66 69 63 61 74 69 6f 6e 20 41 75 74 68 6f 72 69 74 m.EV.Root.Certification.Authorit
1d2060 79 20 45 43 43 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d y.ECC.==========================
1d2080 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 =================.-----BEGIN.CER
1d20a0 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 6c 44 43 43 41 68 71 67 41 77 49 42 41 67 TIFICATE-----.MIIClDCCAhqgAwIBAg
1d20c0 49 49 4c 43 6d 63 57 78 62 74 42 5a 55 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 41 77 49 77 66 7a IILCmcWxbtBZUwCgYIKoZIzj0EAwIwfz
1d20e0 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 44 6a 41 4d 42 67 4e 56 0a 42 41 67 4d 42 ELMAkGA1UEBhMCVVMxDjAMBgNV.BAgMB
1d2100 56 52 6c 65 47 46 7a 4d 52 41 77 44 67 59 44 56 51 51 48 44 41 64 49 62 33 56 7a 64 47 39 75 4d VRleGFzMRAwDgYDVQQHDAdIb3VzdG9uM
1d2120 52 67 77 46 67 59 44 56 51 51 4b 44 41 39 54 55 30 77 67 51 32 39 79 63 47 39 79 59 58 52 70 62 RgwFgYDVQQKDA9TU0wgQ29ycG9yYXRpb
1d2140 32 34 78 4e 44 41 79 0a 42 67 4e 56 42 41 4d 4d 4b 31 4e 54 54 43 35 6a 62 32 30 67 52 56 59 67 24xNDAy.BgNVBAMMK1NTTC5jb20gRVYg
1d2160 55 6d 39 76 64 43 42 44 5a 58 4a 30 61 57 5a 70 59 32 46 30 61 57 39 75 49 45 46 31 64 47 68 76 Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhv
1d2180 63 6d 6c 30 65 53 42 46 51 30 4d 77 48 68 63 4e 4d 54 59 77 0a 4d 6a 45 79 4d 54 67 78 4e 54 49 cml0eSBFQ0MwHhcNMTYw.MjEyMTgxNTI
1d21a0 7a 57 68 63 4e 4e 44 45 77 4d 6a 45 79 4d 54 67 78 4e 54 49 7a 57 6a 42 2f 4d 51 73 77 43 51 59 zWhcNNDEwMjEyMTgxNTIzWjB/MQswCQY
1d21c0 44 56 51 51 47 45 77 4a 56 55 7a 45 4f 4d 41 77 47 41 31 55 45 43 41 77 46 56 47 56 34 59 58 4d DVQQGEwJVUzEOMAwGA1UECAwFVGV4YXM
1d21e0 78 0a 45 44 41 4f 42 67 4e 56 42 41 63 4d 42 30 68 76 64 58 4e 30 62 32 34 78 47 44 41 57 42 67 x.EDAOBgNVBAcMB0hvdXN0b24xGDAWBg
1d2200 4e 56 42 41 6f 4d 44 31 4e 54 54 43 42 44 62 33 4a 77 62 33 4a 68 64 47 6c 76 62 6a 45 30 4d 44 NVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MD
1d2220 49 47 41 31 55 45 41 77 77 72 55 31 4e 4d 0a 4c 6d 4e 76 62 53 42 46 56 69 42 53 62 32 39 30 49 IGA1UEAwwrU1NM.LmNvbSBFViBSb290I
1d2240 45 4e 6c 63 6e 52 70 5a 6d 6c 6a 59 58 52 70 62 32 34 67 51 58 56 30 61 47 39 79 61 58 52 35 49 ENlcnRpZmljYXRpb24gQXV0aG9yaXR5I
1d2260 45 56 44 51 7a 42 32 4d 42 41 47 42 79 71 47 53 4d 34 39 41 67 45 47 42 53 75 42 0a 42 41 41 69 EVDQzB2MBAGByqGSM49AgEGBSuB.BAAi
1d2280 41 32 49 41 42 4b 6f 53 52 35 43 59 47 2f 76 76 77 30 41 48 67 79 42 4f 38 54 43 43 6f 67 62 52 A2IABKoSR5CYG/vvw0AHgyBO8TCCogbR
1d22a0 38 70 4b 47 59 66 4c 32 49 57 6a 4b 41 4d 54 48 36 6b 4d 41 56 49 62 63 2f 52 2f 66 41 4c 68 42 8pKGYfL2IWjKAMTH6kMAVIbc/R/fALhB
1d22c0 59 6c 7a 63 63 42 59 79 0a 33 68 2b 5a 31 4d 7a 46 42 38 67 49 48 32 45 57 42 31 45 39 66 56 77 YlzccBYy.3h+Z1MzFB8gIH2EWB1E9fVw
1d22e0 48 55 2b 4d 31 4f 49 7a 66 7a 5a 2f 5a 4c 67 31 4b 74 68 6b 75 57 6e 42 61 42 75 32 2b 38 4b 47 HU+M1OIzfzZ/ZLg1KthkuWnBaBu2+8KG
1d2300 77 79 74 41 4a 4b 61 4e 6a 4d 47 45 77 48 51 59 44 56 52 30 4f 0a 42 42 59 45 46 46 76 4b 58 75 wytAJKaNjMGEwHQYDVR0O.BBYEFFvKXu
1d2320 58 65 30 6f 47 71 7a 61 67 74 5a 46 47 32 32 58 4b 62 6c 2b 5a 50 4d 41 38 47 41 31 55 64 45 77 Xe0oGqzagtZFG22XKbl+ZPMA8GA1UdEw
1d2340 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 77 59 44 56 52 30 6a 42 42 67 77 46 6f 41 55 57 38 EB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8
1d2360 70 65 0a 35 64 37 53 67 61 72 4e 71 43 31 6b 55 62 62 5a 63 70 75 58 35 6b 38 77 44 67 59 44 56 pe.5d7SgarNqC1kUbbZcpuX5k8wDgYDV
1d2380 52 30 50 41 51 48 2f 42 41 51 44 41 67 47 47 4d 41 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 43 41 R0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA
1d23a0 32 67 41 4d 47 55 43 4d 51 43 4b 35 6b 43 4a 0a 4e 2b 76 70 31 52 50 5a 79 74 52 72 4a 50 4f 77 2gAMGUCMQCK5kCJ.N+vp1RPZytRrJPOw
1d23c0 50 59 64 47 57 42 72 73 73 64 39 76 2b 31 61 36 63 47 76 48 4f 4d 7a 6f 73 59 78 50 44 2f 66 78 PYdGWBrssd9v+1a6cGvHOMzosYxPD/fx
1d23e0 5a 33 59 4f 67 39 41 65 55 59 38 43 4d 44 33 32 49 79 67 6d 54 4d 5a 67 68 35 4d 6d 0a 6d 37 49 Z3YOg9AeUY8CMD32IygmTMZgh5Mm.m7I
1d2400 31 48 72 72 57 39 7a 7a 52 48 4d 37 36 4a 54 79 6d 47 6f 45 56 57 2f 4d 53 44 32 7a 75 5a 59 72 1HrrW9zzRHM76JTymGoEVW/MSD2zuZYr
1d2420 4a 68 36 6a 35 42 2b 42 69 6d 6f 78 63 53 67 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 Jh6j5B+BimoxcSg==.-----END.CERTI
1d2440 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 6c 6f 62 61 6c 53 69 67 6e 20 52 6f 6f 74 20 43 41 20 FICATE-----..GlobalSign.Root.CA.
1d2460 2d 20 52 36 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d -.R6.=======================.---
1d2480 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 67 7a 43 --BEGIN.CERTIFICATE-----.MIIFgzC
1d24a0 43 41 32 75 67 41 77 49 42 41 67 49 4f 52 65 61 37 41 34 4d 7a 77 34 56 6c 53 4f 62 2f 52 56 45 CA2ugAwIBAgIORea7A4Mzw4VlSOb/RVE
1d24c0 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4d 42 51 41 77 54 44 45 67 4d 42 34 47 41 31 55 wDQYJKoZIhvcNAQEMBQAwTDEgMB4GA1U
1d24e0 45 43 78 4d 58 0a 52 32 78 76 59 6d 46 73 55 32 6c 6e 62 69 42 53 62 32 39 30 49 45 4e 42 49 43 ECxMX.R2xvYmFsU2lnbiBSb290IENBIC
1d2500 30 67 55 6a 59 78 45 7a 41 52 42 67 4e 56 42 41 6f 54 43 6b 64 73 62 32 4a 68 62 46 4e 70 5a 32 0gUjYxEzARBgNVBAoTCkdsb2JhbFNpZ2
1d2520 34 78 45 7a 41 52 42 67 4e 56 42 41 4d 54 43 6b 64 73 0a 62 32 4a 68 62 46 4e 70 5a 32 34 77 48 4xEzARBgNVBAMTCkds.b2JhbFNpZ24wH
1d2540 68 63 4e 4d 54 51 78 4d 6a 45 77 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 51 78 4d 6a 45 77 4d hcNMTQxMjEwMDAwMDAwWhcNMzQxMjEwM
1d2560 44 41 77 4d 44 41 77 57 6a 42 4d 4d 53 41 77 48 67 59 44 56 51 51 4c 45 78 64 48 62 47 39 69 0a DAwMDAwWjBMMSAwHgYDVQQLExdHbG9i.
1d2580 59 57 78 54 61 57 64 75 49 46 4a 76 62 33 51 67 51 30 45 67 4c 53 42 53 4e 6a 45 54 4d 42 45 47 YWxTaWduIFJvb3QgQ0EgLSBSNjETMBEG
1d25a0 41 31 55 45 43 68 4d 4b 52 32 78 76 59 6d 46 73 55 32 6c 6e 62 6a 45 54 4d 42 45 47 41 31 55 45 A1UEChMKR2xvYmFsU2lnbjETMBEGA1UE
1d25c0 41 78 4d 4b 52 32 78 76 59 6d 46 73 0a 55 32 6c 6e 62 6a 43 43 41 69 49 77 44 51 59 4a 4b 6f 5a AxMKR2xvYmFs.U2lnbjCCAiIwDQYJKoZ
1d25e0 49 68 76 63 4e 41 51 45 42 42 51 41 44 67 67 49 50 41 44 43 43 41 67 6f 43 67 67 49 42 41 4a 55 IhvcNAQEBBQADggIPADCCAgoCggIBAJU
1d2600 48 36 48 50 4b 5a 76 6e 73 46 4d 70 37 50 50 63 4e 43 50 47 30 52 51 73 73 0a 67 72 52 49 78 75 H6HPKZvnsFMp7PPcNCPG0RQss.grRIxu
1d2620 74 62 50 4b 36 44 75 45 47 53 4d 78 53 6b 62 33 2f 70 4b 73 7a 47 73 49 68 72 78 62 61 4a 30 63 tbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0c
1d2640 61 79 2f 78 54 4f 55 52 51 68 37 45 72 64 47 31 72 47 31 6f 66 75 54 54 6f 56 42 75 31 6b 5a 67 ay/xTOURQh7ErdG1rG1ofuTToVBu1kZg
1d2660 75 53 67 4d 70 45 0a 33 6e 4f 55 54 76 4f 6e 69 58 39 50 65 47 4d 49 79 42 4a 51 62 55 4a 6d 4c uSgMpE.3nOUTvOniX9PeGMIyBJQbUJmL
1d2680 30 32 35 65 53 68 4e 55 68 71 4b 47 6f 43 33 47 59 45 4f 66 73 53 4b 76 47 52 4d 49 52 78 44 61 025eShNUhqKGoC3GYEOfsSKvGRMIRxDa
1d26a0 4e 63 39 50 49 72 46 73 6d 62 56 6b 4a 71 33 4d 51 62 46 0a 76 75 4a 74 4d 67 61 6d 48 76 6d 35 Nc9PIrFsmbVkJq3MQbF.vuJtMgamHvm5
1d26c0 36 36 71 6a 75 4c 2b 2b 67 6d 4e 51 30 50 41 59 69 64 2f 6b 44 33 6e 31 36 71 49 66 4b 74 4a 77 66qjuL++gmNQ0PAYid/kD3n16qIfKtJw
1d26e0 4c 6e 76 6e 76 4a 4f 37 62 56 50 69 53 48 79 4d 45 41 63 34 2f 32 61 79 64 32 46 2b 34 4f 71 4d LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqM
1d2700 0a 50 4b 71 30 70 50 62 7a 6c 55 6f 53 42 32 33 39 6a 4c 4b 4a 7a 39 43 67 59 58 66 49 57 48 53 .PKq0pPbzlUoSB239jLKJz9CgYXfIWHS
1d2720 77 31 43 4d 36 39 31 30 36 79 71 4c 62 6e 51 6e 65 58 55 51 74 6b 50 47 42 7a 56 65 53 2b 6e 36 w1CM69106yqLbnQneXUQtkPGBzVeS+n6
1d2740 38 55 41 52 6a 4e 4e 39 72 6b 78 69 2b 0a 61 7a 61 79 4f 65 53 73 4a 44 61 33 38 4f 2b 32 48 42 8UARjNN9rkxi+.azayOeSsJDa38O+2HB
1d2760 4e 58 6b 37 62 65 73 76 6a 69 68 62 64 7a 6f 72 67 31 71 6b 58 79 34 4a 30 32 6f 57 39 55 69 76 NXk7besvjihbdzorg1qkXy4J02oW9Uiv
1d2780 46 79 56 6d 34 75 69 4d 56 52 51 6b 51 56 6c 4f 36 6a 78 54 69 57 6d 30 35 4f 0a 57 67 74 48 38 FyVm4uiMVRQkQVlO6jxTiWm05O.WgtH8
1d27a0 77 59 32 53 58 63 77 76 48 45 33 35 61 62 73 49 51 68 31 2f 4f 5a 68 46 6a 39 33 31 64 6d 52 6c wY2SXcwvHE35absIQh1/OZhFj931dmRl
1d27c0 34 51 4b 62 4e 51 43 54 58 54 41 46 4f 33 39 4f 66 75 44 38 6c 34 55 6f 51 53 77 43 2b 6e 2b 37 4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7
1d27e0 6f 2f 68 62 67 75 79 0a 43 4c 4e 68 5a 67 6c 71 73 51 59 36 5a 5a 5a 5a 77 50 41 31 2f 63 6e 61 o/hbguy.CLNhZglqsQY6ZZZZwPA1/cna
1d2800 4b 49 30 61 45 59 64 77 67 51 71 6f 6d 6e 55 64 6e 6a 71 47 42 51 43 65 32 34 44 57 4a 66 6e 63 KI0aEYdwgQqomnUdnjqGBQCe24DWJfnc
1d2820 42 5a 34 6e 57 55 78 32 4f 56 76 71 2b 61 57 68 32 49 4d 50 0a 30 66 2f 66 4d 42 48 35 68 63 38 BZ4nWUx2OVvq+aWh2IMP.0f/fMBH5hc8
1d2840 7a 53 50 58 4b 62 57 51 55 4c 48 70 59 54 39 4e 4c 43 45 6e 46 6c 57 51 61 59 77 35 35 50 66 57 zSPXKbWQULHpYT9NLCEnFlWQaYw55PfW
1d2860 7a 6a 4d 70 59 72 5a 78 43 52 58 6c 75 44 6f 63 5a 58 46 53 78 5a 62 61 2f 6a 4a 76 63 45 2b 6b zjMpYrZxCRXluDocZXFSxZba/jJvcE+k
1d2880 4e 0a 62 37 67 75 33 47 64 75 79 59 73 52 74 59 51 55 69 67 41 5a 63 49 4e 35 6b 5a 65 52 31 42 N.b7gu3GduyYsRtYQUigAZcIN5kZeR1B
1d28a0 6f 6e 76 7a 63 65 4d 67 66 59 46 47 4d 38 4b 45 79 76 41 67 4d 42 41 41 47 6a 59 7a 42 68 4d 41 onvzceMgfYFGM8KEyvAgMBAAGjYzBhMA
1d28c0 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 0a 41 77 49 42 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 4GA1UdDwEB/wQE.AwIBBjAPBgNVHRMBA
1d28e0 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 51 57 42 42 53 75 62 41 57 6a 6b f8EBTADAQH/MB0GA1UdDgQWBBSubAWjk
1d2900 78 50 69 6f 75 66 69 31 78 7a 57 78 2f 42 2f 79 47 64 54 6f 44 41 66 42 67 4e 56 0a 48 53 4d 45 xPioufi1xzWx/B/yGdToDAfBgNV.HSME
1d2920 47 44 41 57 67 42 53 75 62 41 57 6a 6b 78 50 69 6f 75 66 69 31 78 7a 57 78 2f 42 2f 79 47 64 54 GDAWgBSubAWjkxPioufi1xzWx/B/yGdT
1d2940 6f 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 46 41 41 4f 43 41 67 45 41 67 79 58 74 oDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt
1d2960 36 4e 48 39 6c 56 4c 4e 0a 6e 73 41 45 6f 4a 46 70 35 6c 7a 51 68 4e 37 63 72 61 4a 50 36 45 64 6NH9lVLN.nsAEoJFp5lzQhN7craJP6Ed
1d2980 34 31 6d 57 59 71 56 75 6f 50 49 64 38 41 6f 72 52 62 72 63 57 63 2b 5a 66 77 46 53 59 31 58 53 41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS
1d29a0 2b 77 63 33 69 45 5a 47 74 49 78 67 39 33 65 46 79 52 4a 61 30 0a 6c 56 37 41 65 34 36 5a 65 42 +wc3iEZGtIxg93eFyRJa0.lV7Ae46ZeB
1d29c0 5a 44 45 31 5a 58 73 36 4b 7a 4f 37 56 33 33 45 42 79 72 4b 50 72 6d 7a 55 2b 73 51 67 68 6f 65 ZDE1ZXs6KzO7V33EByrKPrmzU+sQghoe
1d29e0 66 45 51 7a 64 35 4d 72 36 31 35 35 77 73 54 4c 78 44 4b 5a 6d 4f 4d 4e 4f 73 49 65 44 6a 48 66 fEQzd5Mr6155wsTLxDKZmOMNOsIeDjHf
1d2a00 72 59 0a 42 7a 4e 32 56 41 41 69 4b 72 6c 4e 49 43 35 77 61 4e 72 6c 55 2f 79 44 58 4e 4f 64 38 rY.BzN2VAAiKrlNIC5waNrlU/yDXNOd8
1d2a20 76 39 45 44 45 52 6d 38 74 4c 6a 76 55 59 41 47 6d 30 43 75 69 56 64 6a 61 45 78 55 64 31 55 52 v9EDERm8tLjvUYAGm0CuiVdjaExUd1UR
1d2a40 68 78 4e 32 35 6d 57 37 78 6f 63 42 46 79 6d 0a 46 65 39 34 34 48 6e 2b 58 64 73 2b 71 6b 78 56 hxN25mW7xocBFym.Fe944Hn+Xds+qkxV
1d2a60 2f 5a 6f 56 71 57 2f 68 70 76 76 66 63 44 44 70 77 2b 35 43 52 75 33 43 6b 77 57 4a 2b 6e 31 6a /ZoVqW/hpvvfcDDpw+5CRu3CkwWJ+n1j
1d2a80 65 7a 2f 51 63 59 46 38 41 4f 69 59 72 67 35 34 4e 4d 4d 6c 2b 36 38 4b 6e 79 42 72 0a 33 54 73 ez/QcYF8AOiYrg54NMMl+68KnyBr.3Ts
1d2aa0 54 6a 78 4b 4d 34 6b 45 61 53 48 70 7a 6f 48 64 70 78 37 5a 63 66 34 4c 49 48 76 35 59 47 79 67 TjxKM4kEaSHpzoHdpx7Zcf4LIHv5YGyg
1d2ac0 72 71 47 79 74 58 6d 33 41 42 64 4a 37 74 2b 75 41 2f 69 55 33 2f 67 4b 62 61 4b 78 43 58 63 50 rqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcP
1d2ae0 75 39 63 7a 63 38 46 42 31 0a 30 6a 5a 70 6e 4f 5a 37 42 4e 39 75 42 6d 6d 32 33 67 6f 4a 53 46 u9czc8FB1.0jZpnOZ7BN9uBmm23goJSF
1d2b00 6d 48 36 33 73 55 59 48 70 6b 71 6d 6c 44 37 35 48 48 54 4f 77 59 33 57 7a 76 55 79 32 4d 6d 65 mH63sUYHpkqmlD75HHTOwY3WzvUy2Mme
1d2b20 46 65 38 6e 49 2b 7a 31 54 49 76 57 66 73 70 41 39 4d 52 66 2f 54 0a 75 54 41 6a 42 30 79 50 45 Fe8nI+z1TIvWfspA9MRf/T.uTAjB0yPE
1d2b40 4c 2b 47 6c 74 6d 5a 57 72 53 5a 56 78 79 6b 7a 4c 73 56 69 56 4f 36 4c 41 55 50 35 4d 53 65 47 L+GltmZWrSZVxykzLsViVO6LAUP5MSeG
1d2b60 62 45 59 4e 4e 56 4d 6e 62 72 74 39 78 2b 76 4a 4a 55 45 65 4b 67 44 75 2b 36 42 35 64 70 66 66 bEYNNVMnbrt9x+vJJUEeKgDu+6B5dpff
1d2b80 49 74 4b 0a 6f 5a 42 30 4a 61 65 7a 50 6b 76 49 4c 46 61 39 78 38 6a 76 4f 4f 4a 63 6b 76 42 35 ItK.oZB0JaezPkvILFa9x8jvOOJckvB5
1d2ba0 39 35 79 45 75 6e 51 74 59 51 45 67 66 6e 37 52 38 6b 38 48 57 56 2b 4c 4c 55 4e 53 36 30 59 4d 95yEunQtYQEgfn7R8k8HWV+LLUNS60YM
1d2bc0 6c 4f 48 31 5a 6b 64 35 64 39 56 55 57 78 2b 74 0a 4a 44 66 4c 52 56 70 4f 6f 45 52 49 79 4e 69 lOH1Zkd5d9VUWx+t.JDfLRVpOoERIyNi
1d2be0 77 6d 63 55 56 68 41 6e 32 31 6b 6c 4a 77 47 57 34 35 68 70 78 62 71 43 6f 38 59 4c 6f 52 54 35 wmcUVhAn21klJwGW45hpxbqCo8YLoRT5
1d2c00 73 31 67 4c 58 43 6d 65 44 42 56 72 4a 70 42 41 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 s1gLXCmeDBVrJpBA=.-----END.CERTI
1d2c20 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 4f 49 53 54 45 20 57 49 53 65 4b 65 79 20 47 6c 6f 62 61 FICATE-----..OISTE.WISeKey.Globa
1d2c40 6c 20 52 6f 6f 74 20 47 43 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d l.Root.GC.CA.===================
1d2c60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 ============.-----BEGIN.CERTIFIC
1d2c80 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 61 54 43 43 41 65 2b 67 41 77 49 42 41 67 49 51 49 53 70 ATE-----.MIICaTCCAe+gAwIBAgIQISp
1d2ca0 57 44 4b 37 61 44 4b 74 41 52 62 38 72 6f 69 30 36 36 6a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 WDK7aDKtARb8roi066jAKBggqhkjOPQQ
1d2cc0 44 41 7a 42 74 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 44 0a 53 44 45 51 4d 41 34 47 41 31 DAzBtMQswCQYDVQQGEwJD.SDEQMA4GA1
1d2ce0 55 45 43 68 4d 48 56 30 6c 54 5a 55 74 6c 65 54 45 69 4d 43 41 47 41 31 55 45 43 78 4d 5a 54 30 UEChMHV0lTZUtleTEiMCAGA1UECxMZT0
1d2d00 6c 54 56 45 55 67 52 6d 39 31 62 6d 52 68 64 47 6c 76 62 69 42 46 62 6d 52 76 63 6e 4e 6c 5a 44 lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZD
1d2d20 45 6f 0a 4d 43 59 47 41 31 55 45 41 78 4d 66 54 30 6c 54 56 45 55 67 56 30 6c 54 5a 55 74 6c 65 Eo.MCYGA1UEAxMfT0lTVEUgV0lTZUtle
1d2d40 53 42 48 62 47 39 69 59 57 77 67 55 6d 39 76 64 43 42 48 51 79 42 44 51 54 41 65 46 77 30 78 4e SBHbG9iYWwgUm9vdCBHQyBDQTAeFw0xN
1d2d60 7a 41 31 4d 44 6b 77 4f 54 51 34 4d 7a 52 61 0a 46 77 30 30 4d 6a 41 31 4d 44 6b 77 4f 54 55 34 zA1MDkwOTQ4MzRa.Fw00MjA1MDkwOTU4
1d2d80 4d 7a 4e 61 4d 47 30 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4e 49 4d 52 41 77 44 67 59 44 MzNaMG0xCzAJBgNVBAYTAkNIMRAwDgYD
1d2da0 56 51 51 4b 45 77 64 58 53 56 4e 6c 53 32 56 35 4d 53 49 77 49 41 59 44 56 51 51 4c 0a 45 78 6c VQQKEwdXSVNlS2V5MSIwIAYDVQQL.Exl
1d2dc0 50 53 56 4e 55 52 53 42 47 62 33 56 75 5a 47 46 30 61 57 39 75 49 45 56 75 5a 47 39 79 63 32 56 PSVNURSBGb3VuZGF0aW9uIEVuZG9yc2V
1d2de0 6b 4d 53 67 77 4a 67 59 44 56 51 51 44 45 78 39 50 53 56 4e 55 52 53 42 58 53 56 4e 6c 53 32 56 kMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V
1d2e00 35 49 45 64 73 62 32 4a 68 0a 62 43 42 53 62 32 39 30 49 45 64 44 49 45 4e 42 4d 48 59 77 45 41 5IEdsb2Jh.bCBSb290IEdDIENBMHYwEA
1d2e20 59 48 4b 6f 5a 49 7a 6a 30 43 41 51 59 46 4b 34 45 45 41 43 49 44 59 67 41 45 54 4f 6c 51 77 4d YHKoZIzj0CAQYFK4EEACIDYgAETOlQwM
1d2e40 59 50 63 68 69 38 32 50 47 36 73 34 6e 69 65 55 71 6a 46 71 64 72 0a 56 43 54 62 55 66 2f 71 39 YPchi82PG6s4nieUqjFqdr.VCTbUf/q9
1d2e60 41 6b 6b 77 77 73 69 6e 38 74 71 4a 34 4b 42 44 64 4c 41 72 7a 48 6b 64 49 4a 75 79 69 58 5a 6a Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZj
1d2e80 48 57 64 38 64 76 51 6d 71 4a 4c 49 58 34 57 70 32 4f 51 30 6a 6e 55 73 59 64 34 58 78 69 57 44 HWd8dvQmqJLIX4Wp2OQ0jnUsYd4XxiWD
1d2ea0 31 41 62 0a 4e 54 63 50 61 73 62 63 32 52 4e 4e 70 49 36 51 4e 2b 61 39 57 7a 47 52 6f 31 51 77 1Ab.NTcPasbc2RNNpI6QN+a9WzGRo1Qw
1d2ec0 55 6a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 56 52 30 54 UjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T
1d2ee0 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 0a 42 67 4e 56 48 51 34 45 46 67 51 55 53 49 63 AQH/BAUwAwEB/zAd.BgNVHQ4EFgQUSIc
1d2f00 55 72 4f 50 44 6e 70 42 67 4f 74 66 4b 69 65 37 54 72 59 79 30 55 47 59 77 45 41 59 4a 4b 77 59 UrOPDnpBgOtfKie7TrYy0UGYwEAYJKwY
1d2f20 42 42 41 47 43 4e 78 55 42 42 41 4d 43 41 51 41 77 43 67 59 49 4b 6f 5a 49 7a 6a 30 45 0a 41 77 BBAGCNxUBBAMCAQAwCgYIKoZIzj0E.Aw
1d2f40 4d 44 61 41 41 77 5a 51 49 77 4a 73 64 70 57 39 7a 56 35 37 4c 6e 79 41 79 4d 6a 4d 50 64 65 59 MDaAAwZQIwJsdpW9zV57LnyAyMjMPdeY
1d2f60 77 62 59 39 58 4a 55 70 52 4f 54 59 4a 4b 63 78 36 79 67 49 53 70 4a 63 42 4d 57 6d 31 4a 4b 57 wbY9XJUpROTYJKcx6ygISpJcBMWm1JKW
1d2f80 42 34 45 2b 4a 2b 53 4f 74 6b 0a 41 6a 45 41 32 7a 51 67 4d 67 6a 2f 6d 6b 6b 43 74 6f 6a 65 46 B4E+J+SOtk.AjEA2zQgMgj/mkkCtojeF
1d2fa0 4b 39 64 62 4a 6c 78 6a 52 6f 2f 69 39 66 67 6f 6a 61 47 48 41 65 43 4f 6e 5a 54 2f 63 4b 69 37 K9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7
1d2fc0 65 39 37 73 49 42 50 57 41 39 4c 55 7a 6d 39 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 e97sIBPWA9LUzm9.-----END.CERTIFI
1d2fe0 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 54 53 20 52 6f 6f 74 20 52 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d CATE-----..GTS.Root.R1.=========
1d3000 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1d3020 49 49 46 57 6a 43 43 41 30 4b 67 41 77 49 42 41 67 49 51 62 6b 65 70 78 55 74 48 44 41 33 73 4d IIFWjCCA0KgAwIBAgIQbkepxUtHDA3sM
1d3040 39 43 4a 75 52 7a 30 34 54 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 77 46 41 44 42 48 4d 9CJuRz04TANBgkqhkiG9w0BAQwFADBHM
1d3060 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 55 7a 45 69 4d 43 41 47 41 31 55 45 43 68 4d 5a QswCQYDVQQG.EwJVUzEiMCAGA1UEChMZ
1d3080 52 32 39 76 5a 32 78 6c 49 46 52 79 64 58 4e 30 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 78 4d R29vZ2xlIFRydXN0IFNlcnZpY2VzIExM
1d30a0 51 7a 45 55 4d 42 49 47 41 31 55 45 41 78 4d 4c 52 31 52 54 49 46 4a 76 0a 62 33 51 67 55 6a 45 QzEUMBIGA1UEAxMLR1RTIFJv.b3QgUjE
1d30c0 77 48 68 63 4e 4d 54 59 77 4e 6a 49 79 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 59 77 4e 6a 49 wHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjI
1d30e0 79 4d 44 41 77 4d 44 41 77 57 6a 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 yMDAwMDAwWjBHMQswCQYDVQQGEwJVUzE
1d3100 69 4d 43 41 47 0a 41 31 55 45 43 68 4d 5a 52 32 39 76 5a 32 78 6c 49 46 52 79 64 58 4e 30 49 46 iMCAG.A1UEChMZR29vZ2xlIFRydXN0IF
1d3120 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 78 4d 51 7a 45 55 4d 42 49 47 41 31 55 45 41 78 4d 4c 52 31 NlcnZpY2VzIExMQzEUMBIGA1UEAxMLR1
1d3140 52 54 49 46 4a 76 62 33 51 67 55 6a 45 77 67 67 49 69 0a 4d 41 30 47 43 53 71 47 53 49 62 33 44 RTIFJvb3QgUjEwggIi.MA0GCSqGSIb3D
1d3160 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 32 45 51 4b 4c 48 QEBAQUAA4ICDwAwggIKAoICAQC2EQKLH
1d3180 75 4f 68 64 35 73 37 33 4c 2b 55 50 72 65 56 70 30 41 38 6f 66 32 43 2b 58 30 79 42 6f 4a 78 0a uOhd5s73L+UPreVp0A8of2C+X0yBoJx.
1d31a0 39 76 61 4d 66 2f 76 6f 32 37 78 71 4c 70 65 58 6f 34 78 4c 2b 53 76 32 73 66 6e 4f 68 42 32 78 9vaMf/vo27xqLpeXo4xL+Sv2sfnOhB2x
1d31c0 2b 63 57 58 33 75 2b 35 38 71 50 70 76 42 4b 4a 58 71 65 71 55 71 76 34 49 79 66 4c 70 4c 47 63 +cWX3u+58qPpvBKJXqeqUqv4IyfLpLGc
1d31e0 59 39 76 58 6d 58 37 77 43 6c 37 72 0a 61 4b 62 30 78 6c 70 48 44 55 30 51 4d 2b 4e 4f 73 52 4f Y9vXmX7wCl7r.aKb0xlpHDU0QM+NOsRO
1d3200 6a 79 42 68 73 53 2b 7a 38 43 5a 44 66 6e 57 51 70 4a 53 4d 48 6f 62 54 53 50 53 35 67 34 4d 2f jyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/
1d3220 53 43 59 65 37 7a 55 6a 77 54 63 4c 43 65 6f 69 4b 75 37 72 50 57 52 6e 57 0a 72 34 2b 77 42 37 SCYe7zUjwTcLCeoiKu7rPWRnW.r4+wB7
1d3240 43 65 4d 66 47 43 77 63 44 66 4c 71 5a 74 62 42 6b 4f 74 64 68 2b 4a 68 70 46 41 7a 32 77 65 61 CeMfGCwcDfLqZtbBkOtdh+JhpFAz2wea
1d3260 53 55 4b 4b 30 50 66 79 62 6c 71 41 6a 2b 6c 75 67 38 61 4a 52 54 37 6f 4d 36 69 43 73 56 6c 67 SUKK0PfyblqAj+lug8aJRT7oM6iCsVlg
1d3280 6d 79 34 48 71 4d 0a 4c 6e 58 57 6e 4f 75 6e 56 6d 53 50 6c 6b 39 6f 72 6a 32 58 77 6f 53 50 77 my4HqM.LnXWnOunVmSPlk9orj2XwoSPw
1d32a0 4c 78 41 77 41 74 63 76 66 61 48 73 7a 56 73 72 42 68 51 66 34 54 67 54 4d 32 53 30 79 44 70 4d LxAwAtcvfaHszVsrBhQf4TgTM2S0yDpM
1d32c0 37 78 53 6d 61 38 79 74 53 6d 7a 4a 53 71 30 53 50 6c 79 0a 34 63 70 6b 39 2b 61 43 45 49 33 6f 7xSma8ytSmzJSq0SPly.4cpk9+aCEI3o
1d32e0 6e 63 4b 4b 69 50 6f 34 5a 6f 72 38 59 2f 6b 42 2b 58 6a 39 65 31 78 33 2b 6e 61 48 2b 75 7a 66 ncKKiPo4Zor8Y/kB+Xj9e1x3+naH+uzf
1d3300 73 51 35 35 6c 56 65 30 76 53 62 76 31 67 48 52 36 78 59 4b 75 34 34 4c 74 63 58 46 69 6c 57 72 sQ55lVe0vSbv1gHR6xYKu44LtcXFilWr
1d3320 0a 30 36 7a 71 6b 55 73 70 7a 42 6d 6b 4d 69 56 4f 4b 76 46 6c 52 4e 41 43 7a 71 72 4f 53 62 54 .06zqkUspzBmkMiVOKvFlRNACzqrOSbT
1d3340 71 6e 33 79 44 73 45 42 37 35 30 4f 72 70 32 79 6a 6a 33 32 4a 67 66 70 4d 70 66 2f 56 6a 73 50 qn3yDsEB750Orp2yjj32JgfpMpf/VjsP
1d3360 4f 53 2b 43 31 32 4c 4f 4f 52 63 39 32 0a 77 4f 31 41 4b 2f 31 54 44 37 43 6e 31 54 73 4e 73 59 OS+C12LOORc92.wO1AK/1TD7Cn1TsNsY
1d3380 71 69 41 39 34 78 72 63 78 33 36 6d 39 37 50 74 62 66 6b 53 49 53 35 72 37 36 32 44 4c 38 45 47 qiA94xrcx36m97PtbfkSIS5r762DL8EG
1d33a0 4d 55 55 58 4c 65 58 64 59 57 6b 37 30 70 61 44 50 76 4f 6d 62 73 42 34 6f 6d 0a 33 78 50 58 56 MUUXLeXdYWk70paDPvOmbsB4om.3xPXV
1d33c0 32 56 34 4a 39 35 65 53 52 51 41 6f 67 42 2f 6d 71 67 68 74 71 6d 78 6c 62 43 6c 75 51 30 57 45 2V4J95eSRQAogB/mqghtqmxlbCluQ0WE
1d33e0 64 72 48 62 45 67 38 51 4f 42 2b 44 56 72 4e 56 6a 7a 52 6c 77 57 35 79 30 76 74 4f 55 75 63 78 drHbEg8QOB+DVrNVjzRlwW5y0vtOUucx
1d3400 44 2f 53 56 52 4e 75 0a 4a 4c 44 57 63 66 72 30 77 62 72 4d 37 52 76 31 2f 6f 46 42 32 41 43 59 D/SVRNu.JLDWcfr0wbrM7Rv1/oFB2ACY
1d3420 50 54 72 49 72 6e 71 59 4e 78 67 46 6c 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 4f 42 67 4e 56 PTrIrnqYNxgFlQIDAQABo0IwQDAOBgNV
1d3440 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 44 77 59 44 0a 56 52 30 54 41 51 48 2f 42 41 55 HQ8BAf8EBAMCAQYwDwYD.VR0TAQH/BAU
1d3460 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 35 4b 38 72 4a 6e 45 61 4b 30 67 wAwEB/zAdBgNVHQ4EFgQU5K8rJnEaK0g
1d3480 6e 68 53 39 53 5a 69 7a 76 38 49 6b 54 63 54 34 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 nhS9SZizv8IkTcT4wDQYJKoZIhvcNAQE
1d34a0 4d 0a 42 51 41 44 67 67 49 42 41 44 69 57 43 75 34 39 74 4a 59 65 58 2b 2b 64 6e 41 73 7a 6e 79 M.BQADggIBADiWCu49tJYeX++dnAszny
1d34c0 76 67 79 76 33 53 6a 67 6f 66 51 58 53 6c 66 4b 71 45 31 4f 58 79 48 75 59 33 55 6a 4b 63 43 39 vgyv3SjgofQXSlfKqE1OXyHuY3UjKcC9
1d34e0 46 68 48 62 38 6f 77 62 5a 45 4b 54 56 31 0a 64 35 69 79 66 4e 6d 39 64 4b 79 4b 61 4f 4f 70 4d FhHb8owbZEKTV1.d5iyfNm9dKyKaOOpM
1d3500 51 6b 70 41 57 42 7a 34 30 64 38 55 36 69 51 53 69 66 76 53 39 65 66 6b 2b 65 43 4e 73 36 61 61 QkpAWBz40d8U6iQSifvS9efk+eCNs6aa
1d3520 41 79 43 35 38 2f 55 45 42 5a 76 58 77 36 5a 58 50 59 66 63 58 33 76 37 33 73 76 0a 66 75 6f 32 AyC58/UEBZvXw6ZXPYfcX3v73sv.fuo2
1d3540 31 70 64 77 43 78 58 75 31 31 78 57 61 6a 4f 6c 34 30 6b 34 44 4c 68 39 2b 34 32 46 70 4c 46 5a 1pdwCxXu11xWajOl40k4DLh9+42FpLFZ
1d3560 58 76 52 71 34 64 32 68 39 6d 52 45 72 75 5a 52 67 79 46 6d 78 68 45 2b 38 38 35 48 37 70 77 6f XvRq4d2h9mREruZRgyFmxhE+885H7pwo
1d3580 48 79 58 61 2f 36 78 6d 0a 6c 64 30 31 44 31 7a 76 49 43 78 69 2f 5a 47 36 71 63 7a 38 57 70 79 HyXa/6xm.ld01D1zvICxi/ZG6qcz8Wpy
1d35a0 54 67 59 4d 70 6c 30 70 38 57 6e 4b 30 4f 64 43 33 64 38 74 35 2f 57 6b 36 6b 6a 66 74 62 6a 68 TgYMpl0p8WnK0OdC3d8t5/Wk6kjftbjh
1d35c0 6c 52 6e 37 70 59 4c 31 35 69 4a 64 66 4f 42 4c 30 37 71 39 62 0a 67 73 69 47 31 65 47 5a 62 59 lRn7pYL15iJdfOBL07q9b.gsiG1eGZbY
1d35e0 77 45 38 6e 61 36 53 66 5a 75 36 57 30 65 58 36 44 76 4a 34 4a 32 51 50 69 6d 30 31 68 63 44 79 wE8na6SfZu6W0eX6DvJ4J2QPim01hcDy
1d3600 78 43 32 6b 4c 47 65 34 67 30 78 38 48 59 52 5a 76 42 50 73 56 68 48 64 6c 6a 55 45 6e 32 4e 49 xC2kLGe4g0x8HYRZvBPsVhHdljUEn2NI
1d3620 56 71 0a 34 42 6a 46 62 6b 65 72 51 55 49 70 6d 2f 5a 67 44 64 49 78 30 32 4f 59 49 35 4e 61 41 Vq.4BjFbkerQUIpm/ZgDdIx02OYI5NaA
1d3640 49 46 49 74 4f 2f 4e 69 73 33 4a 7a 35 6e 75 32 5a 36 71 4e 75 46 6f 53 33 46 4a 46 44 59 6f 4f IFItO/Nis3Jz5nu2Z6qNuFoS3FJFDYoO
1d3660 6a 30 64 7a 70 71 50 4a 65 61 41 63 57 45 72 0a 74 58 76 4d 2b 53 55 57 67 65 45 78 58 36 47 6a j0dzpqPJeaAcWEr.tXvM+SUWgeExX6Gj
1d3680 66 68 61 6b 6e 42 5a 71 6c 78 69 39 64 6e 4b 6c 43 35 34 64 4e 75 59 76 6f 53 2b 2b 63 4a 45 50 fhaknBZqlxi9dnKlC54dNuYvoS++cJEP
1d36a0 71 4f 62 61 2b 4d 53 53 51 47 77 6c 66 6e 75 7a 43 64 79 79 46 36 32 41 52 50 42 6f 0a 70 59 2b qOba+MSSQGwlfnuzCdyyF62ARPBo.pY+
1d36c0 55 64 66 39 30 57 75 69 6f 41 6e 77 4d 43 65 4b 70 53 77 75 67 68 51 74 69 75 65 2b 68 4d 5a 4c Udf90WuioAnwMCeKpSwughQtiue+hMZL
1d36e0 37 37 2f 5a 52 42 49 6c 73 36 4b 6c 30 6f 62 73 58 73 37 58 39 53 51 39 38 50 4f 79 44 47 43 42 77/ZRBIls6Kl0obsXs7X9SQ98POyDGCB
1d3700 44 54 74 57 54 75 72 51 30 0a 73 52 38 57 4e 68 38 4d 35 6d 51 35 46 6b 7a 63 34 50 34 64 79 4b DTtWTurQ0.sR8WNh8M5mQ5Fkzc4P4dyK
1d3720 6c 69 50 55 44 71 79 73 55 30 41 72 53 75 69 59 67 7a 4e 64 77 73 45 33 50 59 4a 2f 48 51 63 75 liPUDqysU0ArSuiYgzNdwsE3PYJ/HQcu
1d3740 35 31 4f 79 4c 65 6d 47 68 6d 57 2f 48 47 59 30 64 56 48 4c 71 6c 0a 43 46 46 31 70 6b 67 6c 0a 51OyLemGhmW/HGY0dVHLql.CFF1pkgl.
1d3760 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 54 53 20 52 -----END.CERTIFICATE-----..GTS.R
1d3780 6f 6f 74 20 52 32 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 oot.R2.===========.-----BEGIN.CE
1d37a0 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 57 6a 43 43 41 30 4b 67 41 77 49 42 41 RTIFICATE-----.MIIFWjCCA0KgAwIBA
1d37c0 67 49 51 62 6b 65 70 78 6c 71 7a 35 79 44 46 4d 4a 6f 2f 61 46 4c 79 62 7a 41 4e 42 67 6b 71 68 gIQbkepxlqz5yDFMJo/aFLybzANBgkqh
1d37e0 6b 69 47 39 77 30 42 41 51 77 46 41 44 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 56 kiG9w0BAQwFADBHMQswCQYDVQQG.EwJV
1d3800 55 7a 45 69 4d 43 41 47 41 31 55 45 43 68 4d 5a 52 32 39 76 5a 32 78 6c 49 46 52 79 64 58 4e 30 UzEiMCAGA1UEChMZR29vZ2xlIFRydXN0
1d3820 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 78 4d 51 7a 45 55 4d 42 49 47 41 31 55 45 41 78 4d 4c IFNlcnZpY2VzIExMQzEUMBIGA1UEAxML
1d3840 52 31 52 54 49 46 4a 76 0a 62 33 51 67 55 6a 49 77 48 68 63 4e 4d 54 59 77 4e 6a 49 79 4d 44 41 R1RTIFJv.b3QgUjIwHhcNMTYwNjIyMDA
1d3860 77 4d 44 41 77 57 68 63 4e 4d 7a 59 77 4e 6a 49 79 4d 44 41 77 4d 44 41 77 57 6a 42 48 4d 51 73 wMDAwWhcNMzYwNjIyMDAwMDAwWjBHMQs
1d3880 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 69 4d 43 41 47 0a 41 31 55 45 43 68 4d 5a 52 32 wCQYDVQQGEwJVUzEiMCAG.A1UEChMZR2
1d38a0 39 76 5a 32 78 6c 49 46 52 79 64 58 4e 30 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 78 4d 51 7a 9vZ2xlIFRydXN0IFNlcnZpY2VzIExMQz
1d38c0 45 55 4d 42 49 47 41 31 55 45 41 78 4d 4c 52 31 52 54 49 46 4a 76 62 33 51 67 55 6a 49 77 67 67 EUMBIGA1UEAxMLR1RTIFJvb3QgUjIwgg
1d38e0 49 69 0a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 44 77 41 77 67 Ii.MA0GCSqGSIb3DQEBAQUAA4ICDwAwg
1d3900 67 49 4b 41 6f 49 43 41 51 44 4f 33 76 32 6d 2b 2b 7a 73 46 44 51 38 42 77 5a 61 62 46 6e 33 47 gIKAoICAQDO3v2m++zsFDQ8BwZabFn3G
1d3920 54 58 64 39 38 47 64 56 61 72 54 7a 54 75 6b 0a 6b 33 4c 76 43 76 70 74 6e 66 62 77 68 59 42 62 TXd98GdVarTzTuk.k3LvCvptnfbwhYBb
1d3940 6f 55 68 53 6e 7a 6e 46 74 2b 34 6f 72 4f 2f 4c 64 6d 67 55 75 64 2b 74 41 57 79 5a 48 38 51 69 oUhSnznFt+4orO/LdmgUud+tAWyZH8Qi
1d3960 48 5a 2f 2b 63 6e 66 67 4c 46 75 76 35 41 53 2f 54 33 4b 67 47 6a 53 59 36 44 6c 6f 0a 37 4a 55 HZ/+cnfgLFuv5AS/T3KgGjSY6Dlo.7JU
1d3980 6c 65 33 61 68 35 6d 6d 35 68 52 6d 39 69 59 7a 2b 72 65 30 32 36 6e 4f 38 2f 34 50 69 79 33 33 le3ah5mm5hRm9iYz+re026nO8/4Piy33
1d39a0 42 30 73 35 4b 73 34 30 46 6e 6f 74 4a 6b 39 2f 42 57 39 42 75 58 76 41 75 4d 43 36 43 2f 50 71 B0s5Ks40FnotJk9/BW9BuXvAuMC6C/Pq
1d39c0 38 74 42 63 4b 53 4f 57 49 0a 6d 38 57 62 61 39 36 77 79 72 51 44 38 4e 72 30 6b 4c 68 6c 5a 50 8tBcKSOWI.m8Wba96wyrQD8Nr0kLhlZP
1d39e0 64 63 54 4b 33 6f 66 6d 5a 65 6d 64 65 34 77 6a 37 49 30 42 4f 64 72 65 37 6b 52 58 75 4a 56 66 dcTK3ofmZemde4wj7I0BOdre7kRXuJVf
1d3a00 65 4b 48 32 4a 53 68 42 4b 7a 77 6b 43 58 34 34 6f 66 52 35 47 6d 0a 64 46 72 53 2b 4c 46 6a 4b eKH2JShBKzwkCX44ofR5Gm.dFrS+LFjK
1d3a20 42 43 34 73 77 6d 34 56 6e 64 41 6f 69 61 59 65 63 62 2b 33 79 58 75 50 75 57 67 66 39 52 68 44 BC4swm4VndAoiaYecb+3yXuPuWgf9RhD
1d3a40 31 46 4c 50 44 2b 4d 32 75 46 77 64 4e 6a 43 61 4b 48 35 77 51 7a 70 6f 65 4a 2f 75 31 55 38 64 1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8d
1d3a60 67 62 75 0a 61 6b 37 4d 6b 6f 67 77 54 5a 71 39 54 77 74 49 6d 6f 53 31 6d 4b 50 56 2b 33 50 42 gbu.ak7MkogwTZq9TwtImoS1mKPV+3PB
1d3a80 56 32 48 64 4b 46 5a 31 45 36 36 48 6a 75 63 4d 55 51 6b 51 64 59 68 4d 76 49 33 35 65 7a 7a 55 V2HdKFZ1E66HjucMUQkQdYhMvI35ezzU
1d3aa0 49 6b 67 66 4b 74 7a 72 61 37 74 45 73 63 73 7a 0a 63 54 4a 47 72 36 31 4b 38 59 7a 6f 64 44 71 IkgfKtzra7tEscsz.cTJGr61K8YzodDq
1d3ac0 73 35 78 6f 69 63 34 44 53 4d 50 63 6c 51 73 63 69 4f 7a 73 53 72 5a 59 75 78 73 4e 32 42 36 6f s5xoic4DSMPclQsciOzsSrZYuxsN2B6o
1d3ae0 67 74 7a 56 4a 56 2b 6d 53 53 65 68 32 46 6e 49 78 5a 79 75 57 66 6f 71 6a 78 35 52 57 0a 49 72 gtzVJV+mSSeh2FnIxZyuWfoqjx5RW.Ir
1d3b00 39 71 53 33 34 42 49 62 49 6a 4d 74 2f 6b 6d 6b 52 74 57 56 74 64 39 51 43 67 48 4a 76 47 65 4a 9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJ
1d3b20 65 4e 6b 50 2b 62 79 4b 71 30 72 78 46 52 4f 56 37 5a 2b 32 65 74 31 56 73 52 6e 54 4b 61 47 37 eNkP+byKq0rxFROV7Z+2et1VsRnTKaG7
1d3b40 33 56 75 6c 75 6c 79 63 73 6c 0a 61 56 4e 56 4a 31 7a 67 79 6a 62 4c 69 47 48 37 48 72 66 51 79 3Vululycsl.aVNVJ1zgyjbLiGH7HrfQy
1d3b60 2b 34 57 2b 39 4f 6d 54 4e 36 53 70 64 54 69 33 2f 55 47 56 4e 34 75 6e 55 75 30 6b 7a 43 71 67 +4W+9OmTN6SpdTi3/UGVN4unUu0kzCqg
1d3b80 63 37 64 47 74 78 52 63 77 31 50 63 4f 6e 6c 74 68 59 68 47 58 6d 79 0a 35 6f 6b 4c 64 57 54 4b c7dGtxRcw1PcOnlthYhGXmy.5okLdWTK
1d3ba0 31 61 75 38 43 63 45 59 6f 66 2f 55 56 4b 47 46 50 50 30 55 4a 41 4f 79 68 39 4f 6b 74 77 49 44 1au8CcEYof/UVKGFPP0UJAOyh9OktwID
1d3bc0 41 51 41 42 6f 30 49 77 51 44 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 AQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYw
1d3be0 44 77 59 44 0a 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 64 42 67 4e 56 48 51 34 DwYD.VR0TAQH/BAUwAwEB/zAdBgNVHQ4
1d3c00 45 46 67 51 55 75 2f 2f 4b 6a 69 4f 66 54 35 6e 4b 32 2b 4a 6f 70 71 55 56 4a 78 63 65 32 51 34 EFgQUu//KjiOfT5nK2+JopqUVJxce2Q4
1d3c20 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4d 0a 42 51 41 44 67 67 49 42 41 4c 5a 70 38 4b wDQYJKoZIhvcNAQEM.BQADggIBALZp8K
1d3c40 5a 33 2f 70 37 75 43 34 47 74 34 63 43 70 78 2f 6b 31 48 55 43 43 71 2b 59 45 74 4e 2f 4c 39 78 Z3/p7uC4Gt4cCpx/k1HUCCq+YEtN/L9x
1d3c60 30 50 67 2f 42 2b 45 30 32 4e 6a 4f 37 6a 4d 79 4c 44 4f 66 78 41 33 32 35 42 53 30 4a 54 0a 76 0Pg/B+E02NjO7jMyLDOfxA325BS0JT.v
1d3c80 68 61 49 38 64 49 34 58 73 52 6f 6d 52 79 59 55 70 4f 4d 35 32 6a 74 47 32 70 7a 65 67 56 41 54 haI8dI4XsRomRyYUpOM52jtG2pzegVAT
1d3ca0 58 39 6c 4f 39 5a 59 38 63 36 44 52 32 44 6a 2f 35 65 70 6e 47 42 33 47 46 57 31 66 67 69 54 7a X9lO9ZY8c6DR2Dj/5epnGB3GFW1fgiTz
1d3cc0 39 44 32 50 47 63 44 46 57 45 4a 0a 2b 59 46 35 39 65 78 54 70 4a 2f 4a 6a 77 47 4c 63 38 52 33 9D2PGcDFWEJ.+YF59exTpJ/JjwGLc8R3
1d3ce0 64 74 79 44 6f 76 55 4d 53 52 71 6f 64 74 36 53 6d 32 54 34 73 79 7a 46 4a 39 4d 48 77 41 69 41 dtyDovUMSRqodt6Sm2T4syzFJ9MHwAiA
1d3d00 70 4a 69 53 34 77 47 57 41 71 6f 43 37 6f 38 37 78 64 46 74 43 6a 4d 77 0a 63 33 69 35 54 31 51 pJiS4wGWAqoC7o87xdFtCjMw.c3i5T1Q
1d3d20 57 76 77 73 48 6f 61 52 63 35 73 76 4a 58 49 53 50 44 2b 41 56 64 79 78 2b 4a 6e 37 61 78 45 76 WvwsHoaRc5svJXISPD+AVdyx+Jn7axEv
1d3d40 62 70 78 5a 33 42 37 44 4e 64 65 68 79 51 74 61 56 68 4a 32 47 67 2f 4c 6b 6b 4d 30 4a 52 39 53 bpxZ3B7DNdehyQtaVhJ2Gg/LkkM0JR9S
1d3d60 4c 41 33 44 61 0a 57 73 59 44 51 76 54 74 4e 36 4c 77 47 31 42 55 53 77 37 59 68 4e 34 5a 4b 4a LA3Da.WsYDQvTtN6LwG1BUSw7YhN4ZKJ
1d3d80 6d 42 52 36 34 4a 47 7a 39 49 30 63 4e 76 34 72 42 67 46 2f 58 75 49 77 4b 6c 32 67 42 62 62 5a mBR64JGz9I0cNv4rBgF/XuIwKl2gBbbZ
1d3da0 43 72 37 71 4c 70 47 7a 76 70 78 30 51 6e 52 59 35 72 0a 6e 2f 57 6b 68 4c 78 33 2b 57 75 58 72 Cr7qLpGzvpx0QnRY5r.n/WkhLx3+WuXr
1d3dc0 44 35 52 52 61 49 52 70 73 79 46 37 67 70 6f 38 6a 35 51 4f 48 6f 6b 59 68 34 58 49 44 64 74 61 D5RRaIRpsyF7gpo8j5QOHokYh4XIDdta
1d3de0 6b 32 33 43 5a 76 4a 2f 4b 52 59 39 62 62 37 6e 45 34 59 75 35 55 43 35 36 47 74 6d 77 66 75 0a k23CZvJ/KRY9bb7nE4Yu5UC56Gtmwfu.
1d3e00 4e 6d 73 6b 30 6a 6d 47 77 5a 4f 44 55 4e 4b 42 52 71 68 66 59 6c 63 73 75 32 78 6b 69 41 68 75 Nmsk0jmGwZODUNKBRqhfYlcsu2xkiAhu
1d3e20 37 78 4e 55 58 39 30 74 78 47 64 6a 30 38 2b 4a 4e 37 2b 64 49 50 54 37 65 6f 4f 62 6f 42 36 42 7xNUX90txGdj08+JN7+dIPT7eoOboB6B
1d3e40 41 46 44 43 35 41 77 69 57 56 49 51 0a 37 55 4e 57 68 77 44 34 46 46 4b 6e 48 59 75 54 6a 4b 4a AFDC5AwiWVIQ.7UNWhwD4FFKnHYuTjKJ
1d3e60 4e 52 6e 38 6e 78 6e 47 62 4a 4e 37 6b 32 6f 61 4c 44 58 35 72 49 4d 48 41 6e 75 46 6c 32 47 71 NRn8nxnGbJN7k2oaLDX5rIMHAnuFl2Gq
1d3e80 6a 70 75 69 46 69 7a 6f 48 43 42 79 36 39 59 39 56 6d 68 68 31 66 75 58 73 0a 67 57 62 52 49 58 jpuiFizoHCBy69Y9Vmhh1fuXs.gWbRIX
1d3ea0 4f 68 4e 55 51 4c 67 44 31 62 6e 46 35 76 4b 68 65 57 30 59 4d 6a 69 47 5a 74 35 6f 62 69 63 44 OhNUQLgD1bnF5vKheW0YMjiGZt5obicD
1d3ec0 49 76 55 69 4c 6e 79 4f 64 2f 78 43 78 67 58 53 2f 44 72 35 35 46 42 63 4f 45 41 72 66 39 4c 41 IvUiLnyOd/xCxgXS/Dr55FBcOEArf9LA
1d3ee0 68 53 54 34 4c 64 0a 6f 2f 44 55 68 67 6b 43 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 hST4Ld.o/DUhgkC.-----END.CERTIFI
1d3f00 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 47 54 53 20 52 6f 6f 74 20 52 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d CATE-----..GTS.Root.R3.=========
1d3f20 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1d3f40 49 49 43 44 44 43 43 41 5a 47 67 41 77 49 42 41 67 49 51 62 6b 65 70 78 32 79 70 63 79 52 41 69 IICDDCCAZGgAwIBAgIQbkepx2ypcyRAi
1d3f60 51 38 44 56 64 32 4e 48 54 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 42 48 4d 51 73 77 43 Q8DVd2NHTAKBggqhkjOPQQDAzBHMQswC
1d3f80 51 59 44 56 51 51 47 45 77 4a 56 0a 55 7a 45 69 4d 43 41 47 41 31 55 45 43 68 4d 5a 52 32 39 76 QYDVQQGEwJV.UzEiMCAGA1UEChMZR29v
1d3fa0 5a 32 78 6c 49 46 52 79 64 58 4e 30 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 78 4d 51 7a 45 55 Z2xlIFRydXN0IFNlcnZpY2VzIExMQzEU
1d3fc0 4d 42 49 47 41 31 55 45 41 78 4d 4c 52 31 52 54 49 46 4a 76 62 33 51 67 0a 55 6a 4d 77 48 68 63 MBIGA1UEAxMLR1RTIFJvb3Qg.UjMwHhc
1d3fe0 4e 4d 54 59 77 4e 6a 49 79 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 59 77 4e 6a 49 79 4d 44 41 NMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDA
1d4000 77 4d 44 41 77 57 6a 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 69 4d 43 41 wMDAwWjBHMQswCQYDVQQGEwJVUzEiMCA
1d4020 47 41 31 55 45 0a 43 68 4d 5a 52 32 39 76 5a 32 78 6c 49 46 52 79 64 58 4e 30 49 46 4e 6c 63 6e GA1UE.ChMZR29vZ2xlIFRydXN0IFNlcn
1d4040 5a 70 59 32 56 7a 49 45 78 4d 51 7a 45 55 4d 42 49 47 41 31 55 45 41 78 4d 4c 52 31 52 54 49 46 ZpY2VzIExMQzEUMBIGA1UEAxMLR1RTIF
1d4060 4a 76 62 33 51 67 55 6a 4d 77 64 6a 41 51 42 67 63 71 0a 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 Jvb3QgUjMwdjAQBgcq.hkjOPQIBBgUrg
1d4080 51 51 41 49 67 4e 69 41 41 51 66 54 7a 4f 48 4d 79 6d 4b 6f 59 54 65 79 38 63 68 57 45 47 4a 36 QQAIgNiAAQfTzOHMymKoYTey8chWEGJ6
1d40a0 6c 61 64 4b 30 75 46 78 68 31 4d 4a 37 78 2f 4a 6c 46 79 62 2b 4b 66 31 71 50 4b 7a 45 55 55 0a ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUU.
1d40c0 52 6f 75 74 37 33 36 47 6a 4f 79 78 66 69 2f 2f 71 58 47 64 47 49 52 46 42 45 46 56 62 69 76 71 Rout736GjOyxfi//qXGdGIRFBEFVbivq
1d40e0 4a 6e 2b 37 6b 41 48 6a 53 78 6d 36 35 46 53 57 52 51 6d 78 31 57 79 52 52 4b 32 45 45 34 36 61 Jn+7kAHjSxm65FSWRQmx1WyRRK2EE46a
1d4100 6a 41 32 41 44 44 4c 32 34 43 65 6a 0a 51 6a 42 41 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 jA2ADDL24Cej.QjBAMA4GA1UdDwEB/wQ
1d4120 45 41 77 49 42 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 EAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0
1d4140 47 41 31 55 64 44 67 51 57 42 42 54 42 38 53 61 36 6f 43 32 75 68 59 48 50 0a 30 2f 45 71 45 72 GA1UdDgQWBBTB8Sa6oC2uhYHP.0/EqEr
1d4160 32 34 43 6d 66 39 76 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 77 4e 70 41 44 42 6d 41 6a 24Cmf9vDAKBggqhkjOPQQDAwNpADBmAj
1d4180 45 41 67 46 75 6b 66 43 50 41 6c 61 55 73 33 4c 36 4a 62 79 4f 35 6f 39 31 6c 41 46 4a 65 6b 61 EAgFukfCPAlaUs3L6JbyO5o91lAFJeka
1d41a0 7a 49 6e 58 4a 30 0a 67 6c 4d 4c 66 61 6c 41 76 57 68 67 78 65 47 34 56 44 76 42 4e 68 63 6c 32 zInXJ0.glMLfalAvWhgxeG4VDvBNhcl2
1d41c0 4d 47 39 41 6a 45 41 6e 6a 57 53 64 49 55 6c 55 66 55 6b 37 47 52 53 4a 46 43 6c 48 39 76 6f 79 MG9AjEAnjWSdIUlUfUk7GRSJFClH9voy
1d41e0 38 6c 32 37 4f 79 43 62 76 57 46 47 46 50 6f 75 4f 4f 61 0a 4b 61 71 57 30 34 4d 6a 79 61 52 37 8l27OyCbvWFGFPouOOa.KaqW04MjyaR7
1d4200 59 62 50 4d 41 75 68 64 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d YbPMAuhd.-----END.CERTIFICATE---
1d4220 2d 2d 0a 0a 47 54 53 20 52 6f 6f 74 20 52 34 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d --..GTS.Root.R4.===========.----
1d4240 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 43 6a 43 43 -BEGIN.CERTIFICATE-----.MIICCjCC
1d4260 41 5a 47 67 41 77 49 42 41 67 49 51 62 6b 65 70 79 49 75 55 74 75 69 37 4f 79 72 59 6f 72 4c 42 AZGgAwIBAgIQbkepyIuUtui7OyrYorLB
1d4280 6d 54 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 mTAKBggqhkjOPQQDAzBHMQswCQYDVQQG
1d42a0 45 77 4a 56 0a 55 7a 45 69 4d 43 41 47 41 31 55 45 43 68 4d 5a 52 32 39 76 5a 32 78 6c 49 46 52 EwJV.UzEiMCAGA1UEChMZR29vZ2xlIFR
1d42c0 79 64 58 4e 30 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 45 78 4d 51 7a 45 55 4d 42 49 47 41 31 55 ydXN0IFNlcnZpY2VzIExMQzEUMBIGA1U
1d42e0 45 41 78 4d 4c 52 31 52 54 49 46 4a 76 62 33 51 67 0a 55 6a 51 77 48 68 63 4e 4d 54 59 77 4e 6a EAxMLR1RTIFJvb3Qg.UjQwHhcNMTYwNj
1d4300 49 79 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 59 77 4e 6a 49 79 4d 44 41 77 4d 44 41 77 57 6a IyMDAwMDAwWhcNMzYwNjIyMDAwMDAwWj
1d4320 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 69 4d 43 41 47 41 31 55 45 0a 43 BHMQswCQYDVQQGEwJVUzEiMCAGA1UE.C
1d4340 68 4d 5a 52 32 39 76 5a 32 78 6c 49 46 52 79 64 58 4e 30 49 46 4e 6c 63 6e 5a 70 59 32 56 7a 49 hMZR29vZ2xlIFRydXN0IFNlcnZpY2VzI
1d4360 45 78 4d 51 7a 45 55 4d 42 49 47 41 31 55 45 41 78 4d 4c 52 31 52 54 49 46 4a 76 62 33 51 67 55 ExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgU
1d4380 6a 51 77 64 6a 41 51 42 67 63 71 0a 68 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 67 4e 69 jQwdjAQBgcq.hkjOPQIBBgUrgQQAIgNi
1d43a0 41 41 54 7a 64 48 4f 6e 61 49 74 67 72 6b 4f 34 4e 63 57 42 4d 48 74 4c 53 5a 33 37 77 57 48 4f AATzdHOnaItgrkO4NcWBMHtLSZ37wWHO
1d43c0 35 74 35 47 76 57 76 56 59 52 67 31 72 6b 44 64 63 2f 65 4a 6b 54 42 61 0a 36 7a 7a 75 68 58 79 5t5GvWvVYRg1rkDdc/eJkTBa.6zzuhXy
1d43e0 69 51 48 59 37 71 63 61 34 52 39 67 71 35 35 4b 52 61 6e 50 70 73 58 49 35 6e 79 6d 66 6f 70 6a iQHY7qca4R9gq55KRanPpsXI5nymfopj
1d4400 54 58 31 35 59 68 6d 55 50 6f 59 52 6c 42 74 48 63 69 38 6e 48 63 38 69 4d 61 69 2f 6c 78 4b 76 TX15YhmUPoYRlBtHci8nHc8iMai/lxKv
1d4420 52 48 59 71 6a 0a 51 6a 42 41 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 6a RHYqj.QjBAMA4GA1UdDwEB/wQEAwIBBj
1d4440 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 42 30 47 41 31 55 64 44 67 APBgNVHRMBAf8EBTADAQH/MB0GA1UdDg
1d4460 51 57 42 42 53 41 54 4e 62 72 64 50 39 4a 4e 71 50 56 0a 32 50 79 31 50 73 56 71 38 4a 51 64 6a QWBBSATNbrdP9JNqPV.2Py1PsVq8JQdj
1d4480 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 77 4e 6e 41 44 42 6b 41 6a 42 71 55 46 4a 30 43 DAKBggqhkjOPQQDAwNnADBkAjBqUFJ0C
1d44a0 4d 52 77 33 4a 35 51 64 43 48 6f 6a 58 6f 68 77 30 2b 57 62 68 58 52 49 6a 56 68 4c 66 6f 49 0a MRw3J5QdCHojXohw0+WbhXRIjVhLfoI.
1d44c0 4e 2b 34 5a 62 61 33 62 73 73 78 39 42 7a 54 31 59 42 6b 73 74 54 54 5a 62 79 41 43 4d 41 4e 78 N+4Zba3bssx9BzT1YBkstTTZbyACMANx
1d44e0 73 62 71 6a 59 41 75 47 37 5a 6f 49 61 70 56 6f 6e 2b 4b 7a 34 5a 4e 6b 66 46 36 54 70 74 39 35 sbqjYAuG7ZoIapVon+Kz4ZNkfF6Tpt95
1d4500 4c 59 32 46 34 35 54 50 49 31 31 78 0a 7a 50 4b 77 54 64 62 2b 6d 63 69 55 71 58 57 69 34 77 3d LY2F45TPI11x.zPKwTdb+mciUqXWi4w=
1d4520 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 55 43 41 =.-----END.CERTIFICATE-----..UCA
1d4540 20 47 6c 6f 62 61 6c 20 47 32 20 52 6f 6f 74 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .Global.G2.Root.================
1d4560 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d ==.-----BEGIN.CERTIFICATE-----.M
1d4580 49 49 46 52 6a 43 43 41 79 36 67 41 77 49 42 41 67 49 51 58 64 2b 78 32 6c 71 6a 37 56 32 2b 57 IIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+W
1d45a0 6d 55 67 5a 51 4f 51 37 7a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 41 39 4d mUgZQOQ7zANBgkqhkiG9w0BAQsFADA9M
1d45c0 51 73 77 43 51 59 44 56 51 51 47 0a 45 77 4a 44 54 6a 45 52 4d 41 38 47 41 31 55 45 43 67 77 49 QswCQYDVQQG.EwJDTjERMA8GA1UECgwI
1d45e0 56 57 35 70 56 48 4a 31 63 33 51 78 47 7a 41 5a 42 67 4e 56 42 41 4d 4d 45 6c 56 44 51 53 42 48 VW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH
1d4600 62 47 39 69 59 57 77 67 52 7a 49 67 55 6d 39 76 64 44 41 65 46 77 30 78 0a 4e 6a 41 7a 4d 54 45 bG9iYWwgRzIgUm9vdDAeFw0x.NjAzMTE
1d4620 77 4d 44 41 77 4d 44 42 61 46 77 30 30 4d 44 45 79 4d 7a 45 77 4d 44 41 77 4d 44 42 61 4d 44 30 wMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0
1d4640 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 4e 4f 4d 52 45 77 44 77 59 44 56 51 51 4b 44 41 68 xCzAJBgNVBAYTAkNOMREwDwYDVQQKDAh
1d4660 56 62 6d 6c 55 0a 63 6e 56 7a 64 44 45 62 4d 42 6b 47 41 31 55 45 41 77 77 53 56 55 4e 42 49 45 VbmlU.cnVzdDEbMBkGA1UEAwwSVUNBIE
1d4680 64 73 62 32 4a 68 62 43 42 48 4d 69 42 53 62 32 39 30 4d 49 49 43 49 6a 41 4e 42 67 6b 71 68 6b dsb2JhbCBHMiBSb290MIICIjANBgkqhk
1d46a0 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 41 67 38 41 0a 4d 49 49 43 43 67 4b 43 41 67 45 41 78 iG9w0BAQEFAAOCAg8A.MIICCgKCAgEAx
1d46c0 65 59 72 62 33 7a 76 4a 67 55 6e 6f 34 45 6b 32 6d 2f 4c 41 66 6d 5a 6d 71 6b 79 77 69 4b 48 59 eYrb3zvJgUno4Ek2m/LAfmZmqkywiKHY
1d46e0 55 47 52 4f 38 76 44 61 42 73 47 78 55 79 70 4b 38 46 6e 46 79 49 64 4b 2b 33 35 4b 59 6d 54 0a UGRO8vDaBsGxUypK8FnFyIdK+35KYmT.
1d4700 6f 6e 69 39 6b 6d 75 67 6f 77 32 69 66 73 71 54 73 36 62 52 6a 44 58 56 64 66 6b 58 39 73 39 46 oni9kmugow2ifsqTs6bRjDXVdfkX9s9F
1d4720 78 65 56 36 37 48 65 54 6f 49 38 6a 72 67 34 61 41 33 2b 2b 31 4e 44 74 4c 6e 75 72 52 69 4e 62 xeV67HeToI8jrg4aA3++1NDtLnurRiNb
1d4740 2f 79 7a 6d 56 48 71 55 77 43 6f 56 0a 38 4d 6d 4e 73 48 6f 37 4a 4f 48 58 61 4f 49 78 50 41 59 /yzmVHqUwCoV.8MmNsHo7JOHXaOIxPAY
1d4760 7a 52 72 5a 55 45 61 61 6c 4c 79 4a 55 4b 6c 67 4e 41 51 4c 78 2b 68 56 52 5a 32 7a 41 2b 74 65 zRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te
1d4780 32 47 33 2f 52 56 6f 67 76 47 6a 71 4e 4f 37 75 43 45 65 42 48 41 4e 42 53 0a 68 36 76 37 68 6e 2G3/RVogvGjqNO7uCEeBHANBS.h6v7hn
1d47a0 34 50 4a 47 74 41 6e 54 52 6e 76 49 33 48 4c 59 5a 76 65 54 36 4f 71 54 77 58 53 33 2b 77 6d 65 4PJGtAnTRnvI3HLYZveT6OqTwXS3+wme
1d47c0 4f 77 63 57 44 63 43 2f 56 6b 77 38 35 44 76 47 31 78 75 64 4c 65 4a 31 75 4b 36 4e 6a 47 72 75 OwcWDcC/Vkw85DvG1xudLeJ1uK6NjGru
1d47e0 46 5a 66 63 38 6f 0a 4c 54 57 34 6c 56 59 61 38 62 4a 59 53 37 63 53 4e 38 68 38 73 2b 31 4c 67 FZfc8o.LTW4lVYa8bJYS7cSN8h8s+1Lg
1d4800 4f 47 4e 2b 6a 49 6a 74 6d 2b 33 53 4a 55 49 73 55 52 4f 68 59 77 36 41 6c 51 67 4c 39 2b 2f 56 OGN+jIjtm+3SJUIsUROhYw6AlQgL9+/V
1d4820 30 38 37 4f 70 41 68 31 38 45 6d 4e 56 51 67 37 4d 63 2f 0a 52 2b 7a 76 57 72 39 4c 65 73 47 74 087OpAh18EmNVQg7Mc/.R+zvWr9LesGt
1d4840 4f 78 64 51 58 47 4c 59 44 30 74 4b 33 43 76 36 62 72 78 7a 6b 73 33 73 78 31 44 6f 51 5a 62 58 OxdQXGLYD0tK3Cv6brxzks3sx1DoQZbX
1d4860 71 58 35 74 32 4f 6b 64 6a 34 71 31 75 56 69 53 75 6b 71 53 4b 77 78 57 2f 59 44 72 43 50 42 65 qX5t2Okdj4q1uViSukqSKwxW/YDrCPBe
1d4880 0a 4b 57 34 62 48 41 79 76 6a 35 4f 4a 72 64 75 39 6f 35 34 68 79 6f 6b 5a 37 4e 2b 31 77 78 72 .KW4bHAyvj5OJrdu9o54hyokZ7N+1wxr
1d48a0 72 46 76 35 34 4e 6b 7a 57 62 74 41 2b 46 78 79 51 46 32 73 6d 75 76 74 36 4c 37 38 52 48 42 67 rFv54NkzWbtA+FxyQF2smuvt6L78RHBg
1d48c0 4f 4c 58 4d 44 6a 36 44 6c 4e 61 42 61 0a 34 6b 78 31 48 58 48 68 4f 54 68 54 65 45 44 4d 67 35 OLXMDj6DlNaBa.4kx1HXHhOThTeEDMg5
1d48e0 50 58 43 70 36 64 57 34 2b 4b 35 4f 58 67 53 4f 52 49 73 6b 66 4e 54 69 70 31 4b 6e 76 79 49 76 PXCp6dW4+K5OXgSORIskfNTip1KnvyIv
1d4900 62 4a 76 67 6d 52 6c 6c 64 36 69 49 69 73 37 6e 43 73 2b 64 77 70 34 77 77 63 0a 4f 78 4a 4f 52 bJvgmRlld6iIis7nCs+dwp4wwc.OxJOR
1d4920 4e 61 6e 54 72 41 6d 79 50 50 5a 47 70 65 52 61 4f 72 76 6a 55 59 47 30 6c 5a 46 57 4a 6f 38 44 NanTrAmyPPZGpeRaOrvjUYG0lZFWJo8D
1d4940 41 2b 44 75 41 55 6c 77 7a 6e 50 4f 36 51 30 69 62 64 35 45 69 39 48 78 65 65 70 6c 32 6e 38 70 A+DuAUlwznPO6Q0ibd5Ei9Hxeepl2n8p
1d4960 6e 64 6e 74 64 39 37 0a 38 58 70 6c 46 65 52 68 56 6d 55 43 41 77 45 41 41 61 4e 43 4d 45 41 77 ndntd97.8XplFeRhVmUCAwEAAaNCMEAw
1d4980 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 45 42 DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB
1d49a0 2f 77 51 46 4d 41 4d 42 41 66 38 77 48 51 59 44 56 52 30 4f 0a 42 42 59 45 46 49 48 45 6a 4d 7a /wQFMAMBAf8wHQYDVR0O.BBYEFIHEjMz
1d49c0 31 35 44 44 2f 70 51 77 49 58 34 77 56 5a 79 46 30 41 64 2f 66 4d 41 30 47 43 53 71 47 53 49 62 15DD/pQwIX4wVZyF0Ad/fMA0GCSqGSIb
1d49e0 33 44 51 45 42 43 77 55 41 41 34 49 43 41 51 41 54 5a 53 4c 31 6a 69 75 74 52 4f 54 4c 2f 37 6c 3DQEBCwUAA4ICAQATZSL1jiutROTL/7l
1d4a00 6f 0a 35 73 4f 41 53 44 30 45 65 2f 6f 6a 4c 33 72 74 4e 74 71 79 7a 6d 33 32 35 70 37 6c 58 31 o.5sOASD0Ee/ojL3rtNtqyzm325p7lX1
1d4a20 69 50 79 7a 63 79 6f 63 68 6c 74 71 34 34 50 54 55 62 50 72 77 37 74 67 54 51 76 50 6c 4a 39 5a iPyzcyochltq44PTUbPrw7tgTQvPlJ9Z
1d4a40 76 33 68 63 55 32 74 73 75 38 2b 4d 67 35 0a 31 65 52 66 42 37 30 56 56 4a 64 30 79 73 72 74 54 v3hcU2tsu8+Mg5.1eRfB70VVJd0ysrtT
1d4a60 37 71 36 5a 48 61 66 67 62 69 45 52 55 6c 4d 6a 57 2b 69 36 37 48 4d 30 63 4f 55 32 6b 54 43 35 7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5
1d4a80 75 4c 71 47 4f 69 69 48 79 63 46 75 74 66 6c 31 71 6e 4e 33 65 39 32 6d 49 30 41 0a 44 73 30 62 uLqGOiiHycFutfl1qnN3e92mI0A.Ds0b
1d4aa0 2b 67 4f 33 6a 6f 42 59 44 69 63 2f 55 76 75 55 6f 73 70 65 5a 63 6e 57 68 4e 71 35 4e 58 48 7a +gO3joBYDic/UvuUospeZcnWhNq5NXHz
1d4ac0 4a 73 42 50 64 2b 61 42 4a 39 4a 33 4f 35 6f 55 62 33 6e 30 39 74 44 68 30 35 53 36 30 46 64 52 JsBPd+aBJ9J3O5oUb3n09tDh05S60FdR
1d4ae0 76 53 63 46 44 63 48 39 0a 79 42 49 77 37 6d 2b 4e 45 53 73 49 6e 64 54 55 76 34 42 46 46 4a 71 vScFDcH9.yBIw7m+NESsIndTUv4BFFJq
1d4b00 49 52 4e 6f 77 36 72 53 6e 34 2b 37 76 57 34 4c 56 50 74 61 74 65 4a 4c 62 58 44 7a 7a 32 4b 33 IRNow6rSn4+7vW4LVPtateJLbXDzz2K3
1d4b20 36 75 47 74 2f 78 44 59 6f 74 67 49 56 69 6c 51 73 6e 4c 41 58 0a 63 34 37 51 4e 36 4d 55 50 4a 6uGt/xDYotgIVilQsnLAX.c47QN6MUPJ
1d4b40 69 56 41 41 77 70 42 56 75 65 53 55 6d 78 58 38 66 6a 79 38 38 6e 5a 59 34 31 46 37 64 58 79 44 iVAAwpBVueSUmxX8fjy88nZY41F7dXyD
1d4b60 44 5a 51 56 75 35 46 4c 62 6f 77 67 2b 55 4d 61 65 55 6d 4d 78 71 36 37 58 68 4a 2f 55 51 71 41 DZQVu5FLbowg+UMaeUmMxq67XhJ/UQqA
1d4b80 48 6f 0a 6a 68 4a 69 36 49 6a 4d 74 58 39 47 6c 38 43 62 45 47 59 34 47 6a 5a 47 58 79 4a 6f 50 Ho.jhJi6IjMtX9Gl8CbEGY4GjZGXyJoP
1d4ba0 64 2f 4a 78 68 4d 6e 71 31 4d 47 72 4b 49 38 68 67 5a 6c 62 37 46 2b 73 53 6c 45 6d 71 4f 36 53 d/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6S
1d4bc0 57 6b 6f 61 59 2f 58 35 56 2b 74 42 49 5a 6b 0a 62 78 71 67 44 4d 55 49 59 73 36 41 6f 39 44 7a WkoaY/X5V+tBIZk.bxqgDMUIYs6Ao9Dz
1d4be0 37 47 6a 65 76 6a 50 48 46 31 74 2f 67 4d 52 4d 54 4c 47 6d 68 49 72 44 4f 37 67 4a 7a 52 53 42 7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSB
1d4c00 75 68 6a 6a 56 46 63 32 2f 74 73 76 66 45 65 68 4f 6a 50 49 2b 56 67 37 52 45 2b 78 0a 79 67 4b uhjjVFc2/tsvfEehOjPI+Vg7RE+x.ygK
1d4c20 4a 42 4a 59 6f 61 4d 56 4c 75 43 61 4a 75 39 59 7a 4c 31 44 56 2f 70 71 4a 75 68 67 79 6b 6c 54 JBJYoaMVLuCaJu9YzL1DV/pqJuhgyklT
1d4c40 47 57 2b 43 64 2b 56 37 6c 44 53 4b 62 39 74 72 69 79 43 47 79 59 69 47 71 68 6b 43 79 4c 6d 54 GW+Cd+V7lDSKb9triyCGyYiGqhkCyLmT
1d4c60 54 58 38 6a 6a 66 68 46 6e 0a 52 52 38 46 2f 75 4f 69 37 37 4f 6f 73 2f 4e 39 6a 2f 67 4d 48 79 TX8jjfhFn.RR8F/uOi77Oos/N9j/gMHy
1d4c80 49 66 4c 58 43 30 75 41 45 30 64 6a 41 41 35 53 4e 34 70 31 62 58 55 42 2b 4b 2b 77 62 31 77 68 IfLXC0uAE0djAA5SN4p1bXUB+K+wb1wh
1d4ca0 6e 77 30 41 3d 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d nw0A==.-----END.CERTIFICATE-----
1d4cc0 0a 0a 55 43 41 20 45 78 74 65 6e 64 65 64 20 56 61 6c 69 64 61 74 69 6f 6e 20 52 6f 6f 74 0a 3d ..UCA.Extended.Validation.Root.=
1d4ce0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d ===========================.----
1d4d00 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 57 6a 43 43 -BEGIN.CERTIFICATE-----.MIIFWjCC
1d4d20 41 30 4b 67 41 77 49 42 41 67 49 51 54 39 49 72 6a 2f 56 6b 79 44 4f 65 54 7a 52 59 5a 69 4e 77 A0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNw
1d4d40 59 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 44 42 48 4d 51 73 77 43 51 59 44 YDANBgkqhkiG9w0BAQsFADBHMQswCQYD
1d4d60 56 51 51 47 0a 45 77 4a 44 54 6a 45 52 4d 41 38 47 41 31 55 45 43 67 77 49 56 57 35 70 56 48 4a VQQG.EwJDTjERMA8GA1UECgwIVW5pVHJ
1d4d80 31 63 33 51 78 4a 54 41 6a 42 67 4e 56 42 41 4d 4d 48 46 56 44 51 53 42 46 65 48 52 6c 62 6d 52 1c3QxJTAjBgNVBAMMHFVDQSBFeHRlbmR
1d4da0 6c 5a 43 42 57 59 57 78 70 5a 47 46 30 61 57 39 75 0a 49 46 4a 76 62 33 51 77 48 68 63 4e 4d 54 lZCBWYWxpZGF0aW9u.IFJvb3QwHhcNMT
1d4dc0 55 77 4d 7a 45 7a 4d 44 41 77 4d 44 41 77 57 68 63 4e 4d 7a 67 78 4d 6a 4d 78 4d 44 41 77 4d 44 UwMzEzMDAwMDAwWhcNMzgxMjMxMDAwMD
1d4de0 41 77 57 6a 42 48 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 44 54 6a 45 52 4d 41 38 47 0a 41 AwWjBHMQswCQYDVQQGEwJDTjERMA8G.A
1d4e00 31 55 45 43 67 77 49 56 57 35 70 56 48 4a 31 63 33 51 78 4a 54 41 6a 42 67 4e 56 42 41 4d 4d 48 1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMH
1d4e20 46 56 44 51 53 42 46 65 48 52 6c 62 6d 52 6c 5a 43 42 57 59 57 78 70 5a 47 46 30 61 57 39 75 49 FVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uI
1d4e40 46 4a 76 62 33 51 77 67 67 49 69 0a 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 41 FJvb3QwggIi.MA0GCSqGSIb3DQEBAQUA
1d4e60 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 70 43 51 63 6f 45 77 4b 77 6d 65 42 6b A4ICDwAwggIKAoICAQCpCQcoEwKwmeBk
1d4e80 71 68 35 44 46 6e 70 7a 73 5a 47 67 64 54 36 6f 2b 75 4d 34 41 48 72 73 0a 69 57 6f 67 44 34 76 qh5DFnpzsZGgdT6o+uM4AHrs.iWogD4v
1d4ea0 46 73 4a 73 7a 41 31 71 47 78 6c 69 47 31 63 47 46 75 30 2f 47 6e 45 42 4e 79 72 37 75 61 5a 61 FsJszA1qGxliG1cGFu0/GnEBNyr7uaZa
1d4ec0 34 72 59 45 77 6d 6e 79 53 42 65 73 46 4b 35 70 49 30 4c 68 32 50 70 62 49 49 4c 76 53 73 50 47 4rYEwmnySBesFK5pI0Lh2PpbIILvSsPG
1d4ee0 50 32 4b 78 46 0a 52 76 2b 71 5a 32 43 30 64 33 35 71 48 7a 77 61 55 6e 6f 45 50 51 63 38 68 51 P2KxF.Rv+qZ2C0d35qHzwaUnoEPQc8hQ
1d4f00 32 45 30 42 39 32 43 76 64 71 46 4e 39 79 34 7a 52 38 56 30 35 57 41 54 35 35 38 61 6f 70 4f 32 2E0B92CvdqFN9y4zR8V05WAT558aopO2
1d4f20 7a 36 2b 49 39 74 54 63 67 31 33 36 37 72 33 43 54 75 0a 65 55 57 6e 68 62 59 46 69 4e 36 49 58 z6+I9tTcg1367r3CTu.eUWnhbYFiN6IX
1d4f40 53 56 38 6c 32 52 6e 43 64 6d 2f 57 68 55 46 68 76 4d 4a 48 75 78 59 4d 6a 4d 52 38 33 64 6b 73 SV8l2RnCdm/WhUFhvMJHuxYMjMR83dks
1d4f60 48 59 66 35 42 41 31 46 78 76 79 44 72 46 73 70 43 71 6a 63 2f 77 4a 48 78 34 79 47 56 4d 52 0a HYf5BA1FxvyDrFspCqjc/wJHx4yGVMR.
1d4f80 35 39 6d 7a 4c 43 35 32 4c 71 47 6a 33 6e 35 71 69 41 6e 6f 38 67 65 4b 2b 4c 4c 4e 45 4f 66 69 59mzLC52LqGj3n5qiAno8geK+LLNEOfi
1d4fa0 63 30 43 54 75 77 6a 52 50 2b 48 38 43 35 53 7a 4a 65 39 38 70 74 66 52 72 35 2f 2f 6c 70 72 31 c0CTuwjRP+H8C5SzJe98ptfRr5//lpr1
1d4fc0 6b 58 75 59 43 33 66 55 66 75 67 48 0a 30 6d 4b 31 6c 54 6e 6a 38 2f 46 74 44 77 35 6c 68 49 70 kXuYC3fUfugH.0mK1lTnj8/FtDw5lhIp
1d4fe0 6a 56 4d 57 41 74 75 43 65 53 33 31 48 4a 71 63 42 43 46 33 52 69 4a 37 58 77 7a 4a 45 2b 6f 4a jVMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJ
1d5000 4b 43 6d 68 55 66 7a 68 54 41 38 79 6b 41 44 4e 6b 55 56 6b 4c 6f 34 4b 52 0a 65 6c 37 73 46 73 KCmhUfzhTA8ykADNkUVkLo4KR.el7sFs
1d5020 4c 7a 4b 75 5a 69 32 69 72 62 57 57 49 51 4a 55 6f 71 67 51 74 48 42 30 4d 47 63 49 66 53 2b 70 LzKuZi2irbWWIQJUoqgQtHB0MGcIfS+p
1d5040 4d 52 4b 58 70 49 54 65 75 55 78 33 42 4e 72 32 66 56 55 62 47 41 49 41 45 42 74 48 6f 49 70 70 MRKXpITeuUx3BNr2fVUbGAIAEBtHoIpp
1d5060 42 2f 54 75 44 76 0a 42 30 47 48 72 32 71 6c 58 6f 76 37 7a 31 43 79 6d 6c 53 76 77 34 6d 36 57 B/TuDv.B0GHr2qlXov7z1CymlSvw4m6W
1d5080 43 33 31 4d 4a 69 78 4e 6e 49 35 66 6b 6b 45 2f 53 6d 6e 54 48 6e 6b 42 56 66 62 6c 4c 6b 57 55 C31MJixNnI5fkkE/SmnTHnkBVfblLkWU
1d50a0 34 31 47 73 78 32 56 59 56 64 57 66 36 2f 77 46 6c 74 68 0a 57 47 38 32 55 42 45 4c 32 4b 77 72 41Gsx2VYVdWf6/wFlth.WG82UBEL2Kwr
1d50c0 6c 52 59 61 44 68 38 49 7a 54 59 30 5a 52 42 69 5a 74 57 41 58 78 51 67 58 79 30 4d 6f 48 67 4b lRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgK
1d50e0 61 4e 59 73 31 2b 6c 76 4b 39 4a 4b 42 5a 50 38 6e 6d 39 72 5a 2f 2b 49 38 55 36 6c 61 55 70 53 aNYs1+lvK9JKBZP8nm9rZ/+I8U6laUpS
1d5100 0a 4e 77 58 71 78 68 61 4e 30 73 53 5a 30 59 49 72 4f 37 6f 31 64 66 64 52 55 56 6a 7a 79 41 66 .NwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAf
1d5120 64 35 4c 51 44 66 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 64 42 67 4e 56 48 51 34 45 46 67 51 d5LQDfwIDAQABo0IwQDAdBgNVHQ4EFgQ
1d5140 55 32 58 51 36 35 44 41 39 44 66 63 53 0a 33 48 35 61 42 5a 38 65 4e 4a 72 33 34 52 51 77 44 77 U2XQ65DA9DfcS.3H5aBZ8eNJr34RQwDw
1d5160 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f 42 67 4e 56 48 51 38 42 41 66 YDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf
1d5180 38 45 42 41 4d 43 41 59 59 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 0a 42 51 41 44 67 8EBAMCAYYwDQYJKoZIhvcNAQEL.BQADg
1d51a0 67 49 42 41 44 61 4e 6c 38 78 43 46 57 51 70 4e 35 73 6d 4c 4e 62 37 72 68 56 70 4c 47 73 61 47 gIBADaNl8xCFWQpN5smLNb7rhVpLGsaG
1d51c0 76 64 66 74 76 6b 48 54 46 6e 71 38 38 6e 49 75 61 37 4d 75 69 35 36 33 4d 44 31 73 43 33 41 4f vdftvkHTFnq88nIua7Mui563MD1sC3AO
1d51e0 36 2b 66 63 41 55 52 0a 61 70 38 6c 54 77 45 70 63 4f 50 6c 44 4f 48 71 57 6e 7a 63 53 62 76 42 6+fcAUR.ap8lTwEpcOPlDOHqWnzcSbvB
1d5200 48 69 71 42 39 52 5a 4c 63 70 48 49 6f 6a 47 35 71 74 72 38 6e 52 2f 7a 58 55 41 43 45 2f 78 4f HiqB9RZLcpHIojG5qtr8nR/zXUACE/xO
1d5220 48 41 62 4b 73 78 53 51 56 42 63 5a 45 68 72 78 48 39 63 4d 0a 61 56 72 32 63 58 6a 30 6c 48 32 HAbKsxSQVBcZEhrxH9cM.aVr2cXj0lH2
1d5240 52 43 34 37 73 6b 46 53 4f 76 47 2b 68 54 4b 76 38 64 47 54 39 63 5a 72 34 51 51 65 68 7a 5a 48 RC47skFSOvG+hTKv8dGT9cZr4QQehzZH
1d5260 6b 50 4a 72 67 6d 7a 49 35 63 36 73 71 31 57 6e 49 65 4a 45 6d 4d 58 33 69 78 7a 44 78 2f 42 52 kPJrgmzI5c6sq1WnIeJEmMX3ixzDx/BR
1d5280 34 0a 64 78 49 4f 45 2f 54 64 46 70 53 2f 53 32 64 37 63 46 4f 46 79 72 43 37 38 7a 68 4e 4c 4a 4.dxIOE/TdFpS/S2d7cFOFyrC78zhNLJ
1d52a0 41 35 77 41 33 43 58 57 76 70 34 75 58 56 69 49 33 57 4c 4c 2b 72 47 37 36 31 4b 49 63 53 46 33 A5wA3CXWvp4uXViI3WLL+rG761KIcSF3
1d52c0 52 75 2f 48 33 38 6a 39 43 48 4a 72 41 62 0a 2b 37 6c 73 71 2b 4b 65 50 52 58 42 4f 79 35 6e 41 Ru/H38j9CHJrAb.+7lsq+KePRXBOy5nA
1d52e0 6c 69 52 6e 2b 2f 34 51 68 38 73 74 32 6a 31 64 61 33 50 74 66 62 2f 45 58 33 43 38 43 53 6c 72 liRn+/4Qh8st2j1da3Ptfb/EX3C8CSlr
1d5300 64 50 36 6f 44 79 70 2b 6c 33 63 70 61 44 76 52 4b 53 2b 31 75 6a 6c 35 42 4f 57 0a 46 33 73 47 dP6oDyp+l3cpaDvRKS+1ujl5BOW.F3sG
1d5320 50 6a 4c 74 78 37 64 43 76 48 61 6a 32 47 55 34 4b 7a 67 31 55 53 45 4f 44 6d 38 75 4e 42 4e 41 PjLtx7dCvHaj2GU4Kzg1USEODm8uNBNA
1d5340 34 53 74 6e 44 47 31 4b 51 54 41 59 49 31 6f 79 56 5a 6e 4a 46 2b 41 38 33 76 62 73 65 61 30 72 4StnDG1KQTAYI1oyVZnJF+A83vbsea0r
1d5360 57 42 6d 69 72 53 77 69 0a 47 70 57 4f 76 70 61 51 58 55 4a 58 78 50 6b 55 41 7a 55 72 48 43 31 WBmirSwi.GpWOvpaQXUJXxPkUAzUrHC1
1d5380 52 56 77 69 6e 4f 74 34 2f 35 4d 69 30 41 33 50 43 77 53 61 41 75 77 74 43 48 36 30 4e 72 79 5a RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZ
1d53a0 79 32 73 79 2b 73 36 4f 44 57 41 32 43 78 52 39 47 55 65 4f 63 0a 47 4d 79 4e 6d 34 33 73 53 65 y2sy+s6ODWA2CxR9GUeOc.GMyNm43sSe
1d53c0 74 31 55 4e 57 4d 4b 46 6e 4b 64 44 54 61 6a 41 73 68 71 78 37 71 47 2b 58 48 2f 52 55 2b 77 42 t1UNWMKFnKdDTajAshqx7qG+XH/RU+wB
1d53e0 65 71 2b 79 4e 75 4a 6b 62 4c 2b 76 6d 78 63 6d 74 70 7a 79 4b 45 43 32 49 50 72 4e 6b 5a 41 4a eq+yNuJkbL+vmxcmtpzyKEC2IPrNkZAJ
1d5400 53 69 0a 64 6a 7a 55 4c 5a 72 74 42 4a 34 74 42 6d 49 51 4e 31 49 63 68 58 49 62 4a 2b 58 4d 78 Si.djzULZrtBJ4tBmIQN1IchXIbJ+XMx
1d5420 6a 48 73 4e 2b 78 6a 57 5a 73 4c 48 58 62 4d 66 6a 4b 61 69 4a 55 49 4e 6c 4b 37 33 6e 5a 66 64 jHsN+xjWZsLHXbMfjKaiJUINlK73nZfd
1d5440 6b 6c 4a 72 58 2b 39 5a 53 43 79 79 63 45 72 0a 64 68 68 32 6e 31 61 78 0a 2d 2d 2d 2d 2d 45 4e klJrX+9ZSCyycEr.dhh2n1ax.-----EN
1d5460 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 43 65 72 74 69 67 6e 61 20 52 6f 6f D.CERTIFICATE-----..Certigna.Roo
1d5480 74 20 43 41 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e t.CA.================.-----BEGIN
1d54a0 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 47 57 7a 43 43 42 45 4f 67 41 77 .CERTIFICATE-----.MIIGWzCCBEOgAw
1d54c0 49 42 41 67 49 52 41 4d 72 70 47 34 6e 78 56 51 4d 4e 6f 2b 5a 42 62 63 54 6a 70 75 45 77 44 51 IBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQ
1d54e0 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 41 77 57 6a 45 4c 4d 41 6b 47 41 31 55 45 0a 42 YJKoZIhvcNAQELBQAwWjELMAkGA1UE.B
1d5500 68 4d 43 52 6c 49 78 45 6a 41 51 42 67 4e 56 42 41 6f 4d 43 55 52 6f 61 57 31 35 62 33 52 70 63 hMCRlIxEjAQBgNVBAoMCURoaW15b3Rpc
1d5520 7a 45 63 4d 42 6f 47 41 31 55 45 43 77 77 54 4d 44 41 77 4d 69 41 30 4f 44 45 30 4e 6a 4d 77 4f zEcMBoGA1UECwwTMDAwMiA0ODE0NjMwO
1d5540 44 45 77 4d 44 41 7a 4e 6a 45 5a 0a 4d 42 63 47 41 31 55 45 41 77 77 51 51 32 56 79 64 47 6c 6e DEwMDAzNjEZ.MBcGA1UEAwwQQ2VydGln
1d5560 62 6d 45 67 55 6d 39 76 64 43 42 44 51 54 41 65 46 77 30 78 4d 7a 45 77 4d 44 45 77 4f 44 4d 79 bmEgUm9vdCBDQTAeFw0xMzEwMDEwODMy
1d5580 4d 6a 64 61 46 77 30 7a 4d 7a 45 77 4d 44 45 77 4f 44 4d 79 4d 6a 64 61 0a 4d 46 6f 78 43 7a 41 MjdaFw0zMzEwMDEwODMyMjda.MFoxCzA
1d55a0 4a 42 67 4e 56 42 41 59 54 41 6b 5a 53 4d 52 49 77 45 41 59 44 56 51 51 4b 44 41 6c 45 61 47 6c JBgNVBAYTAkZSMRIwEAYDVQQKDAlEaGl
1d55c0 74 65 57 39 30 61 58 4d 78 48 44 41 61 42 67 4e 56 42 41 73 4d 45 7a 41 77 4d 44 49 67 4e 44 67 teW90aXMxHDAaBgNVBAsMEzAwMDIgNDg
1d55e0 78 4e 44 59 7a 0a 4d 44 67 78 4d 44 41 77 4d 7a 59 78 47 54 41 58 42 67 4e 56 42 41 4d 4d 45 45 xNDYz.MDgxMDAwMzYxGTAXBgNVBAMMEE
1d5600 4e 6c 63 6e 52 70 5a 32 35 68 49 46 4a 76 62 33 51 67 51 30 45 77 67 67 49 69 4d 41 30 47 43 53 NlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCS
1d5620 71 47 53 49 62 33 44 51 45 42 41 51 55 41 41 34 49 43 0a 44 77 41 77 67 67 49 4b 41 6f 49 43 41 qGSIb3DQEBAQUAA4IC.DwAwggIKAoICA
1d5640 51 44 4e 47 44 6c 6c 47 6c 6d 78 36 6d 51 57 44 6f 79 55 4a 4a 56 38 67 39 50 46 4f 53 62 63 44 QDNGDllGlmx6mQWDoyUJJV8g9PFOSbcD
1d5660 4f 38 57 56 34 33 58 32 4b 79 6a 51 6e 2b 43 79 75 33 4e 57 39 73 4f 74 79 33 74 52 51 67 58 0a O8WV43X2KyjQn+Cyu3NW9sOty3tRQgX.
1d5680 73 74 6d 7a 79 39 59 58 55 6e 49 6f 32 34 35 4f 6e 6f 71 32 43 2f 6d 65 68 4a 70 4e 64 74 34 69 stmzy9YXUnIo245Onoq2C/mehJpNdt4i
1d56a0 4b 56 7a 53 73 39 49 47 50 6a 41 35 71 58 53 6a 6b 6c 59 63 6f 57 39 4d 43 69 42 74 6e 79 4e 36 KVzSs9IGPjA5qXSjklYcoW9MCiBtnyN6
1d56c0 74 4d 62 61 4c 4f 51 64 4c 4e 79 7a 0a 4b 4e 41 54 38 6b 78 4f 41 6b 6d 68 56 45 43 65 35 75 55 tMbaLOQdLNyz.KNAT8kxOAkmhVECe5uU
1d56e0 46 6f 43 32 45 79 50 2b 59 62 4e 44 72 69 68 71 45 43 42 36 33 61 43 50 75 49 39 56 77 7a 6d 31 FoC2EyP+YbNDrihqECB63aCPuI9Vwzm1
1d5700 52 61 52 44 75 6f 58 72 43 30 53 49 78 77 6f 4b 46 30 76 4a 56 64 6c 42 38 0a 4a 58 72 4a 68 46 RaRDuoXrC0SIxwoKF0vJVdlB8.JXrJhF
1d5720 77 4c 72 4e 31 43 54 69 76 6e 67 71 49 6b 69 63 75 51 73 74 44 75 49 37 70 6d 54 4c 74 69 70 50 wLrN1CTivngqIkicuQstDuI7pmTLtipP
1d5740 6c 54 57 6d 52 37 66 4a 6a 36 6f 30 69 65 44 35 57 75 70 78 6a 30 61 75 77 75 41 30 57 76 38 48 lTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8H
1d5760 54 34 4b 73 31 36 0a 58 64 47 2b 52 43 59 79 4b 66 48 78 39 57 7a 4d 66 67 49 68 43 35 39 76 70 T4Ks16.XdG+RCYyKfHx9WzMfgIhC59vp
1d5780 44 2b 2b 6e 56 50 69 7a 33 32 70 4c 48 78 59 47 70 66 68 50 54 63 33 47 47 59 6f 30 6b 44 46 55 D++nVPiz32pLHxYGpfhPTc3GGYo0kDFU
1d57a0 59 71 4d 77 79 33 4f 55 34 67 6b 57 47 51 77 46 73 57 71 0a 34 4e 59 4b 70 6b 44 66 65 50 62 31 YqMwy3OU4gkWGQwFsWq.4NYKpkDfePb1
1d57c0 42 48 78 70 45 34 53 38 30 64 47 6e 42 73 38 42 39 32 6a 41 71 46 65 37 4f 6d 47 74 42 49 79 54 BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT
1d57e0 34 36 33 38 38 4e 74 45 62 56 6e 63 53 56 6d 75 72 4a 71 5a 4e 6a 42 42 65 33 59 7a 49 6f 65 6a 46388NtEbVncSVmurJqZNjBBe3YzIoej
1d5800 0a 77 70 4b 47 62 76 6c 77 37 71 36 48 68 35 55 62 78 48 71 39 4d 66 50 55 30 75 57 5a 2f 37 35 .wpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75
1d5820 49 37 48 58 31 65 42 59 64 70 6e 44 42 66 7a 77 62 6f 5a 4c 37 7a 38 67 38 31 73 57 54 43 6f 2f I7HX1eBYdpnDBfzwboZL7z8g81sWTCo/
1d5840 31 56 54 70 32 6c 63 35 5a 6d 49 6f 4a 0a 6c 58 63 79 6d 6f 4f 36 4c 41 51 36 6c 37 33 55 4c 37 1VTp2lc5ZmIoJ.lXcymoO6LAQ6l73UL7
1d5860 37 58 62 4a 75 69 79 6e 31 74 4a 73 6c 56 31 63 2f 44 65 56 49 49 43 5a 6b 48 4a 43 31 6b 4a 57 7XbJuiyn1tJslV1c/DeVIICZkHJC1kJW
1d5880 75 6d 49 57 6d 62 61 74 31 30 54 57 75 58 65 6b 47 39 71 78 66 35 6b 42 64 49 0a 6a 7a 62 35 4c umIWmbat10TWuXekG9qxf5kBdI.jzb5L
1d58a0 64 58 46 32 2b 36 71 68 55 56 42 2b 73 30 36 52 62 46 6f 35 6a 5a 4d 6d 35 42 58 37 43 4f 35 68 dXF2+6qhUVB+s06RbFo5jZMm5BX7CO5h
1d58c0 77 6a 43 78 41 6e 78 6c 34 59 71 4b 45 33 69 64 4d 44 61 78 49 7a 62 33 2b 4b 68 46 31 6e 4f 4a wjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJ
1d58e0 46 6c 30 4d 64 70 2f 0a 2f 54 42 74 32 64 7a 68 61 75 48 38 58 77 49 44 41 51 41 42 6f 34 49 42 Fl0Mdp/./TBt2dzhauH8XwIDAQABo4IB
1d5900 47 6a 43 43 41 52 59 77 44 77 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4f GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAO
1d5920 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 41 51 59 77 0a 48 51 59 44 56 52 30 4f 42 42 59 BgNVHQ8BAf8EBAMCAQYw.HQYDVR0OBBY
1d5940 45 46 42 69 48 56 75 42 75 64 2b 34 6b 4e 54 78 4f 63 35 6f 66 31 75 48 69 65 58 34 72 4d 42 38 EFBiHVuBud+4kNTxOc5of1uHieX4rMB8
1d5960 47 41 31 55 64 49 77 51 59 4d 42 61 41 46 42 69 48 56 75 42 75 64 2b 34 6b 4e 54 78 4f 63 35 6f GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5o
1d5980 66 0a 31 75 48 69 65 58 34 72 4d 45 51 47 41 31 55 64 49 41 51 39 4d 44 73 77 4f 51 59 45 56 52 f.1uHieX4rMEQGA1UdIAQ9MDswOQYEVR
1d59a0 30 67 41 44 41 78 4d 43 38 47 43 43 73 47 41 51 55 46 42 77 49 42 46 69 4e 6f 64 48 52 77 63 7a 0gADAxMC8GCCsGAQUFBwIBFiNodHRwcz
1d59c0 6f 76 4c 33 64 33 64 33 63 75 59 32 56 79 0a 64 47 6c 6e 62 6d 45 75 5a 6e 49 76 59 58 56 30 62 ovL3d3d3cuY2Vy.dGlnbmEuZnIvYXV0b
1d59e0 33 4a 70 64 47 56 7a 4c 7a 42 74 42 67 4e 56 48 52 38 45 5a 6a 42 6b 4d 43 2b 67 4c 61 41 72 68 3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArh
1d5a00 69 6c 6f 64 48 52 77 4f 69 38 76 59 33 4a 73 4c 6d 4e 6c 63 6e 52 70 5a 32 35 68 0a 4c 6d 5a 79 ilodHRwOi8vY3JsLmNlcnRpZ25h.LmZy
1d5a20 4c 32 4e 6c 63 6e 52 70 5a 32 35 68 63 6d 39 76 64 47 4e 68 4c 6d 4e 79 62 44 41 78 6f 43 2b 67 L2NlcnRpZ25hcm9vdGNhLmNybDAxoC+g
1d5a40 4c 59 59 72 61 48 52 30 63 44 6f 76 4c 32 4e 79 62 43 35 6b 61 47 6c 74 65 57 39 30 61 58 4d 75 LYYraHR0cDovL2NybC5kaGlteW90aXMu
1d5a60 59 32 39 74 4c 32 4e 6c 0a 63 6e 52 70 5a 32 35 68 63 6d 39 76 64 47 4e 68 4c 6d 4e 79 62 44 41 Y29tL2Nl.cnRpZ25hcm9vdGNhLmNybDA
1d5a80 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 73 46 41 41 4f 43 41 67 45 41 6c 4c 69 65 54 2f 44 NBgkqhkiG9w0BAQsFAAOCAgEAlLieT/D
1d5aa0 6a 6c 51 67 69 35 38 31 6f 51 66 63 63 56 64 56 38 41 4f 49 74 0a 4f 6f 6c 64 61 44 67 76 55 53 jlQgi581oQfccVdV8AOIt.OoldaDgvUS
1d5ac0 49 4c 53 6f 33 4c 36 62 74 64 50 72 74 63 50 62 45 6f 2f 75 52 54 56 52 50 50 6f 5a 41 62 41 68 ILSo3L6btdPrtcPbEo/uRTVRPPoZAbAh
1d5ae0 31 66 5a 6b 59 4a 4d 79 6a 68 44 53 53 58 63 4e 4d 51 48 2b 70 6b 56 35 61 37 58 64 72 6e 78 49 1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxI
1d5b00 78 50 0a 54 47 52 47 48 56 79 48 34 31 6e 65 51 74 47 62 71 48 36 6d 69 64 32 50 48 4d 6b 77 67 xP.TGRGHVyH41neQtGbqH6mid2PHMkwg
1d5b20 75 30 37 6e 4d 33 41 36 52 6e 67 61 74 67 43 64 54 65 72 39 7a 51 6f 4b 4a 48 79 42 41 70 50 4e u07nM3A6RngatgCdTer9zQoKJHyBApPN
1d5b40 65 4e 67 4a 67 48 36 30 42 47 4d 2b 52 46 71 0a 37 71 38 39 77 31 44 54 6a 31 38 7a 65 54 79 47 eNgJgH60BGM+RFq.7q89w1DTj18zeTyG
1d5b60 71 48 4e 46 6b 49 77 67 74 6e 4a 7a 46 79 4f 2b 42 32 58 6c 65 4a 49 4e 75 67 48 41 36 34 77 63 qHNFkIwgtnJzFyO+B2XleJINugHA64wc
1d5b80 5a 72 2b 73 68 6e 63 42 6c 41 32 63 35 75 6b 35 6a 52 2b 6d 55 59 79 5a 44 44 6c 33 0a 34 62 53 Zr+shncBlA2c5uk5jR+mUYyZDDl3.4bS
1d5ba0 62 2b 68 78 6e 56 32 39 71 61 6f 36 70 4b 30 78 58 65 58 70 58 49 73 2f 4e 58 32 4e 47 6a 56 78 b+hxnV29qao6pK0xXeXpXIs/NX2NGjVx
1d5bc0 5a 4f 6f 62 34 4d 6b 64 69 6f 32 63 4e 47 4a 48 63 2b 36 5a 72 39 55 68 68 63 79 4e 5a 6a 67 4b ZOob4Mkdio2cNGJHc+6Zr9UhhcyNZjgK
1d5be0 6e 76 45 54 71 39 45 6d 64 0a 38 56 52 59 2b 57 43 76 32 68 69 6b 4c 79 68 46 33 48 71 67 69 49 nvETq9Emd.8VRY+WCv2hikLyhF3HqgiI
1d5c00 5a 64 38 7a 76 6e 2f 79 6b 31 67 50 78 6b 51 35 54 6d 34 78 78 76 76 71 30 4f 4b 6d 4f 5a 4b 38 Zd8zvn/yk1gPxkQ5Tm4xxvvq0OKmOZK8
1d5c20 6c 2b 68 66 5a 78 36 41 59 44 6c 66 37 65 6a 30 67 63 57 74 53 53 0a 36 43 76 75 35 7a 48 62 75 l+hfZx6AYDlf7ej0gcWtSS.6Cvu5zHbu
1d5c40 67 52 71 68 35 6a 6e 78 56 2f 76 66 61 63 69 39 77 48 59 54 66 6d 4a 30 41 36 61 42 56 6d 6b 6e gRqh5jnxV/vfaci9wHYTfmJ0A6aBVmkn
1d5c60 70 6a 5a 62 79 76 4b 63 4c 35 6b 77 6c 57 6a 39 4f 6d 76 77 35 49 70 33 49 67 57 4a 4a 6b 38 6a pjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8j
1d5c80 53 61 59 0a 74 6c 75 33 7a 4d 36 33 4e 77 66 39 4a 74 6d 59 68 53 54 2f 57 53 4d 44 6d 75 32 64 SaY.tlu3zM63Nwf9JtmYhST/WSMDmu2d
1d5ca0 6e 61 6a 6b 58 6a 6a 4f 31 31 49 4e 62 39 49 2f 62 62 45 46 61 30 6e 4f 69 70 46 47 63 2f 54 32 najkXjjO11INb9I/bbEFa0nOipFGc/T2
1d5cc0 4c 2f 43 6f 63 33 63 4f 5a 61 79 68 6a 57 5a 53 0a 61 58 35 4c 61 41 7a 48 48 6a 63 6e 67 36 57 L/Coc3cOZayhjWZS.aX5LaAzHHjcng6W
1d5ce0 4d 78 77 4c 6b 46 4d 31 4a 41 62 42 7a 73 2f 33 47 6b 44 70 76 30 6d 7a 74 4f 2b 37 73 6b 62 36 MxwLkFM1JAbBzs/3GkDpv0mztO+7skb6
1d5d00 69 51 31 32 4c 41 45 70 6d 4a 55 52 77 33 6b 41 50 2b 48 77 56 39 36 4c 4f 50 4e 64 65 0a 45 34 iQ12LAEpmJURw3kAP+HwV96LOPNde.E4
1d5d20 79 42 46 78 67 58 30 62 33 78 64 78 41 36 31 47 55 35 77 53 65 73 56 79 77 6c 56 50 2b 69 32 6b yBFxgX0b3xdxA61GU5wSesVywlVP+i2k
1d5d40 2b 4b 59 54 6c 65 72 6a 31 4b 6a 4c 30 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 +KYTlerj1KjL0=.-----END.CERTIFIC
1d5d60 41 54 45 2d 2d 2d 2d 2d 0a 0a 65 6d 53 69 67 6e 20 52 6f 6f 74 20 43 41 20 2d 20 47 31 0a 3d 3d ATE-----..emSign.Root.CA.-.G1.==
1d5d80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 =================.-----BEGIN.CER
1d5da0 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 6c 44 43 43 41 6e 79 67 41 77 49 42 41 67 TIFICATE-----.MIIDlDCCAnygAwIBAg
1d5dc0 49 4b 4d 66 58 6b 59 67 78 73 57 4f 33 57 32 44 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 IKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQ
1d5de0 73 46 41 44 42 6e 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4a 54 6a 45 54 0a 4d 42 45 47 41 sFADBnMQswCQYDVQQGEwJJTjET.MBEGA
1d5e00 31 55 45 43 78 4d 4b 5a 57 31 54 61 57 64 75 49 46 42 4c 53 54 45 6c 4d 43 4d 47 41 31 55 45 43 1UECxMKZW1TaWduIFBLSTElMCMGA1UEC
1d5e20 68 4d 63 5a 55 31 31 5a 47 68 79 59 53 42 55 5a 57 4e 6f 62 6d 39 73 62 32 64 70 5a 58 4d 67 54 hMcZU11ZGhyYSBUZWNobm9sb2dpZXMgT
1d5e40 47 6c 74 61 58 52 6c 0a 5a 44 45 63 4d 42 6f 47 41 31 55 45 41 78 4d 54 5a 57 31 54 61 57 64 75 GltaXRl.ZDEcMBoGA1UEAxMTZW1TaWdu
1d5e60 49 46 4a 76 62 33 51 67 51 30 45 67 4c 53 42 48 4d 54 41 65 46 77 30 78 4f 44 41 79 4d 54 67 78 IFJvb3QgQ0EgLSBHMTAeFw0xODAyMTgx
1d5e80 4f 44 4d 77 4d 44 42 61 46 77 30 30 4d 7a 41 79 4d 54 67 78 0a 4f 44 4d 77 4d 44 42 61 4d 47 63 ODMwMDBaFw00MzAyMTgx.ODMwMDBaMGc
1d5ea0 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 6b 6c 4f 4d 52 4d 77 45 51 59 44 56 51 51 4c 45 77 70 xCzAJBgNVBAYTAklOMRMwEQYDVQQLEwp
1d5ec0 6c 62 56 4e 70 5a 32 34 67 55 45 74 4a 4d 53 55 77 49 77 59 44 56 51 51 4b 45 78 78 6c 54 58 56 lbVNpZ24gUEtJMSUwIwYDVQQKExxlTXV
1d5ee0 6b 0a 61 48 4a 68 49 46 52 6c 59 32 68 75 62 32 78 76 5a 32 6c 6c 63 79 42 4d 61 57 31 70 64 47 k.aHJhIFRlY2hub2xvZ2llcyBMaW1pdG
1d5f00 56 6b 4d 52 77 77 47 67 59 44 56 51 51 44 45 78 4e 6c 62 56 4e 70 5a 32 34 67 55 6d 39 76 64 43 VkMRwwGgYDVQQDExNlbVNpZ24gUm9vdC
1d5f20 42 44 51 53 41 74 49 45 63 78 4d 49 49 42 0a 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 BDQSAtIEcxMIIB.IjANBgkqhkiG9w0BA
1d5f40 51 45 46 41 41 4f 43 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 6b 30 75 37 36 57 61 4b 37 QEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7
1d5f60 70 31 62 31 54 53 54 30 42 73 65 77 2b 65 65 75 47 51 7a 66 32 4e 34 61 4c 54 4e 0a 4c 6e 46 31 p1b1TST0Bsew+eeuGQzf2N4aLTN.LnF1
1d5f80 31 35 73 67 78 6b 30 70 76 4c 5a 6f 59 49 72 33 49 5a 70 57 4e 56 72 7a 64 72 33 59 7a 5a 72 2f 15sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/
1d5fa0 6b 31 5a 4c 70 56 6b 47 6f 5a 4d 30 4b 64 30 57 4e 48 56 4f 38 6f 47 30 78 35 5a 4f 72 52 6b 56 k1ZLpVkGoZM0Kd0WNHVO8oG0x5ZOrRkV
1d5fc0 55 6b 72 2b 50 48 42 31 0a 63 4d 32 76 4b 36 73 56 6d 6a 4d 38 71 72 4f 4c 71 73 31 44 2f 66 58 Ukr+PHB1.cM2vK6sVmjM8qrOLqs1D/fX
1d5fe0 71 63 50 2f 74 7a 78 45 37 6c 4d 35 4f 4d 68 62 54 49 30 41 71 64 37 4f 76 50 41 45 73 62 4f 32 qcP/tzxE7lM5OMhbTI0Aqd7OvPAEsbO2
1d6000 5a 4c 49 76 5a 54 6d 6d 59 73 76 65 50 51 62 41 79 65 47 48 57 0a 44 56 2f 44 2b 71 4a 41 6b 68 ZLIvZTmmYsvePQbAyeGHW.DV/D+qJAkh
1d6020 31 63 46 2b 5a 77 50 6a 58 6e 6f 72 66 43 59 75 4b 72 70 44 68 4d 74 54 6b 31 62 2b 6f 44 61 66 1cF+ZwPjXnorfCYuKrpDhMtTk1b+oDaf
1d6040 6f 36 56 47 69 46 62 64 62 79 4c 30 4e 56 48 70 45 4e 44 74 6a 56 61 71 53 57 30 52 4d 38 4c 48 o6VGiFbdbyL0NVHpENDtjVaqSW0RM8LH
1d6060 68 51 0a 36 44 71 53 30 68 64 57 35 54 55 61 51 42 77 2b 6a 53 7a 74 4f 64 39 43 34 49 4e 42 64 hQ.6DqS0hdW5TUaQBw+jSztOd9C4INBd
1d6080 4e 2b 6a 7a 63 4b 47 59 45 68 6f 34 32 6b 4c 56 41 43 4c 35 48 5a 70 49 51 31 35 54 6a 51 49 58 N+jzcKGYEho42kLVACL5HZpIQ15TjQIX
1d60a0 68 54 43 7a 4c 47 33 72 64 64 38 63 49 72 48 0a 68 51 49 44 41 51 41 42 6f 30 49 77 51 44 41 64 hTCzLG3rdd8cIrH.hQIDAQABo0IwQDAd
1d60c0 42 67 4e 56 48 51 34 45 46 67 51 55 2b 2b 38 4e 68 70 36 77 34 39 32 70 75 66 45 68 46 33 38 2b BgNVHQ4EFgQU++8Nhp6w492pufEhF38+
1d60e0 2f 50 42 33 4b 78 6f 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 0a 4d 41 38 /PB3KxowDgYDVR0PAQH/BAQDAgEG.MA8
1d6100 47 41 31 55 64 45 77 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvc
1d6120 4e 41 51 45 4c 42 51 41 44 67 67 45 42 41 46 6e 2f 38 6f 7a 31 68 33 31 78 50 61 4f 66 47 31 76 NAQELBQADggEBAFn/8oz1h31xPaOfG1v
1d6140 52 32 76 6a 54 6e 47 73 32 0a 76 5a 75 70 59 65 76 65 46 69 78 30 50 5a 37 6d 64 64 72 58 75 71 R2vjTnGs2.vZupYeveFix0PZ7mddrXuq
1d6160 65 38 51 68 66 6e 50 5a 48 72 35 58 33 64 50 70 7a 78 7a 35 4b 73 62 45 6a 4d 77 69 49 2f 61 54 e8QhfnPZHr5X3dPpzxz5KsbEjMwiI/aT
1d6180 76 46 74 68 55 76 6f 7a 58 47 61 43 6f 63 56 36 38 35 37 34 33 51 0a 4e 63 4d 59 44 48 73 41 56 vFthUvozXGaCocV685743Q.NcMYDHsAV
1d61a0 68 7a 4e 69 78 6c 30 33 72 34 50 45 75 44 51 71 71 45 2f 41 6a 53 78 63 4d 36 64 47 4e 59 49 41 hzNixl03r4PEuDQqqE/AjSxcM6dGNYIA
1d61c0 77 6c 47 37 6d 44 67 66 72 62 45 53 51 52 52 66 58 42 67 76 4b 71 79 2f 33 6c 79 65 71 59 64 50 wlG7mDgfrbESQRRfXBgvKqy/3lyeqYdP
1d61e0 56 38 71 0a 2b 4d 72 69 2f 54 6d 33 52 37 6e 72 66 74 38 45 49 36 2f 36 6e 41 59 48 36 66 74 6a V8q.+Mri/Tm3R7nrft8EI6/6nAYH6ftj
1d6200 6b 34 42 41 74 63 5a 73 43 6a 45 6f 7a 67 79 66 7a 37 4d 6a 4e 59 42 42 6a 57 7a 45 4e 33 75 42 k4BAtcZsCjEozgyfz7MjNYBBjWzEN3uB
1d6220 4c 34 43 68 51 45 4b 46 36 64 6b 34 6a 65 69 68 0a 55 38 30 42 76 32 6e 6f 57 67 62 79 52 51 75 L4ChQEKF6dk4jeih.U80Bv2noWgbyRQu
1d6240 51 2b 71 37 68 76 35 33 79 72 6c 63 38 70 61 36 79 56 76 53 4c 5a 55 44 70 2f 54 47 42 4c 50 51 Q+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ
1d6260 35 43 64 6a 75 61 36 65 30 70 68 30 56 70 5a 6a 33 41 59 48 59 68 58 33 7a 55 56 78 78 0a 69 4e 5Cdjua6e0ph0VpZj3AYHYhX3zUVxx.iN
1d6280 36 36 7a 42 2b 41 66 6b 6f 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 66zB+Afko=.-----END.CERTIFICATE-
1d62a0 2d 2d 2d 2d 0a 0a 65 6d 53 69 67 6e 20 45 43 43 20 52 6f 6f 74 20 43 41 20 2d 20 47 33 0a 3d 3d ----..emSign.ECC.Root.CA.-.G3.==
1d62c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e =====================.-----BEGIN
1d62e0 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 54 6a 43 43 41 64 4f 67 41 77 .CERTIFICATE-----.MIICTjCCAdOgAw
1d6300 49 42 41 67 49 4b 50 50 59 48 71 57 68 77 44 74 71 4c 68 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 IBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQ
1d6320 51 44 41 7a 42 72 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4a 54 6a 45 54 4d 42 45 47 0a 41 QDAzBrMQswCQYDVQQGEwJJTjETMBEG.A
1d6340 31 55 45 43 78 4d 4b 5a 57 31 54 61 57 64 75 49 46 42 4c 53 54 45 6c 4d 43 4d 47 41 31 55 45 43 1UECxMKZW1TaWduIFBLSTElMCMGA1UEC
1d6360 68 4d 63 5a 55 31 31 5a 47 68 79 59 53 42 55 5a 57 4e 6f 62 6d 39 73 62 32 64 70 5a 58 4d 67 54 hMcZU11ZGhyYSBUZWNobm9sb2dpZXMgT
1d6380 47 6c 74 61 58 52 6c 5a 44 45 67 0a 4d 42 34 47 41 31 55 45 41 78 4d 58 5a 57 31 54 61 57 64 75 GltaXRlZDEg.MB4GA1UEAxMXZW1TaWdu
1d63a0 49 45 56 44 51 79 42 53 62 32 39 30 49 45 4e 42 49 43 30 67 52 7a 4d 77 48 68 63 4e 4d 54 67 77 IEVDQyBSb290IENBIC0gRzMwHhcNMTgw
1d63c0 4d 6a 45 34 4d 54 67 7a 4d 44 41 77 57 68 63 4e 4e 44 4d 77 4d 6a 45 34 0a 4d 54 67 7a 4d 44 41 MjE4MTgzMDAwWhcNNDMwMjE4.MTgzMDA
1d63e0 77 57 6a 42 72 4d 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 4a 54 6a 45 54 4d 42 45 47 41 31 55 wWjBrMQswCQYDVQQGEwJJTjETMBEGA1U
1d6400 45 43 78 4d 4b 5a 57 31 54 61 57 64 75 49 46 42 4c 53 54 45 6c 4d 43 4d 47 41 31 55 45 43 68 4d ECxMKZW1TaWduIFBLSTElMCMGA1UEChM
1d6420 63 5a 55 31 31 0a 5a 47 68 79 59 53 42 55 5a 57 4e 6f 62 6d 39 73 62 32 64 70 5a 58 4d 67 54 47 cZU11.ZGhyYSBUZWNobm9sb2dpZXMgTG
1d6440 6c 74 61 58 52 6c 5a 44 45 67 4d 42 34 47 41 31 55 45 41 78 4d 58 5a 57 31 54 61 57 64 75 49 45 ltaXRlZDEgMB4GA1UEAxMXZW1TaWduIE
1d6460 56 44 51 79 42 53 62 32 39 30 49 45 4e 42 49 43 30 67 0a 52 7a 4d 77 64 6a 41 51 42 67 63 71 68 VDQyBSb290IENBIC0g.RzMwdjAQBgcqh
1d6480 6b 6a 4f 50 51 49 42 42 67 55 72 67 51 51 41 49 67 4e 69 41 41 51 6a 70 51 79 34 4c 52 4c 31 4b kjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1K
1d64a0 50 4f 78 73 74 33 69 41 68 4b 41 6e 6a 6c 66 53 55 32 66 79 53 55 30 57 58 54 73 75 77 59 63 0a POxst3iAhKAnjlfSU2fySU0WXTsuwYc.
1d64c0 35 38 42 79 72 2b 69 75 4c 2b 46 42 56 49 63 55 71 45 71 79 36 48 79 43 35 6c 74 71 74 64 79 7a 58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyz
1d64e0 64 63 36 4c 42 74 43 47 49 37 39 47 31 59 34 50 50 77 54 30 31 78 79 53 66 76 61 6c 59 38 4c 31 dc6LBtCGI79G1Y4PPwT01xySfvalY8L1
1d6500 58 34 34 75 54 36 45 59 47 51 49 72 0a 4d 67 71 43 5a 48 30 57 6b 39 47 6a 51 6a 42 41 4d 42 30 X44uT6EYGQIr.MgqCZH0Wk9GjQjBAMB0
1d6520 47 41 31 55 64 44 67 51 57 42 42 52 38 58 51 4b 45 45 39 54 4d 69 70 75 42 7a 68 63 63 4c 69 6b GA1UdDgQWBBR8XQKEE9TMipuBzhccLik
1d6540 65 6e 45 68 6a 51 6a 41 4f 42 67 4e 56 48 51 38 42 41 66 38 45 42 41 4d 43 0a 41 51 59 77 44 77 enEhjQjAOBgNVHQ8BAf8EBAMC.AQYwDw
1d6560 59 44 56 52 30 54 41 51 48 2f 42 41 55 77 41 77 45 42 2f 7a 41 4b 42 67 67 71 68 6b 6a 4f 50 51 YDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQ
1d6580 51 44 41 77 4e 70 41 44 42 6d 41 6a 45 41 76 76 4e 68 7a 77 49 51 48 57 53 56 42 37 67 59 62 6f QDAwNpADBmAjEAvvNhzwIQHWSVB7gYbo
1d65a0 69 46 42 53 2b 44 0a 43 42 65 51 79 68 2b 4b 54 4f 67 4e 47 33 71 78 72 64 57 42 43 55 66 76 4f iFBS+D.CBeQyh+KTOgNG3qxrdWBCUfvO
1d65c0 36 77 49 42 48 78 63 6d 62 48 74 52 77 66 53 41 6a 45 41 6e 62 70 56 2f 4b 6c 4b 36 4f 33 74 35 6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5
1d65e0 6e 59 42 51 6e 76 49 2b 47 44 5a 6a 56 47 4c 56 54 76 37 0a 6a 48 76 72 5a 51 6e 44 2b 4a 62 4e nYBQnvI+GDZjVGLVTv7.jHvrZQnD+JbN
1d6600 52 36 69 43 38 68 5a 56 64 79 52 2b 45 68 43 56 42 43 79 6a 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 R6iC8hZVdyR+EhCVBCyj.-----END.CE
1d6620 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 65 6d 53 69 67 6e 20 52 6f 6f 74 20 43 41 20 2d RTIFICATE-----..emSign.Root.CA.-
1d6640 20 43 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 .C1.===================.-----BEG
1d6660 49 4e 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 44 63 7a 43 43 41 6c 75 67 IN.CERTIFICATE-----.MIIDczCCAlug
1d6680 41 77 49 42 41 67 49 4c 41 4b 37 50 41 4c 72 45 7a 7a 4c 34 51 37 49 77 44 51 59 4a 4b 6f 5a 49 AwIBAgILAK7PALrEzzL4Q7IwDQYJKoZI
1d66a0 68 76 63 4e 41 51 45 4c 42 51 41 77 56 6a 45 4c 4d 41 6b 47 41 31 55 45 42 68 4d 43 56 56 4d 78 hvcNAQELBQAwVjELMAkGA1UEBhMCVVMx
1d66c0 0a 45 7a 41 52 42 67 4e 56 42 41 73 54 43 6d 56 74 55 32 6c 6e 62 69 42 51 53 30 6b 78 46 44 41 .EzARBgNVBAsTCmVtU2lnbiBQS0kxFDA
1d66e0 53 42 67 4e 56 42 41 6f 54 43 32 56 4e 64 57 52 6f 63 6d 45 67 53 57 35 6a 4d 52 77 77 47 67 59 SBgNVBAoTC2VNdWRocmEgSW5jMRwwGgY
1d6700 44 56 51 51 44 45 78 4e 6c 62 56 4e 70 0a 5a 32 34 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 45 DVQQDExNlbVNp.Z24gUm9vdCBDQSAtIE
1d6720 4d 78 4d 42 34 58 44 54 45 34 4d 44 49 78 4f 44 45 34 4d 7a 41 77 4d 46 6f 58 44 54 51 7a 4d 44 MxMB4XDTE4MDIxODE4MzAwMFoXDTQzMD
1d6740 49 78 4f 44 45 34 4d 7a 41 77 4d 46 6f 77 56 6a 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 IxODE4MzAwMFowVjELMAkGA1UE.BhMCV
1d6760 56 4d 78 45 7a 41 52 42 67 4e 56 42 41 73 54 43 6d 56 74 55 32 6c 6e 62 69 42 51 53 30 6b 78 46 VMxEzARBgNVBAsTCmVtU2lnbiBQS0kxF
1d6780 44 41 53 42 67 4e 56 42 41 6f 54 43 32 56 4e 64 57 52 6f 63 6d 45 67 53 57 35 6a 4d 52 77 77 47 DASBgNVBAoTC2VNdWRocmEgSW5jMRwwG
1d67a0 67 59 44 56 51 51 44 0a 45 78 4e 6c 62 56 4e 70 5a 32 34 67 55 6d 39 76 64 43 42 44 51 53 41 74 gYDVQQD.ExNlbVNpZ24gUm9vdCBDQSAt
1d67c0 49 45 4d 78 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 42 41 51 45 46 41 41 4f 43 IEMxMIIBIjANBgkqhkiG9w0BAQEFAAOC
1d67e0 41 51 38 41 4d 49 49 42 43 67 4b 43 41 51 45 41 7a 2b 75 70 0a 75 66 47 5a 42 63 7a 59 4b 43 46 AQ8AMIIBCgKCAQEAz+up.ufGZBczYKCF
1d6800 4b 38 33 4d 30 55 59 52 57 45 50 57 67 54 79 77 53 34 2f 6f 54 6d 69 66 51 7a 2f 6c 35 47 6e 52 K83M0UYRWEPWgTywS4/oTmifQz/l5GnR
1d6820 66 48 58 6b 35 2f 46 76 34 63 49 37 67 6b 6c 4c 33 35 43 58 35 56 49 50 5a 48 64 50 49 57 6f 55 fHXk5/Fv4cI7gklL35CX5VIPZHdPIWoU
1d6840 2f 0a 58 73 65 32 42 2b 34 2b 77 4d 36 61 72 36 78 57 51 69 6f 35 4a 58 44 57 76 37 56 37 4e 71 /.Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq
1d6860 32 73 39 6e 50 63 7a 64 63 64 69 6f 4f 6c 2b 79 75 51 46 54 64 72 48 43 5a 48 33 44 73 70 56 70 2s9nPczdcdioOl+yuQFTdrHCZH3DspVp
1d6880 4e 71 73 38 46 71 4f 70 30 39 39 63 47 58 0a 4f 46 67 46 69 78 77 52 34 2b 53 30 75 46 32 46 48 Nqs8FqOp099cGX.OFgFixwR4+S0uF2FH
1d68a0 59 50 2b 65 46 38 4c 52 57 67 59 53 4b 56 47 63 7a 51 37 2f 67 2f 49 64 72 76 48 47 50 4d 46 30 YP+eF8LRWgYSKVGczQ7/g/IdrvHGPMF0
1d68c0 59 62 7a 68 65 33 6e 75 64 6b 79 72 56 57 49 7a 71 61 32 6b 62 42 50 72 48 34 56 0a 49 35 62 32 Ybzhe3nudkyrVWIzqa2kbBPrH4V.I5b2
1d68e0 50 2f 41 67 4e 42 62 65 43 73 62 45 42 45 56 35 66 36 66 39 76 74 4b 70 70 61 2b 63 78 53 4d 71 P/AgNBbeCsbEBEV5f6f9vtKppa+cxSMq
1d6900 39 7a 77 68 62 4c 32 76 6a 30 37 46 4f 72 4c 7a 4e 42 4c 38 33 34 41 61 53 61 54 55 71 5a 58 33 9zwhbL2vj07FOrLzNBL834AaSaTUqZX3
1d6920 6e 6f 6c 65 6f 6f 6d 73 0a 6c 4d 75 6f 61 4a 75 76 69 6d 55 6e 7a 59 6e 75 33 59 79 31 61 79 6c noleooms.lMuoaJuvimUnzYnu3Yy1ayl
1d6940 77 51 36 42 70 43 2b 53 35 44 77 49 44 41 51 41 42 6f 30 49 77 51 44 41 64 42 67 4e 56 48 51 34 wQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4
1d6960 45 46 67 51 55 2f 71 48 67 63 42 34 71 41 7a 6c 53 57 6b 4b 2b 0a 58 4a 47 46 65 68 69 71 54 62 EFgQU/qHgcB4qAzlSWkK+.XJGFehiqTb
1d6980 55 77 44 67 59 44 56 52 30 50 41 51 48 2f 42 41 51 44 41 67 45 47 4d 41 38 47 41 31 55 64 45 77 UwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEw
1d69a0 45 42 2f 77 51 46 4d 41 4d 42 41 66 38 77 44 51 59 4a 4b 6f 5a 49 68 76 63 4e 41 51 45 4c 42 51 EB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQ
1d69c0 41 44 0a 67 67 45 42 41 4d 4a 4b 56 76 6f 56 49 58 73 6f 6f 75 6e 6c 48 66 76 34 4c 63 51 35 6c AD.ggEBAMJKVvoVIXsoounlHfv4LcQ5l
1d69e0 6b 46 4d 4f 79 63 73 78 47 77 59 46 59 44 47 72 4b 39 48 57 53 38 6d 43 2b 4d 32 73 4f 38 37 2f kFMOycsxGwYFYDGrK9HWS8mC+M2sO87/
1d6a00 6b 4f 58 53 54 4b 5a 45 68 56 62 33 78 45 70 0a 2f 36 74 54 2b 4c 76 42 65 41 2b 73 6e 46 4f 76 kOXSTKZEhVb3xEp./6tT+LvBeA+snFOv
1d6a20 56 37 31 6f 6a 44 31 70 4d 2f 43 6a 6f 43 4e 6a 4f 32 52 6e 49 6b 53 74 31 58 48 4c 56 69 70 34 V71ojD1pM/CjoCNjO2RnIkSt1XHLVip4
1d6a40 6b 71 4e 50 45 6a 45 32 4e 75 4c 65 2f 67 44 45 6f 32 41 50 4a 36 32 67 73 49 71 31 0a 4e 6e 70 kqNPEjE2NuLe/gDEo2APJ62gsIq1.Nnp
1d6a60 53 6f 62 30 6e 39 43 41 6e 59 75 68 4e 6c 43 51 54 35 41 6f 45 36 54 79 72 4c 73 68 44 43 55 72 Sob0n9CAnYuhNlCQT5AoE6TyrLshDCUr
1d6a80 47 59 51 54 6c 53 54 52 2b 30 38 54 49 39 51 2f 41 71 75 6d 36 56 46 37 7a 59 79 74 50 54 31 44 GYQTlSTR+08TI9Q/Aqum6VF7zYytPT1D
1d6aa0 55 2f 72 6c 37 6d 59 77 39 0a 77 43 36 38 41 69 76 54 78 45 44 6b 69 67 63 78 48 70 76 4f 4a 70 U/rl7mYw9.wC68AivTxEDkigcxHpvOJp
1d6ac0 6b 54 2b 78 48 71 6d 69 49 4d 45 52 6e 48 58 68 75 42 55 44 44 49 6c 68 4a 75 35 38 74 42 66 35 kT+xHqmiIMERnHXhuBUDDIlhJu58tBf5
1d6ae0 45 37 6f 6b 65 33 56 49 41 62 33 41 44 4d 6d 70 44 71 77 38 4e 51 0a 42 6d 49 4d 4d 4d 41 56 53 E7oke3VIAb3ADMmpDqw8NQ.BmIMMMAVS
1d6b00 4b 65 6f 57 58 7a 68 72 69 4b 69 34 67 70 36 44 2f 70 69 71 31 4a 4d 34 66 48 66 79 72 36 44 44 KeoWXzhriKi4gp6D/piq1JM4fHfyr6DD
1d6b20 55 49 3d 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 65 UI=.-----END.CERTIFICATE-----..e
1d6b40 6d 53 69 67 6e 20 45 43 43 20 52 6f 6f 74 20 43 41 20 2d 20 43 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d mSign.ECC.Root.CA.-.C3.=========
1d6b60 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 ==============.-----BEGIN.CERTIF
1d6b80 49 43 41 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 43 4b 7a 43 43 41 62 47 67 41 77 49 42 41 67 49 4b 65 ICATE-----.MIICKzCCAbGgAwIBAgIKe
1d6ba0 33 47 32 67 6c 61 34 45 6e 79 63 71 44 41 4b 42 67 67 71 68 6b 6a 4f 50 51 51 44 41 7a 42 61 4d 3G2gla4EnycqDAKBggqhkjOPQQDAzBaM
1d6bc0 51 73 77 43 51 59 44 56 51 51 47 45 77 4a 56 55 7a 45 54 4d 42 45 47 0a 41 31 55 45 43 78 4d 4b QswCQYDVQQGEwJVUzETMBEG.A1UECxMK
1d6be0 5a 57 31 54 61 57 64 75 49 46 42 4c 53 54 45 55 4d 42 49 47 41 31 55 45 43 68 4d 4c 5a 55 31 31 ZW1TaWduIFBLSTEUMBIGA1UEChMLZU11
1d6c00 5a 47 68 79 59 53 42 4a 62 6d 4d 78 49 44 41 65 42 67 4e 56 42 41 4d 54 46 32 56 74 55 32 6c 6e ZGhyYSBJbmMxIDAeBgNVBAMTF2VtU2ln
1d6c20 62 69 42 46 0a 51 30 4d 67 55 6d 39 76 64 43 42 44 51 53 41 74 49 45 4d 7a 4d 42 34 58 44 54 45 biBF.Q0MgUm9vdCBDQSAtIEMzMB4XDTE
1d6c40 34 4d 44 49 78 4f 44 45 34 4d 7a 41 77 4d 46 6f 58 44 54 51 7a 4d 44 49 78 4f 44 45 34 4d 7a 41 4MDIxODE4MzAwMFoXDTQzMDIxODE4MzA
1d6c60 77 4d 46 6f 77 57 6a 45 4c 4d 41 6b 47 41 31 55 45 0a 42 68 4d 43 56 56 4d 78 45 7a 41 52 42 67 wMFowWjELMAkGA1UE.BhMCVVMxEzARBg
1d6c80 4e 56 42 41 73 54 43 6d 56 74 55 32 6c 6e 62 69 42 51 53 30 6b 78 46 44 41 53 42 67 4e 56 42 41 NVBAsTCmVtU2lnbiBQS0kxFDASBgNVBA
1d6ca0 6f 54 43 32 56 4e 64 57 52 6f 63 6d 45 67 53 57 35 6a 4d 53 41 77 48 67 59 44 56 51 51 44 0a 45 oTC2VNdWRocmEgSW5jMSAwHgYDVQQD.E
1d6cc0 78 64 6c 62 56 4e 70 5a 32 34 67 52 55 4e 44 49 46 4a 76 62 33 51 67 51 30 45 67 4c 53 42 44 4d xdlbVNpZ24gRUNDIFJvb3QgQ0EgLSBDM
1d6ce0 7a 42 32 4d 42 41 47 42 79 71 47 53 4d 34 39 41 67 45 47 42 53 75 42 42 41 41 69 41 32 49 41 42 zB2MBAGByqGSM49AgEGBSuBBAAiA2IAB
1d6d00 50 32 6c 59 61 35 37 4a 68 41 64 0a 36 62 63 69 4d 4b 34 47 39 49 47 7a 73 55 4a 78 6c 54 6d 38 P2lYa57JhAd.6bciMK4G9IGzsUJxlTm8
1d6d20 30 31 4c 6a 72 36 2f 35 38 70 63 31 6b 6a 5a 47 44 6f 65 56 6a 62 6b 35 57 75 6d 37 33 39 44 2b 01Ljr6/58pc1kjZGDoeVjbk5Wum739D+
1d6d40 79 41 64 42 50 4c 74 56 62 34 4f 6a 61 76 74 69 73 49 47 4a 41 6e 42 39 0a 53 4d 56 4b 34 2b 6b yAdBPLtVb4OjavtisIGJAnB9.SMVK4+k
1d6d60 69 56 43 4a 4e 6b 37 74 43 44 4b 39 33 6e 43 4f 6d 66 64 64 68 45 63 35 6c 78 2f 68 2f 2f 76 58 iVCJNk7tCDK93nCOmfddhEc5lx/h//vX
1d6d80 79 71 61 4e 43 4d 45 41 77 48 51 59 44 56 52 30 4f 42 42 59 45 46 50 74 61 53 4e 43 41 49 45 44 yqaNCMEAwHQYDVR0OBBYEFPtaSNCAIED
1d6da0 79 71 4f 6b 41 0a 42 32 6b 5a 64 36 66 6d 77 2f 54 50 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 yqOkA.B2kZd6fmw/TPMA4GA1UdDwEB/w
1d6dc0 51 45 41 77 49 42 42 6a 41 50 42 67 4e 56 48 52 4d 42 41 66 38 45 42 54 41 44 41 51 48 2f 4d 41 QEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA
1d6de0 6f 47 43 43 71 47 53 4d 34 39 42 41 4d 44 41 32 67 41 0a 4d 47 55 43 4d 51 43 30 32 43 38 43 69 oGCCqGSM49BAMDA2gA.MGUCMQC02C8Ci
1d6e00 66 32 32 54 47 4b 36 51 30 34 54 68 48 4b 31 72 74 30 63 33 74 61 31 33 46 61 50 57 45 42 61 4c f22TGK6Q04ThHK1rt0c3ta13FaPWEBaL
1d6e20 64 34 67 54 43 4b 44 79 70 4f 6f 66 75 34 53 51 4d 66 57 68 30 2f 34 33 34 55 43 4d 42 77 55 0a d4gTCKDypOofu4SQMfWh0/434UCMBwU.
1d6e40 5a 4f 52 38 6c 6f 4d 52 6e 4c 44 52 57 6d 46 4c 70 67 39 4a 30 77 44 38 6f 66 7a 6b 70 66 39 2f ZOR8loMRnLDRWmFLpg9J0wD8ofzkpf9/
1d6e60 72 64 63 77 30 4d 64 33 66 37 36 42 42 31 55 77 55 43 41 55 39 56 63 34 43 71 67 78 55 51 3d 3d rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ==
1d6e80 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d 0a 0a 48 6f 6e 67 .-----END.CERTIFICATE-----..Hong
1d6ea0 6b 6f 6e 67 20 50 6f 73 74 20 52 6f 6f 74 20 43 41 20 33 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d kong.Post.Root.CA.3.============
1d6ec0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 2d 2d 42 45 47 49 4e 20 43 45 52 54 49 46 49 43 41 ===========.-----BEGIN.CERTIFICA
1d6ee0 54 45 2d 2d 2d 2d 2d 0a 4d 49 49 46 7a 7a 43 43 41 37 65 67 41 77 49 42 41 67 49 55 43 42 5a 66 TE-----.MIIFzzCCA7egAwIBAgIUCBZf
1d6f00 69 6b 79 6c 37 41 44 4a 6b 30 44 66 78 4d 61 75 49 37 67 63 57 71 51 77 44 51 59 4a 4b 6f 5a 49 ikyl7ADJk0DfxMauI7gcWqQwDQYJKoZI
1d6f20 68 76 63 4e 41 51 45 4c 42 51 41 77 62 7a 45 4c 4d 41 6b 47 0a 41 31 55 45 42 68 4d 43 53 45 73 hvcNAQELBQAwbzELMAkG.A1UEBhMCSEs
1d6f40 78 45 6a 41 51 42 67 4e 56 42 41 67 54 43 55 68 76 62 6d 63 67 53 32 39 75 5a 7a 45 53 4d 42 41 xEjAQBgNVBAgTCUhvbmcgS29uZzESMBA
1d6f60 47 41 31 55 45 42 78 4d 4a 53 47 39 75 5a 79 42 4c 62 32 35 6e 4d 52 59 77 46 41 59 44 56 51 51 GA1UEBxMJSG9uZyBLb25nMRYwFAYDVQQ
1d6f80 4b 0a 45 77 31 49 62 32 35 6e 61 32 39 75 5a 79 42 51 62 33 4e 30 4d 53 41 77 48 67 59 44 56 51 K.Ew1Ib25na29uZyBQb3N0MSAwHgYDVQ
1d6fa0 51 44 45 78 64 49 62 32 35 6e 61 32 39 75 5a 79 42 51 62 33 4e 30 49 46 4a 76 62 33 51 67 51 30 QDExdIb25na29uZyBQb3N0IFJvb3QgQ0
1d6fc0 45 67 4d 7a 41 65 46 77 30 78 4e 7a 41 32 0a 4d 44 4d 77 4d 6a 49 35 4e 44 5a 61 46 77 30 30 4d EgMzAeFw0xNzA2.MDMwMjI5NDZaFw00M
1d6fe0 6a 41 32 4d 44 4d 77 4d 6a 49 35 4e 44 5a 61 4d 47 38 78 43 7a 41 4a 42 67 4e 56 42 41 59 54 41 jA2MDMwMjI5NDZaMG8xCzAJBgNVBAYTA
1d7000 6b 68 4c 4d 52 49 77 45 41 59 44 56 51 51 49 45 77 6c 49 62 32 35 6e 49 45 74 76 0a 62 6d 63 78 khLMRIwEAYDVQQIEwlIb25nIEtv.bmcx
1d7020 45 6a 41 51 42 67 4e 56 42 41 63 54 43 55 68 76 62 6d 63 67 53 32 39 75 5a 7a 45 57 4d 42 51 47 EjAQBgNVBAcTCUhvbmcgS29uZzEWMBQG
1d7040 41 31 55 45 43 68 4d 4e 53 47 39 75 5a 32 74 76 62 6d 63 67 55 47 39 7a 64 44 45 67 4d 42 34 47 A1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4G
1d7060 41 31 55 45 41 78 4d 58 0a 53 47 39 75 5a 32 74 76 62 6d 63 67 55 47 39 7a 64 43 42 53 62 32 39 A1UEAxMX.SG9uZ2tvbmcgUG9zdCBSb29
1d7080 30 49 45 4e 42 49 44 4d 77 67 67 49 69 4d 41 30 47 43 53 71 47 53 49 62 33 44 51 45 42 41 51 55 0IENBIDMwggIiMA0GCSqGSIb3DQEBAQU
1d70a0 41 41 34 49 43 44 77 41 77 67 67 49 4b 41 6f 49 43 41 51 43 7a 0a 69 4e 66 71 7a 67 38 67 54 72 AA4ICDwAwggIKAoICAQCz.iNfqzg8gTr
1d70c0 37 6d 31 67 4e 74 37 6c 6e 38 77 6c 66 66 4b 57 69 68 67 77 34 2b 61 4d 64 6f 57 4a 77 63 59 45 7m1gNt7ln8wlffKWihgw4+aMdoWJwcYE
1d70e0 75 4a 51 77 79 35 31 42 57 79 37 73 46 4f 64 65 6d 31 70 2b 2f 6c 36 54 57 5a 35 4d 77 63 35 30 uJQwy51BWy7sFOdem1p+/l6TWZ5Mwc50
1d7100 74 66 0a 6a 54 4d 77 49 44 4e 54 32 61 61 37 31 54 34 54 6a 75 6b 66 68 30 6d 74 55 43 31 51 79 tf.jTMwIDNT2aa71T4Tjukfh0mtUC1Qy
1d7120 68 69 2b 41 56 69 69 45 33 43 57 75 34 6d 49 56 6f 42 63 2b 4c 30 73 50 4f 46 4d 56 34 69 37 30 hi+AViiE3CWu4mIVoBc+L0sPOFMV4i70
1d7140 37 6d 56 37 38 76 48 39 74 6f 78 64 43 69 6d 0a 35 6c 53 4a 39 55 45 78 79 75 55 6d 47 73 32 43 7mV78vH9toxdCim.5lSJ9UExyuUmGs2C
1d7160 34 48 44 61 4f 79 6d 37 31 51 50 31 6d 62 70 56 39 57 54 52 59 41 36 7a 69 55 6d 34 69 69 38 46 4HDaOym71QP1mbpV9WTRYA6ziUm4ii8F
1d7180 30 6f 52 46 4b 48 79 50 61 46 41 53 65 50 77 4c 74 56 50 4c 77 70 67 63 68 4b 4f 65 0a 73 4c 34 0oRFKHyPaFASePwLtVPLwpgchKOe.sL4
1d71a0 6a 70 4e 72 63 79 43 73 65 32 6d 35 46 48 6f 6d 59 32 76 6b 41 4c 67 62 70 44 44 74 77 31 56 41 jpNrcyCse2m5FHomY2vkALgbpDDtw1VA
1d71c0 6c 69 4a 6e 4c 7a 58 4e 67 39 39 58 2f 4e 57 66 46 6f 62 78 65 71 38 31 4b 75 45 58 72 79 47 67 liJnLzXNg99X/NWfFobxeq81KuEXryGg
1d71e0 65 44 51 30 55 52 68 4c 6a 0a 30 6d 52 69 69 6b 4b 59 76 4c 54 47 43 41 6a 34 2f 61 68 4d 5a 4a eDQ0URhLj.0mRiikKYvLTGCAj4/ahMZJ
1d7200 78 32 41 62 30 76 71 57 77 7a 44 39 67 2f 4b 4c 67 38 61 51 46 43 68 6e 35 70 77 63 6b 47 79 75 x2Ab0vqWwzD9g/KLg8aQFChn5pwckGyu
1d7220 56 36 52 6d 58 70 77 74 5a 51 51 53 34 2f 74 2b 54 74 62 4e 65 2f 0a 4a 67 45 52 6f 68 59 70 53 V6RmXpwtZQQS4/t+TtbNe/.JgERohYpS
1d7240 6d 73 30 42 70 44 73 45 39 4b 32 2b 32 70 32 30 6a 7a 74 38 4e 59 74 33 65 45 56 37 4b 4f 62 4c ms0BpDsE9K2+2p20jzt8NYt3eEV7KObL
1d7260 79 7a 4a 50 69 76 6b 61 54 76 2f 63 69 57 78 4e 6f 5a 62 78 33 39 72 69 31 55 62 53 73 55 67 59 yzJPivkaTv/ciWxNoZbx39ri1UbSsUgY
1d7280 54 32 75 0a 79 31 44 68 43 44 71 2b 73 49 39 6a 51 56 4d 77 43 46 6b 38 6d 42 31 33 75 6d 4f 52 T2u.y1DhCDq+sI9jQVMwCFk8mB13umOR
1d72a0 65 73 6f 51 55 47 43 2f 38 4e 65 38 6c 59 65 50 6c 38 58 2b 6c 32 6f 42 6c 4b 4e 38 57 34 55 64 esoQUGC/8Ne8lYePl8X+l2oBlKN8W4Ud
1d72c0 4b 6a 6b 36 30 46 53 68 30 54 6c 78 6e 66 30 68 0a 2b 62 56 37 38 4f 4c 67 41 6f 39 75 6c 69 51 Kjk60FSh0Tlxnf0h.+bV78OLgAo9uliQ
1d72e0 6c 4c 4b 41 65 4c 4b 6a 45 69 61 66 76 37 5a 6b 47 4c 37 59 4b 54 45 2f 62 6f 73 77 33 47 71 39 lLKAeLKjEiafv7ZkGL7YKTE/bosw3Gq9
1d7300 48 68 53 32 4b 58 38 51 30 4e 45 77 41 2f 52 69 54 5a 78 50 52 4e 2b 5a 49 74 49 73 47 0a 78 56 HhS2KX8Q0NEwA/RiTZxPRN+ZItIsG.xV
1d7320 64 37 47 59 59 4b 65 63 73 41 79 56 4b 76 51 76 38 33 6a 2b 47 6a 48 6e 6f 39 55 4b 74 6a 42 75 d7GYYKecsAyVKvQv83j+GjHno9UKtjBu
1d7340 63 56 74 54 2b 32 52 54 65 55 4e 37 46 2b 38 6b 6a 44 66 38 56 31 2f 70 65 4e 52 59 38 61 70 78 cVtT+2RTeUN7F+8kjDf8V1/peNRY8apx
1d7360 70 79 4b 42 70 41 44 77 49 44 0a 41 51 41 42 6f 32 4d 77 59 54 41 50 42 67 4e 56 48 52 4d 42 41 pyKBpADwID.AQABo2MwYTAPBgNVHRMBA
1d7380 66 38 45 42 54 41 44 41 51 48 2f 4d 41 34 47 41 31 55 64 44 77 45 42 2f 77 51 45 41 77 49 42 42 f8EBTADAQH/MA4GA1UdDwEB/wQEAwIBB
1d73a0 6a 41 66 42 67 4e 56 48 53 4d 45 47 44 41 57 67 42 51 58 6e 63 30 65 0a 69 39 59 35 4b 33 44 54 jAfBgNVHSMEGDAWgBQXnc0e.i9Y5K3DT
1d73c0 58 4e 53 67 75 42 2b 77 41 50 7a 46 59 54 41 64 42 67 4e 56 48 51 34 45 46 67 51 55 46 35 33 4e XNSguB+wAPzFYTAdBgNVHQ4EFgQUF53N
1d73e0 48 6f 76 57 4f 53 74 77 30 31 7a 55 6f 4c 67 66 73 41 44 38 78 57 45 77 44 51 59 4a 4b 6f 5a 49 HovWOStw01zUoLgfsAD8xWEwDQYJKoZI
1d7400 68 76 63 4e 0a 41 51 45 4c 42 51 41 44 67 67 49 42 41 46 62 56 65 32 37 6d 49 67 48 53 51 70 73 hvcN.AQELBQADggIBAFbVe27mIgHSQps
1d7420 59 31 51 37 58 5a 69 4e 63 34 2f 36 67 78 35 4c 53 36 5a 53 74 53 36 4c 47 37 42 4a 38 64 4e 56 Y1Q7XZiNc4/6gx5LS6ZStS6LG7BJ8dNV
1d7440 49 30 6c 6b 55 6d 63 44 72 75 64 48 72 39 45 67 77 0a 57 36 32 6e 56 33 4f 5a 71 64 50 6c 74 39 I0lkUmcDrudHr9Egw.W62nV3OZqdPlt9
1d7460 45 75 57 53 52 59 33 47 67 75 4c 6d 4c 59 61 75 52 77 43 79 30 67 55 43 43 6b 4d 70 58 52 41 4a EuWSRY3GguLmLYauRwCy0gUCCkMpXRAJ
1d7480 69 37 30 2f 33 33 4d 76 4a 4a 72 73 5a 36 34 45 65 2b 62 73 37 4c 6f 33 49 36 4c 57 6c 64 0a 79 i70/33MvJJrsZ64Ee+bs7Lo3I6LWld.y
1d74a0 38 6a 6f 52 54 6e 55 2b 6b 4c 42 45 55 78 33 58 5a 4c 37 61 76 39 59 52 4f 58 72 67 5a 36 76 6f 8joRTnU+kLBEUx3XZL7av9YROXrgZ6vo
1d74c0 4a 6d 74 76 71 6b 42 5a 73 73 34 48 54 7a 66 51 78 2f 30 54 57 36 30 75 68 64 47 2f 48 33 39 68 JmtvqkBZss4HTzfQx/0TW60uhdG/H39h
1d74e0 34 46 35 61 67 30 7a 44 2f 6f 76 0a 2b 42 53 35 67 4c 4e 64 54 61 71 58 34 66 6e 6b 47 4d 58 34 4F5ag0zD/ov.+BS5gLNdTaqX4fnkGMX4
1d7500 31 54 69 4d 4a 6a 7a 39 38 69 6a 69 37 6c 70 4a 69 43 7a 66 65 54 32 4f 6e 70 41 38 76 55 46 4b 1TiMJjz98iji7lpJiCzfeT2OnpA8vUFK
1d7520 4f 74 31 62 39 70 71 30 7a 6a 38 6c 4d 48 38 79 66 61 49 44 6c 4e 44 63 0a 65 71 46 53 33 6d 36 Ot1b9pq0zj8lMH8yfaIDlNDc.eqFS3m6
1d7540 54 6a 52 67 6d 2f 56 57 73 76 59 2b 62 30 73 2b 76 35 34 59 73 79 78 38 4a 62 36 4e 76 71 59 54 TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYT
1d7560 55 63 37 39 4e 6f 58 51 62 54 69 4e 67 38 73 77 4f 71 6e 2b 6b 6e 45 77 6c 71 4c 4a 6d 4f 7a 6a Uc79NoXQbTiNg8swOqn+knEwlqLJmOzj
1d7580 2f 32 5a 51 77 0a 39 6e 4b 45 76 6d 68 56 45 41 2f 47 63 79 77 57 61 5a 4d 48 2f 72 46 46 37 62 /2ZQw.9nKEvmhVEA/GcywWaZMH/rFF7b
1d75a0 75 69 56 57 71 77 32 72 56 4b 41 69 55 6e 68 64 65 33 74 34 5a 45 46 6f 6c 73 67 43 73 2b 6c 36 uiVWqw2rVKAiUnhde3t4ZEFolsgCs+l6
1d75c0 6d 63 31 58 35 56 54 4d 62 65 52 52 41 63 36 75 6b 37 0a 6e 77 4e 54 37 75 35 36 41 51 49 57 65 mc1X5VTMbeRRAc6uk7.nwNT7u56AQIWe
1d75e0 4e 54 6f 77 72 35 47 64 6f 67 54 50 79 4b 37 53 42 49 64 55 67 43 30 41 6e 34 68 47 68 36 63 4a NTowr5GdogTPyK7SBIdUgC0An4hGh6cJ
1d7600 66 54 7a 50 56 34 65 30 68 7a 35 73 79 32 32 39 7a 64 63 78 73 73 68 54 72 44 33 6d 55 63 59 0a fTzPV4e0hz5sy229zdcxsshTrD3mUcY.
1d7620 68 63 45 72 75 6c 57 75 42 75 72 51 42 37 4c 63 71 39 43 43 6c 6e 58 4f 30 6c 44 2b 6d 65 66 50 hcErulWuBurQB7Lcq9CClnXO0lD+mefP
1d7640 4c 35 2f 6e 64 74 46 68 4b 76 73 68 75 7a 48 51 71 70 39 48 70 4c 49 69 79 68 59 36 55 46 66 45 L5/ndtFhKvshuzHQqp9HpLIiyhY6UFfE
1d7660 57 30 4e 6e 78 57 56 69 41 30 6b 42 0a 36 30 50 5a 32 50 69 65 72 63 2b 78 59 77 35 46 39 4b 42 W0NnxWViA0kB.60PZ2Pierc+xYw5F9KB
1d7680 61 4c 4a 73 74 78 61 62 41 72 61 68 48 39 43 64 4d 4f 41 30 75 47 30 6b 37 55 76 54 6f 69 49 4d aLJstxabArahH9CdMOA0uG0k7UvToiIM
1d76a0 72 56 43 6a 55 38 6a 56 53 74 44 4b 44 59 6d 6c 6b 44 4a 47 63 6e 35 66 71 0a 64 42 62 39 48 78 rVCjU8jVStDKDYmlkDJGcn5fq.dBb9Hx
1d76c0 45 47 6d 70 76 30 0a 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46 49 43 41 54 45 2d 2d 2d 2d 2d EGmpv0.-----END.CERTIFICATE-----
1d76e0 0a 3c 3f 70 68 70 0a 0a 69 66 20 28 50 48 50 5f 53 41 50 49 20 21 3d 3d 20 27 63 6c 69 27 20 26 .<?php..if.(PHP_SAPI.!==.'cli'.&
1d7700 26 20 50 48 50 5f 53 41 50 49 20 21 3d 3d 20 27 70 68 70 64 62 67 27 29 20 7b 0a 20 20 20 20 65 &.PHP_SAPI.!==.'phpdbg').{.....e
1d7720 63 68 6f 20 27 57 61 72 6e 69 6e 67 3a 20 43 6f 6d 70 6f 73 65 72 20 73 68 6f 75 6c 64 20 62 65 cho.'Warning:.Composer.should.be
1d7740 20 69 6e 76 6f 6b 65 64 20 76 69 61 20 74 68 65 20 43 4c 49 20 76 65 72 73 69 6f 6e 20 6f 66 20 .invoked.via.the.CLI.version.of.
1d7760 50 48 50 2c 20 6e 6f 74 20 74 68 65 20 27 2e 50 48 50 5f 53 41 50 49 2e 27 20 53 41 50 49 27 2e PHP,.not.the.'.PHP_SAPI.'.SAPI'.
1d7780 50 48 50 5f 45 4f 4c 3b 0a 7d 0a 0a 73 65 74 6c 6f 63 61 6c 65 28 4c 43 5f 41 4c 4c 2c 20 27 43 PHP_EOL;.}..setlocale(LC_ALL,.'C
1d77a0 27 29 3b 0a 72 65 71 75 69 72 65 20 5f 5f 44 49 52 5f 5f 2e 27 2f 2e 2e 2f 73 72 63 2f 62 6f 6f ');.require.__DIR__.'/../src/boo
1d77c0 74 73 74 72 61 70 2e 70 68 70 27 3b 0a 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 43 6f 6e 73 6f tstrap.php';..use.Composer\Conso
1d77e0 6c 65 5c 41 70 70 6c 69 63 61 74 69 6f 6e 3b 0a 75 73 65 20 43 6f 6d 70 6f 73 65 72 5c 58 64 65 le\Application;.use.Composer\Xde
1d7800 62 75 67 48 61 6e 64 6c 65 72 5c 58 64 65 62 75 67 48 61 6e 64 6c 65 72 3b 0a 0a 65 72 72 6f 72 bugHandler\XdebugHandler;..error
1d7820 5f 72 65 70 6f 72 74 69 6e 67 28 2d 31 29 3b 0a 0a 2f 2f 20 52 65 73 74 61 72 74 20 77 69 74 68 _reporting(-1);..//.Restart.with
1d7840 6f 75 74 20 78 64 65 62 75 67 0a 24 78 64 65 62 75 67 20 3d 20 6e 65 77 20 58 64 65 62 75 67 48 out.xdebug.$xdebug.=.new.XdebugH
1d7860 61 6e 64 6c 65 72 28 27 43 6f 6d 70 6f 73 65 72 27 2c 20 27 2d 2d 61 6e 73 69 27 29 3b 0a 24 78 andler('Composer',.'--ansi');.$x
1d7880 64 65 62 75 67 2d 3e 63 68 65 63 6b 28 29 3b 0a 75 6e 73 65 74 28 24 78 64 65 62 75 67 29 3b 0a debug->check();.unset($xdebug);.
1d78a0 0a 69 66 20 28 64 65 66 69 6e 65 64 28 27 48 48 56 4d 5f 56 45 52 53 49 4f 4e 27 29 20 26 26 20 .if.(defined('HHVM_VERSION').&&.
1d78c0 76 65 72 73 69 6f 6e 5f 63 6f 6d 70 61 72 65 28 48 48 56 4d 5f 56 45 52 53 49 4f 4e 2c 20 27 34 version_compare(HHVM_VERSION,.'4
1d78e0 2e 30 27 2c 20 27 3e 3d 27 29 29 20 7b 0a 20 20 20 20 65 63 68 6f 20 27 48 48 56 4d 20 34 2e 30 .0',.'>=')).{.....echo.'HHVM.4.0
1d7900 20 68 61 73 20 64 72 6f 70 70 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 43 6f 6d 70 6f 73 65 .has.dropped.support.for.Compose
1d7920 72 2c 20 70 6c 65 61 73 65 20 75 73 65 20 50 48 50 20 69 6e 73 74 65 61 64 2e 20 41 62 6f 72 74 r,.please.use.PHP.instead..Abort
1d7940 69 6e 67 2e 27 2e 50 48 50 5f 45 4f 4c 3b 0a 20 20 20 20 65 78 69 74 28 31 29 3b 0a 7d 0a 0a 69 ing.'.PHP_EOL;.....exit(1);.}..i
1d7960 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 27 69 6e 69 5f 73 65 74 27 29 29 20 7b f.(function_exists('ini_set')).{
1d7980 0a 20 20 20 20 40 69 6e 69 5f 73 65 74 28 27 64 69 73 70 6c 61 79 5f 65 72 72 6f 72 73 27 2c 20 .....@ini_set('display_errors',.
1d79a0 31 29 3b 0a 0a 20 20 20 20 24 6d 65 6d 6f 72 79 49 6e 42 79 74 65 73 20 3d 20 66 75 6e 63 74 69 1);......$memoryInBytes.=.functi
1d79c0 6f 6e 20 28 24 76 61 6c 75 65 29 20 7b 0a 20 20 20 20 20 20 20 20 24 75 6e 69 74 20 3d 20 73 74 on.($value).{.........$unit.=.st
1d79e0 72 74 6f 6c 6f 77 65 72 28 73 75 62 73 74 72 28 24 76 61 6c 75 65 2c 20 2d 31 2c 20 31 29 29 3b rtolower(substr($value,.-1,.1));
1d7a00 0a 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 3d 20 28 69 6e 74 29 20 24 76 61 6c 75 65 3b 0a .........$value.=.(int).$value;.
1d7a20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 28 24 75 6e 69 74 29 20 7b 0a 20 20 20 20 20 20 20 20 ........switch($unit).{.........
1d7a40 20 20 20 20 63 61 73 65 20 27 67 27 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 ....case.'g':.................$v
1d7a60 61 6c 75 65 20 2a 3d 20 31 30 32 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f alue.*=.1024;.................//
1d7a80 20 6e 6f 20 62 72 65 61 6b 20 28 63 75 6d 75 6c 61 74 69 76 65 20 6d 75 6c 74 69 70 6c 69 65 72 .no.break.(cumulative.multiplier
1d7aa0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 6d 27 3a 0a 20 20 20 20 20 20 20 20 ).............case.'m':.........
1d7ac0 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 2a 3d 20 31 30 32 34 3b 0a 20 20 20 20 20 20 20 20 ........$value.*=.1024;.........
1d7ae0 20 20 20 20 20 20 20 20 2f 2f 20 6e 6f 20 62 72 65 61 6b 20 28 63 75 6d 75 6c 61 74 69 76 65 20 ........//.no.break.(cumulative.
1d7b00 6d 75 6c 74 69 70 6c 69 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 27 6b 27 multiplier).............case.'k'
1d7b20 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 75 65 20 2a 3d 20 31 30 32 34 :.................$value.*=.1024
1d7b40 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 76 61 6c ;.........}..........return.$val
1d7b60 75 65 3b 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 20 3d 20 74 ue;.....};......$memoryLimit.=.t
1d7b80 72 69 6d 28 69 6e 69 5f 67 65 74 28 27 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 27 29 29 3b 0a 20 20 rim(ini_get('memory_limit'));...
1d7ba0 20 20 2f 2f 20 49 6e 63 72 65 61 73 65 20 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 20 69 66 20 69 74 ..//.Increase.memory_limit.if.it
1d7bc0 20 69 73 20 6c 6f 77 65 72 20 74 68 61 6e 20 31 2e 35 47 42 0a 20 20 20 20 69 66 20 28 24 6d 65 .is.lower.than.1.5GB.....if.($me
1d7be0 6d 6f 72 79 4c 69 6d 69 74 20 21 3d 20 2d 31 20 26 26 20 24 6d 65 6d 6f 72 79 49 6e 42 79 74 65 moryLimit.!=.-1.&&.$memoryInByte
1d7c00 73 28 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 29 20 3c 20 31 30 32 34 20 2a 20 31 30 32 34 20 2a 20 s($memoryLimit).<.1024.*.1024.*.
1d7c20 31 35 33 36 29 20 7b 0a 20 20 20 20 20 20 20 20 40 69 6e 69 5f 73 65 74 28 27 6d 65 6d 6f 72 79 1536).{.........@ini_set('memory
1d7c40 5f 6c 69 6d 69 74 27 2c 20 27 31 35 33 36 4d 27 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2f 2f 20 _limit',.'1536M');.....}.....//.
1d7c60 53 65 74 20 75 73 65 72 20 64 65 66 69 6e 65 64 20 6d 65 6d 6f 72 79 20 6c 69 6d 69 74 0a 20 20 Set.user.defined.memory.limit...
1d7c80 20 20 69 66 20 28 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 20 3d 20 67 65 74 65 6e 76 28 27 43 4f 4d ..if.($memoryLimit.=.getenv('COM
1d7ca0 50 4f 53 45 52 5f 4d 45 4d 4f 52 59 5f 4c 49 4d 49 54 27 29 29 20 7b 0a 20 20 20 20 20 20 20 20 POSER_MEMORY_LIMIT')).{.........
1d7cc0 40 69 6e 69 5f 73 65 74 28 27 6d 65 6d 6f 72 79 5f 6c 69 6d 69 74 27 2c 20 24 6d 65 6d 6f 72 79 @ini_set('memory_limit',.$memory
1d7ce0 4c 69 6d 69 74 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 75 6e 73 65 74 28 24 6d 65 6d 6f 72 79 49 Limit);.....}.....unset($memoryI
1d7d00 6e 42 79 74 65 73 2c 20 24 6d 65 6d 6f 72 79 4c 69 6d 69 74 29 3b 0a 7d 0a 0a 70 75 74 65 6e 76 nBytes,.$memoryLimit);.}..putenv
1d7d20 28 27 43 4f 4d 50 4f 53 45 52 5f 42 49 4e 41 52 59 3d 27 2e 72 65 61 6c 70 61 74 68 28 24 5f 53 ('COMPOSER_BINARY='.realpath($_S
1d7d40 45 52 56 45 52 5b 27 61 72 67 76 27 5d 5b 30 5d 29 29 3b 0a 0a 2f 2f 20 72 75 6e 20 74 68 65 20 ERVER['argv'][0]));..//.run.the.
1d7d60 63 6f 6d 6d 61 6e 64 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 24 61 70 70 6c 69 63 61 74 69 6f 6e command.application.$application
1d7d80 20 3d 20 6e 65 77 20 41 70 70 6c 69 63 61 74 69 6f 6e 28 29 3b 0a 24 61 70 70 6c 69 63 61 74 69 .=.new.Application();.$applicati
1d7da0 6f 6e 2d 3e 72 75 6e 28 29 3b 0a 0a 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 4e 69 6c 73 20 41 on->run();..Copyright.(c).Nils.A
1d7dc0 64 65 72 6d 61 6e 6e 2c 20 4a 6f 72 64 69 20 42 6f 67 67 69 61 6e 6f 0a 0a 50 65 72 6d 69 73 73 dermann,.Jordi.Boggiano..Permiss
1d7de0 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 20 63 ion.is.hereby.granted,.free.of.c
1d7e00 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 20 61 harge,.to.any.person.obtaining.a
1d7e20 20 63 6f 70 79 0a 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 73 73 6f 63 .copy.of.this.software.and.assoc
1d7e40 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 68 65 20 22 iated.documentation.files.(the."
1d7e60 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 20 64 65 61 6c 0a 69 6e 20 74 68 65 20 53 6f 66 74 77 Software"),.to.deal.in.the.Softw
1d7e80 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 6e 63 6c 75 64 69 are.without.restriction,.includi
1d7ea0 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 20 72 69 67 68 74 73 ng.without.limitation.the.rights
1d7ec0 0a 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d 65 72 67 65 2c 20 70 75 .to.use,.copy,.modify,.merge,.pu
1d7ee0 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 63 65 6e 73 65 2c 20 61 blish,.distribute,.sublicense,.a
1d7f00 6e 64 2f 6f 72 20 73 65 6c 6c 0a 63 6f 70 69 65 73 20 6f 66 20 74 68 65 20 53 6f 66 74 77 61 72 nd/or.sell.copies.of.the.Softwar
1d7f20 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f 6e 73 20 74 6f 20 77 68 6f 6d e,.and.to.permit.persons.to.whom
1d7f40 20 74 68 65 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 6e 69 73 68 65 64 0a 74 6f 20 64 6f .the.Software.is.furnished.to.do
1d7f60 20 73 6f 2c 20 73 75 62 6a 65 63 74 20 74 6f 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f .so,.subject.to.the.following.co
1d7f80 6e 64 69 74 69 6f 6e 73 3a 0a 0a 54 68 65 20 61 62 6f 76 65 20 63 6f 70 79 72 69 67 68 74 20 6e nditions:..The.above.copyright.n
1d7fa0 6f 74 69 63 65 20 61 6e 64 20 74 68 69 73 20 70 65 72 6d 69 73 73 69 6f 6e 20 6e 6f 74 69 63 65 otice.and.this.permission.notice
1d7fc0 20 73 68 61 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 61 6c 6c 0a 63 6f 70 69 65 73 .shall.be.included.in.all.copies
1d7fe0 20 6f 72 20 73 75 62 73 74 61 6e 74 69 61 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 .or.substantial.portions.of.the.
1d8000 53 6f 66 74 77 61 72 65 2e 0a 0a 54 48 45 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 Software...THE.SOFTWARE.IS.PROVI
1d8020 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 52 52 41 4e 54 59 20 4f 46 DED."AS.IS",.WITHOUT.WARRANTY.OF
1d8040 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 49 4d 50 4c 49 45 44 2c 20 49 .ANY.KIND,.EXPRESS.OR.IMPLIED,.I
1d8060 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 20 54 48 45 20 NCLUDING.BUT.NOT.LIMITED.TO.THE.
1d8080 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 2c 0a 46 WARRANTIES.OF.MERCHANTABILITY,.F
1d80a0 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 ITNESS.FOR.A.PARTICULAR.PURPOSE.
1d80c0 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 AND.NONINFRINGEMENT..IN.NO.EVENT
1d80e0 20 53 48 41 4c 4c 20 54 48 45 0a 41 55 54 48 4f 52 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 .SHALL.THE.AUTHORS.OR.COPYRIGHT.
1d8100 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c HOLDERS.BE.LIABLE.FOR.ANY.CLAIM,
1d8120 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 0a 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 .DAMAGES.OR.OTHER.LIABILITY,.WHE
1d8140 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 THER.IN.AN.ACTION.OF.CONTRACT,.T
1d8160 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 45 2c 20 41 52 49 53 49 4e 47 20 46 52 4f 4d 2c 0a ORT.OR.OTHERWISE,.ARISING.FROM,.
1d8180 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 OUT.OF.OR.IN.CONNECTION.WITH.THE
1d81a0 20 53 4f 46 54 57 41 52 45 20 4f 52 20 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 .SOFTWARE.OR.THE.USE.OR.OTHER.DE
1d81c0 41 4c 49 4e 47 53 20 49 4e 0a 54 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 0a c3 34 05 2b bd c0 0b ALINGS.IN.THE.SOFTWARE....4.+...
1d81e0 63 5a bf 5c 2a 74 a8 e7 90 a2 af da 7c 02 00 00 00 47 42 4d 42 cZ.\*t......|....GBMB